add twitter preview tags to public user status page
This commit is contained in:
parent
22eee81c1c
commit
146b3a2682
2 changed files with 33 additions and 1 deletions
|
@ -33,10 +33,39 @@ sub user_status {
|
||||||
|
|
||||||
if ( $user and ( $user->{public_level} & 0x02 ) ) {
|
if ( $user and ( $user->{public_level} & 0x02 ) ) {
|
||||||
my $status = $self->get_user_status( $user->{id} );
|
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(
|
$self->render(
|
||||||
'user_status',
|
'user_status',
|
||||||
name => $name,
|
name => $name,
|
||||||
journey => $status
|
journey => $status,
|
||||||
|
twitter => \%tw_data,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -7,6 +7,9 @@
|
||||||
<meta name="description" content="Checkin-Service und Verspätungslog für Bahnfahrten">
|
<meta name="description" content="Checkin-Service und Verspätungslog für Bahnfahrten">
|
||||||
<meta name="theme-color" content="#673ab7">
|
<meta name="theme-color" content="#673ab7">
|
||||||
<meta name="apple-mobile-web-app-title" content="Travelynx">
|
<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
|
% 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-16x16.png" sizes="16x16">
|
||||||
<link rel="icon" type="image/png" href="/static/<%= $av %>/icons/icon-32x32.png" sizes="32x32">
|
<link rel="icon" type="image/png" href="/static/<%= $av %>/icons/icon-32x32.png" sizes="32x32">
|
||||||
|
|
Loading…
Reference in a new issue