Commit Graph

499 Commits

Author SHA1 Message Date
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
d9e09b375b feat: enhance Sonner component with toast functionality
- Imported `toast` from 'sonner' to enable toast notifications.
- Updated styles for the toast icon to improve visual consistency and responsiveness.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 21:29:42 +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
48bfa238d6 refactor: reduce logging in OAuth callback processing
- Removed excessive logging statements related to request parameters, state decoding, tenant resolution, and redirection in the OAuth callback logic.
- Streamlined the code for improved readability while maintaining essential error handling and functionality.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 19:24:02 +08:00
Innei
4769673099 fix: enforce required state secret for OAuth processing
- Added a check to ensure AUTH_GATEWAY_STATE_SECRET or CONFIG_ENCRYPTION_KEY is provided, throwing an error if neither is set.
- Updated the configuration parsing to use a resolved state secret variable for clarity and consistency.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 19:18:13 +08:00
Innei
1090aff397 feat: enhance OAuth callback logging and error handling
- Added detailed logging for OAuth callback processing, including request parameters and state decoding results.
- Implemented error logging for missing provider parameters and invalid state scenarios.
- Improved tenant slug resolution and target host logging to aid in debugging and monitoring.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 19:09:05 +08:00
Innei
7accb1f6c3 refactor: simplify target host resolution and remove explicit host handling
- Eliminated the explicitHost parameter from the TargetResolutionInput interface and related functions.
- Updated the OAuth callback processing to streamline target host resolution, relying solely on tenant slug.
- Adjusted the GatewayStatePayload to remove targetHost, enhancing clarity in state management.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 18:58:51 +08:00
Innei
5774b99cbc refactor: streamline OAuth callback processing and configuration handling
- Removed the ALLOW_CUSTOM_HOST configuration option from the gateway settings.
- Simplified tenant slug and explicit host handling in the OAuth callback logic, prioritizing state-derived values.
- Updated target host resolution to eliminate dependency on the allowCustomHost setting.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 18:33:41 +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
8f0e9e7fd7 refactor: improve tenant slug handling in OAuth callback processing
- Renamed variable for clarity and added sanitization for tenant slug derived from state.
- Updated target host resolution to prioritize tenant slug from state if not explicitly provided.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 14:24:42 +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
187edf0d37 feat: add @afilmory/utils dependency to oauth-gateway and update pnpm-lock.yaml
- Included @afilmory/utils as a workspace dependency in the oauth-gateway package.json.
- Updated pnpm-lock.yaml to reflect the addition of @afilmory/utils with the appropriate workspace link.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 14:10:56 +08:00
Innei
019ee50121 feat: implement OAuth state management for multi-tenancy support
- Introduced encoding and decoding of OAuth state to include tenant metadata, allowing the gateway to route callbacks without hard-coded tenant slugs.
- Updated the AuthController to handle social account linking and sign-in with compatibility for legacy paths.
- Refactored redirect URI construction to simplify tenant slug handling.
- Enhanced documentation to reflect changes in the OAuth flow and state management.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 14:03:05 +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
0411a1c658 fix: landing data theme alway dark
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-29 15:59:19 +08:00
Innei
ae21438eb7 feat: implement multi-tenancy support in authentication module (#177)
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-29 13:57:18 +08:00
Innei
843ff8130d fix: purge manage storage data when account delete (#176)
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 21:19:28 +08:00
Innei
b48f4bcd62 feat: enhance data management service with additional database operations
- Added imports for new database entities including authAccounts, billingUsageEvents, comments, and tenantDomains.
- Implemented deletion operations for comments and commentReactions in the DataManagementService to improve tenant data management.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 16:40:13 +08:00
Innei
598c92c57d chore: add placeholder file to patches directory
- Created a new placeholder file in the patches directory to maintain structure and indicate future patch additions.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 01:25:28 +08:00
Innei
a3716b1ba0 feat: add favicon injection to static web service
- Implemented a new method to inject favicon links into the document head, ensuring proper favicon support for the static web service.
- Updated existing methods to call this new functionality, enhancing the overall user experience with appropriate icons.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 01:21:16 +08:00
Innei
3f3f5f9a79 fix: update import path for AfilmoryManifest type
- Changed the import path for AfilmoryManifest from '@afilmory/builder/types/manifest' to '@afilmory/builder/types/manifest.js' to ensure compatibility with the updated module structure.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 01:14:57 +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
4494662973 chore: update documentation and configuration file 2025-11-27 00:39:45 +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
37825d1def feat: add upload log
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-26 16:56:02 +08:00
Innei
3e96106a16 chore: sign s3 (#170)
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-26 15:23:41 +08:00
Innei
e0a78b9391 refactor: simplify gallery URL handling and update theme styles
- Removed the custom domain fallback logic from the gallery URL builder.
- Consolidated the display URL logic to use the gallery URL builder directly.
- Added theme-specific styles for accent and link colors in light and dark modes to enhance visual consistency.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-25 17:27:43 +08:00
Innei
5bf7c06070 feat: enhance Open Graph image generation for homepage
- Added a new endpoint to render a homepage Open Graph image with site statistics and featured photos.
- Introduced a new template for the homepage Open Graph image, including site name, description, author avatar, and featured photos.
- Updated the Open Graph service to handle rendering of the new homepage image.
- Implemented emoji loading functionality for enhanced visual representation in Open Graph images.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-25 17:23:58 +08:00
Innei
b5b4c9b7f1 Update README.md 2025-11-25 16:41:21 +08:00
Xudong Sun
e15d066e6d feat(rss): enhance rss feed with thumbnail and detailed exif info, and fix feed link (#169) 2025-11-25 16:31:27 +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
Innei
ef48808363 feat: enhance landing page with GitHub link and NocturneButton updates
- Added a GitHub link in the footer for easy access to the project repository.
- Simplified the NocturneButton component by removing unnecessary elements and adjusting styles for improved layout.
- Updated localization files to include the new GitHub string in both English and Chinese.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 23:06:05 +08:00
Innei
fc994edc1e feat: update README with SaaS details and self-hosting instructions
- Added a new section for getting started with the official SaaS, highlighting its benefits and ease of use.
- Expanded the self-hosting section to clarify requirements and provide a tip for users to consider the SaaS option.
- Included links to official documentation for further guidance on setup and advanced usage.
- Updated related links to reflect the official SaaS and documentation resources.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 22:49:56 +08:00
Innei
b6ec7886dd fix: adjust padding in NormalContainer for improved layout
- Updated the top padding in the NormalContainer component to enhance spacing and visual consistency across different screen sizes.
- Ensured that the layout remains responsive and aligns with the overall design standards of the landing page.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 22:46:09 +08:00
Innei
d9a5be56e6 feat: add support for Aliyun OSS and Tencent COS storage providers
- Updated documentation to include Aliyun OSS and Tencent COS as storage options.
- Introduced configuration examples for both providers in the storage providers documentation.
- Enhanced the storage provider registration to accommodate new providers.
- Updated the storage configuration interfaces to support OSS and COS.
- Modified the S3 client and provider implementations to handle requests for OSS and COS.
- Added environment variable configurations for OSS and COS.
- Implemented necessary changes in the UI schema and routes to reflect the new providers.
- Updated localization files for new storage provider types.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 22:26:47 +08:00
Innei
6b48fe7333 refactor: simplify FeaturedGalleriesService and remove TenantModule dependency
- Removed the TenantModule import from the FeaturedGalleriesModule, streamlining the module structure.
- Refactored the FeaturedGalleriesService to eliminate the TenantService dependency, enhancing service independence.
- Updated the logic in listFeaturedGalleries to calculate quality scores for tenants directly from the database, improving performance and clarity.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 22:04:49 +08:00
Innei
59c647ec96 refactor: clean up styles and layout on landing page
- Removed unnecessary background color from the landing page container for a cleaner look.
- Simplified the NocturneHero section by eliminating redundant styles, enhancing responsiveness.
- Updated global styles to apply background color alongside text color for improved readability.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 21:24:50 +08:00
Innei
3980e24617 feat: integrate react-responsive-masonry for improved gallery layout
- Added the react-responsive-masonry package to enhance the layout of the GalleryShowcase component, allowing for a responsive grid display of galleries.
- Updated the GalleryShowcase component to utilize Masonry and ResponsiveMasonry for better visual organization of gallery items.
- Included new dependencies in package.json and pnpm-lock.yaml for react-responsive-masonry and its types.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 21:22:16 +08:00
Innei
471c1b11ae feat: enhance GalleryShowcase with photo count and tags
- Added photo count and tags display to the GalleryShowcase component, improving the information presented to users.
- Updated the FeaturedGalleriesService to fetch photo counts and popular tags for each tenant, ensuring accurate data representation.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 21:08:46 +08:00
Innei
5a98b43544 feat: add Gallery Showcase component and update documentation
- Introduced a new Gallery Showcase component to display featured galleries on the landing page.
- Updated localization files to include new strings for the Gallery Showcase.
- Enhanced the landing page by integrating the Gallery Showcase component alongside existing elements.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 21:00:19 +08:00
Innei
f7956c9a4e refactor: simplify domain verification logic and update localization
- Removed unnecessary parameters from the domain verification instructions in the CustomDomainCard component.
- Simplified the hostname normalization function by eliminating checks for server-side rendering.
- Updated localization strings to remove references to TXT token requirements for domain binding, streamlining the user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 19:58:43 +08:00