473 Commits

Author SHA1 Message Date
Innei
cc977c662d feat: add all comments management functionality
- Introduced a new endpoint for listing all comments accessible only to admins.
- Enhanced the comments API with new query DTOs and service methods for better data handling.
- Implemented a comprehensive comments management interface in the dashboard, including filters and pagination.
- Added components for displaying, filtering, and managing comments, including loading states and error handling.
- Updated navigation to include a link to the comments management section.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 00:36:17 +08:00
Innei
4356494d01 fix: adjust text size in SelectContent component
- Updated the text size class from 'text-body' to 'text-sm' in the SelectContent component for improved readability.
- Maintained existing styles and functionality while enhancing the visual consistency of the component.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-26 23:57:43 +08:00
Innei
2a95dcecae feat: enhance comments functionality with social sign-in and user management
- Introduced social sign-in options for comments, allowing users to authenticate via various providers.
- Updated comments API to handle user data, including fetching user information and managing comment relations.
- Refactored comment components to improve user experience, including a new user avatar component and enhanced comment input handling.
- Added loading states and error handling for comment submissions and reactions.
- Implemented a relative time display for comment timestamps to improve readability.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-26 23:23:09 +08:00
Innei
630c95aa08 fix: add missing newlines in JSON and Markdown files
- Added missing newlines at the end of JSON files in `package.json` and `routes.json` for proper formatting.
- Updated `DESIGN_SYSTEM.md` and `QUICK_START.md` to improve code readability by adjusting spacing and formatting.
- Ensured consistent formatting in various files to enhance maintainability.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-26 21:50:01 +08:00
Innei
71e143f0b3 feat: refactor photo viewer and introduce new modules
- Reorganized the photo viewer structure by moving components to dedicated modules for better maintainability.
- Added new modules for command palette, inspector, and metadata handling.
- Updated image loader management and integrated new loading indicators.
- Enhanced the comments section with improved error handling and loading states.
- Introduced new hooks and utilities for better state management and user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-26 21:18:38 +08:00
Innei
b919cde740 feat: implement comments feature in photo viewer
- Added a new comments section to the photo viewer, allowing users to view, add, and reply to comments.
- Introduced components for comment input, display, and action handling.
- Integrated comments API for fetching and posting comments.
- Enhanced user experience with loading states and error handling for comments.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-26 20:52:36 +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
Innei
0b51776899 chore: update Dockerfile to include curl and improve entrypoint permissions
- Added curl to the Dockerfile for enhanced functionality.
- Ensured the docker-entrypoint.sh script has executable permissions.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 18:53:50 +08:00
Wenzhuo Liu
58a989c1e4 feat(geocoding): implement reverse geocoding (#157)
Co-authored-by: Innei <tukon479@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-24 14:48:57 +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
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