From c0fc300bee5817537641c87c03ba7b5a881ea5e4 Mon Sep 17 00:00:00 2001 From: Kworz Date: Tue, 28 May 2024 21:53:46 +0200 Subject: [PATCH 1/4] feat: websocket default url is current page Origin --- .changeset/strange-kiwis-watch.md | 5 +++++ packages/ui/README.md | 10 +++++----- packages/ui/src/routes/(connected)/+layout.svelte | 4 +++- 3 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 .changeset/strange-kiwis-watch.md diff --git a/.changeset/strange-kiwis-watch.md b/.changeset/strange-kiwis-watch.md new file mode 100644 index 00000000..2d6a46af --- /dev/null +++ b/.changeset/strange-kiwis-watch.md @@ -0,0 +1,5 @@ +--- +"@nuster/ui": patch +--- + +feat: websocket default url is current page Origin diff --git a/packages/ui/README.md b/packages/ui/README.md index 52626131..c5b26f6e 100644 --- a/packages/ui/README.md +++ b/packages/ui/README.md @@ -8,11 +8,11 @@ Interact with `@nuster/turbine`. Use the environment variables to connect to turbine. -| Environement variable name | value expected | Default value | Description | -| -------------------------- | -------------- | ---------------- | ---------------------------------- | -| TURBINE_ADDRESS | `host:port` | `localhost:4080` | Turbine api address | -| TURBINE_WS_ADDRESS | `host:port` | `localhost:4080` | Turbine realtime websocket address | -| PORT | `number` | `4081` | Port on which app is served | +| Environement variable name | value expected | Default value | Description | +| -------------------------- | -------------- | ------------------- | ---------------------------------- | +| TURBINE_ADDRESS | `host:port` | `localhost:4080` | Turbine api address | +| TURBINE_WS_ADDRESS | `host:port` | Current page Origin | Turbine realtime websocket address | +| PORT | `number` | `4081` | Port on which app is served | ## Getting Started diff --git a/packages/ui/src/routes/(connected)/+layout.svelte b/packages/ui/src/routes/(connected)/+layout.svelte index 19bcbedc..5d4cb4f2 100644 --- a/packages/ui/src/routes/(connected)/+layout.svelte +++ b/packages/ui/src/routes/(connected)/+layout.svelte @@ -44,11 +44,13 @@ const realtimeConnect = async () => { + if(!browser) return; + websocketState = "connecting"; const isSecure = window.location.protocol === "https:"; - websocket = new WebSocket(`${isSecure ? "wss": "ws"}://${data.websocketAddress || 'localhost:4080'}/ws/`); + websocket = new WebSocket(`${isSecure ? "wss": "ws"}://${data.websocketAddress || new URL(window.origin).host}/ws/`); websocket.onerror = function() { websocketState = "disconnected"; From 4c5f2a5784c5c2dd79c2021b4d7701d88dd7395a Mon Sep 17 00:00:00 2001 From: Kworz Date: Tue, 28 May 2024 21:59:46 +0200 Subject: [PATCH 2/4] maintenance reset sends scroll to top --- .changeset/lucky-crabs-scream.md | 5 +++++ .../routes/(connected)/maintenances/[id]/+page.server.ts | 2 +- .../src/routes/(connected)/maintenances/[id]/+page.svelte | 8 ++++++-- 3 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 .changeset/lucky-crabs-scream.md diff --git a/.changeset/lucky-crabs-scream.md b/.changeset/lucky-crabs-scream.md new file mode 100644 index 00000000..eb0a9598 --- /dev/null +++ b/.changeset/lucky-crabs-scream.md @@ -0,0 +1,5 @@ +--- +"@nuster/ui": patch +--- + +feat: when maintenance is cleared, scroll is send to top diff --git a/packages/ui/src/routes/(connected)/maintenances/[id]/+page.server.ts b/packages/ui/src/routes/(connected)/maintenances/[id]/+page.server.ts index 63f2a640..be1f631a 100644 --- a/packages/ui/src/routes/(connected)/maintenances/[id]/+page.server.ts +++ b/packages/ui/src/routes/(connected)/maintenances/[id]/+page.server.ts @@ -25,7 +25,7 @@ export const actions = { const clearRequest = await fetch(`http://${env.TURBINE_ADDRESS}/v1/maintenances/${maintenanceName}`, { method: "DELETE" }); - if(clearRequest.status !== 200 || clearRequest.ok) + if(clearRequest.status !== 200 || !clearRequest.ok) return fail(500, { clearMaintenance: { error: "Failed to clear maintenance" }}); return { clearMaintenance: { success: true }}; diff --git a/packages/ui/src/routes/(connected)/maintenances/[id]/+page.svelte b/packages/ui/src/routes/(connected)/maintenances/[id]/+page.svelte index 08b36d1b..6c6ec755 100644 --- a/packages/ui/src/routes/(connected)/maintenances/[id]/+page.svelte +++ b/packages/ui/src/routes/(connected)/maintenances/[id]/+page.svelte @@ -7,10 +7,14 @@ import MaintenanceImageParser from "$lib/components/markdown/MaintenanceImageParser.svelte"; import Button from "$lib/components/buttons/Button.svelte"; import { enhance } from "$app/forms"; - import type { PageData } from "./$types"; + import type { ActionData, PageData } from "./$types"; import Wrapper from "$lib/components/Wrapper.svelte"; export let data: PageData; + export let form: ActionData; + + $: if(form?.clearMaintenance.success === true) { document.getElementsByTagName("main").item(0)?.scrollTo({ top: 0, behavior: "smooth" }); form = null; } + @@ -19,7 +23,7 @@

{$_('maintenance.tasks.' + data.maintenance.name + '.desc')}

{#if data.maintenance.operationDate} -

+

{$_('maintenance.last_operation')}: {$date(new Date(data.maintenance.operationDate), { format: "medium"})} — {$time(new Date(data.maintenance.operationDate), { format: "medium"})}

From 8eff2823b776864535f474f62c92d26f562697fa Mon Sep 17 00:00:00 2001 From: Kworz Date: Tue, 28 May 2024 22:03:38 +0200 Subject: [PATCH 3/4] patch cycle if you click back on its selectable button --- .changeset/stale-games-fry.md | 5 +++++ packages/ui/src/routes/(connected)/+page.svelte | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .changeset/stale-games-fry.md diff --git a/.changeset/stale-games-fry.md b/.changeset/stale-games-fry.md new file mode 100644 index 00000000..0bbc4032 --- /dev/null +++ b/.changeset/stale-games-fry.md @@ -0,0 +1,5 @@ +--- +"@nuster/ui": patch +--- + +fix: cycle is now patched if you click back on the same cycle diff --git a/packages/ui/src/routes/(connected)/+page.svelte b/packages/ui/src/routes/(connected)/+page.svelte index 2fd932d8..684d338a 100644 --- a/packages/ui/src/routes/(connected)/+page.svelte +++ b/packages/ui/src/routes/(connected)/+page.svelte @@ -24,6 +24,7 @@ let selectedPremadeIndex: number | undefined = undefined; let cycleData: ProgramBlockRunnerHydrated | undefined; let listShrinked = false; + let pathCycleButton: HTMLButtonElement; /// — Reactives statements $: if(form !== undefined && form?.patchCycle?.success === true) { cycleData = undefined; selectedPremadeIndex = undefined; } @@ -61,13 +62,17 @@ {#each data.cyclePremades as premade, index} {@const isPrimaryPremade = premade.cycle === "default"} +
+