Commit Graph

48 Commits

Author SHA1 Message Date
Innei
51f586705c feat: integrate site configuration and enhance photo navigation
- 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>
2025-11-08 14:31:13 +08:00
Innei
c1d585d9ac feat: add build:serve script and update build:web command for server serving, fixed #147
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-06 01:15:34 +08:00
Innei
e27b45ec49 feat(builder): upload thumbnails via storage plugin (#137)
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2025-10-31 21:49:31 +08:00
Innei
ba68be802e feat: revamp dashboard photo management (#136)
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-31 02:07:13 +08:00
Innei
d6ad6d17ab refactor: component move to monorepo (#128)
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-25 00:59:25 +08:00
Innei
74222cb555 chore: update package dependencies and configurations
- 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>
2025-10-23 23:57:00 +08:00
Innei
32af836f42 chore: update deps
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-19 00:18:22 +08:00
Innei
791fccf244 chore: update deps
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-08 20:21:11 +08:00
Innei
bfe1537602 chore: update deps
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-02 17:58:43 +08:00
Innei
793ed1ae14 chore: update package manager and dependencies across multiple packages
- 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>
2025-09-24 00:51:37 +08:00
Innei
84b6c0f438 chore: update dependencies and improve configurations
- 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>
2025-09-21 17:49:49 +08:00
Innei
1cc5c76ee7 feat(gallery): add tag filtering options and UI components
- 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>
2025-08-31 23:38:43 +08:00
Innei
f5cd5d800c chore: update deps
Signed-off-by: Innei <tukon479@gmail.com>
2025-08-31 01:36:08 +08:00
ChrAlpha
5295b10ac7 fix: missing i18n/icon for camera&lens filter (#77) 2025-08-10 15:05:42 +08:00
Innei
6c702ef9f1 feat: enhance Masonry component with reposition functionality
- 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>
2025-07-12 00:22:41 +08:00
ChrAlpha
7310555c1a feat: map explore page (#29)
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: MaxtuneLee <max@xox.im>
Co-authored-by: Innei <tukon479@gmail.com>
2025-07-07 17:22:56 +08:00
Innei
e4fde5ae74 feat: integrate PWA support and update manifest configuration
- 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>
2025-07-01 16:02:28 +08:00
Innei
96400b1775 feat: support share to external via iframe
- 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>
2025-06-29 23:09:57 +08:00
Innei
27ea01fbf1 refactor: remove blurhash replace to thumbhash
- 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>
2025-06-29 15:46:46 +08:00
Innei
8000a085d0 feat: integrate react-error-boundary for improved error handling, fixed #27
- 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>
2025-06-28 14:05:27 +08:00
Innei
c8fa65e9c2 feat: implement analysis API and enhance reaction handling
- 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>
2025-06-27 01:51:43 +08:00
Innei
5bd5947ec2 feat: update database connection logic and enhance upsert functionality
- 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>
2025-06-27 01:19:08 +08:00
Innei
49ac494998 feat: init api
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-27 00:43:04 +08:00
Innei
c8315c29b0 refactor: update WebGL image viewer and improve loading state handling
- 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>
2025-06-26 21:08:16 +08:00
MaxtuneLee
e99f5b8ae5 Refactor/image preprocess (#25)
Switch to strategy pattern to handle image convert process.
2025-06-25 22:57:01 +08:00
MaxtuneLee
b215871056 fix: image file type detect (#24) 2025-06-25 18:49:35 +08:00
Innei
2fb584e8e1 feat: add ExifTool integration and enhance EXIF data handling
- 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>
2025-06-25 01:45:26 +08:00
MaxtuneLee
3554f6fac6 Refactor/live photo viewer (#20)
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Innei <tukon479@gmail.com>
2025-06-23 19:10:55 +08:00
Innei
31727e542c feat: implement FloatingActionButton component for enhanced user interactions
- 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>
2025-06-23 01:14:56 +08:00
Innei
ece05078b1 feat: migrate from exif-reader to exiftool-vendored and update EXIF handling
- 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>
2025-06-14 17:19:28 +08:00
Innei
2387e8d813 feat: integrate mp4-muxer for video conversion and enhance ExifPanel layout
- 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>
2025-06-13 15:22:11 +08:00
Innei
8f28d75266 chore: change namespace
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-12 21:51:25 +08:00
Innei
ac52350b6d chore: update package dependencies across multiple packages
- 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>
2025-06-12 18:34:08 +08:00
Innei
c775f82153 feat(i18n): integrate i18next for internationalization support
- 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>
2025-06-12 17:56:11 +08:00
Innei
4a385b9852 chore: rename project from Iris Photo Gallery to Afilmory and update related references
- 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>
2025-06-12 13:57:40 +08:00
Innei
bf0a2d09ed chore: update @types/node to version 24.0.0 across multiple packages
- 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>
2025-06-11 20:27:27 +08:00
Innei
ccfb313038 feat: add avatar support and update dependencies
- 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>
2025-06-11 01:11:56 +08:00
Innei
491e8ddb6e fix: type error
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 00:44:54 +08:00
Innei
c62f8b1628 refactor: extract builder as a package
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 00:37:01 +08:00
Innei
898bd18c44 Refactor code structure for improved readability and maintainability
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-10 14:45:38 +08:00
Innei
bfeb0685ea feat(web): update HTML template and integrate vite-plugin-html for dynamic content injection
- 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>
2025-06-09 22:53:20 +08:00
Innei
caa09110dd feat: add SlidingNumber component and integrate scale indicator in ProgressiveImage
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-09 00:52:26 +08:00
Innei
67a948ddeb feat: introduce @photo-gallery/data package for centralized photo management
- 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>
2025-06-08 20:46:19 +08:00
Innei
7d7d3ca159 chore: update repository URL and simplify main.tsx rendering
- 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>
2025-06-06 20:42:45 +08:00
Innei
26c93dbf9d backup
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-06 00:53:35 +08:00
Innei
e5597cdbe7 feat: integrate react-freeze for improved UI performance
- 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>
2025-06-05 23:08:06 +08:00
Innei
b51d81bd47 chore: update package dependencies and versions
- 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>
2025-06-05 18:43:36 +08:00
Innei
f841d2ada2 feat: init 2025-06-05 13:27:09 +08:00