diff --git a/package-lock.json b/package-lock.json index fde2560..88bb39b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,8 +13,8 @@ "cookie": "^0.4.1" }, "devDependencies": { - "@sveltejs/adapter-node": "next", - "@sveltejs/kit": "next", + "@sveltejs/adapter-node": "^1.0.0-next.67", + "@sveltejs/kit": "^1.0.0-next.257", "svelte": "^3.44.2" } }, @@ -56,18 +56,18 @@ } }, "node_modules/@sveltejs/adapter-node": { - "version": "1.0.0-next.60", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-1.0.0-next.60.tgz", - "integrity": "sha512-aOX0WEoSoy9ANHDbyul83c0F9qxI+vl//kYEhTZURY4NNnRQ4B1+QECDIv70v3SjU/aAT+56ofpvcZA++sfQxw==", + "version": "1.0.0-next.67", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-1.0.0-next.67.tgz", + "integrity": "sha512-+LuLn91xARZsRANiQNIIDpMMncUTnP2pJc8tyL+FdpVvs5UtlvkYJpeCBPFqjjseRpIIbi8Slu89GCdrRXBDUg==", "dev": true, "dependencies": { "tiny-glob": "^0.2.9" } }, "node_modules/@sveltejs/kit": { - "version": "1.0.0-next.216", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.216.tgz", - "integrity": "sha512-FKg7PPlymsZ2aU8DteY1BH217M2dIAgfWzm8OVqazQn2uLbw25WbVqSJ5KdgW83mLYoxSWUNPrJX3TJNEG6jVg==", + "version": "1.0.0-next.257", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.257.tgz", + "integrity": "sha512-dt7BwynNeGl1S9ODdVGwNmemM7QZMycPq10BYhiwdCNrHf/Zn2LNQsTdaxKEB2jdj9gDCh/ZRD0HH5ovc2jUcg==", "dev": true, "dependencies": { "@sveltejs/vite-plugin-svelte": "^1.0.0-next.32", @@ -708,18 +708,18 @@ } }, "@sveltejs/adapter-node": { - "version": "1.0.0-next.60", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-1.0.0-next.60.tgz", - "integrity": "sha512-aOX0WEoSoy9ANHDbyul83c0F9qxI+vl//kYEhTZURY4NNnRQ4B1+QECDIv70v3SjU/aAT+56ofpvcZA++sfQxw==", + "version": "1.0.0-next.67", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-1.0.0-next.67.tgz", + "integrity": "sha512-+LuLn91xARZsRANiQNIIDpMMncUTnP2pJc8tyL+FdpVvs5UtlvkYJpeCBPFqjjseRpIIbi8Slu89GCdrRXBDUg==", "dev": true, "requires": { "tiny-glob": "^0.2.9" } }, "@sveltejs/kit": { - "version": "1.0.0-next.216", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.216.tgz", - "integrity": "sha512-FKg7PPlymsZ2aU8DteY1BH217M2dIAgfWzm8OVqazQn2uLbw25WbVqSJ5KdgW83mLYoxSWUNPrJX3TJNEG6jVg==", + "version": "1.0.0-next.257", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.257.tgz", + "integrity": "sha512-dt7BwynNeGl1S9ODdVGwNmemM7QZMycPq10BYhiwdCNrHf/Zn2LNQsTdaxKEB2jdj9gDCh/ZRD0HH5ovc2jUcg==", "dev": true, "requires": { "@sveltejs/vite-plugin-svelte": "^1.0.0-next.32", diff --git a/src/app.html b/src/app.html index 97f318d..e7d2cbd 100644 --- a/src/app.html +++ b/src/app.html @@ -2,12 +2,12 @@ - + + - %svelte.head% -
%svelte.body%
+
%svelte.body%
diff --git a/src/hooks.js b/src/hooks.js index 66dabe4..c87a9a4 100644 --- a/src/hooks.js +++ b/src/hooks.js @@ -1,21 +1,22 @@ import cookie from 'cookie'; import { v4 as uuid } from '@lukeed/uuid'; -export const handle = async ({ request, resolve }) => { - const cookies = cookie.parse(request.headers.cookie || ''); - request.locals.userid = cookies.userid || uuid(); +export const handle = async ({ event, resolve }) => { + const cookies = cookie.parse(event.request.headers.get('cookie') || ''); + event.locals.userid = cookies.userid || uuid(); - // TODO https://github.com/sveltejs/kit/issues/1046 - if (request.url.searchParams.has('_method')) { - request.method = request.url.searchParams.get('_method').toUpperCase(); - } - - const response = await resolve(request); + const response = await resolve(event); if (!cookies.userid) { // if this is the first time the user has visited this app, // set a cookie so that we recognise them when they return - response.headers['set-cookie'] = `userid=${request.locals.userid}; Path=/; HttpOnly`; + response.headers.set( + 'set-cookie', + cookie.serialize('userid', event.locals.userid, { + path: '/', + httpOnly: true + }) + ); } return response; diff --git a/src/lib/Counter.svelte b/src/lib/Counter.svelte index 166bd52..6800213 100644 --- a/src/lib/Counter.svelte +++ b/src/lib/Counter.svelte @@ -22,7 +22,7 @@
- + {Math.floor($displayed_count)}
@@ -79,13 +79,12 @@ .counter-viewport strong { position: absolute; - display: block; + display: flex; width: 100%; height: 100%; font-weight: 400; color: var(--accent-color); font-size: 4rem; - display: flex; align-items: center; justify-content: center; } @@ -95,4 +94,9 @@ width: 100%; height: 100%; } + + .hidden { + top: -100%; + user-select: none; + } diff --git a/src/lib/header/Header.svelte b/src/lib/header/Header.svelte index 7d53fa8..9361382 100644 --- a/src/lib/header/Header.svelte +++ b/src/lib/header/Header.svelte @@ -16,8 +16,12 @@
element in src/app.html - target: '#svelte', - adapter: node() + adapter: node(), + + // Override http methods in the Todo forms + methodOverride: { + allowed: ['PATCH', 'DELETE'] + } } };