♻️ refactor(deps): Update

This commit is contained in:
web@ppanel 2024-12-13 23:42:23 +07:00
parent 37d408f6bd
commit 19837a1032
23 changed files with 2746 additions and 2333 deletions

View File

@ -21,7 +21,7 @@ import NoticeForm from './notice-form';
export default function Page() {
const t = useTranslations('announcement');
const [loading, setLoading] = useState(false);
const ref = useRef<ProTableActions>();
const ref = useRef<ProTableActions>(null);
return (
<ProTable<API.Announcement, { enable: boolean; search: string }>

View File

@ -34,7 +34,7 @@ export default function Page() {
return data.data?.list as API.SubscribeGroup[];
},
});
const ref = useRef<ProTableActions>();
const ref = useRef<ProTableActions>(null);
return (
<ProTable<API.Coupon, { group_id: number; query: string }>
action={ref}

View File

@ -21,7 +21,7 @@ export default function Page() {
const t = useTranslations('document');
const [loading, setLoading] = useState(false);
const ref = useRef<ProTableActions>();
const ref = useRef<ProTableActions>(null);
return (
<ProTable<API.Document, { tag: string; search: string }>
action={ref}

View File

@ -28,7 +28,7 @@ export default function Page() {
{ value: 5, label: t('status.5'), className: 'bg-green-500' },
];
const ref = useRef<ProTableActions>();
const ref = useRef<ProTableActions>(null);
const { data: subscribeList } = useQuery({
queryKey: ['getSubscribeList', 'all'],

View File

@ -19,7 +19,7 @@ import GroupForm from './group-form';
export default function GroupTable() {
const t = useTranslations('server');
const [loading, setLoading] = useState(false);
const ref = useRef<ProTableActions>();
const ref = useRef<ProTableActions>(null);
return (
<ProTable<API.ServerGroup, any>

View File

@ -36,7 +36,7 @@ export default function NodeTable() {
},
});
const ref = useRef<ProTableActions>();
const ref = useRef<ProTableActions>(null);
return (
<ProTable<API.Server, { groupId: number; search: string }>

View File

@ -19,7 +19,7 @@ import GroupForm from './group-form';
const GroupTable = () => {
const t = useTranslations('subscribe');
const [loading, setLoading] = useState(false);
const ref = useRef<ProTableActions>();
const ref = useRef<ProTableActions>(null);
return (
<ProTable<API.SubscribeGroup, any>

View File

@ -33,7 +33,7 @@ export default function SubscribeTable() {
return data.data?.list as API.SubscribeGroup[];
},
});
const ref = useRef<ProTableActions>();
const ref = useRef<ProTableActions>(null);
return (
<ProTable<API.Subscribe, { group_id: number; query: string }>
action={ref}

View File

@ -61,7 +61,7 @@ export default function Page() {
}, 66);
}, [ticket?.follow?.length]);
const ref = useRef<ProTableActions>();
const ref = useRef<ProTableActions>(null);
return (
<>
<ProTable<API.Ticket, { status: number }>

View File

@ -15,7 +15,7 @@ import UserForm from './user-form';
export default function Page() {
const t = useTranslations('user');
const [loading, setLoading] = useState(false);
const ref = useRef<ProTableActions>();
const ref = useRef<ProTableActions>(null);
return (
<ProTable<API.User, any>

View File

@ -10,34 +10,34 @@
"start": "next start"
},
"dependencies": {
"@iconify/react": "^5.0.2",
"@iconify/react": "^5.1.0",
"@repo/ui": "workspace:*",
"@shadcn/ui": "workspace:*",
"@tanstack/react-query": "^5.61.3",
"@tanstack/react-query-next-experimental": "^5.61.3",
"ahooks": "^3.8.1",
"axios": "^1.7.8",
"@tanstack/react-query": "^5.62.7",
"@tanstack/react-query-next-experimental": "^5.62.7",
"ahooks": "^3.8.4",
"axios": "^1.7.9",
"crypto-js": "^4.2.0",
"mathjs": "^14.0.0",
"mathjs": "^14.0.1",
"nanoid": "^5.0.9",
"next": "^15.0.3",
"next-intl": "^3.25.3",
"next": "^15.1.0",
"next-intl": "^3.26.1",
"next-runtime-env": "^3.2.2",
"next-themes": "^0.4.3",
"next-themes": "^0.4.4",
"nextjs-toploader": "^3.7.15",
"radash": "^12.1.0",
"react": "rc",
"react-dom": "rc",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-turnstile": "^1.1.4",
"universal-cookie": "^7.2.2",
"zustand": "^5.0.1"
"zustand": "^5.0.2"
},
"devDependencies": {
"@repo/eslint-config": "workspace:*",
"@repo/typescript-config": "workspace:*",
"@types/node": "^22.10.0",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@types/node": "^22.10.2",
"@types/react": "^19.0.1",
"@types/react-dom": "^19.0.2",
"typescript": "^5.7.2"
}
}

View File

@ -10,7 +10,7 @@ import { cn } from '@shadcn/ui/lib/utils';
import { useQuery } from '@tanstack/react-query';
import { AnimatePresence, motion } from 'framer-motion';
import { useTranslations } from 'next-intl';
import { useEffect, useId, useRef, useState } from 'react';
import { RefObject, useEffect, useId, useRef, useState } from 'react';
export function DocumentButton({ items }: { items: API.Document[] }) {
const t = useTranslations('document');
@ -46,7 +46,7 @@ export function DocumentButton({ items }: { items: API.Document[] }) {
return () => window.removeEventListener('keydown', onKeyDown);
}, [active]);
useOutsideClick(ref, () => setActive(null));
useOutsideClick(ref as RefObject<HTMLDivElement>, () => setActive(null));
return (
<>

View File

@ -9,7 +9,7 @@ import { cn } from '@shadcn/ui/lib/utils';
import { useQuery } from '@tanstack/react-query';
import { AnimatePresence, motion } from 'framer-motion';
import { useTranslations } from 'next-intl';
import { useEffect, useId, useRef, useState } from 'react';
import { RefObject, useEffect, useId, useRef, useState } from 'react';
interface Item {
path: string;
@ -48,7 +48,7 @@ export function TutorialButton({ items }: { items: Item[] }) {
return () => window.removeEventListener('keydown', onKeyDown);
}, [active]);
useOutsideClick(ref, () => setActive(null));
useOutsideClick(ref as RefObject<HTMLDivElement>, () => setActive(null));
return (
<>

View File

@ -70,7 +70,7 @@ export default function Page() {
}, 66);
}, [ticket?.follow?.length]);
const ref = useRef<ProListActions>();
const ref = useRef<ProListActions>(null);
const [create, setCreate] = useState<Partial<API.CreateUserTicketRequest & { open: boolean }>>();
return (

View File

@ -10,40 +10,40 @@
"start": "next start"
},
"dependencies": {
"@iconify/react": "^5.0.2",
"@iconify/react": "^5.1.0",
"@repo/ui": "workspace:*",
"@shadcn/ui": "workspace:*",
"@stripe/react-stripe-js": "^3.0.0",
"@stripe/stripe-js": "^5.2.0",
"@tanstack/react-query": "^5.61.3",
"@tanstack/react-query-next-experimental": "^5.61.3",
"ahooks": "^3.8.1",
"axios": "^1.7.8",
"@stripe/react-stripe-js": "^3.1.0",
"@stripe/stripe-js": "^5.3.0",
"@tanstack/react-query": "^5.62.7",
"@tanstack/react-query-next-experimental": "^5.62.7",
"ahooks": "^3.8.4",
"axios": "^1.7.9",
"crypto-js": "^4.2.0",
"framer-motion": "^11.11.17",
"lucide-react": "^0.461.0",
"mathjs": "^14.0.0",
"next": "^15.0.3",
"next-intl": "^3.25.3",
"framer-motion": "^11.14.4",
"lucide-react": "^0.468.0",
"mathjs": "^14.0.1",
"next": "^15.1.0",
"next-intl": "^3.26.1",
"next-runtime-env": "^3.2.2",
"next-themes": "^0.4.3",
"next-themes": "^0.4.4",
"nextjs-toploader": "^3.7.15",
"qrcode.react": "^4.1.0",
"qrcode.react": "^4.2.0",
"radash": "^12.1.0",
"react": "rc",
"react": "^19.0.0",
"react-copy-to-clipboard": "^5.1.0",
"react-dom": "rc",
"react-dom": "^19.0.0",
"react-turnstile": "^1.1.4",
"universal-cookie": "^7.2.2",
"zustand": "^5.0.1"
"zustand": "^5.0.2"
},
"devDependencies": {
"@repo/eslint-config": "workspace:*",
"@repo/typescript-config": "workspace:*",
"@types/node": "^22.10.0",
"@types/react": "^18.3.12",
"@types/node": "^22.10.2",
"@types/react": "^19.0.1",
"@types/react-copy-to-clipboard": "^5.0.7",
"@types/react-dom": "^18.3.1",
"@types/react-dom": "^19.0.2",
"typescript": "^5.7.2"
}
}

View File

@ -43,10 +43,10 @@
"@repo/typescript-config": "workspace:*",
"@umijs/openapi": "^1.13.0",
"husky": "^9.1.7",
"lint-staged": "^15.2.10",
"lint-staged": "^15.2.11",
"semantic-release": "^24.2.0",
"semantic-release-config-gitmoji": "^1.5.3",
"turbo": "^2.3.2",
"turbo": "^2.3.3",
"typescript": "^5.7.2"
},
"packageManager": "pnpm@9.12.3",
@ -55,7 +55,7 @@
},
"pnpm": {
"overrides": {
"react-is": "rc"
"react-is": "19.0.0"
}
}
}

