Commit Graph

29 Commits

Author SHA1 Message Date
mgt
8788eaf512 fix: exclude html from service worker precache to prevent stale navigation
When index.html was included in the precache manifest, the NavigationRoute
served a cached (stale) version for all navigation requests. This caused
newly added photos to be invisible until the new service worker activated,
because the old index.html contained an outdated photo manifest.

By removing html from globPatterns, navigation requests fall through to
the network, ensuring users always get the latest index.html.

Fixes #90
2026-03-24 22:08:09 +08:00
Innei
2d9c80bd75 chore(deps): update various dependencies across the project
- Bumped versions for several packages including dotenv (17.3.1), es-toolkit (1.44.0), eslint (10.0.0), prettier (3.8.1), and others.
- Updated React and related packages to version 19.2.4.
- Adjusted motion package to version 12.34.0 across multiple applications.
- Enhanced compatibility by updating @types/node to 25.2.3 and other related packages.

Signed-off-by: Innei <tukon479@gmail.com>
2026-02-13 23:07:25 +08:00
Innei
ba0643e11f refactor(vite): comment out ReactCompilerConfig and related babel plugin configuration
- Commented out the ReactCompilerConfig object and its usage in the babel plugin configuration for the React plugin in Vite.
- This change simplifies the configuration and prepares for potential future adjustments.

Signed-off-by: Innei <tukon479@gmail.com>
2026-02-13 22:46:53 +08:00
Innei
8a20fef4a9 refactor: reorganize Vite configuration for route generation and static web build plugins
- Renamed and reordered plugins for clarity, separating route generation from static web build plugins.
- Integrated route generation plugins into the Vite configuration to streamline the build process.

Signed-off-by: Innei <tukon479@gmail.com>
2026-01-11 22:49:40 +08:00
Innei
b0d1177427 chore: update vite-plugin-route-builder to version 0.5.0-alpha.1 and adjust related configurations
- Updated the vite-plugin-route-builder dependency in package.json files for both the web and dashboard applications.
- Modified the pnpm-lock.yaml to reflect the new version.
- Updated the router configuration to utilize generated routes from the new version.
- Added a new layout component for the main page in the web application.
- Adjusted import statements and added a new entry to .gitignore for generated routes.

Signed-off-by: Innei <tukon479@gmail.com>
2026-01-06 23:52:08 +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
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
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
c1d585d9ac feat: add build:serve script and update build:web command for server serving, fixed #147
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-06 01:15:34 +08:00
Innei
71b925bd36 fix: static web proxy
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-01 23:14:49 +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
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
a3cfeca643 chore: disable pwa
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-26 18:58:14 +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
80c946b9c5 chore: update local development server port to 13333
- Changed the development server port from 3000 to 13333 in multiple files for consistency across the application.
- Updated URLs in SSR routes and configuration files to reflect the new port.

