aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yaml2
-rw-r--r--README.md5
-rw-r--r--clients/www/LICENSE (renamed from LICENSE)0
-rw-r--r--clients/www/package.json4
-rw-r--r--clients/www/src/lib/components/ReloadPrompt.svelte32
-rw-r--r--clients/www/src/lib/offlineToast.ts33
-rw-r--r--clients/www/src/routes/+layout.svelte9
-rw-r--r--clients/www/src/routes/+page.svelte4
-rw-r--r--clients/www/svelte.config.js2
-rw-r--r--package.json3
-rw-r--r--packages/zorascript/package.json2
-rw-r--r--packages/zorascript/src/enums.ts6
12 files changed, 56 insertions, 46 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 9db02d6..4ea736b 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -36,7 +36,7 @@ jobs:
- name: Install dependencies
run: pnpm -r install
- name: Build the site
- run: pnpm -F website build
+ run: pnpm -F zorascript-web build
- name: Upload Artifacts
uses: actions/upload-pages-artifact@v2
with:
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..5553d6b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,5 @@
+# Zelda - Oracle Password Client for JavaScript/TypeScript
+
+This repository is currently composed of two projects: \
+1. [zorascript](./packages/zorascript) - A JavaScript/TypeScript library for generating and validating passwords.
+2. [zorascript-web](./clients/www) - A SvelteKit-based web client for generating and validating passwords. \ No newline at end of file
diff --git a/LICENSE b/clients/www/LICENSE
index f328a5d..f328a5d 100644
--- a/LICENSE
+++ b/clients/www/LICENSE
diff --git a/clients/www/package.json b/clients/www/package.json
index ec7075a..7a84ae8 100644
--- a/clients/www/package.json
+++ b/clients/www/package.json
@@ -1,6 +1,6 @@
{
- "name": "website",
- "description": "The actual website",
+ "name": "zorascript-web",
+ "description": "A Svelte interface for ZoraScript",
"version": "0.0.1",
"private": true,
"license": "MIT",
diff --git a/clients/www/src/lib/components/ReloadPrompt.svelte b/clients/www/src/lib/components/ReloadPrompt.svelte
new file mode 100644
index 0000000..e6effbb
--- /dev/null
+++ b/clients/www/src/lib/components/ReloadPrompt.svelte
@@ -0,0 +1,32 @@
+<script lang="ts">
+ import { getToastStore } from '@skeletonlabs/skeleton'
+ import { useRegisterSW } from 'virtual:pwa-register/svelte'
+
+ const toastStore = getToastStore()
+
+ const { updateServiceWorker } = useRegisterSW({
+ onRegisteredSW(r) {
+ console.log('SW Registered: ', r)
+ },
+ onNeedRefresh() {
+ toastStore.trigger({
+ message: 'A new version of the application is available.',
+ autohide: false,
+ action: {
+ label: 'Refresh',
+ response: updateServiceWorker,
+ },
+ })
+ },
+ onOfflineReady() {
+ toastStore.trigger({
+ background: 'variant-filled-success',
+ message: 'Now ready for offline use!',
+ timeout: 5000,
+ })
+ },
+ onRegisterError(err) {
+ console.error('SW Registration Error: ', err)
+ },
+ })
+</script>
diff --git a/clients/www/src/lib/offlineToast.ts b/clients/www/src/lib/offlineToast.ts
deleted file mode 100644
index 3ae943e..0000000
--- a/clients/www/src/lib/offlineToast.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { getToastStore, type ToastSettings } from '@skeletonlabs/skeleton';
-
-const toastStore = getToastStore();
-
-const offline: ToastSettings = {
- message: 'You are currently offline.',
- background: 'variant-filled-error',
- autohide: false
-};
-
-const online: ToastSettings = {
- message: 'You are back online.',
- background: 'variant-filled-success',
- autohide: true,
- timeout: 3000
-};
-
-/**
- * Make a toast for if the PWA is ever brought offline for whatever reason.
- */
-export default function offlineToast() {
- window.addEventListener('offline', () => {
- toastStore.clear();
- toastStore.trigger(offline);
- });
-
- window.addEventListener('online', () => {
- toastStore.clear();
- setTimeout(() => {
- toastStore.trigger(online);
- }, 300);
- });
-}
diff --git a/clients/www/src/routes/+layout.svelte b/clients/www/src/routes/+layout.svelte
index 15780c3..12996ec 100644
--- a/clients/www/src/routes/+layout.svelte
+++ b/clients/www/src/routes/+layout.svelte
@@ -1,4 +1,5 @@
<script lang="ts">
+ import { base } from '$app/paths';
import '../app.postcss';
import { AppShell, AppBar, LightSwitch, initializeStores } from '@skeletonlabs/skeleton';
@@ -22,12 +23,16 @@
<svelte:fragment slot="lead">
<LightSwitch />
</svelte:fragment>
- <a href="#">Zelda: Oracle Password Generator</a>
+ <a href="{base}/">Zelda: Oracle Password Generator</a>
<svelte:fragment slot="trail">
- <a href="#">TODO: SOURCE CODE</a>
+ <a href="https://github.com/RosstheRoss/zorascript">TODO: SOURCE CODE</a>
</svelte:fragment>
</AppBar>
</svelte:fragment>
<!-- Page Route Content -->
<slot />
</AppShell>
+
+{#await import('$lib/components/ReloadPrompt.svelte') then { default: ReloadPrompt }}
+ <ReloadPrompt />
+{/await}
diff --git a/clients/www/src/routes/+page.svelte b/clients/www/src/routes/+page.svelte
index 2ea190a..84d1c45 100644
--- a/clients/www/src/routes/+page.svelte
+++ b/clients/www/src/routes/+page.svelte
@@ -1 +1,3 @@
-TODO: Draw the rest of the owl \ No newline at end of file
+<svelte:head>
+ <title>Zelda: Oracle of [Ages,Seasons] Passphrase Generator</title>
+</svelte:head> \ No newline at end of file
diff --git a/clients/www/svelte.config.js b/clients/www/svelte.config.js
index 79982cf..df04fc1 100644
--- a/clients/www/svelte.config.js
+++ b/clients/www/svelte.config.js
@@ -11,7 +11,7 @@ const config = {
kit: {
adapter: adapter(),
paths: {
- base: process.env.NODE_ENV === "production" ? "/oracle-client" : "",
+ base: process.env.NODE_ENV === "production" ? "/zorascript" : "",
}
}
};
diff --git a/package.json b/package.json
index 0c9ecfe..01b9011 100644
--- a/package.json
+++ b/package.json
@@ -4,8 +4,7 @@
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
- "author": "",
- "license": "ISC",
+ "author": "Matt Strapp <matt@mattstrapp.net>",
"private": true,
"devDependencies": {
"eslint": "^8.56.0",
diff --git a/packages/zorascript/package.json b/packages/zorascript/package.json
index ad5ce4a..ce749e9 100644
--- a/packages/zorascript/package.json
+++ b/packages/zorascript/package.json
@@ -8,7 +8,7 @@
},
"keywords": [],
"author": "Matt Strapp <matt@mattstrapp.net>",
- "license": "MIT",
+ "license": "LGPL-3.0-only",
"devDependencies": {
}
diff --git a/packages/zorascript/src/enums.ts b/packages/zorascript/src/enums.ts
index 5d70b62..221292d 100644
--- a/packages/zorascript/src/enums.ts
+++ b/packages/zorascript/src/enums.ts
@@ -5,7 +5,7 @@
*
* In most cases NA and EU are the same, but there are some small differences mainly involving name encoding.
*/
-const enum GameRegion {
+const enum Region {
Japan = "JP",
NorthAmerica = "NA",
Europe = "EU"
@@ -19,7 +19,7 @@ const enum Game {
Seasons = 1
}
-const enum Animal {
+const enum AnimalFriend {
Ricky = 0x0b,
Dimitri = 0x0c,
Moosh = 0x0d
@@ -28,4 +28,4 @@ const enum Animal {
const enum ChildQuestion {
NoEgg = 0,
YesChicken = 0x2,
-} \ No newline at end of file
+}