refactor: replace followed youtubers

feat:       switch site style to dark mode
This commit is contained in:
2026-01-30 16:49:32 +08:00
parent 21cae2336c
commit 12878d6e1c
14 changed files with 401 additions and 128 deletions

View File

@@ -7,8 +7,8 @@
body {
font-family: 'Roboto', Arial, sans-serif;
background-color: #f1f1f1;
color: #333;
background-color: #121212;
color: #ffffff;
}
/* 主容器 */
@@ -26,8 +26,8 @@ body {
justify-content: space-between;
padding: 0 16px;
height: 56px;
background-color: white;
border-bottom: 1px solid #e0e0e0;
background-color: #202020;
border-bottom: 1px solid #303030;
position: sticky;
top: 0;
z-index: 100;
@@ -45,7 +45,7 @@ body {
padding: 8px;
margin-right: 16px;
cursor: pointer;
color: #606060;
color: #909090;
}
.youtube-logo img {
@@ -70,11 +70,13 @@ body {
flex: 1;
height: 40px;
padding: 0 16px;
border: 1px solid #d3d3d3;
border: 1px solid #404040;
border-radius: 20px 0 0 20px;
font-size: 16px;
outline: none;
transition: all 0.3s ease;
background-color: #121212;
color: #ffffff;
}
.search-input:focus {
@@ -85,16 +87,16 @@ body {
.search-btn {
height: 40px;
padding: 0 20px;
background-color: #f8f8f8;
border: 1px solid #d3d3d3;
background-color: #303030;
border: 1px solid #404040;
border-left: none;
border-radius: 0 20px 20px 0;
cursor: pointer;
color: #606060;
color: #909090;
}
.search-btn:hover {
background-color: #f0f0f0;
background-color: #404040;
}
.voice-search-btn {
@@ -102,14 +104,14 @@ body {
height: 40px;
width: 40px;
border-radius: 50%;
background-color: #f8f8f8;
background-color: #303030;
border: none;
cursor: pointer;
color: #606060;
color: #909090;
}
.voice-search-btn:hover {
background-color: #f0f0f0;
background-color: #404040;
}
.header-right {
@@ -125,7 +127,7 @@ body {
padding: 8px 16px;
margin-right: 16px;
cursor: pointer;
color: #606060;
color: #909090;
font-size: 14px;
}
@@ -140,7 +142,7 @@ body {
padding: 8px;
margin-right: 16px;
cursor: pointer;
color: #606060;
color: #909090;
font-size: 20px;
}
@@ -149,7 +151,7 @@ body {
border: none;
padding: 8px;
cursor: pointer;
color: #606060;
color: #909090;
font-size: 20px;
}
@@ -163,8 +165,8 @@ body {
/* 侧边栏样式 */
.sidebar {
width: 240px;
background-color: white;
border-right: 1px solid #e0e0e0;
background-color: #202020;
border-right: 1px solid #303030;
overflow-y: auto;
flex-shrink: 0;
}
@@ -198,16 +200,16 @@ body {
text-align: left;
cursor: pointer;
font-size: 14px;
color: #333;
color: #ffffff;
transition: background-color 0.2s ease;
}
.nav-btn:hover {
background-color: rgba(0, 0, 0, 0.05);
background-color: rgba(255, 255, 255, 0.1);
}
.nav-btn.active {
background-color: rgba(0, 0, 0, 0.1);
background-color: rgba(255, 255, 255, 0.15);
font-weight: 500;
}
@@ -231,7 +233,7 @@ body {
}
.subscription-item:hover {
background-color: rgba(0, 0, 0, 0.05);
background-color: rgba(255, 255, 255, 0.1);
}
.subscription-avatar {
@@ -243,22 +245,16 @@ body {
overflow: hidden;
}
.subscription-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
.subscription-name {
font-size: 14px;
color: #333;
color: #ffffff;
}
.sidebar-footer {
padding: 16px 24px;
font-size: 12px;
color: #909090;
border-top: 1px solid #e0e0e0;
border-top: 1px solid #303030;
}
/* 视频内容区 */
@@ -266,7 +262,7 @@ body {
flex: 1;
overflow-y: auto;
padding: 24px;
background-color: #f9f9f9;
background-color: #121212;
}
/* 板块按钮 */
@@ -279,23 +275,24 @@ body {
.category-btn {
padding: 8px 16px;
background-color: white;
border: 1px solid #e0e0e0;
background-color: #303030;
border: 1px solid #404040;
border-radius: 20px;
cursor: pointer;
font-size: 14px;
font-weight: 500;
color: #ffffff;
transition: all 0.2s ease;
}
.category-btn:hover {
background-color: #f1f1f1;
background-color: #404040;
}
.category-btn.active {
background-color: #333;
color: white;
border-color: #333;
background-color: #ffffff;
color: #121212;
border-color: #ffffff;
}
/* 视频网格 */
@@ -308,7 +305,7 @@ body {
/* 视频卡片 */
.video-card {
background-color: white;
background-color: #202020;
border-radius: 12px;
transition: transform 0.2s ease, box-shadow 0.2s ease;
cursor: pointer;
@@ -327,14 +324,14 @@ body {
.video-card:hover {
transform: translateY(-4px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.video-thumbnail {
position: relative;
width: 100%;
padding-top: 56.25%; /* 16:9 比例 */
background-color: #f1f1f1;
background-color: #303030;
}
.video-thumbnail img {
@@ -382,11 +379,12 @@ body {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #ffffff;
}
.video-meta {
font-size: 12px;
color: #606060;
color: #909090;
line-height: 1.4;
}
@@ -395,10 +393,7 @@ body {
overflow: hidden;
text-overflow: ellipsis;
margin-bottom: 4px;
}
.video-stats {
display: flex;
display: flex;
gap: 8px;
}
@@ -411,7 +406,7 @@ body {
border: none;
padding: 8px;
cursor: pointer;
color: #606060;
color: #909090;
font-size: 16px;
opacity: 0;
transition: opacity 0.2s ease;
@@ -425,10 +420,10 @@ body {
position: absolute;
top: 100%;
right: 0;
background-color: white;
border: 1px solid #e0e0e0;
background-color: #202020;
border: 1px solid #303030;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
padding: 8px 0;
min-width: 200px;
z-index: 1000;
@@ -445,17 +440,18 @@ body {
padding: 8px 16px;
cursor: pointer;
font-size: 14px;
color: #ffffff;
transition: background-color 0.2s ease;
}
.menu-item:hover {
background-color: #f1f1f1;
background-color: #303030;
}
.menu-item i {
margin-right: 12px;
font-size: 16px;
color: #606060;
color: #909090;
}
/* Shorts 部分 */
@@ -467,6 +463,7 @@ body {
font-size: 20px;
font-weight: 500;
margin-bottom: 16px;
color: #ffffff;
}
.shorts-grid {
@@ -480,7 +477,7 @@ body {
position: relative;
width: 100%;
padding-top: 177.78%; /* 9:16 比例 */
background-color: #f1f1f1;
background-color: #303030;
border-radius: 12px;
overflow: hidden;
cursor: pointer;
@@ -489,7 +486,7 @@ body {
.shorts-card:hover {
transform: translateY(-4px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.shorts-thumbnail {
@@ -542,9 +539,9 @@ body {
top: 56px;
left: 0;
right: 0;
background-color: white;
border-bottom: 1px solid #e0e0e0;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
background-color: #202020;
border-bottom: 1px solid #303030;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
z-index: 99;
max-height: 80vh;
overflow-y: auto;
@@ -565,7 +562,7 @@ body {
}
.search-result-item:hover {
background-color: #f1f1f1;
background-color: #303030;
}
.search-result-thumbnail {
@@ -573,7 +570,7 @@ body {
height: 68px;
border-radius: 8px;
margin-right: 16px;
background-color: #f1f1f1;
background-color: #303030;
flex-shrink: 0;
}
@@ -600,22 +597,24 @@ body {
overflow: hidden;
text-overflow: ellipsis;
white-space: normal;
color: #ffffff;
}
.search-result-channel {
font-size: 12px;
color: #606060;
color: #909090;
margin-bottom: 2px;
}
.search-result-stats {
font-size: 12px;
color: #606060;
color: #909090;
}
.highlight {
background-color: #fff3cd;
background-color: #3d3d29;
font-weight: 500;
color: #ffffff;
}
/* 响应式设计 */