增加更明显的更新提示

This commit is contained in:
mtvpls
2025-12-05 21:12:15 +08:00
parent f8a2964264
commit cc99f4c945
5 changed files with 138 additions and 59 deletions
+45
View File
@@ -0,0 +1,45 @@
'use client';
import { createContext, useContext, useEffect, useState } from 'react';
import { checkForUpdates, UpdateStatus } from '@/lib/version_check';
interface VersionCheckContextType {
updateStatus: UpdateStatus | null;
isChecking: boolean;
}
const VersionCheckContext = createContext<VersionCheckContextType>({
updateStatus: null,
isChecking: true,
});
export const useVersionCheck = () => useContext(VersionCheckContext);
export const VersionCheckProvider: React.FC<{ children: React.ReactNode }> = ({
children,
}) => {
const [updateStatus, setUpdateStatus] = useState<UpdateStatus | null>(null);
const [isChecking, setIsChecking] = useState(true);
useEffect(() => {
const checkUpdate = async () => {
try {
const status = await checkForUpdates();
setUpdateStatus(status);
} catch (error) {
console.warn('版本检查失败:', error);
} finally {
setIsChecking(false);
}
};
checkUpdate();
}, []);
return (
<VersionCheckContext.Provider value={{ updateStatus, isChecking }}>
{children}
</VersionCheckContext.Provider>
);
};