diff --git a/Web/public/auth.ref.html b/Web/auth.ref.html
similarity index 100%
rename from Web/public/auth.ref.html
rename to Web/auth.ref.html
diff --git a/Web/public/css/franken-core.css b/Web/css/franken-core.css
similarity index 100%
rename from Web/public/css/franken-core.css
rename to Web/css/franken-core.css
diff --git a/Web/public/css/franken-utilities.css b/Web/css/franken-utilities.css
similarity index 100%
rename from Web/public/css/franken-utilities.css
rename to Web/css/franken-utilities.css
diff --git a/Web/css/styles.src.css b/Web/css/styles.src.css
new file mode 100644
index 0000000..7320e0a
--- /dev/null
+++ b/Web/css/styles.src.css
@@ -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;
+ }
+}
diff --git a/Web/public/ico/favicon.ico b/Web/ico/favicon.ico
similarity index 100%
rename from Web/public/ico/favicon.ico
rename to Web/ico/favicon.ico
diff --git a/Web/index.html b/Web/index.html
new file mode 100644
index 0000000..487fd5c
--- /dev/null
+++ b/Web/index.html
@@ -0,0 +1,224 @@
+
+
+
+
+
+ Echoes Behind Closed Doors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Web/js/firebase.js b/Web/js/firebase.js
new file mode 100644
index 0000000..e19c9be
--- /dev/null
+++ b/Web/js/firebase.js
@@ -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);
\ No newline at end of file
diff --git a/Web/js/franken-ui.js b/Web/js/franken-ui.js
new file mode 100644
index 0000000..4d31041
--- /dev/null
+++ b/Web/js/franken-ui.js
@@ -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");
diff --git a/Web/public/js/qrcode.js b/Web/js/landing-qrcode.js
similarity index 89%
rename from Web/public/js/qrcode.js
rename to Web/js/landing-qrcode.js
index 860f3b8..019c2e9 100644
--- a/Web/public/js/qrcode.js
+++ b/Web/js/landing-qrcode.js
@@ -21,6 +21,8 @@
* Software.
*/
+import { qrcodegen } from "./nayuki-qrcodegen-v1.8.0.js";
+
function toSvgString(qr, border, lightColor, darkColor) {
if (border < 0) throw new RangeError("Border must be non-negative");
let parts = [];
@@ -48,3 +50,7 @@ function generateQrCode(text) {
"#000000" // dark
);
}
+
+const svg = generateQrCode(window.location.origin + "/signup.html");
+document.getElementById("hero-svg").innerHTML = svg;
+document.getElementById("hero-svg").classList.remove("uk-placeholder");
diff --git a/Web/public/js/nayuki-qrcodegen-v1.8.0.js b/Web/js/nayuki-qrcodegen-v1.8.0.js
similarity index 99%
rename from Web/public/js/nayuki-qrcodegen-v1.8.0.js
rename to Web/js/nayuki-qrcodegen-v1.8.0.js
index 070eaa0..51f485b 100644
--- a/Web/public/js/nayuki-qrcodegen-v1.8.0.js
+++ b/Web/js/nayuki-qrcodegen-v1.8.0.js
@@ -21,7 +21,7 @@
* Software.
*/
"use strict";
-var qrcodegen;
+export var qrcodegen;
(function (qrcodegen) {
/*---- QR Code symbol class ----*/
/*
diff --git a/Web/public/png/android-chrome-192x192.png b/Web/png/android-chrome-192x192.png
similarity index 100%
rename from Web/public/png/android-chrome-192x192.png
rename to Web/png/android-chrome-192x192.png
diff --git a/Web/public/png/android-chrome-512x512.png b/Web/png/android-chrome-512x512.png
similarity index 100%
rename from Web/public/png/android-chrome-512x512.png
rename to Web/png/android-chrome-512x512.png
diff --git a/Web/public/png/apple-touch-icon.png b/Web/png/apple-touch-icon.png
similarity index 100%
rename from Web/public/png/apple-touch-icon.png
rename to Web/png/apple-touch-icon.png
diff --git a/Web/public/png/favicon-16x16.png b/Web/png/favicon-16x16.png
similarity index 100%
rename from Web/public/png/favicon-16x16.png
rename to Web/png/favicon-16x16.png
diff --git a/Web/public/png/favicon-32x32.png b/Web/png/favicon-32x32.png
similarity index 100%
rename from Web/public/png/favicon-32x32.png
rename to Web/png/favicon-32x32.png
diff --git a/Web/public/png/logo-icon.png b/Web/png/logo-icon.png
similarity index 100%
rename from Web/public/png/logo-icon.png
rename to Web/png/logo-icon.png
diff --git a/Web/public/png/logo-wordmark-blue.png b/Web/png/logo-wordmark-blue.png
similarity index 100%
rename from Web/public/png/logo-wordmark-blue.png
rename to Web/png/logo-wordmark-blue.png
diff --git a/Web/public/png/logo-wordmark.png b/Web/png/logo-wordmark.png
similarity index 100%
rename from Web/public/png/logo-wordmark.png
rename to Web/png/logo-wordmark.png
diff --git a/Web/public/site.webmanifest b/Web/site.webmanifest
similarity index 100%
rename from Web/public/site.webmanifest
rename to Web/site.webmanifest