From b7c37574f4f90fc346bc51dd06c77c8958570b33 Mon Sep 17 00:00:00 2001 From: Stanisław Zagórowski Date: Wed, 30 Aug 2023 18:00:11 +0200 Subject: all: move front into its own directory --- .gitignore | 24 - front/.gitignore | 24 + front/index.html | 17 + front/package.json | 28 + front/pnpm-lock.yaml | 1226 +++++++++++++++++++ front/public/CNAME | 1 + .../assets/games/bumbling-builders/screenshot1.png | Bin 0 -> 58058 bytes .../assets/games/bumbling-builders/screenshot2.png | Bin 0 -> 99514 bytes .../assets/games/bumbling-builders/screenshot3.png | Bin 0 -> 44823 bytes .../assets/games/bumbling-builders/thumbnail.png | Bin 0 -> 468975 bytes front/public/assets/games/dicemask/thumbnail.png | Bin 0 -> 5538916 bytes .../public/assets/games/greachers/screenshot1.png | Bin 0 -> 3649 bytes .../public/assets/games/greachers/screenshot2.png | Bin 0 -> 3678 bytes .../public/assets/games/greachers/screenshot3.png | Bin 0 -> 4072 bytes front/public/assets/games/greachers/title.png | Bin 0 -> 4920 bytes front/public/assets/games/miro/screenshot1.png | Bin 0 -> 16082 bytes front/public/assets/games/miro/screenshot2.png | Bin 0 -> 16874 bytes front/public/assets/games/miro/screenshot3.png | Bin 0 -> 18886 bytes front/public/assets/games/miro/thumbnail.png | Bin 0 -> 6602 bytes .../assets/games/mr-final-boss/screenshot1.png | Bin 0 -> 1450742 bytes .../assets/games/mr-final-boss/screenshot2.png | Bin 0 -> 1989016 bytes .../assets/games/mr-final-boss/screenshot3.png | Bin 0 -> 1439568 bytes .../assets/games/mr-final-boss/screenshot4.png | Bin 0 -> 2193361 bytes .../assets/games/mr-final-boss/thumbnail.png | Bin 0 -> 41705 bytes .../assets/games/riff-n-rage/screenshot1.png | Bin 0 -> 10890 bytes .../assets/games/riff-n-rage/screenshot2.png | Bin 0 -> 10833 bytes .../public/assets/games/riff-n-rage/thumbnail.png | Bin 0 -> 3685 bytes .../assets/games/survive-the-temple/cover.png | Bin 0 -> 7797 bytes .../assets/games/survive-the-temple/screenshot.png | Bin 0 -> 156733 bytes .../public/assets/games/thermal-trail/gameart.png | Bin 0 -> 34983 bytes .../assets/games/thermal-trail/screenshot1.png | Bin 0 -> 59904 bytes .../assets/games/thermal-trail/screenshot2.png | Bin 0 -> 50655 bytes .../assets/games/thermal-trail/screenshot3.png | Bin 0 -> 59175 bytes .../assets/games/thermal-trail/screenshot4.png | Bin 0 -> 61715 bytes .../assets/games/thermal-trail/thumbnail.png | Bin 0 -> 34372 bytes .../assets/games/third-party/screenshot1.jpg | Bin 0 -> 27953 bytes .../assets/games/third-party/screenshot2.jpg | Bin 0 -> 75854 bytes .../assets/games/third-party/screenshot3.jpg | Bin 0 -> 86290 bytes .../assets/games/third-party/screenshot4.jpg | Bin 0 -> 115453 bytes .../public/assets/games/third-party/thumbnail.png | Bin 0 -> 38018 bytes front/public/assets/games/wuzmag/screenshot1.png | Bin 0 -> 20205 bytes front/public/assets/games/wuzmag/screenshot2.png | Bin 0 -> 27941 bytes front/public/assets/games/wuzmag/screenshot3.png | Bin 0 -> 26136 bytes front/public/assets/games/wuzmag/thumbnail.png | Bin 0 -> 10256 bytes .../public/assets/games/your-left/screenshot1.jpg | Bin 0 -> 46052 bytes .../public/assets/games/your-left/screenshot2.jpg | Bin 0 -> 69916 bytes .../public/assets/games/your-left/screenshot3.jpg | Bin 0 -> 69533 bytes front/public/assets/games/your-left/thumbnail.png | Bin 0 -> 55977 bytes front/public/assets/images/android.png | Bin 0 -> 4572 bytes front/public/assets/images/android.svg | 56 + front/public/assets/images/csharp.png | Bin 0 -> 7481 bytes front/public/assets/images/csharp.svg | 58 + front/public/assets/images/duckpfp.png | Bin 0 -> 2602 bytes front/public/assets/images/github.png | Bin 0 -> 8133 bytes front/public/assets/images/github.svg | 66 ++ front/public/assets/images/godot.png | Bin 0 -> 7910 bytes front/public/assets/images/godot.svg | 64 + front/public/assets/images/html5.png | Bin 0 -> 4446 bytes front/public/assets/images/html5.svg | 56 + front/public/assets/images/monogame.png | Bin 0 -> 12087 bytes front/public/assets/images/pfp.png | Bin 0 -> 1074 bytes front/public/assets/images/placeholder.png | Bin 0 -> 9636 bytes front/public/assets/images/unity.png | Bin 0 -> 8893 bytes front/public/assets/images/unity.svg | 56 + front/public/assets/images/windows.png | Bin 0 -> 2446 bytes front/public/assets/images/windows.svg | 56 + front/public/assets/images/xamarin.png | Bin 0 -> 15826 bytes front/public/assets/loose/github-yellow.svg | 66 ++ front/public/assets/loose/itch-yellow.svg | 55 + front/public/assets/loose/twitter-yellow.svg | 91 ++ front/public/assets/loose/web-yellow.svg | 58 + front/public/assets/projects/spirit-mod/Demo1.gif | Bin 0 -> 1075246 bytes front/public/assets/projects/spirit-mod/Demo2.gif | Bin 0 -> 4380429 bytes .../assets/projects/spirit-mod/Thumbnail.png | Bin 0 -> 73781 bytes .../assets/projects/spirit-mod/Thumbnail.webp | Bin 0 -> 266196 bytes front/src/app.css | 120 ++ front/src/app.tsx | 34 + front/src/components/carousel.css | 68 ++ front/src/components/carousel.tsx | 31 + front/src/components/navbar-item.tsx | 8 + front/src/components/navbar.css | 277 +++++ front/src/components/navbar.tsx | 20 + front/src/index.css | 121 ++ front/src/main.tsx | 5 + front/src/pages/contact.css | 22 + front/src/pages/contact.tsx | 34 + front/src/pages/games.css | 0 front/src/pages/games.tsx | 393 +++++++ front/src/pages/home.tsx | 29 + front/src/pages/projects.css | 137 +++ front/src/pages/projects.tsx | 50 + front/src/vite-env.d.ts | 1 + front/tsconfig.json | 32 + front/tsconfig.node.json | 10 + front/vite.config.ts | 7 + index.html | 17 - package.json | 28 - pnpm-lock.yaml | 1232 -------------------- public/CNAME | 1 - .../assets/games/bumbling-builders/screenshot1.png | Bin 58058 -> 0 bytes .../assets/games/bumbling-builders/screenshot2.png | Bin 99514 -> 0 bytes .../assets/games/bumbling-builders/screenshot3.png | Bin 44823 -> 0 bytes .../assets/games/bumbling-builders/thumbnail.png | Bin 468975 -> 0 bytes public/assets/games/dicemask/thumbnail.png | Bin 5538916 -> 0 bytes public/assets/games/greachers/screenshot1.png | Bin 3649 -> 0 bytes public/assets/games/greachers/screenshot2.png | Bin 3678 -> 0 bytes public/assets/games/greachers/screenshot3.png | Bin 4072 -> 0 bytes public/assets/games/greachers/title.png | Bin 4920 -> 0 bytes public/assets/games/miro/screenshot1.png | Bin 16082 -> 0 bytes public/assets/games/miro/screenshot2.png | Bin 16874 -> 0 bytes public/assets/games/miro/screenshot3.png | Bin 18886 -> 0 bytes public/assets/games/miro/thumbnail.png | Bin 6602 -> 0 bytes public/assets/games/mr-final-boss/screenshot1.png | Bin 1450742 -> 0 bytes public/assets/games/mr-final-boss/screenshot2.png | Bin 1989016 -> 0 bytes public/assets/games/mr-final-boss/screenshot3.png | Bin 1439568 -> 0 bytes public/assets/games/mr-final-boss/screenshot4.png | Bin 2193361 -> 0 bytes public/assets/games/mr-final-boss/thumbnail.png | Bin 41705 -> 0 bytes public/assets/games/riff-n-rage/screenshot1.png | Bin 10890 -> 0 bytes public/assets/games/riff-n-rage/screenshot2.png | Bin 10833 -> 0 bytes public/assets/games/riff-n-rage/thumbnail.png | Bin 3685 -> 0 bytes public/assets/games/survive-the-temple/cover.png | Bin 7797 -> 0 bytes .../assets/games/survive-the-temple/screenshot.png | Bin 156733 -> 0 bytes public/assets/games/thermal-trail/gameart.png | Bin 34983 -> 0 bytes public/assets/games/thermal-trail/screenshot1.png | Bin 59904 -> 0 bytes public/assets/games/thermal-trail/screenshot2.png | Bin 50655 -> 0 bytes public/assets/games/thermal-trail/screenshot3.png | Bin 59175 -> 0 bytes public/assets/games/thermal-trail/screenshot4.png | Bin 61715 -> 0 bytes public/assets/games/thermal-trail/thumbnail.png | Bin 34372 -> 0 bytes public/assets/games/third-party/screenshot1.jpg | Bin 27953 -> 0 bytes public/assets/games/third-party/screenshot2.jpg | Bin 75854 -> 0 bytes public/assets/games/third-party/screenshot3.jpg | Bin 86290 -> 0 bytes public/assets/games/third-party/screenshot4.jpg | Bin 115453 -> 0 bytes public/assets/games/third-party/thumbnail.png | Bin 38018 -> 0 bytes public/assets/games/wuzmag/screenshot1.png | Bin 20205 -> 0 bytes public/assets/games/wuzmag/screenshot2.png | Bin 27941 -> 0 bytes public/assets/games/wuzmag/screenshot3.png | Bin 26136 -> 0 bytes public/assets/games/wuzmag/thumbnail.png | Bin 10256 -> 0 bytes public/assets/games/your-left/screenshot1.jpg | Bin 46052 -> 0 bytes public/assets/games/your-left/screenshot2.jpg | Bin 69916 -> 0 bytes public/assets/games/your-left/screenshot3.jpg | Bin 69533 -> 0 bytes public/assets/games/your-left/thumbnail.png | Bin 55977 -> 0 bytes public/assets/images/android.png | Bin 4572 -> 0 bytes public/assets/images/android.svg | 56 - public/assets/images/csharp.png | Bin 7481 -> 0 bytes public/assets/images/csharp.svg | 58 - public/assets/images/duckpfp.png | Bin 2602 -> 0 bytes public/assets/images/github.png | Bin 8133 -> 0 bytes public/assets/images/github.svg | 66 -- public/assets/images/godot.png | Bin 7910 -> 0 bytes public/assets/images/godot.svg | 64 - public/assets/images/html5.png | Bin 4446 -> 0 bytes public/assets/images/html5.svg | 56 - public/assets/images/monogame.png | Bin 12087 -> 0 bytes public/assets/images/pfp.png | Bin 1074 -> 0 bytes public/assets/images/placeholder.png | Bin 9636 -> 0 bytes public/assets/images/unity.png | Bin 8893 -> 0 bytes public/assets/images/unity.svg | 56 - public/assets/images/windows.png | Bin 2446 -> 0 bytes public/assets/images/windows.svg | 56 - public/assets/images/xamarin.png | Bin 15826 -> 0 bytes public/assets/loose/github-yellow.svg | 66 -- public/assets/loose/itch-yellow.svg | 55 - public/assets/loose/twitter-yellow.svg | 91 -- public/assets/loose/web-yellow.svg | 58 - public/assets/projects/spirit-mod/Demo1.gif | Bin 1075246 -> 0 bytes public/assets/projects/spirit-mod/Demo2.gif | Bin 4380429 -> 0 bytes public/assets/projects/spirit-mod/Thumbnail.png | Bin 73781 -> 0 bytes public/assets/projects/spirit-mod/Thumbnail.webp | Bin 266196 -> 0 bytes src/app.css | 120 -- src/app.tsx | 34 - src/components/carousel.css | 68 -- src/components/carousel.tsx | 31 - src/components/navbar-item.tsx | 8 - src/components/navbar.css | 277 ----- src/components/navbar.tsx | 20 - src/index.css | 121 -- src/main.tsx | 5 - src/pages/contact.css | 22 - src/pages/contact.tsx | 34 - src/pages/games.css | 0 src/pages/games.tsx | 393 ------- src/pages/home.tsx | 29 - src/pages/projects.css | 137 --- src/pages/projects.tsx | 50 - src/vite-env.d.ts | 1 - tsconfig.json | 32 - tsconfig.node.json | 10 - vite.config.ts | 7 - 188 files changed, 3377 insertions(+), 3383 deletions(-) delete mode 100644 .gitignore create mode 100644 front/.gitignore create mode 100644 front/index.html create mode 100644 front/package.json create mode 100644 front/pnpm-lock.yaml create mode 100644 front/public/CNAME create mode 100644 front/public/assets/games/bumbling-builders/screenshot1.png create mode 100644 front/public/assets/games/bumbling-builders/screenshot2.png create mode 100644 front/public/assets/games/bumbling-builders/screenshot3.png create mode 100644 front/public/assets/games/bumbling-builders/thumbnail.png create mode 100644 front/public/assets/games/dicemask/thumbnail.png create mode 100644 front/public/assets/games/greachers/screenshot1.png create mode 100644 front/public/assets/games/greachers/screenshot2.png create mode 100644 front/public/assets/games/greachers/screenshot3.png create mode 100644 front/public/assets/games/greachers/title.png create mode 100644 front/public/assets/games/miro/screenshot1.png create mode 100644 front/public/assets/games/miro/screenshot2.png create mode 100644 front/public/assets/games/miro/screenshot3.png create mode 100644 front/public/assets/games/miro/thumbnail.png create mode 100644 front/public/assets/games/mr-final-boss/screenshot1.png create mode 100644 front/public/assets/games/mr-final-boss/screenshot2.png create mode 100644 front/public/assets/games/mr-final-boss/screenshot3.png create mode 100644 front/public/assets/games/mr-final-boss/screenshot4.png create mode 100644 front/public/assets/games/mr-final-boss/thumbnail.png create mode 100644 front/public/assets/games/riff-n-rage/screenshot1.png create mode 100644 front/public/assets/games/riff-n-rage/screenshot2.png create mode 100644 front/public/assets/games/riff-n-rage/thumbnail.png create mode 100644 front/public/assets/games/survive-the-temple/cover.png create mode 100644 front/public/assets/games/survive-the-temple/screenshot.png create mode 100644 front/public/assets/games/thermal-trail/gameart.png create mode 100644 front/public/assets/games/thermal-trail/screenshot1.png create mode 100644 front/public/assets/games/thermal-trail/screenshot2.png create mode 100644 front/public/assets/games/thermal-trail/screenshot3.png create mode 100644 front/public/assets/games/thermal-trail/screenshot4.png create mode 100644 front/public/assets/games/thermal-trail/thumbnail.png create mode 100644 front/public/assets/games/third-party/screenshot1.jpg create mode 100644 front/public/assets/games/third-party/screenshot2.jpg create mode 100644 front/public/assets/games/third-party/screenshot3.jpg create mode 100644 front/public/assets/games/third-party/screenshot4.jpg create mode 100644 front/public/assets/games/third-party/thumbnail.png create mode 100644 front/public/assets/games/wuzmag/screenshot1.png create mode 100644 front/public/assets/games/wuzmag/screenshot2.png create mode 100644 front/public/assets/games/wuzmag/screenshot3.png create mode 100644 front/public/assets/games/wuzmag/thumbnail.png create mode 100644 front/public/assets/games/your-left/screenshot1.jpg create mode 100644 front/public/assets/games/your-left/screenshot2.jpg create mode 100644 front/public/assets/games/your-left/screenshot3.jpg create mode 100644 front/public/assets/games/your-left/thumbnail.png create mode 100644 front/public/assets/images/android.png create mode 100644 front/public/assets/images/android.svg create mode 100644 front/public/assets/images/csharp.png create mode 100644 front/public/assets/images/csharp.svg create mode 100644 front/public/assets/images/duckpfp.png create mode 100644 front/public/assets/images/github.png create mode 100644 front/public/assets/images/github.svg create mode 100644 front/public/assets/images/godot.png create mode 100644 front/public/assets/images/godot.svg create mode 100644 front/public/assets/images/html5.png create mode 100644 front/public/assets/images/html5.svg create mode 100644 front/public/assets/images/monogame.png create mode 100644 front/public/assets/images/pfp.png create mode 100644 front/public/assets/images/placeholder.png create mode 100644 front/public/assets/images/unity.png create mode 100644 front/public/assets/images/unity.svg create mode 100644 front/public/assets/images/windows.png create mode 100644 front/public/assets/images/windows.svg create mode 100644 front/public/assets/images/xamarin.png create mode 100644 front/public/assets/loose/github-yellow.svg create mode 100644 front/public/assets/loose/itch-yellow.svg create mode 100644 front/public/assets/loose/twitter-yellow.svg create mode 100644 front/public/assets/loose/web-yellow.svg create mode 100644 front/public/assets/projects/spirit-mod/Demo1.gif create mode 100644 front/public/assets/projects/spirit-mod/Demo2.gif create mode 100644 front/public/assets/projects/spirit-mod/Thumbnail.png create mode 100644 front/public/assets/projects/spirit-mod/Thumbnail.webp create mode 100644 front/src/app.css create mode 100644 front/src/app.tsx create mode 100644 front/src/components/carousel.css create mode 100644 front/src/components/carousel.tsx create mode 100644 front/src/components/navbar-item.tsx create mode 100644 front/src/components/navbar.css create mode 100644 front/src/components/navbar.tsx create mode 100644 front/src/index.css create mode 100644 front/src/main.tsx create mode 100644 front/src/pages/contact.css create mode 100644 front/src/pages/contact.tsx create mode 100644 front/src/pages/games.css create mode 100644 front/src/pages/games.tsx create mode 100644 front/src/pages/home.tsx create mode 100644 front/src/pages/projects.css create mode 100644 front/src/pages/projects.tsx create mode 100644 front/src/vite-env.d.ts create mode 100644 front/tsconfig.json create mode 100644 front/tsconfig.node.json create mode 100644 front/vite.config.ts delete mode 100644 index.html delete mode 100644 package.json delete mode 100644 pnpm-lock.yaml delete mode 100644 public/CNAME delete mode 100644 public/assets/games/bumbling-builders/screenshot1.png delete mode 100644 public/assets/games/bumbling-builders/screenshot2.png delete mode 100644 public/assets/games/bumbling-builders/screenshot3.png delete mode 100644 public/assets/games/bumbling-builders/thumbnail.png delete mode 100644 public/assets/games/dicemask/thumbnail.png delete mode 100644 public/assets/games/greachers/screenshot1.png delete mode 100644 public/assets/games/greachers/screenshot2.png delete mode 100644 public/assets/games/greachers/screenshot3.png delete mode 100644 public/assets/games/greachers/title.png delete mode 100644 public/assets/games/miro/screenshot1.png delete mode 100644 public/assets/games/miro/screenshot2.png delete mode 100644 public/assets/games/miro/screenshot3.png delete mode 100644 public/assets/games/miro/thumbnail.png delete mode 100644 public/assets/games/mr-final-boss/screenshot1.png delete mode 100644 public/assets/games/mr-final-boss/screenshot2.png delete mode 100644 public/assets/games/mr-final-boss/screenshot3.png delete mode 100644 public/assets/games/mr-final-boss/screenshot4.png delete mode 100644 public/assets/games/mr-final-boss/thumbnail.png delete mode 100644 public/assets/games/riff-n-rage/screenshot1.png delete mode 100644 public/assets/games/riff-n-rage/screenshot2.png delete mode 100644 public/assets/games/riff-n-rage/thumbnail.png delete mode 100644 public/assets/games/survive-the-temple/cover.png delete mode 100644 public/assets/games/survive-the-temple/screenshot.png delete mode 100644 public/assets/games/thermal-trail/gameart.png delete mode 100644 public/assets/games/thermal-trail/screenshot1.png delete mode 100644 public/assets/games/thermal-trail/screenshot2.png delete mode 100644 public/assets/games/thermal-trail/screenshot3.png delete mode 100644 public/assets/games/thermal-trail/screenshot4.png delete mode 100644 public/assets/games/thermal-trail/thumbnail.png delete mode 100644 public/assets/games/third-party/screenshot1.jpg delete mode 100644 public/assets/games/third-party/screenshot2.jpg delete mode 100644 public/assets/games/third-party/screenshot3.jpg delete mode 100644 public/assets/games/third-party/screenshot4.jpg delete mode 100644 public/assets/games/third-party/thumbnail.png delete mode 100644 public/assets/games/wuzmag/screenshot1.png delete mode 100644 public/assets/games/wuzmag/screenshot2.png delete mode 100644 public/assets/games/wuzmag/screenshot3.png delete mode 100644 public/assets/games/wuzmag/thumbnail.png delete mode 100644 public/assets/games/your-left/screenshot1.jpg delete mode 100644 public/assets/games/your-left/screenshot2.jpg delete mode 100644 public/assets/games/your-left/screenshot3.jpg delete mode 100644 public/assets/games/your-left/thumbnail.png delete mode 100644 public/assets/images/android.png delete mode 100644 public/assets/images/android.svg delete mode 100644 public/assets/images/csharp.png delete mode 100644 public/assets/images/csharp.svg delete mode 100644 public/assets/images/duckpfp.png delete mode 100644 public/assets/images/github.png delete mode 100644 public/assets/images/github.svg delete mode 100644 public/assets/images/godot.png delete mode 100644 public/assets/images/godot.svg delete mode 100644 public/assets/images/html5.png delete mode 100644 public/assets/images/html5.svg delete mode 100644 public/assets/images/monogame.png delete mode 100644 public/assets/images/pfp.png delete mode 100644 public/assets/images/placeholder.png delete mode 100644 public/assets/images/unity.png delete mode 100644 public/assets/images/unity.svg delete mode 100644 public/assets/images/windows.png delete mode 100644 public/assets/images/windows.svg delete mode 100644 public/assets/images/xamarin.png delete mode 100644 public/assets/loose/github-yellow.svg delete mode 100644 public/assets/loose/itch-yellow.svg delete mode 100644 public/assets/loose/twitter-yellow.svg delete mode 100644 public/assets/loose/web-yellow.svg delete mode 100644 public/assets/projects/spirit-mod/Demo1.gif delete mode 100644 public/assets/projects/spirit-mod/Demo2.gif delete mode 100644 public/assets/projects/spirit-mod/Thumbnail.png delete mode 100644 public/assets/projects/spirit-mod/Thumbnail.webp delete mode 100644 src/app.css delete mode 100644 src/app.tsx delete mode 100644 src/components/carousel.css delete mode 100644 src/components/carousel.tsx delete mode 100644 src/components/navbar-item.tsx delete mode 100644 src/components/navbar.css delete mode 100644 src/components/navbar.tsx delete mode 100644 src/index.css delete mode 100644 src/main.tsx delete mode 100644 src/pages/contact.css delete mode 100644 src/pages/contact.tsx delete mode 100644 src/pages/games.css delete mode 100644 src/pages/games.tsx delete mode 100644 src/pages/home.tsx delete mode 100644 src/pages/projects.css delete mode 100644 src/pages/projects.tsx delete mode 100644 src/vite-env.d.ts delete mode 100644 tsconfig.json delete mode 100644 tsconfig.node.json delete mode 100644 vite.config.ts diff --git a/.gitignore b/.gitignore deleted file mode 100644 index a547bf3..0000000 --- a/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/front/.gitignore b/front/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/front/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/front/index.html b/front/index.html new file mode 100644 index 0000000..ce197cb --- /dev/null +++ b/front/index.html @@ -0,0 +1,17 @@ + + + + + + + + + duckonaut.dev + + + +
+ + + + diff --git a/front/package.json b/front/package.json new file mode 100644 index 0000000..4ca6ac3 --- /dev/null +++ b/front/package.json @@ -0,0 +1,28 @@ +{ + "name": "duckonaut.dev", + "homepage": "https://duckonaut.dev", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview", + "predeploy": "pnpm run build", + "deploy": "gh-pages -d dist" + }, + "dependencies": { + "history": "^5.3.0", + "preact": "^10.17.0", + "preact-router": "^4.1.2", + "react-slick": "^0.29.0", + "slick-carousel": "^1.8.1" + }, + "devDependencies": { + "@preact/preset-vite": "^2.5.0", + "@types/react-slick": "^0.23.10", + "gh-pages": "^6.0.0", + "typescript": "^5.1.6", + "vite": "^4.4.9" + } +} diff --git a/front/pnpm-lock.yaml b/front/pnpm-lock.yaml new file mode 100644 index 0000000..fb16f09 --- /dev/null +++ b/front/pnpm-lock.yaml @@ -0,0 +1,1226 @@ +lockfileVersion: 5.4 + +specifiers: + '@preact/preset-vite': ^2.5.0 + '@types/react-slick': ^0.23.10 + gh-pages: ^6.0.0 + history: ^5.3.0 + preact: ^10.17.0 + preact-router: ^4.1.2 + react-slick: ^0.29.0 + slick-carousel: ^1.8.1 + typescript: ^5.1.6 + vite: ^4.4.9 + +dependencies: + history: 5.3.0 + preact: 10.17.0 + preact-router: 4.1.2_preact@10.17.0 + react-slick: 0.29.0 + slick-carousel: 1.8.1 + +devDependencies: + '@preact/preset-vite': 2.5.0_preact@10.17.0+vite@4.4.9 + '@types/react-slick': 0.23.10 + gh-pages: 6.0.0 + typescript: 5.1.6 + vite: 4.4.9 + +packages: + + /@ampproject/remapping/2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.19 + dev: true + + /@babel/code-frame/7.22.10: + resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.10 + chalk: 2.4.2 + dev: true + + /@babel/compat-data/7.22.9: + resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core/7.22.10: + resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-module-transforms': 7.22.9_@babel+core@7.22.10 + '@babel/helpers': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator/7.22.10: + resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.10 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.19 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure/7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.10 + dev: true + + /@babel/helper-compilation-targets/7.22.10: + resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/helper-validator-option': 7.22.5 + browserslist: 4.21.10 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-environment-visitor/7.22.5: + resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name/7.22.5: + resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.5 + '@babel/types': 7.22.10 + dev: true + + /@babel/helper-hoist-variables/7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.10 + dev: true + + /@babel/helper-module-imports/7.22.5: + resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.10 + dev: true + + /@babel/helper-module-transforms/7.22.9_@babel+core@7.22.10: + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.10 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.5 + dev: true + + /@babel/helper-plugin-utils/7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-simple-access/7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.10 + dev: true + + /@babel/helper-split-export-declaration/7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.10 + dev: true + + /@babel/helper-string-parser/7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier/7.22.5: + resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option/7.22.5: + resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers/7.22.10: + resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight/7.22.10: + resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.5 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser/7.22.10: + resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.10 + dev: true + + /@babel/plugin-syntax-jsx/7.22.5: + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-react-jsx-development/7.22.5: + resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/plugin-transform-react-jsx': 7.22.5 + dev: true + + /@babel/plugin-transform-react-jsx/7.22.5: + resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.22.5 + '@babel/types': 7.22.10 + dev: true + + /@babel/runtime/7.22.10: + resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.0 + dev: false + + /@babel/template/7.22.5: + resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 + dev: true + + /@babel/traverse/7.22.10: + resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types/7.22.10: + resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 + to-fast-properties: 2.0.0 + dev: true + + /@esbuild/android-arm/0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64/0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64/0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64/0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64/0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64/0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64/0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm/0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64/0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32/0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el/0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64/0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64/0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x/0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64/0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64/0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64/0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64/0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64/0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32/0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64/0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@jridgewell/gen-mapping/0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.19 + dev: true + + /@jridgewell/resolve-uri/3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec/1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping/0.3.19: + resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@preact/preset-vite/2.5.0_preact@10.17.0+vite@4.4.9: + resolution: {integrity: sha512-BUhfB2xQ6ex0yPkrT1Z3LbfPzjpJecOZwQ/xJrXGFSZD84+ObyS//41RdEoQCMWsM0t7UHGaujUxUBub7WM1Jw==} + peerDependencies: + '@babel/core': 7.x + vite: 2.x || 3.x || 4.x + dependencies: + '@babel/plugin-transform-react-jsx': 7.22.5 + '@babel/plugin-transform-react-jsx-development': 7.22.5 + '@prefresh/vite': 2.4.1_preact@10.17.0+vite@4.4.9 + '@rollup/pluginutils': 4.2.1 + babel-plugin-transform-hook-names: 1.0.2 + debug: 4.3.4 + kolorist: 1.8.0 + resolve: 1.22.4 + vite: 4.4.9 + transitivePeerDependencies: + - preact + - supports-color + dev: true + + /@prefresh/babel-plugin/0.5.0: + resolution: {integrity: sha512-joAwpkUDwo7ZqJnufXRGzUb+udk20RBgfA8oLPBh5aJH2LeStmV1luBfeJTztPdyCscC2j2SmZ/tVxFRMIxAEw==} + dev: true + + /@prefresh/core/1.5.1_preact@10.17.0: + resolution: {integrity: sha512-e0mB0Oxtog6ZpKPDBYbzFniFJDIktuKMzOHp7sguntU+ot0yi6dbhJRE9Css1qf0u16wdSZjpL2W2ODWuU05Cw==} + peerDependencies: + preact: ^10.0.0 + dependencies: + preact: 10.17.0 + dev: true + + /@prefresh/utils/1.2.0: + resolution: {integrity: sha512-KtC/fZw+oqtwOLUFM9UtiitB0JsVX0zLKNyRTA332sqREqSALIIQQxdUCS1P3xR/jT1e2e8/5rwH6gdcMLEmsQ==} + dev: true + + /@prefresh/vite/2.4.1_preact@10.17.0+vite@4.4.9: + resolution: {integrity: sha512-vthWmEqu8TZFeyrBNc9YE5SiC3DVSzPgsOCp/WQ7FqdHpOIJi7Z8XvCK06rBPOtG4914S52MjG9Ls22eVAiuqQ==} + peerDependencies: + preact: ^10.4.0 + vite: '>=2.0.0' + dependencies: + '@babel/core': 7.22.10 + '@prefresh/babel-plugin': 0.5.0 + '@prefresh/core': 1.5.1_preact@10.17.0 + '@prefresh/utils': 1.2.0 + '@rollup/pluginutils': 4.2.1 + preact: 10.17.0 + vite: 4.4.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@rollup/pluginutils/4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@types/prop-types/15.7.5: + resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + dev: true + + /@types/react-slick/0.23.10: + resolution: {integrity: sha512-ZiqdencANDZy6sWOWJ54LDvebuXFEhDlHtXU9FFipQR2BcYU2QJxZhvJPW6YK7cocibUiNn+YvDTbt1HtCIBVA==} + dependencies: + '@types/react': 18.2.20 + dev: true + + /@types/react/18.2.20: + resolution: {integrity: sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==} + dependencies: + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.3 + csstype: 3.1.2 + dev: true + + /@types/scheduler/0.16.3: + resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} + dev: true + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /array-union/1.0.2: + resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} + engines: {node: '>=0.10.0'} + dependencies: + array-uniq: 1.0.3 + dev: true + + /array-uniq/1.0.3: + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} + engines: {node: '>=0.10.0'} + dev: true + + /async/3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: true + + /babel-plugin-transform-hook-names/1.0.2: + resolution: {integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==} + peerDependencies: + '@babel/core': ^7.12.10 + dev: true + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /browserslist/4.21.10: + resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001521 + electron-to-chromium: 1.4.492 + node-releases: 2.0.13 + update-browserslist-db: 1.0.11_browserslist@4.21.10 + dev: true + + /caniuse-lite/1.0.30001521: + resolution: {integrity: sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==} + dev: true + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /classnames/2.3.2: + resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} + dev: false + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /commander/11.0.0: + resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} + engines: {node: '>=16'} + dev: true + + /commondir/1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /convert-source-map/1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true + + /csstype/3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: true + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /electron-to-chromium/1.4.492: + resolution: {integrity: sha512-36K9b/6skMVwAIEsC7GiQ8I8N3soCALVSHqWHzNDtGemAcI9Xu8hP02cywWM0A794rTHm0b0zHPeLJHtgFVamQ==} + dev: true + + /email-addresses/5.0.0: + resolution: {integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==} + dev: true + + /enquire.js/2.1.6: + resolution: {integrity: sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw==} + dev: false + + /esbuild/0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + dev: true + + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /estree-walker/2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + dev: true + + /filename-reserved-regex/2.0.0: + resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} + engines: {node: '>=4'} + dev: true + + /filenamify/4.3.0: + resolution: {integrity: sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==} + engines: {node: '>=8'} + dependencies: + filename-reserved-regex: 2.0.0 + strip-outer: 1.0.1 + trim-repeated: 1.0.0 + dev: true + + /find-cache-dir/3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + dev: true + + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /fs-extra/11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /gensync/1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /gh-pages/6.0.0: + resolution: {integrity: sha512-FXZWJRsvP/fK2HJGY+Di6FRNHvqFF6gOIELaopDjXXgjeOYSNURcuYwEO/6bwuq6koP5Lnkvnr5GViXzuOB89g==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 3.2.4 + commander: 11.0.0 + email-addresses: 5.0.0 + filenamify: 4.3.0 + find-cache-dir: 3.3.2 + fs-extra: 11.1.1 + globby: 6.1.0 + dev: true + + /glob/7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals/11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globby/6.1.0: + resolution: {integrity: sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==} + engines: {node: '>=0.10.0'} + dependencies: + array-union: 1.0.2 + glob: 7.2.3 + object-assign: 4.1.1 + pify: 2.3.0 + pinkie-promise: 2.0.1 + dev: true + + /graceful-fs/4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /has-flag/3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /history/5.3.0: + resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} + dependencies: + '@babel/runtime': 7.22.10 + dev: false + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /is-core-module/2.13.0: + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + dependencies: + has: 1.0.3 + dev: true + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /jsesc/2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json2mq/0.2.0: + resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==} + dependencies: + string-convert: 0.2.1 + dev: false + + /json5/2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonfile/6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /kolorist/1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + dev: true + + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /lodash.debounce/4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: false + + /lru-cache/5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /make-dir/3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + dev: true + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /nanoid/3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /node-releases/2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + dev: true + + /object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pify/2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pinkie-promise/2.0.1: + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} + engines: {node: '>=0.10.0'} + dependencies: + pinkie: 2.0.4 + dev: true + + /pinkie/2.0.4: + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} + engines: {node: '>=0.10.0'} + dev: true + + /pkg-dir/4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /postcss/8.4.28: + resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /preact-router/4.1.2_preact@10.17.0: + resolution: {integrity: sha512-uICUaUFYh+XQ+6vZtQn1q+X6rSqwq+zorWOCLWPF5FAsQh3EJ+RsDQ9Ee+fjk545YWQHfUxhrBAaemfxEnMOUg==} + peerDependencies: + preact: '>=10' + dependencies: + preact: 10.17.0 + dev: false + + /preact/10.17.0: + resolution: {integrity: sha512-SNsI8cbaCcUS5tbv9nlXuCfIXnJ9ysBMWk0WnB6UWwcVA3qZ2O6FxqDFECMAMttvLQcW/HaNZUe2BLidyvrVYw==} + + /react-slick/0.29.0: + resolution: {integrity: sha512-TGdOKE+ZkJHHeC4aaoH85m8RnFyWqdqRfAGkhd6dirmATXMZWAxOpTLmw2Ll/jPTQ3eEG7ercFr/sbzdeYCJXA==} + peerDependencies: + react: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 + dependencies: + classnames: 2.3.2 + enquire.js: 2.1.6 + json2mq: 0.2.0 + lodash.debounce: 4.0.8 + resize-observer-polyfill: 1.5.1 + dev: false + + /regenerator-runtime/0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + dev: false + + /resize-observer-polyfill/1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + dev: false + + /resolve/1.22.4: + resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} + hasBin: true + dependencies: + is-core-module: 2.13.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /rollup/3.28.0: + resolution: {integrity: sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /semver/6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + + /slick-carousel/1.8.1: + resolution: {integrity: sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==} + peerDependencies: + jquery: '>=1.8.0' + dev: false + + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /string-convert/0.2.1: + resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} + dev: false + + /strip-outer/1.0.1: + resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} + engines: {node: '>=0.10.0'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /to-fast-properties/2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /trim-repeated/1.0.0: + resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} + engines: {node: '>=0.10.0'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /typescript/5.1.6: + resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /universalify/2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + + /update-browserslist-db/1.0.11_browserslist@4.21.10: + resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.10 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /vite/4.4.9: + resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.18.20 + postcss: 8.4.28 + rollup: 3.28.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /yallist/3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true diff --git a/front/public/CNAME b/front/public/CNAME new file mode 100644 index 0000000..4fafb77 --- /dev/null +++ b/front/public/CNAME @@ -0,0 +1 @@ +duckonaut.dev diff --git a/front/public/assets/games/bumbling-builders/screenshot1.png b/front/public/assets/games/bumbling-builders/screenshot1.png new file mode 100644 index 0000000..7a8a2db Binary files /dev/null and b/front/public/assets/games/bumbling-builders/screenshot1.png differ diff --git a/front/public/assets/games/bumbling-builders/screenshot2.png b/front/public/assets/games/bumbling-builders/screenshot2.png new file mode 100644 index 0000000..5eb0a1f Binary files /dev/null and b/front/public/assets/games/bumbling-builders/screenshot2.png differ diff --git a/front/public/assets/games/bumbling-builders/screenshot3.png b/front/public/assets/games/bumbling-builders/screenshot3.png new file mode 100644 index 0000000..41f65ac Binary files /dev/null and b/front/public/assets/games/bumbling-builders/screenshot3.png differ diff --git a/front/public/assets/games/bumbling-builders/thumbnail.png b/front/public/assets/games/bumbling-builders/thumbnail.png new file mode 100644 index 0000000..1c723a2 Binary files /dev/null and b/front/public/assets/games/bumbling-builders/thumbnail.png differ diff --git a/front/public/assets/games/dicemask/thumbnail.png b/front/public/assets/games/dicemask/thumbnail.png new file mode 100644 index 0000000..f9bc9ee Binary files /dev/null and b/front/public/assets/games/dicemask/thumbnail.png differ diff --git a/front/public/assets/games/greachers/screenshot1.png b/front/public/assets/games/greachers/screenshot1.png new file mode 100644 index 0000000..444106e Binary files /dev/null and b/front/public/assets/games/greachers/screenshot1.png differ diff --git a/front/public/assets/games/greachers/screenshot2.png b/front/public/assets/games/greachers/screenshot2.png new file mode 100644 index 0000000..e968c4f Binary files /dev/null and b/front/public/assets/games/greachers/screenshot2.png differ diff --git a/front/public/assets/games/greachers/screenshot3.png b/front/public/assets/games/greachers/screenshot3.png new file mode 100644 index 0000000..6433fb6 Binary files /dev/null and b/front/public/assets/games/greachers/screenshot3.png differ diff --git a/front/public/assets/games/greachers/title.png b/front/public/assets/games/greachers/title.png new file mode 100644 index 0000000..cdb3e67 Binary files /dev/null and b/front/public/assets/games/greachers/title.png differ diff --git a/front/public/assets/games/miro/screenshot1.png b/front/public/assets/games/miro/screenshot1.png new file mode 100644 index 0000000..5ba2365 Binary files /dev/null and b/front/public/assets/games/miro/screenshot1.png differ diff --git a/front/public/assets/games/miro/screenshot2.png b/front/public/assets/games/miro/screenshot2.png new file mode 100644 index 0000000..706e47a Binary files /dev/null and b/front/public/assets/games/miro/screenshot2.png differ diff --git a/front/public/assets/games/miro/screenshot3.png b/front/public/assets/games/miro/screenshot3.png new file mode 100644 index 0000000..237be9c Binary files /dev/null and b/front/public/assets/games/miro/screenshot3.png differ diff --git a/front/public/assets/games/miro/thumbnail.png b/front/public/assets/games/miro/thumbnail.png new file mode 100644 index 0000000..152acfc Binary files /dev/null and b/front/public/assets/games/miro/thumbnail.png differ diff --git a/front/public/assets/games/mr-final-boss/screenshot1.png b/front/public/assets/games/mr-final-boss/screenshot1.png new file mode 100644 index 0000000..d13f639 Binary files /dev/null and b/front/public/assets/games/mr-final-boss/screenshot1.png differ diff --git a/front/public/assets/games/mr-final-boss/screenshot2.png b/front/public/assets/games/mr-final-boss/screenshot2.png new file mode 100644 index 0000000..6b07d1c Binary files /dev/null and b/front/public/assets/games/mr-final-boss/screenshot2.png differ diff --git a/front/public/assets/games/mr-final-boss/screenshot3.png b/front/public/assets/games/mr-final-boss/screenshot3.png new file mode 100644 index 0000000..bf6d965 Binary files /dev/null and b/front/public/assets/games/mr-final-boss/screenshot3.png differ diff --git a/front/public/assets/games/mr-final-boss/screenshot4.png b/front/public/assets/games/mr-final-boss/screenshot4.png new file mode 100644 index 0000000..c6b4cbe Binary files /dev/null and b/front/public/assets/games/mr-final-boss/screenshot4.png differ diff --git a/front/public/assets/games/mr-final-boss/thumbnail.png b/front/public/assets/games/mr-final-boss/thumbnail.png new file mode 100644 index 0000000..024dab4 Binary files /dev/null and b/front/public/assets/games/mr-final-boss/thumbnail.png differ diff --git a/front/public/assets/games/riff-n-rage/screenshot1.png b/front/public/assets/games/riff-n-rage/screenshot1.png new file mode 100644 index 0000000..6a9b075 Binary files /dev/null and b/front/public/assets/games/riff-n-rage/screenshot1.png differ diff --git a/front/public/assets/games/riff-n-rage/screenshot2.png b/front/public/assets/games/riff-n-rage/screenshot2.png new file mode 100644 index 0000000..5b68901 Binary files /dev/null and b/front/public/assets/games/riff-n-rage/screenshot2.png differ diff --git a/front/public/assets/games/riff-n-rage/thumbnail.png b/front/public/assets/games/riff-n-rage/thumbnail.png new file mode 100644 index 0000000..fa8dcad Binary files /dev/null and b/front/public/assets/games/riff-n-rage/thumbnail.png differ diff --git a/front/public/assets/games/survive-the-temple/cover.png b/front/public/assets/games/survive-the-temple/cover.png new file mode 100644 index 0000000..5394eeb Binary files /dev/null and b/front/public/assets/games/survive-the-temple/cover.png differ diff --git a/front/public/assets/games/survive-the-temple/screenshot.png b/front/public/assets/games/survive-the-temple/screenshot.png new file mode 100644 index 0000000..92b8ba9 Binary files /dev/null and b/front/public/assets/games/survive-the-temple/screenshot.png differ diff --git a/front/public/assets/games/thermal-trail/gameart.png b/front/public/assets/games/thermal-trail/gameart.png new file mode 100644 index 0000000..34c82bc Binary files /dev/null and b/front/public/assets/games/thermal-trail/gameart.png differ diff --git a/front/public/assets/games/thermal-trail/screenshot1.png b/front/public/assets/games/thermal-trail/screenshot1.png new file mode 100644 index 0000000..4b940aa Binary files /dev/null and b/front/public/assets/games/thermal-trail/screenshot1.png differ diff --git a/front/public/assets/games/thermal-trail/screenshot2.png b/front/public/assets/games/thermal-trail/screenshot2.png new file mode 100644 index 0000000..0594eb9 Binary files /dev/null and b/front/public/assets/games/thermal-trail/screenshot2.png differ diff --git a/front/public/assets/games/thermal-trail/screenshot3.png b/front/public/assets/games/thermal-trail/screenshot3.png new file mode 100644 index 0000000..b5a4a6d Binary files /dev/null and b/front/public/assets/games/thermal-trail/screenshot3.png differ diff --git a/front/public/assets/games/thermal-trail/screenshot4.png b/front/public/assets/games/thermal-trail/screenshot4.png new file mode 100644 index 0000000..1356226 Binary files /dev/null and b/front/public/assets/games/thermal-trail/screenshot4.png differ diff --git a/front/public/assets/games/thermal-trail/thumbnail.png b/front/public/assets/games/thermal-trail/thumbnail.png new file mode 100644 index 0000000..d779c51 Binary files /dev/null and b/front/public/assets/games/thermal-trail/thumbnail.png differ diff --git a/front/public/assets/games/third-party/screenshot1.jpg b/front/public/assets/games/third-party/screenshot1.jpg new file mode 100644 index 0000000..6052ea2 Binary files /dev/null and b/front/public/assets/games/third-party/screenshot1.jpg differ diff --git a/front/public/assets/games/third-party/screenshot2.jpg b/front/public/assets/games/third-party/screenshot2.jpg new file mode 100644 index 0000000..7a16edf Binary files /dev/null and b/front/public/assets/games/third-party/screenshot2.jpg differ diff --git a/front/public/assets/games/third-party/screenshot3.jpg b/front/public/assets/games/third-party/screenshot3.jpg new file mode 100644 index 0000000..57e2d5b Binary files /dev/null and b/front/public/assets/games/third-party/screenshot3.jpg differ diff --git a/front/public/assets/games/third-party/screenshot4.jpg b/front/public/assets/games/third-party/screenshot4.jpg new file mode 100644 index 0000000..331594a Binary files /dev/null and b/front/public/assets/games/third-party/screenshot4.jpg differ diff --git a/front/public/assets/games/third-party/thumbnail.png b/front/public/assets/games/third-party/thumbnail.png new file mode 100644 index 0000000..c3cd158 Binary files /dev/null and b/front/public/assets/games/third-party/thumbnail.png differ diff --git a/front/public/assets/games/wuzmag/screenshot1.png b/front/public/assets/games/wuzmag/screenshot1.png new file mode 100644 index 0000000..186be8c Binary files /dev/null and b/front/public/assets/games/wuzmag/screenshot1.png differ diff --git a/front/public/assets/games/wuzmag/screenshot2.png b/front/public/assets/games/wuzmag/screenshot2.png new file mode 100644 index 0000000..683d7ee Binary files /dev/null and b/front/public/assets/games/wuzmag/screenshot2.png differ diff --git a/front/public/assets/games/wuzmag/screenshot3.png b/front/public/assets/games/wuzmag/screenshot3.png new file mode 100644 index 0000000..b5398bb Binary files /dev/null and b/front/public/assets/games/wuzmag/screenshot3.png differ diff --git a/front/public/assets/games/wuzmag/thumbnail.png b/front/public/assets/games/wuzmag/thumbnail.png new file mode 100644 index 0000000..0e6dea1 Binary files /dev/null and b/front/public/assets/games/wuzmag/thumbnail.png differ diff --git a/front/public/assets/games/your-left/screenshot1.jpg b/front/public/assets/games/your-left/screenshot1.jpg new file mode 100644 index 0000000..e76861a Binary files /dev/null and b/front/public/assets/games/your-left/screenshot1.jpg differ diff --git a/front/public/assets/games/your-left/screenshot2.jpg b/front/public/assets/games/your-left/screenshot2.jpg new file mode 100644 index 0000000..9e0f674 Binary files /dev/null and b/front/public/assets/games/your-left/screenshot2.jpg differ diff --git a/front/public/assets/games/your-left/screenshot3.jpg b/front/public/assets/games/your-left/screenshot3.jpg new file mode 100644 index 0000000..d025ec1 Binary files /dev/null and b/front/public/assets/games/your-left/screenshot3.jpg differ diff --git a/front/public/assets/games/your-left/thumbnail.png b/front/public/assets/games/your-left/thumbnail.png new file mode 100644 index 0000000..95f5c17 Binary files /dev/null and b/front/public/assets/games/your-left/thumbnail.png differ diff --git a/front/public/assets/images/android.png b/front/public/assets/images/android.png new file mode 100644 index 0000000..d1cef88 Binary files /dev/null and b/front/public/assets/images/android.png differ diff --git a/front/public/assets/images/android.svg b/front/public/assets/images/android.svg new file mode 100644 index 0000000..910aaab --- /dev/null +++ b/front/public/assets/images/android.svg @@ -0,0 +1,56 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/front/public/assets/images/csharp.png b/front/public/assets/images/csharp.png new file mode 100644 index 0000000..065aa53 Binary files /dev/null and b/front/public/assets/images/csharp.png differ diff --git a/front/public/assets/images/csharp.svg b/front/public/assets/images/csharp.svg new file mode 100644 index 0000000..77d5b38 --- /dev/null +++ b/front/public/assets/images/csharp.svg @@ -0,0 +1,58 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/front/public/assets/images/duckpfp.png b/front/public/assets/images/duckpfp.png new file mode 100644 index 0000000..bdad92c Binary files /dev/null and b/front/public/assets/images/duckpfp.png differ diff --git a/front/public/assets/images/github.png b/front/public/assets/images/github.png new file mode 100644 index 0000000..0954581 Binary files /dev/null and b/front/public/assets/images/github.png differ diff --git a/front/public/assets/images/github.svg b/front/public/assets/images/github.svg new file mode 100644 index 0000000..11f84aa --- /dev/null +++ b/front/public/assets/images/github.svg @@ -0,0 +1,66 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/front/public/assets/images/godot.png b/front/public/assets/images/godot.png new file mode 100644 index 0000000..4f2bc22 Binary files /dev/null and b/front/public/assets/images/godot.png differ diff --git a/front/public/assets/images/godot.svg b/front/public/assets/images/godot.svg new file mode 100644 index 0000000..6a2176a --- /dev/null +++ b/front/public/assets/images/godot.svg @@ -0,0 +1,64 @@ + + + + + + image/svg+xml + + + + + + + + + + diff --git a/front/public/assets/images/html5.png b/front/public/assets/images/html5.png new file mode 100644 index 0000000..e0dcb1f Binary files /dev/null and b/front/public/assets/images/html5.png differ diff --git a/front/public/assets/images/html5.svg b/front/public/assets/images/html5.svg new file mode 100644 index 0000000..70959e4 --- /dev/null +++ b/front/public/assets/images/html5.svg @@ -0,0 +1,56 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/front/public/assets/images/monogame.png b/front/public/assets/images/monogame.png new file mode 100644 index 0000000..8648bcc Binary files /dev/null and b/front/public/assets/images/monogame.png differ diff --git a/front/public/assets/images/pfp.png b/front/public/assets/images/pfp.png new file mode 100644 index 0000000..a18b664 Binary files /dev/null and b/front/public/assets/images/pfp.png differ diff --git a/front/public/assets/images/placeholder.png b/front/public/assets/images/placeholder.png new file mode 100644 index 0000000..97084c7 Binary files /dev/null and b/front/public/assets/images/placeholder.png differ diff --git a/front/public/assets/images/unity.png b/front/public/assets/images/unity.png new file mode 100644 index 0000000..5fea459 Binary files /dev/null and b/front/public/assets/images/unity.png differ diff --git a/front/public/assets/images/unity.svg b/front/public/assets/images/unity.svg new file mode 100644 index 0000000..b9d1859 --- /dev/null +++ b/front/public/assets/images/unity.svg @@ -0,0 +1,56 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/front/public/assets/images/windows.png b/front/public/assets/images/windows.png new file mode 100644 index 0000000..a09553e Binary files /dev/null and b/front/public/assets/images/windows.png differ diff --git a/front/public/assets/images/windows.svg b/front/public/assets/images/windows.svg new file mode 100644 index 0000000..cb347b6 --- /dev/null +++ b/front/public/assets/images/windows.svg @@ -0,0 +1,56 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/front/public/assets/images/xamarin.png b/front/public/assets/images/xamarin.png new file mode 100644 index 0000000..91ce4ac Binary files /dev/null and b/front/public/assets/images/xamarin.png differ diff --git a/front/public/assets/loose/github-yellow.svg b/front/public/assets/loose/github-yellow.svg new file mode 100644 index 0000000..f81e9b9 --- /dev/null +++ b/front/public/assets/loose/github-yellow.svg @@ -0,0 +1,66 @@ + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/front/public/assets/loose/itch-yellow.svg b/front/public/assets/loose/itch-yellow.svg new file mode 100644 index 0000000..008c7b1 --- /dev/null +++ b/front/public/assets/loose/itch-yellow.svg @@ -0,0 +1,55 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/front/public/assets/loose/twitter-yellow.svg b/front/public/assets/loose/twitter-yellow.svg new file mode 100644 index 0000000..ec6168d --- /dev/null +++ b/front/public/assets/loose/twitter-yellow.svg @@ -0,0 +1,91 @@ + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/front/public/assets/loose/web-yellow.svg b/front/public/assets/loose/web-yellow.svg new file mode 100644 index 0000000..b61babc --- /dev/null +++ b/front/public/assets/loose/web-yellow.svg @@ -0,0 +1,58 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/front/public/assets/projects/spirit-mod/Demo1.gif b/front/public/assets/projects/spirit-mod/Demo1.gif new file mode 100644 index 0000000..324de0c Binary files /dev/null and b/front/public/assets/projects/spirit-mod/Demo1.gif differ diff --git a/front/public/assets/projects/spirit-mod/Demo2.gif b/front/public/assets/projects/spirit-mod/Demo2.gif new file mode 100644 index 0000000..4e87fd8 Binary files /dev/null and b/front/public/assets/projects/spirit-mod/Demo2.gif differ diff --git a/front/public/assets/projects/spirit-mod/Thumbnail.png b/front/public/assets/projects/spirit-mod/Thumbnail.png new file mode 100644 index 0000000..55f8d7e Binary files /dev/null and b/front/public/assets/projects/spirit-mod/Thumbnail.png differ diff --git a/front/public/assets/projects/spirit-mod/Thumbnail.webp b/front/public/assets/projects/spirit-mod/Thumbnail.webp new file mode 100644 index 0000000..0250f72 Binary files /dev/null and b/front/public/assets/projects/spirit-mod/Thumbnail.webp differ diff --git a/front/src/app.css b/front/src/app.css new file mode 100644 index 0000000..b4086a2 --- /dev/null +++ b/front/src/app.css @@ -0,0 +1,120 @@ +#app-main { + font-family: 'Hack', monospace; + max-width: 1280px; + margin: 0 auto; + padding: 2rem 2rem 2rem 2rem; + text-align: center; +} + +#app { + margin: 0 auto; + text-align: center; + align-content: center; + justify-content: center; +} + +.logo { + height: 6em; + padding: 1.5em; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.preact:hover { + filter: drop-shadow(0 0 2em #673ab8aa); +} + +.main-info { + text-align: center; +} + +@media (min-width: 1150px) { + .main-info { + margin-top: 72px; + } +} + +.main-info-image { + width: 128px; + height: 128px; + border-radius: 100%; + margin: 6px 6px 6px 6px; +} + +.main-info-title { + font-size: 42pt; +} + +.main-info-subtitle { + font-size: 26pt; + font-style: italic; + color: #5c6370; +} + +.quiet { + color: var(--color-gray); + font-style: italic; +} + +.section { + font-size: 22pt; +} + +.highlight { + color: #e5c07b; +} + +@media (max-width: 480px) { + .main-info-title { + font-size: 32pt; + } + + .main-info-subtitle { + font-size: 18pt; + } +} + +@media (max-width: 1150px) and (min-width: 480px) { + .main-info-title { + font-size: 42pt; + } + + .main-info-subtitle { + font-size: 26pt; + } +} + +@media (min-width: 1150px) { + .main-info-title { + font-size: 42pt; + } + + .main-info-subtitle { + font-size: 26pt; + } +} + + +@media (max-width: 480px) { + .about-paragraph { + margin: auto; + font-size: 16pt; + max-width: 90%; + } +} + +@media (max-width: 1150px) and (min-width: 480px) { + .about-paragraph { + margin: auto; + font-size: 18pt; + max-width: 80%; + } +} + +@media (min-width: 1150px) { + .about-paragraph { + margin: auto; + font-size: 18pt; + max-width: 60%; + } +} diff --git a/front/src/app.tsx b/front/src/app.tsx new file mode 100644 index 0000000..5ba8e6f --- /dev/null +++ b/front/src/app.tsx @@ -0,0 +1,34 @@ +import './app.css' +import { Navbar } from './components/navbar' +import Contact from './pages/contact'; +import Games from './pages/games'; +import Home from './pages/home' +import { Router, Route, CustomHistory } from 'preact-router'; +import Projects from './pages/projects'; +import { HashHistory, createHashHistory } from 'history'; + +const hashHistoryAdapter = (hashHistory: HashHistory): CustomHistory => { + return { + listen: (callback) => hashHistory.listen(({ location }) => callback(location)), + location: hashHistory.location, + push: hashHistory.push, + replace: hashHistory.replace + }; +}; +export function App() { + const history = hashHistoryAdapter(createHashHistory()); + + return ( + <> + +
+ + + + + + +
+ + ) +} diff --git a/front/src/components/carousel.css b/front/src/components/carousel.css new file mode 100644 index 0000000..f311805 --- /dev/null +++ b/front/src/components/carousel.css @@ -0,0 +1,68 @@ +.carousel-content { + align-self: center; + max-height: 100%; + white-space: nowrap; + -ms-overflow-style: none; /* hide scrollbar in IE and Edge */ + scrollbar-width: none; /* hide scrollbar in Firefox */ +} + +.carousel-item { + width: 100%; + flex-shrink: 0; + height: auto; + float: left; + text-align: center; + transition: all 250ms linear; + white-space: nowrap; + vertical-align: middle; +} + +.slick-slider { + margin: 24px; +} + +.slick-slide { + margin: 0 auto; + border-radius: 10px; + text-align: center; + float: none !important; + display: inline-block !important; + vertical-align: middle; + min-height: 1px; +} + +.carousel-item > * { + border-radius: 10px; + vertical-align: middle; + width: 100%; + height: auto; +} + +.slick-dots li button::before { + color: var(--color-fg) !important; +} + +@media (max-width: 1150px) { + .carousel-wrapper { + margin: 60px auto; + width: 330px; + height: 220px; + } +} + +@media (max-width: 1150px) and (min-width: 480px) { + .carousel-wrapper { + margin: 60px auto; + width: 480px; + height: 360px; + } +} + +@media (min-width: 1150px) { + .carousel-wrapper { + float: right; + width: 480px; + height: 360px; + } +} + diff --git a/front/src/components/carousel.tsx b/front/src/components/carousel.tsx new file mode 100644 index 0000000..af9279b --- /dev/null +++ b/front/src/components/carousel.tsx @@ -0,0 +1,31 @@ +import './carousel.css'; +import Slider, { Settings } from 'react-slick'; +import "slick-carousel/slick/slick.css"; +import "slick-carousel/slick/slick-theme.css"; + +export default function Carousel(props: { children: any }) { + const settings: Settings = { + dots: true, + infinite: true, + speed: 500, + slidesToShow: 1, + slidesToScroll: 1 + }; + + return ( + + ); +} diff --git a/front/src/components/navbar-item.tsx b/front/src/components/navbar-item.tsx new file mode 100644 index 0000000..c2f2306 --- /dev/null +++ b/front/src/components/navbar-item.tsx @@ -0,0 +1,8 @@ +import * as preact from "preact"; + +export function NavbarItem(props: any) { + const { name, href, children, rel } = props; + + return (preact.createElement("div", { className: "navbar-item" }, + preact.createElement("a", { className: "navbar-item-" + name, href: href, rel: rel }, children))); +} diff --git a/front/src/components/navbar.css b/front/src/components/navbar.css new file mode 100644 index 0000000..466fdd6 --- /dev/null +++ b/front/src/components/navbar.css @@ -0,0 +1,277 @@ +/* on big screens, navbar is fixed to the top of the screen */ +.navbar-container { + position: fixed; + background-color: var(--color-bg); + top: 0; + width: 100%; + z-index: 9999; + margin: auto; +} + +/* on smaller ones, make it behave as a normal element laid out at the top of the page */ +@media (max-width: 1150px) { + .navbar-container { + position: static; + } +} + +.navbar { + margin-top: 20pt; + margin-bottom: 12pt; + align-items: center; + justify-content: center; + align-self: center; +} + +.navbar-icon { + font-family: Hack, monospace; + font-weight: 500; + color: #646cff; + font-size: 1.5em; + padding: 0.5em; + margin: 0.5em; +} + +.navbar { + align-self: center; + display: block; + width: 100%; + text-align: center; +} + +.navbar-item { + font-family: Hack, monospace; + font-size: 18pt; + text-align: center; + float: none; + clear: left; + display: inline-block; + margin: 0 0.25em; + transition: all 0.2s ease-in-out; +} + +.navbar-item:hover { + padding-left: 0.5em; + padding-right: 0.5em; + transition: all 0.2s ease-in-out; +} + +.navbar-current { + font-weight: bold; +} + +/* home */ + +.navbar-item-home:link { + color: #98C379; + text-decoration: none; +} + +.navbar-item-home:visited { + color: #98C379; + text-decoration: none; +} + +.navbar-item-home:hover { + color: #afd088; + text-decoration: underline; +} + +.navbar-item-home:active { + color: #afd088; + text-decoration: underline; +} + +/* games */ + +.navbar-item-games:link { + color: #e06c75; + text-decoration: none; +} + +.navbar-item-games:visited { + color: #e06c75; + text-decoration: none; +} + +.navbar-item-games:hover { + color: #ef7a80; + text-decoration: underline; +} + +.navbar-item-games:active { + color: #ef7a90; + text-decoration: underline; +} + +/* projects */ + +.navbar-item-projects:link { + color: #d19a66; + text-decoration: none; +} + +.navbar-item-projects:visited { + color: #d19a66; + text-decoration: none; +} + +.navbar-item-projects:hover { + color: #dfa873; + text-decoration: underline; +} + +.navbar-item-projects:active { + color: #dffa73; + text-decoration: underline; +} + +/* github */ + +.navbar-item-github:link { + color: #c678dd; + text-decoration: none; +} + +.navbar-item-github:visited { + color: #c678dd; + text-decoration: none; +} + +.navbar-item-github:hover { + color: #d286eb; + text-decoration: underline; +} + +.navbar-item-github:active { + color: #d286eb; + text-decoration: underline; +} + +/* itch */ + +.navbar-item-itch:link { + color: #e06c75; + text-decoration: none; +} + +.navbar-item-itch:visited { + color: #e06c75; + text-decoration: none; +} + +.navbar-item-itch:hover { + color: #ef7a80; + text-decoration: underline; +} + +.navbar-item-itch:active { + color: #ef7a90; + text-decoration: underline; +} + +/* twitter */ + +.navbar-item-twitter:link { + text-decoration: none; +} + +.navbar-item-twitter:visited { + text-decoration: none; +} + +.navbar-item-twitter:hover { + text-decoration: underline; +} + +.navbar-item-twitter:active { + text-decoration: underline; +} + +/* mastodon */ + +.navbar-item-mastodon:link { + color: #6a4ae0; + text-decoration: none; +} + +.navbar-item-mastodon:visited { + color: #6a4ae0; + text-decoration: none; +} + +.navbar-item-mastodon:hover { + color: #7a55e8; + text-decoration: underline; +} + +.navbar-item-mastodon:active { + color: #7a55e8; + text-decoration: underline; +} + +/* cohost */ + +.navbar-item-cohost:link { + color: #b63b73; + text-decoration: none; +} + +.navbar-item-cohost:visited { + color: #b63b73; + text-decoration: none; +} + +.navbar-item-cohost:hover { + color: #c54a7f; + text-decoration: underline; +} + +.navbar-item-cohost:active { + color: #c54a7f; + text-decoration: underline; +} + +/* tumblr */ + +.navbar-item-tumblr:link { + color: #00b8ff; + text-decoration: none; +} + +.navbar-item-tumblr:visited { + color: #00b8ff; + text-decoration: none; +} + +.navbar-item-tumblr:hover { + color: #00c5ff; + text-decoration: underline; +} + +.navbar-item-tumblr:active { + color: #00c5ff; + text-decoration: underline; +} + +/* contact */ + +.navbar-item-contact:link { + color: #e5c07b; + text-decoration: none; +} + +.navbar-item-contact:visited { + color: #e5c07b; + text-decoration: none; +} + +.navbar-item-contact:hover { + color: #f2ce89; + text-decoration: underline; +} + +.navbar-item-contact:active { + color: #f2ce89; + text-decoration: underline; +} diff --git a/front/src/components/navbar.tsx b/front/src/components/navbar.tsx new file mode 100644 index 0000000..ba3d7d7 --- /dev/null +++ b/front/src/components/navbar.tsx @@ -0,0 +1,20 @@ +import './navbar.css'; + +import { NavbarItem } from './navbar-item'; + +export function Navbar() { + return ( + + ); +} diff --git a/front/src/index.css b/front/src/index.css new file mode 100644 index 0000000..cf6f743 --- /dev/null +++ b/front/src/index.css @@ -0,0 +1,121 @@ +:root { + font-weight: 400; + + color-scheme: light dark; + color: var(--color-fg); + background-color: var(--color-bg); + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; + + /* variables */ + --color-bg: #161f30; + --color-fg: #a3b3d9; + --color-search-blue: #083C5A; + --color-white: #a3b3d9; + --color-gray: #647089; + --color-dark-gray: #3e4451; + --color-context: #6b737f; + --color-light-gray: #c8ccd4; + --color-tree-gray: #1b1f27; + --color-blue: #6080dd; + --color-vivid-blue: #61afef; + --color-dark-blue: #223E55; + --color-folder-blue: #61afef; + --color-light-blue: #a3b3d9; + --color-green: #449871; + --color-cyan: #56b6c2; + --color-light-green: #98c379; + --color-red: #c13251; + --color-orange: #c18a56; + --color-light-red: #e06c75; + --color-yellow: #e5c07b; + --color-purple: #604bd8; + --color-magenta: #b071fc; +} + +a:link { + font-weight: 500; + color: #4fc1ff; + text-decoration: inherit; +} + +a:visited { + color: #4fc1ff; +} + +a:hover { + color: #60d2ff; +} + +a:active { + color: #66d8ff; +} + + +body { + margin: 0; + /* display: flex; */ + /* place-items: center; */ + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +span { + display: inline; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} + +.hack { + font-family: Hack, monospace; + font-weight: 500; +} + +.grow { + transition: all .2s ease-in-out; + transform: scale(1); +} + +.grow:hover { + transition: all .2s ease-in-out; + transform: scale(1.1); +} diff --git a/front/src/main.tsx b/front/src/main.tsx new file mode 100644 index 0000000..846cd1e --- /dev/null +++ b/front/src/main.tsx @@ -0,0 +1,5 @@ +import { render } from 'preact' +import { App } from './app.tsx' +import './index.css' + +render(, document.getElementById('app')!) diff --git a/front/src/pages/contact.css b/front/src/pages/contact.css new file mode 100644 index 0000000..93b63bd --- /dev/null +++ b/front/src/pages/contact.css @@ -0,0 +1,22 @@ +.contact-container { + width: 100%; + max-width: 1120px; + margin: auto; + margin-top: 24pt; + margin-bottom: 48pt; + align-items: center; + justify-content: center; + align-self: center; + font-size: 18pt; +} + +.contact { + margin-top: 24pt; + margin-bottom: 8pt; + font-size: 20pt; + color: #98C379; +} + +.highlight { + color: #e5c07b; +} diff --git a/front/src/pages/contact.tsx b/front/src/pages/contact.tsx new file mode 100644 index 0000000..efc9eba --- /dev/null +++ b/front/src/pages/contact.tsx @@ -0,0 +1,34 @@ +import './contact.css'; + +export default function Contact() { + return ( +
+
+ Contact +
+
+
+ Discord +
+ + usually the fastest way to reach me +
+ EchoDuck#7866 + +
+ Matrix +
+ for the FOSS folks +
+ @echoduck:matrix.org + +
+ Email +
+ I check my email daily +
+ duckonaut@gmail.com +
+
+ ); +} diff --git a/front/src/pages/games.css b/front/src/pages/games.css new file mode 100644 index 0000000..e69de29 diff --git a/front/src/pages/games.tsx b/front/src/pages/games.tsx new file mode 100644 index 0000000..314813d --- /dev/null +++ b/front/src/pages/games.tsx @@ -0,0 +1,393 @@ +import Carousel from '../components/carousel'; +import './projects.css'; + +export default function Games() { + return ( + <> +
+
+ Game Projects +
+
+ my game projects, mostly from game jams +
+
+
+
+ +
+
+
Made using
+
+ + +
+
+
+
Available on
+
+ + +
+
+
+
+ The legends say that one day, brave Heroes will slay the evil and malicious Ignatius, the Chaos + Bringer... But YOU won't go down without a fight! Be the bossfight everyone is dreading and hunt + down as many Heroes as you can in your last stand using a variety of abilities you can choose from! +
+ Game made in 72 hours for Ludum Dare 50, with + the theme "Delay the Inevitable". +
+
+ + + + + + + +
+ +
+ +
+
+
Made using
+
+ + +
+
+
+
Available on
+
+ + +
+
+
+
+ A physics puzzle game in which you need to protect little creatures from danger that could come from + any direction. Build forts with tetris-style blocks. The game features 30+ levels, multiple distinct + enemies and a star rating system. +
+ Game made in 72 hours for Ludum Dare 49, with + the theme "Unstable". +
+
+ + + + + + +
+ +
+ +
+
+
Made using
+
+ + +
+
+
+
Available on
+
+ +
+
+
+
+ Adventure through a dungeon of gambling themed enemies! + Craft your perfect dice from many powerful spells, + combo them to destroy everything in your path, and descend deeper. +
+ Game made in under 50 hours for GMTK Game Jam 2022, + with + the theme "Roll of the dice". +
+
+ + + +
+ +
+ +
+
+
Made using
+
+ + +
+
+
+
Available on
+
+ + +
+
+
+
+ Turn based arcade survival game. + Survive as long as you can by freezing enemies and using them to defeat more enemies. +
+ Game made in roughly 8 hours for a private game jam with friends. +
+
+ + + + + + +
+ +
+
Miro +
+
+
+
Made using
+
+ + +
+
+
+
Available on
+
+ +
+
+
+
+ Small chill game made mostly as an experiment for a nice 2D renderer mechanic. + Infect the world around you, breaking it down into its simplest components. +
+ Game made in roughly 8 hours for a private game jam with friends. +
+
+ + + + + + +
+ +
+ +
+
+
Made using
+
+ + +
+
+
+
Available on
+
+ + +
+
+
+
+ Play as Yolka, a mountain goat who found an unknown egg. Keep the egg warm as you navigate the 3 + distinct worlds, and bring it to the hottest place you know: the depths of a volcano. +
+ Game made in a week for Newgrounds July + Jam 2021, with the theme "Egg". +
+
+ + + + + + + +
+ +
+ +
+
+
Made using
+
+ + +
+
+
+
Available on
+
+ +
+
+
+
+ Tiny idle simulation game where you manage a team of randomly generated little fellas as they fight + other greachers in a sidescrolling world with beautiful procedurally generated graphics. +
+ Game made in 2 weeks for LOWREZJAM 2021, with the + theme "Minibeasts". +
+
+ + + + + + +
+ +
+ +
+
+
Made using
+
+ +
+
+
+
Available on
+
+ + +
+
+
+
+ A top-down stealth game where you play as a spy tasked with stealing important data from a rivaling + government. Your task would be easy enough if your objective wasn’t in a underground top-secret + facility handling an alien outbreak. Without access to conventional stealth techniques, use corpses + of your enemies to sneak through the battlefield. +
+ Game made in 72 hours for Ludum Dare 48, with + the theme "Deeper and deeper". +
+
+ + + + + + + +
+
+ +
+
+
Made using
+
+ + +
+
+
+
Available on
+
+ +
+
+
+
+ A simple pacman-inspired arcade game. Try to grab all the stars in a randomly generated maze before + the time expires, while your controls are scattered all over the screen. Get as far as you can to + get the highest score. +
+ Game made in 8 hours for Jam Jam, a local + in-person event organized by KNTG Polygon, with + the theme "One Click". +
+
+ + + + + + +
+
+ +
+
+
Made using
+
+ + +
+
+
+
Available on
+
+ +
+
+
+
+ You just got your first guitar, and through sheer luck managed to land in the king's throne room, + trying to entertain him. Sadly, his subjects aren't huge fans of your music. Dodge them while trying + to play the best you can, or the king won't be merciful. +
+ Game made in 48 hours for a special solo game jam among friends. My theme was "Power at a price". +
+
+ + + + + +
+
+ +
+
+
Made using
+
+ +
+
+
+
Available on
+
+ + +
+
+
+
+ A quick movement focused platformer that tests your short term memory. Survive the trap system of an + ancient temple! Dash through the lanterns in the correct order before the time runs out, or face + certain death! +
+ Game made in 48 hours for Ludum Dare Compo 47 + with the theme "Stuck in a loop". +
+
+ + + + +
+
+ + ); +} + diff --git a/front/src/pages/home.tsx b/front/src/pages/home.tsx new file mode 100644 index 0000000..9b29803 --- /dev/null +++ b/front/src/pages/home.tsx @@ -0,0 +1,29 @@ +export default function Home() { + return ( + <> +
+
+ Stanisław Zagórowski +
+
+ aka Duckonaut, EchoDuck +
+ +
+ +
+

+ Hello! I'm a programmer, game designer, and artist. I'm currently a student at the Warsaw University of + Technology, studying Computer Science. A list of the games I've worked on is in the games section. Other projects I've been a part of are available in the projects section. + I also enjoy some lower-level programming and learning about the inner workings of various systems. The main + technologies I use are C#, Unity + , Python, Rust and C, + although I'm also familiar with Godot, C++ + , Java and some JavaScript and TypeScript. +

+
+ + ); +} diff --git a/front/src/pages/projects.css b/front/src/pages/projects.css new file mode 100644 index 0000000..f9cc07f --- /dev/null +++ b/front/src/pages/projects.css @@ -0,0 +1,137 @@ +.icon { + display: inline; + width: 32px; + height: 32px; + transition: 0.3s; + transform-origin: center; + filter: brightness(70%) +} + +.icon:hover { + filter: brightness(80%); +} + +.icon-row { + width: 240px; + height: 36px; +} + +.icon-container { + height: 36px; + float: right; +} + +.icon-text { + width: auto; + height: 36px; + line-height: 36px; + float: left; + vertical-align: middle; + margin-right: 8px; + color: #5c6370; +} + +.projects-container { + width: 100%; + max-width: 1120px; + margin: auto; + margin-top: 24pt; + margin-bottom: 48pt; + align-items: center; + justify-content: center; + align-self: center; +} + +.project { + display: table; + align-self: center; + clear: both; + margin-bottom: 24pt; +} + +.project-info { + font-size: 14pt; +} + +.project-description { + font-size: 16pt; + text-align: justify; +} + +.project-image-gallery { + margin-left: 24px; + margin-right: 10px; +} + +@media (max-width: 1150px) { + .project-title { + text-align: center; + font-size: 24pt; + margin-bottom: 8px; + text-decoration-line: underline; + } + + .project-image-gallery { + margin: 60px auto; + width: 330px; + height: 220px; + } + + .project-info { + float: none; + width: 90%; + margin: auto; + } + + .project-description { + font-size: 14pt; + } +} + +@media (max-width: 1150px) and (min-width: 480px) { + .project-title { + text-align: center; + font-size: 24pt; + margin-bottom: 8px; + text-decoration-line: underline; + } + .project-image-gallery { + margin: 60px auto; + width: 480px; + height: 360px; + } + + .project-info { + float: none; + width: 90%; + margin: auto; + } + + .project-description { + font-size: 14pt; + } +} + +@media (min-width: 1150px) { + .project-title { + text-align: left; + font-size: 32pt; + margin-bottom: 8px; + text-decoration-line: underline; + } + .project-image-gallery { + float: right; + width: 480px; + height: 360px; + } + .project-info { + float: left; + max-width: 600px; + } + + .project-description { + font-size: 16pt; + } +} + + diff --git a/front/src/pages/projects.tsx b/front/src/pages/projects.tsx new file mode 100644 index 0000000..4e64704 --- /dev/null +++ b/front/src/pages/projects.tsx @@ -0,0 +1,50 @@ +import './projects.css'; +import Carousel from '../components/carousel'; + +export default function Projects() { + return ( + <> +
+
+ Other Projects +
+
+ projects that are not games +
+
+ +
+ +
+ +
+
+
Made using
+
+ +
+
+
+
Available on
+
+ +
+
+
+
+ The Spirit Mod is one of the largest mods for Terraria: with more than 1300 items, 8 bosses, and + hundreds of enemies, as well as 3 new events and 3 brand new biomes, the mod has a lot to offer. +
+ I had the privilege of contributing some system code, mainly the "Stargoop" system. +
+
+ + + + + +
+
+ + ); +} diff --git a/front/src/vite-env.d.ts b/front/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/front/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/front/tsconfig.json b/front/tsconfig.json new file mode 100644 index 0000000..907453c --- /dev/null +++ b/front/tsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "jsxImportSource": "preact", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + + "baseUrl": "./", + "paths": { + "react": ["node_modules/preact/compat"], + "react-dom": ["node_modules/preact/compat"] + } + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/front/tsconfig.node.json b/front/tsconfig.node.json new file mode 100644 index 0000000..42872c5 --- /dev/null +++ b/front/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/front/vite.config.ts b/front/vite.config.ts new file mode 100644 index 0000000..29b326f --- /dev/null +++ b/front/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import preact from '@preact/preset-vite' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [preact()], +}) diff --git a/index.html b/index.html deleted file mode 100644 index ce197cb..0000000 --- a/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - duckonaut.dev - - - -
- - - - diff --git a/package.json b/package.json deleted file mode 100644 index 4ca6ac3..0000000 --- a/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "duckonaut.dev", - "homepage": "https://duckonaut.dev", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "tsc && vite build", - "preview": "vite preview", - "predeploy": "pnpm run build", - "deploy": "gh-pages -d dist" - }, - "dependencies": { - "history": "^5.3.0", - "preact": "^10.17.0", - "preact-router": "^4.1.2", - "react-slick": "^0.29.0", - "slick-carousel": "^1.8.1" - }, - "devDependencies": { - "@preact/preset-vite": "^2.5.0", - "@types/react-slick": "^0.23.10", - "gh-pages": "^6.0.0", - "typescript": "^5.1.6", - "vite": "^4.4.9" - } -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index c3168a7..0000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,1232 +0,0 @@ -lockfileVersion: 5.4 - -specifiers: - '@preact/preset-vite': ^2.5.0 - '@types/history': ^5.0.0 - '@types/react-slick': ^0.23.10 - gh-pages: ^6.0.0 - history: ^5.3.0 - preact: ^10.17.0 - preact-router: ^4.1.2 - react-slick: ^0.29.0 - slick-carousel: ^1.8.1 - typescript: ^5.1.6 - vite: ^4.4.9 - -dependencies: - history: 5.3.0 - preact: 10.17.0 - preact-router: 4.1.2_preact@10.17.0 - react-slick: 0.29.0 - slick-carousel: 1.8.1 - -devDependencies: - '@preact/preset-vite': 2.5.0_preact@10.17.0+vite@4.4.9 - '@types/history': 5.0.0 - '@types/react-slick': 0.23.10 - gh-pages: 6.0.0 - typescript: 5.1.6 - vite: 4.4.9 - -packages: - - /@ampproject/remapping/2.2.1: - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 - dev: true - - /@babel/code-frame/7.22.10: - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.10 - chalk: 2.4.2 - dev: true - - /@babel/compat-data/7.22.9: - resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/core/7.22.10: - resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-module-transforms': 7.22.9_@babel+core@7.22.10 - '@babel/helpers': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 - convert-source-map: 1.9.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/generator/7.22.10: - resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.10 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 - jsesc: 2.5.2 - dev: true - - /@babel/helper-annotate-as-pure/7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.10 - dev: true - - /@babel/helper-compilation-targets/7.22.10: - resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.22.9 - '@babel/helper-validator-option': 7.22.5 - browserslist: 4.21.10 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: true - - /@babel/helper-environment-visitor/7.22.5: - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-function-name/7.22.5: - resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 - dev: true - - /@babel/helper-hoist-variables/7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.10 - dev: true - - /@babel/helper-module-imports/7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.10 - dev: true - - /@babel/helper-module-transforms/7.22.9_@babel+core@7.22.10: - resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 - dev: true - - /@babel/helper-plugin-utils/7.22.5: - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-simple-access/7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.10 - dev: true - - /@babel/helper-split-export-declaration/7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.10 - dev: true - - /@babel/helper-string-parser/7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-identifier/7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-option/7.22.5: - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helpers/7.22.10: - resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/highlight/7.22.10: - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - - /@babel/parser/7.22.10: - resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.22.10 - dev: true - - /@babel/plugin-syntax-jsx/7.22.5: - resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-react-jsx-development/7.22.5: - resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/plugin-transform-react-jsx': 7.22.5 - dev: true - - /@babel/plugin-transform-react-jsx/7.22.5: - resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5 - '@babel/types': 7.22.10 - dev: true - - /@babel/runtime/7.22.10: - resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.0 - - /@babel/template/7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 - dev: true - - /@babel/traverse/7.22.10: - resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/types/7.22.10: - resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - to-fast-properties: 2.0.0 - dev: true - - /@esbuild/android-arm/0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64/0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64/0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64/0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64/0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64/0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64/0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm/0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64/0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32/0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64/0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el/0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64/0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64/0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x/0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64/0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64/0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64/0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64/0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64/0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32/0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64/0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@jridgewell/gen-mapping/0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.19 - dev: true - - /@jridgewell/resolve-uri/3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/set-array/1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec/1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - - /@jridgewell/trace-mapping/0.3.19: - resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /@preact/preset-vite/2.5.0_preact@10.17.0+vite@4.4.9: - resolution: {integrity: sha512-BUhfB2xQ6ex0yPkrT1Z3LbfPzjpJecOZwQ/xJrXGFSZD84+ObyS//41RdEoQCMWsM0t7UHGaujUxUBub7WM1Jw==} - peerDependencies: - '@babel/core': 7.x - vite: 2.x || 3.x || 4.x - dependencies: - '@babel/plugin-transform-react-jsx': 7.22.5 - '@babel/plugin-transform-react-jsx-development': 7.22.5 - '@prefresh/vite': 2.4.1_preact@10.17.0+vite@4.4.9 - '@rollup/pluginutils': 4.2.1 - babel-plugin-transform-hook-names: 1.0.2 - debug: 4.3.4 - kolorist: 1.8.0 - resolve: 1.22.4 - vite: 4.4.9 - transitivePeerDependencies: - - preact - - supports-color - dev: true - - /@prefresh/babel-plugin/0.5.0: - resolution: {integrity: sha512-joAwpkUDwo7ZqJnufXRGzUb+udk20RBgfA8oLPBh5aJH2LeStmV1luBfeJTztPdyCscC2j2SmZ/tVxFRMIxAEw==} - dev: true - - /@prefresh/core/1.5.1_preact@10.17.0: - resolution: {integrity: sha512-e0mB0Oxtog6ZpKPDBYbzFniFJDIktuKMzOHp7sguntU+ot0yi6dbhJRE9Css1qf0u16wdSZjpL2W2ODWuU05Cw==} - peerDependencies: - preact: ^10.0.0 - dependencies: - preact: 10.17.0 - dev: true - - /@prefresh/utils/1.2.0: - resolution: {integrity: sha512-KtC/fZw+oqtwOLUFM9UtiitB0JsVX0zLKNyRTA332sqREqSALIIQQxdUCS1P3xR/jT1e2e8/5rwH6gdcMLEmsQ==} - dev: true - - /@prefresh/vite/2.4.1_preact@10.17.0+vite@4.4.9: - resolution: {integrity: sha512-vthWmEqu8TZFeyrBNc9YE5SiC3DVSzPgsOCp/WQ7FqdHpOIJi7Z8XvCK06rBPOtG4914S52MjG9Ls22eVAiuqQ==} - peerDependencies: - preact: ^10.4.0 - vite: '>=2.0.0' - dependencies: - '@babel/core': 7.22.10 - '@prefresh/babel-plugin': 0.5.0 - '@prefresh/core': 1.5.1_preact@10.17.0 - '@prefresh/utils': 1.2.0 - '@rollup/pluginutils': 4.2.1 - preact: 10.17.0 - vite: 4.4.9 - transitivePeerDependencies: - - supports-color - dev: true - - /@rollup/pluginutils/4.2.1: - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} - engines: {node: '>= 8.0.0'} - dependencies: - estree-walker: 2.0.2 - picomatch: 2.3.1 - dev: true - - /@types/history/5.0.0: - resolution: {integrity: sha512-hy8b7Y1J8OGe6LbAjj3xniQrj3v6lsivCcrmf4TzSgPzLkhIeKgc5IZnT7ReIqmEuodjfO8EYAuoFvIrHi/+jQ==} - deprecated: This is a stub types definition. history provides its own type definitions, so you do not need this installed. - dependencies: - history: 5.3.0 - dev: true - - /@types/prop-types/15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} - dev: true - - /@types/react-slick/0.23.10: - resolution: {integrity: sha512-ZiqdencANDZy6sWOWJ54LDvebuXFEhDlHtXU9FFipQR2BcYU2QJxZhvJPW6YK7cocibUiNn+YvDTbt1HtCIBVA==} - dependencies: - '@types/react': 18.2.20 - dev: true - - /@types/react/18.2.20: - resolution: {integrity: sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==} - dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.3 - csstype: 3.1.2 - dev: true - - /@types/scheduler/0.16.3: - resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} - dev: true - - /ansi-styles/3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - - /array-union/1.0.2: - resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} - engines: {node: '>=0.10.0'} - dependencies: - array-uniq: 1.0.3 - dev: true - - /array-uniq/1.0.3: - resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} - engines: {node: '>=0.10.0'} - dev: true - - /async/3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - dev: true - - /babel-plugin-transform-hook-names/1.0.2: - resolution: {integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==} - peerDependencies: - '@babel/core': ^7.12.10 - dev: true - - /balanced-match/1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /browserslist/4.21.10: - resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001521 - electron-to-chromium: 1.4.492 - node-releases: 2.0.13 - update-browserslist-db: 1.0.11_browserslist@4.21.10 - dev: true - - /caniuse-lite/1.0.30001521: - resolution: {integrity: sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==} - dev: true - - /chalk/2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - - /classnames/2.3.2: - resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} - dev: false - - /color-convert/1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - - /color-name/1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - - /commander/11.0.0: - resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} - engines: {node: '>=16'} - dev: true - - /commondir/1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true - - /concat-map/0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /convert-source-map/1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true - - /csstype/3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - dev: true - - /debug/4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true - - /electron-to-chromium/1.4.492: - resolution: {integrity: sha512-36K9b/6skMVwAIEsC7GiQ8I8N3soCALVSHqWHzNDtGemAcI9Xu8hP02cywWM0A794rTHm0b0zHPeLJHtgFVamQ==} - dev: true - - /email-addresses/5.0.0: - resolution: {integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==} - dev: true - - /enquire.js/2.1.6: - resolution: {integrity: sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw==} - dev: false - - /esbuild/0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 - dev: true - - /escalade/3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: true - - /escape-string-regexp/1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - - /estree-walker/2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true - - /filename-reserved-regex/2.0.0: - resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} - engines: {node: '>=4'} - dev: true - - /filenamify/4.3.0: - resolution: {integrity: sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==} - engines: {node: '>=8'} - dependencies: - filename-reserved-regex: 2.0.0 - strip-outer: 1.0.1 - trim-repeated: 1.0.0 - dev: true - - /find-cache-dir/3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 - dev: true - - /find-up/4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - - /fs-extra/11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - - /fs.realpath/1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true - - /gensync/1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: true - - /gh-pages/6.0.0: - resolution: {integrity: sha512-FXZWJRsvP/fK2HJGY+Di6FRNHvqFF6gOIELaopDjXXgjeOYSNURcuYwEO/6bwuq6koP5Lnkvnr5GViXzuOB89g==} - engines: {node: '>=10'} - hasBin: true - dependencies: - async: 3.2.4 - commander: 11.0.0 - email-addresses: 5.0.0 - filenamify: 4.3.0 - find-cache-dir: 3.3.2 - fs-extra: 11.1.1 - globby: 6.1.0 - dev: true - - /glob/7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /globals/11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true - - /globby/6.1.0: - resolution: {integrity: sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==} - engines: {node: '>=0.10.0'} - dependencies: - array-union: 1.0.2 - glob: 7.2.3 - object-assign: 4.1.1 - pify: 2.3.0 - pinkie-promise: 2.0.1 - dev: true - - /graceful-fs/4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - - /has-flag/3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: true - - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true - - /history/5.3.0: - resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} - dependencies: - '@babel/runtime': 7.22.10 - - /inflight/1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - - /is-core-module/2.13.0: - resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} - dependencies: - has: 1.0.3 - dev: true - - /js-tokens/4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - - /jsesc/2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /json2mq/0.2.0: - resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==} - dependencies: - string-convert: 0.2.1 - dev: false - - /json5/2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: true - - /jsonfile/6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.0 - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /kolorist/1.8.0: - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - dev: true - - /locate-path/5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: true - - /lodash.debounce/4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - dev: false - - /lru-cache/5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - dependencies: - yallist: 3.1.1 - dev: true - - /make-dir/3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.1 - dev: true - - /minimatch/3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /ms/2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true - - /nanoid/3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /node-releases/2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} - dev: true - - /object-assign/4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: true - - /once/1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - dev: true - - /p-limit/2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - - /p-locate/4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - dependencies: - p-limit: 2.3.0 - dev: true - - /p-try/2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - - /path-exists/4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute/1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-parse/1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /picocolors/1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /picomatch/2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - - /pify/2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: true - - /pinkie-promise/2.0.1: - resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} - engines: {node: '>=0.10.0'} - dependencies: - pinkie: 2.0.4 - dev: true - - /pinkie/2.0.4: - resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} - engines: {node: '>=0.10.0'} - dev: true - - /pkg-dir/4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - dev: true - - /postcss/8.4.28: - resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /preact-router/4.1.2_preact@10.17.0: - resolution: {integrity: sha512-uICUaUFYh+XQ+6vZtQn1q+X6rSqwq+zorWOCLWPF5FAsQh3EJ+RsDQ9Ee+fjk545YWQHfUxhrBAaemfxEnMOUg==} - peerDependencies: - preact: '>=10' - dependencies: - preact: 10.17.0 - dev: false - - /preact/10.17.0: - resolution: {integrity: sha512-SNsI8cbaCcUS5tbv9nlXuCfIXnJ9ysBMWk0WnB6UWwcVA3qZ2O6FxqDFECMAMttvLQcW/HaNZUe2BLidyvrVYw==} - - /react-slick/0.29.0: - resolution: {integrity: sha512-TGdOKE+ZkJHHeC4aaoH85m8RnFyWqdqRfAGkhd6dirmATXMZWAxOpTLmw2Ll/jPTQ3eEG7ercFr/sbzdeYCJXA==} - peerDependencies: - react: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 - react-dom: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 - dependencies: - classnames: 2.3.2 - enquire.js: 2.1.6 - json2mq: 0.2.0 - lodash.debounce: 4.0.8 - resize-observer-polyfill: 1.5.1 - dev: false - - /regenerator-runtime/0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} - - /resize-observer-polyfill/1.5.1: - resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} - dev: false - - /resolve/1.22.4: - resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} - hasBin: true - dependencies: - is-core-module: 2.13.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /rollup/3.28.0: - resolution: {integrity: sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /semver/6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: true - - /slick-carousel/1.8.1: - resolution: {integrity: sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==} - peerDependencies: - jquery: '>=1.8.0' - dev: false - - /source-map-js/1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: true - - /string-convert/0.2.1: - resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} - dev: false - - /strip-outer/1.0.1: - resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} - engines: {node: '>=0.10.0'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /supports-color/5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - - /supports-preserve-symlinks-flag/1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /to-fast-properties/2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - - /trim-repeated/1.0.0: - resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} - engines: {node: '>=0.10.0'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /typescript/5.1.6: - resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - - /universalify/2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - dev: true - - /update-browserslist-db/1.0.11_browserslist@4.21.10: - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.21.10 - escalade: 3.1.1 - picocolors: 1.0.0 - dev: true - - /vite/4.4.9: - resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - esbuild: 0.18.20 - postcss: 8.4.28 - rollup: 3.28.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /wrappy/1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true - - /yallist/3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true diff --git a/public/CNAME b/public/CNAME deleted file mode 100644 index 4fafb77..0000000 --- a/public/CNAME +++ /dev/null @@ -1 +0,0 @@ -duckonaut.dev diff --git a/public/assets/games/bumbling-builders/screenshot1.png b/public/assets/games/bumbling-builders/screenshot1.png deleted file mode 100644 index 7a8a2db..0000000 Binary files a/public/assets/games/bumbling-builders/screenshot1.png and /dev/null differ diff --git a/public/assets/games/bumbling-builders/screenshot2.png b/public/assets/games/bumbling-builders/screenshot2.png deleted file mode 100644 index 5eb0a1f..0000000 Binary files a/public/assets/games/bumbling-builders/screenshot2.png and /dev/null differ diff --git a/public/assets/games/bumbling-builders/screenshot3.png b/public/assets/games/bumbling-builders/screenshot3.png deleted file mode 100644 index 41f65ac..0000000 Binary files a/public/assets/games/bumbling-builders/screenshot3.png and /dev/null differ diff --git a/public/assets/games/bumbling-builders/thumbnail.png b/public/assets/games/bumbling-builders/thumbnail.png deleted file mode 100644 index 1c723a2..0000000 Binary files a/public/assets/games/bumbling-builders/thumbnail.png and /dev/null differ diff --git a/public/assets/games/dicemask/thumbnail.png b/public/assets/games/dicemask/thumbnail.png deleted file mode 100644 index f9bc9ee..0000000 Binary files a/public/assets/games/dicemask/thumbnail.png and /dev/null differ diff --git a/public/assets/games/greachers/screenshot1.png b/public/assets/games/greachers/screenshot1.png deleted file mode 100644 index 444106e..0000000 Binary files a/public/assets/games/greachers/screenshot1.png and /dev/null differ diff --git a/public/assets/games/greachers/screenshot2.png b/public/assets/games/greachers/screenshot2.png deleted file mode 100644 index e968c4f..0000000 Binary files a/public/assets/games/greachers/screenshot2.png and /dev/null differ diff --git a/public/assets/games/greachers/screenshot3.png b/public/assets/games/greachers/screenshot3.png deleted file mode 100644 index 6433fb6..0000000 Binary files a/public/assets/games/greachers/screenshot3.png and /dev/null differ diff --git a/public/assets/games/greachers/title.png b/public/assets/games/greachers/title.png deleted file mode 100644 index cdb3e67..0000000 Binary files a/public/assets/games/greachers/title.png and /dev/null differ diff --git a/public/assets/games/miro/screenshot1.png b/public/assets/games/miro/screenshot1.png deleted file mode 100644 index 5ba2365..0000000 Binary files a/public/assets/games/miro/screenshot1.png and /dev/null differ diff --git a/public/assets/games/miro/screenshot2.png b/public/assets/games/miro/screenshot2.png deleted file mode 100644 index 706e47a..0000000 Binary files a/public/assets/games/miro/screenshot2.png and /dev/null differ diff --git a/public/assets/games/miro/screenshot3.png b/public/assets/games/miro/screenshot3.png deleted file mode 100644 index 237be9c..0000000 Binary files a/public/assets/games/miro/screenshot3.png and /dev/null differ diff --git a/public/assets/games/miro/thumbnail.png b/public/assets/games/miro/thumbnail.png deleted file mode 100644 index 152acfc..0000000 Binary files a/public/assets/games/miro/thumbnail.png and /dev/null differ diff --git a/public/assets/games/mr-final-boss/screenshot1.png b/public/assets/games/mr-final-boss/screenshot1.png deleted file mode 100644 index d13f639..0000000 Binary files a/public/assets/games/mr-final-boss/screenshot1.png and /dev/null differ diff --git a/public/assets/games/mr-final-boss/screenshot2.png b/public/assets/games/mr-final-boss/screenshot2.png deleted file mode 100644 index 6b07d1c..0000000 Binary files a/public/assets/games/mr-final-boss/screenshot2.png and /dev/null differ diff --git a/public/assets/games/mr-final-boss/screenshot3.png b/public/assets/games/mr-final-boss/screenshot3.png deleted file mode 100644 index bf6d965..0000000 Binary files a/public/assets/games/mr-final-boss/screenshot3.png and /dev/null differ diff --git a/public/assets/games/mr-final-boss/screenshot4.png b/public/assets/games/mr-final-boss/screenshot4.png deleted file mode 100644 index c6b4cbe..0000000 Binary files a/public/assets/games/mr-final-boss/screenshot4.png and /dev/null differ diff --git a/public/assets/games/mr-final-boss/thumbnail.png b/public/assets/games/mr-final-boss/thumbnail.png deleted file mode 100644 index 024dab4..0000000 Binary files a/public/assets/games/mr-final-boss/thumbnail.png and /dev/null differ diff --git a/public/assets/games/riff-n-rage/screenshot1.png b/public/assets/games/riff-n-rage/screenshot1.png deleted file mode 100644 index 6a9b075..0000000 Binary files a/public/assets/games/riff-n-rage/screenshot1.png and /dev/null differ diff --git a/public/assets/games/riff-n-rage/screenshot2.png b/public/assets/games/riff-n-rage/screenshot2.png deleted file mode 100644 index 5b68901..0000000 Binary files a/public/assets/games/riff-n-rage/screenshot2.png and /dev/null differ diff --git a/public/assets/games/riff-n-rage/thumbnail.png b/public/assets/games/riff-n-rage/thumbnail.png deleted file mode 100644 index fa8dcad..0000000 Binary files a/public/assets/games/riff-n-rage/thumbnail.png and /dev/null differ diff --git a/public/assets/games/survive-the-temple/cover.png b/public/assets/games/survive-the-temple/cover.png deleted file mode 100644 index 5394eeb..0000000 Binary files a/public/assets/games/survive-the-temple/cover.png and /dev/null differ diff --git a/public/assets/games/survive-the-temple/screenshot.png b/public/assets/games/survive-the-temple/screenshot.png deleted file mode 100644 index 92b8ba9..0000000 Binary files a/public/assets/games/survive-the-temple/screenshot.png and /dev/null differ diff --git a/public/assets/games/thermal-trail/gameart.png b/public/assets/games/thermal-trail/gameart.png deleted file mode 100644 index 34c82bc..0000000 Binary files a/public/assets/games/thermal-trail/gameart.png and /dev/null differ diff --git a/public/assets/games/thermal-trail/screenshot1.png b/public/assets/games/thermal-trail/screenshot1.png deleted file mode 100644 index 4b940aa..0000000 Binary files a/public/assets/games/thermal-trail/screenshot1.png and /dev/null differ diff --git a/public/assets/games/thermal-trail/screenshot2.png b/public/assets/games/thermal-trail/screenshot2.png deleted file mode 100644 index 0594eb9..0000000 Binary files a/public/assets/games/thermal-trail/screenshot2.png and /dev/null differ diff --git a/public/assets/games/thermal-trail/screenshot3.png b/public/assets/games/thermal-trail/screenshot3.png deleted file mode 100644 index b5a4a6d..0000000 Binary files a/public/assets/games/thermal-trail/screenshot3.png and /dev/null differ diff --git a/public/assets/games/thermal-trail/screenshot4.png b/public/assets/games/thermal-trail/screenshot4.png deleted file mode 100644 index 1356226..0000000 Binary files a/public/assets/games/thermal-trail/screenshot4.png and /dev/null differ diff --git a/public/assets/games/thermal-trail/thumbnail.png b/public/assets/games/thermal-trail/thumbnail.png deleted file mode 100644 index d779c51..0000000 Binary files a/public/assets/games/thermal-trail/thumbnail.png and /dev/null differ diff --git a/public/assets/games/third-party/screenshot1.jpg b/public/assets/games/third-party/screenshot1.jpg deleted file mode 100644 index 6052ea2..0000000 Binary files a/public/assets/games/third-party/screenshot1.jpg and /dev/null differ diff --git a/public/assets/games/third-party/screenshot2.jpg b/public/assets/games/third-party/screenshot2.jpg deleted file mode 100644 index 7a16edf..0000000 Binary files a/public/assets/games/third-party/screenshot2.jpg and /dev/null differ diff --git a/public/assets/games/third-party/screenshot3.jpg b/public/assets/games/third-party/screenshot3.jpg deleted file mode 100644 index 57e2d5b..0000000 Binary files a/public/assets/games/third-party/screenshot3.jpg and /dev/null differ diff --git a/public/assets/games/third-party/screenshot4.jpg b/public/assets/games/third-party/screenshot4.jpg deleted file mode 100644 index 331594a..0000000 Binary files a/public/assets/games/third-party/screenshot4.jpg and /dev/null differ diff --git a/public/assets/games/third-party/thumbnail.png b/public/assets/games/third-party/thumbnail.png deleted file mode 100644 index c3cd158..0000000 Binary files a/public/assets/games/third-party/thumbnail.png and /dev/null differ diff --git a/public/assets/games/wuzmag/screenshot1.png b/public/assets/games/wuzmag/screenshot1.png deleted file mode 100644 index 186be8c..0000000 Binary files a/public/assets/games/wuzmag/screenshot1.png and /dev/null differ diff --git a/public/assets/games/wuzmag/screenshot2.png b/public/assets/games/wuzmag/screenshot2.png deleted file mode 100644 index 683d7ee..0000000 Binary files a/public/assets/games/wuzmag/screenshot2.png and /dev/null differ diff --git a/public/assets/games/wuzmag/screenshot3.png b/public/assets/games/wuzmag/screenshot3.png deleted file mode 100644 index b5398bb..0000000 Binary files a/public/assets/games/wuzmag/screenshot3.png and /dev/null differ diff --git a/public/assets/games/wuzmag/thumbnail.png b/public/assets/games/wuzmag/thumbnail.png deleted file mode 100644 index 0e6dea1..0000000 Binary files a/public/assets/games/wuzmag/thumbnail.png and /dev/null differ diff --git a/public/assets/games/your-left/screenshot1.jpg b/public/assets/games/your-left/screenshot1.jpg deleted file mode 100644 index e76861a..0000000 Binary files a/public/assets/games/your-left/screenshot1.jpg and /dev/null differ diff --git a/public/assets/games/your-left/screenshot2.jpg b/public/assets/games/your-left/screenshot2.jpg deleted file mode 100644 index 9e0f674..0000000 Binary files a/public/assets/games/your-left/screenshot2.jpg and /dev/null differ diff --git a/public/assets/games/your-left/screenshot3.jpg b/public/assets/games/your-left/screenshot3.jpg deleted file mode 100644 index d025ec1..0000000 Binary files a/public/assets/games/your-left/screenshot3.jpg and /dev/null differ diff --git a/public/assets/games/your-left/thumbnail.png b/public/assets/games/your-left/thumbnail.png deleted file mode 100644 index 95f5c17..0000000 Binary files a/public/assets/games/your-left/thumbnail.png and /dev/null differ diff --git a/public/assets/images/android.png b/public/assets/images/android.png deleted file mode 100644 index d1cef88..0000000 Binary files a/public/assets/images/android.png and /dev/null differ diff --git a/public/assets/images/android.svg b/public/assets/images/android.svg deleted file mode 100644 index 910aaab..0000000 --- a/public/assets/images/android.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - diff --git a/public/assets/images/csharp.png b/public/assets/images/csharp.png deleted file mode 100644 index 065aa53..0000000 Binary files a/public/assets/images/csharp.png and /dev/null differ diff --git a/public/assets/images/csharp.svg b/public/assets/images/csharp.svg deleted file mode 100644 index 77d5b38..0000000 --- a/public/assets/images/csharp.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/public/assets/images/duckpfp.png b/public/assets/images/duckpfp.png deleted file mode 100644 index bdad92c..0000000 Binary files a/public/assets/images/duckpfp.png and /dev/null differ diff --git a/public/assets/images/github.png b/public/assets/images/github.png deleted file mode 100644 index 0954581..0000000 Binary files a/public/assets/images/github.png and /dev/null differ diff --git a/public/assets/images/github.svg b/public/assets/images/github.svg deleted file mode 100644 index 11f84aa..0000000 --- a/public/assets/images/github.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/public/assets/images/godot.png b/public/assets/images/godot.png deleted file mode 100644 index 4f2bc22..0000000 Binary files a/public/assets/images/godot.png and /dev/null differ diff --git a/public/assets/images/godot.svg b/public/assets/images/godot.svg deleted file mode 100644 index 6a2176a..0000000 --- a/public/assets/images/godot.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - diff --git a/public/assets/images/html5.png b/public/assets/images/html5.png deleted file mode 100644 index e0dcb1f..0000000 Binary files a/public/assets/images/html5.png and /dev/null differ diff --git a/public/assets/images/html5.svg b/public/assets/images/html5.svg deleted file mode 100644 index 70959e4..0000000 --- a/public/assets/images/html5.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - diff --git a/public/assets/images/monogame.png b/public/assets/images/monogame.png deleted file mode 100644 index 8648bcc..0000000 Binary files a/public/assets/images/monogame.png and /dev/null differ diff --git a/public/assets/images/pfp.png b/public/assets/images/pfp.png deleted file mode 100644 index a18b664..0000000 Binary files a/public/assets/images/pfp.png and /dev/null differ diff --git a/public/assets/images/placeholder.png b/public/assets/images/placeholder.png deleted file mode 100644 index 97084c7..0000000 Binary files a/public/assets/images/placeholder.png and /dev/null differ diff --git a/public/assets/images/unity.png b/public/assets/images/unity.png deleted file mode 100644 index 5fea459..0000000 Binary files a/public/assets/images/unity.png and /dev/null differ diff --git a/public/assets/images/unity.svg b/public/assets/images/unity.svg deleted file mode 100644 index b9d1859..0000000 --- a/public/assets/images/unity.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - diff --git a/public/assets/images/windows.png b/public/assets/images/windows.png deleted file mode 100644 index a09553e..0000000 Binary files a/public/assets/images/windows.png and /dev/null differ diff --git a/public/assets/images/windows.svg b/public/assets/images/windows.svg deleted file mode 100644 index cb347b6..0000000 --- a/public/assets/images/windows.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - diff --git a/public/assets/images/xamarin.png b/public/assets/images/xamarin.png deleted file mode 100644 index 91ce4ac..0000000 Binary files a/public/assets/images/xamarin.png and /dev/null differ diff --git a/public/assets/loose/github-yellow.svg b/public/assets/loose/github-yellow.svg deleted file mode 100644 index f81e9b9..0000000 --- a/public/assets/loose/github-yellow.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/public/assets/loose/itch-yellow.svg b/public/assets/loose/itch-yellow.svg deleted file mode 100644 index 008c7b1..0000000 --- a/public/assets/loose/itch-yellow.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/public/assets/loose/twitter-yellow.svg b/public/assets/loose/twitter-yellow.svg deleted file mode 100644 index ec6168d..0000000 --- a/public/assets/loose/twitter-yellow.svg +++ /dev/null @@ -1,91 +0,0 @@ - -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/assets/loose/web-yellow.svg b/public/assets/loose/web-yellow.svg deleted file mode 100644 index b61babc..0000000 --- a/public/assets/loose/web-yellow.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/public/assets/projects/spirit-mod/Demo1.gif b/public/assets/projects/spirit-mod/Demo1.gif deleted file mode 100644 index 324de0c..0000000 Binary files a/public/assets/projects/spirit-mod/Demo1.gif and /dev/null differ diff --git a/public/assets/projects/spirit-mod/Demo2.gif b/public/assets/projects/spirit-mod/Demo2.gif deleted file mode 100644 index 4e87fd8..0000000 Binary files a/public/assets/projects/spirit-mod/Demo2.gif and /dev/null differ diff --git a/public/assets/projects/spirit-mod/Thumbnail.png b/public/assets/projects/spirit-mod/Thumbnail.png deleted file mode 100644 index 55f8d7e..0000000 Binary files a/public/assets/projects/spirit-mod/Thumbnail.png and /dev/null differ diff --git a/public/assets/projects/spirit-mod/Thumbnail.webp b/public/assets/projects/spirit-mod/Thumbnail.webp deleted file mode 100644 index 0250f72..0000000 Binary files a/public/assets/projects/spirit-mod/Thumbnail.webp and /dev/null differ diff --git a/src/app.css b/src/app.css deleted file mode 100644 index b4086a2..0000000 --- a/src/app.css +++ /dev/null @@ -1,120 +0,0 @@ -#app-main { - font-family: 'Hack', monospace; - max-width: 1280px; - margin: 0 auto; - padding: 2rem 2rem 2rem 2rem; - text-align: center; -} - -#app { - margin: 0 auto; - text-align: center; - align-content: center; - justify-content: center; -} - -.logo { - height: 6em; - padding: 1.5em; -} -.logo:hover { - filter: drop-shadow(0 0 2em #646cffaa); -} -.logo.preact:hover { - filter: drop-shadow(0 0 2em #673ab8aa); -} - -.main-info { - text-align: center; -} - -@media (min-width: 1150px) { - .main-info { - margin-top: 72px; - } -} - -.main-info-image { - width: 128px; - height: 128px; - border-radius: 100%; - margin: 6px 6px 6px 6px; -} - -.main-info-title { - font-size: 42pt; -} - -.main-info-subtitle { - font-size: 26pt; - font-style: italic; - color: #5c6370; -} - -.quiet { - color: var(--color-gray); - font-style: italic; -} - -.section { - font-size: 22pt; -} - -.highlight { - color: #e5c07b; -} - -@media (max-width: 480px) { - .main-info-title { - font-size: 32pt; - } - - .main-info-subtitle { - font-size: 18pt; - } -} - -@media (max-width: 1150px) and (min-width: 480px) { - .main-info-title { - font-size: 42pt; - } - - .main-info-subtitle { - font-size: 26pt; - } -} - -@media (min-width: 1150px) { - .main-info-title { - font-size: 42pt; - } - - .main-info-subtitle { - font-size: 26pt; - } -} - - -@media (max-width: 480px) { - .about-paragraph { - margin: auto; - font-size: 16pt; - max-width: 90%; - } -} - -@media (max-width: 1150px) and (min-width: 480px) { - .about-paragraph { - margin: auto; - font-size: 18pt; - max-width: 80%; - } -} - -@media (min-width: 1150px) { - .about-paragraph { - margin: auto; - font-size: 18pt; - max-width: 60%; - } -} diff --git a/src/app.tsx b/src/app.tsx deleted file mode 100644 index 5ba8e6f..0000000 --- a/src/app.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import './app.css' -import { Navbar } from './components/navbar' -import Contact from './pages/contact'; -import Games from './pages/games'; -import Home from './pages/home' -import { Router, Route, CustomHistory } from 'preact-router'; -import Projects from './pages/projects'; -import { HashHistory, createHashHistory } from 'history'; - -const hashHistoryAdapter = (hashHistory: HashHistory): CustomHistory => { - return { - listen: (callback) => hashHistory.listen(({ location }) => callback(location)), - location: hashHistory.location, - push: hashHistory.push, - replace: hashHistory.replace - }; -}; -export function App() { - const history = hashHistoryAdapter(createHashHistory()); - - return ( - <> - -
- - - - - - -
- - ) -} diff --git a/src/components/carousel.css b/src/components/carousel.css deleted file mode 100644 index f311805..0000000 --- a/src/components/carousel.css +++ /dev/null @@ -1,68 +0,0 @@ -.carousel-content { - align-self: center; - max-height: 100%; - white-space: nowrap; - -ms-overflow-style: none; /* hide scrollbar in IE and Edge */ - scrollbar-width: none; /* hide scrollbar in Firefox */ -} - -.carousel-item { - width: 100%; - flex-shrink: 0; - height: auto; - float: left; - text-align: center; - transition: all 250ms linear; - white-space: nowrap; - vertical-align: middle; -} - -.slick-slider { - margin: 24px; -} - -.slick-slide { - margin: 0 auto; - border-radius: 10px; - text-align: center; - float: none !important; - display: inline-block !important; - vertical-align: middle; - min-height: 1px; -} - -.carousel-item > * { - border-radius: 10px; - vertical-align: middle; - width: 100%; - height: auto; -} - -.slick-dots li button::before { - color: var(--color-fg) !important; -} - -@media (max-width: 1150px) { - .carousel-wrapper { - margin: 60px auto; - width: 330px; - height: 220px; - } -} - -@media (max-width: 1150px) and (min-width: 480px) { - .carousel-wrapper { - margin: 60px auto; - width: 480px; - height: 360px; - } -} - -@media (min-width: 1150px) { - .carousel-wrapper { - float: right; - width: 480px; - height: 360px; - } -} - diff --git a/src/components/carousel.tsx b/src/components/carousel.tsx deleted file mode 100644 index af9279b..0000000 --- a/src/components/carousel.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import './carousel.css'; -import Slider, { Settings } from 'react-slick'; -import "slick-carousel/slick/slick.css"; -import "slick-carousel/slick/slick-theme.css"; - -export default function Carousel(props: { children: any }) { - const settings: Settings = { - dots: true, - infinite: true, - speed: 500, - slidesToShow: 1, - slidesToScroll: 1 - }; - - return ( - - ); -} diff --git a/src/components/navbar-item.tsx b/src/components/navbar-item.tsx deleted file mode 100644 index c2f2306..0000000 --- a/src/components/navbar-item.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import * as preact from "preact"; - -export function NavbarItem(props: any) { - const { name, href, children, rel } = props; - - return (preact.createElement("div", { className: "navbar-item" }, - preact.createElement("a", { className: "navbar-item-" + name, href: href, rel: rel }, children))); -} diff --git a/src/components/navbar.css b/src/components/navbar.css deleted file mode 100644 index 466fdd6..0000000 --- a/src/components/navbar.css +++ /dev/null @@ -1,277 +0,0 @@ -/* on big screens, navbar is fixed to the top of the screen */ -.navbar-container { - position: fixed; - background-color: var(--color-bg); - top: 0; - width: 100%; - z-index: 9999; - margin: auto; -} - -/* on smaller ones, make it behave as a normal element laid out at the top of the page */ -@media (max-width: 1150px) { - .navbar-container { - position: static; - } -} - -.navbar { - margin-top: 20pt; - margin-bottom: 12pt; - align-items: center; - justify-content: center; - align-self: center; -} - -.navbar-icon { - font-family: Hack, monospace; - font-weight: 500; - color: #646cff; - font-size: 1.5em; - padding: 0.5em; - margin: 0.5em; -} - -.navbar { - align-self: center; - display: block; - width: 100%; - text-align: center; -} - -.navbar-item { - font-family: Hack, monospace; - font-size: 18pt; - text-align: center; - float: none; - clear: left; - display: inline-block; - margin: 0 0.25em; - transition: all 0.2s ease-in-out; -} - -.navbar-item:hover { - padding-left: 0.5em; - padding-right: 0.5em; - transition: all 0.2s ease-in-out; -} - -.navbar-current { - font-weight: bold; -} - -/* home */ - -.navbar-item-home:link { - color: #98C379; - text-decoration: none; -} - -.navbar-item-home:visited { - color: #98C379; - text-decoration: none; -} - -.navbar-item-home:hover { - color: #afd088; - text-decoration: underline; -} - -.navbar-item-home:active { - color: #afd088; - text-decoration: underline; -} - -/* games */ - -.navbar-item-games:link { - color: #e06c75; - text-decoration: none; -} - -.navbar-item-games:visited { - color: #e06c75; - text-decoration: none; -} - -.navbar-item-games:hover { - color: #ef7a80; - text-decoration: underline; -} - -.navbar-item-games:active { - color: #ef7a90; - text-decoration: underline; -} - -/* projects */ - -.navbar-item-projects:link { - color: #d19a66; - text-decoration: none; -} - -.navbar-item-projects:visited { - color: #d19a66; - text-decoration: none; -} - -.navbar-item-projects:hover { - color: #dfa873; - text-decoration: underline; -} - -.navbar-item-projects:active { - color: #dffa73; - text-decoration: underline; -} - -/* github */ - -.navbar-item-github:link { - color: #c678dd; - text-decoration: none; -} - -.navbar-item-github:visited { - color: #c678dd; - text-decoration: none; -} - -.navbar-item-github:hover { - color: #d286eb; - text-decoration: underline; -} - -.navbar-item-github:active { - color: #d286eb; - text-decoration: underline; -} - -/* itch */ - -.navbar-item-itch:link { - color: #e06c75; - text-decoration: none; -} - -.navbar-item-itch:visited { - color: #e06c75; - text-decoration: none; -} - -.navbar-item-itch:hover { - color: #ef7a80; - text-decoration: underline; -} - -.navbar-item-itch:active { - color: #ef7a90; - text-decoration: underline; -} - -/* twitter */ - -.navbar-item-twitter:link { - text-decoration: none; -} - -.navbar-item-twitter:visited { - text-decoration: none; -} - -.navbar-item-twitter:hover { - text-decoration: underline; -} - -.navbar-item-twitter:active { - text-decoration: underline; -} - -/* mastodon */ - -.navbar-item-mastodon:link { - color: #6a4ae0; - text-decoration: none; -} - -.navbar-item-mastodon:visited { - color: #6a4ae0; - text-decoration: none; -} - -.navbar-item-mastodon:hover { - color: #7a55e8; - text-decoration: underline; -} - -.navbar-item-mastodon:active { - color: #7a55e8; - text-decoration: underline; -} - -/* cohost */ - -.navbar-item-cohost:link { - color: #b63b73; - text-decoration: none; -} - -.navbar-item-cohost:visited { - color: #b63b73; - text-decoration: none; -} - -.navbar-item-cohost:hover { - color: #c54a7f; - text-decoration: underline; -} - -.navbar-item-cohost:active { - color: #c54a7f; - text-decoration: underline; -} - -/* tumblr */ - -.navbar-item-tumblr:link { - color: #00b8ff; - text-decoration: none; -} - -.navbar-item-tumblr:visited { - color: #00b8ff; - text-decoration: none; -} - -.navbar-item-tumblr:hover { - color: #00c5ff; - text-decoration: underline; -} - -.navbar-item-tumblr:active { - color: #00c5ff; - text-decoration: underline; -} - -/* contact */ - -.navbar-item-contact:link { - color: #e5c07b; - text-decoration: none; -} - -.navbar-item-contact:visited { - color: #e5c07b; - text-decoration: none; -} - -.navbar-item-contact:hover { - color: #f2ce89; - text-decoration: underline; -} - -.navbar-item-contact:active { - color: #f2ce89; - text-decoration: underline; -} diff --git a/src/components/navbar.tsx b/src/components/navbar.tsx deleted file mode 100644 index ba3d7d7..0000000 --- a/src/components/navbar.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import './navbar.css'; - -import { NavbarItem } from './navbar-item'; - -export function Navbar() { - return ( - - ); -} diff --git a/src/index.css b/src/index.css deleted file mode 100644 index cf6f743..0000000 --- a/src/index.css +++ /dev/null @@ -1,121 +0,0 @@ -:root { - font-weight: 400; - - color-scheme: light dark; - color: var(--color-fg); - background-color: var(--color-bg); - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -webkit-text-size-adjust: 100%; - - /* variables */ - --color-bg: #161f30; - --color-fg: #a3b3d9; - --color-search-blue: #083C5A; - --color-white: #a3b3d9; - --color-gray: #647089; - --color-dark-gray: #3e4451; - --color-context: #6b737f; - --color-light-gray: #c8ccd4; - --color-tree-gray: #1b1f27; - --color-blue: #6080dd; - --color-vivid-blue: #61afef; - --color-dark-blue: #223E55; - --color-folder-blue: #61afef; - --color-light-blue: #a3b3d9; - --color-green: #449871; - --color-cyan: #56b6c2; - --color-light-green: #98c379; - --color-red: #c13251; - --color-orange: #c18a56; - --color-light-red: #e06c75; - --color-yellow: #e5c07b; - --color-purple: #604bd8; - --color-magenta: #b071fc; -} - -a:link { - font-weight: 500; - color: #4fc1ff; - text-decoration: inherit; -} - -a:visited { - color: #4fc1ff; -} - -a:hover { - color: #60d2ff; -} - -a:active { - color: #66d8ff; -} - - -body { - margin: 0; - /* display: flex; */ - /* place-items: center; */ - min-width: 320px; - min-height: 100vh; -} - -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -span { - display: inline; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } -} - -.hack { - font-family: Hack, monospace; - font-weight: 500; -} - -.grow { - transition: all .2s ease-in-out; - transform: scale(1); -} - -.grow:hover { - transition: all .2s ease-in-out; - transform: scale(1.1); -} diff --git a/src/main.tsx b/src/main.tsx deleted file mode 100644 index 846cd1e..0000000 --- a/src/main.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { render } from 'preact' -import { App } from './app.tsx' -import './index.css' - -render(, document.getElementById('app')!) diff --git a/src/pages/contact.css b/src/pages/contact.css deleted file mode 100644 index 93b63bd..0000000 --- a/src/pages/contact.css +++ /dev/null @@ -1,22 +0,0 @@ -.contact-container { - width: 100%; - max-width: 1120px; - margin: auto; - margin-top: 24pt; - margin-bottom: 48pt; - align-items: center; - justify-content: center; - align-self: center; - font-size: 18pt; -} - -.contact { - margin-top: 24pt; - margin-bottom: 8pt; - font-size: 20pt; - color: #98C379; -} - -.highlight { - color: #e5c07b; -} diff --git a/src/pages/contact.tsx b/src/pages/contact.tsx deleted file mode 100644 index efc9eba..0000000 --- a/src/pages/contact.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import './contact.css'; - -export default function Contact() { - return ( -
-
- Contact -
-
-
- Discord -
- - usually the fastest way to reach me -
- EchoDuck#7866 - -
- Matrix -
- for the FOSS folks -
- @echoduck:matrix.org - -
- Email -
- I check my email daily -
- duckonaut@gmail.com -
-
- ); -} diff --git a/src/pages/games.css b/src/pages/games.css deleted file mode 100644 index e69de29..0000000 diff --git a/src/pages/games.tsx b/src/pages/games.tsx deleted file mode 100644 index 314813d..0000000 --- a/src/pages/games.tsx +++ /dev/null @@ -1,393 +0,0 @@ -import Carousel from '../components/carousel'; -import './projects.css'; - -export default function Games() { - return ( - <> -
-
- Game Projects -
-
- my game projects, mostly from game jams -
-
-
-
- -
-
-
Made using
-
- - -
-
-
-
Available on
-
- - -
-
-
-
- The legends say that one day, brave Heroes will slay the evil and malicious Ignatius, the Chaos - Bringer... But YOU won't go down without a fight! Be the bossfight everyone is dreading and hunt - down as many Heroes as you can in your last stand using a variety of abilities you can choose from! -
- Game made in 72 hours for Ludum Dare 50, with - the theme "Delay the Inevitable". -
-
- - - - - - - -
- -
- -
-
-
Made using
-
- - -
-
-
-
Available on
-
- - -
-
-
-
- A physics puzzle game in which you need to protect little creatures from danger that could come from - any direction. Build forts with tetris-style blocks. The game features 30+ levels, multiple distinct - enemies and a star rating system. -
- Game made in 72 hours for Ludum Dare 49, with - the theme "Unstable". -
-
- - - - - - -
- -
- -
-
-
Made using
-
- - -
-
-
-
Available on
-
- -
-
-
-
- Adventure through a dungeon of gambling themed enemies! - Craft your perfect dice from many powerful spells, - combo them to destroy everything in your path, and descend deeper. -
- Game made in under 50 hours for GMTK Game Jam 2022, - with - the theme "Roll of the dice". -
-
- - - -
- -
- -
-
-
Made using
-
- - -
-
-
-
Available on
-
- - -
-
-
-
- Turn based arcade survival game. - Survive as long as you can by freezing enemies and using them to defeat more enemies. -
- Game made in roughly 8 hours for a private game jam with friends. -
-
- - - - - - -
- -
-
Miro -
-
-
-
Made using
-
- - -
-
-
-
Available on
-
- -
-
-
-
- Small chill game made mostly as an experiment for a nice 2D renderer mechanic. - Infect the world around you, breaking it down into its simplest components. -
- Game made in roughly 8 hours for a private game jam with friends. -
-
- - - - - - -
- -
- -
-
-
Made using
-
- - -
-
-
-
Available on
-
- - -
-
-
-
- Play as Yolka, a mountain goat who found an unknown egg. Keep the egg warm as you navigate the 3 - distinct worlds, and bring it to the hottest place you know: the depths of a volcano. -
- Game made in a week for Newgrounds July - Jam 2021, with the theme "Egg". -
-
- - - - - - - -
- -
- -
-
-
Made using
-
- - -
-
-
-
Available on
-
- -
-
-
-
- Tiny idle simulation game where you manage a team of randomly generated little fellas as they fight - other greachers in a sidescrolling world with beautiful procedurally generated graphics. -
- Game made in 2 weeks for LOWREZJAM 2021, with the - theme "Minibeasts". -
-
- - - - - - -
- -
- -
-
-
Made using
-
- -
-
-
-
Available on
-
- - -
-
-
-
- A top-down stealth game where you play as a spy tasked with stealing important data from a rivaling - government. Your task would be easy enough if your objective wasn’t in a underground top-secret - facility handling an alien outbreak. Without access to conventional stealth techniques, use corpses - of your enemies to sneak through the battlefield. -
- Game made in 72 hours for Ludum Dare 48, with - the theme "Deeper and deeper". -
-
- - - - - - - -
-
- -
-
-
Made using
-
- - -
-
-
-
Available on
-
- -
-
-
-
- A simple pacman-inspired arcade game. Try to grab all the stars in a randomly generated maze before - the time expires, while your controls are scattered all over the screen. Get as far as you can to - get the highest score. -
- Game made in 8 hours for Jam Jam, a local - in-person event organized by KNTG Polygon, with - the theme "One Click". -
-
- - - - - - -
-
- -
-
-
Made using
-
- - -
-
-
-
Available on
-
- -
-
-
-
- You just got your first guitar, and through sheer luck managed to land in the king's throne room, - trying to entertain him. Sadly, his subjects aren't huge fans of your music. Dodge them while trying - to play the best you can, or the king won't be merciful. -
- Game made in 48 hours for a special solo game jam among friends. My theme was "Power at a price". -
-
- - - - - -
-
- -
-
-
Made using
-
- -
-
-
-
Available on
-
- - -
-
-
-
- A quick movement focused platformer that tests your short term memory. Survive the trap system of an - ancient temple! Dash through the lanterns in the correct order before the time runs out, or face - certain death! -
- Game made in 48 hours for Ludum Dare Compo 47 - with the theme "Stuck in a loop". -
-
- - - - -
-
- - ); -} - diff --git a/src/pages/home.tsx b/src/pages/home.tsx deleted file mode 100644 index 9b29803..0000000 --- a/src/pages/home.tsx +++ /dev/null @@ -1,29 +0,0 @@ -export default function Home() { - return ( - <> -
-
- Stanisław Zagórowski -
-
- aka Duckonaut, EchoDuck -
- -
- -
-

- Hello! I'm a programmer, game designer, and artist. I'm currently a student at the Warsaw University of - Technology, studying Computer Science. A list of the games I've worked on is in the games section. Other projects I've been a part of are available in the projects section. - I also enjoy some lower-level programming and learning about the inner workings of various systems. The main - technologies I use are C#, Unity - , Python, Rust and C, - although I'm also familiar with Godot, C++ - , Java and some JavaScript and TypeScript. -

-
- - ); -} diff --git a/src/pages/projects.css b/src/pages/projects.css deleted file mode 100644 index f9cc07f..0000000 --- a/src/pages/projects.css +++ /dev/null @@ -1,137 +0,0 @@ -.icon { - display: inline; - width: 32px; - height: 32px; - transition: 0.3s; - transform-origin: center; - filter: brightness(70%) -} - -.icon:hover { - filter: brightness(80%); -} - -.icon-row { - width: 240px; - height: 36px; -} - -.icon-container { - height: 36px; - float: right; -} - -.icon-text { - width: auto; - height: 36px; - line-height: 36px; - float: left; - vertical-align: middle; - margin-right: 8px; - color: #5c6370; -} - -.projects-container { - width: 100%; - max-width: 1120px; - margin: auto; - margin-top: 24pt; - margin-bottom: 48pt; - align-items: center; - justify-content: center; - align-self: center; -} - -.project { - display: table; - align-self: center; - clear: both; - margin-bottom: 24pt; -} - -.project-info { - font-size: 14pt; -} - -.project-description { - font-size: 16pt; - text-align: justify; -} - -.project-image-gallery { - margin-left: 24px; - margin-right: 10px; -} - -@media (max-width: 1150px) { - .project-title { - text-align: center; - font-size: 24pt; - margin-bottom: 8px; - text-decoration-line: underline; - } - - .project-image-gallery { - margin: 60px auto; - width: 330px; - height: 220px; - } - - .project-info { - float: none; - width: 90%; - margin: auto; - } - - .project-description { - font-size: 14pt; - } -} - -@media (max-width: 1150px) and (min-width: 480px) { - .project-title { - text-align: center; - font-size: 24pt; - margin-bottom: 8px; - text-decoration-line: underline; - } - .project-image-gallery { - margin: 60px auto; - width: 480px; - height: 360px; - } - - .project-info { - float: none; - width: 90%; - margin: auto; - } - - .project-description { - font-size: 14pt; - } -} - -@media (min-width: 1150px) { - .project-title { - text-align: left; - font-size: 32pt; - margin-bottom: 8px; - text-decoration-line: underline; - } - .project-image-gallery { - float: right; - width: 480px; - height: 360px; - } - .project-info { - float: left; - max-width: 600px; - } - - .project-description { - font-size: 16pt; - } -} - - diff --git a/src/pages/projects.tsx b/src/pages/projects.tsx deleted file mode 100644 index 4e64704..0000000 --- a/src/pages/projects.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import './projects.css'; -import Carousel from '../components/carousel'; - -export default function Projects() { - return ( - <> -
-
- Other Projects -
-
- projects that are not games -
-
- -
- -
- -
-
-
Made using
-
- -
-
-
-
Available on
-
- -
-
-
-
- The Spirit Mod is one of the largest mods for Terraria: with more than 1300 items, 8 bosses, and - hundreds of enemies, as well as 3 new events and 3 brand new biomes, the mod has a lot to offer. -
- I had the privilege of contributing some system code, mainly the "Stargoop" system. -
-
- - - - - -
-
- - ); -} diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts deleted file mode 100644 index 11f02fe..0000000 --- a/src/vite-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 907453c..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "module": "ESNext", - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "skipLibCheck": true, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx", - "jsxImportSource": "preact", - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - - "baseUrl": "./", - "paths": { - "react": ["node_modules/preact/compat"], - "react-dom": ["node_modules/preact/compat"] - } - }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] -} diff --git a/tsconfig.node.json b/tsconfig.node.json deleted file mode 100644 index 42872c5..0000000 --- a/tsconfig.node.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "skipLibCheck": true, - "module": "ESNext", - "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true - }, - "include": ["vite.config.ts"] -} diff --git a/vite.config.ts b/vite.config.ts deleted file mode 100644 index 29b326f..0000000 --- a/vite.config.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { defineConfig } from 'vite' -import preact from '@preact/preset-vite' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [preact()], -}) -- cgit v1.3.1