Commit Graph

253 Commits

Author SHA1 Message Date
Innei
76b7d47acd refactor: enhance accessibility and optimize EXIF data handling across components
- Added aria-labels to buttons and icons for improved accessibility.
- Refactored EXIF data formatting to utilize a shared function, reducing code duplication.
- Updated various components to use memoization for performance optimization.
- Adjusted styles for consistency in hover effects and transitions.

Signed-off-by: Innei <tukon479@gmail.com>
2026-01-18 15:46:02 +08:00
Innei
8a20fef4a9 refactor: reorganize Vite configuration for route generation and static web build plugins
- Renamed and reordered plugins for clarity, separating route generation from static web build plugins.
- Integrated route generation plugins into the Vite configuration to streamline the build process.

Signed-off-by: Innei <tukon479@gmail.com>
2026-01-11 22:49:40 +08:00
Innei
08b045e176 chore: update package dependencies and configurations across the monorepo 2026-01-10 23:35:37 +08:00
Innei
7e216d90d7 feat: introduce @afilmory/typing package and update imports across the codebase
- Added a new package `@afilmory/typing` to centralize type definitions.
- Updated various files to import types from `@afilmory/typing` instead of individual modules.
- Adjusted package dependencies in `package.json` files for affected packages.
- Modified `pnpm-lock.yaml` to include the new package and its dependencies.

Signed-off-by: Innei <tukon479@gmail.com>
2026-01-10 23:31:41 +08:00
Innei
e795a998e4 feat: add AppSkeleton component and integrate suspense for loading state
- Introduced a new AppSkeleton component to provide a loading placeholder with a waterfall effect.
- Updated main.tsx to wrap the RouterProvider in a Suspense component, displaying AppSkeleton during loading.
- Modified router.tsx to include AppSkeleton as a hydrate fallback element for improved user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2026-01-07 00:01:36 +08:00
Innei
b0d1177427 chore: update vite-plugin-route-builder to version 0.5.0-alpha.1 and adjust related configurations
- Updated the vite-plugin-route-builder dependency in package.json files for both the web and dashboard applications.
- Modified the pnpm-lock.yaml to reflect the new version.
- Updated the router configuration to utilize generated routes from the new version.
- Added a new layout component for the main page in the web application.
- Adjusted import statements and added a new entry to .gitignore for generated routes.

