diff options
Diffstat (limited to 'templates')
-rw-r--r-- | templates/_checked_in.html.ep | 23 | ||||
-rw-r--r-- | templates/_public_status_card.html.ep | 23 | ||||
-rw-r--r-- | templates/account.html.ep | 30 | ||||
-rw-r--r-- | templates/journey.html.ep | 10 | ||||
-rw-r--r-- | templates/landingpage.html.ep | 2 | ||||
-rw-r--r-- | templates/privacy.html.ep | 88 | ||||
-rw-r--r-- | templates/profile.html.ep | 12 | ||||
-rw-r--r-- | templates/user_status.html.ep | 2 |
8 files changed, 105 insertions, 85 deletions
diff --git a/templates/_checked_in.html.ep b/templates/_checked_in.html.ep index f4acc9f..1775986 100644 --- a/templates/_checked_in.html.ep +++ b/templates/_checked_in.html.ep @@ -244,13 +244,16 @@ </div> <div class="card-action"> % if ($journey->{arr_name}) { - <a style="margin-right: 0;" href="/journey/comment"> - <i class="material-icons left" aria-hidden="true">comment</i> Kommentar + <a href="/journey/comment"> + <i class="material-icons">comment</i> + </a> + <a style="margin-right: 0;" href="/journey/visibility"> + <i class="material-icons"><%= visibility_icon($journey_visibility) %></i> </a> % } % else { <a class="action-undo blue-text" data-id="in_transit" data-checkints="<%= $journey->{timestamp}->epoch %>" style="margin-right: 0;"> - <i class="material-icons left" aria-hidden="true">undo</i> Checkin Rückgängig + <i class="material-icons left" aria-hidden="true">undo</i> Rückgängig </a> % } % if (defined $journey->{arrival_countdown} and $journey->{arrival_countdown} <= 0) { @@ -259,7 +262,7 @@ style="margin-right: 0;" data-station="<%= $journey->{arr_name}%>"> <i class="material-icons left">done</i> - Jetzt auschecken + Auschecken </a> % } % elsif ($journey->{arr_name}) { @@ -270,7 +273,7 @@ <a class="action-share blue-text right" style="margin-right: 0;" % my $arr_text = q{}; - % if ($journey->{real_arrival}->epoch and not $user->{is_public} & 0x02) { + % if ($journey->{real_arrival}->epoch and $journey_visibility eq 'private') { % $arr_text = $journey->{real_arrival}->strftime(' – Ankunft gegen %H:%M Uhr'); % } % if ($user->{is_public} & 0x04 and $journey->{comment}) { @@ -279,13 +282,21 @@ % else { data-text="Ich bin gerade <%= $attrib %> <%= $journey->{train_type} %> <%= $journey->{train_no} %> nach <%= $journey->{arr_name} . $arr_text %> #travelynx" % } - % if ($user->{is_public} & 0x02) { + % if ($journey_visibility eq 'public') { data-url="<%= url_for('/status')->to_abs->scheme('https') %>/<%= $user->{name} %>/<%= $journey->{sched_departure}->epoch %>" % } + % elsif ($journey_visibility eq 'travelynx' or $journey_visibility eq 'unlisted') { + data-url="<%= url_for('/status')->to_abs->scheme('https') %>/<%= $user->{name} %>/<%= $journey->{sched_departure}->epoch %>?token=<%= $journey->{dep_eva} %>-<%= $journey->{timestamp}->epoch %>" + % } > <i class="material-icons left" aria-hidden="true">share</i> Teilen </a> % } + % else { + <a class="right" href="/journey/visibility"> + <i class="material-icons left"><%= visibility_icon($journey_visibility) %></i> Sichtbarkeit + </a> + % } </div> </div> % if ($journey->{arr_name}) { diff --git a/templates/_public_status_card.html.ep b/templates/_public_status_card.html.ep index 43b9926..cb0fb0d 100644 --- a/templates/_public_status_card.html.ep +++ b/templates/_public_status_card.html.ep @@ -3,7 +3,11 @@ <div class="card"> <div class="card-content"> <i class="material-icons small right sync-failed-marker grey-text" style="display: none;">sync_problem</i> - <span class="card-title"><%= $name %> ist unterwegs</span> + <span class="card-title"><%= $name %> ist unterwegs + % if ($journey_visibility) { + <i class="material-icons right"><%= visibility_icon($journey_visibility) %></i> + % } + </span> % if ($public_level & 0x04 and $journey->{comment}) { <p>„<%= $journey->{comment} %>“</p> % } @@ -16,6 +20,9 @@ % } <div class="center-align countdown" data-duration="<%= $journey->{journey_duration} // 0 %>" + % if (param('token')) { + data-token="<%= $journey->{dep_eva} %>-<%= $journey->{timestamp}->epoch %>-<%= $journey->{sched_departure}->epoch %>" + % } data-arrival="<%= $journey->{real_arrival}->epoch %>"> % if ($journey->{departure_countdown} > 120) { Abfahrt in <%= sprintf('%.f', $journey->{departure_countdown} / 60) %> Minuten @@ -166,20 +173,6 @@ <i class="material-icons small right sync-failed-marker grey-text" style="display: none;">sync_problem</i> <span class="card-title"><%= $name %> ist gerade nicht eingecheckt</span> <p> - % if ($journey->{arr_name}) { - Zuletzt gesehen - % if ($journey->{real_arrival}->epoch and ($public_level & 0x20 or ($public_level & 0x10 and is_user_authenticated()))) { - %= $journey->{real_arrival}->strftime('am %d.%m.%Y') - in <b><%= $journey->{arr_name} %></b> - %= $journey->{real_arrival}->strftime('(Ankunft um %H:%M Uhr)') - % } - % else { - in <b><%= $journey->{arr_name} %></b> - % } - % } - % else { - Noch keine Zugfahrten geloggt. - % } </p> </div> </div> diff --git a/templates/account.html.ep b/templates/account.html.ep index 9c5d88e..e5dba60 100644 --- a/templates/account.html.ep +++ b/templates/account.html.ep @@ -70,36 +70,10 @@ </td> </tr> <tr> - <th scope="row">Öffentliche Daten</th> + <th scope="row">Sichtbarkeit</th> <td> <a href="/account/privacy"><i class="material-icons">edit</i></a> - % if ($acc->{is_public} == 0) { - <span style="color: #999999;">Keine</span> - % } - % if ($acc->{is_public} & 0x01) { - Aktueller Status (nur mit Anmeldung) - % } - % elsif ($acc->{is_public} & 0x02) { - Aktueller Status - % } - % if ($acc->{is_public} & 0x0f and $acc->{is_public} & 0xf0) { - <br/> - % } - % if ($acc->{is_public} & 0x30) { - % if ($acc->{is_public} & 0x40) { - Vergangene Fahrten - % } - % else { - Fahrten der letzten vier Wochen - % } - % if ($acc->{is_public} & 0x10) { - (nur mit Anmeldung) - % } - % } - % if ($acc->{is_public} & 0x04) { - <br/> - Kommentare - % } + <span><i class="material-icons"><%= visibility_icon($acc->{default_visibility_str}) %></i></span> </td> </tr> <tr> diff --git a/templates/journey.html.ep b/templates/journey.html.ep index 50dcb3e..74c032b 100644 --- a/templates/journey.html.ep +++ b/templates/journey.html.ep @@ -38,6 +38,16 @@ % } am <b><%= $journey->{sched_departure}->strftime('%d.%m.%Y') %></b> + % if ($journey_visibility) { + % if (stash('username')) { + <i class="material-icons right"><%= visibility_icon($journey_visibility) %></i> + % } + % else { + <a class="right" href="/journey/visibility?id=<%= $journey->{id} %>"> + <i class="material-icons"><%= visibility_icon($journey_visibility) %></i> + </a> + % } + % } </p> % if ($journey->{edited}) { <p> diff --git a/templates/landingpage.html.ep b/templates/landingpage.html.ep index a4bf10c..205e35c 100644 --- a/templates/landingpage.html.ep +++ b/templates/landingpage.html.ep @@ -15,7 +15,7 @@ <div class="row"> <div class="col s12 statuscol"> % if ($status->{checked_in}) { - %= include '_checked_in', journey => $status; + %= include '_checked_in', journey => $status, journey_visibility => stash('journey_visibility'); % } % elsif ($status->{cancelled}) { <div class="card info-color"> diff --git a/templates/privacy.html.ep b/templates/privacy.html.ep index b5f3bb3..efeb6e1 100644 --- a/templates/privacy.html.ep +++ b/templates/privacy.html.ep @@ -1,10 +1,11 @@ <h1>Öffentliche Daten</h1> <div class="row"> <div class="col s12"> - Hier kannst du auswählen, welche Aspekte deines Accounts bzw. deiner - Bahnfahrten öffentlich einsehbar sind. Öffentliche Daten sind - grundsätzlich für <i>alle</i> einsehbar, die die (leicht erratbare) URL - kennen. + Hier kannst du auswählen, welche Personengruppen deine Fahrten bei + travelynx einsehen können und ob dies auch für vergangene Fahrten + gelten soll. Nach dem Einchecken in einen Zug hast du im + Checkin-Fenster die Möglichkeit, für die aktuelle Fahrt eine + abweichende Sichtbarkeit einzustellen. </div> </div> %= form_for '/account/privacy' => (method => 'POST') => begin @@ -13,33 +14,62 @@ <div class="row"> <div class="input-field col s12"> <div> - <label> - %= radio_button status_level => 'private' - <span>Nicht sichtbar</span> - </label> - </div><div> - <label> - %= radio_button status_level => 'intern' - <span>Nur mit Anmeldung</span> - </label> - </div><div> - <label> - %= radio_button status_level => 'extern' - <span>Öffentlich</span> - </label> + <label> + %= radio_button status_level => 'public' + <span><i class="material-icons left"><%= visibility_icon('public') %></i>Öffentlich: Im Profil verlinkt und beliebig zugänglich.</span> + </label> + </div> + </div> + </div> + <div class="row"> + <div class="input-field col s12"> + <div> + <label> + %= radio_button status_level => 'travelynx' + <span><i class="material-icons left"><%= visibility_icon('travelynx') %></i>Lokal: Nur für<!-- Personen, die dir folgen oder auf dieser Seite angemeldet sind --> auf dieser Seite angemeldete Acounts sowie nicht angemeldete Personen, denen du mithilfe der Teilen-Funktion einen Link schickst.</span> + </label> + </div> + </div> + </div> + <!-- + <div class="row"> + <div class="input-field col s12"> + <div> + <label> + %= radio_button status_level => 'fedi' + <span><i class="material-icons left"><%= visibility_icon('fedi') %></i>Fedi: nur für Personen, die deinem Account folgen.</span> + </label> + </div> + </div> + </div> + --> + <div class="row"> + <div class="input-field col s12"> + <div> + <label> + %= radio_button status_level => 'unlisted' + <span><i class="material-icons left"><%= visibility_icon('unlisted') %></i>Verlinkbar: Nur für Personen zugänglich, denen du mithilfe der Teilen-Funktion einen Link schickst.</span> + </label> + </div> + </div> + </div> + <div class="row"> + <div class="input-field col s12"> + <div> + <label> + %= radio_button status_level => 'private' + <span><i class="material-icons left"><%= visibility_icon('private') %></i>Privat: nur für dich sichtbar.</span> + </label> </div> </div> </div> <div class="row"> <div class="col s12"> - Hier kannst du auswählen, ob dein aktueller Status unter <a - href="/status/<%= $name %>">/status/<%= $name %></a> sowie <a - href="/p/<%= $name %>">/p/<%= $name %></a> abrufbar ist. - Wenn du eingecheckt bist, werden dort Zug, Start- und Zielstation - sowie Abfahrts- und Ankunftszeit gezeigt, andernfalls lediglich der - Zielbahnhof der letzten Reise. Wann die letzte Reise beendet wurde, - wird nur angegeben, wenn deine vergangenen Zugfahrten sichtbar sind - (siehe unten). + Wenn du (mit passender Sichtbarkeit) eingecheckt bist, werden unter + <a href="/status/<%= $name %>">/status/<%= $name %></a> sowie <a + href="/p/<%= $name %>">/p/<%= $name %></a> Zug, Start- und + Zielstation sowie Abfahrts- und Ankunftszeit gezeigt. Andernfalls + wird angegeben, dass du gerade nicht eingecheckt seist. </div> </div> <h2>Vergangene Zugfahrten</h2> @@ -85,7 +115,10 @@ dort nicht eingetragene Fahrten sind jedoch weiterhin über /p/<%= $name %>/j/ID zugänglich. Da die ID (mit Lücken) aufsteigend vergeben wird, sind effektiv alle deiner vergangenen Fahrten (oder alle Fahrten - der letzten vier Wochen) öffentlich. + der letzten vier Wochen) öffentlich. Auch hier besteht die + Möglichkeit, für einzelne Fahrten eine abweichende Sichtbarkeit + einzustellen. Sofern die Sichtbarkeit auf die letzten vier Wochen + beschränkt ist, hat dies jedoch Vorrang. </div> </div> <h2>Sonstiges</h2> @@ -101,6 +134,7 @@ <div class="col s12"> Wenn aktiv, sind von dir eingetragene Freitext-Kommentare in deinem aktuellen Status sowie bei deinen vergangenen Zugfahrten sichtbar. + Diese Einstellung kann nicht pro Fahrt verändert werden. </div> </div> <div class="row"> diff --git a/templates/profile.html.ep b/templates/profile.html.ep index 6a8d67d..63bc3ff 100644 --- a/templates/profile.html.ep +++ b/templates/profile.html.ep @@ -10,14 +10,12 @@ </div> </div> % } -% if ($public_level & 0x02 or ($public_level & 0x01 and is_user_authenticated())) { - <div class="row"> - <div class="col s12 publicstatuscol" data-user="<%= $name %>"> - %= include '_public_status_card', name => $name, public_level => $public_level, journey => $journey - </div> +<div class="row"> + <div class="col s12 publicstatuscol" data-user="<%= $name %>"> + %= include '_public_status_card', name => $name, public_level => $public_level, journey => $journey, journey_visibility => $journey_visibility </div> -% } -% if ($public_level & 0x20 or ($public_level & 0x10 and is_user_authenticated())) { +</div> +% if ($journeys and @{$journeys}) { <div class="row"> <div class="col s12"> <h2>Letzte Fahrten von <%= $name %></h1> diff --git a/templates/user_status.html.ep b/templates/user_status.html.ep index 78ef547..783f430 100644 --- a/templates/user_status.html.ep +++ b/templates/user_status.html.ep @@ -1,5 +1,5 @@ <div class="row"> <div class="col s12 publicstatuscol" data-user="<%= $name %>"> - %= include '_public_status_card', name => $name, public_level => $public_level, journey => $journey + %= include '_public_status_card', name => $name, public_level => $public_level, journey => $journey, journey_visibility => $journey_visibility </div> </div> |