diff --git a/public/captions/buying_the_premium_position.de.vtt b/public/captions/buying_the_premium_position.de.vtt new file mode 100644 index 0000000..ccd6767 --- /dev/null +++ b/public/captions/buying_the_premium_position.de.vtt @@ -0,0 +1,407 @@ +WEBVTT + +1 +00:00:01.480 --> 00:00:07.760 +Wenn du das hier siehst, bist du bereits +dabei, dein Team + +2 +00:00:07.900 --> 00:00:11.740 +im Crypto Team Build Netzwerk als Teil +unseres Team Build Projektes aufzubauen. + +3 +00:00:12.300 --> 00:00:16.440 +Du siehst also eine Seite wie diese, aber +um deine Position zu kaufen, + +4 +00:00:16.460 --> 00:00:18.660 +musst du sie über einen Empfehlungslink +kaufen. + +5 +00:00:18.860 --> 00:00:24.100 +Die Strategie für mein Team – wie wir das +machen – ist, dass + +6 +00:00:24.160 --> 00:00:27.760 +wir uns alle gegenseitig helfen, diese +Positionen aufzubauen, und gemeinsam +wachsen. + +7 +00:00:28.020 --> 00:00:29.020 +Okay? + +8 +00:00:29.100 --> 00:00:31.660 +Du kannst den Rest durchgehen, um zu +verstehen, wie das funktioniert und welche +Strategie + +9 +00:00:31.720 --> 00:00:37.480 +dahintersteckt, aber jetzt schauen wir, +wer die nächste Person in unserer +Platzierung ist – und + +10 +00:00:37.900 --> 00:00:38.900 +das ist Michael. + +11 +00:00:39.040 --> 00:00:39.880 +Okay? + +12 +00:00:39.920 --> 00:00:44.820 +Also, Michael hat bereits eine seiner +Positionen, und wir werden + +13 +00:00:44.840 --> 00:00:47.660 +ihm helfen, sich zu qualifizieren. + +14 +00:00:48.480 --> 00:00:53.820 +Sobald wir auf „Join with Current Sponsor“ +klicken, werden wir zu + +15 +00:00:53.880 --> 00:00:55.180 +seinem Link weitergeleitet. + +16 +00:00:55.500 --> 00:00:56.740 +Seine ID ist darin enthalten. + +17 +00:00:56.780 --> 00:00:58.600 +Das Gleiche machen wir für alle, okay? + +18 +00:00:59.260 --> 00:01:04.780 +Wenn wir hier rübergehen, sieht die +Smart-Contract-Seite so + +19 +00:01:05.780 --> 00:01:08.500 +aus, um mit dem RM Circle zu starten. + +20 +00:01:08.640 --> 00:01:11.820 +Beachte, dass Michaels ID, Nummer 35, als +Sponsor eingetragen ist. + +21 +00:01:12.920 --> 00:01:14.600 +Wir arbeiten nur mit Premium. + +22 +00:01:14.760 --> 00:01:18.100 +Es ist sinnvoller, das zu tun, statt dem +Standard, weil... + +23 +00:01:18.140 --> 00:01:22.020 +Du kannst dir die Unterschiede ansehen, +aber wir arbeiten nicht aktiv mit dem +Standard, weil + +24 +00:01:22.080 --> 00:01:25.800 +du im Grunde nur die Hälfte von dem +verdienst, was du hier verdienen würdest. + +25 +00:01:25.900 --> 00:01:28.020 +Also konzentrieren wir uns nur auf +Premium. + +26 +00:01:28.700 --> 00:01:34.400 +Es sagt uns, dass wir 361 Polygon aus +unserer MetaMask Wallet + +27 +00:01:34.440 --> 00:01:35.380 +senden müssen. + +28 +00:01:35.420 --> 00:01:38.740 +Als Erstes müssen wir unsere MetaMask +Wallet verbinden, also klicken + +29 +00:01:38.760 --> 00:01:39.760 +wir auf „Connect“. + +30 +00:01:41.240 --> 00:01:42.240 +Wir wählen MetaMask. + +31 +00:01:44.220 --> 00:01:49.000 +Es öffnet unsere Wallet-Erweiterung und +fordert uns auf, uns mit dem RM Circle von + +32 +00:01:49.100 --> 00:01:52.320 +unserer MetaMask Wallet aus zu verbinden. +Also klicken wir auf „Connect“. + +33 +00:01:54.960 --> 00:01:56.260 +Jetzt ist unser Wallet verbunden. + +34 +00:01:57.220 --> 00:02:01.320 +Jetzt – beachte, es wird uns sagen, dass +wir zum Polygon-Mainnet + +35 +00:02:01.360 --> 00:02:05.400 +wechseln müssen, weil Polygon +standardmäßig auf der Ethereum-Blockchain +oder dem Ethereum-Netzwerk + +36 +00:02:05.460 --> 00:02:06.160 +läuft. + +37 +00:02:06.200 --> 00:02:10.460 +Wir wechseln zum Polygon-Netzwerk, +hauptsächlich weil die Gebühren viel +günstiger + +38 +00:02:10.539 --> 00:02:11.539 +sind. + +39 +00:02:11.940 --> 00:02:16.480 +Was wir jetzt vielleicht tun müssen, ist +manuell unser Netzwerk im MetaMask-Wallet + +40 +00:02:16.560 --> 00:02:18.400 +zu ändern – das machen wir einfach ganz +schnell. + +41 +00:02:18.460 --> 00:02:19.460 +Warte kurz. + +42 +00:02:21.300 --> 00:02:22.540 +Öffnen wir die Erweiterung. + +43 +00:02:27.800 --> 00:02:31.260 +Jetzt gehen wir unser Wallet oder unser +Netzwerk auswählen. + +44 +00:02:33.060 --> 00:02:35.720 +Im Moment verwenden wir Ethereum. + +45 +00:02:35.800 --> 00:02:39.760 +Wir wollen unser Polygon finden. + +46 +00:02:44.220 --> 00:02:45.220 +Warte eine Minute. + +47 +00:02:47.100 --> 00:02:48.100 +Alle Netzwerke. + +48 +00:02:50.940 --> 00:02:51.980 +Wir wechseln zu Polygon. + +49 +00:02:52.100 --> 00:02:54.560 +Wir sind jetzt im Polygon-Netzwerk, genau +hier. + +50 +00:02:54.740 --> 00:02:56.280 +Du wirst sehen, es wird genau hier +angezeigt. + +51 +00:02:56.840 --> 00:02:59.960 +Da wir jetzt gewechselt haben, +aktualisiere ich einfach diese Seite. + +52 +00:03:01.360 --> 00:03:06.000 +Wir verbinden unser Wallet erneut, und +diesmal wird es uns sagen, dass wir +bereits + +53 +00:03:06.020 --> 00:03:09.000 +mit dem richtigen Netzwerk verbunden sind, +oder es wird uns gar nichts sagen. + +54 +00:03:09.060 --> 00:03:10.060 +Also, Wallet ist verbunden. + +55 +00:03:10.420 --> 00:03:12.480 +Wir senden 361 Polygon. + +56 +00:03:12.860 --> 00:03:14.540 +Wir unterschreiben unseren Vertrag. + +57 +00:03:15.260 --> 00:03:18.840 +Der Smart Contract ist eine verbindliche, +unveränderliche Sache auf der Blockchain. + +58 +00:03:18.880 --> 00:03:19.700 +Das wird sich nie ändern. + +59 +00:03:19.740 --> 00:03:24.260 +Beachte also, dass da steht: „Hey, wir +schicken dir dieses Polygon + +60 +00:03:24.300 --> 00:03:25.160 +im Polygon-Netzwerk." + +61 +00:03:25.200 --> 00:03:28.200 +Wir signieren es mit dieser +Vertragsadresse hier. + +62 +00:03:30.000 --> 00:03:31.000 +Klicke auf „Bestätigen". + +63 +00:03:33.300 --> 00:03:34.300 +Transaktion eingereicht. + +64 +00:03:34.300 --> 00:03:35.760 +Wir warten nur ein paar Sekunden. + +65 +00:03:38.560 --> 00:03:40.760 +Und schwupps – schon haben wir unsere +Referral-ID. + +66 +00:03:41.000 --> 00:03:43.000 +Wir sind jetzt Teil des RM Circle. + +67 +00:03:43.060 --> 00:03:44.060 +So einfach ist das. + +68 +00:03:44.720 --> 00:03:49.480 +Jetzt kannst du dir den Rest der Strategie +ansehen, um zu erfahren, was wir als +Nächstes vorhaben – + +69 +00:03:49.540 --> 00:03:51.020 +aber das war's für dieses Video. + +70 +00:03:51.080 --> 00:03:55.480 +Wir haben jetzt unsere Position. Wir haben +also unser Polygon ausgegeben, um unsere +Position + +71 +00:03:55.540 --> 00:04:01.020 +zu kaufen, und jetzt müssen wir uns darauf +konzentrieren, anderen zu helfen, ihre +nächsten + +72 +00:04:01.060 --> 00:04:05.400 +zwei Positionen zu bekommen, damit sie +qualifiziert sind. Und wenn du an der +Reihe bist, machen + +73 +00:04:05.440 --> 00:04:05.920 +wir dasselbe + +74 +00:04:05.960 --> 00:04:06.660 +mit dir. + +75 +00:04:06.700 --> 00:04:10.760 +Wenn du schon ein paar Leute kennst, die +einsteigen können, ist das auch okay – das +können + +76 +00:04:10.800 --> 00:04:14.260 +wir auch machen – aber merke dir hier +deine ID. + +77 +00:04:14.800 --> 00:04:16.300 +Du kannst dir auch dein Profil ansehen. + +78 +00:04:17.920 --> 00:04:19.820 +Hier kannst du deinen Referral-Link +kopieren. + +79 +00:04:19.980 --> 00:04:22.840 +Du kannst hier alle möglichen anderen +Informationen einsehen, wenn nötig, und +bei allen, + +80 +00:04:22.900 --> 00:04:28.120 +die du geworben hast, siehst du, ob du +Empfehlungen hast und wie viel du + +81 +00:04:28.180 --> 00:04:29.060 +verdient hast. + +82 +00:04:29.100 --> 00:04:30.000 +Die Zahlungen erfolgen direkt. + +83 +00:04:30.040 --> 00:04:31.160 +Sie kommen sofort bei dir an. + +84 +00:04:31.380 --> 00:04:35.440 +Es ist automatisch und – und es ist +ziemlich cool. + +85 +00:04:35.780 --> 00:04:36.240 +Okay? + +86 +00:04:36.280 --> 00:04:37.460 +Das war's für dieses Video. + +87 +00:04:37.520 --> 00:04:38.520 +Wir sehen uns im nächsten Video. diff --git a/public/captions/buying_the_premium_position.pt.vtt b/public/captions/buying_the_premium_position.pt.vtt new file mode 100644 index 0000000..e80afa6 --- /dev/null +++ b/public/captions/buying_the_premium_position.pt.vtt @@ -0,0 +1,397 @@ +WEBVTT + +1 +00:00:01.480 --> 00:00:07.760 +Então, se você está vendo isso, já está +pensando em montar sua + +2 +00:00:07.900 --> 00:00:11.740 +equipe dentro da rede Crypto Team Build +como parte do nosso projeto Team Build +aqui. + +3 +00:00:12.300 --> 00:00:16.440 +Então você está vendo uma página como +esta, mas para comprar sua posição, + +4 +00:00:16.460 --> 00:00:18.660 +você terá que usar um link de referência. + +5 +00:00:18.860 --> 00:00:24.100 +Agora, a estratégia para a minha equipe, a +forma como fazemos isso, é que todos + +6 +00:00:24.160 --> 00:00:27.760 +nós ajudamos uns aos outros coletivamente +a construir essas posições, e crescemos +juntos. + +7 +00:00:28.020 --> 00:00:29.020 +Ok? + +8 +00:00:29.100 --> 00:00:31.660 +Você pode dar uma olhada no restante para +entender como funciona e a + +9 +00:00:31.720 --> 00:00:37.480 +estratégia, mas agora vamos ver quem é a +próxima pessoa na nossa colocação, e + +10 +00:00:37.900 --> 00:00:38.900 +é o Michael. + +11 +00:00:39.040 --> 00:00:39.880 +Ok? + +12 +00:00:39.920 --> 00:00:44.820 +Então o que vamos fazer, o Michael já tem +uma de suas posições, e o + +13 +00:00:44.840 --> 00:00:47.660 +que vamos fazer é ajudá-lo a se +qualificar. + +14 +00:00:48.480 --> 00:00:53.820 +Então o que vai acontecer é que assim que +dissermos "Entrar com Patrocinador Atual", +vamos + +15 +00:00:53.880 --> 00:00:55.180 +ser levados ao link dele. + +16 +00:00:55.500 --> 00:00:56.740 +Ele contém o ID dele. + +17 +00:00:56.780 --> 00:00:58.600 +Vamos fazer o mesmo para todo mundo, ok? + +18 +00:00:59.260 --> 00:01:04.780 +Então, quando vamos para cá, é assim que a +página do + +19 +00:01:05.780 --> 00:01:08.500 +smart contract se parece para começar com +o RM Circle. + +20 +00:01:08.640 --> 00:01:11.820 +Observe que tem o ID do Michael, número +trinta e cinco, como patrocinador. + +21 +00:01:12.920 --> 00:01:14.600 +Estamos trabalhando apenas com o premium. + +22 +00:01:14.760 --> 00:01:18.100 +Só faz sentido fazer isso em vez do +standard porque o... + +23 +00:01:18.140 --> 00:01:22.020 +Você pode dar uma olhada nas diferenças, +mas não estamos trabalhando ativamente com + +24 +00:01:22.080 --> 00:01:25.800 +o standard porque é basicamente você +ganhar metade do que ganharia aqui. + +25 +00:01:25.900 --> 00:01:28.020 +Então estamos focando apenas no premium. + +26 +00:01:28.700 --> 00:01:34.400 +Está nos dizendo que precisamos enviar +trezentos e sessenta e um Polygon da + +27 +00:01:34.440 --> 00:01:35.380 +nossa carteira MetaMask. + +28 +00:01:35.420 --> 00:01:38.740 +Agora, a primeira coisa que precisamos +fazer é conectar nossa carteira MetaMask, +então vamos + +29 +00:01:38.760 --> 00:01:39.760 +clicar em Conectar. + +30 +00:01:41.240 --> 00:01:42.240 +Vamos escolher MetaMask. + +31 +00:01:44.220 --> 00:01:49.000 +Vai abrir a extensão da nossa carteira e +vai pedir para conectar ao RM Circle + +32 +00:01:49.100 --> 00:01:52.320 +a partir da nossa carteira MetaMask, então +vamos clicar em Conectar. + +33 +00:01:54.960 --> 00:01:56.260 +Agora nossa carteira está conectada. + +34 +00:01:57.220 --> 00:02:01.320 +Agora, ele-- note que ele vai nos dizer +que precisamos trocar para a mainnet + +35 +00:02:01.360 --> 00:02:05.400 +da Polygon, porque por padrão a Polygon +roda na blockchain Ethereum ou na rede + +36 +00:02:05.460 --> 00:02:06.160 +Ethereum. + +37 +00:02:06.200 --> 00:02:10.460 +Vamos trocar para a rede Polygon, +principalmente porque as taxas são muito +mais + +38 +00:02:10.539 --> 00:02:11.539 +baratas. + +39 +00:02:11.940 --> 00:02:16.480 +Agora, o que podemos ter que fazer é mudar +manualmente nossa rede na + +40 +00:02:16.560 --> 00:02:18.400 +carteira MetaMask, o que nós vamos-- vamos +fazer isso rapidinho. + +41 +00:02:18.460 --> 00:02:19.460 +Só um segundo. + +42 +00:02:21.300 --> 00:02:22.540 +Vamos abrir a extensão. + +43 +00:02:27.800 --> 00:02:31.260 +Agora vamos escolher nossa carteira ou +nossa rede. + +44 +00:02:33.060 --> 00:02:35.720 +No momento estamos usando Ethereum. + +45 +00:02:35.800 --> 00:02:39.760 +Queremos encontrar nossa Polygon. + +46 +00:02:44.220 --> 00:02:45.220 +Espere um minuto. + +47 +00:02:47.100 --> 00:02:48.100 +Todas as redes. + +48 +00:02:50.940 --> 00:02:51.980 +Estamos trocando para Polygon. + +49 +00:02:52.100 --> 00:02:54.560 +Agora estamos na rede que é Polygon aqui. + +50 +00:02:54.740 --> 00:02:56.280 +Você vai ver isso indicado bem aqui. + +51 +00:02:56.840 --> 00:02:59.960 +Então agora que trocamos, vou apenas +atualizar esta página. + +52 +00:03:01.360 --> 00:03:06.000 +Vamos conectar nossa carteira novamente, e +desta vez ela vai nos dizer que + +53 +00:03:06.020 --> 00:03:09.000 +já estamos conectados à rede correta, ou +não vai nos dizer nada. + +54 +00:03:09.060 --> 00:03:10.060 +Então a carteira está conectada. + +55 +00:03:10.420 --> 00:03:12.480 +Vamos enviar trezentos e sessenta e um +Polygon. + +56 +00:03:12.860 --> 00:03:14.540 +Vamos assinar nosso contrato. + +57 +00:03:15.260 --> 00:03:18.840 +O contrato inteligente é algo vinculante e +imutável na blockchain. + +58 +00:03:18.880 --> 00:03:19.700 +Isso nunca vai mudar. + +59 +00:03:19.740 --> 00:03:24.260 +Então repare que diz: 'Ei, vamos, vamos +enviar este polygon na + +60 +00:03:24.300 --> 00:03:25.160 +rede Polygon.' + +61 +00:03:25.200 --> 00:03:28.200 +Vamos assinar com este endereço de +contrato bem aqui. + +62 +00:03:30.000 --> 00:03:31.000 +Clique em Confirmar. + +63 +00:03:33.300 --> 00:03:34.300 +Transação enviada. + +64 +00:03:34.300 --> 00:03:35.760 +Vamos esperar apenas alguns segundos. + +65 +00:03:38.560 --> 00:03:40.760 +E pronto, agora temos nosso ID de +referência. + +66 +00:03:41.000 --> 00:03:43.000 +Fazemos parte do RM Circle. + +67 +00:03:43.060 --> 00:03:44.060 +É simples assim. + +68 +00:03:44.720 --> 00:03:49.480 +Agora, você pode ver o resto da estratégia +para saber o que vamos fazer a seguir, mas + +69 +00:03:49.540 --> 00:03:51.020 +é só isso neste vídeo. + +70 +00:03:51.080 --> 00:03:55.480 +Agora temos nossa posição, então acabamos +de gastar nosso polygon para comprar nossa + +71 +00:03:55.540 --> 00:04:01.020 +posição, e agora precisamos focar em +ajudar as pessoas a conseguir suas + +72 +00:04:01.060 --> 00:04:05.400 +próximas duas posições para que se +qualifiquem, e então, quando for sua vez, +faremos + +73 +00:04:05.440 --> 00:04:05.920 +a mesma coisa + +74 +00:04:05.960 --> 00:04:06.660 +com você. + +75 +00:04:06.700 --> 00:04:10.760 +Se você já conhece algumas pessoas que, +que podem começar, tudo bem, podemos fazer + +76 +00:04:10.800 --> 00:04:14.260 +isso também, mas anote seu ID bem aqui. + +77 +00:04:14.800 --> 00:04:16.300 +Você também pode ver seu perfil. + +78 +00:04:17.920 --> 00:04:19.820 +Você pode copiar seu link de referência +aqui. + +79 +00:04:19.980 --> 00:04:22.840 +Você pode, você pode ver todos os tipos de +outras informações aqui se precisar, + +80 +00:04:22.900 --> 00:04:28.120 +e qualquer pessoa que você indicou, você +veria se tem algum referido aqui e + +81 +00:04:28.180 --> 00:04:29.060 +quanto ganhou. + +82 +00:04:29.100 --> 00:04:30.000 +Os pagamentos são diretos. + +83 +00:04:30.040 --> 00:04:31.160 +Eles chegam até você imediatamente. + +84 +00:04:31.380 --> 00:04:35.440 +É automático e, e é, é bem legal. + +85 +00:04:35.780 --> 00:04:36.240 +Ok? + +86 +00:04:36.280 --> 00:04:37.460 +Então é isso para este vídeo. + +87 +00:04:37.520 --> 00:04:38.520 +Vejo você no próximo. diff --git a/public/captions/new_integrated_join_process.de.vtt b/public/captions/new_integrated_join_process.de.vtt new file mode 100644 index 0000000..aee1985 --- /dev/null +++ b/public/captions/new_integrated_join_process.de.vtt @@ -0,0 +1,356 @@ +WEBVTT + +1 +00:00:02.040 --> 00:00:02.440 +Okay. + +2 +00:00:02.340 --> 00:00:07.160 +In diesem Video zeige ich dir eine +Verbesserung für unseren Teambuild für RM + +3 +00:00:07.260 --> 00:00:08.260 +Circle. + +4 +00:00:09.460 --> 00:00:15.880 +Geschaffen wurde die Möglichkeit, den +Onboarding-Prozess für neue Mitglieder zu + +5 +00:00:15.920 --> 00:00:16.920 +optimieren. + +6 +00:00:17.100 --> 00:00:22.460 +Wenn du das gerade siehst und beitreten +möchtest, gibt es eine offizielle RM +Circle-Seite, + +7 +00:00:22.560 --> 00:00:26.440 +der du beitreten kannst – so wie alle +anderen auch. + +8 +00:00:26.900 --> 00:00:33.100 +Aber speziell für unseren Teambuild +verwenden wir einen optimierten +Onboarding-Prozess, + +9 +00:00:33.140 --> 00:00:37.400 +der dir und deinen Empfehlungen hilft. + +10 +00:00:37.940 --> 00:00:41.280 +Er funktioniert weiterhin mit demselben +Smart Contract, du durchläufst also alles, +was + +11 +00:00:41.340 --> 00:00:46.140 +du auch über die Unternehmensseite machen +würdest, aber wir halten es so + +12 +00:00:46.160 --> 00:00:52.960 +vereinfacht, dass du für den Teambuild auf +unserer Website bleibst und + +13 +00:00:53.000 --> 00:00:56.740 +du im Handumdrehen loslegen und es für +deine Mitglieder leichter reproduzierbar +machen + +14 +00:00:56.780 --> 00:00:57.780 +kannst. + +15 +00:00:57.840 --> 00:01:02.480 +Sobald du auf deiner My-Referral-Seite +bist, gilt das für ID 40. + +16 +00:01:03.060 --> 00:01:06.320 +40 ist zum Zeitpunkt dieses Videos die +Nächste, die wir qualifizieren wollen. + +17 +00:01:06.460 --> 00:01:09.760 +Also braucht 40 noch eine Person, um sich +zu qualifizieren. + +18 +00:01:10.700 --> 00:01:12.580 +Also klicken wir auf „Join The Team“. + +19 +00:01:14.880 --> 00:01:18.980 +Jetzt wirst du aufgefordert, deine Wallet +zu verbinden, und wir klicken + +20 +00:01:19.400 --> 00:01:20.840 +auf den Button „Connect Wallet“. + +21 +00:01:21.060 --> 00:01:24.340 +Ich bin gerade im Brave-Browser, aber das +funktioniert bei den anderen + +22 +00:01:24.400 --> 00:01:25.400 +genauso. + +23 +00:01:25.960 --> 00:01:30.320 +Sobald ich das tue, werde ich +aufgefordert, die Wallet auszuwählen, mit +der ich arbeiten möchte. + +24 +00:01:30.480 --> 00:01:31.920 +Du hast vielleicht nur eine Wallet. + +25 +00:01:31.980 --> 00:01:33.680 +Du hast vielleicht gerade eine Wallet +erstellt. + +26 +00:01:34.540 --> 00:01:38.160 +Äh, es könnte MetaMask sein, TrustWallet, +SafePal, weißt du, in diesem + +27 +00:01:38.200 --> 00:01:41.940 +Fall ist es der Brave-Browser, also hat er +auch eine integrierte Wallet. + +28 +00:01:42.460 --> 00:01:45.180 +Aber für diese Demo verwenden wir SafePal. + +29 +00:01:46.280 --> 00:01:50.260 +Sobald ich darauf klicke, wirst du sehen, +dass ich aufgefordert werde, mich mit +meiner + +30 +00:01:50.300 --> 00:01:51.300 +SafePal-Wallet zu verbinden. + +31 +00:01:52.460 --> 00:01:53.700 +Ich klicke jetzt auf „Connect“. + +32 +00:01:56.040 --> 00:02:00.620 +Mein Wallet ist jetzt verbunden, und Sie +können in der Aktivität hier unten sehen, +dass wir + +33 +00:02:00.660 --> 00:02:01.080 +verbunden sind. + +34 +00:02:01.120 --> 00:02:06.640 +Und als Nächstes werden wir aufgefordert, +dem Team beizutreten und die 360 Polygon + +35 +00:02:06.800 --> 00:02:08.699 +zu bezahlen. + +36 +00:02:09.060 --> 00:02:13.340 +Weißt du, das, das kann je nach Gebühr zum +Zeitpunkt etwas variieren, aber + +37 +00:02:13.440 --> 00:02:15.280 +wir werden trotzdem auf Join Team klicken. + +38 +00:02:15.940 --> 00:02:18.100 +Wir machen das auf dem Polygon-Mainnet. + +39 +00:02:19.120 --> 00:02:21.580 +Ich habe dieses Wallet aufgeladen, um +diesem Mitglied zu helfen. + +40 +00:02:21.640 --> 00:02:24.480 +Ich habe dieses Wallet mit 370 Polygon +aufgeladen. + +41 +00:02:24.520 --> 00:02:31.340 +Es wird uns 360.58 kosten, um unsere +Smart-Contract-Position zu kaufen. + +42 +00:02:32.080 --> 00:02:36.480 +Sobald wir auf Join The Team klicken, wird +das Wallet wieder erscheinen und uns + +43 +00:02:36.500 --> 00:02:39.260 +auffordern, den Smart Contract zu +signieren. + +44 +00:02:39.960 --> 00:02:43.960 +Jetzt, ich sage Ihnen, wann immer ich eine +Option für Gebühren sehe, wähle + +45 +00:02:44.000 --> 00:02:49.300 +ich High, damit ich es schnell machen +kann, ähm, einfach um es zu erledigen. + +46 +00:02:49.900 --> 00:02:51.680 +Aber wir werden trotzdem auf Continue +klicken. + +47 +00:02:53.820 --> 00:02:58.600 +Es hat die Transaktion auf dem Smart +Contract für RM Circle übermittelt, und + +48 +00:02:59.520 --> 00:03:01.820 +schon haben Sie Ihre Position und Ihre +ID-Nummer. + +49 +00:03:02.040 --> 00:03:02.520 +Okay? + +50 +00:03:02.560 --> 00:03:06.920 +Und Sie werden automatisch zu Ihrer +ID-Nummer weitergeleitet, die genau hier +ist. + +51 +00:03:08.300 --> 00:03:12.480 +Und Sie können auf Ihr Positions-Dashboard +klicken und genau sehen, wo + +52 +00:03:12.520 --> 00:03:13.060 +Sie stehen. + +53 +00:03:13.100 --> 00:03:13.500 +Okay? + +54 +00:03:13.440 --> 00:03:18.020 +Sie sind jetzt also in der Premium-Stufe, +dem Centillo-Level, der allerersten + +55 +00:03:18.100 --> 00:03:18.500 +Stufe. + +56 +00:03:18.400 --> 00:03:22.040 +Sie sind noch nicht qualifiziert, also +haben Sie null von zwei Positionen. + +57 +00:03:22.520 --> 00:03:25.760 +Sie haben einen vollständigen Plan davon, +was hier passiert. + +58 +00:03:25.880 --> 00:03:28.920 +Sie werden Ihr Team sehen, sobald dies +geladen ist. + +59 +00:03:28.960 --> 00:03:32.320 +Es kann ein paar Minuten dauern, um alles +zu aktualisieren, aber alles + +60 +00:03:32.360 --> 00:03:32.920 +ist bereit. + +61 +00:03:32.960 --> 00:03:33.960 +Du kannst loslegen. + +62 +00:03:34.280 --> 00:03:36.120 +Also, ich werde jetzt meine Daten +einreichen. + +63 +00:03:36.160 --> 00:03:39.200 +Das ist der nächste Schritt, den du machen +musst, nachdem du deine Position erhalten +hast. + +64 +00:03:39.800 --> 00:03:45.680 +Also, ich werde Position 123 einreichen, + +65 +00:03:48.380 --> 00:03:50.660 +und zwar für den Benutzer Joseph. + +66 +00:03:51.600 --> 00:03:52.500 +Okay? + +67 +00:03:52.540 --> 00:03:54.480 +Also klicken wir auf „Meine ID +einreichen“. + +68 +00:03:55.080 --> 00:03:59.200 +Du bist jetzt in der Rotation, damit dir +auch andere helfen können, und wir haben +jetzt ID Nummer + +69 +00:03:59.240 --> 00:04:01.300 +40 geholfen, qualifiziert zu werden. + +70 +00:04:01.360 --> 00:04:07.820 +Also kann ID 40, also Jason, jetzt +anfangen, Geld zu verdienen und sein Team +aufzubauen. + +71 +00:04:07.900 --> 00:04:11.500 +So machen wir das gemeinsam in unserem +Teamaufbau. + +72 +00:04:12.380 --> 00:04:16.279 +Ein sehr einfacher Prozess, um dich in nur +wenigen Minuten startklar zu machen. + +73 +00:04:16.940 --> 00:04:20.420 +Und ich würde sagen, wende dich an deinen +Sponsor, wenn du Fragen hast, oder + +74 +00:04:20.480 --> 00:04:22.980 +treff uns in der Telegram-Gruppe, und wir +helfen dir gerne weiter. diff --git a/public/captions/new_integrated_join_process.pt.vtt b/public/captions/new_integrated_join_process.pt.vtt new file mode 100644 index 0000000..5d56c6a --- /dev/null +++ b/public/captions/new_integrated_join_process.pt.vtt @@ -0,0 +1,347 @@ +WEBVTT + +1 +00:00:02.040 --> 00:00:02.440 +Tudo bem. + +2 +00:00:02.340 --> 00:00:07.160 +Neste vídeo, vou mostrar uma melhoria para +a nossa equipe da RM + +3 +00:00:07.260 --> 00:00:08.260 +Circle. + +4 +00:00:09.460 --> 00:00:15.880 +O que foi criado é a capacidade de +simplificar o processo de integração de um + +5 +00:00:15.920 --> 00:00:16.920 +novo membro. + +6 +00:00:17.100 --> 00:00:22.460 +Então, se você está vendo isso agora e +quer entrar, existe uma página oficial + +7 +00:00:22.560 --> 00:00:26.440 +da RM Circle para se inscrever, que todo +mundo recebe. + +8 +00:00:26.900 --> 00:00:33.100 +Mas, especificamente para a nossa equipe, +usamos um processo de integração otimizado +e simplificado para + +9 +00:00:33.140 --> 00:00:37.400 +ajudar você e seus indicados ao longo do +caminho. + +10 +00:00:37.940 --> 00:00:41.280 +Ele continua funcionando com o mesmo smart +contract, então você passa por tudo + +11 +00:00:41.340 --> 00:00:46.140 +o que passaria pela página da empresa, mas +estamos tentando manter as coisas + +12 +00:00:46.160 --> 00:00:52.960 +simples para que você fique no nosso site +para a equipe e + +13 +00:00:53.000 --> 00:00:56.740 +possa começar rapidinho e tornar o +processo mais replicável para seus + +14 +00:00:56.780 --> 00:00:57.780 +membros. + +15 +00:00:57.840 --> 00:01:02.480 +Então, quando você está aqui na página +Meus Indicados, esse é o ID 40. + +16 +00:01:03.060 --> 00:01:06.320 +O 40 é o próximo, no momento deste vídeo, +que estamos tentando qualificar. + +17 +00:01:06.460 --> 00:01:09.760 +Então o 40 precisa de mais uma pessoa para +se qualificar. + +18 +00:01:10.700 --> 00:01:12.580 +Vamos clicar em Entrar na Equipe. + +19 +00:01:14.880 --> 00:01:18.980 +Agora você será solicitado a conectar sua +carteira, e vamos + +20 +00:01:19.400 --> 00:01:20.840 +clicar no botão Conectar Carteira. + +21 +00:01:21.060 --> 00:01:24.340 +Estou no navegador Brave agora, mas vai +funcionar igual nos outros + +22 +00:01:24.400 --> 00:01:25.400 +também. + +23 +00:01:25.960 --> 00:01:30.320 +Assim que eu fizer isso, vai pedir para +escolher qual carteira quero usar. + +24 +00:01:30.480 --> 00:01:31.920 +Você pode ter apenas uma carteira. + +25 +00:01:31.980 --> 00:01:33.680 +Você pode ter acabado de criar uma +carteira. + +26 +00:01:34.540 --> 00:01:38.160 +Pode ser MetaMask, TrustWallet, SafePal, +sabe, neste caso é + +27 +00:01:38.200 --> 00:01:41.940 +o navegador Brave, que também tem uma +carteira integrada. + +28 +00:01:42.460 --> 00:01:45.180 +Mas vamos usar a SafePal para esta +demonstração. + +29 +00:01:46.280 --> 00:01:50.260 +Assim que eu clicar, repare que vai pedir +para conectar usando minha + +30 +00:01:50.300 --> 00:01:51.300 +carteira SafePal. + +31 +00:01:52.460 --> 00:01:53.700 +Vou clicar em Conectar. + +32 +00:01:56.040 --> 00:02:00.620 +Agora minha carteira está conectada, e +você pode ver na atividade aqui embaixo +que + +33 +00:02:00.660 --> 00:02:01.080 +estamos conectados. + +34 +00:02:01.120 --> 00:02:06.640 +E a próxima coisa que vai nos pedir para +fazer é entrar no time e pagar + +35 +00:02:06.800 --> 00:02:08.699 +os 360 Polygon. + +36 +00:02:09.060 --> 00:02:13.340 +Sabe, isso pode variar um pouco dependendo +da taxa no momento, mas vamos + +37 +00:02:13.440 --> 00:02:15.280 +em frente e clicar em Join Team. + +38 +00:02:15.940 --> 00:02:18.100 +Estamos fazendo isso na mainnet da +Polygon. + +39 +00:02:19.120 --> 00:02:21.580 +Eu fundei esta carteira para ajudar este +membro. + +40 +00:02:21.640 --> 00:02:24.480 +Eu fundei esta carteira com 370 Polygon. + +41 +00:02:24.520 --> 00:02:31.340 +Vai nos custar 360.58 para comprar nossa +posição no smart contract. + +42 +00:02:32.080 --> 00:02:36.480 +Então, assim que clicarmos em Join The +Team, vai abrir a carteira novamente e vai + +43 +00:02:36.500 --> 00:02:39.260 +nos pedir para assinar o smart contract. + +44 +00:02:39.960 --> 00:02:43.960 +Agora, vou te dizer, sempre que vejo uma +opção de + +45 +00:02:44.000 --> 00:02:49.300 +taxas, escolho High para fazer rapidinho, +só para terminar logo. + +46 +00:02:49.900 --> 00:02:51.680 +Mas vamos em frente e clicar em Continue. + +47 +00:02:53.820 --> 00:02:58.600 +Submetemos a transação no smart contract +da RM Circle, e pronto, agora você + +48 +00:02:59.520 --> 00:03:01.820 +tem sua posição e seu número de ID. + +49 +00:03:02.040 --> 00:03:02.520 +Ok? + +50 +00:03:02.560 --> 00:03:06.920 +E você é automaticamente levado ao seu +número de ID, que está bem aqui. + +51 +00:03:08.300 --> 00:03:12.480 +E você pode clicar no dashboard de +Positions, e ver exatamente onde + +52 +00:03:12.520 --> 00:03:13.060 +você está. + +53 +00:03:13.100 --> 00:03:13.500 +Ok? + +54 +00:03:13.440 --> 00:03:18.020 +Então você está agora no nível premium, o +nível Centillo, que é o primeiro + +55 +00:03:18.100 --> 00:03:18.500 +nível. + +56 +00:03:18.400 --> 00:03:22.040 +Você ainda não está qualificado, então tem +zero de duas posições. + +57 +00:03:22.520 --> 00:03:25.760 +Você tem um plano completo do que está +acontecendo aqui. + +58 +00:03:25.880 --> 00:03:28.920 +Então você verá seu time assim que isso +carregar. + +59 +00:03:28.960 --> 00:03:32.320 +Pode levar alguns minutos para atualizar +tudo, mas está tudo pronto + +60 +00:03:32.360 --> 00:03:32.920 +para começar. + +61 +00:03:32.960 --> 00:03:33.960 +Você está pronto para seguir em frente. + +62 +00:03:34.280 --> 00:03:36.120 +Então vou enviar minhas informações. + +63 +00:03:36.160 --> 00:03:39.200 +Esta é a próxima coisa que você precisa +fazer depois de conseguir sua posição. + +64 +00:03:39.800 --> 00:03:45.680 +Então vou enviar a posição 123, e + +65 +00:03:48.380 --> 00:03:50.660 +isso será para o usuário Joseph. + +66 +00:03:51.600 --> 00:03:52.500 +Ok? + +67 +00:03:52.540 --> 00:03:54.480 +Então vamos clicar em Enviar Meu ID. + +68 +00:03:55.080 --> 00:03:59.200 +Você agora está na rotação para que outros +também possam ajudá-lo, e acabamos de +ajudar o ID + +69 +00:03:59.240 --> 00:04:01.300 +número 40 a se qualificar. + +70 +00:04:01.360 --> 00:04:07.820 +Então agora o ID 40, que é o Jason, ele +pode começar a ganhar e montar sua equipe. + +71 +00:04:07.900 --> 00:04:11.500 +Então é assim que estamos fazendo +coletivamente dentro da nossa construção +de equipe. + +72 +00:04:12.380 --> 00:04:16.279 +Processo muito simples para deixá-lo +pronto e funcionando em apenas alguns +minutos. + +73 +00:04:16.940 --> 00:04:20.420 +E eu diria para entrar em contato com seu +patrocinador se tiver alguma dúvida, ou + +74 +00:04:20.480 --> 00:04:22.980 +nos encontrar no grupo do Telegram, e +ficaremos felizes em tentar ajudá-lo. diff --git a/public/captions/rmc-level-reach-65b337be4d.de.vtt b/public/captions/rmc-level-reach-65b337be4d.de.vtt new file mode 100644 index 0000000..4e31a32 --- /dev/null +++ b/public/captions/rmc-level-reach-65b337be4d.de.vtt @@ -0,0 +1,138 @@ +WEBVTT + +1 +00:00:00.920 --> 00:00:05.180 +Hier ist die Frage, die sich jeder +Aufbauer früher oder später stellt: Müssen +Zahlungen von meinem + +2 +00:00:05.220 --> 00:00:06.760 +Team warten, bis ich die Stufe gekauft +habe? + +3 +00:00:07.300 --> 00:00:08.680 +Kurze Antwort: Nein. + +4 +00:00:09.220 --> 00:00:10.420 +Lange Antwort: besser. + +5 +00:00:11.620 --> 00:00:15.440 +An dem Tag, an dem du qualifiziert bist, +deine beiden persönlichen Leute – das ist +der ganze Test + +6 +00:00:16.180 --> 00:00:17.180 +– kannst du bereits einfangen. + +7 +00:00:18.240 --> 00:00:22.240 +Wenn die beiden Positionen unter dir ihr +erstes Upgrade kaufen, landen diese +Zahlungen bei dir. + +8 +00:00:22.880 --> 00:00:26.940 +Im Grunde besitzt du diese Stufe noch +nicht, und der Vertrag kümmert sich nicht +darum. + +9 +00:00:27.320 --> 00:00:31.260 +Er prüft nur die Stufe, von der sie +springen, und alle fangen dort an. + +10 +00:00:32.320 --> 00:00:35.340 +Aber hier ist die Regel, die ändern +sollte, wie du aufbaust. + +11 +00:00:36.160 --> 00:00:40.180 +Jede Stufe, die du besitzt, verlängert +deine Reichweite genau eine Generation +tiefer. + +12 +00:00:40.800 --> 00:00:43.340 +Um aus zwei Schichten Tiefe zu fangen, +brauchst du Stufe zwei. + +13 +00:00:43.940 --> 00:00:45.620 +Drei Schichten tief, Stufe drei. + +14 +00:00:46.500 --> 00:00:50.000 +Deine Stufe ist kein Abzeichen auf deinem +Dashboard, sie ist die Länge deines Arms. + +15 +00:00:51.000 --> 00:00:52.960 +Und Zahlungen warten auf niemanden. + +16 +00:00:53.800 --> 00:00:59.100 +Wenn jemand tief in deiner Matrix +aufsteigt, klettert diese Zahlung, bis sie +die erste Person findet, + +17 +00:00:59.160 --> 00:01:03.120 +die qualifiziert und hoch genug gestuft +ist, um sie zu fangen. + +18 +00:01:04.080 --> 00:01:07.880 +Wenn das nicht du bist, geht sie über dich +hinweg zu jemandem darüber. + +19 +00:01:08.460 --> 00:01:09.460 +Weg. + +20 +00:01:09.940 --> 00:01:10.940 +Also ist das Spiel einfach. + +21 +00:01:11.300 --> 00:01:16.480 +Bleib eine Stufe vor deiner tiefsten +aktiven Schicht und lass die Struktur +dafür + +22 +00:01:16.500 --> 00:01:17.200 +bezahlen. + +23 +00:01:17.240 --> 00:01:20.760 +Dein allererster Fang auf jeder Stufe ist +der genaue Preis für deinen nächsten +Aufstieg. + +24 +00:01:21.440 --> 00:01:23.520 +Bis auf den Cent genau, das ist kein +Glück. + +25 +00:01:24.320 --> 00:01:25.320 +Das ist das Design. + +26 +00:01:26.260 --> 00:01:27.300 +Dein Level ist deine Reichweite. + +27 +00:01:27.600 --> 00:01:28.480 +Baue das Team auf. + +28 +00:01:28.520 --> 00:01:31.900 +Halte deinen Arm lang und lehre deine +zwei, genau dasselbe zu tun. diff --git a/public/captions/rmc-level-reach-65b337be4d.pt.vtt b/public/captions/rmc-level-reach-65b337be4d.pt.vtt new file mode 100644 index 0000000..533d031 --- /dev/null +++ b/public/captions/rmc-level-reach-65b337be4d.pt.vtt @@ -0,0 +1,134 @@ +WEBVTT + +1 +00:00:00.920 --> 00:00:05.180 +Aqui está a pergunta que todo construtor +faz mais cedo ou mais tarde: Os pagamentos +da minha + +2 +00:00:05.220 --> 00:00:06.760 +equipe precisam esperar até que eu compre +o nível? + +3 +00:00:07.300 --> 00:00:08.680 +A resposta curta é: não. + +4 +00:00:09.220 --> 00:00:10.420 +Resposta longa, melhor. + +5 +00:00:11.620 --> 00:00:15.440 +No dia em que você se qualifica, suas duas +pessoas pessoais — esse é o teste completo + +6 +00:00:16.180 --> 00:00:17.180 +— você já consegue capturar. + +7 +00:00:18.240 --> 00:00:22.240 +Quando as duas posições abaixo de você +comprarem a primeira atualização, esses +pagamentos caem em você. + +8 +00:00:22.880 --> 00:00:26.940 +Na verdade, você ainda não possui aquele +nível, e o contrato não liga. + +9 +00:00:27.320 --> 00:00:31.260 +Ele só verifica o nível de onde eles estão +saindo, e todo mundo começa lá. + +10 +00:00:32.320 --> 00:00:35.340 +Mas aqui está a regra que deve mudar como +você constrói. + +11 +00:00:36.160 --> 00:00:40.180 +Cada nível que você possui estende seu +alcance exatamente uma geração mais +profunda. + +12 +00:00:40.800 --> 00:00:43.340 +Capturar de duas camadas abaixo exige +nível dois. + +13 +00:00:43.940 --> 00:00:45.620 +Três camadas abaixo, nível três. + +14 +00:00:46.500 --> 00:00:50.000 +Seu nível não é um distintivo no seu +painel, é o comprimento do seu braço. + +15 +00:00:51.000 --> 00:00:52.960 +E os pagamentos não esperam por ninguém. + +16 +00:00:53.800 --> 00:00:59.100 +Quando alguém no fundo da sua matriz sobe +de nível, esse pagamento sobe até +encontrar a + +17 +00:00:59.160 --> 00:01:03.120 +primeira pessoa qualificada e com nível +alto o suficiente para capturá-lo. + +18 +00:01:04.080 --> 00:01:07.880 +Se não for você, ele passa por você para +alguém acima. + +19 +00:01:08.460 --> 00:01:09.460 +Perdido. + +20 +00:01:09.940 --> 00:01:10.940 +Então a jogada é simples. + +21 +00:01:11.300 --> 00:01:16.480 +Fique um nível à frente da sua camada +ativa mais profunda e deixe a estrutura +pagar por + +22 +00:01:16.500 --> 00:01:17.200 +isso. + +23 +00:01:17.240 --> 00:01:20.760 +Sua primeira captura em cada nível é +exatamente o preço da sua próxima subida. + +24 +00:01:21.440 --> 00:01:23.520 +Até o centavo, isso não é sorte. + +25 +00:01:24.320 --> 00:01:25.320 +Esse é o design. + +26 +00:01:26.260 --> 00:01:27.300 +Seu nível é seu alcance. + +27 +00:01:27.600 --> 00:01:28.480 +Monte a equipe. + +28 +00:01:28.520 --> 00:01:31.900 +Mantenha o braço estendido e ensine seus +dois a fazer exatamente a mesma coisa. diff --git a/public/captions/rmc-team-overview-f8856dc743.de.vtt b/public/captions/rmc-team-overview-f8856dc743.de.vtt new file mode 100644 index 0000000..f9084ae --- /dev/null +++ b/public/captions/rmc-team-overview-f8856dc743.de.vtt @@ -0,0 +1,451 @@ +WEBVTT + +1 +00:00:00.360 --> 00:00:02.060 +Die meisten Team-Builds scheitern aus +einem Grund. + +2 +00:00:02.360 --> 00:00:04.800 +Jeder rekrutiert und niemand hilft. + +3 +00:00:05.840 --> 00:00:07.380 +Der RM Circle dreht das um. + +4 +00:00:08.220 --> 00:00:13.140 +Es ist ein Team-First-Build auf der +Polygon-Blockchain, bei dem der gesamte +Plan in einen + +5 +00:00:13.180 --> 00:00:13.880 +Satz passt. + +6 +00:00:13.920 --> 00:00:18.860 +Hol dir deine zwei, hilf deinen zwei, ihre +zu bekommen, und bring ihnen bei, dasselbe +zu tun. + +7 +00:00:19.160 --> 00:00:24.880 +Dieses Video zeigt das vollständige Bild, +wie die Struktur funktioniert, wie das +Geld fließt und + +8 +00:00:24.920 --> 00:00:26.500 +genau, was deine Aufgabe ist. + +9 +00:00:27.080 --> 00:00:28.560 +Es ist einfacher, als du denkst. + +10 +00:00:29.540 --> 00:00:30.780 +Jeder tritt auf die gleiche Weise ein. + +11 +00:00:31.320 --> 00:00:34.540 +Eine Position in einem Smart Contract, +platziert in einer zwei breiten Matrix. + +12 +00:00:35.080 --> 00:00:37.820 +Du brauchst genau zwei Personen, die über +deinen Link beitreten. + +13 +00:00:38.380 --> 00:00:39.620 +Wir nennen sie deine Direkten. + +14 +00:00:40.240 --> 00:00:42.920 +Und sobald du zwei hast, ist deine +Position qualifiziert. + +15 +00:00:43.420 --> 00:00:45.020 +Das ist die Ziellinie für die Breite. + +16 +00:00:45.820 --> 00:00:46.820 +Du brauchst nie einen Dritten. + +17 +00:00:47.000 --> 00:00:49.320 +Von dort aus geht der Build nach unten, +nicht nach außen. + +18 +00:00:50.120 --> 00:00:51.760 +Deine zwei bekommen jeweils ihre zwei. + +19 +00:00:51.820 --> 00:00:53.040 +Diese vier bekommen ihre. + +20 +00:00:53.780 --> 00:00:58.740 +Und die Matrix füllt sich mit zwei, vier, +acht, sechzehn, während das gesamte Team +die gleiche + +21 +00:00:58.800 --> 00:00:59.800 +Welle vorantreibt. + +22 +00:01:00.340 --> 00:01:02.560 +Du wirst auf zwei Arten bezahlt, und sie +sind unterschiedlich. + +23 +00:01:03.060 --> 00:01:05.440 +Den Unterschied zu kennen, erspart dir +eine Menge Verwirrung. + +24 +00:01:05.980 --> 00:01:07.720 +Stream eins, Eintrittsbelohnungen. + +25 +00:01:08.320 --> 00:01:12.680 +Jede einzelne Person, die über deinen Link +beitritt, zahlt dir eine +Eintrittsbelohnung, die in derselben +Transaktion, + +26 +00:01:12.760 --> 00:01:15.400 +mit der sie beitreten, in deine Wallet +geliefert wird. + +27 +00:01:15.960 --> 00:01:18.180 +Nicht nur die ersten beiden, sondern +jeder. + +28 +00:01:18.740 --> 00:01:20.820 +Stream zwei, Upgrade-Zahlungen. + +29 +00:01:21.320 --> 00:01:22.880 +Das Programm hat acht Stufen. + +30 +00:01:23.540 --> 00:01:27.720 +Wenn Leute unter dir Stufen kaufen, +wandert jede Zahlung die Matrix hinauf und +landet + +31 +00:01:27.780 --> 00:01:30.300 +auf einer Position, derjenigen mit der +passenden Tiefe. + +32 +00:01:30.960 --> 00:01:35.400 +Jemand eine Ebene unter dir zahlt dir, +wenn er Stufe zwei kauft. + +33 +00:01:36.380 --> 00:01:40.080 +Zwei Ebenen tiefer, Stufe drei, und so +weiter, acht Ebenen tief. + +34 +00:01:40.320 --> 00:01:44.020 +Jede Person unter dir zahlt dir genau +einmal auf einer bestimmten Stufe. + +35 +00:01:44.980 --> 00:01:47.840 +Hier ist die Regel, die entscheidet, ob du +das Geld bekommst. + +36 +00:01:48.260 --> 00:01:53.720 +Um eine Stufenzahlung zu erhalten, muss +deine Position qualifiziert sein, zwei +Direktmitglieder haben und bereits + +37 +00:01:53.800 --> 00:01:55.260 +die Stufe besitzen, die gekauft wird. + +38 +00:01:55.680 --> 00:01:57.720 +Wenn du das nicht bist, wartet die Zahlung +nicht. + +39 +00:01:58.300 --> 00:02:01.880 +Sie geht dauerhaft auf die nächste +berechtigte Position über dir über. + +40 +00:02:02.700 --> 00:02:03.700 +Das ist keine Bestrafung. + +41 +00:02:03.900 --> 00:02:06.280 +Es ist der Vertrag, der jede Zahlung in +Bewegung hält. + +42 +00:02:07.120 --> 00:02:11.180 +Deine Aufgabe ist es einfach, eine Stufe +vor der tiefsten aktiven Ebene deines +Teams zu sein. + +43 +00:02:12.180 --> 00:02:15.800 +Und dein Dashboard zeigt dir buchstäblich, +wann der Moment kommt. + +44 +00:02:16.700 --> 00:02:20.300 +Wenn die beiden Plätze von jemandem voll +sind und eine weitere Person seinem Team + +45 +00:02:20.360 --> 00:02:24.860 +beitritt, platziert der Vertrag dieses +neue Mitglied im ersten freien Platz +weiter unten. + +46 +00:02:25.440 --> 00:02:26.580 +Das ist der Überlauf. + +47 +00:02:28.080 --> 00:02:32.280 +Der Überlauf füllt deine Struktur mit +Leuten, die du nie angeworben hast, und +jeder von + +48 +00:02:32.340 --> 00:02:34.800 +ihnen ist zukünftiges Upgrade-Einkommen +für deine Position. + +49 +00:02:35.280 --> 00:02:38.500 +Aber höre dies genau: Spillover +qualifiziert dich nicht. + +50 +00:02:38.960 --> 00:02:42.980 +Nur Leute, die über deinen eigenen Link +beitreten, zählen als deine Direkten. + +51 +00:02:43.860 --> 00:02:45.780 +Spillover ist ein Geschenk für deine +Tiefe. + +52 +00:02:46.600 --> 00:02:48.240 +Deine zwei sind immer noch deine Aufgabe. + +53 +00:02:49.140 --> 00:02:52.020 +Sobald du qualifiziert bist, ist die +Empfehlung des Teams einfach. + +54 +00:02:52.860 --> 00:02:54.080 +Verlagere deine Anstrengung nach unten. + +55 +00:02:54.900 --> 00:02:58.520 +Hilf deinen zwei, ihre zwei zu bekommen, +anstatt selbst mehr Direkte zu stapeln. + +56 +00:02:59.540 --> 00:03:02.240 +Deine Einladungsseite erledigt das sogar +automatisch. + +57 +00:03:02.700 --> 00:03:08.220 +Sobald du zwei von zwei erreichst, leitet +es neue Beitritte zur nächsten Person in +deinem Bein, die + +58 +00:03:08.280 --> 00:03:08.940 +sie braucht. + +59 +00:03:08.980 --> 00:03:13.320 +Und wenn danach trotzdem jemand über +deinen Link beitritt, dann ist das ein +Bonus, niemals + +60 +00:03:13.360 --> 00:03:14.360 +ein Problem. + +61 +00:03:14.400 --> 00:03:18.700 +Du behältst die volle Eintrittsbelohnung, +und sie fließen als Tiefe in dein Bein +hinunter. + +62 +00:03:19.680 --> 00:03:20.780 +Es gibt keine Regel dagegen. + +63 +00:03:20.960 --> 00:03:22.560 +Es gibt nur einen klügeren Ort, auf den +man zielen sollte. + +64 +00:03:24.060 --> 00:03:26.820 +Hier unterscheidet sich der RM Circle von +allem, was du bisher ausprobiert hast. + +65 +00:03:27.580 --> 00:03:29.260 +Dein Dashboard ist dein Co-Pilot. + +66 +00:03:29.880 --> 00:03:34.400 +Es zeigt dein Team live, die Zahlungen, +die sich unter dir bilden, genau wann du +upgraden solltest, um + +67 +00:03:34.440 --> 00:03:37.460 +sie zu erhalten, und wer in deinem Team +als Nächstes Hilfe braucht. + +68 +00:03:38.400 --> 00:03:41.260 +Mit einem integrierten Nachrichtensystem, +verifiziert durch deine Wallet. + +69 +00:03:41.780 --> 00:03:43.560 +Und jedes Mitglied hat das gleiche +Dashboard. + +70 +00:03:43.640 --> 00:03:47.840 +Wenn du also deine zwei coachst, sag ihnen +nicht nur, was sie tun sollen. + +71 +00:03:48.220 --> 00:03:51.640 +Öffne ihr Dashboard mit ihnen und bring +ihnen bei, das gleiche Spiel für ihre zwei +zu führen. + +72 +00:03:52.560 --> 00:03:53.880 +Du baust keine Downline auf. + +73 +00:03:54.100 --> 00:03:55.100 +Du trainierst Coaches. + +74 +00:03:55.100 --> 00:03:57.400 +Das baut Tiefe auf, die jahrelang +auszahlt. + +75 +00:03:58.320 --> 00:03:59.760 +Der Einstieg erfordert drei Schritte. + +76 +00:04:00.560 --> 00:04:02.240 +Sieh dir die kurzen Schulungen auf der +Seite an. + +77 +00:04:02.920 --> 00:04:05.280 +Richte eine kostenlose Wallet ein und +finanziere sie mit POEL. + +78 +00:04:06.160 --> 00:04:08.500 +Du kannst es mit einer Debitkarte kaufen, +wenn du ganz neu bist. + +79 +00:04:09.120 --> 00:04:10.980 +Und tritt direkt auf der Seite mit einem +Klick bei. + +80 +00:04:11.660 --> 00:04:14.900 +Du wirst automatisch dem Team zugewiesen, +und dein Dashboard ist + +81 +00:04:14.940 --> 00:04:16.779 +live, sobald deine Transaktion bestätigt +ist. + +82 +00:04:17.700 --> 00:04:23.180 +Zu guter Letzt, weil wir das nur ehrlich +machen: Das ist Kryptowährung auf + +83 +00:04:23.300 --> 00:04:25.820 +einem Smart Contract mit echtem Risiko. + +84 +00:04:26.460 --> 00:04:27.760 +Es wird kein Einkommen garantiert. + +85 +00:04:28.140 --> 00:04:32.220 +Ergebnisse kommen vom Teameinsatz, und du +solltest nur Geld verwenden, dessen +Verlust du dir leisten + +86 +00:04:32.260 --> 00:04:33.100 +kannst. + +87 +00:04:33.140 --> 00:04:34.920 +Was garantiert ist, ist die Mathematik. + +88 +00:04:35.440 --> 00:04:36.680 +Der Code kann nicht geändert werden. + +89 +00:04:36.900 --> 00:04:38.440 +Kein Unternehmen hält die Gelder. + +90 +00:04:38.820 --> 00:04:41.480 +Und jede jemals getätigte Zahlung ist +öffentlich auf der Blockchain. + +91 +00:04:42.140 --> 00:04:43.140 +Hol dir deine zwei. + +92 +00:04:43.380 --> 00:04:44.760 +Hilf deinen zwei, ihre zu bekommen. + +93 +00:04:45.200 --> 00:04:46.200 +Bringe ihnen bei, zu lehren. + +94 +00:04:46.680 --> 00:04:48.260 +RM Circle dot team. diff --git a/public/captions/rmc-team-overview-f8856dc743.pt.vtt b/public/captions/rmc-team-overview-f8856dc743.pt.vtt new file mode 100644 index 0000000..747cb9a --- /dev/null +++ b/public/captions/rmc-team-overview-f8856dc743.pt.vtt @@ -0,0 +1,442 @@ +WEBVTT + +1 +00:00:00.360 --> 00:00:02.060 +A maioria das construções de equipe falha +por um motivo. + +2 +00:00:02.360 --> 00:00:04.800 +Todo mundo recruta e ninguém ajuda. + +3 +00:00:05.840 --> 00:00:07.380 +O RM Circle inverte isso. + +4 +00:00:08.220 --> 00:00:13.140 +É uma construção com a equipe em primeiro +lugar na blockchain Polygon, onde todo o +plano cabe + +5 +00:00:13.180 --> 00:00:13.880 +em uma frase. + +6 +00:00:13.920 --> 00:00:18.860 +Consiga seus dois, ajude seus dois a +conseguir os deles e ensine-os a fazer o +mesmo. + +7 +00:00:19.160 --> 00:00:24.880 +Este vídeo mostra o panorama completo, +como a estrutura funciona, como o dinheiro +circula e exatamente + +8 +00:00:24.920 --> 00:00:26.500 +qual é o seu trabalho. + +9 +00:00:27.080 --> 00:00:28.560 +É mais simples do que você pensa. + +10 +00:00:29.540 --> 00:00:30.780 +Todos entram da mesma forma. + +11 +00:00:31.320 --> 00:00:34.540 +Uma posição em um smart contract colocada +em uma matriz de largura dois. + +12 +00:00:35.080 --> 00:00:37.820 +Você precisa exatamente de duas pessoas +que entrem com seu link. + +13 +00:00:38.380 --> 00:00:39.620 +Nós os chamamos de seus diretos. + +14 +00:00:40.240 --> 00:00:42.920 +E assim que você tiver dois, sua posição +está qualificada. + +15 +00:00:43.420 --> 00:00:45.020 +Essa é a linha de chegada para a largura. + +16 +00:00:45.820 --> 00:00:46.820 +Você nunca precisa de um terceiro. + +17 +00:00:47.000 --> 00:00:49.320 +A partir daí, a construção vai para baixo, +não para fora. + +18 +00:00:50.120 --> 00:00:51.760 +Cada um dos seus dois consegue os seus +dois. + +19 +00:00:51.820 --> 00:00:53.040 +Esses quatro conseguem os deles. + +20 +00:00:53.780 --> 00:00:58.740 +E a matriz preenche dois, quatro, oito, +dezesseis com toda a equipe empurrando a + +21 +00:00:58.800 --> 00:00:59.800 +mesma onda. + +22 +00:01:00.340 --> 00:01:02.560 +Você recebe de duas maneiras, e elas são +diferentes. + +23 +00:01:03.060 --> 00:01:05.440 +Saber a diferença poupa você de muita +confusão. + +24 +00:01:05.980 --> 00:01:07.720 +Stream one, recompensas de entrada. + +25 +00:01:08.320 --> 00:01:12.680 +Toda pessoa que entra pelo seu link paga a +você uma recompensa de entrada, entregue +na + +26 +00:01:12.760 --> 00:01:15.400 +sua carteira na mesma transação em que ela +entra. + +27 +00:01:15.960 --> 00:01:18.180 +Não apenas os dois primeiros, todo mundo. + +28 +00:01:18.740 --> 00:01:20.820 +Stream two, pagamentos de upgrade. + +29 +00:01:21.320 --> 00:01:22.880 +O programa tem oito níveis. + +30 +00:01:23.540 --> 00:01:27.720 +À medida que pessoas abaixo de você +compram níveis, cada pagamento sobe pela +matriz e + +31 +00:01:27.780 --> 00:01:30.300 +cai em uma posição, aquela na profundidade +correspondente. + +32 +00:01:30.960 --> 00:01:35.400 +Alguém um nível abaixo de você paga a você +quando compra o nível dois. + +33 +00:01:36.380 --> 00:01:40.080 +Dois níveis abaixo, nível três, e assim +por diante, até oito níveis de +profundidade. + +34 +00:01:40.320 --> 00:01:44.020 +Cada pessoa abaixo de você paga a você uma +vez em exatamente um nível. + +35 +00:01:44.980 --> 00:01:47.840 +Aqui está a regra que decide se você +recebe esse dinheiro. + +36 +00:01:48.260 --> 00:01:53.720 +Para receber um pagamento de nível, sua +posição precisa estar qualificada, ter +dois diretos, e já + +37 +00:01:53.800 --> 00:01:55.260 +estar no nível que está sendo comprado. + +38 +00:01:55.680 --> 00:01:57.720 +Se você não estiver, o pagamento não +espera. + +39 +00:01:58.300 --> 00:02:01.880 +Ele passa para a próxima posição elegível +acima de você permanentemente. + +40 +00:02:02.700 --> 00:02:03.700 +Isso não é uma punição. + +41 +00:02:03.900 --> 00:02:06.280 +É o contrato mantendo cada pagamento em +movimento. + +42 +00:02:07.120 --> 00:02:11.180 +Seu trabalho é simplesmente ficar um nível +à frente da camada ativa mais profunda da +sua equipe. + +43 +00:02:12.180 --> 00:02:15.800 +E seu painel mostra literalmente quando o +momento está chegando. + +44 +00:02:16.700 --> 00:02:20.300 +Quando as duas vagas de alguém estão +cheias e outra pessoa entra na equipe + +45 +00:02:20.360 --> 00:02:24.860 +dela, o contrato coloca esse novo membro +na primeira vaga aberta mais abaixo. + +46 +00:02:25.440 --> 00:02:26.580 +Isso é spillover. + +47 +00:02:28.080 --> 00:02:32.280 +Spillover preenche sua estrutura com +pessoas que você nunca recrutou, e cada +uma delas é + +48 +00:02:32.340 --> 00:02:34.800 +uma futura receita de upgrade para sua +posição. + +49 +00:02:35.280 --> 00:02:38.500 +Mas ouça isso claramente: o +transbordamento não qualifica você. + +50 +00:02:38.960 --> 00:02:42.980 +Apenas pessoas que entram com seu próprio +link contam como seus diretos. + +51 +00:02:43.860 --> 00:02:45.780 +Transbordamento é um presente para sua +profundidade. + +52 +00:02:46.600 --> 00:02:48.240 +Seu dois ainda é seu trabalho. + +53 +00:02:49.140 --> 00:02:52.020 +Depois que você se qualificar, a +recomendação da equipe é simples. + +54 +00:02:52.860 --> 00:02:54.080 +Mude seu esforço para baixo. + +55 +00:02:54.900 --> 00:02:58.520 +Ajude seu dois a conseguir o próprio dois, +em vez de empilhar mais diretos em você. + +56 +00:02:59.540 --> 00:03:02.240 +Sua página de convite lida com isso +automaticamente. + +57 +00:03:02.700 --> 00:03:08.220 +Assim que você atingir dois de dois, ela +direciona novas entradas para a próxima +pessoa na sua perna + +58 +00:03:08.280 --> 00:03:08.940 +que precisa delas. + +59 +00:03:08.980 --> 00:03:13.320 +E se alguém ainda entrar pelo seu link +depois disso, isso é um bônus, nunca + +60 +00:03:13.360 --> 00:03:14.360 +um problema. + +61 +00:03:14.400 --> 00:03:18.700 +Você fica com a recompensa total de +entrada, e eles escorrem para sua perna +como profundidade. + +62 +00:03:19.680 --> 00:03:20.780 +Não há nenhuma regra contra isso. + +63 +00:03:20.960 --> 00:03:22.560 +Apenas há um lugar mais inteligente para +mirar. + +64 +00:03:24.060 --> 00:03:26.820 +É aqui que o RM Circle é diferente de tudo +que você já experimentou. + +65 +00:03:27.580 --> 00:03:29.260 +Seu painel é seu co-piloto. + +66 +00:03:29.880 --> 00:03:34.400 +Ele mostra sua equipe ao vivo, os +pagamentos se formando abaixo de você, +exatamente quando atualizar para + +67 +00:03:34.440 --> 00:03:37.460 +pegá-los, e quem na sua equipe precisa de +ajuda em seguida. + +68 +00:03:38.400 --> 00:03:41.260 +Com um sistema de mensagens integrado, +verificado pela sua carteira. + +69 +00:03:41.780 --> 00:03:43.560 +E cada membro tem o mesmo painel. + +70 +00:03:43.640 --> 00:03:47.840 +Então, quando você treinar seu dois, não +apenas diga a eles o que fazer. + +71 +00:03:48.220 --> 00:03:51.640 +Abra o painel deles com eles e ensine-os a +executar a mesma jogada para o dois deles. + +72 +00:03:52.560 --> 00:03:53.880 +Você não está construindo uma downline. + +73 +00:03:54.100 --> 00:03:55.100 +Você está treinando coaches. + +74 +00:03:55.100 --> 00:03:57.400 +É isso que constrói profundidade que paga +por anos. + +75 +00:03:58.320 --> 00:03:59.760 +Para entrar, são três passos. + +76 +00:04:00.560 --> 00:04:02.240 +Assista aos treinamentos rápidos no site. + +77 +00:04:02.920 --> 00:04:05.280 +Configure uma carteira gratuita e abasteça +com POEL. + +78 +00:04:06.160 --> 00:04:08.500 +Você pode comprá-la com um cartão de +débito se for iniciante. + +79 +00:04:09.120 --> 00:04:10.980 +E entre direto no site com um toque. + +80 +00:04:11.660 --> 00:04:14.900 +Você será colocado automaticamente no +time, e seu painel fica ativo + +81 +00:04:14.940 --> 00:04:16.779 +assim que sua transação for confirmada. + +82 +00:04:17.700 --> 00:04:23.180 +Última coisa, porque só fazemos isso +honestamente, isso é criptomoeda em um + +83 +00:04:23.300 --> 00:04:25.820 +contrato inteligente com risco real. + +84 +00:04:26.460 --> 00:04:27.760 +Nenhuma renda é garantida. + +85 +00:04:28.140 --> 00:04:32.220 +Resultados vêm do trabalho em equipe, e +você só deve usar dinheiro que pode + +86 +00:04:32.260 --> 00:04:33.100 +perder. + +87 +00:04:33.140 --> 00:04:34.920 +O que é garantido é a matemática. + +88 +00:04:35.440 --> 00:04:36.680 +O código não pode ser alterado. + +89 +00:04:36.900 --> 00:04:38.440 +Nenhuma empresa mantém os fundos. + +90 +00:04:38.820 --> 00:04:41.480 +E cada pagamento já feito é público na +blockchain. + +91 +00:04:42.140 --> 00:04:43.140 +Consiga seus dois. + +92 +00:04:43.380 --> 00:04:44.760 +Ajude seus dois a conseguir os deles. + +93 +00:04:45.200 --> 00:04:46.200 +Ensine-os a ensinar. + +94 +00:04:46.680 --> 00:04:48.260 +RM Circle dot team. diff --git a/public/captions/rmc-textbook-play-e352d39721.de.vtt b/public/captions/rmc-textbook-play-e352d39721.de.vtt new file mode 100644 index 0000000..c699aff --- /dev/null +++ b/public/captions/rmc-textbook-play-e352d39721.de.vtt @@ -0,0 +1,160 @@ +WEBVTT + +1 +00:00:01.140 --> 00:00:03.140 +Ich möchte dir eine Position in unserem +Team zeigen – meine. + +2 +00:00:03.700 --> 00:00:07.760 +Nicht um dich zu beeindrucken, sondern um +dir den Spielzug zu zeigen, den ich jedem +beibringe – exakt nach Vorschrift +ausgeführt. + +3 +00:00:09.500 --> 00:00:11.220 +Ein Einstieg, aus eigener Tasche +finanziert. + +4 +00:00:11.680 --> 00:00:13.580 +Das war das letzte Mal, dass meine Tasche +involviert war. + +5 +00:00:14.020 --> 00:00:16.920 +Von da an blieb jeder Zahlungseingang +liegen. + +6 +00:00:17.400 --> 00:00:19.480 +Ich habe die Fänge nicht ausgegeben, ich +bin mit ihnen aufgestiegen. + +7 +00:00:21.340 --> 00:00:22.420 +Das ist die ganze Disziplin. + +8 +00:00:22.780 --> 00:00:25.820 +Ein Fang auf deiner Stufe ist genau der +Preis für deine nächste Stufe. + +9 +00:00:26.520 --> 00:00:29.040 +Der Vertrag ist genau so aufgebaut – bis +auf den Cent. + +10 +00:00:29.720 --> 00:00:32.360 +So kaufte jedes Mal, wenn Geld eintraf, +die nächste Sprosse. + +11 +00:00:32.520 --> 00:00:35.080 +Ascensus, Fabrica, Coleman. + +12 +00:00:37.000 --> 00:00:38.120 +Und hier kommt der ehrliche Teil. + +13 +00:00:38.560 --> 00:00:40.840 +Auf dem Weg nach oben gingen Zahlungen an +Menschen vorbei. + +14 +00:00:41.300 --> 00:00:42.880 +Keine Bestrafung, sondern Mechanik. + +15 +00:00:43.420 --> 00:00:47.220 +Eine Zahlung stoppt nur an einer Position, +die qualifiziert ist und auf gleicher +Ebene, um sie zu fangen. + +16 +00:00:47.700 --> 00:00:49.760 +Stillstehen hat einen leisen Preis. + +17 +00:00:51.620 --> 00:00:54.420 +Diese Woche hat ein Mitglied fünf Ebenen +tiefer Apex erreicht. + +18 +00:00:55.140 --> 00:00:59.220 +Seine Zahlung übersprang vier Positionen +und stoppte bei mir, weil meine + +19 +00:00:59.280 --> 00:01:00.280 +positioniert war. + +20 +00:01:00.360 --> 00:01:04.200 +Sie finanzierte mein eigenes Apex in +derselben Stunde – rein und rauf. + +21 +00:01:04.720 --> 00:01:06.380 +Das Drehbuch lief wie geschrieben. + +22 +00:01:08.340 --> 00:01:09.560 +Wo steht dann die Position? + +23 +00:01:09.880 --> 00:01:14.440 +Alles, was je eingezahlt wurde, ist mit +Tausenden von POL obendrauf +zurückgekommen. + +24 +00:01:15.260 --> 00:01:18.820 +Und die tieferen Fänge, auf die es jetzt +ausgerichtet ist, haben sich noch nicht +einmal gebildet. + +25 +00:01:19.880 --> 00:01:21.440 +Geduld und Beständigkeit. + +26 +00:01:22.160 --> 00:01:25.260 +Das ist das ganze Geheimnis, es ist +langweilig, und es funktioniert. + +27 +00:01:27.140 --> 00:01:31.280 +Wenn du im Team bist und stillsitzt, formt +sich die nächste Welle bereits unter + +28 +00:01:31.320 --> 00:01:33.620 +dir, und die Positionierung ist noch +offen. + +29 +00:01:34.200 --> 00:01:35.220 +Öffne dein Dashboard. + +30 +00:01:35.660 --> 00:01:39.740 +Das Pipeline-Panel zeigt genau, was sich +unter dir aufbaut und die Sprosse, die du +brauchst, um + +31 +00:01:39.780 --> 00:01:40.780 +es zu fangen. + +32 +00:01:41.080 --> 00:01:42.120 +Oder frage deinen Sponsor. + +33 +00:01:42.580 --> 00:01:45.240 +So oder so, die Antwort liegt +wahrscheinlich schon in deiner Wallet. diff --git a/public/captions/rmc-textbook-play-e352d39721.pt.vtt b/public/captions/rmc-textbook-play-e352d39721.pt.vtt new file mode 100644 index 0000000..d116ef8 --- /dev/null +++ b/public/captions/rmc-textbook-play-e352d39721.pt.vtt @@ -0,0 +1,155 @@ +WEBVTT + +1 +00:00:01.140 --> 00:00:03.140 +Quero mostrar a você uma posição em nosso +time, a minha. + +2 +00:00:03.700 --> 00:00:07.760 +Não para impressionar você, mas para +mostrar a jogada que ensino a todos +executarem exatamente conforme o livro. + +3 +00:00:09.500 --> 00:00:11.220 +Uma entrada financiada do próprio bolso. + +4 +00:00:11.680 --> 00:00:13.580 +Essa foi a última vez que meu bolso esteve +envolvido. + +5 +00:00:14.020 --> 00:00:16.920 +A partir daí, todo pagamento que chegou, +ficou. + +6 +00:00:17.400 --> 00:00:19.480 +Não gastei as capturas, subi com elas. + +7 +00:00:21.340 --> 00:00:22.420 +Essa é toda a disciplina. + +8 +00:00:22.780 --> 00:00:25.820 +Uma captura no seu nível é exatamente o +preço do seu próximo nível. + +9 +00:00:26.520 --> 00:00:29.040 +O contrato é construído assim até o último +centavo. + +10 +00:00:29.720 --> 00:00:32.360 +Então, cada vez que o dinheiro chegava, +comprava o próximo degrau. + +11 +00:00:32.520 --> 00:00:35.080 +Ascensus, Fabrica, Coleman. + +12 +00:00:37.000 --> 00:00:38.120 +E aqui está a parte honesta. + +13 +00:00:38.560 --> 00:00:40.840 +No caminho para cima, os pagamentos +passaram por cima das pessoas. + +14 +00:00:41.300 --> 00:00:42.880 +Não castigo, mecânica. + +15 +00:00:43.420 --> 00:00:47.220 +Um pagamento só para em uma posição que +está qualificada e no nível para +capturá-lo. + +16 +00:00:47.700 --> 00:00:49.760 +Parado tem um custo silencioso. + +17 +00:00:51.620 --> 00:00:54.420 +Esta semana, um membro cinco camadas +abaixo alcançou Apex. + +18 +00:00:55.140 --> 00:00:59.220 +O pagamento dele pulou quatro posições e +parou na minha porque a minha + +19 +00:00:59.280 --> 00:01:00.280 +estava posicionada. + +20 +00:01:00.360 --> 00:01:04.200 +Financiou meu próprio Apex na mesma hora, +entrou e subiu. + +21 +00:01:04.720 --> 00:01:06.380 +O livro funcionou como escrito. + +22 +00:01:08.340 --> 00:01:09.560 +Como fica a posição? + +23 +00:01:09.880 --> 00:01:14.440 +Tudo o que foi pago retornou com milhares +de POL extras. + +24 +00:01:15.260 --> 00:01:18.820 +E as capturas mais profundas para as quais +está posicionado ainda nem se formaram. + +25 +00:01:19.880 --> 00:01:21.440 +Paciência e consistência. + +26 +00:01:22.160 --> 00:01:25.260 +Esse é o segredo todo, e é chato, e +funciona. + +27 +00:01:27.140 --> 00:01:31.280 +Se você está no time e está parado, a +próxima onda já está se formando abaixo + +28 +00:01:31.320 --> 00:01:33.620 +de você, e o posicionamento ainda está +aberto. + +29 +00:01:34.200 --> 00:01:35.220 +Abra seu painel. + +30 +00:01:35.660 --> 00:01:39.740 +O painel de pipeline mostra exatamente o +que está se formando abaixo de você e o +degrau que + +31 +00:01:39.780 --> 00:01:40.780 +você precisa para capturá-lo. + +32 +00:01:41.080 --> 00:01:42.120 +Ou pergunte ao seu patrocinador. + +33 +00:01:42.580 --> 00:01:45.240 +De qualquer forma, a resposta +provavelmente já está na sua carteira. diff --git a/public/my.js b/public/my.js index 3bff7ee..98c03d5 100644 --- a/public/my.js +++ b/public/my.js @@ -396,6 +396,19 @@
`; const unreadIds=(data.inbox||[]).filter(m=>!m.read).map(m=>m.mid); if(unreadIds.length)fetch('/api/public/msg-read',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({mids:unreadIds})}).catch(()=>{}); + // The inbox "Add mine" button was rendered with NO click handler, so it sat there + // doing nothing (Marty, 2026-09-17). It opens the same optional profile dialog the + // dashboard card uses, then re-renders so the banner disappears once it is done. + const ac=document.getElementById('msgAddContact'); + if(ac)ac.addEventListener('click',async function(){ + ac.disabled=true; + try{ + await window.RMCProfile.prompt({onlyForId:me.id,reason:'inbox'}); + const p2=await window.RMCProfile.status(); + if(p2&&p2.profile&&p2.profile.complete){ try{ renderAlerts({id:me.id}); }catch(e){} loadMsgUI(d); return; } + }catch(e){} + ac.disabled=false; + }); const sb=document.getElementById('msgSendBtn'); if(sb)sb.addEventListener('click',async function(){ const st=document.getElementById('msgStatus');st.textContent='Sending…';sb.disabled=true; diff --git a/public/training.html b/public/training.html index 11f96fb..d830221 100644 --- a/public/training.html +++ b/public/training.html @@ -8,7 +8,7 @@
Team training

Watch. Learn. Duplicate.

Short videos take you from zero to your Premium position — in order. Watch them all before you join, and share this page with your two directs when it's their turn.

-
Video 1 · 5 min · UPDATED

How the team build works

The full picture in five minutes: the 2-direct strategy, both income streams, the catch-or-pass rule, spillover, the moving link, and how your dashboard coaches you through all of it.

+
Video 1 · 5 min · UPDATED

How the team build works

The full picture in five minutes: the 2-direct strategy, both income streams, the catch-or-pass rule, spillover, the moving link, and how your dashboard coaches you through all of it.

Video 2 · 3 min

Create your MetaMask wallet

Install MetaMask safely and set up your wallet. Never share your Secret Recovery Phrase with anyone.

@@ -16,14 +16,14 @@
💳 Brand new to crypto? You can buy POL with a card. If you don't have crypto anywhere yet, the simplest path is MoonPay — buy with a debit/credit card, Apple Pay, or Google Pay. Three things to get right: choose POL on the Polygon network (MoonPay may show POL's old name, MATIC — same token), paste your own wallet address from Video 2 as the destination, and buy about 385 POL (the 362 entry plus a little gas). Why the extra? Think of it like a car: the blockchain is the road and POL is also the fuel — every transaction burns a tiny bit of "gas" to move, so you keep a little in the tank beyond your entry. A wallet with an empty tank can't go anywhere. The crypto is delivered straight to your wallet — this site never touches your money. MoonPay handles ID verification and charges its own card fee (~4.5%); a first purchase can take a few minutes to arrive. The join page will also offer this automatically if your connected wallet is short.
-
Video 4 · 4 min · the new way to join

Joining right on the site — connect wallet & buy your position

The whole join process, start to finish: open your invite link (or the start page), connect your wallet, and buy your Premium position in one guided flow — the sponsor ID is filled in for you automatically.

+
Video 4 · 4 min · the new way to join

Joining right on the site — connect wallet & buy your position

The whole join process, start to finish: open your invite link (or the start page), connect your wallet, and buy your Premium position in one guided flow — the sponsor ID is filled in for you automatically.

-
Video 5 · 5 min · backup method

Buying the Premium position in the dApp

If the on-site wallet connect isn't an option for you, you can still join the original way: connect to the RM Circle dApp with the current team sponsor and complete your Premium entry there. Double-check the sponsor ID matches the start page before signing.

+
Video 5 · 5 min · backup method

Buying the Premium position in the dApp

If the on-site wallet connect isn't an option for you, you can still join the original way: connect to the RM Circle dApp with the current team sponsor and complete your Premium entry there. Double-check the sponsor ID matches the start page before signing.

Video 6 · 3 min · payments explained

Why you're not getting paid yet — direct rewards vs pass-ups

The #1 thing that confuses new members: how direct payments differ from upgrade pass-ups, which generation gets paid, and in what order. Watch this the moment you wonder "where's my payment?" — it walks a real, on-chain example.

-
Video 7 · 97 sec · why leveling up matters

Your level is your reach

You don't need to own a level to catch your team's first upgrades — being qualified is enough. But every level you own extends your reach exactly one generation deeper, and payments you can't catch pass over you. 97 seconds on the single rule behind "stay one level ahead of your deepest active layer."

+
Video 7 · 97 sec · why leveling up matters

Your level is your reach

You don't need to own a level to catch your team's first upgrades — being qualified is enough. But every level you own extends your reach exactly one generation deeper, and payments you can't catch pass over you. 97 seconds on the single rule behind "stay one level ahead of your deepest active layer."

-
NEW · 1 min 51 · patience pays

The Textbook Play — a real position, run by the book

One of our team builders near the top opens his own position's books: one entry out of pocket, every catch kept, every rung paid for by the catch before it — and this week's Apex catch landing and going straight back up the same hour. Watch what patience, consistency, and position actually look like on-chain, why payments pass over positions that stand still, and how your dashboard's pipeline panel shows your own next play.

+
NEW · 1 min 51 · patience pays

The Textbook Play — a real position, run by the book

One of our team builders near the top opens his own position's books: one entry out of pocket, every catch kept, every rung paid for by the catch before it — and this week's Apex catch landing and going straight back up the same hour. Watch what patience, consistency, and position actually look like on-chain, why payments pass over positions that stand still, and how your dashboard's pipeline panel shows your own next play.

Video 7 · 14 min · your daily driver

The Member Dashboard — full walkthrough

Everything your dashboard does, end to end: your position and team, the pipeline that shows money forming below you, upgrading your level right on the page, wallet-verified Messages, the Coach Your Team panel, and grabbing your personalized promo tools and QR code. Watch this once and you'll never wonder what to do next.

diff --git a/public/vtt-lang.js b/public/vtt-lang.js index ed3a10e..b61dc2a 100644 --- a/public/vtt-lang.js +++ b/public/vtt-lang.js @@ -1,33 +1,90 @@ -// Match video captions to the language the member already chose with the 🌐 button. +// Video captions: match the language the member already chose with the 🌐 button, and +// make the fact that captions EXIST visible without hunting for the player's CC button. // -// Deliberately NOT on by default for English. Someone reading English does not want -// captions forced over the picture; someone who switched the site to Italian almost -// certainly does. So: if their chosen language has a track, show it. Otherwise show -// nothing and leave the player's own CC button to do its job. +// Marty, 2026-09-17: the first build relied on the native CC control. He could not find +// it on his own page, which means members would not either, so every captioned player +// now carries a visible row of language chips underneath. // -// Marty + Manson, 2026-09-17. See tools/captions.mjs for how the tracks are built. +// Still deliberately OFF by default for an English reader: someone reading English does +// not want text over the picture. Someone who already switched the site to Italian +// almost certainly does, so that one turns itself on. +// +// Tracks are built by tools/captions.mjs. See memory rm-circle-video-captions. (function () { - function pick() { - var lang = ''; - try { lang = String(localStorage.getItem('rmc.lang') || '').toLowerCase(); } catch (e) {} - var vids = document.querySelectorAll('video'); - for (var i = 0; i < vids.length; i++) { - var tt = vids[i].textTracks; - if (!tt || !tt.length) continue; - var wanted = null; - for (var j = 0; j < tt.length; j++) { - if (tt[j].kind !== 'captions' && tt[j].kind !== 'subtitles') continue; - // never leave a stale track showing when the member switches language - tt[j].mode = 'disabled'; - if (lang && lang !== 'en' && String(tt[j].language || '').toLowerCase() === lang) wanted = tt[j]; - } - if (wanted) wanted.mode = 'showing'; + var NAMES = { en: 'English', it: 'Italiano', fr: 'Français', es: 'Español', de: 'Deutsch', + pt: 'Português', nl: 'Nederlands', pl: 'Polski', ro: 'Română', ru: 'Русский', uk: 'Українська', + tr: 'Türkçe', ar: 'العربية', hi: 'हिन्दी', vi: 'Tiếng Việt', id: 'Bahasa', th: 'ไทย', + zh: '中文', ja: '日本語', ko: '한국어', sw: 'Kiswahili', fil: 'Filipino' }; + + function chosen() { + try { return String(localStorage.getItem('rmc.lang') || '').toLowerCase(); } catch (e) { return ''; } + } + function tracksOf(v) { + var out = [], tt = v.textTracks; + for (var i = 0; tt && i < tt.length; i++) if (tt[i].kind === 'captions' || tt[i].kind === 'subtitles') out.push(tt[i]); + return out; + } + function show(v, lang) { + var list = tracksOf(v), hit = null; + for (var i = 0; i < list.length; i++) { + list[i].mode = 'disabled'; // never leave a stale track showing + if (lang && String(list[i].language || '').toLowerCase() === lang) hit = list[i]; + } + if (hit) hit.mode = 'showing'; + paint(v, lang); + } + function paint(v, active) { + var bar = v.parentNode && v.parentNode.querySelector('.cap-bar'); + if (!bar) return; + var btns = bar.querySelectorAll('button[data-lang]'); + for (var i = 0; i < btns.length; i++) { + var on = btns[i].getAttribute('data-lang') === (active || ''); + btns[i].style.background = on ? 'rgba(240,197,109,.22)' : 'transparent'; + btns[i].style.borderColor = on ? 'rgba(240,197,109,.7)' : 'var(--line, #24425d)'; + btns[i].style.color = on ? 'var(--gold, #f0c56d)' : 'var(--muted, #8fa6bd)'; + btns[i].setAttribute('aria-pressed', on ? 'true' : 'false'); } } - if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', pick); - else pick(); - // translate.js writes rmc.lang when the member picks a language; re-run so the - // captions follow without a reload, and cover players rendered later. - window.addEventListener('storage', function (e) { if (!e || e.key === 'rmc.lang') pick(); }); - window.RMCCaptions = { refresh: pick }; + function build(v) { + var list = tracksOf(v); + if (!list.length || !v.parentNode) return; + if (v.parentNode.querySelector('.cap-bar')) return; // already built + var bar = document.createElement('div'); + bar.className = 'cap-bar'; + bar.style.cssText = 'display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 6px 2px;font-size:12px'; + var lab = document.createElement('span'); + lab.textContent = 'Subtitles:'; + lab.style.cssText = 'color:var(--muted,#8fa6bd);text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin-right:2px'; + bar.appendChild(lab); + var mk = function (lang, text) { + var b = document.createElement('button'); + b.type = 'button'; + b.setAttribute('data-lang', lang); + b.textContent = text; + b.style.cssText = 'cursor:pointer;border:1px solid var(--line,#24425d);background:transparent;color:var(--muted,#8fa6bd);' + + 'border-radius:999px;padding:4px 11px;font-size:12px;font-family:inherit;line-height:1.4'; + b.addEventListener('click', function () { show(v, lang); }); + return b; + }; + bar.appendChild(mk('', 'Off')); + for (var i = 0; i < list.length; i++) { + var code = String(list[i].language || '').toLowerCase(); + bar.appendChild(mk(code, NAMES[code] || (list[i].label || code))); + } + v.parentNode.insertBefore(bar, v.nextSibling); + } + function init() { + var vids = document.querySelectorAll('video'); + var lang = chosen(); + for (var i = 0; i < vids.length; i++) { + if (!tracksOf(vids[i]).length) continue; + build(vids[i]); + // English readers get nothing over the picture; a chosen language turns itself on + show(vids[i], lang && lang !== 'en' ? lang : ''); + } + } + if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init); + else init(); + window.addEventListener('storage', function (e) { if (!e || e.key === 'rmc.lang') init(); }); + window.RMCCaptions = { refresh: init }; })(); diff --git a/qa/captions-e2e.mjs b/qa/captions-e2e.mjs index b751957..874d9ee 100644 --- a/qa/captions-e2e.mjs +++ b/qa/captions-e2e.mjs @@ -1,100 +1,130 @@ -// Proves the caption tracks actually load and follow the member's chosen language. -// -// A .vtt served with the wrong Content-Type is silently ignored by the browser, and a -// track that fails to parse shows zero cues with no error anywhere. So checking the -// markup is not enough: this reads the parsed cues back out of the player itself. -// -// Run: LOCAL=http://127.0.0.1:3399 node qa/captions-e2e.mjs -// LOCAL=https://rmcircle.team node qa/captions-e2e.mjs -import { pathToFileURL } from 'node:url'; -import fs from 'node:fs'; -const PW = 'D:/Projects/MarketingAgent/qa-tester/node_modules/playwright'; -const { chromium } = (await import(pathToFileURL(PW + '/index.js').href)).default; -const B = process.env.LOCAL || 'http://127.0.0.1:3399'; -const ok = [], bad = []; -const t = (n, c, extra) => { (c ? ok : bad).push(n + (c || !extra ? '' : ' -> ' + extra)); }; - -// the captioned set is whatever training.html actually wires up, so this suite follows -// the page rather than a list that can drift out of date -const html = fs.readFileSync('public/training.html', 'utf8'); -const players = []; -for (const m of html.matchAll(/]*src="([^"]+\.mp4)"[^>]*>([\s\S]*?)<\/video>/g)) { - const langs = [...m[2].matchAll(/srclang="([a-z]+)"[^>]*src="([^"]+)"/g)].map(x => ({ lang: x[1], src: x[2] })); - if (langs.length) players.push({ video: m[1], langs }); -} -t('training.html wires up captioned players', players.length > 0, String(players.length)); -console.log('captioned players: ' + players.length); - -// 1. every referenced file is served as real VTT with real cues -for (const p of players) { - for (const { lang, src } of p.langs) { - const r = await fetch(B + src); - const ct = r.headers.get('content-type') || ''; - const body = r.ok ? await r.text() : ''; - const cues = (body.match(/-->/g) || []).length; - t(src.split('/').pop() + ' served as text/vtt with cues', - r.ok && /text\/vtt/.test(ct) && body.startsWith('WEBVTT') && cues > 10, - r.status + ' ' + ct + ' cues=' + cues); - } -} - -const browser = await chromium.launch(); -const load = async lang => { - const ctx = await browser.newContext({ viewport: { width: 1280, height: 900 } }); - await ctx.addInitScript(l => { - try { if (l) localStorage.setItem('rmc.lang', l); } catch (e) {} - // the event flyer covers the page and is not what this suite tests - const g = Storage.prototype.getItem; - Storage.prototype.getItem = function (k) { - if (/^rmc-promo-/.test(k)) return 'seen'; - if (/^rmc-announce-/.test(k)) return 'done'; - return g.call(this, k); - }; - }, lang); - const page = await ctx.newPage(); - await page.goto(B + '/training', { waitUntil: 'domcontentloaded' }); - await page.waitForTimeout(3000); - return { ctx, page }; -}; -const read = page => page.evaluate(() => Array.from(document.querySelectorAll('video')).map(v => ({ - src: v.getAttribute('src'), - tracks: Array.from(v.textTracks).map(tr => ({ lang: tr.language, mode: tr.mode, cues: tr.cues ? tr.cues.length : 0, - first: tr.cues && tr.cues[0] ? tr.cues[0].text : '' })) -}))); - -// 2. an English member: tracks are available but nothing is forced over the picture -let { ctx, page } = await load(null); -let vids = await read(page); -for (const p of players) { - const v = vids.find(x => x.src === p.video); - t('player has its tracks: ' + p.video.split('/').pop(), !!v && v.tracks.length === p.langs.length, - v ? String(v.tracks.length) : 'player not found'); - t('nothing forced on for an English member: ' + p.video.split('/').pop(), - !!v && v.tracks.every(x => x.mode !== 'showing'), v && JSON.stringify(v.tracks.map(x => x.mode))); -} -await ctx.close(); - -// 3. each translated language: that track shows, parses, and is not English passthrough -const ENGLISH_OPENERS = /^(Most team builds|Welcome|Hey|In this video|Alright|So )/i; -for (const lang of ['it', 'fr', 'es']) { - ({ ctx, page } = await load(lang)); - await page.waitForTimeout(1500); - vids = await read(page); - for (const p of players) { - if (!p.langs.some(l => l.lang === lang)) continue; - const v = vids.find(x => x.src === p.video); - const tr = v && v.tracks.find(x => x.lang === lang); - const name = p.video.split('/').pop().slice(0, 30); - t(lang + ': showing on ' + name, !!tr && tr.mode === 'showing', tr ? tr.mode : 'track missing'); - t(lang + ': cues parsed on ' + name, !!tr && tr.cues > 10, tr ? String(tr.cues) : '-'); - t(lang + ': not English passthrough on ' + name, !!tr && !ENGLISH_OPENERS.test(tr.first), tr && tr.first.slice(0, 50)); - t(lang + ': English not also showing on ' + name, - !!v && v.tracks.every(x => x.lang === lang || x.mode !== 'showing'), v && JSON.stringify(v.tracks.map(x => x.lang + ':' + x.mode))); - } - await ctx.close(); -} - -console.log('PASS ' + ok.length); -for (const b of bad) console.log('FAIL ' + b); -await browser.close(); -process.exit(bad.length ? 1 : 0); +// Proves the caption tracks actually load and follow the member's chosen language. +// +// A .vtt served with the wrong Content-Type is silently ignored by the browser, and a +// track that fails to parse shows zero cues with no error anywhere. So checking the +// markup is not enough: this reads the parsed cues back out of the player itself. +// +// Run: LOCAL=http://127.0.0.1:3399 node qa/captions-e2e.mjs +// LOCAL=https://rmcircle.team node qa/captions-e2e.mjs +import { pathToFileURL } from 'node:url'; +import fs from 'node:fs'; +const PW = 'D:/Projects/MarketingAgent/qa-tester/node_modules/playwright'; +const { chromium } = (await import(pathToFileURL(PW + '/index.js').href)).default; +const B = process.env.LOCAL || 'http://127.0.0.1:3399'; +const ok = [], bad = []; +const t = (n, c, extra) => { (c ? ok : bad).push(n + (c || !extra ? '' : ' -> ' + extra)); }; + +// the captioned set is whatever training.html actually wires up, so this suite follows +// the page rather than a list that can drift out of date +const html = fs.readFileSync('public/training.html', 'utf8'); +const players = []; +for (const m of html.matchAll(/]*src="([^"]+\.mp4)"[^>]*>([\s\S]*?)<\/video>/g)) { + const langs = [...m[2].matchAll(/srclang="([a-z]+)"[^>]*src="([^"]+)"/g)].map(x => ({ lang: x[1], src: x[2] })); + if (langs.length) players.push({ video: m[1], langs }); +} +t('training.html wires up captioned players', players.length > 0, String(players.length)); +console.log('captioned players: ' + players.length); + +// 1. every referenced file is served as real VTT with real cues +for (const p of players) { + for (const { lang, src } of p.langs) { + const r = await fetch(B + src); + const ct = r.headers.get('content-type') || ''; + const body = r.ok ? await r.text() : ''; + const cues = (body.match(/-->/g) || []).length; + t(src.split('/').pop() + ' served as text/vtt with cues', + r.ok && /text\/vtt/.test(ct) && body.startsWith('WEBVTT') && cues > 10, + r.status + ' ' + ct + ' cues=' + cues); + } +} + +const browser = await chromium.launch(); +const load = async lang => { + const ctx = await browser.newContext({ viewport: { width: 1280, height: 900 } }); + await ctx.addInitScript(l => { + try { if (l) localStorage.setItem('rmc.lang', l); } catch (e) {} + // the event flyer covers the page and is not what this suite tests + const g = Storage.prototype.getItem; + Storage.prototype.getItem = function (k) { + if (/^rmc-promo-/.test(k)) return 'seen'; + if (/^rmc-announce-/.test(k)) return 'done'; + return g.call(this, k); + }; + }, lang); + const page = await ctx.newPage(); + await page.goto(B + '/training', { waitUntil: 'domcontentloaded' }); + await page.waitForTimeout(3000); + return { ctx, page }; +}; +const read = page => page.evaluate(() => Array.from(document.querySelectorAll('video')).map(v => ({ + src: v.getAttribute('src'), + tracks: Array.from(v.textTracks).map(tr => ({ lang: tr.language, mode: tr.mode, cues: tr.cues ? tr.cues.length : 0, + first: tr.cues && tr.cues[0] ? tr.cues[0].text : '' })) +}))); + +// 2. an English member: tracks are available but nothing is forced over the picture +let { ctx, page } = await load(null); +let vids = await read(page); +for (const p of players) { + const v = vids.find(x => x.src === p.video); + t('player has its tracks: ' + p.video.split('/').pop(), !!v && v.tracks.length === p.langs.length, + v ? String(v.tracks.length) : 'player not found'); + t('nothing forced on for an English member: ' + p.video.split('/').pop(), + !!v && v.tracks.every(x => x.mode !== 'showing'), v && JSON.stringify(v.tracks.map(x => x.mode))); +} +await ctx.close(); + +// 3. each translated language: that track shows, parses, and is not English passthrough +const ENGLISH_OPENERS = /^(Most team builds|Welcome|Hey|In this video|Alright|So )/i; +for (const lang of ['it', 'fr', 'es', 'de', 'pt']) { + ({ ctx, page } = await load(lang)); + await page.waitForTimeout(1500); + vids = await read(page); + for (const p of players) { + if (!p.langs.some(l => l.lang === lang)) continue; + const v = vids.find(x => x.src === p.video); + const tr = v && v.tracks.find(x => x.lang === lang); + const name = p.video.split('/').pop().slice(0, 30); + t(lang + ': showing on ' + name, !!tr && tr.mode === 'showing', tr ? tr.mode : 'track missing'); + t(lang + ': cues parsed on ' + name, !!tr && tr.cues > 10, tr ? String(tr.cues) : '-'); + t(lang + ': not English passthrough on ' + name, !!tr && !ENGLISH_OPENERS.test(tr.first), tr && tr.first.slice(0, 50)); + t(lang + ': English not also showing on ' + name, + !!v && v.tracks.every(x => x.lang === lang || x.mode !== 'showing'), v && JSON.stringify(v.tracks.map(x => x.lang + ':' + x.mode))); + } + await ctx.close(); +} + +// 4. DISCOVERABILITY. Marty could not find the captions on his own page because the +// native CC button is tiny and nothing switches on for an English reader. A feature +// nobody can find is not shipped, so every captioned player must carry visible chips. +({ ctx, page } = await load(null)); +const bars = await page.evaluate(() => Array.from(document.querySelectorAll('video')).map(v => { + const bar = v.parentNode && v.parentNode.querySelector('.cap-bar'); + return { src: v.getAttribute('src'), has: !!bar, labels: bar ? Array.from(bar.querySelectorAll('button[data-lang]')).map(b => b.textContent) : [] }; +})); +for (const p of players) { + const b = bars.find(x => x.src === p.video); + const name = p.video.split('/').pop().slice(0, 30); + t('visible subtitle chips on ' + name, !!b && b.has, 'no .cap-bar'); + t('chips cover every track plus Off on ' + name, !!b && b.labels.length === p.langs.length + 1, b && b.labels.join(',')); + t('chips are named in their own language on ' + name, !!b && b.labels.includes('Italiano') && b.labels.includes('Deutsch'), b && b.labels.join(',')); +} +// clicking a chip switches the track for an English reader who wants one +await page.click('.cap-bar button[data-lang="pt"]').catch(() => {}); +await page.waitForTimeout(900); +const afterClick = await read(page); +const firstWithTracks = afterClick.find(v => v.tracks.length); +t('clicking a chip turns that language on', !!firstWithTracks && firstWithTracks.tracks.some(x => x.lang === 'pt' && x.mode === 'showing'), + firstWithTracks && JSON.stringify(firstWithTracks.tracks.map(x => x.lang + ':' + x.mode))); +await page.click('.cap-bar button[data-lang=""]').catch(() => {}); +await page.waitForTimeout(700); +const afterOff = await read(page); +const off = afterOff.find(v => v.tracks.length); +t('"Off" turns captions back off', !!off && off.tracks.every(x => x.mode !== 'showing'), + off && JSON.stringify(off.tracks.map(x => x.mode))); +await ctx.close(); + +console.log('PASS ' + ok.length); +for (const b of bad) console.log('FAIL ' + b); +await browser.close(); +process.exit(bad.length ? 1 : 0); diff --git a/qa/gate-e2e.mjs b/qa/gate-e2e.mjs index e33783a..04db079 100644 --- a/qa/gate-e2e.mjs +++ b/qa/gate-e2e.mjs @@ -93,6 +93,16 @@ t('no modal for the member without contact details', !(await modalOpen(p3))); const body3 = await p3.evaluate(() => document.body.innerText.replace(/\s+/g, ' ')); t('the inbox explains why it needs an address', /Messages reach you here only/i.test(body3), body3.slice(0, 140)); t('the inbox ask is phrased as optional', /Optional, private, removable/i.test(body3)); +// Marty, 2026-09-17: this button shipped with NO click handler and did nothing at all. +// Rendering it is not the test; it has to actually open the dialog. +t('the inbox "Add mine" button exists', await p3.evaluate(() => !!document.getElementById('msgAddContact'))); +await p3.click('#msgAddContact').catch(() => {}); +await p3.waitForTimeout(1400); +t('"Add mine" actually opens the profile dialog', await modalOpen(p3), 'button did nothing'); +t('and that dialog uses the inbox wording', /inbox needs somewhere to reach you|reach you off the site/i.test(await cardText(p3)) || /username/i.test(await cardText(p3)), await cardText(p3)); +t('and it can be closed', await p3.evaluate(() => !!document.getElementById('pgClose'))); +await p3.click('#pgClose').catch(() => {}); await p3.waitForTimeout(500); +t('closing it leaves the inbox usable', !(await modalOpen(p3))); // ---------- 4. nothing changed for visitors or shared links ---------- const anon = await ctxFor(null); const p4 = await anon.newPage();