Signed-off-by: Innei <tukon479@gmail.com>
2026-01-06 23:52:08 +08:00
Whitewater
4a840097e7 fix: correct gutter value type in Masonry component (#205) 2026-01-05 13:32:14 +08:00
Chrys
cbbdfc3087 fix: exit animation target on ListView (#210) 2026-01-04 16:33:35 +08:00
Innei
17216b7f1f chore: update package dependencies and package manager version
- Upgraded package manager from pnpm@10.24.0 to pnpm@10.26.2 across multiple applications.
- Updated various package dependencies including lucide-react, eslint-plugin-react-refresh, typescript-eslint, and others to their latest versions.
- Adjusted @types/node version from ^24.10.1 to ^25.0.3 in several packages for compatibility with the latest Node.js features.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-29 21:25:53 +08:00
Innei
9a99dd8e07 chore: update deps 2025-12-16 20:57:50 +08:00
Innei
62e98a9599 feat: enhance locales-json plugin to filter non-locales files
- Added a check to return null for files that do not include 'locales' in their ID, improving the plugin's efficiency by preventing unnecessary transformations.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-06 00:46:08 +08:00
Wenzhuo Liu
a5fc700608 fix: pass projection mode directly (#193) 2025-12-06 00:42:55 +08:00
Innei
d0c420ba93 refactor: update Reaction component and integrate ReactionRail into PhotoViewer
- Refactored the Reaction component to improve structure and styling, renaming it to ReactionRail.
- Simplified the reaction handling logic and enhanced the UI for displaying reactions.
- Integrated ReactionRail into the PhotoViewer component to allow users to react to photos directly.
- Removed unused imports and optimized the code for better performance.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-05 19:17:38 +08:00
Innei
a4927c5240 feat: add comment count API and integrate with InspectorPanel
- Implemented a new API endpoint to count comments for a specific photo.
- Updated the InspectorPanel to fetch and display the comment count using React Query.
- Enhanced the UI to indicate the presence of comments with visual cues.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-05 18:02:42 +08:00
Innei
b8f1a26ce2 chore: update package dependencies across applications
- Upgraded various package dependencies including:
  - `prettier` to version 3.7.4
  - `tsx` to version 4.21.0
  - `vite` to version 7.2.6
  - `react` and `react-dom` to version 19.2.1
  - `drizzle-orm` to version 0.45.0
  - `jotai` to version 2.15.2
  - `motion` to version 12.23.25
  - Updated several other packages to their latest versions for improved performance and compatibility.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-05 00:55:30 +08:00
Innei
9fb7f5525f feat: add website field to CommentUser and update comment components
- Introduced an optional `website` field in the `CommentUser` interface to allow users to provide their website links.
- Updated `CommentCard` and `CommentHeader` components to utilize the new `website` field, enabling clickable links for user websites in the comment header.
- Refactored user data fetching in `CommentService` to include the website information when retrieving user profiles.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-03 21:16:35 +08:00
Innei
ced9e747aa feat: implement email notification system for comments
- Added MailModule to handle email notifications for comment events.
- Introduced CommentCreatedEvent to encapsulate comment creation details.
- Implemented CommentNotificationListener to send notifications to relevant users when a comment is created.
- Integrated Resend service for sending emails, with templates for comment notifications.
- Updated various modules to support the new email notification feature.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-03 20:57:26 +08:00
Innei
3fe6ad564c chore: update package dependencies and package manager version
- Upgraded pnpm to version 10.24.0 across multiple applications.
- Updated various package dependencies including:
  - `@shikijs/rehype` to version 3.19.0
  - `shiki` to version 3.19.0
  - `tsx` to version 4.21.0
  - `typescript-eslint` to version 8.48.1
  - `maplibre-gl` to version 5.14.0
  - `@hono/node-server` to version 1.19.6
  - `jotai` to version 2.15.2
  - `motion` to version 12.23.25
- Ensured consistency in package versions across applications.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-03 18:59:38 +08:00
Vincent He
08d42521f3 fix: Update photo detail page link path (#181) 2025-12-01 23:11:33 +08:00
Innei
7b02aeaba6 feat: enhance InspectorPanel and PhotoViewer with inspector visibility controls
- Updated InspectorPanel to include a close button for collapsing the panel.
- Refactored PhotoViewer to manage inspector visibility based on device type, replacing the previous EXIF panel state.
- Introduced conditional rendering for the inspector button in PhotoViewer, improving user experience on mobile and desktop.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 23:34:28 +08:00
Innei
9618a68b9b refactor: remove thumbnail padding constants for cleaner calculations
- Eliminated `THUMBNAIL_PADDING` constants to simplify thumbnail height calculations in the viewer.
- Updated `computeViewerImageFrame` to directly use `THUMBNAIL_SIZE` for determining thumbnail height based on device type.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 23:23:52 +08:00
Innei
5763ec8dba feat: enhance gallery page header with responsive social media links and view mode options
- Updated `PageHeaderLeft` to conditionally display social media links on larger screens.
- Introduced `MoreActionMenu` in `PageHeaderRight` for mobile users, allowing access to view mode settings and social links.
- Modified `ViewModeSegment` to ensure consistent display across different screen sizes.
- Enhanced `DropdownMenuItem` to support child components for better flexibility in dropdown menus.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 23:12:36 +08:00
Innei
b6b7941ea2 feat: implement ShareModal and related components for enhanced photo sharing
- Introduced `ShareModal` to replace the deprecated `SharePanel`, providing a more streamlined sharing experience.
- Added `CopyButton` and `ShareActionButton` components for improved user interaction when sharing photos.
- Updated `PhotoViewer` to utilize the new `ShareModal` for sharing functionality.
- Removed `SharePanel` and updated localization files to include new sharing strings in multiple languages.
- Enhanced the handling of share links and download options within the modal.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 22:50:33 +08:00
Innei
b9d06fe6f2 feat: implement active filters feature in gallery module
- Added `useHasActiveFilters` hook to determine if any filters are active based on selected tags, cameras, lenses, and ratings.
- Introduced `ActiveFiltersHero` component to display active filters and related actions, including options to edit or clear filters.
- Created `FilterChip`, `FilterChips`, and `FilterStats` components for managing and displaying individual filter selections.
- Updated `PhotosRoot` to integrate the new active filters UI, enhancing user experience by providing immediate feedback on applied filters.
- Added localization strings for active filters in multiple languages.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 20:38:40 +08:00
Innei
f81b3d0ae9 feat: implement sign-out functionality in auth API and user menu
- Added a signOut method to the auth API for handling user sign-out requests.
- Integrated sign-out functionality in the UserMenuButton component, updating session state and invalidating queries upon successful sign-out.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 18:10:37 +08:00
Innei
ac106b87c6 fix: update PageHeaderRight styling for user session state
- Modified the background styling of the user authentication section in PageHeaderRight to conditionally apply rounded styles based on the presence of a session user.
- Enhanced visual consistency by ensuring the component adapts its appearance according to user authentication status.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 14:17:55 +08:00
Innei
2a7336cd6b feat: enhance PageHeader and PageHeaderRight components with improved styling and layout
- Added LinearBlur effect to the PageHeader for a refined visual appearance.
- Updated PageHeaderRight to use background styles instead of borders for a modern look.
- Adjusted ViewModeSegment styling to maintain consistency across components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 13:24:20 +08:00
Innei
a9703f34dc refactor: remove RSS support from social configuration
- Eliminated the RSS field from social settings in configuration files and UI schemas.
- Updated related documentation and localization files to reflect the removal of RSS support.
- Adjusted components to ensure compatibility with the updated social configuration.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 01:27:48 +08:00
Innei
62fd908d35 feat: enhance GalleryThumbnail with virtualized rendering and hover card support
- Integrated virtualized rendering using @tanstack/react-virtual for improved performance in the GalleryThumbnail component.
- Added HoverCard functionality for displaying additional photo information on hover.
- Removed unused thumbnail gap and padding size constants to streamline the code.
- Updated scroll behavior to utilize virtual item measurements for accurate thumbnail positioning.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 01:11:47 +08:00
Innei
1b5d782a51 feat: update CommentsContent and SkeletonList components for improved loading states
- Removed the comments header from CommentsContent for a cleaner layout.
- Enhanced SkeletonList to provide a more detailed loading skeleton structure, including separate sections for comment header, content, and action bar.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 00:29:54 +08:00
Innei
e71548b320 feat: enhance gallery layout and functionality
- Added support for virtualized rendering in ListView using @tanstack/react-virtual for improved performance with large photo sets.
- Integrated new hooks for mobile responsiveness and context management in ListView and PhotoCard components.
- Updated PageHeader and ViewModeSegment for better layout consistency and user experience.
- Increased upload limits in backend configuration to accommodate larger files and requests.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 00:23:14 +08:00
Innei
26100b26cd feat: enhance PageHeaderCenter with animation and improve Input component
- Added animation effects to the PageHeaderCenter component using AnimatePresence and motion for a smoother user experience.
- Updated the Input component to support input composition handling, improving text input behavior during composition events.
- Adjusted styling in AutoSelect component for better layout consistency.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-29 23:41:15 +08:00
Innei
447caaba6a feat: implement gallery view modes and enhance layout
- Added ListView and MasonryView components for displaying photos in different layouts.
- Introduced a new GalleryViewMode type to manage view settings.
- Updated PhotosRoot to conditionally render ListView or MasonryView based on the selected view mode.
- Created a PageHeader component with a ViewModeSegment for toggling between view modes.
- Removed the deprecated MasonryRoot component and adjusted imports accordingly.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-29 18:13:25 +08:00
Innei
8cda0c328e fix: update EXIF GPS altitude reference handling
- Changed the condition for checking GPS altitude reference from string comparison to numeric values for 'Above Sea Level' and 'Below Sea Level'.
- Updated related logic in the EXIF data formatting and migration scripts to ensure consistency with the new numeric representation.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 01:07:45 +08:00
Innei
9b929a1694 chore: update package dependencies and versions
- Upgraded various dependencies including es-toolkit, lint-staged, vite, and zod to their latest versions.
- Updated tailwind-variants and tailwindcss-safe-area to newer versions.
- Adjusted types for React and other related packages to ensure compatibility.
- Removed obsolete patch for @creem_io/better-auth.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 00:57:14 +08:00
Innei
41ad6d73b3 feat: update SignInPanel to use dynamic icons for login providers
- Replaced static icon rendering with a new LoginPlatfoIcon component that dynamically renders icons based on the provider.
- Added SVG support for Google login icon and maintained the GitHub icon.
- Cleaned up CSS comments related to icon sources.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 00:48:01 +08:00
Innei
cb40fe74d0 feat: implement comments feature (#171)
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 00:37:52 +08:00
Innei
3e96106a16 chore: sign s3 (#170)
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-26 15:23:41 +08:00
Vincent He
7fbb82c533 perf(web): optimize thumbnail loading with virtual scrolling and lazy… (#167) 2025-11-25 16:17:12 +08:00
Chrys
3a52858473 feat(location): add location-based search functionality (#168) 2025-11-25 16:16:14 +08:00
Wenzhuo Liu
58a989c1e4 feat(geocoding): implement reverse geocoding (#157)
Co-authored-by: Innei <tukon479@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-24 14:48:57 +08:00
Whitewater
7844b3a0b2 docs: add Cloudflare Pages deployment guide (#162)
Co-authored-by: Innei <tukon479@gmail.com>
2025-11-23 20:49:54 +08:00
Chrys
5f03285531 fix: photo viewer logic to use filtered photos for opening (#161) 2025-11-23 20:24:32 +08:00
Chrys
46e573c5e1 refactor: social media URL handling improvement (#165) 2025-11-23 20:23:03 +08:00
Innei
84ff4ef44f fix: update documentation artifact path in GitHub Actions workflow
- Changed the artifact path from './packages/docs/dist' to './apps/docs/dist' to reflect the correct directory structure for documentation deployment.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-19 01:20:13 +08:00
Innei
fcee67b309 feat: Implement AppStateModule and AppStateService for application initialization state management
feat: Enhance PhotoAssetService with findPhotosByIds method for batch retrieval of photo manifests

refactor: Move PhotoAsset types to a dedicated file for better organization

feat: Introduce StaticAssetController and StaticShareController for handling static asset requests

feat: Create StaticShareService to manage share page functionality and dynamic data injection

refactor: Consolidate static web controller logic into StaticBaseController for code reuse

fix: Update module imports to reflect new directory structure for AppStateModule

chore: Update pnpm lockfile to include new dependencies
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-18 21:51:48 +08:00
Innei
c8b7fcc882 feat(dashboard): update photo management components and dependencies
- Updated `babel-plugin-react-compiler` and `react-compiler-runtime` to version 1.0.0 across multiple package.json files.
- Refactored `PhotoPage` and related components to utilize new tab structure for better organization.
- Introduced `PhotoPageScaffold` and `PhotoPageTabs` for improved layout and navigation within the photo management section.
- Enhanced `PhotoSyncTab`, `PhotoStorageTab`, and `PhotoUsageTab` components for better functionality and user experience.
- Adjusted imports and component structure for clarity and maintainability.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-18 01:14:03 +08:00
Innei
d1dee58219 feat(billing): implement billing plan management and usage tracking
- Introduced billing plans with associated quotas for tenants, including maximum upload sizes and processing limits.
- Added new endpoints and services for managing tenant billing plans and tracking usage events.
- Enhanced the dashboard with components for viewing and updating tenant plans, including a new tenant management interface.
- Implemented database migrations to support billing-related data structures and relationships.
- Updated documentation to reflect the new billing plan features and usage tracking capabilities.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-16 20:10:47 +08:00
Innei
dafc621033 feat(config): update site configuration and enhance author handling
- Changed default site name and URL to reflect new branding.
- Updated author information in the site configuration, including name, URL, and avatar.
- Removed author-related settings from the configuration schema to streamline the setup.
- Enhanced the SiteSettingService to resolve author details dynamically based on tenant context.
- Added a new endpoint to retrieve the status of photo synchronization, improving user feedback on sync operations.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-15 01:08:31 +08:00
Wenzhuo Liu
f2658cf5a5 feat: support hdr motion photo (#155) 2025-11-14 14:26:03 +08:00