Files
once-campfire/app/views/layouts/application.html.erb
Kevin McConnell 6f7f0973db Allow serving cable traffic under $SCRIPT_NAME
If deploying Campfire to a path other than the root (for example, using
Kamal's path-based routing) then the Action Cable endpoint needs to be
adjusted to include that path.

Prepending the script name to the cable path means it will be adjusted
to the path in the same way that the application routes are. When script
name is the default, the behaviour is unchanged.
2025-09-24 14:49:16 +01:00

71 lines
2.6 KiB
Plaintext

<!DOCTYPE html>
<html>
<head>
<%= page_title_tag %>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no, interactive-widget=resizes-content">
<meta name="view-transition" content="same-origin">
<meta name="color-scheme" content="light dark">
<meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#000000" media="(prefers-color-scheme: dark)">
<meta name="apple-mobile-web-app-capable" content="yes">
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= current_user_meta_tags %>
<%= script_aware_action_cable_meta_tag %>
<%= tag.meta name: "vapid-public-key", content: Rails.configuration.x.vapid.public_key %>
<%= tag.meta name: "turbo-prefetch", content: "true" %>
<%= tag.link rel: "manifest", href: webmanifest_path(format: :json) %>
<%= tag.link rel: "icon", href: fresh_account_logo_path, type: "image/png" %>
<%= tag.link rel: "apple-touch-icon", href: fresh_account_logo_path %>
<%= stylesheet_link_tag :all, "data-turbo-track": "reload" %>
<%= custom_styles_tag %>
<%= javascript_importmap_tags %>
<%= yield :head %>
</head>
<body class="<%= body_classes %>" data-controller="local-time lightbox">
<a href="#main-content" class="skip-navigation btn">Skip to main content</a>
<nav id="nav">
<%= yield :nav %>
</nav>
<% if notice = flash[:notice] || flash[:alert] %>
<div class="flash" data-controller="element-removal" data-action="animationend->element-removal#remove">
<div class="flash__inner shadow" style="<%= "--flash-background: var(--color-negative)" if flash[:alert] %>">
<% if flash[:alert] %>
<%= image_tag "alert.svg", aria: { hidden: true }, size: 24, class: "colorize--white" %></span>
<% else %>
<%= image_tag "check.svg", aria: { hidden: true }, size: 24, class: "colorize--white" %></span>
<% end %>
</div>
<span class="for-screen-reader" role="alert" aria-atomic="true"><%= notice %></span>
</div>
<% end %>
<main id="main-content">
<%= yield %>
<footer id="footer">
<%= yield :footer %>
</footer>
</main>
<aside id="sidebar" data-controller="toggle-class" data-toggle-class-toggle-class="open">
<%= yield :sidebar %>
</aside>
<%= render "layouts/lightbox" %>
<a href="https://once.com" id="app-logo" target="_blank" aria-label="Once software from 37signals home page">
<%= image_tag "campfire-icon.png", alt: "Campfire logo", width: 256, height: 216 %>
</a>
</body>
</html>