web: move out of public for bundling
This commit is contained in:
parent
00349f1b85
commit
5b55487d0b
19 changed files with 328 additions and 1 deletions
57
Web/css/styles.src.css
Normal file
57
Web/css/styles.src.css
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
@import "./franken-core.css";
|
||||||
|
/* @import "./franken-utilities.css"; */
|
||||||
|
@import "tailwindcss";
|
||||||
|
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Geist';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100 900;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(https://fonts.gstatic.com/s/geist/v1/gyByhwUxId8gMEwSGFWNPoTcZY7pVQ.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Geist';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100 900;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(https://fonts.gstatic.com/s/geist/v1/gyByhwUxId8gMEwcGFWNPoTcZY4.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Geist Mono';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100 900;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(https://fonts.gstatic.com/s/geistmono/v1/or3nQ6H-1_WfwkMZI_qYFrkdmhHijks9bNn0.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Geist Mono';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100 900;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(https://fonts.gstatic.com/s/geistmono/v1/or3nQ6H-1_WfwkMZI_qYFrcdmhHijks9bA.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@theme {
|
||||||
|
--font-sans: "Geist", sans-serif;
|
||||||
|
--font-mono: "'Geist Mono'", monospace;
|
||||||
|
}
|
||||||
|
:root {
|
||||||
|
font-family: Geist, sans-serif;
|
||||||
|
font-feature-settings: "liga" 1, "calt" 1; /* fix for Chrome */
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.uk-subnav > * > :first-child {
|
||||||
|
padding-left: 0.5rem !important;
|
||||||
|
padding-right: 0.5rem !important;
|
||||||
|
}
|
||||||
|
}
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
224
Web/index.html
Normal file
224
Web/index.html
Normal file
|
@ -0,0 +1,224 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>Echoes Behind Closed Doors</title>
|
||||||
|
|
||||||
|
<!-- favicons -->
|
||||||
|
<link
|
||||||
|
rel="apple-touch-icon"
|
||||||
|
sizes="180x180"
|
||||||
|
href="/png/apple-touch-icon.png"
|
||||||
|
/>
|
||||||
|
<link rel="icon" type="image/x-icon" href="/ico/favicon.ico" />
|
||||||
|
<link
|
||||||
|
rel="icon"
|
||||||
|
type="image/png"
|
||||||
|
sizes="32x32"
|
||||||
|
href="/png/favicon-32x32.png"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="icon"
|
||||||
|
type="image/png"
|
||||||
|
sizes="16x16"
|
||||||
|
href="/png/favicon-16x16.png"
|
||||||
|
/>
|
||||||
|
<link rel="manifest" href="/site.webmanifest" />
|
||||||
|
|
||||||
|
<!-- TODO: social share -->
|
||||||
|
|
||||||
|
<!-- franken-ui -->
|
||||||
|
<link rel="stylesheet" href="/css/styles.css" />
|
||||||
|
<script
|
||||||
|
type="module"
|
||||||
|
src="/js/franken-ui.js"
|
||||||
|
>
|
||||||
|
</head>
|
||||||
|
<body class="bg-background text-foreground">
|
||||||
|
<main>
|
||||||
|
<section
|
||||||
|
id="landing-hero"
|
||||||
|
class="uk-inline h-[90vh] h-[90svh] overflow-hidden"
|
||||||
|
>
|
||||||
|
<!-- hero image -->
|
||||||
|
<img
|
||||||
|
class="!h-[90vh] !h-[90svh] w-screen object-cover"
|
||||||
|
src="https://files.catbox.moe/o25s1k.JPG"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
<!-- <video
|
||||||
|
class="!h-[90vh] !h-[90svh] w-screen object-cover"
|
||||||
|
src="http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"
|
||||||
|
loop
|
||||||
|
muted
|
||||||
|
playsinline
|
||||||
|
></video> -->
|
||||||
|
|
||||||
|
<!-- navbar -->
|
||||||
|
<header
|
||||||
|
class="uk-position-top !uk-position-z-index p-4 flex justify-between !bg-[hsl(var(--muted))]/75 !backdrop-blur-md text-muted-foreground"
|
||||||
|
data-uk-sticky="position:top"
|
||||||
|
>
|
||||||
|
<div class="flex flex-row gap-2">
|
||||||
|
<img src="/png/logo-icon.png" alt="wirm logo" class="!h-[2.5rem]" />
|
||||||
|
<img
|
||||||
|
src="/png/logo-wordmark-blue.png"
|
||||||
|
alt="wirm wordmark"
|
||||||
|
class="!h-[2.5rem]"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<nav class="flex">
|
||||||
|
<ul class="uk-subnav uk-subnav-primary">
|
||||||
|
<li class="uk-active"><a href="/">About</a></li>
|
||||||
|
<li>
|
||||||
|
<a href>
|
||||||
|
<span class="mr-2">Account</span>
|
||||||
|
<uk-icon icon="chevron-down"></uk-icon>
|
||||||
|
</a>
|
||||||
|
<div data-uk-dropdown="mode: click">
|
||||||
|
<ul class="uk-dropdown-nav uk-nav">
|
||||||
|
<li id="nav-auth-logIn">
|
||||||
|
<a href="/login">Log In</a>
|
||||||
|
</li>
|
||||||
|
<li id="nav-auth-signUp">
|
||||||
|
<a href="/signup">Sign Up</a>
|
||||||
|
</li>
|
||||||
|
<li id="nav-auth-logOut">
|
||||||
|
<a href="/profile?logOut=true">Log Out</a>
|
||||||
|
</li>
|
||||||
|
<li id="nav-auth-profile">
|
||||||
|
<a href="/profile">Profile</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li><a href="/booth">Manage Booth</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<!-- hero left text: game name -->
|
||||||
|
<div
|
||||||
|
class="uk-position-bottom-left uk-position-md md:uk-position-lg md:w-[30vw] text-[hsl(var(--background))] dark:text-[hsl(var(--foreground))]"
|
||||||
|
>
|
||||||
|
<h1 class="uk-h1 !text-6xl">Echoes Behind Closed Doors</h1>
|
||||||
|
<p class="uk-text-lead mt-4">Potential Subtitle (TODO)</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- hero right text: registration qr code -->
|
||||||
|
<figure
|
||||||
|
class="uk-position-bottom-right uk-position-md md:uk-position-lg max-md:hidden w-[25vw] w-[25svw] h-[31vw] h-[31svw] rounded-2xl bg-[hsl(var(--foreground))]/70 text-[hsl(var(--background))] dark:bg-[hsl(var(--background))]/60 dark:text-[hsl(var(--foreground))] !backdrop-blur-lg flex flex-col justify-center items-center text-center p-4"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
id="hero-svg"
|
||||||
|
class="uk-placeholder min-w-fit h-auto aspect-square !rounded-md overflow-hidden"
|
||||||
|
>
|
||||||
|
<div class="uk-position-center" data-uk-spinner></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<figcaption class="uk-paragraph fit-content">
|
||||||
|
<span class="font-bold text-xl">Scan to Register</span>
|
||||||
|
<br />
|
||||||
|
or, scroll down for more info
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="uk-container my-20">
|
||||||
|
<h2 class="uk-h2">Title</h2>
|
||||||
|
|
||||||
|
<p class="uk-text-lead mt-4">Subtitle</p>
|
||||||
|
|
||||||
|
<p class="uk-paragraph">
|
||||||
|
Blowy red vixens fight for
|
||||||
|
<a class="uk-link" href="#">a quick jump.</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<blockquote class="uk-blockquote">
|
||||||
|
"Sphinx of black quartz, judge my vow!"
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p class="uk-paragraph">
|
||||||
|
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ipsam qui,
|
||||||
|
eligendi similique aspernatur est reiciendis iusto sunt laudantium
|
||||||
|
repudiandae quos blanditiis. Asperiores aspernatur, minus quae
|
||||||
|
inventore laborum voluptas fugit rem.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="uk-paragraph">
|
||||||
|
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ipsam qui,
|
||||||
|
eligendi similique aspernatur est reiciendis iusto sunt laudantium
|
||||||
|
repudiandae quos blanditiis. Asperiores aspernatur, minus quae
|
||||||
|
inventore laborum voluptas fugit rem.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="uk-paragraph">
|
||||||
|
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ipsam qui,
|
||||||
|
eligendi similique aspernatur est reiciendis iusto sunt laudantium
|
||||||
|
repudiandae quos blanditiis. Asperiores aspernatur, minus quae
|
||||||
|
inventore laborum voluptas fugit rem.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="uk-paragraph">
|
||||||
|
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ipsam qui,
|
||||||
|
eligendi similique aspernatur est reiciendis iusto sunt laudantium
|
||||||
|
repudiandae quos blanditiis. Asperiores aspernatur, minus quae
|
||||||
|
inventore laborum voluptas fugit rem.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="uk-paragraph">
|
||||||
|
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ipsam qui,
|
||||||
|
eligendi similique aspernatur est reiciendis iusto sunt laudantium
|
||||||
|
repudiandae quos blanditiis. Asperiores aspernatur, minus quae
|
||||||
|
inventore laborum voluptas fugit rem.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="uk-paragraph">
|
||||||
|
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ipsam qui,
|
||||||
|
eligendi similique aspernatur est reiciendis iusto sunt laudantium
|
||||||
|
repudiandae quos blanditiis. Asperiores aspernatur, minus quae
|
||||||
|
inventore laborum voluptas fugit rem.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="uk-paragraph">
|
||||||
|
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ipsam qui,
|
||||||
|
eligendi similique aspernatur est reiciendis iusto sunt laudantium
|
||||||
|
repudiandae quos blanditiis. Asperiores aspernatur, minus quae
|
||||||
|
inventore laborum voluptas fugit rem.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="uk-paragraph">
|
||||||
|
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ipsam qui,
|
||||||
|
eligendi similique aspernatur est reiciendis iusto sunt laudantium
|
||||||
|
repudiandae quos blanditiis. Asperiores aspernatur, minus quae
|
||||||
|
inventore laborum voluptas fugit rem.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="uk-paragraph">
|
||||||
|
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ipsam qui,
|
||||||
|
eligendi similique aspernatur est reiciendis iusto sunt laudantium
|
||||||
|
repudiandae quos blanditiis. Asperiores aspernatur, minus quae
|
||||||
|
inventore laborum voluptas fugit rem.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="uk-paragraph">
|
||||||
|
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ipsam qui,
|
||||||
|
eligendi similique aspernatur est reiciendis iusto sunt laudantium
|
||||||
|
repudiandae quos blanditiis. Asperiores aspernatur, minus quae
|
||||||
|
inventore laborum voluptas fugit rem.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="uk-paragraph">
|
||||||
|
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ipsam qui,
|
||||||
|
eligendi similique aspernatur est reiciendis iusto sunt laudantium
|
||||||
|
repudiandae quos blanditiis. Asperiores aspernatur, minus quae
|
||||||
|
inventore laborum voluptas fugit rem.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<script type="application/javascript" src="/js/landing-qrcode.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
17
Web/js/firebase.js
Normal file
17
Web/js/firebase.js
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
import { initializeApp } from "firebase/app";
|
||||||
|
import { getDatabase } from "firebase/database";
|
||||||
|
import { getAuth } from "firebase/auth";
|
||||||
|
|
||||||
|
const firebaseConfig = {
|
||||||
|
apiKey: "AIzaSyARm-eSymd2Q3AyxJXiAiiUzsXGmc6T72I",
|
||||||
|
authDomain: "echoesbehindcloseddoors.firebaseapp.com",
|
||||||
|
databaseURL: "https://echoesbehindcloseddoors-default-rtdb.asia-southeast1.firebasedatabase.app",
|
||||||
|
projectId: "echoesbehindcloseddoors",
|
||||||
|
storageBucket: "echoesbehindcloseddoors.firebasestorage.app",
|
||||||
|
messagingSenderId: "905742343227",
|
||||||
|
appId: "1:905742343227:web:19d04f77371ef1952c901e"
|
||||||
|
};
|
||||||
|
|
||||||
|
export const app = initializeApp(firebaseConfig);
|
||||||
|
export const auth = getAuth(app);
|
||||||
|
export const database = getDatabase(app);
|
23
Web/js/franken-ui.js
Normal file
23
Web/js/franken-ui.js
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
import "franken-ui/js/core.iife";
|
||||||
|
import "franken-ui/js/icon.iife";
|
||||||
|
|
||||||
|
const htmlElement = document.documentElement;
|
||||||
|
|
||||||
|
const __FRANKEN__ = JSON.parse(
|
||||||
|
localStorage.getItem("__FRANKEN__") || "{}"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (
|
||||||
|
__FRANKEN__.mode === "dark" ||
|
||||||
|
(!__FRANKEN__.mode &&
|
||||||
|
window.matchMedia("(prefers-color-scheme: dark)").matches)
|
||||||
|
) {
|
||||||
|
htmlElement.classList.add("dark");
|
||||||
|
} else {
|
||||||
|
htmlElement.classList.remove("dark");
|
||||||
|
}
|
||||||
|
|
||||||
|
htmlElement.classList.add(__FRANKEN__.theme || "uk-theme-blue");
|
||||||
|
htmlElement.classList.add(__FRANKEN__.radii || "uk-radii-md");
|
||||||
|
htmlElement.classList.add(__FRANKEN__.shadows || "uk-shadows-sm");
|
||||||
|
htmlElement.classList.add(__FRANKEN__.font || "uk-font-sm");
|
|
@ -21,6 +21,8 @@
|
||||||
* Software.
|
* Software.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import { qrcodegen } from "./nayuki-qrcodegen-v1.8.0.js";
|
||||||
|
|
||||||
function toSvgString(qr, border, lightColor, darkColor) {
|
function toSvgString(qr, border, lightColor, darkColor) {
|
||||||
if (border < 0) throw new RangeError("Border must be non-negative");
|
if (border < 0) throw new RangeError("Border must be non-negative");
|
||||||
let parts = [];
|
let parts = [];
|
||||||
|
@ -48,3 +50,7 @@ function generateQrCode(text) {
|
||||||
"#000000" // dark
|
"#000000" // dark
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const svg = generateQrCode(window.location.origin + "/signup.html");
|
||||||
|
document.getElementById("hero-svg").innerHTML = svg;
|
||||||
|
document.getElementById("hero-svg").classList.remove("uk-placeholder");
|
|
@ -21,7 +21,7 @@
|
||||||
* Software.
|
* Software.
|
||||||
*/
|
*/
|
||||||
"use strict";
|
"use strict";
|
||||||
var qrcodegen;
|
export var qrcodegen;
|
||||||
(function (qrcodegen) {
|
(function (qrcodegen) {
|
||||||
/*---- QR Code symbol class ----*/
|
/*---- QR Code symbol class ----*/
|
||||||
/*
|
/*
|
Loading…
Add table
Reference in a new issue