[feat] global watch dir and set better check logic
todo: first time check failed should let user manually click
This commit is contained in:
@@ -6,10 +6,10 @@ export default function Page() {
|
||||
|
||||
return (
|
||||
<div className="flex flex-col items-start gap-3 pt-2 pb-1">
|
||||
<p>Steam路径:{steam.state.dir}</p>
|
||||
<p>游戏路径:{steam.state.csDir}</p>
|
||||
<p>Steam路径有效:{steam.state.isDirValid ? "是" : "否"}</p>
|
||||
<p>游戏路径有效:{steam.state.isCsDirValid ? "是" : "否"}</p>
|
||||
<p>Steam路径:{steam.state.steamDir}</p>
|
||||
<p>游戏路径:{steam.state.cs2Dir}</p>
|
||||
<p>Steam路径有效:{steam.state.steamDirValid ? "是" : "否"}</p>
|
||||
<p>游戏路径有效:{steam.state.cs2DirValid ? "是" : "否"}</p>
|
||||
<p>Steam账号:{steam.currentUser().accountName}</p>
|
||||
</div>
|
||||
)
|
||||
|
||||
@@ -1,14 +1,27 @@
|
||||
"use client"
|
||||
import { steamStore } from "@/store/steam"
|
||||
import { steamStore, useSteamStore } from "@/store/steam"
|
||||
import { useEffect } from "react"
|
||||
import "./globals.css"
|
||||
import Providers from "./providers"
|
||||
import { init } from "@/store"
|
||||
import { useDebounce } from "@uidotdev/usehooks"
|
||||
|
||||
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
||||
useEffect(() => {
|
||||
void init()
|
||||
})
|
||||
|
||||
// 检测steam路径和游戏路径是否有效
|
||||
const steam = useSteamStore()
|
||||
const debounceSteamDir = useDebounce(steam.state.steamDir, 500)
|
||||
const debounceCs2Dir = useDebounce(steam.state.cs2Dir, 500)
|
||||
useEffect(() => {
|
||||
steam.checkSteamDirValid()
|
||||
}, [debounceSteamDir])
|
||||
useEffect(() => {
|
||||
steam.checkCs2DirValid()
|
||||
}, [debounceCs2Dir])
|
||||
|
||||
return (
|
||||
<html lang="en">
|
||||
<body>
|
||||
|
||||
@@ -4,13 +4,13 @@ import { useSteamStore } from "@/store/steam"
|
||||
import { useEffect, useState } from "react"
|
||||
export default function Page() {
|
||||
const steam = useSteamStore()
|
||||
const [steamDir, setSteamDir] = useState(steam.state.dir)
|
||||
const [cs2Dir, setCs2Dir] = useState(steam.state.csDir)
|
||||
const [steamDir, setSteamDir] = useState(steam.state.steamDir)
|
||||
const [cs2Dir, setCs2Dir] = useState(steam.state.cs2Dir)
|
||||
|
||||
useEffect(() => {
|
||||
setSteamDir(steam.state.dir)
|
||||
setCs2Dir(steam.state.csDir)
|
||||
}, [steam.state.dir, steam.state.csDir])
|
||||
setSteamDir(steam.state.steamDir)
|
||||
setCs2Dir(steam.state.cs2Dir)
|
||||
}, [steam.state.steamDir, steam.state.cs2Dir])
|
||||
|
||||
return (
|
||||
<div
|
||||
|
||||
Reference in New Issue
Block a user