diff options
Diffstat (limited to 'templates/account.html.ep')
-rw-r--r-- | templates/account.html.ep | 237 |
1 files changed, 206 insertions, 31 deletions
diff --git a/templates/account.html.ep b/templates/account.html.ep index 627be85..7f689c2 100644 --- a/templates/account.html.ep +++ b/templates/account.html.ep @@ -1,4 +1,4 @@ -% if (my $invalid = stash('invalid')) { +% if (my $invalid = flash('invalid')) { %= include '_invalid_input', invalid => $invalid % } @@ -7,37 +7,53 @@ <div class="col s12"> <div class="card success-color"> <div class="card-content white-text"> - % if ($success eq 'mail') { + % if ($success eq 'name') { + <span class="card-title">Name geändert</span> + % } + % elsif ($success eq 'mail') { <span class="card-title">Mail-Adresse geändert</span> % } % elsif ($success eq 'password') { <span class="card-title">Passwort geändert</span> % } % elsif ($success eq 'privacy') { - <span class="card-title">Einstellungen zu öffentliche Account-Daten geändert</span> + <span class="card-title">Einstellungen zu öffentlichen Account-Daten geändert</span> + % } + % elsif ($success eq 'social') { + <span class="card-title">Einstellungen zur Interaktionen mit anderen Accounts geändert</span> + % } + % elsif ($success eq 'traewelling') { + <span class="card-title">Träwelling-Verknüpfung aktualisiert</span> % } % elsif ($success eq 'use_history') { <span class="card-title">Einstellungen zu vorgeschlagenen Verbindungen geändert</span> % } + % elsif ($success eq 'external') { + <span class="card-title">Einstellungen zu externen Diensten geändert</span> + % } % elsif ($success eq 'webhook') { <span class="card-title">Web Hook aktualisiert</span> % } + % elsif ($success eq 'clear_notifications') { + <span class="card-title">Benachrichtigungen gelesen</span> + % } </div> </div> </div> </div> % } -<h1>Account</h1> % my $acc = current_user(); -% my $hook = get_webhook(); -% my $use_history = account_use_history($acc->{id}); +% my $hook = users->get_webhook(uid => $acc->{id}); +% my $traewelling = traewelling->get(uid => $acc->{id}); +% my $use_history = users->use_history(uid => $acc->{id}); <div class="row"> <div class="col s12"> + <h2>Account</h2> <table class="striped"> <tr> <th scope="row">Name</th> - <td><%= $acc->{name} %></td> + <td><a href="/account/name"><i class="material-icons">edit</i></a><%= $acc->{name} %></td> </tr> <tr> <th scope="row">Mail</th> @@ -60,14 +76,31 @@ </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> + <i class="material-icons">check</i><i class="material-icons"><%= visibility_icon($acc->{default_visibility_str}) %></i> + • <i class="material-icons">history</i><i class="material-icons"><%= visibility_icon($acc->{past_visibility_str}) %></i> + </td> + </tr> + <tr> + <th scope="row">Interaktion</th> + <td> + <a href="/account/social"><i class="material-icons">edit</i></a> + % if ($acc->{accept_follows}) { + <span>Accounts können dir direkt folgen</span> % } - % if ($acc->{is_public} & 0x02) { - Aktueller Status + % elsif ($acc->{accept_follow_requests}) { + <span>Accounts können dir auf Anfrage folgen + % if ($num_rx_follow_requests == 1) { + – <a href="/account/social/follow-requests-received"><strong>eine</strong> offene Anfrage</a> + % } elsif ($num_rx_follow_requests) { + – <a href="/account/social/follow-requests-received"><strong><%= $num_rx_follow_requests %></strong> offene Anfragen</a> + % } + </span> + % } + % else { + <span style="color: #999999;">Accounts können dir nicht folgen</span> % } </td> </tr> @@ -82,13 +115,54 @@ Aktiv, noch nicht ausgeführt % } % elsif ($hook->{errored}) { - Aktiv, fehlerhaft <i class="material-icons">error</i> + Aktiv, fehlerhaft <i class="material-icons" aria-hidden="true">error</i> % } % else { Aktiv % } </td> </tr> + % if (config->{traewelling}{oauth}) { + <tr> + <th scope="row">Träwelling</th> + <td> + <a href="/account/traewelling"><i class="material-icons">edit</i></a> + % if (not ($traewelling->{token})) { + <span style="color: #999999;">Nicht verknüpft</span> + % } + % elsif ($traewelling->{errored}) { + Fehlerhaft <i class="material-icons" aria-hidden="true">error</i> + % } + % else { + Verknüpft mit <%= $traewelling->{data}{user_name} // $traewelling->{email} %> + % if ($traewelling->{expired}) { + – Login-Token abgelaufen <i class="material-icons" aria-hidden="true">error</i> + % } + % elsif ($traewelling->{expiring}) { + – Login-Token läuft bald ab <i class="material-icons" aria-hidden="true">warning</i> + % } + % elsif ($traewelling->{pull_sync}) { + – Checkins in Träwelling werden von travelynx übernommen + % } + % elsif ($traewelling->{push_sync}) { + – Checkins in travelynx werden zu Träwelling weitergereicht + % } + % } + </td> + </tr> + % } + <tr> + <th scope="row">Externe Dienste</th> + <td> + <a href="/account/services"><i class="material-icons">edit</i></a> + % if ($acc->{sb_name}) { + Abfahrtstafel: <%= $acc->{sb_name} %> + % } + % else { + <span style="color: #999999;">Keine</span> + % } + </td> + </tr> <tr> <th scope="row">Registriert am</th> <td><%= $acc->{registered_at}->strftime('%d.%m.%Y %H:%M') %></td> @@ -107,15 +181,101 @@ </div> </div> -<h2>API</h2> -% my $token = get_api_token(); +% if ($num_rx_follow_requests or $num_tx_follow_requests or $num_followers or $num_following or $num_blocked) { + <div class="row"> + <div class="col s12"> + <h2>Interaktion</h2> + <p> + <a href="/p/<%= $acc->{name} %>">Öffentliches Profil</a> + </p> + <table class="striped"> + <tr> + <th scope="row">Anfragen</th> + <td> + % if ($num_rx_follow_requests == 0) { + <span style="color: #999999;">keine eingehend</span> + % } + % elsif ($num_rx_follow_requests == 1) { + <a href="/account/social/follow-requests-received"><strong>eine</strong> eingehend</a> + % } + % else { + <a href="/account/social/follow-requests-received"><strong><%= $num_rx_follow_requests %></strong> eingehend</a> + % } + <br/> + % if ($num_tx_follow_requests == 0) { + <span style="color: #999999;">keine ausgehend</span> + % } + % elsif ($num_tx_follow_requests == 1) { + <a href="/account/social/follow-requests-sent"><strong>eine</strong> ausgehend</a> + % } + % else { + <a href="/account/social/follow-requests-sent"><strong><%= $num_tx_follow_requests %></strong> ausgehend</a> + % } + </td> + </tr> + <tr> + <th scope="row">Dir folg<%= $num_followers == 1 ? 't' : 'en' %></th> + <td> + % if ($num_followers == 0) { + <span style="color: #999999;">keine Accounts</span> + % } + % elsif ($num_followers == 1) { + <a href="/account/social/followers"><strong>ein</strong> Account</a> + % } + % else { + <a href="/account/social/followers"><strong><%= $num_followers %></strong> Accounts</a> + % } + </td> + </tr> + <tr> + <th scope="row">Du folgst</th> + <td> + % if ($num_following == 0) { + <span style="color: #999999;">keinen Accounts</span> + % } + % elsif ($num_following == 1) { + <a href="/account/social/follows"><strong>einem</strong> Account</a> + % } + % else { + <a href="/account/social/follows"><strong><%= $num_following %></strong> Accounts</a> + % } + </td> + </tr> + <tr> + <th scope="row">Blockiert</th> + <td> + % if ($num_blocked == 0) { + <span style="color: #999999;">keine Accounts</span> + % } + % elsif ($num_blocked == 1) { + <a href="/account/social/blocks"><strong>ein</strong> Account</a> + % } + % else { + <a href="/account/social/blocks"><strong><%= $num_blocked %></strong> Accounts</a> + % } + </td> + </tr> + </table> + </div> + </div> +% } +% else { + <div class="row"> + <div class="col s12"> + <a href="/p/<%= $acc->{name} %>">Öffentliches Profil</a> + </div> + </div> +% } + +% my $token = stash('api_token') // {}; <div class="row"> <div class="col s12"> + <h2>API</h2> <p> Die folgenden API-Token erlauben den passwortlosen automatisierten Zugriff auf API-Endpunkte. Bitte umsichtig behandeln – sobald ein Token gesetzt ist, können damit ohne Logindaten alle zugehörigen API-Aktionen - ausgeführt werden. + ausgeführt werden. <a href="/api">Dokumentation</a>. </p> <table class="striped"> <tr> @@ -163,12 +323,35 @@ </button> %= end </td> - </tr> + </tr>--> <tr> <th scope="row">Travel</th> <td> - % if ($token->{action}) { - %= $acc->{id} . '-' . $token->{action} + % if ($token->{travel}) { + %= $acc->{id} . '-' . $token->{travel} + % } + % else { + — + % } + </td> + <td> + %= form_for 'set_token' => begin + %= csrf_field + %= hidden_field 'token' => 'travel' + <button class="btn waves-effect waves-light" type="submit" name="action" value="generate"> + Generieren + </button> + <button class="btn waves-effect waves-light red" type="submit" name="action" value="delete"> + Löschen + </button> + %= end + </td> + </tr> + <tr> + <th scope="row">Import</th> + <td> + % if ($token->{import}) { + %= $acc->{id} . '-' . $token->{import} % } % else { — @@ -177,7 +360,7 @@ <td> %= form_for 'set_token' => begin %= csrf_field - %= hidden_field 'token' => 'action' + %= hidden_field 'token' => 'import' <button class="btn waves-effect waves-light" type="submit" name="action" value="generate"> Generieren </button> @@ -186,22 +369,14 @@ </button> %= end </td> - </tr> --> + </tr> </table> </div> </div> <div class="row"> <div class="col s12"> - <a href="/api">Dokumentation</a> - </div> -</div> - - -<h2>Export</h2> - -<div class="row"> - <div class="col s12"> + <h2>Export</h2> <ul> <li><a href="/export.json">Rohdaten</a> (Kein API-Ersatz, das Format kann sich jederzeit ändern)</li> </ul> @@ -209,9 +384,9 @@ </div> % if (not $acc->{deletion_requested}) { - <h2>Löschen</h2> <div class="row"> <div class="col s12"> + <h2>Löschen</h2> <p> Der Löschauftrag wird vorgemerkt und erst nach drei Tagen umgesetzt, bis dahin kann er jederzeit zurückgenommen werden. Nach |