···991010 import { flavors } from "@catppuccin/palette";
1111 import { needsRefresh } from "@/utils/storage";
1212- import { globalSettings } from "#imports";
1312 import { RotateCw } from "@lucide/svelte";
14131514 const routes = {
-1
src/entrypoints/popup/routes/Home.svelte
···11<script lang="ts">
22 import Footer from "../components/Footer.svelte";
33 import Motd from "../components/Motd.svelte";
44- import { globalSettings } from "#imports";
5465 let isJune = new Date().getMonth() === 5;
76</script>
-1
src/entrypoints/popup/routes/Plugins.svelte
···11<script lang="ts">
22 import Title from "../components/Title.svelte";
33- import { globalSettings } from "#imports";
43 import Button from "../components/inputs/Button.svelte";
54 import { Settings } from "@lucide/svelte";
65 import Modal from "../components/Modal.svelte";
-1
src/entrypoints/popup/routes/Snippets.svelte
···22 import Title from "../components/Title.svelte";
33 import Toggle from "../components/inputs/Toggle.svelte";
44 import TextInput from "../components/inputs/TextInput.svelte";
55- import { globalSettings } from "#imports";
6576 let snippetURL = $state("");
87
···11-import { WxtStorageItem } from "#imports";
22-31export class StorageState<T> {
42 public state;
53
+3-2
src/utils/storage/global.ts
···11-import * as Types from "../types";
11+import { StorageState } from "./state.svelte";
22+import * as Types from "./types";
2333-export const globalSettings: StorageState<Types.Settings> = new StorageState<Types.Settings>(
44+export const globalSettings = new StorageState<Types.Settings>(
45 storage.defineItem<Types.Settings>("local:globalSettings", {
56 fallback: {
67 global: true,
+4-3
src/utils/storage/helpers.ts
···11-import * as Types from "../types";
11+import { StorageState } from "./state.svelte";
22+import * as Types from "./types";
2334export function createPlugin(
45 id: string,
···3031}
31323233export function pluginToggle(
3333- pluginId: string,
3434+ pluginId: Types.PluginId,
3435 settingId: string,
3536 name: string,
3637 description: string,
···4849}
49505051export function pluginSlider(
5151- pluginId: string,
5252+ pluginId: Types.PluginId,
5253 settingId: string,
5354 name: string,
5455 description: string,
+1
src/utils/storage/index.ts
···11export * from "./global";
22export * from "./plugins";
33export * from "./snippets";
44+export * from "./types";
+2-2
src/utils/storage/plugins.ts
···11-import * as Types from "../types";
21import { createPlugin, pluginSlider, pluginToggle } from "./helpers";
22+import * as Types from "./types";
3344export const plugins: Record<Types.PluginId, Types.PluginData> = {
55 subheader: createPlugin(
···99 true,
1010 {
1111 openInNewTab: pluginToggle(
1212- "subheaderRevamp",
1212+ "subheader",
1313 "openInNewTab",
1414 "Open links in new tab",
1515 "Whether to open the class link in a new tab.",
+1-1
src/utils/storage/snippets.ts
···11-import * as Types from "../types";
21import { createSnippet } from "./helpers";
22+import * as Types from "./types";
3344export const snippets: Record<Types.SnippetId, Types.SnippetData> = {
55 roundedCorners: createSnippet(
+2
src/utils/types.ts
src/utils/storage/types.ts
···11+import { StorageState } from "./state.svelte";
22+13// Global
24export interface Settings {
35 global: boolean;