Commit Graph

455 Commits

Author SHA1 Message Date
Innei
f70ff50096 Merge branch 'main' into mgt/reverse-geo-encoding 2025-11-24 14:48:24 +08:00
Innei
a56f6aac4e fix: dns cname
- Enhanced AGENTS.md to provide a more detailed description of the dashboard's design aesthetic, emphasizing a linear, data-first approach.
- Updated UI design guidelines in the dashboard to reflect a clearer description of the design principles, focusing on simplicity and clarity.
- Improved domain verification instructions in the CustomDomainCard and DomainListItem components, ensuring better user guidance for DNS setup.
- Added new localization keys for improved clarity in domain verification steps and UI elements.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-23 21:33:21 +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
Innei
1cdab9835f feat: update GitHub Actions workflow and reorganize route imports
- Added a step to the GitHub Actions workflow in `core-image.yml` to trigger a Dokploy deployment via a webhook.
- Reorganized route imports in `routes.ts` to improve clarity and maintainability, adding new routes for storage providers and SaaS documentation.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-23 20:46:49 +08:00
Innei
b5fa9576a4 feat: enhance SaaS documentation and introduce health check module
- Added new documentation sections for SaaS architecture, deployment, and CMS functionality, detailing multi-tenant capabilities and live updates.
- Removed the outdated "Advanced SaaS Deployment" documentation in favor of a more streamlined approach.
- Introduced a health check module with endpoints to monitor the status of the database and Redis services, improving system reliability.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-23 20:44:15 +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
1c64070a5d feat: add GitHub Actions workflow for building and publishing core Docker image
- Introduced a new GitHub Actions workflow in `core-image.yml` to automate the build and publish process for the core Docker image.
- The workflow triggers on pushes to the main branch and supports manual dispatch.
- Configured steps for checking out the repository, setting up Docker Buildx, logging into the GitHub Container Registry, extracting Docker metadata, and building and pushing the Docker image.

