new dashboard ui
This commit is contained in:
parent
a6c7716742
commit
0f438ef0b3
8 changed files with 354 additions and 268 deletions
|
@ -759,7 +759,7 @@ pre.raw {
|
||||||
z-index: 900;
|
z-index: 900;
|
||||||
}
|
}
|
||||||
.following.bar .head.link.item {
|
.following.bar .head.link.item {
|
||||||
padding-right: 0!important;
|
padding-right: 0 !important;
|
||||||
}
|
}
|
||||||
.following.bar .head.link.item .dropdown.icon,
|
.following.bar .head.link.item .dropdown.icon,
|
||||||
.following.bar .head.link.item .menu .octicon {
|
.following.bar .head.link.item .menu .octicon {
|
||||||
|
@ -792,50 +792,59 @@ pre.raw {
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
.ui .text.red {
|
.ui .text.red {
|
||||||
color: #d95c5c!important;
|
color: #d95c5c !important;
|
||||||
}
|
}
|
||||||
.ui .text.red a {
|
.ui .text.red a {
|
||||||
color: #d95c5c!important;
|
color: #d95c5c !important;
|
||||||
}
|
}
|
||||||
.ui .text.red a:hover {
|
.ui .text.red a:hover {
|
||||||
color: #E67777!important;
|
color: #E67777 !important;
|
||||||
}
|
}
|
||||||
.ui .text.blue {
|
.ui .text.blue {
|
||||||
color: #428bca!important;
|
color: #428bca !important;
|
||||||
}
|
}
|
||||||
.ui .text.blue a {
|
.ui .text.blue a {
|
||||||
color: #15c!important;
|
color: #15c !important;
|
||||||
}
|
}
|
||||||
.ui .text.blue a:hover {
|
.ui .text.blue a:hover {
|
||||||
color: #428bca!important;
|
color: #428bca !important;
|
||||||
}
|
}
|
||||||
.ui .text.grey {
|
.ui .text.grey {
|
||||||
color: #767676!important;
|
color: #767676 !important;
|
||||||
}
|
}
|
||||||
.ui .text.grey a {
|
.ui .text.grey a {
|
||||||
color: #444!important;
|
color: #444 !important;
|
||||||
}
|
}
|
||||||
.ui .text.grey a:hover {
|
.ui .text.grey a:hover {
|
||||||
color: #000!important;
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
.ui .text.light.grey {
|
||||||
|
color: #888 !important;
|
||||||
}
|
}
|
||||||
.ui .text.green {
|
.ui .text.green {
|
||||||
color: #6cc644!important;
|
color: #6cc644 !important;
|
||||||
}
|
}
|
||||||
.ui .text.purple {
|
.ui .text.purple {
|
||||||
color: #6e5494!important;
|
color: #6e5494 !important;
|
||||||
}
|
}
|
||||||
.ui .text.yellow {
|
.ui .text.yellow {
|
||||||
color: #FBBD08!important;
|
color: #FBBD08 !important;
|
||||||
}
|
}
|
||||||
.ui .text.left {
|
.ui .text.left {
|
||||||
text-align: left!important;
|
text-align: left !important;
|
||||||
}
|
}
|
||||||
.ui .text.right {
|
.ui .text.right {
|
||||||
text-align: right!important;
|
text-align: right !important;
|
||||||
}
|
}
|
||||||
.ui .text.small {
|
.ui .text.small {
|
||||||
font-size: 0.75em;
|
font-size: 0.75em;
|
||||||
}
|
}
|
||||||
|
.ui .text.bold {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.ui .text.italic {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
.ui .text.truncate {
|
.ui .text.truncate {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
@ -856,14 +865,14 @@ pre.raw {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
.ui .warning.header {
|
.ui .warning.header {
|
||||||
background-color: #F9EDBE!important;
|
background-color: #F9EDBE !important;
|
||||||
border-color: #F0C36D;
|
border-color: #F0C36D;
|
||||||
}
|
}
|
||||||
.ui .warning.segment {
|
.ui .warning.segment {
|
||||||
border-color: #F0C36D;
|
border-color: #F0C36D;
|
||||||
}
|
}
|
||||||
.ui .info.header {
|
.ui .info.header {
|
||||||
background-color: #d9edf7!important;
|
background-color: #d9edf7 !important;
|
||||||
border-color: #85c5e5;
|
border-color: #85c5e5;
|
||||||
}
|
}
|
||||||
.ui .info.segment {
|
.ui .info.segment {
|
||||||
|
@ -876,7 +885,7 @@ pre.raw {
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
.ui .form .fake {
|
.ui .form .fake {
|
||||||
display: none!important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
.ui.status.buttons .octicon {
|
.ui.status.buttons .octicon {
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
|
@ -894,7 +903,7 @@ pre.raw {
|
||||||
border-top: none;
|
border-top: none;
|
||||||
line-height: 1em;
|
line-height: 1em;
|
||||||
color: rgba(0, 0, 0, 0.8);
|
color: rgba(0, 0, 0, 0.8);
|
||||||
padding: .71428571em 1.14285714em!important;
|
padding: .71428571em 1.14285714em !important;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
@ -910,7 +919,7 @@ pre.raw {
|
||||||
z-index: 13;
|
z-index: 13;
|
||||||
}
|
}
|
||||||
.scrolling.menu .item.selected {
|
.scrolling.menu .item.selected {
|
||||||
font-weight: 700!important;
|
font-weight: 700 !important;
|
||||||
}
|
}
|
||||||
footer {
|
footer {
|
||||||
margin-top: 54px !important;
|
margin-top: 54px !important;
|
||||||
|
@ -1010,7 +1019,7 @@ footer .container .links > *:first-child {
|
||||||
.octicon.icon,
|
.octicon.icon,
|
||||||
.mega-octicon.icon {
|
.mega-octicon.icon {
|
||||||
font-family: octicons;
|
font-family: octicons;
|
||||||
opacity: 1!important;
|
opacity: 1 !important;
|
||||||
}
|
}
|
||||||
.sr-only {
|
.sr-only {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -2539,48 +2548,107 @@ ol.linenums {
|
||||||
padding-top: 15px;
|
padding-top: 15px;
|
||||||
padding-bottom: 80px;
|
padding-bottom: 80px;
|
||||||
}
|
}
|
||||||
|
.dashboard.feeds .context.user.menu,
|
||||||
.dashboard.issues .context.user.menu {
|
.dashboard.issues .context.user.menu {
|
||||||
z-index: 101;
|
z-index: 101;
|
||||||
min-width: 200px;
|
min-width: 200px;
|
||||||
}
|
}
|
||||||
|
.dashboard.feeds .context.user.menu .ui.header,
|
||||||
.dashboard.issues .context.user.menu .ui.header {
|
.dashboard.issues .context.user.menu .ui.header {
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
}
|
}
|
||||||
|
.dashboard.feeds .filter.menu .item,
|
||||||
.dashboard.issues .filter.menu .item {
|
.dashboard.issues .filter.menu .item {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
.dashboard.feeds .filter.menu .item .text,
|
||||||
.dashboard.issues .filter.menu .item .text {
|
.dashboard.issues .filter.menu .item .text {
|
||||||
height: 16px;
|
height: 16px;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
.dashboard.feeds .filter.menu .item .text.truncate,
|
||||||
.dashboard.issues .filter.menu .item .text.truncate {
|
.dashboard.issues .filter.menu .item .text.truncate {
|
||||||
width: 85%;
|
width: 85%;
|
||||||
}
|
}
|
||||||
|
.dashboard.feeds .filter.menu .item .floating.label,
|
||||||
.dashboard.issues .filter.menu .item .floating.label {
|
.dashboard.issues .filter.menu .item .floating.label {
|
||||||
top: 7px;
|
top: 7px;
|
||||||
left: 90%;
|
left: 90%;
|
||||||
width: 15%;
|
width: 15%;
|
||||||
}
|
}
|
||||||
|
.dashboard.feeds .filter.menu .jump.item,
|
||||||
.dashboard.issues .filter.menu .jump.item {
|
.dashboard.issues .filter.menu .jump.item {
|
||||||
margin: 1px;
|
margin: 1px;
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
|
.dashboard.feeds .filter.menu .menu,
|
||||||
.dashboard.issues .filter.menu .menu {
|
.dashboard.issues .filter.menu .menu {
|
||||||
max-height: 300px;
|
max-height: 300px;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
right: 0!important;
|
right: 0!important;
|
||||||
left: auto!important;
|
left: auto!important;
|
||||||
}
|
}
|
||||||
|
.dashboard.feeds .ui.right .head.menu,
|
||||||
.dashboard.issues .ui.right .head.menu {
|
.dashboard.issues .ui.right .head.menu {
|
||||||
margin-top: -5px;
|
margin-top: -5px;
|
||||||
}
|
}
|
||||||
|
.dashboard.feeds .ui.right .head.menu .item.active,
|
||||||
.dashboard.issues .ui.right .head.menu .item.active {
|
.dashboard.issues .ui.right .head.menu .item.active {
|
||||||
color: #d9453d;
|
color: #d9453d;
|
||||||
}
|
}
|
||||||
|
.dashboard.feeds .head.menu .octicon,
|
||||||
.dashboard.issues .head.menu .octicon {
|
.dashboard.issues .head.menu .octicon {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
.feeds .news .ui.avatar {
|
||||||
|
margin-top: 13px;
|
||||||
|
}
|
||||||
|
.feeds .news p {
|
||||||
|
line-height: 1em;
|
||||||
|
}
|
||||||
|
.feeds .news .time-since {
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
.feeds .news .issue.title {
|
||||||
|
line-height: 1em;
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
.feeds .news .push.news .content ul {
|
||||||
|
font-size: 13px;
|
||||||
|
list-style: none;
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
.feeds .news .push.news .content ul img {
|
||||||
|
margin-bottom: -2px;
|
||||||
|
}
|
||||||
|
.feeds .news .push.news .content ul .text.truncate {
|
||||||
|
width: 80%;
|
||||||
|
margin-bottom: -5px;
|
||||||
|
}
|
||||||
|
.feeds .list .header {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
}
|
||||||
|
.feeds .list ul {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
.feeds .list ul li:not(:last-child) {
|
||||||
|
border-bottom: 1px solid #EAEAEA;
|
||||||
|
}
|
||||||
|
.feeds .list ul li.private {
|
||||||
|
background-color: #fcf8e9;
|
||||||
|
}
|
||||||
|
.feeds .list ul li a {
|
||||||
|
padding: 6px 1.2em;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.feeds .list ul li a .octicon {
|
||||||
|
margin-right: 6px;
|
||||||
|
color: #888;
|
||||||
|
}
|
||||||
.admin {
|
.admin {
|
||||||
padding-top: 15px;
|
padding-top: 15px;
|
||||||
padding-bottom: 80px;
|
padding-bottom: 80px;
|
||||||
|
|
|
@ -583,6 +583,7 @@ $(document).ready(function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('.tabular.menu .item').tab();
|
$('.tabular.menu .item').tab();
|
||||||
|
$('.tabable.menu .item').tab();
|
||||||
|
|
||||||
$('.toggle.button').click(function () {
|
$('.toggle.button').click(function () {
|
||||||
$($(this).data('target')).slideToggle(100);
|
$($(this).data('target')).slideToggle(100);
|
||||||
|
|
|
@ -55,7 +55,7 @@ pre {
|
||||||
z-index: 900;
|
z-index: 900;
|
||||||
}
|
}
|
||||||
.head.link.item {
|
.head.link.item {
|
||||||
padding-right: 0!important;
|
padding-right: 0 !important;
|
||||||
.dropdown.icon,
|
.dropdown.icon,
|
||||||
.menu .octicon {
|
.menu .octicon {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
|
@ -65,9 +65,9 @@ pre {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
.searchbox {
|
.searchbox {
|
||||||
background-color: rgb(244, 244, 244)!important;
|
background-color: rgb(244, 244, 244) !important;
|
||||||
&:focus {
|
&:focus {
|
||||||
background-color: rgb(233, 233, 233)!important;
|
background-color: rgb(233, 233, 233) !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.text .octicon {
|
.text .octicon {
|
||||||
|
@ -84,6 +84,7 @@ pre {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui {
|
.ui {
|
||||||
&.left {
|
&.left {
|
||||||
float: left;
|
float: left;
|
||||||
|
@ -94,51 +95,60 @@ pre {
|
||||||
|
|
||||||
.text {
|
.text {
|
||||||
&.red {
|
&.red {
|
||||||
color: #d95c5c!important;
|
color: #d95c5c !important;
|
||||||
a {
|
a {
|
||||||
color: #d95c5c!important;
|
color: #d95c5c !important;
|
||||||
&:hover {
|
&:hover {
|
||||||
color: #E67777!important;
|
color: #E67777 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.blue {
|
&.blue {
|
||||||
color: #428bca!important;
|
color: #428bca !important;
|
||||||
a {
|
a {
|
||||||
color: #15c!important;
|
color: #15c !important;
|
||||||
&:hover {
|
&:hover {
|
||||||
color: #428bca!important;
|
color: #428bca !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.grey {
|
&.grey {
|
||||||
color: #767676!important;
|
color: #767676 !important;
|
||||||
a {
|
a {
|
||||||
color: #444!important;
|
color: #444 !important;
|
||||||
&:hover {
|
&:hover {
|
||||||
color: #000!important;
|
color: #000 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
&.light.grey {
|
||||||
|
color: #888 !important;
|
||||||
|
}
|
||||||
&.green {
|
&.green {
|
||||||
color: #6cc644!important;
|
color: #6cc644 !important;
|
||||||
}
|
}
|
||||||
&.purple {
|
&.purple {
|
||||||
color: #6e5494!important;
|
color: #6e5494 !important;
|
||||||
}
|
}
|
||||||
&.yellow {
|
&.yellow {
|
||||||
color: #FBBD08!important;
|
color: #FBBD08 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.left {
|
&.left {
|
||||||
text-align: left!important;
|
text-align: left !important;
|
||||||
}
|
}
|
||||||
&.right {
|
&.right {
|
||||||
text-align: right!important;
|
text-align: right !important;
|
||||||
}
|
}
|
||||||
&.small {
|
&.small {
|
||||||
font-size: 0.75em;
|
font-size: 0.75em;
|
||||||
}
|
}
|
||||||
|
&.bold {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
&.italic {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
&.truncate {
|
&.truncate {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
@ -166,7 +176,7 @@ pre {
|
||||||
}
|
}
|
||||||
.warning {
|
.warning {
|
||||||
&.header {
|
&.header {
|
||||||
background-color: #F9EDBE!important;
|
background-color: #F9EDBE !important;
|
||||||
border-color: #F0C36D;
|
border-color: #F0C36D;
|
||||||
}
|
}
|
||||||
&.segment {
|
&.segment {
|
||||||
|
@ -175,7 +185,7 @@ pre {
|
||||||
}
|
}
|
||||||
.info {
|
.info {
|
||||||
&.header {
|
&.header {
|
||||||
background-color: #d9edf7!important;
|
background-color: #d9edf7 !important;
|
||||||
border-color: #85c5e5;
|
border-color: #85c5e5;
|
||||||
}
|
}
|
||||||
&.segment {
|
&.segment {
|
||||||
|
@ -193,7 +203,7 @@ pre {
|
||||||
|
|
||||||
.form {
|
.form {
|
||||||
.fake {
|
.fake {
|
||||||
display: none!important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -217,7 +227,7 @@ pre {
|
||||||
border-top: none;
|
border-top: none;
|
||||||
line-height: 1em;
|
line-height: 1em;
|
||||||
color: rgba(0,0,0,.8);
|
color: rgba(0,0,0,.8);
|
||||||
padding: .71428571em 1.14285714em!important;
|
padding: .71428571em 1.14285714em !important;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
@ -237,12 +247,12 @@ pre {
|
||||||
|
|
||||||
.scrolling.menu {
|
.scrolling.menu {
|
||||||
.item.selected {
|
.item.selected {
|
||||||
font-weight: 700!important;
|
font-weight: 700 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
margin-top: @footer-margin+14px!important;
|
margin-top: @footer-margin+14px !important;
|
||||||
height: @footer-margin;
|
height: @footer-margin;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
border-top: 1px solid #d6d6d6;
|
border-top: 1px solid #d6d6d6;
|
||||||
|
@ -277,8 +287,8 @@ footer {
|
||||||
.generate-img(16);
|
.generate-img(16);
|
||||||
.generate-img(@n, @i: 1) when (@i =< @n) {
|
.generate-img(@n, @i: 1) when (@i =< @n) {
|
||||||
.img-@{i} {
|
.img-@{i} {
|
||||||
width: (2px * @i)!important;
|
width: (2px * @i) !important;
|
||||||
height: (2px * @i)!important;
|
height: (2px * @i) !important;
|
||||||
}
|
}
|
||||||
.generate-img(@n, (@i + 1));
|
.generate-img(@n, (@i + 1));
|
||||||
}
|
}
|
||||||
|
@ -286,7 +296,7 @@ footer {
|
||||||
.octicon.icon,
|
.octicon.icon,
|
||||||
.mega-octicon.icon {
|
.mega-octicon.icon {
|
||||||
font-family: octicons;
|
font-family: octicons;
|
||||||
opacity: 1!important;
|
opacity: 1 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Accessibility
|
// Accessibility
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
padding-top: 15px;
|
padding-top: 15px;
|
||||||
padding-bottom: @footer-margin * 2;
|
padding-bottom: @footer-margin * 2;
|
||||||
|
|
||||||
|
&.feeds,
|
||||||
&.issues {
|
&.issues {
|
||||||
.context.user.menu {
|
.context.user.menu {
|
||||||
z-index: 101;
|
z-index: 101;
|
||||||
|
@ -53,3 +54,66 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.feeds {
|
||||||
|
.news {
|
||||||
|
.ui.avatar {
|
||||||
|
margin-top: 13px;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
line-height: 1em;
|
||||||
|
}
|
||||||
|
.time-since {
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
.issue.title {
|
||||||
|
line-height: 1em;
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
.push.news .content ul {
|
||||||
|
font-size: 13px;
|
||||||
|
list-style: none;
|
||||||
|
padding-left: 10px;
|
||||||
|
|
||||||
|
img {
|
||||||
|
margin-bottom: -2px;
|
||||||
|
}
|
||||||
|
.text.truncate {
|
||||||
|
width: 80%;
|
||||||
|
margin-bottom: -5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
.header {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
}
|
||||||
|
ul {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding-left: 0;
|
||||||
|
|
||||||
|
li {
|
||||||
|
&:not(:last-child) {
|
||||||
|
border-bottom: 1px solid #EAEAEA;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.private {
|
||||||
|
background-color: #fcf8e9;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
padding: 6px 1.2em;
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
.octicon {
|
||||||
|
margin-right: 6px;
|
||||||
|
color: #888;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,47 +1,34 @@
|
||||||
{{template "ng/base/head" .}}
|
{{template "base/head" .}}
|
||||||
{{template "ng/base/header" .}}
|
<div class="dashboard feeds">
|
||||||
{{template "user/dashboard/nav" .}}
|
{{template "user/dashboard/navbar" .}}
|
||||||
<div id="dashboard-wrapper">
|
<div class="ui container">
|
||||||
<div id="dashboard" class="container">
|
<div class="ui grid">
|
||||||
{{template "ng/base/alert" .}}
|
<div class="ten wide column">
|
||||||
<div id="dashboard-news" class="left grid-2-3">
|
|
||||||
{{template "user/dashboard/feeds" .}}
|
{{template "user/dashboard/feeds" .}}
|
||||||
</div>
|
</div>
|
||||||
<div class="right grid-1-3" id="dashboard-sidebar">
|
<div class="six wide column">
|
||||||
<ul id="dashboard-sidebar-menu" class="menu menu-line">
|
<div class="ui {{if not .ContextUser.IsOrganization}}three{{else}}two{{end}} item tabable menu">
|
||||||
<li class="js-tab-nav js-tab-nav-show first" data-tab-target="#dashboard-my-repo"><a href="#">{{.i18n.Tr "repository"}}</a></li>
|
<a class="item active" data-tab="repos">{{.i18n.Tr "repository"}}</a>
|
||||||
{{if not .ContextUser.IsOrganization}}
|
{{if not .ContextUser.IsOrganization}}
|
||||||
<li class="js-tab-nav" data-tab-target="#dashboard-my-org"><a href="#">{{.i18n.Tr "organization"}}</a></li>
|
<a class="item" data-tab="orgs">{{.i18n.Tr "organization"}}</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
<li class="js-tab-nav last" data-tab-target="#dashboard-my-mirror"><a href="#">{{.i18n.Tr "mirror"}}</a></li>
|
<a class="item" data-tab="mirrors">{{.i18n.Tr "mirror"}}</a>
|
||||||
<li class="drop right">
|
|
||||||
<button class="btn btn-green text-bold" id="dashboard-new-repo">
|
|
||||||
<i class="octicon octicon-plus"></i>
|
|
||||||
</button>
|
|
||||||
<ul class="menu menu-vertical drop-down" id="dashboard-new-repo-menu">
|
|
||||||
<li><a href="{{AppSubUrl}}/repo/create"><i class="octicon octicon-repo-create"></i>{{.i18n.Tr "new_repo"}}</a></li>
|
|
||||||
<li><a href="{{AppSubUrl}}/repo/migrate"><i class="octicon octicon-repo-clone"></i>{{.i18n.Tr "new_migrate"}}</a></li>
|
|
||||||
<li><a href="{{AppSubUrl}}/org/create"><i class="octicon octicon-organization"></i>{{.i18n.Tr "new_org"}}</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="panel" id="dashboard-my-repo">
|
|
||||||
<div class="panel-header">
|
|
||||||
<h4 class="left">{{.i18n.Tr "home.my_repos"}}
|
|
||||||
<span class="repo-count label label-gray label-radius">{{.ContextUser.NumRepos}}</span>
|
|
||||||
</h4>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="ui tab active list" data-tab="repos">
|
||||||
<ul class="list-no-style">
|
<h4 class="ui top attached header">
|
||||||
|
{{.i18n.Tr "home.my_repos"}} <span class="ui grey label">{{.ContextUser.NumRepos}}</span>
|
||||||
|
<div class="ui right">
|
||||||
|
<a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/repo/create">{{.i18n.Tr "new_repo"}}</a>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<div class="ui attached table segment">
|
||||||
|
<ul>
|
||||||
{{range .Repos}}
|
{{range .Repos}}
|
||||||
<li {{if .IsPrivate}}class="private"{{end}}>
|
<li {{if .IsPrivate}}class="private"{{end}}>
|
||||||
<a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}">
|
<a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}">
|
||||||
<i class="octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i>
|
<i class="octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i>
|
||||||
<span class="repo-name">
|
<strong>{{.Name}}</strong>
|
||||||
<strong class="repo">{{.Name}}</strong>
|
<span class="ui right text light grey">
|
||||||
</span>
|
|
||||||
<span class="right repo-star">
|
|
||||||
<i class="octicon octicon-star"></i>{{.NumStars}}
|
<i class="octicon octicon-star"></i>{{.NumStars}}
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
|
@ -49,23 +36,19 @@
|
||||||
{{end}}
|
{{end}}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{if not .ContextUser.IsOrganization}}
|
{{if not .ContextUser.IsOrganization}}
|
||||||
<div class="panel-header repo-contrib-header">
|
<h4 class="ui top attached header">
|
||||||
<h4 class="text-bold">{{.i18n.Tr "home.collaborative_repos"}}
|
{{.i18n.Tr "home.collaborative_repos"}} <span class="ui grey label">{{.CollaborateCount}}</span>
|
||||||
<span class="repo-count label label-gray label-radius">{{.CollaborateCount}}</span>
|
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
<div class="ui attached table segment">
|
||||||
<div class="panel-body">
|
<ul>
|
||||||
<ul class="list-no-style">
|
|
||||||
{{range .CollaborativeRepos}}
|
{{range .CollaborativeRepos}}
|
||||||
<li {{if .IsPrivate}}class="private"{{end}}>
|
<li {{if .IsPrivate}}class="private"{{end}}>
|
||||||
<a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}">
|
<a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}">
|
||||||
<i class="octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i>
|
<i class="octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i>
|
||||||
<span class="repo-name">
|
{{.Owner.Name}} / <strong>{{.Name}}</strong>
|
||||||
<span class="repo-name-prefix">{{.Owner.Name}} / </span>
|
<span class="ui right text light grey">
|
||||||
<strong class="repo">{{.Name}}</strong>
|
|
||||||
</span>
|
|
||||||
<span class="right repo-star">
|
|
||||||
<i class="octicon octicon-star"></i>{{.NumStars}}
|
<i class="octicon octicon-star"></i>{{.NumStars}}
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
|
@ -75,23 +58,23 @@
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{if not .ContextUser.IsOrganization}}
|
{{if not .ContextUser.IsOrganization}}
|
||||||
<div class="panel" id="dashboard-my-org">
|
<div class="ui tab list" data-tab="orgs">
|
||||||
<div class="panel-header">
|
<h4 class="ui top attached header">
|
||||||
<h4 class="text-bold">{{.i18n.Tr "home.my_orgs"}}
|
{{.i18n.Tr "home.my_orgs"}} <span class="ui grey label">{{.ContextUser.GetOrganizationCount}}</span>
|
||||||
<span class="repo-count label label-gray label-radius">{{.ContextUser.GetOrganizationCount}}</span>
|
<div class="ui right">
|
||||||
</h4>
|
<a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/org/create">{{.i18n.Tr "new_org"}}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
</h4>
|
||||||
<ul class="list-no-style">
|
<div class="ui attached table segment">
|
||||||
|
<ul>
|
||||||
{{range .ContextUser.Orgs}}
|
{{range .ContextUser.Orgs}}
|
||||||
<li>
|
<li>
|
||||||
<a href="{{AppSubUrl}}/{{.Name}}">
|
<a href="{{AppSubUrl}}/{{.Name}}">
|
||||||
<i class="octicon octicon-organization"></i>
|
<i class="octicon octicon-organization"></i>
|
||||||
<span class="repo-name">
|
<strong>{{.Name}}</strong>
|
||||||
<strong class="repo">{{.Name}}</strong>
|
<span class="ui right text light grey">
|
||||||
</span>
|
|
||||||
<span class="right repo-star">
|
|
||||||
<i class="octicon octicon-repo"></i>{{.NumRepos}}
|
<i class="octicon octicon-repo"></i>{{.NumRepos}}
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
|
@ -101,22 +84,19 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
<div class="panel" id="dashboard-my-mirror">
|
|
||||||
<div class="panel-header">
|
<div class="ui tab list" data-tab="mirrors">
|
||||||
<h4 class="text-bold">{{.i18n.Tr "home.my_mirrors"}}
|
<h4 class="ui top attached header">
|
||||||
<span class="repo-count label label-gray label-radius">{{.MirrorCount}}</span>
|
{{.i18n.Tr "home.my_mirrors"}} <span class="ui grey label">{{.MirrorCount}}</span>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
<div class="ui attached table segment">
|
||||||
<div class="panel-body">
|
<ul>
|
||||||
<ul class="list-no-style">
|
|
||||||
{{range .Mirrors}}
|
{{range .Mirrors}}
|
||||||
<li {{if .IsPrivate}}class="private"{{end}}>
|
<li {{if .IsPrivate}}class="private"{{end}}>
|
||||||
<a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}">
|
<a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}">
|
||||||
<i class="octicon octicon-repo-clone"></i>
|
<i class="octicon octicon-repo-clone"></i>
|
||||||
<span class="repo-name">
|
<strong>{{.Name}}</strong>
|
||||||
<strong class="repo">{{.Name}}</strong>
|
<span class="ui right text light grey">
|
||||||
</span>
|
|
||||||
<span class="right repo-star">
|
|
||||||
<i class="octicon octicon-sync"></i>{{.Interval}}H
|
<i class="octicon octicon-sync"></i>{{.Interval}}H
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
|
@ -127,5 +107,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{template "ng/base/footer" .}}
|
{{template "base/footer" .}}
|
|
@ -1,10 +1,12 @@
|
||||||
{{range .Feeds}}
|
{{range .Feeds}}
|
||||||
<div class="news clear">
|
<div class="news">
|
||||||
<div class="avatar left">
|
<div class="ui left">
|
||||||
<img class="avatar-30" src="{{.ActAvatar}}" alt="">
|
<img class="ui avatar image" src="{{.ActAvatar}}" alt="">
|
||||||
</div>
|
</div>
|
||||||
<div class="content left {{if eq .GetOpType 5}}push-news{{end}} grid-4-5">
|
<div class="ui grid">
|
||||||
<p class="text-bold">
|
<div class="ui fifteen wide column">
|
||||||
|
<div class="{{if eq .GetOpType 5}}push news{{end}}">
|
||||||
|
<p>
|
||||||
<a href="{{AppSubUrl}}/{{.GetActUserName}}">{{.GetActUserName}}</a>
|
<a href="{{AppSubUrl}}/{{.GetActUserName}}">{{.GetActUserName}}</a>
|
||||||
{{if eq .GetOpType 1}}
|
{{if eq .GetOpType 1}}
|
||||||
{{$.i18n.Tr "action.create_repo" .GetRepoLink .GetRepoPath | Str2html}}
|
{{$.i18n.Tr "action.create_repo" .GetRepoLink .GetRepoPath | Str2html}}
|
||||||
|
@ -24,36 +26,42 @@
|
||||||
{{$.i18n.Tr "action.push_tag" .GetRepoLink .GetBranch .GetRepoPath | Str2html}}
|
{{$.i18n.Tr "action.push_tag" .GetRepoLink .GetBranch .GetRepoPath | Str2html}}
|
||||||
{{else if eq .GetOpType 10}}
|
{{else if eq .GetOpType 10}}
|
||||||
{{ $index := index .GetIssueInfos 0}}
|
{{ $index := index .GetIssueInfos 0}}
|
||||||
{{$.i18n.Tr "action.comment_issue" .GetRepoLink $index .GetRepoPath | Str2html}} – {{.GetIssueTitle}}
|
{{$.i18n.Tr "action.comment_issue" .GetRepoLink $index .GetRepoPath | Str2html}}
|
||||||
{{else if eq .GetOpType 11}}
|
{{else if eq .GetOpType 11}}
|
||||||
{{ $index := index .GetIssueInfos 0}}
|
{{ $index := index .GetIssueInfos 0}}
|
||||||
{{$.i18n.Tr "action.merge_pull_request" .GetRepoLink $index .GetRepoPath | Str2html}}
|
{{$.i18n.Tr "action.merge_pull_request" .GetRepoLink $index .GetRepoPath | Str2html}}
|
||||||
{{end}}
|
{{end}}
|
||||||
</p>
|
</p>
|
||||||
{{if eq .GetOpType 5}}
|
{{if eq .GetOpType 5}}
|
||||||
<div class="news-content content">
|
<div class="content">
|
||||||
<ul class="list-no-style">
|
<ul>
|
||||||
{{ $push := ActionContent2Commits .}}
|
{{ $push := ActionContent2Commits .}}
|
||||||
{{ $repoLink := .GetRepoLink}}
|
{{ $repoLink := .GetRepoLink}}
|
||||||
{{if $push.Commits}}
|
{{if $push.Commits}}
|
||||||
{{range $push.Commits}}
|
{{range $push.Commits}}
|
||||||
<li><img class="avatar-16" src="{{AvatarLink .AuthorEmail}}?s=16"> <a href="{{$repoLink}}/commit/{{.Sha1}}">{{ShortSha .Sha1}}</a> <span class="text-truncate grid-4-5">{{.Message}}</span></li>
|
<li><img class="img-8" src="{{AvatarLink .AuthorEmail}}"> <a href="{{$repoLink}}/commit/{{.Sha1}}">{{ShortSha .Sha1}}</a> <span class="text truncate light grey">{{.Message}}</span></li>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if $push.CompareUrl}}<li><a href="{{AppSubUrl}}/{{$push.CompareUrl}}">{{$.i18n.Tr "action.compare_2_commits"}} »</a></li>{{end}}
|
{{if $push.CompareUrl}}<li><a href="{{AppSubUrl}}/{{$push.CompareUrl}}">{{$.i18n.Tr "action.compare_2_commits"}} »</a></li>{{end}}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
{{else if eq .GetOpType 6}}
|
{{else if eq .GetOpType 6}}
|
||||||
<p class="news-content comment-news">{{index .GetIssueInfos 1}}</p>
|
<p class="text light grey">{{index .GetIssueInfos 1}}</p>
|
||||||
{{else if eq .GetOpType 7}}
|
{{else if eq .GetOpType 7}}
|
||||||
<p class="news-content comment-news">{{index .GetIssueInfos 1}}</p>
|
<p class="text light grey">{{index .GetIssueInfos 1}}</p>
|
||||||
{{else if eq .GetOpType 10}}
|
{{else if eq .GetOpType 10}}
|
||||||
<p class="news-content comment-news">{{index .GetIssueInfos 1}}</p>
|
<span class="text truncate issue title">{{.GetIssueTitle}}</span>
|
||||||
|
<p class="text light grey">{{index .GetIssueInfos 1}}</p>
|
||||||
{{else if eq .GetOpType 11}}
|
{{else if eq .GetOpType 11}}
|
||||||
<p class="news-content comment-news">{{index .GetIssueInfos 1}}</p>
|
<p class="text light grey">{{index .GetIssueInfos 1}}</p>
|
||||||
{{end}}
|
{{end}}
|
||||||
<p class="news-time text-italic">{{TimeSince .GetCreate $.i18n.Lang}}</p>
|
<p class="text italic light grey">{{TimeSince .GetCreate $.i18n.Lang}}</p>
|
||||||
</div>
|
</div>
|
||||||
<i class="mega-octicon octicon-{{ActionIcon .GetOpType}} right"></i>
|
</div>
|
||||||
|
<div class="ui one wide column">
|
||||||
|
<i class="text grey mega-octicon octicon-{{ActionIcon .GetOpType}}"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="ui divider"></div>
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
|
@ -1,46 +0,0 @@
|
||||||
<div id="dashboard-header">
|
|
||||||
<ul class="menu menu-line container">
|
|
||||||
<li id="dashboard-selection-menu" class="down drop">
|
|
||||||
<a href="#" class="text-bold radius">
|
|
||||||
<img class="avatar-30" src="{{.ContextUser.AvatarLink}}" alt="user-avatar" />
|
|
||||||
{{.ContextUser.Name}}
|
|
||||||
</a>
|
|
||||||
<div class="drop-down panel panel-radius">
|
|
||||||
<p class="panel-header"><strong>{{.i18n.Tr "home.switch_dashboard_context"}}</strong></p>
|
|
||||||
<ul class="menu menu-vertical switching-list" id="dashboard-switch-menu">
|
|
||||||
<li class="org {{if eq .ContextUser.Id .SignedUser.Id}}checked{{end}}">
|
|
||||||
<a href="{{AppSubUrl}}/">
|
|
||||||
<i class="octicon octicon-check"></i>
|
|
||||||
<img class="avatar-24" src="{{.SignedUser.AvatarLink}}" alt="user-avatar" />
|
|
||||||
{{.SignedUser.Name}}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{{range .Orgs}}
|
|
||||||
<li class="org {{if eq $.ContextUser.Id .Id}}checked{{end}}">
|
|
||||||
<a href="{{.DashboardLink}}">
|
|
||||||
<i class="octicon octicon-check"></i>
|
|
||||||
<img class="avatar-24" src="{{.AvatarLink}}" alt="user-avatar" />
|
|
||||||
{{.Name}}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{{end}}
|
|
||||||
<!-- <li>
|
|
||||||
<a href="{{AppSubUrl}}/user/settings/orgs"><i class="octicon octicon-organization"></i>{{.i18n.Tr "manage_org"}}</a>
|
|
||||||
</li> -->
|
|
||||||
<li>
|
|
||||||
<a href="{{AppSubUrl}}/org/create"><i class="octicon octicon-plus"></i>{{.i18n.Tr "new_org"}}</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li class="right">
|
|
||||||
<a {{if $.PageIsIssues}}class="current"{{end}} href="{{AppSubUrl}}/{{if .ContextUser.IsOrganization}}org/{{.ContextUser.Name}}/{{end}}issues"><i class="octicon octicon-issue-opened"></i>{{.i18n.Tr "issues"}}</a>
|
|
||||||
</li>
|
|
||||||
<!-- <li class="right">
|
|
||||||
<a {{if .PageIsPulls}}class="current"{{end}} href="{{.ContextUser.DashboardLink}}pulls"><i class="octicon octicon-git-pull-request"></i>{{.i18n.Tr "pull_requests"}}</a>
|
|
||||||
</li> -->
|
|
||||||
<li class="right">
|
|
||||||
<a {{if $.PageIsNews}}class="current"{{end}} href="{{.ContextUser.DashboardLink}}"><i class="octicon octicon-rss"></i>{{.i18n.Tr "news_feed"}}</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
|
@ -10,12 +10,12 @@
|
||||||
{{.i18n.Tr "home.switch_dashboard_context"}}
|
{{.i18n.Tr "home.switch_dashboard_context"}}
|
||||||
</div>
|
</div>
|
||||||
<div class="items">
|
<div class="items">
|
||||||
<a class="{{if eq .ContextUser.Id .SignedUser.Id}}active selected{{end}} item" href="{{AppSubUrl}}/{{if .PageIsIssues}}issues{{else}}pulls{{end}}">
|
<a class="{{if eq .ContextUser.Id .SignedUser.Id}}active selected{{end}} item" href="{{AppSubUrl}}/{{if .PageIsIssues}}issues{{else if .PageIsPulls}}pulls{{end}}">
|
||||||
<img class="ui avatar image" src="{{.SignedUser.AvatarLink}}">
|
<img class="ui avatar image" src="{{.SignedUser.AvatarLink}}">
|
||||||
{{.SignedUser.Name}}
|
{{.SignedUser.Name}}
|
||||||
</a>
|
</a>
|
||||||
{{range .Orgs}}
|
{{range .Orgs}}
|
||||||
<a class="{{if eq $.ContextUser.Id .Id}}active selected{{end}} item" href="{{AppSubUrl}}/org/{{.Name}}/{{if $.PageIsIssues}}issues{{else}}pulls{{end}}">
|
<a class="{{if eq $.ContextUser.Id .Id}}active selected{{end}} item" href="{{AppSubUrl}}/org/{{.Name}}/{{if $.PageIsIssues}}issues{{else if $.PageIsPulls}}pulls{{else}}dashboard{{end}}">
|
||||||
<img class="ui avatar image" src="{{.AvatarLink}}">
|
<img class="ui avatar image" src="{{.AvatarLink}}">
|
||||||
{{.Name}}
|
{{.Name}}
|
||||||
</a>
|
</a>
|
||||||
|
|
Loading…
Reference in a new issue