Commit Graph
4 Commits
Author SHA1 Message Date
Christoph baa226d536 fix(file-history-dialog): prevent long paths from displacing header controls
Constrain the dialog header/body layout so very long file paths don't push
or wrap the dialog controls. Results: the title is truncated with an
ellipsis but the full name is available on hover.

- CSS: add grid-template-columns and min-width:0 to dialog/body; force
  unified-dialog-header to avoid wrapping and set unified-dialog-text
  flex-basis:0; truncate h2 with overflow/ellipsis.
- Svelte: add a title attribute to the h2 so the full filename is shown
  on hover.
2026-09-22 11:28:45 +02:00
Christoph 096f62907c feat(file-history): mark latest history entry identical to working tree
Annotate file history entries with matches_working_tree and surface that
information in the UI so the most recent commit can be identified as
"current version" when its content equals the working tree.

- Backend: add FileHistoryCommit and annotate_file_history(...) which checks
  (only for regular files) whether the newest commit's blob matches the
  working tree via `git diff --quiet`. list_file_history now returns the
  annotated commits.
- Types: add optional matches_working_tree to GitCommit shape used by the UI.
- UI: show a "Current version"/"Aktueller Stand" badge and disable Diff/Restore
  actions for entries that match the working tree (text localized for de/en).

Also add a test that verifies the matching behavior across file edits,
staging, committing and deletion. No external API breaking changes.
2026-09-18 20:20:46 +02:00
Christoph d26d2ac982 refactor(dialogs): add unified dialog header chrome and opt-in markup
Introduce a shared dialog header style (.unified-dialog-header) in app.css and opt dialog components into the new chrome by updating their header markup. Headers now use unified-dialog-icon and unified-dialog-text elements (and import the matching Lucide icons where needed), which standardizes icon placement, title/eyebrow layout, close button styling and responsive behavior. The Command Palette layout was adjusted to include the new header and its grid rows.

The CSS is explicitly opt-in (so page/section headers remain unchanged) and includes hover/focus styles and a theme-sensitive close color variable. This commit is a UI refactor only — no API or behavior logic changes.
2026-09-11 22:50:31 +02:00
Christoph 41f474f1eb feat(dialog): add file history dialog component 2026-08-04 18:41:19 +02:00