favicons
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 8.7 KiB |
@@ -1,21 +1,21 @@
|
|||||||
{
|
{
|
||||||
"name": "MyWebSite",
|
"name": "Gaze",
|
||||||
"short_name": "MySite",
|
"short_name": "Gaze",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "/web-app-manifest-192x192.png",
|
"src": "/gaze/favicon/web-app-manifest-192x192.png",
|
||||||
"sizes": "192x192",
|
"sizes": "192x192",
|
||||||
"type": "image/png",
|
"type": "image/png",
|
||||||
"purpose": "maskable"
|
"purpose": "any"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": "/web-app-manifest-512x512.png",
|
"src": "/gaze/favicon/web-app-manifest-512x512.png",
|
||||||
"sizes": "512x512",
|
"sizes": "512x512",
|
||||||
"type": "image/png",
|
"type": "image/png",
|
||||||
"purpose": "maskable"
|
"purpose": "any"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"theme_color": "#ffffff",
|
"theme_color": "#002cff",
|
||||||
"background_color": "#ffffff",
|
"background_color": "#002cff",
|
||||||
"display": "standalone"
|
"display": "standalone"
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 6.5 KiB |
@@ -1,21 +1,21 @@
|
|||||||
{
|
{
|
||||||
"name": "MyWebSite",
|
"name": "InputHalo",
|
||||||
"short_name": "MySite",
|
"short_name": "InputHalo",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "/web-app-manifest-192x192.png",
|
"src": "/inputhalo/favicon/web-app-manifest-192x192.png",
|
||||||
"sizes": "192x192",
|
"sizes": "192x192",
|
||||||
"type": "image/png",
|
"type": "image/png",
|
||||||
"purpose": "maskable"
|
"purpose": "any"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": "/web-app-manifest-512x512.png",
|
"src": "/inputhalo/favicon/web-app-manifest-512x512.png",
|
||||||
"sizes": "512x512",
|
"sizes": "512x512",
|
||||||
"type": "image/png",
|
"type": "image/png",
|
||||||
"purpose": "maskable"
|
"purpose": "any"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"theme_color": "#ffffff",
|
"theme_color": "#41a5ff",
|
||||||
"background_color": "#ffffff",
|
"background_color": "#41a5ff",
|
||||||
"display": "standalone"
|
"display": "standalone"
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@@ -1,21 +1,21 @@
|
|||||||
{
|
{
|
||||||
"name": "MyWebSite",
|
"name": "Life and Lineage",
|
||||||
"short_name": "MySite",
|
"short_name": "Lineage",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "/web-app-manifest-192x192.png",
|
"src": "/lineage/favicon/web-app-manifest-192x192.png",
|
||||||
"sizes": "192x192",
|
"sizes": "192x192",
|
||||||
"type": "image/png",
|
"type": "image/png",
|
||||||
"purpose": "maskable"
|
"purpose": "any"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": "/web-app-manifest-512x512.png",
|
"src": "/lineage/favicon/web-app-manifest-512x512.png",
|
||||||
"sizes": "512x512",
|
"sizes": "512x512",
|
||||||
"type": "image/png",
|
"type": "image/png",
|
||||||
"purpose": "maskable"
|
"purpose": "any"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"theme_color": "#ffffff",
|
"theme_color": "#a13536",
|
||||||
"background_color": "#ffffff",
|
"background_color": "#a13536",
|
||||||
"display": "standalone"
|
"display": "standalone"
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 845 B After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 1.9 KiB |
@@ -1,21 +1,21 @@
|
|||||||
{
|
{
|
||||||
"name": "MyWebSite",
|
"name": "Nessa",
|
||||||
"short_name": "MySite",
|
"short_name": "Nessa",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "/web-app-manifest-192x192.png",
|
"src": "/nessa/favicon/web-app-manifest-192x192.png",
|
||||||
"sizes": "192x192",
|
"sizes": "192x192",
|
||||||
"type": "image/png",
|
"type": "image/png",
|
||||||
"purpose": "maskable"
|
"purpose": "any"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": "/web-app-manifest-512x512.png",
|
"src": "/nessa/favicon/web-app-manifest-512x512.png",
|
||||||
"sizes": "512x512",
|
"sizes": "512x512",
|
||||||
"type": "image/png",
|
"type": "image/png",
|
||||||
"purpose": "maskable"
|
"purpose": "any"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"theme_color": "#ffffff",
|
"theme_color": "#527640",
|
||||||
"background_color": "#ffffff",
|
"background_color": "#527640",
|
||||||
"display": "standalone"
|
"display": "standalone"
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 8.3 KiB |
BIN
public/nook/favicon/apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
public/nook/favicon/favicon-96x96.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
public/nook/favicon/favicon.ico
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
21
public/nook/favicon/site.webmanifest
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"name": "The Nook",
|
||||||
|
"short_name": "The Nook",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "/nook/favicon/web-app-manifest-192x192.png",
|
||||||
|
"sizes": "192x192",
|
||||||
|
"type": "image/png",
|
||||||
|
"purpose": "any"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/nook/favicon/web-app-manifest-512x512.png",
|
||||||
|
"sizes": "512x512",
|
||||||
|
"type": "image/png",
|
||||||
|
"purpose": "any"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"theme_color": "#4C9FBC",
|
||||||
|
"background_color": "#4C9FBC",
|
||||||
|
"display": "standalone"
|
||||||
|
}
|
||||||
BIN
public/nook/favicon/web-app-manifest-192x192.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
public/nook/favicon/web-app-manifest-512x512.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
@@ -13,7 +13,7 @@ import InputHaloDownloadsPage from "./inputhalo/downloads";
|
|||||||
function MainDownloadsPage() {
|
function MainDownloadsPage() {
|
||||||
const [LaLText, setLaLText] = createSignal("Life and Lineage");
|
const [LaLText, setLaLText] = createSignal("Life and Lineage");
|
||||||
const [SwAText, setSwAText] = createSignal("Shapes with Abigail!");
|
const [SwAText, setSwAText] = createSignal("Shapes with Abigail!");
|
||||||
const [corkText, setCorkText] = createSignal("Cork");
|
//const [corkText, setCorkText] = createSignal("Cork");
|
||||||
const [gazeText, setGazeText] = createSignal("Gaze");
|
const [gazeText, setGazeText] = createSignal("Gaze");
|
||||||
const [nookText, setNookText] = createSignal("The Nook");
|
const [nookText, setNookText] = createSignal("The Nook");
|
||||||
const [inputHaloText, setInputHaloText] = createSignal("InputHalo");
|
const [inputHaloText, setInputHaloText] = createSignal("InputHalo");
|
||||||
@@ -54,7 +54,7 @@ function MainDownloadsPage() {
|
|||||||
onMount(() => {
|
onMount(() => {
|
||||||
const lalInterval = glitchText(LaLText(), setLaLText);
|
const lalInterval = glitchText(LaLText(), setLaLText);
|
||||||
const swaInterval = glitchText(SwAText(), setSwAText);
|
const swaInterval = glitchText(SwAText(), setSwAText);
|
||||||
const corkInterval = glitchText(corkText(), setCorkText);
|
//const corkInterval = glitchText(corkText(), setCorkText);
|
||||||
const gazeInterval = glitchText(gazeText(), setGazeText);
|
const gazeInterval = glitchText(gazeText(), setGazeText);
|
||||||
const nookInterval = glitchText(nookText(), setNookText);
|
const nookInterval = glitchText(nookText(), setNookText);
|
||||||
const inputHaloInterval = glitchText(inputHaloText(), setInputHaloText);
|
const inputHaloInterval = glitchText(inputHaloText(), setInputHaloText);
|
||||||
@@ -62,7 +62,7 @@ function MainDownloadsPage() {
|
|||||||
onCleanup(() => {
|
onCleanup(() => {
|
||||||
clearInterval(lalInterval);
|
clearInterval(lalInterval);
|
||||||
clearInterval(swaInterval);
|
clearInterval(swaInterval);
|
||||||
clearInterval(corkInterval);
|
//clearInterval(corkInterval);
|
||||||
clearInterval(gazeInterval);
|
clearInterval(gazeInterval);
|
||||||
clearInterval(nookInterval);
|
clearInterval(nookInterval);
|
||||||
clearInterval(inputHaloInterval);
|
clearInterval(inputHaloInterval);
|
||||||
@@ -92,7 +92,34 @@ function MainDownloadsPage() {
|
|||||||
<div class="text-center text-xl italic">
|
<div class="text-center text-xl italic">
|
||||||
Ordered by date of initial release
|
Ordered by date of initial release
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mx-auto max-w-5xl space-y-16">
|
<div class="mx-auto max-w-5xl space-y-16">
|
||||||
|
{/* The Nook */}
|
||||||
|
<div class="border-overlay0 rounded-lg border p-6 md:p-8">
|
||||||
|
<h2 class="text-text mb-6 font-mono text-2xl">
|
||||||
|
<span class="text-yellow">{">"}</span>{" "}
|
||||||
|
<A
|
||||||
|
href={buildSubdomainUrl("nook")}
|
||||||
|
class="text-text hover:text-yellow transition-colors"
|
||||||
|
>
|
||||||
|
{nookText()}
|
||||||
|
</A>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<div class="flex flex-col items-center gap-3">
|
||||||
|
<span class="text-subtext0 font-mono text-sm">
|
||||||
|
platform: macOS (14.6+)
|
||||||
|
</span>
|
||||||
|
<Button
|
||||||
|
variant="download"
|
||||||
|
size="lg"
|
||||||
|
loading={loadingState()["thenook"]}
|
||||||
|
onClick={() => download("thenook")}
|
||||||
|
>
|
||||||
|
download.dmg
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{/* InputHalo */}
|
{/* InputHalo */}
|
||||||
<div class="border-overlay0 rounded-lg border p-6 md:p-8">
|
<div class="border-overlay0 rounded-lg border p-6 md:p-8">
|
||||||
<h2 class="text-text mb-6 font-mono text-2xl">
|
<h2 class="text-text mb-6 font-mono text-2xl">
|
||||||
@@ -196,6 +223,30 @@ function MainDownloadsPage() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{/* Cork */}
|
||||||
|
{/* <div class="border-overlay0 rounded-lg border p-6 md:p-8">
|
||||||
|
<h2 class="text-text mb-6 font-mono text-2xl">
|
||||||
|
<span class="text-yellow">{">"}</span> {corkText()}
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<div class="flex flex-col items-center gap-3">
|
||||||
|
<span class="text-subtext0 font-mono text-sm">
|
||||||
|
platform: macOS (13.0+)
|
||||||
|
</span>
|
||||||
|
<Button
|
||||||
|
variant="download"
|
||||||
|
size="lg"
|
||||||
|
loading={loadingState()["cork"]}
|
||||||
|
onClick={() => download("cork")}
|
||||||
|
>
|
||||||
|
download.zip
|
||||||
|
</Button>
|
||||||
|
<span class="text-subtext1 text-xs">
|
||||||
|
# unzip → drag to /Applications
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div> */}
|
||||||
|
{/* Lineage */}
|
||||||
<div class="border-overlay0 rounded-lg border p-6 md:p-8">
|
<div class="border-overlay0 rounded-lg border p-6 md:p-8">
|
||||||
<h2 class="text-text mb-6 font-mono text-2xl">
|
<h2 class="text-text mb-6 font-mono text-2xl">
|
||||||
<span class="text-yellow">{">"}</span>{" "}
|
<span class="text-yellow">{">"}</span>{" "}
|
||||||
@@ -238,29 +289,6 @@ function MainDownloadsPage() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/* Cork */}
|
|
||||||
<div class="border-overlay0 rounded-lg border p-6 md:p-8">
|
|
||||||
<h2 class="text-text mb-6 font-mono text-2xl">
|
|
||||||
<span class="text-yellow">{">"}</span> {corkText()}
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
<div class="flex flex-col items-center gap-3">
|
|
||||||
<span class="text-subtext0 font-mono text-sm">
|
|
||||||
platform: macOS (13.0+)
|
|
||||||
</span>
|
|
||||||
<Button
|
|
||||||
variant="download"
|
|
||||||
size="lg"
|
|
||||||
loading={loadingState()["cork"]}
|
|
||||||
onClick={() => download("cork")}
|
|
||||||
>
|
|
||||||
download.zip
|
|
||||||
</Button>
|
|
||||||
<span class="text-subtext1 text-xs">
|
|
||||||
# unzip → drag to /Applications
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* Shapes with Abigail */}
|
{/* Shapes with Abigail */}
|
||||||
<div class="border-overlay0 rounded-lg border p-6 md:p-8">
|
<div class="border-overlay0 rounded-lg border p-6 md:p-8">
|
||||||
@@ -296,36 +324,6 @@ function MainDownloadsPage() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* The Nook */}
|
|
||||||
<div class="border-overlay0 rounded-lg border p-6 md:p-8">
|
|
||||||
<h2 class="text-text mb-6 font-mono text-2xl">
|
|
||||||
<span class="text-yellow">{">"}</span>{" "}
|
|
||||||
<A
|
|
||||||
href={buildSubdomainUrl("nook")}
|
|
||||||
class="text-text hover:text-yellow transition-colors"
|
|
||||||
>
|
|
||||||
{nookText()}
|
|
||||||
</A>
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
<div class="flex flex-col items-center gap-3">
|
|
||||||
<span class="text-subtext0 font-mono text-sm">
|
|
||||||
platform: macOS (14.0+)
|
|
||||||
</span>
|
|
||||||
<Button
|
|
||||||
variant="download"
|
|
||||||
size="lg"
|
|
||||||
loading={loadingState()["thenook"]}
|
|
||||||
onClick={() => download("thenook")}
|
|
||||||
>
|
|
||||||
download.zip
|
|
||||||
</Button>
|
|
||||||
<span class="text-subtext1 text-xs">
|
|
||||||
# unzip → drag to /Applications
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||