- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- Added curl to the Dockerfile for enhanced functionality.
- Ensured the docker-entrypoint.sh script has executable permissions.
Signed-off-by: Innei <tukon479@gmail.com>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
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>
- 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>
- 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>
- 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>