CSS navbar and color tweaks (#13609)

* CSS and color tweaks

- Unify navbar-style menus
- Fix admin bar overlapping menu bar
- Fixes file edit comment box
- Fix double border on review box
- Fix review timeline icons

* Many fixes to new-menu and navbar layout enhancements

* misc settings fixes

* navbar tweak

* fix pr tabs

* branch tag and arc color tweaks
tokarchuk/v1.17
silverwind 4 years ago committed by GitHub
parent 03fa2eccbc
commit b2de034278
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      templates/admin/navbar.tmpl
  2. 6
      templates/repo/editor/commit_form.tmpl
  3. 8
      templates/repo/issue/view_content/comments.tmpl
  4. 2
      templates/repo/settings/navbar.tmpl
  5. 2
      templates/user/auth/link_account.tmpl
  6. 2
      templates/user/auth/signin_navbar.tmpl
  7. 2
      templates/user/auth/signup_openid_navbar.tmpl
  8. 2
      templates/user/profile.tmpl
  9. 2
      templates/user/settings/navbar.tmpl
  10. 5
      web_src/less/_admin.less
  11. 125
      web_src/less/_base.less
  12. 6
      web_src/less/_dashboard.less
  13. 5
      web_src/less/_explore.less
  14. 2
      web_src/less/_organization.less
  15. 27
      web_src/less/_repository.less
  16. 4
      web_src/less/_review.less
  17. 4
      web_src/less/_user.less
  18. 82
      web_src/less/themes/theme-arc-green.less

@ -1,4 +1,5 @@
<div class="ui secondary pointing tabular top attached borderless menu stackable new-menu navbar"> <div class="ui secondary pointing tabular top attached borderless menu stackable new-menu navbar">
<div class="new-menu-inner">
<a class="{{if .PageIsAdminDashboard}}active{{end}} item" href="{{AppSubUrl}}/admin"> <a class="{{if .PageIsAdminDashboard}}active{{end}} item" href="{{AppSubUrl}}/admin">
{{.i18n.Tr "admin.dashboard"}} {{.i18n.Tr "admin.dashboard"}}
</a> </a>
@ -33,3 +34,4 @@
{{.i18n.Tr "admin.monitor"}} {{.i18n.Tr "admin.monitor"}}
</a> </a>
</div> </div>
</div>

@ -2,9 +2,11 @@
<img width="48" height="48" class="ui image commit-avatar" src="{{.SignedUser.RelAvatarLink}}"> <img width="48" height="48" class="ui image commit-avatar" src="{{.SignedUser.RelAvatarLink}}">
<div class="commit-form"> <div class="commit-form">
<h3>{{- if .CanCommitToBranch.WillSign}} <h3>{{- if .CanCommitToBranch.WillSign}}
<i title="{{.i18n.Tr "repo.signing.will_sign" .CanCommitToBranch.SigningKey}}" class="lock green icon"></i>{{.i18n.Tr "repo.editor.commit_signed_changes"}} <span title="{{.i18n.Tr "repo.signing.will_sign" .CanCommitToBranch.SigningKey}}">{{svg "octicon-lock" 24}}</span>
{{.i18n.Tr "repo.editor.commit_signed_changes"}}
{{- else}} {{- else}}
<i title="{{.i18n.Tr (printf "repo.signing.wont_sign.%s" .CanCommitToBranch.WontSignReason)}}" class="unlock grey icon"></i>{{.i18n.Tr "repo.editor.commit_changes"}} <span title="{{.i18n.Tr (printf "repo.signing.wont_sign.%s" .CanCommitToBranch.WontSignReason)}}">{{svg "octicon-unlock" 24}}</span>
{{.i18n.Tr "repo.editor.commit_changes"}}
{{- end}}</h3> {{- end}}</h3>
<div class="field"> <div class="field">
<input name="commit_summary" placeholder="{{if .PageIsDelete}}{{.i18n.Tr "repo.editor.delete" .TreePath}}{{else if .PageIsUpload}}{{.i18n.Tr "repo.editor.upload_files_to_dir" .TreePath}}{{else if .IsNewFile}}{{.i18n.Tr "repo.editor.add_tmpl"}}{{else}}{{.i18n.Tr "repo.editor.update" .TreePath}}{{end}}" value="{{.commit_summary}}" autofocus> <input name="commit_summary" placeholder="{{if .PageIsDelete}}{{.i18n.Tr "repo.editor.delete" .TreePath}}{{else if .PageIsUpload}}{{.i18n.Tr "repo.editor.upload_files_to_dir" .TreePath}}{{else if .IsNewFile}}{{.i18n.Tr "repo.editor.add_tmpl"}}{{else}}{{.i18n.Tr "repo.editor.update" .TreePath}}{{end}}" value="{{.commit_summary}}" autofocus>

@ -403,10 +403,10 @@
<img src="{{.Poster.RelAvatarLink}}"> <img src="{{.Poster.RelAvatarLink}}">
</a> </a>
{{end}} {{end}}
<span class="badge {{if eq .Review.Type 1}}green <span class="badge {{if eq .Review.Type 1}}bg-green
{{- else if eq .Review.Type 2}}grey {{- else if eq .Review.Type 2}}bg-grey
{{- else if eq .Review.Type 3}}red {{- else if eq .Review.Type 3}}bg-red
{{- else}}grey{{end}}">{{svg (printf "octicon-%s" .Review.Type.Icon)}}</span> {{- else}}bg-grey{{end}} text-white">{{svg (printf "octicon-%s" .Review.Type.Icon)}}</span>
<span class="text grey"> <span class="text grey">
{{if .OriginalAuthor }} {{if .OriginalAuthor }}
<span class="text black"><i class="fa {{MigrationIcon $.Repository.GetOriginalURLHostname}}" aria-hidden="true"></i> {{ .OriginalAuthor }}</span><span class="text grey"> {{if $.Repository.OriginalURL}}</span><span class="text migrate">({{$.i18n.Tr "repo.migrated_from" $.Repository.OriginalURL $.Repository.GetOriginalURLHostname | Safe }}){{end}}</span> <span class="text black"><i class="fa {{MigrationIcon $.Repository.GetOriginalURLHostname}}" aria-hidden="true"></i> {{ .OriginalAuthor }}</span><span class="text grey"> {{if $.Repository.OriginalURL}}</span><span class="text migrate">({{$.i18n.Tr "repo.migrated_from" $.Repository.OriginalURL $.Repository.GetOriginalURLHostname | Safe }}){{end}}</span>

@ -1,4 +1,5 @@
<div class="ui secondary pointing tabular top attached borderless menu stackable new-menu navbar"> <div class="ui secondary pointing tabular top attached borderless menu stackable new-menu navbar">
<div class="new-menu-inner">
<a class="{{if .PageIsSettingsOptions}}active{{end}} item" href="{{.RepoLink}}/settings"> <a class="{{if .PageIsSettingsOptions}}active{{end}} item" href="{{.RepoLink}}/settings">
{{.i18n.Tr "repo.settings.options"}} {{.i18n.Tr "repo.settings.options"}}
</a> </a>
@ -27,3 +28,4 @@
</a> </a>
{{end}} {{end}}
</div> </div>
</div>

@ -2,6 +2,7 @@
<div class="user link-account"> <div class="user link-account">
<div class="ui secondary pointing tabular top attached borderless menu new-menu navbar"> <div class="ui secondary pointing tabular top attached borderless menu new-menu navbar">
<div class="new-menu-inner">
<!-- TODO handle .ShowRegistrationButton once other login bugs are fixed --> <!-- TODO handle .ShowRegistrationButton once other login bugs are fixed -->
<a class="item {{if not .user_exists}}active{{end}}" <a class="item {{if not .user_exists}}active{{end}}"
data-tab="auth-link-signup-tab"> data-tab="auth-link-signup-tab">
@ -28,5 +29,6 @@
</div> </div>
</div> </div>
</div> </div>
</div>
{{template "base/footer" .}} {{template "base/footer" .}}

@ -1,5 +1,6 @@
{{if or .EnableOpenIDSignIn .EnableSSPI}} {{if or .EnableOpenIDSignIn .EnableSSPI}}
<div class="ui secondary pointing tabular top attached borderless menu new-menu navbar"> <div class="ui secondary pointing tabular top attached borderless menu new-menu navbar">
<div class="new-menu-inner">
<a class="{{if .PageIsLogin}}active{{end}} item" rel="nofollow" href="{{AppSubUrl}}/user/login"> <a class="{{if .PageIsLogin}}active{{end}} item" rel="nofollow" href="{{AppSubUrl}}/user/login">
{{.i18n.Tr "auth.login_userpass"}} {{.i18n.Tr "auth.login_userpass"}}
</a> </a>
@ -16,4 +17,5 @@
</a> </a>
{{end}} {{end}}
</div> </div>
</div>
{{end}} {{end}}

@ -1,4 +1,5 @@
<div class="ui secondary pointing tabular top attached borderless menu stackable new-menu navbar"> <div class="ui secondary pointing tabular top attached borderless menu stackable new-menu navbar">
<div class="new-menu-inner">
<a class="{{if .PageIsOpenIDConnect}}active{{end}} item" href="{{AppSubUrl}}/user/openid/connect"> <a class="{{if .PageIsOpenIDConnect}}active{{end}} item" href="{{AppSubUrl}}/user/openid/connect">
{{.i18n.Tr "auth.openid_connect_title"}} {{.i18n.Tr "auth.openid_connect_title"}}
</a> </a>
@ -8,4 +9,5 @@
</a> </a>
{{end}} {{end}}
</div> </div>
</div>

@ -1,5 +1,5 @@
{{template "base/head" .}} {{template "base/head" .}}
<div class="user profile"> <div class="user profile mt-5">
<div class="ui container"> <div class="ui container">
<div class="ui stackable grid"> <div class="ui stackable grid">
<div class="ui five wide column"> <div class="ui five wide column">

@ -1,4 +1,5 @@
<div class="ui secondary pointing tabular top attached borderless menu stackable new-menu navbar"> <div class="ui secondary pointing tabular top attached borderless menu stackable new-menu navbar">
<div class="new-menu-inner">
<a class="{{if .PageIsSettingsProfile}}active{{end}} item" href="{{AppSubUrl}}/user/settings"> <a class="{{if .PageIsSettingsProfile}}active{{end}} item" href="{{AppSubUrl}}/user/settings">
{{.i18n.Tr "settings.profile"}} {{.i18n.Tr "settings.profile"}}
</a> </a>
@ -21,3 +22,4 @@
{{.i18n.Tr "settings.repos"}} {{.i18n.Tr "settings.repos"}}
</a> </a>
</div> </div>
</div>

@ -44,11 +44,6 @@
} }
} }
.ui.header,
.ui.segment {
box-shadow: 0 1px 2px 0 var(--color-secondary);
}
&.user { &.user {
.email { .email {
max-width: 200px; max-width: 200px;

@ -84,6 +84,7 @@
--color-input-background: #ffffff; --color-input-background: #ffffff;
--color-input-border: #dedede; --color-input-border: #dedede;
--color-input-border-hover: #cecece; --color-input-border-hover: #cecece;
--color-navbar: #f8f8f8;
} }
:root:lang(ja) { :root:lang(ja) {
@ -189,6 +190,9 @@ table {
::-webkit-scrollbar-thumb:hover { ::-webkit-scrollbar-thumb:hover {
box-shadow: inset 0 0 0 6px var(--color-primary-dark-2); box-shadow: inset 0 0 0 6px var(--color-primary-dark-2);
} }
::-webkit-scrollbar-corner {
background: transparent;
}
::selection, ::selection,
.CodeMirror-selected { .CodeMirror-selected {
@ -233,6 +237,15 @@ a:hover,
margin: 0 -1.25px; margin: 0 -1.25px;
} }
.ui.pointing.dropdown > .menu:not(.hidden)::after {
background: var(--color-box-body);
box-shadow: -1px -1px 0 0 var(--color-secondary);
}
.ui.progress[data-percent="0"] .bar .progress {
color: var(--color-text);
}
.ui.attached.table { .ui.attached.table {
border-color: var(--color-secondary); border-color: var(--color-secondary);
} }
@ -286,9 +299,8 @@ a:hover,
margin: 0 !important; margin: 0 !important;
&.light { &.light {
background-color: white; background: var(--color-body);
border-bottom: 1px solid #dddddd; border-bottom: 1px solid var(--color-secondary);
box-shadow: 0 2px 3px rgba(0, 0, 0, .04);
} }
.column .menu { .column .menu {
@ -376,6 +388,10 @@ a:hover,
margin-left: .5rem; margin-left: .5rem;
} }
.ui.dropdown .menu {
border-color: var(--color-secondary);
}
.ui.form .field > .selection.dropdown > .dropdown.icon { .ui.form .field > .selection.dropdown > .dropdown.icon {
height: auto; height: auto;
} }
@ -966,55 +982,75 @@ footer {
} }
.ui.menu.new-menu { .ui.menu.new-menu {
justify-content: center !important; padding-top: 15px;
padding-top: 15px !important; margin-bottom: 15px;
margin-top: -15px !important; background: var(--color-navbar);
margin-bottom: 15px !important; border-bottom: 1px solid var(--color-secondary) !important;
background: #fafafa; overflow: auto;
border-width: 1px !important;
} }
@media @mediaLgAndDown { @media @mediaSm {
.ui.menu.new-menu { .ui.menu.new-menu {
overflow-x: auto !important; overflow: visible !important;
justify-content: left !important;
padding-bottom: 2px;
} }
.ui.menu.new-menu::-webkit-scrollbar {
height: 8px;
display: none;
} }
.ui.menu.new-menu:hover::-webkit-scrollbar { .ui.menu.new-menu .new-menu-inner {
display: block; display: flex;
margin-left: auto;
margin-right: auto;
} }
.ui.menu.new-menu::-webkit-scrollbar-track { @media @mediaSm {
background: rgba(0, 0, 0, .01); .ui.menu.new-menu .new-menu-inner {
flex-wrap: wrap;
margin-left: 0;
margin-right: 0;
} }
.ui.menu.new-menu::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, .2);
} }
.ui.menu.new-menu::after { .ui.menu.new-menu::after {
position: absolute; position: absolute;
margin-top: -15px;
display: block; display: block;
background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 100%); background-image: linear-gradient(to right, transparent, var(--color-navbar) 100%);
content: ' '; content: ' ';
right: 0; right: 0;
height: 53px; height: 39px;
z-index: 1000; z-index: 1000;
width: 60px; width: 60px;
clear: none;
visibility: visible; visibility: visible;
pointer-events: none;
}
.ui.menu.new-menu .item {
margin: 0 !important;
} }
.ui.menu.new-menu a.item:last-child { @media @mediaSm {
.ui.menu.new-menu .item {
width: auto !important;
}
}
.ui.menu.new-menu .item:last-child {
padding-right: 30px !important; padding-right: 30px !important;
} }
.ui.menu.new-menu::-webkit-scrollbar {
height: 6px;
display: none;
}
.ui.menu.new-menu::-webkit-scrollbar-track {
background: none !important;
}
.ui.menu.new-menu::-webkit-scrollbar-thumb {
box-shadow: none !important;
}
.ui.menu.new-menu:hover::-webkit-scrollbar {
display: block;
} }
[v-cloak] { [v-cloak] {
@ -1473,23 +1509,40 @@ table th[data-sortt-desc] {
} }
.ui.tabular.menu { .ui.tabular.menu {
.item { border-color: var(--color-secondary);
}
.ui.tabular.menu .item {
padding: 11px 12px; padding: 11px 12px;
color: rgba(0, 0, 0, .5); color: var(--color-secondary-dark-6);
} }
.item:hover { .ui.tabular.menu .item:hover {
color: rgba(0, 0, 0, .8); color: var(--color-text);
} }
.item.active { .ui.tabular.menu .active.item,
color: rgba(0, 0, 0, .9); .ui.tabular.menu .active.item:hover {
background: var(--color-body);
border-color: var(--color-secondary);
color: var(--color-text);
margin-top: 1px; /* offset fomantic's margin-bottom: -1px */ margin-top: 1px; /* offset fomantic's margin-bottom: -1px */
} }
.ui.secondary.pointing.menu {
border-color: var(--color-secondary);
} }
.ui.secondary.pointing.menu .item { .ui.secondary.pointing.menu .item {
padding: 12px; color: var(--color-secondary-dark-6);
}
.ui.secondary.pointing.menu .active.item,
.ui.secondary.pointing.menu .active.item:hover,
.ui.secondary.pointing.menu .dropdown.item:hover,
.ui.secondary.pointing.menu .link.item:hover,
.ui.secondary.pointing.menu a.item:hover {
color: var(--color-text);
} }
.ui.header .ui.label { .ui.header .ui.label {

@ -1,6 +1,4 @@
.dashboard { .dashboard {
padding-top: 15px;
&.feeds, &.feeds,
&.issues { &.issues {
.context.user.menu { .context.user.menu {
@ -71,7 +69,9 @@
.dashboard-navbar { .dashboard-navbar {
width: 100vw; width: 100vw;
padding: 0 .5rem; padding-left: .5rem;
padding-right: .5rem;
padding-top: 15px;
.org-visibility .label { .org-visibility .label {
margin-left: 5px; margin-left: 5px;
} }

@ -1,12 +1,9 @@
.explore { .explore {
padding-top: 15px;
.navbar { .navbar {
justify-content: center; justify-content: center;
padding-top: 15px !important; padding-top: 15px !important;
margin-top: -15px !important;
margin-bottom: 15px !important; margin-bottom: 15px !important;
background-color: #fafafa !important; background-color: var(--color-navbar) !important;
border-width: 1px !important; border-width: 1px !important;
.svg { .svg {

@ -1,6 +1,4 @@
.organization { .organization {
padding-top: 15px;
.head { .head {
.ui.header { .ui.header {
.text { .text {

@ -1,6 +1,4 @@
.repository { .repository {
padding-top: 15px;
.repo-header { .repo-header {
.ui.compact.menu { .ui.compact.menu {
margin-left: 1rem; margin-left: 1rem;
@ -144,8 +142,7 @@
} }
.header-wrapper { .header-wrapper {
background-color: #fafafa; background-color: var(--color-navbar);
margin-top: -15px;
padding-top: 15px; padding-top: 15px;
.ui.tabs.divider { .ui.tabs.divider {
@ -519,21 +516,23 @@
padding: 15px; padding: 15px;
margin-bottom: 10px; margin-bottom: 10px;
border: 1px solid var(--color-secondary); border: 1px solid var(--color-secondary);
background: var(--color-box-body);
border-radius: 3px; border-radius: 3px;
#avatar-arrow; #avatar-arrow;
&::after { &::after {
border-right-color: var(--color-box-header); border-right-color: var(--color-box-body);
} }
.quick-pull-choice { .quick-pull-choice {
.branch-name { .branch-name {
display: inline-block; display: inline-block;
padding: 3px 6px; padding: 2px 4px;
font: 12px var(--fonts-monospace); font: 12px var(--fonts-monospace);
color: rgba(0, 0, 0, .65); color: var(--color-text);
background-color: rgba(209, 227, 237, .45); background: var(--color-secondary);
border-radius: 3px; border-radius: 3px;
margin: 0 2px;
} }
.new-branch-name-input { .new-branch-name-input {
@ -741,14 +740,6 @@
align-items: center; align-items: center;
} }
.avatar,
.type-icon {
.svg {
width: 23px;
height: 23px;
}
}
.text { .text {
margin: .3em 0 .5em .5em; margin: .3em 0 .5em .5em;
} }
@ -2629,10 +2620,6 @@
.list { .list {
> .item { > .item {
.green:not(.ui.button) {
color: var(--color-green);
}
&:not(:first-child) { &:not(:first-child) {
border-top: 1px solid var(--color-secondary); border-top: 1px solid var(--color-secondary);
padding: 1rem; padding: 1rem;

@ -180,3 +180,7 @@ a.blob-excerpt:hover {
max-width: 900px; max-width: 900px;
} }
} }
.review-box > .segment {
border: none !important;
}

@ -1,10 +1,6 @@
@import "variables.less"; @import "variables.less";
.user { .user {
&:not(.icon) {
padding-top: 15px;
}
&.profile { &.profile {
.ui.card { .ui.card {
.header, .header,

@ -72,13 +72,14 @@
--color-body: #383c4a; --color-body: #383c4a;
--color-box-header: #454a57; --color-box-header: #454a57;
--color-box-body: #353945; --color-box-body: #353945;
--color-text: #b6bac5; --color-text: #bbc0ca;
--color-text-light: #969aa5; --color-text-light: #969aa5;
--color-timeline: #4a505c; --color-timeline: #4a505c;
--color-input-text: #dcdcdc; --color-input-text: #d5dbe6;
--color-input-background: #2e323e; --color-input-background: #2e323e;
--color-input-border: #454a57; --color-input-border: #454a57;
--color-input-border-hover: #505667; --color-input-border-hover: #505667;
--color-navbar: #2a2e3a;
} }
/* Background */ /* Background */
@ -566,7 +567,7 @@ body {
.following.bar.light { .following.bar.light {
background: #2e323e; background: #2e323e;
border-bottom: 1px solid #313131; border-color: var(--color-secondary-alpha-40);
} }
.ui.secondary.menu .active.item { .ui.secondary.menu .active.item {
@ -721,10 +722,6 @@ a.ui.basic.green.label:hover {
background-color: #87ab63; background-color: #87ab63;
} }
.repository .header-wrapper {
background-color: #2a2e3a;
}
.ui.header, .ui.header,
.ui.breadcrumb .divider { .ui.breadcrumb .divider {
color: var(--color-secondary-dark-6); color: var(--color-secondary-dark-6);
@ -884,35 +881,6 @@ a.ui.basic.green.label:hover {
border-bottom: 1px solid #304251; border-bottom: 1px solid #304251;
} }
.ui.tabular.menu {
border-bottom-color: var(--color-secondary);
.item.active {
border-top-color: var(--color-secondary);
border-left-color: var(--color-secondary);
border-right-color: var(--color-secondary);
background: #383c4a;
color: #dbdbdb;
}
.item {
color: var(--color-secondary-dark-6);
}
.item:hover {
color: #dbdbdb;
}
&.navbar {
.item.active {
border-top-color: transparent;
border-left-color: transparent;
border-right-color: transparent;
background: #383c4a;
}
}
}
.markdown:not(code) .highlight pre, .markdown:not(code) .highlight pre,
.markdown:not(code) pre { .markdown:not(code) pre {
background-color: #2a2e3a; background-color: #2a2e3a;
@ -1022,8 +990,9 @@ a.ui.basic.green.label:hover {
color: #dedede; color: #dedede;
} }
.repository .comment.form .ui.tabular.menu .item.active { .repository .navbar .active.item,
background: #353945; .repository .navbar .active.item:hover {
border-color: transparent !important;
} }
.ui.basic.green.active.button, .ui.basic.green.active.button,
@ -1156,43 +1125,6 @@ td.blob-hunk {
background: #353945; background: #353945;
} }
.ui.secondary.pointing.menu {
border-bottom-color: rgba(255, 255, 255, .15);
}
.ui.secondary.pointing.menu .active.item {
color: #dbdbdb;
}
.ui.secondary.pointing.menu .active.item:hover {
color: #dbdbdb;
}
.ui.secondary.pointing.menu .dropdown.item:hover,
.ui.secondary.pointing.menu .link.item:hover,
.ui.secondary.pointing.menu a.item:hover {
color: #dbdbdb;
}
.ui.pointing.dropdown > .menu:not(.hidden)::after {
background: #2c303a;
}
.explore .navbar {
background-color: #2a2e3a !important;
}
.ui.menu.new-menu {
background: #2a2e3a;
border-color: transparent !important;
@media @mediaLgAndDown {
&::after {
background: linear-gradient(to right, transparent 0%, #2a2e3a 100%);
}
}
}
.ui.attached.info.message, .ui.attached.info.message,
.ui.info.message { .ui.info.message {
box-shadow: 0 0 0 1px #4b5e71 inset, 0 0 0 0 transparent; box-shadow: 0 0 0 1px #4b5e71 inset, 0 0 0 0 transparent;

Loading…
Cancel
Save