Merge pull request #38 from Wuzado/master

Make Theseus compilable out of the box again, update Tauri to 1.0.4
This commit is contained in:
venashial
2022-08-03 00:25:15 -07:00
committed by GitHub
38 changed files with 3226 additions and 1923 deletions

1
.gitignore vendored
View File

@@ -2,6 +2,7 @@
node_modules/ node_modules/
.svelte-kit/ .svelte-kit/
theseus_gui/build/ theseus_gui/build/
theseus_gui/generated/
WixTools WixTools
.direnv/ .direnv/

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "theseus_gui/locales"]
path = theseus_gui/locales
url = https://github.com/modrinth/translations

1
.idea/theseus.iml generated
View File

@@ -47,6 +47,7 @@
<sourceFolder url="file://$MODULE_DIR$/target/debug/build/crossbeam-utils-bab62be590a5955d/out" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/target/debug/build/crossbeam-utils-bab62be590a5955d/out" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/target/debug/build/memoffset-235ac8b3550fb50a/out" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/target/debug/build/memoffset-235ac8b3550fb50a/out" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/theseus/examples" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/theseus/examples" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/theseus_gui/src-tauri/src" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" /> <excludeFolder url="file://$MODULE_DIR$/target" />
<excludeFolder url="file://$MODULE_DIR$/theseus_gui/.svelte-kit" /> <excludeFolder url="file://$MODULE_DIR$/theseus_gui/.svelte-kit" />
<excludeFolder url="file://$MODULE_DIR$/theseus_gui/build" /> <excludeFolder url="file://$MODULE_DIR$/theseus_gui/build" />

679
Cargo.lock generated

File diff suppressed because it is too large Load Diff

1
theseus_gui/locales Submodule

Submodule theseus_gui/locales added at 73d326c7ef

View File

