+Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli).
-[](https://github.com/moku-project/Moku/releases/latest)
-
-[](https://github.com/moku-project/Moku)
-[](https://discord.gg/x97hj8zR72)
+## Creating a project
-
+If you're seeing this, you've probably already done this step. Congrats!
-
-
-Moku is a fast, minimal manga reader frontend for [Suwayomi-Server](https://github.com/Suwayomi/Suwayomi-Server). It wraps Suwayomi's GraphQL API in a lightweight Tauri app — no Electron overhead.
-
----
-
-## Screenshots
-
-
-
----
-
-## Features
-
-- **Library management** — organize manga into folders, track unread counts, filter by genre
-- **Per-folder sorting & filtering** — each folder has its own independent sort (unread, A–Z, recently read, latest chapter, and more) and publication status filter (Ongoing, Completed, Hiatus, etc.)
-- **Built-in reader** — single page, long strip, configurable fit modes, customizable keybinds
-- **Markers** — pin color-coded notes to any page while reading; markers appear as dots on the progress bar and are browseable under Series Detail → Manage → Markers
-- **Extension support** — install and manage Suwayomi extensions directly from the app
-- **Download management** — queue and monitor chapter downloads with progress toasts
-- **Automation** — pre-download titles automatically and optionally delete chapters after they're marked as read (accessible from Series Detail)
-- **Discord Rich Presence** — shows the manga title, current chapter, and an elapsed timer in your Discord status; configurable in Settings → General
-- **Auto-start server** — optionally launch Suwayomi in the background on startup
-- **Multiple themes** — Dark, Light, Midnight, Warm, High Contrast, and more
-- **Auto-updates** — in-app update checker with silent background notifications
-- **Improved NSFW filtering** — expanded tag parser gives the Hide NSFW setting better coverage across sources
-
----
-
-## Installation
-
-
-
-
-
-
-
-
-
-### Windows
-
-**winget:**
-
-```powershell
-winget install Moku.Moku
+```sh
+# create a new project
+npx sv create my-app
```
-> Thanks to [@frozenKelp](https://github.com/frozenKelp) for setting up and maintaining the winget package through v0.9.0.
+To recreate this project with the same configuration:
-Or download the `.exe` installer from the [releases page](https://github.com/moku-project/Moku/releases/latest). Suwayomi-Server and a JRE are bundled.
-
-### Linux (Flatpak, recommended)
-
-Suwayomi-Server and a bundled JRE are included — no separate install needed.
-
-```bash
-flatpak install io.github.moku_app.Moku
+```sh
+# recreate this project
+pnpm dlx sv@0.15.3 create --template minimal --types ts --install pnpm .
```
-Or download the latest `moku.flatpak` from the [releases page](https://github.com/moku-project/Moku/releases/latest) and install manually:
+## Developing
-```bash
-flatpak install moku.flatpak
+Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
+
+```sh
+npm run dev
+
+# or start the server and open the app in a new browser tab
+npm run dev -- --open
```
-### Nix
+## Building
-```bash
-nix run github:moku-project/Moku
+To create a production version of your app:
+
+```sh
+npm run build
```
-Add to your flake:
+You can preview the production build with `npm run preview`.
-```nix
-inputs.moku.url = "github:moku-project/Moku";
-```
-
-### macOS
-
-Download the `.dmg` from the [releases page](https://github.com/moku-project/Moku/releases/latest).
-
-> **Note:** Builds are ad-hoc signed. On first launch you may need to run:
-> ```bash
-> xattr -rd com.apple.quarantine /Applications/Moku.app
-> ```
-
----
-
-## Requirements
-
-If you're not using the bundled Flatpak or Windows installer, [Suwayomi-Server](https://github.com/Suwayomi/Suwayomi-Server) must be running separately. By default Moku connects to `http://127.0.0.1:4567`.
-
-You can point Moku at any Suwayomi instance — local or remote — via **Settings → General → Server URL**.
-
----
-
-## Development
-
-**Prerequisites:** [Rust](https://rustup.rs), [Node.js](https://nodejs.org), [pnpm](https://pnpm.io), and [Tauri v2 prerequisites](https://tauri.app/start/prerequisites/).
-
-```bash
-git clone https://github.com/moku-project/Moku
-cd Moku
-pnpm install
-pnpm tauri:dev
-```
-
-Or with Nix:
-
-```bash
-nix develop
-pnpm install
-pnpm tauri:dev
-```
-
----
-
-## Stack
-
-| | |
-|---|---|
-| [Tauri v2](https://tauri.app) | Native app shell |
-| [Svelte 5](https://svelte.dev) + [TypeScript](https://www.typescriptlang.org) | UI |
-| [Vite](https://vitejs.dev) | Frontend bundler |
-| [Crane](https://github.com/ipetkov/crane) | Nix Rust builds |
-
----
-
-## Community
-
-Questions, feedback, or just want to hang out — join the Discord.
-
-[](https://discord.gg/x97hj8zR72)
-
----
-
-## License
-
-Distributed under the [Apache 2.0 License](./LICENSE).
-
----
-
-## Disclaimer
-
-Moku does not host or distribute any content. The developers have no affiliation with any content providers accessible through connected sources.
+> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
diff --git a/src/App.svelte b/_old/App.svelte
similarity index 100%
rename from src/App.svelte
rename to _old/App.svelte
diff --git a/src/api/client.ts b/_old/api/client.ts
similarity index 100%
rename from src/api/client.ts
rename to _old/api/client.ts
diff --git a/src/api/index.ts b/_old/api/index.ts
similarity index 100%
rename from src/api/index.ts
rename to _old/api/index.ts
diff --git a/src/api/mutations/chapters.ts b/_old/api/mutations/chapters.ts
similarity index 100%
rename from src/api/mutations/chapters.ts
rename to _old/api/mutations/chapters.ts
diff --git a/src/api/mutations/downloads.ts b/_old/api/mutations/downloads.ts
similarity index 100%
rename from src/api/mutations/downloads.ts
rename to _old/api/mutations/downloads.ts
diff --git a/src/api/mutations/extensions.ts b/_old/api/mutations/extensions.ts
similarity index 100%
rename from src/api/mutations/extensions.ts
rename to _old/api/mutations/extensions.ts
diff --git a/src/api/mutations/index.ts b/_old/api/mutations/index.ts
similarity index 100%
rename from src/api/mutations/index.ts
rename to _old/api/mutations/index.ts
diff --git a/src/api/mutations/manga.ts b/_old/api/mutations/manga.ts
similarity index 100%
rename from src/api/mutations/manga.ts
rename to _old/api/mutations/manga.ts
diff --git a/src/api/mutations/mutations.md b/_old/api/mutations/mutations.md
similarity index 100%
rename from src/api/mutations/mutations.md
rename to _old/api/mutations/mutations.md
diff --git a/src/api/mutations/tracking.ts b/_old/api/mutations/tracking.ts
similarity index 100%
rename from src/api/mutations/tracking.ts
rename to _old/api/mutations/tracking.ts
diff --git a/src/api/queries/chapters.ts b/_old/api/queries/chapters.ts
similarity index 100%
rename from src/api/queries/chapters.ts
rename to _old/api/queries/chapters.ts
diff --git a/src/api/queries/downloads.ts b/_old/api/queries/downloads.ts
similarity index 100%
rename from src/api/queries/downloads.ts
rename to _old/api/queries/downloads.ts
diff --git a/src/api/queries/extensions.ts b/_old/api/queries/extensions.ts
similarity index 100%
rename from src/api/queries/extensions.ts
rename to _old/api/queries/extensions.ts
diff --git a/src/api/queries/index.ts b/_old/api/queries/index.ts
similarity index 100%
rename from src/api/queries/index.ts
rename to _old/api/queries/index.ts
diff --git a/src/api/queries/manga.ts b/_old/api/queries/manga.ts
similarity index 100%
rename from src/api/queries/manga.ts
rename to _old/api/queries/manga.ts
diff --git a/src/api/queries/meta.ts b/_old/api/queries/meta.ts
similarity index 100%
rename from src/api/queries/meta.ts
rename to _old/api/queries/meta.ts
diff --git a/src/api/queries/queries.md b/_old/api/queries/queries.md
similarity index 100%
rename from src/api/queries/queries.md
rename to _old/api/queries/queries.md
diff --git a/src/api/queries/tracking.ts b/_old/api/queries/tracking.ts
similarity index 100%
rename from src/api/queries/tracking.ts
rename to _old/api/queries/tracking.ts
diff --git a/src/api/queries/updater.ts b/_old/api/queries/updater.ts
similarity index 100%
rename from src/api/queries/updater.ts
rename to _old/api/queries/updater.ts
diff --git a/src/core/actions/index.ts b/_old/core/actions/index.ts
similarity index 100%
rename from src/core/actions/index.ts
rename to _old/core/actions/index.ts
diff --git a/src/core/actions/selectPortal.ts b/_old/core/actions/selectPortal.ts
similarity index 100%
rename from src/core/actions/selectPortal.ts
rename to _old/core/actions/selectPortal.ts
diff --git a/src/core/algorithms/filter.ts b/_old/core/algorithms/filter.ts
similarity index 100%
rename from src/core/algorithms/filter.ts
rename to _old/core/algorithms/filter.ts
diff --git a/src/core/algorithms/index.ts b/_old/core/algorithms/index.ts
similarity index 100%
rename from src/core/algorithms/index.ts
rename to _old/core/algorithms/index.ts
diff --git a/src/core/algorithms/paginate.ts b/_old/core/algorithms/paginate.ts
similarity index 100%
rename from src/core/algorithms/paginate.ts
rename to _old/core/algorithms/paginate.ts
diff --git a/src/core/algorithms/queue.ts b/_old/core/algorithms/queue.ts
similarity index 100%
rename from src/core/algorithms/queue.ts
rename to _old/core/algorithms/queue.ts
diff --git a/src/core/algorithms/search.ts b/_old/core/algorithms/search.ts
similarity index 100%
rename from src/core/algorithms/search.ts
rename to _old/core/algorithms/search.ts
diff --git a/src/core/algorithms/sort.ts b/_old/core/algorithms/sort.ts
similarity index 100%
rename from src/core/algorithms/sort.ts
rename to _old/core/algorithms/sort.ts
diff --git a/src/core/async/batchRequests.ts b/_old/core/async/batchRequests.ts
similarity index 100%
rename from src/core/async/batchRequests.ts
rename to _old/core/async/batchRequests.ts
diff --git a/src/core/async/createPaginatedQuery.ts b/_old/core/async/createPaginatedQuery.ts
similarity index 100%
rename from src/core/async/createPaginatedQuery.ts
rename to _old/core/async/createPaginatedQuery.ts
diff --git a/src/core/async/fetchWithRetry.ts b/_old/core/async/fetchWithRetry.ts
similarity index 100%
rename from src/core/async/fetchWithRetry.ts
rename to _old/core/async/fetchWithRetry.ts
diff --git a/src/core/async/index.ts b/_old/core/async/index.ts
similarity index 100%
rename from src/core/async/index.ts
rename to _old/core/async/index.ts
diff --git a/src/core/auth.ts b/_old/core/auth.ts
similarity index 100%
rename from src/core/auth.ts
rename to _old/core/auth.ts
diff --git a/src/core/backup.ts b/_old/core/backup.ts
similarity index 100%
rename from src/core/backup.ts
rename to _old/core/backup.ts
diff --git a/src/core/cache/imageCache.ts b/_old/core/cache/imageCache.ts
similarity index 100%
rename from src/core/cache/imageCache.ts
rename to _old/core/cache/imageCache.ts
diff --git a/src/core/cache/index.ts b/_old/core/cache/index.ts
similarity index 100%
rename from src/core/cache/index.ts
rename to _old/core/cache/index.ts
diff --git a/src/core/cache/memoryCache.ts b/_old/core/cache/memoryCache.ts
similarity index 100%
rename from src/core/cache/memoryCache.ts
rename to _old/core/cache/memoryCache.ts
diff --git a/src/core/cache/pageCache.ts b/_old/core/cache/pageCache.ts
similarity index 100%
rename from src/core/cache/pageCache.ts
rename to _old/core/cache/pageCache.ts
diff --git a/src/core/cache/queryCache.ts b/_old/core/cache/queryCache.ts
similarity index 100%
rename from src/core/cache/queryCache.ts
rename to _old/core/cache/queryCache.ts
diff --git a/src/core/cover/autoLink.ts b/_old/core/cover/autoLink.ts
similarity index 100%
rename from src/core/cover/autoLink.ts
rename to _old/core/cover/autoLink.ts
diff --git a/src/core/cover/autoLinkWorker.ts b/_old/core/cover/autoLinkWorker.ts
similarity index 100%
rename from src/core/cover/autoLinkWorker.ts
rename to _old/core/cover/autoLinkWorker.ts
diff --git a/src/core/cover/coverHash.ts b/_old/core/cover/coverHash.ts
similarity index 100%
rename from src/core/cover/coverHash.ts
rename to _old/core/cover/coverHash.ts
diff --git a/src/core/cover/coverResolver.ts b/_old/core/cover/coverResolver.ts
similarity index 100%
rename from src/core/cover/coverResolver.ts
rename to _old/core/cover/coverResolver.ts
diff --git a/src/core/cover/index.ts b/_old/core/cover/index.ts
similarity index 100%
rename from src/core/cover/index.ts
rename to _old/core/cover/index.ts
diff --git a/src/core/keybinds/defaultBinds.ts b/_old/core/keybinds/defaultBinds.ts
similarity index 100%
rename from src/core/keybinds/defaultBinds.ts
rename to _old/core/keybinds/defaultBinds.ts
diff --git a/src/core/keybinds/index.ts b/_old/core/keybinds/index.ts
similarity index 100%
rename from src/core/keybinds/index.ts
rename to _old/core/keybinds/index.ts
diff --git a/src/core/keybinds/keybindEngine.ts b/_old/core/keybinds/keybindEngine.ts
similarity index 100%
rename from src/core/keybinds/keybindEngine.ts
rename to _old/core/keybinds/keybindEngine.ts
diff --git a/src/core/persistence/credentialVault.ts b/_old/core/persistence/credentialVault.ts
similarity index 100%
rename from src/core/persistence/credentialVault.ts
rename to _old/core/persistence/credentialVault.ts
diff --git a/src/core/persistence/index.ts b/_old/core/persistence/index.ts
similarity index 100%
rename from src/core/persistence/index.ts
rename to _old/core/persistence/index.ts
diff --git a/src/core/persistence/persist.ts b/_old/core/persistence/persist.ts
similarity index 100%
rename from src/core/persistence/persist.ts
rename to _old/core/persistence/persist.ts
diff --git a/src/core/theme.ts b/_old/core/theme.ts
similarity index 100%
rename from src/core/theme.ts
rename to _old/core/theme.ts
diff --git a/src/core/ui/idle.ts b/_old/core/ui/idle.ts
similarity index 100%
rename from src/core/ui/idle.ts
rename to _old/core/ui/idle.ts
diff --git a/src/core/ui/index.ts b/_old/core/ui/index.ts
similarity index 100%
rename from src/core/ui/index.ts
rename to _old/core/ui/index.ts
diff --git a/src/core/ui/touchscreen.ts b/_old/core/ui/touchscreen.ts
similarity index 100%
rename from src/core/ui/touchscreen.ts
rename to _old/core/ui/touchscreen.ts
diff --git a/src/core/ui/zoom.ts b/_old/core/ui/zoom.ts
similarity index 100%
rename from src/core/ui/zoom.ts
rename to _old/core/ui/zoom.ts
diff --git a/src/core/updater.ts b/_old/core/updater.ts
similarity index 100%
rename from src/core/updater.ts
rename to _old/core/updater.ts
diff --git a/src/core/util.ts b/_old/core/util.ts
similarity index 100%
rename from src/core/util.ts
rename to _old/core/util.ts
diff --git a/src/design/base/animations.css b/_old/design/base/animations.css
similarity index 100%
rename from src/design/base/animations.css
rename to _old/design/base/animations.css
diff --git a/src/design/base/index.css b/_old/design/base/index.css
similarity index 100%
rename from src/design/base/index.css
rename to _old/design/base/index.css
diff --git a/src/design/base/reset.css b/_old/design/base/reset.css
similarity index 100%
rename from src/design/base/reset.css
rename to _old/design/base/reset.css
diff --git a/src/design/base/scrollbars.css b/_old/design/base/scrollbars.css
similarity index 100%
rename from src/design/base/scrollbars.css
rename to _old/design/base/scrollbars.css
diff --git a/src/design/base/typography.css b/_old/design/base/typography.css
similarity index 100%
rename from src/design/base/typography.css
rename to _old/design/base/typography.css
diff --git a/src/design/themes/dark.css b/_old/design/themes/dark.css
similarity index 100%
rename from src/design/themes/dark.css
rename to _old/design/themes/dark.css
diff --git a/src/design/themes/index.css b/_old/design/themes/index.css
similarity index 100%
rename from src/design/themes/index.css
rename to _old/design/themes/index.css
diff --git a/src/design/themes/light.css b/_old/design/themes/light.css
similarity index 100%
rename from src/design/themes/light.css
rename to _old/design/themes/light.css
diff --git a/src/design/themes/midnight.css b/_old/design/themes/midnight.css
similarity index 100%
rename from src/design/themes/midnight.css
rename to _old/design/themes/midnight.css
diff --git a/src/design/themes/original.css b/_old/design/themes/original.css
similarity index 100%
rename from src/design/themes/original.css
rename to _old/design/themes/original.css
diff --git a/src/design/themes/warm.css b/_old/design/themes/warm.css
similarity index 100%
rename from src/design/themes/warm.css
rename to _old/design/themes/warm.css
diff --git a/src/design/tokens/colors.css b/_old/design/tokens/colors.css
similarity index 100%
rename from src/design/tokens/colors.css
rename to _old/design/tokens/colors.css
diff --git a/src/design/tokens/index.css b/_old/design/tokens/index.css
similarity index 100%
rename from src/design/tokens/index.css
rename to _old/design/tokens/index.css
diff --git a/src/design/tokens/motion.css b/_old/design/tokens/motion.css
similarity index 100%
rename from src/design/tokens/motion.css
rename to _old/design/tokens/motion.css
diff --git a/src/design/tokens/radius.css b/_old/design/tokens/radius.css
similarity index 100%
rename from src/design/tokens/radius.css
rename to _old/design/tokens/radius.css
diff --git a/src/design/tokens/shadows.css b/_old/design/tokens/shadows.css
similarity index 100%
rename from src/design/tokens/shadows.css
rename to _old/design/tokens/shadows.css
diff --git a/src/design/tokens/spacing.css b/_old/design/tokens/spacing.css
similarity index 100%
rename from src/design/tokens/spacing.css
rename to _old/design/tokens/spacing.css
diff --git a/src/design/tokens/typography.css b/_old/design/tokens/typography.css
similarity index 100%
rename from src/design/tokens/typography.css
rename to _old/design/tokens/typography.css
diff --git a/src/design/tokens/zindex.css b/_old/design/tokens/zindex.css
similarity index 100%
rename from src/design/tokens/zindex.css
rename to _old/design/tokens/zindex.css
diff --git a/src/design/utilities/layout.css b/_old/design/utilities/layout.css
similarity index 100%
rename from src/design/utilities/layout.css
rename to _old/design/utilities/layout.css
diff --git a/src/design/utilities/text.css b/_old/design/utilities/text.css
similarity index 100%
rename from src/design/utilities/text.css
rename to _old/design/utilities/text.css
diff --git a/src/design/utilities/visibility.css b/_old/design/utilities/visibility.css
similarity index 100%
rename from src/design/utilities/visibility.css
rename to _old/design/utilities/visibility.css
diff --git a/src/features/discover/components/GenreDrillPage.svelte b/_old/features/discover/components/GenreDrillPage.svelte
similarity index 100%
rename from src/features/discover/components/GenreDrillPage.svelte
rename to _old/features/discover/components/GenreDrillPage.svelte
diff --git a/src/features/discover/components/KeywordTab.svelte b/_old/features/discover/components/KeywordTab.svelte
similarity index 100%
rename from src/features/discover/components/KeywordTab.svelte
rename to _old/features/discover/components/KeywordTab.svelte
diff --git a/src/features/discover/components/Search.svelte b/_old/features/discover/components/Search.svelte
similarity index 100%
rename from src/features/discover/components/Search.svelte
rename to _old/features/discover/components/Search.svelte
diff --git a/src/features/discover/components/SourceTab.svelte b/_old/features/discover/components/SourceTab.svelte
similarity index 100%
rename from src/features/discover/components/SourceTab.svelte
rename to _old/features/discover/components/SourceTab.svelte
diff --git a/src/features/discover/components/TagTab.svelte b/_old/features/discover/components/TagTab.svelte
similarity index 100%
rename from src/features/discover/components/TagTab.svelte
rename to _old/features/discover/components/TagTab.svelte
diff --git a/src/features/discover/index.ts b/_old/features/discover/index.ts
similarity index 100%
rename from src/features/discover/index.ts
rename to _old/features/discover/index.ts
diff --git a/src/features/discover/lib/searchFilter.ts b/_old/features/discover/lib/searchFilter.ts
similarity index 100%
rename from src/features/discover/lib/searchFilter.ts
rename to _old/features/discover/lib/searchFilter.ts
diff --git a/src/features/downloads/components/DownloadItem.svelte b/_old/features/downloads/components/DownloadItem.svelte
similarity index 100%
rename from src/features/downloads/components/DownloadItem.svelte
rename to _old/features/downloads/components/DownloadItem.svelte
diff --git a/src/features/downloads/components/DownloadQueue.svelte b/_old/features/downloads/components/DownloadQueue.svelte
similarity index 100%
rename from src/features/downloads/components/DownloadQueue.svelte
rename to _old/features/downloads/components/DownloadQueue.svelte
diff --git a/src/features/downloads/components/Downloads.svelte b/_old/features/downloads/components/Downloads.svelte
similarity index 100%
rename from src/features/downloads/components/Downloads.svelte
rename to _old/features/downloads/components/Downloads.svelte
diff --git a/src/features/downloads/index.ts b/_old/features/downloads/index.ts
similarity index 100%
rename from src/features/downloads/index.ts
rename to _old/features/downloads/index.ts
diff --git a/src/features/downloads/lib/autoRetry.ts b/_old/features/downloads/lib/autoRetry.ts
similarity index 100%
rename from src/features/downloads/lib/autoRetry.ts
rename to _old/features/downloads/lib/autoRetry.ts
diff --git a/src/features/downloads/lib/downloadQueue.ts b/_old/features/downloads/lib/downloadQueue.ts
similarity index 100%
rename from src/features/downloads/lib/downloadQueue.ts
rename to _old/features/downloads/lib/downloadQueue.ts
diff --git a/src/features/downloads/store/downloadState.svelte.ts b/_old/features/downloads/store/downloadState.svelte.ts
similarity index 100%
rename from src/features/downloads/store/downloadState.svelte.ts
rename to _old/features/downloads/store/downloadState.svelte.ts
diff --git a/src/features/extensions/components/ExtensionCard.svelte b/_old/features/extensions/components/ExtensionCard.svelte
similarity index 100%
rename from src/features/extensions/components/ExtensionCard.svelte
rename to _old/features/extensions/components/ExtensionCard.svelte
diff --git a/src/features/extensions/components/ExtensionFilters.svelte b/_old/features/extensions/components/ExtensionFilters.svelte
similarity index 100%
rename from src/features/extensions/components/ExtensionFilters.svelte
rename to _old/features/extensions/components/ExtensionFilters.svelte
diff --git a/src/features/extensions/components/ExtensionLibrary.svelte b/_old/features/extensions/components/ExtensionLibrary.svelte
similarity index 100%
rename from src/features/extensions/components/ExtensionLibrary.svelte
rename to _old/features/extensions/components/ExtensionLibrary.svelte
diff --git a/src/features/extensions/components/Extensions.svelte b/_old/features/extensions/components/Extensions.svelte
similarity index 100%
rename from src/features/extensions/components/Extensions.svelte
rename to _old/features/extensions/components/Extensions.svelte
diff --git a/src/features/extensions/index.ts b/_old/features/extensions/index.ts
similarity index 100%
rename from src/features/extensions/index.ts
rename to _old/features/extensions/index.ts
diff --git a/src/features/extensions/lib/extensionHelpers.ts b/_old/features/extensions/lib/extensionHelpers.ts
similarity index 100%
rename from src/features/extensions/lib/extensionHelpers.ts
rename to _old/features/extensions/lib/extensionHelpers.ts
diff --git a/src/features/extensions/lib/extensionLibrary.ts b/_old/features/extensions/lib/extensionLibrary.ts
similarity index 100%
rename from src/features/extensions/lib/extensionLibrary.ts
rename to _old/features/extensions/lib/extensionLibrary.ts
diff --git a/src/features/extensions/panels/ExtensionSettingsPanel.svelte b/_old/features/extensions/panels/ExtensionSettingsPanel.svelte
similarity index 100%
rename from src/features/extensions/panels/ExtensionSettingsPanel.svelte
rename to _old/features/extensions/panels/ExtensionSettingsPanel.svelte
diff --git a/src/features/extensions/panels/SourceMigrateModal.svelte b/_old/features/extensions/panels/SourceMigrateModal.svelte
similarity index 100%
rename from src/features/extensions/panels/SourceMigrateModal.svelte
rename to _old/features/extensions/panels/SourceMigrateModal.svelte
diff --git a/src/features/home/components/ActivityFeed.svelte b/_old/features/home/components/ActivityFeed.svelte
similarity index 100%
rename from src/features/home/components/ActivityFeed.svelte
rename to _old/features/home/components/ActivityFeed.svelte
diff --git a/src/features/home/components/ActivityHeatmap.svelte b/_old/features/home/components/ActivityHeatmap.svelte
similarity index 100%
rename from src/features/home/components/ActivityHeatmap.svelte
rename to _old/features/home/components/ActivityHeatmap.svelte
diff --git a/src/features/home/components/HeroSlotPicker.svelte b/_old/features/home/components/HeroSlotPicker.svelte
similarity index 100%
rename from src/features/home/components/HeroSlotPicker.svelte
rename to _old/features/home/components/HeroSlotPicker.svelte
diff --git a/src/features/home/components/HeroStage.svelte b/_old/features/home/components/HeroStage.svelte
similarity index 100%
rename from src/features/home/components/HeroStage.svelte
rename to _old/features/home/components/HeroStage.svelte
diff --git a/src/features/home/components/Home.svelte b/_old/features/home/components/Home.svelte
similarity index 100%
rename from src/features/home/components/Home.svelte
rename to _old/features/home/components/Home.svelte
diff --git a/src/features/home/components/RecsRow.svelte b/_old/features/home/components/RecsRow.svelte
similarity index 100%
rename from src/features/home/components/RecsRow.svelte
rename to _old/features/home/components/RecsRow.svelte
diff --git a/src/features/home/components/StatsGrid.svelte b/_old/features/home/components/StatsGrid.svelte
similarity index 100%
rename from src/features/home/components/StatsGrid.svelte
rename to _old/features/home/components/StatsGrid.svelte
diff --git a/src/features/settings/index.ts b/_old/features/home/index.ts
similarity index 100%
rename from src/features/settings/index.ts
rename to _old/features/home/index.ts
diff --git a/src/features/home/lib/homeHelpers.ts b/_old/features/home/lib/homeHelpers.ts
similarity index 100%
rename from src/features/home/lib/homeHelpers.ts
rename to _old/features/home/lib/homeHelpers.ts
diff --git a/src/features/home/lib/recommendations.ts b/_old/features/home/lib/recommendations.ts
similarity index 100%
rename from src/features/home/lib/recommendations.ts
rename to _old/features/home/lib/recommendations.ts
diff --git a/src/features/library/components/Library.svelte b/_old/features/library/components/Library.svelte
similarity index 100%
rename from src/features/library/components/Library.svelte
rename to _old/features/library/components/Library.svelte
diff --git a/src/features/library/components/LibraryFilters.svelte b/_old/features/library/components/LibraryFilters.svelte
similarity index 100%
rename from src/features/library/components/LibraryFilters.svelte
rename to _old/features/library/components/LibraryFilters.svelte
diff --git a/src/features/library/components/LibraryGrid.svelte b/_old/features/library/components/LibraryGrid.svelte
similarity index 100%
rename from src/features/library/components/LibraryGrid.svelte
rename to _old/features/library/components/LibraryGrid.svelte
diff --git a/src/features/library/components/LibraryToolbar.svelte b/_old/features/library/components/LibraryToolbar.svelte
similarity index 100%
rename from src/features/library/components/LibraryToolbar.svelte
rename to _old/features/library/components/LibraryToolbar.svelte
diff --git a/src/features/library/index.ts b/_old/features/library/index.ts
similarity index 100%
rename from src/features/library/index.ts
rename to _old/features/library/index.ts
diff --git a/src/features/library/lib/librarySort.ts b/_old/features/library/lib/librarySort.ts
similarity index 100%
rename from src/features/library/lib/librarySort.ts
rename to _old/features/library/lib/librarySort.ts
diff --git a/src/features/library/lib/libraryUpdater.ts b/_old/features/library/lib/libraryUpdater.ts
similarity index 100%
rename from src/features/library/lib/libraryUpdater.ts
rename to _old/features/library/lib/libraryUpdater.ts
diff --git a/src/features/library/panels/BulkAutomationPanel.svelte b/_old/features/library/panels/BulkAutomationPanel.svelte
similarity index 100%
rename from src/features/library/panels/BulkAutomationPanel.svelte
rename to _old/features/library/panels/BulkAutomationPanel.svelte
diff --git a/src/features/library/store/libraryState.svelte.ts b/_old/features/library/store/libraryState.svelte.ts
similarity index 100%
rename from src/features/library/store/libraryState.svelte.ts
rename to _old/features/library/store/libraryState.svelte.ts
diff --git a/src/features/reader/components/PageView.svelte b/_old/features/reader/components/PageView.svelte
similarity index 100%
rename from src/features/reader/components/PageView.svelte
rename to _old/features/reader/components/PageView.svelte
diff --git a/src/features/reader/components/Reader.svelte b/_old/features/reader/components/Reader.svelte
similarity index 100%
rename from src/features/reader/components/Reader.svelte
rename to _old/features/reader/components/Reader.svelte
diff --git a/src/features/reader/components/ReaderControls.svelte b/_old/features/reader/components/ReaderControls.svelte
similarity index 100%
rename from src/features/reader/components/ReaderControls.svelte
rename to _old/features/reader/components/ReaderControls.svelte
diff --git a/src/features/reader/components/ReaderOverlay.svelte b/_old/features/reader/components/ReaderOverlay.svelte
similarity index 100%
rename from src/features/reader/components/ReaderOverlay.svelte
rename to _old/features/reader/components/ReaderOverlay.svelte
diff --git a/src/features/reader/components/ReaderPresetPanel.svelte b/_old/features/reader/components/ReaderPresetPanel.svelte
similarity index 100%
rename from src/features/reader/components/ReaderPresetPanel.svelte
rename to _old/features/reader/components/ReaderPresetPanel.svelte
diff --git a/src/features/reader/components/ReaderProgressBar.svelte b/_old/features/reader/components/ReaderProgressBar.svelte
similarity index 100%
rename from src/features/reader/components/ReaderProgressBar.svelte
rename to _old/features/reader/components/ReaderProgressBar.svelte
diff --git a/src/features/reader/index.ts b/_old/features/reader/index.ts
similarity index 100%
rename from src/features/reader/index.ts
rename to _old/features/reader/index.ts
diff --git a/src/features/reader/lib/chapterActions.ts b/_old/features/reader/lib/chapterActions.ts
similarity index 100%
rename from src/features/reader/lib/chapterActions.ts
rename to _old/features/reader/lib/chapterActions.ts
diff --git a/src/features/reader/lib/chapterLoader.ts b/_old/features/reader/lib/chapterLoader.ts
similarity index 100%
rename from src/features/reader/lib/chapterLoader.ts
rename to _old/features/reader/lib/chapterLoader.ts
diff --git a/src/features/reader/lib/index.ts b/_old/features/reader/lib/index.ts
similarity index 100%
rename from src/features/reader/lib/index.ts
rename to _old/features/reader/lib/index.ts
diff --git a/src/features/reader/lib/navigation.ts b/_old/features/reader/lib/navigation.ts
similarity index 100%
rename from src/features/reader/lib/navigation.ts
rename to _old/features/reader/lib/navigation.ts
diff --git a/src/features/reader/lib/pageLoader.ts b/_old/features/reader/lib/pageLoader.ts
similarity index 100%
rename from src/features/reader/lib/pageLoader.ts
rename to _old/features/reader/lib/pageLoader.ts
diff --git a/src/features/reader/lib/pinchZoom.ts b/_old/features/reader/lib/pinchZoom.ts
similarity index 100%
rename from src/features/reader/lib/pinchZoom.ts
rename to _old/features/reader/lib/pinchZoom.ts
diff --git a/src/features/reader/lib/readerKeybinds.ts b/_old/features/reader/lib/readerKeybinds.ts
similarity index 100%
rename from src/features/reader/lib/readerKeybinds.ts
rename to _old/features/reader/lib/readerKeybinds.ts
diff --git a/src/features/reader/lib/scrollHandler.ts b/_old/features/reader/lib/scrollHandler.ts
similarity index 100%
rename from src/features/reader/lib/scrollHandler.ts
rename to _old/features/reader/lib/scrollHandler.ts
diff --git a/src/features/reader/lib/zoomHelpers.ts b/_old/features/reader/lib/zoomHelpers.ts
similarity index 100%
rename from src/features/reader/lib/zoomHelpers.ts
rename to _old/features/reader/lib/zoomHelpers.ts
diff --git a/src/features/reader/store/readerState.svelte.ts b/_old/features/reader/store/readerState.svelte.ts
similarity index 100%
rename from src/features/reader/store/readerState.svelte.ts
rename to _old/features/reader/store/readerState.svelte.ts
diff --git a/src/features/recent/components/HistoryPanel.svelte b/_old/features/recent/components/HistoryPanel.svelte
similarity index 100%
rename from src/features/recent/components/HistoryPanel.svelte
rename to _old/features/recent/components/HistoryPanel.svelte
diff --git a/src/features/recent/components/Recent.svelte b/_old/features/recent/components/Recent.svelte
similarity index 100%
rename from src/features/recent/components/Recent.svelte
rename to _old/features/recent/components/Recent.svelte
diff --git a/src/features/recent/components/UpdatesPanel.svelte b/_old/features/recent/components/UpdatesPanel.svelte
similarity index 100%
rename from src/features/recent/components/UpdatesPanel.svelte
rename to _old/features/recent/components/UpdatesPanel.svelte
diff --git a/src/features/series/components/ChapterList.svelte b/_old/features/series/components/ChapterList.svelte
similarity index 100%
rename from src/features/series/components/ChapterList.svelte
rename to _old/features/series/components/ChapterList.svelte
diff --git a/src/features/series/components/SeriesActions.svelte b/_old/features/series/components/SeriesActions.svelte
similarity index 100%
rename from src/features/series/components/SeriesActions.svelte
rename to _old/features/series/components/SeriesActions.svelte
diff --git a/src/features/series/components/SeriesDetail.svelte b/_old/features/series/components/SeriesDetail.svelte
similarity index 100%
rename from src/features/series/components/SeriesDetail.svelte
rename to _old/features/series/components/SeriesDetail.svelte
diff --git a/src/features/series/components/SeriesHeader.svelte b/_old/features/series/components/SeriesHeader.svelte
similarity index 100%
rename from src/features/series/components/SeriesHeader.svelte
rename to _old/features/series/components/SeriesHeader.svelte
diff --git a/src/features/series/index.ts b/_old/features/series/index.ts
similarity index 100%
rename from src/features/series/index.ts
rename to _old/features/series/index.ts
diff --git a/src/features/series/lib/chapterList.ts b/_old/features/series/lib/chapterList.ts
similarity index 100%
rename from src/features/series/lib/chapterList.ts
rename to _old/features/series/lib/chapterList.ts
diff --git a/src/features/series/lib/mangaPrefs.ts b/_old/features/series/lib/mangaPrefs.ts
similarity index 100%
rename from src/features/series/lib/mangaPrefs.ts
rename to _old/features/series/lib/mangaPrefs.ts
diff --git a/src/features/series/panels/AutomationPanel.svelte b/_old/features/series/panels/AutomationPanel.svelte
similarity index 100%
rename from src/features/series/panels/AutomationPanel.svelte
rename to _old/features/series/panels/AutomationPanel.svelte
diff --git a/src/features/series/panels/CoverPickerPanel.svelte b/_old/features/series/panels/CoverPickerPanel.svelte
similarity index 100%
rename from src/features/series/panels/CoverPickerPanel.svelte
rename to _old/features/series/panels/CoverPickerPanel.svelte
diff --git a/src/features/series/panels/MarkersPanel.svelte b/_old/features/series/panels/MarkersPanel.svelte
similarity index 100%
rename from src/features/series/panels/MarkersPanel.svelte
rename to _old/features/series/panels/MarkersPanel.svelte
diff --git a/src/features/series/panels/MigrateModal.svelte b/_old/features/series/panels/MigrateModal.svelte
similarity index 100%
rename from src/features/series/panels/MigrateModal.svelte
rename to _old/features/series/panels/MigrateModal.svelte
diff --git a/src/features/series/panels/SeriesLinkPanel.svelte b/_old/features/series/panels/SeriesLinkPanel.svelte
similarity index 100%
rename from src/features/series/panels/SeriesLinkPanel.svelte
rename to _old/features/series/panels/SeriesLinkPanel.svelte
diff --git a/src/features/series/panels/TrackingPanel.svelte b/_old/features/series/panels/TrackingPanel.svelte
similarity index 100%
rename from src/features/series/panels/TrackingPanel.svelte
rename to _old/features/series/panels/TrackingPanel.svelte
diff --git a/src/features/settings/components/Settings.css b/_old/features/settings/components/Settings.css
similarity index 100%
rename from src/features/settings/components/Settings.css
rename to _old/features/settings/components/Settings.css
diff --git a/src/features/settings/components/Settings.svelte b/_old/features/settings/components/Settings.svelte
similarity index 100%
rename from src/features/settings/components/Settings.svelte
rename to _old/features/settings/components/Settings.svelte
diff --git a/src/features/settings/components/ThemeEditor.svelte b/_old/features/settings/components/ThemeEditor.svelte
similarity index 100%
rename from src/features/settings/components/ThemeEditor.svelte
rename to _old/features/settings/components/ThemeEditor.svelte
diff --git a/src/features/home/index.ts b/_old/features/settings/index.ts
similarity index 100%
rename from src/features/home/index.ts
rename to _old/features/settings/index.ts
diff --git a/src/features/settings/sections/AboutSettings.svelte b/_old/features/settings/sections/AboutSettings.svelte
similarity index 100%
rename from src/features/settings/sections/AboutSettings.svelte
rename to _old/features/settings/sections/AboutSettings.svelte
diff --git a/src/features/settings/sections/AppearanceSettings.svelte b/_old/features/settings/sections/AppearanceSettings.svelte
similarity index 100%
rename from src/features/settings/sections/AppearanceSettings.svelte
rename to _old/features/settings/sections/AppearanceSettings.svelte
diff --git a/src/features/settings/sections/AutomationSettings.svelte b/_old/features/settings/sections/AutomationSettings.svelte
similarity index 100%
rename from src/features/settings/sections/AutomationSettings.svelte
rename to _old/features/settings/sections/AutomationSettings.svelte
diff --git a/src/features/settings/sections/ContentSettings.svelte b/_old/features/settings/sections/ContentSettings.svelte
similarity index 100%
rename from src/features/settings/sections/ContentSettings.svelte
rename to _old/features/settings/sections/ContentSettings.svelte
diff --git a/src/features/settings/sections/DevtoolsSettings.svelte b/_old/features/settings/sections/DevtoolsSettings.svelte
similarity index 100%
rename from src/features/settings/sections/DevtoolsSettings.svelte
rename to _old/features/settings/sections/DevtoolsSettings.svelte
diff --git a/src/features/settings/sections/FoldersSettings.svelte b/_old/features/settings/sections/FoldersSettings.svelte
similarity index 100%
rename from src/features/settings/sections/FoldersSettings.svelte
rename to _old/features/settings/sections/FoldersSettings.svelte
diff --git a/src/features/settings/sections/GeneralSettings.svelte b/_old/features/settings/sections/GeneralSettings.svelte
similarity index 100%
rename from src/features/settings/sections/GeneralSettings.svelte
rename to _old/features/settings/sections/GeneralSettings.svelte
diff --git a/src/features/settings/sections/KeybindsSettings.svelte b/_old/features/settings/sections/KeybindsSettings.svelte
similarity index 100%
rename from src/features/settings/sections/KeybindsSettings.svelte
rename to _old/features/settings/sections/KeybindsSettings.svelte
diff --git a/src/features/settings/sections/LibrarySettings.svelte b/_old/features/settings/sections/LibrarySettings.svelte
similarity index 100%
rename from src/features/settings/sections/LibrarySettings.svelte
rename to _old/features/settings/sections/LibrarySettings.svelte
diff --git a/src/features/settings/sections/PerformanceSettings.svelte b/_old/features/settings/sections/PerformanceSettings.svelte
similarity index 100%
rename from src/features/settings/sections/PerformanceSettings.svelte
rename to _old/features/settings/sections/PerformanceSettings.svelte
diff --git a/src/features/settings/sections/ReaderSettings.svelte b/_old/features/settings/sections/ReaderSettings.svelte
similarity index 100%
rename from src/features/settings/sections/ReaderSettings.svelte
rename to _old/features/settings/sections/ReaderSettings.svelte
diff --git a/src/features/settings/sections/SecuritySettings.svelte b/_old/features/settings/sections/SecuritySettings.svelte
similarity index 100%
rename from src/features/settings/sections/SecuritySettings.svelte
rename to _old/features/settings/sections/SecuritySettings.svelte
diff --git a/src/features/settings/sections/StorageSettings.svelte b/_old/features/settings/sections/StorageSettings.svelte
similarity index 100%
rename from src/features/settings/sections/StorageSettings.svelte
rename to _old/features/settings/sections/StorageSettings.svelte
diff --git a/src/features/settings/sections/TrackingSettings.svelte b/_old/features/settings/sections/TrackingSettings.svelte
similarity index 100%
rename from src/features/settings/sections/TrackingSettings.svelte
rename to _old/features/settings/sections/TrackingSettings.svelte
diff --git a/src/features/tracking/components/Tracking.svelte b/_old/features/tracking/components/Tracking.svelte
similarity index 100%
rename from src/features/tracking/components/Tracking.svelte
rename to _old/features/tracking/components/Tracking.svelte
diff --git a/src/features/tracking/components/TrackingCard.svelte b/_old/features/tracking/components/TrackingCard.svelte
similarity index 100%
rename from src/features/tracking/components/TrackingCard.svelte
rename to _old/features/tracking/components/TrackingCard.svelte
diff --git a/src/features/tracking/components/TrackingPreview.svelte b/_old/features/tracking/components/TrackingPreview.svelte
similarity index 100%
rename from src/features/tracking/components/TrackingPreview.svelte
rename to _old/features/tracking/components/TrackingPreview.svelte
diff --git a/src/features/tracking/components/TrackingToolbar.svelte b/_old/features/tracking/components/TrackingToolbar.svelte
similarity index 100%
rename from src/features/tracking/components/TrackingToolbar.svelte
rename to _old/features/tracking/components/TrackingToolbar.svelte
diff --git a/src/features/tracking/index.ts b/_old/features/tracking/index.ts
similarity index 100%
rename from src/features/tracking/index.ts
rename to _old/features/tracking/index.ts
diff --git a/src/features/tracking/lib/trackingSync.ts b/_old/features/tracking/lib/trackingSync.ts
similarity index 100%
rename from src/features/tracking/lib/trackingSync.ts
rename to _old/features/tracking/lib/trackingSync.ts
diff --git a/src/features/tracking/store/trackingState.svelte.ts b/_old/features/tracking/store/trackingState.svelte.ts
similarity index 100%
rename from src/features/tracking/store/trackingState.svelte.ts
rename to _old/features/tracking/store/trackingState.svelte.ts
diff --git a/src/main.ts b/_old/main.ts
similarity index 100%
rename from src/main.ts
rename to _old/main.ts
diff --git a/src/shared/chrome/AuthGate.svelte b/_old/shared/chrome/AuthGate.svelte
similarity index 100%
rename from src/shared/chrome/AuthGate.svelte
rename to _old/shared/chrome/AuthGate.svelte
diff --git a/src/shared/chrome/Layout.svelte b/_old/shared/chrome/Layout.svelte
similarity index 100%
rename from src/shared/chrome/Layout.svelte
rename to _old/shared/chrome/Layout.svelte
diff --git a/src/shared/chrome/Sidebar.svelte b/_old/shared/chrome/Sidebar.svelte
similarity index 100%
rename from src/shared/chrome/Sidebar.svelte
rename to _old/shared/chrome/Sidebar.svelte
diff --git a/src/shared/chrome/SplashScreen.svelte b/_old/shared/chrome/SplashScreen.svelte
similarity index 100%
rename from src/shared/chrome/SplashScreen.svelte
rename to _old/shared/chrome/SplashScreen.svelte
diff --git a/src/shared/chrome/TitleBar.svelte b/_old/shared/chrome/TitleBar.svelte
similarity index 100%
rename from src/shared/chrome/TitleBar.svelte
rename to _old/shared/chrome/TitleBar.svelte
diff --git a/src/shared/chrome/Toaster.svelte b/_old/shared/chrome/Toaster.svelte
similarity index 100%
rename from src/shared/chrome/Toaster.svelte
rename to _old/shared/chrome/Toaster.svelte
diff --git a/src/shared/manga/MangaPreview.svelte b/_old/shared/manga/MangaPreview.svelte
similarity index 100%
rename from src/shared/manga/MangaPreview.svelte
rename to _old/shared/manga/MangaPreview.svelte
diff --git a/src/shared/manga/SourceBrowse.svelte b/_old/shared/manga/SourceBrowse.svelte
similarity index 100%
rename from src/shared/manga/SourceBrowse.svelte
rename to _old/shared/manga/SourceBrowse.svelte
diff --git a/src/shared/manga/ThreeDCard.svelte b/_old/shared/manga/ThreeDCard.svelte
similarity index 100%
rename from src/shared/manga/ThreeDCard.svelte
rename to _old/shared/manga/ThreeDCard.svelte
diff --git a/src/shared/manga/Thumbnail.svelte b/_old/shared/manga/Thumbnail.svelte
similarity index 100%
rename from src/shared/manga/Thumbnail.svelte
rename to _old/shared/manga/Thumbnail.svelte
diff --git a/src/shared/ui/ContextMenu.svelte b/_old/shared/ui/ContextMenu.svelte
similarity index 100%
rename from src/shared/ui/ContextMenu.svelte
rename to _old/shared/ui/ContextMenu.svelte
diff --git a/src/shared/ui/SourceList.svelte b/_old/shared/ui/SourceList.svelte
similarity index 100%
rename from src/shared/ui/SourceList.svelte
rename to _old/shared/ui/SourceList.svelte
diff --git a/src/store/app.svelte.ts b/_old/store/app.svelte.ts
similarity index 100%
rename from src/store/app.svelte.ts
rename to _old/store/app.svelte.ts
diff --git a/src/store/boot.svelte.ts b/_old/store/boot.svelte.ts
similarity index 100%
rename from src/store/boot.svelte.ts
rename to _old/store/boot.svelte.ts
diff --git a/src/store/discord.ts b/_old/store/discord.ts
similarity index 100%
rename from src/store/discord.ts
rename to _old/store/discord.ts
diff --git a/src/store/index.ts b/_old/store/index.ts
similarity index 100%
rename from src/store/index.ts
rename to _old/store/index.ts
diff --git a/src/store/notifications.svelte.ts b/_old/store/notifications.svelte.ts
similarity index 100%
rename from src/store/notifications.svelte.ts
rename to _old/store/notifications.svelte.ts
diff --git a/src/store/state.svelte.ts b/_old/store/state.svelte.ts
similarity index 100%
rename from src/store/state.svelte.ts
rename to _old/store/state.svelte.ts
diff --git a/src/types/api.ts b/_old/types/api.ts
similarity index 100%
rename from src/types/api.ts
rename to _old/types/api.ts
diff --git a/src/types/chapter.ts b/_old/types/chapter.ts
similarity index 100%
rename from src/types/chapter.ts
rename to _old/types/chapter.ts
diff --git a/src/types/extension.ts b/_old/types/extension.ts
similarity index 100%
rename from src/types/extension.ts
rename to _old/types/extension.ts
diff --git a/src/types/history.ts b/_old/types/history.ts
similarity index 100%
rename from src/types/history.ts
rename to _old/types/history.ts
diff --git a/src/types/index.ts b/_old/types/index.ts
similarity index 100%
rename from src/types/index.ts
rename to _old/types/index.ts
diff --git a/src/types/manga.ts b/_old/types/manga.ts
similarity index 100%
rename from src/types/manga.ts
rename to _old/types/manga.ts
diff --git a/src/types/settings.ts b/_old/types/settings.ts
similarity index 100%
rename from src/types/settings.ts
rename to _old/types/settings.ts
diff --git a/src/types/tracking.ts b/_old/types/tracking.ts
similarity index 100%
rename from src/types/tracking.ts
rename to _old/types/tracking.ts
diff --git a/package.json b/package.json
index d41ed24..1b80845 100644
--- a/package.json
+++ b/package.json
@@ -1,33 +1,33 @@
{
"name": "moku",
- "version": "0.5.0",
+ "private": true,
+ "version": "0.9.4",
"type": "module",
"scripts": {
- "dev": "vite",
- "build": "vite build",
+ "dev": "vite dev",
"preview": "vite preview",
- "tauri": "tauri",
- "tauri:dev": "tauri dev --config src-tauri/tauri.dev.conf.json"
- },
- "dependencies": {
- "@tauri-apps/api": "^2.11.0",
- "@tauri-apps/plugin-http": "^2.5.8",
- "@tauri-apps/plugin-os": "^2.3.2",
- "@tauri-apps/plugin-process": "^2.3.1",
- "@tauri-apps/plugin-shell": "^2.3.5",
- "@tauri-apps/plugin-store": "~2.4.2",
- "clsx": "^2.1.1",
- "phosphor-svelte": "^3.1.0",
- "svelte-spa-router": "^5.1.0",
- "tauri-plugin-discord-rpc-api": "github:Youwes09/tauri-plugin-discord-rpc",
- "tauri-plugin-drpc": "^1.0.3"
+ "prepare": "svelte-kit sync || echo ''",
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
+ "build:static": "MOKU_TARGET=static vite build",
+ "build:node": "MOKU_TARGET=node vite build",
+ "build:tauri": "MOKU_TARGET=static vite build",
+ "build:android": "MOKU_TARGET=static vite build",
+ "tauri:dev": "tauri dev",
+ "tauri:build": "tauri build"
},
"devDependencies": {
+ "@sveltejs/adapter-node": "^5.5.4",
+ "@sveltejs/adapter-static": "^3.0.10",
+ "@sveltejs/kit": "^2.57.0",
"@sveltejs/vite-plugin-svelte": "^7.0.0",
- "@tauri-apps/cli": "^2.11.0",
- "svelte": "^5.55.5",
- "svelte-check": "^4.4.7",
- "typescript": "^6.0.3",
- "vite": "^8.0.10"
+ "@tauri-apps/cli": "^2.0.0",
+ "svelte": "^5.55.2",
+ "svelte-check": "^4.4.6",
+ "typescript": "^6.0.2",
+ "vite": "^8.0.7"
+ },
+ "dependencies": {
+ "@tauri-apps/api": "^2.0.0"
}
-}
+}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a6084c0..8842c45 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -9,56 +9,35 @@ importers:
.:
dependencies:
'@tauri-apps/api':
- specifier: ^2.11.0
+ specifier: ^2.0.0
version: 2.11.0
- '@tauri-apps/plugin-http':
- specifier: ^2.5.8
- version: 2.5.8
- '@tauri-apps/plugin-os':
- specifier: ^2.3.2
- version: 2.3.2
- '@tauri-apps/plugin-process':
- specifier: ^2.3.1
- version: 2.3.1
- '@tauri-apps/plugin-shell':
- specifier: ^2.3.5
- version: 2.3.5
- '@tauri-apps/plugin-store':
- specifier: ~2.4.2
- version: 2.4.2
- clsx:
- specifier: ^2.1.1
- version: 2.1.1
- phosphor-svelte:
- specifier: ^3.1.0
- version: 3.1.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))(vite@8.0.10)
- svelte-spa-router:
- specifier: ^5.1.0
- version: 5.1.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))
- tauri-plugin-discord-rpc-api:
- specifier: github:Youwes09/tauri-plugin-discord-rpc
- version: https://codeload.github.com/Youwes09/tauri-plugin-discord-rpc/tar.gz/d2fd312945d0573153e0e7e2d2dfb131acecc52c
- tauri-plugin-drpc:
- specifier: ^1.0.3
- version: 1.0.3(typescript@6.0.3)
devDependencies:
+ '@sveltejs/adapter-node':
+ specifier: ^5.5.4
+ version: 5.5.4(@sveltejs/kit@2.60.1(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))(vite@8.0.10))(svelte@5.55.5(@typescript-eslint/types@8.57.1))(typescript@6.0.3)(vite@8.0.10))
+ '@sveltejs/adapter-static':
+ specifier: ^3.0.10
+ version: 3.0.10(@sveltejs/kit@2.60.1(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))(vite@8.0.10))(svelte@5.55.5(@typescript-eslint/types@8.57.1))(typescript@6.0.3)(vite@8.0.10))
+ '@sveltejs/kit':
+ specifier: ^2.57.0
+ version: 2.60.1(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))(vite@8.0.10))(svelte@5.55.5(@typescript-eslint/types@8.57.1))(typescript@6.0.3)(vite@8.0.10)
'@sveltejs/vite-plugin-svelte':
specifier: ^7.0.0
version: 7.0.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))(vite@8.0.10)
'@tauri-apps/cli':
- specifier: ^2.11.0
- version: 2.11.0
+ specifier: ^2.0.0
+ version: 2.11.2
svelte:
- specifier: ^5.55.5
+ specifier: ^5.55.2
version: 5.55.5(@typescript-eslint/types@8.57.1)
svelte-check:
- specifier: ^4.4.7
+ specifier: ^4.4.6
version: 4.4.7(picomatch@4.0.4)(svelte@5.55.5(@typescript-eslint/types@8.57.1))(typescript@6.0.3)
typescript:
- specifier: ^6.0.3
+ specifier: ^6.0.2
version: 6.0.3
vite:
- specifier: ^8.0.10
+ specifier: ^8.0.7
version: 8.0.10
packages:
@@ -97,6 +76,9 @@ packages:
'@oxc-project/types@0.127.0':
resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==}
+ '@polka/url@1.0.0-next.29':
+ resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
+
'@rolldown/binding-android-arm64@1.0.0-rc.17':
resolution: {integrity: sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -195,11 +177,214 @@ packages:
'@rolldown/pluginutils@1.0.0-rc.17':
resolution: {integrity: sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==}
+ '@rollup/plugin-commonjs@29.0.2':
+ resolution: {integrity: sha512-S/ggWH1LU7jTyi9DxZOKyxpVd4hF/OZ0JrEbeLjXk/DFXwRny0tjD2c992zOUYQobLrVkRVMDdmHP16HKP7GRg==}
+ engines: {node: '>=16.0.0 || 14 >= 14.17'}
+ peerDependencies:
+ rollup: ^2.68.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/plugin-json@6.1.0':
+ resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/plugin-node-resolve@16.0.3':
+ resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.78.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/pluginutils@5.3.0':
+ resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/rollup-android-arm-eabi@4.60.4':
+ resolution: {integrity: sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==}
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.60.4':
+ resolution: {integrity: sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==}
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-darwin-arm64@4.60.4':
+ resolution: {integrity: sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.60.4':
+ resolution: {integrity: sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-freebsd-arm64@4.60.4':
+ resolution: {integrity: sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@rollup/rollup-freebsd-x64@4.60.4':
+ resolution: {integrity: sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.60.4':
+ resolution: {integrity: sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.60.4':
+ resolution: {integrity: sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==}
+ cpu: [arm]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-arm64-gnu@4.60.4':
+ resolution: {integrity: sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-arm64-musl@4.60.4':
+ resolution: {integrity: sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-loong64-gnu@4.60.4':
+ resolution: {integrity: sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==}
+ cpu: [loong64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-loong64-musl@4.60.4':
+ resolution: {integrity: sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==}
+ cpu: [loong64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-ppc64-gnu@4.60.4':
+ resolution: {integrity: sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-ppc64-musl@4.60.4':
+ resolution: {integrity: sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.60.4':
+ resolution: {integrity: sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-riscv64-musl@4.60.4':
+ resolution: {integrity: sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-s390x-gnu@4.60.4':
+ resolution: {integrity: sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-x64-gnu@4.60.4':
+ resolution: {integrity: sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-x64-musl@4.60.4':
+ resolution: {integrity: sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-openbsd-x64@4.60.4':
+ resolution: {integrity: sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@rollup/rollup-openharmony-arm64@4.60.4':
+ resolution: {integrity: sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rollup/rollup-win32-arm64-msvc@4.60.4':
+ resolution: {integrity: sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.60.4':
+ resolution: {integrity: sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-gnu@4.60.4':
+ resolution: {integrity: sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==}
+ cpu: [x64]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.60.4':
+ resolution: {integrity: sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==}
+ cpu: [x64]
+ os: [win32]
+
+ '@standard-schema/spec@1.1.0':
+ resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
+
'@sveltejs/acorn-typescript@1.0.9':
resolution: {integrity: sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA==}
peerDependencies:
acorn: ^8.9.0
+ '@sveltejs/adapter-node@5.5.4':
+ resolution: {integrity: sha512-45X92CXW+2J8ZUzPv3eLlKWEzINKiiGeFWTjyER4ZN4sGgNoaoeSkCY/QYNxHpPXy71QPsctwccBo9jJs0ySPQ==}
+ peerDependencies:
+ '@sveltejs/kit': ^2.4.0
+
+ '@sveltejs/adapter-static@3.0.10':
+ resolution: {integrity: sha512-7D9lYFWJmB7zxZyTE/qxjksvMqzMuYrrsyh1f4AlZqeZeACPRySjbC3aFiY55wb1tWUaKOQG9PVbm74JcN2Iew==}
+ peerDependencies:
+ '@sveltejs/kit': ^2.0.0
+
+ '@sveltejs/kit@2.60.1':
+ resolution: {integrity: sha512-mQjlkNo+rJvpln7V2IGY2j99BqhcFbS4UN0AQNKNYfhBAFZTuCDAdW3a1sgf330mvtNvsBXn3HpAhcmvdJTcIQ==}
+ engines: {node: '>=18.13'}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+ '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0 || ^7.0.0
+ svelte: ^4.0.0 || ^5.0.0-next.0
+ typescript: ^5.3.3 || ^6.0.0
+ vite: ^5.0.3 || ^6.0.0 || ^7.0.0-beta.0 || ^8.0.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ typescript:
+ optional: true
+
'@sveltejs/vite-plugin-svelte@7.0.0':
resolution: {integrity: sha512-ILXmxC7HAsnkK2eslgPetrqqW1BKSL7LktsFgqzNj83MaivMGZzluWq32m25j2mDOjmSKX7GGWahePhuEs7P/g==}
engines: {node: ^20.19 || ^22.12 || >=24}
@@ -210,103 +395,94 @@ packages:
'@tauri-apps/api@2.11.0':
resolution: {integrity: sha512-7CinYODhky9lmO23xHnUFv0Xt43fbtWMyxZcLcRBlFkcgXKuEirBvHpmtJ89YMhyeGcq20Wuc47Fa4XjyniywA==}
- '@tauri-apps/cli-darwin-arm64@2.11.0':
- resolution: {integrity: sha512-UfMeDNlgIP252rm/KSTuu8yHatPua5TjtUEUf+jyIzVwBNcIl7Ywkdpfj+e5jVVg3EfCTp+4gwuL1dNpgF8clg==}
+ '@tauri-apps/cli-darwin-arm64@2.11.2':
+ resolution: {integrity: sha512-+4UZzLt+eOAEQCwgd+TqKgyUJMrvx+BgdXLLaqJYmPqzP+nE6YZr/hY6CWLYGQb8jFn99jEkmC6uA3tNvamA1w==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@tauri-apps/cli-darwin-x64@2.11.0':
- resolution: {integrity: sha512-lY1+aPlgyMN7vgjtCdQ3+WODfZkebAcxnrCrO0HjqDpKSXieDkrJbimqeaoM4RwhTSrCLRHfVYiYrfE5E131tg==}
+ '@tauri-apps/cli-darwin-x64@2.11.2':
+ resolution: {integrity: sha512-VjYYtZUPqDMLutSfJEyxFE3Bz+DPi7c8wC3imckgvciLDZLq4qwKJxBicg0BXGhXjJsl8vKWgWRFNMPELQ+Xyg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@tauri-apps/cli-linux-arm-gnueabihf@2.11.0':
- resolution: {integrity: sha512-5uCP0AusgN3NrKC8EpkuJwjek1k8pEffBdugJSpXPey/QGbPEb8vZ542n/giJ2mZPjMSllDkdhG2QIDpBY4PpQ==}
+ '@tauri-apps/cli-linux-arm-gnueabihf@2.11.2':
+ resolution: {integrity: sha512-yMemD6f4i95AQriS8EazyOFzbE34yjnP16i3IOzpHGQvBoy2DjypFMFBq0NtPuITURv/cOGguRtHR5d79/9CSA==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
- '@tauri-apps/cli-linux-arm64-gnu@2.11.0':
- resolution: {integrity: sha512-loDPqtRHMSbIcrH2VBd4GgHoQlF7jJnrZj7MxA2lj1cixS/jEgMAPFqj83U6Wvjete4HfYplbE/gCpSFifA9jw==}
+ '@tauri-apps/cli-linux-arm64-gnu@2.11.2':
+ resolution: {integrity: sha512-cgI91D2wL8GSgoWwZXDqt+DwnuZCP2/bz03QAE4TrhgAKIsrB4hX26W/H1EONPUUNkqrsgeCD0wU6pcNjV/5kw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@tauri-apps/cli-linux-arm64-musl@2.11.0':
- resolution: {integrity: sha512-DtSE8ZBlB9H+L+eHkfZ3myt00EVEyAB3e41juEHoE2qT88fgVlJvyrwa9SZYc/xTwCS9TnmK+R84tpg+ZsAg7Q==}
+ '@tauri-apps/cli-linux-arm64-musl@2.11.2':
+ resolution: {integrity: sha512-X1rm0BERqAAggtYTESSgXrS3sz4Sb/OiPiz54UqISlXW+GkR3vNIGnsy/lejNmoXGVqri3Q53BCfQiclOIyRPw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@tauri-apps/cli-linux-riscv64-gnu@2.11.0':
- resolution: {integrity: sha512-5QdgS4LD+kntClI1aj2JmwjW38LosNXxwCe8viIHEwqYIWuMPdNEIau6/cLogI38Yzx9DnfCPRfEWLyI+5li8Q==}
+ '@tauri-apps/cli-linux-riscv64-gnu@2.11.2':
+ resolution: {integrity: sha512-usbMLJbT3KtkOrBMDVeGYNM35aTHXx38SJSzTMSqqjeUIOQ+iVPjb2yAGNAE+KqmBbAx4FOFIyMeKXx2M/JKGQ==}
engines: {node: '>= 10'}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@tauri-apps/cli-linux-x64-gnu@2.11.0':
- resolution: {integrity: sha512-5UynPXo3Zq9khjVdAbD+YogeLltdVUeOah2ioSIM3tu6H7wY9vMy6rgGJhv9r5R8ZXmk9GttMippdqYJWrnLnA==}
+ '@tauri-apps/cli-linux-x64-gnu@2.11.2':
+ resolution: {integrity: sha512-Ru4gwJKPG0ctVGchRGpRup4Y4lW2SSfFnrbQcyHhCliKy4g8Qz97TrUgCur4CbWyAgKxvGh3SjrkA0LDYzDGiw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@tauri-apps/cli-linux-x64-musl@2.11.0':
- resolution: {integrity: sha512-CNz7fHbApz1Zyhhq73jtGn9JqgNEV/lIWnTnUo6h6ujw+mHsTmkLszvJSM8W6JBaDjNpTTFr/RSNoVL5FMwcTg==}
+ '@tauri-apps/cli-linux-x64-musl@2.11.2':
+ resolution: {integrity: sha512-eUm7T6clN1MMmNSRQ9gaWsQdyehQx2Gmn5hht/QUlqZQI/qcP2OJK5dnaxqwFzCr2HdsEo9ydxaqcS1oJzMvUw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [musl]
- '@tauri-apps/cli-win32-arm64-msvc@2.11.0':
- resolution: {integrity: sha512-K+br+VXZ+Xx0n/9FdWohpW5Ugq+2FQUpJScqcPl1hTxXfh3fgjYgt4qA2NgrjlJo+zZPNrmUMl+NLvm0ufEqBQ==}
+ '@tauri-apps/cli-win32-arm64-msvc@2.11.2':
+ resolution: {integrity: sha512-HeeZW80jU+gVTOEX4X/hC6NVSAdDVXajwP5fxIZ/3z9WvUC7qrudX2GMTilYq6Dg0e0sk0XgsAJD1hZ5wPBXUA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@tauri-apps/cli-win32-ia32-msvc@2.11.0':
- resolution: {integrity: sha512-OFV+s3MLZnd75zl0ZAFU5riMpGK4waUEA8ZDuijDsnkU0btz/gHhqh5jVlOn8thyvgdtT3Xyoxqo099MMifH3g==}
+ '@tauri-apps/cli-win32-ia32-msvc@2.11.2':
+ resolution: {integrity: sha512-YhjQNZcXfbkCLyazSv1nPnJ9iRFE1wm6kc51FDbU10/Dk09io+6PAGMLjkxnX2GdM0qMnDmTjstY8mTDVvtKeA==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
- '@tauri-apps/cli-win32-x64-msvc@2.11.0':
- resolution: {integrity: sha512-AeDTWBd2cOZ6TX133BWsoo+LutG9o0JRcgjMsIfLE13ZugpgCMv/2dJbUiBGeRvbPOGin5A3aYmsArPVV6ZSHQ==}
+ '@tauri-apps/cli-win32-x64-msvc@2.11.2':
+ resolution: {integrity: sha512-d2JchlFIpZevZVReyqhQOekJmb1UH3rhZ5VX6sH3ty9ETE0TKQavpihvoScUXfKKpW6HZC0MrFGRU0ZtD+w3gA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
- '@tauri-apps/cli@2.11.0':
- resolution: {integrity: sha512-W5Wbuqsb2pHFPTj4TaRNKTj5rwXhDShPiLSY9T18y4ouSR/NNCptAEFxFsBtyNRgL6Vs1a/q9LzfqqYzEwC+Jw==}
+ '@tauri-apps/cli@2.11.2':
+ resolution: {integrity: sha512-bk3HemqvGRoy+5D/dVMUQHKMYLglD0jVnMm/0iGMH6ufZ+p8r14m6BpIixwij3PBvZdvORUp1YifTD8QxVZ1Nw==}
engines: {node: '>= 10'}
hasBin: true
- '@tauri-apps/plugin-http@2.5.8':
- resolution: {integrity: sha512-oxd7oypzQeu8kAfFCrw534Kq7Cw+NzozcnCY21O4rz3A+veJiIiuSCMIprgGcZOcLAXFP9GmDhKUbhuKWcunRw==}
-
- '@tauri-apps/plugin-os@2.3.2':
- resolution: {integrity: sha512-n+nXWeuSeF9wcEsSPmRnBEGrRgOy6jjkSU+UVCOV8YUGKb2erhDOxis7IqRXiRVHhY8XMKks00BJ0OAdkpf6+A==}
-
- '@tauri-apps/plugin-process@2.3.1':
- resolution: {integrity: sha512-nCa4fGVaDL/B9ai03VyPOjfAHRHSBz5v6F/ObsB73r/dA3MHHhZtldaDMIc0V/pnUw9ehzr2iEG+XkSEyC0JJA==}
-
- '@tauri-apps/plugin-shell@2.3.5':
- resolution: {integrity: sha512-jewtULhiQ7lI7+owCKAjc8tYLJr92U16bPOeAa472LHJdgaibLP83NcfAF2e+wkEcA53FxKQAZ7byDzs2eeizg==}
-
- '@tauri-apps/plugin-store@2.4.2':
- resolution: {integrity: sha512-0ClHS50Oq9HEvLPhNzTNFxbWVOqoAp3dRvtewQBeqfIQ0z5m3JRnOISIn2ZVPCrQC0MyGyhTS9DWhHjpigQE7A==}
-
'@tybys/wasm-util@0.10.1':
resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
+ '@types/cookie@0.6.0':
+ resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
+
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+ '@types/resolve@1.20.2':
+ resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
+
'@types/trusted-types@2.0.7':
resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
@@ -335,6 +511,13 @@ packages:
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
engines: {node: '>=6'}
+ commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+
+ cookie@0.6.0:
+ resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
+ engines: {node: '>= 0.6'}
+
deepmerge@4.3.1:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
@@ -346,6 +529,13 @@ packages:
devalue@5.8.0:
resolution: {integrity: sha512-2zA9pFEsnp7vWBZbXF5JAgAq0fsUIt/1XPbRiAmRV3lp/2C3upzH+sADiyy66aFCihoLEsrQHxNM5w1gIDfsBg==}
+ devalue@5.8.1:
+ resolution: {integrity: sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
esm-env@1.2.2:
resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==}
@@ -357,8 +547,8 @@ packages:
'@typescript-eslint/types':
optional: true
- estree-walker@3.0.3:
- resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
@@ -374,9 +564,30 @@ packages:
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ hasown@2.0.3:
+ resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==}
+ engines: {node: '>= 0.4'}
+
+ is-core-module@2.16.2:
+ resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==}
+ engines: {node: '>= 0.4'}
+
+ is-module@1.0.0:
+ resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+
+ is-reference@1.2.1:
+ resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+
is-reference@3.0.3:
resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==}
+ kleur@4.1.5:
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
+ engines: {node: '>=6'}
+
lightningcss-android-arm64@1.32.0:
resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
engines: {node: '>= 12.0.0'}
@@ -461,6 +672,10 @@ packages:
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
engines: {node: '>=4'}
+ mrmime@2.0.1:
+ resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
+ engines: {node: '>=10'}
+
nanoid@3.3.12:
resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -469,14 +684,8 @@ packages:
obug@2.1.1:
resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==}
- phosphor-svelte@3.1.0:
- resolution: {integrity: sha512-nldtxx+XCgNREvrb7O5xgDsefytXpSkPTx8Rnu3f2qQCUZLDV1rLxYSd2Jcwckuo9lZB1qKMqGR17P4UDC0PrA==}
- peerDependencies:
- svelte: ^5.0.0 || ^5.0.0-next.96
- vite: '>=5'
- peerDependenciesMeta:
- vite:
- optional: true
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -493,23 +702,40 @@ packages:
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
engines: {node: '>= 14.18.0'}
- regexparam@2.0.2:
- resolution: {integrity: sha512-A1PeDEYMrkLrfyOwv2jwihXbo9qxdGD3atBYQA9JJgreAx8/7rC6IUkWOw2NQlOxLp2wL0ifQbh1HuidDfYA6w==}
- engines: {node: '>=8'}
+ resolve@1.22.12:
+ resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==}
+ engines: {node: '>= 0.4'}
+ hasBin: true
rolldown@1.0.0-rc.17:
resolution: {integrity: sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
+ rollup@4.60.4:
+ resolution: {integrity: sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
sade@1.8.1:
resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
engines: {node: '>=6'}
+ set-cookie-parser@3.1.0:
+ resolution: {integrity: sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw==}
+
+ sirv@3.0.2:
+ resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==}
+ engines: {node: '>=18'}
+
source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
svelte-check@4.4.7:
resolution: {integrity: sha512-JRafFTRmaPUOqmri4u1WuIKgBLiHi6wIaB57i99pmHq5BAc3ioIpzdUN/RX32ij9GhI6ALMHKvnVxu68sFZlag==}
engines: {node: '>= 18.0.0'}
@@ -518,28 +744,18 @@ packages:
svelte: ^4.0.0 || ^5.0.0-next.0
typescript: '>=5.0.0'
- svelte-spa-router@5.1.0:
- resolution: {integrity: sha512-YGtXOF+advJnQBvS4mvRnHVUF0qpSI2pUrSxidz4s7X9x80IKEgYzupx6j46gZcIcN3BYjmuLUbsgQv1S5bZzQ==}
- peerDependencies:
- svelte: ^5.0.0
-
svelte@5.55.5:
resolution: {integrity: sha512-2uCs/LZ9us+AktdzYJM8OcxQ8qnPS1kpaO7syGT/MgO+6Qr1Ybl+TqPq+97u7PHqmmMlye5ZkoyXONy5mjjAbw==}
engines: {node: '>=18'}
- tauri-plugin-discord-rpc-api@https://codeload.github.com/Youwes09/tauri-plugin-discord-rpc/tar.gz/d2fd312945d0573153e0e7e2d2dfb131acecc52c:
- resolution: {tarball: https://codeload.github.com/Youwes09/tauri-plugin-discord-rpc/tar.gz/d2fd312945d0573153e0e7e2d2dfb131acecc52c}
- version: 0.1.0
-
- tauri-plugin-drpc@1.0.3:
- resolution: {integrity: sha512-vl5dXhjKbl7+Nf9veW12usdmIUtZXwEf91SzxQPZlbRRJ/sjizbbQlnkUTtx6baJuGzz0KXXgP9xUhF39BdiXQ==}
- peerDependencies:
- typescript: ^5.0.0
-
tinyglobby@0.2.16:
resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==}
engines: {node: '>=12.0.0'}
+ totalist@3.0.1:
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
+ engines: {node: '>=6'}
+
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
@@ -648,6 +864,8 @@ snapshots:
'@oxc-project/types@0.127.0': {}
+ '@polka/url@1.0.0-next.29': {}
+
'@rolldown/binding-android-arm64@1.0.0-rc.17':
optional: true
@@ -699,10 +917,155 @@ snapshots:
'@rolldown/pluginutils@1.0.0-rc.17': {}
+ '@rollup/plugin-commonjs@29.0.2(rollup@4.60.4)':
+ dependencies:
+ '@rollup/pluginutils': 5.3.0(rollup@4.60.4)
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+ fdir: 6.5.0(picomatch@4.0.4)
+ is-reference: 1.2.1
+ magic-string: 0.30.21
+ picomatch: 4.0.4
+ optionalDependencies:
+ rollup: 4.60.4
+
+ '@rollup/plugin-json@6.1.0(rollup@4.60.4)':
+ dependencies:
+ '@rollup/pluginutils': 5.3.0(rollup@4.60.4)
+ optionalDependencies:
+ rollup: 4.60.4
+
+ '@rollup/plugin-node-resolve@16.0.3(rollup@4.60.4)':
+ dependencies:
+ '@rollup/pluginutils': 5.3.0(rollup@4.60.4)
+ '@types/resolve': 1.20.2
+ deepmerge: 4.3.1
+ is-module: 1.0.0
+ resolve: 1.22.12
+ optionalDependencies:
+ rollup: 4.60.4
+
+ '@rollup/pluginutils@5.3.0(rollup@4.60.4)':
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-walker: 2.0.2
+ picomatch: 4.0.4
+ optionalDependencies:
+ rollup: 4.60.4
+
+ '@rollup/rollup-android-arm-eabi@4.60.4':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-freebsd-arm64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-freebsd-x64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-loong64-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-loong64-musl@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-ppc64-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-ppc64-musl@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-musl@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.60.4':
+ optional: true
+
+ '@rollup/rollup-openbsd-x64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-openharmony-arm64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.60.4':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.60.4':
+ optional: true
+
+ '@rollup/rollup-win32-x64-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.60.4':
+ optional: true
+
+ '@standard-schema/spec@1.1.0': {}
+
'@sveltejs/acorn-typescript@1.0.9(acorn@8.16.0)':
dependencies:
acorn: 8.16.0
+ '@sveltejs/adapter-node@5.5.4(@sveltejs/kit@2.60.1(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))(vite@8.0.10))(svelte@5.55.5(@typescript-eslint/types@8.57.1))(typescript@6.0.3)(vite@8.0.10))':
+ dependencies:
+ '@rollup/plugin-commonjs': 29.0.2(rollup@4.60.4)
+ '@rollup/plugin-json': 6.1.0(rollup@4.60.4)
+ '@rollup/plugin-node-resolve': 16.0.3(rollup@4.60.4)
+ '@sveltejs/kit': 2.60.1(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))(vite@8.0.10))(svelte@5.55.5(@typescript-eslint/types@8.57.1))(typescript@6.0.3)(vite@8.0.10)
+ rollup: 4.60.4
+
+ '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.60.1(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))(vite@8.0.10))(svelte@5.55.5(@typescript-eslint/types@8.57.1))(typescript@6.0.3)(vite@8.0.10))':
+ dependencies:
+ '@sveltejs/kit': 2.60.1(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))(vite@8.0.10))(svelte@5.55.5(@typescript-eslint/types@8.57.1))(typescript@6.0.3)(vite@8.0.10)
+
+ '@sveltejs/kit@2.60.1(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))(vite@8.0.10))(svelte@5.55.5(@typescript-eslint/types@8.57.1))(typescript@6.0.3)(vite@8.0.10)':
+ dependencies:
+ '@standard-schema/spec': 1.1.0
+ '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0)
+ '@sveltejs/vite-plugin-svelte': 7.0.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))(vite@8.0.10)
+ '@types/cookie': 0.6.0
+ acorn: 8.16.0
+ cookie: 0.6.0
+ devalue: 5.8.1
+ esm-env: 1.2.2
+ kleur: 4.1.5
+ magic-string: 0.30.21
+ mrmime: 2.0.1
+ set-cookie-parser: 3.1.0
+ sirv: 3.0.2
+ svelte: 5.55.5(@typescript-eslint/types@8.57.1)
+ vite: 8.0.10
+ optionalDependencies:
+ typescript: 6.0.3
+
'@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))(vite@8.0.10)':
dependencies:
deepmerge: 4.3.1
@@ -714,80 +1077,64 @@ snapshots:
'@tauri-apps/api@2.11.0': {}
- '@tauri-apps/cli-darwin-arm64@2.11.0':
+ '@tauri-apps/cli-darwin-arm64@2.11.2':
optional: true
- '@tauri-apps/cli-darwin-x64@2.11.0':
+ '@tauri-apps/cli-darwin-x64@2.11.2':
optional: true
- '@tauri-apps/cli-linux-arm-gnueabihf@2.11.0':
+ '@tauri-apps/cli-linux-arm-gnueabihf@2.11.2':
optional: true
- '@tauri-apps/cli-linux-arm64-gnu@2.11.0':
+ '@tauri-apps/cli-linux-arm64-gnu@2.11.2':
optional: true
- '@tauri-apps/cli-linux-arm64-musl@2.11.0':
+ '@tauri-apps/cli-linux-arm64-musl@2.11.2':
optional: true
- '@tauri-apps/cli-linux-riscv64-gnu@2.11.0':
+ '@tauri-apps/cli-linux-riscv64-gnu@2.11.2':
optional: true
- '@tauri-apps/cli-linux-x64-gnu@2.11.0':
+ '@tauri-apps/cli-linux-x64-gnu@2.11.2':
optional: true
- '@tauri-apps/cli-linux-x64-musl@2.11.0':
+ '@tauri-apps/cli-linux-x64-musl@2.11.2':
optional: true
- '@tauri-apps/cli-win32-arm64-msvc@2.11.0':
+ '@tauri-apps/cli-win32-arm64-msvc@2.11.2':
optional: true
- '@tauri-apps/cli-win32-ia32-msvc@2.11.0':
+ '@tauri-apps/cli-win32-ia32-msvc@2.11.2':
optional: true
- '@tauri-apps/cli-win32-x64-msvc@2.11.0':
+ '@tauri-apps/cli-win32-x64-msvc@2.11.2':
optional: true
- '@tauri-apps/cli@2.11.0':
+ '@tauri-apps/cli@2.11.2':
optionalDependencies:
- '@tauri-apps/cli-darwin-arm64': 2.11.0
- '@tauri-apps/cli-darwin-x64': 2.11.0
- '@tauri-apps/cli-linux-arm-gnueabihf': 2.11.0
- '@tauri-apps/cli-linux-arm64-gnu': 2.11.0
- '@tauri-apps/cli-linux-arm64-musl': 2.11.0
- '@tauri-apps/cli-linux-riscv64-gnu': 2.11.0
- '@tauri-apps/cli-linux-x64-gnu': 2.11.0
- '@tauri-apps/cli-linux-x64-musl': 2.11.0
- '@tauri-apps/cli-win32-arm64-msvc': 2.11.0
- '@tauri-apps/cli-win32-ia32-msvc': 2.11.0
- '@tauri-apps/cli-win32-x64-msvc': 2.11.0
-
- '@tauri-apps/plugin-http@2.5.8':
- dependencies:
- '@tauri-apps/api': 2.11.0
-
- '@tauri-apps/plugin-os@2.3.2':
- dependencies:
- '@tauri-apps/api': 2.11.0
-
- '@tauri-apps/plugin-process@2.3.1':
- dependencies:
- '@tauri-apps/api': 2.11.0
-
- '@tauri-apps/plugin-shell@2.3.5':
- dependencies:
- '@tauri-apps/api': 2.11.0
-
- '@tauri-apps/plugin-store@2.4.2':
- dependencies:
- '@tauri-apps/api': 2.11.0
+ '@tauri-apps/cli-darwin-arm64': 2.11.2
+ '@tauri-apps/cli-darwin-x64': 2.11.2
+ '@tauri-apps/cli-linux-arm-gnueabihf': 2.11.2
+ '@tauri-apps/cli-linux-arm64-gnu': 2.11.2
+ '@tauri-apps/cli-linux-arm64-musl': 2.11.2
+ '@tauri-apps/cli-linux-riscv64-gnu': 2.11.2
+ '@tauri-apps/cli-linux-x64-gnu': 2.11.2
+ '@tauri-apps/cli-linux-x64-musl': 2.11.2
+ '@tauri-apps/cli-win32-arm64-msvc': 2.11.2
+ '@tauri-apps/cli-win32-ia32-msvc': 2.11.2
+ '@tauri-apps/cli-win32-x64-msvc': 2.11.2
'@tybys/wasm-util@0.10.1':
dependencies:
tslib: 2.8.1
optional: true
+ '@types/cookie@0.6.0': {}
+
'@types/estree@1.0.8': {}
+ '@types/resolve@1.20.2': {}
+
'@types/trusted-types@2.0.7': {}
'@typescript-eslint/types@8.57.1':
@@ -805,12 +1152,20 @@ snapshots:
clsx@2.1.1: {}
+ commondir@1.0.1: {}
+
+ cookie@0.6.0: {}
+
deepmerge@4.3.1: {}
detect-libc@2.1.2: {}
devalue@5.8.0: {}
+ devalue@5.8.1: {}
+
+ es-errors@1.3.0: {}
+
esm-env@1.2.2: {}
esrap@2.2.5(@typescript-eslint/types@8.57.1):
@@ -819,9 +1174,7 @@ snapshots:
optionalDependencies:
'@typescript-eslint/types': 8.57.1
- estree-walker@3.0.3:
- dependencies:
- '@types/estree': 1.0.8
+ estree-walker@2.0.2: {}
fdir@6.5.0(picomatch@4.0.4):
optionalDependencies:
@@ -830,10 +1183,28 @@ snapshots:
fsevents@2.3.3:
optional: true
+ function-bind@1.1.2: {}
+
+ hasown@2.0.3:
+ dependencies:
+ function-bind: 1.1.2
+
+ is-core-module@2.16.2:
+ dependencies:
+ hasown: 2.0.3
+
+ is-module@1.0.0: {}
+
+ is-reference@1.2.1:
+ dependencies:
+ '@types/estree': 1.0.8
+
is-reference@3.0.3:
dependencies:
'@types/estree': 1.0.8
+ kleur@4.1.5: {}
+
lightningcss-android-arm64@1.32.0:
optional: true
@@ -891,17 +1262,13 @@ snapshots:
mri@1.2.0: {}
+ mrmime@2.0.1: {}
+
nanoid@3.3.12: {}
obug@2.1.1: {}
- phosphor-svelte@3.1.0(svelte@5.55.5(@typescript-eslint/types@8.57.1))(vite@8.0.10):
- dependencies:
- estree-walker: 3.0.3
- magic-string: 0.30.21
- svelte: 5.55.5(@typescript-eslint/types@8.57.1)
- optionalDependencies:
- vite: 8.0.10
+ path-parse@1.0.7: {}
picocolors@1.1.1: {}
@@ -915,7 +1282,12 @@ snapshots:
readdirp@4.1.2: {}
- regexparam@2.0.2: {}
+ resolve@1.22.12:
+ dependencies:
+ es-errors: 1.3.0
+ is-core-module: 2.16.2
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
rolldown@1.0.0-rc.17:
dependencies:
@@ -938,12 +1310,53 @@ snapshots:
'@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.17
'@rolldown/binding-win32-x64-msvc': 1.0.0-rc.17
+ rollup@4.60.4:
+ dependencies:
+ '@types/estree': 1.0.8
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.60.4
+ '@rollup/rollup-android-arm64': 4.60.4
+ '@rollup/rollup-darwin-arm64': 4.60.4
+ '@rollup/rollup-darwin-x64': 4.60.4
+ '@rollup/rollup-freebsd-arm64': 4.60.4
+ '@rollup/rollup-freebsd-x64': 4.60.4
+ '@rollup/rollup-linux-arm-gnueabihf': 4.60.4
+ '@rollup/rollup-linux-arm-musleabihf': 4.60.4
+ '@rollup/rollup-linux-arm64-gnu': 4.60.4
+ '@rollup/rollup-linux-arm64-musl': 4.60.4
+ '@rollup/rollup-linux-loong64-gnu': 4.60.4
+ '@rollup/rollup-linux-loong64-musl': 4.60.4
+ '@rollup/rollup-linux-ppc64-gnu': 4.60.4
+ '@rollup/rollup-linux-ppc64-musl': 4.60.4
+ '@rollup/rollup-linux-riscv64-gnu': 4.60.4
+ '@rollup/rollup-linux-riscv64-musl': 4.60.4
+ '@rollup/rollup-linux-s390x-gnu': 4.60.4
+ '@rollup/rollup-linux-x64-gnu': 4.60.4
+ '@rollup/rollup-linux-x64-musl': 4.60.4
+ '@rollup/rollup-openbsd-x64': 4.60.4
+ '@rollup/rollup-openharmony-arm64': 4.60.4
+ '@rollup/rollup-win32-arm64-msvc': 4.60.4
+ '@rollup/rollup-win32-ia32-msvc': 4.60.4
+ '@rollup/rollup-win32-x64-gnu': 4.60.4
+ '@rollup/rollup-win32-x64-msvc': 4.60.4
+ fsevents: 2.3.3
+
sade@1.8.1:
dependencies:
mri: 1.2.0
+ set-cookie-parser@3.1.0: {}
+
+ sirv@3.0.2:
+ dependencies:
+ '@polka/url': 1.0.0-next.29
+ mrmime: 2.0.1
+ totalist: 3.0.1
+
source-map-js@1.2.1: {}
+ supports-preserve-symlinks-flag@1.0.0: {}
+
svelte-check@4.4.7(picomatch@4.0.4)(svelte@5.55.5(@typescript-eslint/types@8.57.1))(typescript@6.0.3):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
@@ -956,11 +1369,6 @@ snapshots:
transitivePeerDependencies:
- picomatch
- svelte-spa-router@5.1.0(svelte@5.55.5(@typescript-eslint/types@8.57.1)):
- dependencies:
- regexparam: 2.0.2
- svelte: 5.55.5(@typescript-eslint/types@8.57.1)
-
svelte@5.55.5(@typescript-eslint/types@8.57.1):
dependencies:
'@jridgewell/remapping': 2.3.5
@@ -982,19 +1390,13 @@ snapshots:
transitivePeerDependencies:
- '@typescript-eslint/types'
- tauri-plugin-discord-rpc-api@https://codeload.github.com/Youwes09/tauri-plugin-discord-rpc/tar.gz/d2fd312945d0573153e0e7e2d2dfb131acecc52c:
- dependencies:
- '@tauri-apps/api': 2.11.0
-
- tauri-plugin-drpc@1.0.3(typescript@6.0.3):
- dependencies:
- typescript: 6.0.3
-
tinyglobby@0.2.16:
dependencies:
fdir: 6.5.0(picomatch@4.0.4)
picomatch: 4.0.4
+ totalist@3.0.1: {}
+
tslib@2.8.1:
optional: true
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 0000000..efc037a
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,2 @@
+onlyBuiltDependencies:
+ - esbuild
diff --git a/src/app.css b/src/app.css
new file mode 100644
index 0000000..027fdb2
--- /dev/null
+++ b/src/app.css
@@ -0,0 +1,340 @@
+:root {
+ --bg-void: #080808;
+ --bg-base: #0c0c0c;
+ --bg-surface: #101010;
+ --bg-raised: #151515;
+ --bg-overlay: #1a1a1a;
+ --bg-subtle: #202020;
+
+ --border-dim: #1c1c1c;
+ --border-base: #242424;
+ --border-strong: #2e2e2e;
+ --border-focus: #4a5c4a;
+
+ --text-primary: #f0efec;
+ --text-secondary: #c8c6c0;
+ --text-muted: #8a8880;
+ --text-faint: #4e4d4a;
+ --text-disabled: #2a2a28;
+
+ --accent: #6b8f6b;
+ --accent-dim: #2a3d2a;
+ --accent-muted: #1a251a;
+ --accent-fg: #a8c4a8;
+ --accent-bright: #8fb88f;
+
+ --color-error: #c47a7a;
+ --color-error-bg: #1f1212;
+ --color-success: #7aab7a;
+ --color-info: #7a9ec4;
+ --color-info-bg: #121a1f;
+ --color-read: #2e2e2c;
+
+ --dot-active: var(--accent);
+ --dot-inactive: var(--text-faint);
+
+ --t-fast: 0.08s ease;
+ --t-base: 0.14s ease;
+ --t-slow: 0.22s ease;
+
+ --radius-sm: 3px;
+ --radius-md: 5px;
+ --radius-lg: 7px;
+ --radius-xl: 10px;
+ --radius-2xl: 14px;
+ --radius-full: 9999px;
+
+ --sp-1: 4px;
+ --sp-2: 8px;
+ --sp-3: 12px;
+ --sp-4: 16px;
+ --sp-5: 20px;
+ --sp-6: 24px;
+ --sp-8: 32px;
+ --sp-10: 40px;
+
+ --sidebar-width: 52px;
+ --titlebar-height: 36px;
+
+ --font-ui: "DM Mono", "Fira Mono", ui-monospace, monospace;
+ --font-sans: "DM Sans", ui-sans-serif, system-ui, sans-serif;
+
+ --text-2xs: 10px;
+ --text-xs: 11px;
+ --text-sm: 12px;
+ --text-base: 13px;
+ --text-md: 14px;
+ --text-lg: 15px;
+ --text-xl: 17px;
+ --text-2xl: 20px;
+ --text-3xl: 24px;
+
+ --weight-normal: 400;
+ --weight-medium: 500;
+ --weight-semi: 600;
+
+ --leading-none: 1;
+ --leading-tight: 1.3;
+ --leading-snug: 1.45;
+ --leading-base: 1.6;
+
+ --tracking-tight: -0.02em;
+ --tracking-normal: 0;
+ --tracking-wide: 0.06em;
+ --tracking-wider: 0.1em;
+
+ --z-reader: 50;
+ --z-modal: 100;
+ --z-settings: 150;
+}
+
+[data-theme="dark"] {
+ --bg-void: #000000;
+ --bg-base: #080808;
+ --bg-surface: #0d0d0d;
+ --bg-raised: #111111;
+ --bg-overlay: #171717;
+ --bg-subtle: #1e1e1e;
+
+ --border-dim: #252525;
+ --border-base: #303030;
+ --border-strong: #3e3e3e;
+ --border-focus: #5a7a5a;
+
+ --text-primary: #ffffff;
+ --text-secondary: #e8e6e0;
+ --text-muted: #b0aea8;
+ --text-faint: #6e6c68;
+ --text-disabled: #303030;
+
+ --accent: #7aaa7a;
+ --accent-dim: #2e4a2e;
+ --accent-muted: #1e2e1e;
+ --accent-fg: #bcd8bc;
+ --accent-bright: #9fcf9f;
+}
+
+[data-theme="light"] {
+ --bg-void: #d8d4ce;
+ --bg-base: #e2deda;
+ --bg-surface: #ece8e2;
+ --bg-raised: #f5f2ec;
+ --bg-overlay: #ffffff;
+ --bg-subtle: #e4e0d8;
+
+ --border-dim: #c4c0b8;
+ --border-base: #b0aca4;
+ --border-strong: #989490;
+ --border-focus: #3a5a3a;
+
+ --text-primary: #080806;
+ --text-secondary: #181612;
+ --text-muted: #38342e;
+ --text-faint: #706c64;
+ --text-disabled: #b0aca4;
+
+ --accent: #2a5a2a;
+ --accent-dim: #b0ccb0;
+ --accent-muted: #c8dcc8;
+ --accent-fg: #183818;
+ --accent-bright: #1e4e1e;
+
+ --color-error: #8a1a1a;
+ --color-error-bg: #f8e0e0;
+ --color-read: #e0dcd4;
+}
+
+[data-theme="midnight"] {
+ --bg-void: #050810;
+ --bg-base: #080c18;
+ --bg-surface: #0c1020;
+ --bg-raised: #101428;
+ --bg-overlay: #151a30;
+ --bg-subtle: #1a2038;
+
+ --border-dim: #1a2035;
+ --border-base: #222840;
+ --border-strong: #2c3450;
+ --border-focus: #4a5c8a;
+
+ --text-primary: #eeeef8;
+ --text-secondary: #c0c4d8;
+ --text-muted: #808498;
+ --text-faint: #404860;
+ --text-disabled: #202840;
+
+ --accent: #6a7ab8;
+ --accent-dim: #252d50;
+ --accent-muted: #181e38;
+ --accent-fg: #a8b4e8;
+ --accent-bright: #8896d0;
+}
+
+[data-theme="original"] {
+ --bg-void: #080808;
+ --bg-base: #0c0c0c;
+ --bg-surface: #101010;
+ --bg-raised: #151515;
+ --bg-overlay: #1a1a1a;
+ --bg-subtle: #202020;
+
+ --border-dim: #1c1c1c;
+ --border-base: #242424;
+ --border-strong: #2e2e2e;
+ --border-focus: #4a5c4a;
+
+ --text-primary: #f0efec;
+ --text-secondary: #c8c6c0;
+ --text-muted: #8a8880;
+ --text-faint: #4e4d4a;
+ --text-disabled: #2a2a28;
+
+ --accent: #6b8f6b;
+ --accent-dim: #2a3d2a;
+ --accent-muted: #1a251a;
+ --accent-fg: #a8c4a8;
+ --accent-bright: #8fb88f;
+
+ --color-error: #c47a7a;
+ --color-error-bg: #1f1212;
+ --color-success: #7aab7a;
+ --color-info: #7a9ec4;
+ --color-info-bg: #121a1f;
+}
+
+[data-theme="warm"] {
+ --bg-void: #0c0a06;
+ --bg-base: #100e08;
+ --bg-surface: #16130c;
+ --bg-raised: #1c1810;
+ --bg-overlay: #221e14;
+ --bg-subtle: #28241a;
+
+ --border-dim: #201c10;
+ --border-base: #2c2818;
+ --border-strong: #3a3420;
+ --border-focus: #6a5a30;
+
+ --text-primary: #f5f0e0;
+ --text-secondary: #d8d0b0;
+ --text-muted: #988c60;
+ --text-faint: #584e30;
+ --text-disabled: #302a18;
+
+ --accent: #c0902a;
+ --accent-dim: #3a2c10;
+ --accent-muted: #261e0c;
+ --accent-fg: #e0b860;
+ --accent-bright: #d0a040;
+}
+
+*, *::before, *::after {
+ box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+}
+
+html, body {
+ height: 100%;
+ overflow: hidden;
+ background: var(--bg-void);
+ color: var(--text-primary);
+}
+
+#svelte {
+ height: 100%;
+}
+
+button {
+ cursor: pointer;
+ font: inherit;
+ color: inherit;
+ background: none;
+ border: none;
+ padding: 0;
+}
+
+input, textarea, select {
+ font: inherit;
+ color: inherit;
+}
+
+a {
+ color: inherit;
+ text-decoration: none;
+}
+
+ul, ol { list-style: none; }
+
+img, svg { display: block; max-width: 100%; }
+
+p { margin: 0; }
+
+body {
+ font-family: var(--font-sans);
+ font-size: var(--text-base);
+ font-weight: var(--weight-normal);
+ line-height: var(--leading-base);
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ text-rendering: optimizeLegibility;
+}
+
+* {
+ scrollbar-width: thin;
+ scrollbar-color: transparent transparent;
+}
+
+*::-webkit-scrollbar { width: 4px; height: 4px; }
+*::-webkit-scrollbar-track { background: transparent; }
+*::-webkit-scrollbar-thumb { background: transparent; border-radius: 99px; }
+*::-webkit-scrollbar-thumb:hover { background: transparent; }
+
+@keyframes fadeIn {
+ from { opacity: 0; }
+ to { opacity: 1; }
+}
+
+@keyframes fadeUp {
+ from { opacity: 0; transform: translateY(5px); }
+ to { opacity: 1; transform: translateY(0); }
+}
+
+@keyframes fadeDown {
+ from { opacity: 0; transform: translateY(-5px); }
+ to { opacity: 1; transform: translateY(0); }
+}
+
+@keyframes scaleIn {
+ from { opacity: 0; transform: scale(0.97); }
+ to { opacity: 1; transform: scale(1); }
+}
+
+@keyframes spin {
+ from { transform: rotate(0deg); }
+ to { transform: rotate(360deg); }
+}
+
+@keyframes pulse {
+ 0%, 100% { opacity: 1; }
+ 50% { opacity: 0.35; }
+}
+
+@keyframes shimmer {
+ from { background-position: -200% 0; }
+ to { background-position: 200% 0; }
+}
+
+.anim-fade-in { animation: fadeIn 0.14s ease both; }
+.anim-fade-up { animation: fadeUp 0.18s ease both; }
+.anim-fade-down { animation: fadeDown 0.18s ease both; }
+.anim-scale-in { animation: scaleIn 0.14s ease both; }
+.anim-pulse { animation: pulse 1.6s ease infinite; }
+.anim-spin { animation: spin 0.7s linear infinite; }
+
+.skeleton {
+ background: linear-gradient(90deg, var(--bg-raised) 25%, var(--bg-overlay) 50%, var(--bg-raised) 75%);
+ background-size: 200% 100%;
+ animation: shimmer 1.4s ease infinite;
+ border-radius: var(--radius-sm);
+}
diff --git a/src/app.d.ts b/src/app.d.ts
new file mode 100644
index 0000000..1a3a8f8
--- /dev/null
+++ b/src/app.d.ts
@@ -0,0 +1,4 @@
+declare global {
+ namespace App {}
+}
+export {};
\ No newline at end of file
diff --git a/src/app.html b/src/app.html
new file mode 100644
index 0000000..08d1b2d
--- /dev/null
+++ b/src/app.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ %sveltekit.head%
+
+
+