Aggiunge i18n IT/EN/FR/DE/ES, pagine pubbliche squadre e UX archivio.
Il selettore lingua funziona sul web e sulle app native; su Android la preferenza è persistita e applicata al riavvio. Incluse anche eliminazione replay a scope e campi pagina pubblica squadra. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -50,13 +50,18 @@ module Public
|
||||
end
|
||||
end
|
||||
|
||||
def live_match_card_heading(match)
|
||||
def live_match_card_heading(match, link_team: true)
|
||||
team = match.team
|
||||
club_name = team.club&.name.presence || "Società"
|
||||
team_label = if link_team && team.slug.present?
|
||||
link_to(team.name, public_team_page_path(team.slug), class: "live-card__team-link")
|
||||
else
|
||||
team.name
|
||||
end
|
||||
content_tag(:h3, class: "live-card__title") do
|
||||
safe_join([
|
||||
content_tag(:span, club_name, class: "live-card__club"),
|
||||
content_tag(:span, "#{team.name} vs #{match.opponent_name}", class: "live-card__matchup")
|
||||
content_tag(:span, safe_join([team_label, " vs ", match.opponent_name]), class: "live-card__matchup")
|
||||
])
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
module Public
|
||||
module TeamPagesHelper
|
||||
def team_page_meta_description(team, club)
|
||||
"Segui #{team.name} (#{club.name}): dirette live, calendario partite e replay su Match Live TV."
|
||||
end
|
||||
|
||||
def filter_params_for_canonical
|
||||
params.permit(:q, :sport, :live, :replays).to_h.compact_blank
|
||||
end
|
||||
|
||||
def team_page_structured_data(team, club)
|
||||
{
|
||||
"@context" => "https://schema.org",
|
||||
"@type" => "SportsTeam",
|
||||
"name" => team.name,
|
||||
"sport" => team.sport_label,
|
||||
"url" => seo_absolute_url(public_team_page_path(team.slug)),
|
||||
"memberOf" => {
|
||||
"@type" => "SportsOrganization",
|
||||
"name" => club.name
|
||||
}
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user