diff options
author | Daniel Baumann <daniel@debian.org> | 2024-10-18 20:33:49 +0200 |
---|---|---|
committer | Daniel Baumann <daniel@debian.org> | 2024-12-12 23:57:56 +0100 |
commit | e68b9d00a6e05b3a941f63ffb696f91e554ac5ec (patch) | |
tree | 97775d6c13b0f416af55314eb6a89ef792474615 /web_src/css/repo | |
parent | Initial commit. (diff) | |
download | forgejo-e68b9d00a6e05b3a941f63ffb696f91e554ac5ec.tar.xz forgejo-e68b9d00a6e05b3a941f63ffb696f91e554ac5ec.zip |
Adding upstream version 9.0.3.
Signed-off-by: Daniel Baumann <daniel@debian.org>
Diffstat (limited to '')
-rw-r--r-- | web_src/css/repo.css | 3007 | ||||
-rw-r--r-- | web_src/css/repo/header.css | 68 | ||||
-rw-r--r-- | web_src/css/repo/issue-card.css | 40 | ||||
-rw-r--r-- | web_src/css/repo/issue-label.css | 52 | ||||
-rw-r--r-- | web_src/css/repo/issue-list.css | 112 | ||||
-rw-r--r-- | web_src/css/repo/linebutton.css | 19 | ||||
-rw-r--r-- | web_src/css/repo/list-header.css | 58 | ||||
-rw-r--r-- | web_src/css/repo/release-tag.css | 121 | ||||
-rw-r--r-- | web_src/css/repo/wiki.css | 72 |
9 files changed, 3549 insertions, 0 deletions
diff --git a/web_src/css/repo.css b/web_src/css/repo.css new file mode 100644 index 0000000..3bc1a1e --- /dev/null +++ b/web_src/css/repo.css @@ -0,0 +1,3007 @@ +.repository .data-table .line-num, +.repository .diff-file-box .file-body.file-code .lines-num, +.repository .diff-file-box .code-diff tbody tr .lines-type-marker { + user-select: none; +} + +.repository .owner.dropdown { + min-width: 40% !important; +} + +.repository .unicode-escaped .escaped-code-point[data-escaped]::before { + visibility: visible; + content: attr(data-escaped); + font-family: var(--fonts-monospace); + color: var(--color-red); +} + +.repository .unicode-escaped .escaped-code-point .char { + display: none; +} + +.repository .broken-code-point { + font-family: var(--fonts-monospace); + color: var(--color-blue); +} + +.repository .unicode-escaped .ambiguous-code-point { + border: 1px var(--color-yellow) solid; +} + +.issue-content { + display: flex; + align-items: flex-start; + gap: 16px; +} + +@media (max-width: 767.98px) { + .issue-content { + flex-direction: column; + } +} + +.issue-content-left { + margin: 0 !important; + width: calc(100% - 316px); +} + +.issue-content-right { + margin: 0 !important; + width: 300px; +} + +.issue-content-right .dropdown > .menu { + max-width: 270px; + min-width: 0; +} + +@media (max-width: 767.98px) { + .issue-content-left, + .issue-content-right { + width: 100%; + } +} + +.repository .issue-content-right .ui.list .dependency { + padding: 0; + white-space: nowrap; +} + +.repository .issue-content-right .ui.list .title { + overflow: hidden; + text-overflow: ellipsis; +} + +.repository .issue-content-right #deadlineForm input { + width: 12.8rem; + border-radius: var(--border-radius) 0 0 var(--border-radius); + border-right: 0; + white-space: nowrap; +} + +.repository .issue-content-right .filter.menu { + max-height: 500px; + overflow-x: auto; +} + +.repository .filter.menu.labels .label-filter .menu .info { + display: inline-block; + padding: 0.5rem 0; + font-size: 12px; + width: 100%; + white-space: nowrap; + margin-left: 10px; + margin-right: 8px; + text-align: left; +} + +.repository .filter.menu.labels .label-filter .menu .info code { + border: 1px solid var(--color-secondary); + border-radius: var(--border-radius); + padding: 1px 2px; + font-size: 11px; +} + +/* make all issue filter dropdown menus popup leftward, to avoid go out the viewport (right side) */ +.repository .filter.menu .ui.dropdown .menu { + max-height: 500px; + max-width: 300px; + overflow-x: hidden; + right: 0; + left: auto; +} + +/* the label-filter is the first dropdown, it shouldn't be shown leftward, otherwise it may go out the viewport (left side) */ +.repository .filter.menu .ui.dropdown.label-filter .menu { + min-width: max-content; + right: unset; + left: 0; +} + +.repository .select-label .desc { + padding-left: 23px; +} + +/* For the secondary pointing menu, respect its own border-bottom */ +/* style reference: https://semantic-ui.com/collections/menu.html#pointing */ +.repository .ui.tabs.container .ui.menu:not(.secondary.pointing) { + border-bottom: 0; +} + +.repository .ui.tabs.divider { + margin-top: -1px; + margin-bottom: 12px; +} + +.repository .clone-panel #repo-clone-url { + width: 320px; + border-radius: 0; +} + +@media (max-width: 991.98px) { + .repository .clone-panel #repo-clone-url { + width: 200px; + } +} + +.repository .ui.action.input.clone-panel > button + button, +.repository .ui.action.input.clone-panel > button + input { + margin-left: -1px; /* make the borders overlap to avoid double borders */ +} + +.repository .clone-panel > button:first-of-type { + border-radius: var(--border-radius) 0 0 var(--border-radius) !important; +} + +.repository .clone-panel > button:last-of-type { + border-radius: 0 var(--border-radius) var(--border-radius) 0 !important; +} + +.repository .clone-panel .dropdown .menu { + right: 0 !important; + left: auto !important; +} + +.repository.file.list .repo-description { + display: flex; + justify-content: space-between; + align-items: center; + gap: 5px; + margin-bottom: 5px; +} + +@media (max-width: 767.98px) { + .repository.file.list .repo-description { + flex-direction: column; + align-items: stretch; + } +} + +.commit-summary { + flex: 1; + overflow-wrap: anywhere; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.commit-header .commit-summary, +td .commit-summary { + white-space: normal; +} + +.commit-list .js-toggle-commit-body { + margin: 0 0 0 0.25em; +} + +.commit-list .commit-status { + margin: 0 0 0 0.25em; +} + +.latest-commit { + display: flex; + flex: 1; + align-items: center; + overflow: hidden; + text-overflow: ellipsis; +} + +.latest-commit .commit-status { + margin-right: 0.25em; +} + +@media (max-width: 767.98px) { + .latest-commit .sha { + display: none; + } + .latest-commit .commit-summary { + margin-left: 8px; + } +} + +.repo-path { + display: flex; + overflow-wrap: anywhere; +} + +/* this is what limits the commit table width to a value that works on all viewport sizes */ +#repo-files-table th:first-of-type { + max-width: calc(calc(min(100vw, 1280px)) - 145px - calc(2 * var(--page-margin-x))); +} + +.repository.file.list #repo-files-table thead th { + font-weight: var(--font-weight-normal); +} + +.repository.file.list #repo-files-table tbody .svg { + margin-left: 3px; + margin-right: 5px; +} + +.repository.file.list #repo-files-table tbody .svg.octicon-reply { + margin-right: 10px; +} + +.repository.file.list #repo-files-table tbody .svg.octicon-file-directory-fill, +.repository.file.list #repo-files-table tbody .svg.octicon-file-submodule { + color: var(--color-primary); +} + +.repository.file.list #repo-files-table tbody .svg.octicon-file, +.repository.file.list #repo-files-table tbody .svg.octicon-file-symlink-file, +.repository.file.list #repo-files-table tbody .svg.octicon-file-directory-symlink { + color: var(--color-secondary-dark-7); +} + +.repository.file.list #repo-files-table td { + padding-top: 0; + padding-bottom: 0; + overflow: initial; +} + +.repository.file.list #repo-files-table td.name { + width: 33%; + max-width: calc(100vw - 140px); +} + +@media (min-width: 1201px) { + .repository.file.list #repo-files-table td.name { + max-width: 150px; + } +} + +@media (min-width: 992px) and (max-width: 1200px) { + .repository.file.list #repo-files-table td.name { + max-width: 200px; + } +} + +@media (min-width: 768px) and (max-width: 991.98px) { + .repository.file.list #repo-files-table td.name { + max-width: 300px; + } +} + +.repository.file.list #repo-files-table td.message { + color: var(--color-text-light-1); + width: 66%; +} + +@media (min-width: 1201px) { + .repository.file.list #repo-files-table td.message { + max-width: 400px; + } +} + +@media (min-width: 992px) and (max-width: 1200px) { + .repository.file.list #repo-files-table td.message { + max-width: 350px; + } +} + +@media (min-width: 768px) and (max-width: 991.98px) { + .repository.file.list #repo-files-table td.message { + max-width: 250px; + } +} + +.repository.file.list #repo-files-table td.age { + color: var(--color-text-light-1); +} + +.repository.file.list #repo-files-table td .truncate { + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 100%; + padding-top: 8px; + padding-bottom: 8px; +} + +.repository.file.list #repo-files-table td a { + padding-top: 8px; + padding-bottom: 8px; +} + +.repository.file.list #repo-files-table td .at { + margin-left: 3px; + margin-right: 3px; +} + +.repository.file.list #repo-files-table td > * { + vertical-align: middle; +} + +.repository.file.list #repo-files-table td.message .isSigned { + cursor: default; +} + +.repository.file.list #repo-files-table tr:last-of-type td:first-child { + border-bottom-left-radius: var(--border-radius); +} + +.repository.file.list #repo-files-table tr:last-of-type td:last-child { + border-bottom-right-radius: var(--border-radius); +} + +.repository.file.list #repo-files-table tr:hover { + background-color: var(--color-hover); +} + +.repository.file.list #repo-files-table tr.has-parent a { + display: inline-block; + padding-top: 8px; + padding-bottom: 8px; + width: calc(100% - 1.25rem); +} + +.repository.file.list .non-diff-file-content .header .icon { + font-size: 1em; +} + +.repository.file.list .non-diff-file-content .header .small.icon { + font-size: 0.75em; +} + +.repository.file.list .non-diff-file-content .header .tiny.icon { + font-size: 0.5em; +} + +.repository.file.list .non-diff-file-content .header .file-actions .btn-octicon { + line-height: var(--line-height-default); + padding: 8px; + vertical-align: middle; + color: var(--color-text); +} + +.repository.file.list .non-diff-file-content .header .file-actions .btn-octicon:hover { + color: var(--color-primary); +} + +.repository.file.list .non-diff-file-content .header .file-actions .btn-octicon-danger:hover { + color: var(--color-red); +} + +.repository.file.list .non-diff-file-content .header .file-actions .btn-octicon.disabled { + color: inherit; + opacity: var(--opacity-disabled); + cursor: default; +} + +.view-raw { + display: flex; + justify-content: center; + align-items: center; +} + +.view-raw > * { + max-width: 100%; +} + +.view-raw audio, +.view-raw video, +.view-raw img { + margin: 1rem 0; + border-radius: 0; + object-fit: contain; +} + +.view-raw img[src$=".svg" i] { + max-height: 600px !important; + max-width: 600px !important; +} + +.pdf-content { + width: 100%; + height: 100vh; + border: none !important; + display: flex; + align-items: center; + justify-content: center; +} + +.pdf-content .pdf-fallback-button { + margin: 50px auto; +} + +.repository.file.list .non-diff-file-content .plain-text { + padding: 1em 2em; +} + +.repository.file.list .non-diff-file-content .plain-text pre { + overflow-wrap: anywhere; + white-space: pre-wrap; +} + +.repository.file.list .non-diff-file-content .csv { + overflow-x: auto; + padding: 0 !important; +} + +.repository.file.list .non-diff-file-content pre { + overflow: auto; +} + +.repository.file.list .non-diff-file-content .asciicast { + padding: 0 !important; +} + +.non-diff-file-content .pdfobject { + border-radius: 0 0 var(--border-radius) var(--border-radius); +} + +.repository.file.list .sidebar { + padding-left: 0; +} + +.repository.file.list .sidebar .svg { + width: 16px; +} + +.repo-editor-header { + width: 100%; +} + +.repo-editor-header input { + vertical-align: middle !important; + width: auto !important; + padding: 7px 8px !important; + margin-right: 5px !important; +} + +.repository.file.editor .tabular.menu .svg { + margin-right: 5px; +} + +.repository.file.editor .commit-form-wrapper { + padding-left: 64px; +} + +.repository.file.editor .commit-form-wrapper .commit-avatar { + float: left; + margin-left: -64px; + width: 3em; + height: auto; +} + +.repository.file.editor .commit-form-wrapper .commit-form { + position: relative; + padding: 15px; + margin-bottom: 10px; + border: 1px solid var(--color-secondary); + background: var(--color-box-body); + border-radius: var(--border-radius); +} + +.repository.file.editor .commit-form-wrapper .commit-form::before, +.repository.file.editor .commit-form-wrapper .commit-form::after { + right: 100%; + top: 20px; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; +} + +.repository.file.editor .commit-form-wrapper .commit-form::before { + border-right-color: var(--color-secondary); + border-width: 9px; + margin-top: -9px; +} + +.repository.file.editor .commit-form-wrapper .commit-form::after { + border-right-color: var(--color-box-body); + border-width: 8px; + margin-top: -8px; +} + +.repository.file.editor .commit-form-wrapper .commit-form .quick-pull-choice .branch-name { + display: inline-block; + padding: 2px 4px; + font: 12px var(--fonts-monospace); + color: var(--color-text); + background: var(--color-secondary); + border-radius: var(--border-radius); + margin: 0 2px; +} + +.repository.file.editor .commit-form-wrapper .commit-form .quick-pull-choice .new-branch-name-input { + position: relative; + margin-left: 25px; +} + +.repository.file.editor .commit-form-wrapper .commit-form .quick-pull-choice .new-branch-name-input input { + width: 240px !important; + padding-left: 26px !important; +} + +.repository.file.editor .commit-form-wrapper .commit-form .quick-pull-choice .octicon-git-branch { + position: absolute; + top: 9px; + left: 10px; + color: var(--color-grey); +} + +.repository.options #interval { + width: 100px !important; + min-width: 100px; +} + +.repository.new.issue .comment.form .comment .avatar { + width: 3em; +} + +.repository.new.issue .comment.form .content { + margin-left: 4em; +} + +.repository.new.issue .comment.form .content::before, +.repository.new.issue .comment.form .content::after { + right: 100%; + top: 20px; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; +} + +.repository.new.issue .comment.form .content::before { + border-right-color: var(--color-secondary); + border-width: 9px; + margin-top: -9px; +} + +.repository.new.issue .comment.form .content::after { + border-right-color: var(--color-box-body); + border-width: 8px; + margin-top: -8px; +} + +.repository.new.issue .comment.form .content .markup { + font-size: 14px; +} + +.repository.view.issue .instruct-toggle { + display: inline-block; +} + +.issue-title-header { + width: 100%; + padding-bottom: 4px; + margin-bottom: 1rem; +} + +.issue-title-meta { + display: flex; + align-items: center; +} + +.issue-title .button-row, +.repository.releases .button-row { + display: flex; +} + +@media (max-width: 767.98px) { + .repository.view.issue .issue-title { + flex-direction: column; + } + .issue-title .button-row { + width: 100%; + margin-top: .5rem; + justify-content: space-between; + } + .comment.form .issue-content-left .avatar { + display: none; + } + .comment.form .issue-content-left .content { + margin-left: 0 !important; + } + .comment.form .issue-content-left .content::before, + .comment.form .issue-content-left .content::after, + .comment.form .content .form::before, + .comment.form .content .form::after { + display: none; + } + + .repository.view.issue .issue-title.edit-active h1 { + padding-right: 0; + } +} + +.repository.view.issue .issue-title { + display: flex; + align-items: center; + gap: 0.5em; + margin-bottom: 8px; + min-height: var(--repo-header-issue-min-height); +} + +.repository.view.issue .issue-title h1 { + flex: 1; + width: 100%; + font-weight: var(--font-weight-normal); + font-size: 32px; + line-height: 40px; + margin: 0; + padding-right: 0.5rem; +} + +.repository.view.issue .issue-title .ui.input { + font-size: 16px; +} + +.repository.view.issue .issue-title .ui.input input { + font-size: 1.5em; + padding: 2px .5rem; +} + +.repository.view.issue .issue-title .index { + color: var(--color-text-light-2); +} + +.repository.view.issue .issue-title .label { + margin-right: 10px; +} + +.issue-state-label { + display: flex !important; + align-items: center !important; + font-size: 14px !important; + padding: 7px 10px !important; + border-radius: var(--border-radius-medium) !important; + flex-shrink: 0; +} + +.issue-state-label .svg { + margin-right: 4px; +} + +.repository.view.issue .pull-desc code { + color: var(--color-primary); +} + +.repository.view.issue .pull-desc a[data-clipboard-text] { + cursor: pointer; +} + +.repository.view.issue .pull-desc a[data-clipboard-text] svg { + vertical-align: middle; + position: relative; + top: -2px; + right: 1px; +} + +.repository.view.issue .pull.tabs.container { + width: 100%; + max-width: 100%; +} + +.repository.view.issue .pull.tabular.menu { + margin-bottom: 0; + overflow-x: auto; + overflow-y: hidden; +} + +.repository.view.issue .pull.tabular.menu .svg { + margin-right: 5px; +} + +.repository.view.issue .merge.box .branch-update.grid .row { + padding-bottom: 1rem; +} + +.repository.view.issue .merge.box .branch-update.grid .row .icon { + margin-top: 1.1rem; +} + +.repository.view.issue .comment-list:not(.prevent-before-timeline)::before { + display: block; + content: ""; + position: absolute; + margin-top: 12px; + margin-bottom: 14px; + top: 0; + bottom: 0; + left: 96px; + width: 2px; + background-color: var(--color-timeline); + z-index: -1; +} + +.repository.view.issue .comment-list .timeline { + position: relative; + display: block; + margin-left: 40px; + padding-left: 16px; +} + +.repository.view.issue .comment-list .timeline::before { /* ciara */ + display: block; + content: ""; + position: absolute; + margin-top: 12px; + margin-bottom: 14px; + top: 0; + bottom: 0; + left: 30px; + width: 2px; + background-color: var(--color-timeline); + z-index: -1; +} + +.repository.view.issue .comment-list .timeline-item, +.repository.view.issue .comment-list .timeline-item-group { + padding: 16px 0; +} + +.repository.view.issue .comment-list .timeline-item-group .timeline-item { + padding-top: 8px; + padding-bottom: 8px; +} + +.repository.view.issue .comment-list .timeline-avatar-offset { + margin-top: 48px; +} + +.repository.view.issue .comment-list .timeline-item { + margin-left: 16px; + position: relative; +} + +.repository.view.issue .comment-list .timeline-item .timeline-avatar { + position: absolute; + left: -68px; +} + +/* Don't show the mobile oriented avatar ".inline-timeline-avatar" on desktop. Desktop uses the avatar with class ".timeline-avatar" */ +.repository.view.issue .comment-list .timeline-item .inline-timeline-avatar { + display: none; +} + +.repository.view.issue .comment-list .timeline-item:first-child:not(.commit) { + padding-top: 0 !important; +} + +.repository.view.issue .comment-list .timeline-item:last-child:not(.commit) { + padding-bottom: 0 !important; +} + +.repository.view.issue .comment-list .timeline-item .badge.badge-commit { + border-color: transparent; + background: radial-gradient(var(--color-body) 40%, transparent 40%) no-repeat; +} + +.repository.view.issue .comment-list .timeline-item .badge { + width: 34px; + height: 34px; + background-color: var(--color-timeline); + border-radius: var(--border-radius-full); + display: flex; + float: left; + margin-left: -33px; + margin-right: 8px; + color: var(--color-text); + align-items: center; + justify-content: center; +} + +.repository.view.issue .comment-list .timeline-item .badge .svg { + width: 22px; + height: 22px; + padding: 3px; +} + +.repository.view.issue .comment-list .timeline-item .badge .svg.octicon-comment { + margin-top: 2px; +} + +.repository.view.issue .comment-list .timeline-item.comment > .content { + margin-left: -16px; +} + +.repository.view.issue .comment-list .timeline-item.event > .text { + line-height: 32px; + vertical-align: middle; +} + +.repository.view.issue .comment-list .timeline-item.commits-list { + padding-left: 15px; + padding-top: 0; +} + +.repository.view.issue .comment-list .timeline-item.commits-list .ui.avatar, +.repository.view.issue .comment-list .timeline-item.event .ui.avatar { + margin-right: 0.25em; +} + +.singular-commit { + display: flex; + align-items: center; +} + +.singular-commit .badge { + height: 30px !important; +} + +.singular-commit .shabox .sha.label { + margin: 0; + border: 1px solid var(--color-light-border); +} + +.singular-commit .shabox .sha.label.isSigned.isWarning { + border: 1px solid var(--color-red-badge); + background: var(--color-red-badge-bg); +} + +.singular-commit .shabox .sha.label.isSigned.isWarning:hover { + background: var(--color-red-badge-hover-bg) !important; +} + +.singular-commit .shabox .sha.label.isSigned.isVerified { + border: 1px solid var(--color-green-badge); + background: var(--color-green-badge-bg); +} + +.singular-commit .shabox .sha.label.isSigned.isVerified:hover { + background: var(--color-green-badge-hover-bg) !important; +} + +.singular-commit .shabox .sha.label.isSigned.isVerifiedUntrusted { + border: 1px solid var(--color-yellow-badge); + background: var(--color-yellow-badge-bg); +} + +.singular-commit .shabox .sha.label.isSigned.isVerifiedUntrusted:hover { + background: var(--color-yellow-badge-hover-bg) !important; +} + +.singular-commit .shabox .sha.label.isSigned.isVerifiedUnmatched { + border: 1px solid var(--color-orange-badge); + background: var(--color-orange-badge-bg); +} + +.singular-commit .shabox .sha.label.isSigned.isVerifiedUnmatched:hover { + background: var(--color-orange-badge-hover-bg) !important; +} + +.repository.view.issue .comment-list .timeline-item .comparebox { + line-height: 32px; + vertical-align: middle; +} + +.repository.view.issue .comment-list .timeline-item .comparebox .compare.label { + font-size: 1rem; + margin: 0; + border: 1px solid var(--color-light-border); +} + +@media (max-width: 767.98px) { + .repository.view.issue .comment-list .timeline-item .ui.segments { + margin-left: -2rem; + } +} + +.repository.view.issue .comment-list .ui.comments { + max-width: 100%; +} + +.repository.view.issue .comment-list .comment > .content > div:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +.repository.view.issue .comment-list .comment > .content > div:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +.repository.view.issue .comment-list .comment .comment-container { + border: 1px solid var(--color-secondary); + border-radius: var(--border-radius); +} + +@media (max-width: 767.98px) { + .repository.view.issue .comment-list .comment .content .form .button { + width: 100%; + margin: 0; + } + .repository.view.issue .comment-list .comment .content .form .button:not(:last-child) { + margin-bottom: 1rem; + } +} + +.repository.view.issue .comment-list .comment .merge-section { + background-color: var(--color-box-body); +} + +.repository.view.issue .comment-list .comment .merge-section .item-section { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: 0; + gap: 0.5em; +} + +.repository.view.issue .comment-list .comment .merge-section .divider { + margin-left: -1rem; + width: calc(100% + 2rem); +} + +.repository.view.issue .comment-list .comment .merge-section.no-header::before, +.repository.view.issue .comment-list .comment .merge-section.no-header::after { + right: 100%; + top: 20px; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; +} + +.repository.view.issue .comment-list .comment .merge-section.no-header::before { + border-right-color: var(--color-secondary); + border-width: 9px; + margin-top: -9px; +} + +.repository.view.issue .comment-list .comment .merge-section.no-header::after { + border-right-color: var(--color-box-body); + border-width: 8px; + margin-top: -8px; +} + +.merge-section-info code { + border: 1px solid var(--color-light-border); + border-radius: var(--border-radius); + padding: 2px 4px; + background: var(--color-light); +} + +.repository.view.issue .comment-list .comment .markup { + font-size: 14px; +} + +.repository.view.issue .comment-list .comment .no-content { + color: var(--color-text-light-2); + font-style: italic; +} + +.repository.view.issue .comment-list .comment .ui.form .field:first-child { + clear: none; +} + +.repository.view.issue .comment-list .comment .ui.form .field.footer { + overflow: hidden; +} + +.repository.view.issue .comment-list .comment .ui.form .field .tab.markup { + min-height: 5rem; +} + +.repository.view.issue .comment-list .comment .edit.buttons { + margin-top: 10px; +} + +.repository.view.issue .comment-list .code-comment { + border: 1px solid transparent; + margin: 0; +} + +.repository.view.issue .comment-list .code-comment .comment-header { + background: transparent; + border-bottom: 0 !important; + padding: 0 !important; +} + +.repository.view.issue .comment-list .code-comment .comment-header::after, +.repository.view.issue .comment-list .code-comment .comment-header::before { + display: none; +} + +.repository.view.issue .comment-list .code-comment .comment-content { + margin-left: 36px; +} + +.repository.view.issue .comment-list .comment > .avatar { + margin-top: 6px; +} + +.repository.view.issue .comment-list .comment > .avatar ~ .content { + margin-left: 42px; +} + +.repository.view.issue .comment-list .comment-code-cloud .segment.reactions { + margin-top: 16px !important; + margin-bottom: -8px !important; + border-top: none !important; +} + +.repository.view.issue .comment-list .comment-code-cloud .segment.reactions .ui.label { + border: 1px solid; + padding: 5px 8px !important; + margin: 0 2px; + border-radius: var(--border-radius); + border-color: var(--color-secondary-dark-1) !important; +} + +.repository.view.issue .comment-list .comment-code-cloud .segment.reactions .ui.label.basic.primary { + background-color: var(--color-reaction-active-bg) !important; + border-color: var(--color-primary-alpha-80) !important; +} + +.repository.view.issue .comment-list .comment-code-cloud .segment.reactions .ui.label.basic.primary:hover { + background-color: var(--color-reaction-hover-bg) !important; + border-color: var(--color-primary-alpha-80) !important; +} + +.repository.view.issue .comment-list .comment-code-cloud button.comment-form-reply { + margin: 0; +} + +.repository.view.issue .comment-list .event { + padding-left: 15px; +} + +.repository.view.issue .comment-list .event .detail { + margin-top: 4px; + margin-left: 15px; +} + +.repository.view.issue .comment-list .event .detail .text { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.repository.view.issue .comment-list .event .segments { + box-shadow: none; +} + +@media (max-width: 767.98px) { + .repository.view.issue .comment-list { + padding: 1rem 0 !important; /* Important is required here to override existing fomantic styles. */ + } +} + +.repository.view.issue .ui.depending .item.is-closed .title { + text-decoration: line-through; +} + +.repository .comment.form .content .field:first-child { + clear: none; +} + +.repository .comment.form .content .form::before, +.repository .comment.form .content .form::after { + right: 100%; + top: 20px; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; +} + +.repository .comment.form .content .form::before { + border-right-color: var(--color-secondary); + border-width: 9px; + margin-top: -9px; +} + +.repository .comment.form .content .form::after { + border-right-color: var(--color-box-body); + border-width: 8px; + margin-top: -8px; +} + +.repository.new.milestone textarea { + height: 200px; +} + +.milestone-progress-big { + width: min(420px, 96vw); + height: 10px; +} + +.repository.compare.pull .show-form-container { + text-align: left; +} + +.repository .choose.branch { + display: flex; + align-items: center; + gap: 8px; + flex-wrap: wrap; +} + +.repository .choose .compare-separator { + width: 100%; + margin-top: -1rem; + text-align: center; +} + +.repository.compare.pull .comment.form .content::before, +.repository.compare.pull .comment.form .content::after { + right: 100%; + top: 20px; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; +} + +.repository.compare.pull .comment.form .content::before { + border-right-color: var(--color-secondary); + border-width: 9px; + margin-top: -9px; +} + +.repository.compare.pull .comment.form .content::after { + border-right-color: var(--color-box-body); + border-width: 8px; + margin-top: -8px; +} + +.repository.compare.pull .pullrequest-form { + margin-top: 16px; + margin-bottom: 16px; +} + +.repository.compare.pull .markup { + font-size: 14px; +} + +.repository.compare.pull .title .issue-title { + margin-bottom: 0.5rem; +} + +.repository.compare.pull .title .issue-title .index { + color: var(--color-text-light-2); +} + +.repository.branches .commit-divergence .bar-group { + position: relative; + float: left; + padding-bottom: 6px; + width: 50%; + max-width: 90px; +} + +.repository.branches .commit-divergence .bar-group:last-child { + border-left: 1px solid var(--color-secondary-dark-2); +} + +.repository.branches .commit-divergence .count { + margin: 0 3px; +} + +.repository.branches .commit-divergence .count.count-ahead { + text-align: left; +} + +.repository.branches .commit-divergence .count.count-behind { + text-align: right; +} + +.repository.branches .commit-divergence .bar { + height: 4px; + position: absolute; + background-color: var(--color-secondary-dark-2); +} + +.repository.branches .commit-divergence .bar.bar-behind { + right: 0; +} + +.repository.branches .commit-divergence .bar.bar-ahead { + left: 0; +} + +.repository.commits .header .search input { + font-weight: var(--font-weight-normal); + padding: 5px 10px; +} + +.repository #commits-table td:not(.message) { + white-space: nowrap; +} +.repository #commits-table thead .sha { + width: 200px; +} + +.repository #commits-table thead .shatd { + text-align: center; +} + +.repository #commits-table td.sha .sha.label { + margin: 0; +} + +.repository #commits-table.ui.basic.striped.table tbody tr:nth-child(2n) { + background-color: var(--color-light) !important; +} + +.repository #commits-table td.sha .sha.label, +.repository #repo-files-table .sha.label, +.repository #repo-file-commit-box .sha.label, +.repository #rev-list .sha.label, +.repository .timeline-item.commits-list .singular-commit .sha.label { + border: 1px solid var(--color-light-border); +} + +.repository #commits-table td.sha .sha.label .ui.signature.avatar, +.repository #repo-files-table .sha.label .ui.signature.avatar, +.repository #repo-file-commit-box .sha.label .ui.signature.avatar, +.repository #rev-list .sha.label .ui.signature.avatar, +.repository .timeline-item.commits-list .singular-commit .sha.label .ui.signature.avatar { + height: 16px; + margin-bottom: 0; + width: 16px; +} + +.repository #commits-table td.sha .sha.label .detail.icon, +.repository #repo-files-table .sha.label .detail.icon, +.repository #repo-file-commit-box .sha.label .detail.icon, +.repository #rev-list .sha.label .detail.icon, +.repository .timeline-item.commits-list .singular-commit .sha.label .detail.icon { + background: var(--color-light); + margin: -6px -10px -4px 0; + padding: 5px 4px 5px 6px; + border-left: 1px solid var(--color-light-border); + border-top: 0; + border-right: 0; + border-bottom: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.repository #commits-table td.sha .sha.label .detail.icon img, +.repository #repo-files-table .sha.label .detail.icon img, +.repository #repo-file-commit-box .sha.label .detail.icon img, +.repository #rev-list .sha.label .detail.icon img, +.repository .timeline-item.commits-list .singular-commit .sha.label .detail.icon img { + margin-right: 0; +} + +.repository #commits-table td.sha .sha.label .detail.icon .svg, +.repository #repo-files-table .sha.label .detail.icon .svg, +.repository #repo-file-commit-box .sha.label .detail.icon .svg, +.repository #rev-list .sha.label .detail.icon .svg, +.repository .timeline-item.commits-list .singular-commit .sha.label .detail.icon .svg { + margin: 0 0.25em 0 0; +} + +.repository #commits-table td.sha .sha.label .detail.icon > div, +.repository #repo-files-table .sha.label .detail.icon > div, +.repository #repo-file-commit-box .sha.label .detail.icon > div, +.repository #rev-list .sha.label .detail.icon > div, +.repository .timeline-item.commits-list .singular-commit .sha.label .detail.icon > div { + display: flex; + align-items: center; +} + +.repository #commits-table td.sha .sha.label.isSigned.isWarning, +.repository #repo-files-table .sha.label.isSigned.isWarning, +.repository #repo-file-commit-box .sha.label.isSigned.isWarning, +.repository #rev-list .sha.label.isSigned.isWarning, +.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isWarning { + border: 1px solid var(--color-red-badge); + background: var(--color-red-badge-bg); +} + +.repository #commits-table td.sha .sha.label.isSigned.isWarning .detail.icon, +.repository #repo-files-table .sha.label.isSigned.isWarning .detail.icon, +.repository #repo-file-commit-box .sha.label.isSigned.isWarning .detail.icon, +.repository #rev-list .sha.label.isSigned.isWarning .detail.icon, +.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isWarning .detail.icon { + border-left: 1px solid var(--color-red-badge); + color: var(--color-red-badge); +} + +.repository #commits-table td.sha .sha.label.isSigned.isWarning:hover, +.repository #repo-files-table .sha.label.isSigned.isWarning:hover, +.repository #repo-file-commit-box .sha.label.isSigned.isWarning:hover, +.repository #rev-list .sha.label.isSigned.isWarning:hover, +.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isWarning:hover { + background: var(--color-red-badge-hover-bg) !important; +} + +.repository #commits-table td.sha .sha.label.isSigned.isVerified, +.repository #repo-files-table .sha.label.isSigned.isVerified, +.repository #repo-file-commit-box .sha.label.isSigned.isVerified, +.repository #rev-list .sha.label.isSigned.isVerified, +.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerified { + border: 1px solid var(--color-green-badge); + background: var(--color-green-badge-bg); +} + +.repository #commits-table td.sha .sha.label.isSigned.isVerified .detail.icon, +.repository #repo-files-table .sha.label.isSigned.isVerified .detail.icon, +.repository #repo-file-commit-box .sha.label.isSigned.isVerified .detail.icon, +.repository #rev-list .sha.label.isSigned.isVerified .detail.icon, +.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerified .detail.icon { + border-left: 1px solid var(--color-green-badge); + color: var(--color-green-badge); +} + +.repository #commits-table td.sha .sha.label.isSigned.isVerified:hover, +.repository #repo-files-table .sha.label.isSigned.isVerified:hover, +.repository #repo-file-commit-box .sha.label.isSigned.isVerified:hover, +.repository #rev-list .sha.label.isSigned.isVerified:hover, +.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerified:hover { + background: var(--color-green-badge-hover-bg) !important; +} + +.repository #commits-table td.sha .sha.label.isSigned.isVerifiedUntrusted, +.repository #repo-files-table .sha.label.isSigned.isVerifiedUntrusted, +.repository #repo-file-commit-box .sha.label.isSigned.isVerifiedUntrusted, +.repository #rev-list .sha.label.isSigned.isVerifiedUntrusted, +.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerifiedUntrusted { + border: 1px solid var(--color-yellow-badge); + background: var(--color-yellow-badge-bg); +} + +.repository #commits-table td.sha .sha.label.isSigned.isVerifiedUntrusted .detail.icon, +.repository #repo-files-table .sha.label.isSigned.isVerifiedUntrusted .detail.icon, +.repository #repo-file-commit-box .sha.label.isSigned.isVerifiedUntrusted .detail.icon, +.repository #rev-list .sha.label.isSigned.isVerifiedUntrusted .detail.icon, +.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerifiedUntrusted .detail.icon { + border-left: 1px solid var(--color-yellow-badge); + color: var(--color-yellow-badge); +} + +.repository #commits-table td.sha .sha.label.isSigned.isVerifiedUntrusted:hover, +.repository #repo-files-table .sha.label.isSigned.isVerifiedUntrusted:hover, +.repository #repo-file-commit-box .sha.label.isSigned.isVerifiedUntrusted:hover, +.repository #rev-list .sha.label.isSigned.isVerifiedUntrusted:hover, +.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerifiedUntrusted:hover { + background: var(--color-yellow-badge-hover-bg) !important; +} + +.repository #commits-table td.sha .sha.label.isSigned.isVerifiedUnmatched, +.repository #repo-files-table .sha.label.isSigned.isVerifiedUnmatched, +.repository #repo-file-commit-box .sha.label.isSigned.isVerifiedUnmatched, +.repository #rev-list .sha.label.isSigned.isVerifiedUnmatched, +.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerifiedUnmatched { + border: 1px solid var(--color-orange-badge); + background: var(--color-orange-badge-bg); +} + +.repository #commits-table td.sha .sha.label.isSigned.isVerifiedUnmatched .detail.icon, +.repository #repo-files-table .sha.label.isSigned.isVerifiedUnmatched .detail.icon, +.repository #repo-file-commit-box .sha.label.isSigned.isVerifiedUnmatched .detail.icon, +.repository #rev-list .sha.label.isSigned.isVerifiedUnmatched .detail.icon, +.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerifiedUnmatched .detail.icon { + border-left: 1px solid var(--color-orange-badge); + color: var(--color-orange-badge); +} + +.repository #commits-table td.sha .sha.label.isSigned.isVerifiedUnmatched:hover, +.repository #repo-files-table .sha.label.isSigned.isVerifiedUnmatched:hover, +.repository #repo-file-commit-box .sha.label.isSigned.isVerifiedUnmatched:hover, +.repository #rev-list .sha.label.isSigned.isVerifiedUnmatched:hover, +.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerifiedUnmatched:hover { + background: var(--color-orange-badge-hover-bg) !important; +} + +.repository .data-table { + width: 100%; +} + +.repository .data-table tr { + border-top: 0; +} + +.repository .data-table td, +.repository .data-table th { + padding: 5px !important; + overflow: hidden; + font-size: 12px; + text-align: left; + white-space: nowrap; + border: 1px solid var(--color-secondary); +} + +/* the border css competes with .markup where all tables have outer border which would add a double + border here, remove only the outer borders from this table */ +.repository .data-table tr:first-child :is(td,th) { + border-top: none !important; +} +.repository .data-table tr:last-child :is(td,th) { + border-bottom: none !important; +} +.repository .data-table tr :is(td,th):first-child { + border-left: none !important; +} +.repository .data-table tr :is(td,th):last-child { + border-right: none !important; +} + +.repository .data-table td { + white-space: pre-line; +} + +.repository .data-table th { + font-weight: var(--font-weight-semibold); + background: var(--color-box-header); + border-top: 0; +} + +.repository .data-table td.added, +.repository .data-table th.added, +.repository .data-table tr.added { + background-color: var(--color-diff-added-row-bg) !important; +} + +.repository .data-table td.removed, +.repository .data-table th.removed, +.repository .data-table tr.removed { + background-color: var(--color-diff-removed-row-bg) !important; +} + +.repository .data-table td.moved, +.repository .data-table th.moved, +.repository .data-table tr.moved { + background-color: var(--color-diff-moved-row-bg) !important; +} + +.repository .data-table tbody.section { + border-top: 2px solid var(--color-secondary); +} + +.repository .data-table .line-num { + width: 1%; + min-width: 50px; + font-family: monospace; + line-height: 20px; + color: var(--color-text-light-1); + white-space: nowrap; + vertical-align: top; + cursor: pointer; + text-align: right; + background: var(--color-body); + border: 0; +} + +.repository .diff-detail-box { + display: flex; + justify-content: space-between; + align-items: center; + position: sticky; + top: 0; + z-index: 8; + padding: 7px 5px; + margin: 0 -5px; /* negative margin so it covers active file shadow */ + height: 44px; /* this height should match sticky-2nd-row */ + background: var(--color-body); +} + +@media (max-width: 480px) { + .repository .diff-detail-box { + flex-wrap: wrap; + } +} +.repository .diff-detail-box .diff-detail-stats strong { + margin-left: 0.25rem; + margin-right: 0.25rem; +} + +/* Because the translations contain the <strong> we need to style with nth-of-type */ + +.repository .diff-detail-box .diff-detail-stats strong:nth-of-type(1) { + color: var(--color-yellow); +} + +.repository .diff-detail-box .diff-detail-stats strong:nth-of-type(2) { + color: var(--color-green); +} + +.repository .diff-detail-box .diff-detail-stats strong:nth-of-type(3) { + color: var(--color-red); +} + +@media (max-width: 800px) { + .repository .diff-detail-box .diff-detail-stats { + display: none !important; + } +} + +.diff-detail-actions { + display: flex; + align-items: center; + justify-content: end; +} + +.diff-detail-actions > *, +.diff-detail-actions .button { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.repository .diff-detail-box span.status { + display: inline-block; + width: 12px; + height: 12px; + margin-right: 8px; + vertical-align: middle; +} + +.repository .diff-detail-box span.status.modify { + background-color: var(--color-yellow); +} + +.repository .diff-detail-box span.status.add { + background-color: var(--color-green); +} + +.repository .diff-detail-box span.status.del { + background-color: var(--color-red); +} + +.repository .diff-detail-box span.status.rename { + background-color: var(--color-teal); +} + +.repository .diff-detail-box .ui.button { + padding: 0 1.125em; + height: 30px; +} + +.repository .diff-box .header:not(.resolved-placeholder) .file { + min-width: 0; +} + +.repository .diff-box .header:not(.resolved-placeholder) .file .file-link { + max-width: fit-content; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; +} + +.repository .diff-box .header:not(.resolved-placeholder) .button { + padding: 0 1.125em; + flex: 0 0 auto; + margin-right: 0; + height: 30px; +} + +.repository .diff-box .resolved-placeholder { + display: flex; + align-items: center; + font-size: 14px !important; + height: 36px; + padding-top: 0; + padding-bottom: 0; +} + +.repository .diff-box .resolved-placeholder .button { + padding: 8px 12px; +} + +.repository .diff-file-box .header { + background-color: var(--color-box-header); +} + +.repository .diff-file-box .file-body.file-code { + background: var(--color-code-bg); +} + +.repository .diff-file-box .file-body.file-code .lines-num { + text-align: right; + width: 1%; + min-width: 50px; +} + +.repository .diff-file-box .file-body.file-code .lines-num span.fold { + display: block; + text-align: center; +} + +.repository .diff-file-box .code-diff td { + padding: 0 0 0 10px !important; + border-top: 0; +} + +.repository .diff-file-box .code-diff .lines-num { + padding: 0 5px !important; +} + +.repository .diff-file-box .code-diff .tag-code .lines-num, +.repository .diff-file-box .code-diff .tag-code td { + padding: 0 !important; +} + +.repository .diff-file-box .code-diff table { + table-layout: fixed; +} + +.repository .diff-file-box .code-diff tbody tr td.lines-num, +.repository .diff-file-box .code-diff tbody tr td.lines-escape, +.repository .diff-file-box .code-diff tbody tr td.lines-type-marker { + white-space: nowrap; +} + +.repository .diff-file-box .code-diff tbody tr td.center { + text-align: center; +} + +.repository .diff-file-box .code-diff tbody tr [data-line-num]::before { + content: attr(data-line-num); + text-align: right; +} + +.repository .diff-file-box .code-diff tbody tr .lines-type-marker { + width: 10px; + min-width: 10px; +} + +.repository .diff-file-box .code-diff tbody tr [data-type-marker]::before { + content: attr(data-type-marker); + text-align: right; + display: inline-block; +} + +.repository .diff-file-box .code-diff-split .tag-code .lines-code code.code-inner { + padding-left: 10px !important; +} + +.repository .diff-file-box .code-diff-split table, +.repository .diff-file-box .code-diff-split tbody { + width: 100%; +} + +.repository .diff-file-box.file-content { + clear: right; +} + +.repository .diff-file-box.file-content .image-diff img { + max-width: 100%; + padding: 0; + border-radius: 0; +} + +.repository .diff-file-box .ui.bottom.attached.table.segment { + padding-top: 5px; + padding-bottom: 5px; +} + +.diff-file-box { + border: 1px solid transparent; + border-radius: var(--border-radius); + scroll-margin-top: 47px; /* match .repository .diff-detail-box */ +} + +.file.editor .diff-file-box { + border: none; +} + +.file.editor .diff-file-box .ui.attached.table { + border: none; +} + +/* TODO: this can potentially be made "global" by removing the class prefix */ +.diff-file-box .ui.attached.header, +.diff-file-box .ui.attached.table { + margin: 0; /* remove fomantic negative margins */ + width: initial; /* remove fomantic over 100% width */ + max-width: initial; /* remove fomantic over 100% width */ +} + +.repository .diff-stats { + clear: both; + margin-bottom: 5px; + max-height: 200px; + height: fit-content; + overflow: auto; + padding-left: 0; +} + +.repository .diff-stats li { + list-style: none; + padding-bottom: 4px; + margin-bottom: 4px; + padding-left: 6px; +} + +.repository .diff-stats li + li { + border-top: 1px solid var(--color-secondary); +} + +.repository .repo-search-result { + padding-top: 10px; + padding-bottom: 10px; +} + +.repository .repo-search-result .lines-num a { + color: inherit; +} + +/* workaround for safari as it does not support 'display: list-item' for summary tags yet +** see https://codeberg.org/forgejo/forgejo/issues/5259 */ +details.repo-search-result summary::-webkit-details-marker, +details.repo-search-result summary::marker { + display: none; +} + +.search-highlight { + background: var(--color-primary-alpha-40); +} + +.repository.quickstart .guide .item { + padding: 1em; +} + +.repository.quickstart .guide .item small { + font-weight: var(--font-weight-normal); +} + +.repository.quickstart .guide #repo-clone-url { + border-radius: 0; + padding: 5px 10px; + font-size: 1.2em; + line-height: 1.4; + flex: 1 +} + +.empty-placeholder { + display: flex; + flex-direction: column; + align-items: center; + padding-top: 40px; + padding-bottom: 40px; +} + +.repository.packages .file-size { + white-space: nowrap; +} + +.file-view.markup { + padding: 2em; +} +.repository .activity-header { + display: flex; + justify-content: space-between; + gap: 8px; + flex-wrap: wrap; +} + +/* if the element is for a checkbox, then it should have a padding-left to align to the checkbox's text */ +.repository.settings.branches .branch-protection .ui.checkbox .help, +.repository.settings.branches .branch-protection .checkbox-sub-item { + padding-left: 26px; +} + +.repository.settings.branches .branch-protection .status-check-matched-mark { + font-weight: var(--font-weight-semibold); + font-style: italic; +} + +.repository .ui.attached.isSigned.isWarning { + border-left: 1px solid var(--color-error-border); + border-right: 1px solid var(--color-error-border); +} + +.repository .ui.attached.isSigned.isWarning.top, +.repository .ui.attached.isSigned.isWarning.message { + border-top: 1px solid var(--color-error-border); +} + +.repository .ui.attached.isSigned.isWarning.message { + box-shadow: none; + background-color: var(--color-error-bg); + color: var(--color-error-text); +} + +.repository .ui.attached.isSigned.isWarning.message .ui.text { + color: var(--color-error-text); +} + +.repository .ui.attached.isSigned.isWarning:last-child, +.repository .ui.attached.isSigned.isWarning.bottom { + border-bottom: 1px solid var(--color-error-border); +} + +.repository .ui.attached.isSigned.isVerified { + border-left: 1px solid var(--color-success-border); + border-right: 1px solid var(--color-success-border); +} + +.repository .ui.attached.isSigned.isVerified.top, +.repository .ui.attached.isSigned.isVerified.message { + border-top: 1px solid var(--color-success-border); +} + +.repository .ui.attached.isSigned.isVerified.message { + box-shadow: none; + background-color: var(--color-success-bg); + color: var(--color-success-text); +} + +.repository .ui.attached.isSigned.isVerified.message .pull-right { + color: var(--color-text); +} + +.repository .ui.attached.isSigned.isVerified.message .ui.text { + color: var(--color-success-text); +} + +.repository .ui.attached.isSigned.isVerified:last-child, +.repository .ui.attached.isSigned.isVerified.bottom { + border-bottom: 1px solid var(--color-success-border); +} + +.repository .ui.attached.isSigned.isVerifiedUntrusted, +.repository .ui.attached.isSigned.isVerifiedUnmatched { + border-left: 1px solid var(--color-warning-border); + border-right: 1px solid var(--color-warning-border); +} + +.repository .ui.attached.isSigned.isVerifiedUntrusted.top, +.repository .ui.attached.isSigned.isVerifiedUnmatched.top, +.repository .ui.attached.isSigned.isVerifiedUntrusted.message, +.repository .ui.attached.isSigned.isVerifiedUnmatched.message { + border-top: 1px solid var(--color-warning-border); +} + +.repository .ui.attached.isSigned.isVerifiedUntrusted.message, +.repository .ui.attached.isSigned.isVerifiedUnmatched.message { + box-shadow: none; + background-color: var(--color-warning-bg); + color: var(--color-warning-text); +} + +.repository .ui.attached.isSigned.isVerifiedUntrusted.message .ui.text, +.repository .ui.attached.isSigned.isVerifiedUnmatched.message .ui.text { + color: var(--color-warning-text); +} + +.repository .ui.attached.isSigned.isVerifiedUntrusted:last-child, +.repository .ui.attached.isSigned.isVerifiedUnmatched:last-child, +.repository .ui.attached.isSigned.isVerifiedUntrusted.bottom, +.repository .ui.attached.isSigned.isVerifiedUnmatched.bottom { + border-bottom: 1px solid var(--color-warning-border); +} + +.repository .release-tag-name .ui.label.isSigned, +.repository .release-list-title .ui.label.isSigned { + padding: 0 0.5em; + box-shadow: none; +} + +.repository .release-tag-name .ui.label.isSigned .avatar, +.repository .release-list-title .ui.label.isSigned .avatar { + margin-left: .5rem; +} + +.repository .release-tag-name .ui.label.isSigned.isVerified, +.repository .release-list-title .ui.label.isSigned.isVerified { + border: 1px solid var(--color-success-border); + background-color: var(--color-success-bg); + color: var(--color-success-text); +} + +.repository .release-tag-name .ui.label.isSigned.isWarning, +.repository .release-list-title .ui.label.isSigned.isWarning { + border: 1px solid var(--color-warning-border); + background-color: var(--color-warning-bg); + color: var(--color-warning-text); +} + +.repository .segment.reactions.dropdown .menu, +.repository .select-reaction.dropdown .menu { + right: 0 !important; + left: auto !important; + min-width: 170px; +} + +.repository .segment.reactions.dropdown .menu > .header, +.repository .select-reaction.dropdown .menu > .header { + margin: 0.75rem 0 0.5rem; +} + +.repository .segment.reactions.dropdown .menu > .item, +.repository .select-reaction.dropdown .menu > .item { + float: left; + margin: 4px; + font-size: 20px; + width: 34px; + height: 34px; + min-height: 0 !important; + border-radius: var(--border-radius); + display: flex !important; + align-items: center; + justify-content: center; +} + +.repository .segment.reactions { + padding: 0; + display: flex; + border: none !important; + border-top: 1px solid var(--color-secondary) !important; + width: 100% !important; + max-width: 100% !important; + margin: 0 !important; + border-radius: 0 0 var(--border-radius) var(--border-radius); +} + +.repository .segment.reactions .ui.label { + max-height: 40px; + padding: 8px 16px !important; + display: flex !important; + align-items: center; + border: 0; + border-right: 1px solid; + border-radius: 0; + margin: 0; + font-size: 12px; + font-weight: var(--font-weight-normal); + border-color: var(--color-secondary) !important; + background: var(--color-reaction-bg); +} + +.repository .segment.reactions .ui.label:first-of-type { + border-bottom-left-radius: 3px; +} + +.repository .segment.reactions .ui.label.disabled { + cursor: default; + opacity: 1; +} + +.repository .segment.reactions .ui.label.basic.primary { + color: var(--color-primary) !important; + background-color: var(--color-reaction-active-bg) !important; + border-color: var(--color-secondary-dark-1) !important; +} + +.repository .segment.reactions .ui.label.basic:hover { + background-color: var(--color-reaction-hover-bg) !important; +} + +.repository .segment.reactions .reaction-count { + margin-left: 0.5rem; +} + +.repository .segment.reactions .select-reaction { + display: flex; + align-items: center; +} + +.repository .segment.reactions .select-reaction a { + padding: 0 14px; +} + +.repository .segment.reactions .select-reaction:not(.active) a { + display: none; +} + +.repository .segment.reactions:hover .select-reaction a { + display: block; +} + +.repository .ui.fluid.action.input .ui.search.action.input { + flex: auto; +} + +.repository .repository-summary { + box-shadow: none; +} + +.repository .repository-summary .segment.sub-menu { + border: none; + display: flex; + align-items: center; + padding: 0; + overflow: hidden; +} + +.repository .repository-summary .sub-menu .item { + flex: 1; + height: 30px; + line-height: var(--line-height-default); + display: flex; + align-items: center; + justify-content: center; + gap: 0.25em; + padding: 0 0.5em; /* make the UI look better for narrow (mobile) view */ + text-decoration: none; +} + +.repository .repository-summary .sub-menu .item.active { + background: var(--color-secondary); +} + +.repository .repository-summary .segment.language-stats { + display: flex; + gap: 2px; + padding: 0; + height: 10px; + white-space: nowrap; + border-radius: 0 0 3px 3px !important; + overflow: hidden; +} + +#cite-repo-modal #citation-panel { + display: flex; + width: 100%; +} + +#cite-repo-modal #citation-panel input { + border-radius: 0; + padding: 5px 10px; + width: 50%; + line-height: 1.4; +} + +#cite-repo-modal #citation-panel #citation-copy-content { + border-radius: 0; + padding: 5px 10px; + font-size: 1.2em; + line-height: 1.4; + flex: 1; +} + +#cite-repo-modal #citation-panel #citation-copy-bibtex { + font-size: 13px; + padding: 7.5px 5px; + border-right: none; +} + +#cite-repo-modal #citation-panel #goto-citation-btn { + border-left: none; +} + +#cite-repo-modal #citation-panel > :first-child { + border-radius: var(--border-radius) 0 0 var(--border-radius) !important; +} + +#cite-repo-modal #citation-panel > :last-child { + border-radius: 0 var(--border-radius) var(--border-radius) 0 !important; +} + +#cite-repo-modal #citation-panel .icon.button { + padding: 0 10px; +} + +.user-cards .list { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 15px; + margin: 0 0 10px; + padding: 0; +} + +@media (max-width: 767.98px) { + .user-cards .list { + grid-template-columns: repeat(1, 1fr); + } +} + +@media (max-width: 900px) { + .user.profile .user-cards .list { + grid-template-columns: repeat(1, 1fr); + } +} + +.user-cards .list .card { + display: flex; + flex-direction: row; + width: 100%; + margin: 0; + padding: 14px; + border-radius: 0.28571429rem; + border: 1px solid var(--color-secondary); + background: var(--color-box-body); +} + +.user-cards .list .card .avatar { + width: 48px; + height: 48px; + margin-right: 14px; +} + +.user-cards .list .card .name { + margin-top: 0; + margin-bottom: 0; + font-weight: var(--font-weight-normal); +} + +.user-cards .list .card .meta { + margin-top: 5px; +} + +#search-user-box .results .result .image { + order: 0; + margin-right: 12px; + width: 2em; + height: 2em; + min-width: 2em; + min-height: 2em; +} + +#search-user-box .results .result .content { + margin: 0; /* remove margin reserved for avatar because we move it to left via `order: 0` */ +} + +.ui.menu .item > img:not(.ui) { + width: auto; +} + +.page.buttons { + padding-top: 15px; +} + +.commit-header-row, +.tag-signature-row { + min-height: 50px !important; + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.ui.attached.message.tag-signature-row { + border-radius: var(--border-radius); +} + +.tag-signature-row div { + margin-top: auto !important; + margin-bottom: auto !important; + display: inline-block !important; +} + +.commit-header-buttons { + display: flex; + gap: 4px; + align-items: flex-start; + white-space: nowrap; +} + +@media (max-width: 767.98px) { + .commit-header-buttons { + flex-direction: column; + align-items: stretch; + } +} + +.settings.webhooks .list > .item:not(:first-child), +.settings.githooks .list > .item:not(:first-child), +.settings.actions .list > .item:not(:first-child) { + padding: 0.25rem 1rem; + margin: 12px -1rem -1rem; +} + +.settings .list > .item:not(:first-child) { + border-top: 1px solid var(--color-secondary); + padding: 1rem; + margin: 16px -1rem -1rem; +} + +.settings .list > .item > .svg { + display: table-cell; +} + +.settings .list > .item > .svg + .content { + display: table-cell; + padding: 0 0 0 0.5em; + vertical-align: top; +} + +.settings .list > .item .info { + margin-top: 10px; +} + +.settings .list > .item .info .tab.segment { + border: 0; + padding: 10px 0 0; +} + +.ui.vertical.menu .header.item { + font-size: 1.1em; + background: var(--color-box-header); +} + +.comment:target .comment-container { + border-color: var(--color-primary) !important; + box-shadow: 0 0 0 3px var(--color-primary-alpha-30) !important; +} + +.comment:target .header::before { + border-right-color: var(--color-primary) !important; + filter: drop-shadow(-3px 0 0 var(--color-primary-alpha-30)) !important; +} + +.code-comment:target, +.diff-file-box:target { + border-color: var(--color-primary) !important; + border-radius: var(--border-radius) !important; + box-shadow: 0 0 0 3px var(--color-primary-alpha-30) !important; +} + +.code-comment:target .content { + box-shadow: none !important; +} + +.comment-header { + border: none !important; + background: var(--color-box-header); + border-bottom: 1px solid var(--color-secondary) !important; + font-weight: var(--font-weight-normal) !important; + padding: 0.5rem 1rem; + margin: 0 !important; + position: relative; + color: var(--color-text); + min-height: var(--repo-header-issue-min-height); + background-color: var(--color-box-header); + display: flex; + justify-content: space-between; + align-items: center; +} + +.comment-header::before, +.comment-header::after { + right: 100%; + top: 20px; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; +} + +.comment-header::before { + border-right-color: var(--color-secondary); + border-width: 9px; + margin-top: -9px; +} + +.comment-header::after { + border-right-color: var(--color-box-header); + border-width: 8px; + margin-top: -8px; +} + +.comment-header.arrow-top::before, +.comment-header.arrow-top::after { + transform: rotate(90deg); +} + +.comment-header.arrow-top::before { + top: -9px; + left: 6px; +} + +.comment-header.arrow-top::after { + top: -8px; + left: 7px; +} + +.comment-header .actions a:not(.label) { + padding: 0.5rem !important; +} + +.comment-header .actions .label { + margin: 0 !important; +} + +.comment-header-left, +.comment-header-right { + gap: 4px; +} + +.comment-body { + background: var(--color-box-body); + border: none !important; + width: 100% !important; + max-width: 100% !important; + margin: 0 !important; + padding: 1em; +} + +.edit-label.modal .form .column, +.new-label.modal .form .column { + padding-right: 0; +} + +.edit-label.modal .form .buttons, +.new-label.modal .form .buttons { + margin-left: auto; + padding-top: 15px; +} + +.stats-table { + display: table; + width: 100%; + margin: 6px 0; + border-spacing: 2px; +} + +.stats-table .table-cell { + display: table-cell; +} + +.stats-table .table-cell.tiny { + height: 8px; +} + +.stats-table .table-cell:first-child { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} + +.stats-table .table-cell:last-child { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.labels-list { + display: inline-flex; + flex-wrap: wrap; + gap: 2.5px; + align-items: center; +} + +.labels-list .label { + padding: 0 6px; + min-height: 20px; + line-height: 1.3; /* there is a `font-size: 1.25em` for inside emoji, so here the line-height needs to be larger slightly */ +} + +/* Scoped labels with different colors on left and right */ +.ui.label.scope-parent { + background: none !important; + padding: 0 !important; + gap: 0 !important; +} + +.ui.label.scope-left { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + margin-right: 0; +} + +.ui.label.scope-right { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + margin-left: 0; +} + +.archived-label { + filter: grayscale(0.25) saturate(0.75); +} + +.repo-button-row { + margin: 10px 0; + display: flex; + align-items: center; + gap: 0.5em; + flex-wrap: wrap; + justify-content: space-between; +} + +.repo-button-row .button { + padding: 6px 10px !important; + height: 30px; +} + +.repo-button-row .button.dropdown:not(.icon) { + padding-right: 22px !important; /* normal buttons have !important paddings, so we need to override it for dropdown (Add File) icons */ +} + +.repo-button-row input { + height: 30px; +} + +tbody.commit-list { + vertical-align: baseline; +} + +.message-wrapper, +.author-wrapper { + overflow: hidden; + text-overflow: ellipsis; + max-width: 100%; + display: inline-block; + vertical-align: middle; +} + +.author-wrapper { + max-width: 180px; + align-self: center; + white-space: nowrap; +} + +/* in the commit list, messages can wrap so we can use inline */ +.commit-list .message-wrapper { + display: inline; + overflow-wrap: anywhere; +} + +/* but in the repo-files-table we cannot */ +#repo-files-table .commit-list .message-wrapper { + display: inline-block; +} + +@media (max-width: 767.98px) { + tr.commit-list { + width: 100%; + } + .author-wrapper { + max-width: 80px; + } +} + +@media (min-width: 768px) and (max-width: 991.98px) { + tr.commit-list { + width: 723px; + } +} + +@media (min-width: 992px) and (max-width: 1200px) { + tr.commit-list { + width: 933px; + } +} + +@media (min-width: 1201px) { + tr.commit-list { + width: 1127px; + } +} + +.commit-body { + margin: 0.25em 0; + white-space: pre-wrap; + overflow-wrap: anywhere; + line-height: initial; +} + +.git-notes.top { + text-align: left; +} + +.comment-diff-data { + background: var(--color-code-bg); + min-height: 12em; + max-height: calc(100vh - 10.5rem); + overflow-y: auto; + tab-size: 4; +} + +.comment-diff-data pre { + line-height: 18px; + margin: 1em; + white-space: pre-wrap; + word-break: break-all; + overflow-wrap: break-word; +} + +.content-history-detail-dialog .header .avatar { + position: relative; + top: -2px; +} + +#repo-topics .repo-topic { + font-weight: var(--font-weight-normal); + cursor: pointer; + margin: 0; +} + +#new-dependency-drop-list.ui.selection.dropdown { + min-width: 0; + width: 100%; + border-radius: var(--border-radius) 0 0 var(--border-radius); + border-right: 0; + white-space: nowrap; +} + +#new-dependency-drop-list .text { + width: 100%; + overflow: hidden; +} + +.tag-code { + height: 28px; +} + +.tag-code, +.tag-code td, +.tag-code .blob-excerpt { + background-color: var(--color-box-body-highlight); + vertical-align: middle; +} + +.resolved-placeholder { + font-weight: var(--font-weight-normal) !important; + border: 1px solid var(--color-secondary) !important; + border-radius: var(--border-radius) !important; + margin: 4px !important; +} + +.resolved-placeholder + .comment-code-cloud { + padding-top: 0 !important; +} + +.blob-excerpt { + background-color: var(--color-secondary-alpha-30); +} + +.issue-keyword { + border-bottom: 1px dotted var(--color-text-light-3) !important; +} + +.issue-keyword:hover { + border-bottom: none !important; +} + +.file-header { + align-items: center; + display: flex; + justify-content: space-between; + overflow-x: auto; + padding: 6px 12px !important; + font-size: 13px !important; +} + +.file-info { + display: flex; + align-items: center; +} + +.file-info-entry { + display: flex; + align-items: center; + width: max-content; +} + +.file-info-entry + .file-info-entry { + border-left: 1px solid currentcolor; + margin-left: 8px; + padding-left: 8px; +} + +#diff-container { + display: flex; +} + +#diff-file-boxes { + flex: 1; + max-width: 100%; + display: flex; + flex-direction: column; + gap: 8px; +} + +#diff-file-tree { + flex: 0 0 20%; + max-width: 380px; + line-height: inherit; + position: sticky; + padding-top: 0; + top: 47px; + max-height: calc(100vh - 47px); + height: 100%; + overflow-y: auto; +} + +.ui.message.unicode-escape-prompt { + margin-bottom: 0; + border-radius: 0; + display: flex; + flex-direction: column; +} + +/* fomantic's last-child selector does not work with hidden last child */ +.ui.buttons .unescape-button { + border-top-right-radius: 0.28571429rem; + border-bottom-right-radius: 0.28571429rem; +} + +.webhook-info { + padding: 7px 12px; + margin: 10px 0; + background-color: var(--color-markup-code-block); + border: 1px solid var(--color-secondary); + border-radius: var(--border-radius); + font-size: 13px; + line-height: 1.5; + overflow: auto; +} + +.title_wip_desc { + margin-top: 1em; +} + +.sidebar-item-link { + display: inline-flex; + align-items: center; + overflow-wrap: anywhere; +} + +.diff-file-header { + padding: 5px 8px !important; +} + +.diff-file-box[data-folded="true"] .diff-file-body { + display: none; +} + +.diff-file-box[data-folded="true"] .diff-file-header { + border-radius: var(--border-radius) !important; +} + +.ui.attached.header.diff-file-header.sticky-2nd-row { + position: sticky; + top: 44px; /* match .repository .diff-detail-box */ + z-index: 7; +} + +.diff-file-name { + flex: auto; + min-width: 100px; +} + +.diff-file-name .ui.label { + margin-left: 0 !important; +} + +.diff-stats-bar { + display: inline-block; + background-color: var(--color-red); + height: 12px; + width: 44px; +} + +.diff-stats-bar .diff-stats-add-bar { + background-color: var(--color-green); + height: 100%; +} + +.ui.form .right .ui.button { + margin-left: 0.25em; + margin-right: 0; +} + +.removed-code { + background: var(--color-diff-removed-word-bg); +} + +.added-code { + background: var(--color-diff-added-word-bg); +} + +.code-diff-unified .del-code, +.code-diff-unified .del-code td, +.code-diff-split .del-code .lines-num-old, +.code-diff-split .del-code .lines-escape-old, +.code-diff-split .del-code .lines-type-marker-old, +.code-diff-split .del-code .lines-code-old { + background: var(--color-diff-removed-row-bg); + border-color: var(--color-diff-removed-row-border); +} + +.code-diff-unified .add-code, +.code-diff-unified .add-code td, +.code-diff-split .add-code .lines-num-new, +.code-diff-split .add-code .lines-type-marker-new, +.code-diff-split .add-code .lines-escape-new, +.code-diff-split .add-code .lines-code-new, +.code-diff-split .del-code .add-code.lines-num-new, +.code-diff-split .del-code .add-code.lines-type-marker-new, +.code-diff-split .del-code .add-code.lines-escape-new, +.code-diff-split .del-code .add-code.lines-code-new { + background: var(--color-diff-added-row-bg); + border-color: var(--color-diff-added-row-border); +} + +.code-diff-split .del-code .lines-num-new, +.code-diff-split .del-code .lines-type-marker-new, +.code-diff-split .del-code .lines-code-new, +.code-diff-split .del-code .lines-escape-new, +.code-diff-split .add-code .lines-num-old, +.code-diff-split .add-code .lines-escape-old, +.code-diff-split .add-code .lines-type-marker-old, +.code-diff-split .add-code .lines-code-old { + background: var(--color-diff-inactive); +} + +.code-diff-split tbody tr td:nth-child(5), +.code-diff-split tbody tr td.add-comment-right { + border-left: 1px solid var(--color-secondary); +} + +.migrate-entries { + display: grid !important; + grid-template-columns: repeat(3, 1fr); + gap: 25px; + margin: 0 !important; +} + +@media (max-width: 767.98px) { + .migrate-entries { + grid-template-columns: repeat(1, 1fr); + } +} + +.migrate-entry { + transition: all 0.1s ease-in-out; + box-shadow: none !important; + border: 1px solid var(--color-secondary); + color: var(--color-text) !important; + width: auto !important; + margin: 0 !important; +} + +.migrate-entry:hover { + transform: scale(105%); + box-shadow: 0 0.5rem 1rem var(--color-shadow) !important; +} + +.migrate-entry .description { + text-wrap: balance; +} + +.commits-table .commits-table-right form { + display: flex; + align-items: center; + gap: 0.75em; + justify-content: center; + flex-wrap: wrap; +} + +@media (max-width: 767.98px) { + .repository.file.list #repo-files-table .entry, + .repository.file.list #repo-files-table .commit-list { + align-items: center; + display: flex !important; + padding-top: 4px; + padding-bottom: 4px; + } + .repository.file.list #repo-files-table .entry td.age, + .repository.file.list #repo-files-table .commit-list td.age, + .repository.file.list #repo-files-table .entry th.age, + .repository.file.list #repo-files-table .commit-list th.age { + margin-left: auto; + } + .repository.file.list #repo-files-table .entry td.message, + .repository.file.list #repo-files-table .commit-list td.message, + .repository.file.list #repo-files-table .entry span.commit-summary, + .repository.file.list #repo-files-table .commit-list tr span.commit-summary { + display: none !important; + } + .repository.view.issue .comment-list .timeline, + .repository.view.issue .comment-list .timeline-item { + margin-left: 0; + } + .repository.view.issue .comment-list .timeline::before { + left: 14px; + } + .repository.view.issue .comment-list .timeline .inline-timeline-avatar { + display: flex; + margin-bottom: auto; + margin-left: 6px; + margin-right: 2px; + } + .repository.view.issue .comment-list .timeline .comment-header { + padding-left: 4px; + } + .repository.view.issue .comment-list .timeline .comment-header::before, + .repository.view.issue .comment-list .timeline .comment-header::after { + content: unset; + } + /* Don't show the general avatar, we show the inline avatar on mobile. + * And don't show the role labels, there's no place for that. */ + .repository.view.issue .comment-list .timeline .timeline-avatar, + .repository.view.issue .comment-list .timeline .comment-header-right .role-label { + display: none; + } + .commit-header-row .ui.horizontal.list { + width: 100%; + overflow-x: auto; + margin-top: 2px; + } + .commit-header-row .ui.horizontal.list .item { + align-items: center; + display: flex; + } + .commit-header-row .author { + padding: 3px 0; + } + .commit-header h3 { + flex-basis: auto !important; + margin-bottom: 0.5rem !important; + } + .commits-table { + flex-direction: column; + } + .commits-table .commits-table-left { + align-items: initial !important; + margin-bottom: 6px; + } + .commits-table .commits-table-right form > div:nth-child(1) { + order: 1; /* the "commit search" input */ + } + .commits-table .commits-table-right form > div:nth-child(2) { + order: 3; /* the "search all" checkbox */ + } + .commits-table .commits-table-right form > button:nth-child(3) { + order: 2; /* the "search" button */ + } + .commit-table { + overflow-x: auto; + } + .commit-table td.sha, + .commit-table th.sha { + display: none !important; + } + .comment-header { + flex-wrap: wrap; + } + .comment-header .comment-header-left { + flex-wrap: wrap; + } + .comment-header .comment-header-right { + margin-left: auto; + } +} + +.branch-dropdown-button { + max-width: 340px; + vertical-align: bottom !important; +} + +@media (min-width: 768px) and (max-width: 991.98px) { + .branch-dropdown-button { + max-width: 185px; + } +} + +@media (max-width: 767.98px) { + .branch-dropdown-button { + max-width: 165px; + } +} + +.commit-status-header { + /* reset the default ".ui.attached.header" styles, to use the outer border */ + border: none !important; + /* add a bottom border to make sure the there is always a divider between the header and list when the list is scrolling */ + border-bottom: 1px solid var(--color-secondary) !important; + /* use negative margin to avoid the newly added border conflict with the list's top border */ + margin: 0 0 -1px !important; +} + +.commit-status-list { + max-height: 240px; /* fit exactly 6 items, commit-status-item.height * 6 */ + overflow-x: hidden; + transition: max-height .2s; +} + +.commit-status-item { + height: 40px; + padding: 0 10px; + display: flex; + gap: 8px; + align-items: center; +} + +.commit-status-item + .commit-status-item { + border-top: 1px solid var(--color-secondary); +} + +.commit-status-item .commit-status { + flex-shrink: 0; +} + +.commit-status-item .status-context { + color: var(--color-text); + flex: 1; +} + +.commit-status-item .status-details { + display: flex; + align-items: center; + justify-content: flex-end; + gap: 8px; +} + +@media (max-width: 767.98px) { + .commit-status-item .status-details { + flex-direction: column; + align-items: flex-end; + justify-content: center; + } +} + +.commit-status-item .status-details > span { + padding-right: 0.5em; /* To match the alignment with the "required" label */ +} + +.search-fullname { + color: var(--color-text-light-2); +} + +#issue-pins { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 8px; + margin-bottom: 8px; +} + +@media (max-width: 767.98px) { + #issue-pins { + grid-template-columns: repeat(1, 1fr); + } +} + +#cherry-pick-modal .scrolling.menu { + max-height: 200px; +} + +/* Branch tag selector - TODO: Merge this into the same selector on repo page */ +.repository .issue-content .issue-content-right .ui.grid .column.row { + padding: 10px; + padding-bottom: 0; +} +.repository .issue-content .issue-content-right .ui.grid .column.muted { + padding: 0; +} +.repository .issue-content .issue-content-right .ui.grid .column.muted .text { + display: inline-block; + padding: 10px; + width: 100%; + text-align: center; + border: 1px solid transparent; + border-bottom: none; +} +.repository .issue-content .issue-content-right .ui.grid .column.muted .text.black { + border-color: var(--color-secondary); + background: var(--color-menu); + border-top-left-radius: var(--border-radius); + border-top-right-radius: var(--border-radius); +} +.repository .issue-content .issue-content-right .ui.dropdown .scrolling.menu { + border-top: none; +} +.repository .issue-content .issue-content-right .branch-tag-divider { + margin-top: -1px; + border-top: 1px solid var(--color-secondary); +} +#issue-info-popup .emoji { + font-size: inherit; + line-height: inherit; +} + +#repo-activity-top-authors-chart { + height: 150px; /* Pre-allocate the height that will be taken up by the chart, to avoid the container 'jumping'. */ +} diff --git a/web_src/css/repo/header.css b/web_src/css/repo/header.css new file mode 100644 index 0000000..9da5fe6 --- /dev/null +++ b/web_src/css/repo/header.css @@ -0,0 +1,68 @@ +.repository .secondary-nav { + padding-top: 12px; +} + +.repository .secondary-nav .fork-flag { + margin-top: 0.5rem; + font-size: 12px; +} + +.repo-header { + display: flex; + flex-flow: row wrap; + justify-content: space-between; + gap: 0.5rem; + margin-bottom: 4px; +} + +.repo-header .flex-item { + padding: 0; +} + +.repo-header .flex-item-main { + flex: 0; + flex-basis: unset; +} + +.repo-header .flex-item-trailing { + flex-wrap: nowrap; +} + +.repo-buttons { + align-items: center; + display: flex; + flex-flow: row wrap; + word-break: keep-all; +} + +.repo-buttons .ui.labeled.button > .label:hover { + color: var(--color-primary-light-2); + background: var(--color-light); +} + +.repo-buttons button[disabled] ~ .label { + opacity: var(--opacity-disabled); + color: var(--color-text-dark); + background: var(--color-light-mimic-enabled) !important; +} + +.repo-buttons button[disabled] ~ .label:hover { + color: var(--color-primary-dark-1); +} + +.repo-buttons .ui.labeled.button.disabled { + pointer-events: inherit !important; +} + +.repo-buttons .ui.labeled.button.disabled > .label { + color: var(--color-text-dark); + background: var(--color-light-mimic-enabled) !important; +} + +.repo-buttons .ui.labeled.button.disabled > .label:hover { + color: var(--color-primary-dark-1); +} + +.repo-buttons .ui.labeled.button.disabled > .button { + pointer-events: none !important; +} diff --git a/web_src/css/repo/issue-card.css b/web_src/css/repo/issue-card.css new file mode 100644 index 0000000..fb832bd --- /dev/null +++ b/web_src/css/repo/issue-card.css @@ -0,0 +1,40 @@ +.issue-card { + display: flex; + flex-direction: column; + gap: 4px; + align-items: stretch; + border-radius: var(--border-radius); + padding: 8px 10px; + border: 1px solid var(--color-secondary); + background: var(--color-card); +} + +.issue-card-icon, +.issue-card-unpin { + margin-top: 1px; + flex-shrink: 0; +} + +.issue-card-title { + flex: 1; + font-size: 14px; +} + +.issue-card.sortable-chosen .issue-card-title { + cursor: inherit; +} + +.issue-card-bottom { + display: flex; + width: 100%; + justify-content: space-between; + gap: 0.25em; +} + +.issue-card-assignees { + display: flex; + align-items: center; + gap: 0.25em; + justify-content: end; + flex-wrap: wrap; +} diff --git a/web_src/css/repo/issue-label.css b/web_src/css/repo/issue-label.css new file mode 100644 index 0000000..9b4b144 --- /dev/null +++ b/web_src/css/repo/issue-label.css @@ -0,0 +1,52 @@ +.issue-label-list { + list-style: none; + padding: 0; + margin: 0; +} + +.issue-label-list .item { + border-bottom: 1px solid var(--color-secondary); + display: flex; + padding: 1em 0; + margin: 0; +} + +.issue-label-list .item:first-child { + padding-top: 0; +} + +.issue-label-list .item:last-child { + border-bottom: none; + padding-bottom: 0; +} + +.issue-label-list .item .label-title { + width: 33%; +} + +.issue-label-list .item .label-issues { + width: 33%; +} + +.issue-label-list .item .label-operation { + width: 33%; +} + +.issue-label-list .item a { + font-size: 12px; + padding-right: 10px; + color: var(--color-text-light); +} + +.issue-label-list .item.org-label { + opacity: 0.7; +} + +.label-operation .label { + height: fit-content; +} + +.archived-label-hint { + float: right; + margin: -12px; +} diff --git a/web_src/css/repo/issue-list.css b/web_src/css/repo/issue-list.css new file mode 100644 index 0000000..9143b01 --- /dev/null +++ b/web_src/css/repo/issue-list.css @@ -0,0 +1,112 @@ +.issue-list-toolbar { + display: flex; + flex-wrap: wrap-reverse; + justify-content: space-between; + align-items: flex-start; + gap: 1rem; + margin-top: 1rem; +} + +.issue-list-toolbar-left { + display: flex; + align-items: center; +} + +.issue-list-toolbar-right .filter.menu { + flex-direction: row; + flex-wrap: wrap; +} + +.issue-list-new.button { + margin-right: 0; +} + +.list-header-issues { + min-height: var(--repo-header-issue-min-height); +} + +@media (max-width: 767.98px) { + .issue-list-navbar { + order: 0; + } + .issue-list-new { + order: 1; + margin-left: auto !important; + } + .issue-list-search { + order: 2 !important; + } + /* Don't use flex wrap on mobile as it takes too much vertical space. + * Only set overflow properties on mobile screens, because while the + * CSS trick to pop out from overflowing works on desktop screen, it + * has a massive flaw that it cannot inherited any max width from it's 'real' + * parent and therefor ends up taking more vertical space than is desired. + **/ + .issue-list-toolbar-right .filter.menu { + flex-wrap: nowrap; + overflow-x: auto; + overflow-y: hidden; + } + + /* The following few CSS was created with care and built with the information + * from CSS-Tricks: https://css-tricks.com/popping-hidden-overflow/ + */ + + /* It's important that every element up to .issue-list-toolbar-right doesn't + * have a position set, such that element that wants to pop out will use + * .issue-list-toolbar-right as 'clip parent' and thereby avoids the + * overflow-y: hidden. + */ + .issue-list-toolbar-right .filter.menu > .dropdown.item { + position: initial; + } + /* It's important that this element and not an child has `position` set. + * Set width so that overflow-x knows where to stop overflowing. + */ + .issue-list-toolbar-right { + position: relative; + width: 100%; + } +} + +#issue-list .flex-item-body .branches { + display: inline-flex; +} + +#issue-list .flex-item-body .branches .branch { + background-color: var(--color-secondary-alpha-50); + border-radius: var(--border-radius); + padding: 0 4px; +} + +#issue-list .flex-item-body .branches .truncated-name { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: 200px; + display: inline-block; + vertical-align: top; +} + +#issue-list .flex-item-body .checklist progress { + margin-left: 2px; + width: 80px; + height: 6px; + display: inline-block; +} + +#issue-list .flex-item-body .checklist progress::-webkit-progress-value { + background-color: var(--color-secondary-dark-4); +} + +#issue-list .flex-item-body .checklist progress::-moz-progress-bar { + background-color: var(--color-secondary-dark-4); +} + +.archived-label-filter { + margin-left: 10px; + font-size: 12px; + display: flex !important; + margin-bottom: 8px; + min-width: fit-content; +} diff --git a/web_src/css/repo/linebutton.css b/web_src/css/repo/linebutton.css new file mode 100644 index 0000000..d32899a --- /dev/null +++ b/web_src/css/repo/linebutton.css @@ -0,0 +1,19 @@ +.code-view .lines-num:hover, +.file-preview .lines-num:hover { + color: var(--color-text-dark) !important; +} + +.code-line-button { + border: 1px solid var(--color-secondary); + border-radius: var(--border-radius); + padding: 1px 4px !important; + position: absolute; + font-family: var(--fonts-regular); + left: 0; + transform: translateX(calc(-50% + 6px)); + cursor: pointer; +} + +.code-line-button:hover { + background: var(--color-secondary) !important; +} diff --git a/web_src/css/repo/list-header.css b/web_src/css/repo/list-header.css new file mode 100644 index 0000000..304cfbc --- /dev/null +++ b/web_src/css/repo/list-header.css @@ -0,0 +1,58 @@ +.list-header { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: .5rem; +} + +.list-header-sort { + display: flex; + align-items: center; + padding-left: 1rem; + padding-right: 1rem; +} + +.list-header-search { + display: flex; + flex: 1; + align-items: center; + flex-wrap: wrap; + justify-content: center; + min-width: 200px; /* to enable flexbox wrapping on mobile */ +} + +.list-header-search .input { + flex: 1; +} + +.small-menu-items { + min-height: 35.4px !important; /* match .small.button in height */ + background: none !important; /* fomantic sets a color here which does not play well with active transparent color on the item, so unset and set the colors on the item */ +} + +.small-menu-items .item { + background: var(--color-menu) !important; + padding-top: 6px !important; + padding-bottom: 6px !important; +} + +.small-menu-items .item:hover { + background: var(--color-hover) !important; +} + +.small-menu-items .item.active { + background: var(--color-active) !important; +} + +@media (max-width: 767.98px) { + .list-header-search { + order: 0; + } + .list-header-toggle { + order: 1; + } + .list-header-sort { + order: 2; + margin-left: auto; + } +} diff --git a/web_src/css/repo/release-tag.css b/web_src/css/repo/release-tag.css new file mode 100644 index 0000000..9860813 --- /dev/null +++ b/web_src/css/repo/release-tag.css @@ -0,0 +1,121 @@ +.repository.releases #release-list { + margin-top: 12px; + padding-top: 12px; + padding-left: 0; +} + +.repository.releases #release-list .release-list-title { + font-size: 2rem; + font-weight: var(--font-weight-normal); + display: flex; + align-items: center; + gap: 0.25em; + margin: 0; +} + +.repository.releases #release-list > li .meta { + padding-top: 25px; + position: relative; + text-align: right; + display: flex; + flex-direction: column; + gap: 1em; +} + +.repository.releases #release-list > li .detail { + padding-bottom: 20px; + border-left: 1px solid var(--color-secondary); +} + +.repository.releases #release-list > li .detail .author img { + margin-bottom: 2px; /* the legacy trick to align the avatar vertically, no better solution at the moment */ +} + +.repository.releases #release-list > li .detail .download .list { + padding-left: 0; +} + +.repository.releases #release-list > li .detail .download .list li { + background: var(--color-light); + border: 1px solid var(--color-secondary); + border-top: none; + display: flex; + justify-content: space-between; + padding: 8px; +} + +.repository.releases #release-list > li .detail .download .list :is(li:first-child, .start-gap + hr + li) { + border-top: 1px solid var(--color-secondary); + border-top-left-radius: var(--border-radius); + border-top-right-radius: var(--border-radius); +} + +.repository.releases #release-list > li .detail .download .list :is(li:last-child, .start-gap) { + border-bottom: 1px solid var(--color-secondary); + border-bottom-left-radius: var(--border-radius); + border-bottom-right-radius: var(--border-radius); +} + +.repository.releases #release-list > li .detail .download .list hr { + height: 8px; + margin: 0; +} + +.repository.releases #release-list > li .detail .dot { + width: 10px; + height: 10px; + background-color: var(--color-secondary-dark-3); + position: absolute; + left: -5.5px; + top: 30px; + border-radius: var(--border-radius-full); + border: 2.5px solid var(--color-body); +} + +.repository.tags #tags-table .tag { + padding: 8px 12px; +} + +.repository.tags #tags-table .release-tag-name { + font-size: 18px; + font-weight: var(--font-weight-normal); +} + +.repository.new.release .target { + min-width: 500px; +} + +.repository.new.release .target #tag-name { + margin-top: -4px; +} + +.repository.new.release .target .at { + margin-left: -5px; + margin-right: 5px; +} + +.repository.new.release .target .selection.dropdown { + padding-top: 10px; + padding-bottom: 10px; +} + +@media (max-width: 438px) { + .repository.new.release .field button, + .repository.new.release .field input { + width: 100%; + } +} + +@media (max-width: 767.98px) { + .repository.new.release .field button { + margin-bottom: 1em; + } +} + +.repository.new.release .field .attachment_edit { + max-width: 48em; +} + +.repository.new.release .markup { + min-height: 240px; +} diff --git a/web_src/css/repo/wiki.css b/web_src/css/repo/wiki.css new file mode 100644 index 0000000..ba502d3 --- /dev/null +++ b/web_src/css/repo/wiki.css @@ -0,0 +1,72 @@ +.repository.wiki .wiki-pages-list tr:hover { + background-color: var(--color-hover); +} + +.repository.wiki .wiki-pages-list .wiki-git-entry { + margin-left: 10px; + display: none; +} + +.repository.wiki .wiki-pages-list tr:hover .wiki-git-entry { + display: inline-block; +} + +.repository.wiki .markup { + overflow: visible; +} + +.repository.wiki .markup[data-tab-panel="markdown-previewer"] { + min-height: 340px; /* This height matches the markdown editor's height */ +} + +.repository.wiki .wiki-content-parts .markup { + border: 1px solid var(--color-secondary); + border-radius: var(--border-radius); + padding: 1em; + margin-top: 1em; + font-size: 1em; +} + +.repository.wiki .wiki-content-main.with-sidebar { + float: left; + width: 80%; + max-width: calc(100% - 150px - 1em); /* match the min-width of .wiki-content-sidebar */ +} + +.repository.wiki .wiki-content-sidebar { + float: right; + width: calc(20% - 1em); + min-width: 150px; +} + +.repository.wiki .wiki-content-sidebar .ui.message.unicode-escape-prompt p { + display: none; +} + +.repository.wiki .wiki-content-footer { + margin-top: 1em; +} + +.repository.wiki .wiki-content-toc ul { + margin: 0; + list-style: none; + padding: 5px 0 5px 1em; +} + +.repository.wiki .wiki-content-toc ul ul { + border-left: 1px var(--color-secondary); + border-left-style: dashed; +} + +@media (max-width: 767.98px) { + .repository.wiki .clone-panel #repo-clone-url { + width: 160px; + } + .repository.wiki .wiki-content-main.with-sidebar, + .repository.wiki .wiki-content-sidebar { + float: none; + width: 100%; + min-width: unset; + max-width: unset; + } +} |