View File

@ -8,17 +8,17 @@
"./react-internal": "./react-internal.js"
},
"devDependencies": {
"@next/eslint-plugin-next": "^15.0.3",
"@typescript-eslint/eslint-plugin": "^8.16.0",
"@typescript-eslint/parser": "^8.16.0",
"eslint": "^9.15.0",
"@next/eslint-plugin-next": "^15.1.0",
"@typescript-eslint/eslint-plugin": "^8.18.0",
"@typescript-eslint/parser": "^8.18.0",
"eslint": "^9.16.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-only-warn": "^1.1.0",
"eslint-plugin-react": "^7.37.2",
"eslint-plugin-react-hooks": "^5.0.0",
"eslint-plugin-turbo": "^2.3.2",
"globals": "^15.12.0",
"eslint-plugin-react-hooks": "^5.1.0",
"eslint-plugin-turbo": "^2.3.3",
"globals": "^15.13.0",
"typescript": "^5.7.2",
"typescript-eslint": "^8.16.0"
"typescript-eslint": "^8.18.0"
}
}

View File

@ -4,7 +4,7 @@
"main": "index.js",
"devDependencies": {
"@ianvs/prettier-plugin-sort-imports": "^4.4.0",
"prettier": "^3.4.0",
"prettier": "^3.4.2",
"prettier-plugin-organize-imports": "^4.1.0",
"prettier-plugin-packagejson": "^2.5.6",
"prettier-plugin-sh": "^0.14.0",

View File

@ -16,79 +16,81 @@
},
"dependencies": {
"@hookform/resolvers": "^3.9.1",
"@radix-ui/react-accordion": "^1.2.1",
"@radix-ui/react-alert-dialog": "^1.1.2",
"@radix-ui/react-aspect-ratio": "^1.1.0",
"@radix-ui/react-avatar": "^1.1.1",
"@radix-ui/react-checkbox": "^1.1.2",
"@radix-ui/react-collapsible": "^1.1.1",
"@radix-ui/react-context-menu": "^2.2.2",
"@radix-ui/react-dialog": "^1.1.2",
"@radix-ui/react-dropdown-menu": "^2.1.2",
"@radix-ui/react-hover-card": "^1.1.2",
"@radix-ui/react-accordion": "^1.2.2",
"@radix-ui/react-alert-dialog": "^1.1.3",
"@radix-ui/react-aspect-ratio": "^1.1.1",
"@radix-ui/react-avatar": "^1.1.2",
"@radix-ui/react-checkbox": "^1.1.3",
"@radix-ui/react-collapsible": "^1.1.2",
"@radix-ui/react-context-menu": "^2.2.3",
"@radix-ui/react-dialog": "^1.1.3",
"@radix-ui/react-dropdown-menu": "^2.1.3",
"@radix-ui/react-hover-card": "^1.1.3",
"@radix-ui/react-icons": "^1.3.2",
"@radix-ui/react-label": "^2.1.0",
"@radix-ui/react-menubar": "^1.1.2",
"@radix-ui/react-navigation-menu": "^1.2.1",
"@radix-ui/react-popover": "^1.1.2",
"@radix-ui/react-progress": "^1.1.0",
"@radix-ui/react-radio-group": "^1.2.1",
"@radix-ui/react-scroll-area": "^1.2.1",
"@radix-ui/react-select": "^2.1.2",
"@radix-ui/react-separator": "^1.1.0",
"@radix-ui/react-slider": "^1.2.1",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-switch": "^1.1.1",
"@radix-ui/react-tabs": "^1.1.1",
"@radix-ui/react-toast": "^1.2.2",
"@radix-ui/react-toggle": "^1.1.0",
"@radix-ui/react-toggle-group": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.4",
"@react-three/drei": "^9.117.3",
"@radix-ui/react-label": "^2.1.1",
"@radix-ui/react-menubar": "^1.1.3",
"@radix-ui/react-navigation-menu": "^1.2.2",
"@radix-ui/react-popover": "^1.1.3",
"@radix-ui/react-progress": "^1.1.1",
"@radix-ui/react-radio-group": "^1.2.2",
"@radix-ui/react-scroll-area": "^1.2.2",
"@radix-ui/react-select": "^2.1.3",
"@radix-ui/react-separator": "^1.1.1",
"@radix-ui/react-slider": "^1.2.2",
"@radix-ui/react-slot": "^1.1.1",
"@radix-ui/react-switch": "^1.1.2",
"@radix-ui/react-tabs": "^1.1.2",
"@radix-ui/react-toast": "^1.2.3",
"@radix-ui/react-toggle": "^1.1.1",
"@radix-ui/react-toggle-group": "^1.1.1",
"@radix-ui/react-tooltip": "^1.1.5",
"@react-three/drei": "^9.120.4",
"@react-three/fiber": "^8.17.10",
"@tabler/icons-react": "^3.22.0",
"@tabler/icons-react": "^3.24.0",
"@tsparticles/engine": "^3.7.1",
"@tsparticles/react": "^3.0.0",
"@tsparticles/slim": "^3.7.1",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "1.0.4",
"cmdk": "1.0.0",
"cobe": "^0.6.3",
"date-fns": "^4.1.0",
"dotted-map": "^2.2.3",
"embla-carousel-react": "^8.5.1",
"framer-motion": "^11.11.17",
"framer-motion": "^11.14.4",
"input-otp": "^1.4.1",
"lucide-react": "^0.461.0",
"lucide-react": "^0.468.0",
"mini-svg-data-uri": "^1.4.4",
"next-themes": "^0.4.3",
"motion": "^11.14.4",
"next-themes": "^0.4.4",
"qss": "^3.0.0",
"react-day-picker": "8.10.1",
"react-dropzone": "^14.3.5",
"react-hook-form": "^7.53.2",
"react-icons": "^5.3.0",
"react-hook-form": "^7.54.1",
"react-icons": "^5.4.0",
"react-resizable-panels": "^2.1.7",
"recharts": "^2.13.3",
"recharts": "^2.15.0",
"simplex-noise": "^4.0.3",
"sonner": "^1.7.0",
"sonner": "^1.7.1",
"tailwind-merge": "^2.5.5",
"tailwindcss-animate": "^1.0.7",
"three": "^0.170.0",
"three-globe": "^2.35.2",
"three": "^0.171.0",
"three-globe": "^2.35.11",
"vaul": "^1.1.1",
"zod": "^3.23.8"
"zod": "^3.24.1"
},
"devDependencies": {
"@repo/eslint-config": "workspace:*",
"@repo/typescript-config": "workspace:*",
"@types/node": "^22.10.0",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@types/node": "^22.10.2",
"@types/react": "^19.0.1",
"@types/react-dom": "^19.0.2",
"@types/three": "^0.170.0",
"autoprefixer": "^10.4.20",
"next": "^15.0.3",
"next": "^15.1.0",
"postcss": "^8.4.49",
"react": "^18.3.1",
"tailwindcss": "^3.4.15",
"react": "^19.0.0",
"tailwindcss": "^3.4.16",
"typescript": "^5.7.2"
}
}

