Skip to content

Commit e540cb6

Browse files
committed
Revert "darkmode test version"
This reverts commit 82fb3ec.
1 parent 82fb3ec commit e540cb6

20 files changed

Lines changed: 490 additions & 681 deletions

.claude/settings.local.json

Lines changed: 0 additions & 13 deletions
This file was deleted.

client/package-lock.json

Lines changed: 344 additions & 411 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/src/App.vue

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,3 @@
11
<template>
2-
<div class="min-h-screen bg-white dark:bg-dark-bg text-gray-900 dark:text-dark-text">
3-
<router-view />
4-
</div>
5-
</template>
6-
7-
<script setup>
8-
import { useDarkMode } from '@/composables/useDarkMode'
9-
10-
// 初始化黑夜模式
11-
const { initTheme } = useDarkMode()
12-
initTheme()
13-
</script>
2+
<router-view />
3+
</template>

client/src/components/ArticleCard.vue

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="bg-white dark:bg-dark-surface rounded-lg shadow-sm overflow-hidden border dark:border-dark-border hover:shadow-md transition duration-300">
2+
<div class="bg-white rounded-lg shadow-sm overflow-hidden border hover:shadow-md transition duration-300">
33
<!-- 文章封面图(如果有) -->
44
<img v-if="article.coverImage"
55
:src="article.coverImage"
@@ -9,11 +9,11 @@
99
<div class="p-4">
1010
<!-- 文章标题 -->
1111
<router-link :to="`/posts/${article.id}`" class="block">
12-
<h2 class="text-xl font-bold text-gray-800 dark:text-dark-text hover:text-blue-600 dark:hover:text-dark-accent mb-2">{{ article.title || '无标题文章' }}</h2>
12+
<h2 class="text-xl font-bold text-gray-800 hover:text-blue-600 mb-2">{{ article.title || '无标题文章' }}</h2>
1313
</router-link>
1414

1515
<!-- 文章元信息 -->
16-
<div class="flex items-center text-sm text-gray-500 dark:text-dark-muted mb-3">
16+
<div class="flex items-center text-sm text-gray-500 mb-3">
1717
<span v-if="article.author" class="flex items-center mr-4">
1818
<img :src="article.author.avatar || '/img/default-avatar.png'"
1919
:alt="article.author.username || '作者'"
@@ -31,22 +31,22 @@
3131
</div>
3232

3333
<!-- 文章摘要 -->
34-
<p class="text-gray-600 dark:text-dark-muted mb-4">
34+
<p class="text-gray-600 mb-4">
3535
{{ article.excerpt || (article.content && article.content.substring(0, 150) + '...') || '暂无摘要' }}
3636
</p>
3737

3838
<!-- 文章分类和标签 -->
3939
<div class="flex flex-wrap items-center">
4040
<router-link v-if="article.category"
4141
:to="`/categories/${article.category.slug || article.category.id}`"
42-
class="text-sm text-blue-600 dark:text-dark-accent bg-blue-50 dark:bg-dark-accent/20 px-2 py-1 rounded mr-2 mb-2">
42+
class="text-sm text-blue-600 bg-blue-50 px-2 py-1 rounded mr-2 mb-2">
4343
{{ article.category.name || '分类' }}
4444
</router-link>
4545

4646
<router-link v-for="tag in article.tags || []"
4747
:key="tag.id || tag"
4848
:to="`/tags/${tag.slug || tag.id || tag}`"
49-
class="text-sm text-gray-600 dark:text-dark-muted bg-gray-100 dark:bg-dark-card px-2 py-1 rounded mr-2 mb-2">
49+
class="text-sm text-gray-600 bg-gray-100 px-2 py-1 rounded mr-2 mb-2">
5050
# {{ tag.name || tag }}
5151
</router-link>
5252
</div>

client/src/components/CategoryList.vue

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<template>
2-
<div class="category-list bg-white dark:bg-dark-surface rounded-lg shadow-sm border dark:border-dark-border p-4">
3-
<h2 class="text-xl font-bold text-gray-800 dark:text-dark-text mb-4">{{ title || '分类' }}</h2>
2+
<div class="category-list bg-white rounded-lg shadow-sm border p-4">
3+
<h2 class="text-xl font-bold text-gray-800 mb-4">{{ title || '分类' }}</h2>
44

