- Introduced .gitattributes to manage large media files with Git LFS for various formats including HEIC, MOV, and JPG.
- Added a new build script in package.json for preparing demo data.
- Enhanced logging in the PhotoGalleryBuilder to include storage provider information.
- Updated the LocalStorageProvider to use the correct type for file stats.
- Added multiple new media files to the project.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the react dependency version to 19.1.1 in both pnpm-lock.yaml and package.json for consistency and to ensure compatibility with the latest features and fixes.
Signed-off-by: Innei <tukon479@gmail.com>
- Removed the dependency on formatted EXIF data for megapixels and implemented a direct calculation based on image dimensions.
- Cleaned up the code by removing unnecessary comments and ensuring clarity in the rendering logic.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the react dependency version to ^19.1.1 in both package.json and pnpm-lock.yaml for consistency and to ensure compatibility with the latest features and fixes.
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>
- Added total pixel calculation to the ExifPanel, displaying the total pixel count based on image dimensions.
- Updated the rendering logic to use the new total pixel value instead of formatted EXIF data for pixel information.
Signed-off-by: Innei <tukon479@gmail.com>
- Added network tuning options to the builder configuration, including keep-alive settings, timeouts, and retry mechanisms.
- Integrated the NodeHttpHandler for improved HTTP handling in the S3 client.
- Implemented a download concurrency limiter using a semaphore to manage concurrent downloads.
- Enhanced the getFile method to include retry logic and timeout handling for S3 file downloads, improving robustness and performance.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a migration system for manifest files to support versioning and backward compatibility.
- Updated image processing to switch thumbnail format from WebP to JPEG for better compatibility.
- Added new commands for manifest migration and improved thumbnail handling in the builder.
- Enhanced documentation with architecture details and development commands.
Signed-off-by: Innei <tukon479@gmail.com>
- Changed the image source in PhotoItem component from original URL to thumbnail URL for improved loading performance and user experience.
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>
- Modified the iframe style in SharePanel to utilize the aspect ratio based on photo dimensions, enhancing responsiveness.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the cleanExifValue function to convert the value to a string before applying regex for cleaning, preventing potential errors with null or undefined values.
Signed-off-by: Innei <tukon479@gmail.com>
- Changed the conditional rendering of the rating display to use a ternary operator for better clarity.
- Ensured that the rating is only displayed when it is greater than zero, improving the component's robustness.
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>
- Consolidated GPS data computation into a single line for clarity.
- Removed unnecessary whitespace to enhance code cleanliness.
- Adjusted className logic for better consistency in styling.
Signed-off-by: Innei <tukon479@gmail.com>
- Revised color documentation to streamline usage of Apple UIKit colors with Tailwind CSS, emphasizing the correct prefixes for different color categories.
- Refactored the ErrorElement component to improve layout and user experience, including a more structured error display and action buttons for reloading and going back.
- Removed unused translation imports and adjusted the error message presentation for clarity.
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>
- Removed unnecessary ellipsis handling in the Row component for displaying EXIF data.
- Enhanced PhotoViewer navigation by directly invoking swiper methods for previous and next slides.
- Updated SharePanel to ensure proper URL formatting for iframe sharing.
- Extracted photo filtering and sorting logic into a separate function for better reusability and clarity in usePhotoViewer hook.
- Adjusted layout to utilize the new getFilteredPhotos function for improved photo management.
Signed-off-by: Innei <tukon479@gmail.com>