- Removed unnecessary parameters from the domain verification instructions in the CustomDomainCard component.
- Simplified the hostname normalization function by eliminating checks for server-side rendering.
- Updated localization strings to remove references to TXT token requirements for domain binding, streamlining the user experience.
Signed-off-by: Innei <tukon479@gmail.com>
- Enhanced AGENTS.md to provide a more detailed description of the dashboard's design aesthetic, emphasizing a linear, data-first approach.
- Updated UI design guidelines in the dashboard to reflect a clearer description of the design principles, focusing on simplicity and clarity.
- Improved domain verification instructions in the CustomDomainCard and DomainListItem components, ensuring better user guidance for DNS setup.
- Added new localization keys for improved clarity in domain verification steps and UI elements.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced new helper functions for string and date normalization, enhancing input validation across various services.
- Updated SiteSettingService and SystemSettingService to utilize the new normalization functions for improved data handling.
- Refactored existing code to replace custom normalization logic with the new helper methods, ensuring consistency and reducing redundancy.
- Enhanced localization files to support new error messages related to normalization.
Signed-off-by: Innei <tukon479@gmail.com>
- Added new UI schema for managing storage plans, including catalog, pricing, and product configurations.
- Introduced StoragePlanService to handle storage plan operations and integrate with existing billing services.
- Updated SuperAdmin settings to include managed storage provider configurations.
- Enhanced localization files with new keys for storage plan management.
- Implemented API endpoints for fetching and updating storage plans.
Signed-off-by: Innei <tukon479@gmail.com>
- Added a new endpoint in SuperAdminTenantController to fetch tenant photos.
- Introduced TenantDetailModal for displaying tenant details and associated photos.
- Created TenantUsageCell component to visualize tenant usage metrics.
- Updated localization files to include new keys for tenant photo management.
- Enhanced SuperAdminTenantManager to support modal interactions for tenant details.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new TenantDomainRepository and TenantDomainService to handle domain-related operations.
- Added endpoints in TenantController for listing, requesting, verifying, and deleting custom domains.
- Implemented domain verification logic with CNAME and TXT record support.
- Enhanced UI components for domain management, including CustomDomainCard and DomainListItem.
- Updated localization files to include new keys for domain management features.
Signed-off-by: Innei <tukon479@gmail.com>
- Added support for new storage providers including Backblaze B2 and GitHub.
- Introduced a new UI schema for storage provider configuration, allowing for better user experience.
- Updated localization files to include new keys for storage provider fields and usage metrics.
- Refactored existing storage provider logic to accommodate new categories and improve overall structure.
Signed-off-by: Innei <tukon479@gmail.com>
- Added StaticAssetHostService to manage static asset host resolution with caching.
- Updated StaticAssetService and StaticDashboardService to utilize the new static asset host resolver.
- Enhanced StaticWebController to pass request host information for improved asset handling.
- Refactored static asset interfaces to support new functionality.
- Integrated CORS headers and cache policies for better asset management.
Signed-off-by: Innei <tukon479@gmail.com>
- Integrated `useTranslation` from `react-i18next` across various components for localization.
- Updated navigation, settings, and photo management components to utilize translation keys for labels and descriptions.
- Refactored error messages and user prompts to support multiple languages.
- Improved user experience by ensuring all relevant text is translatable, enhancing accessibility for non-English users.
Signed-off-by: Innei <tukon479@gmail.com>
- Added i18next and react-i18next for localization support.
- Created i18n configuration in `src/i18n.ts` and set up language detection.
- Introduced `I18nProvider` to manage i18n context and resource updates.
- Added localization files for English and Chinese (Simplified) with necessary translations.
- Updated `ErrorElement` component to utilize translations for error messages.
- Enhanced dashboard documentation with i18n usage guidelines.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new tag filtering mode with options for 'union' and 'intersection'.
- Added Checkbox and Switch components for user interface interactions.
- Updated the FilterPanel to include tag filter mode selection.
- Enhanced photo filtering logic to accommodate the new tag filter mode.
- Updated localization files to include new tag filter labels.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new FilterPanel component for selecting tags, cameras, and lenses.
- Updated gallery settings to include selected cameras and lenses.
- Enhanced photo filtering logic to support camera and lens criteria.
- Updated UI to reflect changes in filtering options and improved user experience.
- Added localization for new filter options in English.
Signed-off-by: Innei <tukon479@gmail.com>
- Added Tailwind CSS plugins and configurations to improve styling across the application.
- Introduced new global styles and layout components for better structure and design consistency.
- Implemented a MasonryGallery component for responsive photo display.
- Enhanced photo item rendering with EXIF data and improved loading states.
- Updated package dependencies to include new Tailwind CSS utilities and components.
Signed-off-by: Innei <tukon479@gmail.com>
- Enhanced the ErrorElement component by adjusting the layout for better centering and added select-text class for improved text selection.
- Modified the HistogramChart component to accept a thumbnail URL instead of tone analysis, streamlining the data flow.
- Refactored the histogram calculation logic to improve performance and clarity, including compression of histogram data.
- Updated the manifest version from 'v2' to 'v3' across multiple files to reflect the new data structure.
Signed-off-by: Innei <tukon479@gmail.com>
- Added support for long press to play Live Photos on mobile devices.
- Implemented a ref for LivePhoto component to control play and stop actions.
- Updated localization files to include new strings for Live Photo playback status.
- Enhanced CSS styles to prevent text selection and improve layout consistency.
- Refactored ExifPanel and ProgressiveImage components for better integration with Live Photo features.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced multiple Vite plugins including `ogImagePlugin`, `feedSitemapPlugin`, `localesJsonPlugin`, and `manifestInjectPlugin` to enhance the build process and support dynamic content generation.
- Implemented a custom hot module replacement (HMR) for JSON localization files to improve development experience.
- Added a new `createDependencyChunksPlugin` for better chunk management in the build process.
- Established a structure for handling localization files and generating corresponding assets, improving internationalization support.
Signed-off-by: Innei <tukon479@gmail.com>
- Changed the icon color in the FloatingActionButton component from 'text-accent' to 'text-white' for better visibility.
- Removed the unused animation for the button's background when it is open, simplifying the component's rendering logic.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new localization entry for successful photo reactions, enhancing user feedback in the Chinese version of the app.
- This addition improves the overall user experience by providing clear confirmation of actions taken on photos.
Signed-off-by: Innei <tukon479@gmail.com>
- Refactored the database connection logic to utilize `neondatabase`, ensuring correct imports and type safety.
- Implemented atomic upsert operations in the views API, allowing for efficient insertion and updating of records using PostgreSQL's `ON CONFLICT` clause.
- Added new dependencies `ast-kit` and `unplugin-ast` for improved AST manipulation in the project.
- Enhanced the UI components with toast notifications for user feedback on reactions and improved styling with Tailwind CSS.
Signed-off-by: Innei <tukon479@gmail.com>
- Enhanced the ProgressiveImage component to utilize the new LoadingState enum for better loading state management.
- Updated the WebGLImageViewerEngine to notify loading states using the LoadingState enum, improving clarity in loading messages.
- Refactored spring animations to use the Transition type for better type safety.
- Updated localization files to include new loading messages for WebGL operations in both English and Chinese.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced ExifTool support by adding the '@uswriting/exiftool' package to manage EXIF metadata extraction.
- Updated ExifPanel component to conditionally render raw EXIF data based on ExifTool availability.
- Enhanced localization files to include new EXIF metadata categories and descriptions for better user experience across multiple languages.
- Added a new atom to manage the loading state of ExifTool, improving state management in the application.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated ExifPanel to use translation for tone analysis title.
- Improved HistogramChart by enhancing canvas resolution and rendering quality, including anti-aliasing and smoother histogram drawing.
- Added device pixel ratio handling for better display on high-DPI screens.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a comprehensive photo processing pipeline that integrates various processing steps including thumbnail generation, EXIF data extraction, and tone analysis.
- Modularized the photo handling logic into distinct files for better organization and maintainability.
- Added support for Live Photo detection and processing.
- Implemented a global logger system to streamline logging across different processing stages.
- Enhanced caching mechanisms for reusing existing data, improving performance and efficiency.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new HistogramChart component to visualize tone analysis data.
- Enhanced the ExifPanel to display tone analysis results, including brightness, contrast, shadow, and highlight ratios.
- Updated the formatExifData function to support tone analysis data.
- Implemented histogram compression and decompression logic for efficient data handling.
- Added localization support for new histogram-related terms in multiple languages.
Signed-off-by: Innei <tukon479@gmail.com>
- Improved the EXIF data extraction logic to include additional fields such as GPS references and color temperature settings.
- Updated the translation keys in localization files for various languages to reflect changes in EXIF data representation, including dynamic range and white balance settings.
- Refactored the formatting logic to ensure accurate display of GPS information and other EXIF attributes.
Signed-off-by: Innei <tukon479@gmail.com>
- Added `date-fns` library to manage date formatting.
- Enhanced `ExifPanel` to display additional EXIF data including artist, copyright, lens make, and scene capture type.
- Updated localization files to include new translation keys for the added EXIF fields.
Signed-off-by: Innei <tukon479@gmail.com>
- Implemented GPS data display in the ExifPanel, including latitude, longitude, and altitude.
- Added a link to view the GPS location on a map.
- Updated localization files for Japanese, Korean, and various Chinese dialects to include new GPS-related translation keys.
- Refactored EXIF data formatting to support GPS information extraction.
Signed-off-by: Innei <tukon479@gmail.com>
- Replaced `exif-reader` with `exiftool-vendored` for improved EXIF data processing.
- Updated related components to utilize the new `PickedExif` type for better type safety.
- Refactored EXIF data extraction and formatting logic to align with the new library's structure.
- Removed deprecated dependencies and cleaned up related code for better maintainability.
Signed-off-by: Innei <tukon479@gmail.com>
- Added 'zh-TW' (Traditional Chinese) to the list of supported languages.
- Included new localization file for Traditional Chinese with comprehensive translations.
- Updated existing language resources for Japanese and Korean to reflect changes in map view labels.
Signed-off-by: Innei <tukon479@gmail.com>
- Integrated translation keys for video conversion messages to improve accessibility across different languages.
- Updated conversion messages in the video conversion logic to utilize localized strings for better user experience.
- Added new translation entries in English, Japanese, Korean, and Chinese locales to support the updated video conversion features.
Signed-off-by: Innei <tukon479@gmail.com>
- Integrated i18next for translation in the LivePhoto component, providing localized tooltips and messages.
- Updated titles and conversion messages to utilize translation keys for better accessibility across different languages.
- Added new translation entries in English, Japanese, Korean, and Chinese locales to support the updated Live Photo features.
Signed-off-by: Innei <tukon479@gmail.com>
- Added i18next and react-i18next for multi-language support in the application.
- Created localization files for English, Japanese, Korean, Traditional Chinese, and Simplified Chinese.
- Implemented translation hooks in various components to replace hardcoded strings with translatable keys.
- Updated ESLint configuration to include new i18n JSON validation rules.
- Introduced a new event bus for handling i18n updates during development.
Signed-off-by: Innei <tukon479@gmail.com>