diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm
index 20a7e73ddebcdd81fa326f1254523f08559e5944..de79728a30f63d3a51e796ab8d4a7e2866c825a5 100755
--- a/lib/Travelynx/Controller/Traveling.pm
+++ b/lib/Travelynx/Controller/Traveling.pm
@@ -33,10 +33,39 @@ sub user_status {
if ( $user and ( $user->{public_level} & 0x02 ) ) {
my $status = $self->get_user_status( $user->{id} );
+
+ my %tw_data = (
+ card => 'summary',
+ site => '@derfnull',
+ image => $self->url_for('/static/icons/icon-512x512.png')
+ ->to_abs->scheme('https'),
+ );
+
+ if ( $status->{checked_in} ) {
+ $tw_data{title} = "${name} ist unterwegs";
+ $tw_data{description} = sprintf(
+ '%s %s von %s nach %s',
+ $status->{train_type},
+ $status->{train_line} // $status->{train_no},
+ $status->{dep_name},
+ $status->{arr_name} // 'irgendwo'
+ );
+ if ( $status->{real_arrival}->epoch ) {
+ $tw_data{description} .= $status->{real_arrival}
+ ->strftime(' – Ankunft gegen %H:%M Uhr');
+
+ }
+ }
+ else {
+ $tw_data{title} = "${name} ist gerade nicht eingecheckt";
+ $tw_data{description} = "Letztes Fahrtziel: $status->{arr_name}";
+ }
+
$self->render(
'user_status',
name => $name,
- journey => $status
+ journey => $status,
+ twitter => \%tw_data,
);
}
else {
diff --git a/templates/layouts/default.html.ep b/templates/layouts/default.html.ep
index eef610fe531418de81ef7bc1c67b57a266147fd8..44230603f9848ef01f691e3dfcbac7a75ab4fb2c 100644
--- a/templates/layouts/default.html.ep
+++ b/templates/layouts/default.html.ep
@@ -7,6 +7,9 @@
+ % while (my ($key, $value) = each %{stash('twitter') // {}}) {
+
+ % }
% my $av = 'v25'; # asset version