Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 17 additions & 20 deletions src/routes/+page.svelte
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<script lang="ts">
// Local variables
import { convert } from "$lib/text/nbt/export";
import { convertToTextOrEmpty, snbtToDocument } from "$lib/text/nbt/import";
import { colorMap, getNodeAtSelection, sourceKeys } from "$lib/text/utils";
Expand Down Expand Up @@ -67,56 +68,52 @@
import { onDestroy, onMount } from "svelte";
import { page } from "$app/state";

let tiptapJSON: JSONContent = $state()!;
// VARIABLES

// Tiptap variables
let tiptapJSON: JSONContent = $state()!;
let element: HTMLElement = $state()!;
let editor: Editor | undefined = $state()!;
let color = $state("#ffffff");
let colorDialog: Modal = $state()!;

let outputDialog: Modal = $state()!;
let versionPopup: boolean = $state(false);

let doesContentExist: boolean = $derived(editor ? !editor.isEmpty : false);
let shouldOptimise = $state(true);

// Import
let importDialog: Modal = $state()!;
let importText: string = $state("");

// Export
let recentlyCopied = $state(false);
let finalOutput = $derived(
editor ? convert(tiptapJSON, "standard", shouldOptimise) : "Loading...",
);

// Snapshots and stuff
let snapshots: object[] = $state([]);
let recentlySaved = $state(false);
let loadDialog: Modal = $state()!;

// Dialogs
// Dialogs and UI
let gradientDialog: Modal = $state()!;
let gradientSteps: string[] = $state(["#ffffff"]);

let keybindDialog: Modal = $state()!;

let clickEventType = $state("");
let clickEventValue = $state("");
let clickEventDialog: Modal = $state()!;

let hoverEventEditor: MiniEditor = $state()!;
let hoverEventDialog: Modal = $state()!;
let hoverEventValue = $state("");

let fontDialog: Modal = $state()!;
let fontUploadModal: Modal = $state()!;
let fontName = $state("");

let customType: string | undefined = $state();
let customDialog: Modal = $state()!;

let unicodeSelectorDialog: Modal = $state()!;

let finalOutput = $derived(
editor ? convert(tiptapJSON, "standard", shouldOptimise) : "Loading...",
);
let color = $state("#ffffff");
let colorDialog: Modal = $state()!;
let outputDialog: Modal = $state()!;
let versionPopup: boolean = $state(false);
let doesContentExist: boolean = $derived(editor ? !editor.isEmpty : false);
let useUSEnglish: boolean = (navigator.language.toLowerCase() == "en-us") ? true : false

function importToEditor() {
const jsonContent = snbtToDocument(convertToTextOrEmpty(importText));
Expand Down Expand Up @@ -675,9 +672,9 @@
<button
{@attach tooltip}
class="ml-1 rounded-md bg-zinc-800 px-1 font-mono select-none hover:bg-zinc-700"
aria-label="Click to toggle whether the output should be optimised (shortest output, may have bugs), or expanded (easier to edit, more reliable)."
aria-label="Click to toggle whether the output should be {useUSEnglish ? "optimized" : "optimised"} (shortest output, may have bugs), or expanded (easier to edit, more reliable)."
onclick={() => (shouldOptimise = !shouldOptimise)}
>{shouldOptimise ? "optimised" : "expanded"}</button>
>{shouldOptimise ? (useUSEnglish ? "optimized" : "optimised") : "expanded"}</button>

<p class="font-lexend nomob text-xs text-white/60">•</p>

Expand Down