Skip to content

Persist entry list view mode and dictionary preview pin per project#2284

Draft
myieye wants to merge 3 commits into
developfrom
claude/persist-list-view-mode-6E89l
Draft

Persist entry list view mode and dictionary preview pin per project#2284
myieye wants to merge 3 commits into
developfrom
claude/persist-list-view-mode-6E89l

Conversation

@myieye
Copy link
Copy Markdown
Collaborator

@myieye myieye commented May 21, 2026

Summary

  • Persists the entry list view mode (simple / preview) per project so it survives reloads.
  • Persists the dictionary preview state (show / hide / sticky) per project, including the pin toggle.
  • Both use the existing ProjectStorage infrastructure (project-scoped localStorage via IPreferencesService).

Implementation

  • Added entryListViewMode and dictionaryPreview props to ProjectStorage.
  • In BrowseView.svelte and EntryView.svelte, the preference is read via $derived from the storage prop's reactive current, with a fallback default and type guard. Writes go through Svelte 5's function-pair bind:foo={getter, setter} syntax — no effects or init flags needed.

Test plan

  • Open a project, switch entry list to Preview, reload — list still in Preview.
  • Pin the dictionary preview, reload — still pinned.
  • Toggle dictionary preview to Hide, reload — still hidden.
  • Verify a different project keeps its own setting independently.

https://claude.ai/code/session_01XwVXy1GdK7kKAbbfhxKTp2


Generated by Claude Code

claude added 3 commits May 20, 2026 15:14
…ject

Stores entryListViewMode (simple/preview) and dictionaryPreview (show/hide/sticky)
in project-scoped localStorage so they survive page refreshes.

https://claude.ai/code/session_01XwVXy1GdK7kKAbbfhxKTp2
Use single $effect with untrack for one-time init from storage,
matching the pattern in TasksView. Non-reactive loaded flag prevents
persisting before the stored value has been read.

https://claude.ai/code/session_01XwVXy1GdK7kKAbbfhxKTp2
Read the preference directly via $derived from storage, and pass the
setter through Svelte 5's bind:foo={getter, setter} syntax. Removes
the init effect, persist effect, and loaded flag.

https://claude.ai/code/session_01XwVXy1GdK7kKAbbfhxKTp2
@github-actions github-actions Bot added the 💻 FW Lite issues related to the fw lite application, not miniLcm or crdt related label May 21, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

UI unit Tests

  1 files  ±0   59 suites  ±0   29s ⏱️ -1s
176 tests ±0  176 ✅ ±0  0 💤 ±0  0 ❌ ±0 
245 runs  ±0  245 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit d27916d. ± Comparison against base commit e362dd4.

♻️ This comment has been updated with latest results.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 21, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: ea74ab83-4b65-469f-aca9-1f2ee239e325

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/persist-list-view-mode-6E89l

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@argos-ci
Copy link
Copy Markdown

argos-ci Bot commented May 21, 2026

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) ✅ No changes detected - May 21, 2026, 6:56 AM

@github-actions
Copy link
Copy Markdown
Contributor

C# Unit Tests

165 tests   165 ✅  20s ⏱️
 23 suites    0 💤
  1 files      0 ❌

Results for commit d27916d.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💻 FW Lite issues related to the fw lite application, not miniLcm or crdt related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants