Link do sali w mailu i na stronie zgloszenia
Deploy PROD / deploy (push) Successful in 20s

Uczestnik przy dostawcy z wlasnymi pokojami (LiveKit, Jitsi, Daily, Zoom)
nie mial ZADNEJ drogi na sale:

- mail potwierdzajacy prowadzil na /w/{slug}, czyli formularz zapisu,
- strona zgloszenia renderowala przycisk "Dolacz do spotkania" wylacznie
  gdy `webinars.join_url` nie bylo puste, a przy LiveKit pokoj jest
  wewnetrzny i to pole zostaje NULL,
- mail obiecywal przy tym wprost "link do spotkania znajdziesz na stronie
  swojego zgloszenia".

Adres sklada teraz `VideoProviderFactory.meetingUrlFor`, bo tylko backend
zna token zapisu. Tryb NONE oddaje `join_url` wklejony przez organizatora,
kazdy inny dostawca wlasna trase /spotkanie/{token}. Ta sama wartosc zasila
widok zgloszenia i szablony maili, wiec nie ma dwoch miejsc do poprawiania.

Szablon potwierdzenia dostaje przycisk wejscia jako pierwszy, nad odnosnikiem
do strony webinaru, oraz zdanie o tym, ze sala otwiera sie przed startem:
bez niego uczestnik klikajacy tydzien wczesniej widzi odliczanie i nie wie,
czy tak ma byc. Szablon przypomnienia mial obsluge `joinUrl` od poczatku,
wiec naprawia sie sam.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-04 07:53:09 +02:00
parent ffea40ebff
commit 1dadc6f6c4
7 changed files with 117 additions and 12 deletions
@@ -65,12 +65,40 @@
</tr>
</table>
<!--
Link do sali. Pierwszy, bo to po niego uczestnik wraca do tej
wiadomosci w dniu szkolenia. Przycisk w tabeli, bo Outlook
ignoruje marginesy na znaczniku a.
-->
<table th:if="${joinUrl}" role="presentation" cellpadding="0" cellspacing="0" border="0"
style="margin:0 0 12px;">
<tr>
<td style="background-color:#1d4ed8; border-radius:8px;">
<a th:href="${joinUrl}"
style="display:inline-block; padding:14px 28px; font-size:16px; font-weight:600; color:#ffffff; text-decoration:none;">
Dołącz do spotkania
</a>
</td>
</tr>
</table>
<!--
Sala otwiera sie dopiero przed startem. Bez tego zdania uczestnik
klikajacy tydzien wczesniej widzi odliczanie i nie wie, czy to
tak ma byc, czy cos jest zepsute.
-->
<p th:if="${joinUrl}"
style="margin:0 0 28px; font-size:14px; line-height:1.6; color:#64748b;">
Spotkanie otworzy się na krótko przed rozpoczęciem. Jeśli otworzysz
link wcześniej, zobaczysz odliczanie do startu.
</p>
<!-- przycisk w tabeli, bo Outlook ignoruje marginesy na znaczniku a -->
<table role="presentation" cellpadding="0" cellspacing="0" border="0" style="margin:0 0 28px;">
<tr>
<td style="background-color:#1d4ed8; border-radius:8px;">
<td style="background-color:#ffffff; border:1px solid #cbd5e1; border-radius:8px;">
<a th:href="${webinarUrl}"
style="display:inline-block; padding:14px 28px; font-size:16px; font-weight:600; color:#ffffff; text-decoration:none;">
style="display:inline-block; padding:13px 27px; font-size:16px; font-weight:600; color:#1d4ed8; text-decoration:none;">
Otwórz stronę webinaru
</a>
</td>