Signed-off-by: Innei <tukon479@gmail.com>
2025-07-10 15:37:12 +08:00
EmccK
256becf604 feat: add local storage provider and photos static plugin (#40)
Co-authored-by: MaxtuneLee <60775796+MaxtuneLee@users.noreply.github.com>
2025-07-09 13:23:32 +08:00
Innei
e4fde5ae74 feat: integrate PWA support and update manifest configuration
- Added PWA support using vite-plugin-pwa, including configuration for service worker and caching strategies.
- Updated index.html to include necessary meta tags for iOS Safari PWA support.
- Changed references from site.webmanifest to manifest.webmanifest for consistency.
- Removed redundant manifest generation from the favicon script, as it is now handled by vite-plugin-pwa.

Signed-off-by: Innei <tukon479@gmail.com>
2025-07-01 16:02:28 +08:00
Innei
96400b1775 feat: support share to external via iframe
- Added Tailwind CSS plugins and configurations to improve styling across the application.
- Introduced new global styles and layout components for better structure and design consistency.
- Implemented a MasonryGallery component for responsive photo display.
- Enhanced photo item rendering with EXIF data and improved loading states.
- Updated package dependencies to include new Tailwind CSS utilities and components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-29 23:09:57 +08:00
Innei
6668425fba feat: add Vite plugins for enhanced functionality and localization support
- Introduced multiple Vite plugins including `ogImagePlugin`, `feedSitemapPlugin`, `localesJsonPlugin`, and `manifestInjectPlugin` to enhance the build process and support dynamic content generation.
- Implemented a custom hot module replacement (HMR) for JSON localization files to improve development experience.
- Added a new `createDependencyChunksPlugin` for better chunk management in the build process.
- Established a structure for handling localization files and generating corresponding assets, improving internationalization support.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-27 16:58:12 +08:00
Innei
5bd5947ec2 feat: update database connection logic and enhance upsert functionality
- Refactored the database connection logic to utilize `neondatabase`, ensuring correct imports and type safety.
- Implemented atomic upsert operations in the views API, allowing for efficient insertion and updating of records using PostgreSQL's `ON CONFLICT` clause.
- Added new dependencies `ast-kit` and `unplugin-ast` for improved AST manipulation in the project.
- Enhanced the UI components with toast notifications for user feedback on reactions and improved styling with Tailwind CSS.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-27 01:19:08 +08:00
Innei
91897b6032 feat: enhance SSR and web applications with manifest injection and configuration updates
- Introduced a Vite plugin to inject the photos manifest into the HTML, enabling dynamic updates and hot reloading.
- Updated ESLint configuration to ignore build errors during SSR.
- Modified package.json scripts for concurrent development of SSR and web applications.
- Adjusted paths and imports for better module resolution and consistency across the codebase.
- Added type definitions for the global __MANIFEST__ variable to ensure type safety.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-26 22:03:04 +08:00
Innei
c58835e35b feat: enhance SSR routing and development experience
- Updated the SSR routing to conditionally load development and production handlers based on the NODE_ENV variable.
- Introduced a new dev.ts file to handle requests in development mode, including asset proxying and HTML response generation.
- Removed the not-found.tsx file and streamlined the photoId route logic for better maintainability.
- Added support for Open Graph and Twitter meta tags in the production handler for improved SEO.
- Updated README with new S3 endpoint configuration.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-23 11:31:28 +08:00
Innei
9bc692998a feat: add locales JSON transformation plugin to Vite configuration
- Introduced a new plugin for transforming JSON files in the locales directory, enhancing internationalization support.
- Updated the Vite configuration to include the new localesJsonPlugin, streamlining the handling of localization files.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-13 01:08:24 +08:00
Innei
e7ecf98c42 feat: add feed sitemap generation plugin and update site URL in config
- Introduced a new Vite plugin for generating RSS feeds and sitemaps based on photo data.
- Updated the example configuration file to reflect the new site URL format.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-12 19:48:58 +08:00
Innei
c775f82153 feat(i18n): integrate i18next for internationalization support
- Added i18next and react-i18next for multi-language support in the application.
- Created localization files for English, Japanese, Korean, Traditional Chinese, and Simplified Chinese.
- Implemented translation hooks in various components to replace hardcoded strings with translatable keys.
- Updated ESLint configuration to include new i18n JSON validation rules.
- Introduced a new event bus for handling i18n updates during development.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-12 17:56:11 +08:00
Innei
da509ed172 feat(config): introduce site configuration file and update references
- Added a new site.config.ts file to manage site configuration, merging default settings with user-defined options.
- Updated import paths in tsconfig.json files for both SSR and web applications to reference the new site.config.ts.
- Modified usage of siteConfig in route.tsx and ActionGroup.tsx to ensure compatibility with the new configuration structure.
- Removed the old site configuration export from config/site.config.ts.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 02:30:10 +08:00
Innei
bfeb0685ea feat(web): update HTML template and integrate vite-plugin-html for dynamic content injection
- Refactored the HTML template in `index.html` to use EJS-style placeholders for dynamic title and description.
- Added `vite-plugin-html` to the project for improved HTML handling and dynamic content injection during the build process.
- Updated `vite.config.ts` to configure the HTML plugin for minification and data injection.
- Adjusted `package.json` to include the new `vite-plugin-html` dependency.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-09 22:53:20 +08:00
Innei
238cbb71e7 feat: implement dynamic title and description in HTML template
- Updated index.html to use placeholders for title and description.
- Enhanced vite.config.ts to transform HTML and replace placeholders with site configuration values.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-05 14:28:42 +08:00
Innei
f841d2ada2 feat: init 2025-06-05 13:27:09 +08:00