From 8e376cdedc84c027ae23dc66e491876ec4fb8d86 Mon Sep 17 00:00:00 2001 From: William Gu Date: Mon, 14 Sep 2026 18:26:22 +1000 Subject: [PATCH 01/56] added tailwindcss --- package.json | 8 +- pnpm-lock.yaml | 353 ++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 343 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index bb49e37..d596a5c 100644 --- a/package.json +++ b/package.json @@ -14,17 +14,19 @@ }, "license": "MIT", "dependencies": { + "@tailwindcss/vite": "^4.3.3", "@tauri-apps/api": "^2", - "@tauri-apps/plugin-opener": "^2" + "@tauri-apps/plugin-opener": "^2", + "tailwindcss": "^4.3.3" }, "devDependencies": { "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/kit": "^2.65.1", "@sveltejs/vite-plugin-svelte": "^7.1.2", + "@tauri-apps/cli": "^2", "svelte": "^5.56.3", "svelte-check": "^4.6.0", "typescript": "~6.0.3", - "vite": "^8.0.16", - "@tauri-apps/cli": "^2" + "vite": "^8.0.16" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 64e8a74..cba7ed2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,22 +8,28 @@ importers: .: dependencies: + '@tailwindcss/vite': + specifier: ^4.3.3 + version: 4.3.3(vite@8.3.0(jiti@2.7.0)) '@tauri-apps/api': specifier: ^2 version: 2.11.1 '@tauri-apps/plugin-opener': specifier: ^2 version: 2.5.5 + tailwindcss: + specifier: ^4.3.3 + version: 4.3.3 devDependencies: '@sveltejs/adapter-static': specifier: ^3.0.10 - version: 3.0.10(@sveltejs/kit@2.70.3(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.57.0)(vite@8.3.0))(svelte@5.57.0)(typescript@6.0.3)(vite@8.3.0)) + version: 3.0.10(@sveltejs/kit@2.70.3(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.57.0)(vite@8.3.0(jiti@2.7.0)))(svelte@5.57.0)(typescript@6.0.3)(vite@8.3.0(jiti@2.7.0))) '@sveltejs/kit': specifier: ^2.65.1 - version: 2.70.3(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.57.0)(vite@8.3.0))(svelte@5.57.0)(typescript@6.0.3)(vite@8.3.0) + version: 2.70.3(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.57.0)(vite@8.3.0(jiti@2.7.0)))(svelte@5.57.0)(typescript@6.0.3)(vite@8.3.0(jiti@2.7.0)) '@sveltejs/vite-plugin-svelte': specifier: ^7.1.2 - version: 7.3.0(svelte@5.57.0)(vite@8.3.0) + version: 7.3.0(svelte@5.57.0)(vite@8.3.0(jiti@2.7.0)) '@tauri-apps/cli': specifier: ^2 version: 2.11.4 @@ -38,7 +44,7 @@ importers: version: 6.0.3 vite: specifier: ^8.0.16 - version: 8.3.0 + version: 8.3.0(jiti@2.7.0) packages: @@ -203,6 +209,100 @@ packages: svelte: ^5.46.4 vite: ^8.0.0-beta.7 || ^8.0.0 + '@tailwindcss/node@4.3.3': + resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==} + + '@tailwindcss/oxide-android-arm64@4.3.3': + resolution: {integrity: sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.3.3': + resolution: {integrity: sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.3.3': + resolution: {integrity: sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.3.3': + resolution: {integrity: sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3': + resolution: {integrity: sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ==} + engines: {node: '>= 20'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.3': + resolution: {integrity: sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-arm64-musl@4.3.3': + resolution: {integrity: sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-linux-x64-gnu@4.3.3': + resolution: {integrity: sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-x64-musl@4.3.3': + resolution: {integrity: sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-wasm32-wasi@4.3.3': + resolution: {integrity: sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': + resolution: {integrity: sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.3.3': + resolution: {integrity: sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.3.3': + resolution: {integrity: sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA==} + engines: {node: '>= 20'} + + '@tailwindcss/vite@4.3.3': + resolution: {integrity: sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw==} + peerDependencies: + vite: ^5.2.0 || ^6 || ^7 || ^8 + '@tauri-apps/api@2.11.1': resolution: {integrity: sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA==} @@ -327,6 +427,10 @@ packages: devalue@5.9.2: resolution: {integrity: sha512-po4PAY5c53tw5XMocSnf8A/5OHhbbUftpr93aEN6BBoAdntUmK7vu7wOATqvt7cXO7m1Cl4gMVn6p7n6n4mj0w==} + enhanced-resolve@5.25.0: + resolution: {integrity: sha512-ghq3mhs649mvbarTCAlZn2wRhbfHmzAFiKxoWA14B3VtqnxtZt+wz8BroKXU0tF3GiJsnUldjVncQGZ8qk4rdA==} + engines: {node: '>=10.13.0'} + esm-env@1.2.2: resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} @@ -352,43 +456,87 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + is-reference@3.0.3: resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true + kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + lightningcss-android-arm64@1.33.0: resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [android] + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + lightningcss-darwin-arm64@1.33.0: resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + lightningcss-darwin-x64@1.33.0: resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + lightningcss-freebsd-x64@1.33.0: resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + lightningcss-linux-arm-gnueabihf@1.33.0: resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + lightningcss-linux-arm64-gnu@1.33.0: resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==} engines: {node: '>= 12.0.0'} @@ -396,6 +544,13 @@ packages: os: [linux] libc: [glibc] + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + lightningcss-linux-arm64-musl@1.33.0: resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==} engines: {node: '>= 12.0.0'} @@ -403,6 +558,13 @@ packages: os: [linux] libc: [musl] + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + lightningcss-linux-x64-gnu@1.33.0: resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==} engines: {node: '>= 12.0.0'} @@ -410,6 +572,13 @@ packages: os: [linux] libc: [glibc] + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + lightningcss-linux-x64-musl@1.33.0: resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==} engines: {node: '>= 12.0.0'} @@ -417,18 +586,34 @@ packages: os: [linux] libc: [musl] + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + lightningcss-win32-arm64-msvc@1.33.0: resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + lightningcss-win32-x64-msvc@1.33.0: resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} + lightningcss@1.33.0: resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} engines: {node: '>= 12.0.0'} @@ -506,6 +691,13 @@ packages: resolution: {integrity: sha512-NdbDn7fl4be1ViUG0oq/lvG6OZy3oENolV2ONjiqqsfVoeAfzaQAKUcEX3MrQod/Bebv1PgwET9rfXhgn9s4Kg==} engines: {node: '>=18'} + tailwindcss@4.3.3: + resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==} + + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + tinyglobby@0.2.17: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} @@ -651,15 +843,15 @@ snapshots: dependencies: acorn: 8.18.0 - '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.70.3(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.57.0)(vite@8.3.0))(svelte@5.57.0)(typescript@6.0.3)(vite@8.3.0))': + '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.70.3(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.57.0)(vite@8.3.0(jiti@2.7.0)))(svelte@5.57.0)(typescript@6.0.3)(vite@8.3.0(jiti@2.7.0)))': dependencies: - '@sveltejs/kit': 2.70.3(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.57.0)(vite@8.3.0))(svelte@5.57.0)(typescript@6.0.3)(vite@8.3.0) + '@sveltejs/kit': 2.70.3(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.57.0)(vite@8.3.0(jiti@2.7.0)))(svelte@5.57.0)(typescript@6.0.3)(vite@8.3.0(jiti@2.7.0)) - '@sveltejs/kit@2.70.3(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.57.0)(vite@8.3.0))(svelte@5.57.0)(typescript@6.0.3)(vite@8.3.0)': + '@sveltejs/kit@2.70.3(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.57.0)(vite@8.3.0(jiti@2.7.0)))(svelte@5.57.0)(typescript@6.0.3)(vite@8.3.0(jiti@2.7.0))': dependencies: '@standard-schema/spec': 1.1.0 '@sveltejs/acorn-typescript': 1.0.13(acorn@8.18.0) - '@sveltejs/vite-plugin-svelte': 7.3.0(svelte@5.57.0)(vite@8.3.0) + '@sveltejs/vite-plugin-svelte': 7.3.0(svelte@5.57.0)(vite@8.3.0(jiti@2.7.0)) '@types/cookie': 0.6.0 acorn: 8.18.0 cookie: 0.6.0 @@ -671,20 +863,88 @@ snapshots: set-cookie-parser: 3.1.2 sirv: 3.0.2 svelte: 5.57.0 - vite: 8.3.0 + vite: 8.3.0(jiti@2.7.0) optionalDependencies: typescript: 6.0.3 '@sveltejs/load-config@0.2.3': {} - '@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.57.0)(vite@8.3.0)': + '@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.57.0)(vite@8.3.0(jiti@2.7.0))': dependencies: deepmerge: 4.3.1 magic-string: 1.3.1 obug: 2.2.1 svelte: 5.57.0 - vite: 8.3.0 - vitefu: 1.1.3(vite@8.3.0) + vite: 8.3.0(jiti@2.7.0) + vitefu: 1.1.3(vite@8.3.0(jiti@2.7.0)) + + '@tailwindcss/node@4.3.3': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.25.0 + jiti: 2.7.0 + lightningcss: 1.32.0 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.3.3 + + '@tailwindcss/oxide-android-arm64@4.3.3': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.3.3': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.3.3': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.3.3': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.3.3': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.3.3': + optional: true + + '@tailwindcss/oxide@4.3.3': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.3.3 + '@tailwindcss/oxide-darwin-arm64': 4.3.3 + '@tailwindcss/oxide-darwin-x64': 4.3.3 + '@tailwindcss/oxide-freebsd-x64': 4.3.3 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.3 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.3 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.3 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.3 + '@tailwindcss/oxide-linux-x64-musl': 4.3.3 + '@tailwindcss/oxide-wasm32-wasi': 4.3.3 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.3 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.3 + + '@tailwindcss/vite@4.3.3(vite@8.3.0(jiti@2.7.0))': + dependencies: + '@tailwindcss/node': 4.3.3 + '@tailwindcss/oxide': 4.3.3 + tailwindcss: 4.3.3 + vite: 8.3.0(jiti@2.7.0) '@tauri-apps/api@2.11.1': {} @@ -763,6 +1023,11 @@ snapshots: devalue@5.9.2: {} + enhanced-resolve@5.25.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + esm-env@1.2.2: {} esrap@2.3.7: @@ -776,45 +1041,98 @@ snapshots: fsevents@2.3.3: optional: true + graceful-fs@4.2.11: {} + is-reference@3.0.3: dependencies: '@types/estree': 1.0.9 + jiti@2.7.0: {} + kleur@4.1.5: {} + lightningcss-android-arm64@1.32.0: + optional: true + lightningcss-android-arm64@1.33.0: optional: true + lightningcss-darwin-arm64@1.32.0: + optional: true + lightningcss-darwin-arm64@1.33.0: optional: true + lightningcss-darwin-x64@1.32.0: + optional: true + lightningcss-darwin-x64@1.33.0: optional: true + lightningcss-freebsd-x64@1.32.0: + optional: true + lightningcss-freebsd-x64@1.33.0: optional: true + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + lightningcss-linux-arm-gnueabihf@1.33.0: optional: true + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + lightningcss-linux-arm64-gnu@1.33.0: optional: true + lightningcss-linux-arm64-musl@1.32.0: + optional: true + lightningcss-linux-arm64-musl@1.33.0: optional: true + lightningcss-linux-x64-gnu@1.32.0: + optional: true + lightningcss-linux-x64-gnu@1.33.0: optional: true + lightningcss-linux-x64-musl@1.32.0: + optional: true + lightningcss-linux-x64-musl@1.33.0: optional: true + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + lightningcss-win32-arm64-msvc@1.33.0: optional: true + lightningcss-win32-x64-msvc@1.32.0: + optional: true + lightningcss-win32-x64-msvc@1.33.0: optional: true + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 + lightningcss@1.33.0: dependencies: detect-libc: 2.1.2 @@ -929,6 +1247,10 @@ snapshots: transitivePeerDependencies: - '@typescript-eslint/types' + tailwindcss@4.3.3: {} + + tapable@2.3.3: {} + tinyglobby@0.2.17: dependencies: fdir: 6.5.0(picomatch@4.0.7) @@ -938,7 +1260,7 @@ snapshots: typescript@6.0.3: {} - vite@8.3.0: + vite@8.3.0(jiti@2.7.0): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 @@ -947,9 +1269,10 @@ snapshots: tinyglobby: 0.2.17 optionalDependencies: fsevents: 2.3.3 + jiti: 2.7.0 - vitefu@1.1.3(vite@8.3.0): + vitefu@1.1.3(vite@8.3.0(jiti@2.7.0)): optionalDependencies: - vite: 8.3.0 + vite: 8.3.0(jiti@2.7.0) zimmerframe@1.1.5: {} From 2a3e0378b6891dca683aaeffb4bfb21571d14921 Mon Sep 17 00:00:00 2001 From: William Gu Date: Mon, 14 Sep 2026 18:27:23 +1000 Subject: [PATCH 02/56] changed vite.config.js to add tainwindscs --- vite.config.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/vite.config.js b/vite.config.js index 482f745..f99170a 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,4 +1,5 @@ import { defineConfig } from "vite"; +import tailwindcss from '@tailwindcss/vite' import { sveltekit } from "@sveltejs/kit/vite"; // @ts-expect-error type error without @types/node package import process from "node:process"; @@ -6,7 +7,10 @@ const host = process.env.TAURI_DEV_HOST; // https://vite.dev/config/ export default defineConfig(() => ({ - plugins: [sveltekit()], + plugins: [ + sveltekit(), + tailwindcss() + ], // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` // From 8de6b8450c2ee4834878b2e62e069d3f9d1d1a85 Mon Sep 17 00:00:00 2001 From: William Gu Date: Mon, 14 Sep 2026 19:27:42 +1000 Subject: [PATCH 03/56] make tailwindcss work --- src/app.css | 1 + src/routes/+layout.svelte | 5 ++ src/routes/+page.svelte | 157 +---------------------------------- src/routes/page_opign.svelte | 156 ++++++++++++++++++++++++++++++++++ 4 files changed, 164 insertions(+), 155 deletions(-) create mode 100644 src/app.css create mode 100644 src/routes/+layout.svelte create mode 100644 src/routes/page_opign.svelte diff --git a/src/app.css b/src/app.css new file mode 100644 index 0000000..f1d8c73 --- /dev/null +++ b/src/app.css @@ -0,0 +1 @@ +@import "tailwindcss"; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte new file mode 100644 index 0000000..61af54c --- /dev/null +++ b/src/routes/+layout.svelte @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 2a0845b..2f39440 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,156 +1,3 @@ - -
-

