create-bubbles 0.1.19 → 0.1.22
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/dist/{index.js → index.mjs} +9 -7
- package/package.json +7 -5
- package/template-nextjs-vinext-eslint/.dockerignore +3 -0
- package/template-nextjs-vinext-eslint/.vscode/settings.json +53 -0
- package/template-nextjs-vinext-eslint/Dockerfile +21 -0
- package/template-nextjs-vinext-eslint/README.md +100 -0
- package/template-nextjs-vinext-eslint/commitlint.config.js +1 -0
- package/template-nextjs-vinext-eslint/docker-compose.yaml +22 -0
- package/template-nextjs-vinext-eslint/eslint.config.js +20 -0
- package/template-nextjs-vinext-eslint/lefthook.yml +11 -0
- package/template-nextjs-vinext-eslint/next.config.ts +8 -0
- package/template-nextjs-vinext-eslint/nginx.conf +14 -0
- package/template-nextjs-vinext-eslint/package.json +50 -0
- package/template-nextjs-vinext-eslint/pnpm-workspace.yaml +7 -0
- package/template-nextjs-vinext-eslint/public/file.svg +1 -0
- package/template-nextjs-vinext-eslint/public/globe.svg +1 -0
- package/template-nextjs-vinext-eslint/public/logo-white.svg +128 -0
- package/template-nextjs-vinext-eslint/public/next.svg +1 -0
- package/template-nextjs-vinext-eslint/public/vercel.svg +1 -0
- package/template-nextjs-vinext-eslint/public/window.svg +1 -0
- package/template-nextjs-vinext-eslint/src/app/_components/Header/header.module.css +0 -0
- package/template-nextjs-vinext-eslint/src/app/_components/Header/header.tsx +7 -0
- package/template-nextjs-vinext-eslint/src/app/_components/Main/index.tsx +13 -0
- package/template-nextjs-vinext-eslint/src/app/antd-provider.tsx +30 -0
- package/template-nextjs-vinext-eslint/src/app/icon.svg +26 -0
- package/template-nextjs-vinext-eslint/src/app/layout.tsx +68 -0
- package/template-nextjs-vinext-eslint/src/app/page.module.css +141 -0
- package/template-nextjs-vinext-eslint/src/app/page.tsx +43 -0
- package/template-nextjs-vinext-eslint/src/app/uno-css.tsx +7 -0
- package/template-nextjs-vinext-eslint/src/assets/icon/logo-white.svg +128 -0
- package/template-nextjs-vinext-eslint/src/assets/icon/logo.svg +26 -0
- package/template-nextjs-vinext-eslint/src/assets/image/QR.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/banner_1.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/banner_2.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/banner_3.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/banner_4.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/banner_top.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/icon_title_left.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/icon_title_right.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/img.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_COCT.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/344/270/207/347/247/221.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/344/270/255/345/205/264.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/344/270/255/345/206/266/345/273/272/345/267/245.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/344/270/255/345/233/275/344/270/255/351/223/201.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/344/270/255/345/233/275/344/272/224/345/206/266.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/344/270/255/345/233/275/344/272/244/351/200/232/345/273/272/350/256/276.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/344/270/255/345/233/275/345/273/272/344/270/232.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/344/270/255/345/233/275/345/273/272/347/255/221/347/247/221/345/255/246/351/231/242.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/344/270/255/345/233/275/347/224/265/345/273/272.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/344/270/255/345/233/275/351/223/201/345/273/272.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/345/256/234/351/200/232/344/270/226/347/272/252.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/346/225/260/347/273/264/347/251/272/351/227/264.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/346/226/260/346/230/212/350/276/260/345/273/272/350/256/276.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/346/236/227/345/220/214/346/243/252/345/233/275/351/231/205.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/346/270/235/351/232/206/351/233/206/345/233/242.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/347/273/264/345/241/224/347/247/221/346/212/200.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/350/205/276/350/256/257.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/350/265/233/350/277/252/344/277/241/346/201/257.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/351/207/215/345/272/206/344/272/244/351/200/232/345/244/247/345/255/246.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/351/207/215/345/272/206/344/272/244/351/200/232/350/201/214/344/270/232/345/255/246/351/231/242.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/351/207/215/345/272/206/345/244/247/345/255/246.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/351/207/215/345/272/206/345/267/245/345/225/206/350/201/214/344/270/232/345/255/246/351/231/242.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/351/207/215/345/272/206/345/267/245/347/250/213/350/201/214/344/270/232/346/212/200/346/234/257/345/255/246/351/231/242.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/351/207/215/345/272/206/345/273/272/345/267/245.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/351/230/277/351/207/214/344/272/221.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/351/231/206/345/206/233/345/206/233/345/214/273/345/244/247/345/255/246.png +0 -0
- package/template-nextjs-vinext-eslint/src/assets/image/parteners/logo_/351/276/231/346/271/226.png +0 -0
- package/template-nextjs-vinext-eslint/src/styles/globals.css +47 -0
- package/template-nextjs-vinext-eslint/src/types/vite-env.d.ts +18 -0
- package/template-nextjs-vinext-eslint/src/utils/env.ts +14 -0
- package/template-nextjs-vinext-eslint/src/utils/index.ts +0 -0
- package/template-nextjs-vinext-eslint/src/utils/request/core/index.ts +425 -0
- package/template-nextjs-vinext-eslint/src/utils/request/core/utils.ts +39 -0
- package/template-nextjs-vinext-eslint/src/utils/request/index.ts +48 -0
- package/template-nextjs-vinext-eslint/tsconfig.json +34 -0
- package/template-nextjs-vinext-eslint/uno.config.ts +8 -0
- package/template-nextjs-vinext-eslint/vite.config.ts +8 -0
- package/template-react-rsbuild-biome/.env +5 -0
- package/template-react-rsbuild-biome/.env.development +1 -0
- package/template-react-rsbuild-biome/.env.production +1 -0
- package/template-react-rsbuild-biome/.prettierignore +34 -0
- package/template-react-rsbuild-biome/.prettierrc +16 -0
- package/template-react-rsbuild-biome/.vscode/settings.json +10 -0
- package/template-react-rsbuild-biome/README.md +29 -0
- package/template-react-rsbuild-biome/biome.json +116 -0
- package/template-react-rsbuild-biome/commitlint.config.js +1 -0
- package/template-react-rsbuild-biome/index.html +7 -0
- package/template-react-rsbuild-biome/lefthook.yml +14 -0
- package/template-react-rsbuild-biome/package.json +42 -0
- package/template-react-rsbuild-biome/public/.gitkeep +0 -0
- package/template-react-rsbuild-biome/rsbuild.config.ts +44 -0
- package/template-react-rsbuild-biome/src/App.tsx +9 -0
- package/template-react-rsbuild-biome/src/assets/font/AlimamaShuHeiTi-Bold.ttf +0 -0
- package/template-react-rsbuild-biome/src/assets/icon/logo.svg +7 -0
- package/template-react-rsbuild-biome/src/components/Loading/PageLoading.tsx +11 -0
- package/template-react-rsbuild-biome/src/env.d.ts +1 -0
- package/template-react-rsbuild-biome/src/index.tsx +18 -0
- package/template-react-rsbuild-biome/src/layout/default/index.tsx +10 -0
- package/template-react-rsbuild-biome/src/pages/home/index.tsx +5 -0
- package/template-react-rsbuild-biome/src/router/index.tsx +38 -0
- package/template-react-rsbuild-biome/src/store/index.ts +0 -0
- package/template-react-rsbuild-biome/src/store/modules/user.ts +11 -0
- package/template-react-rsbuild-biome/src/styles/fonts.scss +4 -0
- package/template-react-rsbuild-biome/src/styles/index.scss +19 -0
- package/template-react-rsbuild-biome/src/styles/variables.scss +4 -0
- package/template-react-rsbuild-biome/src/types/auto-import.d.ts +49 -0
- package/template-react-rsbuild-biome/src/utils/env.ts +10 -0
- package/template-react-rsbuild-biome/src/utils/request/core/index.ts +425 -0
- package/template-react-rsbuild-biome/src/utils/request/core/utils.ts +39 -0
- package/template-react-rsbuild-biome/src/utils/request/index.ts +42 -0
- package/template-react-rsbuild-biome/tsconfig.json +35 -0
- package/template-react-rsbuild-biome/uno.config.ts +8 -0
- package/template-taro-react-oxc/.editorconfig +12 -0
- package/template-taro-react-oxc/.env +1 -0
- package/template-taro-react-oxc/.env.development +6 -0
- package/template-taro-react-oxc/.env.production +5 -0
- package/template-taro-react-oxc/.oxfmtrc.json +12 -0
- package/template-taro-react-oxc/.oxlintrc.json +9 -0
- package/template-taro-react-oxc/.vscode/settings.json +13 -0
- package/template-taro-react-oxc/babel.config.js +45 -0
- package/template-taro-react-oxc/commitlint.config.mjs +1 -0
- package/template-taro-react-oxc/config/dev.ts +10 -0
- package/template-taro-react-oxc/config/index.ts +172 -0
- package/template-taro-react-oxc/config/prod.ts +39 -0
- package/template-taro-react-oxc/config/release.ts +106 -0
- package/template-taro-react-oxc/key/.gitkeep +0 -0
- package/template-taro-react-oxc/lefthook.yaml +18 -0
- package/template-taro-react-oxc/package.json +118 -0
- package/template-taro-react-oxc/patches/@tarojs__plugin-mini-ci.patch +13 -0
- package/template-taro-react-oxc/pnpm-workspace.yaml +13 -0
- package/template-taro-react-oxc/postcss.config.js +6 -0
- package/template-taro-react-oxc/project.config.json +15 -0
- package/template-taro-react-oxc/src/app.config.ts +11 -0
- package/template-taro-react-oxc/src/app.ts +14 -0
- package/template-taro-react-oxc/src/index.html +17 -0
- package/template-taro-react-oxc/src/pages/index/index.config.ts +3 -0
- package/template-taro-react-oxc/src/pages/index/index.scss +0 -0
- package/template-taro-react-oxc/src/pages/index/index.tsx +44 -0
- package/template-taro-react-oxc/src/store/taroStorage.ts +7 -0
- package/template-taro-react-oxc/src/store/user.ts +13 -0
- package/template-taro-react-oxc/src/styles/index.css +1 -0
- package/template-taro-react-oxc/src/utils/env.ts +10 -0
- package/template-taro-react-oxc/src/utils/request/core/index.ts +425 -0
- package/template-taro-react-oxc/src/utils/request/core/utils.ts +39 -0
- package/template-taro-react-oxc/src/utils/request/index.ts +37 -0
- package/template-taro-react-oxc/stylelint.config.mjs +28 -0
- package/template-taro-react-oxc/tailwind.config.js +12 -0
- package/template-taro-react-oxc/tsconfig.json +28 -0
- package/template-taro-react-oxc/types/global.d.ts +29 -0
- package/template-taro-vue-eslint/.editorconfig +12 -0
- package/template-taro-vue-eslint/.env +3 -0
- package/template-taro-vue-eslint/.env.development +5 -0
- package/template-taro-vue-eslint/.env.production +5 -0
- package/template-taro-vue-eslint/.vscode/settings.json +57 -0
- package/template-taro-vue-eslint/babel.config.js +12 -0
- package/template-taro-vue-eslint/commitlint.config.mjs +1 -0
- package/template-taro-vue-eslint/config/dev.ts +27 -0
- package/template-taro-vue-eslint/config/index.ts +134 -0
- package/template-taro-vue-eslint/config/output-root.ts +11 -0
- package/template-taro-vue-eslint/config/prod.ts +39 -0
- package/template-taro-vue-eslint/config/release.ts +113 -0
- package/template-taro-vue-eslint/eslint.config.mjs +22 -0
- package/template-taro-vue-eslint/lefthook.yaml +13 -0
- package/template-taro-vue-eslint/package.json +115 -0
- package/template-taro-vue-eslint/patches/@tarojs__plugin-mini-ci.patch +13 -0
- package/template-taro-vue-eslint/pnpm-workspace.yaml +13 -0
- package/template-taro-vue-eslint/project.config.json +16 -0
- package/template-taro-vue-eslint/src/api/common/upload.ts +53 -0
- package/template-taro-vue-eslint/src/app.config.ts +19 -0
- package/template-taro-vue-eslint/src/app.ts +14 -0
- package/template-taro-vue-eslint/src/assets/image/.gitkeep +0 -0
- package/template-taro-vue-eslint/src/index.html +17 -0
- package/template-taro-vue-eslint/src/pages/example/upload/index.config.ts +3 -0
- package/template-taro-vue-eslint/src/pages/example/upload/index.module.scss +4 -0
- package/template-taro-vue-eslint/src/pages/example/upload/index.vue +71 -0
- package/template-taro-vue-eslint/src/pages/index/index.config.ts +3 -0
- package/template-taro-vue-eslint/src/pages/index/index.module.scss +4 -0
- package/template-taro-vue-eslint/src/pages/index/index.vue +77 -0
- package/template-taro-vue-eslint/src/store/index.ts +10 -0
- package/template-taro-vue-eslint/src/store/modules/user.ts +15 -0
- package/template-taro-vue-eslint/src/store/taroStorage.ts +7 -0
- package/template-taro-vue-eslint/src/styles/index.css +1 -0
- package/template-taro-vue-eslint/src/styles/nut-theme.css +4 -0
- package/template-taro-vue-eslint/src/utils/env.ts +13 -0
- package/template-taro-vue-eslint/src/utils/index.ts +40 -0
- package/template-taro-vue-eslint/src/utils/request/core/index.ts +425 -0
- package/template-taro-vue-eslint/src/utils/request/core/utils.ts +39 -0
- package/template-taro-vue-eslint/src/utils/request/index.ts +73 -0
- package/template-taro-vue-eslint/tsconfig.json +30 -0
- package/template-taro-vue-eslint/types/components.d.ts +16 -0
- package/template-taro-vue-eslint/types/global.d.ts +31 -0
- package/template-taro-vue-eslint/types/vue.d.ts +10 -0
- package/template-taro-vue-eslint/unocss.config.ts +42 -0
- package/template-vp-monorepo-react-nestjs/.agents/auth.config.ts +0 -0
- package/template-vp-monorepo-react-nestjs/.spaces/server//347/231/273/345/275/225/JWT/344/270/216RefreshToken/350/275/256/346/215/242/351/211/264/346/235/203/346/236/266/346/236/204/345/256/236/347/216/260/346/214/207/345/215/227.md +6614 -0
- package/template-vp-monorepo-react-nestjs/.vite-hooks/commit-msg +2 -0
- package/template-vp-monorepo-react-nestjs/.vite-hooks/pre-commit +2 -0
- package/template-vp-monorepo-react-nestjs/.vscode/settings.json +25 -0
- package/template-vp-monorepo-react-nestjs/AGENTS.md +16 -0
- package/template-vp-monorepo-react-nestjs/README.md +29 -0
- package/template-vp-monorepo-react-nestjs/apps/server/.env.development +61 -0
- package/template-vp-monorepo-react-nestjs/apps/server/.env.production +20 -0
- package/template-vp-monorepo-react-nestjs/apps/server/README.md +3 -0
- package/template-vp-monorepo-react-nestjs/apps/server/drizzle.config.ts +15 -0
- package/template-vp-monorepo-react-nestjs/apps/server/nest-cli.json +8 -0
- package/template-vp-monorepo-react-nestjs/apps/server/package.json +57 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/app.controller.ts +12 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/app.module.ts +58 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/app.service.ts +8 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/common/constants/decorator.ts +2 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/common/constants/response.ts +15 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/common/decorators/bypass.ts +12 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/common/interceptors/transform.ts +34 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/common/model/response.ts +23 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/config/app.config.ts +6 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/config/auth.config.ts +64 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/config/database.config.ts +10 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/config/index.ts +5 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/config/llm.config.ts +7 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/config/redis.config.ts +18 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/config/security.config.ts +0 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/database/db.module.ts +32 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/database/schema.ts +14 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/main.ts +34 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/modules/test/db/db.controller.ts +28 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/modules/test/db/db.module.ts +9 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/modules/test/db/db.service.ts +22 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/modules/test/db/dto/create-user.dto.ts +27 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/modules/test/redis/dto/redis-quary.dto.ts +18 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/modules/test/redis/redis.controller.ts +31 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/modules/test/redis/redis.module.ts +9 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/modules/test/redis/redis.service.ts +37 -0
- package/template-vp-monorepo-react-nestjs/apps/server/src/utils/server-address.ts +33 -0
- package/template-vp-monorepo-react-nestjs/apps/server/tsconfig.build.json +4 -0
- package/template-vp-monorepo-react-nestjs/apps/server/tsconfig.json +28 -0
- package/template-vp-monorepo-react-nestjs/apps/web/.env +2 -0
- package/template-vp-monorepo-react-nestjs/apps/web/.env.dev +1 -0
- package/template-vp-monorepo-react-nestjs/apps/web/.env.prod +1 -0
- package/template-vp-monorepo-react-nestjs/apps/web/index.html +13 -0
- package/template-vp-monorepo-react-nestjs/apps/web/package.json +35 -0
- package/template-vp-monorepo-react-nestjs/apps/web/public/favicon.svg +1 -0
- package/template-vp-monorepo-react-nestjs/apps/web/public/icons.svg +24 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/App.tsx +25 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/assets/hero.png +0 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/assets/react.svg +1 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/assets/vite.svg +1 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/components/Loading/PageLoading.tsx +11 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/locales/en_US.json +4 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/locales/zh_CN.json +4 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/main.tsx +5 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/pages/home/index.tsx +47 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/router/index.tsx +25 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/router/modules/.gitkeep +0 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/styles/index.css +7 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/types/auto-imports.d.ts +58 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/utils/env/index.ts +6 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/utils/request/core/index.ts +420 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/utils/request/core/utils.ts +39 -0
- package/template-vp-monorepo-react-nestjs/apps/web/src/utils/request/index.ts +61 -0
- package/template-vp-monorepo-react-nestjs/apps/web/tsconfig.json +28 -0
- package/template-vp-monorepo-react-nestjs/apps/web/vite.config.ts +45 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/.env +6 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/.env.development +2 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/.env.production +2 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/.vscode/extensions.json +3 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/AGENTS.md +16 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/README.md +98 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/commitlint.config.js +1 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/eslint.config.js +13 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/index.html +13 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/lefthook.yml +11 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/package.json +67 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/pnpm-workspace.yaml +16 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/public/vite.svg +1 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/App.vue +12 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/api/index.ts +12 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/assets/icon/computer-data.svg +3 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/assets/icon/cpu.svg +3 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/assets/icon/data-search.svg +3 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/assets/icon/home.svg +3 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/assets/icon/knowledge-graph.svg +3 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/assets/icon/logo.svg +1 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/assets/icon/robot.svg +3 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/assets/image/.gitkeep +0 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/components/Icon/svg-icon.vue +29 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/hooks/chart/lib.ts +57 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/hooks/chart/useEcharts.ts +65 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/i18n/instance.ts +8 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/layout/default/header/index.vue +30 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/layout/default/index.vue +138 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/locales/en_US.json +4 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/locales/zh_CN.json +4 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/main.ts +13 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/router/guard/index.ts +7 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/router/guard/permissionGuard.ts +13 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/router/index.ts +18 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/router/interface.ts +9 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/router/modules/index.ts +33 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/store/index.ts +11 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/store/modules/user.ts +17 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/styles/font.scss +0 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/styles/index.scss +29 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/styles/variables.scss +3 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/types/auto-import.d.ts +78 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/types/components.d.ts +26 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/types/vite-env.d.ts +15 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/utils/env.ts +11 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/utils/request/core/index.ts +425 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/utils/request/core/utils.ts +39 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/utils/request/index.ts +44 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/views/example/echart/config.ts +1794 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/views/example/echart/index.vue +20 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/views/example/tree-chart.vue +16 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/views/home/index.vue +27 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/src/views/login/index.vue +9 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/tsconfig.json +29 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/uno.config.ts +17 -0
- package/template-vp-monorepo-react-nestjs/apps/web-vue/vite.config.ts +58 -0
- package/template-vp-monorepo-react-nestjs/commitlint.config.js +1 -0
- package/template-vp-monorepo-react-nestjs/docker-compose.yml +41 -0
- package/template-vp-monorepo-react-nestjs/mise.toml +3 -0
- package/template-vp-monorepo-react-nestjs/package.json +25 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/core/package.json +20 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/core/src/format.ts +9 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/core/src/i18n.ts +73 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/core/src/index.ts +24 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/core/src/storage.ts +47 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/core/src/store.ts +48 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/core/src/types.ts +36 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/core/tsconfig.json +15 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/core/vite.config.ts +13 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/react/package.json +28 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/react/src/index.tsx +26 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/react/src/use-store.ts +14 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/react/tsconfig.json +16 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/react/vite.config.ts +16 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/vue/package.json +27 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/vue/src/index.ts +52 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/vue/src/use-store.ts +19 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/vue/tsconfig.json +15 -0
- package/template-vp-monorepo-react-nestjs/packages/i18n/vue/vite.config.ts +16 -0
- package/template-vp-monorepo-react-nestjs/pnpm-workspace.yaml +111 -0
- package/template-vp-monorepo-react-nestjs/tsconfig.json +9 -0
- package/template-vp-monorepo-react-nestjs/vite.config.ts +19 -0
- package/template-vp-react/.env +1 -0
- package/template-vp-react/.oxfmtrc.jsonc +8 -0
- package/template-vp-react/.oxlintrc.jsonc +11 -0
- package/template-vp-react/.vite-hooks/commit-msg +1 -0
- package/template-vp-react/.vite-hooks/pre-commit +1 -0
- package/template-vp-react/.vscode/extensions.json +3 -0
- package/template-vp-react/.vscode/settings.json +11 -0
- package/template-vp-react/commitlint.config.js +0 -0
- package/template-vp-react/index.html +13 -0
- package/template-vp-react/package.json +44 -0
- package/template-vp-react/public/favicon.svg +1 -0
- package/template-vp-react/public/icons.svg +24 -0
- package/template-vp-react/src/App.tsx +24 -0
- package/template-vp-react/src/assets/hero.png +0 -0
- package/template-vp-react/src/assets/react.svg +1 -0
- package/template-vp-react/src/assets/vite.svg +1 -0
- package/template-vp-react/src/components/Loading/PageLoading.tsx +11 -0
- package/template-vp-react/src/main.tsx +5 -0
- package/template-vp-react/src/pages/home/index.tsx +17 -0
- package/template-vp-react/src/router/index.tsx +25 -0
- package/template-vp-react/src/router/modules/.gitkeep +0 -0
- package/template-vp-react/src/styles/index.css +7 -0
- package/template-vp-react/src/types/auto-imports.d.ts +58 -0
- package/template-vp-react/src/utils/env/index.ts +6 -0
- package/template-vp-react/src/utils/request/core/index.ts +420 -0
- package/template-vp-react/src/utils/request/core/utils.ts +39 -0
- package/template-vp-react/src/utils/request/index.ts +48 -0
- package/template-vp-react/tsconfig.json +32 -0
- package/template-vp-react/vite.config.ts +35 -0
- package/template-vp-react-shadcn/.agents/skills/alova-client-usage/README.md +28 -0
- package/template-vp-react-shadcn/.agents/skills/alova-client-usage/SKILL.md +249 -0
- package/template-vp-react-shadcn/.agents/skills/alova-client-usage/references/SETUP.md +146 -0
- package/template-vp-react-shadcn/.agents/skills/shadcn/SKILL.md +260 -0
- package/template-vp-react-shadcn/.agents/skills/shadcn/agents/openai.yml +5 -0
- package/template-vp-react-shadcn/.agents/skills/shadcn/assets/shadcn-small.png +0 -0
- package/template-vp-react-shadcn/.agents/skills/shadcn/assets/shadcn.png +0 -0
- package/template-vp-react-shadcn/.agents/skills/shadcn/cli.md +276 -0
- package/template-vp-react-shadcn/.agents/skills/shadcn/customization.md +209 -0
- package/template-vp-react-shadcn/.agents/skills/shadcn/evals/evals.json +47 -0
- package/template-vp-react-shadcn/.agents/skills/shadcn/mcp.md +94 -0
- package/template-vp-react-shadcn/.agents/skills/shadcn/rules/base-vs-radix.md +306 -0
- package/template-vp-react-shadcn/.agents/skills/shadcn/rules/composition.md +195 -0
- package/template-vp-react-shadcn/.agents/skills/shadcn/rules/forms.md +192 -0
- package/template-vp-react-shadcn/.agents/skills/shadcn/rules/icons.md +101 -0
- package/template-vp-react-shadcn/.agents/skills/shadcn/rules/styling.md +162 -0
- package/template-vp-react-shadcn/.agents/skills/vite-plus/README.md +75 -0
- package/template-vp-react-shadcn/.agents/skills/vite-plus/SKILL.md +322 -0
- package/template-vp-react-shadcn/.agents/skills/vite-plus/evals.json +182 -0
- package/template-vp-react-shadcn/.agents/skills/vite-plus/references/config.md +162 -0
- package/template-vp-react-shadcn/.agents/skills/vite-plus/references/env-management.md +76 -0
- package/template-vp-react-shadcn/.agents/skills/vite-plus/references/task-runner.md +152 -0
- package/template-vp-react-shadcn/.agents/skills/vite-plus/sources.yaml +142 -0
- package/template-vp-react-shadcn/.env +1 -0
- package/template-vp-react-shadcn/.oxfmtrc.jsonc +8 -0
- package/template-vp-react-shadcn/.oxlintrc.jsonc +3 -0
- package/template-vp-react-shadcn/.vite-hooks/commit-msg +1 -0
- package/template-vp-react-shadcn/.vite-hooks/pre-commit +1 -0
- package/template-vp-react-shadcn/.vscode/extensions.json +3 -0
- package/template-vp-react-shadcn/.vscode/settings.json +12 -0
- package/template-vp-react-shadcn/agents.md +44 -0
- package/template-vp-react-shadcn/commitlint.config.js +1 -0
- package/template-vp-react-shadcn/components.json +25 -0
- package/template-vp-react-shadcn/index.html +13 -0
- package/template-vp-react-shadcn/package.json +56 -0
- package/template-vp-react-shadcn/public/favicon.svg +1 -0
- package/template-vp-react-shadcn/public/icons.svg +24 -0
- package/template-vp-react-shadcn/skills-lock.json +11 -0
- package/template-vp-react-shadcn/src/App.tsx +24 -0
- package/template-vp-react-shadcn/src/api/.gitkeep +0 -0
- package/template-vp-react-shadcn/src/assets/hero.png +0 -0
- package/template-vp-react-shadcn/src/assets/react.svg +1 -0
- package/template-vp-react-shadcn/src/assets/vite.svg +1 -0
- package/template-vp-react-shadcn/src/components/Loading/PageLoading.tsx +11 -0
- package/template-vp-react-shadcn/src/components/Player/VideoJS/index.tsx +163 -0
- package/template-vp-react-shadcn/src/components/Player/index.ts +7 -0
- package/template-vp-react-shadcn/src/components/ui/button.tsx +67 -0
- package/template-vp-react-shadcn/src/components/ui/sonner.tsx +43 -0
- package/template-vp-react-shadcn/src/components/ui/spinner.tsx +17 -0
- package/template-vp-react-shadcn/src/hooks/.gitkeep +0 -0
- package/template-vp-react-shadcn/src/lib/utils.ts +6 -0
- package/template-vp-react-shadcn/src/main.tsx +5 -0
- package/template-vp-react-shadcn/src/pages/home/index.tsx +96 -0
- package/template-vp-react-shadcn/src/router/index.tsx +25 -0
- package/template-vp-react-shadcn/src/router/modules/.gitkeep +0 -0
- package/template-vp-react-shadcn/src/store/.gitkeep +0 -0
- package/template-vp-react-shadcn/src/styles/index.css +16 -0
- package/template-vp-react-shadcn/src/styles/shadcn.css +127 -0
- package/template-vp-react-shadcn/src/types/auto-imports.d.ts +58 -0
- package/template-vp-react-shadcn/src/utils/env/index.tsx +6 -0
- package/template-vp-react-shadcn/src/utils/request/alova-core/index.ts +425 -0
- package/template-vp-react-shadcn/src/utils/request/alova-core/utils.ts +39 -0
- package/template-vp-react-shadcn/src/utils/request/index.ts +48 -0
- package/template-vp-react-shadcn/src/utils/request/readme.md +176 -0
- package/template-vp-react-shadcn/tsconfig.json +32 -0
- package/template-vp-react-shadcn/vite.config.ts +35 -0
- package/template-vue-vp-eslint/.env +6 -0
- package/template-vue-vp-eslint/.env.development +2 -0
- package/template-vue-vp-eslint/.env.production +2 -0
- package/template-vue-vp-eslint/.vscode/extensions.json +3 -0
- package/template-vue-vp-eslint/AGENTS.md +16 -0
- package/template-vue-vp-eslint/README.md +98 -0
- package/template-vue-vp-eslint/commitlint.config.js +1 -0
- package/template-vue-vp-eslint/eslint.config.js +13 -0
- package/template-vue-vp-eslint/index.html +13 -0
- package/template-vue-vp-eslint/lefthook.yml +11 -0
- package/template-vue-vp-eslint/package.json +63 -0
- package/template-vue-vp-eslint/pnpm-workspace.yaml +3 -0
- package/template-vue-vp-eslint/public/vite.svg +1 -0
- package/template-vue-vp-eslint/src/App.vue +7 -0
- package/template-vue-vp-eslint/src/api/index.ts +12 -0
- package/template-vue-vp-eslint/src/assets/icon/home.svg +3 -0
- package/template-vue-vp-eslint/src/assets/icon/logo.svg +1 -0
- package/template-vue-vp-eslint/src/assets/image/.gitkeep +0 -0
- package/template-vue-vp-eslint/src/components/Icon/svg-icon.vue +29 -0
- package/template-vue-vp-eslint/src/hooks/chart/lib.ts +57 -0
- package/template-vue-vp-eslint/src/hooks/chart/useEcharts.ts +65 -0
- package/template-vue-vp-eslint/src/layout/default/header/index.vue +30 -0
- package/template-vue-vp-eslint/src/layout/default/index.vue +138 -0
- package/template-vue-vp-eslint/src/main.ts +16 -0
- package/template-vue-vp-eslint/src/router/guard/index.ts +7 -0
- package/template-vue-vp-eslint/src/router/guard/permissionGuard.ts +13 -0
- package/template-vue-vp-eslint/src/router/index.ts +18 -0
- package/template-vue-vp-eslint/src/router/interface.ts +9 -0
- package/template-vue-vp-eslint/src/router/modules/index.ts +33 -0
- package/template-vue-vp-eslint/src/store/index.ts +11 -0
- package/template-vue-vp-eslint/src/store/modules/user.ts +17 -0
- package/template-vue-vp-eslint/src/styles/font.scss +0 -0
- package/template-vue-vp-eslint/src/styles/index.scss +29 -0
- package/template-vue-vp-eslint/src/styles/variables.scss +3 -0
- package/template-vue-vp-eslint/src/types/vite-env.d.ts +15 -0
- package/template-vue-vp-eslint/src/utils/env.ts +11 -0
- package/template-vue-vp-eslint/src/utils/request/core/index.ts +425 -0
- package/template-vue-vp-eslint/src/utils/request/core/utils.ts +39 -0
- package/template-vue-vp-eslint/src/utils/request/index.ts +44 -0
- package/template-vue-vp-eslint/src/views/example/echart/config.ts +1794 -0
- package/template-vue-vp-eslint/src/views/example/echart/index.vue +20 -0
- package/template-vue-vp-eslint/src/views/example/tree-chart.vue +16 -0
- package/template-vue-vp-eslint/src/views/home/index.vue +16 -0
- package/template-vue-vp-eslint/src/views/login/index.vue +9 -0
- package/template-vue-vp-eslint/tsconfig.json +29 -0
- package/template-vue-vp-eslint/uno.config.ts +17 -0
- package/template-vue-vp-eslint/vite.config.ts +58 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { cva, type VariantProps } from "class-variance-authority";
|
|
3
|
+
import { Slot } from "radix-ui";
|
|
4
|
+
|
|
5
|
+
import { cn } from "@/lib/utils";
|
|
6
|
+
|
|
7
|
+
const buttonVariants = cva(
|
|
8
|
+
"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
9
|
+
{
|
|
10
|
+
variants: {
|
|
11
|
+
variant: {
|
|
12
|
+
default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
|
|
13
|
+
outline:
|
|
14
|
+
"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
|
|
15
|
+
secondary:
|
|
16
|
+
"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
|
|
17
|
+
ghost:
|
|
18
|
+
"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
|
|
19
|
+
destructive:
|
|
20
|
+
"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
|
|
21
|
+
link: "text-primary underline-offset-4 hover:underline",
|
|
22
|
+
},
|
|
23
|
+
size: {
|
|
24
|
+
default:
|
|
25
|
+
"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
|
|
26
|
+
xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
|
|
27
|
+
sm: "h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
|
|
28
|
+
lg: "h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
|
|
29
|
+
icon: "size-8",
|
|
30
|
+
"icon-xs":
|
|
31
|
+
"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",
|
|
32
|
+
"icon-sm":
|
|
33
|
+
"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg",
|
|
34
|
+
"icon-lg": "size-9",
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
defaultVariants: {
|
|
38
|
+
variant: "default",
|
|
39
|
+
size: "default",
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
function Button({
|
|
45
|
+
className,
|
|
46
|
+
variant = "default",
|
|
47
|
+
size = "default",
|
|
48
|
+
asChild = false,
|
|
49
|
+
...props
|
|
50
|
+
}: React.ComponentProps<"button"> &
|
|
51
|
+
VariantProps<typeof buttonVariants> & {
|
|
52
|
+
asChild?: boolean;
|
|
53
|
+
}) {
|
|
54
|
+
const Comp = asChild ? Slot.Root : "button";
|
|
55
|
+
|
|
56
|
+
return (
|
|
57
|
+
<Comp
|
|
58
|
+
data-slot="button"
|
|
59
|
+
data-variant={variant}
|
|
60
|
+
data-size={size}
|
|
61
|
+
className={cn(buttonVariants({ variant, size, className }))}
|
|
62
|
+
{...props}
|
|
63
|
+
/>
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export { Button, buttonVariants };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { useTheme } from "next-themes";
|
|
2
|
+
import { Toaster as Sonner, type ToasterProps } from "sonner";
|
|
3
|
+
import {
|
|
4
|
+
CircleCheckIcon,
|
|
5
|
+
InfoIcon,
|
|
6
|
+
TriangleAlertIcon,
|
|
7
|
+
OctagonXIcon,
|
|
8
|
+
Loader2Icon,
|
|
9
|
+
} from "lucide-react";
|
|
10
|
+
|
|
11
|
+
const Toaster = ({ ...props }: ToasterProps) => {
|
|
12
|
+
const { theme = "system" } = useTheme();
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<Sonner
|
|
16
|
+
theme={theme as ToasterProps["theme"]}
|
|
17
|
+
className="toaster group"
|
|
18
|
+
icons={{
|
|
19
|
+
success: <CircleCheckIcon className="size-4" />,
|
|
20
|
+
info: <InfoIcon className="size-4" />,
|
|
21
|
+
warning: <TriangleAlertIcon className="size-4" />,
|
|
22
|
+
error: <OctagonXIcon className="size-4" />,
|
|
23
|
+
loading: <Loader2Icon className="size-4 animate-spin" />,
|
|
24
|
+
}}
|
|
25
|
+
style={
|
|
26
|
+
{
|
|
27
|
+
"--normal-bg": "var(--popover)",
|
|
28
|
+
"--normal-text": "var(--popover-foreground)",
|
|
29
|
+
"--normal-border": "var(--border)",
|
|
30
|
+
"--border-radius": "var(--radius)",
|
|
31
|
+
} as React.CSSProperties
|
|
32
|
+
}
|
|
33
|
+
toastOptions={{
|
|
34
|
+
classNames: {
|
|
35
|
+
toast: "cn-toast",
|
|
36
|
+
},
|
|
37
|
+
}}
|
|
38
|
+
{...props}
|
|
39
|
+
/>
|
|
40
|
+
);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export { Toaster };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Loader2Icon } from "lucide-react";
|
|
2
|
+
import type { ComponentProps } from "react";
|
|
3
|
+
|
|
4
|
+
import { cn } from "@/lib/utils";
|
|
5
|
+
|
|
6
|
+
function Spinner({ className, ...props }: ComponentProps<"svg">) {
|
|
7
|
+
return (
|
|
8
|
+
<Loader2Icon
|
|
9
|
+
role="status"
|
|
10
|
+
aria-label="Loading"
|
|
11
|
+
className={cn("size-4 animate-spin", className)}
|
|
12
|
+
{...props}
|
|
13
|
+
/>
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { Spinner };
|
|
File without changes
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { PlayCircle } from "lucide-react";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
|
|
4
|
+
import { VideoJS, VIDEO_JS_SOURCE_TYPES, type VideoJSSourceType } from "@/components/Player";
|
|
5
|
+
import { Button } from "@/components/ui/button";
|
|
6
|
+
import { cn } from "@/lib/utils";
|
|
7
|
+
|
|
8
|
+
const HOME_TEXT = {
|
|
9
|
+
player: "VideoJS 播放器",
|
|
10
|
+
title: "HLS / MP4 播放示例",
|
|
11
|
+
play: "播放",
|
|
12
|
+
} as const;
|
|
13
|
+
|
|
14
|
+
type DemoSource = {
|
|
15
|
+
id: Exclude<VideoJSSourceType, "auto" | "native">;
|
|
16
|
+
name: string;
|
|
17
|
+
src: string;
|
|
18
|
+
type: string;
|
|
19
|
+
poster: string;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const DEMO_SOURCES: DemoSource[] = [
|
|
23
|
+
{
|
|
24
|
+
id: VIDEO_JS_SOURCE_TYPES.HLS,
|
|
25
|
+
name: "HLS",
|
|
26
|
+
src: "https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8",
|
|
27
|
+
type: "application/vnd.apple.mpegurl",
|
|
28
|
+
poster: "https://image.mux.com/x36xhzz/thumbnail.jpg?time=0",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: VIDEO_JS_SOURCE_TYPES.MP4,
|
|
32
|
+
name: "MP4",
|
|
33
|
+
src: "https://media.w3.org/2010/05/sintel/trailer.mp4",
|
|
34
|
+
type: "video/mp4",
|
|
35
|
+
poster: "https://media.w3.org/2010/05/sintel/poster.png",
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const Home = () => {
|
|
40
|
+
const [activeSourceType, setActiveSourceType] = useState<DemoSource["id"]>(
|
|
41
|
+
VIDEO_JS_SOURCE_TYPES.HLS,
|
|
42
|
+
);
|
|
43
|
+
const activeSource =
|
|
44
|
+
DEMO_SOURCES.find((source) => source.id === activeSourceType) ?? DEMO_SOURCES[0];
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<main className="min-h-screen bg-zinc-950 px-4 py-6 text-white sm:px-6 lg:px-8">
|
|
48
|
+
<section className="mx-auto flex w-full max-w-6xl flex-col gap-5">
|
|
49
|
+
<div className="flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between">
|
|
50
|
+
<div className="space-y-2">
|
|
51
|
+
<p className="text-sm font-medium text-emerald-300">{HOME_TEXT.player}</p>
|
|
52
|
+
<h1 className="max-w-2xl text-3xl font-semibold tracking-normal text-white sm:text-4xl">
|
|
53
|
+
{HOME_TEXT.title}
|
|
54
|
+
</h1>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
<div className="flex rounded-lg border border-white/10 bg-white/5 p-1">
|
|
58
|
+
{DEMO_SOURCES.map((source) => {
|
|
59
|
+
const isActive = source.id === activeSource.id;
|
|
60
|
+
|
|
61
|
+
return (
|
|
62
|
+
<Button
|
|
63
|
+
key={source.id}
|
|
64
|
+
type="button"
|
|
65
|
+
variant="ghost"
|
|
66
|
+
className={cn(
|
|
67
|
+
"h-9 gap-2 rounded-md px-4 text-white hover:bg-white/10 hover:text-white",
|
|
68
|
+
isActive && "bg-white text-zinc-950 hover:bg-white hover:text-zinc-950",
|
|
69
|
+
)}
|
|
70
|
+
onClick={() => setActiveSourceType(source.id)}
|
|
71
|
+
>
|
|
72
|
+
<PlayCircle className="size-4" />
|
|
73
|
+
{source.name}
|
|
74
|
+
</Button>
|
|
75
|
+
);
|
|
76
|
+
})}
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
<VideoJS
|
|
81
|
+
key={activeSource.src}
|
|
82
|
+
src={activeSource.src}
|
|
83
|
+
type={activeSource.type}
|
|
84
|
+
sourceType={activeSource.id}
|
|
85
|
+
poster={activeSource.poster}
|
|
86
|
+
preload="metadata"
|
|
87
|
+
className="border border-white/10 shadow-2xl shadow-black/40"
|
|
88
|
+
/>
|
|
89
|
+
</section>
|
|
90
|
+
|
|
91
|
+
<Button>{HOME_TEXT.play}</Button>
|
|
92
|
+
</main>
|
|
93
|
+
);
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
export default Home;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createBrowserRouter, Navigate, type RouteObject } from "react-router";
|
|
2
|
+
|
|
3
|
+
export const lazyLoad = (path: string, fileName = "index") => {
|
|
4
|
+
const Module = lazy(() => import(`@/pages/${path}/${fileName}.tsx`));
|
|
5
|
+
return <Module />;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const routes: RouteObject[] = [
|
|
9
|
+
{
|
|
10
|
+
path: "/",
|
|
11
|
+
id: "index",
|
|
12
|
+
element: <Navigate to={"/home"} />,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
path: "/home",
|
|
16
|
+
id: "home",
|
|
17
|
+
element: lazyLoad("home"),
|
|
18
|
+
},
|
|
19
|
+
];
|
|
20
|
+
|
|
21
|
+
export const router = createBrowserRouter(routes, {
|
|
22
|
+
basename: "/",
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export const navigator = router.navigate;
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
@import "shadcn/tailwind.css";
|
|
2
|
+
|
|
3
|
+
@custom-variant dark (&:is(.dark *));
|
|
4
|
+
|
|
5
|
+
@theme inline {
|
|
6
|
+
--font-heading: var(--font-sans);
|
|
7
|
+
--font-sans: "Geist Variable", sans-serif;
|
|
8
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
9
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
10
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
11
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
12
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
13
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
14
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
15
|
+
--color-sidebar: var(--sidebar);
|
|
16
|
+
--color-chart-5: var(--chart-5);
|
|
17
|
+
--color-chart-4: var(--chart-4);
|
|
18
|
+
--color-chart-3: var(--chart-3);
|
|
19
|
+
--color-chart-2: var(--chart-2);
|
|
20
|
+
--color-chart-1: var(--chart-1);
|
|
21
|
+
--color-ring: var(--ring);
|
|
22
|
+
--color-input: var(--input);
|
|
23
|
+
--color-border: var(--border);
|
|
24
|
+
--color-destructive: var(--destructive);
|
|
25
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
26
|
+
--color-accent: var(--accent);
|
|
27
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
28
|
+
--color-muted: var(--muted);
|
|
29
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
30
|
+
--color-secondary: var(--secondary);
|
|
31
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
32
|
+
--color-primary: var(--primary);
|
|
33
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
34
|
+
--color-popover: var(--popover);
|
|
35
|
+
--color-card-foreground: var(--card-foreground);
|
|
36
|
+
--color-card: var(--card);
|
|
37
|
+
--color-foreground: var(--foreground);
|
|
38
|
+
--color-background: var(--background);
|
|
39
|
+
--radius-sm: calc(var(--radius) * 0.6);
|
|
40
|
+
--radius-md: calc(var(--radius) * 0.8);
|
|
41
|
+
--radius-lg: var(--radius);
|
|
42
|
+
--radius-xl: calc(var(--radius) * 1.4);
|
|
43
|
+
--radius-2xl: calc(var(--radius) * 1.8);
|
|
44
|
+
--radius-3xl: calc(var(--radius) * 2.2);
|
|
45
|
+
--radius-4xl: calc(var(--radius) * 2.6);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
:root {
|
|
49
|
+
--background: oklch(1 0 0);
|
|
50
|
+
--foreground: oklch(0.145 0 0);
|
|
51
|
+
--card: oklch(1 0 0);
|
|
52
|
+
--card-foreground: oklch(0.145 0 0);
|
|
53
|
+
--popover: oklch(1 0 0);
|
|
54
|
+
--popover-foreground: oklch(0.145 0 0);
|
|
55
|
+
--primary: rgb(47 123 255);
|
|
56
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
57
|
+
--secondary: oklch(0.97 0 0);
|
|
58
|
+
--secondary-foreground: oklch(0.205 0 0);
|
|
59
|
+
--muted: oklch(0.97 0 0);
|
|
60
|
+
--muted-foreground: oklch(0.556 0 0);
|
|
61
|
+
--accent: oklch(0.97 0 0);
|
|
62
|
+
--accent-foreground: oklch(0.205 0 0);
|
|
63
|
+
--destructive: oklch(0.577 0.245 27.325);
|
|
64
|
+
--border: oklch(0.922 0 0);
|
|
65
|
+
--input: oklch(0.922 0 0);
|
|
66
|
+
--ring: rgb(47 123 255);
|
|
67
|
+
--chart-1: oklch(0.87 0 0);
|
|
68
|
+
--chart-2: oklch(0.556 0 0);
|
|
69
|
+
--chart-3: oklch(0.439 0 0);
|
|
70
|
+
--chart-4: oklch(0.371 0 0);
|
|
71
|
+
--chart-5: oklch(0.269 0 0);
|
|
72
|
+
--radius: 0.625rem;
|
|
73
|
+
--sidebar: oklch(0.985 0 0);
|
|
74
|
+
--sidebar-foreground: oklch(0.145 0 0);
|
|
75
|
+
--sidebar-primary: rgb(47 123 255);
|
|
76
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
77
|
+
--sidebar-accent: oklch(0.97 0 0);
|
|
78
|
+
--sidebar-accent-foreground: oklch(0.205 0 0);
|
|
79
|
+
--sidebar-border: oklch(0.922 0 0);
|
|
80
|
+
--sidebar-ring: rgb(47 123 255);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.dark {
|
|
84
|
+
--background: oklch(0.145 0 0);
|
|
85
|
+
--foreground: oklch(0.985 0 0);
|
|
86
|
+
--card: oklch(0.205 0 0);
|
|
87
|
+
--card-foreground: oklch(0.985 0 0);
|
|
88
|
+
--popover: oklch(0.205 0 0);
|
|
89
|
+
--popover-foreground: oklch(0.985 0 0);
|
|
90
|
+
--primary: rgb(47 123 255);
|
|
91
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
92
|
+
--secondary: oklch(0.269 0 0);
|
|
93
|
+
--secondary-foreground: oklch(0.985 0 0);
|
|
94
|
+
--muted: oklch(0.269 0 0);
|
|
95
|
+
--muted-foreground: oklch(0.708 0 0);
|
|
96
|
+
--accent: oklch(0.269 0 0);
|
|
97
|
+
--accent-foreground: oklch(0.985 0 0);
|
|
98
|
+
--destructive: oklch(0.704 0.191 22.216);
|
|
99
|
+
--border: oklch(1 0 0 / 10%);
|
|
100
|
+
--input: oklch(1 0 0 / 15%);
|
|
101
|
+
--ring: rgb(47 123 255);
|
|
102
|
+
--chart-1: oklch(0.87 0 0);
|
|
103
|
+
--chart-2: oklch(0.556 0 0);
|
|
104
|
+
--chart-3: oklch(0.439 0 0);
|
|
105
|
+
--chart-4: oklch(0.371 0 0);
|
|
106
|
+
--chart-5: oklch(0.269 0 0);
|
|
107
|
+
--sidebar: oklch(0.205 0 0);
|
|
108
|
+
--sidebar-foreground: oklch(0.985 0 0);
|
|
109
|
+
--sidebar-primary: rgb(47 123 255);
|
|
110
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
111
|
+
--sidebar-accent: oklch(0.269 0 0);
|
|
112
|
+
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
113
|
+
--sidebar-border: oklch(1 0 0 / 10%);
|
|
114
|
+
--sidebar-ring: rgb(47 123 255);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
@layer base {
|
|
118
|
+
* {
|
|
119
|
+
@apply border-border outline-ring/50;
|
|
120
|
+
}
|
|
121
|
+
body {
|
|
122
|
+
@apply bg-background text-foreground;
|
|
123
|
+
}
|
|
124
|
+
html {
|
|
125
|
+
@apply font-sans;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* prettier-ignore */
|
|
3
|
+
// @ts-nocheck
|
|
4
|
+
// noinspection JSUnusedGlobalSymbols
|
|
5
|
+
// Generated by unplugin-auto-import
|
|
6
|
+
// biome-ignore lint: disable
|
|
7
|
+
export {}
|
|
8
|
+
declare global {
|
|
9
|
+
const Activity: typeof import('react').Activity
|
|
10
|
+
const Fragment: typeof import('react').Fragment
|
|
11
|
+
const Suspense: typeof import('react').Suspense
|
|
12
|
+
const cache: typeof import('react').cache
|
|
13
|
+
const cacheSignal: typeof import('react').cacheSignal
|
|
14
|
+
const createContext: typeof import('react').createContext
|
|
15
|
+
const createPortal: typeof import('react-dom').createPortal
|
|
16
|
+
const createRef: typeof import('react').createRef
|
|
17
|
+
const flushSync: typeof import('react-dom').flushSync
|
|
18
|
+
const forwardRef: typeof import('react').forwardRef
|
|
19
|
+
const lazy: typeof import('react').lazy
|
|
20
|
+
const memo: typeof import('react').memo
|
|
21
|
+
const preconnect: typeof import('react-dom').preconnect
|
|
22
|
+
const prefetchDNS: typeof import('react-dom').prefetchDNS
|
|
23
|
+
const preinit: typeof import('react-dom').preinit
|
|
24
|
+
const preinitModule: typeof import('react-dom').preinitModule
|
|
25
|
+
const preload: typeof import('react-dom').preload
|
|
26
|
+
const preloadModule: typeof import('react-dom').preloadModule
|
|
27
|
+
const startTransition: typeof import('react').startTransition
|
|
28
|
+
const use: typeof import('react').use
|
|
29
|
+
const useActionState: typeof import('react').useActionState
|
|
30
|
+
const useCallback: typeof import('react').useCallback
|
|
31
|
+
const useContext: typeof import('react').useContext
|
|
32
|
+
const useDebugValue: typeof import('react').useDebugValue
|
|
33
|
+
const useDeferredValue: typeof import('react').useDeferredValue
|
|
34
|
+
const useEffect: typeof import('react').useEffect
|
|
35
|
+
const useEffectEvent: typeof import('react').useEffectEvent
|
|
36
|
+
const useFormStatus: typeof import('react-dom').useFormStatus
|
|
37
|
+
const useHref: typeof import('react-router').useHref
|
|
38
|
+
const useId: typeof import('react').useId
|
|
39
|
+
const useImperativeHandle: typeof import('react').useImperativeHandle
|
|
40
|
+
const useInRouterContext: typeof import('react-router').useInRouterContext
|
|
41
|
+
const useInsertionEffect: typeof import('react').useInsertionEffect
|
|
42
|
+
const useLayoutEffect: typeof import('react').useLayoutEffect
|
|
43
|
+
const useLocation: typeof import('react-router').useLocation
|
|
44
|
+
const useMemo: typeof import('react').useMemo
|
|
45
|
+
const useNavigate: typeof import('react-router').useNavigate
|
|
46
|
+
const useNavigationType: typeof import('react-router').useNavigationType
|
|
47
|
+
const useOptimistic: typeof import('react').useOptimistic
|
|
48
|
+
const useOutlet: typeof import('react-router').useOutlet
|
|
49
|
+
const useOutletContext: typeof import('react-router').useOutletContext
|
|
50
|
+
const useParams: typeof import('react-router').useParams
|
|
51
|
+
const useReducer: typeof import('react').useReducer
|
|
52
|
+
const useRef: typeof import('react').useRef
|
|
53
|
+
const useResolvedPath: typeof import('react-router').useResolvedPath
|
|
54
|
+
const useRoutes: typeof import('react-router').useRoutes
|
|
55
|
+
const useState: typeof import('react').useState
|
|
56
|
+
const useSyncExternalStore: typeof import('react').useSyncExternalStore
|
|
57
|
+
const useTransition: typeof import('react').useTransition
|
|
58
|
+
}
|