chiya/lib/chiya_web/components/layouts/root_public.html.heex

127 lines
3.8 KiB
Text
Raw Normal View History

<!DOCTYPE html>
<html lang="en" style="scrollbar-gutter: stable;" data-theme={@settings.theme}>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="csrf-token" content={get_csrf_token()} />
2023-03-23 08:24:13 +01:00
<.live_title suffix={" · #{@settings.title}"}>
<%= assigns[:page_title] || "Home" %>
</.live_title>
2023-03-31 16:58:10 +02:00
2023-03-23 08:24:13 +01:00
<.favicon />
2023-05-28 22:35:36 +02:00
<link rel="authorization_endpoint" href={@auth_endpoint} />
<link rel="token_endpoint" href={@token_endpoint} />
<link rel="micropub" href={~p"/indie/micropub"} />
<%= for identity <- @identities do %>
<link rel="me" href={identity.url} />
<% end %>
<link rel="preconnect" href="https://rsms.me/" />
<link rel="stylesheet" href="https://rsms.me/inter/inter.css" />
<link phx-track-static rel="stylesheet" href={~p"/assets/app.css"} />
2023-03-31 17:33:42 +02:00
<script defer phx-track-static type="text/javascript" src={~p"/assets/public.js"}>
</script>
<script>
if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
2023-09-11 23:19:44 +02:00
console.log("Dark Mode")
document.documentElement.dataset["mode"] = "dark"
} else {
delete document.documentElement.dataset["mode"]
}
</script>
2023-03-31 16:58:10 +02:00
<style>
<%= @settings.custom_css %>
</style>
</head>
2023-09-05 21:59:37 +02:00
<body class="stack | h-feed hfeed">
<header id="site-header">
<nav class="container">
<ul>
<li>
2023-09-11 23:19:44 +02:00
<a href="/">Home</a>
2023-09-05 21:59:37 +02:00
</li>
<li class="flex-1"></li>
<%= if @current_user do %>
<li>
<a href="/admin">
Admin
</a>
</li>
<% end %>
2023-09-10 10:58:08 +02:00
<li>
<a href="#" id="dark-mode-toggle">
<span class="hidden dark:inline">🌙</span>
<span class="inline dark:hidden">☀️</span>
</a>
</li>
2023-09-05 21:59:37 +02:00
</ul>
</nav>
</header>
2023-04-07 16:19:56 +02:00
2023-09-05 21:59:37 +02:00
<main id="site-content" class="container print:hidden">
<aside id="primary-sidebar">
<nav class="prose max-w-none">
2023-09-11 07:29:39 +02:00
<div class="menu">
<h3>Pages</h3>
<ul>
<li>
2023-09-11 23:19:44 +02:00
<%= active_link(@conn, "About", to: "/about") %>
2023-09-11 07:29:39 +02:00
</li>
<li>
2023-09-11 23:19:44 +02:00
<%= active_link(@conn, "Wiki", to: "/wiki") %>
2023-09-11 07:29:39 +02:00
</li>
<li>
2023-09-11 23:19:44 +02:00
<%= active_link(@conn, "Bookmarks", to: "/bookmarks") %>
2023-09-11 07:29:39 +02:00
</li>
</ul>
</div>
2023-09-10 10:58:08 +02:00
<div class="menu">
<h3>Channels</h3>
<ul>
<%= for channel <- @channels do %>
<li>
2023-09-11 23:19:44 +02:00
<%= active_link(@conn, channel.name, to: ~p"/channel/#{channel.slug}") %>
2023-09-10 10:58:08 +02:00
</li>
<% end %>
</ul>
</div>
2023-09-05 21:59:37 +02:00
2023-09-10 10:58:08 +02:00
<div class="menu">
<h3>Elsewhere</h3>
<ul>
<%= for identity <- @public_identities do %>
<li><a href={identity.url}><%= identity.name %></a></li>
<% end %>
</ul>
</div>
2023-09-05 21:59:37 +02:00
</nav>
</aside>
2023-09-09 16:08:30 +02:00
2023-09-05 21:59:37 +02:00
<section id="content-wrapper">
<%= @inner_content %>
</section>
2023-04-07 16:19:56 +02:00
</main>
2023-09-10 10:58:08 +02:00
<footer id="site-footer" class="container">
2023-09-05 21:59:37 +02:00
<p class="container text-center">
2023-06-03 11:48:08 +02:00
Struggling to make a decent website since 2011
</p>
2023-04-07 16:19:56 +02:00
</footer>
2023-06-03 11:47:55 +02:00
2023-07-08 14:51:56 +02:00
<%= if @profile do %>
2023-07-09 20:01:03 +02:00
<section class="hidden | hcard h-card">
<a href="/" rel="me" class="u-url"><%= @profile.name %></a>
<img
class="u-photo"
src={ChiyaWeb.Uploaders.UserImage.url({@profile.user_image, @profile}, :thumb)}
/>
<span class="p-nickname"><%= @profile.handle %></span>
<span class="p-note"><%= @profile.bio %></span>
</section>
2023-07-08 14:51:56 +02:00
<% end %>
2023-04-10 12:08:19 +02:00
</body>
2023-03-31 16:58:10 +02:00
</html>