memos/proto/api/v1
Steven 81da20c905 refactor: simplify theme/locale to user preferences and improve initialization
Remove theme and locale from instance settings to eliminate duplication and
simplify the codebase. These are user-specific preferences and should only
exist in user settings, not instance-wide settings.

Backend changes:
- Remove theme from InstanceGeneralSetting proto
- Remove locale from InstanceCustomProfile proto
- Update instance service converters to remove theme/locale handling
- Simplify RSS feed to use static locale

Frontend changes:
- Remove theme/locale from instanceStore state
- Create unified initialization flow with clear fallback priority:
  * Theme: user setting → localStorage → system preference
  * Locale: user setting → browser language
- Add applyUserPreferences() to centralize theme/locale application
- Simplify App.tsx by removing redundant state synchronization
- Update all components to use new helper functions:
  * getThemeWithFallback() for theme resolution
  * getLocaleWithFallback() for locale resolution
- Remove theme/locale selectors from instance profile dialog

Theme utilities refactor:
- Organize code into clear sections with JSDoc comments
- Extract localStorage operations into getStoredTheme/setStoredTheme helpers
- Split DOM manipulation into focused functions
- Improve type safety with Theme and ResolvedTheme types
- Reduce code duplication and improve maintainability

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 09:08:46 +08:00
..
README.md chore: update demo site 2025-02-27 23:05:43 +08:00
activity_service.proto refactor(api): migrate inbox functionality to user notifications 2025-10-31 08:33:09 +08:00
attachment_service.proto feat: migrate dialogs 2025-07-06 22:01:55 +08:00
auth_service.proto feat(auth): add PKCE support and enhance OAuth security 2025-12-01 00:04:26 +08:00
common.proto refactor: renovate list memos endpoint 2025-02-02 18:43:26 +08:00
idp_service.proto chore: standardize and improve API structure (#5224) 2025-11-05 22:36:51 +08:00
instance_service.proto refactor: simplify theme/locale to user preferences and improve initialization 2025-12-02 09:08:46 +08:00
memo_service.proto refactor(api): remove DeleteMemoTag and RenameMemoTag endpoints 2025-10-29 23:32:47 +08:00
shortcut_service.proto refactor: clean unused fields 2025-06-23 22:55:14 +08:00
user_service.proto refactor(api): migrate inbox functionality to user notifications 2025-10-31 08:33:09 +08:00

README.md

Memos API Design

This API design should follow the guidelines and best practices outlined in the Google API Improvement Proposals (AIPs).