mirror of
https://github.com/d0zingcat/NotionNext.git
synced 2026-06-12 15:10:50 +00:00
深色额模式逻辑
This commit is contained in:
@@ -16,7 +16,8 @@ export function GlobalContextProvider(props) {
|
||||
const [lang, updateLang] = useState(NOTION_CONFIG?.LANG || LANG) // 默认语言
|
||||
const [locale, updateLocale] = useState(generateLocaleDict(NOTION_CONFIG?.LANG || LANG)) // 默认语言
|
||||
const [theme, setTheme] = useState(NOTION_CONFIG?.THEME || THEME) // 默认博客主题
|
||||
const [isDarkMode, updateDarkMode] = useState(NOTION_CONFIG?.APPEARANCE || APPEARANCE === 'dark') // 默认深色模式
|
||||
const defaultDarkMode = NOTION_CONFIG?.APPEARANCE || APPEARANCE === 'dark'
|
||||
const [isDarkMode, updateDarkMode] = useState(defaultDarkMode) // 默认深色模式
|
||||
const [onLoading, setOnLoading] = useState(false) // 抓取文章数据
|
||||
const router = useRouter()
|
||||
|
||||
@@ -57,7 +58,7 @@ export function GlobalContextProvider(props) {
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
initDarkMode(updateDarkMode)
|
||||
initDarkMode(updateDarkMode,defaultDarkMode)
|
||||
initLocale(lang, locale, updateLang, updateLocale)
|
||||
}, [])
|
||||
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>DPlayer Video Player</title>
|
||||
<!-- 引入 DPlayer 样式文件 -->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.css">
|
||||
<style>
|
||||
body {
|
||||
margin: 0px 0px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- 创建一个容器用于放置视频播放器 -->
|
||||
<div id="dplayer-container"></div>
|
||||
<!-- 引入 Hls.js 库 -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
|
||||
|
||||
<!-- 引入 DPlayer JavaScript 文件 -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.js"></script>
|
||||
|
||||
<script>
|
||||
var myParam = location.search.split('n=')[1]
|
||||
if(!myParam){
|
||||
alert('无效的视频地址')
|
||||
}
|
||||
// 创建 DPlayer 实例
|
||||
var dp = new DPlayer({
|
||||
// 定义容器
|
||||
container: document.getElementById('dplayer-container'),
|
||||
// 视频源地址
|
||||
video: {
|
||||
url: myParam
|
||||
// 如果有多个清晰度,可以在这里添加更多的清晰度选项
|
||||
// quality: [
|
||||
// { name: 'HD', url: 'https://example.com/your-video-hd.mp4', type: 'normal' },
|
||||
// { name: 'SD', url: 'https://example.com/your-video-sd.mp4', type: 'normal' }
|
||||
// ],
|
||||
},
|
||||
// 视频封面图片
|
||||
poster: 'https://example.com/your-video-poster.jpg',
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -90,14 +90,19 @@ const checkThemeDOM = () => {
|
||||
* @param updateDarkMode 更改主题ChangeState函数
|
||||
* @description 读取cookie中存的用户主题
|
||||
*/
|
||||
export const initDarkMode = (updateDarkMode) => {
|
||||
export const initDarkMode = (updateDarkMode,defaultDarkMode) => {
|
||||
// 查看用户设备浏览器是否深色模型
|
||||
let newDarkMode = isPreferDark()
|
||||
|
||||
// 查看cookie中是否用户强制设置深色模式
|
||||
const cookieDarkMode = loadDarkModeFromLocalStorage()
|
||||
if (cookieDarkMode) {
|
||||
newDarkMode = JSON.parse(cookieDarkMode)
|
||||
// 查看localStorage中用户记录的是否深色模式
|
||||
const userDarkMode = loadDarkModeFromLocalStorage()
|
||||
if (userDarkMode) {
|
||||
newDarkMode = userDarkMode
|
||||
}
|
||||
|
||||
// 如果站点强制设置默认深色,则优先级改过用
|
||||
if(defaultDarkMode){
|
||||
newDarkMode = defaultDarkMode
|
||||
}
|
||||
|
||||
// url查询条件中是否深色模式
|
||||
|
||||
Reference in New Issue
Block a user