aboutsummaryrefslogtreecommitdiff
path: root/src/hooks.server.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/hooks.server.ts')
-rw-r--r--src/hooks.server.ts16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/hooks.server.ts b/src/hooks.server.ts
new file mode 100644
index 0000000..ef64e7f
--- /dev/null
+++ b/src/hooks.server.ts
@@ -0,0 +1,16 @@
+import type { Handle } from '@sveltejs/kit';
+
+export const handle: Handle = async ({ event, resolve }) => {
+ let userid = event.cookies.get('userid');
+
+ if (!userid) {
+ // if this is the first time the user has visited this app,
+ // set a cookie so that we recognise them when they return
+ userid = crypto.randomUUID();
+ event.cookies.set('userid', userid, { path: '/' });
+ }
+
+ event.locals.userid = userid;
+
+ return resolve(event);
+};