* WIP: release footprint in the admin UI * feat: show the commit ID and the date * chore: change env optional to empty string * fix: change the FOREM_BUILD_DATE to RELEASE_FOOTPRINT * feat: add Not Available as a last option * test: last deployed time and latest commit id * feat: update the way we change the env variable! * fix: we need to set the RELEASE FOOTPRINT so that this clause is not hit - `return path if release_footprint.blank?` * feat: add a Forem Instance Model * chore: rename variable * feat: use the new model that we created * feat: Update the Forem Instance model to remove Not available from the model method and add it to the view layer * test: Forem Instance model to return the correct values when present * feat: use Forem.deployed_at instead of the Application config directly * chore: remove the initializer * feat: rename the data keys to reflect what it does * fix: oops evaluate the var * refactor: static values that can never change during the lifetime of the app should be constants * chore: setup the test to have a release footprint before the test gets executed * chore: remove the methods * revert to method + cache * revert to using method * reset the instance variable
90 lines
5 KiB
Text
90 lines
5 KiB
Text
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<% title = yield(:title) %>
|
|
<title><%= title || community_name.to_s %></title>
|
|
<% unless internal_navigation? %>
|
|
<meta name="last-updated" content="<%= Time.current %>">
|
|
<meta name="user-signed-in" content="<%= user_signed_in? %>">
|
|
<meta name="head-cached-at" content="<%= Time.current.to_i %>">
|
|
<% if SiteConfig.payment_pointer.present? %>
|
|
<!-- Experimental web monetization payment pointer for micropayments -->
|
|
<!-- It lets readers make micropayments to websites they visit. -->
|
|
<!-- This is step 1: Get live in production to test for platform-wide payment pointer. -->
|
|
<!-- Step 2: Allow authors to set their payment pointer so they can directly monetize their content based on visitors. -->
|
|
<!-- Step 3: Enable further functionality based on what we learn from this experimentation and how the ecosystem evolves. -->
|
|
<meta name="monetization" content="<%= SiteConfig.payment_pointer %>">
|
|
<% end %>
|
|
<meta name="environment" content="<%= Rails.env %>">
|
|
<%= render "layouts/styles" %>
|
|
<style>
|
|
.home {
|
|
position: relative;
|
|
margin: auto;
|
|
max-width: 1250px;
|
|
}
|
|
</style>
|
|
<% unless user_signed_in? %>
|
|
<%= javascript_packs_with_chunks_tag "base", "Search", defer: true %>
|
|
<% end %>
|
|
<%= javascript_include_tag "base", defer: true %>
|
|
<% if user_signed_in? %>
|
|
<%= javascript_packs_with_chunks_tag "base", "Search", "onboardingRedirectCheck", "contentDisplayPolicy", defer: true %>
|
|
<% end %>
|
|
<%= yield(:page_meta) %>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
|
|
<%= favicon_link_tag Images::Optimizer.call(SiteConfig.favicon_url, width: 32) %>
|
|
<link rel="apple-touch-icon" href="<%= optimized_image_url(SiteConfig.logo_png, width: 180, fetch_format: "png") %>">
|
|
<link rel="apple-touch-icon" sizes="152x152" href="<%= optimized_image_url(SiteConfig.logo_png, width: 152, fetch_format: "png") %>">
|
|
<link rel="apple-touch-icon" sizes="180x180" href="<%= optimized_image_url(SiteConfig.logo_png, width: 180, fetch_format: "png") %>">
|
|
<link rel="apple-touch-icon" sizes="167x167" href="<%= optimized_image_url(SiteConfig.logo_png, width: 167, fetch_format: "png") %>">
|
|
<link href="<%= optimized_image_url(SiteConfig.logo_png, width: 192, fetch_format: "png") %>" rel="icon" sizes="192x192" />
|
|
<link href="<%= optimized_image_url(SiteConfig.logo_png, width: 128, fetch_format: "png") %>" rel="icon" sizes="128x128" />
|
|
<meta name="apple-mobile-web-app-title" content="<%= SiteConfig.app_domain %>">
|
|
<meta name="application-name" content="<%= SiteConfig.app_domain %>">
|
|
<meta name="theme-color" content="#000000" />
|
|
<link rel="manifest" href="/manifest.json" />
|
|
<link rel="search" href="<%= URL.url("open-search.xml") %>" type="application/opensearchdescription+xml" title="<%= community_name %>" />
|
|
|
|
<meta property="forem:name" content="<%= community_name %>" />
|
|
<meta property="forem:logo" content="<%= optimized_image_url(SiteConfig.logo_png, width: 512, fetch_format: "png") %>" />
|
|
<meta property="forem:domain" content="<%= SiteConfig.app_domain %>" />
|
|
<% end %>
|
|
</head>
|
|
<% unless internal_navigation? %>
|
|
<% cache(release_adjusted_cache_key("top-html-and-config--#{user_signed_in?}")) do %>
|
|
<body
|
|
data-user-status="<%= user_logged_in_status %>"
|
|
class="<%= SiteConfig.default_font.tr("_", "-") %>-article-body default-header"
|
|
data-pusher-key="<%= ApplicationConfig["PUSHER_KEY"] %>"
|
|
data-app-domain="<%= ChatChannel.urlsafe_encoded_app_domain %>"
|
|
data-honeybadger-key="<%= ApplicationConfig["HONEYBADGER_JS_API_KEY"] %>"
|
|
data-deployed-at="<%= ForemInstance.deployed_at %>"
|
|
data-latest-commit-id="<%= ForemInstance.latest_commit_id %>"
|
|
data-ga-tracking="<%= SiteConfig.ga_tracking_id %>">
|
|
<div id="body-styles">
|
|
<style>
|
|
:root {
|
|
--accent-brand: <%= SiteConfig.primary_brand_color_hex %>;
|
|
--accent-brand-darker: <%= Color::CompareHex.new([SiteConfig.primary_brand_color_hex]).brightness(0.85) %>;
|
|
--accent-brand-lighter: <%= Color::CompareHex.new([SiteConfig.primary_brand_color_hex]).brightness(1.1) %>;
|
|
--accent-brand-a10: <%= Color::CompareHex.new([SiteConfig.primary_brand_color_hex]).opacity(0.1) %>;
|
|
}
|
|
</style>
|
|
</div>
|
|
<% if user_signed_in? %>
|
|
<%= render "layouts/user_config" %>
|
|
<% end %>
|
|
<div id="audiocontent" data-podcast="">
|
|
<%= yield(:audio) %>
|
|
</div>
|
|
<%= render "layouts/top_bar" %>
|
|
<div id="active-broadcast" class="broadcast-wrapper"></div>
|
|
<div id="message-notice"></div>
|
|
<div class="app-shell-loader">
|
|
loading...
|
|
</div>
|
|
<% end %>
|
|
<!-- End Top Shell -->
|
|
<% end %>
|