feat: ✨ update to gitea 1.21.3 and fix some issues
+ update the theme to work with latest gitea + fix some issues with the project view
This commit is contained in:
parent
4a1ddf4bed
commit
4bee2a7f60
32
README.md
32
README.md
@ -53,4 +53,34 @@ $ npm run serve -- --server path/to/gitea/custom
|
|||||||
$ npm run serve -- --server ~/gitea/custom
|
$ npm run serve -- --server ~/gitea/custom
|
||||||
# on windows
|
# on windows
|
||||||
$ npm run serve -- -- --server c:/gitea/custom
|
$ npm run serve -- -- --server c:/gitea/custom
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
# Changes in templates
|
||||||
|
|
||||||
|
## `home.tmpl`
|
||||||
|
|
||||||
|
Here we remove everything (default gitea welcome page). We only keep the logo and the header with the login button.
|
||||||
|
|
||||||
|
## `base/head_navbar.tmpl`
|
||||||
|
|
||||||
|
The only change here is to make the logo smaller.
|
||||||
|
|
||||||
|
```diff
|
||||||
|
- <img height="30" width="30" src="{{AssetUrlPrefix}}/img/logo.svg" alt="{{ctx.Locale.Tr "logo"}}" aria-hidden="true">
|
||||||
|
+ <img height="24" src="{{AssetUrlPrefix}}/img/logo.svg" alt="{{ctx.Locale.Tr "logo"}}" aria-hidden="true">
|
||||||
|
```
|
||||||
|
|
||||||
|
## `repo/home.tmpl`
|
||||||
|
|
||||||
|
+ adds `<div class="lugit-repo-header-data">...</div>` as a wrapper for the repo header data (description + labels)
|
||||||
|
+ adds `<div class="lugit-repo-content">` as a wrapper for the repo content (files, commits, branches, etc.)
|
||||||
|
|
||||||
|
Later we use css to go from default 1 column layout to 2 column layout more similar to github's design.
|
||||||
|
|
||||||
|
```diff
|
||||||
|
- <div class="ui container {{if .IsBlame}}fluid padded{{end}}>
|
||||||
|
+ <div class="ui container {{if .IsBlame}}fluid padded{{end}} {{if and (not .IIsViewFile) (not .IsBlame)}}lugit-repo-list-view{{end}}">
|
||||||
|
```
|
||||||
|
|
||||||
|
Adds the class `lugit-repo-list-view` to the container of the repo content (only when we are not viewing a file or in blame view). This allows us to change the layout of the main repo view, except when viewing a file or in blame view.
|
||||||
|
30
dist/public/assets/css/theme-dark.css
vendored
30
dist/public/assets/css/theme-dark.css
vendored
@ -2199,13 +2199,14 @@
|
|||||||
--color-expand-button: var(--c-elevation_6);
|
--color-expand-button: var(--c-elevation_6);
|
||||||
--color-placeholder-text: var(--c-elevation_6);
|
--color-placeholder-text: var(--c-elevation_6);
|
||||||
--color-editor-line-highlight: var(--color-primary-light-5);
|
--color-editor-line-highlight: var(--color-primary-light-5);
|
||||||
--color-project-board-bg: var(--color-secondary-light-2);
|
--color-project-board-bg: var(--c-elevation_2);
|
||||||
--color-caret: var(--color-text);
|
--color-caret: var(--color-text);
|
||||||
--color-reaction-bg: rgba(var(--c-text-rgb), 0.07);
|
--color-reaction-bg: rgba(var(--c-text-rgb), 0.07);
|
||||||
--color-reaction-active-bg: var(--color-primary-alpha-40);
|
--color-reaction-active-bg: var(--color-primary-alpha-40);
|
||||||
--color-nav-bg: var(--c-elevation_2);
|
--color-nav-bg: var(--c-elevation_2);
|
||||||
--color-nav-hover-bg: var(--c-elevation_6);
|
--color-nav-hover-bg: var(--c-elevation_6);
|
||||||
--color-label-active-bg: var(--c-elevation_6);
|
--color-label-active-bg: var(--c-elevation_6);
|
||||||
|
--color-label-text: var(--c-text);
|
||||||
--color-accent: var(--color-primary-light-1);
|
--color-accent: var(--color-primary-light-1);
|
||||||
--color-small-accent: var(--color-primary-light-5);
|
--color-small-accent: var(--color-primary-light-5);
|
||||||
--color-active-line: var(--c-elevation_5);
|
--color-active-line: var(--c-elevation_5);
|
||||||
@ -2839,6 +2840,8 @@ footer .ui.dropdown .menu {
|
|||||||
min-width: calc(var(--v-measure_1\.25x) + 6px);
|
min-width: calc(var(--v-measure_1\.25x) + 6px);
|
||||||
padding: 6px;
|
padding: 6px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
||||||
.header-wrapper .ui.tabular.menu.navbar .item:hover {
|
.header-wrapper .ui.tabular.menu.navbar .item:hover {
|
||||||
background-color: var(--c-elevation_4);
|
background-color: var(--c-elevation_4);
|
||||||
@ -2846,6 +2849,7 @@ footer .ui.dropdown .menu {
|
|||||||
|
|
||||||
#repo-topics {
|
#repo-topics {
|
||||||
row-gap: var(--v-measure_\.5x);
|
row-gap: var(--v-measure_\.5x);
|
||||||
|
margin-top: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.table > tr > td, .ui.table > tbody > tr > td {
|
.ui.table > tr > td, .ui.table > tbody > tr > td {
|
||||||
@ -2962,6 +2966,21 @@ footer .ui.dropdown .menu {
|
|||||||
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 {
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 {
|
||||||
margin: 0px !important;
|
margin: 0px !important;
|
||||||
}
|
}
|
||||||
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 div.fluid.multiple.search.selection.dropdown {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
box-shadow: none;
|
||||||
|
padding: var(--v-measure_\.25x) var(--v-measure_\.5x);
|
||||||
|
}
|
||||||
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 div.fluid.multiple.search.selection.dropdown .item {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 div.fluid.multiple.search.selection.dropdown .menu {
|
||||||
|
top: calc(100% + 1px);
|
||||||
|
}
|
||||||
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 .dropdown {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 + div {
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 + div {
|
||||||
display: flex;
|
display: flex;
|
||||||
column-gap: var(--v-measure_1x);
|
column-gap: var(--v-measure_1x);
|
||||||
@ -2973,4 +2992,13 @@ footer .ui.dropdown .menu {
|
|||||||
}
|
}
|
||||||
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #repo-topics {
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #repo-topics {
|
||||||
margin-top: var(--v-measure_1x) !important;
|
margin-top: var(--v-measure_1x) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#project-board .project-column-header .project-column-title .circular.label {
|
||||||
|
display: flex;
|
||||||
|
padding: 0 !important;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
line-height: 16px;
|
||||||
|
padding: 0 var(--v-measure_\.25x) !important;
|
||||||
}
|
}
|
30
dist/public/assets/css/theme-light.css
vendored
30
dist/public/assets/css/theme-light.css
vendored
@ -2199,13 +2199,14 @@
|
|||||||
--color-expand-button: var(--c-elevation_6);
|
--color-expand-button: var(--c-elevation_6);
|
||||||
--color-placeholder-text: var(--c-elevation_6);
|
--color-placeholder-text: var(--c-elevation_6);
|
||||||
--color-editor-line-highlight: var(--color-primary-light-5);
|
--color-editor-line-highlight: var(--color-primary-light-5);
|
||||||
--color-project-board-bg: var(--color-secondary-light-2);
|
--color-project-board-bg: var(--c-elevation_2);
|
||||||
--color-caret: var(--color-text);
|
--color-caret: var(--color-text);
|
||||||
--color-reaction-bg: rgba(var(--c-text-rgb), 0.07);
|
--color-reaction-bg: rgba(var(--c-text-rgb), 0.07);
|
||||||
--color-reaction-active-bg: var(--color-primary-alpha-40);
|
--color-reaction-active-bg: var(--color-primary-alpha-40);
|
||||||
--color-nav-bg: var(--c-elevation_2);
|
--color-nav-bg: var(--c-elevation_2);
|
||||||
--color-nav-hover-bg: var(--c-elevation_6);
|
--color-nav-hover-bg: var(--c-elevation_6);
|
||||||
--color-label-active-bg: var(--c-elevation_6);
|
--color-label-active-bg: var(--c-elevation_6);
|
||||||
|
--color-label-text: var(--c-text);
|
||||||
--color-accent: var(--color-primary-light-1);
|
--color-accent: var(--color-primary-light-1);
|
||||||
--color-small-accent: var(--color-primary-light-5);
|
--color-small-accent: var(--color-primary-light-5);
|
||||||
--color-active-line: var(--c-elevation_5);
|
--color-active-line: var(--c-elevation_5);
|
||||||
@ -2839,6 +2840,8 @@ footer .ui.dropdown .menu {
|
|||||||
min-width: calc(var(--v-measure_1\.25x) + 6px);
|
min-width: calc(var(--v-measure_1\.25x) + 6px);
|
||||||
padding: 6px;
|
padding: 6px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
||||||
.header-wrapper .ui.tabular.menu.navbar .item:hover {
|
.header-wrapper .ui.tabular.menu.navbar .item:hover {
|
||||||
background-color: var(--c-elevation_4);
|
background-color: var(--c-elevation_4);
|
||||||
@ -2846,6 +2849,7 @@ footer .ui.dropdown .menu {
|
|||||||
|
|
||||||
#repo-topics {
|
#repo-topics {
|
||||||
row-gap: var(--v-measure_\.5x);
|
row-gap: var(--v-measure_\.5x);
|
||||||
|
margin-top: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.table > tr > td, .ui.table > tbody > tr > td {
|
.ui.table > tr > td, .ui.table > tbody > tr > td {
|
||||||
@ -2962,6 +2966,21 @@ footer .ui.dropdown .menu {
|
|||||||
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 {
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 {
|
||||||
margin: 0px !important;
|
margin: 0px !important;
|
||||||
}
|
}
|
||||||
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 div.fluid.multiple.search.selection.dropdown {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
box-shadow: none;
|
||||||
|
padding: var(--v-measure_\.25x) var(--v-measure_\.5x);
|
||||||
|
}
|
||||||
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 div.fluid.multiple.search.selection.dropdown .item {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 div.fluid.multiple.search.selection.dropdown .menu {
|
||||||
|
top: calc(100% + 1px);
|
||||||
|
}
|
||||||
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 .dropdown {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 + div {
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #topic_edit .field.gt-f1.gt-mr-3 + div {
|
||||||
display: flex;
|
display: flex;
|
||||||
column-gap: var(--v-measure_1x);
|
column-gap: var(--v-measure_1x);
|
||||||
@ -2973,4 +2992,13 @@ footer .ui.dropdown .menu {
|
|||||||
}
|
}
|
||||||
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #repo-topics {
|
.page-content.repository.file.list > .ui.container.lugit-repo-list-view #repo-topics {
|
||||||
margin-top: var(--v-measure_1x) !important;
|
margin-top: var(--v-measure_1x) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#project-board .project-column-header .project-column-title .circular.label {
|
||||||
|
display: flex;
|
||||||
|
padding: 0 !important;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
line-height: 16px;
|
||||||
|
padding: 0 var(--v-measure_\.25x) !important;
|
||||||
}
|
}
|
30
dist/templates/base/footer_content.tmpl
vendored
30
dist/templates/base/footer_content.tmpl
vendored
@ -1,30 +0,0 @@
|
|||||||
<footer class="page-footer" role="group" aria-label="{{ctx.Locale.Tr "aria.footer"}}">
|
|
||||||
<div class="left-links" role="contentinfo" aria-label="{{ctx.Locale.Tr "aria.footer.software"}}">
|
|
||||||
<a target="_blank" rel="noopener noreferrer" href="https://about.gitea.com">{{ctx.Locale.Tr "powered_by" "Gitea"}}</a>
|
|
||||||
{{if (or .ShowFooterVersion .PageIsAdmin)}}
|
|
||||||
{{ctx.Locale.Tr "version"}}:
|
|
||||||
{{if .IsAdmin}}
|
|
||||||
<a href="{{AppSubUrl}}/admin/config">{{AppVer}}</a>
|
|
||||||
{{else}}
|
|
||||||
{{AppVer}}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
{{if and .TemplateLoadTimes ShowFooterTemplateLoadTime}}
|
|
||||||
{{ctx.Locale.Tr "page"}}: <strong>{{LoadTimes .PageStartTime}}</strong>
|
|
||||||
{{ctx.Locale.Tr "template"}}{{if .TemplateName}} {{.TemplateName}}{{end}}: <strong>{{call .TemplateLoadTimes}}</strong>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
<div class="right-links" role="group" aria-label="{{ctx.Locale.Tr "aria.footer.links"}}">
|
|
||||||
<div class="ui dropdown upward language">
|
|
||||||
<span class="flex-text-inline">{{svg "octicon-globe" 14}} {{ctx.Locale.LangName}}</span>
|
|
||||||
<div class="menu language-menu">
|
|
||||||
{{range .AllLangs}}
|
|
||||||
<a lang="{{.Lang}}" data-url="{{AppSubUrl}}/?lang={{.Lang}}" class="item {{if eq ctx.Locale.Lang .Lang}}active selected{{end}}">{{.Name}}</a>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a href="{{AssetUrlPrefix}}/licenses.txt">{{ctx.Locale.Tr "licenses"}}</a>
|
|
||||||
{{if .EnableSwagger}}<a href="{{AppSubUrl}}/api/swagger">API</a>{{end}}
|
|
||||||
{{template "custom/extra_links_footer" .}}
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
297
dist/templates/repo/home.tmpl
vendored
297
dist/templates/repo/home.tmpl
vendored
@ -1,165 +1,170 @@
|
|||||||
{{template "base/head" .}}
|
{{template "base/head" .}}
|
||||||
<div role="main" aria-label="{{.Title}}" class="page-content repository file list {{if .IsBlame}}blame{{end}}">
|
<div role="main" aria-label="{{.Title}}" class="page-content repository file list {{if .IsBlame}}blame{{end}}">
|
||||||
{{template "repo/header" .}}
|
{{template "repo/header" .}}
|
||||||
<div class="ui container {{if .IsBlame}}fluid padded{{end}}">
|
<div class="ui container {{if .IsBlame}}fluid padded{{end}} {{if and (not .IIsViewFile) (not .IsBlame)}}lugit-repo-list-view{{end}}">
|
||||||
{{template "base/alert" .}}
|
<div class="lugit-repo-header-data">
|
||||||
{{template "repo/code/recently_pushed_new_branches" .}}
|
{{template "base/alert" .}}
|
||||||
{{if and (not .HideRepoInfo) (not .IsBlame)}}
|
{{template "repo/code/recently_pushed_new_branches" .}}
|
||||||
<div class="ui repo-description gt-word-break">
|
{{if and (not .HideRepoInfo) (not .IsBlame)}}
|
||||||
<div id="repo-desc" class="gt-font-16">
|
<div class="ui repo-description gt-word-break">
|
||||||
{{$description := .Repository.DescriptionHTML $.Context}}
|
<div id="repo-desc" class="gt-font-16">
|
||||||
{{if $description}}<span class="description">{{$description | RenderCodeBlock}}</span>{{else if .IsRepositoryAdmin}}<span class="no-description text-italic">{{ctx.Locale.Tr "repo.no_desc"}}</span>{{end}}
|
<h5>{{ctx.Locale.Tr "repo.repo_desc"}}</h5>
|
||||||
<a class="link" href="{{.Repository.Website}}">{{.Repository.Website}}</a>
|
{{$description := .Repository.DescriptionHTML $.Context}}
|
||||||
</div>
|
{{if $description}}<span class="description">{{$description | RenderCodeBlock}}</span>{{else if .IsRepositoryAdmin}}<span class="no-description text-italic">{{ctx.Locale.Tr "repo.no_desc"}}</span>{{end}}
|
||||||
{{if .RepoSearchEnabled}}
|
<a class="link" href="{{.Repository.Website}}">{{.Repository.Website}}</a>
|
||||||
<div class="ui repo-search">
|
</div>
|
||||||
<form class="ui form ignore-dirty" action="{{.RepoLink}}/search" method="get">
|
{{if .RepoSearchEnabled}}
|
||||||
<div class="field">
|
<div class="ui repo-search">
|
||||||
<div class="ui small action input{{if .CodeIndexerUnavailable}} disabled left icon{{end}}"{{if .CodeIndexerUnavailable}} data-tooltip-content="{{ctx.Locale.Tr "repo.search.code_search_unavailable"}}"{{end}}>
|
<form class="ui form ignore-dirty" action="{{.RepoLink}}/search" method="get">
|
||||||
<input name="q" value="{{.Keyword}}"{{if .CodeIndexerUnavailable}} disabled{{end}} placeholder="{{ctx.Locale.Tr "repo.search.search_repo"}}">
|
<div class="field">
|
||||||
{{if .CodeIndexerUnavailable}}
|
<div class="ui small action input{{if .CodeIndexerUnavailable}} disabled left icon{{end}}"{{if .CodeIndexerUnavailable}} data-tooltip-content="{{ctx.Locale.Tr "repo.search.code_search_unavailable"}}"{{end}}>
|
||||||
<i class="icon">{{svg "octicon-alert"}}</i>
|
<input name="q" value="{{.Keyword}}"{{if .CodeIndexerUnavailable}} disabled{{end}} placeholder="{{ctx.Locale.Tr "repo.search.search_repo"}}">
|
||||||
{{end}}
|
{{if .CodeIndexerUnavailable}}
|
||||||
<button class="ui small icon button"{{if .CodeIndexerUnavailable}} disabled{{end}} type="submit">
|
<i class="icon">{{svg "octicon-alert"}}</i>
|
||||||
{{svg "octicon-search"}}
|
{{end}}
|
||||||
</button>
|
<button class="ui small icon button"{{if .CodeIndexerUnavailable}} disabled{{end}} type="submit">
|
||||||
|
{{svg "octicon-search"}}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
</form>
|
</div>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
<div class="gt-df gt-ac gt-fw gt-gap-2" id="repo-topics">
|
||||||
|
{{range .Topics}}<a class="ui repo-topic large label topic gt-m-0" href="{{AppSubUrl}}/explore/repos?q={{.Name}}&topic=1">{{.Name}}</a>{{end}}
|
||||||
|
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}<button id="manage_topic" class="btn interact-fg gt-font-12">{{ctx.Locale.Tr "repo.topic.manage_topics"}}</button>{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}
|
||||||
|
<div class="ui form gt-hidden gt-df gt-mt-4" id="topic_edit">
|
||||||
|
<div class="field gt-f1 gt-mr-3">
|
||||||
|
<div class="ui fluid multiple search selection dropdown" data-text-count-prompt="{{ctx.Locale.Tr "repo.topic.count_prompt"}}" data-text-format-prompt="{{ctx.Locale.Tr "repo.topic.format_prompt"}}">
|
||||||
|
<input type="hidden" name="topics" value="{{range $i, $v := .Topics}}{{.Name}}{{if Eval $i "+" 1 "<" (len $.Topics)}},{{end}}{{end}}">
|
||||||
|
{{range .Topics}}
|
||||||
|
{{/* keey the same layout as Fomantic UI generated labels */}}
|
||||||
|
<a class="ui label transition visible gt-cursor-default gt-dib" data-value="{{.Name}}">{{.Name}}{{svg "octicon-x" 16 "delete icon"}}</a>
|
||||||
|
{{end}}
|
||||||
|
<div class="text"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<button class="ui basic button" id="cancel_topic_edit">{{ctx.Locale.Tr "cancel"}}</button>
|
||||||
|
<button class="ui primary button" id="save_topic" data-link="{{.RepoLink}}/topics">{{ctx.Locale.Tr "save"}}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
{{if .Repository.IsArchived}}
|
||||||
|
<div class="ui warning message gt-text-center">
|
||||||
|
{{if .Repository.ArchivedUnix.IsZero}}
|
||||||
|
{{ctx.Locale.Tr "repo.archive.title"}}
|
||||||
|
{{else}}
|
||||||
|
{{ctx.Locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix) | Safe}}
|
||||||
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
<div class="gt-df gt-ac gt-fw gt-gap-2" id="repo-topics">
|
<div class="lugit-repo-content">
|
||||||
{{range .Topics}}<a class="ui repo-topic large label topic gt-m-0" href="{{AppSubUrl}}/explore/repos?q={{.Name}}&topic=1">{{.Name}}</a>{{end}}
|
{{template "repo/sub_menu" .}}
|
||||||
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}<button id="manage_topic" class="btn interact-fg gt-font-12">{{ctx.Locale.Tr "repo.topic.manage_topics"}}</button>{{end}}
|
<div class="repo-button-row">
|
||||||
</div>
|
<div class="gt-df gt-ac gt-fw gt-gap-y-3">
|
||||||
{{end}}
|
{{template "repo/branch_dropdown" dict "root" . "ContainerClasses" "gt-mr-2"}}
|
||||||
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}
|
{{if and .CanCompareOrPull .IsViewBranch (not .Repository.IsArchived)}}
|
||||||
<div class="ui form gt-hidden gt-df gt-mt-4" id="topic_edit">
|
{{$cmpBranch := ""}}
|
||||||
<div class="field gt-f1 gt-mr-3">
|
{{if ne .Repository.ID .BaseRepo.ID}}
|
||||||
<div class="ui fluid multiple search selection dropdown" data-text-count-prompt="{{ctx.Locale.Tr "repo.topic.count_prompt"}}" data-text-format-prompt="{{ctx.Locale.Tr "repo.topic.format_prompt"}}">
|
{{$cmpBranch = printf "%s/%s:" (.Repository.OwnerName|PathEscape) (.Repository.Name|PathEscape)}}
|
||||||
<input type="hidden" name="topics" value="{{range $i, $v := .Topics}}{{.Name}}{{if Eval $i "+" 1 "<" (len $.Topics)}},{{end}}{{end}}">
|
{{end}}
|
||||||
{{range .Topics}}
|
{{$cmpBranch = print $cmpBranch (.BranchName|PathEscapeSegments)}}
|
||||||
{{/* keey the same layout as Fomantic UI generated labels */}}
|
{{$compareLink := printf "%s/compare/%s...%s" .BaseRepo.Link (.BaseRepo.DefaultBranch|PathEscapeSegments) $cmpBranch}}
|
||||||
<a class="ui label transition visible gt-cursor-default gt-dib" data-value="{{.Name}}">{{.Name}}{{svg "octicon-x" 16 "delete icon"}}</a>
|
<a id="new-pull-request" role="button" class="ui compact basic button" href="{{$compareLink}}"
|
||||||
|
data-tooltip-content="{{if .PullRequestCtx.Allowed}}{{ctx.Locale.Tr "repo.pulls.compare_changes"}}{{else}}{{ctx.Locale.Tr "action.compare_branch"}}{{end}}">
|
||||||
|
{{svg "octicon-git-pull-request"}}
|
||||||
|
</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
<div class="text"></div>
|
<!-- Show go to file and breadcrumbs if not on home page -->
|
||||||
</div>
|
{{$n := len .TreeNames}}
|
||||||
</div>
|
{{$l := Eval $n "-" 1}}
|
||||||
<div>
|
{{if eq $n 0}}
|
||||||
<button class="ui basic button" id="cancel_topic_edit">{{ctx.Locale.Tr "cancel"}}</button>
|
<a href="{{.Repository.Link}}/find/{{.BranchNameSubURL}}" class="ui compact basic button">{{ctx.Locale.Tr "repo.find_file.go_to_file"}}</a>
|
||||||
<button class="ui primary button" id="save_topic" data-link="{{.RepoLink}}/topics">{{ctx.Locale.Tr "save"}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{if .Repository.IsArchived}}
|
|
||||||
<div class="ui warning message gt-text-center">
|
|
||||||
{{if .Repository.ArchivedUnix.IsZero}}
|
|
||||||
{{ctx.Locale.Tr "repo.archive.title"}}
|
|
||||||
{{else}}
|
|
||||||
{{ctx.Locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix) | Safe}}
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{template "repo/sub_menu" .}}
|
|
||||||
<div class="repo-button-row">
|
|
||||||
<div class="gt-df gt-ac gt-fw gt-gap-y-3">
|
|
||||||
{{template "repo/branch_dropdown" dict "root" . "ContainerClasses" "gt-mr-2"}}
|
|
||||||
{{if and .CanCompareOrPull .IsViewBranch (not .Repository.IsArchived)}}
|
|
||||||
{{$cmpBranch := ""}}
|
|
||||||
{{if ne .Repository.ID .BaseRepo.ID}}
|
|
||||||
{{$cmpBranch = printf "%s/%s:" (.Repository.OwnerName|PathEscape) (.Repository.Name|PathEscape)}}
|
|
||||||
{{end}}
|
{{end}}
|
||||||
{{$cmpBranch = print $cmpBranch (.BranchName|PathEscapeSegments)}}
|
|
||||||
{{$compareLink := printf "%s/compare/%s...%s" .BaseRepo.Link (.BaseRepo.DefaultBranch|PathEscapeSegments) $cmpBranch}}
|
|
||||||
<a id="new-pull-request" role="button" class="ui compact basic button" href="{{$compareLink}}"
|
|
||||||
data-tooltip-content="{{if .PullRequestCtx.Allowed}}{{ctx.Locale.Tr "repo.pulls.compare_changes"}}{{else}}{{ctx.Locale.Tr "action.compare_branch"}}{{end}}">
|
|
||||||
{{svg "octicon-git-pull-request"}}
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
<!-- Show go to file and breadcrumbs if not on home page -->
|
|
||||||
{{$n := len .TreeNames}}
|
|
||||||
{{$l := Eval $n "-" 1}}
|
|
||||||
{{if eq $n 0}}
|
|
||||||
<a href="{{.Repository.Link}}/find/{{.BranchNameSubURL}}" class="ui compact basic button">{{ctx.Locale.Tr "repo.find_file.go_to_file"}}</a>
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
{{if and .CanWriteCode .IsViewBranch (not .Repository.IsMirror) (not .Repository.IsArchived) (not .IsViewFile)}}
|
{{if and .CanWriteCode .IsViewBranch (not .Repository.IsMirror) (not .Repository.IsArchived) (not .IsViewFile)}}
|
||||||
<button class="ui dropdown basic compact jump button gt-mr-2"{{if not .Repository.CanEnableEditor}} disabled{{end}}>
|
<button class="ui dropdown basic compact jump button gt-mr-2"{{if not .Repository.CanEnableEditor}} disabled{{end}}>
|
||||||
{{ctx.Locale.Tr "repo.editor.add_file"}}
|
{{ctx.Locale.Tr "repo.editor.add_file"}}
|
||||||
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
||||||
<div class="menu">
|
|
||||||
<a class="item" href="{{.RepoLink}}/_new/{{.BranchName | PathEscapeSegments}}/{{.TreePath | PathEscapeSegments}}">
|
|
||||||
{{ctx.Locale.Tr "repo.editor.new_file"}}
|
|
||||||
</a>
|
|
||||||
{{if .RepositoryUploadEnabled}}
|
|
||||||
<a class="item" href="{{.RepoLink}}/_upload/{{.BranchName | PathEscapeSegments}}/{{.TreePath | PathEscapeSegments}}">
|
|
||||||
{{ctx.Locale.Tr "repo.editor.upload_file"}}
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
<a class="item" href="{{.RepoLink}}/_diffpatch/{{.BranchName | PathEscapeSegments}}/{{.TreePath | PathEscapeSegments}}">
|
|
||||||
{{ctx.Locale.Tr "repo.editor.patch"}}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
{{if and (eq $n 0) (.Repository.IsTemplate)}}
|
|
||||||
<a role="button" class="ui primary compact button" href="{{AppSubUrl}}/repo/create?template_id={{.Repository.ID}}">
|
|
||||||
{{ctx.Locale.Tr "repo.use_template"}}
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
{{if ne $n 0}}
|
|
||||||
<span class="breadcrumb repo-path gt-ml-2">
|
|
||||||
<a class="section" href="{{.RepoLink}}/src/{{.BranchNameSubURL}}" title="{{.Repository.Name}}">{{StringUtils.EllipsisString .Repository.Name 30}}</a>
|
|
||||||
{{- range $i, $v := .TreeNames -}}
|
|
||||||
<span class="breadcrumb-divider">/</span>
|
|
||||||
{{- if eq $i $l -}}
|
|
||||||
<span class="active section" title="{{$v}}">{{StringUtils.EllipsisString $v 30}}</span>
|
|
||||||
{{- else -}}
|
|
||||||
{{$p := index $.Paths $i}}<span class="section"><a href="{{$.BranchLink}}/{{PathEscapeSegments $p}}" title="{{$v}}">{{StringUtils.EllipsisString $v 30}}</a></span>
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
</span>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
<div class="gt-df gt-ac">
|
|
||||||
<!-- Only show clone panel in repository home page -->
|
|
||||||
{{if eq $n 0}}
|
|
||||||
<div class="ui action tiny input" id="clone-panel">
|
|
||||||
{{template "repo/clone_buttons" .}}
|
|
||||||
<button id="more-btn" class="ui basic small compact jump dropdown icon button" data-tooltip-content="{{ctx.Locale.Tr "repo.more_operations"}}">
|
|
||||||
{{svg "octicon-kebab-horizontal"}}
|
|
||||||
<div class="menu">
|
<div class="menu">
|
||||||
{{if not $.DisableDownloadSourceArchives}}
|
<a class="item" href="{{.RepoLink}}/_new/{{.BranchName | PathEscapeSegments}}/{{.TreePath | PathEscapeSegments}}">
|
||||||
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.zip" rel="nofollow">{{svg "octicon-file-zip" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.download_zip"}}</a>
|
{{ctx.Locale.Tr "repo.editor.new_file"}}
|
||||||
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.download_tar"}}</a>
|
</a>
|
||||||
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.bundle" rel="nofollow">{{svg "octicon-package" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.download_bundle"}}</a>
|
{{if .RepositoryUploadEnabled}}
|
||||||
{{if .CitiationExist}}
|
<a class="item" href="{{.RepoLink}}/_upload/{{.BranchName | PathEscapeSegments}}/{{.TreePath | PathEscapeSegments}}">
|
||||||
<a class="item" id="cite-repo-button">{{svg "octicon-cross-reference" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.cite_this_repo"}}</a>
|
{{ctx.Locale.Tr "repo.editor.upload_file"}}
|
||||||
{{end}}
|
</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
<a class="item js-clone-url-vsc" href="vscode://vscode.git/clone?url={{.CloneButtonOriginLink.HTTPS}}">{{svg "gitea-vscode" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.clone_in_vsc"}}</a>
|
<a class="item" href="{{.RepoLink}}/_diffpatch/{{.BranchName | PathEscapeSegments}}/{{.TreePath | PathEscapeSegments}}">
|
||||||
|
{{ctx.Locale.Tr "repo.editor.patch"}}
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
{{template "repo/clone_script" .}}{{/* the script will update `.js-clone-url` and related elements */}}
|
{{end}}
|
||||||
</div>
|
|
||||||
{{template "repo/cite/cite_modal" .}}
|
{{if and (eq $n 0) (.Repository.IsTemplate)}}
|
||||||
{{end}}
|
<a role="button" class="ui primary compact button" href="{{AppSubUrl}}/repo/create?template_id={{.Repository.ID}}">
|
||||||
{{if and (ne $n 0) (not .IsViewFile) (not .IsBlame)}}
|
{{ctx.Locale.Tr "repo.use_template"}}
|
||||||
<a class="ui button" href="{{.RepoLink}}/commits/{{.BranchNameSubURL}}/{{.TreePath | PathEscapeSegments}}">
|
</a>
|
||||||
{{svg "octicon-history" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.file_history"}}
|
{{end}}
|
||||||
</a>
|
{{if ne $n 0}}
|
||||||
{{end}}
|
<span class="breadcrumb repo-path gt-ml-2">
|
||||||
|
<a class="section" href="{{.RepoLink}}/src/{{.BranchNameSubURL}}" title="{{.Repository.Name}}">{{StringUtils.EllipsisString .Repository.Name 30}}</a>
|
||||||
|
{{- range $i, $v := .TreeNames -}}
|
||||||
|
<span class="breadcrumb-divider">/</span>
|
||||||
|
{{- if eq $i $l -}}
|
||||||
|
<span class="active section" title="{{$v}}">{{StringUtils.EllipsisString $v 30}}</span>
|
||||||
|
{{- else -}}
|
||||||
|
{{$p := index $.Paths $i}}<span class="section"><a href="{{$.BranchLink}}/{{PathEscapeSegments $p}}" title="{{$v}}">{{StringUtils.EllipsisString $v 30}}</a></span>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
</span>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
<div class="gt-df gt-ac">
|
||||||
|
<!-- Only show clone panel in repository home page -->
|
||||||
|
{{if eq $n 0}}
|
||||||
|
<div class="ui action tiny input" id="clone-panel">
|
||||||
|
{{template "repo/clone_buttons" .}}
|
||||||
|
<button id="more-btn" class="ui basic small compact jump dropdown icon button" data-tooltip-content="{{ctx.Locale.Tr "repo.more_operations"}}">
|
||||||
|
{{svg "octicon-kebab-horizontal"}}
|
||||||
|
<div class="menu">
|
||||||
|
{{if not $.DisableDownloadSourceArchives}}
|
||||||
|
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.zip" rel="nofollow">{{svg "octicon-file-zip" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.download_zip"}}</a>
|
||||||
|
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.download_tar"}}</a>
|
||||||
|
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.bundle" rel="nofollow">{{svg "octicon-package" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.download_bundle"}}</a>
|
||||||
|
{{if .CitiationExist}}
|
||||||
|
<a class="item" id="cite-repo-button">{{svg "octicon-cross-reference" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.cite_this_repo"}}</a>
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
<a class="item js-clone-url-vsc" href="vscode://vscode.git/clone?url={{.CloneButtonOriginLink.HTTPS}}">{{svg "gitea-vscode" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.clone_in_vsc"}}</a>
|
||||||
|
</div>
|
||||||
|
</button>
|
||||||
|
{{template "repo/clone_script" .}}{{/* the script will update `.js-clone-url` and related elements */}}
|
||||||
|
</div>
|
||||||
|
{{template "repo/cite/cite_modal" .}}
|
||||||
|
{{end}}
|
||||||
|
{{if and (ne $n 0) (not .IsViewFile) (not .IsBlame)}}
|
||||||
|
<a class="ui button" href="{{.RepoLink}}/commits/{{.BranchNameSubURL}}/{{.TreePath | PathEscapeSegments}}">
|
||||||
|
{{svg "octicon-history" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.file_history"}}
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{{if .IsViewFile}}
|
||||||
|
{{template "repo/view_file" .}}
|
||||||
|
{{else if .IsBlame}}
|
||||||
|
{{template "repo/blame" .}}
|
||||||
|
{{else}}
|
||||||
|
{{template "repo/view_list" .}}
|
||||||
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
{{if .IsViewFile}}
|
|
||||||
{{template "repo/view_file" .}}
|
|
||||||
{{else if .IsBlame}}
|
|
||||||
{{template "repo/blame" .}}
|
|
||||||
{{else}}
|
|
||||||
{{template "repo/view_list" .}}
|
|
||||||
{{end}}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{template "base/footer" .}}
|
{{template "base/footer" .}}
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
<footer class="page-footer" role="group" aria-label="{{ctx.Locale.Tr "aria.footer"}}">
|
|
||||||
<div class="left-links" role="contentinfo" aria-label="{{ctx.Locale.Tr "aria.footer.software"}}">
|
|
||||||
<a target="_blank" rel="noopener noreferrer" href="https://about.gitea.com">{{ctx.Locale.Tr "powered_by" "Gitea"}}</a>
|
|
||||||
{{if (or .ShowFooterVersion .PageIsAdmin)}}
|
|
||||||
{{ctx.Locale.Tr "version"}}:
|
|
||||||
{{if .IsAdmin}}
|
|
||||||
<a href="{{AppSubUrl}}/admin/config">{{AppVer}}</a>
|
|
||||||
{{else}}
|
|
||||||
{{AppVer}}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
{{if and .TemplateLoadTimes ShowFooterTemplateLoadTime}}
|
|
||||||
{{ctx.Locale.Tr "page"}}: <strong>{{LoadTimes .PageStartTime}}</strong>
|
|
||||||
{{ctx.Locale.Tr "template"}}{{if .TemplateName}} {{.TemplateName}}{{end}}: <strong>{{call .TemplateLoadTimes}}</strong>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
<div class="right-links" role="group" aria-label="{{ctx.Locale.Tr "aria.footer.links"}}">
|
|
||||||
<div class="ui dropdown upward language">
|
|
||||||
<span class="flex-text-inline">{{svg "octicon-globe" 14}} {{ctx.Locale.LangName}}</span>
|
|
||||||
<div class="menu language-menu">
|
|
||||||
{{range .AllLangs}}
|
|
||||||
<a lang="{{.Lang}}" data-url="{{AppSubUrl}}/?lang={{.Lang}}" class="item {{if eq ctx.Locale.Lang .Lang}}active selected{{end}}">{{.Name}}</a>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a href="{{AssetUrlPrefix}}/licenses.txt">{{ctx.Locale.Tr "licenses"}}</a>
|
|
||||||
{{if .EnableSwagger}}<a href="{{AppSubUrl}}/api/swagger">API</a>{{end}}
|
|
||||||
{{template "custom/extra_links_footer" .}}
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
@ -1,165 +1,170 @@
|
|||||||
{{template "base/head" .}}
|
{{template "base/head" .}}
|
||||||
<div role="main" aria-label="{{.Title}}" class="page-content repository file list {{if .IsBlame}}blame{{end}}">
|
<div role="main" aria-label="{{.Title}}" class="page-content repository file list {{if .IsBlame}}blame{{end}}">
|
||||||
{{template "repo/header" .}}
|
{{template "repo/header" .}}
|
||||||
<div class="ui container {{if .IsBlame}}fluid padded{{end}}">
|
<div class="ui container {{if .IsBlame}}fluid padded{{end}} {{if and (not .IIsViewFile) (not .IsBlame)}}lugit-repo-list-view{{end}}">
|
||||||
{{template "base/alert" .}}
|
<div class="lugit-repo-header-data">
|
||||||
{{template "repo/code/recently_pushed_new_branches" .}}
|
{{template "base/alert" .}}
|
||||||
{{if and (not .HideRepoInfo) (not .IsBlame)}}
|
{{template "repo/code/recently_pushed_new_branches" .}}
|
||||||
<div class="ui repo-description gt-word-break">
|
{{if and (not .HideRepoInfo) (not .IsBlame)}}
|
||||||
<div id="repo-desc" class="gt-font-16">
|
<div class="ui repo-description gt-word-break">
|
||||||
{{$description := .Repository.DescriptionHTML $.Context}}
|
<div id="repo-desc" class="gt-font-16">
|
||||||
{{if $description}}<span class="description">{{$description | RenderCodeBlock}}</span>{{else if .IsRepositoryAdmin}}<span class="no-description text-italic">{{ctx.Locale.Tr "repo.no_desc"}}</span>{{end}}
|
<h5>{{ctx.Locale.Tr "repo.repo_desc"}}</h5>
|
||||||
<a class="link" href="{{.Repository.Website}}">{{.Repository.Website}}</a>
|
{{$description := .Repository.DescriptionHTML $.Context}}
|
||||||
</div>
|
{{if $description}}<span class="description">{{$description | RenderCodeBlock}}</span>{{else if .IsRepositoryAdmin}}<span class="no-description text-italic">{{ctx.Locale.Tr "repo.no_desc"}}</span>{{end}}
|
||||||
{{if .RepoSearchEnabled}}
|
<a class="link" href="{{.Repository.Website}}">{{.Repository.Website}}</a>
|
||||||
<div class="ui repo-search">
|
</div>
|
||||||
<form class="ui form ignore-dirty" action="{{.RepoLink}}/search" method="get">
|
{{if .RepoSearchEnabled}}
|
||||||
<div class="field">
|
<div class="ui repo-search">
|
||||||
<div class="ui small action input{{if .CodeIndexerUnavailable}} disabled left icon{{end}}"{{if .CodeIndexerUnavailable}} data-tooltip-content="{{ctx.Locale.Tr "repo.search.code_search_unavailable"}}"{{end}}>
|
<form class="ui form ignore-dirty" action="{{.RepoLink}}/search" method="get">
|
||||||
<input name="q" value="{{.Keyword}}"{{if .CodeIndexerUnavailable}} disabled{{end}} placeholder="{{ctx.Locale.Tr "repo.search.search_repo"}}">
|
<div class="field">
|
||||||
{{if .CodeIndexerUnavailable}}
|
<div class="ui small action input{{if .CodeIndexerUnavailable}} disabled left icon{{end}}"{{if .CodeIndexerUnavailable}} data-tooltip-content="{{ctx.Locale.Tr "repo.search.code_search_unavailable"}}"{{end}}>
|
||||||
<i class="icon">{{svg "octicon-alert"}}</i>
|
<input name="q" value="{{.Keyword}}"{{if .CodeIndexerUnavailable}} disabled{{end}} placeholder="{{ctx.Locale.Tr "repo.search.search_repo"}}">
|
||||||
{{end}}
|
{{if .CodeIndexerUnavailable}}
|
||||||
<button class="ui small icon button"{{if .CodeIndexerUnavailable}} disabled{{end}} type="submit">
|
<i class="icon">{{svg "octicon-alert"}}</i>
|
||||||
{{svg "octicon-search"}}
|
{{end}}
|
||||||
</button>
|
<button class="ui small icon button"{{if .CodeIndexerUnavailable}} disabled{{end}} type="submit">
|
||||||
|
{{svg "octicon-search"}}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
</form>
|
</div>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
<div class="gt-df gt-ac gt-fw gt-gap-2" id="repo-topics">
|
||||||
|
{{range .Topics}}<a class="ui repo-topic large label topic gt-m-0" href="{{AppSubUrl}}/explore/repos?q={{.Name}}&topic=1">{{.Name}}</a>{{end}}
|
||||||
|
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}<button id="manage_topic" class="btn interact-fg gt-font-12">{{ctx.Locale.Tr "repo.topic.manage_topics"}}</button>{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}
|
||||||
|
<div class="ui form gt-hidden gt-df gt-mt-4" id="topic_edit">
|
||||||
|
<div class="field gt-f1 gt-mr-3">
|
||||||
|
<div class="ui fluid multiple search selection dropdown" data-text-count-prompt="{{ctx.Locale.Tr "repo.topic.count_prompt"}}" data-text-format-prompt="{{ctx.Locale.Tr "repo.topic.format_prompt"}}">
|
||||||
|
<input type="hidden" name="topics" value="{{range $i, $v := .Topics}}{{.Name}}{{if Eval $i "+" 1 "<" (len $.Topics)}},{{end}}{{end}}">
|
||||||
|
{{range .Topics}}
|
||||||
|
{{/* keey the same layout as Fomantic UI generated labels */}}
|
||||||
|
<a class="ui label transition visible gt-cursor-default gt-dib" data-value="{{.Name}}">{{.Name}}{{svg "octicon-x" 16 "delete icon"}}</a>
|
||||||
|
{{end}}
|
||||||
|
<div class="text"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<button class="ui basic button" id="cancel_topic_edit">{{ctx.Locale.Tr "cancel"}}</button>
|
||||||
|
<button class="ui primary button" id="save_topic" data-link="{{.RepoLink}}/topics">{{ctx.Locale.Tr "save"}}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
{{if .Repository.IsArchived}}
|
||||||
|
<div class="ui warning message gt-text-center">
|
||||||
|
{{if .Repository.ArchivedUnix.IsZero}}
|
||||||
|
{{ctx.Locale.Tr "repo.archive.title"}}
|
||||||
|
{{else}}
|
||||||
|
{{ctx.Locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix) | Safe}}
|
||||||
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
<div class="gt-df gt-ac gt-fw gt-gap-2" id="repo-topics">
|
<div class="lugit-repo-content">
|
||||||
{{range .Topics}}<a class="ui repo-topic large label topic gt-m-0" href="{{AppSubUrl}}/explore/repos?q={{.Name}}&topic=1">{{.Name}}</a>{{end}}
|
{{template "repo/sub_menu" .}}
|
||||||
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}<button id="manage_topic" class="btn interact-fg gt-font-12">{{ctx.Locale.Tr "repo.topic.manage_topics"}}</button>{{end}}
|
<div class="repo-button-row">
|
||||||
</div>
|
<div class="gt-df gt-ac gt-fw gt-gap-y-3">
|
||||||
{{end}}
|
{{template "repo/branch_dropdown" dict "root" . "ContainerClasses" "gt-mr-2"}}
|
||||||
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}
|
{{if and .CanCompareOrPull .IsViewBranch (not .Repository.IsArchived)}}
|
||||||
<div class="ui form gt-hidden gt-df gt-mt-4" id="topic_edit">
|
{{$cmpBranch := ""}}
|
||||||
<div class="field gt-f1 gt-mr-3">
|
{{if ne .Repository.ID .BaseRepo.ID}}
|
||||||
<div class="ui fluid multiple search selection dropdown" data-text-count-prompt="{{ctx.Locale.Tr "repo.topic.count_prompt"}}" data-text-format-prompt="{{ctx.Locale.Tr "repo.topic.format_prompt"}}">
|
{{$cmpBranch = printf "%s/%s:" (.Repository.OwnerName|PathEscape) (.Repository.Name|PathEscape)}}
|
||||||
<input type="hidden" name="topics" value="{{range $i, $v := .Topics}}{{.Name}}{{if Eval $i "+" 1 "<" (len $.Topics)}},{{end}}{{end}}">
|
{{end}}
|
||||||
{{range .Topics}}
|
{{$cmpBranch = print $cmpBranch (.BranchName|PathEscapeSegments)}}
|
||||||
{{/* keey the same layout as Fomantic UI generated labels */}}
|
{{$compareLink := printf "%s/compare/%s...%s" .BaseRepo.Link (.BaseRepo.DefaultBranch|PathEscapeSegments) $cmpBranch}}
|
||||||
<a class="ui label transition visible gt-cursor-default gt-dib" data-value="{{.Name}}">{{.Name}}{{svg "octicon-x" 16 "delete icon"}}</a>
|
<a id="new-pull-request" role="button" class="ui compact basic button" href="{{$compareLink}}"
|
||||||
|
data-tooltip-content="{{if .PullRequestCtx.Allowed}}{{ctx.Locale.Tr "repo.pulls.compare_changes"}}{{else}}{{ctx.Locale.Tr "action.compare_branch"}}{{end}}">
|
||||||
|
{{svg "octicon-git-pull-request"}}
|
||||||
|
</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
<div class="text"></div>
|
<!-- Show go to file and breadcrumbs if not on home page -->
|
||||||
</div>
|
{{$n := len .TreeNames}}
|
||||||
</div>
|
{{$l := Eval $n "-" 1}}
|
||||||
<div>
|
{{if eq $n 0}}
|
||||||
<button class="ui basic button" id="cancel_topic_edit">{{ctx.Locale.Tr "cancel"}}</button>
|
<a href="{{.Repository.Link}}/find/{{.BranchNameSubURL}}" class="ui compact basic button">{{ctx.Locale.Tr "repo.find_file.go_to_file"}}</a>
|
||||||
<button class="ui primary button" id="save_topic" data-link="{{.RepoLink}}/topics">{{ctx.Locale.Tr "save"}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{if .Repository.IsArchived}}
|
|
||||||
<div class="ui warning message gt-text-center">
|
|
||||||
{{if .Repository.ArchivedUnix.IsZero}}
|
|
||||||
{{ctx.Locale.Tr "repo.archive.title"}}
|
|
||||||
{{else}}
|
|
||||||
{{ctx.Locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix) | Safe}}
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{template "repo/sub_menu" .}}
|
|
||||||
<div class="repo-button-row">
|
|
||||||
<div class="gt-df gt-ac gt-fw gt-gap-y-3">
|
|
||||||
{{template "repo/branch_dropdown" dict "root" . "ContainerClasses" "gt-mr-2"}}
|
|
||||||
{{if and .CanCompareOrPull .IsViewBranch (not .Repository.IsArchived)}}
|
|
||||||
{{$cmpBranch := ""}}
|
|
||||||
{{if ne .Repository.ID .BaseRepo.ID}}
|
|
||||||
{{$cmpBranch = printf "%s/%s:" (.Repository.OwnerName|PathEscape) (.Repository.Name|PathEscape)}}
|
|
||||||
{{end}}
|
{{end}}
|
||||||
{{$cmpBranch = print $cmpBranch (.BranchName|PathEscapeSegments)}}
|
|
||||||
{{$compareLink := printf "%s/compare/%s...%s" .BaseRepo.Link (.BaseRepo.DefaultBranch|PathEscapeSegments) $cmpBranch}}
|
|
||||||
<a id="new-pull-request" role="button" class="ui compact basic button" href="{{$compareLink}}"
|
|
||||||
data-tooltip-content="{{if .PullRequestCtx.Allowed}}{{ctx.Locale.Tr "repo.pulls.compare_changes"}}{{else}}{{ctx.Locale.Tr "action.compare_branch"}}{{end}}">
|
|
||||||
{{svg "octicon-git-pull-request"}}
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
<!-- Show go to file and breadcrumbs if not on home page -->
|
|
||||||
{{$n := len .TreeNames}}
|
|
||||||
{{$l := Eval $n "-" 1}}
|
|
||||||
{{if eq $n 0}}
|
|
||||||
<a href="{{.Repository.Link}}/find/{{.BranchNameSubURL}}" class="ui compact basic button">{{ctx.Locale.Tr "repo.find_file.go_to_file"}}</a>
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
{{if and .CanWriteCode .IsViewBranch (not .Repository.IsMirror) (not .Repository.IsArchived) (not .IsViewFile)}}
|
{{if and .CanWriteCode .IsViewBranch (not .Repository.IsMirror) (not .Repository.IsArchived) (not .IsViewFile)}}
|
||||||
<button class="ui dropdown basic compact jump button gt-mr-2"{{if not .Repository.CanEnableEditor}} disabled{{end}}>
|
<button class="ui dropdown basic compact jump button gt-mr-2"{{if not .Repository.CanEnableEditor}} disabled{{end}}>
|
||||||
{{ctx.Locale.Tr "repo.editor.add_file"}}
|
{{ctx.Locale.Tr "repo.editor.add_file"}}
|
||||||
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
||||||
<div class="menu">
|
|
||||||
<a class="item" href="{{.RepoLink}}/_new/{{.BranchName | PathEscapeSegments}}/{{.TreePath | PathEscapeSegments}}">
|
|
||||||
{{ctx.Locale.Tr "repo.editor.new_file"}}
|
|
||||||
</a>
|
|
||||||
{{if .RepositoryUploadEnabled}}
|
|
||||||
<a class="item" href="{{.RepoLink}}/_upload/{{.BranchName | PathEscapeSegments}}/{{.TreePath | PathEscapeSegments}}">
|
|
||||||
{{ctx.Locale.Tr "repo.editor.upload_file"}}
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
<a class="item" href="{{.RepoLink}}/_diffpatch/{{.BranchName | PathEscapeSegments}}/{{.TreePath | PathEscapeSegments}}">
|
|
||||||
{{ctx.Locale.Tr "repo.editor.patch"}}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
{{if and (eq $n 0) (.Repository.IsTemplate)}}
|
|
||||||
<a role="button" class="ui primary compact button" href="{{AppSubUrl}}/repo/create?template_id={{.Repository.ID}}">
|
|
||||||
{{ctx.Locale.Tr "repo.use_template"}}
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
{{if ne $n 0}}
|
|
||||||
<span class="breadcrumb repo-path gt-ml-2">
|
|
||||||
<a class="section" href="{{.RepoLink}}/src/{{.BranchNameSubURL}}" title="{{.Repository.Name}}">{{StringUtils.EllipsisString .Repository.Name 30}}</a>
|
|
||||||
{{- range $i, $v := .TreeNames -}}
|
|
||||||
<span class="breadcrumb-divider">/</span>
|
|
||||||
{{- if eq $i $l -}}
|
|
||||||
<span class="active section" title="{{$v}}">{{StringUtils.EllipsisString $v 30}}</span>
|
|
||||||
{{- else -}}
|
|
||||||
{{$p := index $.Paths $i}}<span class="section"><a href="{{$.BranchLink}}/{{PathEscapeSegments $p}}" title="{{$v}}">{{StringUtils.EllipsisString $v 30}}</a></span>
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
</span>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
<div class="gt-df gt-ac">
|
|
||||||
<!-- Only show clone panel in repository home page -->
|
|
||||||
{{if eq $n 0}}
|
|
||||||
<div class="ui action tiny input" id="clone-panel">
|
|
||||||
{{template "repo/clone_buttons" .}}
|
|
||||||
<button id="more-btn" class="ui basic small compact jump dropdown icon button" data-tooltip-content="{{ctx.Locale.Tr "repo.more_operations"}}">
|
|
||||||
{{svg "octicon-kebab-horizontal"}}
|
|
||||||
<div class="menu">
|
<div class="menu">
|
||||||
{{if not $.DisableDownloadSourceArchives}}
|
<a class="item" href="{{.RepoLink}}/_new/{{.BranchName | PathEscapeSegments}}/{{.TreePath | PathEscapeSegments}}">
|
||||||
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.zip" rel="nofollow">{{svg "octicon-file-zip" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.download_zip"}}</a>
|
{{ctx.Locale.Tr "repo.editor.new_file"}}
|
||||||
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.download_tar"}}</a>
|
</a>
|
||||||
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.bundle" rel="nofollow">{{svg "octicon-package" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.download_bundle"}}</a>
|
{{if .RepositoryUploadEnabled}}
|
||||||
{{if .CitiationExist}}
|
<a class="item" href="{{.RepoLink}}/_upload/{{.BranchName | PathEscapeSegments}}/{{.TreePath | PathEscapeSegments}}">
|
||||||
<a class="item" id="cite-repo-button">{{svg "octicon-cross-reference" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.cite_this_repo"}}</a>
|
{{ctx.Locale.Tr "repo.editor.upload_file"}}
|
||||||
{{end}}
|
</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
<a class="item js-clone-url-vsc" href="vscode://vscode.git/clone?url={{.CloneButtonOriginLink.HTTPS}}">{{svg "gitea-vscode" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.clone_in_vsc"}}</a>
|
<a class="item" href="{{.RepoLink}}/_diffpatch/{{.BranchName | PathEscapeSegments}}/{{.TreePath | PathEscapeSegments}}">
|
||||||
|
{{ctx.Locale.Tr "repo.editor.patch"}}
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
{{template "repo/clone_script" .}}{{/* the script will update `.js-clone-url` and related elements */}}
|
{{end}}
|
||||||
</div>
|
|
||||||
{{template "repo/cite/cite_modal" .}}
|
{{if and (eq $n 0) (.Repository.IsTemplate)}}
|
||||||
{{end}}
|
<a role="button" class="ui primary compact button" href="{{AppSubUrl}}/repo/create?template_id={{.Repository.ID}}">
|
||||||
{{if and (ne $n 0) (not .IsViewFile) (not .IsBlame)}}
|
{{ctx.Locale.Tr "repo.use_template"}}
|
||||||
<a class="ui button" href="{{.RepoLink}}/commits/{{.BranchNameSubURL}}/{{.TreePath | PathEscapeSegments}}">
|
</a>
|
||||||
{{svg "octicon-history" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.file_history"}}
|
{{end}}
|
||||||
</a>
|
{{if ne $n 0}}
|
||||||
{{end}}
|
<span class="breadcrumb repo-path gt-ml-2">
|
||||||
|
<a class="section" href="{{.RepoLink}}/src/{{.BranchNameSubURL}}" title="{{.Repository.Name}}">{{StringUtils.EllipsisString .Repository.Name 30}}</a>
|
||||||
|
{{- range $i, $v := .TreeNames -}}
|
||||||
|
<span class="breadcrumb-divider">/</span>
|
||||||
|
{{- if eq $i $l -}}
|
||||||
|
<span class="active section" title="{{$v}}">{{StringUtils.EllipsisString $v 30}}</span>
|
||||||
|
{{- else -}}
|
||||||
|
{{$p := index $.Paths $i}}<span class="section"><a href="{{$.BranchLink}}/{{PathEscapeSegments $p}}" title="{{$v}}">{{StringUtils.EllipsisString $v 30}}</a></span>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
</span>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
<div class="gt-df gt-ac">
|
||||||
|
<!-- Only show clone panel in repository home page -->
|
||||||
|
{{if eq $n 0}}
|
||||||
|
<div class="ui action tiny input" id="clone-panel">
|
||||||
|
{{template "repo/clone_buttons" .}}
|
||||||
|
<button id="more-btn" class="ui basic small compact jump dropdown icon button" data-tooltip-content="{{ctx.Locale.Tr "repo.more_operations"}}">
|
||||||
|
{{svg "octicon-kebab-horizontal"}}
|
||||||
|
<div class="menu">
|
||||||
|
{{if not $.DisableDownloadSourceArchives}}
|
||||||
|
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.zip" rel="nofollow">{{svg "octicon-file-zip" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.download_zip"}}</a>
|
||||||
|
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.download_tar"}}</a>
|
||||||
|
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.bundle" rel="nofollow">{{svg "octicon-package" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.download_bundle"}}</a>
|
||||||
|
{{if .CitiationExist}}
|
||||||
|
<a class="item" id="cite-repo-button">{{svg "octicon-cross-reference" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.cite_this_repo"}}</a>
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
<a class="item js-clone-url-vsc" href="vscode://vscode.git/clone?url={{.CloneButtonOriginLink.HTTPS}}">{{svg "gitea-vscode" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.clone_in_vsc"}}</a>
|
||||||
|
</div>
|
||||||
|
</button>
|
||||||
|
{{template "repo/clone_script" .}}{{/* the script will update `.js-clone-url` and related elements */}}
|
||||||
|
</div>
|
||||||
|
{{template "repo/cite/cite_modal" .}}
|
||||||
|
{{end}}
|
||||||
|
{{if and (ne $n 0) (not .IsViewFile) (not .IsBlame)}}
|
||||||
|
<a class="ui button" href="{{.RepoLink}}/commits/{{.BranchNameSubURL}}/{{.TreePath | PathEscapeSegments}}">
|
||||||
|
{{svg "octicon-history" 16 "gt-mr-3"}}{{ctx.Locale.Tr "repo.file_history"}}
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{{if .IsViewFile}}
|
||||||
|
{{template "repo/view_file" .}}
|
||||||
|
{{else if .IsBlame}}
|
||||||
|
{{template "repo/blame" .}}
|
||||||
|
{{else}}
|
||||||
|
{{template "repo/view_list" .}}
|
||||||
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
{{if .IsViewFile}}
|
|
||||||
{{template "repo/view_file" .}}
|
|
||||||
{{else if .IsBlame}}
|
|
||||||
{{template "repo/blame" .}}
|
|
||||||
{{else}}
|
|
||||||
{{template "repo/view_list" .}}
|
|
||||||
{{end}}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{template "base/footer" .}}
|
{{template "base/footer" .}}
|
||||||
|
@ -231,13 +231,14 @@
|
|||||||
--color-expand-button: #{color.get('elevation/6')};
|
--color-expand-button: #{color.get('elevation/6')};
|
||||||
--color-placeholder-text: #{color.get('elevation/6')};
|
--color-placeholder-text: #{color.get('elevation/6')};
|
||||||
--color-editor-line-highlight: var(--color-primary-light-5);
|
--color-editor-line-highlight: var(--color-primary-light-5);
|
||||||
--color-project-board-bg: var(--color-secondary-light-2);
|
--color-project-board-bg: #{color.get('elevation/2')};
|
||||||
--color-caret: var(--color-text);
|
--color-caret: var(--color-text);
|
||||||
--color-reaction-bg: rgba(#{color.get('text', 'rgb')}, 0.07);
|
--color-reaction-bg: rgba(#{color.get('text', 'rgb')}, 0.07);
|
||||||
--color-reaction-active-bg: var(--color-primary-alpha-40);
|
--color-reaction-active-bg: var(--color-primary-alpha-40);
|
||||||
--color-nav-bg: #{$lvl2};
|
--color-nav-bg: #{$lvl2};
|
||||||
--color-nav-hover-bg: #{color.get('elevation/6')};
|
--color-nav-hover-bg: #{color.get('elevation/6')};
|
||||||
--color-label-active-bg: #{color.get('elevation/6')};
|
--color-label-active-bg: #{color.get('elevation/6')};
|
||||||
|
--color-label-text: #{color.get('text')};
|
||||||
--color-accent: var(--color-primary-light-1);
|
--color-accent: var(--color-primary-light-1);
|
||||||
--color-small-accent: var(--color-primary-light-5);
|
--color-small-accent: var(--color-primary-light-5);
|
||||||
--color-active-line: #{color.get('elevation/5')};
|
--color-active-line: #{color.get('elevation/5')};
|
||||||
|
19
src/themes/scss/theme/modules/custom/_project.scss
Normal file
19
src/themes/scss/theme/modules/custom/_project.scss
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
@use '@lucas-labs/lui-micro/var' as var;
|
||||||
|
@use '@lucas-labs/lui-micro/color' as color;
|
||||||
|
|
||||||
|
@mixin apply-styles {
|
||||||
|
#project-board {
|
||||||
|
.project-column-header {
|
||||||
|
.project-column-title {
|
||||||
|
.circular.label {
|
||||||
|
display: flex;
|
||||||
|
padding: 0 !important;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
line-height: 16px;
|
||||||
|
padding: 0 var.get('measure/.25x') !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -44,7 +44,7 @@
|
|||||||
// border-bottom: 4px solid color.get('primary/base');;
|
// border-bottom: 4px solid color.get('primary/base');;
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
background: color.get('primary/base');;
|
background: color.get('primary/base');
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
bottom: calc(0px - var(--item-margin-bottom));
|
bottom: calc(0px - var(--item-margin-bottom));
|
||||||
content: "";
|
content: "";
|
||||||
@ -66,6 +66,8 @@
|
|||||||
min-width: calc(var.get('measure/1.25x') + 6px);
|
min-width: calc(var.get('measure/1.25x') + 6px);
|
||||||
padding: 6px;
|
padding: 6px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
@use './repo-header';
|
@use './repo-header';
|
||||||
@use './repo';
|
@use './repo';
|
||||||
|
@use './project';
|
||||||
|
|
||||||
@mixin apply-custom-styles {
|
@mixin apply-custom-styles {
|
||||||
@include repo-header.apply-styles();
|
@include repo-header.apply-styles();
|
||||||
@include repo.apply-styles();
|
@include repo.apply-styles();
|
||||||
|
@include project.apply-styles();
|
||||||
}
|
}
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#repo-topics {
|
#repo-topics {
|
||||||
row-gap: var.get('measure/.5x');
|
row-gap: var.get('measure/.5x');
|
||||||
|
margin-top: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.table>tr>td, .ui.table>tbody>tr>td {
|
.ui.table>tr>td, .ui.table>tbody>tr>td {
|
||||||
@ -146,9 +147,31 @@
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
row-gap: var.get('measure/1x');
|
row-gap: var.get('measure/1x');
|
||||||
|
|
||||||
.field.gt-f1.gt-mr-3 {
|
.field.gt-f1.gt-mr-3 {
|
||||||
margin: 0px !important;
|
margin: 0px !important;
|
||||||
|
|
||||||
|
|
||||||
|
// topic selection editing (task list
|
||||||
|
div.fluid.multiple.search.selection.dropdown {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
box-shadow: none;
|
||||||
|
padding: var.get('measure/.25x') var.get('measure/.5x');
|
||||||
|
|
||||||
|
.item {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu {
|
||||||
|
top: calc(100% + 1px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cancel, Save buttons
|
||||||
+div {
|
+div {
|
||||||
display: flex;
|
display: flex;
|
||||||
column-gap: var.get('measure/1x');
|
column-gap: var.get('measure/1x');
|
||||||
|
@ -4,7 +4,6 @@ import { buildFonts } from './fonts.js';
|
|||||||
import { buildTemplates } from './templates.js';
|
import { buildTemplates } from './templates.js';
|
||||||
import { copyTo } from './copy-to.js';
|
import { copyTo } from './copy-to.js';
|
||||||
import { restartService } from './restart-service.js';
|
import { restartService } from './restart-service.js';
|
||||||
import { buildImg } from './img.js';
|
|
||||||
import { extname } from 'path';
|
import { extname } from 'path';
|
||||||
import browsersync from 'browser-sync';
|
import browsersync from 'browser-sync';
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user