55
<div v-if="loading" class="text-center py-4">
66
<div class="animate-spin rounded-full h-6 w-6 border-t-2 border-b-2 border-blue-500 mx-auto"></div>
77
</div>
88

9-
<div v-else-if="categories.length === 0" class="text-gray-500 dark:text-dark-muted text-center py-2">
9+
<div v-else-if="categories.length === 0" class="text-gray-500 text-center py-2">
1010
暂无分类
1111
</div>
1212

@@ -15,11 +15,11 @@
1515
v-for="category in categories"
1616
:key="category.id"
1717
:to="`/categories/${category.slug}`"
18-
class="block px-3 py-2 rounded hover:bg-gray-100 dark:hover:bg-dark-card transition duration-200"
19-
:class="activeCategoryId === category.id ? 'bg-blue-100 dark:bg-dark-accent/20 text-blue-700 dark:text-dark-accent' : 'text-gray-700 dark:text-dark-text'"
18+
class="block px-3 py-2 rounded hover:bg-gray-100 transition duration-200"
19+
:class="activeCategoryId === category.id ? 'bg-blue-100 text-blue-700' : 'text-gray-700'"
2020
>
2121
{{ category.name }}
22-
<span v-if="showCount" class="text-gray-500 dark:text-dark-muted text-sm ml-1">({{ category.postCount || 0 }})</span>
22+
<span v-if="showCount" class="text-gray-500 text-sm ml-1">({{ category.postCount || 0 }})</span>
2323
</router-link>
2424
</div>
2525
</div>

client/src/components/CommentItem.vue

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="comment-item border-b dark:border-dark-border pb-4 last:border-b-0 last:pb-0">
2+
<div class="comment-item border-b pb-4 last:border-b-0 last:pb-0">
33
<!-- 主评论内容 -->
44
<div class="flex space-x-4">
55
<!-- 用户头像 -->
@@ -10,29 +10,29 @@
1010
alt="用户头像"
1111
class="w-10 h-10 rounded-full object-cover"
1212
>
13-
<div v-else class="w-10 h-10 rounded-full bg-gray-300 dark:bg-dark-card flex items-center justify-center text-gray-600 dark:text-dark-muted">
13+
<div v-else class="w-10 h-10 rounded-full bg-gray-300 flex items-center justify-center text-gray-600">
1414
{{ comment.user?.username?.[0] || '?' }}
1515
</div>
1616
</div>
1717

1818
<!-- 评论内容 -->
1919
<div class="flex-grow">
2020
<div class="flex items-center mb-1">
21-
<span class="font-semibold text-gray-800 dark:text-dark-text">{{ comment.user?.username || '未知用户' }}</span>
22-
<span class="text-xs text-gray-500 dark:text-dark-muted ml-2">{{ formatDate(comment.createdAt) }}</span>
21+
<span class="font-semibold text-gray-800">{{ comment.user?.username || '未知用户' }}</span>
22+
<span class="text-xs text-gray-500 ml-2">{{ formatDate(comment.createdAt) }}</span>
2323
</div>
2424

2525
<!-- 编辑模式 -->
2626
<div v-if="isEditing" class="mb-2">
2727
<textarea
2828
v-model="editContent"
29-
class="w-full p-2 border dark:border-dark-border bg-white dark:bg-dark-surface text-gray-900 dark:text-dark-text rounded focus:ring focus:ring-blue-200 dark:focus:ring-dark-accent/50 focus:border-blue-500 dark:focus:border-dark-accent"
29+
class="w-full p-2 border rounded focus:ring focus:ring-blue-200 focus:border-blue-500"
3030
rows="3"
3131
></textarea>
3232
<div class="flex justify-end space-x-2 mt-2">
3333
<button
3434
@click="isEditing = false"
35-
class="px-3 py-1 bg-gray-200 dark:bg-dark-card hover:bg-gray-300 dark:hover:bg-dark-card/80 text-gray-700 dark:text-dark-text rounded"
35+
class="px-3 py-1 bg-gray-200 hover:bg-gray-300 text-gray-700 rounded"
3636
>
3737
取消
3838
</button>
@@ -47,28 +47,28 @@
4747
</div>
4848

4949
<!-- 普通显示模式 -->
50-
<p v-else class="text-gray-700 dark:text-dark-text mb-2">{{ comment.content }}</p>
50+
<p v-else class="text-gray-700 mb-2">{{ comment.content }}</p>
5151

