diff --git a/CHANGELOG.md b/CHANGELOG.md index 47bd9f1..54917e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ *Note: some changes may be undocumented prior to September 2026 because I didn't keep track ¯\_(ツ)_/¯* +## August 16, 2026 — New Dashboard Submit +- The **Submit** button no longer pops up a form modal. Clicking it now opens the **OpenFront Dashboard Submission Form Page** in a new tab with your pattern already filled in — ready to fill out, review and submit. + ## August 16, 2026 — Simulate In-Game Map & Team Colors Three big additions to the Preview panel: diff --git a/src/app.ts b/src/app.ts index 83a3371..e81e6ee 100644 --- a/src/app.ts +++ b/src/app.ts @@ -19,7 +19,6 @@ import { import { createPatternLoader } from "./app/patternLoader.js"; import { initPaneResizeControls } from "./app/paneResizeControls.js"; import { createPreviewRenderer } from "./app/previewRenderer.js"; -import { initSubmissionModal } from "./app/submissionModal.js"; import { createToolState } from "./app/toolState.js"; import { createHistoryManager } from "./app/undoRedo.js"; import { initWorkspaceControls } from "./app/workspaceControls.js"; @@ -967,16 +966,13 @@ document.addEventListener("DOMContentLoaded", () => { }, }); - // ── Submission modal ────────────────────────────────────────────────────── - const submissionModal = initSubmissionModal({ - getPrimaryColor: () => previewPrimaryColor.value, - getSecondaryColor: () => previewSecondaryColor.value, - getPatternUrl: () => { - const b64 = getOutputBase64(); - return buildPreviewLink(window.location.href, b64, previewPrimaryColor.value, previewSecondaryColor.value); - } + // ── Submission ──────────────────────────────────────────────────────────── + submitPatternBtn.addEventListener("click", () => { + const b64 = getOutputBase64(); + const submitUrl = new URL("https://dashboard.openfront.io/submit"); + submitUrl.searchParams.set("pattern", b64); + window.open(submitUrl.toString(), "_blank"); }); - submitPatternBtn.addEventListener("click", () => submissionModal.open()); // ── URL hash load + initial state ───────────────────────────────────────── const normalizeHex = (v: string | null) => { diff --git a/src/app/submissionModal.ts b/src/app/submissionModal.ts deleted file mode 100644 index f2427c1..0000000 --- a/src/app/submissionModal.ts +++ /dev/null @@ -1,105 +0,0 @@ -const STORAGE_KEY_PLAYER_NAME = "pu-submit-player-name"; -const STORAGE_KEY_PLAYER_ID = "pu-submit-player-id"; -const STORAGE_KEY_PATTERN_NAME = "pu-submit-pattern-name"; - -export function initSubmissionModal(options: { - getPrimaryColor: () => string; - getSecondaryColor: () => string; - getPatternUrl: () => string; -}) { - const { getPrimaryColor, getSecondaryColor, getPatternUrl } = options; - - // ── Build DOM ──────────────────────────────────────────────────────────── - const overlay = document.createElement("div"); - overlay.className = "modal-overlay"; - overlay.hidden = true; - overlay.setAttribute("role", "dialog"); - overlay.setAttribute("aria-modal", "true"); - overlay.setAttribute("aria-labelledby", "submissionModalTitle"); - - overlay.innerHTML = ` -