mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-20 11:28:30 +08:00
* Clean up component setup/tear-down side effects * Clean up more component setup/tear-down side effects * Remove nonfunctional debouncer * Clean up even more component setup/tear-down side effects * Reuse backend state * Fix HMR for IO Managers and for State Providers * Rename IO Managers -> Managers and State Providers -> Stores * Restructure and partially flatten managers/stores * Code review fixes * Review fixes
74 lines
2.2 KiB
Svelte
74 lines
2.2 KiB
Svelte
<script lang="ts">
|
|
import { getContext } from "svelte";
|
|
|
|
import { isPlatformNative } from "@graphite/../wasm/pkg/graphite_wasm";
|
|
import type { AppWindowStore } from "@graphite/stores/app-window";
|
|
import type { DialogStore } from "@graphite/stores/dialog";
|
|
import type { TooltipStore } from "@graphite/stores/tooltip";
|
|
|
|
import Dialog from "@graphite/components/floating-menus/Dialog.svelte";
|
|
import Tooltip from "@graphite/components/floating-menus/Tooltip.svelte";
|
|
import LayoutCol from "@graphite/components/layout/LayoutCol.svelte";
|
|
import TextLabel from "@graphite/components/widgets/labels/TextLabel.svelte";
|
|
import StatusBar from "@graphite/components/window/StatusBar.svelte";
|
|
import TitleBar from "@graphite/components/window/TitleBar.svelte";
|
|
import Workspace from "@graphite/components/window/Workspace.svelte";
|
|
|
|
const dialog = getContext<DialogStore>("dialog");
|
|
const tooltip = getContext<TooltipStore>("tooltip");
|
|
const appWindow = getContext<AppWindowStore>("appWindow");
|
|
</script>
|
|
|
|
<LayoutCol class="main-window" classes={{ "viewport-hole-punch": $appWindow.viewportHolePunch }}>
|
|
{#if !($appWindow.platform == "Mac" && $appWindow.fullscreen)}
|
|
<TitleBar />
|
|
{/if}
|
|
<Workspace />
|
|
<StatusBar />
|
|
{#if $dialog.visible}
|
|
<Dialog />
|
|
{/if}
|
|
{#if $tooltip.visible}
|
|
<Tooltip />
|
|
{/if}
|
|
{#if isPlatformNative() && new Date() > new Date("2026-04-30")}
|
|
<LayoutCol class="release-candidate-expiry">
|
|
<TextLabel>
|
|
<p>
|
|
This is an outdated desktop release candidate build. Its testing<br />
|
|
period has concluded and the next build is available for download.<br />
|
|
Please update to help us continue testing by reporting new issues.
|
|
</p>
|
|
</TextLabel>
|
|
</LayoutCol>
|
|
{/if}
|
|
</LayoutCol>
|
|
|
|
<style lang="scss" global>
|
|
.main-window {
|
|
height: 100%;
|
|
overflow: auto;
|
|
touch-action: none;
|
|
}
|
|
|
|
.release-candidate-expiry {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
background-color: var(--color-e-nearwhite);
|
|
color: var(--color-2-mildblack);
|
|
opacity: 0.9;
|
|
pointer-events: none;
|
|
padding: 12px 40px;
|
|
border-radius: 4px;
|
|
text-align-last: justify;
|
|
font-size: 18px;
|
|
z-index: 1000;
|
|
|
|
.text-label {
|
|
line-height: 1.5;
|
|
}
|
|
}
|
|
</style>
|