View File

@ -1,6 +1,4 @@
// @ts-nocheck
// Core component that receives mouse positions and renders pointer and content
import React, { useEffect, useState } from 'react';
import { AnimatePresence, motion, useMotionValue } from 'framer-motion';

View File

@ -18,14 +18,14 @@
"@monaco-editor/react": "^4.6.0",
"@radix-ui/react-icons": "^1.3.2",
"@shadcn/ui": "workspace:*",
"@tanstack/react-table": "^8.20.5",
"@tanstack/react-table": "^8.20.6",
"@types/react-syntax-highlighter": "^15.5.13",
"ahooks": "^3.8.1",
"katex": "^0.16.11",
"ahooks": "^3.8.4",
"katex": "^0.16.15",
"lottie-react": "^2.4.0",
"lucide-react": "^0.461.0",
"mathjs": "^14.0.0",
"react": "^18.3.1",
"lucide-react": "^0.468.0",
"mathjs": "^14.0.1",
"react": "^19.0.0",
"react-markdown": "^9.0.1",
"react-syntax-highlighter": "^15.6.1",
"rehype-katex": "^7.0.1",
@ -37,15 +37,15 @@
"devDependencies": {
"@repo/eslint-config": "workspace:*",
"@repo/typescript-config": "workspace:*",
"@turbo/gen": "^2.3.2",
"@types/node": "^22.10.0",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@turbo/gen": "^2.3.3",
"@types/node": "^22.10.2",
"@types/react": "^19.0.1",
"@types/react-dom": "^19.0.2",
"autoprefixer": "^10.4.20",
"next": "^15.0.3",
"next": "^15.1.0",
"postcss": "^8.4.49",
"react": "^18.3.1",
"tailwindcss": "^3.4.15",
"tailwindcss": "^3.4.16",
"typescript": "^5.7.2"
}
}

4825
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -117,9 +117,17 @@ function runCommand(command, args, options) {
async function installComponents() {
try {
console.log('Installing all default Shadcn components in directory:', targetDir);
const registry = await fetch('https://ui.aceternity.com/registry');
const registryJson = await registry.json();
const components = registryJson
.filter(
(item) =>
!['card-spotlight', 'canvas-reveal-effect', 'sparkles', 'cover'].includes(item.name),
)
.map((item) => `https://ui.aceternity.com/registry/${item.name}.json`);
// Install AceternityUI a Shadcn components
await runCommand('npx', ['aceternity-ui@latest', 'add', '-y', '-o', '-a'], {
await runCommand('npx', ['shadcn@latest', 'add', ...components], {
cwd: targetDir,
shell: true,
});