Welcome to Tauri + Svelte

- - -

Click on the Tauri, Vite, and SvelteKit logos to learn more.

- -
- - -
-

{greetMsg}

-
- - +

Hi there

+ \ No newline at end of file diff --git a/src/routes/page_opign.svelte b/src/routes/page_opign.svelte new file mode 100644 index 0000000..2a0845b --- /dev/null +++ b/src/routes/page_opign.svelte @@ -0,0 +1,156 @@ + + +
+

Welcome to Tauri + Svelte

+ + +

Click on the Tauri, Vite, and SvelteKit logos to learn more.

+ +
+ + +
+

{greetMsg}

+
+ + From fd3d736b5802c49c5b6be0c77e79e9f3448fd6fd Mon Sep 17 00:00:00 2001 From: William Gu Date: Mon, 14 Sep 2026 19:36:50 +1000 Subject: [PATCH 04/56] shadcn svelte and a button now im gonna test if it works --- components.json | 20 ++++ package.json | 7 ++ pnpm-lock.yaml | 93 +++++++++++++++ src/app.css | 128 +++++++++++++++++++++ src/lib/components/ui/button/button.svelte | 82 +++++++++++++ src/lib/components/ui/button/index.ts | 17 +++ src/lib/utils.ts | 13 +++ tsconfig.json | 7 +- 8 files changed, 366 insertions(+), 1 deletion(-) create mode 100644 components.json create mode 100644 src/lib/components/ui/button/button.svelte create mode 100644 src/lib/components/ui/button/index.ts create mode 100644 src/lib/utils.ts diff --git a/components.json b/components.json new file mode 100644 index 0000000..45106d1 --- /dev/null +++ b/components.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://shadcn-svelte.com/schema.json", + "tailwind": { + "css": "src/app.css", + "baseColor": "taupe" + }, + "aliases": { + "components": "$lib/components", + "utils": "$lib/utils", + "ui": "$lib/components/ui", + "hooks": "$lib/hooks", + "lib": "$lib" + }, + "typescript": true, + "registry": "https://shadcn-svelte.com/registry", + "style": "rhea", + "iconLibrary": "tabler", + "menuColor": "default", + "menuAccent": "subtle" +} diff --git a/package.json b/package.json index d596a5c..532691a 100644 --- a/package.json +++ b/package.json @@ -20,12 +20,19 @@ "tailwindcss": "^4.3.3" }, "devDependencies": { + "@fontsource-variable/inter": "^5.3.0", "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/kit": "^2.65.1", "@sveltejs/vite-plugin-svelte": "^7.1.2", + "@tabler/icons-svelte": "^3.46.0", "@tauri-apps/cli": "^2", + "clsx": "^2.1.1", + "shadcn-svelte": "^1.6.1", "svelte": "^5.56.3", "svelte-check": "^4.6.0", + "tailwind-merge": "^3.7.0", + "tailwind-variants": "^3.3.1", + "tw-animate-css": "^1.4.0", "typescript": "~6.0.3", "vite": "^8.0.16" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cba7ed2..e07b3e7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,6 +21,9 @@ importers: specifier: ^4.3.3 version: 4.3.3 devDependencies: + '@fontsource-variable/inter': + specifier: ^5.3.0 + version: 5.3.0 '@sveltejs/adapter-static': specifier: ^3.0.10 version: 3.0.10(@sveltejs/kit@2.70.3(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.57.0)(vite@8.3.0(jiti@2.7.0)))(svelte@5.57.0)(typescript@6.0.3)(vite@8.3.0(jiti@2.7.0))) @@ -30,15 +33,33 @@ importers: '@sveltejs/vite-plugin-svelte': specifier: ^7.1.2 version: 7.3.0(svelte@5.57.0)(vite@8.3.0(jiti@2.7.0)) + '@tabler/icons-svelte': + specifier: ^3.46.0 + version: 3.46.0(svelte@5.57.0) '@tauri-apps/cli': specifier: ^2 version: 2.11.4 + clsx: + specifier: ^2.1.1 + version: 2.1.1 + shadcn-svelte: + specifier: ^1.6.1 + version: 1.6.1(svelte@5.57.0) svelte: specifier: ^5.56.3 version: 5.57.0 svelte-check: specifier: ^4.6.0 version: 4.7.6(picomatch@4.0.7)(svelte@5.57.0)(typescript@6.0.3) + tailwind-merge: + specifier: ^3.7.0 + version: 3.7.0 + tailwind-variants: + specifier: ^3.3.1 + version: 3.3.1(tailwind-merge@3.7.0)(tailwindcss@4.3.3) + tw-animate-css: + specifier: ^1.4.0 + version: 1.4.0 typescript: specifier: ~6.0.3 version: 6.0.3 @@ -48,6 +69,9 @@ importers: packages: + '@fontsource-variable/inter@5.3.0': + resolution: {integrity: sha512-OupL48va4JNofb97w6NYeF9S7W/kHNKM0Er8Dem5nqi4jeOLrVJDoE8tZEpnMJmtkvNbB1EIPPwHcdkF6b1oUA==} + '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -209,6 +233,14 @@ packages: svelte: ^5.46.4 vite: ^8.0.0-beta.7 || ^8.0.0 + '@tabler/icons-svelte@3.46.0': + resolution: {integrity: sha512-p9wY/5OW8UYw/wChefYlmzPi16dPC8EvwH53PRVar9HeCL7TVKRH1L7Wd5Zgic+wv+AlJdNRXlnq81zKDye0Nw==} + peerDependencies: + svelte: '>=3 <6 || >=5.0.0-next.0' + + '@tabler/icons@3.46.0': + resolution: {integrity: sha512-f2RYFl3fzPwj5WO82x6en0dmkjefxEfOm16D1ByM6cj/McNiwOkL4VaPUoP9VVIrXAD9WnTSVFr70px703b//A==} + '@tailwindcss/node@4.3.3': resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==} @@ -412,6 +444,10 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} + engines: {node: '>=20'} + cookie@0.6.0: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} @@ -640,6 +676,9 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + node-fetch-native@1.6.7: + resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} + obug@2.2.1: resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==} engines: {node: '>=12.20.0'} @@ -671,6 +710,12 @@ packages: set-cookie-parser@3.1.2: resolution: {integrity: sha512-5/r/lTwbJ3zQ+qwdUFZYeRNqda7P5HD8zQKqlSjdGt1/S0cjLAphHusj4Y58ahDtWn/g32xrIS58/ikOvwl0Lw==} + shadcn-svelte@1.6.1: + resolution: {integrity: sha512-qmbdBQ3GLO+kfLWlF7H+UZ0YbGOv4UnTy3r3LP6yK5QfO5SW+989ohKoAjKe+caHYWz7oFYqflVZablIewuBiw==} + hasBin: true + peerDependencies: + svelte: ^5.0.0 + sirv@3.0.2: resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} engines: {node: '>=18'} @@ -691,6 +736,21 @@ packages: resolution: {integrity: sha512-NdbDn7fl4be1ViUG0oq/lvG6OZy3oENolV2ONjiqqsfVoeAfzaQAKUcEX3MrQod/Bebv1PgwET9rfXhgn9s4Kg==} engines: {node: '>=18'} + tailwind-merge@3.7.0: + resolution: {integrity: sha512-XPPUyAc+cvspz3lHTcR/QgPfW2A0lv/xQNIjX3HGhLR+Nq2lHaLq5MtTesHn8GUr3W3DguT2KT5x3NVgRtYwmA==} + + tailwind-variants@3.3.1: + resolution: {integrity: sha512-4pAvwUtM4HKBiRZftncAbpn6V9Hhwoa5Fl7O2u5zbp7Z5Cvu+/o/6+176WY3WCEES209543quG8zFIcXCsc5Jw==} + engines: {node: '>=16.9.x', pnpm: '>=7.x'} + peerDependencies: + tailwind-merge: '>=3.0.0' + tailwindcss: '*' + peerDependenciesMeta: + tailwind-merge: + optional: true + tailwindcss: + optional: true + tailwindcss@4.3.3: resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==} @@ -706,6 +766,9 @@ packages: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} + tw-animate-css@1.4.0: + resolution: {integrity: sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==} + typescript@6.0.3: resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} @@ -767,6 +830,8 @@ packages: snapshots: + '@fontsource-variable/inter@5.3.0': {} + '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.6.0 @@ -878,6 +943,13 @@ snapshots: vite: 8.3.0(jiti@2.7.0) vitefu: 1.1.3(vite@8.3.0(jiti@2.7.0)) + '@tabler/icons-svelte@3.46.0(svelte@5.57.0)': + dependencies: + '@tabler/icons': 3.46.0 + svelte: 5.57.0 + + '@tabler/icons@3.46.0': {} + '@tailwindcss/node@4.3.3': dependencies: '@jridgewell/remapping': 2.3.5 @@ -1015,6 +1087,8 @@ snapshots: clsx@2.1.1: {} + commander@14.0.3: {} + cookie@0.6.0: {} deepmerge@4.3.1: {} @@ -1165,6 +1239,8 @@ snapshots: nanoid@3.3.19: {} + node-fetch-native@1.6.7: {} + obug@2.2.1: {} picocolors@1.1.1: {} @@ -1206,6 +1282,14 @@ snapshots: set-cookie-parser@3.1.2: {} + shadcn-svelte@1.6.1(svelte@5.57.0): + dependencies: + commander: 14.0.3 + node-fetch-native: 1.6.7 + postcss: 8.5.28 + svelte: 5.57.0 + tailwind-merge: 3.7.0 + sirv@3.0.2: dependencies: '@polka/url': 1.0.0-next.29 @@ -1247,6 +1331,13 @@ snapshots: transitivePeerDependencies: - '@typescript-eslint/types' + tailwind-merge@3.7.0: {} + + tailwind-variants@3.3.1(tailwind-merge@3.7.0)(tailwindcss@4.3.3): + optionalDependencies: + tailwind-merge: 3.7.0 + tailwindcss: 4.3.3 + tailwindcss@4.3.3: {} tapable@2.3.3: {} @@ -1258,6 +1349,8 @@ snapshots: totalist@3.0.1: {} + tw-animate-css@1.4.0: {} + typescript@6.0.3: {} vite@8.3.0(jiti@2.7.0): diff --git a/src/app.css b/src/app.css index f1d8c73..513cc08 100644 --- a/src/app.css +++ b/src/app.css @@ -1 +1,129 @@ @import "tailwindcss"; +@import "tw-animate-css"; +@import "shadcn-svelte/tailwind.css"; +@import "@fontsource-variable/inter"; + +@custom-variant dark (&:is(.dark *)); + +:root { + --background: oklch(1 0 0); + --foreground: oklch(0.147 0.004 49.3); + --card: oklch(1 0 0); + --card-foreground: oklch(0.147 0.004 49.3); + --popover: oklch(1 0 0); + --popover-foreground: oklch(0.147 0.004 49.3); + --primary: oklch(0.214 0.009 43.1); + --primary-foreground: oklch(0.986 0.002 67.8); + --secondary: oklch(0.96 0.002 17.2); + --secondary-foreground: oklch(0.214 0.009 43.1); + --muted: oklch(0.96 0.002 17.2); + --muted-foreground: oklch(0.547 0.021 43.1); + --accent: oklch(0.96 0.002 17.2); + --accent-foreground: oklch(0.214 0.009 43.1); + --destructive: oklch(0.577 0.245 27.325); + --border: oklch(0.922 0.005 34.3); + --input: oklch(0.922 0.005 34.3); + --ring: oklch(0.714 0.014 41.2); + --chart-1: oklch(0.868 0.007 39.5); + --chart-2: oklch(0.547 0.021 43.1); + --chart-3: oklch(0.438 0.017 39.3); + --chart-4: oklch(0.367 0.016 35.7); + --chart-5: oklch(0.268 0.011 36.5); + --radius: 0rem; + --sidebar: oklch(0.986 0.002 67.8); + --sidebar-foreground: oklch(0.147 0.004 49.3); + --sidebar-primary: oklch(0.214 0.009 43.1); + --sidebar-primary-foreground: oklch(0.986 0.002 67.8); + --sidebar-accent: oklch(0.96 0.002 17.2); + --sidebar-accent-foreground: oklch(0.214 0.009 43.1); + --sidebar-border: oklch(0.922 0.005 34.3); + --sidebar-ring: oklch(0.714 0.014 41.2); +} + +.dark { + --background: oklch(0.147 0.004 49.3); + --foreground: oklch(0.986 0.002 67.8); + --card: oklch(0.214 0.009 43.1); + --card-foreground: oklch(0.986 0.002 67.8); + --popover: oklch(0.214 0.009 43.1); + --popover-foreground: oklch(0.986 0.002 67.8); + --primary: oklch(0.922 0.005 34.3); + --primary-foreground: oklch(0.214 0.009 43.1); + --secondary: oklch(0.268 0.011 36.5); + --secondary-foreground: oklch(0.986 0.002 67.8); + --muted: oklch(0.268 0.011 36.5); + --muted-foreground: oklch(0.714 0.014 41.2); + --accent: oklch(0.268 0.011 36.5); + --accent-foreground: oklch(0.986 0.002 67.8); + --destructive: oklch(0.704 0.191 22.216); + --border: oklch(1 0 0 / 10%); + --input: oklch(1 0 0 / 15%); + --ring: oklch(0.547 0.021 43.1); + --chart-1: oklch(0.868 0.007 39.5); + --chart-2: oklch(0.547 0.021 43.1); + --chart-3: oklch(0.438 0.017 39.3); + --chart-4: oklch(0.367 0.016 35.7); + --chart-5: oklch(0.268 0.011 36.5); + --sidebar: oklch(0.214 0.009 43.1); + --sidebar-foreground: oklch(0.986 0.002 67.8); + --sidebar-primary: oklch(0.488 0.243 264.376); + --sidebar-primary-foreground: oklch(0.986 0.002 67.8); + --sidebar-accent: oklch(0.268 0.011 36.5); + --sidebar-accent-foreground: oklch(0.986 0.002 67.8); + --sidebar-border: oklch(1 0 0 / 10%); + --sidebar-ring: oklch(0.547 0.021 43.1); +} + +@theme inline { + --font-sans: 'Inter Variable', sans-serif; + --color-sidebar-ring: var(--sidebar-ring); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar: var(--sidebar); + --color-chart-5: var(--chart-5); + --color-chart-4: var(--chart-4); + --color-chart-3: var(--chart-3); + --color-chart-2: var(--chart-2); + --color-chart-1: var(--chart-1); + --color-ring: var(--ring); + --color-input: var(--input); + --color-border: var(--border); + --color-destructive: var(--destructive); + --color-accent-foreground: var(--accent-foreground); + --color-accent: var(--accent); + --color-muted-foreground: var(--muted-foreground); + --color-muted: var(--muted); + --color-secondary-foreground: var(--secondary-foreground); + --color-secondary: var(--secondary); + --color-primary-foreground: var(--primary-foreground); + --color-primary: var(--primary); + --color-popover-foreground: var(--popover-foreground); + --color-popover: var(--popover); + --color-card-foreground: var(--card-foreground); + --color-card: var(--card); + --color-foreground: var(--foreground); + --color-background: var(--background); + --radius-sm: calc(var(--radius) * 0.6); + --radius-md: calc(var(--radius) * 0.8); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) * 1.4); + --radius-2xl: calc(var(--radius) * 1.8); + --radius-3xl: calc(var(--radius) * 2.2); + --radius-4xl: calc(var(--radius) * 2.6); +} + +@layer base { + * { + @apply border-border outline-ring/50; + } + body { + @apply bg-background text-foreground; + } + html { + @apply font-sans; + } +} diff --git a/src/lib/components/ui/button/button.svelte b/src/lib/components/ui/button/button.svelte new file mode 100644 index 0000000..07652a9 --- /dev/null +++ b/src/lib/components/ui/button/button.svelte @@ -0,0 +1,82 @@ + + + + +{#if href} + + {@render children?.()} + +{:else} + +{/if} diff --git a/src/lib/components/ui/button/index.ts b/src/lib/components/ui/button/index.ts new file mode 100644 index 0000000..fb585d7 --- /dev/null +++ b/src/lib/components/ui/button/index.ts @@ -0,0 +1,17 @@ +import Root, { + type ButtonProps, + type ButtonSize, + type ButtonVariant, + buttonVariants, +} from "./button.svelte"; + +export { + Root, + type ButtonProps as Props, + // + Root as Button, + buttonVariants, + type ButtonProps, + type ButtonSize, + type ButtonVariant, +}; diff --git a/src/lib/utils.ts b/src/lib/utils.ts new file mode 100644 index 0000000..55b3a91 --- /dev/null +++ b/src/lib/utils.ts @@ -0,0 +1,13 @@ +import { clsx, type ClassValue } from "clsx"; +import { twMerge } from "tailwind-merge"; + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)); +} + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type WithoutChild = T extends { child?: any } ? Omit : T; +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type WithoutChildren = T extends { children?: any } ? Omit : T; +export type WithoutChildrenOrChild = WithoutChildren>; +export type WithElementRef = T & { ref?: U | null }; diff --git a/tsconfig.json b/tsconfig.json index f4d0a0e..e27285f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,7 +9,12 @@ "skipLibCheck": true, "sourceMap": true, "strict": true, - "moduleResolution": "bundler" + "moduleResolution": "bundler", + "baseUrl": ".", + "paths": { + "$lib": ["src/lib"], + "$lib/*": ["src/lib/*"], + } } // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files From 9e9a489f31668853de9992fd67df3fc6ffb19c89 Mon Sep 17 00:00:00 2001 From: William Gu Date: Mon, 14 Sep 2026 19:44:56 +1000 Subject: [PATCH 05/56] trying to make shadcn svelte work --- src/routes/+page.svelte | 8 +++++--- tsconfig.json | 7 +------ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 2f39440..4be4227 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,3 +1,5 @@ -
-

