mirror of
https://github.com/basecamp/once-campfire.git
synced 2026-03-18 12:13:37 +09:00
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.
71 lines
2.6 KiB
Plaintext
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>
|