Commit Graph

32 Commits

Author SHA1 Message Date
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
91897b6032 feat: enhance SSR and web applications with manifest injection and configuration updates
- Introduced a Vite plugin to inject the photos manifest into the HTML, enabling dynamic updates and hot reloading.
- Updated ESLint configuration to ignore build errors during SSR.
- Modified package.json scripts for concurrent development of SSR and web applications.
- Adjusted paths and imports for better module resolution and consistency across the codebase.
- Added type definitions for the global __MANIFEST__ variable to ensure type safety.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-26 22:03: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
5fa83219e6 chore: update dotenv configuration and dependencies
- Replaced 'dotenv/config' with 'dotenv-expand/config' in env.ts and cli.ts for enhanced environment variable handling.
- Added 'dotenv-expand' as a dependency in package.json and updated pnpm-lock.yaml accordingly.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-23 02:02:24 +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
0d709f807a chore: clean up pnpm-lock.yaml by removing unused dependencies
- Removed `exif-reader` and `fuji-recipes` dependencies from the lock file as they are no longer in use.
- Cleaned up related entries to streamline the dependency management.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-14 17:40:03 +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
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
MaxtuneLee
d7397c60e2 feat: BMP format support (#4)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-11 02:50:40 +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
a7e4bce1b5 feat(builder): enhance configuration logging and update dependencies
- Added logging for the builder configuration using consola for better visibility.
- Updated the merge function to improve user configuration handling.
- Introduced new dependencies: es-toolkit for merging configurations and consola for logging.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 00:18:43 +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
2eb3020daa release: v0.1.0 2025-06-09 00:39:15 +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
588c9ab5ea feat: cf pages
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-08 15:41:38 +08:00
Innei
c03fdc7391 feat: add ssr for og gerenation
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-08 15:36:07 +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