Hi there

-
\ No newline at end of file + + + diff --git a/tsconfig.json b/tsconfig.json index e27285f..f4d0a0e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,12 +9,7 @@ "skipLibCheck": true, "sourceMap": true, "strict": true, - "moduleResolution": "bundler", - "baseUrl": ".", - "paths": { - "$lib": ["src/lib"], - "$lib/*": ["src/lib/*"], - } + "moduleResolution": "bundler" } // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files From 07ec3cf306a11af129056aa1bfa85ec83c156365 Mon Sep 17 00:00:00 2001 From: William Gu Date: Mon, 14 Sep 2026 20:29:56 +1000 Subject: [PATCH 06/56] got the shadcn svelte working --- components.json | 2 +- src/app.css | 170 +++++++++++++++++++------------------- src/app.html | 2 +- src/routes/+layout.svelte | 3 +- src/routes/+page.svelte | 22 ++++- 5 files changed, 108 insertions(+), 91 deletions(-) diff --git a/components.json b/components.json index 45106d1..93f7cf6 100644 --- a/components.json +++ b/components.json @@ -2,7 +2,7 @@ "$schema": "https://shadcn-svelte.com/schema.json", "tailwind": { "css": "src/app.css", - "baseColor": "taupe" + "baseColor": "neutral" }, "aliases": { "components": "$lib/components", diff --git a/src/app.css b/src/app.css index 513cc08..2d69a16 100644 --- a/src/app.css +++ b/src/app.css @@ -7,106 +7,97 @@ :root { --background: oklch(1 0 0); - --foreground: oklch(0.147 0.004 49.3); + --foreground: oklch(0.145 0 0); --card: oklch(1 0 0); - --card-foreground: oklch(0.147 0.004 49.3); + --card-foreground: oklch(0.145 0 0); --popover: oklch(1 0 0); - --popover-foreground: oklch(0.147 0.004 49.3); - --primary: oklch(0.214 0.009 43.1); - --primary-foreground: oklch(0.986 0.002 67.8); - --secondary: oklch(0.96 0.002 17.2); - --secondary-foreground: oklch(0.214 0.009 43.1); - --muted: oklch(0.96 0.002 17.2); - --muted-foreground: oklch(0.547 0.021 43.1); - --accent: oklch(0.96 0.002 17.2); - --accent-foreground: oklch(0.214 0.009 43.1); + --popover-foreground: oklch(0.145 0 0); + --primary: oklch(0.205 0 0); + --primary-foreground: oklch(0.985 0 0); + --secondary: oklch(0.97 0 0); + --secondary-foreground: oklch(0.205 0 0); + --muted: oklch(0.97 0 0); + --muted-foreground: oklch(0.556 0 0); + --accent: oklch(0.97 0 0); + --accent-foreground: oklch(0.205 0 0); --destructive: oklch(0.577 0.245 27.325); - --border: oklch(0.922 0.005 34.3); - --input: oklch(0.922 0.005 34.3); - --ring: oklch(0.714 0.014 41.2); - --chart-1: oklch(0.868 0.007 39.5); - --chart-2: oklch(0.547 0.021 43.1); - --chart-3: oklch(0.438 0.017 39.3); - --chart-4: oklch(0.367 0.016 35.7); - --chart-5: oklch(0.268 0.011 36.5); - --radius: 0rem; - --sidebar: oklch(0.986 0.002 67.8); - --sidebar-foreground: oklch(0.147 0.004 49.3); - --sidebar-primary: oklch(0.214 0.009 43.1); - --sidebar-primary-foreground: oklch(0.986 0.002 67.8); - --sidebar-accent: oklch(0.96 0.002 17.2); - --sidebar-accent-foreground: oklch(0.214 0.009 43.1); - --sidebar-border: oklch(0.922 0.005 34.3); - --sidebar-ring: oklch(0.714 0.014 41.2); + --border: oklch(0.922 0 0); + --input: oklch(0.922 0 0); + --ring: oklch(0.708 0 0); + --chart-1: oklch(0.87 0 0); + --chart-2: oklch(0.556 0 0); + --chart-3: oklch(0.439 0 0); + --chart-4: oklch(0.371 0 0); + --chart-5: oklch(0.269 0 0); + --radius: 0.625rem; + --sidebar: oklch(0.985 0 0); + --sidebar-foreground: oklch(0.145 0 0); + --sidebar-primary: oklch(0.205 0 0); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.97 0 0); + --sidebar-accent-foreground: oklch(0.205 0 0); + --sidebar-border: oklch(0.922 0 0); + --sidebar-ring: oklch(0.708 0 0); } .dark { - --background: oklch(0.147 0.004 49.3); - --foreground: oklch(0.986 0.002 67.8); - --card: oklch(0.214 0.009 43.1); - --card-foreground: oklch(0.986 0.002 67.8); - --popover: oklch(0.214 0.009 43.1); - --popover-foreground: oklch(0.986 0.002 67.8); - --primary: oklch(0.922 0.005 34.3); - --primary-foreground: oklch(0.214 0.009 43.1); - --secondary: oklch(0.268 0.011 36.5); - --secondary-foreground: oklch(0.986 0.002 67.8); - --muted: oklch(0.268 0.011 36.5); - --muted-foreground: oklch(0.714 0.014 41.2); - --accent: oklch(0.268 0.011 36.5); - --accent-foreground: oklch(0.986 0.002 67.8); + --background: oklch(0.145 0 0); + --foreground: oklch(0.985 0 0); + --card: oklch(0.205 0 0); + --card-foreground: oklch(0.985 0 0); + --popover: oklch(0.205 0 0); + --popover-foreground: oklch(0.985 0 0); + --primary: oklch(0.922 0 0); + --primary-foreground: oklch(0.205 0 0); + --secondary: oklch(0.269 0 0); + --secondary-foreground: oklch(0.985 0 0); + --muted: oklch(0.269 0 0); + --muted-foreground: oklch(0.708 0 0); + --accent: oklch(0.269 0 0); + --accent-foreground: oklch(0.985 0 0); --destructive: oklch(0.704 0.191 22.216); --border: oklch(1 0 0 / 10%); --input: oklch(1 0 0 / 15%); - --ring: oklch(0.547 0.021 43.1); - --chart-1: oklch(0.868 0.007 39.5); - --chart-2: oklch(0.547 0.021 43.1); - --chart-3: oklch(0.438 0.017 39.3); - --chart-4: oklch(0.367 0.016 35.7); - --chart-5: oklch(0.268 0.011 36.5); - --sidebar: oklch(0.214 0.009 43.1); - --sidebar-foreground: oklch(0.986 0.002 67.8); + --ring: oklch(0.556 0 0); + --chart-1: oklch(0.87 0 0); + --chart-2: oklch(0.556 0 0); + --chart-3: oklch(0.439 0 0); + --chart-4: oklch(0.371 0 0); + --chart-5: oklch(0.269 0 0); + --sidebar: oklch(0.205 0 0); + --sidebar-foreground: oklch(0.985 0 0); --sidebar-primary: oklch(0.488 0.243 264.376); - --sidebar-primary-foreground: oklch(0.986 0.002 67.8); - --sidebar-accent: oklch(0.268 0.011 36.5); - --sidebar-accent-foreground: oklch(0.986 0.002 67.8); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.269 0 0); + --sidebar-accent-foreground: oklch(0.985 0 0); --sidebar-border: oklch(1 0 0 / 10%); - --sidebar-ring: oklch(0.547 0.021 43.1); + --sidebar-ring: oklch(0.556 0 0); } @theme inline { - --font-sans: 'Inter Variable', sans-serif; - --color-sidebar-ring: var(--sidebar-ring); - --color-sidebar-border: var(--sidebar-border); - --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); - --color-sidebar-accent: var(--sidebar-accent); - --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); - --color-sidebar-primary: var(--sidebar-primary); - --color-sidebar-foreground: var(--sidebar-foreground); - --color-sidebar: var(--sidebar); - --color-chart-5: var(--chart-5); - --color-chart-4: var(--chart-4); - --color-chart-3: var(--chart-3); - --color-chart-2: var(--chart-2); - --color-chart-1: var(--chart-1); - --color-ring: var(--ring); - --color-input: var(--input); - --color-border: var(--border); - --color-destructive: var(--destructive); - --color-accent-foreground: var(--accent-foreground); - --color-accent: var(--accent); - --color-muted-foreground: var(--muted-foreground); - --color-muted: var(--muted); - --color-secondary-foreground: var(--secondary-foreground); - --color-secondary: var(--secondary); - --color-primary-foreground: var(--primary-foreground); - --color-primary: var(--primary); - --color-popover-foreground: var(--popover-foreground); - --color-popover: var(--popover); - --color-card-foreground: var(--card-foreground); - --color-card: var(--card); - --color-foreground: var(--foreground); --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); --radius-sm: calc(var(--radius) * 0.6); --radius-md: calc(var(--radius) * 0.8); --radius-lg: var(--radius); @@ -114,6 +105,15 @@ --radius-2xl: calc(var(--radius) * 1.8); --radius-3xl: calc(var(--radius) * 2.2); --radius-4xl: calc(var(--radius) * 2.6); + --color-sidebar: var(--sidebar); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-ring: var(--sidebar-ring); + --font-sans: 'Inter Variable', sans-serif; } @layer base { diff --git a/src/app.html b/src/app.html index 92e7e33..49a3e6a 100644 --- a/src/app.html +++ b/src/app.html @@ -1,5 +1,5 @@ - + diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 61af54c..9875005 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,5 +1,6 @@ - \ No newline at end of file +{@render children()} \ No newline at end of file diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 4be4227..76d594f 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,5 +1,21 @@ - - + +
+
+ + +
+
+ + +
+
+ + +
+
\ No newline at end of file From 99ef9ac9006a8ffeb2e0974c4daed244e7cda553 Mon Sep 17 00:00:00 2001 From: William Gu Date: Mon, 14 Sep 2026 20:34:59 +1000 Subject: [PATCH 07/56] created navbar --- src/lib/components/navbar.svelte | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/lib/components/navbar.svelte diff --git a/src/lib/components/navbar.svelte b/src/lib/components/navbar.svelte new file mode 100644 index 0000000..f9ddbba --- /dev/null +++ b/src/lib/components/navbar.svelte @@ -0,0 +1 @@ +belhblegh \ No newline at end of file From b9c116167f3def7dd93338bda4089f579d282338 Mon Sep 17 00:00:00 2001 From: William Gu Date: Mon, 14 Sep 2026 20:38:43 +1000 Subject: [PATCH 08/56] added navbar to top --- src/lib/components/navbar.svelte | 4 +++- src/routes/+layout.svelte | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/components/navbar.svelte b/src/lib/components/navbar.svelte index f9ddbba..58a89a0 100644 --- a/src/lib/components/navbar.svelte +++ b/src/lib/components/navbar.svelte @@ -1 +1,3 @@ -belhblegh \ No newline at end of file + + + \ No newline at end of file diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 9875005..d6526ea 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,6 +1,8 @@ + {@render children()} \ No newline at end of file From dff4ed94beeafc4baef3807ccda618bdb814372b Mon Sep 17 00:00:00 2001 From: William Gu Date: Mon, 14 Sep 2026 20:40:26 +1000 Subject: [PATCH 09/56] change name to make look more professional --- src-tauri/tauri.conf.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index fcb3930..2aba2ee 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -12,7 +12,7 @@ "app": { "windows": [ { - "title": "memebin", + "title": "Memebin", "width": 800, "height": 600 } From f2d9e5e23bb1b2c3d88e5d6887b0aba1fd2d3b30 Mon Sep 17 00:00:00 2001 From: William Gu Date: Mon, 14 Sep 2026 20:46:46 +1000 Subject: [PATCH 10/56] changed navbar buttons to a const and a for each loop --- src/lib/components/navbar.svelte | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/lib/components/navbar.svelte b/src/lib/components/navbar.svelte index 58a89a0..d28d258 100644 --- a/src/lib/components/navbar.svelte +++ b/src/lib/components/navbar.svelte @@ -1,3 +1,11 @@ - - - \ No newline at end of file + + +{#each NavButtons as button} + {button.text} +{/each} \ No newline at end of file From 745f43ff1b0ee4bf4950933e6eb5ca399b5515b4 Mon Sep 17 00:00:00 2001 From: William Gu Date: Tue, 15 Sep 2026 16:52:21 +1000 Subject: [PATCH 11/56] make sure that no configcts --- src-tauri/tauri.conf.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 2aba2ee..fcb3930 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -12,7 +12,7 @@ "app": { "windows": [ { - "title": "Memebin", + "title": "memebin", "width": 800, "height": 600 } From 062df16d6a783a3bba48228c3225f8d4790a0c6e Mon Sep 17 00:00:00 2001 From: William Gu Date: Tue, 15 Sep 2026 17:39:35 +1000 Subject: [PATCH 12/56] fixes to match other branch i think --- src-tauri/tauri.conf.json | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index fcb3930..3098459 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,8 +1,8 @@ { "$schema": "https://schema.tauri.app/config/2", - "productName": "memebin", + "productName": "Memebin", "version": "0.1.0", - "identifier": "com.threethirds.tauri-app", + "identifier": "com.three-thirds.memebin", "build": { "beforeDevCommand": "pnpm dev", "devUrl": "http://localhost:1420", @@ -12,9 +12,14 @@ "app": { "windows": [ { - "title": "memebin", - "width": 800, - "height": 600 + "title": "Memebin", + "width": 400, + "height": 400, + "decorations": false, + "alwaysOnTop": true, + "center": true, + "transparent": true, + "resizable": false } ], "security": { @@ -32,4 +37,4 @@ "icons/icon.ico" ] } -} +} \ No newline at end of file From c761d29b16f142b93a2a59d2ff2f413c9c537575 Mon Sep 17 00:00:00 2001 From: William Gu Date: Tue, 15 Sep 2026 18:10:41 +1000 Subject: [PATCH 13/56] got the navbar buttons styled up now gonna do the acual text and hrefs --- src/lib/components/navbar.svelte | 10 +++++++--- src/routes/Upload/+page.svelte | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 src/routes/Upload/+page.svelte diff --git a/src/lib/components/navbar.svelte b/src/lib/components/navbar.svelte index d28d258..ca1248e 100644 --- a/src/lib/components/navbar.svelte +++ b/src/lib/components/navbar.svelte @@ -1,11 +1,15 @@ + \ No newline at end of file diff --git a/src/routes/Upload/+page.svelte b/src/routes/Upload/+page.svelte new file mode 100644 index 0000000..06bb9f5 --- /dev/null +++ b/src/routes/Upload/+page.svelte @@ -0,0 +1 @@ +be \ No newline at end of file From 312af6a1d5dd2a4894c43c3288a63d269619d1d1 Mon Sep 17 00:00:00 2001 From: William Gu Date: Tue, 15 Sep 2026 18:18:42 +1000 Subject: [PATCH 14/56] added the other two pages browse and docs. Also changes to navbar so its not just google.com --- src/lib/components/navbar.svelte | 4 ++-- src/routes/Browse/+page.svelte | 0 src/routes/Docs/+page.svelte | 0 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 src/routes/Browse/+page.svelte create mode 100644 src/routes/Docs/+page.svelte diff --git a/src/lib/components/navbar.svelte b/src/lib/components/navbar.svelte index ca1248e..462ab51 100644 --- a/src/lib/components/navbar.svelte +++ b/src/lib/components/navbar.svelte @@ -1,8 +1,8 @@ diff --git a/src/routes/Browse/+page.svelte b/src/routes/Browse/+page.svelte new file mode 100644 index 0000000..e69de29 diff --git a/src/routes/Docs/+page.svelte b/src/routes/Docs/+page.svelte new file mode 100644 index 0000000..e69de29 From 4d547dd959aaf7d8bac05ff01d2b9396b77a9e38 Mon Sep 17 00:00:00 2001 From: William Gu Date: Tue, 15 Sep 2026 18:19:38 +1000 Subject: [PATCH 15/56] remove docs --- src/routes/Docs/+page.svelte | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/routes/Docs/+page.svelte diff --git a/src/routes/Docs/+page.svelte b/src/routes/Docs/+page.svelte deleted file mode 100644 index e69de29..0000000 From 2d8ee9dc83f63234d66d607d7c010e95705a467c Mon Sep 17 00:00:00 2001 From: William Gu Date: Tue, 15 Sep 2026 18:21:54 +1000 Subject: [PATCH 16/56] added a footer --- src/lib/components/footer.svelte | 1 + src/lib/components/navbar.svelte | 2 +- src/routes/+layout.svelte | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 src/lib/components/footer.svelte diff --git a/src/lib/components/footer.svelte b/src/lib/components/footer.svelte new file mode 100644 index 0000000..e4c837b --- /dev/null +++ b/src/lib/components/footer.svelte @@ -0,0 +1 @@ +tablehelb \ No newline at end of file diff --git a/src/lib/components/navbar.svelte b/src/lib/components/navbar.svelte index 462ab51..ec25a0f 100644 --- a/src/lib/components/navbar.svelte +++ b/src/lib/components/navbar.svelte @@ -2,7 +2,7 @@ export const NavButtons = [ {href: "/Upload", text: "Upload"}, {href: "/Browse", text: "Browse"}, - {href: "/Docs", text: "Docs"} + {href: "https://github.com/three-thirds/memebin/", text: "Github"} ] diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index d6526ea..9b5a26f 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -2,7 +2,9 @@ import "../app.css"; let { children } = $props(); import Navbar from "$lib/components/navbar.svelte"; + import Footer from "$lib/components/footer.svelte"; -{@render children()} \ No newline at end of file +{@render children()} +