@vitnode/core 1.2.0-canary.75 → 1.2.0-canary.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.mjs +2 -0
- package/dist/scripts/build.d.ts +2 -0
- package/dist/scripts/build.d.ts.map +1 -0
- package/dist/scripts/dev.d.ts +4 -0
- package/dist/scripts/dev.d.ts.map +1 -0
- package/dist/scripts/get-config.d.ts +7 -2
- package/dist/scripts/get-config.d.ts.map +1 -1
- package/dist/scripts/i18n-check.d.ts +2 -0
- package/dist/scripts/i18n-check.d.ts.map +1 -0
- package/dist/scripts/plugin.d.ts.map +1 -1
- package/dist/scripts/prepare-database.d.ts.map +1 -1
- package/dist/scripts/prepare-plugins-files.d.ts.map +1 -1
- package/dist/scripts/scripts.js +4 -2
- package/dist/scripts/shared/file-utils.d.ts +1 -0
- package/dist/scripts/shared/file-utils.d.ts.map +1 -1
- package/dist/src/api/adapters/events/local.d.ts +3 -0
- package/dist/src/api/adapters/events/local.d.ts.map +1 -0
- package/dist/src/api/adapters/events/local.js +1 -0
- package/dist/src/api/adapters/search/postgres.d.ts +3 -0
- package/dist/src/api/adapters/search/postgres.d.ts.map +1 -0
- package/dist/src/api/adapters/search/postgres.js +1 -0
- package/dist/src/api/adapters/storage/local.d.ts +6 -0
- package/dist/src/api/adapters/storage/local.d.ts.map +1 -0
- package/dist/src/api/adapters/storage/local.js +1 -0
- package/dist/src/api/config.d.ts.map +1 -1
- package/dist/src/api/config.js +1 -1
- package/dist/src/api/lib/check-staff-permission.d.ts.map +1 -1
- package/dist/src/api/lib/check-staff-permission.js +1 -1
- package/dist/src/api/lib/cron.d.ts +2 -0
- package/dist/src/api/lib/cron.d.ts.map +1 -1
- package/dist/src/api/lib/cron.js +1 -1
- package/dist/src/api/lib/events.d.ts +15 -0
- package/dist/src/api/lib/events.d.ts.map +1 -0
- package/dist/src/api/lib/events.js +1 -0
- package/dist/src/api/lib/module.d.ts +4 -1
- package/dist/src/api/lib/module.d.ts.map +1 -1
- package/dist/src/api/lib/module.js +1 -1
- package/dist/src/api/lib/permission-staff.d.ts +0 -4
- package/dist/src/api/lib/permission-staff.d.ts.map +1 -1
- package/dist/src/api/lib/plugin.d.ts +9 -1
- package/dist/src/api/lib/plugin.d.ts.map +1 -1
- package/dist/src/api/lib/plugin.js +1 -1
- package/dist/src/api/lib/route.d.ts +1 -1
- package/dist/src/api/lib/route.d.ts.map +1 -1
- package/dist/src/api/lib/route.js +1 -1
- package/dist/src/api/lib/save-language-words.d.ts +11 -0
- package/dist/src/api/lib/save-language-words.d.ts.map +1 -0
- package/dist/src/api/lib/save-language-words.js +1 -0
- package/dist/src/api/middlewares/global.middleware.d.ts +29 -5
- package/dist/src/api/middlewares/global.middleware.d.ts.map +1 -1
- package/dist/src/api/middlewares/global.middleware.js +1 -1
- package/dist/src/api/middlewares/plugin.middleware.d.ts +3 -0
- package/dist/src/api/middlewares/plugin.middleware.d.ts.map +1 -0
- package/dist/src/api/middlewares/plugin.middleware.js +1 -0
- package/dist/src/api/middlewares/rate-limiter.middleware.d.ts +4 -1
- package/dist/src/api/middlewares/rate-limiter.middleware.d.ts.map +1 -1
- package/dist/src/api/middlewares/rate-limiter.middleware.js +1 -1
- package/dist/src/api/models/device.d.ts.map +1 -1
- package/dist/src/api/models/device.js +1 -1
- package/dist/src/api/models/email.d.ts.map +1 -1
- package/dist/src/api/models/email.js +1 -1
- package/dist/src/api/models/events.d.ts +66 -0
- package/dist/src/api/models/events.d.ts.map +1 -0
- package/dist/src/api/models/events.js +1 -0
- package/dist/src/api/models/i18n.d.ts +15 -0
- package/dist/src/api/models/i18n.d.ts.map +1 -0
- package/dist/src/api/models/i18n.js +1 -0
- package/dist/src/api/models/search.d.ts +102 -0
- package/dist/src/api/models/search.d.ts.map +1 -0
- package/dist/src/api/models/search.js +1 -0
- package/dist/src/api/models/storage.d.ts +40 -0
- package/dist/src/api/models/storage.d.ts.map +1 -0
- package/dist/src/api/models/storage.js +1 -0
- package/dist/src/api/models/user/sign-up.d.ts +1 -1
- package/dist/src/api/models/user/sign-up.d.ts.map +1 -1
- package/dist/src/api/models/user/sign-up.js +1 -1
- package/dist/src/api/models/user.d.ts +1 -1
- package/dist/src/api/modules/admin/admin.module.d.ts +376 -2
- package/dist/src/api/modules/admin/admin.module.d.ts.map +1 -1
- package/dist/src/api/modules/admin/admin.module.js +1 -1
- package/dist/src/api/modules/admin/advanced/advanced.admin.module.d.ts +1 -1
- package/dist/src/api/modules/admin/advanced/cron/routes/get.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/advanced/cron/routes/get.route.js +1 -1
- package/dist/src/api/modules/admin/advanced/cron/routes/run.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/advanced/cron/routes/run.route.js +1 -1
- package/dist/src/api/modules/admin/advanced/queue/queue.admin.module.d.ts +1 -1
- package/dist/src/api/modules/admin/advanced/queue/routes/get.route.d.ts +1 -1
- package/dist/src/api/modules/admin/debug/debug.admin.module.d.ts +100 -1
- package/dist/src/api/modules/admin/debug/debug.admin.module.d.ts.map +1 -1
- package/dist/src/api/modules/admin/debug/debug.admin.module.js +1 -1
- package/dist/src/api/modules/admin/debug/routes/integrations.route.d.ts +6 -0
- package/dist/src/api/modules/admin/debug/routes/integrations.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/debug/routes/integrations.route.js +1 -1
- package/dist/src/api/modules/admin/debug/routes/logs.route.d.ts +1 -1
- package/dist/src/api/modules/admin/debug/routes/rebuild-search.route.d.ts +36 -0
- package/dist/src/api/modules/admin/debug/routes/rebuild-search.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/debug/routes/rebuild-search.route.js +1 -0
- package/dist/src/api/modules/admin/debug/routes/search-status.route.d.ts +32 -0
- package/dist/src/api/modules/admin/debug/routes/search-status.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/debug/routes/search-status.route.js +1 -0
- package/dist/src/api/modules/admin/debug/routes/test-storage-upload.route.d.ts +37 -0
- package/dist/src/api/modules/admin/debug/routes/test-storage-upload.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/debug/routes/test-storage-upload.route.js +1 -0
- package/dist/src/api/modules/admin/files/files.admin.module.d.ts +128 -0
- package/dist/src/api/modules/admin/files/files.admin.module.d.ts.map +1 -0
- package/dist/src/api/modules/admin/files/files.admin.module.js +1 -0
- package/dist/src/api/modules/admin/files/routes/delete.route.d.ts +29 -0
- package/dist/src/api/modules/admin/files/routes/delete.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/files/routes/delete.route.js +1 -0
- package/dist/src/api/modules/admin/files/routes/download.route.d.ts +34 -0
- package/dist/src/api/modules/admin/files/routes/download.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/files/routes/download.route.js +1 -0
- package/dist/src/api/modules/admin/files/routes/list.route.d.ts +72 -0
- package/dist/src/api/modules/admin/files/routes/list.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/files/routes/list.route.js +1 -0
- package/dist/src/api/modules/admin/roles/lib/assert-manage-admin-role.d.ts +6 -0
- package/dist/src/api/modules/admin/roles/lib/assert-manage-admin-role.d.ts.map +1 -0
- package/dist/src/api/modules/admin/roles/lib/assert-manage-admin-role.js +1 -0
- package/dist/src/api/modules/admin/roles/roles.admin.module.d.ts +149 -0
- package/dist/src/api/modules/admin/roles/roles.admin.module.d.ts.map +1 -1
- package/dist/src/api/modules/admin/roles/roles.admin.module.js +1 -1
- package/dist/src/api/modules/admin/roles/routes/create.route.d.ts +58 -0
- package/dist/src/api/modules/admin/roles/routes/create.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/roles/routes/create.route.js +1 -0
- package/dist/src/api/modules/admin/roles/routes/delete.route.d.ts +52 -0
- package/dist/src/api/modules/admin/roles/routes/delete.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/roles/routes/delete.route.js +1 -0
- package/dist/src/api/modules/admin/roles/routes/list.route.d.ts +4 -0
- package/dist/src/api/modules/admin/roles/routes/list.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/roles/routes/list.route.js +1 -1
- package/dist/src/api/modules/admin/roles/routes/show.route.d.ts +3 -0
- package/dist/src/api/modules/admin/roles/routes/show.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/roles/routes/show.route.js +1 -1
- package/dist/src/api/modules/admin/roles/routes/update.route.d.ts +66 -0
- package/dist/src/api/modules/admin/roles/routes/update.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/roles/routes/update.route.js +1 -0
- package/dist/src/api/modules/admin/staff/lib/resolve-staff-edges.d.ts +1 -3
- package/dist/src/api/modules/admin/staff/lib/resolve-staff-edges.d.ts.map +1 -1
- package/dist/src/api/modules/admin/staff/lib/resolve-staff-edges.js +1 -1
- package/dist/src/api/modules/admin/staff/routes/admins.route.js +1 -1
- package/dist/src/api/modules/admin/staff/routes/create.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/staff/routes/create.route.js +1 -1
- package/dist/src/api/modules/admin/staff/routes/moderators.route.js +1 -1
- package/dist/src/api/modules/admin/staff/routes/show-permissions.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/staff/routes/show-permissions.route.js +1 -1
- package/dist/src/api/modules/admin/staff/routes/update-permissions.route.js +1 -1
- package/dist/src/api/modules/admin/users/routes/update.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/users/routes/update.route.js +1 -1
- package/dist/src/api/modules/admin/users/routes/users.route.d.ts +1 -1
- package/dist/src/api/modules/cron/helpers/register-cron-jobs.d.ts +4 -0
- package/dist/src/api/modules/cron/helpers/register-cron-jobs.d.ts.map +1 -0
- package/dist/src/api/modules/cron/helpers/register-cron-jobs.js +1 -0
- package/dist/src/api/modules/search/routes/search.route.d.ts +91 -0
- package/dist/src/api/modules/search/routes/search.route.d.ts.map +1 -0
- package/dist/src/api/modules/search/routes/search.route.js +1 -0
- package/dist/src/api/modules/search/search.module.d.ts +68 -0
- package/dist/src/api/modules/search/search.module.d.ts.map +1 -0
- package/dist/src/api/modules/search/search.module.js +1 -0
- package/dist/src/api/modules/search/tasks/rebuild-index.task.d.ts +2 -0
- package/dist/src/api/modules/search/tasks/rebuild-index.task.d.ts.map +1 -0
- package/dist/src/api/modules/search/tasks/rebuild-index.task.js +1 -0
- package/dist/src/api/modules/users/files/files.module.d.ts +124 -0
- package/dist/src/api/modules/users/files/files.module.d.ts.map +1 -0
- package/dist/src/api/modules/users/files/files.module.js +1 -0
- package/dist/src/api/modules/users/files/routes/delete.route.d.ts +32 -0
- package/dist/src/api/modules/users/files/routes/delete.route.d.ts.map +1 -0
- package/dist/src/api/modules/users/files/routes/delete.route.js +1 -0
- package/dist/src/api/modules/users/files/routes/download.route.d.ts +37 -0
- package/dist/src/api/modules/users/files/routes/download.route.d.ts.map +1 -0
- package/dist/src/api/modules/users/files/routes/download.route.js +1 -0
- package/dist/src/api/modules/users/files/routes/list.route.d.ts +62 -0
- package/dist/src/api/modules/users/files/routes/list.route.d.ts.map +1 -0
- package/dist/src/api/modules/users/files/routes/list.route.js +1 -0
- package/dist/src/api/modules/users/routes/devices.route.d.ts +34 -0
- package/dist/src/api/modules/users/routes/devices.route.d.ts.map +1 -0
- package/dist/src/api/modules/users/routes/devices.route.js +1 -0
- package/dist/src/api/modules/users/routes/revoke-device.route.d.ts +42 -0
- package/dist/src/api/modules/users/routes/revoke-device.route.d.ts.map +1 -0
- package/dist/src/api/modules/users/routes/revoke-device.route.js +1 -0
- package/dist/src/api/modules/users/users.module.d.ts +194 -2
- package/dist/src/api/modules/users/users.module.d.ts.map +1 -1
- package/dist/src/api/modules/users/users.module.js +1 -1
- package/dist/src/api/plugin.d.ts.map +1 -1
- package/dist/src/api/plugin.js +1 -1
- package/dist/src/components/files/file-preview.d.ts +7 -0
- package/dist/src/components/files/file-preview.d.ts.map +1 -0
- package/dist/src/components/files/file-preview.js +1 -0
- package/dist/src/components/files/metadata-cell.d.ts +6 -0
- package/dist/src/components/files/metadata-cell.d.ts.map +1 -0
- package/dist/src/components/files/metadata-cell.js +1 -0
- package/dist/src/components/form/auto-form.d.ts +12 -3
- package/dist/src/components/form/auto-form.d.ts.map +1 -1
- package/dist/src/components/form/auto-form.js +1 -1
- package/dist/src/components/form/fields/color.d.ts +5 -0
- package/dist/src/components/form/fields/color.d.ts.map +1 -0
- package/dist/src/components/form/fields/color.js +1 -0
- package/dist/src/components/form/fields/editor.d.ts +9 -0
- package/dist/src/components/form/fields/editor.d.ts.map +1 -0
- package/dist/src/components/form/fields/editor.js +1 -0
- package/dist/src/components/form/fields/input.d.ts +5 -1
- package/dist/src/components/form/fields/input.d.ts.map +1 -1
- package/dist/src/components/form/fields/input.js +1 -1
- package/dist/src/components/form/fields/multi-lang.d.ts +18 -0
- package/dist/src/components/form/fields/multi-lang.d.ts.map +1 -0
- package/dist/src/components/form/fields/multi-lang.js +1 -0
- package/dist/src/components/form/fields/nullable-number.d.ts +11 -0
- package/dist/src/components/form/fields/nullable-number.d.ts.map +1 -0
- package/dist/src/components/form/fields/nullable-number.js +1 -0
- package/dist/src/components/form/fields/radio-group.js +1 -1
- package/dist/src/components/form/fields/select.js +1 -1
- package/dist/src/components/languages-provider.d.ts +8 -0
- package/dist/src/components/languages-provider.d.ts.map +1 -0
- package/dist/src/components/languages-provider.js +1 -0
- package/dist/src/components/table/content.d.ts.map +1 -1
- package/dist/src/components/table/content.js +1 -1
- package/dist/src/components/table/data-table.d.ts +21 -9
- package/dist/src/components/table/data-table.d.ts.map +1 -1
- package/dist/src/components/table/filters.d.ts.map +1 -1
- package/dist/src/components/table/filters.js +1 -1
- package/dist/src/components/table/order-table-head.d.ts +1 -1
- package/dist/src/components/table/order-table-head.d.ts.map +1 -1
- package/dist/src/components/ui/alert.d.ts +1 -1
- package/dist/src/components/ui/alert.d.ts.map +1 -1
- package/dist/src/components/ui/alert.js +1 -1
- package/dist/src/components/ui/attachment.d.ts +24 -0
- package/dist/src/components/ui/attachment.d.ts.map +1 -0
- package/dist/src/components/ui/attachment.js +1 -0
- package/dist/src/components/ui/carousel.d.ts.map +1 -1
- package/dist/src/components/ui/carousel.js +1 -1
- package/dist/src/components/ui/chart.d.ts +2 -1
- package/dist/src/components/ui/chart.d.ts.map +1 -1
- package/dist/src/components/ui/color-picker.d.ts +8 -0
- package/dist/src/components/ui/color-picker.d.ts.map +1 -0
- package/dist/src/components/ui/color-picker.js +1 -0
- package/dist/src/components/ui/dialog.js +1 -1
- package/dist/src/components/ui/editor.d.ts +4 -3
- package/dist/src/components/ui/editor.d.ts.map +1 -1
- package/dist/src/components/ui/editor.js +1 -1
- package/dist/src/components/user-format.d.ts +0 -1
- package/dist/src/components/user-format.d.ts.map +1 -1
- package/dist/src/config.js +1 -1
- package/dist/src/database/admins.d.ts +22 -5
- package/dist/src/database/admins.d.ts.map +1 -1
- package/dist/src/database/admins.js +1 -1
- package/dist/src/database/files.d.ts +193 -0
- package/dist/src/database/files.d.ts.map +1 -0
- package/dist/src/database/files.js +1 -0
- package/dist/src/database/moderators.d.ts +22 -5
- package/dist/src/database/moderators.d.ts.map +1 -1
- package/dist/src/database/moderators.js +1 -1
- package/dist/src/database/roles.d.ts +52 -1
- package/dist/src/database/roles.d.ts.map +1 -1
- package/dist/src/database/roles.js +1 -1
- package/dist/src/database/search.d.ts +314 -0
- package/dist/src/database/search.d.ts.map +1 -0
- package/dist/src/database/search.js +1 -0
- package/dist/src/globals.css +45 -0
- package/dist/src/lib/api/get-devices-api.d.ts +14 -0
- package/dist/src/lib/api/get-devices-api.d.ts.map +1 -0
- package/dist/src/lib/api/get-devices-api.js +1 -0
- package/dist/src/lib/api/get-queue-status.d.ts +11 -0
- package/dist/src/lib/api/get-queue-status.d.ts.map +1 -0
- package/dist/src/lib/api/get-queue-status.js +1 -0
- package/dist/src/lib/api/get-session-api.d.ts.map +1 -1
- package/dist/src/lib/api/get-session-api.js +1 -1
- package/dist/src/lib/api/is-cron-stale.d.ts +3 -0
- package/dist/src/lib/api/is-cron-stale.d.ts.map +1 -0
- package/dist/src/lib/api/is-cron-stale.js +1 -0
- package/dist/src/lib/api/parse-user-agent.d.ts +8 -0
- package/dist/src/lib/api/parse-user-agent.d.ts.map +1 -0
- package/dist/src/lib/api/parse-user-agent.js +1 -0
- package/dist/src/lib/api/upload.d.ts +15 -0
- package/dist/src/lib/api/upload.d.ts.map +1 -0
- package/dist/src/lib/api/upload.js +1 -0
- package/dist/src/lib/config.d.ts +4 -4
- package/dist/src/lib/config.d.ts.map +1 -1
- package/dist/src/lib/config.js +1 -1
- package/dist/src/lib/fetcher/core.d.ts +2 -1
- package/dist/src/lib/fetcher/core.d.ts.map +1 -1
- package/dist/src/lib/fetcher/core.js +1 -1
- package/dist/src/lib/fetcher/rate-limit.d.ts +10 -0
- package/dist/src/lib/fetcher/rate-limit.d.ts.map +1 -0
- package/dist/src/lib/fetcher/rate-limit.js +1 -0
- package/dist/src/lib/fetcher-client.d.ts +3 -1
- package/dist/src/lib/fetcher-client.d.ts.map +1 -1
- package/dist/src/lib/fetcher-client.js +1 -1
- package/dist/src/lib/format-bytes.d.ts +2 -0
- package/dist/src/lib/format-bytes.d.ts.map +1 -0
- package/dist/src/lib/format-bytes.js +1 -0
- package/dist/src/lib/helpers/multi-lang.d.ts +21 -0
- package/dist/src/lib/helpers/multi-lang.d.ts.map +1 -0
- package/dist/src/lib/helpers/multi-lang.js +1 -0
- package/dist/src/lib/i18n/deep-merge.d.ts +4 -0
- package/dist/src/lib/i18n/deep-merge.d.ts.map +1 -0
- package/dist/src/lib/i18n/deep-merge.js +1 -0
- package/dist/src/lib/i18n/load-messages.d.ts +9 -0
- package/dist/src/lib/i18n/load-messages.d.ts.map +1 -0
- package/dist/src/lib/i18n/load-messages.js +1 -0
- package/dist/src/lib/i18n/negotiate-locale.d.ts +2 -0
- package/dist/src/lib/i18n/negotiate-locale.d.ts.map +1 -0
- package/dist/src/lib/i18n/negotiate-locale.js +1 -0
- package/dist/src/lib/i18n/sources.d.ts +9 -0
- package/dist/src/lib/i18n/sources.d.ts.map +1 -0
- package/dist/src/lib/i18n/sources.js +1 -0
- package/dist/src/lib/i18n/types.d.ts +24 -0
- package/dist/src/lib/i18n/types.d.ts.map +1 -0
- package/dist/src/lib/i18n/types.js +1 -0
- package/dist/src/lib/motion.d.ts +8 -0
- package/dist/src/lib/motion.d.ts.map +1 -0
- package/dist/src/lib/motion.js +1 -0
- package/dist/src/lib/plugin.d.ts +2 -0
- package/dist/src/lib/plugin.d.ts.map +1 -1
- package/dist/src/lib/strip-html.d.ts +2 -0
- package/dist/src/lib/strip-html.d.ts.map +1 -0
- package/dist/src/lib/strip-html.js +1 -0
- package/dist/src/locales/en.json +897 -0
- package/dist/src/locales/index.d.ts +4 -0
- package/dist/src/locales/index.d.ts.map +1 -0
- package/dist/src/locales/index.js +1 -0
- package/dist/src/routes/admin/core/advanced/cron/page.d.ts.map +1 -1
- package/dist/src/routes/admin/core/advanced/cron/page.js +1 -1
- package/dist/src/routes/admin/core/advanced/search/page.d.ts +11 -0
- package/dist/src/routes/admin/core/advanced/search/page.d.ts.map +1 -0
- package/dist/src/routes/admin/core/advanced/search/page.js +1 -0
- package/dist/src/routes/admin/core/system/files/page.d.ts +11 -0
- package/dist/src/routes/admin/core/system/files/page.d.ts.map +1 -0
- package/dist/src/routes/admin/core/system/files/page.js +1 -0
- package/dist/src/routes/admin/core/users/[id]/page.js +1 -1
- package/dist/src/routes/admin/core/users/roles/page.d.ts.map +1 -1
- package/dist/src/routes/admin/core/users/roles/page.js +1 -1
- package/dist/src/routes/blank/test/page.js +1 -1
- package/dist/src/routes/breadcrumb/admin/core/advanced/cron/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/admin/core/advanced/cron/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/advanced/cron/page.js +1 -0
- package/dist/src/routes/breadcrumb/admin/core/advanced/queue/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/admin/core/advanced/queue/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/advanced/queue/page.js +1 -0
- package/dist/src/routes/breadcrumb/admin/core/advanced/search/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/admin/core/advanced/search/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/advanced/search/page.js +1 -0
- package/dist/src/routes/breadcrumb/admin/core/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/admin/core/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/page.js +1 -0
- package/dist/src/routes/breadcrumb/admin/core/system/files/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/admin/core/system/files/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/system/files/page.js +1 -0
- package/dist/src/routes/breadcrumb/admin/core/system/integrations/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/admin/core/system/integrations/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/system/integrations/page.js +1 -0
- package/dist/src/routes/breadcrumb/admin/core/users/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/admin/core/users/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/users/page.js +1 -0
- package/dist/src/routes/breadcrumb/admin/core/users/roles/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/admin/core/users/roles/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/users/roles/page.js +1 -0
- package/dist/src/routes/breadcrumb/main/discover/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/main/discover/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/main/discover/page.js +1 -0
- package/dist/src/routes/breadcrumb/main/search/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/main/search/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/main/search/page.js +1 -0
- package/dist/src/routes/breadcrumb/main/settings/devices/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/main/settings/devices/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/main/settings/devices/page.js +1 -0
- package/dist/src/routes/main/discover/page.d.ts +11 -0
- package/dist/src/routes/main/discover/page.d.ts.map +1 -0
- package/dist/src/routes/main/discover/page.js +1 -0
- package/dist/src/routes/main/files/page.d.ts +15 -0
- package/dist/src/routes/main/files/page.d.ts.map +1 -0
- package/dist/src/routes/main/files/page.js +1 -0
- package/dist/src/routes/main/search/page.d.ts +15 -0
- package/dist/src/routes/main/search/page.d.ts.map +1 -0
- package/dist/src/routes/main/search/page.js +1 -0
- package/dist/src/routes/main/settings/devices/page.d.ts +5 -0
- package/dist/src/routes/main/settings/devices/page.d.ts.map +1 -0
- package/dist/src/routes/main/settings/devices/page.js +1 -0
- package/dist/src/tiptap.css +28 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-advanced-search.d.ts +5 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-advanced-search.d.ts.map +1 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-advanced-search.js +1 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-roles-admin.d.ts +5 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-roles-admin.d.ts.map +1 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-roles-admin.js +1 -0
- package/dist/src/views/admin/layouts/sidebar/nav/get-admin-nav.d.ts.map +1 -1
- package/dist/src/views/admin/layouts/sidebar/nav/get-admin-nav.js +1 -1
- package/dist/src/views/admin/layouts/sidebar/sign-out.js +1 -1
- package/dist/src/views/admin/layouts/user-bar/client.js +1 -1
- package/dist/src/views/admin/views/core/advanced/cron/cron-table-view.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/advanced/cron/cron-table-view.js +1 -1
- package/dist/src/views/admin/views/core/advanced/cron/run-action/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.d.ts +1 -1
- package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.js +1 -1
- package/dist/src/views/admin/views/core/advanced/queue/queue-table-view.js +1 -1
- package/dist/src/views/admin/views/core/advanced/search/collection-status.d.ts +11 -0
- package/dist/src/views/admin/views/core/advanced/search/collection-status.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/advanced/search/collection-status.js +1 -0
- package/dist/src/views/admin/views/core/advanced/search/collections-table.d.ts +6 -0
- package/dist/src/views/admin/views/core/advanced/search/collections-table.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/advanced/search/collections-table.js +1 -0
- package/dist/src/views/admin/views/core/advanced/search/cron-warning.d.ts +3 -0
- package/dist/src/views/admin/views/core/advanced/search/cron-warning.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/advanced/search/cron-warning.js +1 -0
- package/dist/src/views/admin/views/core/advanced/search/mutation-api.server.d.ts +10 -0
- package/dist/src/views/admin/views/core/advanced/search/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/advanced/search/mutation-api.server.js +1 -0
- package/dist/src/views/admin/views/core/advanced/search/reindex-action.d.ts +6 -0
- package/dist/src/views/admin/views/core/advanced/search/reindex-action.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/advanced/search/reindex-action.js +1 -0
- package/dist/src/views/admin/views/core/advanced/search/search-header-actions.d.ts +3 -0
- package/dist/src/views/admin/views/core/advanced/search/search-header-actions.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/advanced/search/search-header-actions.js +1 -0
- package/dist/src/views/admin/views/core/advanced/search/search-view.d.ts +7 -0
- package/dist/src/views/admin/views/core/advanced/search/search-view.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/advanced/search/search-view.js +1 -0
- package/dist/src/views/admin/views/core/dashboard/send-notification/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/dashboard/send-notification/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/dashboard/send-notification/send-notification.js +1 -1
- package/dist/src/views/admin/views/core/debug/actions/clear-cache/clear-cache.js +1 -1
- package/dist/src/views/admin/views/core/debug/actions/clear-cache/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/debug/system-logs/system-logs-view.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/debug/system-logs/system-logs-view.js +1 -1
- package/dist/src/views/admin/views/core/staff/create/form.js +1 -1
- package/dist/src/views/admin/views/core/staff/create/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/staff/create/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/create/{search.action.d.ts → search.action.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/staff/create/search.action.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/edit/form.js +1 -1
- package/dist/src/views/admin/views/core/staff/edit/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/staff/edit/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/table/actions/{delete-action.d.ts → delete-action.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/staff/table/actions/delete-action.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/table/actions/staff-row-actions.js +1 -1
- package/dist/src/views/admin/views/core/staff/table/staff-table.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/staff/table/staff-table.js +1 -1
- package/dist/src/views/admin/views/core/system/files/actions/delete-action.server.d.ts +9 -0
- package/dist/src/views/admin/views/core/system/files/actions/delete-action.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/system/files/actions/delete-action.server.js +1 -0
- package/dist/src/views/admin/views/core/system/files/actions/file-row-actions.d.ts +8 -0
- package/dist/src/views/admin/views/core/system/files/actions/file-row-actions.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/system/files/actions/file-row-actions.js +1 -0
- package/dist/src/views/admin/views/core/system/files/files-table-view.d.ts +5 -0
- package/dist/src/views/admin/views/core/system/files/files-table-view.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/system/files/files-table-view.js +1 -0
- package/dist/src/views/admin/views/core/system/integrations/integration-card.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/system/integrations/integration-card.js +1 -1
- package/dist/src/views/admin/views/core/system/integrations/integrations-view.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/system/integrations/integrations-view.js +1 -1
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/use-form.js +1 -1
- package/dist/src/views/admin/views/core/system/integrations/test-storage/content.d.ts +3 -0
- package/dist/src/views/admin/views/core/system/integrations/test-storage/content.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/system/integrations/test-storage/content.js +1 -0
- package/dist/src/views/admin/views/core/system/integrations/test-storage/test-storage.d.ts +3 -0
- package/dist/src/views/admin/views/core/system/integrations/test-storage/test-storage.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/system/integrations/test-storage/test-storage.js +1 -0
- package/dist/src/views/admin/views/core/test.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/test.js +1 -1
- package/dist/src/views/admin/views/core/users/actions/create/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/users/actions/create/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/actions/create/use-form.js +1 -1
- package/dist/src/views/admin/views/core/users/actions/verify-email/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/actions/verify-email/verify-email.js +1 -1
- package/dist/src/views/admin/views/core/users/roles/actions/actions.d.ts +3 -0
- package/dist/src/views/admin/views/core/users/roles/actions/actions.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/roles/actions/actions.js +1 -0
- package/dist/src/views/admin/views/core/users/roles/actions/create-edit/create-edit.d.ts +15 -0
- package/dist/src/views/admin/views/core/users/roles/actions/create-edit/create-edit.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/roles/actions/create-edit/create-edit.js +1 -0
- package/dist/src/views/admin/views/core/users/roles/actions/create-edit/mutation-api.server.d.ts +11 -0
- package/dist/src/views/admin/views/core/users/roles/actions/create-edit/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/roles/actions/create-edit/mutation-api.server.js +1 -0
- package/dist/src/views/admin/views/core/users/roles/roles-admin-view.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/users/roles/roles-admin-view.js +1 -1
- package/dist/src/views/admin/views/core/users/roles/table/actions/delete-action.d.ts +13 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/delete-action.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/delete-action.js +1 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/delete-role.action.server.d.ts +9 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/delete-role.action.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/delete-role.action.server.js +1 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/edit-action.d.ts +7 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/edit-action.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/edit-action.js +1 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/row-actions.d.ts +22 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/row-actions.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/row-actions.js +1 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/search-roles.action.server.d.ts +10 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/search-roles.action.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/roles/table/actions/search-roles.action.server.js +1 -0
- package/dist/src/views/admin/views/core/users/{search-roles.action.d.ts → search-roles.action.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/users/search-roles.action.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/show/edit-field.js +1 -1
- package/dist/src/views/admin/views/core/users/show/edit-name-code.js +1 -1
- package/dist/src/views/admin/views/core/users/show/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/users/show/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/show/roles/edit-roles.d.ts +1 -1
- package/dist/src/views/admin/views/core/users/show/roles/edit-roles.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/users/show/roles/edit-roles.js +1 -1
- package/dist/src/views/admin/views/core/users/show/roles/roles.d.ts +1 -1
- package/dist/src/views/admin/views/core/users/show/roles/roles.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/users/show/roles/{search-roles.action.d.ts → search-roles.action.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/show/roles/{update-roles.action.d.ts → update-roles.action.server.d.ts} +1 -1
- package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.server.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/show/show-user-admin-view.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/users/show/show-user-admin-view.js +1 -1
- package/dist/src/views/admin/views/core/users/show/tabs.d.ts +5 -0
- package/dist/src/views/admin/views/core/users/show/tabs.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/show/tabs.js +1 -0
- package/dist/src/views/admin/views/core/users/users-admin-view.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/users/users-admin-view.js +1 -1
- package/dist/src/views/auth/password-reset/change-password-form/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/auth/password-reset/change-password-form/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/auth/password-reset/change-password-form/use-form.js +1 -1
- package/dist/src/views/auth/password-reset/form/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/auth/password-reset/form/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/auth/password-reset/form/use-form.js +1 -1
- package/dist/src/views/auth/settings/devices/device-item.d.ts +5 -0
- package/dist/src/views/auth/settings/devices/device-item.d.ts.map +1 -0
- package/dist/src/views/auth/settings/devices/device-item.js +1 -0
- package/dist/src/views/auth/settings/devices/devices.d.ts +2 -0
- package/dist/src/views/auth/settings/devices/devices.d.ts.map +1 -0
- package/dist/src/views/auth/settings/devices/devices.js +1 -0
- package/dist/src/views/auth/settings/devices/revoke-action.server.d.ts +9 -0
- package/dist/src/views/auth/settings/devices/revoke-action.server.d.ts.map +1 -0
- package/dist/src/views/auth/settings/devices/revoke-action.server.js +1 -0
- package/dist/src/views/auth/settings/devices/revoke-device-button.d.ts +5 -0
- package/dist/src/views/auth/settings/devices/revoke-device-button.d.ts.map +1 -0
- package/dist/src/views/auth/settings/devices/revoke-device-button.js +1 -0
- package/dist/src/views/auth/settings/nav.d.ts.map +1 -1
- package/dist/src/views/auth/settings/nav.js +1 -1
- package/dist/src/views/auth/settings/shell.d.ts.map +1 -1
- package/dist/src/views/auth/settings/shell.js +1 -1
- package/dist/src/views/auth/sign-in/form/form.d.ts.map +1 -1
- package/dist/src/views/auth/sign-in/form/form.js +1 -1
- package/dist/src/views/auth/sign-in/form/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/auth/sign-in/form/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/auth/sign-in/form/use-form.js +1 -1
- package/dist/src/views/auth/sign-up/form/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/auth/sign-up/form/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/auth/sign-up/form/use-form.d.ts +2 -2
- package/dist/src/views/auth/sign-up/form/use-form.d.ts.map +1 -1
- package/dist/src/views/auth/sign-up/form/use-form.js +1 -1
- package/dist/src/views/auth/sso/buttons/client.js +1 -1
- package/dist/src/views/auth/sso/buttons/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/auth/sso/buttons/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/auth/sso/callback/client/client.js +1 -1
- package/dist/src/views/auth/sso/callback/client/{mutation-api.d.ts → mutation-api.server.d.ts} +1 -1
- package/dist/src/views/auth/sso/callback/client/mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/error/error-view.d.ts +1 -1
- package/dist/src/views/error/error-view.d.ts.map +1 -1
- package/dist/src/views/files/actions/delete-action.server.d.ts +9 -0
- package/dist/src/views/files/actions/delete-action.server.d.ts.map +1 -0
- package/dist/src/views/files/actions/delete-action.server.js +1 -0
- package/dist/src/views/files/actions/file-row-actions.d.ts +6 -0
- package/dist/src/views/files/actions/file-row-actions.d.ts.map +1 -0
- package/dist/src/views/files/actions/file-row-actions.js +1 -0
- package/dist/src/views/files/my-files-table-view.d.ts +5 -0
- package/dist/src/views/files/my-files-table-view.d.ts.map +1 -0
- package/dist/src/views/files/my-files-table-view.js +1 -0
- package/dist/src/views/layouts/provider.d.ts +6 -2
- package/dist/src/views/layouts/provider.d.ts.map +1 -1
- package/dist/src/views/layouts/provider.js +1 -1
- package/dist/src/views/layouts/rate-limit-listener.d.ts +2 -0
- package/dist/src/views/layouts/rate-limit-listener.d.ts.map +1 -0
- package/dist/src/views/layouts/rate-limit-listener.js +1 -0
- package/dist/src/views/layouts/root-layout.d.ts.map +1 -1
- package/dist/src/views/layouts/root-layout.js +1 -1
- package/dist/src/views/layouts/theme/header/header.d.ts +1 -1
- package/dist/src/views/layouts/theme/header/header.d.ts.map +1 -1
- package/dist/src/views/layouts/theme/header/header.js +1 -1
- package/dist/src/views/layouts/theme/header/user/auth/client.d.ts.map +1 -1
- package/dist/src/views/layouts/theme/header/user/auth/client.js +1 -1
- package/dist/src/views/layouts/theme/header/user/auth/{log-out-mutation-api.d.ts → log-out-mutation-api.server.d.ts} +1 -1
- package/dist/src/views/layouts/theme/header/user/auth/log-out-mutation-api.server.d.ts.map +1 -0
- package/dist/src/views/search/discover-view.d.ts +2 -0
- package/dist/src/views/search/discover-view.d.ts.map +1 -0
- package/dist/src/views/search/discover-view.js +1 -0
- package/dist/src/views/search/registry.d.ts +9 -0
- package/dist/src/views/search/registry.d.ts.map +1 -0
- package/dist/src/views/search/registry.js +1 -0
- package/dist/src/views/search/search-controls.d.ts +8 -0
- package/dist/src/views/search/search-controls.d.ts.map +1 -0
- package/dist/src/views/search/search-controls.js +1 -0
- package/dist/src/views/search/search-feed.d.ts +17 -0
- package/dist/src/views/search/search-feed.d.ts.map +1 -0
- package/dist/src/views/search/search-feed.js +1 -0
- package/dist/src/views/search/search-view.d.ts +4 -0
- package/dist/src/views/search/search-view.d.ts.map +1 -0
- package/dist/src/views/search/search-view.js +1 -0
- package/dist/src/views/search/types.d.ts +34 -0
- package/dist/src/views/search/types.d.ts.map +1 -0
- package/dist/src/views/search/types.js +1 -0
- package/dist/src/vitnode.config.d.ts +22 -18
- package/dist/src/vitnode.config.d.ts.map +1 -1
- package/dist/src/vitnode.config.js +1 -1
- package/dist/src/ws/manager.d.ts.map +1 -1
- package/dist/src/ws/manager.js +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +42 -40
- package/src/locales/en.json +258 -8
- package/src/locales/index.ts +15 -0
- package/src/routes/admin/core/advanced/cron/page.tsx +10 -1
- package/src/routes/admin/core/advanced/search/page.tsx +50 -0
- package/src/routes/admin/core/system/files/page.tsx +51 -0
- package/src/routes/admin/core/users/[id]/page.tsx +1 -1
- package/src/routes/admin/core/users/roles/page.tsx +13 -2
- package/src/routes/blank/test/page.tsx +1 -1
- package/src/routes/breadcrumb/admin/core/advanced/cron/page.tsx +5 -0
- package/src/routes/breadcrumb/admin/core/advanced/queue/page.tsx +5 -0
- package/src/routes/breadcrumb/admin/core/advanced/search/page.tsx +5 -0
- package/src/routes/breadcrumb/admin/core/page.tsx +5 -0
- package/src/routes/breadcrumb/admin/core/system/files/page.tsx +5 -0
- package/src/routes/breadcrumb/admin/core/system/integrations/page.tsx +5 -0
- package/src/routes/breadcrumb/admin/core/users/page.tsx +5 -0
- package/src/routes/breadcrumb/admin/core/users/roles/page.tsx +5 -0
- package/src/routes/breadcrumb/main/discover/page.tsx +14 -0
- package/src/routes/breadcrumb/main/page.tsx +1 -1
- package/src/routes/breadcrumb/main/search/page.tsx +11 -0
- package/src/routes/breadcrumb/main/settings/devices/page.tsx +17 -0
- package/src/routes/main/discover/page.tsx +41 -0
- package/src/routes/main/files/page.tsx +50 -0
- package/src/routes/main/search/page.tsx +43 -0
- package/src/routes/main/settings/devices/page.tsx +15 -0
- package/tsconfig.build.json +5 -0
- package/dist/scripts/shared/file-utils.test.d.ts +0 -2
- package/dist/scripts/shared/file-utils.test.d.ts.map +0 -1
- package/dist/src/api/lib/cache.test.d.ts +0 -2
- package/dist/src/api/lib/cache.test.d.ts.map +0 -1
- package/dist/src/api/lib/cache.test.js +0 -1
- package/dist/src/api/models/email.test.d.ts +0 -2
- package/dist/src/api/models/email.test.d.ts.map +0 -1
- package/dist/src/api/models/email.test.js +0 -1
- package/dist/src/api/models/queue.test.d.ts +0 -2
- package/dist/src/api/models/queue.test.d.ts.map +0 -1
- package/dist/src/api/models/queue.test.js +0 -1
- package/dist/src/components/form/fields/combobox.test.d.ts +0 -2
- package/dist/src/components/form/fields/combobox.test.d.ts.map +0 -1
- package/dist/src/components/form/fields/combobox.test.js +0 -1
- package/dist/src/lib/api/get-next-cron-run-date.test.d.ts +0 -2
- package/dist/src/lib/api/get-next-cron-run-date.test.d.ts.map +0 -1
- package/dist/src/lib/api/get-next-cron-run-date.test.js +0 -1
- package/dist/src/lib/api/get-queue-backoff-date.test.d.ts +0 -2
- package/dist/src/lib/api/get-queue-backoff-date.test.d.ts.map +0 -1
- package/dist/src/lib/api/get-queue-backoff-date.test.js +0 -1
- package/dist/src/lib/api/resolve-queue-task-outcome.test.d.ts +0 -2
- package/dist/src/lib/api/resolve-queue-task-outcome.test.d.ts.map +0 -1
- package/dist/src/lib/api/resolve-queue-task-outcome.test.js +0 -1
- package/dist/src/lib/api/should-cron-job-run.test.d.ts +0 -2
- package/dist/src/lib/api/should-cron-job-run.test.d.ts.map +0 -1
- package/dist/src/lib/api/should-cron-job-run.test.js +0 -1
- package/dist/src/lib/api/validate-cron-schedule.test.d.ts +0 -2
- package/dist/src/lib/api/validate-cron-schedule.test.d.ts.map +0 -1
- package/dist/src/lib/api/validate-cron-schedule.test.js +0 -1
- package/dist/src/lib/colors.test.d.ts +0 -2
- package/dist/src/lib/colors.test.d.ts.map +0 -1
- package/dist/src/lib/colors.test.js +0 -1
- package/dist/src/lib/fetcher/cookie-from-string-to-object.test.d.ts +0 -2
- package/dist/src/lib/fetcher/cookie-from-string-to-object.test.d.ts.map +0 -1
- package/dist/src/lib/fetcher/cookie-from-string-to-object.test.js +0 -1
- package/dist/src/lib/fetcher/helpers.test.d.ts +0 -2
- package/dist/src/lib/fetcher/helpers.test.d.ts.map +0 -1
- package/dist/src/lib/fetcher/helpers.test.js +0 -1
- package/dist/src/lib/helpers/auto-form.test.d.ts +0 -2
- package/dist/src/lib/helpers/auto-form.test.d.ts.map +0 -1
- package/dist/src/lib/helpers/auto-form.test.js +0 -1
- package/dist/src/lib/special-characters.test.d.ts +0 -2
- package/dist/src/lib/special-characters.test.d.ts.map +0 -1
- package/dist/src/lib/special-characters.test.js +0 -1
- package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.d.ts.map +0 -1
- package/dist/src/views/admin/views/core/dashboard/send-notification/mutation-api.d.ts.map +0 -1
- package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.d.ts.map +0 -1
- package/dist/src/views/admin/views/core/staff/create/mutation-api.d.ts.map +0 -1
- package/dist/src/views/admin/views/core/staff/create/search.action.d.ts.map +0 -1
- package/dist/src/views/admin/views/core/staff/edit/mutation-api.d.ts.map +0 -1
- package/dist/src/views/admin/views/core/staff/table/actions/delete-action.d.ts.map +0 -1
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.d.ts.map +0 -1
- package/dist/src/views/admin/views/core/users/actions/create/mutation-api.d.ts.map +0 -1
- package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.d.ts.map +0 -1
- package/dist/src/views/admin/views/core/users/search-roles.action.d.ts.map +0 -1
- package/dist/src/views/admin/views/core/users/show/mutation-api.d.ts.map +0 -1
- package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.d.ts.map +0 -1
- package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.d.ts.map +0 -1
- package/dist/src/views/auth/password-reset/change-password-form/mutation-api.d.ts.map +0 -1
- package/dist/src/views/auth/password-reset/form/mutation-api.d.ts.map +0 -1
- package/dist/src/views/auth/sign-in/form/mutation-api.d.ts.map +0 -1
- package/dist/src/views/auth/sign-up/form/mutation-api.d.ts.map +0 -1
- package/dist/src/views/auth/sso/buttons/mutation-api.d.ts.map +0 -1
- package/dist/src/views/auth/sso/callback/client/mutation-api.d.ts.map +0 -1
- package/dist/src/views/layouts/theme/header/user/auth/log-out-mutation-api.d.ts.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/dist/src/views/admin/views/core/advanced/cron/run-action/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/admin/views/core/dashboard/send-notification/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/admin/views/core/debug/actions/clear-cache/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/admin/views/core/staff/create/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/admin/views/core/staff/create/{search.action.js → search.action.server.js} +0 -0
- /package/dist/src/views/admin/views/core/staff/edit/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/admin/views/core/staff/table/actions/{delete-action.js → delete-action.server.js} +0 -0
- /package/dist/src/views/admin/views/core/system/integrations/send-test-email/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/admin/views/core/users/actions/create/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/admin/views/core/users/actions/verify-email/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/admin/views/core/users/{search-roles.action.js → search-roles.action.server.js} +0 -0
- /package/dist/src/views/admin/views/core/users/show/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/admin/views/core/users/show/roles/{search-roles.action.js → search-roles.action.server.js} +0 -0
- /package/dist/src/views/admin/views/core/users/show/roles/{update-roles.action.js → update-roles.action.server.js} +0 -0
- /package/dist/src/views/auth/password-reset/change-password-form/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/auth/password-reset/form/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/auth/sign-in/form/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/auth/sign-up/form/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/auth/sso/buttons/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/auth/sso/callback/client/{mutation-api.js → mutation-api.server.js} +0 -0
- /package/dist/src/views/layouts/theme/header/user/auth/{log-out-mutation-api.js → log-out-mutation-api.server.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke-action.server.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/settings/devices/revoke-action.server.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,kBAAkB,GAAU,eAEtC;IACD,QAAQ,EAAE,MAAM,CAAC;CAClB,KAAG,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAiBtD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use server";import{revalidatePath}from"next/cache";import{usersModule}from"../../../../api/modules/users/users.module.js";import{fetcher}from"../../../../lib/fetcher.js";export const revokeDeviceAction=async({publicId})=>{const res=await fetcher(usersModule,{path:"/devices/{publicId}",method:"delete",module:"users",args:{params:{publicId}}});if(res.status!==200){return{error:{status:res.status}}}revalidatePath("/[locale]/(main)","layout");return{data:true}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke-device-button.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/settings/devices/revoke-device-button.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,kBAAkB,GAAI,mBAGhC;IACD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB,gCA4BA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as _jsx}from"react/jsx-runtime";import{LogOutIcon}from"lucide-react";import{useTranslations}from"next-intl";import{toast}from"sonner";import{ConfirmActionAlertDialog}from"../../../../components/confirm-action/confirm-action-alert-dialog.js";import{Button}from"../../../../components/ui/button.js";import{revokeDeviceAction}from"./revoke-action.server.js";export const RevokeDeviceButton=({os,publicId})=>{const t=useTranslations("core.auth.settings.devices.revoke");const tGlobal=useTranslations("core.global.errors");return _jsx(ConfirmActionAlertDialog,{description:t("desc",{os}),onSubmit:async({onClose})=>{const result=await revokeDeviceAction({publicId});if(result.error){toast.error(tGlobal("title"),{description:tGlobal("internal_server_error")});return}toast.success(t("success"));onClose()},textSubmit:t("confirm"),title:t("title"),children:_jsx(Button,{"aria-label":t("action"),size:"icon-sm",variant:"destructive",children:_jsx(LogOutIcon,{})})})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav.d.ts","sourceRoot":"","sources":["../../../../../src/views/auth/settings/nav.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nav.d.ts","sourceRoot":"","sources":["../../../../../src/views/auth/settings/nav.tsx"],"names":[],"mappings":"AA6BA,eAAO,MAAM,WAAW,mCA8BvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{ChevronRightIcon,KeyRoundIcon,UserRoundIcon}from"lucide-react";import{useTranslations}from"next-intl";import{buttonVariants}from"../../../components/ui/button.js";import{Link,usePathname}from"../../../lib/navigation.js";import{cn,normalizeUrl}from"../../../lib/utils.js";const items=[{href:"/settings/overview",key:"overview",icon:UserRoundIcon,aliases:["/settings"]},{href:"/settings/security",key:"security",icon:KeyRoundIcon}];export const NavSettings=()=>{const t=useTranslations("core.auth.settings.nav");const pathname=normalizeUrl(usePathname());return _jsx("nav",{className:"flex flex-col gap-1",children:items.map(({href,key,icon:Icon,...item})=>{const aliases="aliases"in item?item.aliases:[];const isActive=[href,...aliases].some(url=>pathname===normalizeUrl(url));return _jsxs(Link,{"aria-current":isActive?"page":undefined,className:cn(buttonVariants({variant:isActive?"default":"ghost"}),"w-full justify-start gap-2"),href:href,children:[_jsx(Icon,{}),t(key),_jsx(ChevronRightIcon,{className:"ml-auto opacity-60 sm:hidden"})]},href)})})};
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{ChevronRightIcon,KeyRoundIcon,MonitorSmartphoneIcon,UserRoundIcon}from"lucide-react";import{useTranslations}from"next-intl";import{buttonVariants}from"../../../components/ui/button.js";import{Link,usePathname}from"../../../lib/navigation.js";import{cn,normalizeUrl}from"../../../lib/utils.js";const items=[{href:"/settings/overview",key:"overview",icon:UserRoundIcon,aliases:["/settings"]},{href:"/settings/devices",key:"devices",icon:MonitorSmartphoneIcon},{href:"/settings/security",key:"security",icon:KeyRoundIcon}];export const NavSettings=()=>{const t=useTranslations("core.auth.settings.nav");const pathname=normalizeUrl(usePathname());return _jsx("nav",{className:"flex flex-col gap-1",children:items.map(({href,key,icon:Icon,...item})=>{const aliases="aliases"in item?item.aliases:[];const isActive=[href,...aliases].some(url=>pathname===normalizeUrl(url));return _jsxs(Link,{"aria-current":isActive?"page":undefined,className:cn(buttonVariants({variant:isActive?"default":"ghost"}),"w-full justify-start gap-2"),href:href,children:[_jsx(Icon,{}),t(key),_jsx(ChevronRightIcon,{className:"ml-auto opacity-60 sm:hidden"})]},href)})})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../../../src/views/auth/settings/shell.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,aAAa,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../../../src/views/auth/settings/shell.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,aAAa,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,gCA6CxE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{ArrowLeftIcon}from"lucide-react";import{useTranslations}from"next-intl";import{buttonVariants}from"../../../components/ui/button.js";import{Card,CardContent}from"../../../components/ui/card.js";import{HeaderContent}from"../../../components/ui/header-content.js";import{Link,usePathname}from"../../../lib/navigation.js";import{cn,normalizeUrl}from"../../../lib/utils.js";import{NavSettings}from"./nav.js";export const SettingsShell=({children})=>{const t=useTranslations("core.auth.settings");const isRoot=normalizeUrl(usePathname())==="/settings";return _jsxs("div",{className:"container mx-auto space-y-6 px-4",children:[_jsx(HeaderContent,{className:cn(!isRoot&&"hidden md:flex"),desc:t("desc"),h1:t("title")}),_jsxs("div",{className:"flex flex-col gap-6 md:flex-row",children:[_jsx(Card,{className:cn("md:w-80 md:shrink-0",!isRoot&&"hidden md:flex"),children:_jsx(CardContent,{children:_jsx(NavSettings,{})})}),_jsx(Card,{className:cn("min-w-0 flex-1",isRoot&&"hidden md:flex"),children:_jsxs(CardContent,{children:[_jsxs(Link,{className:cn(buttonVariants({size:"sm",variant:"ghost"}),"mb-4 w-full justify-start gap-2 p-0 md:hidden"),href:"/settings",children:[_jsx(ArrowLeftIcon,{}),t("title")]}),children]})})]})]})};
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{ArrowLeftIcon}from"lucide-react";import{useTranslations}from"next-intl";import{buttonVariants}from"../../../components/ui/button.js";import{Card,CardContent}from"../../../components/ui/card.js";import{HeaderContent}from"../../../components/ui/header-content.js";import{Link,usePathname}from"../../../lib/navigation.js";import{cn,normalizeUrl}from"../../../lib/utils.js";import{NavSettings}from"./nav.js";export const SettingsShell=({children})=>{const t=useTranslations("core.auth.settings");const isRoot=normalizeUrl(usePathname())==="/settings";return _jsxs("div",{className:"container mx-auto space-y-6 px-4",children:[_jsx(HeaderContent,{className:cn(!isRoot&&"hidden md:flex"),desc:t("desc"),h1:t("title")}),_jsxs("div",{className:"flex flex-col items-start gap-6 md:flex-row",children:[_jsx(Card,{className:cn("w-full md:w-80 md:shrink-0",!isRoot&&"hidden md:flex"),children:_jsx(CardContent,{children:_jsx(NavSettings,{})})}),_jsx(Card,{className:cn("w-full min-w-0 flex-1",isRoot&&"hidden md:flex"),children:_jsxs(CardContent,{children:[_jsxs(Link,{className:cn(buttonVariants({size:"sm",variant:"ghost"}),"mb-4 w-full justify-start gap-2 p-0 md:hidden"),href:"/settings",children:[_jsx(ArrowLeftIcon,{}),t("title")]}),children]})})]})]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/sign-in/form/form.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/sign-in/form/form.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,UAAU,GAAI,uBAGxB;IACD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB,gCA0DA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{AlertCircle}from"lucide-react";import{useTranslations}from"next-intl";import{AutoForm}from"../../../../components/form/auto-form.js";import{AutoFormInput}from"../../../../components/form/fields/input.js";import{Alert,AlertDescription,AlertTitle}from"../../../../components/ui/alert.js";import{Link}from"../../../../lib/navigation.js";import{useFormSignIn}from"./use-form.js";export const FormSignIn=({isAdmin,isEmail})=>{const t=useTranslations("core.auth.sign_in");const{onSubmit,error,formSchema}=useFormSignIn({isAdmin});return _jsxs("div",{className:"space-y-4",children:[error&&_jsxs(Alert,{variant:"destructive",children:[_jsx(AlertCircle,{className:"size-4"}),_jsx(AlertTitle,{children:t(`errors.${error}.title`)}),_jsx(AlertDescription,{children:t(`errors.${error}.desc`)})]}),_jsx(AutoForm,{fields:[{id:"email",component:props=>_jsx(AutoFormInput,{label:t("email.label"),...props})},{id:"password",component:props=>_jsx(AutoFormInput,{label:t("password.label"),labelRight:isEmail?_jsx(Link,{className:"text-primary hover:underline",href:"/login/reset-password",children:t("password.reset")}):undefined,type:"password",...props})}],formSchema:formSchema,onSubmit:onSubmit,submitButtonProps:{className:"w-full",children:t("submit")}})]})};
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{AlertCircle}from"lucide-react";import{motion,useReducedMotion}from"motion/react";import{useTranslations}from"next-intl";import{AutoForm}from"../../../../components/form/auto-form.js";import{AutoFormInput}from"../../../../components/form/fields/input.js";import{Alert,AlertDescription,AlertTitle}from"../../../../components/ui/alert.js";import{SHAKE_KEYFRAMES,SHAKE_TRANSITION}from"../../../../lib/motion.js";import{Link}from"../../../../lib/navigation.js";import{useFormSignIn}from"./use-form.js";export const FormSignIn=({isAdmin,isEmail})=>{const t=useTranslations("core.auth.sign_in");const shouldReduceMotion=useReducedMotion();const{onSubmit,error,formSchema}=useFormSignIn({isAdmin});return _jsxs("div",{className:"space-y-4",children:[error&&_jsx(motion.div,{animate:shouldReduceMotion?undefined:SHAKE_KEYFRAMES,transition:SHAKE_TRANSITION,children:_jsxs(Alert,{variant:"destructive",children:[_jsx(AlertCircle,{className:"size-4"}),_jsx(AlertTitle,{children:t(`errors.${error}.title`)}),_jsx(AlertDescription,{children:t(`errors.${error}.desc`)})]})}),_jsx(AutoForm,{fields:[{id:"email",component:props=>_jsx(AutoFormInput,{label:t("email.label"),...props})},{id:"password",component:props=>_jsx(AutoFormInput,{label:t("password.label"),labelRight:isEmail?_jsx(Link,{className:"text-primary hover:underline",href:"/login/reset-password",children:t("password.reset")}):undefined,type:"password",...props})}],formSchema:formSchema,onSubmit:onSubmit,submitButtonProps:{className:"w-full",children:t("submit")}})]})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-api.server.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/sign-in/form/mutation-api.server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAI7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAMhF,eAAO,MAAM,WAAW,GACtB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,GAAG;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;;;;cA6BF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useTranslations}from"next-intl";import React from"react";import{toast}from"sonner";import{z}from"zod";import{mutationApi}from"./mutation-api.js";export const useFormSignIn=({isAdmin=false})=>{const[error,setError]=React.useState("");const t=useTranslations("core.auth.sign_in");const tErrors=useTranslations("core.global.errors");const formSchema=z.object({email:z.email({message:t("email.invalid")}).default(""),password:z.string().min(1,{message:t("password.required")}).default("")});const onSubmit=async values=>{setError("");const mutation=await mutationApi({...values,isAdmin});if(!mutation?.message)return;if(mutation?.message!=="Internal Server Error"){setError(mutation.message);return}toast.error(tErrors("title"),{description:tErrors("internal_server_error")})};return{onSubmit,error,formSchema}};
|
|
1
|
+
import{useTranslations}from"next-intl";import React from"react";import{toast}from"sonner";import{z}from"zod";import{mutationApi}from"./mutation-api.server.js";export const useFormSignIn=({isAdmin=false})=>{const[error,setError]=React.useState("");const t=useTranslations("core.auth.sign_in");const tErrors=useTranslations("core.global.errors");const formSchema=z.object({email:z.email({message:t("email.invalid")}).default(""),password:z.string().min(1,{message:t("password.required")}).default("")});const onSubmit=async values=>{setError("");const mutation=await mutationApi({...values,isAdmin});if(!mutation?.message)return;if(mutation?.message!=="Internal Server Error"){setError(mutation.message);return}toast.error(tErrors("title"),{description:tErrors("internal_server_error")})};return{onSubmit,error,formSchema}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-api.server.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/sign-up/form/mutation-api.server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAI7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAMhF,eAAO,MAAM,WAAW,GAAU,4BAG/B,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;EAuB5D,CAAC"}
|
|
@@ -4,14 +4,14 @@ export declare const usePasswordZodSchema: () => z.ZodDefault<z.ZodString>;
|
|
|
4
4
|
export declare const useFormSignUp: () => {
|
|
5
5
|
onSubmit: AutoFormOnSubmit<z.ZodObject<{
|
|
6
6
|
name: z.ZodDefault<z.ZodString>;
|
|
7
|
-
email: z.
|
|
7
|
+
email: z.ZodEmail;
|
|
8
8
|
password: z.ZodDefault<z.ZodString>;
|
|
9
9
|
terms: z.ZodDefault<z.ZodBoolean>;
|
|
10
10
|
newsletter: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
11
11
|
}, z.core.$strip>>;
|
|
12
12
|
formSchema: z.ZodObject<{
|
|
13
13
|
name: z.ZodDefault<z.ZodString>;
|
|
14
|
-
email: z.
|
|
14
|
+
email: z.ZodEmail;
|
|
15
15
|
password: z.ZodDefault<z.ZodString>;
|
|
16
16
|
terms: z.ZodDefault<z.ZodBoolean>;
|
|
17
17
|
newsletter: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/sign-up/form/use-form.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAKpE,eAAO,MAAM,oBAAoB,iCAchC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/sign-up/form/use-form.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAKpE,eAAO,MAAM,oBAAoB,iCAchC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CA4EzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useTranslations}from"next-intl";import{toast}from"sonner";import{z}from"zod";import{useWrapperSignUp}from"../wrapper.js";import{mutationApi}from"./mutation-api.js";export const usePasswordZodSchema=()=>{const t=useTranslations("core.auth.sign_up");const tError=useTranslations("core.global.errors");const invalidPassword=t("password.invalid");return z.string({message:tError("field_required")}).regex(/^.{8,}$/,invalidPassword).regex(/[A-Z]/,invalidPassword).regex(/\d/,invalidPassword).regex(/\W|_/,invalidPassword).default("")};export const useFormSignUp=()=>{const t=useTranslations("core.auth.sign_up");const tError=useTranslations("core.global.errors");const passwordSchema=usePasswordZodSchema();const formSchema=z.object({name:z.string({message:tError("field_required")}).min(3,t("username.min_length")).max(32,t("username.max_length")).default(""),email:z.email({message:t("email.invalid")})
|
|
1
|
+
import{useTranslations}from"next-intl";import{toast}from"sonner";import{z}from"zod";import{useWrapperSignUp}from"../wrapper.js";import{mutationApi}from"./mutation-api.server.js";export const usePasswordZodSchema=()=>{const t=useTranslations("core.auth.sign_up");const tError=useTranslations("core.global.errors");const invalidPassword=t("password.invalid");return z.string({message:tError("field_required")}).regex(/^.{8,}$/,invalidPassword).regex(/[A-Z]/,invalidPassword).regex(/\d/,invalidPassword).regex(/\W|_/,invalidPassword).default("")};export const useFormSignUp=()=>{const t=useTranslations("core.auth.sign_up");const tError=useTranslations("core.global.errors");const passwordSchema=usePasswordZodSchema();const formSchema=z.object({name:z.string({message:tError("field_required")}).min(3,t("username.min_length")).max(32,t("username.max_length")).default(""),email:z.email({message:t("email.invalid")}),password:passwordSchema,terms:z.boolean().refine(value=>value,t("terms.required")).default(false),newsletter:z.boolean().default(false).optional()});const{setSendingEmail}=useWrapperSignUp();const onSubmit=async(values,form,{captchaToken})=>{const mutation=await mutationApi({...values,captchaToken});if(mutation.data){if(!mutation.data.emailVerified){setSendingEmail(mutation.data.email)}return}const errorMessages={"Email already exists":{field:"email",message:t("email.exists")},"Name already exists":{field:"name",message:t("username.exists")}};const errorConfig=errorMessages[mutation.error];if(errorConfig){form.setError(errorConfig.field,{type:"manual",message:errorConfig.message},{shouldFocus:true});return}toast.error(tError("title"),{description:tError("internal_server_error")})};return{onSubmit,formSchema}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as _jsx}from"react/jsx-runtime";import{useTranslations}from"next-intl";import{toast}from"sonner";import{Button}from"../../../../components/ui/button.js";import{mutationApi}from"./mutation-api.js";export const ButtonSSOButtons=({children,providerId})=>{const tErrors=useTranslations("core.global.errors");return _jsx(Button,{className:"bg-card w-[calc(50%-0.5rem)]",onClick:async()=>{const mutation=await mutationApi(providerId);if(mutation?.message){toast.error(tErrors("title"),{description:tErrors("internal_server_error")})}},variant:"outline",children:children})};
|
|
1
|
+
"use client";import{jsx as _jsx}from"react/jsx-runtime";import{useTranslations}from"next-intl";import{toast}from"sonner";import{Button}from"../../../../components/ui/button.js";import{mutationApi}from"./mutation-api.server.js";export const ButtonSSOButtons=({children,providerId})=>{const tErrors=useTranslations("core.global.errors");return _jsx(Button,{className:"bg-card w-[calc(50%-0.5rem)]",onClick:async()=>{const mutation=await mutationApi(providerId);if(mutation?.message){toast.error(tErrors("title"),{description:tErrors("internal_server_error")})}},variant:"outline",children:children})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-api.server.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/sso/buttons/mutation-api.server.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,GAAU,YAAY,MAAM;;cAmBnD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as _jsx}from"react/jsx-runtime";import{useQuery}from"@tanstack/react-query";import{useTranslations}from"next-intl";import{Loader}from"../../../../../components/ui/loader.js";import{Link,useRouter}from"../../../../../lib/navigation.js";import{ErrorView}from"../../../../error/error-view.js";import{Button}from"../../../../../components/ui/button.js";import{mutationApi}from"./mutation-api.js";export const ClientCallbackSSO=({providerId,code,state,sso})=>{const t=useTranslations("core.auth.sso");const{replace}=useRouter();const{isError,error}=useQuery({queryKey:["core.auth.sso.callback.sign-up",providerId,code],queryFn:async()=>{const mutation=await mutationApi({providerId,code,state});if(mutation?.error){throw new Error(mutation.error)}replace("/");return""},retry:false});const provider=sso.find(p=>p.id===providerId);if(error?.message==="Email already exists"){return _jsx(ErrorView,{code:409,customActions:_jsx(Button,{nativeButton:false,render:_jsx(Link,{href:"/login"}),size:"lg",children:t("email_exists.sign_in")}),customDescription:t.rich("email_exists.desc",{provider:()=>_jsx("span",{className:"font-semibold",children:provider?.name??providerId})}),customTitle:t.rich("email_exists.title",{provider:()=>_jsx("span",{className:"font-semibold",children:provider?.name??providerId})})})}if(isError){return _jsx(ErrorView,{code:500})}return _jsx("div",{className:"container mx-auto flex items-center justify-center p-4",children:_jsx(Loader,{})})};
|
|
1
|
+
"use client";import{jsx as _jsx}from"react/jsx-runtime";import{useQuery}from"@tanstack/react-query";import{useTranslations}from"next-intl";import{Loader}from"../../../../../components/ui/loader.js";import{Link,useRouter}from"../../../../../lib/navigation.js";import{ErrorView}from"../../../../error/error-view.js";import{Button}from"../../../../../components/ui/button.js";import{mutationApi}from"./mutation-api.server.js";export const ClientCallbackSSO=({providerId,code,state,sso})=>{const t=useTranslations("core.auth.sso");const{replace}=useRouter();const{isError,error}=useQuery({queryKey:["core.auth.sso.callback.sign-up",providerId,code],queryFn:async()=>{const mutation=await mutationApi({providerId,code,state});if(mutation?.error){throw new Error(mutation.error)}replace("/");return""},retry:false});const provider=sso.find(p=>p.id===providerId);if(error?.message==="Email already exists"){return _jsx(ErrorView,{code:409,customActions:_jsx(Button,{nativeButton:false,render:_jsx(Link,{href:"/login"}),size:"lg",children:t("email_exists.sign_in")}),customDescription:t.rich("email_exists.desc",{provider:()=>_jsx("span",{className:"font-semibold",children:provider?.name??providerId})}),customTitle:t.rich("email_exists.title",{provider:()=>_jsx("span",{className:"font-semibold",children:provider?.name??providerId})})})}if(isError){return _jsx(ErrorView,{code:500})}return _jsx("div",{className:"container mx-auto flex items-center justify-center p-4",children:_jsx(Loader,{})})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-api.server.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/auth/sso/callback/client/mutation-api.server.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,GAAU,8BAI/B;IACD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;;cA0BA,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const ErrorView: ({ code, customDescription, customTitle, customActions, }: {
|
|
2
|
-
code: 400 | 403 | 404 | 409 | 500;
|
|
2
|
+
code: 400 | 403 | 404 | 409 | 429 | 500;
|
|
3
3
|
customActions?: React.ReactNode;
|
|
4
4
|
customDescription?: React.ReactNode;
|
|
5
5
|
customTitle?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-view.d.ts","sourceRoot":"","sources":["../../../../src/views/error/error-view.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,SAAS,GAAI,0DAKvB;IACD,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"error-view.d.ts","sourceRoot":"","sources":["../../../../src/views/error/error-view.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,SAAS,GAAI,0DAKvB;IACD,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACxC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B,gCAyCA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-action.server.d.ts","sourceRoot":"","sources":["../../../../../src/views/files/actions/delete-action.server.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,kBAAkB,GAAU,SAEtC;IACD,EAAE,EAAE,MAAM,CAAC;CACZ,KAAG,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAkBtD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use server";import{revalidatePath}from"next/cache";import{userFilesModule}from"../../../api/modules/users/files/files.module.js";import{fetcher}from"../../../lib/fetcher.js";export const deleteMyFileAction=async({id})=>{const res=await fetcher(userFilesModule,{path:"/{id}",method:"delete",module:"files",prefixPath:"/users",args:{params:{id:String(id)}}});if(res.status!==200){return{error:{status:res.status}}}revalidatePath("/[locale]/(main)","layout");return{data:true}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-row-actions.d.ts","sourceRoot":"","sources":["../../../../../src/views/files/actions/file-row-actions.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,eAAO,MAAM,gBAAgB,GAAI,eAG9B;IACD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,sBAqFA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{DownloadIcon,LoaderCircleIcon,Trash2Icon}from"lucide-react";import{useTranslations}from"next-intl";import React from"react";import{toast}from"sonner";import{ConfirmActionAlertDialog}from"../../../components/confirm-action/confirm-action-alert-dialog.js";import{Button}from"../../../components/ui/button.js";import{TooltipWithContent}from"../../../components/ui/tooltip.js";import{CONFIG_PLUGIN}from"../../../config.js";import{clientModule,fetcherClient}from"../../../lib/fetcher-client.js";import{deleteMyFileAction}from"./delete-action.server.js";export const MyFileRowActions=({id,name})=>{const t=useTranslations("core.files");const tGlobal=useTranslations("core.global.errors");const[isDownloading,setIsDownloading]=React.useState(false);const handleDownload=async()=>{setIsDownloading(true);try{const res=await fetcherClient(clientModule(CONFIG_PLUGIN.pluginId),{prefixPath:"/users",module:"files",path:"/{id}/download",method:"get",args:{params:{id:String(id)}},options:{credentials:"include"}});if(!res.ok)throw new Error(await res.text());const blob=await res.blob();const objectUrl=URL.createObjectURL(blob);const anchor=document.createElement("a");anchor.href=objectUrl;anchor.download=name;document.body.append(anchor);anchor.click();anchor.remove();URL.revokeObjectURL(objectUrl)}catch{toast.error(tGlobal("title"),{description:t("download.error")})}finally{setIsDownloading(false)}};return _jsxs("div",{className:"flex items-center justify-end gap-1",children:[_jsx(TooltipWithContent,{text:t("actions.download"),children:_jsx(Button,{"aria-label":t("actions.download"),disabled:isDownloading,onClick:handleDownload,size:"icon-sm",variant:"ghost",children:isDownloading?_jsx(LoaderCircleIcon,{className:"animate-spin"}):_jsx(DownloadIcon,{})})}),_jsx(ConfirmActionAlertDialog,{description:t("delete.desc"),onSubmit:async({onClose})=>{const result=await deleteMyFileAction({id});if(result.error){toast.error(tGlobal("title"),{description:tGlobal("internal_server_error")});return}toast.success(t("delete.success"));onClose()},textSubmit:t("delete.confirm"),title:t("delete.title"),children:_jsx(Button,{"aria-label":t("actions.delete"),size:"icon-sm",variant:"destructive",children:_jsx(Trash2Icon,{})})})]})};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type SearchParamsDataTable } from "../../components/table/data-table";
|
|
2
|
+
export declare const MyFilesTableView: ({ searchParams, }: {
|
|
3
|
+
searchParams: Promise<SearchParamsDataTable>;
|
|
4
|
+
}) => Promise<import("react").JSX.Element>;
|
|
5
|
+
//# sourceMappingURL=my-files-table-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"my-files-table-view.d.ts","sourceRoot":"","sources":["../../../../src/views/files/my-files-table-view.tsx"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,+BAA+B,CAAC;AAMvC,eAAO,MAAM,gBAAgB,GAAU,mBAEpC;IACD,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC9C,yCAkHA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{FileIcon,FolderIcon}from"lucide-react";import{getTranslations}from"next-intl/server";import{notFound}from"next/navigation";import{userFilesModule}from"../../api/modules/users/files/files.module.js";import{DateFormat}from"../../components/date-format.js";import{FilePreview}from"../../components/files/file-preview.js";import{MetadataCell}from"../../components/files/metadata-cell.js";import{DataTable}from"../../components/table/data-table.js";import{fetcher}from"../../lib/fetcher.js";import{formatBytes}from"../../lib/format-bytes.js";import{MyFileRowActions}from"./actions/file-row-actions.js";export const MyFilesTableView=async({searchParams})=>{const query=await searchParams;const[t,res]=await Promise.all([getTranslations("core.files"),fetcher(userFilesModule,{path:"/",method:"get",module:"files",prefixPath:"/users",args:{query},withPagination:true})]);if(res.status!==200){return notFound()}const data=await res.json();return _jsx(DataTable,{columns:[{accessorKey:"url",header:t("list.preview"),className:"w-16",cell:({row})=>_jsx(FilePreview,{mimeType:row.mimeType,name:row.name,url:row.url})},{accessorKey:"name",header:t("list.name"),cell:({row})=>_jsxs("div",{className:"flex max-w-xs flex-col",children:[_jsx("span",{className:"truncate",children:row.name}),_jsx("p",{className:"text-muted-foreground truncate text-sm",children:row.mimeType??row.folder})]})},{accessorKey:"folder",header:t("list.folder"),cell:({row})=>_jsxs("div",{className:"text-muted-foreground flex items-center gap-2",children:[_jsx(FolderIcon,{className:"size-4 shrink-0"}),_jsx("span",{className:"truncate",children:row.folder})]})},{accessorKey:"size",header:t("list.size"),cell:({row})=>formatBytes(row.size)},{accessorKey:"dimensions",header:t("list.dimensions"),cell:({row})=>row.dimensions?`${row.dimensions.width}x${row.dimensions.height}`:_jsx("span",{className:"text-muted-foreground",children:"—"})},{accessorKey:"metadata",header:t("list.metadata"),cell:({row})=>_jsx(MetadataCell,{emptyLabel:t("metadata.empty"),metadata:row.metadata,title:t("metadata.title")})},{accessorKey:"createdAt",header:t("list.createdAt"),cell:({row})=>_jsx(DateFormat,{date:row.createdAt})},{id:"actions",header:"",align:"right",className:"w-10",cell:({row})=>_jsx(MyFileRowActions,{id:row.id,name:row.name})}],customNoResults:{title:t("noResults.title"),description:t("noResults.description"),icon:_jsx(FileIcon,{})},edges:data.edges,id:"my-files-table",order:{columns:["name","size","createdAt"],defaultOrder:{column:"createdAt",order:"desc"}},pageInfo:data.pageInfo,search:true})};
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import type { LocaleConfig } from "../../lib/i18n/types";
|
|
2
3
|
import type { VitNodeConfig } from "../../vitnode.config";
|
|
3
4
|
import { Toaster } from "../../components/ui/sonner";
|
|
4
|
-
export
|
|
5
|
+
export interface RootProviderConfig extends Pick<VitNodeConfig, "debug" | "progressBar" | "theme"> {
|
|
6
|
+
locales: LocaleConfig[];
|
|
7
|
+
}
|
|
8
|
+
export declare const RootProvider: ({ children, toaster, config: { debug, theme, progressBar, locales }, }: {
|
|
5
9
|
children: React.ReactNode;
|
|
6
|
-
config:
|
|
10
|
+
config: RootProviderConfig;
|
|
7
11
|
toaster?: React.ComponentProps<typeof Toaster>;
|
|
8
12
|
}) => React.JSX.Element;
|
|
9
13
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/views/layouts/provider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/views/layouts/provider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AASrD,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,aAAa,EACb,OAAO,GAAG,aAAa,GAAG,OAAO,CAClC;IACC,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,eAAO,MAAM,YAAY,GAAI,wEAI1B;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,CAAC;CAChD,sBAuDA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{ProgressProvider}from"@bprogress/next/app";import{QueryClient,QueryClientProvider}from"@tanstack/react-query";import React from"react";import{scan}from"react-scan";import{CONFIG}from"../../lib/config.js";import{ThemeProvider}from"../../components/theme-provider.js";import{Toaster}from"../../components/ui/sonner.js";import{TooltipProvider}from"../../components/ui/tooltip.js";export const RootProvider=({children,toaster,config:{debug,theme,progressBar}})=>{React.useEffect(()=>{if(!(debug&&CONFIG.node_development))return;scan({enabled:true})},[debug]);const[queryClient]=React.useState(()=>new QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:false,refetchOnMount:false}}}));return _jsx(QueryClientProvider,{client:queryClient,children:_jsxs(ThemeProvider,{attribute:"class",disableTransitionOnChange:true,enableSystem:true,...theme,children:[_jsx(Toaster,{closeButton:true,position:toaster?.position??"top-center",...toaster}),_jsx(ProgressProvider,{...progressBar,color:progressBar?.color??"var(--primary)",height:progressBar?.height??"4px",options:{showSpinner:false,...progressBar?.options},shallowRouting:progressBar?.shallowRouting??true,children:_jsx(TooltipProvider,{children:children})})]})})};
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{ProgressProvider}from"@bprogress/next/app";import{QueryClient,QueryClientProvider}from"@tanstack/react-query";import React from"react";import{scan}from"react-scan";import{CONFIG}from"../../lib/config.js";import{LanguagesProvider}from"../../components/languages-provider.js";import{ThemeProvider}from"../../components/theme-provider.js";import{Toaster}from"../../components/ui/sonner.js";import{TooltipProvider}from"../../components/ui/tooltip.js";import{RateLimitListener}from"./rate-limit-listener.js";export const RootProvider=({children,toaster,config:{debug,theme,progressBar,locales}})=>{React.useEffect(()=>{if(!(debug&&CONFIG.node_development))return;scan({enabled:true})},[debug]);const[queryClient]=React.useState(()=>new QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:false,refetchOnMount:false}}}));return _jsx(QueryClientProvider,{client:queryClient,children:_jsxs(ThemeProvider,{attribute:"class",disableTransitionOnChange:true,enableSystem:true,...theme,children:[_jsx(Toaster,{closeButton:true,position:toaster?.position??"top-center",...toaster}),_jsx(RateLimitListener,{}),_jsx(ProgressProvider,{...progressBar,color:progressBar?.color??"var(--primary)",height:progressBar?.height??"4px",options:{showSpinner:false,...progressBar?.options},shallowRouting:progressBar?.shallowRouting??true,children:_jsx(TooltipProvider,{children:_jsx(LanguagesProvider,{languages:locales,children:children})})})]})})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-limit-listener.d.ts","sourceRoot":"","sources":["../../../../src/views/layouts/rate-limit-listener.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,iBAAiB,YAwB7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useTranslations}from"next-intl";import React from"react";import{toast}from"sonner";import{RATE_LIMIT_EVENT}from"../../lib/fetcher/rate-limit.js";export const RateLimitListener=()=>{const t=useTranslations("core.global.errors");React.useEffect(()=>{const handler=event=>{const{retryAfter}=event.detail??{};toast.error(t("429.title"),{id:"vitnode-rate-limit",description:retryAfter?t("429.retry",{seconds:retryAfter}):t("429.desc")})};window.addEventListener(RATE_LIMIT_EVENT,handler);return()=>{window.removeEventListener(RATE_LIMIT_EVENT,handler)}},[t]);return null};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-layout.d.ts","sourceRoot":"","sources":["../../../../src/views/layouts/root-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,0BAA0B,GAAI,sCAExC,aAAa,KAAG,QAOlB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,+BAI9B,eAAe,GAAG;IACnB,MAAM,EAAE,aAAa,CAAC;CACvB,+
|
|
1
|
+
{"version":3,"file":"root-layout.d.ts","sourceRoot":"","sources":["../../../../src/views/layouts/root-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,0BAA0B,GAAI,sCAExC,aAAa,KAAG,QAOlB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,+BAI9B,eAAe,GAAG;IACnB,MAAM,EAAE,aAAa,CAAC;CACvB,+BAoBA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as _jsx}from"react/jsx-runtime";import{setRequestLocale}from"next-intl/server";import{I18nProvider}from"../../components/i18n-provider.js";import{VitNodeWebSocketProvider}from"../../ws/provider.js";import{RootProvider}from"./provider.js";export const generateMetadataRootLayout=({metadata:{title,shortTitle}})=>{return{title:{default:title,template:`%s - ${shortTitle??title}`}}};export const RootLayout=async({children,params,config})=>{const{locale}=await params;setRequestLocale(locale);return _jsx(I18nProvider,{namespaces:[],children:_jsx(RootProvider,{config:config,children:_jsx(VitNodeWebSocketProvider,{children:children})})})};
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{setRequestLocale}from"next-intl/server";import{I18nProvider}from"../../components/i18n-provider.js";import{VitNodeWebSocketProvider}from"../../ws/provider.js";import{RootProvider}from"./provider.js";export const generateMetadataRootLayout=({metadata:{title,shortTitle}})=>{return{title:{default:title,template:`%s - ${shortTitle??title}`}}};export const RootLayout=async({children,params,config})=>{const{locale}=await params;setRequestLocale(locale);return _jsx(I18nProvider,{namespaces:[],children:_jsx(RootProvider,{config:{debug:config.debug,locales:config.i18n.locales,progressBar:config.progressBar,theme:config.theme},children:_jsx(VitNodeWebSocketProvider,{children:children})})})};
|
|
@@ -3,5 +3,5 @@ import type { VitNodeConfig } from "../../../../vitnode.config";
|
|
|
3
3
|
export declare const HeaderLayout: ({ logo, className, vitNodeConfig, ...props }: React.ComponentProps<"header"> & {
|
|
4
4
|
logo: React.ReactNode;
|
|
5
5
|
vitNodeConfig: VitNodeConfig;
|
|
6
|
-
}) => React.JSX.Element
|
|
6
|
+
}) => Promise<React.JSX.Element>;
|
|
7
7
|
//# sourceMappingURL=header.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../../src/views/layouts/theme/header/header.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../../src/views/layouts/theme/header/header.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAWtD,eAAO,MAAM,YAAY,GAAU,8CAKhC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG;IAClC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;CAC9B,+BAsCA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import React from"react";import{LanguageSwitcher}from"../../../../components/switchers/langs/language-switcher.js";import{ThemeSwitcher}from"../../../../components/switchers/themes/theme-switcher.js";import{Skeleton}from"../../../../components/ui/skeleton.js";import{Link}from"../../../../lib/navigation.js";import{cn}from"../../../../lib/utils.js";import{UserHeader}from"./user/user.js";export const HeaderLayout=({logo,className,vitNodeConfig,...props})=>{return _jsx("header",{className:cn("sticky top-0 z-20 w-full sm:top-2 sm:mb-2",className),...props,children:_jsxs("div",{className:"dark:bg-background/75 bg-card/75 container mx-auto flex h-14 items-center border-b px-4 py-2 backdrop-blur sm:rounded-lg sm:border sm:shadow-sm",children:[_jsx(Link,{href:"/",children:logo}),_jsxs("div",{className:"ml-auto flex items-center gap-2",children:[vitNodeConfig.i18n.locales.length>1&&_jsx(LanguageSwitcher,{locales:vitNodeConfig.i18n.locales}),_jsx(ThemeSwitcher,{}),_jsx(React.Suspense,{fallback:_jsx(Skeleton,{className:"h-9 w-32"}),children:_jsx(UserHeader,{})})]})]})})};
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{getTranslations}from"next-intl/server";import React from"react";import{LanguageSwitcher}from"../../../../components/switchers/langs/language-switcher.js";import{ThemeSwitcher}from"../../../../components/switchers/themes/theme-switcher.js";import{buttonVariants}from"../../../../components/ui/button.js";import{Skeleton}from"../../../../components/ui/skeleton.js";import{Link}from"../../../../lib/navigation.js";import{cn}from"../../../../lib/utils.js";import{UserHeader}from"./user/user.js";export const HeaderLayout=async({logo,className,vitNodeConfig,...props})=>{const t=await getTranslations("core.search");return _jsx("header",{className:cn("sticky top-0 z-20 w-full sm:top-2 sm:mb-2",className),...props,children:_jsxs("div",{className:"dark:bg-background/75 bg-card/75 container mx-auto flex h-14 items-center border-b px-4 py-2 backdrop-blur sm:rounded-lg sm:border sm:shadow-sm",children:[_jsx(Link,{href:"/",children:logo}),_jsxs("nav",{className:"ms-4 hidden items-center gap-1 sm:flex",children:[_jsx(Link,{className:buttonVariants({variant:"ghost",size:"sm"}),href:"/discover",children:t("nav.discover")}),_jsx(Link,{className:buttonVariants({variant:"ghost",size:"sm"}),href:"/search",children:t("nav.search")})]}),_jsxs("div",{className:"ml-auto flex items-center gap-2",children:[vitNodeConfig.i18n.locales.length>1&&_jsx(LanguageSwitcher,{locales:vitNodeConfig.i18n.locales}),_jsx(ThemeSwitcher,{}),_jsx(React.Suspense,{fallback:_jsx(Skeleton,{className:"h-9 w-32"}),children:_jsx(UserHeader,{})})]})]})})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/layouts/theme/header/user/auth/client.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/layouts/theme/header/user/auth/client.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAW5D,eAAO,MAAM,oBAAoB,GAAI,WAElC;IACD,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;CACvC,gCAyDA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{KeyRoundIcon,LogOutIcon,Settings,ShieldIcon,UserIcon}from"lucide-react";import{useTranslations}from"next-intl";import{DropdownMenuGroup,DropdownMenuItem,DropdownMenuSeparator}from"../../../../../../components/ui/dropdown-menu.js";import{Link}from"../../../../../../lib/navigation.js";import{logOutMutationApi}from"./log-out-mutation-api.js";export const ClientAuthUserHeader=({user})=>{const t=useTranslations("core.global.user_bar");return _jsxs(_Fragment,{children:[_jsxs(DropdownMenuGroup,{children:[_jsxs(DropdownMenuItem,{render:_jsx(Link,{href:`/users/${user.nameCode}`}),children:[_jsx(UserIcon,{}),_jsx("span",{children:t("my_profile")})]}),_jsxs(DropdownMenuItem,{render:_jsx(Link,{href:"/settings"}),children:[_jsx(Settings,{}),_jsx("span",{children:t("settings")})]})]}),_jsx(DropdownMenuSeparator,{}),(user.isAdmin||user.isModerator)&&_jsxs(_Fragment,{children:[_jsxs(DropdownMenuGroup,{children:[user.isModerator&&_jsxs(DropdownMenuItem,{render:_jsx(Link,{href:"/mod_cp"}),children:[_jsx(ShieldIcon,{}),_jsx("span",{children:t("mod_cp")})]}),user.isAdmin&&_jsxs(DropdownMenuItem,{render:_jsx(Link,{href:"/admin",target:"_blank"}),children:[_jsx(KeyRoundIcon,{}),_jsx("span",{children:t("admin_cp")})]})]}),_jsx(DropdownMenuSeparator,{})]}),_jsx(DropdownMenuGroup,{children:_jsxs(DropdownMenuItem,{onClick:async()=>{await logOutMutationApi({})},children:[_jsx(LogOutIcon,{}),_jsx("span",{children:t("log_out")})]})})]})};
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{FileIcon,KeyRoundIcon,LogOutIcon,Settings,ShieldIcon,UserIcon}from"lucide-react";import{useTranslations}from"next-intl";import{DropdownMenuGroup,DropdownMenuItem,DropdownMenuSeparator}from"../../../../../../components/ui/dropdown-menu.js";import{Link}from"../../../../../../lib/navigation.js";import{logOutMutationApi}from"./log-out-mutation-api.server.js";export const ClientAuthUserHeader=({user})=>{const t=useTranslations("core.global.user_bar");return _jsxs(_Fragment,{children:[_jsxs(DropdownMenuGroup,{children:[_jsxs(DropdownMenuItem,{render:_jsx(Link,{href:`/users/${user.nameCode}`}),children:[_jsx(UserIcon,{}),_jsx("span",{children:t("my_profile")})]}),_jsxs(DropdownMenuItem,{render:_jsx(Link,{href:"/files"}),children:[_jsx(FileIcon,{}),_jsx("span",{children:t("files")})]}),_jsxs(DropdownMenuItem,{render:_jsx(Link,{href:"/settings"}),children:[_jsx(Settings,{}),_jsx("span",{children:t("settings")})]})]}),_jsx(DropdownMenuSeparator,{}),(user.isAdmin||user.isModerator)&&_jsxs(_Fragment,{children:[_jsxs(DropdownMenuGroup,{children:[user.isModerator&&_jsxs(DropdownMenuItem,{render:_jsx(Link,{href:"/mod_cp"}),children:[_jsx(ShieldIcon,{}),_jsx("span",{children:t("mod_cp")})]}),user.isAdmin&&_jsxs(DropdownMenuItem,{render:_jsx(Link,{href:"/admin",target:"_blank"}),children:[_jsx(KeyRoundIcon,{}),_jsx("span",{children:t("admin_cp")})]})]}),_jsx(DropdownMenuSeparator,{})]}),_jsx(DropdownMenuGroup,{children:_jsxs(DropdownMenuItem,{onClick:async()=>{await logOutMutationApi({})},children:[_jsx(LogOutIcon,{}),_jsx("span",{children:t("log_out")})]})})]})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-out-mutation-api.server.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/layouts/theme/header/user/auth/log-out-mutation-api.server.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,iBAAiB,GAAU,cAErC;IACD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,kBAqBA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover-view.d.ts","sourceRoot":"","sources":["../../../../src/views/search/discover-view.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY,4CAmBxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{getLocale}from"next-intl/server";import{searchModule}from"../../api/modules/search/search.module.js";import{fetcher}from"../../lib/fetcher.js";import{SearchFeed}from"./search-feed.js";export const DiscoverView=async()=>{const locale=await getLocale();const res=await fetcher(searchModule,{module:"search",path:"/",method:"get",args:{query:{sort:"newest",first:"20",lang:locale}}});const initialData=await res.json();return _jsx(SearchFeed,{initialData:initialData,params:{sort:"newest"},variant:"timeline"})};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type LucideIcon } from "lucide-react";
|
|
2
|
+
export type SearchTypeLabelKey = "types.blog_post" | "types.unknown";
|
|
3
|
+
export interface SearchTypeRenderer {
|
|
4
|
+
icon: LucideIcon;
|
|
5
|
+
labelKey: SearchTypeLabelKey;
|
|
6
|
+
}
|
|
7
|
+
export declare const getSearchTypeRenderer: (itemType: string) => SearchTypeRenderer;
|
|
8
|
+
export declare const searchTypeKeys: string[];
|
|
9
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/views/search/registry.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAErE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAcD,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,kBACxB,CAAC;AAElC,eAAO,MAAM,cAAc,UAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{FileTextIcon}from"lucide-react";const renderers={blog_post:{icon:FileTextIcon,labelKey:"types.blog_post"}};const fallback={icon:FileTextIcon,labelKey:"types.unknown"};export const getSearchTypeRenderer=itemType=>renderers[itemType]??fallback;export const searchTypeKeys=Object.keys(renderers);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { SearchFeedParams } from "./search-feed";
|
|
3
|
+
import type { SearchFeedPage } from "./types";
|
|
4
|
+
export declare const SearchControls: ({ defaultParams, initialData, }: {
|
|
5
|
+
defaultParams: SearchFeedParams;
|
|
6
|
+
initialData?: SearchFeedPage;
|
|
7
|
+
}) => React.JSX.Element;
|
|
8
|
+
//# sourceMappingURL=search-controls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-controls.d.ts","sourceRoot":"","sources":["../../../../src/views/search/search-controls.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAU9C,eAAO,MAAM,cAAc,GAAI,iCAG5B;IACD,aAAa,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B,sBAoFA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{SearchIcon}from"lucide-react";import{useTranslations}from"next-intl";import React from"react";import{useDebouncedCallback}from"use-debounce";import{Button}from"../../components/ui/button.js";import{InputGroup,InputGroupAddon,InputGroupInput}from"../../components/ui/input-group.js";import{NativeSelect,NativeSelectOption}from"../../components/ui/native-select.js";import{getSearchTypeRenderer,searchTypeKeys}from"./registry.js";import{SearchFeed}from"./search-feed.js";const SORT_VALUES=["relevance","newest","oldest"];const MIN_TERM_LENGTH=3;export const SearchControls=({defaultParams,initialData})=>{const t=useTranslations("core.search");const[term,setTerm]=React.useState(defaultParams.search??"");const[appliedTerm,setAppliedTerm]=React.useState(defaultParams.search??"");const[types,setTypes]=React.useState(defaultParams.types?defaultParams.types.split(","):[]);const[sort,setSort]=React.useState(defaultParams.sort??"newest");const applyTerm=useDebouncedCallback(value=>{if(value.length>=MIN_TERM_LENGTH){setAppliedTerm(value);setSort(prev=>prev==="newest"?"relevance":prev)}else if(value.length===0){setAppliedTerm("")}},500);const toggleType=key=>{setTypes(prev=>prev.includes(key)?prev.filter(item=>item!==key):[...prev,key])};const params={search:appliedTerm||undefined,types:types.length?types.join(","):undefined,sort};return _jsxs("div",{className:"flex flex-col gap-4",children:[_jsxs(InputGroup,{children:[_jsx(InputGroupInput,{onChange:e=>{setTerm(e.target.value);applyTerm(e.target.value)},placeholder:t("placeholder"),type:"search",value:term}),_jsx(InputGroupAddon,{children:_jsx(SearchIcon,{})})]}),_jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[searchTypeKeys.map(key=>_jsx(Button,{onClick:()=>toggleType(key),size:"sm",variant:types.includes(key)?"default":"outline",children:t(getSearchTypeRenderer(key).labelKey)},key)),_jsx(NativeSelect,{className:"ms-auto",onChange:e=>setSort(e.target.value),size:"sm",value:sort,children:SORT_VALUES.map(value=>_jsx(NativeSelectOption,{value:value,children:t(`sort.${value}`)},value))})]}),_jsx(SearchFeed,{initialData:initialData,params:params,variant:"timeline"})]})};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { SearchFeedPage } from "./types";
|
|
3
|
+
export type SearchFeedVariant = "list" | "timeline";
|
|
4
|
+
export interface SearchFeedParams {
|
|
5
|
+
authorId?: string;
|
|
6
|
+
from?: string;
|
|
7
|
+
search?: string;
|
|
8
|
+
sort?: "newest" | "oldest" | "relevance";
|
|
9
|
+
to?: string;
|
|
10
|
+
types?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const SearchFeed: ({ params, initialData, variant, }: {
|
|
13
|
+
initialData?: SearchFeedPage;
|
|
14
|
+
params: SearchFeedParams;
|
|
15
|
+
variant?: SearchFeedVariant;
|
|
16
|
+
}) => React.JSX.Element;
|
|
17
|
+
//# sourceMappingURL=search-feed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-feed.d.ts","sourceRoot":"","sources":["../../../../src/views/search/search-feed.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,SAAS,CAAC;AAOhE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0ID,eAAO,MAAM,UAAU,GAAI,mCAIxB;IACD,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,sBAsGA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{useInfiniteQuery}from"@tanstack/react-query";import{useLocale,useTranslations}from"next-intl";import React from"react";import{Avatar}from"../../components/avatar.js";import{DateFormat}from"../../components/date-format.js";import{Button}from"../../components/ui/button.js";import{Card,CardContent}from"../../components/ui/card.js";import{Skeleton}from"../../components/ui/skeleton.js";import{TooltipWithContent}from"../../components/ui/tooltip.js";import{CONFIG_PLUGIN}from"../../config.js";import{clientModule,fetcherClient}from"../../lib/fetcher-client.js";import{Link}from"../../lib/navigation.js";import{cn}from"../../lib/utils.js";import{getSearchTypeRenderer}from"./registry.js";const searchRef=clientModule(CONFIG_PLUGIN.pluginId);const SNIPPET_LENGTH=240;const getSnippet=content=>content.length>SNIPPET_LENGTH?`${content.slice(0,SNIPPET_LENGTH).trimEnd()}…`:content;const ItemTitle=({item})=>item.url?_jsx(Link,{className:"hover:underline",href:item.url,children:item.title}):_jsx(_Fragment,{children:item.title});const TimelineItem=({item,isLast})=>{const t=useTranslations("core.search");const renderer=getSearchTypeRenderer(item.itemType);const Icon=renderer.icon;const snippet=getSnippet(item.content);const content=_jsxs(_Fragment,{children:[_jsxs("div",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[item.author&&_jsxs(_Fragment,{children:[_jsx(Avatar,{size:20,user:item.author}),_jsx("span",{className:"text-foreground font-medium",children:item.author.name}),_jsx("span",{"aria-hidden":true,children:"·"})]}),_jsx(DateFormat,{date:item.createdAt})]}),_jsx("h3",{className:"text-xl leading-tight font-bold",children:item.title}),snippet&&_jsx("p",{className:"text-muted-foreground",children:snippet})]});return _jsxs("li",{className:"flex gap-4",children:[_jsxs("div",{className:"flex flex-col items-center gap-2",children:[_jsx(TooltipWithContent,{text:t(renderer.labelKey),children:_jsx("span",{className:"bg-muted/50 text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg border shadow-sm",children:_jsx(Icon,{className:"size-4"})})}),!isLast&&_jsx("span",{className:"bg-border w-px grow"})]}),_jsx("div",{className:cn("min-w-0 flex-1",!isLast&&"pb-8"),children:item.url?_jsx(Link,{className:"hover:bg-muted/50 flex flex-col gap-1 rounded-lg border p-4 transition-colors",href:item.url,children:content}):_jsx("div",{className:"flex flex-col gap-1 rounded-lg border p-4",children:content})})]})};const SearchResultCard=({item})=>{const t=useTranslations("core.search");const renderer=getSearchTypeRenderer(item.itemType);const Icon=renderer.icon;const snippet=getSnippet(item.content);return _jsx(Card,{children:_jsxs(CardContent,{className:"flex gap-3",children:[item.author?_jsx(Avatar,{size:40,user:item.author}):_jsx("span",{className:"bg-muted text-muted-foreground flex size-10 items-center justify-center rounded-full",children:_jsx(Icon,{className:"size-5"})}),_jsxs("div",{className:"flex min-w-0 flex-col gap-1",children:[_jsxs("div",{className:"text-muted-foreground flex flex-wrap items-center gap-x-2 text-sm",children:[_jsxs("span",{className:"bg-muted inline-flex items-center gap-1 rounded px-1.5 py-0.5",children:[_jsx(Icon,{className:"size-3.5"}),t(renderer.labelKey)]}),item.author&&_jsx("span",{className:"text-foreground font-medium",children:item.author.name}),_jsx(DateFormat,{date:item.createdAt})]}),_jsx("h3",{className:"text-foreground truncate text-lg font-semibold",children:_jsx(ItemTitle,{item:item})}),snippet&&_jsx("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:snippet})]})]})})};const buildQuery=(params,cursor)=>{const query={first:"20"};if(params.search)query.search=params.search;if(params.types)query.types=params.types;if(params.authorId)query.authorId=params.authorId;if(params.sort)query.sort=params.sort;if(params.from)query.from=params.from;if(params.to)query.to=params.to;if(cursor)query.cursor=cursor;return query};export const SearchFeed=({params,initialData,variant="list"})=>{const t=useTranslations("core.search");const locale=useLocale();const sentinelRef=React.useRef(null);const{data,fetchNextPage,hasNextPage,isFetchingNextPage,isLoading}=useInfiniteQuery({queryKey:["search",params,locale],initialPageParam:"",queryFn:async({pageParam})=>{const res=await fetcherClient(searchRef,{module:"search",path:"/",method:"get",args:{query:{...buildQuery(params,pageParam),lang:locale}}});return await res.json()},getNextPageParam:last=>last.pageInfo.hasNextPage?String(last.pageInfo.endCursor):undefined,initialData:initialData?{pages:[initialData],pageParams:[""]}:undefined});React.useEffect(()=>{const el=sentinelRef.current;if(!el||!hasNextPage)return;const observer=new IntersectionObserver(entries=>{if(entries[0]?.isIntersecting&&!isFetchingNextPage){void fetchNextPage()}});observer.observe(el);return()=>observer.disconnect()},[hasNextPage,isFetchingNextPage,fetchNextPage]);const items=data?.pages.flatMap(page=>page.edges)??[];if(isLoading){return _jsx("div",{className:"flex flex-col gap-3",children:["a","b","c"].map(id=>_jsx(Skeleton,{className:"h-24 w-full rounded-xl"},id))})}if(items.length===0){return _jsx("p",{className:"text-muted-foreground py-10 text-center",children:t("empty")})}const loadMore=_jsxs(_Fragment,{children:[_jsx("div",{ref:sentinelRef}),hasNextPage&&_jsx(Button,{className:"mx-auto",disabled:isFetchingNextPage,onClick:()=>void fetchNextPage(),variant:"outline",children:isFetchingNextPage?t("loading"):t("loadMore")})]});if(variant==="timeline"){return _jsxs("div",{className:"flex flex-col gap-4",children:[_jsx("ol",{className:"flex flex-col",children:items.map((item,index)=>_jsx(TimelineItem,{isLast:index===items.length-1,item:item},`${item.itemType}-${item.itemId}`))}),loadMore]})}return _jsxs("div",{className:"flex flex-col gap-3",children:[items.map(item=>_jsx(SearchResultCard,{item:item},`${item.itemType}-${item.itemId}`)),loadMore]})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-view.d.ts","sourceRoot":"","sources":["../../../../src/views/search/search-view.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,UAAU,GAAU,mBAE9B;IACD,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;CACtE,yCAoBA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{getLocale}from"next-intl/server";import{searchModule}from"../../api/modules/search/search.module.js";import{fetcher}from"../../lib/fetcher.js";import{SearchControls}from"./search-controls.js";export const SearchView=async({searchParams})=>{const query=await searchParams;const locale=await getLocale();const search=typeof query.search==="string"?query.search:undefined;const sort=search?"relevance":"newest";const defaultParams={search,sort};const res=await fetcher(searchModule,{module:"search",path:"/",method:"get",args:{query:{...search?{search}:{},sort,first:"20",lang:locale}}});const initialData=await res.json();return _jsx(SearchControls,{defaultParams:defaultParams,initialData:initialData})};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface SearchResultItem {
|
|
2
|
+
author: null | {
|
|
3
|
+
avatarColor: string;
|
|
4
|
+
id: number;
|
|
5
|
+
name: string;
|
|
6
|
+
nameCode: string;
|
|
7
|
+
};
|
|
8
|
+
authorId: null | number;
|
|
9
|
+
containerId: null | number;
|
|
10
|
+
containerType: null | string;
|
|
11
|
+
content: string;
|
|
12
|
+
createdAt: Date | string;
|
|
13
|
+
id: number;
|
|
14
|
+
itemId: number;
|
|
15
|
+
itemType: string;
|
|
16
|
+
languageCode: string;
|
|
17
|
+
metadata: Record<string, unknown>;
|
|
18
|
+
pluginId: string;
|
|
19
|
+
score: null | number;
|
|
20
|
+
title: string;
|
|
21
|
+
url: null | string;
|
|
22
|
+
}
|
|
23
|
+
export interface SearchFeedPage {
|
|
24
|
+
edges: SearchResultItem[];
|
|
25
|
+
pageInfo: {
|
|
26
|
+
count: number;
|
|
27
|
+
endCursor: null | number;
|
|
28
|
+
hasNextPage: boolean;
|
|
29
|
+
hasPreviousPage: boolean;
|
|
30
|
+
startCursor: null | number;
|
|
31
|
+
totalCount: number;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/search/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,IAAI,GAAG;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC;IAC3B,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,IAAI,GAAG,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;QACzB,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;QACzB,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|