5252
<!-- 操作按钮 -->
53-
<div class="flex space-x-4 text-sm text-gray-500 dark:text-dark-muted">
53+
<div class="flex space-x-4 text-sm text-gray-500">
5454
<button
5555
v-if="!isEditing"
5656
@click="toggleReplyForm"
57-
class="hover:text-blue-600 dark:hover:text-dark-accent"
57+
class="hover:text-blue-600"
5858
>
5959
回复
6060
</button>
6161
<button
6262
v-if="canEdit && !isEditing"
6363
@click="startEditing"
64-
class="hover:text-blue-600 dark:hover:text-dark-accent"
64+
class="hover:text-blue-600"
6565
>
6666
编辑
6767
</button>
6868
<button
6969
v-if="canEdit && !isEditing"
7070
@click="confirmDelete"
71-
class="hover:text-red-600 dark:hover:text-red-400"
71+
class="hover:text-red-600"
7272
>
7373
删除
7474
</button>
@@ -78,14 +78,14 @@
7878
<div v-if="showReplyForm" class="mt-4">
7979
<textarea
8080
v-model="replyContent"
81-
class="w-full p-2 border dark:border-dark-border bg-white dark:bg-dark-surface text-gray-900 dark:text-dark-text placeholder-gray-500 dark:placeholder-dark-muted rounded focus:ring focus:ring-blue-200 dark:focus:ring-dark-accent/50 focus:border-blue-500 dark:focus:border-dark-accent"
81+
class="w-full p-2 border rounded focus:ring focus:ring-blue-200 focus:border-blue-500"
8282
rows="2"
8383
placeholder="写下你的回复..."
8484
></textarea>
8585
<div class="flex justify-end space-x-2 mt-2">
8686
<button
8787
@click="showReplyForm = false"
88-
class="px-3 py-1 bg-gray-200 dark:bg-dark-card hover:bg-gray-300 dark:hover:bg-dark-card/80 text-gray-700 dark:text-dark-text rounded"
88+
class="px-3 py-1 bg-gray-200 hover:bg-gray-300 text-gray-700 rounded"
8989
>
9090
取消
9191
</button>
@@ -100,7 +100,7 @@
100100
</div>
101101

102102
<!-- 嵌套回复 -->
103-
<div v-if="comment.replies && comment.replies.length > 0" class="mt-4 pl-4 border-l-2 border-gray-200 dark:border-dark-border space-y-4">
103+
<div v-if="comment.replies && comment.replies.length > 0" class="mt-4 pl-4 border-l-2 border-gray-200 space-y-4">
104104
<!-- 递归显示每条回复 -->
105105
<div v-for="reply in comment.replies" :key="reply.id" class="py-2">
106106
<div class="flex space-x-3">
@@ -112,31 +112,31 @@
112112
alt="用户头像"
113113
class="w-8 h-8 rounded-full object-cover"
114114
>
115-
<div v-else class="w-8 h-8 rounded-full bg-gray-300 dark:bg-dark-card flex items-center justify-center text-gray-600 dark:text-dark-muted text-sm">
115+
<div v-else class="w-8 h-8 rounded-full bg-gray-300 flex items-center justify-center text-gray-600 text-sm">
116116
{{ reply.user?.username?.[0] || '?' }}
117117
</div>
118118
</div>
119119

120120
<!-- 回复内容 -->
121121
<div class="flex-grow">
122122
<div class="flex items-center mb-1">
123-
<span class="font-semibold text-gray-800 dark:text-dark-text">{{ reply.user?.username || '未知用户' }}</span>
124-
<span class="text-xs text-gray-500 dark:text-dark-muted ml-2">{{ formatDate(reply.createdAt) }}</span>
123+
<span class="font-semibold text-gray-800">{{ reply.user?.username || '未知用户' }}</span>
124+
<span class="text-xs text-gray-500 ml-2">{{ formatDate(reply.createdAt) }}</span>
125125
</div>
126-
<p class="text-gray-700 dark:text-dark-text">{{ reply.content }}</p>
126+
<p class="text-gray-700">{{ reply.content }}</p>
127127

128128
<!-- 回复的操作按钮 -->
129-
<div v-if="isLoggedIn" class="flex space-x-4 text-xs text-gray-500 dark:text-dark-muted mt-1">
129+
<div v-if="isLoggedIn" class="flex space-x-4 text-xs text-gray-500 mt-1">
130130
<button
131131
@click="toggleReplyForm"
132-
class="hover:text-blue-600 dark:hover:text-dark-accent"
132+
class="hover:text-blue-600"
133133
>
134134
回复
135135
</button>
136136
<button
137137
v-if="isCurrentUser(reply.userId)"
138138
@click="confirmDeleteReply(reply.id)"
139-
class="hover:text-red-600 dark:hover:text-red-400"
139+
class="hover:text-red-600"
140140
>
141141
删除
142142
</button>

client/src/components/CommentSection.vue

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<template>
22
<div class="comment-section">
3-
<h3 class="text-xl font-bold text-gray-800 dark:text-dark-text mb-6">评论 ({{ totalComments }})</h3>
3+
<h3 class="text-xl font-bold text-gray-800 mb-6">评论 ({{ totalComments }})</h3>
44

55
<!-- 评论列表 -->
66
<div v-if="loading" class="py-4 text-center">
77
<div class="animate-spin rounded-full h-8 w-8 border-t-2 border-b-2 border-blue-500 mx-auto"></div>
88
</div>
99

10-
<div v-else-if="comments.length === 0" class="text-center py-6 text-gray-500 dark:text-dark-muted">
10+
<div v-else-if="comments.length === 0" class="text-center py-6 text-gray-500">
1111
暂无评论,成为第一个评论的人吧!
1212
</div>
1313

@@ -22,12 +22,12 @@
2222
</div>
2323

2424
<!-- 评论输入框 -->
25-
<div class="border-t dark:border-dark-border pt-6">
26-
<h4 class="text-lg font-semibold text-gray-800 dark:text-dark-text mb-4">发表评论</h4>
25+
<div class="border-t pt-6">
26+
<h4 class="text-lg font-semibold mb-4">发表评论</h4>
2727

28-
<div v-if="!isLoggedIn" class="bg-gray-50 dark:bg-dark-card p-4 rounded text-center">
29-
<p class="text-gray-600 dark:text-dark-muted mb-2">登录后才能发表评论</p>
30-
<router-link to="/login" class="text-blue-600 dark:text-dark-accent hover:underline">
28+
<div v-if="!isLoggedIn" class="bg-gray-50 p-4 rounded text-center">
29+
<p class="text-gray-600 mb-2">登录后才能发表评论</p>
30+
<router-link to="/login" class="text-blue-600 hover:underline">
3131
立即登录
3232
</router-link>
3333
</div>
@@ -36,7 +36,7 @@
3636
<div class="mb-4">
3737
<textarea
3838
v-model="newComment"
39-
class="w-full p-3 border dark:border-dark-border bg-white dark:bg-dark-surface text-gray-900 dark:text-dark-text placeholder-gray-500 dark:placeholder-dark-muted rounded-lg focus:ring focus:ring-blue-200 dark:focus:ring-dark-accent/50 focus:border-blue-500 dark:focus:border-dark-accent"
39+
class="w-full p-3 border rounded-lg focus:ring focus:ring-blue-200 focus:border-blue-500"
4040
rows="4"
4141
placeholder="写下你的评论..."
4242
></textarea>

client/src/components/Footer.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
<template>
2-
<footer class="bg-white dark:bg-dark-surface border-t dark:border-dark-border py-8">
2+
<footer class="bg-white border-t py-8">
33
<div class="container mx-auto px-4">
44
<div class="flex flex-col md:flex-row justify-between items-center">
55
<div class="mb-4 md:mb-0">
6-
<p class="text-gray-600 dark:text-dark-muted">
6+
<p class="text-gray-600">
77
© {{ currentYear }} Myshkin451博客. 保留所有权利.
88
<span class="text-xs">v2.0 - CI/CD Enabled!</span>
99
</p>
1010
</div>
1111

1212
<!-- 社交媒体链接(预留) -->
1313
<div class="flex space-x-4">
14-
<a href="#" class="text-gray-500 dark:text-dark-muted hover:text-gray-700 dark:hover:text-dark-text">
14+
<a href="#" class="text-gray-500 hover:text-gray-700">
1515
<span class="sr-only">GitHub</span>
1616
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24">
1717
<path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd"></path>

0 commit comments

Comments
 (0)