mirror of
				https://github.com/lutinglt/gitea-github-theme.git
				synced 2025-11-04 03:15:28 +00:00 
			
		
		
		
	Compare commits
	
		
			4 Commits
		
	
	
		
			77faa2ce63
			...
			v1.25.0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					90b618688b | ||
| 
						 | 
					6ddc5057a4 | ||
| 
						 | 
					ceb0fd0b0c | ||
| 
						 | 
					c766a16b08 | 
							
								
								
									
										31
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -1,24 +1,19 @@
 | 
				
			|||||||
### 🌈 Style
 | 
					### 🌈 Style
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- 优化顶部和二级导航栏的样式和颜色
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
##### 更符合 GitHub 风格
 | 
					##### 更符合 GitHub 风格
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- 修复并同步工单或 PR 详细页面下的标签菜单样式 #19
 | 
					- 优化用户动态
 | 
				
			||||||
- 统一仓库/用户/组织列表无搜索结果时的样式 #20
 | 
					- 优化顶部导航栏头像
 | 
				
			||||||
- 同步页脚样式
 | 
					- 优化设置页面
 | 
				
			||||||
- 优化下拉菜单的样式
 | 
					- 优化仓库活动页面
 | 
				
			||||||
- 优化创建标签菜单的菜单项的样式
 | 
					 | 
				
			||||||
- 同步亮色和柔和暗色主题下的菜单颜色
 | 
					 | 
				
			||||||
- 同步工作流运行页面的运行时间字体样式和重新运行按钮样式
 | 
					 | 
				
			||||||
- VSCode 和 VSCodium 图标添加颜色
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🐞 Fix
 | 
					## 📃 English
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- 修复 Wiki 页面搜索项目没有正确隐藏的问题 #15
 | 
					### 🌈 Style
 | 
				
			||||||
- 修复后台账户管理排序菜单项的宽度问题
 | 
					
 | 
				
			||||||
- 修复合并提交中的主色调按钮组阴影问题
 | 
					##### More aligned with GitHub style
 | 
				
			||||||
- 修复仓库页面下二级导航栏下划线过粗的问题
 | 
					
 | 
				
			||||||
- 修复仪表板切换用户按钮菜单下无创建组织按钮时的菜单圆角问题
 | 
					- Optimized user activity feed
 | 
				
			||||||
- 修复导航栏工单/PR等仪表板下筛选等菜单的子项的间距问题
 | 
					- Optimized top navigation bar avatars
 | 
				
			||||||
- 修复手机下仪表板二级导航栏用户菜单按钮没有居中的问题
 | 
					- Optimized settings page
 | 
				
			||||||
 | 
					- Optimized repository activity page
 | 
				
			||||||
@@ -48,10 +48,6 @@ Gitea 理论上小版本号变更不会修改前端布局, 所以主题的小版
 | 
				
			|||||||
3. 重启 Gitea
 | 
					3. 重启 Gitea
 | 
				
			||||||
4. 在设置中查看主题
 | 
					4. 在设置中查看主题
 | 
				
			||||||
 | 
					
 | 
				
			||||||
> [!IMPORTANT]
 | 
					 | 
				
			||||||
>
 | 
					 | 
				
			||||||
> 自动颜色主题需要亮色和暗色的主题文件
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
例: 主题文件名为 `theme-github-dark.css`,则添加 `github-dark` 到 `THEMES` 末尾
 | 
					例: 主题文件名为 `theme-github-dark.css`,则添加 `github-dark` 到 `THEMES` 末尾
 | 
				
			||||||
 | 
					
 | 
				
			||||||
`gitea/conf/app.ini` 例:
 | 
					`gitea/conf/app.ini` 例:
 | 
				
			||||||
@@ -64,6 +60,10 @@ THEMES = gitea-auto, gitea-light, gitea-dark, github-auto, github-light, github-
 | 
				
			|||||||
详细请查看 Gitea 文档
 | 
					详细请查看 Gitea 文档
 | 
				
			||||||
