Replaced the dedicated /admin/subscriptions page with a redirect to the central admin panel’s subscriptions tab. Removed session checks, imports, and the AdminSubscriptionDashboard since routing and access are now handled centrally. This streamlines admin UX and keeps access control unified.
95 lines
2.8 KiB
JSON
95 lines
2.8 KiB
JSON
{
|
|
"name": "tibia-trade",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "tsx server.ts",
|
|
"dev:next": "next dev --turbopack",
|
|
"build": "next build --turbopack",
|
|
"start": "NODE_ENV=production tsx server.ts",
|
|
"start:next": "next start",
|
|
"lint": "biome check",
|
|
"format": "biome format --write",
|
|
"db:migrate": "tsx lib/db/migrations/run-migrations.ts",
|
|
"db:seed": "tsx lib/db/seeds/servers-seed.ts",
|
|
"db:test": "tsx lib/db/test-connection.ts",
|
|
"prisma:generate": "prisma generate --schema=prisma/schema.prisma",
|
|
"prisma:studio": "prisma studio --schema=prisma/schema.prisma",
|
|
"postinstall": "prisma generate --schema=prisma/schema.prisma"
|
|
},
|
|
"keywords": [
|
|
"tibia marketplace",
|
|
"tibia trade",
|
|
"comprar itens tibia",
|
|
"vender itens tibia",
|
|
"tibia escrow",
|
|
"tibia gold",
|
|
"tibia coins",
|
|
"tc tibia",
|
|
"marketplace tibia seguro"
|
|
],
|
|
"dependencies": {
|
|
"@prisma/client": "^6.18.0",
|
|
"@radix-ui/react-accordion": "^1.2.12",
|
|
"@radix-ui/react-avatar": "^1.1.10",
|
|
"@radix-ui/react-checkbox": "^1.3.3",
|
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
"@radix-ui/react-icons": "^1.3.2",
|
|
"@radix-ui/react-label": "^2.1.7",
|
|
"@radix-ui/react-navigation-menu": "^1.2.14",
|
|
"@radix-ui/react-select": "^2.2.6",
|
|
"@radix-ui/react-separator": "^1.1.7",
|
|
"@radix-ui/react-slot": "^1.2.3",
|
|
"@radix-ui/react-tabs": "^1.1.13",
|
|
"@tanstack/react-query": "^5.90.6",
|
|
"@types/bcrypt": "^6.0.0",
|
|
"@types/canvas-confetti": "^1.9.0",
|
|
"@types/jsonwebtoken": "^9.0.10",
|
|
"@types/pg": "^8.15.6",
|
|
"bcrypt": "^6.0.0",
|
|
"better-sqlite3": "^12.4.1",
|
|
"canvas-confetti": "^1.9.4",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cobe": "^0.6.5",
|
|
"date-fns": "^4.1.0",
|
|
"jsonwebtoken": "^9.0.2",
|
|
"lucide-react": "^0.540.0",
|
|
"mongoose": "^8.19.3",
|
|
"motion": "^12.23.24",
|
|
"next": "15.5.0",
|
|
"next-intl": "^4.4.0",
|
|
"next-themes": "^0.4.6",
|
|
"pg": "^8.16.3",
|
|
"postcss": "^8.5.6",
|
|
"prisma": "^6.18.0",
|
|
"react": "19.1.0",
|
|
"react-dom": "19.1.0",
|
|
"react-qr-code": "^2.0.18",
|
|
"recharts": "^3.3.0",
|
|
"redis": "^5.9.0",
|
|
"sanitize-html": "^2.17.0",
|
|
"socket.io": "^4.8.1",
|
|
"socket.io-client": "^4.8.1",
|
|
"tailwind-merge": "^3.3.1",
|
|
"validator": "^13.15.20",
|
|
"zod": "^4.1.12"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "2.2.0",
|
|
"@tailwindcss/postcss": "^4",
|
|
"@tanstack/react-query-devtools": "^5.90.2",
|
|
"@types/node": "^20",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"@types/sanitize-html": "^2.16.0",
|
|
"@types/validator": "^13.15.3",
|
|
"dotenv": "^17.2.3",
|
|
"tailwindcss": "^4",
|
|
"tsx": "^4.20.6",
|
|
"tw-animate-css": "^1.3.7",
|
|
"typescript": "^5"
|
|
}
|
|
}
|