feat: landing page update
@@ -15,6 +15,7 @@
|
|||||||
"@ant-design/use-emotion-css": "^1.0.4",
|
"@ant-design/use-emotion-css": "^1.0.4",
|
||||||
"@babel/preset-env": "^7.24.5",
|
"@babel/preset-env": "^7.24.5",
|
||||||
"@types/crypto-js": "^4.2.2",
|
"@types/crypto-js": "^4.2.2",
|
||||||
|
"@types/uuid": "^9.0.8",
|
||||||
"@vitejs/plugin-legacy": "^5.4.0",
|
"@vitejs/plugin-legacy": "^5.4.0",
|
||||||
"antd": "^5.17.0",
|
"antd": "^5.17.0",
|
||||||
"autoprefixer": "^10.4.19",
|
"autoprefixer": "^10.4.19",
|
||||||
@@ -35,6 +36,7 @@
|
|||||||
"tailwind-merge": "^2.3.0",
|
"tailwind-merge": "^2.3.0",
|
||||||
"tailwindcss": "^3.4.3",
|
"tailwindcss": "^3.4.3",
|
||||||
"tailwindcss-animate": "^1.0.7",
|
"tailwindcss-animate": "^1.0.7",
|
||||||
|
"uuid": "^9.0.1",
|
||||||
"vite-plugin-compression": "^0.5.1",
|
"vite-plugin-compression": "^0.5.1",
|
||||||
"vite-plugin-html": "^3.2.2",
|
"vite-plugin-html": "^3.2.2",
|
||||||
"vite-plugin-svg-icons": "^2.0.1"
|
"vite-plugin-svg-icons": "^2.0.1"
|
||||||
|
864
pnpm-lock.yaml
generated
@@ -17,30 +17,12 @@ dependencies:
|
|||||||
'@babel/preset-env':
|
'@babel/preset-env':
|
||||||
specifier: ^7.24.5
|
specifier: ^7.24.5
|
||||||
version: 7.24.5(@babel/core@7.24.5)
|
version: 7.24.5(@babel/core@7.24.5)
|
||||||
'@radix-ui/react-accordion':
|
|
||||||
specifier: ^1.1.2
|
|
||||||
version: 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-avatar':
|
|
||||||
specifier: ^1.0.4
|
|
||||||
version: 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-dialog':
|
|
||||||
specifier: ^1.0.5
|
|
||||||
version: 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-dropdown-menu':
|
|
||||||
specifier: ^2.0.6
|
|
||||||
version: 2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-icons':
|
|
||||||
specifier: ^1.3.0
|
|
||||||
version: 1.3.0(react@18.3.1)
|
|
||||||
'@radix-ui/react-navigation-menu':
|
|
||||||
specifier: ^1.1.4
|
|
||||||
version: 1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-slot':
|
|
||||||
specifier: ^1.0.2
|
|
||||||
version: 1.0.2(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/crypto-js':
|
'@types/crypto-js':
|
||||||
specifier: ^4.2.2
|
specifier: ^4.2.2
|
||||||
version: 4.2.2
|
version: 4.2.2
|
||||||
|
'@types/uuid':
|
||||||
|
specifier: ^9.0.8
|
||||||
|
version: 9.0.8
|
||||||
'@vitejs/plugin-legacy':
|
'@vitejs/plugin-legacy':
|
||||||
specifier: ^5.4.0
|
specifier: ^5.4.0
|
||||||
version: 5.4.0(terser@5.31.0)(vite@5.2.11)
|
version: 5.4.0(terser@5.31.0)(vite@5.2.11)
|
||||||
@@ -53,12 +35,6 @@ dependencies:
|
|||||||
axios:
|
axios:
|
||||||
specifier: ^1.6.8
|
specifier: ^1.6.8
|
||||||
version: 1.6.8
|
version: 1.6.8
|
||||||
class-variance-authority:
|
|
||||||
specifier: ^0.7.0
|
|
||||||
version: 0.7.0
|
|
||||||
clsx:
|
|
||||||
specifier: ^2.1.1
|
|
||||||
version: 2.1.1
|
|
||||||
core-js:
|
core-js:
|
||||||
specifier: ^3.37.0
|
specifier: ^3.37.0
|
||||||
version: 3.37.0
|
version: 3.37.0
|
||||||
@@ -74,9 +50,6 @@ dependencies:
|
|||||||
localforage:
|
localforage:
|
||||||
specifier: ^1.10.0
|
specifier: ^1.10.0
|
||||||
version: 1.10.0
|
version: 1.10.0
|
||||||
lucide-react:
|
|
||||||
specifier: ^0.378.0
|
|
||||||
version: 0.378.0(react@18.3.1)
|
|
||||||
mobx:
|
mobx:
|
||||||
specifier: ^6.12.3
|
specifier: ^6.12.3
|
||||||
version: 6.12.3
|
version: 6.12.3
|
||||||
@@ -110,6 +83,9 @@ dependencies:
|
|||||||
tailwindcss-animate:
|
tailwindcss-animate:
|
||||||
specifier: ^1.0.7
|
specifier: ^1.0.7
|
||||||
version: 1.0.7(tailwindcss@3.4.3)
|
version: 1.0.7(tailwindcss@3.4.3)
|
||||||
|
uuid:
|
||||||
|
specifier: ^9.0.1
|
||||||
|
version: 9.0.1
|
||||||
vite-plugin-compression:
|
vite-plugin-compression:
|
||||||
specifier: ^0.5.1
|
specifier: ^0.5.1
|
||||||
version: 0.5.1(vite@5.2.11)
|
version: 0.5.1(vite@5.2.11)
|
||||||
@@ -2522,34 +2498,6 @@ packages:
|
|||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@floating-ui/core@1.6.2:
|
|
||||||
resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==}
|
|
||||||
dependencies:
|
|
||||||
'@floating-ui/utils': 0.2.2
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@floating-ui/dom@1.6.5:
|
|
||||||
resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==}
|
|
||||||
dependencies:
|
|
||||||
'@floating-ui/core': 1.6.2
|
|
||||||
'@floating-ui/utils': 0.2.2
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@floating-ui/react-dom@2.0.9(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-q0umO0+LQK4+p6aGyvzASqKbKOJcAHJ7ycE9CuUvfx3s9zTHWmGJTPOIlM/hmSBfUfg/XfY5YhLBLR/LHwShQQ==}
|
|
||||||
peerDependencies:
|
|
||||||
react: '>=16.8.0'
|
|
||||||
react-dom: '>=16.8.0'
|
|
||||||
dependencies:
|
|
||||||
'@floating-ui/dom': 1.6.5
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@floating-ui/utils@0.2.2:
|
|
||||||
resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@humanwhocodes/config-array@0.11.14:
|
/@humanwhocodes/config-array@0.11.14:
|
||||||
resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
|
resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
|
||||||
engines: {node: '>=10.10.0'}
|
engines: {node: '>=10.10.0'}
|
||||||
@@ -2894,665 +2842,6 @@ packages:
|
|||||||
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@radix-ui/primitive@1.0.1:
|
|
||||||
resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==}
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-accordion@1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/primitive': 1.0.1
|
|
||||||
'@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-direction': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-id': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-arrow@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-avatar@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-kVK2K7ZD3wwj3qhle0ElXhOjbezIgyl2hVvgwfIdexL3rN6zJmy5AqqIf+D31lxVppdzV8CjAfZ6PklkmInZLw==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/primitive': 1.0.1
|
|
||||||
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-id': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-collection@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-slot': 1.0.2(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-context@1.0.1(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-dialog@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/primitive': 1.0.1
|
|
||||||
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-focus-guards': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-id': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-slot': 1.0.2(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
aria-hidden: 1.2.4
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
react-remove-scroll: 2.5.5(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-direction@1.0.1(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/primitive': 1.0.1
|
|
||||||
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/primitive': 1.0.1
|
|
||||||
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-id': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-menu': 2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-focus-guards@1.0.1(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-icons@1.3.0(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==}
|
|
||||||
peerDependencies:
|
|
||||||
react: ^16.x || ^17.x || ^18.x
|
|
||||||
dependencies:
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-id@1.0.1(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-menu@2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/primitive': 1.0.1
|
|
||||||
'@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-direction': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-focus-guards': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-id': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-popper': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-slot': 1.0.2(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
aria-hidden: 1.2.4
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
react-remove-scroll: 2.5.5(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-navigation-menu@1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-Cc+seCS3PmWmjI51ufGG7zp1cAAIRqHVw7C9LOA2TZ+R4hG6rDvHcTqIsEEFLmZO3zNVH72jOOE7kKNy8W+RtA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/primitive': 1.0.1
|
|
||||||
'@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-direction': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-id': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-previous': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-popper@1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@floating-ui/react-dom': 2.0.9(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-rect': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-size': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/rect': 1.0.1
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-portal@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-presence@1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/react-slot': 1.0.2(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/primitive': 1.0.1
|
|
||||||
'@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-direction': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-id': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-slot@1.0.2(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-use-previous@1.0.1(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-use-rect@1.0.1(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/rect': 1.0.1
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-use-size@1.0.1(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '*'
|
|
||||||
'@types/react-dom': '*'
|
|
||||||
react: ^16.8 || ^17.0 || ^18.0
|
|
||||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
'@types/react-dom':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1)
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
'@types/react-dom': 18.3.0
|
|
||||||
react: 18.3.1
|
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@radix-ui/rect@1.0.1:
|
|
||||||
resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==}
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.24.5
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@rc-component/async-validator@5.0.3:
|
/@rc-component/async-validator@5.0.3:
|
||||||
resolution: {integrity: sha512-eN5chKrc0ANerXjLJuoqh/YJpor0u4T1bgaph5BPh42cJ2afDihaHJ2Mh3Up3XIFk05EfKG4nIQxbqC6y2eM4Q==}
|
resolution: {integrity: sha512-eN5chKrc0ANerXjLJuoqh/YJpor0u4T1bgaph5BPh42cJ2afDihaHJ2Mh3Up3XIFk05EfKG4nIQxbqC6y2eM4Q==}
|
||||||
engines: {node: '>=14.x'}
|
engines: {node: '>=14.x'}
|
||||||
@@ -3895,17 +3184,20 @@ packages:
|
|||||||
|
|
||||||
/@types/prop-types@15.7.12:
|
/@types/prop-types@15.7.12:
|
||||||
resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
|
resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@types/react-dom@18.3.0:
|
/@types/react-dom@18.3.0:
|
||||||
resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
|
resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/react': 18.3.1
|
'@types/react': 18.3.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@types/react@18.3.1:
|
/@types/react@18.3.1:
|
||||||
resolution: {integrity: sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==}
|
resolution: {integrity: sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/prop-types': 15.7.12
|
'@types/prop-types': 15.7.12
|
||||||
csstype: 3.1.3
|
csstype: 3.1.3
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@types/semver@7.5.8:
|
/@types/semver@7.5.8:
|
||||||
resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
|
resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
|
||||||
@@ -3917,6 +3209,10 @@ packages:
|
|||||||
'@types/node': 20.12.11
|
'@types/node': 20.12.11
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/@types/uuid@9.0.8:
|
||||||
|
resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5):
|
/@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5):
|
||||||
resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==}
|
resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
@@ -4255,13 +3551,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/aria-hidden@1.2.4:
|
|
||||||
resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
dependencies:
|
|
||||||
tslib: 2.6.2
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/arr-diff@4.0.0:
|
/arr-diff@4.0.0:
|
||||||
resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==}
|
resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@@ -4718,12 +4007,6 @@ packages:
|
|||||||
static-extend: 0.1.2
|
static-extend: 0.1.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/class-variance-authority@0.7.0:
|
|
||||||
resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==}
|
|
||||||
dependencies:
|
|
||||||
clsx: 2.0.0
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/classnames@2.5.1:
|
/classnames@2.5.1:
|
||||||
resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==}
|
resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==}
|
||||||
dev: false
|
dev: false
|
||||||
@@ -4761,16 +4044,6 @@ packages:
|
|||||||
engines: {node: '>=0.8'}
|
engines: {node: '>=0.8'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/clsx@2.0.0:
|
|
||||||
resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==}
|
|
||||||
engines: {node: '>=6'}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/clsx@2.1.1:
|
|
||||||
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
|
|
||||||
engines: {node: '>=6'}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/collection-visit@1.0.0:
|
/collection-visit@1.0.0:
|
||||||
resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==}
|
resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@@ -5184,10 +4457,6 @@ packages:
|
|||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/detect-node-es@1.1.0:
|
|
||||||
resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/didyoumean@1.2.2:
|
/didyoumean@1.2.2:
|
||||||
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
|
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
|
||||||
dev: false
|
dev: false
|
||||||
@@ -5969,11 +5238,6 @@ packages:
|
|||||||
has-symbols: 1.0.3
|
has-symbols: 1.0.3
|
||||||
hasown: 2.0.2
|
hasown: 2.0.2
|
||||||
|
|
||||||
/get-nonce@1.0.1:
|
|
||||||
resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
|
|
||||||
engines: {node: '>=6'}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/get-stream@8.0.1:
|
/get-stream@8.0.1:
|
||||||
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
|
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
|
||||||
engines: {node: '>=16'}
|
engines: {node: '>=16'}
|
||||||
@@ -6305,12 +5569,6 @@ packages:
|
|||||||
hasown: 2.0.2
|
hasown: 2.0.2
|
||||||
side-channel: 1.0.6
|
side-channel: 1.0.6
|
||||||
|
|
||||||
/invariant@2.2.4:
|
|
||||||
resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
|
|
||||||
dependencies:
|
|
||||||
loose-envify: 1.4.0
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/is-accessor-descriptor@1.0.1:
|
/is-accessor-descriptor@1.0.1:
|
||||||
resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==}
|
resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==}
|
||||||
engines: {node: '>= 0.10'}
|
engines: {node: '>= 0.10'}
|
||||||
@@ -6868,14 +6126,6 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
yallist: 3.1.1
|
yallist: 3.1.1
|
||||||
|
|
||||||
/lucide-react@0.378.0(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-u6EPU8juLUk9ytRcyapkWI18epAv3RU+6+TC23ivjR0e+glWKBobFeSgRwOIJihzktILQuy6E0E80P2jVTDR5g==}
|
|
||||||
peerDependencies:
|
|
||||||
react: ^16.5.1 || ^17.0.0 || ^18.0.0
|
|
||||||
dependencies:
|
|
||||||
react: 18.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/magic-string@0.30.10:
|
/magic-string@0.30.10:
|
||||||
resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
|
resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -8639,41 +7889,6 @@ packages:
|
|||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/react-remove-scroll-bar@2.3.6(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
|
|
||||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
react-style-singleton: 2.2.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
tslib: 2.6.2
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/react-remove-scroll@2.5.5(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
|
|
||||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
react-remove-scroll-bar: 2.3.6(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
react-style-singleton: 2.2.1(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
tslib: 2.6.2
|
|
||||||
use-callback-ref: 1.3.2(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
use-sidecar: 1.1.2(@types/react@18.3.1)(react@18.3.1)
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/react-rotate-captcha@1.0.26:
|
/react-rotate-captcha@1.0.26:
|
||||||
resolution: {integrity: sha512-JeMn/yUv+HUxKOzC0oJekf3/vE/SUnyfwO6ViOervIH+zrKzt+UU6Ly9XMf0tZsbPBg2IkC4FKfJWMgSJldc0g==}
|
resolution: {integrity: sha512-JeMn/yUv+HUxKOzC0oJekf3/vE/SUnyfwO6ViOervIH+zrKzt+UU6Ly9XMf0tZsbPBg2IkC4FKfJWMgSJldc0g==}
|
||||||
dev: false
|
dev: false
|
||||||
@@ -8701,23 +7916,6 @@ packages:
|
|||||||
react: 18.3.1
|
react: 18.3.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/react-style-singleton@2.2.1(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
|
|
||||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
get-nonce: 1.0.1
|
|
||||||
invariant: 2.2.4
|
|
||||||
react: 18.3.1
|
|
||||||
tslib: 2.6.2
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/react@18.3.1:
|
/react@18.3.1:
|
||||||
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
|
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@@ -9988,37 +9186,6 @@ packages:
|
|||||||
deprecated: Please see https://github.com/lydell/urix#deprecated
|
deprecated: Please see https://github.com/lydell/urix#deprecated
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/use-callback-ref@1.3.2(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
|
|
||||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
react: 18.3.1
|
|
||||||
tslib: 2.6.2
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/use-sidecar@1.1.2(@types/react@18.3.1)(react@18.3.1):
|
|
||||||
resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0
|
|
||||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@types/react': 18.3.1
|
|
||||||
detect-node-es: 1.1.0
|
|
||||||
react: 18.3.1
|
|
||||||
tslib: 2.6.2
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/use-sync-external-store@1.2.2(react@18.3.1):
|
/use-sync-external-store@1.2.2(react@18.3.1):
|
||||||
resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==}
|
resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -10035,6 +9202,11 @@ packages:
|
|||||||
/util-deprecate@1.0.2:
|
/util-deprecate@1.0.2:
|
||||||
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
||||||
|
|
||||||
|
/uuid@9.0.1:
|
||||||
|
resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
|
||||||
|
hasBin: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
/vary@1.1.2:
|
/vary@1.1.2:
|
||||||
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
|
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
|
BIN
src/assets/fonts/uncut-sans-bold-italic.woff
Normal file
BIN
src/assets/fonts/uncut-sans-bold-italic.woff2
Normal file
BIN
src/assets/fonts/uncut-sans-bold.woff
Normal file
BIN
src/assets/fonts/uncut-sans-bold.woff2
Normal file
3
src/assets/images/arrow-right-white.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="white">
|
||||||
|
<polygon points="11.293 4.707 17.586 11 4 11 4 13 17.586 13 11.293 19.293 12.707 20.707 21.414 12 12.707 3.293 11.293 4.707"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 233 B |
3
src/assets/images/arrow-right.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<polygon points="11.293 4.707 17.586 11 4 11 4 13 17.586 13 11.293 19.293 12.707 20.707 21.414 12 12.707 3.293 11.293 4.707"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 220 B |
3
src/assets/images/check.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg fill="#10b981" viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M10.28 2.28L3.989 8.575 1.695 6.28A1 1 0 00.28 7.695l3 3a1 1 0 001.414 0l7-7A1 1 0 0010.28 2.28z"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 281 B |
1
src/assets/images/cta-illustration.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg width="582" height="662" xmlns="http://www.w3.org/2000/svg"><defs><filter x="-37.5%" y="-37.5%" width="175%" height="175%" filterUnits="objectBoundingBox" id="b"><feGaussianBlur stdDeviation="50" in="SourceGraphic"/></filter><filter x="-37.5%" y="-37.5%" width="175%" height="175%" filterUnits="objectBoundingBox" id="c"><feGaussianBlur stdDeviation="50" in="SourceGraphic"/></filter><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="a"><stop stop-color="#60A5FA" stop-opacity="0" offset="0%"/><stop stop-color="#F656AA" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><circle fill-opacity="1" fill="url(#a)" filter="url(#b)" cx="314" cy="278" r="200"/><circle fill-opacity=".2" fill="#111827" filter="url(#c)" cx="518" cy="345" r="200"/></g></svg>
|
After Width: | Height: | Size: 785 B |
3
src/assets/images/discord.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="24" height="18" xmlns="http://www.w3.org/2000/svg" fill="#3b82f6">
|
||||||
|
<path d="M20.317 1.492c-1.53-.69-3.17-1.2-4.885-1.49a.075.075 0 0 0-.079.036c-.21.369-.444.85-.608 1.23a18.565 18.565 0 0 0-5.487 0C9.095.88 8.852.406 8.641.037A.077.077 0 0 0 8.562 0c-1.714.29-3.354.8-4.885 1.491a.07.07 0 0 0-.032.027C.533 6.093-.32 10.555.099 14.961a.08.08 0 0 0 .031.055 20.03 20.03 0 0 0 5.993 2.98.078.078 0 0 0 .084-.026c.462-.62.874-1.275 1.226-1.963.021-.04.001-.088-.041-.104a13.202 13.202 0 0 1-1.872-.878.075.075 0 0 1-.008-.125c.126-.093.252-.19.372-.287a.075.075 0 0 1 .078-.01c3.927 1.764 8.18 1.764 12.061 0a.075.075 0 0 1 .078.009c.12.097.246.195.373.288a.075.075 0 0 1-.006.125c-.598.344-1.22.635-1.873.877a.075.075 0 0 0-.041.105c.36.687.772 1.341 1.225 1.962a.077.077 0 0 0 .084.028 19.964 19.964 0 0 0 6.002-2.981.076.076 0 0 0 .032-.054c.5-5.094-.839-9.52-3.549-13.442a.06.06 0 0 0-.031-.028ZM8.02 12.278c-1.183 0-2.157-1.068-2.157-2.38 0-1.312.956-2.38 2.157-2.38 1.21 0 2.176 1.077 2.157 2.38 0 1.312-.956 2.38-2.157 2.38Zm7.975 0c-1.183 0-2.157-1.068-2.157-2.38 0-1.312.955-2.38 2.157-2.38 1.21 0 2.176 1.077 2.157 2.38 0 1.312-.946 2.38-2.157 2.38Z" fill-rule="nonzero"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
4
src/assets/images/docs.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg fill="#3b82f6" width="23" height="23" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M4.924 19h6.927l5.128 1.386 3.399-12.548L16 6.654V4.582l5.859 1.586a1 1 0 0 1 .704 1.226l-3.913 14.48a1 1 0 0 1-1.226.705l-12.55-3.393.05-.186Z" fill-rule="nonzero" fill-opacity=".64"></path>
|
||||||
|
<rect width="14" height="17" rx="1"></rect>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 458 B |
BIN
src/assets/images/features-02.png
Normal file
After Width: | Height: | Size: 51 KiB |
1
src/assets/images/features-illustration.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg width="608" height="535" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="a"><stop stop-color="#60A5FA" stop-opacity="0" offset="0%"/><stop stop-color="#F472B6" offset="100%"/></linearGradient><filter x="-37.5%" y="-37.5%" width="175%" height="175%" filterUnits="objectBoundingBox" id="b"><feGaussianBlur stdDeviation="50" in="SourceGraphic"/></filter></defs><circle filter="url(#b)" cx="304" cy="223" r="200" fill="url(#a)" fill-rule="evenodd" fill-opacity=".32"/></svg>
|
After Width: | Height: | Size: 524 B |
206
src/assets/images/features.svg
Normal file
@@ -0,0 +1,206 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="1124px" height="484px" viewBox="0 0 1124 484" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<!-- Generator: Sketch 52.6 (67491) - http://www.bohemiancoding.com/sketch -->
|
||||||
|
<title>Illustration</title>
|
||||||
|
<desc>Created with Sketch.</desc>
|
||||||
|
<defs>
|
||||||
|
<filter x="-100.9%" y="-100.0%" width="301.7%" height="300.0%" filterUnits="objectBoundingBox" id="filter-1">
|
||||||
|
<feGaussianBlur stdDeviation="4 0" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<filter x="-100.9%" y="-100.0%" width="301.7%" height="300.0%" filterUnits="objectBoundingBox" id="filter-2">
|
||||||
|
<feGaussianBlur stdDeviation="4 0" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<filter x="-100.9%" y="-100.0%" width="301.7%" height="300.0%" filterUnits="objectBoundingBox" id="filter-3">
|
||||||
|
<feGaussianBlur stdDeviation="4 0" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<filter x="-100.9%" y="-100.0%" width="301.7%" height="300.0%" filterUnits="objectBoundingBox" id="filter-4">
|
||||||
|
<feGaussianBlur stdDeviation="4 0" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<linearGradient x1="0%" y1="100%" x2="107.798258%" y2="12.8367337%" id="linearGradient-5">
|
||||||
|
<stop stop-color="#3B82F6" stop-opacity="0.64" offset="0%"></stop>
|
||||||
|
<stop stop-color="#F9FAFB" stop-opacity="0" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<filter x="-234.4%" y="-15000.0%" width="568.8%" height="30100.0%" filterUnits="objectBoundingBox" id="filter-6">
|
||||||
|
<feGaussianBlur stdDeviation="50 0" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<filter x="-100.9%" y="-100.0%" width="301.7%" height="300.0%" filterUnits="objectBoundingBox" id="filter-7">
|
||||||
|
<feGaussianBlur stdDeviation="4 0" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<filter x="-100.9%" y="-100.0%" width="301.7%" height="300.0%" filterUnits="objectBoundingBox" id="filter-8">
|
||||||
|
<feGaussianBlur stdDeviation="4 0" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<filter x="-100.9%" y="-100.0%" width="301.7%" height="300.0%" filterUnits="objectBoundingBox" id="filter-9">
|
||||||
|
<feGaussianBlur stdDeviation="4 0" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<filter x="-100.9%" y="-100.0%" width="301.7%" height="300.0%" filterUnits="objectBoundingBox" id="filter-10">
|
||||||
|
<feGaussianBlur stdDeviation="4 0" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<filter x="-234.4%" y="-15000.0%" width="568.8%" height="30100.0%" filterUnits="objectBoundingBox" id="filter-11">
|
||||||
|
<feGaussianBlur stdDeviation="50 0" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<linearGradient x1="2.85392761%" y1="100%" x2="95.7528432%" y2="3.20075989%" id="linearGradient-12">
|
||||||
|
<stop stop-color="#EC4899" offset="0%"></stop>
|
||||||
|
<stop stop-color="#3B82F6" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<filter x="-62.5%" y="-62.5%" width="225.0%" height="225.0%" filterUnits="objectBoundingBox" id="filter-13">
|
||||||
|
<feGaussianBlur stdDeviation="50" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-14">
|
||||||
|
<stop stop-color="#4B5563" offset="0%"></stop>
|
||||||
|
<stop stop-color="#4B5563" stop-opacity="0" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-15">
|
||||||
|
<stop stop-color="#4B5563" stop-opacity="0.64" offset="0%"></stop>
|
||||||
|
<stop stop-color="#4B5563" stop-opacity="0" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="100%" x2="50%" y2="6.16297582e-31%" id="linearGradient-16">
|
||||||
|
<stop stop-color="#4B5563" offset="0%"></stop>
|
||||||
|
<stop stop-color="#4B5563" stop-opacity="0" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="100%" x2="50%" y2="6.16297582e-31%" id="linearGradient-17">
|
||||||
|
<stop stop-color="#4B5563" stop-opacity="0.64" offset="0%"></stop>
|
||||||
|
<stop stop-color="#4B5563" stop-opacity="0" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-18">
|
||||||
|
<stop stop-color="#3B82F6" stop-opacity="0" offset="0%"></stop>
|
||||||
|
<stop stop-color="#3B82F6" offset="55.8746338%"></stop>
|
||||||
|
<stop stop-color="#3B82F6" stop-opacity="0" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="45.1617959%" y1="1.33287123%" x2="45.1617959%" y2="100%" id="linearGradient-19">
|
||||||
|
<stop stop-color="#111827" stop-opacity="0.64" offset="0%"></stop>
|
||||||
|
<stop stop-color="#111827" stop-opacity="0" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<filter x="-30.4%" y="-30.4%" width="160.7%" height="160.7%" filterUnits="objectBoundingBox" id="filter-20">
|
||||||
|
<feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||||
|
<feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||||
|
<feColorMatrix values="0 0 0 0 0.231372549 0 0 0 0 0.509803922 0 0 0 0 0.964705882 0 0 0 0.48 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
|
||||||
|
<feMergeNode in="SourceGraphic"></feMergeNode>
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<filter x="-100.9%" y="-100.0%" width="301.7%" height="300.0%" filterUnits="objectBoundingBox" id="filter-21">
|
||||||
|
<feGaussianBlur stdDeviation="4 0" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<filter x="-100.9%" y="-100.0%" width="301.7%" height="300.0%" filterUnits="objectBoundingBox" id="filter-22">
|
||||||
|
<feGaussianBlur stdDeviation="4 0" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<filter x="-117.2%" y="-117.2%" width="334.4%" height="334.4%" filterUnits="objectBoundingBox" id="filter-23">
|
||||||
|
<feGaussianBlur stdDeviation="50" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<linearGradient x1="50%" y1="100%" x2="50%" y2="6.16297582e-31%" id="linearGradient-24">
|
||||||
|
<stop stop-color="#3B82F6" stop-opacity="0" offset="0%"></stop>
|
||||||
|
<stop stop-color="#3B82F6" offset="55.8746338%"></stop>
|
||||||
|
<stop stop-color="#3B82F6" stop-opacity="0" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<filter x="-56.7%" y="-56.7%" width="213.3%" height="213.3%" filterUnits="objectBoundingBox" id="filter-25">
|
||||||
|
<feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||||
|
<feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||||
|
<feColorMatrix values="0 0 0 0 0.231372549 0 0 0 0 0.509803922 0 0 0 0 0.964705882 0 0 0 0.48 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
|
||||||
|
<feMergeNode in="SourceGraphic"></feMergeNode>
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<filter x="-117.2%" y="-117.2%" width="334.4%" height="334.4%" filterUnits="objectBoundingBox" id="filter-26">
|
||||||
|
<feGaussianBlur stdDeviation="50" in="SourceGraphic"></feGaussianBlur>
|
||||||
|
</filter>
|
||||||
|
<filter x="-50.0%" y="-50.0%" width="200.0%" height="200.0%" filterUnits="objectBoundingBox" id="filter-27">
|
||||||
|
<feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||||
|
<feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||||
|
<feColorMatrix values="0 0 0 0 0.231372549 0 0 0 0 0.509803922 0 0 0 0 0.964705882 0 0 0 0.48 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
|
||||||
|
<feMergeNode in="SourceGraphic"></feMergeNode>
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g id="1---Pages" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="1.-Front" transform="translate(-158.000000, -942.000000)">
|
||||||
|
<g id="Illustration/Icons" transform="translate(158.000000, 814.000000)">
|
||||||
|
<g id="Illustration" transform="translate(0.000000, 128.000000)">
|
||||||
|
<g id="Bg" transform="translate(10.000000, 10.000000)">
|
||||||
|
<g id="Group-9" transform="translate(760.103448, 194.000000)">
|
||||||
|
<g id="Group-7" fill="#BFDBFE" fill-rule="nonzero">
|
||||||
|
<path d="M31.7068966,38.8 C29.7392069,38.8 28.137931,37.1848 28.137931,35.2 C28.137931,34.5376 27.6061552,34 26.9482759,34 C26.2903966,34 25.7586207,34.5376 25.7586207,35.2 C25.7586207,37.1848 24.1573448,38.8 22.1896552,38.8 C21.5317759,38.8 21,39.3376 21,40 C21,40.6624 21.5317759,41.2 22.1896552,41.2 C24.1573448,41.2 25.7586207,42.8152 25.7586207,44.8 C25.7586207,45.4624 26.2903966,46 26.9482759,46 C27.6061552,46 28.137931,45.4624 28.137931,44.8 C28.137931,42.8152 29.7392069,41.2 31.7068966,41.2 C32.3647759,41.2 32.8965517,40.6624 32.8965517,40 C32.8965517,39.3376 32.3647759,38.8 31.7068966,38.8 Z" id="Path" style="mix-blend-mode: overlay;" filter="url(#filter-1)"></path>
|
||||||
|
<path d="M73.7068966,69.8 C71.7392069,69.8 70.137931,68.1848 70.137931,66.2 C70.137931,65.5376 69.6061552,65 68.9482759,65 C68.2903966,65 67.7586207,65.5376 67.7586207,66.2 C67.7586207,68.1848 66.1573448,69.8 64.1896552,69.8 C63.5317759,69.8 63,70.3376 63,71 C63,71.6624 63.5317759,72.2 64.1896552,72.2 C66.1573448,72.2 67.7586207,73.8152 67.7586207,75.8 C67.7586207,76.4624 68.2903966,77 68.9482759,77 C69.6061552,77 70.137931,76.4624 70.137931,75.8 C70.137931,73.8152 71.7392069,72.2 73.7068966,72.2 C74.3647759,72.2 74.8965517,71.6624 74.8965517,71 C74.8965517,70.3376 74.3647759,69.8 73.7068966,69.8 Z" id="Path" fill-opacity="0.48" style="mix-blend-mode: overlay;" filter="url(#filter-2)"></path>
|
||||||
|
<path d="M10.7068966,4.8 C8.7392069,4.8 7.13793103,3.1848 7.13793103,1.2 C7.13793103,0.5376 6.60615517,0 5.94827586,0 C5.29039655,0 4.75862069,0.5376 4.75862069,1.2 C4.75862069,3.1848 3.15734483,4.8 1.18965517,4.8 C0.531775862,4.8 0,5.3376 0,6 C0,6.6624 0.531775862,7.2 1.18965517,7.2 C3.15734483,7.2 4.75862069,8.8152 4.75862069,10.8 C4.75862069,11.4624 5.29039655,12 5.94827586,12 C6.60615517,12 7.13793103,11.4624 7.13793103,10.8 C7.13793103,8.8152 8.7392069,7.2 10.7068966,7.2 C11.3647759,7.2 11.8965517,6.6624 11.8965517,6 C11.8965517,5.3376 11.3647759,4.8 10.7068966,4.8 Z" id="Path" fill-opacity="0.24" style="mix-blend-mode: overlay;" filter="url(#filter-3)"></path>
|
||||||
|
<path d="M85.7068966,4.8 C83.7392069,4.8 82.137931,3.1848 82.137931,1.2 C82.137931,0.5376 81.6061552,0 80.9482759,0 C80.2903966,0 79.7586207,0.5376 79.7586207,1.2 C79.7586207,3.1848 78.1573448,4.8 76.1896552,4.8 C75.5317759,4.8 75,5.3376 75,6 C75,6.6624 75.5317759,7.2 76.1896552,7.2 C78.1573448,7.2 79.7586207,8.8152 79.7586207,10.8 C79.7586207,11.4624 80.2903966,12 80.9482759,12 C81.6061552,12 82.137931,11.4624 82.137931,10.8 C82.137931,8.8152 83.7392069,7.2 85.7068966,7.2 C86.3647759,7.2 86.8965517,6.6624 86.8965517,6 C86.8965517,5.3376 86.3647759,4.8 85.7068966,4.8 Z" id="Path" opacity="0.64" style="mix-blend-mode: overlay;" filter="url(#filter-4)"></path>
|
||||||
|
</g>
|
||||||
|
<path d="M31.8965517,40 L95.8965517,40" id="Path-6" stroke="url(#linearGradient-5)" filter="url(#filter-6)"></path>
|
||||||
|
</g>
|
||||||
|
<g id="Group-9" transform="translate(252.103448, 194.000000)">
|
||||||
|
<g id="Group-7" fill="#BFDBFE" fill-rule="nonzero">
|
||||||
|
<path d="M31.7068966,38.8 C29.7392069,38.8 28.137931,37.1848 28.137931,35.2 C28.137931,34.5376 27.6061552,34 26.9482759,34 C26.2903966,34 25.7586207,34.5376 25.7586207,35.2 C25.7586207,37.1848 24.1573448,38.8 22.1896552,38.8 C21.5317759,38.8 21,39.3376 21,40 C21,40.6624 21.5317759,41.2 22.1896552,41.2 C24.1573448,41.2 25.7586207,42.8152 25.7586207,44.8 C25.7586207,45.4624 26.2903966,46 26.9482759,46 C27.6061552,46 28.137931,45.4624 28.137931,44.8 C28.137931,42.8152 29.7392069,41.2 31.7068966,41.2 C32.3647759,41.2 32.8965517,40.6624 32.8965517,40 C32.8965517,39.3376 32.3647759,38.8 31.7068966,38.8 Z" id="Path" style="mix-blend-mode: overlay;" filter="url(#filter-7)"></path>
|
||||||
|
<path d="M73.7068966,69.8 C71.7392069,69.8 70.137931,68.1848 70.137931,66.2 C70.137931,65.5376 69.6061552,65 68.9482759,65 C68.2903966,65 67.7586207,65.5376 67.7586207,66.2 C67.7586207,68.1848 66.1573448,69.8 64.1896552,69.8 C63.5317759,69.8 63,70.3376 63,71 C63,71.6624 63.5317759,72.2 64.1896552,72.2 C66.1573448,72.2 67.7586207,73.8152 67.7586207,75.8 C67.7586207,76.4624 68.2903966,77 68.9482759,77 C69.6061552,77 70.137931,76.4624 70.137931,75.8 C70.137931,73.8152 71.7392069,72.2 73.7068966,72.2 C74.3647759,72.2 74.8965517,71.6624 74.8965517,71 C74.8965517,70.3376 74.3647759,69.8 73.7068966,69.8 Z" id="Path" fill-opacity="0.48" style="mix-blend-mode: overlay;" filter="url(#filter-8)"></path>
|
||||||
|
<path d="M10.7068966,4.8 C8.7392069,4.8 7.13793103,3.1848 7.13793103,1.2 C7.13793103,0.5376 6.60615517,0 5.94827586,0 C5.29039655,0 4.75862069,0.5376 4.75862069,1.2 C4.75862069,3.1848 3.15734483,4.8 1.18965517,4.8 C0.531775862,4.8 0,5.3376 0,6 C0,6.6624 0.531775862,7.2 1.18965517,7.2 C3.15734483,7.2 4.75862069,8.8152 4.75862069,10.8 C4.75862069,11.4624 5.29039655,12 5.94827586,12 C6.60615517,12 7.13793103,11.4624 7.13793103,10.8 C7.13793103,8.8152 8.7392069,7.2 10.7068966,7.2 C11.3647759,7.2 11.8965517,6.6624 11.8965517,6 C11.8965517,5.3376 11.3647759,4.8 10.7068966,4.8 Z" id="Path" fill-opacity="0.24" style="mix-blend-mode: overlay;" filter="url(#filter-9)"></path>
|
||||||
|
<path d="M85.7068966,4.8 C83.7392069,4.8 82.137931,3.1848 82.137931,1.2 C82.137931,0.5376 81.6061552,0 80.9482759,0 C80.2903966,0 79.7586207,0.5376 79.7586207,1.2 C79.7586207,3.1848 78.1573448,4.8 76.1896552,4.8 C75.5317759,4.8 75,5.3376 75,6 C75,6.6624 75.5317759,7.2 76.1896552,7.2 C78.1573448,7.2 79.7586207,8.8152 79.7586207,10.8 C79.7586207,11.4624 80.2903966,12 80.9482759,12 C81.6061552,12 82.137931,11.4624 82.137931,10.8 C82.137931,8.8152 83.7392069,7.2 85.7068966,7.2 C86.3647759,7.2 86.8965517,6.6624 86.8965517,6 C86.8965517,5.3376 86.3647759,4.8 85.7068966,4.8 Z" id="Path" opacity="0.64" style="mix-blend-mode: overlay;" filter="url(#filter-10)"></path>
|
||||||
|
</g>
|
||||||
|
<path d="M18.8965517,40 L82.8965517,40" id="Path-6" stroke="url(#linearGradient-5)" filter="url(#filter-11)"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Main-Circle" transform="translate(378.000000, 58.000000)">
|
||||||
|
<g id="Back">
|
||||||
|
<rect id="Mask" fill="url(#linearGradient-12)" filter="url(#filter-13)" x="64" y="64" width="240" height="240" rx="120"></rect>
|
||||||
|
<rect id="Mask" stroke="url(#linearGradient-14)" x="48.5" y="48.5" width="271" height="271" rx="135.5"></rect>
|
||||||
|
<rect id="Mask" stroke="url(#linearGradient-15)" x="16.5" y="16.5" width="335" height="335" rx="167.5"></rect>
|
||||||
|
<rect id="Mask" stroke="url(#linearGradient-16)" x="32.5" y="32.5" width="303" height="303" rx="151.5"></rect>
|
||||||
|
<rect id="Mask" stroke="url(#linearGradient-17)" x="0.5" y="0.5" width="367" height="367" rx="183.5"></rect>
|
||||||
|
</g>
|
||||||
|
<g id="Front" transform="translate(64.000000, 64.000000)">
|
||||||
|
<rect id="Mask" stroke="url(#linearGradient-18)" stroke-width="2" fill="#1F2937" x="1" y="1" width="238" height="238" rx="119"></rect>
|
||||||
|
<rect id="Mask" fill="url(#linearGradient-19)" x="52" y="52" width="136" height="136" rx="68"></rect>
|
||||||
|
<g id="Icon" filter="url(#filter-20)" transform="translate(92.000000, 92.000000)" stroke="#3B82F6" stroke-width="2">
|
||||||
|
<path d="M34,50 L44,50" id="Path"></path>
|
||||||
|
<path d="M12,28 L22,28" id="Path"></path>
|
||||||
|
<path d="M28,34 L28,44" id="Path"></path>
|
||||||
|
<circle id="Oval" stroke-linecap="square" cx="6" cy="6" r="6"></circle>
|
||||||
|
<circle id="Oval" stroke-linecap="square" cx="6" cy="28" r="6"></circle>
|
||||||
|
<circle id="Oval" stroke-linecap="square" cx="28" cy="28" r="6"></circle>
|
||||||
|
<circle id="Oval" stroke-linecap="square" cx="28" cy="50" r="6"></circle>
|
||||||
|
<circle id="Oval" stroke-linecap="square" cx="50" cy="50" r="6"></circle>
|
||||||
|
<path d="M6,12 L6,22" id="Path"></path>
|
||||||
|
<circle id="Oval" stroke-linecap="square" cx="28" cy="6" r="6"></circle>
|
||||||
|
<circle id="Oval" stroke-linecap="square" cx="50" cy="6" r="6"></circle>
|
||||||
|
<circle id="Oval" stroke-linecap="square" cx="50" cy="28" r="6"></circle>
|
||||||
|
<circle id="Oval" stroke-linecap="square" cx="6" cy="50" r="6"></circle>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Front" transform="translate(390.000000, 64.000000)"></g>
|
||||||
|
<g id="Stars" transform="translate(116.971774, 54.999683)" fill="#BFDBFE" fill-rule="nonzero">
|
||||||
|
<g id="1" transform="translate(107.976502, 275.000317) rotate(-18.000000) translate(-107.976502, -275.000317) translate(102.028226, 269.000317)">
|
||||||
|
<path d="M10.7068966,4.8 C8.7392069,4.8 7.13793103,3.1848 7.13793103,1.2 C7.13793103,0.5376 6.60615517,0 5.94827586,0 C5.29039655,0 4.75862069,0.5376 4.75862069,1.2 C4.75862069,3.1848 3.15734483,4.8 1.18965517,4.8 C0.531775862,4.8 0,5.3376 0,6 C0,6.6624 0.531775862,7.2 1.18965517,7.2 C3.15734483,7.2 4.75862069,8.8152 4.75862069,10.8 C4.75862069,11.4624 5.29039655,12 5.94827586,12 C6.60615517,12 7.13793103,11.4624 7.13793103,10.8 C7.13793103,8.8152 8.7392069,7.2 10.7068966,7.2 C11.3647759,7.2 11.8965517,6.6624 11.8965517,6 C11.8965517,5.3376 11.3647759,4.8 10.7068966,4.8 Z" id="Path" filter="url(#filter-21)"></path>
|
||||||
|
</g>
|
||||||
|
<g id="2" transform="translate(7.976502, 8.000317) rotate(-26.000000) translate(-7.976502, -8.000317) translate(2.028226, 2.000317)">
|
||||||
|
<path d="M10.7068966,4.8 C8.7392069,4.8 7.13793103,3.1848 7.13793103,1.2 C7.13793103,0.5376 6.60615517,1.70530257e-13 5.94827586,1.70530257e-13 C5.29039655,1.70530257e-13 4.75862069,0.5376 4.75862069,1.2 C4.75862069,3.1848 3.15734483,4.8 1.18965517,4.8 C0.531775862,4.8 -4.54747351e-13,5.3376 -4.54747351e-13,6 C-4.54747351e-13,6.6624 0.531775862,7.2 1.18965517,7.2 C3.15734483,7.2 4.75862069,8.8152 4.75862069,10.8 C4.75862069,11.4624 5.29039655,12 5.94827586,12 C6.60615517,12 7.13793103,11.4624 7.13793103,10.8 C7.13793103,8.8152 8.7392069,7.2 10.7068966,7.2 C11.3647759,7.2 11.8965517,6.6624 11.8965517,6 C11.8965517,5.3376 11.3647759,4.8 10.7068966,4.8 Z" id="Path" filter="url(#filter-22)"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Circles" transform="translate(112.000000, 180.000000)">
|
||||||
|
<g id="Group" transform="translate(772.000000, 0.000000)">
|
||||||
|
<rect id="Mask" fill-opacity="0.48" fill="url(#linearGradient-12)" filter="url(#filter-23)" x="0" y="0" width="128" height="128" rx="64"></rect>
|
||||||
|
<rect id="Mask" stroke="url(#linearGradient-24)" stroke-width="2" fill="#1F2937" x="1" y="1" width="126" height="126" rx="63"></rect>
|
||||||
|
<rect id="Mask" fill="url(#linearGradient-19)" x="24" y="24" width="80" height="80" rx="40"></rect>
|
||||||
|
<g id="transactions" filter="url(#filter-25)" transform="translate(49.000000, 49.000000)" stroke="#3B82F6" stroke-linecap="square" stroke-width="2">
|
||||||
|
<ellipse id="Oval" cx="15" cy="3" rx="3.06309986" ry="3"></ellipse>
|
||||||
|
<ellipse id="Oval" cx="3.06309986" cy="23.25" rx="3.06309986" ry="3"></ellipse>
|
||||||
|
<ellipse id="Oval" cx="26.9369001" cy="23.25" rx="3.06309986" ry="3"></ellipse>
|
||||||
|
<path d="M8.10904635,4.829 C2.53036157,7.97886737 -0.0746835712,14.4945874 1.83683888,20.517" id="Path"></path>
|
||||||
|
<path d="M25.1184399,25.645 C20.7633883,30.2927892 13.6949081,31.3507443 8.12129875,28.189" id="Path"></path>
|
||||||
|
<path d="M28.7839494,16.5 C28.7805368,10.1896096 24.3140775,4.72341546 18.0283847,3.337" id="Path"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Group">
|
||||||
|
<rect id="Mask" fill-opacity="0.48" fill="url(#linearGradient-12)" filter="url(#filter-26)" x="0" y="0" width="128" height="128" rx="64"></rect>
|
||||||
|
<rect id="Mask" stroke="url(#linearGradient-24)" stroke-width="2" fill="#1F2937" x="1" y="1" width="126" height="126" rx="63"></rect>
|
||||||
|
<rect id="Mask" fill="url(#linearGradient-19)" x="24" y="24" width="80" height="80" rx="40"></rect>
|
||||||
|
<g id="Path-2" filter="url(#filter-27)" transform="translate(48.000000, 48.000000)" fill="#3B82F6">
|
||||||
|
<path d="M16,0 C7.2,0 0,7.38096604 0,16.4021467 C0,23.6805994 4.6,29.8314044 10.9,31.9841862 C11.7,32.0866996 12,31.6766459 12,31.1640788 C12,30.7540252 12,29.728891 12,28.3962166 C7.5,29.4213507 6.6,26.2434348 6.6,26.2434348 C5.9,24.3981933 4.8,23.8856262 4.8,23.8856262 C3.3,22.860492 4.9,22.860492 4.9,22.860492 C6.5,22.9630054 7.4,24.5007067 7.4,24.5007067 C8.8,26.9610287 11.1,26.2434348 12.1,25.8333811 C12.2,24.808247 12.7,24.090653 13.1,23.6805994 C9.5,23.2705457 5.8,21.8353579 5.8,15.5820394 C5.8,13.8393113 6.4,12.3016101 7.4,11.1739625 C7.2,10.7639088 6.7,9.12369413 7.6,6.86839895 C7.6,6.86839895 8.9,6.45834528 12,8.50861363 C13.3,8.09855996 14.6,7.99604654 16,7.99604654 C17.4,7.99604654 18.7,8.20107337 20,8.50861363 C23.1,6.35583186 24.4,6.76588553 24.4,6.76588553 C25.3,9.02118071 24.7,10.6613954 24.6,11.0714491 C25.6,12.1990966 26.2,13.6342845 26.2,15.479526 C26.2,21.7328444 22.5,23.1680323 18.9,23.5780859 C19.5,24.090653 20,25.1157872 20,26.6534885 C20,28.8062702 20,30.6515117 20,31.1640788 C20,31.5741325 20.3,32.0866996 21.1,31.9841862 C27.4,29.8314044 32,23.6805994 32,16.4021467 C32,7.38096604 24.8,0 16,0 Z" id="Path"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 23 KiB |
3
src/assets/images/fire.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="12" height="14" xmlns="http://www.w3.org/2000/svg" fill="#059669">
|
||||||
|
<path d="M5.315.068a.5.5 0 0 0-.745.347A7.31 7.31 0 0 1 3.182 3.6a7.924 7.924 0 0 1-.8.83A6.081 6.081 0 0 0 0 9.035a5.642 5.642 0 0 0 2.865 4.9.5.5 0 0 0 .746-.4 2.267 2.267 0 0 1 .912-1.67 4.067 4.067 0 0 0 1.316-1.4 4.662 4.662 0 0 1 1.819 3.1.5.5 0 0 0 .742.371c1.767-.999 2.86-2.87 2.865-4.9-.001-3.589-2.058-6.688-5.95-8.968Z"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 509 B |
3
src/assets/images/github.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg fill="#3b82f6" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M12 0C5.4 0 0 5.4 0 12c0 5.3 3.4 9.8 8.2 11.4.6.1.8-.3.8-.6v-2c-3.3.7-4-1.6-4-1.6-.5-1.4-1.3-1.8-1.3-1.8-1.2-.7 0-.7 0-.7 1.2.1 1.8 1.2 1.8 1.2 1.1 1.8 2.8 1.3 3.5 1 .1-.8.4-1.3.8-1.6-2.7-.3-5.5-1.3-5.5-5.9 0-1.3.5-2.4 1.2-3.2 0-.4-.5-1.6.2-3.2 0 0 1-.3 3.3 1.2 1-.3 2-.4 3-.4s2 .1 3 .4C17.3 4.6 18.3 5 18.3 5c.7 1.7.2 2.9.1 3.2.8.8 1.2 1.9 1.2 3.2 0 4.6-2.8 5.6-5.5 5.9.4.4.8 1.1.8 2.2v3.3c0 .3.2.7.8.6 4.8-1.6 8.2-6.1 8.2-11.4C24 5.4 18.6 0 12 0Z" fill-rule="nonzero"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 656 B |
1
src/assets/images/hero-illustration.svg
Normal file
After Width: | Height: | Size: 90 KiB |
16
src/assets/images/icon-brackets.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg width="56" height="56" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<defs>
|
||||||
|
<radialGradient cx="50%" cy="89.845%" fx="50%" fy="89.845%" r="89.85%" id="icon2-b">
|
||||||
|
<stop stop-color="#3B82F6" stop-opacity=".64" offset="0%"></stop>
|
||||||
|
<stop stop-color="#F472B6" stop-opacity=".876" offset="100%"></stop>
|
||||||
|
</radialGradient>
|
||||||
|
<circle id="icon2-a" cx="28" cy="28" r="28"></circle>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<use fill="url(#icon2-b)" xlink:href="#icon2-a"></use>
|
||||||
|
<g stroke="#FDF2F8" stroke-linecap="square" stroke-width="2">
|
||||||
|
<path d="m22 24-4 4 4 4M34 24l4 4-4 4"></path>
|
||||||
|
<path d="m26 36 4-16" opacity=".64"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
16
src/assets/images/icon-check-list.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg width="56" height="56" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<defs>
|
||||||
|
<radialGradient cx="50%" cy="89.845%" fx="50%" fy="89.845%" r="89.85%" id="icon3-b">
|
||||||
|
<stop stop-color="#3B82F6" stop-opacity=".64" offset="0%"></stop>
|
||||||
|
<stop stop-color="#F472B6" stop-opacity=".876" offset="100%"></stop>
|
||||||
|
</radialGradient>
|
||||||
|
<circle id="icon3-a" cx="28" cy="28" r="28"></circle>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<use fill="url(#icon3-b)" xlink:href="#icon3-a"></use>
|
||||||
|
<g stroke="#FDF2F8" stroke-linecap="square" stroke-width="2">
|
||||||
|
<path d="m18 31 4 4 12-15"></path>
|
||||||
|
<path d="M39 25h-3M39 30h-7M39 35H28" opacity=".64"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
3
src/assets/images/icon-designers.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg" fill="#9ca3af">
|
||||||
|
<path d="M6 0a6 6 0 1 0 0 12A6 6 0 0 0 6 0Zm0 9a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z" fill-rule="nonzero"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 188 B |
3
src/assets/images/icon-developers.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg" fill="#9ca3af">
|
||||||
|
<path d="M1.999 9.012a.999.999 0 0 1-.706-1.707l3.496-3.5a.998.998 0 0 1 1.413 0l2.29 2.293 2.79-2.793a.998.998 0 1 1 1.413 1.414l-3.496 3.5a.998.998 0 0 1-1.413 0l-2.29-2.293-2.79 2.793a.998.998 0 0 1-.707.293Z" fill-rule="nonzero"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 323 B |
3
src/assets/images/icon-founders.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg" fill="#9ca3af">
|
||||||
|
<path d="M12.334 8.06a.5.5 0 0 0-.421-.237 6.023 6.023 0 0 1-5.905-6c0-.41.042-.82.125-1.221a.5.5 0 0 0-.614-.586 6 6 0 1 0 6.832 8.529.5.5 0 0 0-.017-.485Z" fill-rule="nonzero"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 268 B |
3
src/assets/images/icon-marketers.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg" fill="#9ca3af">
|
||||||
|
<path d="M11.953 4.29a.5.5 0 0 0-.454-.292H6.14L6.984.62A.5.5 0 0 0 6.12.173l-6 7a.5.5 0 0 0 .379.825h5.359l-.844 3.38a.5.5 0 0 0 .864.445l6-7a.5.5 0 0 0 .075-.534Z" fill-rule="nonzero"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 276 B |
16
src/assets/images/icon-square.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg width="56" height="56" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<defs>
|
||||||
|
<radialGradient cx="50%" cy="89.845%" fx="50%" fy="89.845%" r="89.85%" id="icon1-b">
|
||||||
|
<stop stop-color="#3B82F6" stop-opacity=".64" offset="0%"></stop>
|
||||||
|
<stop stop-color="#F472B6" stop-opacity=".876" offset="100%"></stop>
|
||||||
|
</radialGradient>
|
||||||
|
<circle id="icon1-a" cx="28" cy="28" r="28"></circle>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<use fill="url(#icon1-b)" xlink:href="#icon1-a"></use>
|
||||||
|
<g stroke="#FDF2F8" stroke-linecap="square" stroke-width="2">
|
||||||
|
<path d="M17 28h22" opacity=".64"></path>
|
||||||
|
<path d="M20 23v-3h3M33 20h3v3M36 33v3h-3M23 36h-3v-3"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
20
src/assets/images/logo.svg
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_202_10)">
|
||||||
|
<path opacity="0.64" d="M75 18.75C125 61.9687 150 97.3875 150 125C150 166.419 116.419 200 75 200C33.5813 200 0 166.419 0 125C0 97.3875 25 61.9687 75 18.75Z" fill="url(#paint0_radial_202_10)"/>
|
||||||
|
<path opacity="0.961" d="M125 181.25C175 138.031 200 102.613 200 75C200 33.5813 166.419 0 125 0C83.5813 0 50 33.5813 50 75C50 102.613 75 138.031 125 181.25Z" fill="url(#paint1_radial_202_10)"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<radialGradient id="paint0_radial_202_10" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(16231.4 6540.55) rotate(90.6335) scale(13477.5 19677.4)">
|
||||||
|
<stop stop-color="#3B82F6" stop-opacity="0.64"/>
|
||||||
|
<stop offset="1" stop-color="#F472B6" stop-opacity="0.876"/>
|
||||||
|
</radialGradient>
|
||||||
|
<radialGradient id="paint1_radial_202_10" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(16212.2 -6363.03) rotate(-90.6335) scale(13477.5 19677.4)">
|
||||||
|
<stop stop-color="#3B82F6" stop-opacity="0.64"/>
|
||||||
|
<stop offset="0.50358" stop-color="#D375C2" stop-opacity="0.833"/>
|
||||||
|
<stop offset="1" stop-color="#FBCFE8" stop-opacity="0.876"/>
|
||||||
|
</radialGradient>
|
||||||
|
<clipPath id="clip0_202_10">
|
||||||
|
<rect width="200" height="200" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
1
src/assets/images/logos/alibaba.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg t="1716225886816" class="icon" viewBox="0 0 8140 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12123" width="200" height="200"><path d="M547.84 445.44h547.84v122.88H547.84z" fill="#8a8a8a" p-id="12124"></path><path d="M1367.04 0h-363.52l87.04 122.88L1356.8 204.8c51.2 15.36 81.92 61.44 81.92 107.52v394.24c0 51.2-30.72 92.16-81.92 107.52l-266.24 81.92-81.92 128h363.52c153.6 0 271.36-122.88 271.36-271.36V271.36c0-148.48-122.88-271.36-276.48-271.36zM281.6 819.2c-51.2-15.36-81.92-61.44-81.92-107.52V312.32c0-51.2 30.72-92.16 81.92-107.52l266.24-81.92L634.88 0H271.36C122.88 0 0 122.88 0 271.36v476.16c0 153.6 122.88 271.36 271.36 271.36h363.52l-87.04-122.88L281.6 819.2zM5913.6 40.96c-158.72 0-286.72 128-286.72 281.6V716.8c0 153.6 128 281.6 286.72 281.6 158.72 0 286.72-128 286.72-281.6v-5.12h-122.88v5.12c0 87.04-71.68 158.72-163.84 158.72-87.04 0-163.84-71.68-163.84-158.72V322.56c0-87.04 71.68-158.72 163.84-158.72 87.04 0 163.84 71.68 163.84 158.72v5.12h122.88v-5.12c0-153.6-128-281.6-286.72-281.6zM6717.44 291.84c-133.12 0-240.64 102.4-245.76 230.4V768c5.12 128 112.64 230.4 245.76 230.4 133.12 0 240.64-102.4 245.76-230.4v-240.64c-5.12-133.12-112.64-235.52-245.76-235.52z m122.88 460.8c0 66.56-56.32 122.88-122.88 122.88-66.56 0-122.88-51.2-122.88-122.88v-209.92c0-66.56 56.32-122.88 122.88-122.88 66.56 0 122.88 56.32 122.88 122.88v209.92zM6261.76 40.96h122.88v942.08h-122.88zM2851.84 291.84h122.88v686.08h-122.88zM2606.08 40.96h122.88v942.08h-122.88zM2293.76 40.96h-153.6l-250.88 942.08h122.88l66.56-250.88h271.36l66.56 245.76h122.88L2293.76 40.96z m-184.32 568.32l102.4-389.12 102.4 389.12h-204.8zM7424 762.88c0 66.56-56.32 122.88-122.88 122.88-66.56 0-122.88-56.32-122.88-122.88V291.84h-122.88v491.52c0 117.76 97.28 215.04 215.04 215.04 20.48 0 40.96-5.12 61.44-10.24 10.24-5.12 25.6-10.24 35.84-15.36 20.48-10.24 35.84-20.48 51.2-35.84l5.12-5.12v51.2h122.88V291.84H7424v471.04zM2851.84 40.96h122.88v122.88h-122.88zM3374.08 291.84c-56.32 0-107.52 20.48-148.48 61.44l-5.12 5.12V40.96h-122.88v942.08h122.88v-51.2l5.12 5.12c40.96 40.96 92.16 61.44 148.48 61.44 117.76 0 215.04-97.28 215.04-215.04V506.88c0-117.76-97.28-215.04-215.04-215.04z m92.16 471.04c0 66.56-56.32 122.88-122.88 122.88s-122.88-56.32-122.88-122.88v-235.52c0-66.56 56.32-122.88 122.88-122.88s122.88 56.32 122.88 122.88v235.52zM4531.2 291.84c-56.32 0-107.52 20.48-148.48 61.44l-10.24 5.12V40.96H4249.6v942.08h122.88v-51.2l5.12 5.12c40.96 40.96 92.16 61.44 148.48 61.44 117.76 0 215.04-97.28 215.04-215.04V506.88c0-117.76-97.28-215.04-209.92-215.04z m87.04 471.04c0 66.56-56.32 122.88-122.88 122.88-66.56 0-122.88-56.32-122.88-122.88v-235.52c0-66.56 56.32-122.88 122.88-122.88 66.56 0 122.88 56.32 122.88 122.88v235.52zM8002.56 40.96V358.4l-5.12-5.12c-40.96-40.96-92.16-61.44-148.48-61.44-117.76 0-215.04 97.28-215.04 215.04v276.48c0 117.76 97.28 209.92 215.04 209.92 56.32 0 107.52-20.48 148.48-61.44l5.12-5.12v51.2h122.88V40.96h-122.88z m0 721.92c0 66.56-56.32 122.88-122.88 122.88-66.56 0-122.88-56.32-122.88-122.88v-235.52c0-66.56 56.32-122.88 122.88-122.88 66.56 0 122.88 56.32 122.88 122.88v235.52zM4157.44 496.64c-5.12-35.84-20.48-71.68-40.96-102.4-46.08-61.44-112.64-97.28-184.32-102.4h-15.36c-56.32 0-112.64 20.48-158.72 56.32-46.08 35.84-71.68 87.04-87.04 143.36h122.88c10.24-56.32 61.44-97.28 117.76-97.28 30.72 0 61.44 10.24 87.04 35.84 20.48 20.48 35.84 51.2 35.84 81.92v56.32h-174.08c-117.76 0-215.04 97.28-215.04 215.04 0 97.28 66.56 184.32 158.72 204.8h5.12c5.12 0 10.24 0 10.24 5.12h51.2c30.72 0 56.32-5.12 76.8-10.24 30.72-10.24 61.44-25.6 87.04-51.2l5.12-5.12v51.2h122.88v-455.68c0-5.12 0-10.24-5.12-25.6z m-122.88 256c0 66.56-46.08 122.88-112.64 133.12-10.24 0-20.48 5.12-25.6 5.12-20.48 0-40.96-5.12-61.44-15.36-5.12-5.12-10.24-5.12-15.36-10.24-5.12-5.12-15.36-10.24-20.48-20.48-15.36-20.48-20.48-40.96-20.48-66.56 0-61.44 51.2-112.64 112.64-112.64h148.48v87.04zM5314.56 501.76c-5.12-35.84-20.48-71.68-40.96-102.4-46.08-61.44-112.64-97.28-184.32-102.4h-15.36c-56.32 0-112.64 20.48-158.72 56.32-46.08 35.84-71.68 87.04-87.04 143.36h122.88c10.24-56.32 61.44-97.28 117.76-97.28 30.72 0 61.44 10.24 87.04 35.84 20.48 20.48 35.84 51.2 35.84 81.92v56.32H5017.6c-117.76 0-215.04 97.28-215.04 215.04 0 97.28 66.56 184.32 158.72 204.8h5.12c5.12 0 10.24 0 10.24 5.12h51.2c30.72 0 56.32-5.12 76.8-10.24 30.72-10.24 61.44-25.6 87.04-51.2l5.12-5.12v51.2h122.88v-455.68c-5.12-10.24-5.12-15.36-5.12-25.6z m-122.88 250.88c0 66.56-46.08 122.88-112.64 133.12-10.24 0-20.48 5.12-25.6 5.12-20.48 0-40.96-5.12-61.44-15.36-5.12-5.12-10.24-5.12-15.36-10.24-5.12-5.12-15.36-10.24-20.48-20.48-15.36-20.48-20.48-40.96-20.48-66.56 0-61.44 51.2-112.64 112.64-112.64h148.48v87.04z" fill="#8a8a8a" p-id="12125"></path></svg>
|
After Width: | Height: | Size: 4.6 KiB |
1
src/assets/images/logos/baidu.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg t="1716226067508" class="icon" viewBox="0 0 3584 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17890" width="200" height="200"><path d="M190.836 656.29V465.456c0-37.237-18.618-72.146-51.2-90.764L9.31 297.89v463.127c0 11.637 6.982 23.273 16.291 27.927l400.29 232.728V870.4c0-37.236-18.617-72.145-51.2-90.764l-167.563-95.418c-9.309-6.982-16.29-16.29-16.29-27.927m514.327 27.927L537.6 781.964c-32.582 18.618-51.2 53.527-51.2 90.763V1024l400.29-232.727c9.31-4.655 16.292-16.291 16.292-27.928V297.891l-130.327 74.473c-32.582 18.618-51.2 53.527-51.2 90.763v190.837c0 13.963-6.982 23.272-16.291 30.254M646.982 109.382L479.418 11.636c-9.309-4.654-23.273-4.654-32.582 0L46.546 244.364l130.327 74.472c32.582 18.619 72.145 18.619 102.4 0l167.563-97.745c2.328-2.327 4.655-2.327 6.982-2.327 9.31-2.328 16.291-2.328 25.6 2.327l167.564 97.745c32.582 18.619 72.145 18.619 102.4 0l130.327-74.472-232.727-134.982zM1754.764 747.055V656.29h-430.546v121.018h397.964c25.6 4.655 34.909-4.654 32.582-30.254z m-430.546-197.819h432.873V428.218h-432.873v121.018z m-162.909-384h754.036v102.4h-283.927l-16.29 65.164h265.308v449.164c4.655 62.836-30.254 93.09-107.054 90.763h-577.164v-537.6H1459.2l13.964-65.163h-311.855V165.236z m1163.636 481.746l48.873 27.927 51.2 27.927 93.091-55.854h-193.164z m-11.636-239.71v72.146h249.018c25.6 4.655 39.564-2.327 39.564-18.618v-53.527h-288.582z m-107.054 2.328h-39.564v-88.436h34.909v-34.91h107.055v30.255h288.581v-27.927h107.055v27.927h34.909v88.436h-34.91v74.473c-4.654 41.891-30.254 62.837-81.454 62.837h-418.909V409.6z m-32.582 237.382v-79.127h560.872V640l-197.818 118.69 18.618 9.31c13.964 9.31 27.928 11.636 46.546 9.31H2739.2v88.435h-174.545c-23.273 0-46.546-4.654-65.164-11.636l-72.146-34.909-62.836 30.255c-23.273 9.309-48.873 16.29-76.8 18.618h-132.654v-90.764h93.09c20.946 0 37.237-2.327 46.546-6.982l34.909-16.29L2176 646.981h-2.327z m151.272-463.127V153.6h121.019v30.255h297.89v88.436h-602.763V870.4h-104.727V183.855h288.581z m521.31 616.727l109.381-274.618h-109.381V425.89h728.436v100.073h-500.364l-97.745 246.69h467.782c9.309 2.328 13.963-2.327 13.963-11.636V644.655h114.037V793.6c0 48.873-25.6 74.473-74.473 74.473h-649.31v-67.491z m0-518.982h728.436V181.527h-728.436V281.6z" p-id="17891" fill="#8a8a8a"></path></svg>
|
After Width: | Height: | Size: 2.2 KiB |
1
src/assets/images/logos/huawei.svg
Normal file
After Width: | Height: | Size: 5.7 KiB |
1
src/assets/images/logos/minio.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg t="1716225754481" class="icon" viewBox="0 0 6806 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2632" width="200" height="200"><path d="M2207.930676 17.328265h381.221828v989.05048h-381.221828zM1745.843613 30.973227l-773.828408 415.208665a38.4654 38.4654 0 0 1-35.828489 0L162.358308 30.973227A117.53084 117.53084 0 0 0 107.066912 17.328265h-0.962681A100.453709 100.453709 0 0 0 0 110.540936v894.707705h380.886981V579.366769a38.423544 38.423544 0 0 1 57.970162-28.545596l433.667034 233.052606a152.103658 152.103658 0 0 0 139.630656 1.17196l457.608502-235.815083a38.381688 38.381688 0 0 1 57.384182 28.880441v427.137544h380.886981V110.540936A100.453709 100.453709 0 0 0 1802.097691 17.328265h-0.962682a117.53084 117.53084 0 0 0-55.291396 13.644962z m2744.227918-13.644962h-386.621214v450.158185a38.214265 38.214265 0 0 1-56.002943 29.550133L3045.505334 28.252606a118.200531 118.200531 0 0 0-49.850153-10.924341h-0.669692a100.453709 100.453709 0 0 0-106.10423 93.212671v894.749561h383.523891V555.63458a38.256121 38.256121 0 0 1 55.961087-29.591989l1005.876477 468.783978a117.740119 117.740119 0 0 0 49.724586 10.882485 100.453709 100.453709 0 0 0 106.104231-93.212671z m299.728755 989.05048V17.328265h175.41729v989.05048z m1207.788433 17.621255c-471.8813 0-806.643286-196.721848-806.643287-511.979072C5190.945432 198.437932 5527.716493 0 5997.588719 0s808.652361 196.721848 808.65236 512.020928-330.743838 511.979072-808.65236 511.979072z m0-892.907909c-350.876436 0-621.13877 134.649826-621.13877 380.886981 0 248.036951 270.262334 380.886981 621.13877 380.886982s623.105988-132.850031 623.105988-380.886982c0-246.237155-272.229552-380.886981-623.105988-380.886981z" fill="#8a8a8a" p-id="2633"></path></svg>
|
After Width: | Height: | Size: 1.7 KiB |
1
src/assets/images/logos/qiniu.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg t="1716226168906" class="icon" viewBox="0 0 3174 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22437" width="200" height="200"><path d="M1436.42082 85.117c45.333-100.269-12.49-62.655-12.49-62.655s-202.175 331.6-700.261 331.6c-78.893 0-150.168-8.456-214.318-22.646-28.01-93.47-65.828-164.991-123.303-175.782 0 0 2.498 58.233 7.33 141.568C136.65782 201.315 29.69382 17.752 29.69382 17.752S-14.08318-37.06 4.67082 45.967c14.231 62.963 122.034 311.617 400.44 428.04 11.876 157.293 29.177 325.356 51.29 381.91 45.313 115.932 101.56 126.907 271.956 126.907 170.357 0 262.599-14.108 287.6-112.8 25.02-98.692 51.597-322.734 48.465-333.689-3.133-10.975 1.228-38.391-45.333 1.556-61.488 52.745-127.132 266.346-144.844 286.698-18.878 21.704-154.221 53.79-231.844 24.038-41.75-30.037-62.204-178.341-90.48-330.249 53.092 10.463 110.73 16.38 173.324 16.38 520.487 0 665.843-349.373 711.176-449.641z m201.07 396.262c-18.592-10.197-39.456-17.875-62.573-23.096a317.841 317.841 0 0 0-139.91 0c-23.137 5.22-44.001 12.9-62.572 23.096-18.592 10.176-33.56 23.076-44.944 38.72-11.364 15.622-17.056 33.64-17.056 53.993v267.164c0 20.865 5.692 38.986 17.056 54.363 11.384 15.397 26.352 28.194 44.944 38.37 18.57 10.198 39.415 17.896 62.573 23.097a317.575 317.575 0 0 0 84.604 7.453c4.136 18.571 12.183 32.351 20.005 41.852a47.56 47.56 0 0 0 36.794 17.384h98.017c7.8 0 14.128-6.389 14.128-14.251V952.15a14.067 14.067 0 0 0-14.23-14.25c-7.781 0.225-17.303-0.328-24.858-3.379a14.947 14.947 0 0 1-6.941-5.876c22.298-15.746 39.886-35.505 39.886-35.505 11.364-14.68 17.056-31.983 17.056-51.864V574.112c0-20.373-5.692-38.37-17.056-54.014-11.384-15.643-26.352-28.543-44.944-38.72z m-40.398 368.497v1.434s-1.352 43.367-55.796 46.786c-7.125 1.884-15.828 2.826-26.106 2.826-22.155 0-41.36-4.136-57.577-12.408-16.217-8.252-24.325-21.131-24.325-38.638V583.388c0-17.466 8.108-30.345 24.325-38.617 16.216-8.272 35.422-12.408 57.577-12.408 22.134 0 41.34 4.136 57.556 12.408 16.217 8.272 24.346 21.151 24.346 38.617v266.488z m225.23-399.415h122.853v511.887h-122.853V450.461z m517.416 308.422h-2.314l-177.133-308.422h-112.738v511.887h117.324V654.643h2.314l179.447 307.705h110.425V450.461h-117.325v308.422z m219.702-308.422h122.853v511.887H2559.44082V450.461z m494.012 0v386.413c0 18.06-7.064 31.369-21.212 39.928-14.149 8.558-31.84 12.838-53.052 12.838-21.213 0-38.904-4.3-53.052-12.838-14.149-8.56-21.213-21.868-21.213-39.928V450.461H2784.67082V844c0 16.646 5.099 32.085 15.316 46.336 10.217 14.271 24.161 26.741 41.852 37.43 17.69 10.708 38.33 19.144 61.897 25.307a296.895 296.895 0 0 0 75.453 9.275c26.7 0 51.864-3.092 75.452-9.275 23.567-6.163 44.206-14.6 61.897-25.308 17.67-10.688 31.614-23.158 41.852-37.429 10.197-14.251 15.316-29.69 15.316-46.336V450.46h-120.253z" fill="#8a8a8a" p-id="22438"></path></svg>
|
After Width: | Height: | Size: 2.7 KiB |
1
src/assets/images/logos/tencent.svg
Normal file
After Width: | Height: | Size: 7.5 KiB |
3
src/assets/images/medium.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="22" height="22" xmlns="http://www.w3.org/2000/svg" fill="#3b82f6">
|
||||||
|
<path d="M21.083 0H.917A.917.917 0 0 0 0 .917v20.166c0 .507.41.917.917.917h20.166c.507 0 .917-.41.917-.917V.917A.917.917 0 0 0 21.083 0Zm-2.145 4.686L17.651 5.92a.376.376 0 0 0-.143.361v9.068a.376.376 0 0 0 .143.361l1.257 1.234v.271h-6.322v-.271l1.3-1.264c.128-.128.128-.166.128-.361V7.99l-3.621 9.2h-.489l-4.213-9.2v6.163a.85.85 0 0 0 .233.707l1.694 2.054v.271h-4.8v-.271l1.691-2.054a.82.82 0 0 0 .218-.707V7.027a.625.625 0 0 0-.2-.527L3.019 4.686v-.271h4.674l3.613 7.924 3.176-7.924h4.456v.271Z" fill-rule="nonzero"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 611 B |
1
src/assets/images/pricing-illustration.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg width="618" height="468" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="a"><stop stop-color="#3B82F6" stop-opacity="0" offset="0%"/><stop stop-color="#3B82F6" offset="100%"/></linearGradient><filter x="-37.5%" y="-37.5%" width="175%" height="175%" filterUnits="objectBoundingBox" id="b"><feGaussianBlur stdDeviation="50" in="SourceGraphic"/></filter></defs><circle filter="url(#b)" cx="309" cy="268" r="200" fill="url(#a)" fill-rule="evenodd" fill-opacity=".48"/></svg>
|
After Width: | Height: | Size: 524 B |
3
src/assets/images/telegram.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg fill="#3b82f6" width="26" height="18" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M21.956.378a.47.47 0 0 0-.32-.347 1.662 1.662 0 0 0-.866.061S1.494 6.968.393 7.73c-.236.164-.316.26-.355.371-.19.546.402.78.402.78l4.968 1.607c.084.015.17.01.252-.015 1.13-.708 11.366-7.126 11.961-7.342.092-.027.162 0 .144.069-.237.823-9.083 8.622-9.131 8.669a.181.181 0 0 0-.066.16l-.464 4.815s-.194 1.498 1.315 0a42.204 42.204 0 0 1 2.612-2.373c1.708 1.171 3.546 2.466 4.339 3.143.27.26.633.398 1.008.385a1.13 1.13 0 0 0 .964-.849s3.51-14.03 3.627-15.909c.012-.182.028-.302.03-.428a1.591 1.591 0 0 0-.043-.435Z" fill-rule="nonzero"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 720 B |
BIN
src/assets/images/testimonials/testimonial-01.jpg
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
src/assets/images/testimonials/testimonial-02.jpg
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
src/assets/images/testimonials/testimonial-03.jpg
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/assets/images/testimonials/testimonial-04.jpg
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
src/assets/images/testimonials/testimonial-05.jpg
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/assets/images/testimonials/testimonial-06.jpg
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
src/assets/images/testimonials/testimonial-07.jpg
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
src/assets/images/testimonials/testimonial-08.jpg
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
src/assets/images/testimonials/testimonial-09.jpg
Normal file
After Width: | Height: | Size: 1.9 KiB |
3
src/assets/images/youtube.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg fill="#3b82f6" width="22" height="18" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M21.083 0H.917C.41 0 0 .448 0 1v16c0 .552.41 1 .917 1h20.166c.507 0 .917-.448.917-1V1c0-.552-.41-1-.917-1ZM9 13V5l6 4-6 4Z" fill-rule="nonzero"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 330 B |
@@ -28,3 +28,67 @@
|
|||||||
&::-webkit-resizer {
|
&::-webkit-resizer {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--accent: hsl(221, 83%, 53%);
|
||||||
|
--accent-300: hsl(217, 91%, 60%);
|
||||||
|
--accent-light: hsl(213, 94%, 68%);
|
||||||
|
--secondary: hsl(271, 91%, 65%);
|
||||||
|
|
||||||
|
--neutral-100: hsl(219, 11%, 65%);
|
||||||
|
--neutral-200: hsl(227, 9%, 57%);
|
||||||
|
--neutral-300: hsl(216, 12%, 84%);
|
||||||
|
|
||||||
|
--dark-100: hsl(217, 19%, 27%);
|
||||||
|
--dark-150: hsl(215, 14%, 33%);
|
||||||
|
--dark-200: hsl(215, 28%, 17%);
|
||||||
|
--dark-200-6: hsla(215, 28%, 17%, 0.6);
|
||||||
|
--dark-300: hsl(217, 26%, 17%);
|
||||||
|
--dark-400: hsl(221, 39%, 11%);
|
||||||
|
--almost-white: hsl(220, 14%, 96%);
|
||||||
|
--max-width: min(1104px, 95%);
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Uncut-Sans-Bold';
|
||||||
|
font-weight: 700;
|
||||||
|
src: url('@/assets/fonts/uncut-sans-bold.woff2') format('woff2'),
|
||||||
|
url('@/assets/fonts/uncut-sans-bold.woff') format('woff');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Uncut-Sans-Bold-Italic';
|
||||||
|
font-weight: 700;
|
||||||
|
src: url('@/assets/fonts/uncut-sans-bold-italic.woff2') format('woff2'),
|
||||||
|
url('@/assets/fonts/uncut-sans-bold-italic.woff') format('woff');
|
||||||
|
}
|
||||||
|
|
||||||
|
*,
|
||||||
|
*::after,
|
||||||
|
*::before {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
font-family: 'Inter', sans-serif;
|
||||||
|
background-color: var(--dark-400);
|
||||||
|
color: var(--neutral-100);
|
||||||
|
}
|
||||||
|
|
||||||
|
img,
|
||||||
|
video {
|
||||||
|
max-width: 100%;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
ul {
|
||||||
|
list-style: none;
|
||||||
|
padding-left: 0;
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
10
src/components/Home/arrow/Arrow.tsx
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import styleRightWhite from "@/assets/images/arrow-right-white.svg";
|
||||||
|
import style from "./arrow.module.less";
|
||||||
|
|
||||||
|
const Arrow = () => {
|
||||||
|
return <img src={styleRightWhite} className={style.arrow} />;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Arrow;
|
7
src/components/Home/arrow/arrow.module.less
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
.arrow {
|
||||||
|
width: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover .arrow {
|
||||||
|
transform: translateX(0.2rem);
|
||||||
|
}
|
27
src/components/Home/billing/Billing.tsx
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import { v4 } from "uuid";
|
||||||
|
import { PLANS } from "@/constants/plans";
|
||||||
|
import Plan from "../plan/Plan";
|
||||||
|
import SectionSubtitle from "../section-subtitle/SectionSubtitle";
|
||||||
|
import SectionTitle from "../section-title/SectionTitle";
|
||||||
|
import style from "./billing.module.less";
|
||||||
|
|
||||||
|
const Billing = () => {
|
||||||
|
return (
|
||||||
|
<section className={style.billing}>
|
||||||
|
{/* eslint-disable-next-line react/no-unescaped-entities */}
|
||||||
|
<SectionTitle margin={"small"}>选择适合你的计划</SectionTitle>
|
||||||
|
<SectionSubtitle content="我们提供多种计划供您选择,以满足您的不同需求。" />
|
||||||
|
<div className={style.cardContainer}>
|
||||||
|
{PLANS.map((item) => {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
// @ts-expect-error
|
||||||
|
return <Plan key={v4()} {...item} />;
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Billing;
|
25
src/components/Home/billing/billing.module.less
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
.billing {
|
||||||
|
padding: 5rem 0;
|
||||||
|
max-width: var(--max-width);
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cardContainer {
|
||||||
|
max-width: 24rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.billing {
|
||||||
|
background-image: url('@/assets/images/pricing-illustration.svg');
|
||||||
|
background-position: center bottom;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cardContainer {
|
||||||
|
max-width: var(--max-width);
|
||||||
|
display: flex;
|
||||||
|
align-items: start;
|
||||||
|
gap: 1.5rem;
|
||||||
|
}
|
||||||
|
}
|
15
src/components/Home/button/Button.tsx
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import Arrow from "../arrow/Arrow";
|
||||||
|
import style from "./button.module.less";
|
||||||
|
|
||||||
|
const Button = ({ text, type, arrow, link }: { text: any; type: any; arrow: any; link: any }) => {
|
||||||
|
return (
|
||||||
|
<a className={`${style.button} ${style[type]}`} href={link}>
|
||||||
|
{text}
|
||||||
|
{arrow && <Arrow />}
|
||||||
|
</a>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Button;
|
36
src/components/Home/button/button.module.less
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
.button {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 0.3em;
|
||||||
|
padding: 1em 1.5em;
|
||||||
|
border-radius: 0.25rem;
|
||||||
|
box-shadow: 0px 0.25rem 0.875rem rgba(0, 0, 0, 0.5);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
header .button {
|
||||||
|
padding: 0.6em 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.accent {
|
||||||
|
background-image: linear-gradient(var(--accent-light), var(--accent));
|
||||||
|
}
|
||||||
|
|
||||||
|
.accentSmall {
|
||||||
|
background-image: linear-gradient(var(--accent-light), var(--accent));
|
||||||
|
padding: 0.6em 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.regular {
|
||||||
|
background-image: linear-gradient(var(--dark-100), var(--dark-200));
|
||||||
|
}
|
||||||
|
|
||||||
|
.accent:hover,
|
||||||
|
.accentSmall:hover {
|
||||||
|
background: var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.regular:hover {
|
||||||
|
background: var(--dark-200);
|
||||||
|
}
|
34
src/components/Home/features/Features.tsx
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import { FEATURES } from "@/constants/features";
|
||||||
|
import { LOGOS } from "@/constants/logos";
|
||||||
|
import SectionTitle from "../section-title/SectionTitle";
|
||||||
|
import style from "./features.module.less";
|
||||||
|
import features from "@/assets/images/features.svg";
|
||||||
|
|
||||||
|
const Features = () => {
|
||||||
|
return (
|
||||||
|
<section className={style.features}>
|
||||||
|
<div className={style.logosGrid}>
|
||||||
|
{LOGOS.map((item) => {
|
||||||
|
return <img key={item.id} src={item.src} />;
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
<SectionTitle margin={"large"}>专 注 于 数 据 安 全</SectionTitle>
|
||||||
|
<img src={features} alt="Features" />
|
||||||
|
<div className={style.featuresGrid}>
|
||||||
|
{FEATURES.map((item) => {
|
||||||
|
return (
|
||||||
|
<article key={item.id} className={style.featuresCard}>
|
||||||
|
<img src={item.icon} />
|
||||||
|
<h3>{item.title}</h3>
|
||||||
|
<p>{item.body}</p>
|
||||||
|
</article>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Features;
|
74
src/components/Home/features/features.module.less
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
.features {
|
||||||
|
width: var(--max-width);
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logosGrid {
|
||||||
|
max-width: 24rem;
|
||||||
|
margin: 0 auto 3rem;
|
||||||
|
padding: 2rem 0;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
place-items: center;
|
||||||
|
gap: 1rem;
|
||||||
|
border-bottom: 1px solid var(--dark-200);
|
||||||
|
}
|
||||||
|
|
||||||
|
.logosGrid img:last-child {
|
||||||
|
grid-column: span 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.logosGrid {
|
||||||
|
max-width: 64rem;
|
||||||
|
margin: 0 auto 5rem;
|
||||||
|
grid-template-columns: repeat(5, 1fr);
|
||||||
|
}
|
||||||
|
|
||||||
|
.logosGrid img:last-child {
|
||||||
|
grid-column: span 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.featuresGrid {
|
||||||
|
max-width: 24rem;
|
||||||
|
margin: 4rem auto 3rem;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
gap: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.featuresGrid {
|
||||||
|
max-width: none;
|
||||||
|
margin: 4rem auto 5rem;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
|
||||||
|
gap: 4rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.featuresCard {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.featuresCard img {
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.featuresCard h3 {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 1.5rem;
|
||||||
|
color: var(--almost-white);
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.featuresCard p {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 1.125rem;
|
||||||
|
line-height: 1.5;
|
||||||
|
text-align: center;
|
||||||
|
}
|
37
src/components/Home/features2/Features2.tsx
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import SectionSubtitle from "../section-subtitle/SectionSubtitle";
|
||||||
|
import SectionTitle from "../section-title/SectionTitle";
|
||||||
|
import style from "./features2.module.less";
|
||||||
|
import features02 from "@/assets/images/features-02.png";
|
||||||
|
|
||||||
|
const Features2 = () => {
|
||||||
|
return (
|
||||||
|
<section className={style.features}>
|
||||||
|
<div className={style.featuresContent}>
|
||||||
|
<div className={style.heading}>
|
||||||
|
<SectionTitle margin={"small"}>隐私开发,安全保障</SectionTitle>
|
||||||
|
<SectionSubtitle content="避免收集过多的个人信息,保护了用户的隐私,用户数据加密传输,确保了数据的安全性。" />
|
||||||
|
</div>
|
||||||
|
<article className={style.twoCols}>
|
||||||
|
<div>
|
||||||
|
<img src={features02} alt="Features" />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h3 className={style.articleTitle}>标准化开发环境</h3>
|
||||||
|
<p className={style.text}>
|
||||||
|
采用一系列标准化的工具、技术、流程和规范,以提供稳定、可靠、高效的开发环境。确保软件开发的质量和效率,降低开发成本和风险。
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li className={style.listItem}>效果审查</li>
|
||||||
|
<li className={style.listItem}>目标设定</li>
|
||||||
|
<li className={style.listItem}>管理检查</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Features2;
|
103
src/components/Home/features2/features2.module.less
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
.features {
|
||||||
|
background-image: url('@/assets/images/features-illustration.svg'),
|
||||||
|
linear-gradient(var(--dark-200-6), transparent 10rem);
|
||||||
|
background-position-x: 1100px, center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.featuresContent {
|
||||||
|
width: var(--max-width);
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 3rem 0;
|
||||||
|
border-bottom: 1px solid var(--dark-200);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.featuresContent {
|
||||||
|
padding: 5rem 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.twoCols .text {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.twoCols .text {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.twoCols {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.twoCols {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.twoCols > * {
|
||||||
|
flex-basis: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.twoCols div:first-child {
|
||||||
|
order: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.articleTitle {
|
||||||
|
margin: 0 0 1rem;
|
||||||
|
color: var(--almost-white);
|
||||||
|
font-family: 'Uncut-Sans-Bold';
|
||||||
|
font-size: 2.25rem;
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 1.25;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.articleTitle {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.twoCols ul {
|
||||||
|
width: fit-content;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.twoCols ul {
|
||||||
|
width: auto;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.listItem {
|
||||||
|
font-size: 1.125rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.listItem + .listItem {
|
||||||
|
margin-top: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.listItem::before {
|
||||||
|
display: inline-block;
|
||||||
|
content: url('@/assets/images/check.svg');
|
||||||
|
width: 0.75rem;
|
||||||
|
margin-right: 0.75rem;
|
||||||
|
}
|
32
src/components/Home/footer/Footer.tsx
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import { LINKS } from "@/constants/footer-links";
|
||||||
|
import style from "./footer.module.less";
|
||||||
|
import logo from "@/assets/icons/schisandra.svg";
|
||||||
|
|
||||||
|
const Footer = () => {
|
||||||
|
return (
|
||||||
|
<footer className={style.footer}>
|
||||||
|
<div>
|
||||||
|
<img className={style.logo} src={logo} alt="Logo" />
|
||||||
|
<a href="#">Terms</a> · <a href="#">Schisandra</a>
|
||||||
|
</div>
|
||||||
|
{LINKS.map((item) => {
|
||||||
|
return (
|
||||||
|
<ul key={item.id}>
|
||||||
|
<li className={style.liTitle}>{item.title}</li>
|
||||||
|
{item.links.map((link) => {
|
||||||
|
return (
|
||||||
|
<li key={link.id} className={style.liItem}>
|
||||||
|
<a href="#">{link.link}</a>
|
||||||
|
</li>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</ul>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</footer>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Footer;
|
54
src/components/Home/footer/footer.module.less
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
.footer {
|
||||||
|
width: var(--max-width);
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 3rem 0;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
row-gap: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 640px) {
|
||||||
|
.footer {
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer div:first-child {
|
||||||
|
grid-column: 1 / -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.footer {
|
||||||
|
grid-template-columns: repeat(4, 1fr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 1024px) {
|
||||||
|
.footer {
|
||||||
|
grid-template-columns: 2fr repeat(4, 1fr);
|
||||||
|
}
|
||||||
|
footer div:first-child {
|
||||||
|
grid-column: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
width: 2rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer a:hover {
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.liTitle {
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
color: var(--almost-white);
|
||||||
|
margin: 0 0 0.7rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.liItem {
|
||||||
|
margin: 0 0 0.7rem;
|
||||||
|
}
|
21
src/components/Home/get-started/GetStarted.tsx
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import Button from "../button/Button.js";
|
||||||
|
import style from "./get-started.module.less";
|
||||||
|
|
||||||
|
const GetStarted = () => {
|
||||||
|
return (
|
||||||
|
<section className={style.container}>
|
||||||
|
<div className={style.textContainer}>
|
||||||
|
<h3 className={style.title}>开始使用五味子云存储</h3>
|
||||||
|
<p className={style.text}>
|
||||||
|
It only takes a few minutes to get started with Neon. Understand your users,
|
||||||
|
start free, today.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<Button text={"开始使用"} type={"accentSmall"} arrow={true} link={"/login"} />
|
||||||
|
</section>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default GetStarted;
|
48
src/components/Home/get-started/get-started.module.less
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
.container {
|
||||||
|
width: var(--max-width);
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 4rem 3rem;
|
||||||
|
background-image: url('@/assets/images/cta-illustration.svg'),
|
||||||
|
linear-gradient(var(--secondary), var(--accent));
|
||||||
|
background-position: right center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
display: flex;
|
||||||
|
gap: 1rem;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 0.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container > *:last-child {
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
margin: 0 0 0.7rem;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 2.25rem;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--almost-white);
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
margin: 0 0 2rem;
|
||||||
|
text-align: center;
|
||||||
|
color: var(--almost-white);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.container {
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
margin: 0;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
}
|
27
src/components/Home/header/Header.tsx
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
// import Button from "../button/Button";
|
||||||
|
import style from "./header.module.less";
|
||||||
|
import schisandra from "@/assets/icons/schisandra.svg";
|
||||||
|
|
||||||
|
const Header = () => {
|
||||||
|
return (
|
||||||
|
<header className={style.header}>
|
||||||
|
<nav className={style.nav}>
|
||||||
|
<img className={style.logo} src={schisandra} alt="Logo" />
|
||||||
|
<ul className={style.list}>
|
||||||
|
<li>
|
||||||
|
<a className={style.navLink} href="/login">
|
||||||
|
登 录
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{/*<li>*/}
|
||||||
|
{/* <Button text={"Get Started"} type={"accent"} arrow={true} />*/}
|
||||||
|
{/*</li>*/}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Header;
|
37
src/components/Home/header/header.module.less
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
.header {
|
||||||
|
position: absolute;
|
||||||
|
inset: 0 0 auto 0;
|
||||||
|
padding-top: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.header {
|
||||||
|
padding-top: 1.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: var(--max-width);
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navLink {
|
||||||
|
color: var(--neutral-100);
|
||||||
|
}
|
||||||
|
|
||||||
|
.navLink:hover {
|
||||||
|
color: var(--accent-300);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
display: flex;
|
||||||
|
gap: 2rem;
|
||||||
|
align-items: center;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
width: 2rem;
|
||||||
|
}
|
43
src/components/Home/hero/Hero.tsx
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import Button from "../button/Button";
|
||||||
|
import style from "./hero.module.less";
|
||||||
|
|
||||||
|
const Hero = () => {
|
||||||
|
return (
|
||||||
|
<section className={style.hero}>
|
||||||
|
<div className={style.heroContent}>
|
||||||
|
<p className={style.metalButton}>
|
||||||
|
Start your journey.{" "}
|
||||||
|
<a href="#" className={style.metalButtonLink}>
|
||||||
|
Learn More <span className={style.arrowLink}>{"->"}</span>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<h1 className={style.heroTitle}>
|
||||||
|
五 味 子 云 存 储
|
||||||
|
<em>
|
||||||
|
<span className={style.colorSpan}>schisandra os</span>
|
||||||
|
</em>
|
||||||
|
</h1>
|
||||||
|
<p className={style.heroText}>
|
||||||
|
五味子云存储,为您的数据提供一个安全、便捷的云端之家。数据自己掌控,安全又放心。
|
||||||
|
</p>
|
||||||
|
<ul className={style.list}>
|
||||||
|
<li>
|
||||||
|
<Button text={"免 费 使 用"} type={"accent"} arrow={true} link={"/login"} />
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Button
|
||||||
|
text={"查 看 文 档"}
|
||||||
|
type={"regular"}
|
||||||
|
arrow={true}
|
||||||
|
link={"/login"}
|
||||||
|
/>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Hero;
|
127
src/components/Home/hero/hero.module.less
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
.hero {
|
||||||
|
background-image: url('@/assets/images/hero-illustration.svg'),
|
||||||
|
linear-gradient(transparent 75%, var(--dark-200-6));
|
||||||
|
background-position-x: 50%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.heroContent {
|
||||||
|
width: var(--max-width);
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 8rem 0 5rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.heroContent {
|
||||||
|
padding: 10rem 0 5rem;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.metalButton {
|
||||||
|
margin: 0 0 1.5rem;
|
||||||
|
padding: 0.3em 1.5em;
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
background-color: var(--dark-200);
|
||||||
|
color: var(--neutral-100);
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 1.57;
|
||||||
|
border-radius: 2rem;
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.metalButton::before,
|
||||||
|
.metalButton::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
border-radius: 2rem;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.metalButton::before {
|
||||||
|
inset: 0;
|
||||||
|
background-image: linear-gradient(
|
||||||
|
var(--dark-300),
|
||||||
|
var(--dark-150),
|
||||||
|
var(--dark-300)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
.metalButton::after {
|
||||||
|
inset: 2px;
|
||||||
|
background-color: var(--dark-200);
|
||||||
|
}
|
||||||
|
|
||||||
|
.metalButtonLink {
|
||||||
|
font-weight: 500;
|
||||||
|
color: var(--accent-300);
|
||||||
|
}
|
||||||
|
|
||||||
|
.arrowLink {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.metalButtonLink:hover .arrowLink {
|
||||||
|
transform: translateX(4px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.heroTitle {
|
||||||
|
width: min(576px, 95%);
|
||||||
|
margin: 0 auto 1.5rem;
|
||||||
|
font-family: 'Uncut-Sans-Bold';
|
||||||
|
font-size: 3.75rem;
|
||||||
|
line-height: 1;
|
||||||
|
color: var(--almost-white);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.heroTitle {
|
||||||
|
width: 60%;
|
||||||
|
margin: 0 0 1.5rem;
|
||||||
|
font-size: 5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.heroText {
|
||||||
|
width: min(576px, 95%);
|
||||||
|
margin: 0 auto 2.5rem;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
line-height: 1.5;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
.colorSpan {
|
||||||
|
display: table;
|
||||||
|
//margin: 0 auto;
|
||||||
|
font-weight: 750;
|
||||||
|
font-size: 1em;
|
||||||
|
background: linear-gradient(330deg, #e05252 0%, #99e052 25%, #52e0e0 50%, #9952e0 75%, #e05252 100%);
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
-webkit-text-fill-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.heroText {
|
||||||
|
width: 60%;
|
||||||
|
margin: 0 0 2.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
max-width: 320px;
|
||||||
|
margin: 0 auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: stretch;
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.list {
|
||||||
|
max-width: 60%;
|
||||||
|
margin: 0;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
29
src/components/Home/main-container/MainContainer.tsx
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import Billing from "../billing/Billing";
|
||||||
|
import Features from "../features/Features";
|
||||||
|
import Features2 from "../features2/Features2";
|
||||||
|
import Footer from "../footer/Footer";
|
||||||
|
import GetStarted from "../get-started/GetStarted";
|
||||||
|
import Header from "../header/Header";
|
||||||
|
import Hero from "../hero/Hero";
|
||||||
|
import Resources from "../resources/Resources";
|
||||||
|
import Testimonials from "../testimonials/Testimonials";
|
||||||
|
|
||||||
|
const MainContainer = () => {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Header />
|
||||||
|
<Hero />
|
||||||
|
<Features />
|
||||||
|
<Features2 />
|
||||||
|
<Billing />
|
||||||
|
<Testimonials />
|
||||||
|
<Resources />
|
||||||
|
<GetStarted />
|
||||||
|
<Footer />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default MainContainer;
|
42
src/components/Home/plan/Plan.tsx
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import { v4 } from "uuid";
|
||||||
|
import Button from "../button/Button";
|
||||||
|
import style from "./plan.module.less";
|
||||||
|
|
||||||
|
const Plan = ({
|
||||||
|
name,
|
||||||
|
priceMonth,
|
||||||
|
description,
|
||||||
|
featuresTitle,
|
||||||
|
features,
|
||||||
|
popular,
|
||||||
|
}: {
|
||||||
|
name: any;
|
||||||
|
priceMonth: any;
|
||||||
|
description: any;
|
||||||
|
featuresTitle: any;
|
||||||
|
features: any;
|
||||||
|
popular: any;
|
||||||
|
}) => {
|
||||||
|
return (
|
||||||
|
<div className={popular ? `${style.card} ${style.popular}` : style.card}>
|
||||||
|
<h3 className={style.title}>{name}</h3>
|
||||||
|
<p className={style.price}>{priceMonth}</p>
|
||||||
|
<p className={style.text}>{description}</p>
|
||||||
|
<Button text="开始使用" type="accentSmall" arrow={true} link={"/login"} />
|
||||||
|
<p className={style.listTitle}>{featuresTitle}</p>
|
||||||
|
<ul>
|
||||||
|
{features.map((item: any) => {
|
||||||
|
return (
|
||||||
|
<li key={v4()} className={style.listItem}>
|
||||||
|
{item}
|
||||||
|
</li>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Plan;
|
75
src/components/Home/plan/plan.module.less
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
.card {
|
||||||
|
padding: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popular {
|
||||||
|
background-color: var(--dark-200);
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popular::before {
|
||||||
|
content: url('@/assets/images/fire.svg') ' Most popular';
|
||||||
|
position: absolute;
|
||||||
|
top: -0.75rem;
|
||||||
|
right: 1.5rem;
|
||||||
|
border-radius: 1rem;
|
||||||
|
padding: 0.5em 1em;
|
||||||
|
background-color: #a7f3d0;
|
||||||
|
color: #059669;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
color: var(--almost-white);
|
||||||
|
font-size: 1.125rem;
|
||||||
|
font-weight: 600;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.price {
|
||||||
|
margin: 0;
|
||||||
|
color: var(--almost-white);
|
||||||
|
font-family: 'Uncut-Sans-Bold';
|
||||||
|
font-size: 2.25rem;
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 0.77;
|
||||||
|
}
|
||||||
|
|
||||||
|
.price::before {
|
||||||
|
content: '¥';
|
||||||
|
color: var(--neutral-100);
|
||||||
|
font-size: 1.8rem;
|
||||||
|
font-weight: 500;
|
||||||
|
letter-spacing: -0.3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.price::after {
|
||||||
|
content: '/元';
|
||||||
|
color: var(--neutral-100);
|
||||||
|
font-size: 1rem;
|
||||||
|
font-weight: 500;
|
||||||
|
letter-spacing: -0.3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
font-size: 1rem;
|
||||||
|
line-height: 1.5;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.listTitle {
|
||||||
|
color: var(--almost-white);
|
||||||
|
margin: 1.5rem 0 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.listItem {
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.listItem::before {
|
||||||
|
display: inline-block;
|
||||||
|
content: url('@/assets/images/check.svg');
|
||||||
|
width: 0.75rem;
|
||||||
|
margin-right: 0.75rem;
|
||||||
|
}
|
37
src/components/Home/resources/Resources.tsx
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import { useState } from "react";
|
||||||
|
import { tabsContent } from "@/constants/tabs";
|
||||||
|
import SectionTitle from "../section-title/SectionTitle";
|
||||||
|
import TabCard from "../tab-card/TabCard";
|
||||||
|
import style from "./resources.module.less";
|
||||||
|
|
||||||
|
const Resources = () => {
|
||||||
|
const [activeTab, setActiveTab] = useState(0);
|
||||||
|
return (
|
||||||
|
<section className={style.resources}>
|
||||||
|
<SectionTitle margin={"large"}>帮助您充分利用资源</SectionTitle>
|
||||||
|
<div className={style.tabTitlesContainer}>
|
||||||
|
{tabsContent.map((item, index) => {
|
||||||
|
return (
|
||||||
|
<p
|
||||||
|
key={item.key}
|
||||||
|
className={`${style.tabTitle} ${
|
||||||
|
index === activeTab && style.tabTitleActive
|
||||||
|
}`}
|
||||||
|
onClick={() => setActiveTab(index)}>
|
||||||
|
{item.title}
|
||||||
|
</p>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
<div className={style.tabInfoContainer}>
|
||||||
|
{tabsContent[activeTab].cards.map((card: any) => {
|
||||||
|
return <TabCard key={card.key} {...card} />;
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Resources;
|
83
src/components/Home/resources/resources.module.less
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
.resources {
|
||||||
|
padding: 5rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabTitlesContainer {
|
||||||
|
max-width: 48rem;
|
||||||
|
margin: 0 auto 3.375rem;
|
||||||
|
padding: 0 2rem;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabTitle {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0.4em 1em;
|
||||||
|
max-width: 11rem;
|
||||||
|
text-align: center;
|
||||||
|
position: relative;
|
||||||
|
background-color: var(--dark-200);
|
||||||
|
border-radius: 2rem;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabTitle::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
z-index: -1;
|
||||||
|
background-color: var(--dark-200);
|
||||||
|
border-radius: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabTitle::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
inset: -2px;
|
||||||
|
z-index: -1;
|
||||||
|
border-radius: 2rem;
|
||||||
|
background-image: linear-gradient(
|
||||||
|
var(--dark-300),
|
||||||
|
var(--dark-150),
|
||||||
|
var(--dark-300)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabTitleActive {
|
||||||
|
color: var(--accent);
|
||||||
|
transform: rotate(2deg);
|
||||||
|
box-shadow: 0 0.3rem 1rem -0.5rem var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabTitleActive::before {
|
||||||
|
background-image: linear-gradient(
|
||||||
|
var(--dark-200),
|
||||||
|
var(--neutral-300),
|
||||||
|
var(--dark-200)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabInfoContainer {
|
||||||
|
max-width: 24rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 640px) {
|
||||||
|
.tabInfoContainer {
|
||||||
|
max-width: var(--max-width);
|
||||||
|
grid-template-columns: repeat(2, 1fr);
|
||||||
|
row-gap: 2rem;
|
||||||
|
column-gap: 1.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.tabInfoContainer {
|
||||||
|
grid-template-columns: repeat(4, 1fr);
|
||||||
|
}
|
||||||
|
}
|
9
src/components/Home/section-subtitle/SectionSubtitle.tsx
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import style from "./section-subtitle.module.less";
|
||||||
|
|
||||||
|
const SectionSubtitle = ({ content }: { content: any }) => {
|
||||||
|
return <p className={style.text}>{content}</p>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default SectionSubtitle;
|
@@ -0,0 +1,7 @@
|
|||||||
|
.text {
|
||||||
|
max-width: 42rem;
|
||||||
|
margin: 0 auto 5rem;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
line-height: 1.5;
|
||||||
|
text-align: center;
|
||||||
|
}
|
9
src/components/Home/section-title/SectionTitle.tsx
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import style from "./section-title.module.less";
|
||||||
|
|
||||||
|
const SectionTitle = ({ children, margin }: { children: any; margin: any }) => {
|
||||||
|
return <h2 className={`${style.title} ${style[margin]}`}>{children}</h2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default SectionTitle;
|
24
src/components/Home/section-title/section-title.module.less
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
.title {
|
||||||
|
max-width: 48rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
color: var(--almost-white);
|
||||||
|
font-family: 'Uncut-Sans-Bold', serif;
|
||||||
|
font-size: 2.25rem;
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 1.18;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.title {
|
||||||
|
font-size: 3rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.small {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.large {
|
||||||
|
margin-bottom: 5rem;
|
||||||
|
}
|
16
src/components/Home/tab-card/TabCard.tsx
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import style from "./tab-card.module.less";
|
||||||
|
|
||||||
|
const TabCard = ({ icon, title }: { icon: any; title: any }) => {
|
||||||
|
return (
|
||||||
|
<article className={style.card}>
|
||||||
|
<div className={style.logo}>
|
||||||
|
<img src={icon} alt="title" />
|
||||||
|
</div>
|
||||||
|
<h3 className={style.title}>{title}</h3>
|
||||||
|
</article>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default TabCard;
|
24
src/components/Home/tab-card/tab-card.module.less
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
.card {
|
||||||
|
background-color: var(--dark-200);
|
||||||
|
padding: 1.5rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
margin: 0 0 0.75rem;
|
||||||
|
width: 3rem;
|
||||||
|
height: 3rem;
|
||||||
|
background-image: linear-gradient(var(--dark-100), var(--dark-300));
|
||||||
|
border-radius: 50%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
margin: auto 0 0;
|
||||||
|
color: var(--almost-white);
|
||||||
|
font-size: 1.25rem;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
29
src/components/Home/testimonials/Testimonials.tsx
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import { TESTIMONIALS } from "@/constants/testimonials";
|
||||||
|
import SectionTitle from "../section-title/SectionTitle";
|
||||||
|
import style from "./testimonials.module.less";
|
||||||
|
|
||||||
|
const Testimonials = () => {
|
||||||
|
return (
|
||||||
|
<section className={style.testimonials}>
|
||||||
|
<SectionTitle margin={"large"}>听听我们的客户怎么说?</SectionTitle>
|
||||||
|
<div className={style.grid}>
|
||||||
|
{TESTIMONIALS.map((item) => {
|
||||||
|
return (
|
||||||
|
<article key={item.id} className={style.card}>
|
||||||
|
<img className={style.avatar} src={item.img} alt={item.name} />
|
||||||
|
<p className={style.text}>{item.text}</p>
|
||||||
|
<p className={style.author}>
|
||||||
|
{item.name} - <a href="#">{item.source}</a>
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
<div className={style.overlay}></div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Testimonials;
|
61
src/components/Home/testimonials/testimonials.module.less
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
.testimonials {
|
||||||
|
background-image: linear-gradient(var(--dark-200-6), transparent 10rem);
|
||||||
|
padding-top: 5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.grid {
|
||||||
|
position: relative;
|
||||||
|
max-width: 24rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
gap: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 640px) {
|
||||||
|
.grid {
|
||||||
|
max-width: var(--max-width);
|
||||||
|
grid-template-columns: repeat(2, 1fr);
|
||||||
|
row-gap: 2rem;
|
||||||
|
column-gap: 1.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.grid {
|
||||||
|
max-width: var(--max-width);
|
||||||
|
grid-template-columns: repeat(3, 1fr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.card {
|
||||||
|
background-color: var(--dark-200);
|
||||||
|
padding: 1.5rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: start;
|
||||||
|
justify-content: start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar {
|
||||||
|
width: 3rem;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author {
|
||||||
|
margin: auto 0 0;
|
||||||
|
color: var(--neutral-300);
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p a {
|
||||||
|
color: var(--accent-300);
|
||||||
|
}
|
||||||
|
|
||||||
|
.overlay {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 10;
|
||||||
|
height: 15rem;
|
||||||
|
inset: auto 0 0 0;
|
||||||
|
background-image: linear-gradient(transparent, var(--dark-400));
|
||||||
|
}
|
29
src/constants/features.ts
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import { v4 } from "uuid";
|
||||||
|
import iconSquare from "@/assets/images/icon-square.svg";
|
||||||
|
import iconbrackets from "@/assets/images/icon-brackets.svg";
|
||||||
|
import iconcheckList from "@/assets/images/icon-check-list.svg";
|
||||||
|
|
||||||
|
const FEATURES = [
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
icon: iconSquare,
|
||||||
|
title: "随时访问",
|
||||||
|
body: "无论您身处何地,只要有网络,就能随时随地访问您的数据。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
icon: iconbrackets,
|
||||||
|
title: "安全可靠",
|
||||||
|
body: "采用多重加密技术和严格的数据保护措施,确保用户数据的安全性和完整性。",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
icon: iconcheckList,
|
||||||
|
title: "数据掌控",
|
||||||
|
body: "数据自己掌控,安全又放心。",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export { FEATURES };
|
48
src/constants/footer-links.ts
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import { v4 } from "uuid";
|
||||||
|
|
||||||
|
const LINKS = [
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
title: "Products",
|
||||||
|
links: [
|
||||||
|
{ id: v4(), link: "schisandra Manage" },
|
||||||
|
{ id: v4(), link: "schisandra Analyse" },
|
||||||
|
{ id: v4(), link: "schisandra Launch" },
|
||||||
|
{ id: v4(), link: "Experimentation" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
title: "Resources",
|
||||||
|
links: [
|
||||||
|
{ id: v4(), link: "Blog" },
|
||||||
|
{ id: v4(), link: "Cheat Sheet" },
|
||||||
|
{ id: v4(), link: "Channel Partners" },
|
||||||
|
{ id: v4(), link: "Affiliate Program" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
title: "Compare",
|
||||||
|
links: [
|
||||||
|
{ id: v4(), link: "Session Recording" },
|
||||||
|
{ id: v4(), link: "Feature Flags" },
|
||||||
|
{ id: v4(), link: "Heatmaps" },
|
||||||
|
{ id: v4(), link: "Correlation Analysis" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
title: "Company",
|
||||||
|
links: [
|
||||||
|
{ id: v4(), link: "About Us" },
|
||||||
|
{ id: v4(), link: "Our Story" },
|
||||||
|
{ id: v4(), link: "Work With Us" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export { LINKS };
|
18
src/constants/logos.ts
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import { v4 } from "uuid";
|
||||||
|
import alibaba from "@/assets/images/logos/alibaba.svg";
|
||||||
|
import tencent from "@/assets/images/logos/tencent.svg";
|
||||||
|
import huawei from "@/assets/images/logos/huawei.svg";
|
||||||
|
import baidu from "@/assets/images/logos/baidu.svg";
|
||||||
|
import qiniu from "@/assets/images/logos/qiniu.svg";
|
||||||
|
|
||||||
|
const LOGOS = [
|
||||||
|
{ id: v4(), src: alibaba },
|
||||||
|
{ id: v4(), src: tencent },
|
||||||
|
{ id: v4(), src: huawei },
|
||||||
|
{ id: v4(), src: baidu },
|
||||||
|
{ id: v4(), src: qiniu },
|
||||||
|
];
|
||||||
|
|
||||||
|
export { LOGOS };
|
34
src/constants/plans.ts
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
const PLANS = [
|
||||||
|
{
|
||||||
|
name: "免费",
|
||||||
|
priceMonth: 0,
|
||||||
|
description: "免费使用。提供基础的存储服务,不限制存储商。",
|
||||||
|
featuresTitle: "包含功能:",
|
||||||
|
features: [
|
||||||
|
"可用全部存储商",
|
||||||
|
"基础文件操作",
|
||||||
|
"不支持在线文件编辑",
|
||||||
|
"支持文件在线预览",
|
||||||
|
"...",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "商业",
|
||||||
|
priceMonth: 299,
|
||||||
|
description: "在免费基础上增加增强功能,可自定义存储服务。",
|
||||||
|
featuresTitle: "在免费版上增加:",
|
||||||
|
features: ["支持自定义存储商", "支持在线文件编辑", "加强版文件操作", "提供技术支持", "..."],
|
||||||
|
popular: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "定制",
|
||||||
|
priceMonth: 129,
|
||||||
|
description: "定制版,可定制自己想要的功能,添加其他存储商。",
|
||||||
|
featuresTitle: "定制版:",
|
||||||
|
features: ["定制功能", "享有阉割版商业版加强功能", "支持定制存储商", "..."],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export { PLANS };
|
105
src/constants/tabs.ts
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import { v4 } from "uuid";
|
||||||
|
import telegram from "@/assets/images/telegram.svg";
|
||||||
|
import github from "@/assets/images/github.svg";
|
||||||
|
import docs from "@/assets/images/docs.svg";
|
||||||
|
import youtube from "@/assets/images/youtube.svg";
|
||||||
|
import discord from "@/assets/images/discord.svg";
|
||||||
|
import medium from "@/assets/images/medium.svg";
|
||||||
|
const tabsContent = [
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
title: "开发人员",
|
||||||
|
cards: [
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
icon: telegram,
|
||||||
|
title: "Neon Telegram",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
icon: github,
|
||||||
|
title: "Neon GitHub",
|
||||||
|
},
|
||||||
|
{ key: v4(), icon: docs, title: "Neon Docs" },
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
icon: youtube,
|
||||||
|
title: "Neon Tutorials",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
title: "设计师",
|
||||||
|
cards: [
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
icon: discord,
|
||||||
|
title: "Neon Discord",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
icon: medium,
|
||||||
|
title: "Neon Medium",
|
||||||
|
},
|
||||||
|
{ key: v4(), icon: docs, title: "Neon Docs" },
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
icon: youtube,
|
||||||
|
title: "Neon Tutorials",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
title: "创作者",
|
||||||
|
cards: [
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
icon: telegram,
|
||||||
|
title: "Neon Telegram",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
icon: discord,
|
||||||
|
title: "Neon Discord",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
icon: medium,
|
||||||
|
title: "Neon Medium",
|
||||||
|
},
|
||||||
|
{ key: v4(), icon: docs, title: "Neon Docs" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
title: "其他人员",
|
||||||
|
cards: [
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
icon: telegram,
|
||||||
|
title: "Neon Telegram",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
icon: medium,
|
||||||
|
title: "Neon Medium",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
icon: github,
|
||||||
|
title: "Neon GitHub",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: v4(),
|
||||||
|
icon: youtube,
|
||||||
|
title: "Neon Tutorials",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export { tabsContent };
|
79
src/constants/testimonials.ts
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
/** @format */
|
||||||
|
|
||||||
|
import { v4 } from "uuid";
|
||||||
|
import testimonial01 from "@/assets/images/testimonials/testimonial-01.jpg";
|
||||||
|
import testimonial02 from "@/assets/images/testimonials/testimonial-02.jpg";
|
||||||
|
import testimonial03 from "@/assets/images/testimonials/testimonial-03.jpg";
|
||||||
|
import testimonial04 from "@/assets/images/testimonials/testimonial-04.jpg";
|
||||||
|
import testimonial05 from "@/assets/images/testimonials/testimonial-05.jpg";
|
||||||
|
import testimonial06 from "@/assets/images/testimonials/testimonial-06.jpg";
|
||||||
|
import testimonial07 from "@/assets/images/testimonials/testimonial-07.jpg";
|
||||||
|
import testimonial08 from "@/assets/images/testimonials/testimonial-08.jpg";
|
||||||
|
import testimonial09 from "@/assets/images/testimonials/testimonial-09.jpg";
|
||||||
|
const TESTIMONIALS = [
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
img: testimonial01,
|
||||||
|
text: "Compared to other offerings, schisandra always has a head start and introduces bleeding edge features first.",
|
||||||
|
name: "Mark Luiss",
|
||||||
|
source: "Apprenda",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
img: testimonial02,
|
||||||
|
text: "schisandra has made a huge impact on compliance, while helping us become more transparent.",
|
||||||
|
name: "Patrick Mills",
|
||||||
|
source: "AppDonkey",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
img: testimonial03,
|
||||||
|
text: "GitHub provides tools that are, in a sense, invisible. You don’t have to waste time trying to get them to work.",
|
||||||
|
name: "David Collison",
|
||||||
|
source: "BrainTwo",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
img: testimonial04,
|
||||||
|
text: "schisandra is the tool devs. The more you can make work feel native for a developer, the more cool their experience.",
|
||||||
|
name: "Licia McFarland",
|
||||||
|
source: "Paytable",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
img: testimonial05,
|
||||||
|
text: "schisandra comes into play during the entire software life cycle. It’s the de facto tool for anything related to our software.",
|
||||||
|
name: "Rossana Alecu",
|
||||||
|
source: "Bolt Money",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
img: testimonial06,
|
||||||
|
text: "I have no tech skills and with Neon I can actually make good looking apps with ease.",
|
||||||
|
name: "Max Corsano",
|
||||||
|
source: "MixTech",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
img: testimonial07,
|
||||||
|
text: "It’s not just easier to get in touch with developers, it’s also easier to bring in other team members.",
|
||||||
|
name: "Anna Pratt",
|
||||||
|
source: "Cloud Inc",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
img: testimonial08,
|
||||||
|
text: "Tools like Neon Advanced Security help keep our team lean. It makes us much more efficient.",
|
||||||
|
name: "Veerle Larson",
|
||||||
|
source: "Prinso",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: v4(),
|
||||||
|
img: testimonial09,
|
||||||
|
text: "schisandra enables speed and scale. We can work on bigger projects and finish them faster.",
|
||||||
|
name: "Ana Kennedy",
|
||||||
|
source: "Syntax Inc",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export { TESTIMONIALS };
|
@@ -1,13 +1,13 @@
|
|||||||
/** @format */
|
/** @format */
|
||||||
import { useEffect } from "react";
|
import { useEffect } from "react";
|
||||||
|
|
||||||
import HomeIndex from "@/components/HomeIndex";
|
import MainContainer from "@/components/Home/main-container/MainContainer.tsx";
|
||||||
|
|
||||||
export default () => {
|
export default () => {
|
||||||
useEffect(() => {}, []);
|
useEffect(() => {}, []);
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<HomeIndex />
|
<MainContainer />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|