Repository navigation
feat(ui): prefer inline interactions over modals (v1.13) - #37
Merged
Merged
Conversation
Host principle: the system should minimize modals/popups — they interrupt flow, occlude context, hurt on mobile, and invite modal-in-modal nesting that is hard to maintain. This change: - docs/user-stories.md v1.13: new §1.1 "UI 约定:尽量少用弹窗" — prefer inline interactions (inline expanding forms, collapsible panels, in-place edit); modals only for genuinely focus/blocking actions (e.g. delete confirm); no modal nesting; replacement patterns listed; legacy modal inventory with P0/P1/P2 refactor priorities - ui/README.md: same principle + modal inventory synced - Convert dept add/edit from the dept-modal (introduced Cycle 400 per rant 10:59:47) to an inline expanding card (#dept-form-card) in the org pane — high-frequency path per the priority list; keeps the reliable click response (no window.prompt), just without a modal - The listing form (#share-form-card) was already an inline expanding card; confirmed in docs Refs: rant 2026-08-17T14:34:19 (UI 设计原则 — 尽量少用弹窗 / modal)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Establish the "prefer inline interactions over modals" UI principle and convert a high-frequency path to inline.
Host feedback: the system should minimize modals/popups — they interrupt the operation flow, occlude context, are worse on mobile, and enable modal-in-modal nesting that is hard to maintain.
Rant reference
Host instruction (rant
2026-08-17T14:34:19, UI 设计原则 — 尽量少用弹窗 / modal):Changes
docs/user-stories.mdbumped to v1.13 — new §1.1 UI 约定:尽量少用弹窗:ui/README.md: same principle + modal inventory synced; stale "部门弹层 modal" wording updatedui/index.html+ui/js/app.js: dept add/edit converted from thedept-modaloverlay (introduced in Cycle 400) to an inline expanding card (#dept-form-card) in the org pane — same reliable no-prompt interaction, no modal. The listing form (#share-form-card) was already an inline expanding card; confirmed.Verification
dept-modal|openDeptModalin ui/ → zero matches;modal-overlaycount = 3 (chat/topup/raise, all marked P1/P2 in docs)node --check ui/js/app.jspassescargo testpasses (1 passed)cargo fmt --checkpasses