mirror of
https://github.com/snowykami/neo-blog.git
synced 2025-09-26 11:06:23 +00:00
- Introduced new CSS files for rose, violet, and yellow themes with custom color variables. - Implemented dark mode styles for each theme. - Created a color data structure to manage theme colors in the console settings. feat: implement image cropper component - Added an image cropper component for user profile picture editing. - Integrated the image cropper into the user profile page. feat: enhance console sidebar with user permissions - Defined sidebar items with permission checks for admin and editor roles. - Updated user center navigation to reflect user permissions. feat: add user profile and security settings - Developed user profile page with avatar upload and editing functionality. - Implemented user security settings for password and email verification. feat: create reusable dialog and OTP input components - Built a dialog component for modal interactions. - Developed an OTP input component for email verification. fix: improve file handling utilities - Added utility functions for file URI generation. - Implemented permission checks for user roles in the common utilities.
73 lines
2.1 KiB
JSON
73 lines
2.1 KiB
JSON
{
|
|
"name": "neo-blog-web",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev --turbopack",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "next lint"
|
|
},
|
|
"dependencies": {
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/modifiers": "^9.0.0",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@dnd-kit/utilities": "^3.2.2",
|
|
"@hcaptcha/react-hcaptcha": "^1.12.1",
|
|
"@marsidev/react-turnstile": "^1.3.0",
|
|
"@radix-ui/react-avatar": "^1.1.10",
|
|
"@radix-ui/react-checkbox": "^1.3.3",
|
|
"@radix-ui/react-dialog": "^1.1.14",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
"@radix-ui/react-label": "^2.1.7",
|
|
"@radix-ui/react-navigation-menu": "^1.2.13",
|
|
"@radix-ui/react-select": "^2.2.6",
|
|
"@radix-ui/react-separator": "^1.1.7",
|
|
"@radix-ui/react-slot": "^1.2.3",
|
|
"@radix-ui/react-switch": "^1.2.5",
|
|
"@radix-ui/react-tabs": "^1.1.13",
|
|
"@radix-ui/react-toggle": "^1.1.10",
|
|
"@radix-ui/react-toggle-group": "^1.1.11",
|
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
"@tabler/icons-react": "^3.34.1",
|
|
"@tanstack/react-table": "^8.21.3",
|
|
"axios": "^1.11.0",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"deepmerge": "^4.3.1",
|
|
"field-conv": "^1.0.9",
|
|
"highlight.js": "^11.11.1",
|
|
"input-otp": "^1.4.2",
|
|
"lucide-react": "^0.525.0",
|
|
"md5": "^2.3.0",
|
|
"motion": "^12.23.12",
|
|
"next": "15.4.1",
|
|
"next-intl": "^4.3.4",
|
|
"next-mdx-remote-client": "^2.1.3",
|
|
"next-themes": "^0.4.6",
|
|
"react": "19.1.0",
|
|
"react-dom": "19.1.0",
|
|
"react-google-recaptcha-v3": "^1.11.0",
|
|
"react-icons": "^5.5.0",
|
|
"react-image-crop": "^11.0.10",
|
|
"recharts": "2.15.4",
|
|
"rehype-highlight": "^7.0.2",
|
|
"sonner": "^2.0.6",
|
|
"tailwind-merge": "^3.3.1",
|
|
"vaul": "^1.1.2",
|
|
"zod": "^4.1.8"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4",
|
|
"@types/md5": "^2.3.5",
|
|
"@types/node": "^20",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "15.4.1",
|
|
"tailwindcss": "^4",
|
|
"tw-animate-css": "^1.3.5",
|
|
"typescript": "^5"
|
|
}
|
|
}
|