44 lines
1.8 KiB
Plaintext
44 lines
1.8 KiB
Plaintext
<%#
|
|
Public landing page (todo §10): the ungated "/", what an anonymous visitor sees. A brief intro to
|
|
the product and prominent paths to sign in / register — or to the app dashboard when already signed
|
|
in. Standalone (no app shell — the sidebar/menu belong to the signed-in app). A plugin may replace
|
|
this via its `home` handler. Auto theme follows the OS (styles.css). Data: brand, user (or null).
|
|
%><%
|
|
const brand = locals.brand || "Plainpages";
|
|
%><!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title><%= brand %></title>
|
|
<link rel="stylesheet" href="/public/css/styles.css" />
|
|
<link rel="stylesheet" href="/public/css/auth.css" />
|
|
<link rel="icon" href="/public/favicon.svg" />
|
|
</head>
|
|
<body>
|
|
<%- include("partials/icons") %>
|
|
<main class="auth-stage">
|
|
<div class="landing">
|
|
<div class="auth-brand">
|
|
<span class="brand-mark"><svg class="ico ico-sm"><use href="#i-box" /></svg></span>
|
|
<span class="brand-name"><%= brand %></span>
|
|
</div>
|
|
<h1 class="landing-title">Operational web apps, without the boilerplate.</h1>
|
|
<p class="landing-lead">
|
|
<%= brand %> is a self-hostable foundation for admin and operational UIs — sign-in,
|
|
a config-driven menu, and a server-rendered, zero-JS design system. You add the
|
|
domain-specific screens by dropping in plugin folders.
|
|
</p>
|
|
<div class="landing-actions">
|
|
<% if (locals.user) { %>
|
|
<a class="btn btn-primary" href="/dashboard">Go to your dashboard</a>
|
|
<% } else { %>
|
|
<a class="btn btn-primary" href="/login">Log in</a>
|
|
<a class="btn" href="/registration">Create account</a>
|
|
<% } %>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
</body>
|
|
</html>
|