@@ -1,11 +1,11 @@
{ {
"scripts": { "scripts": {
"dev": "tauri dev", "dev": "tauri dev",
"dev:web": "svelte-kit dev", "dev:web": "vite",
"kill:web": "kill-port 3000", "kill:web": "kill-port 5173",
"tauri": "tauri", "tauri": "tauri",
"build": "tauri build", "build": "tauri build",
"build:web": "svelte-kit build", "build:web": "vite build",
"test": "cargo ../test --manifest-path ./src-tauri/Cargo.toml", "test": "cargo ../test --manifest-path ./src-tauri/Cargo.toml",
"format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. src", "format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. src",
"check": "cargo check --manifest-path src-tauri/Cargo.toml && svelte-check --tsconfig ./tsconfig.json" "check": "cargo check --manifest-path src-tauri/Cargo.toml && svelte-check --tsconfig ./tsconfig.json"
@@ -13,7 +13,7 @@
"devDependencies": { "devDependencies": {
"@sveltejs/adapter-static": "next", "@sveltejs/adapter-static": "next",
"@sveltejs/kit": "next", "@sveltejs/kit": "next",
"@tauri-apps/cli": "^1.0.0-rc.5", "@tauri-apps/cli": "^1.0.4",
"@typescript-eslint/eslint-plugin": "^5.10.1", "@typescript-eslint/eslint-plugin": "^5.10.1",
"@typescript-eslint/parser": "^5.10.1", "@typescript-eslint/parser": "^5.10.1",
"eslint": "^7.32.0", "eslint": "^7.32.0",
@@ -24,8 +24,10 @@
"prettier-plugin-svelte": "^2.5.0", "prettier-plugin-svelte": "^2.5.0",
"svelte": "^3.46.0", "svelte": "^3.46.0",
"svelte-check": "^2.2.6", "svelte-check": "^2.2.6",
"svelte-intl-precompile": "^0.11.1",
"tslib": "^2.3.1", "tslib": "^2.3.1",
"typescript": "~4.5.4" "typescript": "~4.5.4",
"vite": "^3.0.0"
}, },
"type": "module", "type": "module",
"dependencies": { "dependencies": {
@@ -34,9 +36,10 @@
"@iconify-json/heroicons-outline": "^1.1.1", "@iconify-json/heroicons-outline": "^1.1.1",
"@iconify-json/heroicons-solid": "^1.1.1", "@iconify-json/heroicons-solid": "^1.1.1",
"@iconify-json/lucide": "^1.1.5", "@iconify-json/lucide": "^1.1.5",
"@tauri-apps/api": "^1.0.0-rc.1", "@tauri-apps/api": "^1.0.2",
"omorphia": "0.0.17", "omorphia": "0.0.67",
"svrollbar": "^0.10.4", "svrollbar": "^0.12.0",
"unplugin-icons": "^0.13.2" "unplugin-icons": "^0.14.7",
"highlight.js": "11.5.1"
} }
} }

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
module.exports = require('omorphia/config/postcss.config.cjs') module.exports = require('omorphia/config/postcss.cjs')

View File

@@ -8,12 +8,12 @@ rust-version = "1.57"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[build-dependencies] [build-dependencies]
tauri-build = { version = "1.0.0-rc.3", features = [] } tauri-build = { version = "1.0.4", features = [] }
[dependencies] [dependencies]
serde_json = "1.0" serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }
tauri = { version = "1.0.0-rc.3", features = ["api-all"] } tauri = { version = "1.0.4", features = ["api-all"] }
[features] [features]
# by default Tauri runs in production mode # by default Tauri runs in production mode

View File

@@ -9,12 +9,12 @@ use tauri::{
}; };
fn main() { fn main() {
let ctx = tauri::generate_context!(); let ctx = tauri::generate_context!(); // Run `pnpm build:web` (builds the web app) to get rid of the error.
tauri::Builder::default() tauri::Builder::default()
.invoke_handler(tauri::generate_handler![]) .invoke_handler(tauri::generate_handler![])
.create_window("main", WindowUrl::default(), |win, webview| { .setup(|app| {
let win = win let _win = WindowBuilder::new(app, "main", WindowUrl::default())
.title("Modrinth") .title("Modrinth")
.resizable(true) .resizable(true)
.decorations(true) .decorations(true)
@@ -22,15 +22,16 @@ fn main() {
.inner_size(800.0, 550.0) .inner_size(800.0, 550.0)
.min_inner_size(400.0, 200.0) .min_inner_size(400.0, 200.0)
.skip_taskbar(false) .skip_taskbar(false)
.fullscreen(false); .fullscreen(false)
return (win, webview); .build()?;
Ok(())
}) })
.menu(Menu::with_items([ .menu(Menu::with_items([
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
MenuEntry::Submenu(Submenu::new( MenuEntry::Submenu(Submenu::new(
&ctx.package_info().name, &ctx.package_info().name,
Menu::with_items([ Menu::with_items([
MenuItem::About(ctx.package_info().name.clone()).into(), // MenuItem::About(ctx.package_info().name.clone()).into(),
MenuItem::Separator.into(), MenuItem::Separator.into(),
MenuItem::Services.into(), MenuItem::Services.into(),
MenuItem::Separator.into(), MenuItem::Separator.into(),

View File

@@ -4,7 +4,7 @@
}, },
"build": { "build": {
"distDir": "../build", "distDir": "../build",
"devPath": "http://localhost:3000", "devPath": "http://localhost:5173",
"beforeDevCommand": "pnpm dev:web", "beforeDevCommand": "pnpm dev:web",
"beforeBuildCommand": "pnpm run build:web" "beforeBuildCommand": "pnpm run build:web"
}, },
@@ -32,13 +32,11 @@
"shortDescription": "", "shortDescription": "",
"longDescription": "", "longDescription": "",
"deb": { "deb": {
"depends": [], "depends": []
"useBootstrapper": false
}, },
"macOS": { "macOS": {
"frameworks": [], "frameworks": [],
"minimumSystemVersion": "", "minimumSystemVersion": "",
"useBootstrapper": false,
"exceptionDomain": "", "exceptionDomain": "",
"signingIdentity": null, "signingIdentity": null,
"providerShortName": null, "providerShortName": null,

View File

@@ -3,9 +3,12 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
%svelte.head% <link rel="preload" href="/fonts/InterRegular.woff2" as="font" type="font/woff2" crossorigin />
<link rel="preload" href="/fonts/InterBold.woff2" as="font" type="font/woff2" crossorigin />
<link rel="preload" href="/fonts/InterSemiBold.woff2" as="font" type="font/woff2" crossorigin />
%sveltekit.head%
</head> </head>
<body style="background-color: hsl(220, 13%, 15%)"> <body class="base theme-dark" style="background-color: hsl(220, 13%, 15%)">
%svelte.body% %sveltekit.body%
</body> </body>
</html> </html>

View File

@@ -9,7 +9,6 @@
</div> </div>
</div> </div>
<style lang="postcss"> <style lang="postcss">
.card-row { .card-row {
display: flex; display: flex;
@@ -25,7 +24,7 @@
&::after { &::after {
flex: 1 1; flex: 1 1;
content: " "; content: ' ';
background-color: hsla(0, 0%, 100%, 0.2); background-color: hsla(0, 0%, 100%, 0.2);
height: 0.2rem; height: 0.2rem;
border-radius: var(--rounded-max); border-radius: var(--rounded-max);

View File

@@ -1,57 +1,57 @@
<script lang="ts"> <script lang="ts">
import { FormField, Slider, TextInput, Button } from "omorphia" import { Field, Slider, TextInput, Button } from 'omorphia';
import TitledSection from "$components/TitledSection.svelte" import TitledSection from '$components/TitledSection.svelte';
import WindowSettings from "$components/WindowSettings.svelte" import WindowSettings from '$components/WindowSettings.svelte';
export let maxConcurrentDownloads: number = 20; export let maxConcurrentDownloads: number = 20;
</script> </script>
<div class="section"> <div class="section">
<TitledSection title="Downloads"> <TitledSection title="Downloads">
<FormField label="Max concurrent downloads"> <Field label="Max concurrent downloads">
<Slider min=1 max=64 bind:value={maxConcurrentDownloads} /> <Slider min="1" max="64" bind:value={maxConcurrentDownloads} />
</FormField> </Field>
</TitledSection> </TitledSection>
<TitledSection title="Override game resolution" toggleable=true> <TitledSection title="Override game resolution" toggleable="true">
<WindowSettings /> <WindowSettings />
</TitledSection> </TitledSection>
<TitledSection title="Profile hooks"> <TitledSection title="Profile hooks">
<FormField label="Pre-launch"> <Field label="Pre-launch">
<TextInput /> <TextInput />
</FormField> </Field>
<FormField label="Wrapper"> <Field label="Wrapper">
<TextInput /> <TextInput />
</FormField> </Field>
<FormField label="Post-exit"> <Field label="Post-exit">
<TextInput /> <TextInput />
</FormField> </Field>
</TitledSection> </TitledSection>
<TitledSection title="Java"> <TitledSection title="Java">
<FormField label="Java 8 installation"> <Field label="Java 8 installation">
<TextInput placeholder="/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home" /> <TextInput placeholder="/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home" />
<div class="button-group"> <div class="button-group">
<Button>Auto-detect</Button> <Button>Auto-detect</Button>
<Button>Browse installations</Button> <Button>Browse installations</Button>
<Button>Test</Button> <Button>Test</Button>
</div> </div>
</FormField> </Field>
<FormField label="Java 17 installation"> <Field label="Java 17 installation">
<TextInput placeholder="/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home" /> <TextInput placeholder="/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home" />
<div class="button-group"> <div class="button-group">
<Button>Auto-detect</Button> <Button>Auto-detect</Button>
<Button>Browse installations</Button> <Button>Browse installations</Button>
<Button>Test</Button> <Button>Test</Button>
</div> </div>
</FormField> </Field>
<FormField label="Minimum memory allocatted (in MB)"> <Field label="Minimum memory allocatted (in MB)">
<TextInput /> <TextInput />
</FormField> </Field>
<FormField label="Maximum memory allocatted (in MB)"> <Field label="Maximum memory allocatted (in MB)">
<TextInput value="2048" /> <TextInput value="2048" />
</FormField> </Field>
<FormField label="Arguments"> <Field label="Arguments">
<TextInput /> <TextInput />
</FormField> </Field>
</TitledSection> </TitledSection>
</div> </div>

View File

@@ -1,6 +1,6 @@
<script lang="ts"> <script lang="ts">
import IconPlayFilled from "virtual:icons/carbon/play-filled-alt" import IconPlayFilled from 'virtual:icons/carbon/play-filled-alt';
import IconBadgeCheck from "virtual:icons/heroicons-solid/badge-check" import IconBadgeCheck from 'virtual:icons/heroicons-solid/badge-check';
export let title: string; export let title: string;
export let id: string; export let id: string;
@@ -9,9 +9,14 @@
export let image: string; export let image: string;
</script> </script>
<a class="instance" href="/library/instance/{id}/settings" <a
style:background-image="linear-gradient(5deg, hsla(0,0%,0%,0.8) 0%, hsla(0,0%,0%,0) 100%), url('{image}')"> class="instance"
<div class="instance__version">{version}{#if modpack}<IconBadgeCheck />{/if}</div> href="/library/instance/{id}/settings"
style:background-image="linear-gradient(5deg, hsla(0,0%,0%,0.8) 0%, hsla(0,0%,0%,0) 100%), url('{image}')"
>
<div class="instance__version">
{version}{#if modpack}<IconBadgeCheck />{/if}
</div>
<div class="instance__title">{title}</div> <div class="instance__title">{title}</div>
<button class="play-button"> <button class="play-button">
<IconPlayFilled /> <IconPlayFilled />

View File

@@ -1,10 +1,10 @@
<script lang="ts"> <script lang="ts">
import { Checkbox } from "omorphia" import { Checkbox } from 'omorphia';
export let title: string export let title: string;
export let toggleable: boolean = false export let toggleable: boolean = false;
export let enabled: boolean = false export let enabled: boolean = false;
</script> </script>
<div class="section"> <div class="section">
@@ -32,7 +32,7 @@
&::after { &::after {
flex: 1 1; flex: 1 1;
content: " "; content: ' ';
background-color: hsla(0, 0%, 100%, 0.2); background-color: hsla(0, 0%, 100%, 0.2);
height: 0.2rem; height: 0.2rem;
border-radius: var(--rounded-max); border-radius: var(--rounded-max);

View File

@@ -1,21 +1,19 @@
<script lang="ts"> <script lang="ts">
import { SvelteComponent } from 'svelte' import { SvelteComponent } from 'svelte';
import { page } from "$app/stores"; import { page } from '$app/stores';
export let items: { export let items: {
label: string, label: string;
/** Page href, without slash prefix */ /** Page href, without slash prefix */
href: string, href: string;
icon: SvelteComponent icon: SvelteComponent;
}[]; }[];
/** Path level in URL, zero-indexed */ /** Path level in URL, zero-indexed */
export let level = 0; export let level = 0;
let path: string[]; let path: string[];
$: path = $page.url.pathname $: path = $page.url.pathname.substring(1).split('/');
.substring(1)
.split('/')
</script> </script>
<div class="vertical-nav"> <div class="vertical-nav">

View File

@@ -1,14 +1,14 @@
<script lang="ts"> <script lang="ts">
import { FormField, TextInput } from "omorphia" import { Field, TextInput } from 'omorphia';
</script> </script>
<div class="section"> <div class="section">
<FormField label="Window width"> <Field label="Window width">
<TextInput /> <TextInput />
</FormField> </Field>
<FormField label="Window height"> <Field label="Window height">
<TextInput /> <TextInput />
</FormField> </Field>
</div> </div>
<style lang="postcss"> <style lang="postcss">

View File

@@ -1,6 +1,6 @@
/** @type {import('@sveltejs/kit').Handle} */ /** @type {import('@sveltejs/kit').Handle} */
export async function handle({ event, resolve }) { export async function handle({ event, resolve }) {
return await resolve(event, { return await resolve(event, {
ssr: false, ssr: false
}); });
} }

View File

@@ -1,8 +1,8 @@
<script lang="ts"> <script lang="ts">
import { Svrollbar } from 'svrollbar' import { Svrollbar } from 'svrollbar';
let viewport: Element let viewport: Element;
let contents: Element let contents: Element;
</script> </script>
<div class="page"> <div class="page">

View File

@@ -1,12 +1,12 @@
<script lang="ts"> <script lang="ts">
import VerticalNav from '../components/VerticalNav.svelte' import VerticalNav from '../components/VerticalNav.svelte';
import IconHome from 'virtual:icons/lucide/home' import IconHome from 'virtual:icons/lucide/home';
import IconSearch from 'virtual:icons/heroicons-outline/search' import IconSearch from 'virtual:icons/heroicons-outline/search';
import IconPlus from 'virtual:icons/heroicons-outline/plus' import IconPlus from 'virtual:icons/heroicons-outline/plus';
import IconLibrary from 'virtual:icons/lucide/library'; import IconLibrary from 'virtual:icons/lucide/library';
import IconSettings from 'virtual:icons/lucide/settings' import IconSettings from 'virtual:icons/lucide/settings';
import { page } from "$app/stores"; import { page } from '$app/stores';
import { Button } from 'omorphia' import { Button } from 'omorphia';
</script> </script>
<div class="sidebar"> <div class="sidebar">
@@ -21,23 +21,25 @@
</a> </a>
</div> </div>
<VerticalNav items={[ <VerticalNav
items={[
{ {
label: 'Home', label: 'Home',
href: '', href: '',
icon: IconHome, icon: IconHome
}, },
{ {
label: 'Search', label: 'Search',
href: 'search', href: 'search',
icon: IconSearch, icon: IconSearch
}, },
{ {
label: 'Library', label: 'Library',
href: 'library', href: 'library',
icon: IconLibrary, icon: IconLibrary
} }
]}/> ]}
/>
<div class="instance-list"> <div class="instance-list">
<div class="instance-list__title">Instances</div> <div class="instance-list__title">Instances</div>

View File

@@ -2,12 +2,10 @@
import IconChevronLeft from 'virtual:icons/lucide/chevron-left'; import IconChevronLeft from 'virtual:icons/lucide/chevron-left';
import IconChevronRight from 'virtual:icons/lucide/chevron-right'; import IconChevronRight from 'virtual:icons/lucide/chevron-right';
import IconCaretRight from 'virtual:icons/carbon/caret-right'; import IconCaretRight from 'virtual:icons/carbon/caret-right';
import { page } from '$app/stores' import { page } from '$app/stores';
let path: string[]; let path: string[];
$: path = $page.url.pathname $: path = $page.url.pathname.substring(1).split('/');
.substring(1)
.split('/')
</script> </script>
<div class="status-bar"> <div class="status-bar">
@@ -58,7 +56,7 @@
} }
:global(.icon) { :global(.icon) {
color: var(--color-text-lightest) color: var(--color-text-lightest);
} }
} }

View File

@@ -1,10 +1,27 @@
<script context="module" lang="ts">
import { init, waitLocale, t, getLocaleFromAcceptLanguageHeader } from 'svelte-intl-precompile';
import { registerAll, availableLocales } from '$locales';
registerAll();
export const load: import('@sveltejs/kit').Load = async ({ session }) => {
init({
fallbackLocale: 'en',
initialLocale: getLocaleFromAcceptLanguageHeader(session.acceptLanguage, availableLocales)
});
await waitLocale();
return {};
};
</script>
<script lang="ts"> <script lang="ts">
import '@fontsource/inter' import '@fontsource/inter';
import 'omorphia/styles.postcss' import 'omorphia/styles.postcss';
import '$styles/global.postcss' import '$styles/global.postcss';
import Sidebar from '$layout/Sidebar.svelte' import Sidebar from '$layout/Sidebar.svelte';
import StatusBar from "$layout/StatusBar.svelte"; import StatusBar from '$layout/StatusBar.svelte';
import Page from "$layout/Page.svelte"; import Page from '$layout/Page.svelte';
</script> </script>
<div class="app base theme-dark"> <div class="app base theme-dark">
@@ -21,8 +38,8 @@
width: 100%; width: 100%;
display: grid; display: grid;
grid-template-areas: grid-template-areas:
"sidebar status-bar" 'sidebar status-bar'
"sidebar page"; 'sidebar page';
grid-template-rows: 2.5rem 1fr; grid-template-rows: 2.5rem 1fr;
grid-template-columns: 14rem 1fr; grid-template-columns: 14rem 1fr;
} }

View File

@@ -1,27 +1,41 @@
<script lang="ts"> <script lang="ts">
import Instance from '$components/Instance.svelte';
import Instance from "$components/Instance.svelte"; import CardRow from '$components/CardRow.svelte';
import CardRow from "$components/CardRow.svelte";
</script> </script>
<CardRow title="Jump back in"> <CardRow title="Jump back in">
{#each Array(5) as _, i} {#each Array(5) as _, i}
<Instance title="New Caves" id="234" version="1.18" image="https://i.ibb.co/8KDxBwq/patchnotes-cavesandcliffs.jpg" /> <Instance
title="New Caves"
id="234"
version="1.18"
image="https://i.ibb.co/8KDxBwq/patchnotes-cavesandcliffs.jpg"
/>
{/each} {/each}
</CardRow> </CardRow>
<CardRow title="Popular packs"> <CardRow title="Popular packs">
{#each Array(5) as _, i} {#each Array(5) as _, i}
<Instance title="All of Fabric 5" id="567" version="1.18.1" image="https://media.forgecdn.net/avatars/458/829/637733746768258525.png" modpack /> <Instance
title="All of Fabric 5"
id="567"
version="1.18.1"
image="https://media.forgecdn.net/avatars/458/829/637733746768258525.png"
modpack
/>
{/each} {/each}
</CardRow> </CardRow>
<CardRow title="New releases"> <CardRow title="New releases">
{#each Array(5) as _, i} {#each Array(5) as _, i}
<Instance title="New Caves" id="234" version="1.18.2" image="https://i.ibb.co/8KDxBwq/patchnotes-cavesandcliffs.jpg" /> <Instance
title="New Caves"
id="234"
version="1.18.2"
image="https://i.ibb.co/8KDxBwq/patchnotes-cavesandcliffs.jpg"
/>
{/each} {/each}
</CardRow> </CardRow>
<style lang="postcss"> <style lang="postcss">
</style> </style>

View File

@@ -1,11 +1,8 @@
<script context="module" lang="ts"> <script context="module" lang="ts">
</script> </script>
<script lang="ts"> <script lang="ts">
</script> </script>
<style lang="postcss"> <style lang="postcss">
</style> </style>

View File

@@ -1,29 +1,32 @@
<script lang="ts"> <script lang="ts">
import VerticalNav from "$components/VerticalNav.svelte"; import VerticalNav from '$components/VerticalNav.svelte';
import IconPackage from 'virtual:icons/lucide/package' import IconPackage from 'virtual:icons/lucide/package';
import IconAdjustments from 'virtual:icons/heroicons-outline/adjustments' import IconAdjustments from 'virtual:icons/heroicons-outline/adjustments';
import IconFileText from 'virtual:icons/lucide/file-text' import IconFileText from 'virtual:icons/lucide/file-text';
</script> </script>
<div class="layout-instance"> <div class="layout-instance">
<div class="instance-sidebar"> <div class="instance-sidebar">
<VerticalNav level={3} items={[ <VerticalNav
level={3}
items={[
{ {
label: 'Mods', label: 'Mods',
href: 'mods', href: 'mods',
icon: IconPackage, icon: IconPackage
}, },
{ {
label: 'Settings', label: 'Settings',
href: 'settings', href: 'settings',
icon: IconAdjustments, icon: IconAdjustments
}, },
{ {
label: 'Logs', label: 'Logs',
href: 'logs', href: 'logs',
icon: IconFileText, icon: IconFileText
} }
]}/> ]}
/>
</div> </div>
<div class="layout-instance__page"> <div class="layout-instance__page">

View File

@@ -1,17 +1,15 @@
<script context="module" lang="ts"> <script context="module" lang="ts">
</script> </script>
<script lang="ts"> <script lang="ts">
import { Checkbox, FormField, TextInput, Button } from "omorphia" import GlobalSettings from '$components/GlobalSettings.svelte';
import GlobalSettings from "$components/GlobalSettings.svelte" import TitledSection from '$components/TitledSection.svelte';
import TitledSection from "$components/TitledSection.svelte"
export let overrideGlobalSettings = false export let overrideGlobalSettings = false;
</script> </script>
<div class="section"> <div class="section">
<TitledSection title="Override global settings" toggleable=true> <TitledSection title="Override global settings" toggleable="true">
<GlobalSettings /> <GlobalSettings />
</TitledSection> </TitledSection>
</div> </div>

View File

@@ -1,10 +1,8 @@
<script context="module" lang="ts"> <script context="module" lang="ts">
</script> </script>
<script lang="ts"> <script lang="ts">
import { Checkbox, FormField, TextInput, Button } from "omorphia" import GlobalSettings from '$components/GlobalSettings.svelte';
import GlobalSettings from "$components/GlobalSettings.svelte"
</script> </script>
<div class="section"> <div class="section">

View File

@@ -0,0 +1,3 @@
import { writable } from 'svelte/store';
export const token = writable('');

View File

@@ -5,11 +5,11 @@
padding: 0.5rem 0.75rem; padding: 0.5rem 0.75rem;
border-radius: var(--rounded-sm); border-radius: var(--rounded-sm);
box-shadow: var(--shadow-inset-sm) var(--shadow-raised); box-shadow: var(--shadow-inset-sm) var(--shadow-raised);
transition: background-color 0.2s ease-in-out, transition: background-color 0.2s ease-in-out, color 0.1s ease-in-out;
color 0.1s ease-in-out;
color: var(--color-text-light); color: var(--color-text-light);
&:hover, &.active { &:hover,
&.active {
color: var(--color-text); color: var(--color-text);
} }

View File

@@ -8,5 +8,5 @@
--color-bg: hsl(217, 9%, 18%); --color-bg: hsl(217, 9%, 18%);
--color-brand: hsl(145, 75%, 45%); --color-brand: hsl(145, 75%, 45%);
--color-brand-contrast: black; --color-brand-contrast: black;
--sub-page-bg: hsl(220, 9%, 13%) --sub-page-bg: hsl(220, 9%, 13%);
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,29 +1,23 @@
import adapter from '@sveltejs/adapter-static'; import adapter from '@sveltejs/adapter-static';
import path from "path"; import { preprocess } from 'omorphia/config/svelte';
import { preprocess, plugins } from 'omorphia/config/svelte.config' import path from 'path';
/** @type {import('@sveltejs/kit').Config} */ /** @type {import('@sveltejs/kit').Config} */
const config = { const config = {
preprocess, preprocess: [preprocess],
kit: { kit: {
adapter: adapter({ adapter: adapter({
fallback: '200.html', fallback: '200.html'
}), }),
vite: {
plugins: [
...plugins,
],
resolve: {
alias: { alias: {
$generated: path.resolve('./generated'),
$stores: path.resolve('./src/stores'),
$assets: path.resolve('./src/assets'), $assets: path.resolve('./src/assets'),
$components: path.resolve('./src/components'), $components: path.resolve('./src/components'),
$layout: path.resolve('./src/layout'), $layout: path.resolve('./src/layout'),
$lib: path.resolve('./src/lib'), $lib: path.resolve('./src/lib'),
$stores: path.resolve('./src/stores'), $styles: path.resolve('./src/styles')
$styles: path.resolve('./src/styles'),
$generated: path.resolve('./src/generated'),
},
},
} }
} }
}; };

View File

@@ -0,0 +1,28 @@
import { sveltekit } from '@sveltejs/kit/vite';
import path from 'path';
import { plugins } from 'omorphia/config/vite';
import precompileIntl from 'svelte-intl-precompile/sveltekit-plugin';
import { Generator } from 'omorphia/plugins';
/** @type {import('vite').UserConfig} */
const config = {
plugins: [
sveltekit(),
...plugins,
precompileIntl('locales'),
Generator({
gameVersions: true,
openapi: true
})
],
optimizeDeps: {
include: ['highlight.js/lib/core']
},
server: {
fs: {
allow: ['generated']
}
}
};
export default config;