From 34b38dd5d576e5da4fd98c99e8dc7686dec69a7b Mon Sep 17 00:00:00 2001 From: Kamil Krzywda Date: Sun, 20 Sep 2026 13:17:33 +0000 Subject: [PATCH] =?UTF-8?q?Right=20pane=20width=20matches=20left=20pane:?= =?UTF-8?q?=20280=E2=86=92360px=20+=20toast=20offset=20(ISS-046)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 3 +++ app/globals.css | 10 +++++----- package.json | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 95068ed..781b93c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## v0.27.1 — 2026-09-20 13:16 +- Right pane widened from 280px to 360px to match the left pane; toast stack offset adjusted to stay flush with the map's right edge (ISS-046). + ## v0.27.0 — 2026-09-20 12:27 - **Packages now have real weight (ISS-045).** New `weight_kg REAL NOT NULL DEFAULT 2000` column on `packages` (`lib/db/schema.ts`, DDL + guarded `ALTER TABLE` migration in `lib/db/client.ts`; pre-existing rows backfill to the mid-range default). `generatePackage` draws it AFTER cargoCount: `UNIT_WEIGHT_KG[cargoType] × cargoCount × (0.7 + 0.6·rng())`, rounded to integer kg — one extra RNG draw per package, so the documented fixed draw order is now origin, dest, cargoType, cargoCount, weight jitter, [deadline window]. New tunable table `UNIT_WEIGHT_KG` in `lib/game/seed.ts` (Passengers 50 / Mail 60 / Perishables 70 / Electronics 40 / Auto parts 72 kg per passenger/pallet), chosen so every cargo type at MAX count × max jitter (1.3×) still fits the ATR alone and typical packages land ~400–2500 kg - **Plane capacity is now max payload kg, not 6 slots (ISS-045).** `capacity` REMOVED from `PlaneType`/`CatalogEntry`/snapshot catalog; replaced by `maxPayloadKg` — ATR 72-600 = 4800 kg (`lib/game/catalog.ts`). Server load validation (`loadPackage`, `lib/game/actions.ts`) now sums `weightKg` over the plane's loaded+expired packages and 409s with `no payload room: the ATR 72-600 carries X/Y kg` when the new package doesn't fit; expired cargo still occupies its payload. Client mirrors it: `slotsUsedFor` → `cargoWeightFor(state, planeId)` (summed kg) in `components/RightPane.tsx`, and `loadEligiblePlanes` compares used + package weight ≤ catalog maxPayloadKg so the Load button state always matches what the server accepts diff --git a/app/globals.css b/app/globals.css index ceeec55..f5c45f5 100644 --- a/app/globals.css +++ b/app/globals.css @@ -103,11 +103,11 @@ body { } /* v0.9.0 — single-screen 3-pane shell: left Assets / center map / right Jobs & Market. - ISS-021 (v0.20.0): left widened to 360px (it now carries the On board section), right - narrowed to 280px — total fixed width stays 640px, so the map column is unchanged. */ + ISS-021 (v0.20.0): left widened to 360px (it now carries the On board section). + ISS-046 (v0.27.1): right widened to match left at 360px — total fixed width 720px, map column shrinks by 80px. */ .app-shell { display: grid; - grid-template-columns: 360px minmax(0, 1fr) 280px; + grid-template-columns: 360px minmax(0, 1fr) 360px; height: 100%; } @@ -444,8 +444,8 @@ body { .toasts { position: fixed; bottom: 12px; - /* 280px right pane + 12px inset — sits flush against the map's right edge, clear of the right pane */ - right: 292px; + /* 360px right pane + 12px inset — sits flush against the map's right edge, clear of the right pane */ + right: 372px; z-index: 50; /* above map popups/controls and the app header */ display: flex; flex-direction: column; diff --git a/package.json b/package.json index 8954ca2..8613b47 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "flight-ops", - "version": "0.27.0", + "version": "0.27.1", "private": true, "scripts": { "dev": "next dev -p 3000",