Additionally, updated documentation to reflect changes in the deployment process, including a new section for multi-tenant SaaS deployment.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-23 20:22:23 +08:00
Innei
848d9af672 refactor: update route imports and improve scroller functionality
- Reorganized route imports in `routes.ts` to enhance clarity and maintainability, adding new storage provider routes.
- Modified `scroller.ts` to use a default scroller element based on window availability, improving compatibility in different environments.
- Updated context creation in `ctx.ts` to ensure proper handling of the scroll element in non-browser environments.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-23 19:50:45 +08:00
Innei
4b931f8c7a refactor: simplify build process and remove unused components
- Updated the build script for the client to streamline the process by removing TypeScript compilation.
- Removed the LinearBorderPanel component and its associated exports from the index file, cleaning up unused code.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-23 19:45:24 +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
mgt
9bee09b67f fix: pass language tag in config 2025-11-23 13:33:31 +08:00
mgt
5961387d90 feat: switch to plugin 2025-11-23 13:33:31 +08:00
Innei
48eae6658c Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-23 13:33:31 +08:00
mgt
40ecd23655 chore: move to user section 2025-11-23 13:33:31 +08:00
mgt
0b2fcdeb9f docs: update doc for reverse geoencoding 2025-11-23 13:33:31 +08:00
mgt
7c709cd8a9 feat: add position filling stage in manifest building 2025-11-23 13:33:31 +08:00
mgt
fb301bef59 feat(geocoding): implement reverse geocoding functionality and add location data to photo processing 2025-11-23 13:33:31 +08:00
Innei
f598add893 feat: enhance static asset handling and improve request processing
- Refactored StaticAssetService to remove unnecessary request options, simplifying the handleRequest method.
- Introduced resolveRequestHost method to streamline host resolution logic.
- Updated StaticBaseController and StaticShareController to align with the new request handling approach.
- Added I18nProvider to tenant missing and restricted entry points for improved localization support.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-23 00:09:28 +08:00
Innei
9095bb08c8 feat: add normalization helper functions and integrate into services
- Introduced new helper functions for string and date normalization, enhancing input validation across various services.
- Updated SiteSettingService and SystemSettingService to utilize the new normalization functions for improved data handling.
- Refactored existing code to replace custom normalization logic with the new helper methods, ensuring consistency and reducing redundancy.
- Enhanced localization files to support new error messages related to normalization.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-22 01:21:26 +08:00
Innei
f0678038c2 feat: implement managed storage plans and provider settings
- Added new UI schema for managing storage plans, including catalog, pricing, and product configurations.
- Introduced StoragePlanService to handle storage plan operations and integrate with existing billing services.
- Updated SuperAdmin settings to include managed storage provider configurations.
- Enhanced localization files with new keys for storage plan management.
- Implemented API endpoints for fetching and updating storage plans.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-21 16:23:13 +08:00
Innei
914342807d feat: add SSR support for photo pages with separate dev and prod handlers
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-21 00:06:18 +08:00
Innei
1835aff210 feat: update event handling to use async/await for improved reliability
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-20 23:51:30 +08:00
Innei
ac9f12b172 feat: enhance domain management UI with loading states and improved button styles
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-20 23:25:23 +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
a1710924a8 feat: implement custom domain management for tenants
- Introduced a new TenantDomainRepository and TenantDomainService to handle domain-related operations.
- Added endpoints in TenantController for listing, requesting, verifying, and deleting custom domains.
- Implemented domain verification logic with CNAME and TXT record support.
- Enhanced UI components for domain management, including CustomDomainCard and DomainListItem.
- Updated localization files to include new keys for domain management features.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-20 20:54:12 +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
bc9c87d008 feat: b2 provider
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-19 21:11:47 +08:00
Innei
eadb5b2f3d fix: update OG_IMAGE_URL to point to the correct asset location
- Changed the OG_IMAGE_URL constant to a direct link for the Afilmory readme image on GitHub, ensuring proper display in SEO metadata.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-19 16:24:35 +08:00
Innei
32dc0e661f refactor: remove Simple CORS implementation and related components
- Deleted SimpleCorsInterceptor, associated decorator, and helper functions to streamline CORS handling.
- Updated CorsMiddleware to use a simplified CORS configuration.
- Refactored StaticAssetController and StaticAssetService to remove references to the removed CORS functionality.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-19 15:36:19 +08:00
Innei
da429585da feat: add background color to body in global styles
- Applied a black background color to the body element in the global CSS file to enhance the visual design of the landing page.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-19 14:00:33 +08:00
Innei
c1dc142f41 feat: add logo image and update page header with new branding
- Introduced a new logo image for Afilmory.
- Updated the PageHeader component to display the logo using Next.js Image component for optimized loading.
- Enhanced SEO by updating the title in English and Chinese locale files to reflect the new branding.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-19 01:30:03 +08:00
Innei
a75f76ea17 refactor: optimize Dockerfile build process
- Combined multiple build commands into a single RUN command using background execution and wait to improve build efficiency.
- Ensured that builds for @afilmory/web, @afilmory/dashboard, and core are executed concurrently.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-19 01:26:39 +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
23d208c091 feat: implement simple CORS support and enhance error handling
- Added SimpleCorsInterceptor to manage CORS headers for requests.
- Introduced AllowSimpleCors decorator for easy application of CORS settings on controllers and methods.
- Created helper function to apply CORS headers consistently across responses.
- Updated TenantController to utilize the new CORS functionality.
- Added COMMON_FORBIDDEN error code to improve error handling.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-19 01:04:39 +08:00
Innei
b5fdb326a4 feat: update landing configuration and remove unused components
- Enhanced Next.js configuration by integrating codeInspectorPlugin for improved bundler support.
- Added dynamic export settings in robots and sitemap files to enforce static generation.
- Removed obsolete components and hooks to streamline the codebase, including error handling, UI elements, and various utility functions.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-19 00:49:30 +08:00
Innei
a39e130c65 feat: enhance SEO and metadata handling across landing pages
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-19 00:18:59 +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
33b01e37ee feat(docker): add patches directory copy in Dockerfile
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-18 20:32:10 +08:00
Innei
737618b46b feat(i18n): implement internationalization for UI schema and settings
- Introduced UI schema internationalization support by adding translation functions for English and Chinese.
- Updated various controllers and services to accept language headers for localized responses.
- Created new locale files for UI schema in English and Chinese, enhancing user experience for diverse audiences.
- Refactored UI schema generation to utilize translation keys for dynamic content rendering.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-18 20:27:14 +08:00
Innei
efa5ade0da feat(static-assets): introduce StaticAssetHostService and enhance static asset handling and i18n
- Added StaticAssetHostService to manage static asset host resolution with caching.
- Updated StaticAssetService and StaticDashboardService to utilize the new static asset host resolver.
- Enhanced StaticWebController to pass request host information for improved asset handling.
- Refactored static asset interfaces to support new functionality.
- Integrated CORS headers and cache policies for better asset management.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-18 17:32:39 +08:00
Innei
c94a601f83 feat(i18n): enhance dashboard with internationalization support
- Integrated `useTranslation` from `react-i18next` across various components for localization.
- Updated navigation, settings, and photo management components to utilize translation keys for labels and descriptions.
- Refactored error messages and user prompts to support multiple languages.
- Improved user experience by ensuring all relevant text is translatable, enhancing accessibility for non-English users.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-18 14:38:02 +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
855decbe77 refactor(photo): optimize photo loading and improve component imports
- Changed photo loading methods to remove unnecessary await for synchronous operations.
- Updated import path for icons in PhotoItem component for better clarity and organization.
- Adjusted class names for consistency in styling.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-17 23:29:07 +08:00
Innei
739b1e48b0 feat(dashboard): enhance App and PhotoSyncActions components with new hooks and functionality
- Integrated useRequireStorageProvider in AppLayer to manage storage provider requirements.
- Added auto-run functionality in PhotoSyncActions to trigger sync based on user settings.
- Updated useStorageProvidersQuery to accept options for enabling/disabling queries.
- Enhanced StorageProvidersManager to prompt users for immediate photo sync after configuration.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-17 21:59:03 +08:00
Innei
53abfc598d feat(auth): enhance LoginStep with platform description and adjust layout
- Added a descriptive paragraph about Afilmory as a photo gallery platform to the LoginStep component.
- Updated layout classes for improved consistency and alignment in the LoginStep and SuperAdminTenantManager components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-17 18:15:17 +08:00
Innei
a6a7e2be33 fix(auth): adjust layout class for SocialAuthButtons component
- Modified the container class for the SocialAuthButtons component to improve layout consistency.
- Removed unnecessary 'justify-center' class when layout is set to 'row' for better alignment.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-17 17:35:32 +08:00
Innei
05a83dadde feat(docker): add patches directory to Dockerfile for core and builder stages
- Included a new COPY command to transfer patches into the Docker image.
- Ensured that patches are available in both core and builder stages for application consistency.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-17 15:39:24 +08:00