Skip to content

Feat/UI polish and i18n - #39

Merged
maosuarez merged 10 commits into
mainfrom
feat/ui-polish-and-i18n
Sep 27, 2026
Merged

maosuarez merged 10 commits into
mainfrom
feat/ui-polish-and-i18n

Conversation

@maosuarez

Copy link
Copy Markdown
Owner

name: Pull Request
about: Submit a change to CryptEnv

Summary

A concise description of what this PR does.

Closes #(issue number — delete if not applicable)

Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • 🔒 Security improvement
  • ♻️ Refactor (no functional changes)
  • 📖 Documentation
  • 🧪 Tests

What Changed

A brief description of the implementation approach and key decisions made.

Testing

How did you test this change?

  • cargo check passes
  • pnpm tauri dev runs without errors
  • Manual test of the affected feature
  • Tested on: (Windows / macOS / Linux)

Security Implications

Does this PR touch sensitive areas (crypto, API auth, MCP, secret handling)?
If yes, describe how the security model is maintained or improved.

Screenshots

For UI changes, include before/after screenshots.


PRs that touch src-tauri/src/crypto/ require extra review.
Do not include secrets, tokens, or real credentials anywhere in this PR.

maosuarez and others added 10 commits September 27, 2026 12:38
Expose system information (version, platform) via Tauri command for
dynamic display in UI footers and diagnostics.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PTvU5d3U1tb7DGCDhutiyt
…ight theme

Implement navigation history with goBack functionality across project
management, item editing, and settings flows. Add theming system with
light/dark mode toggle in Settings Appearance section. Integrate
system info (version, platform) in lock screen and settings footers
via useSystemInfo hook. Add theme-init.js for early theme detection
to prevent flash. Update CSS with light mode semantic tokens and
improved dark mode contrast.

Changes:
- Navigation store with history stack and goBack context
- Theme store with light/dark mode persistence
- useSystemInfo hook for version/platform display
- Back button integration in CategoryManager, EditItem, Settings
- Light theme tokens and dark mode contrast improvements
- theme-init.js for theme preload
- Updated component lifecycle for proper theme/nav initialization

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PTvU5d3U1tb7DGCDhutiyt
Add comprehensive i18n infrastructure with locale data files for
English (en), Spanish (es), and Portuguese (pt). Includes i18n utility
functions for loading locale strings and formatting dates/numbers
per locale. All UI strings across components now use translation keys
for seamless multi-language support.

Locales supported: en (English), es (Español), pt (Português)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PTvU5d3U1tb7DGCDhutiyt
…hange

Archive completed change 2026-09-27-ui-polish-and-i18n with full
planning artifacts (proposal, design decisions, task completion).
Sync desktop-ui capability specification into living specs documenting
UI standards, navigation patterns, theming, and localization support.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PTvU5d3U1tb7DGCDhutiyt
Add vault_touch command to refresh backend idle timer on frontend user
activity, preventing premature auto-lock during active work. Implement
project_create_from_templates with all-or-nothing scaffolding: creates
a project, its default environment, and one project-scoped secret item
per template variable, with rollback on failure. Emit vault_locked event
when backend auto-lock fires to sync frontend UI state. Update ProjectInput
to accept optional initial_environment name during project creation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PTvU5d3U1tb7DGCDhutiyt
…lpers

Add comprehensive catalog of 60+ project templates organized by kind:
runtimes & frameworks, databases, caches & queues, AI APIs, cloud & DevOps,
auth, payments & messaging, observability. Templates include variable names
and example values sourced from official project documentation. Implement
search, merge, dedup, and validation helpers for template selection and
scaffolding. Include vitest coverage for catalog and merge logic.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PTvU5d3U1tb7DGCDhutiyt
…n lock messages

Add translations for template picker UI (search, group headers, selection
count, clear, no results), template variable review step, inline category
creation, environment presets with capitalized labels, session lock message,
and environment variable key input helper text. Support English, Spanish,
and Portuguese with localized preset labels and context-appropriate strings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PTvU5d3U1tb7DGCDhutiyt
…recovery

Replace single-select template modal with searchable multi-select TemplatePicker
and TemplateVarsReview step for editable scaffolding. Add EnvPresetOptions
component with capitalized, localized preset names. Implement reportError
to distinguish vault-lock errors (redirect to lock screen) from other errors
(toast). Add handleCreateCategory for inline category creation. Throttle
vault_touch on user interactions to prevent premature auto-lock. Add
isVaultLockedError detection and lockedByBackend handler in vault store.
Listen to vault_locked event in App to sync frontend UI with backend.
Update ProjectManager with initial environment input, centered environment
header, and prominent KEY_NAME input styling. Include TagInput.test.tsx.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PTvU5d3U1tb7DGCDhutiyt
…v-ui-improvements changes and sync specs

Archive completed OpenSpec changes under openspec/changes/archive/:
- 2026-09-27-multi-select-project-templates/: template catalog, picker, and scaffolding
- 2026-09-27-project-env-ui-improvements/: lock sync, error recovery, and UI polish

Sync delta specs into living capability specs:
- New: openspec/specs/project-templates/spec.md (template catalog and scaffolding)
- Updated: openspec/specs/desktop-ui/spec.md (lock sync, category creation, initial env)

Note: Manual Windows E2E verification for both changes is still pending.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PTvU5d3U1tb7DGCDhutiyt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PTvU5d3U1tb7DGCDhutiyt
@maosuarez
maosuarez merged commit 3eed169 into main Sep 27, 2026
7 checks passed
@maosuarez
maosuarez deleted the feat/ui-polish-and-i18n branch September 27, 2026 20:10
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