- Added site configuration injection to the document for dynamic site settings.
- Updated photo navigation links to include the correct path structure.
- Introduced a new page for displaying individual photos with enhanced viewer functionality.
- Refactored various components to utilize the new site configuration and improve code organization.
Signed-off-by: Innei <tukon479@gmail.com>
- Upgraded pnpm from version 10.18.1 to 10.19.0.
- Downgraded @uswriting/exiftool from version 1.0.5 to 1.0.3 in multiple package.json files.
- Updated various packages in pnpm-lock.yaml to their latest beta versions, including rolldown and related bindings.
- Adjusted TypeScript configuration in apps/ssr to change JSX setting from "react-jsx" to "preserve".
- Modified loading animations in UI components to include a duration of 1000ms for smoother transitions.
Signed-off-by: Innei <tukon479@gmail.com>
- Upgraded the package manager to pnpm@10.17.1 in package.json files for apps and packages.
- Updated eslint-plugin-react-refresh to version 0.4.21 in packages/docs/package.json.
- Upgraded typescript-eslint and vite to versions 8.44.1 and 7.1.7 respectively in packages/docs/package.json.
- Ensured consistency in package versions across the project.
Signed-off-by: Innei <tukon479@gmail.com>
- Upgraded various dependencies across the project, including dotenv, eslint, prettier, and typescript.
- Updated package versions in package.json and pnpm-lock.yaml for better compatibility and performance.
- Adjusted tailwindcss and related plugins to the latest versions.
- Enhanced the S3 client configuration in the builder package.
- Fixed import statements in CSS files to use @import instead of @plugin for tailwindcss-safe-area.
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>
- Added a `reposition` method to the Masonry component, allowing for dynamic layout adjustments.
- Updated MasonryRoot to utilize the new ref for repositioning when photos change.
- Introduced a new script command "web" in package.json for easier development with Vite.
Signed-off-by: Innei <tukon479@gmail.com>
- Added PWA support using vite-plugin-pwa, including configuration for service worker and caching strategies.
- Updated index.html to include necessary meta tags for iOS Safari PWA support.
- Changed references from site.webmanifest to manifest.webmanifest for consistency.
- Removed redundant manifest generation from the favicon script, as it is now handled by vite-plugin-pwa.
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>
- Added Thumbhash component to replace Blurhash in PhotoViewer and PhotoMasonryItem for enhanced image loading performance.
- Updated the manifest version from 'v4' to 'v5' across multiple files to reflect the new data structure.
- Introduced thumbHash generation in the image processing pipeline, ensuring compatibility with existing thumbnail logic.
- Updated package dependencies to include thumbhash version 0.1.1.
Signed-off-by: Innei <tukon479@gmail.com>
- Added `react-error-boundary` dependency to enhance error management in the application.
- Wrapped `Blurhash` components in `ErrorBoundary` to gracefully handle rendering errors in the gallery and debug pages.
- Updated `pnpm-lock.yaml` and `package.json` to include the new dependency version.
Signed-off-by: Innei <tukon479@gmail.com>
- Added a new analysis API endpoint to aggregate view and reaction data based on a reference key.
- Introduced DTOs for type safety in the analysis API.
- Integrated SWR for data fetching in the PhotoViewer component, improving reaction handling and user feedback.
- Replaced the previous reaction handling logic with a more efficient approach using the new analysis API.
- Updated the package.json to include the @lobehub/fluent-emoji dependency for enhanced emoji support.
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>
- Added a new FloatingActionButton component to provide quick access to various actions in the gallery.
- Integrated animation effects for button visibility and action selection.
- Updated MasonryRoot to include the FloatingActionButton, allowing for dynamic action handling based on user interactions.
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 mp4-muxer dependency to facilitate MP4 video conversion.
- Updated video conversion logic to utilize WebCodecs API for improved performance and reliability.
- Enhanced ExifPanel layout by adjusting grid spacing and item alignment for better visual consistency.
Signed-off-by: Innei <tukon479@gmail.com>
- Bumped versions of several packages including zod (3.25.63), tailwindcss (4.1.10), tsx (4.20.2), and others to their latest releases for improved performance and security.
- Updated @types/node and @types/react to 24.0.1 and 19.1.8 respectively in various package.json files to ensure compatibility with the latest TypeScript features.
- Adjusted dependencies in the builder and webgl-viewer packages to reflect the latest versions.
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>
- Updated repository URLs in package.json and README.md to reflect the new project name.
- Changed project names in wrangler.jsonc files for SSR and web applications.
- Added "Afilmory" to the cSpell dictionary in VSCode settings.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated @types/node version from 22.15.31 to 24.0.0 in pnpm-lock.yaml, apps/ssr/package.json, and apps/web/package.json.
- Enhanced font loading in web application by adding preconnect links for Google Fonts and applying the 'Geist' font family in index.html and tailwind.css.
Signed-off-by: Innei <tukon479@gmail.com>
- Added avatar configuration to the author section in config.example.json and README.md.
- Integrated @radix-ui/react-avatar package for avatar rendering in the MasonryHeaderMasonryItem component.
- Updated pnpm-lock.yaml and package.json to include @radix-ui/react-avatar dependency.
- Removed loading text from index.html for a cleaner UI.
- Adjusted photo-loader.ts to use the workdir for manifest path.
Signed-off-by: Innei <tukon479@gmail.com>
- Refactored the HTML template in `index.html` to use EJS-style placeholders for dynamic title and description.
- Added `vite-plugin-html` to the project for improved HTML handling and dynamic content injection during the build process.
- Updated `vite.config.ts` to configure the HTML plugin for minification and data injection.
- Adjusted `package.json` to include the new `vite-plugin-html` dependency.
Signed-off-by: Innei <tukon479@gmail.com>
- Added a new package `@photo-gallery/data` to manage photo data and metadata.
- Updated various components to utilize the new photoLoader from the data package.
- Adjusted dependencies in `pnpm-lock.yaml` and `package.json` files to include the new package.
- Refactored imports across the application to streamline photo data access.
Signed-off-by: Innei <tukon479@gmail.com>
- Changed the repository URL in package.json and apps/web/package.json to reflect the new GitHub location.
- Removed StrictMode wrapper from the main.tsx file to streamline rendering of the RouterProvider component.
- Updated ActionGroup component to use dynamic repository URL for GitHub link.
Signed-off-by: Innei <tukon479@gmail.com>
- Added react-freeze package to manage component rendering during state changes.
- Wrapped ScrollArea in Freeze component to prevent unnecessary re-renders when the gallery is closed.
- Updated package.json and pnpm-lock.yaml to include react-freeze version 1.0.4.
Signed-off-by: Innei <tukon479@gmail.com>
- Upgraded `eslint-config-hyoban` from 4.0.7 to 4.0.8.
- Updated AWS SDK packages `@aws-sdk/client-s3` and `@aws-sdk/s3-request-presigner` from 3.823.0 to 3.824.0.
- Bumped `@tanstack/react-query` from 5.80.2 to 5.80.5.
- Updated `@types/react-dom` from 19.1.5 to 19.1.6.
- Incremented `tsdown` version from 0.12.6 to 0.12.7.
Signed-off-by: Innei <tukon479@gmail.com>