Skip to content

feat: update docker config (#4)#5

Merged
bitxwave merged 1 commit into
masterfrom
fix/qb_auth
Nov 21, 2022
Merged

feat: update docker config (#4)#5
bitxwave merged 1 commit into
masterfrom
fix/qb_auth

Conversation

@bitxwave
Copy link
Copy Markdown
Owner

No description provided.

@bitxwave bitxwave merged commit 5460d3e into master Nov 21, 2022
@bitxwave bitxwave deleted the fix/qb_auth branch November 21, 2022 15:01
bitxwave pushed a commit that referenced this pull request Nov 23, 2022
bitxwave pushed a commit that referenced this pull request Nov 23, 2022
bitxwave pushed a commit that referenced this pull request Nov 23, 2022
bitxwave added a commit that referenced this pull request Nov 23, 2022
feat: update docker config (#4) (#5)
bitxwave pushed a commit that referenced this pull request Apr 14, 2023
bitxwave added a commit that referenced this pull request May 20, 2026
…ch + ContextMenu

User feedback after first Docker dry-run:

1. Search bar now truly viewport-centered: header grid columns
   1fr/auto/1fr (was auto/1fr/auto), with explicit justify-content
   on .left/.right.
2. Region (SiteSelect) menu fixed: Menu's window-click-outside used
   onclick on the same event flow that opened it, immediately closing.
   Switched to mousedown listener attached inside $effect with a
   one-tick "armed" guard. NavItem ContextMenu also benefits — Edit
   menu item now actually fires the dialog (verified end-to-end).
3. Favorite star button hidden in edit mode (fav UX is read-only mode
   only; editing has its own context menu/dialog).
4. (was: 只能新建不能编辑) — same Menu fix above; right-click NavItem →
   Edit → ItemEditDialog opens with target pre-filled. Verified.
7. Restored the warm-coral × cool-indigo radial gradient as ambient
   #root background, and made Header/Footer frosted glass via
   color-mix surface + backdrop-filter blur, so they sit on top of
   the gradient without clashing. Dark theme uses violet/indigo
   gradient.

Verified via headless Playwright: site switch, fav hidden in edit,
right-click → Edit → dialog with pre-filled name all pass.

Out of scope, deferred to next round (per user list):
- #5 layout mode (flat vs grouped) with backend config UI
- #6 drag-drop reorder
bitxwave added a commit that referenced this pull request May 20, 2026
… reorder

Round 2 of UX feedback (#5 + #6):

#5 Layout mode (backend-configurable)
- server/src/dto.rs: Meta gains layout_mode: String (camelCase wire).
- server/src/services/bundle.rs: read config["layout_mode"], default "grouped".
- web/src/lib/types/nav.ts: MetaSchema layoutMode = z.enum(['grouped','flat']).catch('grouped').
- web/src/lib/stores/visible.ts: visibleFlatItems (derived flatten of sections),
  layoutMode (derived from bundle.meta).
- web/src/routes/+page.svelte: branch on $layoutMode → NavGrid (flat) vs
  GroupSection per group (grouped).
- web/src/lib/components/Editor/SettingsDialog.svelte (new): radio group for
  layout, PATCH /api/config + navDataStore.refetch().
- web/src/lib/components/Header/AuthControls.svelte: ⚙ Settings IconButton +
  refactor 🔑 to IconButton (so aria-label is set; previous Button-based 🔑
  had no accessible name).

#6 Drag-and-drop reorder
- web/package.json: + svelte-dnd-action ^0.9.69
- web/src/lib/api/nav.ts: + reorderItems(entries) + patchConfig(pairs).
- web/src/lib/components/Nav/NavGrid.svelte: in edit mode, wrap grid with
  dndzone; on finalize, optimistic update navDataStore + POST /api/items/reorder;
  rollback on error. dragDisabled = !$editModeStore (unauthed/read-only).
- web/src/lib/components/Nav/GroupSection.svelte: pass groupId through to
  NavGrid so reorder payload is correct per-group.

Verified end-to-end via Playwright:
  - default = grouped (4 group headers visible)
  - login → ⚙ Settings → switch flat → save → page now single grid of 17 items
  - switch back to grouped → 4 group headers return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant