Skip to content

Commit 1099571

Browse files
committed
theme movie & dark mode
1 parent 05059a6 commit 1099571

File tree

4 files changed

+48
-31
lines changed

4 files changed

+48
-31
lines changed

lib/global.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export function GlobalContextProvider(props) {
1616
const [lang, updateLang] = useState(NOTION_CONFIG?.LANG || LANG) // 默认语言
1717
const [locale, updateLocale] = useState(generateLocaleDict(NOTION_CONFIG?.LANG || LANG)) // 默认语言
1818
const [theme, setTheme] = useState(NOTION_CONFIG?.THEME || THEME) // 默认博客主题
19-
const defaultDarkMode = NOTION_CONFIG?.APPEARANCE || APPEARANCE === 'dark'
19+
const defaultDarkMode = NOTION_CONFIG?.APPEARANCE === 'dark' || APPEARANCE === 'dark'
2020
const [isDarkMode, updateDarkMode] = useState(defaultDarkMode) // 默认深色模式
2121
const [onLoading, setOnLoading] = useState(false) // 抓取文章数据
2222
const router = useRouter()

public/dplayer.htm

+11-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,17 @@
88
<!-- 引入 DPlayer 样式文件 -->
99
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.css">
1010
<style>
11+
html,
1112
body {
12-
margin: 0px 0px;
13+
height: 100%;
14+
margin: 0;
15+
padding: 0;
16+
overflow: hidden;
17+
}
18+
19+
#dplayer-container {
20+
width: 100%;
21+
height: 100%;
1322
}
1423
</style>
1524
</head>
@@ -25,7 +34,7 @@
2534

2635
<script>
2736
var myParam = decodeURIComponent(location.search.split('n=')[1]);
28-
if(!myParam){
37+
if (!myParam) {
2938
alert('无效的视频地址')
3039
}
3140
// 创建 DPlayer 实例

themes/movie/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ const LayoutSlug = props => {
157157

158158
// 创建一个新的容器元素
159159
const videoWrapper = document.createElement('div')
160-
videoWrapper.className = 'video-wrapper p-2 bg-gray-100 dark:bg-hexo-black-gray max-w-5xl mx-auto'
160+
videoWrapper.className = 'video-wrapper p-2 bg-gray-100 dark:bg-hexo-black-gray max-w-4xl mx-auto'
161161

162162
// 创建一个新的容器元素
163163
const carouselWrapper = document.createElement('div')

themes/theme.js

+35-27
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export const { THEMES = [] } = getConfig().publicRuntimeConfig
1212
* @param {*} themeQuery
1313
* @returns
1414
*/
15-
export const getGlobalLayoutByTheme = (themeQuery) => {
15+
export const getGlobalLayoutByTheme = themeQuery => {
1616
if (themeQuery !== BLOG.THEME) {
1717
return dynamic(() => import(`@/themes/${themeQuery}`).then(m => m[getLayoutNameByPath(-1)]), { ssr: true })
1818
} else {
@@ -29,22 +29,26 @@ export const getGlobalLayoutByTheme = (themeQuery) => {
2929
export const getLayoutByTheme = ({ router, theme }) => {
3030
const themeQuery = getQueryParam(router.asPath, 'theme') || theme
3131
if (themeQuery !== BLOG.THEME) {
32-
return dynamic(() => import(`@/themes/${themeQuery}`).then(m => {
33-
setTimeout(() => {
34-
checkThemeDOM()
35-
}, 500);
32+
return dynamic(
33+
() =>
34+
import(`@/themes/${themeQuery}`).then(m => {
35+
setTimeout(() => {
36+
checkThemeDOM()
37+
}, 500)
3638

37-
const components = m[getLayoutNameByPath(router.pathname, router.asPath)]
38-
if (components) {
39-
return components
40-
} else {
41-
return m.LayoutSlug
42-
}
43-
}), { ssr: true })
39+
const components = m[getLayoutNameByPath(router.pathname, router.asPath)]
40+
if (components) {
41+
return components
42+
} else {
43+
return m.LayoutSlug
44+
}
45+
}),
46+
{ ssr: true }
47+
)
4448
} else {
4549
setTimeout(() => {
4650
checkThemeDOM()
47-
}, 100);
51+
}, 100)
4852
const components = ThemeComponents[getLayoutNameByPath(router.pathname, router.asPath)]
4953
if (components) {
5054
return components
@@ -59,12 +63,12 @@ export const getLayoutByTheme = ({ router, theme }) => {
5963
* @param {*} path
6064
* @returns
6165
*/
62-
const getLayoutNameByPath = (path) => {
66+
const getLayoutNameByPath = path => {
6367
if (LAYOUT_MAPPINGS[path]) {
64-
return LAYOUT_MAPPINGS[path];
68+
return LAYOUT_MAPPINGS[path]
6569
} else {
6670
// 没有特殊处理的路径返回默认layout名称
67-
return 'LayoutSlug';
71+
return 'LayoutSlug'
6872
}
6973
}
7074

@@ -90,20 +94,20 @@ const checkThemeDOM = () => {
9094
* @param updateDarkMode 更改主题ChangeState函数
9195
* @description 读取cookie中存的用户主题
9296
*/
93-
export const initDarkMode = (updateDarkMode,defaultDarkMode) => {
97+
export const initDarkMode = (updateDarkMode, defaultDarkMode) => {
9498
// 查看用户设备浏览器是否深色模型
9599
let newDarkMode = isPreferDark()
96100

97101
// 查看localStorage中用户记录的是否深色模式
98102
const userDarkMode = loadDarkModeFromLocalStorage()
99103
if (userDarkMode) {
100-
newDarkMode = userDarkMode
104+
newDarkMode = JSON.parse(userDarkMode)
101105
}
102-
106+
103107
// 如果站点强制设置默认深色,则优先级改过用
104-
//if(defaultDarkMode){
105-
//newDarkMode = defaultDarkMode
106-
//}
108+
if (typeof defaultDarkMode ==='boolean' && defaultDarkMode) {
109+
newDarkMode = defaultDarkMode
110+
}
107111

108112
// url查询条件中是否深色模式
109113
const queryMode = getQueryVariable('mode')
@@ -128,7 +132,11 @@ export function isPreferDark() {
128132
// 系统深色模式或时间是夜间时,强行置为夜间模式
129133
const date = new Date()
130134
const prefersDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches
131-
return prefersDarkMode || (BLOG.APPEARANCE_DARK_TIME && (date.getHours() >= BLOG.APPEARANCE_DARK_TIME[0] || date.getHours() < BLOG.APPEARANCE_DARK_TIME[1]))
135+
return (
136+
prefersDarkMode ||
137+
(BLOG.APPEARANCE_DARK_TIME &&
138+
(date.getHours() >= BLOG.APPEARANCE_DARK_TIME[0] || date.getHours() < BLOG.APPEARANCE_DARK_TIME[1]))
139+
)
132140
}
133141
return false
134142
}
@@ -142,9 +150,9 @@ export const loadDarkModeFromLocalStorage = () => {
142150
}
143151

144152
/**
145-
* 保存深色模式
146-
* @param newTheme
147-
*/
148-
export const saveDarkModeToLocalStorage = (newTheme) => {
153+
* 保存深色模式
154+
* @param newTheme
155+
*/
156+
export const saveDarkModeToLocalStorage = newTheme => {
149157
localStorage.setItem('darkMode', newTheme)
150158
}

0 commit comments

Comments
 (0)