├── .dockerignore ├── .env.example ├── .github ├── .github │ └── dependabot.yml └── workflows │ ├── build-main.yaml │ ├── build-pull-request.yaml │ ├── build-release.yaml │ └── eslint.yaml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── .stackblitzrc ├── Dockerfile ├── LICENSE ├── README.md ├── app ├── (default) │ ├── layout.tsx │ ├── page.tsx │ ├── preview │ │ └── [...id] │ │ │ └── page.tsx │ └── tag │ │ └── [...tag] │ │ └── page.tsx ├── (theme) │ ├── [...album] │ │ ├── layout.tsx │ │ └── page.tsx │ └── layout.tsx ├── @modal │ ├── (...)preview │ │ └── [id] │ │ │ ├── modal.tsx │ │ │ └── page.tsx │ └── default.tsx ├── admin │ ├── about │ │ └── page.tsx │ ├── album │ │ └── page.tsx │ ├── layout.tsx │ ├── list │ │ └── page.tsx │ ├── page.tsx │ ├── settings │ │ ├── account │ │ │ └── page.tsx │ │ ├── authenticator │ │ │ └── page.tsx │ │ ├── passkey │ │ │ └── page.tsx │ │ ├── preferences │ │ │ └── page.tsx │ │ └── storages │ │ │ └── page.tsx │ └── upload │ │ └── page.tsx ├── api │ ├── [[...route]] │ │ └── route.ts │ ├── auth │ │ └── [...all] │ │ │ └── route.ts │ └── v1 │ │ └── images │ │ └── camera-lens-list │ │ └── route.ts ├── layout.tsx ├── login │ └── page.tsx ├── providers │ ├── button-store-providers.tsx │ ├── config-store-providers.tsx │ ├── next-ui-providers.tsx │ ├── progress-bar-providers.tsx │ └── toaster-providers.tsx ├── rss.xml │ └── route.ts └── sign-up │ └── page.tsx ├── components.json ├── components ├── admin │ ├── album │ │ ├── album-add-button.tsx │ │ ├── album-add-sheet.tsx │ │ ├── album-edit-sheet.tsx │ │ ├── album-list.tsx │ │ ├── album-title.tsx │ │ ├── exif-view.tsx │ │ └── refresh-button.tsx │ ├── dashboard │ │ └── card-list.tsx │ ├── list │ │ ├── image-batch-delete-sheet.tsx │ │ ├── image-edit-sheet.tsx │ │ ├── image-view.tsx │ │ ├── list-image.tsx │ │ └── list-props.tsx │ ├── search-border.tsx │ ├── search-button.tsx │ ├── settings │ │ └── storages │ │ │ ├── open-list-edit-sheet.tsx │ │ │ ├── open-list-tabs.tsx │ │ │ ├── r2-edit-sheet.tsx │ │ │ ├── r2-tabs.tsx │ │ │ ├── s3-edit-sheet.tsx │ │ │ ├── s3-tabs.tsx │ │ │ └── tabs-table-cell.tsx │ └── upload │ │ ├── file-upload.tsx │ │ ├── livephoto-file-upload.tsx │ │ ├── multiple-file-upload.tsx │ │ └── simple-file-upload.tsx ├── album │ ├── README.md │ ├── blur-image.tsx │ ├── live-photo.tsx │ ├── motion-image.tsx │ ├── preview-image-exif.tsx │ ├── preview-image.tsx │ ├── progressive-image.tsx │ └── tag-gallery.tsx ├── auth │ ├── passkey-login.tsx │ └── passkey-register.tsx ├── gallery │ ├── README.md │ └── simple │ │ └── gallery-image.tsx ├── icons │ ├── aperture.tsx │ ├── arrow-left.tsx │ ├── arrow-right.tsx │ ├── camera.tsx │ ├── chevron-left.tsx │ ├── chevron-right.tsx │ ├── chevrons-up-down.tsx │ ├── circle-chevron-down.tsx │ ├── circle-help.tsx │ ├── clock.tsx │ ├── cog.tsx │ ├── compass.tsx │ ├── copy.tsx │ ├── crosshair.tsx │ ├── delete.tsx │ ├── download.tsx │ ├── expand.tsx │ ├── fingerprint.tsx │ ├── flask.tsx │ ├── frame.tsx │ ├── gallery-thumbnails.tsx │ ├── gauge.tsx │ ├── github.tsx │ ├── grip.tsx │ ├── key-circle.tsx │ ├── key-square.tsx │ ├── languages.tsx │ ├── layers.tsx │ ├── link.tsx │ ├── loader-pinwheel.tsx │ ├── logout.tsx │ ├── refresh-ccw.tsx │ ├── refresh-cw.tsx │ ├── rocket.tsx │ ├── shield-check.tsx │ ├── sparkles.tsx │ ├── square-pen.tsx │ ├── square-terminal.tsx │ ├── sun-medium.tsx │ ├── sun-moon.tsx │ ├── telescope.tsx │ ├── timer.tsx │ ├── undo.tsx │ ├── upload.tsx │ ├── user.tsx │ └── x.tsx ├── layout │ ├── admin │ │ ├── app-sidebar.tsx │ │ ├── nav-main.tsx │ │ ├── nav-projects.tsx │ │ ├── nav-title.tsx │ │ └── nav-user.tsx │ ├── command.tsx │ ├── header-icon-group.tsx │ ├── logo.tsx │ └── theme │ │ ├── README.md │ │ ├── default │ │ ├── header │ │ │ └── default-header.tsx │ │ └── main │ │ │ └── default-gallery.tsx │ │ ├── simple │ │ ├── header │ │ │ └── simple-header.tsx │ │ └── main │ │ │ └── simple-gallery.tsx │ │ └── template │ │ ├── README.md │ │ ├── header │ │ └── template-header.tsx │ │ └── main │ │ └── template-gallery.tsx ├── login │ └── user-from.tsx ├── sign-up │ └── sign-up-from.tsx └── ui │ ├── accordion.tsx │ ├── alert-dialog.tsx │ ├── alert.tsx │ ├── aspect-ratio.tsx │ ├── avatar.tsx │ ├── badge.tsx │ ├── breadcrumb.tsx │ ├── button.tsx │ ├── calendar.tsx │ ├── card.tsx │ ├── carousel.tsx │ ├── chart.tsx │ ├── checkbox.tsx │ ├── collapsible.tsx │ ├── command.tsx │ ├── context-menu.tsx │ ├── dialog.tsx │ ├── drawer.tsx │ ├── dropdown-menu.tsx │ ├── file-upload.tsx │ ├── form.tsx │ ├── hover-card.tsx │ ├── input-otp.tsx │ ├── input.tsx │ ├── label.tsx │ ├── menubar.tsx │ ├── navigation-menu.tsx │ ├── origin │ ├── evervault-card.tsx │ ├── multiselect.tsx │ └── text-counter.tsx │ ├── popover.tsx │ ├── progress.tsx │ ├── radio-group.tsx │ ├── resizable.tsx │ ├── scroll-area.tsx │ ├── select.tsx │ ├── separator.tsx │ ├── sheet.tsx │ ├── sidebar.tsx │ ├── skeleton.tsx │ ├── slider.tsx │ ├── sonner.tsx │ ├── switch.tsx │ ├── table.tsx │ ├── tabs.tsx │ ├── textarea.tsx │ ├── toggle-group.tsx │ ├── toggle.tsx │ └── tooltip.tsx ├── eslint.config.mjs ├── hono ├── albums.ts ├── file.ts ├── images.ts ├── index.ts ├── open │ ├── download.ts │ └── images.ts ├── settings.ts └── storage │ └── open-list.ts ├── hooks ├── use-blurhash.ts ├── use-is-hydrated.ts ├── use-mobile.ts ├── use-passkey-status.ts ├── use-swr-hydrated.ts ├── use-swr-infinite-hook.ts ├── use-swr-infinite-server-hook.ts ├── use-swr-page-total-hook.ts └── use-swr-page-total-server-hook.ts ├── i18n.ts ├── instrumentation.ts ├── lib ├── github │ └── get-contributors.ts └── utils │ ├── array.ts │ ├── blurhash-client.ts │ ├── blurhash-server.ts │ ├── fetcher.ts │ ├── file.ts │ ├── index.ts │ └── locale.ts ├── messages ├── en.json ├── ja.json ├── zh-TW.json └── zh.json ├── netlify.toml ├── next-env.d.ts ├── next.config.mjs ├── package.json ├── pnpm-lock.yaml ├── postcss.config.mjs ├── prisma ├── migrations │ ├── 20241030142734_init │ │ └── migration.sql │ ├── 20241121072529_v1 │ │ └── migration.sql │ ├── 20241129025605_v1_1 │ │ └── migration.sql │ ├── 20250106024234_images_sorting_in_album │ │ └── migration.sql │ ├── 20250201054843_v1_3 │ │ └── migration.sql │ ├── 20250213051523_v1_4 │ │ └── migration.sql │ ├── 20250226144408_add_json_field_indexes │ │ └── migration.sql │ ├── 20250316134415_add_random_show_for_album │ │ └── migration.sql │ ├── 20250413042147_remove_copyright │ │ └── migration.sql │ ├── 20250413054226_remove_album_download │ │ └── migration.sql │ ├── 20250418170241_update_show_default │ │ └── migration.sql │ ├── 20250614083052_better_auth │ │ └── migration.sql │ ├── 20250820161914_add_image_name │ │ └── migration.sql │ ├── 20250914095408_add_webauthn_support │ │ └── migration.sql │ ├── 20250914100930_add_webauthn_support_update │ │ └── migration.sql │ ├── 20250916145002_blurhash │ │ └── migration.sql │ ├── 20250917153143_theme │ │ └── migration.sql │ └── migration_lock.toml ├── schema.prisma └── seed.ts ├── proxy.ts ├── public ├── apple-touch-icon.png ├── favicon.ico ├── favicon.svg ├── fonts │ └── LXGWNeoXiHei.ttf ├── icons │ ├── icon-192x192.png │ └── icon-512x512.png ├── manifest.json ├── maskable-icon.png └── robots.txt ├── script.sh ├── scripts └── migrate │ ├── README.md │ ├── requirements.txt │ └── v1_to_v2_data_migration.py ├── server ├── auth │ ├── auth-client.ts │ └── index.ts ├── db │ ├── operate │ │ ├── albums.ts │ │ ├── configs.ts │ │ └── images.ts │ └── query │ │ ├── albums.ts │ │ ├── configs.ts │ │ └── images.ts └── lib │ ├── db.ts │ ├── file-upload.ts │ ├── r2.ts │ ├── s3.ts │ └── s3api.ts ├── stores ├── button-stores.ts └── config-stores.ts ├── style └── globals.css ├── tsconfig.json └── types ├── http.ts ├── index.ts ├── language.ts └── props.ts /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/.dockerignore -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/.env.example -------------------------------------------------------------------------------- /.github/.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/.github/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/build-main.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/.github/workflows/build-main.yaml -------------------------------------------------------------------------------- /.github/workflows/build-pull-request.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/.github/workflows/build-pull-request.yaml -------------------------------------------------------------------------------- /.github/workflows/build-release.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/.github/workflows/build-release.yaml -------------------------------------------------------------------------------- /.github/workflows/eslint.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/.github/workflows/eslint.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/.npmrc -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/.prettierignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /.stackblitzrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/.stackblitzrc -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/README.md -------------------------------------------------------------------------------- /app/(default)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/(default)/layout.tsx -------------------------------------------------------------------------------- /app/(default)/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/(default)/page.tsx -------------------------------------------------------------------------------- /app/(default)/preview/[...id]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/(default)/preview/[...id]/page.tsx -------------------------------------------------------------------------------- /app/(default)/tag/[...tag]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/(default)/tag/[...tag]/page.tsx -------------------------------------------------------------------------------- /app/(theme)/[...album]/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/(theme)/[...album]/layout.tsx -------------------------------------------------------------------------------- /app/(theme)/[...album]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/(theme)/[...album]/page.tsx -------------------------------------------------------------------------------- /app/(theme)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/(theme)/layout.tsx -------------------------------------------------------------------------------- /app/@modal/(...)preview/[id]/modal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/@modal/(...)preview/[id]/modal.tsx -------------------------------------------------------------------------------- /app/@modal/(...)preview/[id]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/@modal/(...)preview/[id]/page.tsx -------------------------------------------------------------------------------- /app/@modal/default.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/@modal/default.tsx -------------------------------------------------------------------------------- /app/admin/about/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/admin/about/page.tsx -------------------------------------------------------------------------------- /app/admin/album/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/admin/album/page.tsx -------------------------------------------------------------------------------- /app/admin/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/admin/layout.tsx -------------------------------------------------------------------------------- /app/admin/list/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/admin/list/page.tsx -------------------------------------------------------------------------------- /app/admin/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/admin/page.tsx -------------------------------------------------------------------------------- /app/admin/settings/account/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/admin/settings/account/page.tsx -------------------------------------------------------------------------------- /app/admin/settings/authenticator/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/admin/settings/authenticator/page.tsx -------------------------------------------------------------------------------- /app/admin/settings/passkey/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/admin/settings/passkey/page.tsx -------------------------------------------------------------------------------- /app/admin/settings/preferences/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/admin/settings/preferences/page.tsx -------------------------------------------------------------------------------- /app/admin/settings/storages/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/admin/settings/storages/page.tsx -------------------------------------------------------------------------------- /app/admin/upload/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/admin/upload/page.tsx -------------------------------------------------------------------------------- /app/api/[[...route]]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/api/[[...route]]/route.ts -------------------------------------------------------------------------------- /app/api/auth/[...all]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/api/auth/[...all]/route.ts -------------------------------------------------------------------------------- /app/api/v1/images/camera-lens-list/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/api/v1/images/camera-lens-list/route.ts -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/layout.tsx -------------------------------------------------------------------------------- /app/login/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/login/page.tsx -------------------------------------------------------------------------------- /app/providers/button-store-providers.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/providers/button-store-providers.tsx -------------------------------------------------------------------------------- /app/providers/config-store-providers.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/providers/config-store-providers.tsx -------------------------------------------------------------------------------- /app/providers/next-ui-providers.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/providers/next-ui-providers.tsx -------------------------------------------------------------------------------- /app/providers/progress-bar-providers.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/providers/progress-bar-providers.tsx -------------------------------------------------------------------------------- /app/providers/toaster-providers.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/providers/toaster-providers.tsx -------------------------------------------------------------------------------- /app/rss.xml/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/rss.xml/route.ts -------------------------------------------------------------------------------- /app/sign-up/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/app/sign-up/page.tsx -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components.json -------------------------------------------------------------------------------- /components/admin/album/album-add-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/album/album-add-button.tsx -------------------------------------------------------------------------------- /components/admin/album/album-add-sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/album/album-add-sheet.tsx -------------------------------------------------------------------------------- /components/admin/album/album-edit-sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/album/album-edit-sheet.tsx -------------------------------------------------------------------------------- /components/admin/album/album-list.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/album/album-list.tsx -------------------------------------------------------------------------------- /components/admin/album/album-title.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/album/album-title.tsx -------------------------------------------------------------------------------- /components/admin/album/exif-view.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/album/exif-view.tsx -------------------------------------------------------------------------------- /components/admin/album/refresh-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/album/refresh-button.tsx -------------------------------------------------------------------------------- /components/admin/dashboard/card-list.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/dashboard/card-list.tsx -------------------------------------------------------------------------------- /components/admin/list/image-batch-delete-sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/list/image-batch-delete-sheet.tsx -------------------------------------------------------------------------------- /components/admin/list/image-edit-sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/list/image-edit-sheet.tsx -------------------------------------------------------------------------------- /components/admin/list/image-view.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/list/image-view.tsx -------------------------------------------------------------------------------- /components/admin/list/list-image.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/list/list-image.tsx -------------------------------------------------------------------------------- /components/admin/list/list-props.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/list/list-props.tsx -------------------------------------------------------------------------------- /components/admin/search-border.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/search-border.tsx -------------------------------------------------------------------------------- /components/admin/search-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/search-button.tsx -------------------------------------------------------------------------------- /components/admin/settings/storages/open-list-edit-sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/settings/storages/open-list-edit-sheet.tsx -------------------------------------------------------------------------------- /components/admin/settings/storages/open-list-tabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/settings/storages/open-list-tabs.tsx -------------------------------------------------------------------------------- /components/admin/settings/storages/r2-edit-sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/settings/storages/r2-edit-sheet.tsx -------------------------------------------------------------------------------- /components/admin/settings/storages/r2-tabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/settings/storages/r2-tabs.tsx -------------------------------------------------------------------------------- /components/admin/settings/storages/s3-edit-sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/settings/storages/s3-edit-sheet.tsx -------------------------------------------------------------------------------- /components/admin/settings/storages/s3-tabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/settings/storages/s3-tabs.tsx -------------------------------------------------------------------------------- /components/admin/settings/storages/tabs-table-cell.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/settings/storages/tabs-table-cell.tsx -------------------------------------------------------------------------------- /components/admin/upload/file-upload.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/upload/file-upload.tsx -------------------------------------------------------------------------------- /components/admin/upload/livephoto-file-upload.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/upload/livephoto-file-upload.tsx -------------------------------------------------------------------------------- /components/admin/upload/multiple-file-upload.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/upload/multiple-file-upload.tsx -------------------------------------------------------------------------------- /components/admin/upload/simple-file-upload.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/admin/upload/simple-file-upload.tsx -------------------------------------------------------------------------------- /components/album/README.md: -------------------------------------------------------------------------------- 1 | ## 相册通用组件 2 | 3 | 大多数主题都能复用的组件。 -------------------------------------------------------------------------------- /components/album/blur-image.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/album/blur-image.tsx -------------------------------------------------------------------------------- /components/album/live-photo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/album/live-photo.tsx -------------------------------------------------------------------------------- /components/album/motion-image.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/album/motion-image.tsx -------------------------------------------------------------------------------- /components/album/preview-image-exif.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/album/preview-image-exif.tsx -------------------------------------------------------------------------------- /components/album/preview-image.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/album/preview-image.tsx -------------------------------------------------------------------------------- /components/album/progressive-image.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/album/progressive-image.tsx -------------------------------------------------------------------------------- /components/album/tag-gallery.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/album/tag-gallery.tsx -------------------------------------------------------------------------------- /components/auth/passkey-login.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/auth/passkey-login.tsx -------------------------------------------------------------------------------- /components/auth/passkey-register.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/auth/passkey-register.tsx -------------------------------------------------------------------------------- /components/gallery/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/gallery/README.md -------------------------------------------------------------------------------- /components/gallery/simple/gallery-image.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/gallery/simple/gallery-image.tsx -------------------------------------------------------------------------------- /components/icons/aperture.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/aperture.tsx -------------------------------------------------------------------------------- /components/icons/arrow-left.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/arrow-left.tsx -------------------------------------------------------------------------------- /components/icons/arrow-right.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/arrow-right.tsx -------------------------------------------------------------------------------- /components/icons/camera.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/camera.tsx -------------------------------------------------------------------------------- /components/icons/chevron-left.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/chevron-left.tsx -------------------------------------------------------------------------------- /components/icons/chevron-right.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/chevron-right.tsx -------------------------------------------------------------------------------- /components/icons/chevrons-up-down.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/chevrons-up-down.tsx -------------------------------------------------------------------------------- /components/icons/circle-chevron-down.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/circle-chevron-down.tsx -------------------------------------------------------------------------------- /components/icons/circle-help.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/circle-help.tsx -------------------------------------------------------------------------------- /components/icons/clock.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/clock.tsx -------------------------------------------------------------------------------- /components/icons/cog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/cog.tsx -------------------------------------------------------------------------------- /components/icons/compass.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/compass.tsx -------------------------------------------------------------------------------- /components/icons/copy.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/copy.tsx -------------------------------------------------------------------------------- /components/icons/crosshair.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/crosshair.tsx -------------------------------------------------------------------------------- /components/icons/delete.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/delete.tsx -------------------------------------------------------------------------------- /components/icons/download.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/download.tsx -------------------------------------------------------------------------------- /components/icons/expand.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/expand.tsx -------------------------------------------------------------------------------- /components/icons/fingerprint.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/fingerprint.tsx -------------------------------------------------------------------------------- /components/icons/flask.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/flask.tsx -------------------------------------------------------------------------------- /components/icons/frame.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/frame.tsx -------------------------------------------------------------------------------- /components/icons/gallery-thumbnails.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/gallery-thumbnails.tsx -------------------------------------------------------------------------------- /components/icons/gauge.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/gauge.tsx -------------------------------------------------------------------------------- /components/icons/github.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/github.tsx -------------------------------------------------------------------------------- /components/icons/grip.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/grip.tsx -------------------------------------------------------------------------------- /components/icons/key-circle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/key-circle.tsx -------------------------------------------------------------------------------- /components/icons/key-square.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/key-square.tsx -------------------------------------------------------------------------------- /components/icons/languages.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/languages.tsx -------------------------------------------------------------------------------- /components/icons/layers.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/layers.tsx -------------------------------------------------------------------------------- /components/icons/link.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/link.tsx -------------------------------------------------------------------------------- /components/icons/loader-pinwheel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/loader-pinwheel.tsx -------------------------------------------------------------------------------- /components/icons/logout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/logout.tsx -------------------------------------------------------------------------------- /components/icons/refresh-ccw.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/refresh-ccw.tsx -------------------------------------------------------------------------------- /components/icons/refresh-cw.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/refresh-cw.tsx -------------------------------------------------------------------------------- /components/icons/rocket.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/rocket.tsx -------------------------------------------------------------------------------- /components/icons/shield-check.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/shield-check.tsx -------------------------------------------------------------------------------- /components/icons/sparkles.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/sparkles.tsx -------------------------------------------------------------------------------- /components/icons/square-pen.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/square-pen.tsx -------------------------------------------------------------------------------- /components/icons/square-terminal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/square-terminal.tsx -------------------------------------------------------------------------------- /components/icons/sun-medium.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/sun-medium.tsx -------------------------------------------------------------------------------- /components/icons/sun-moon.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/sun-moon.tsx -------------------------------------------------------------------------------- /components/icons/telescope.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/telescope.tsx -------------------------------------------------------------------------------- /components/icons/timer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/timer.tsx -------------------------------------------------------------------------------- /components/icons/undo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/undo.tsx -------------------------------------------------------------------------------- /components/icons/upload.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/upload.tsx -------------------------------------------------------------------------------- /components/icons/user.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/user.tsx -------------------------------------------------------------------------------- /components/icons/x.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/icons/x.tsx -------------------------------------------------------------------------------- /components/layout/admin/app-sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/admin/app-sidebar.tsx -------------------------------------------------------------------------------- /components/layout/admin/nav-main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/admin/nav-main.tsx -------------------------------------------------------------------------------- /components/layout/admin/nav-projects.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/admin/nav-projects.tsx -------------------------------------------------------------------------------- /components/layout/admin/nav-title.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/admin/nav-title.tsx -------------------------------------------------------------------------------- /components/layout/admin/nav-user.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/admin/nav-user.tsx -------------------------------------------------------------------------------- /components/layout/command.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/command.tsx -------------------------------------------------------------------------------- /components/layout/header-icon-group.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/header-icon-group.tsx -------------------------------------------------------------------------------- /components/layout/logo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/logo.tsx -------------------------------------------------------------------------------- /components/layout/theme/README.md: -------------------------------------------------------------------------------- 1 | ## 主题 2 | 3 | 每个文件夹内对应主题 -------------------------------------------------------------------------------- /components/layout/theme/default/header/default-header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/theme/default/header/default-header.tsx -------------------------------------------------------------------------------- /components/layout/theme/default/main/default-gallery.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/theme/default/main/default-gallery.tsx -------------------------------------------------------------------------------- /components/layout/theme/simple/header/simple-header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/theme/simple/header/simple-header.tsx -------------------------------------------------------------------------------- /components/layout/theme/simple/main/simple-gallery.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/theme/simple/main/simple-gallery.tsx -------------------------------------------------------------------------------- /components/layout/theme/template/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/theme/template/README.md -------------------------------------------------------------------------------- /components/layout/theme/template/header/template-header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/theme/template/header/template-header.tsx -------------------------------------------------------------------------------- /components/layout/theme/template/main/template-gallery.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/layout/theme/template/main/template-gallery.tsx -------------------------------------------------------------------------------- /components/login/user-from.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/login/user-from.tsx -------------------------------------------------------------------------------- /components/sign-up/sign-up-from.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/sign-up/sign-up-from.tsx -------------------------------------------------------------------------------- /components/ui/accordion.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/accordion.tsx -------------------------------------------------------------------------------- /components/ui/alert-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/alert-dialog.tsx -------------------------------------------------------------------------------- /components/ui/alert.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/alert.tsx -------------------------------------------------------------------------------- /components/ui/aspect-ratio.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/aspect-ratio.tsx -------------------------------------------------------------------------------- /components/ui/avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/avatar.tsx -------------------------------------------------------------------------------- /components/ui/badge.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/badge.tsx -------------------------------------------------------------------------------- /components/ui/breadcrumb.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/breadcrumb.tsx -------------------------------------------------------------------------------- /components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/button.tsx -------------------------------------------------------------------------------- /components/ui/calendar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/calendar.tsx -------------------------------------------------------------------------------- /components/ui/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/card.tsx -------------------------------------------------------------------------------- /components/ui/carousel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/carousel.tsx -------------------------------------------------------------------------------- /components/ui/chart.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/chart.tsx -------------------------------------------------------------------------------- /components/ui/checkbox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/checkbox.tsx -------------------------------------------------------------------------------- /components/ui/collapsible.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/collapsible.tsx -------------------------------------------------------------------------------- /components/ui/command.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/command.tsx -------------------------------------------------------------------------------- /components/ui/context-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/context-menu.tsx -------------------------------------------------------------------------------- /components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/dialog.tsx -------------------------------------------------------------------------------- /components/ui/drawer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/drawer.tsx -------------------------------------------------------------------------------- /components/ui/dropdown-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/dropdown-menu.tsx -------------------------------------------------------------------------------- /components/ui/file-upload.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/file-upload.tsx -------------------------------------------------------------------------------- /components/ui/form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/form.tsx -------------------------------------------------------------------------------- /components/ui/hover-card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/hover-card.tsx -------------------------------------------------------------------------------- /components/ui/input-otp.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/input-otp.tsx -------------------------------------------------------------------------------- /components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/input.tsx -------------------------------------------------------------------------------- /components/ui/label.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/label.tsx -------------------------------------------------------------------------------- /components/ui/menubar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/menubar.tsx -------------------------------------------------------------------------------- /components/ui/navigation-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/navigation-menu.tsx -------------------------------------------------------------------------------- /components/ui/origin/evervault-card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/origin/evervault-card.tsx -------------------------------------------------------------------------------- /components/ui/origin/multiselect.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/origin/multiselect.tsx -------------------------------------------------------------------------------- /components/ui/origin/text-counter.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/origin/text-counter.tsx -------------------------------------------------------------------------------- /components/ui/popover.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/popover.tsx -------------------------------------------------------------------------------- /components/ui/progress.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/progress.tsx -------------------------------------------------------------------------------- /components/ui/radio-group.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/radio-group.tsx -------------------------------------------------------------------------------- /components/ui/resizable.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/resizable.tsx -------------------------------------------------------------------------------- /components/ui/scroll-area.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/scroll-area.tsx -------------------------------------------------------------------------------- /components/ui/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/select.tsx -------------------------------------------------------------------------------- /components/ui/separator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/separator.tsx -------------------------------------------------------------------------------- /components/ui/sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/sheet.tsx -------------------------------------------------------------------------------- /components/ui/sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/sidebar.tsx -------------------------------------------------------------------------------- /components/ui/skeleton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/skeleton.tsx -------------------------------------------------------------------------------- /components/ui/slider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/slider.tsx -------------------------------------------------------------------------------- /components/ui/sonner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/sonner.tsx -------------------------------------------------------------------------------- /components/ui/switch.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/switch.tsx -------------------------------------------------------------------------------- /components/ui/table.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/table.tsx -------------------------------------------------------------------------------- /components/ui/tabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/tabs.tsx -------------------------------------------------------------------------------- /components/ui/textarea.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/textarea.tsx -------------------------------------------------------------------------------- /components/ui/toggle-group.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/toggle-group.tsx -------------------------------------------------------------------------------- /components/ui/toggle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/toggle.tsx -------------------------------------------------------------------------------- /components/ui/tooltip.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/components/ui/tooltip.tsx -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/eslint.config.mjs -------------------------------------------------------------------------------- /hono/albums.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hono/albums.ts -------------------------------------------------------------------------------- /hono/file.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hono/file.ts -------------------------------------------------------------------------------- /hono/images.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hono/images.ts -------------------------------------------------------------------------------- /hono/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hono/index.ts -------------------------------------------------------------------------------- /hono/open/download.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hono/open/download.ts -------------------------------------------------------------------------------- /hono/open/images.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hono/open/images.ts -------------------------------------------------------------------------------- /hono/settings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hono/settings.ts -------------------------------------------------------------------------------- /hono/storage/open-list.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hono/storage/open-list.ts -------------------------------------------------------------------------------- /hooks/use-blurhash.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hooks/use-blurhash.ts -------------------------------------------------------------------------------- /hooks/use-is-hydrated.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hooks/use-is-hydrated.ts -------------------------------------------------------------------------------- /hooks/use-mobile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hooks/use-mobile.ts -------------------------------------------------------------------------------- /hooks/use-passkey-status.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hooks/use-passkey-status.ts -------------------------------------------------------------------------------- /hooks/use-swr-hydrated.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hooks/use-swr-hydrated.ts -------------------------------------------------------------------------------- /hooks/use-swr-infinite-hook.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hooks/use-swr-infinite-hook.ts -------------------------------------------------------------------------------- /hooks/use-swr-infinite-server-hook.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hooks/use-swr-infinite-server-hook.ts -------------------------------------------------------------------------------- /hooks/use-swr-page-total-hook.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hooks/use-swr-page-total-hook.ts -------------------------------------------------------------------------------- /hooks/use-swr-page-total-server-hook.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/hooks/use-swr-page-total-server-hook.ts -------------------------------------------------------------------------------- /i18n.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/i18n.ts -------------------------------------------------------------------------------- /instrumentation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/instrumentation.ts -------------------------------------------------------------------------------- /lib/github/get-contributors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/lib/github/get-contributors.ts -------------------------------------------------------------------------------- /lib/utils/array.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/lib/utils/array.ts -------------------------------------------------------------------------------- /lib/utils/blurhash-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/lib/utils/blurhash-client.ts -------------------------------------------------------------------------------- /lib/utils/blurhash-server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/lib/utils/blurhash-server.ts -------------------------------------------------------------------------------- /lib/utils/fetcher.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/lib/utils/fetcher.ts -------------------------------------------------------------------------------- /lib/utils/file.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/lib/utils/file.ts -------------------------------------------------------------------------------- /lib/utils/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/lib/utils/index.ts -------------------------------------------------------------------------------- /lib/utils/locale.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/lib/utils/locale.ts -------------------------------------------------------------------------------- /messages/en.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/messages/en.json -------------------------------------------------------------------------------- /messages/ja.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/messages/ja.json -------------------------------------------------------------------------------- /messages/zh-TW.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/messages/zh-TW.json -------------------------------------------------------------------------------- /messages/zh.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/messages/zh.json -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/netlify.toml -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/next-env.d.ts -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/next.config.mjs -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/postcss.config.mjs -------------------------------------------------------------------------------- /prisma/migrations/20241030142734_init/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20241030142734_init/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20241121072529_v1/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20241121072529_v1/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20241129025605_v1_1/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20241129025605_v1_1/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250106024234_images_sorting_in_album/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250106024234_images_sorting_in_album/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250201054843_v1_3/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250201054843_v1_3/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250213051523_v1_4/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250213051523_v1_4/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250226144408_add_json_field_indexes/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250226144408_add_json_field_indexes/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250316134415_add_random_show_for_album/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250316134415_add_random_show_for_album/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250413042147_remove_copyright/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250413042147_remove_copyright/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250413054226_remove_album_download/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250413054226_remove_album_download/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250418170241_update_show_default/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250418170241_update_show_default/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250614083052_better_auth/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250614083052_better_auth/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250820161914_add_image_name/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250820161914_add_image_name/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250914095408_add_webauthn_support/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250914095408_add_webauthn_support/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250914100930_add_webauthn_support_update/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250914100930_add_webauthn_support_update/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250916145002_blurhash/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250916145002_blurhash/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250917153143_theme/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/20250917153143_theme/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /prisma/seed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/prisma/seed.ts -------------------------------------------------------------------------------- /proxy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/proxy.ts -------------------------------------------------------------------------------- /public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/public/apple-touch-icon.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/favicon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/public/favicon.svg -------------------------------------------------------------------------------- /public/fonts/LXGWNeoXiHei.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/public/fonts/LXGWNeoXiHei.ttf -------------------------------------------------------------------------------- /public/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/public/icons/icon-192x192.png -------------------------------------------------------------------------------- /public/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/public/icons/icon-512x512.png -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/public/manifest.json -------------------------------------------------------------------------------- /public/maskable-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/public/maskable-icon.png -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Allow: / 3 | -------------------------------------------------------------------------------- /script.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/script.sh -------------------------------------------------------------------------------- /scripts/migrate/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/scripts/migrate/README.md -------------------------------------------------------------------------------- /scripts/migrate/requirements.txt: -------------------------------------------------------------------------------- 1 | click 2 | dataset 3 | sqlalchemy 4 | psycopg2 -------------------------------------------------------------------------------- /scripts/migrate/v1_to_v2_data_migration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/scripts/migrate/v1_to_v2_data_migration.py -------------------------------------------------------------------------------- /server/auth/auth-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/server/auth/auth-client.ts -------------------------------------------------------------------------------- /server/auth/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/server/auth/index.ts -------------------------------------------------------------------------------- /server/db/operate/albums.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/server/db/operate/albums.ts -------------------------------------------------------------------------------- /server/db/operate/configs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/server/db/operate/configs.ts -------------------------------------------------------------------------------- /server/db/operate/images.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/server/db/operate/images.ts -------------------------------------------------------------------------------- /server/db/query/albums.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/server/db/query/albums.ts -------------------------------------------------------------------------------- /server/db/query/configs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/server/db/query/configs.ts -------------------------------------------------------------------------------- /server/db/query/images.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/server/db/query/images.ts -------------------------------------------------------------------------------- /server/lib/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/server/lib/db.ts -------------------------------------------------------------------------------- /server/lib/file-upload.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/server/lib/file-upload.ts -------------------------------------------------------------------------------- /server/lib/r2.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/server/lib/r2.ts -------------------------------------------------------------------------------- /server/lib/s3.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/server/lib/s3.ts -------------------------------------------------------------------------------- /server/lib/s3api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/server/lib/s3api.ts -------------------------------------------------------------------------------- /stores/button-stores.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/stores/button-stores.ts -------------------------------------------------------------------------------- /stores/config-stores.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/stores/config-stores.ts -------------------------------------------------------------------------------- /style/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/style/globals.css -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types/http.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/types/http.ts -------------------------------------------------------------------------------- /types/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/types/index.ts -------------------------------------------------------------------------------- /types/language.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/types/language.ts -------------------------------------------------------------------------------- /types/props.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besscroft/PicImpact/HEAD/types/props.ts --------------------------------------------------------------------------------