Commit Graph

89 Commits

Author SHA1 Message Date
Innei
3e96106a16 chore: sign s3 (#170)
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-26 15:23:41 +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
d5a2ea4db2 feat: enhance documentation and add new features for Afilmory
- Introduced a comprehensive `DEVELOPMENT.md` guide for contributors and self-hosters, detailing workspace layout and common commands.
- Updated `README.md` to include links to the new development guide and improved deployment instructions.
- Added new documentation files covering architecture, builder pipeline, configuration, and deployment strategies.
- Implemented new storage provider documentation for Backblaze B2, Eagle, GitHub, and local storage options.
- Enhanced the UI components with new features, including a navigation context and improved theme handling.
- Removed outdated GitHub Action deployment documentation.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-23 19:40:51 +08:00
Innei
2d7b4e316f feat: enhance tenant management with photo handling and UI improvements
- Added a new endpoint in SuperAdminTenantController to fetch tenant photos.
- Introduced TenantDetailModal for displaying tenant details and associated photos.
- Created TenantUsageCell component to visualize tenant usage metrics.
- Updated localization files to include new keys for tenant photo management.
- Enhanced SuperAdminTenantManager to support modal interactions for tenant details.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-20 22:59:04 +08:00
Innei
dc23b2868e feat: enhance storage provider management and localization support
- Added support for new storage providers including Backblaze B2 and GitHub.
- Introduced a new UI schema for storage provider configuration, allowing for better user experience.
- Updated localization files to include new keys for storage provider fields and usage metrics.
- Refactored existing storage provider logic to accommodate new categories and improve overall structure.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-20 00:16:46 +08:00
Innei
8713d2c9e7 feat: add tenant slug validation and availability check
- Implemented TenantController with a new endpoint to check tenant slug availability.
- Added slug normalization and validation logic to ensure slugs meet specified criteria.
- Integrated SystemSettingService to retrieve base domain for tenant URLs.
- Updated TenantService to include a method for checking slug availability against existing records.
- Modified TenantModule to include the new TenantController and SystemSettingModule dependencies.
- Updated pnpm-lock.yaml to include new dependencies and version updates.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-18 23:56:30 +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
d7084a3201 feat(i18n): integrate internationalization support into dashboard
- Added i18next and react-i18next for localization support.
- Created i18n configuration in `src/i18n.ts` and set up language detection.
- Introduced `I18nProvider` to manage i18n context and resource updates.
- Added localization files for English and Chinese (Simplified) with necessary translations.
- Updated `ErrorElement` component to utilize translations for error messages.
- Enhanced dashboard documentation with i18n usage guidelines.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-18 01:31:06 +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
3fe81cc8e9 feat(dependencies): add patch for better-auth and update pnpm-lock and workspace files
- Introduced a patch for '@creem_io/better-auth' to modify the export in the module.
- Updated pnpm-lock.yaml to include the new patch and reflect changes in dependency versions.
- Modified pnpm-workspace.yaml to register the patched dependency.
- Ensured consistency in versioning for related dependencies across the project.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-17 15:33:50 +08:00
Innei
99a57f920c feat(billing): enhance billing plan management with product and pricing configurations
- Added support for billing plan products and pricing settings, allowing for detailed configuration of subscription plans.
- Introduced new constants and types for managing billing plan overrides, products, and pricing.
- Updated the SystemSettingService to handle new billing-related settings and integrated them into the admin interface.
- Enhanced the BillingPlanService to retrieve and apply product and pricing information for tenant plans.
- Updated UI components to reflect the new billing plan configurations and ensure proper display of pricing details.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-17 01:48:35 +08:00
Innei
2e6ef268e5 feat(landing): enhance landing page with privacy and terms of service
- Added new pages for Privacy Policy and Terms of Service, including markdown content rendering.
- Integrated `react-markdown` for displaying legal documents.
- Updated layout to include a footer with links to the new pages.
- Refactored layout components to improve structure and maintainability.
- Removed unused footer navigation items to streamline the design.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-16 20:41:02 +08:00
Innei
2f1b69f0bd feat: implement photo upload workflow with processing and error handling
- Add ProcessingPanel component to display processing stages and logs.
- Create UploadFileList component to show upload progress for each file.
- Define constants for workflow steps, file statuses, and processing stages.
- Implement steps for completed, error, processing, review, uploading, and uploading steps.
- Create a Zustand store for managing photo upload state and actions.
- Add utility functions for file handling, error messages, and tag sanitization.
- Update hooks to support new upload options and progress tracking.
- Integrate new components and store into the photo upload module.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-15 23:34:07 +08:00
Innei
77f16490e4 chore: adjust docs and add cjk font
- Created a new documentation site under `apps/docs` using Vite, React, and MDX.
- Added essential files including `index.html`, `package.json`, and various configuration files.
- Implemented a file-system based routing system with automatic route generation from markdown files.
- Included support for syntax highlighting, responsive design, and TypeScript.
- Established a structure for documentation content with initial deployment guides and storage provider information.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-14 21:52:54 +08:00
Innei
e8f967a7ea refactor(s3): replace AWS SDK S3 types with custom S3ObjectLike interface
- Removed dependencies on AWS SDK's S3 types in favor of a custom S3ObjectLike interface for better type management.
- Updated various services and components to utilize the new S3ObjectLike type, enhancing code clarity and maintainability.
- Introduced a SimpleS3Client interface to streamline S3 client interactions and improve fetch handling.
- Added fast-xml-parser for XML response parsing in S3 operations, enhancing object listing functionality.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-13 13:53:54 +08:00
Innei
42c217e2f8 chore(deps): update package versions across the project
- Bumped versions for several dependencies including `@types/node`, `eslint`, `sharp`, `vite`, and various `@tanstack/react-query` packages to their latest releases for improved stability and features.
- Updated Tailwind CSS related packages to version 4.1.17 for consistency across the project.
- Adjusted other dependencies such as `jotai`, `lucide-react`, and `tailwind-merge` to their latest versions to ensure compatibility and access to new features.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-12 23:57:37 +08:00
Innei
74584cd230 feat(oauth-gateway): implement multi-tenant OAuth gateway service
- Added a new OAuth gateway service to handle multi-tenant authentication callbacks.
- Implemented routing logic for provider callbacks, including tenant slug validation and host resolution.
- Introduced configuration management for environment variables and service settings.
- Created Dockerfile and package.json for service deployment and dependencies.
- Added HTML response for restricted tenant access and updated static web components accordingly.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-12 16:33:24 +08:00
Innei
16d78812ee chore(landing): update landing
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-11 22:52:35 +08:00
Innei
2665778890 chore: landing init 2025-11-11 21:47:58 +08:00
Innei
bc4e21d2f8 feat(dependencies): add @iconify-json/simple-icons and update auth routes
- Added @iconify-json/simple-icons version 1.2.57 to pnpm-lock.yaml and package.json.
- Changed the sign-up endpoint from '/sign-in/email' to '/sign-up/email' in AuthController.
- Enhanced SocialAuthButtons component with improved styling and accessibility features.
- Updated login page layout and error message presentation for better user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 22:37:21 +08:00
Innei
8d0e5dfe6b feat(sdk): consolidate SDK functionality and update dependencies
- Introduced a new SDK package to replace the previous ssr-sdk, consolidating shared functionality for handling views and reactions.
- Updated package.json files across applications to reference the new @afilmory/sdk.
- Removed the old ssr-sdk package and its associated files, streamlining the codebase.
- Enhanced API routes for reactions and views to utilize the new SDK schemas and client methods.
- Updated dependencies in various packages to ensure compatibility and improved functionality.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 21:13:02 +08:00
Innei
caf47a4a01 feat(og): implement Open Graph image generation for photos
- Added OgModule with OgController and OgService to handle Open Graph image requests.
- Integrated Satori and Resvg for rendering images based on photo metadata.
- Created OgTemplate for structuring the Open Graph image layout.
- Enhanced error handling for photo retrieval and image generation processes.
- Updated package dependencies to include @resvg/resvg-js and satori for image processing.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 17:58:12 +08:00
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
1dcb2945ca feat: implement site settings management and onboarding enhancements
- Added site settings management with a dedicated UI for configuration.
- Introduced new onboarding steps for site branding, including site name, title, and description.
- Updated API endpoints for site settings retrieval and updates.
- Enhanced the onboarding wizard to include site settings integration.
- Refactored related components and hooks for better state management and validation.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-07 23:58:14 +08:00
Innei
0c84619e88 feat(static-web): implement static web module with controller and service for asset handling
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-01 02:22:24 +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
33a56b629b feat: enhance storage provider management and settings
- Added functionality to manage storage providers, including adding, editing, and toggling active status.
- Introduced utility functions for normalizing and serializing storage provider configurations.
- Implemented masking of sensitive fields in storage provider settings.
- Updated the dashboard UI components to reflect the new storage provider management features.
- Added new constants and utility functions for better handling of storage provider data.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-28 23:49:16 +08:00
Innei
af170a43bb refactor!: builder pipe and plugin system
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-28 19:48:04 +08:00
Innei
a4e506f51c feat(dashboard): provider init 2025-10-27 23:05:02 +08:00
Innei
223e90d4d2 feat(dashboard): design init
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-27 19:49:23 +08:00
Innei
c300b5e86a feat(server): onboarding and login layout design
- Replaced the existing GNU AGPL v3 license with the new Attribution Network License (ANL) v1.0 in the LICENSE file.
- Updated package.json files to reflect the new license.
- Modified README.md to reference the new license.
- Adjusted various package.json files to remove outdated license entries.
- Added new dependencies and updated existing ones in pnpm-lock.yaml.
- Refactored onboarding components and improved UI consistency across the dashboard.
- Introduced new hooks and components for better onboarding experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-27 01:18:06 +08:00
Innei
eda640aec4 fix: lockfile
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-26 18:51:50 +08:00
Innei
bb3088208d feat(server): onboarding init 2025-10-26 18:37:56 +08:00
Innei
197135f530 chore: update dependencies and refactor imports
- Removed the deprecated @afilmory/components package and replaced it with @afilmory/ui and @afilmory/utils in the SSR app.
- Updated pnpm-lock.yaml to reflect the new dependencies.
- Refactored imports in PhotoItem, HistogramChart, LoadingIndicator, RawExifViewer, and MasonryPhotoItem components to use the new packages.
- Added new icons to the @afilmory/ui package.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-25 01:12:36 +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
6fafb5710e chore: update react version in pnpm-lock.yaml and package.json
- Updated the react dependency version to 19.1.1 in both pnpm-lock.yaml and package.json for consistency and to ensure compatibility with the latest features and fixes.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-22 00:18:13 +08:00
Innei
5d7a103175 chore: update react version in package.json and pnpm-lock.yaml
- Updated the react dependency version to ^19.1.1 in both package.json and pnpm-lock.yaml for consistency and to ensure compatibility with the latest features and fixes.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-21 18:29:38 +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
2191e59b46 feat(builder): enhance S3 client configuration and download handling, try fix #100
- Added network tuning options to the builder configuration, including keep-alive settings, timeouts, and retry mechanisms.
- Integrated the NodeHttpHandler for improved HTTP handling in the S3 client.
- Implemented a download concurrency limiter using a semaphore to manage concurrent downloads.
- Enhanced the getFile method to include retry logic and timeout handling for S3 file downloads, improving robustness and performance.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-14 23:49:30 +08:00
MaxtuneLee
41b0d7a73d Afilmory Docs (#66) 2025-09-11 18:42:47 +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
54b8bd334c feat: add camera and lens filtering functionality
- Introduced a new FilterPanel component for selecting tags, cameras, and lenses.
- Updated gallery settings to include selected cameras and lenses.
- Enhanced photo filtering logic to support camera and lens criteria.
- Updated UI to reflect changes in filtering options and improved user experience.
- Added localization for new filter options in English.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-04 01:44:26 +08:00