aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-03-03 13:24:22 -0800
committerAdam Soltys <[email protected]>2026-03-03 13:24:22 -0800
commitc6ed33aa9d1d0cdd65aa8d81aa9a05551e975822 (patch)
treece1f545d62188e40eeaa1f5b122e3ea2a1abee81 /src
parent4dff71696bef790dfbb471202f489c724437aa7c (diff)
downloadcoinos-ui-c6ed33aa9d1d0cdd65aa8d81aa9a05551e975822.tar.gz
coinos-ui-c6ed33aa9d1d0cdd65aa8d81aa9a05551e975822.zip
prerender static pages and add edge cache headers
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/hooks.server.ts23
-rw-r--r--src/routes/(static)/privacy/+page.ts1
-rw-r--r--src/routes/(static)/removal/+page.ts1
3 files changed, 24 insertions, 1 deletions
diff --git a/src/hooks.server.ts b/src/hooks.server.ts
index 1bb8e132..fcb1d461 100644
--- a/src/hooks.server.ts
+++ b/src/hooks.server.ts
@@ -17,5 +17,26 @@ export const handle: Handle = async ({ event, resolve }) => {
}
}
- return ipStore.run(ip, () => resolve(event));
+ return ipStore.run(ip, async () => {
+ const response = await resolve(event);
+ const { pathname } = event.url;
+ const hasToken = event.cookies.get("token");
+
+ if (!hasToken) {
+ const cacheTTL: Record<string, number> = {
+ "/": 300,
+ "/bounties": 300,
+ "/privacy": 86400,
+ "/removal": 86400,
+ "/forgot": 3600,
+ };
+
+ const ttl = cacheTTL[pathname];
+ if (ttl) {
+ response.headers.set("CDN-Cache-Control", `max-age=${ttl}`);
+ }
+ }
+
+ return response;
+ });
};
diff --git a/src/routes/(static)/privacy/+page.ts b/src/routes/(static)/privacy/+page.ts
new file mode 100644
index 00000000..189f71e2
--- /dev/null
+++ b/src/routes/(static)/privacy/+page.ts
@@ -0,0 +1 @@
+export const prerender = true;
diff --git a/src/routes/(static)/removal/+page.ts b/src/routes/(static)/removal/+page.ts
new file mode 100644
index 00000000..189f71e2
--- /dev/null
+++ b/src/routes/(static)/removal/+page.ts
@@ -0,0 +1 @@
+export const prerender = true;