diff --git a/config/vite.dev.config.ts b/config/vite.dev.config.ts
index 27b9a86..a223c11 100644
--- a/config/vite.dev.config.ts
+++ b/config/vite.dev.config.ts
@@ -37,6 +37,10 @@ export default defineConfig({
target: "https://api.vtb.link/eoefans-api",
changeOrigin: true,
},
+ "/eoefans-video-rank/v1": {
+ target: "https://api.eoefans.com",
+ changeOrigin: true,
+ },
},
},
});
diff --git a/package.json b/package.json
index 4b1e638..ee19291 100644
--- a/package.json
+++ b/package.json
@@ -47,7 +47,8 @@
"react-photo-view": "^1.2.3",
"react-redux": "^8.0.5",
"react-router-dom": "^6.9.0",
- "react-use": "^17.4.0"
+ "react-use": "^17.4.0",
+ "recoil": "^0.7.7"
},
"devDependencies": {
"@babel/core": "^7.21.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4e353dc..1903248 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -49,6 +49,7 @@ specifiers:
react-redux: ^8.0.5
react-router-dom: ^6.9.0
react-use: ^17.4.0
+ recoil: ^0.7.7
rollup-plugin-visualizer: ^5.9.0
standard-version: ^9.5.0
tailwindcss: ^3.3.0
@@ -89,6 +90,7 @@ dependencies:
react-redux: 8.0.5_a5pki22omvhg66elofc4io3beq
react-router-dom: 6.9.0_biqbaboplfbrettd7655fr4n2y
react-use: 17.4.0_biqbaboplfbrettd7655fr4n2y
+ recoil: 0.7.7_biqbaboplfbrettd7655fr4n2y
devDependencies:
'@babel/core': 7.21.3
@@ -4072,6 +4074,10 @@ packages:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
dev: true
+ /hamt_plus/1.0.2:
+ resolution: {integrity: sha512-t2JXKaehnMb9paaYA7J0BX8QQAY8lwfQ9Gjf4pg/mk4krt+cmwmU652HOoWonf+7+EQV97ARPMhhVgU1ra2GhA==}
+ dev: false
+
/handlebars/4.7.7:
resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==}
engines: {node: '>=0.4.7'}
@@ -5570,6 +5576,23 @@ packages:
picomatch: 2.3.1
dev: true
+ /recoil/0.7.7_biqbaboplfbrettd7655fr4n2y:
+ resolution: {integrity: sha512-8Og5KPQW9LwC577Vc7Ug2P0vQshkv1y3zG3tSSkWMqkWSwHmE+by06L8JtnGocjW6gcCvfwB3YtrJG6/tWivNQ==}
+ peerDependencies:
+ react: '>=16.13.1'
+ react-dom: '*'
+ react-native: '*'
+ peerDependenciesMeta:
+ react-dom:
+ optional: true
+ react-native:
+ optional: true
+ dependencies:
+ hamt_plus: 1.0.2
+ react: 18.2.0
+ react-dom: 18.2.0_react@18.2.0
+ dev: false
+
/redent/3.0.0:
resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
engines: {node: '>=8'}
diff --git a/src/main.tsx b/src/main.tsx
index 63a6556..8a3f0ac 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -5,6 +5,7 @@ import VideoPage from "./routers/video";
import Layout from "./routers/layout";
import PhotoPage from "./routers/photo";
import ErrorPage from "./routers/error";
+import OnlinePage from "./routers/online";
//preview
import ScreenProview from "@components/proview/screenSize";
import MUIThemePreview from "@components/proview/themePreview";
@@ -21,6 +22,7 @@ import "./index.less";
import * as Sentry from "@sentry/react";
import { BrowserTracing } from "@sentry/tracing";
import SearchPage, { loader as SearchLoader } from "@routers/search";
+import { RecoilRoot } from "recoil";
if (!isdev && isrelease) {
Sentry.init({
dsn: "https://086f27258cce4d28aacc8c2719a683fb@sentry.vtb.link/3",
@@ -82,6 +84,11 @@ const router = createBrowserRouter([
element: