mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 17:43:47 +00:00
Node fill color now encodes subscription status (paid/trial active/expired), while border color indicates referral role (partner/top/active referrer). Added BFS-based radial initial positioning to spread referral branches outward. Updated legend with two sections and adjusted FA2 gravity for less clustering.
96 lines
2.8 KiB
JSON
96 lines
2.8 KiB
JSON
{
|
|
"name": "cabinet-frontend",
|
|
"private": true,
|
|
"version": "1.39.0",
|
|
"description": "Remnawave Bedolaga Web App",
|
|
"license": "AGPL-3.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc && vite build",
|
|
"lint": "eslint .",
|
|
"lint:fix": "eslint . --fix",
|
|
"format": "prettier --write \"src/**/*.{ts,tsx,css,json}\"",
|
|
"format:check": "prettier --check \"src/**/*.{ts,tsx,css,json}\"",
|
|
"type-check": "tsc --noEmit",
|
|
"preview": "vite preview",
|
|
"prepare": "husky"
|
|
},
|
|
"dependencies": {
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@dnd-kit/utilities": "^3.2.2",
|
|
"@kastov/cryptohapp": "^1.1.2",
|
|
"@radix-ui/react-alert-dialog": "^1.1.15",
|
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
"@radix-ui/react-popover": "^1.1.15",
|
|
"@radix-ui/react-select": "^2.2.6",
|
|
"@radix-ui/react-slot": "^1.2.4",
|
|
"@radix-ui/react-switch": "^1.2.6",
|
|
"@radix-ui/react-tabs": "^1.1.13",
|
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
"@radix-ui/react-visually-hidden": "^1.2.4",
|
|
"@sigma/node-border": "^3.0.0",
|
|
"@tanstack/react-query": "^5.8.0",
|
|
"@tanstack/react-table": "^8.21.3",
|
|
"@telegram-apps/sdk-react": "^3.3.9",
|
|
"autoprefixer": "^10.4.24",
|
|
"axios": "^1.6.0",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"dompurify": "^3.3.1",
|
|
"framer-motion": "^12.29.2",
|
|
"graphology": "^0.26.0",
|
|
"graphology-layout-forceatlas2": "^0.10.1",
|
|
"graphology-types": "^0.24.8",
|
|
"i18next": "^25.8.4",
|
|
"i18next-browser-languagedetector": "^8.2.0",
|
|
"jsencrypt": "^3.5.4",
|
|
"qrcode.react": "^4.2.0",
|
|
"react": "^19.2.4",
|
|
"react-dom": "^19.2.4",
|
|
"react-i18next": "^16.5.4",
|
|
"react-router": "^7.13.0",
|
|
"react-twemoji": "^0.7.2",
|
|
"recharts": "^3.7.0",
|
|
"sigma": "^3.0.2",
|
|
"simplex-noise": "^4.0.3",
|
|
"tailwind-merge": "^3.4.0",
|
|
"zustand": "^5.0.11"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.39.2",
|
|
"@types/dompurify": "^3.0.5",
|
|
"@types/node": "^25.2.1",
|
|
"@types/react": "^19.2.13",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@types/react-twemoji": "^0.4.3",
|
|
"@vitejs/plugin-react": "^5.1.2",
|
|
"eslint": "^9.39.2",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
"eslint-plugin-react-refresh": "^0.5.0",
|
|
"globals": "^17.1.0",
|
|
"husky": "^9.1.7",
|
|
"lint-staged": "^16.2.7",
|
|
"postcss": "^8.4.31",
|
|
"prettier": "^3.8.1",
|
|
"prettier-plugin-tailwindcss": "^0.7.2",
|
|
"tailwindcss": "^3.4.19",
|
|
"typescript": "^5.2.2",
|
|
"typescript-eslint": "^8.54.0",
|
|
"vite": "^7.3.1"
|
|
},
|
|
"lint-staged": {
|
|
"*.{ts,tsx}": [
|
|
"eslint --fix",
|
|
"prettier --write"
|
|
],
|
|
"*.{css,json}": [
|
|
"prettier --write"
|
|
]
|
|
}
|
|
}
|