diff options
| -rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 31 | ||||
| -rw-r--r-- | templates/layouts/default.html.ep | 3 | 
2 files changed, 33 insertions, 1 deletions
| diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index 20a7e73..de79728 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 eef610f..4423060 100644 --- a/templates/layouts/default.html.ep +++ b/templates/layouts/default.html.ep @@ -7,6 +7,9 @@  	<meta name="description" content="Checkin-Service und Verspätungslog für Bahnfahrten">  	<meta name="theme-color" content="#673ab7">  	<meta name="apple-mobile-web-app-title" content="Travelynx"> +	% while (my ($key, $value) = each %{stash('twitter') // {}}) { +		<meta name="twitter:<%= $key %>" content="<%= $value %>"> +	% }  	% my $av = 'v25'; # asset version  	<link rel="icon" type="image/png" href="/static/<%= $av %>/icons/icon-16x16.png" sizes="16x16">  	<link rel="icon" type="image/png" href="/static/<%= $av %>/icons/icon-32x32.png" sizes="32x32"> | 
