Commit Graph

88 Commits

Author SHA1 Message Date
Innei
8b57c878e8 chore: rename project to Afilmory and update related configurations
- Changed project name and title from "Photo Gallery" to "Afilmory" across multiple files including configuration, README, and web manifest.
- Updated descriptions and URLs to reflect the new branding.
- Adjusted OG image plugin and favicon generation scripts to align with the new project name.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-13 01:15:41 +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
881fa09f95 refactor: migrate from react-query to react-router and clean up related code
- Replaced '@tanstack/react-query' with '@tanstack/react-router' in package.json.
- Removed the defineQuery and query-client modules, simplifying the state management approach.
- Updated the App component to prefetch the preview page route.
- Adjusted the RootProviders to remove the QueryClientProvider, streamlining the provider setup.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-13 00:22:32 +08:00
Innei
8f28d75266 chore: change namespace
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-12 21:51:25 +08:00
Innei
bc43458b2f feat: update site configuration and enhance feed structure
- Changed project name and title in the site configuration to "Innei's Afilmory".
- Updated author name in the configuration to "Innei" and adjusted the URL accordingly.
- Added a new feed structure in the configuration to include follow challenge details.
- Enhanced the feed sitemap generation to incorporate the new feed data.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-12 21:42:04 +08:00
Innei
30d2a14e43 fix: update RSS feed generation to include EXIF data and improve XML structure
- Modified the RSS feed generation to extract and include EXIF data such as aperture, shutter speed, ISO, and camera model.
- Updated the XML structure to remove unnecessary escaping for titles and descriptions, enhancing readability.
- Adjusted the example configuration file to use a full URL for the author avatar.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-12 21:35:15 +08:00
Innei
9a639b9b60 docs: update README and add Chinese version
- Translated the README content to English, enhancing accessibility for a broader audience.
- Updated feature descriptions and technical architecture sections for clarity and consistency.
- Added a new README.zh.md file for Chinese-speaking users, maintaining the same structure and information as the English version.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-12 19:52:01 +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
ac52350b6d chore: update package dependencies across multiple packages
- Bumped versions of several packages including zod (3.25.63), tailwindcss (4.1.10), tsx (4.20.2), and others to their latest releases for improved performance and security.
- Updated @types/node and @types/react to 24.0.1 and 19.1.8 respectively in various package.json files to ensure compatibility with the latest TypeScript features.
- Adjusted dependencies in the builder and webgl-viewer packages to reflect the latest versions.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-12 18:34:08 +08:00
Innei
97ae497d79 fix: root container container in safari
- Updated the Masonry component to conditionally render a different implementation based on mobile device detection.
- Modified the layout component to use a ScrollElementContext for mobile and a ScrollArea for desktop, improving the user experience across devices.
- Adjusted the App component's styling to ensure proper overflow handling.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-12 18:28:51 +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
4a385b9852 chore: rename project from Iris Photo Gallery to Afilmory and update related references
- Updated repository URLs in package.json and README.md to reflect the new project name.
- Changed project names in wrangler.jsonc files for SSR and web applications.
- Added "Afilmory" to the cSpell dictionary in VSCode settings.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-12 13:57:40 +08:00
Innei
bf0a2d09ed chore: update @types/node to version 24.0.0 across multiple packages
- Updated @types/node version from 22.15.31 to 24.0.0 in pnpm-lock.yaml, apps/ssr/package.json, and apps/web/package.json.
- Enhanced font loading in web application by adding preconnect links for Google Fonts and applying the 'Geist' font family in index.html and tailwind.css.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 20:27:27 +08:00
tunan
a03db929dd Fix original URL generation for Aliyun OSS (#6) 2025-06-11 20:08:39 +08:00
Innei
323d7f1aa9 docs: update README to include online photo wall links
- Added links to three online photo walls showcasing the project.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 17:14:56 +08:00
Innei
71ec6fefbb feat(WebGLImageViewer): add resize observer for canvas resizing
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 15:52:45 +08:00
Innei
b50ebf0d30 docs: update README for project structure and deployment instructions
- Changed project structure section to a quick start guide with a focus on Docker deployment.
- Removed detailed Vercel deployment instructions for a more streamlined README.
- Added a link to the Docker deployment documentation.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 15:13:29 +08:00
Innei
c010ad3c11 refactor(gallery): update color scheme and improve animations
- Changed background color classes from 'bg-blue-500' to 'bg-accent' in ActionGroup and Slider components for consistency.
- Adjusted animation duration in MasonryItem to enhance performance.
- Improved opacity transitions in PhotoMasonryItem for better user experience on hover.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 14:29:34 +08:00
MaxtuneLee
d7397c60e2 feat: BMP format support (#4)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-11 02:50:40 +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
b9fe7280c0 fix: enhance error logging and streamline font loading in GET handlers
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 02:21:08 +08:00
Innei
b035a9ed0a fix(open-graph): update twitter:image URL to use real origin variable
- Changed the generation of the twitter:image meta tag to utilize the realOrigin variable instead of request.nextUrl.origin, ensuring accurate image URLs for Open Graph tags.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 01:49:55 +08:00
Innei
ed75af6f98 fix(open-graph): use x-forwarded headers to determine real origin for OG tags
- Updated the Open Graph meta tag generation to utilize x-forwarded headers for determining the real origin, ensuring accurate URLs for og:image and og:url.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 01:47:11 +08:00
Innei
09e6f439d7 fix(generate-og-image): handle missing EXIF date values to prevent sorting errors
- Added a check to ensure that both photos have valid EXIF DateTimeOriginal values before sorting, preventing potential errors when the data is missing.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 01:39:55 +08:00
Innei
eb507f9359 fix(gallery): update fallback avatar styling for consistency
- Modified the fallback avatar component in MasonryHeaderMasonryItem to include a background color and size for improved visual consistency.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 01:24:43 +08:00
Innei
ccfb313038 feat: add avatar support and update dependencies
- Added avatar configuration to the author section in config.example.json and README.md.
- Integrated @radix-ui/react-avatar package for avatar rendering in the MasonryHeaderMasonryItem component.
- Updated pnpm-lock.yaml and package.json to include @radix-ui/react-avatar dependency.
- Removed loading text from index.html for a cleaner UI.
- Adjusted photo-loader.ts to use the workdir for manifest path.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 01:11:56 +08:00
Innei
491e8ddb6e fix: type error
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 00:44:54 +08:00
Innei
c62f8b1628 refactor: extract builder as a package
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 00:37:01 +08:00
Innei
a7e4bce1b5 feat(builder): enhance configuration logging and update dependencies
- Added logging for the builder configuration using consola for better visibility.
- Updated the merge function to improve user configuration handling.
- Introduced new dependencies: es-toolkit for merging configurations and consola for logging.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 00:18:43 +08:00
Innei
dbc389d630 chore(dockerignore): update .dockerignore to exclude environment files and adjust paths for SSR assets
- Removed environment files from the ignore list.
- Updated paths to include SSR-specific index files.
- Cleaned up unnecessary entries for better clarity.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 00:08:09 +08:00
Innei
ded9755a58 refactor(builder): remove maxPhotos option and related checks
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-10 20:11:16 +08:00
Innei
2a92ff0ff1 style: enhance OG image layout and design for improved aesthetics
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-10 19:46:45 +08:00
Innei
08fa7fa337 chore: update dockerfile
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-10 19:23:33 +08:00
Innei
c496a78954 refactor(docker): clean up Dockerfile by removing unnecessary COPY commands and debug output
- Removed redundant COPY commands for config files.
- Eliminated debug output from the Dockerfile to streamline the build process.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-10 19:21:45 +08:00
Innei
8aedfb4bf5 fix(docker): ensure preinstall script runs before dependency installation
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-10 19:18:42 +08:00
Innei
0bf70fa6b6 fix(docker): remove duplicate dependency installation in Dockerfile
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-10 19:16:27 +08:00
Innei
3f19e6be51 feat(docker): add Dockerfile for Next.js app in pnpm monorepo
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-10 19:13:31 +08:00
Innei
3632286e1d feat(package): add build:manifest script to package.json for manifest generation
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-10 19:00:00 +08:00
Innei
7f0eb717c1 feat(docker): add Dockerfile and .dockerignore for Next.js app deployment
- Introduced a Dockerfile to facilitate building and running the Next.js application in a pnpm monorepo.
- Added a .dockerignore file to exclude unnecessary files and directories from the Docker context.
- Configured multi-stage builds for optimized image size and performance.
- Set up environment variables and user permissions for production readiness.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-10 18:59:14 +08:00
pseudoyu
2f5d66a4dd fix: backblaze s3 api issue (#3) 2025-06-10 18:04:50 +08:00
Innei
960212955f chore(env): add symlink to root .env file for environment configuration
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-10 16:56:29 +08:00
Innei
9630aa9a85 feat(og): enhance image generation with new font and layout adjustments
- Added SF Pro Display font for improved typography in OG images.
- Increased padding and dimensions for better visual presentation.
- Updated font sizes and margins for titles, descriptions, and tags to enhance readability.
- Adjusted layout properties for image containers and text alignment.

Signed-off-by: Innei <tukon479@gmail.com>

fix(og): update typography and layout for OG images

- Changed letter spacing from 2px to 1px for improved text clarity.
- Updated font family to include Geist for enhanced visual consistency.

Signed-off-by: Innei <tukon479@gmail.com>

feat(og): enhance OG image styling with new background and decorative elements

Signed-off-by: Innei <tukon479@gmail.com>

update og
2025-06-10 16:53:04 +08:00
Innei
898bd18c44 Refactor code structure for improved readability and maintainability
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-10 14:45:38 +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
c00d1b9d18 feat(webgl-viewer): integrate Vite for build process and add TypeScript configuration
- Updated the build script to use Vite for improved performance and modern module support.
- Added TypeScript configuration file for better type checking and module resolution.
- Included unplugin-dts for automatic TypeScript declaration file generation.
- Updated package dependencies to reflect the new build setup.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-09 21:37:38 +08:00
Innei
caa09110dd feat: add SlidingNumber component and integrate scale indicator in ProgressiveImage
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-09 00:52:26 +08:00
Innei
2eb3020daa release: v0.1.0 v0.1.0 2025-06-09 00:39:15 +08:00
Innei
945a8ebe1a refactor: simplify LOD levels and remove unused device detection constants
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-09 00:28:03 +08:00
Innei
972893b2da Refactor WebGL viewer interfaces and remove LOD worker
- Updated DebugInfo interface to replace tiling properties with a new tileSystem structure for better management of tile-related data.
- Deleted the lodWorker.ts file, which contained the LOD processing logic, as it is no longer needed.
- Introduced a new texture.worker.ts file to handle tile creation using OffscreenCanvas, improving performance and memory management.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-09 00:12:15 +08:00
Innei
acc8a37625 feat: enhance caching and title management
- Added caching headers to the OG image generation route for improved performance and caching efficiency.
- Updated the title template in the useTitle hook to utilize the site configuration for dynamic title management.
- Integrated the useTitle hook in the photo detail page to set the document title based on the current photo.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-08 22:14:51 +08:00