diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml
index fe38500..a1e59a8 100644
--- a/.forgejo/workflows/build.yaml
+++ b/.forgejo/workflows/build.yaml
@@ -81,7 +81,7 @@ jobs:
- name: Check GZipped directory size
run: |
# Set the threshold size in bytes
- THRESHOLD=409600
+ THRESHOLD=410000
# Calculate the total size of files in the directory
DIRECTORY_SIZE=$(du -b -s build_gz | awk '{print $1}')
@@ -98,7 +98,7 @@ jobs:
- name: Build LittleFS
run: |
set -e
- /tmp/mklittlefs/mklittlefs -c build_gz -s 409600 output/littlefs.bin
+ /tmp/mklittlefs/mklittlefs -c build_gz -s 410000 output/littlefs.bin
- name: Upload artifacts
uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with:
diff --git a/package.json b/package.json
index 9c4937d..44cc323 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,7 @@
"postinstall": "patch-package",
"test": "npm run test:integration && npm run test:unit",
"test:integration": "playwright test",
+ "test:screenshots": "playwright test -c playwright.screenshot.config.ts",
"test:unit": "vitest"
},
"devDependencies": {
@@ -58,6 +59,7 @@
"msgpack-es": "^0.0.5",
"nostr-tools": "^2.7.1",
"patch-package": "^8.0.0",
+ "svelte-bootstrap-icons": "^3.1.1",
"svelte-i18n": "^4.0.0"
},
"resolutions": {
diff --git a/patches/@sveltejs+kit+2.8.5.patch b/patches/@sveltejs+kit+2.8.5.patch
new file mode 100644
index 0000000..80f5dba
--- /dev/null
+++ b/patches/@sveltejs+kit+2.8.5.patch
@@ -0,0 +1,17 @@
+diff --git a/node_modules/@sveltejs/kit/src/exports/vite/index.js b/node_modules/@sveltejs/kit/src/exports/vite/index.js
+index e6521e9..f31c28b 100644
+--- a/node_modules/@sveltejs/kit/src/exports/vite/index.js
++++ b/node_modules/@sveltejs/kit/src/exports/vite/index.js
+@@ -639,9 +639,9 @@ async function kit({ svelte_config }) {
+ input,
+ output: {
+ format: 'esm',
+- entryFileNames: ssr ? '[name].js' : `${prefix}/[name].[hash].${ext}`,
+- chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[name].[hash].${ext}`,
+- assetFileNames: `${prefix}/assets/[name].[hash][extname]`,
++ entryFileNames: ssr ? '[name].js' : `${prefix}/[hash].${ext}`,
++ chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[hash].${ext}`,
++ assetFileNames: `${prefix}/assets/[hash][extname]`,
+ hoistTransitiveImports: false,
+ sourcemapIgnoreList
+ },
diff --git a/playwright.config.ts b/playwright.config.ts
index d60d61c..bf148ce 100644
--- a/playwright.config.ts
+++ b/playwright.config.ts
@@ -10,7 +10,7 @@ const config: PlaywrightTestConfig = {
port: 4173
},
reporter: process.env.CI ? 'github' : 'list',
- testDir: 'tests',
+ testDir: 'tests/playwright',
testMatch: /(.+\.)?(test|spec)\.[jt]s/
};
diff --git a/playwright.screenshot.config.ts b/playwright.screenshot.config.ts
new file mode 100644
index 0000000..81264a4
--- /dev/null
+++ b/playwright.screenshot.config.ts
@@ -0,0 +1,51 @@
+import { defineConfig, devices } from '@playwright/test';
+
+export default defineConfig({
+ reporter: 'html',
+ use: {
+ locale: 'en-GB',
+ timezoneId: 'Europe/Amsterdam'
+ },
+ webServer: {
+ command: 'npm run build && npm run preview',
+ port: 4173
+ },
+ testDir: './tests/screenshots',
+ outputDir: './test-results/screenshots',
+ projects: [
+ {
+ name: 'MacBook Air 13 inch',
+ use: {
+ viewport: { width: 1440, height: 900 }
+ }
+ },
+ {
+ name: 'iPhone 14 Pro',
+ use: { ...devices['iPhone 14 Pro'] }
+ },
+ {
+ name: 'iPhone 15 Pro Landscape',
+ use: { ...devices['iPhone 15 Pro Landscape'] }
+ },
+ {
+ name: 'MacBook Pro 14 inch',
+ use: {
+ viewport: { width: 1512, height: 982 }
+ }
+ },
+ {
+ name: 'MacBook Pro 14 inch',
+ use: {
+ viewport: { width: 1512, height: 982 }
+ }
+ },
+ {
+ name: 'MacBook Pro 14 inch Firefox HiDPI',
+ use: { ...devices['Desktop Firefox HiDPI'], viewport: { width: 1512, height: 982 } }
+ },
+ {
+ name: 'MacBook Pro 14 inch Safari',
+ use: { ...devices['Desktop Safari'], viewport: { width: 1512, height: 982 } }
+ }
+ ]
+});
diff --git a/src/components/ColorSchemeSwitcher.svelte b/src/components/ColorSchemeSwitcher.svelte
new file mode 100644
index 0000000..9d7e32a
--- /dev/null
+++ b/src/components/ColorSchemeSwitcher.svelte
@@ -0,0 +1,53 @@
+
+
+
Loading...
{/if}