[Gitea docs](https://docs.gitea.com/next/administration/customizing-gitea#customizing-the-look-of-gitea)
 | 
					[Gitea docs](https://docs.gitea.com/next/administration/customizing-gitea#customizing-the-look-of-gitea)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> [!IMPORTANT]
 | 
				
			||||||
 | 
					>
 | 
				
			||||||
 | 
					> 自动颜色主题需要亮色和暗色的主题文件
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 截图
 | 
					## 截图
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 基本主题
 | 
					### 基本主题
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,10 +54,6 @@ accepted.
 | 
				
			|||||||
3. Restart Gitea
 | 
					3. Restart Gitea
 | 
				
			||||||
4. Check the theme in the settings
 | 
					4. Check the theme in the settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
> [!IMPORTANT]
 | 
					 | 
				
			||||||
>
 | 
					 | 
				
			||||||
> Automatic color theme requires both light and dark theme files.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Example: If the theme filename is `theme-github-dark.css`, add `github-dark` to the end of `THEMES`
 | 
					Example: If the theme filename is `theme-github-dark.css`, add `github-dark` to the end of `THEMES`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Example `gitea/conf/app.ini`:
 | 
					Example `gitea/conf/app.ini`:
 | 
				
			||||||
@@ -70,6 +66,10 @@ THEMES = gitea-auto, gitea-light, gitea-dark, github-auto, github-light, github-
 | 
				
			|||||||
For details, please refer to the Gitea documentation
 | 
					For details, please refer to the Gitea documentation
 | 
				
			||||||
[Gitea docs](https://docs.gitea.com/next/administration/customizing-gitea#customizing-the-look-of-gitea)
 | 
					[Gitea docs](https://docs.gitea.com/next/administration/customizing-gitea#customizing-the-look-of-gitea)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> [!IMPORTANT]
 | 
				
			||||||
 | 
					>
 | 
				
			||||||
 | 
					> Automatic color theme requires both light and dark theme files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Screenshots
 | 
					## Screenshots
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Basic Themes
 | 
					### Basic Themes
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "gitea-github-theme",
 | 
					  "name": "gitea-github-theme",
 | 
				
			||||||
  "version": "1.24.7",
 | 
					  "version": "1.25.0",
 | 
				
			||||||
  "type": "module",
 | 
					  "type": "module",
 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
    "dev": "vite build --mode dev",
 | 
					    "dev": "vite build --mode dev",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,7 +36,7 @@ export const actions = css`
 | 
				
			|||||||
        border-top-right-radius: ${otherThemeVars.border.radius};
 | 
					        border-top-right-radius: ${otherThemeVars.border.radius};
 | 
				
			||||||
        padding: 16px;
 | 
					        padding: 16px;
 | 
				
			||||||
        margin-bottom: 0;
 | 
					        margin-bottom: 0;
 | 
				
			||||||
        > .item {
 | 
					        > .ui.dropdown {
 | 
				
			||||||
          color: ${themeVars.color.text.light.num1};
 | 
					          color: ${themeVars.color.text.light.num1};
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -76,22 +76,25 @@ export const actions = css`
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        .flex-item {
 | 
					        .flex-item {
 | 
				
			||||||
          padding: 16px;
 | 
					          padding: 16px;
 | 
				
			||||||
 | 
					 | 
				
			||||||
          .flex-item-leading {
 | 
					          .flex-item-leading {
 | 
				
			||||||
            align-self: flex-start;
 | 
					            align-self: flex-start;
 | 
				
			||||||
            margin-top: 2px;
 | 
					            margin-top: 2px;
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 | 
					 | 
				
			||||||
          .flex-item-main {
 | 
					          .flex-item-main {
 | 
				
			||||||
            gap: 0.5rem;
 | 
					            gap: 0.5rem;
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 | 
					 | 
				
			||||||
          .flex-item-trailing {
 | 
					          .flex-item-trailing {
 | 
				
			||||||
            justify-content: space-between;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            > .ui.label {
 | 
					            > .ui.label {
 | 
				
			||||||
              border-radius: ${otherThemeVars.border.radius};
 | 
					              border-radius: ${otherThemeVars.border.radius};
 | 
				
			||||||
              margin-left: 32px;
 | 
					            }
 | 
				
			||||||
 | 
					            > .ui.dropdown.jump {
 | 
				
			||||||
 | 
					              color: ${themeVars.color.text.light.num1};
 | 
				
			||||||
 | 
					              &:hover {
 | 
				
			||||||
 | 
					                color: ${themeVars.color.primary.self};
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					              .menu > .item:hover {
 | 
				
			||||||
 | 
					                color: ${themeVars.color.text.self} !important;
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -223,25 +226,36 @@ export const actionViewRight = css`
 | 
				
			|||||||
  .action-view-right {
 | 
					  .action-view-right {
 | 
				
			||||||
    /* 提前加载高度和滚动条 */
 | 
					    /* 提前加载高度和滚动条 */
 | 
				
			||||||
    min-height: calc(100vh - 245px);
 | 
					    min-height: calc(100vh - 245px);
 | 
				
			||||||
 | 
					    // 作业详情页标题
 | 
				
			||||||
    .job-info-header {
 | 
					    .job-info-header {
 | 
				
			||||||
      padding: 16px 12px 16px 24px;
 | 
					      padding: 16px 12px 16px 24px !important;
 | 
				
			||||||
      height: 80px;
 | 
					      height: 80px !important;
 | 
				
			||||||
 | 
					      .job-info-header-left {
 | 
				
			||||||
        .job-info-header-title {
 | 
					        .job-info-header-title {
 | 
				
			||||||
        color: ${themeVars.github.fgColor.accent};
 | 
					          color: ${themeVars.github.fgColor.accent} !important;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					 | 
				
			||||||
        .job-info-header-detail {
 | 
					        .job-info-header-detail {
 | 
				
			||||||
          margin-top: 8px;
 | 
					          margin-top: 8px;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					      .job-info-header-right {
 | 
				
			||||||
 | 
					        .ui.dropdown {
 | 
				
			||||||
 | 
					          > .button {
 | 
				
			||||||
 | 
					            border: unset;
 | 
				
			||||||
 | 
					            padding: 7px !important;
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          .menu > .item > i.icon {
 | 
				
			||||||
 | 
					            margin-right: 2px;
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .job-step-container {
 | 
					    .job-step-container {
 | 
				
			||||||
      // 步骤标题
 | 
					      // 步骤标题
 | 
				
			||||||
      .job-step-summary {
 | 
					      .job-step-summary {
 | 
				
			||||||
        color: ${themeVars.color.console.fg.subtle};
 | 
					        color: ${themeVars.color.console.fg.subtle};
 | 
				
			||||||
        padding: 8px 10px;
 | 
					        padding: 8px 10px !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        &.selected {
 | 
					        &.selected {
 | 
				
			||||||
          // 滚动时固定在顶部的高度与 job-info-header 高度相同
 | 
					          // 滚动时固定在顶部的高度与 job-info-header 高度相同
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,7 +28,7 @@ export const commit = css`
 | 
				
			|||||||
        a.ui.basic.primary.label {
 | 
					        a.ui.basic.primary.label {
 | 
				
			||||||
          border-radius: 25px;
 | 
					          border-radius: 25px;
 | 
				
			||||||
          border-width: 1.5px;
 | 
					          border-width: 1.5px;
 | 
				
			||||||
          padding: 5px 8px !important;
 | 
					          padding: 3px 8px !important;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      // 提交信息右侧
 | 
					      // 提交信息右侧
 | 
				
			||||||
@@ -67,11 +67,38 @@ export const commit = css`
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
export const commitStatus = css`
 | 
					export const commitStatus = css`
 | 
				
			||||||
  .flex-text-inline[data-global-init="initCommitStatuses"] {
 | 
					  .flex-text-inline[data-global-init="initCommitStatuses"] {
 | 
				
			||||||
    padding: 6px;
 | 
					    padding: 3px;
 | 
				
			||||||
    margin-top: 2px;
 | 
					    margin-top: 2px;
 | 
				
			||||||
    border-radius: ${otherThemeVars.border.radius};
 | 
					    border-radius: ${otherThemeVars.border.radius};
 | 
				
			||||||
    &:hover {
 | 
					    &:hover {
 | 
				
			||||||
      background-color: ${themeVars.github.control.transparent.bgColor.hover};
 | 
					      background-color: ${themeVars.github.control.transparent.bgColor.hover};
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    svg {
 | 
				
			||||||
 | 
					      width: 16px;
 | 
				
			||||||
 | 
					      height: 16px;
 | 
				
			||||||
 | 
					      min-width: 16px;
 | 
				
			||||||
 | 
					      min-height: 16px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 提交图
 | 
				
			||||||
 | 
					export const commitGraph = css`
 | 
				
			||||||
 | 
					  .page-content.repository #git-graph-container {
 | 
				
			||||||
 | 
					    // 提交图的 SHA 标签
 | 
				
			||||||
 | 
					    li .ui.label.commit-id-short {
 | 
				
			||||||
 | 
					      height: 25px;
 | 
				
			||||||
 | 
					      // 验证提交 SHA 标签
 | 
				
			||||||
 | 
					      &.commit-is-signed {
 | 
				
			||||||
 | 
					        span.ui.label.commit-is-signed {
 | 
				
			||||||
 | 
					          height: 25px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    // 提交图的分支选择菜单框
 | 
				
			||||||
 | 
					    .ui.search.selection.dropdown > .menu > .item {
 | 
				
			||||||
 | 
					      flex-direction: row;
 | 
				
			||||||
 | 
					      align-items: center;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
`;
 | 
					`;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -181,17 +181,18 @@ export const repoFileView = css`
 | 
				
			|||||||
      top: 0;
 | 
					      top: 0;
 | 
				
			||||||
      // 左侧文件树
 | 
					      // 左侧文件树
 | 
				
			||||||
      .repo-view-file-tree-container {
 | 
					      .repo-view-file-tree-container {
 | 
				
			||||||
        height: calc(100vh - 64px); // 减去头部高度
 | 
					        height: 100vh;
 | 
				
			||||||
        // 固定头部
 | 
					        // 固定头部
 | 
				
			||||||
        position: sticky;
 | 
					        position: sticky;
 | 
				
			||||||
        top: 0;
 | 
					        top: 0;
 | 
				
			||||||
 | 
					        overflow-y: unset;
 | 
				
			||||||
        &:after {
 | 
					        &:after {
 | 
				
			||||||
          content: "";
 | 
					          content: "";
 | 
				
			||||||
          position: absolute;
 | 
					          position: absolute;
 | 
				
			||||||
          top: 0;
 | 
					          top: 0;
 | 
				
			||||||
          right: 0;
 | 
					          right: 0;
 | 
				
			||||||
          width: 1px;
 | 
					          width: 1px;
 | 
				
			||||||
          height: calc(100% + 64px); // 头部高度
 | 
					          height: 100%;
 | 
				
			||||||
          background: ${themeVars.color.secondary.self};
 | 
					          background: ${themeVars.color.secondary.self};
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        > .repo-button-row {
 | 
					        > .repo-button-row {
 | 
				
			||||||
@@ -282,6 +283,7 @@ export const repoFileView = css`
 | 
				
			|||||||
              font-size: 12px;
 | 
					              font-size: 12px;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            .file-header-right {
 | 
					            .file-header-right {
 | 
				
			||||||
 | 
					              gap: 0px;
 | 
				
			||||||
              // 按钮组
 | 
					              // 按钮组
 | 
				
			||||||
              > .ui.buttons {
 | 
					              > .ui.buttons {
 | 
				
			||||||
                margin: 0 8px 0 0 !important; // 完全不知道为什么浏览器最终效果没生效, 只能 !important 了
 | 
					                margin: 0 8px 0 0 !important; // 完全不知道为什么浏览器最终效果没生效, 只能 !important 了
 | 
				
			||||||
@@ -298,12 +300,14 @@ export const repoFileView = css`
 | 
				
			|||||||
                align-items: center;
 | 
					                align-items: center;
 | 
				
			||||||
                background: ${themeVars.color.button};
 | 
					                background: ${themeVars.color.button};
 | 
				
			||||||
                border: 1px solid ${themeVars.color.light.border};
 | 
					                border: 1px solid ${themeVars.color.light.border};
 | 
				
			||||||
 | 
					                border-left-width: 0;
 | 
				
			||||||
                height: 28px;
 | 
					                height: 28px;
 | 
				
			||||||
                padding: 0 8px;
 | 
					                padding: 0 8px;
 | 
				
			||||||
                svg {
 | 
					                svg {
 | 
				
			||||||
                  color: ${themeVars.color.text.light.num1};
 | 
					                  color: ${themeVars.color.text.light.num1};
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                &:first-of-type {
 | 
					                &:first-of-type {
 | 
				
			||||||
 | 
					                  border-left-width: 1px;
 | 
				
			||||||
                  border-top-left-radius: ${otherThemeVars.border.radius};
 | 
					                  border-top-left-radius: ${otherThemeVars.border.radius};
 | 
				
			||||||
                  border-bottom-left-radius: ${otherThemeVars.border.radius};
 | 
					                  border-bottom-left-radius: ${otherThemeVars.border.radius};
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -74,7 +74,13 @@ export const activity = css`
 | 
				
			|||||||
    box-shadow: ${themeVars.github.shadow.floating.small};
 | 
					    box-shadow: ${themeVars.github.shadow.floating.small};
 | 
				
			||||||
    > .flex-item {
 | 
					    > .flex-item {
 | 
				
			||||||
      gap: 12px;
 | 
					      gap: 12px;
 | 
				
			||||||
      padding: 12px 8px 16px 14px;
 | 
					      padding: 16px;
 | 
				
			||||||
 | 
					      > .flex-item-leading {
 | 
				
			||||||
 | 
					        img {
 | 
				
			||||||
 | 
					          width: 20px;
 | 
				
			||||||
 | 
					          height: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
      > .flex-item-main {
 | 
					      > .flex-item-main {
 | 
				
			||||||
        gap: 8px !important;
 | 
					        gap: 8px !important;
 | 
				
			||||||
        > div:not([class]) {
 | 
					        > div:not([class]) {
 | 
				
			||||||
@@ -82,14 +88,37 @@ export const activity = css`
 | 
				
			|||||||
          gap: 8px;
 | 
					          gap: 8px;
 | 
				
			||||||
          flex-wrap: wrap;
 | 
					          flex-wrap: wrap;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        relative-time {
 | 
					        > .tw-flex-col {
 | 
				
			||||||
 | 
					          gap: 0px !important;
 | 
				
			||||||
 | 
					          > .flex-text-block {
 | 
				
			||||||
 | 
					            gap: 4px;
 | 
				
			||||||
 | 
					            font-size: 12px;
 | 
				
			||||||
            color: ${themeVars.color.text.light.num1};
 | 
					            color: ${themeVars.color.text.light.num1};
 | 
				
			||||||
 | 
					            img {
 | 
				
			||||||
 | 
					              width: 14px;
 | 
				
			||||||
 | 
					              height: 14px;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            .ui.sha.label {
 | 
				
			||||||
 | 
					              margin-top: 0;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        > .flex-item-body {
 | 
				
			||||||
 | 
					          gap: 4px;
 | 
				
			||||||
 | 
					          font-size: 12px;
 | 
				
			||||||
 | 
					          color: ${themeVars.color.text.light.num1};
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        > a {
 | 
				
			||||||
 | 
					          font-size: 12px;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      // 动态的右侧 svg 图标
 | 
					      // 动态的右侧 svg 图标
 | 
				
			||||||
      .flex-item-trailing svg {
 | 
					      .flex-item-trailing {
 | 
				
			||||||
        height: 20px;
 | 
					        align-self: center;
 | 
				
			||||||
        width: 20px;
 | 
					        svg {
 | 
				
			||||||
 | 
					          height: 18px;
 | 
				
			||||||
 | 
					          width: 18px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    > .page.buttons {
 | 
					    > .page.buttons {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -73,6 +73,7 @@ export const issueList = css`
 | 
				
			|||||||
      > .flex-item {
 | 
					      > .flex-item {
 | 
				
			||||||
        align-items: center;
 | 
					        align-items: center;
 | 
				
			||||||
        padding: 0;
 | 
					        padding: 0;
 | 
				
			||||||
 | 
					        min-height: 64px;
 | 
				
			||||||
        &:last-child {
 | 
					        &:last-child {
 | 
				
			||||||
          border-bottom-left-radius: ${otherThemeVars.border.radius};
 | 
					          border-bottom-left-radius: ${otherThemeVars.border.radius};
 | 
				
			||||||
          border-bottom-right-radius: ${otherThemeVars.border.radius};
 | 
					          border-bottom-right-radius: ${otherThemeVars.border.radius};
 | 
				
			||||||
@@ -80,18 +81,16 @@ export const issueList = css`
 | 
				
			|||||||
        &:hover {
 | 
					        &:hover {
 | 
				
			||||||
          background-color: ${themeVars.color.hover.opaque};
 | 
					          background-color: ${themeVars.color.hover.opaque};
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        > .flex-item-icon {
 | 
					        > .flex-item-leading {
 | 
				
			||||||
          display: flex;
 | 
					          align-self: flex-start;
 | 
				
			||||||
          gap: 4px;
 | 
					          margin-top: 14px;
 | 
				
			||||||
          margin-left: 16px;
 | 
					          margin-left: 16px;
 | 
				
			||||||
 | 
					          > .flex-text-inline {
 | 
				
			||||||
 | 
					            margin-top: 0px !important;
 | 
				
			||||||
            // 复选框
 | 
					            // 复选框
 | 
				
			||||||
            input {
 | 
					            input {
 | 
				
			||||||
            background: unset;
 | 
					 | 
				
			||||||
            margin-top: 14px;
 | 
					 | 
				
			||||||
              margin-right: 8px !important;
 | 
					              margin-right: 8px !important;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          svg {
 | 
					 | 
				
			||||||
            margin-top: 14px;
 | 
					 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        > .flex-item-main {
 | 
					        > .flex-item-main {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -75,8 +75,7 @@ export const navbarRight = css`
 | 
				
			|||||||
      .item.ui.dropdown {
 | 
					      .item.ui.dropdown {
 | 
				
			||||||
        // 头像菜单
 | 
					        // 头像菜单
 | 
				
			||||||
        &:last-child {
 | 
					        &:last-child {
 | 
				
			||||||
          padding-left: 2px; // 调整此选项需同步增减相同的标识的 left
 | 
					          padding: 0;
 | 
				
			||||||
          padding-right: 16px;
 | 
					 | 
				
			||||||
          .text {
 | 
					          .text {
 | 
				
			||||||
            // 不显示小箭头标识
 | 
					            // 不显示小箭头标识
 | 
				
			||||||
            > .not-mobile {
 | 
					            > .not-mobile {
 | 
				
			||||||
@@ -87,20 +86,12 @@ export const navbarRight = css`
 | 
				
			|||||||
              border-radius: 25px;
 | 
					              border-radius: 25px;
 | 
				
			||||||
              height: 32px;
 | 
					              height: 32px;
 | 
				
			||||||
              max-height: 32px;
 | 
					              max-height: 32px;
 | 
				
			||||||
 | 
					              margin: 0 !important;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 | 
					          &.active {
 | 
				
			||||||
 | 
					            background: unset;
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        // 用户头像的管理员标识
 | 
					 | 
				
			||||||
        .navbar-profile-admin {
 | 
					 | 
				
			||||||
          background-color: ${themeVars.github.bgColor.accent.emphasis};
 | 
					 | 
				
			||||||
          border-radius: 25px;
 | 
					 | 
				
			||||||
          border: 2px solid ${themeVars.color.nav.bg};
 | 
					 | 
				
			||||||
          color: ${themeVars.color.white};
 | 
					 | 
				
			||||||
          font-size: 9px;
 | 
					 | 
				
			||||||
          font-weight: 600;
 | 
					 | 
				
			||||||
          padding: 2px 5px;
 | 
					 | 
				
			||||||
          top: -7px;
 | 
					 | 
				
			||||||
          left: 21px;
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      // 通知和计时器的圆点
 | 
					      // 通知和计时器的圆点
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -90,7 +90,7 @@ export const notification = css`
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
      // 通知列表
 | 
					      // 通知列表
 | 
				
			||||||
      &:has(#notification_table) {
 | 
					      &:has(#notification_table) {
 | 
				
			||||||
        > .tw-flex:first-child {
 | 
					        > .flex-text-block:first-child {
 | 
				
			||||||
          background-color: ${themeVars.color.box.header};
 | 
					          background-color: ${themeVars.color.box.header};
 | 
				
			||||||
          border: 1px solid ${themeVars.color.light.border};
 | 
					          border: 1px solid ${themeVars.color.light.border};
 | 
				
			||||||
          border-bottom: 0;
 | 
					          border-bottom: 0;
 | 
				
			||||||
@@ -137,7 +137,7 @@ export const notification = css`
 | 
				
			|||||||
        color: ${themeVars.color.text.light.num1};
 | 
					        color: ${themeVars.color.text.light.num1};
 | 
				
			||||||
        > .notifications-item {
 | 
					        > .notifications-item {
 | 
				
			||||||
          border-top: 1px solid ${themeVars.color.light.border};
 | 
					          border-top: 1px solid ${themeVars.color.light.border};
 | 
				
			||||||
          padding: 8px !important;
 | 
					          padding: 12px !important;
 | 
				
			||||||
          &:first-child {
 | 
					          &:first-child {
 | 
				
			||||||
            border-top: 0;
 | 
					            border-top: 0;
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
@@ -153,11 +153,11 @@ export const notification = css`
 | 
				
			|||||||
            box-shadow: 2px 0 0 ${themeVars.github.borderColor.accent.emphasis} inset;
 | 
					            box-shadow: 2px 0 0 ${themeVars.github.borderColor.accent.emphasis} inset;
 | 
				
			||||||
            color: ${themeVars.color.text.self};
 | 
					            color: ${themeVars.color.text.self};
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          > .notifications-link {
 | 
					          > .notifications-link > div{
 | 
				
			||||||
            > .notifications-top-row {
 | 
					            &:first-child {
 | 
				
			||||||
              font-size: 12px !important;
 | 
					              font-size: 12px !important;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            > .notifications-bottom-row {
 | 
					            &:last-child {
 | 
				
			||||||
              font-size: 14px !important;
 | 
					              font-size: 14px !important;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,10 +48,14 @@ export const tags = css`
 | 
				
			|||||||
      .tag-list-row-title {
 | 
					      .tag-list-row-title {
 | 
				
			||||||
        line-height: 1.5;
 | 
					        line-height: 1.5;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      .download {
 | 
					      .muted-links {
 | 
				
			||||||
        color: ${themeVars.color.text.light.num1};
 | 
					        color: ${themeVars.color.text.light.num1};
 | 
				
			||||||
        font-size: 12px;
 | 
					        font-size: 12px;
 | 
				
			||||||
        a.muted:hover {
 | 
					        svg {
 | 
				
			||||||
 | 
					          min-width: 12px;
 | 
				
			||||||
 | 
					          width: 12px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        a:hover {
 | 
				
			||||||
          text-decoration: none;
 | 
					          text-decoration: none;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -74,7 +74,7 @@ export const repoTopic = css`
 | 
				
			|||||||
    border-radius: 25px;
 | 
					    border-radius: 25px;
 | 
				
			||||||
    font-size: 12px;
 | 
					    font-size: 12px;
 | 
				
			||||||
    font-weight: 500;
 | 
					    font-weight: 500;
 | 
				
			||||||
    padding: 5px 10px;
 | 
					    padding: 2.5px 10px;
 | 
				
			||||||
    background-color: ${themeVars.github.bgColor.accent.muted};
 | 
					    background-color: ${themeVars.github.bgColor.accent.muted};
 | 
				
			||||||
    color: ${themeVars.github.fgColor.accent};
 | 
					    color: ${themeVars.github.fgColor.accent};
 | 
				
			||||||
    &:hover {
 | 
					    &:hover {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,6 +7,7 @@ export const attached = css`
 | 
				
			|||||||
  .user-setting-content,
 | 
					  .user-setting-content,
 | 
				
			||||||
  .org-setting-content,
 | 
					  .org-setting-content,
 | 
				
			||||||
  .admin-setting-content,
 | 
					  .admin-setting-content,
 | 
				
			||||||
 | 
					  // 仓库动态页面
 | 
				
			||||||
  // 新建页面内容
 | 
					  // 新建页面内容
 | 
				
			||||||
  .page-content.repository.new-repo,
 | 
					  .page-content.repository.new-repo,
 | 
				
			||||||
  .page-content.repository.new.migrate,
 | 
					  .page-content.repository.new.migrate,
 | 
				
			||||||
@@ -18,19 +19,45 @@ export const attached = css`
 | 
				
			|||||||
      font-weight: 400;
 | 
					      font-weight: 400;
 | 
				
			||||||
      background-color: unset !important;
 | 
					      background-color: unset !important;
 | 
				
			||||||
      margin-bottom: 0.25rem;
 | 
					      margin-bottom: 0.25rem;
 | 
				
			||||||
 | 
					      padding-left: 0;
 | 
				
			||||||
 | 
					      padding-right: 0;
 | 
				
			||||||
 | 
					      > .ui.right {
 | 
				
			||||||
 | 
					        right: 0;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    .ui.attached.segment {
 | 
					    .ui.attached.segment {
 | 
				
			||||||
      background-color: unset;
 | 
					      background-color: unset;
 | 
				
			||||||
      border-radius: ${otherThemeVars.border.radius} !important;
 | 
					      border-top-left-radius: ${otherThemeVars.border.radius} !important;
 | 
				
			||||||
    }
 | 
					      border-top-right-radius: ${otherThemeVars.border.radius} !important;
 | 
				
			||||||
 | 
					      border-bottom-left-radius: 0 !important;
 | 
				
			||||||
    .ui.attached.segment:not(.error) {
 | 
					      border-bottom-right-radius: 0 !important;
 | 
				
			||||||
      border: 1px solid ${themeVars.color.light.border} !important;
 | 
					      border: 1px solid ${themeVars.color.light.border} !important;
 | 
				
			||||||
 | 
					      + .ui.attached.segment {
 | 
				
			||||||
 | 
					        border-top: 0 !important;
 | 
				
			||||||
 | 
					        border-top-left-radius: 0 !important;
 | 
				
			||||||
 | 
					        border-top-right-radius: 0 !important;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      &:has(+ :not(.ui.attached.segment)),
 | 
				
			||||||
 | 
					      &:last-child {
 | 
				
			||||||
 | 
					        border-bottom-left-radius: ${otherThemeVars.border.radius} !important;
 | 
				
			||||||
 | 
					        border-bottom-right-radius: ${otherThemeVars.border.radius} !important;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    .ui.attached.segment.error {
 | 
					    .ui.attached.segment.error {
 | 
				
			||||||
      border: 1px solid ${themeVars.color.error.border} !important;
 | 
					      border: 1px solid ${themeVars.color.error.border} !important;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
`;
 | 
					`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 仓库活动页面下的边框线修复
 | 
				
			||||||
 | 
					export const fixActivity = css`
 | 
				
			||||||
 | 
					  .page-content.repository.commits .flex-container-main:has(.ui.header.activity-header) {
 | 
				
			||||||
 | 
					    > .ui.attached.segment {
 | 
				
			||||||
 | 
					      border-radius: 0;
 | 
				
			||||||
 | 
					      &:has(+ :not(.ui.attached.segment)) {
 | 
				
			||||||
 | 
					        border-bottom-left-radius: ${otherThemeVars.border.radius};
 | 
				
			||||||
 | 
					        border-bottom-right-radius: ${otherThemeVars.border.radius};
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					`;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										7
									
								
								styles/public/base.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								styles/public/base.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					import { css } from "src/types/vars";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const body = css`
 | 
				
			||||||
 | 
					  body {
 | 
				
			||||||
 | 
					    line-height: 18px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					`;
 | 
				
			||||||
@@ -118,6 +118,7 @@ export const fixButtonHeight = css`
 | 
				
			|||||||
    .ui.labeled.button > .label {
 | 
					    .ui.labeled.button > .label {
 | 
				
			||||||
      height: 28px;
 | 
					      height: 28px;
 | 
				
			||||||
      min-height: 28px;
 | 
					      min-height: 28px;
 | 
				
			||||||
 | 
					      line-height: 1.5;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  .ui.ui.ui.ui.small.button.compact .ui.tiny.buttons .button,
 | 
					  .ui.ui.ui.ui.small.button.compact .ui.tiny.buttons .button,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -57,7 +57,7 @@ export const dropdown = css`
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        svg {
 | 
					        svg {
 | 
				
			||||||
          margin-top: 2px;
 | 
					          margin-top: 2px;
 | 
				
			||||||
          margin-right: 4px;
 | 
					          margin-right: 2px;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        // 复选框对齐
 | 
					        // 复选框对齐
 | 
				
			||||||
        .ui.checkbox input[type="checkbox"] {
 | 
					        .ui.checkbox input[type="checkbox"] {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
// organize-imports-ignore
 | 
					// organize-imports-ignore
 | 
				
			||||||
// tslint:disable:ordered-imports
 | 
					// tslint:disable:ordered-imports
 | 
				
			||||||
// 组件导入有顺序, 禁止插件优化
 | 
					// 组件导入有顺序, 禁止插件优化
 | 
				
			||||||
 | 
					import "./base"; // 基础样式, 确保在其他样式之前导入
 | 
				
			||||||
import "./radius"; // 圆角, 此样式为基础样式, 确保在其他样式之前导入
 | 
					import "./radius"; // 圆角, 此样式为基础样式, 确保在其他样式之前导入
 | 
				
			||||||
import "./animation"; // 动画效果
 | 
					import "./animation"; // 动画效果
 | 
				
			||||||
import "./transition"; // 过渡效果
 | 
					import "./transition"; // 过渡效果
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,6 +8,7 @@ export const label = css`
 | 
				
			|||||||
    &.ui.ui.ui {
 | 
					    &.ui.ui.ui {
 | 
				
			||||||
      &.label {
 | 
					      &.label {
 | 
				
			||||||
        border-radius: 25px;
 | 
					        border-radius: 25px;
 | 
				
			||||||
 | 
					        padding: 1.5px 6px;
 | 
				
			||||||
        // 多个标签的组合标签的圆角修复
 | 
					        // 多个标签的组合标签的圆角修复
 | 
				
			||||||
        &.scope-parent {
 | 
					        &.scope-parent {
 | 
				
			||||||
          .scope-left {
 | 
					          .scope-left {
 | 
				
			||||||
@@ -99,10 +100,14 @@ export const shaLabel = css`
 | 
				
			|||||||
      span.ui.label.commit-is-signed {
 | 
					      span.ui.label.commit-is-signed {
 | 
				
			||||||
        padding: 3px 5px;
 | 
					        padding: 3px 5px;
 | 
				
			||||||
        margin-left: 5px;
 | 
					        margin-left: 5px;
 | 
				
			||||||
 | 
					        height: 25px;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  // 修复带验证的提交 SHA 标签的高度
 | 
				
			||||||
 | 
					  .ui.label.commit-id-short {
 | 
				
			||||||
 | 
					    height: 25px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  // 验证提交附带的图标
 | 
					  // 验证提交附带的图标
 | 
				
			||||||
  span.ui.label.commit-is-signed {
 | 
					  span.ui.label.commit-is-signed {
 | 
				
			||||||
    // 验证信任
 | 
					    // 验证信任
 | 
				
			||||||
@@ -181,7 +186,7 @@ export const repoLabel = css`
 | 
				
			|||||||
      color: ${themeVars.color.text.light.num1};
 | 
					      color: ${themeVars.color.text.light.num1};
 | 
				
			||||||
      font-size: 12px;
 | 
					      font-size: 12px;
 | 
				
			||||||
      font-weight: 500;
 | 
					      font-weight: 500;
 | 
				
			||||||
      padding: 3px 6px;
 | 
					      padding: 1.5px 6px;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  .org-visibility span.ui.basic.label {
 | 
					  .org-visibility span.ui.basic.label {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -139,6 +139,10 @@ export const menu = css`
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  // 菜单标签样式
 | 
				
			||||||
 | 
					  .ui.menu .item>.label:not(.floating) {
 | 
				
			||||||
 | 
					    padding: 1.5px 6px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
`;
 | 
					`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const secondaryMenu = css`
 | 
					export const secondaryMenu = css`
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user