onyx-tasks/apps/tauri/src/App.svelte
Tristan Michael 93a3defcdb Switch to opaque frameless window for cross-platform reliability
Transparent windows require platform-specific workarounds (WebView2 on
Windows, compositor support on Linux) and don't work on mobile. Use an
opaque window instead, removing the outer padding, rounded corners, and
drop shadow that depended on transparency.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 10:10:08 -07:00

36 lines
1,003 B
Svelte

<script lang="ts">
import { onMount } from "svelte";
import { app } from "./lib/stores/app.svelte";
import SetupScreen from "./lib/screens/SetupScreen.svelte";
import TasksScreen from "./lib/screens/TasksScreen.svelte";
onMount(() => {
app.loadConfig();
});
</script>
<div class={app.darkMode ? "dark" : ""}>
<div class="h-screen w-screen">
<div
class="relative h-full w-full overflow-hidden bg-surface-light text-text-light dark:bg-surface-dark dark:text-text-dark"
style="container-type: inline-size"
>
{#if app.error}
<div
class="absolute top-0 left-0 right-0 z-50 flex items-center justify-between bg-danger px-4 py-2 text-sm text-white"
>
<span>{app.error}</span>
<button onclick={() => app.clearError()} class="ml-2 font-bold"></button>
</div>
{/if}
{#if app.screen === "setup"}
<SetupScreen />
{:else}
<TasksScreen />
{/if}
</div>
</div>
</div>