mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-29 07:09:48 +03:00
582 lines
11 KiB
CSS
582 lines
11 KiB
CSS
:root {
|
|
--dashboard-gap: 1.8vw;
|
|
}
|
|
|
|
.gh-dashboard {
|
|
display: grid;
|
|
grid-template-columns: 2fr 1fr;
|
|
grid-gap: var(--dashboard-gap);
|
|
}
|
|
|
|
.gh-dashboard-area {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.gh-dashboard-header {
|
|
display: flex;
|
|
align-items: center;
|
|
font-size: 1.1rem;
|
|
text-transform: uppercase;
|
|
font-weight: 500;
|
|
letter-spacing: .2px;
|
|
margin: -4px 0 4px;
|
|
padding: 0;
|
|
color: var(--black);
|
|
}
|
|
|
|
.gh-dashboard-header svg {
|
|
width: 12px;
|
|
height: 12px;
|
|
margin-left: 8px;
|
|
}
|
|
|
|
.gh-dashboard-header.secondary {
|
|
color: var(--midgrey);
|
|
}
|
|
|
|
.gh-dashboard-summary.small .gh-dashboard-header {
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
.gh-dashboard-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-grow: 1;
|
|
align-items: stretch;
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.gh-dashboard-container {
|
|
display: grid;
|
|
grid-template-columns: 1fr;
|
|
width: 100%;
|
|
}
|
|
|
|
.gh-dashboard-container.col-2 {
|
|
grid-template-columns: 1fr 1fr;
|
|
grid-gap: var(--dashboard-gap);
|
|
}
|
|
|
|
/* Generic box containers */
|
|
.gh-dashboard-box {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
border: 1px solid var(--whitegrey);
|
|
border-radius: 3px;
|
|
padding: 24px;
|
|
margin-bottom: var(--dashboard-gap);
|
|
}
|
|
|
|
.gh-dashboard-box .content {
|
|
color: var(--darkgrey);
|
|
}
|
|
|
|
.gh-dashboard-box .content h4 {
|
|
font-size: 1.6rem;
|
|
font-weight: 600;
|
|
line-height: 1.4em;
|
|
margin-bottom: 8px;
|
|
color: var(--black);
|
|
}
|
|
|
|
.gh-dashboard-box .content h3 {
|
|
font-size: 1.9rem;
|
|
font-weight: 600;
|
|
line-height: 1.4em;
|
|
margin-bottom: 6px;
|
|
color: var(--black);
|
|
}
|
|
|
|
.gh-dashboard-box .content p {
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.gh-dashboard-box .footer {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.gh-dashboard-box.grey {
|
|
background: var(--main-color-content-greybg);
|
|
border: none;
|
|
}
|
|
|
|
.gh-dashboard-box.black {
|
|
background: var(--black);
|
|
border: none;
|
|
color: var(--white);
|
|
}
|
|
|
|
.gh-dashboard-box.black .content h4 {
|
|
color: var(--white);
|
|
}
|
|
|
|
.gh-dashboard-box.black .content p {
|
|
color: var(--whitegrey);
|
|
}
|
|
|
|
.gh-dashboard-box.green {
|
|
background: color-mod(var(--green) a(4%));
|
|
border-color: color-mod(var(--green) a(60%));
|
|
}
|
|
|
|
/* Main areas in grid */
|
|
.gh-dashboard-area.charts {
|
|
grid-column: 1 / 3;
|
|
}
|
|
|
|
.gh-dashboard-area.members-activity {
|
|
grid-column: 2 / 3;
|
|
}
|
|
|
|
.gh-dashboard-area.mixed {
|
|
grid-column: 1 / 2;
|
|
border: none;
|
|
border-radius: unset;
|
|
padding: 0;
|
|
align-items: stretch;
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
/* Charts */
|
|
.gh-dashboard-area.charts {
|
|
display: grid;
|
|
grid-template-columns: 2fr 1fr;
|
|
grid-template-rows: 1fr 1fr 1fr;
|
|
border: 1px solid var(--whitegrey);
|
|
border-radius: 3px;
|
|
grid-column-gap: var(--dashboard-gap);
|
|
grid-row-gap: 12px;
|
|
align-items: stretch;
|
|
padding: 16px 0 20px;
|
|
}
|
|
|
|
.gh-dashboard-area.charts .gh-dashboard-box {
|
|
border: none;
|
|
border-radius: 0;
|
|
padding: 16px 0 0 24px;
|
|
margin: 0;
|
|
}
|
|
|
|
.gh-dashboard-area.charts .gh-dashboard-header {
|
|
margin: 3px 0 4px;
|
|
}
|
|
|
|
.gh-dashboard-chart-container {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.gh-dashboard-area.charts .mrr {
|
|
grid-column: 1 / 2;
|
|
grid-row: 1 / 4;
|
|
padding: 0 0 0 24px;
|
|
}
|
|
|
|
.gh-dashboard-area.charts .total-members {
|
|
grid-column: 2 / 3;
|
|
grid-row: 1 / 2;
|
|
padding: 0 24px 0 24px;
|
|
height: 75px;
|
|
}
|
|
|
|
.gh-dashboard-area.charts .paid-members {
|
|
grid-column: 2 / 3;
|
|
grid-row: 2 / 3;
|
|
padding: 0 24px 0 24px;
|
|
height: 75px;
|
|
}
|
|
|
|
.gh-dashboard-area.charts .newsletter-open-rate {
|
|
grid-column: 2 / 3;
|
|
grid-row: 3 / 4;
|
|
padding: 0 24px 0 24px;
|
|
height: 75px;
|
|
}
|
|
|
|
.gh-dashboard-summary {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
justify-content: flex-start;
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.gh-dashboard-summary.small {
|
|
flex-basis: 120px;
|
|
min-width: 120px;
|
|
margin-top: 0;
|
|
}
|
|
|
|
.gh-dashboard-summary .data-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.gh-dashboard-summary .data {
|
|
font-size: 3.9rem;
|
|
line-height: 4rem;
|
|
font-weight: 600;
|
|
color: var(--black);
|
|
letter-spacing: -0.1px;
|
|
line-height: 1;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.gh-dashboard-summary.small .data {
|
|
font-size: 2.8rem;
|
|
letter-spacing: -0.1px;
|
|
}
|
|
|
|
.gh-dashboard-summary .growth {
|
|
background: var(--whitegrey-d1);
|
|
border-radius: 3px;
|
|
font-size: 1.8rem;
|
|
line-height: 1;
|
|
font-weight: 500;
|
|
color: var(--midgrey);
|
|
padding: 6px 8px;
|
|
margin: 8px 0 0;
|
|
}
|
|
|
|
.gh-dashboard-summary.small .growth {
|
|
font-size: 1.2rem;
|
|
letter-spacing: 0;
|
|
padding: 2px 4px;
|
|
margin: 5px 0 1px 0;
|
|
}
|
|
|
|
.gh-dashboard-summary .growth.positive {
|
|
background: color-mod(var(--green) a(13%));
|
|
color: color-mod(var(--green) l(-5%));
|
|
}
|
|
|
|
.gh-dashboard-summary .growth.negative {
|
|
background: color-mod(var(--yellow) a(20%));
|
|
color: color-mod(var(--yellow) l(-8%));
|
|
}
|
|
|
|
.gh-dashboard-chart {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-end;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.gh-dashboard-chart.nodata {
|
|
border: 1px dashed var(--lightgrey);
|
|
font-size: 1.3rem;
|
|
color: var(--midlightgrey);
|
|
}
|
|
|
|
.gh-dashboard-chart.nodata {
|
|
font-size: 1.3rem;
|
|
color: var(--midlightgrey);
|
|
}
|
|
|
|
.gh-dashboard-chart.small {
|
|
margin-bottom: -6px;
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.gh-dashboard-chart-box {
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: stretch;
|
|
height: 228px;
|
|
width: 35.5vw;
|
|
padding-top: 12px;
|
|
margin-right: -10px;
|
|
}
|
|
|
|
.gh-dashboard-chart-box.small {
|
|
position: relative;
|
|
width: 14vw;
|
|
min-width: 165px;
|
|
height: 110px;
|
|
padding-top: 0;
|
|
margin-top: -13px;
|
|
margin-bottom: -20px;
|
|
margin-right: -6px;
|
|
transform: scale(0.9);
|
|
transform-origin: top right;
|
|
}
|
|
|
|
/* Chart.js requires relative width to be in vw units to make responsive re-rendering work */
|
|
@media (max-width: 1600px) {
|
|
.gh-dashboard-chart-box.small {
|
|
width: 13vw;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 1500px) {
|
|
.gh-dashboard-chart-box {
|
|
width: 33vw;
|
|
}
|
|
|
|
.gh-dashboard-chart-box.small {
|
|
width: 12vw;
|
|
}
|
|
|
|
.gh-dashboard-chart.small {
|
|
max-width: 120px;
|
|
}
|
|
}
|
|
|
|
/* Total members */
|
|
.gh-dashboard-area.total-members {
|
|
grid-column: 1 / 2;
|
|
grid-row: 2;
|
|
}
|
|
|
|
.gh-dashboard-area.total-members .gh-dashboard-chart,
|
|
.gh-dashboard-area.newsletter-open-rate .gh-dashboard-chart {
|
|
height: 6vw;
|
|
min-height: 80px;
|
|
max-height: 150px;
|
|
}
|
|
|
|
/* Top members */
|
|
.gh-dashboard-area.top-members {
|
|
grid-column: 3 / 4;
|
|
grid-row: 1 / 3;
|
|
}
|
|
|
|
.gh-dashboard-area.top-members .gh-dashboard-list {
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.gh-dashboard-top-members {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 8px 0 0;
|
|
width: 100%;
|
|
}
|
|
|
|
.gh-dashboard-top-member {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-grow: 1;
|
|
width: 100%;
|
|
justify-content: stretch;
|
|
margin: 8px 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.gh-dashboard-top-member .member-details {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.gh-dashboard-top-member .gh-member-gravatar {
|
|
/* display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-grow: 0;
|
|
min-width: 32px;
|
|
border-radius: 999px;
|
|
background: var(--blue);
|
|
margin-right: 8px;
|
|
color: #fff;
|
|
line-height: 1; */
|
|
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2);
|
|
width: 34px;
|
|
height: 34px;
|
|
}
|
|
|
|
.gh-dashboard-top-member .gh-member-initials {
|
|
width: 34px;
|
|
height: 34px;
|
|
}
|
|
|
|
.gh-dashboard-top-member .gh-member-list-avatar {
|
|
font-size: 1.5rem;
|
|
font-weight: 500;
|
|
text-align: center;
|
|
line-height: 1;
|
|
}
|
|
|
|
.gh-dashboard-top-member .name {
|
|
font-size: 1.4rem;
|
|
font-weight: 500;
|
|
color: var(--black);
|
|
}
|
|
|
|
.gh-dashboard-top-member .open-rate {
|
|
white-space: nowrap;
|
|
margin-left: 12px;
|
|
color: var(--midgrey);
|
|
font-size: 1.3rem;
|
|
}
|
|
|
|
.gh-dashboard-top-members-footer {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
border-top: 1px solid var(--whitegrey-d1);
|
|
padding-top: 12px;
|
|
margin-bottom: -4px;
|
|
}
|
|
|
|
.gh-dashboard-top-members-footer a {
|
|
display: flex;
|
|
align-items: center;
|
|
color: var(--black);
|
|
font-weight: 500;
|
|
}
|
|
|
|
.gh-dashboard-top-members-footer a svg {
|
|
width: 12px;
|
|
height: 12px;
|
|
margin-left: 4px;
|
|
}
|
|
|
|
.gh-dashboard-top-members-footer a svg path {
|
|
fill: var(--black);
|
|
}
|
|
|
|
/* Activity feed */
|
|
.gh-dashboard-area.activity-feed {
|
|
grid-column: 3 / 4;
|
|
grid-row: 3 / 4;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
.gh-dashboard-activity-feed {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 4px 0 0;
|
|
width: 100%;
|
|
}
|
|
|
|
.gh-dashboard-activity-feed li {
|
|
display: flex;
|
|
align-items: baseline;
|
|
flex-grow: 1;
|
|
width: 100%;
|
|
justify-content: space-between;
|
|
margin: 8px 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.gh-dashboard-activity-feed .activity {
|
|
display: flex;
|
|
align-items: baseline;
|
|
margin-right: 32px;
|
|
color: var(--midgrey);
|
|
line-height: 1.5em;
|
|
font-size: 1.3rem;
|
|
}
|
|
|
|
.gh-dashboard-activity-feed .member {
|
|
font-weight: 500;
|
|
color: var(--black);
|
|
font-size: 1.4rem;
|
|
}
|
|
|
|
.gh-dashboard-activity-feed .activity svg {
|
|
width: 12px;
|
|
height: 12px;
|
|
margin-right: 8px;
|
|
margin-top: 1px;
|
|
}
|
|
|
|
.gh-dashboard-activity-feed .time {
|
|
white-space: nowrap;
|
|
margin-left: 12px;
|
|
color: var(--midgrey);
|
|
font-size: 1.3rem;
|
|
}
|
|
|
|
@media (max-width: 1320px) {
|
|
.gh-dashboard {
|
|
grid-template-columns: 1fr 1fr;
|
|
}
|
|
|
|
.gh-dashboard-area.charts {
|
|
grid-template-columns: 1fr 1fr;
|
|
}
|
|
|
|
.gh-dashboard-area.charts .mrr .gh-dashboard-chart-container {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
justify-content: space-between;
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.gh-dashboard-area.charts .mrr .gh-members-chart-box {
|
|
width: 100%;
|
|
}
|
|
|
|
.gh-dashboard-chart {
|
|
height: auto;
|
|
}
|
|
|
|
.gh-members-chart-box {
|
|
height: 140px;
|
|
}
|
|
|
|
.gh-dashboard-summary.small{
|
|
flex-basis: 100px;
|
|
min-width: 100px;
|
|
}
|
|
|
|
.gh-dashboard-summary:not(.small) .data {
|
|
font-size: 3.4rem;
|
|
}
|
|
|
|
.gh-dashboard-summary:not(.small) .growth {
|
|
font-size: 1.5rem;
|
|
}
|
|
|
|
.gh-dashboard-container.col-2 {
|
|
grid-template-columns: 1fr;
|
|
grid-gap: 0;
|
|
}
|
|
|
|
.gh-dashboard-area.charts {
|
|
min-height: 240px;
|
|
}
|
|
|
|
.gh-dashboard-area.charts .mrr .gh-dashboard-chart-box {
|
|
height: 140px;
|
|
width: 100%;
|
|
}
|
|
|
|
.gh-dashboard-area.charts .mrr .gh-dashboard-chart {
|
|
margin-left: -20px;
|
|
}
|
|
|
|
/* .gh-dashboard-area.charts .mrr .gh-dashboard-summary {
|
|
flex-direction: row;
|
|
align-items: flex-end;
|
|
}
|
|
|
|
.gh-dashboard-area.charts .mrr .growth {
|
|
margin: 0 0 0 12px;
|
|
padding: 4px 6px;
|
|
} */
|
|
|
|
.gh-dashboard-header {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.gh-dashboard-chart.small {
|
|
min-width: 50%;
|
|
}
|
|
|
|
.gh-dashboard-chart-box.small {
|
|
width: 100%;
|
|
}
|
|
} |