Commit Graph

519 Commits

Author SHA1 Message Date
Innei
b42bfbc520 feat: implement tenant suspension handling and deletion functionality
- Added a new tenant suspension page and related components to inform users when their tenant is suspended due to policy violations.
- Implemented deletion functionality for tenants in the SuperAdminTenantManager, allowing super admins to permanently delete tenant accounts.
- Updated localization files to include new strings for tenant suspension and deletion prompts.
- Enhanced the DataManagementService to handle tenant deletion with metadata checks.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-05 15:28:21 +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
b28b03c40b refactor: replace lazy loading feature with domMax in LazyMotion components
- Removed the framer-lazy-feature module and updated LazyMotion components in both landing and dashboard providers to use domMax directly.
- This change simplifies the feature loading process and improves performance by eliminating unnecessary imports.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-05 00:41:16 +08:00
Innei
20da96018d chore: update docker build
Signed-off-by: Innei <tukon479@gmail.com>
2025-12-05 00:35:32 +08:00
Innei
84128e8668 chore: lazy import and saas build base url
Signed-off-by: Innei <tukon479@gmail.com>
2025-12-05 00:34:40 +08:00
Innei
1507b695c2 chore: cleanup auth code
Signed-off-by: Innei <tukon479@gmail.com>
2025-12-04 21:15:20 +08:00
Innei
ed4fcada7d refactor: simplify authentication instance creation in AuthProvider
- Removed unnecessary cookie prefix handling and streamlined the instance creation process in the AuthProvider class.
- Updated the SuperAdminTenantManager component by removing unused button properties and cleaning up the status badge rendering logic.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-04 16:17:58 +08:00
Innei
e8550cee42 feat: enhance tenant management with pagination and sorting options
- Updated the SuperAdminTenantManager component to support pagination and sorting of tenant data.
- Introduced new parameters for fetching tenants, including page, limit, status, sortBy, and sortDir.
- Enhanced the UI to allow users to filter tenants by status and sort by name or creation date.
- Updated localization files to include new strings for tenant filtering and pagination.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-04 15:54:47 +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
1aac293020 refactor: comment out domain navigation and its usage in settings page
- Removed the 'domain' tab from the SETTINGS_TABS array in SettingsNavigation.tsx for cleaner navigation.
- Commented out the usage of <SettingsNavigation active="domain" /> in the domain settings page to prevent rendering issues.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-03 19:02:01 +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
Bojin Li
885a1734e7 fix(ssr): serve SPA HTML for deep links instead of 404 (#183) 2025-12-03 18:27:06 +08:00
Vincent He
08d42521f3 fix: Update photo detail page link path (#181) 2025-12-01 23:11:33 +08:00
Zeno
aedaac2fee Fix import path for handler in dev.ts (#182) 2025-12-01 23:10:53 +08:00
Innei
4cef7cdf26 fix: update RESERVED_SLUGS to include 'demo' for tenant slug validation
- Added 'demo' to the list of reserved slugs in tenant.ts to prevent its use as a tenant identifier.
- This change ensures better management of tenant slugs and avoids potential conflicts with common terms.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-01 23:03:11 +08:00
Chrys
a4ed1ecbc2 feat: custom CDN for GitHub storage (#172) (#174)
Co-authored-by: Innei <tukon479@gmail.com>
2025-11-30 23:36:05 +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
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