Upgrade and refactor global theme.

- Change public and admin frontend primary colours.
- Change images.
- Refactor and fix styling on public pages.
- Remove CSS grid lib from public pages.
- Update Buefy and fix broken component styles (modal, toast).
This commit is contained in:
Kailash Nadh 2021-09-15 20:12:34 +05:30
parent 1f4f4263a3
commit 3135bfc12a
22 changed files with 124 additions and 547 deletions

View file

@ -10,7 +10,7 @@
}, },
"dependencies": { "dependencies": {
"axios": "^0.21.1", "axios": "^0.21.1",
"buefy": "^0.9.7", "buefy": "^0.9.10",
"c3": "^0.7.20", "c3": "^0.7.20",
"codeflask": "^1.4.1", "codeflask": "^1.4.1",
"core-js": "^3.12.1", "core-js": "^3.12.1",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -67,6 +67,8 @@ http.interceptors.response.use((resp) => {
message: msg, message: msg,
type: 'is-danger', type: 'is-danger',
queue: false, queue: false,
position: 'is-top',
pauseOnHover: true,
}); });
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -1,131 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="163.03" height="30.38" viewBox="0 0 43.135 8.038" xmlns:v="https://vecta.io/nano"><circle cx="4.019" cy="4.019" r="3.149" fill="none" stroke="#0055d4" stroke-width="1.74"/><path d="M11.457 7.303q-.566 0-.879-.322-.313-.331-.313-.932V.712L11.5.572v5.442q0 .305.253.305.139 0 .244-.052l.253.879q-.357.157-.792.157zm2.619-4.754v4.615H12.84V2.549zM13.449.172q.331 0 .54.209.218.2.218.514 0 .313-.218.522-.209.2-.54.2-.331 0-.54-.2-.209-.209-.209-.522 0-.313.209-.514.209-.209.54-.209zm3.319 2.238q.975 0 1.672.557l-.47.705q-.583-.366-1.149-.366-.305 0-.47.113-.165.113-.165.305 0 .139.07.235.078.096.279.183.209.087.618.209.731.2 1.088.54.357.331.357.914 0 .462-.27.801-.261.34-.714.522-.453.174-1.01.174-.583 0-1.062-.174-.479-.183-.819-.496l.61-.679q.583.453 1.237.453.348 0 .549-.131.209-.139.209-.374 0-.183-.078-.287-.078-.104-.287-.192-.209-.096-.653-.218-.697-.192-1.036-.54-.331-.357-.331-.879 0-.392.226-.705.226-.313.636-.488.418-.183.967-.183zm5.342 4.536q-.253.174-.575.261-.313.096-.627.096-.714-.009-1.08-.409-.366-.401-.366-1.176V3.42h-.688v-.871h.688v-1.01l1.237-.148v1.158h1.062l-.122.871h-.94v2.273q0 .331.113.479.113.148.348.148.235 0 .522-.157zm5.493-4.536q.549 0 .879.374.34.374.34 1.019v3.361h-1.237V4.012q0-.679-.453-.679-.244 0-.427.157-.183.157-.374.488v3.187h-1.237V4.012q0-.679-.453-.679-.244 0-.427.165-.183.157-.366.479v3.187h-1.237V2.549h1.071l.096.575q.261-.348.583-.531.331-.183.758-.183.392 0 .679.2.287.192.418.549.287-.374.618-.557.34-.192.766-.192zm4.148 0q1.036 0 1.62.653.583.644.583 1.794 0 .731-.27 1.289-.261.549-.766.853-.496.305-1.176.305-1.036 0-1.628-.644-.583-.653-.583-1.803 0-.731.261-1.28.27-.557.766-.862.505-.305 1.193-.305zm0 .923q-.47 0-.705.374-.226.366-.226 1.149 0 .784.226 1.158.235.366.697.366.462 0 .688-.366.235-.374.235-1.158 0-.784-.226-1.149-.226-.374-.688-.374zm5.271-.923q.61 0 .949.374.34.366.34 1.019v3.361h-1.237V4.012q0-.374-.131-.522-.122-.157-.374-.157-.261 0-.479.165-.209.157-.409.479v3.187h-1.237V2.549h1.071l.096.583q.287-.357.627-.54.348-.183.784-.183zM40.2.572v6.592h-1.237V.712zm2.804 1.977l-1.472 2.029 1.602 2.586h-1.402l-1.489-2.525 1.48-2.09z"/></svg>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="44.099529mm"
height="8.0377407mm"
viewBox="0 0 44.09953 8.0377409"
version="1.1"
id="svg8"
sodipodi:docname="logo.svg"
inkscape:version="1.0 (9f2f71dc58, 2020-08-02)">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient964">
<stop
style="stop-color:#aa72ff;stop-opacity:1"
offset="0"
id="stop960" />
<stop
style="stop-color:#944eff;stop-opacity:0.96862745;"
offset="0.5"
id="stop968" />
<stop
style="stop-color:#6c23d9;stop-opacity:0.94117647"
offset="1"
id="stop962" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient964"
id="radialGradient966"
cx="22.170593"
cy="31.135525"
fx="22.170593"
fy="31.135525"
r="4.0189604"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="39.619371"
inkscape:cy="25.024452"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1863"
inkscape:window-height="1025"
inkscape:window-x="57"
inkscape:window-y="27"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:document-rotation="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-18.151723,-27.116654)">
<circle
style="fill:none;fill-opacity:1;stroke:url(#radialGradient966);stroke-width:1.74;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle1737"
cx="22.170593"
cy="31.135525"
r="3.1489604" />
<g
aria-label="listmonk"
id="text1741"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:8.70789px;line-height:1.25;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:-0.0529167px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0459737">
<path
d="m 30.573813,34.701407 q -0.566013,0 -0.879497,-0.322192 -0.313484,-0.3309 -0.313484,-0.931744 v -5.337937 l 1.23652,-0.139326 v 5.442431 q 0,0.304776 0.252529,0.304776 0.139327,0 0.243821,-0.05225 l 0.252529,0.879497 q -0.357023,0.156742 -0.792418,0.156742 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1819" />
<path
d="m 33.19313,29.946899 v 4.615181 h -1.23652 v -4.615181 z m -0.626968,-2.377254 q 0.3309,0 0.539889,0.208989 0.217697,0.200282 0.217697,0.513766 0,0.313484 -0.217697,0.522473 -0.208989,0.200282 -0.539889,0.200282 -0.3309,0 -0.539889,-0.200282 -0.20899,-0.208989 -0.20899,-0.522473 0,-0.313484 0.20899,-0.513766 0.208989,-0.208989 0.539889,-0.208989 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1821" />
<path
d="m 35.885375,29.807573 q 0.975284,0 1.671915,0.557305 l -0.470226,0.705339 q -0.583428,-0.365732 -1.149441,-0.365732 -0.304776,0 -0.470226,0.113203 -0.16545,0.113202 -0.16545,0.304776 0,0.139326 0.06966,0.235113 0.07837,0.09579 0.278652,0.182866 0.20899,0.08708 0.618261,0.208989 0.731462,0.200282 1.088486,0.539889 0.357023,0.3309 0.357023,0.914329 0,0.461518 -0.269944,0.801125 -0.261237,0.339608 -0.714047,0.522474 -0.452811,0.174158 -1.010115,0.174158 -0.583429,0 -1.062363,-0.174158 -0.478934,-0.182866 -0.818542,-0.49635 l 0.609553,-0.679215 q 0.583428,0.45281 1.23652,0.45281 0.348316,0 0.548597,-0.130618 0.208989,-0.139327 0.208989,-0.37444 0,-0.182865 -0.07837,-0.28736 -0.07837,-0.104495 -0.28736,-0.191574 -0.208989,-0.09579 -0.653092,-0.217697 -0.696631,-0.191573 -1.036239,-0.539889 -0.330899,-0.357023 -0.330899,-0.879497 0,-0.391855 0.226405,-0.705339 0.226405,-0.313484 0.635676,-0.487642 0.417978,-0.182865 0.966575,-0.182865 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1823" />
<path
d="m 41.227132,34.344383 q -0.252529,0.174158 -0.574721,0.261237 -0.313484,0.09579 -0.626968,0.09579 -0.714047,-0.0087 -1.079778,-0.409271 -0.365731,-0.400563 -0.365731,-1.175565 V 30.817688 H 37.89201 v -0.870789 h 0.687924 v -1.010115 l 1.23652,-0.148034 v 1.158149 h 1.062362 l -0.12191,0.870789 h -0.940452 v 2.272759 q 0,0.3309 0.113202,0.478934 0.113203,0.148034 0.348316,0.148034 0.235113,0 0.522473,-0.156742 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1825" />
<path
d="m 46.719917,29.807573 q 0.548597,0 0.879497,0.374439 0.339607,0.374439 0.339607,1.018823 v 3.361245 h -1.23652 v -3.152256 q 0,-0.679215 -0.45281,-0.679215 -0.243821,0 -0.426687,0.156742 -0.182866,0.156742 -0.374439,0.487642 v 3.187087 h -1.23652 v -3.152256 q 0,-0.679215 -0.452811,-0.679215 -0.243821,0 -0.426686,0.16545 -0.182866,0.156742 -0.365732,0.478934 v 3.187087 h -1.23652 v -4.615181 h 1.07107 l 0.09579,0.574721 q 0.261237,-0.348316 0.583429,-0.531182 0.3309,-0.182865 0.757586,-0.182865 0.391855,0 0.679216,0.200281 0.28736,0.191574 0.417978,0.548597 0.287361,-0.374439 0.61826,-0.557305 0.339608,-0.191573 0.766295,-0.191573 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1827" />
<path
d="m 50.868242,29.807573 q 1.036239,0 1.619667,0.653091 0.583429,0.644384 0.583429,1.793826 0,0.731462 -0.269944,1.288767 -0.261237,0.548597 -0.766295,0.853373 -0.496349,0.304777 -1.175565,0.304777 -1.036239,0 -1.628375,-0.644384 -0.583429,-0.653092 -0.583429,-1.802533 0,-0.731463 0.261237,-1.28006 0.269944,-0.557305 0.766294,-0.862081 0.505058,-0.304776 1.192981,-0.304776 z m 0,0.923036 q -0.470226,0 -0.705339,0.374439 -0.226405,0.365732 -0.226405,1.149442 0,0.78371 0.226405,1.158149 0.235113,0.365731 0.696631,0.365731 0.461518,0 0.687923,-0.365731 0.235113,-0.374439 0.235113,-1.158149 0,-0.78371 -0.226405,-1.149442 -0.226405,-0.374439 -0.687923,-0.374439 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1829" />
<path
d="m 56.139396,29.807573 q 0.609553,0 0.94916,0.374439 0.339608,0.365731 0.339608,1.018823 v 3.361245 h -1.23652 v -3.152256 q 0,-0.374439 -0.130619,-0.522473 -0.12191,-0.156742 -0.374439,-0.156742 -0.261237,0 -0.478934,0.16545 -0.208989,0.156742 -0.409271,0.478934 v 3.187087 h -1.23652 v -4.615181 h 1.07107 l 0.09579,0.583429 q 0.287361,-0.357024 0.626968,-0.53989 0.348316,-0.182865 0.78371,-0.182865 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1831" />
<path
d="m 59.316692,27.970208 v 6.591872 h -1.23652 v -6.452546 z m 2.803941,1.976691 -1.471634,2.028938 1.602252,2.586243 h -1.40197 l -1.489049,-2.525288 1.480341,-2.089893 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1833" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -5,10 +5,10 @@ $body-family: "Inter", "Helvetica Neue", sans-serif;
$body-size: 15px; $body-size: 15px;
$background: $white-bis; $background: $white-bis;
$body-background-color: $white-bis; $body-background-color: $white-bis;
$primary: #7f2aff; $primary: #0055d4;
$green: #4caf50; $green: #0db35e;
$turquoise: $green; $turquoise: $green;
$red: #ff5722; $red: #FF5722;
$link: $primary; $link: $primary;
$input-placeholder-color: $grey-light; $input-placeholder-color: $grey-light;
$grey-lightest: #eaeaea; $grey-lightest: #eaeaea;
@ -27,8 +27,6 @@ $menu-item-active-color: $primary;
/* Buefy */ /* Buefy */
$modal-background-background-color: rgba(0, 0, 0, .30); $modal-background-background-color: rgba(0, 0, 0, .30);
$speed-slow: 25ms !default;
$speed-slower: 50ms !default;
/* Import full Bulma and Buefy */ /* Import full Bulma and Buefy */
@import "~bulma"; @import "~bulma";
@ -92,14 +90,13 @@ section {
} }
.box { .box {
background: $white-bis; background: $white;
box-shadow: 2px 2px 5px $white-ter; box-shadow: 2px 2px 0 #f3f3f3;
border: 1px solid $grey-lightest; border: 1px solid #eee;
}
hr { .box hr {
background-color: #efefef; background-color: #efefef;
} }
}
.page-header { .page-header {
min-height: 60px; min-height: 60px;
@ -175,6 +172,11 @@ section {
} }
} }
/* Fix for sidebar jumping on modals */
body.is-noscroll .b-sidebar {
top: 26px;
}
/* Global notices */ /* Global notices */
.global-notices { .global-notices {
margin-bottom: 30px; margin-bottom: 30px;
@ -297,7 +299,9 @@ section {
} }
.input, .taginput .taginput-container.is-focusable, .textarea { .input, .taginput .taginput-container.is-focusable, .textarea {
box-shadow: inset 2px 2px 0px $white-ter; // box-shadow: inset 2px 2px 0px $white-ter;
box-shadow: 2px 2px 0 $white-ter;
border: 1px solid $grey-lighter;
} }
/* Form fields */ /* Form fields */
@ -317,11 +321,11 @@ section {
} }
label { label {
color: $grey; color: $grey-dark;
} }
.help { .help {
color: $grey-light; color: $grey;
} }
} }
.has-numberinput .field, .field.is-grouped { .has-numberinput .field, .field.is-grouped {
@ -363,21 +367,21 @@ section {
box-shadow: 1px 1px 0 lighten($color, 37%); box-shadow: 1px 1px 0 lighten($color, 37%);
} }
&.public, &.running { &.public, &.running {
$color: #1890ff; $color: $primary;
color: $color; color: $color;
background: #e6f7ff; background: #e6f7ff;
border: 1px solid lighten($color, 37%); border: 1px solid lighten($color, 37%);
box-shadow: 1px 1px 0 lighten($color, 25%); box-shadow: 1px 1px 0 lighten($color, 25%);
} }
&.finished, &.enabled { &.finished, &.enabled {
$color: #50ab24; $color: $green;
color: $color; color: $color;
background: #f6ffed; background: #f6ffed;
border: 1px solid lighten($color, 45%); border: 1px solid lighten($color, 45%);
box-shadow: 1px 1px 0 lighten($color, 45%); box-shadow: 1px 1px 0 lighten($color, 45%);
} }
&.blocklisted, &.cancelled { &.blocklisted, &.cancelled {
$color: #f5222d; $color: $red;
color: $color; color: $color;
background: #fff1f0; background: #fff1f0;
border: 1px solid lighten($color, 30%); border: 1px solid lighten($color, 30%);
@ -406,6 +410,11 @@ section.dashboard {
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
} }
.tile.notification {
@extend .box;
padding: 10px;
}
.counts .column { .counts .column {
padding: 30px; padding: 30px;
} }
@ -488,6 +497,9 @@ section.campaigns {
border-bottom: 1px solid lighten(#1890ff, 30%); border-bottom: 1px solid lighten(#1890ff, 30%);
} }
.spinner {
margin-left: 10px;
}
.spinner .loading-overlay .loading-icon::after { .spinner .loading-overlay .loading-icon::after {
border-bottom-color: lighten(#1890ff, 30%); border-bottom-color: lighten(#1890ff, 30%);
border-left-color: lighten(#1890ff, 30%); border-left-color: lighten(#1890ff, 30%);
@ -723,19 +735,22 @@ section.campaign {
/* Toasts */ /* Toasts */
.notices { .notices {
@keyframes scale {
0% {
scale: 1;
}
50% {
scale: 1.3;
}
100% {
scale: 1;
}
}
.toast { .toast {
animation: scale 300ms ease-in-out; @extend .box;
border-left: 15px solid $grey;
border-radius: 3px;
padding: 20px;
&.is-danger {
background: $white;
border-left-color: $red;
color: $grey-dark;
}
&.is-success {
background: $white;
border-left-color: $green;
color: $grey-dark;
}
} }
} }

View file

@ -5,7 +5,7 @@
<template v-for="(l, i) in lines"> <template v-for="(l, i) in lines">
<span :set="line = splitLine(l)" :key="i" class="line"> <span :set="line = splitLine(l)" :key="i" class="line">
<span class="timestamp" :title="line.file">{{ line.timestamp }}</span> <span class="timestamp" :title="line.file">{{ line.timestamp }}</span>
<span class="message">{{ line.message }}</span> <span class="log-message">{{ line.message }}</span>
</span> </span>
</template> </template>
</div> </div>

View file

@ -29,7 +29,7 @@ export const storeKeys = Object.freeze({
export const timestamp = 'ddd D MMM YYYY, hh:mm A'; export const timestamp = 'ddd D MMM YYYY, hh:mm A';
export const colors = Object.freeze({ export const colors = Object.freeze({
primary: '#7f2aff', primary: '#0055d4',
}); });
export const regDuration = '[0-9]+(ms|s|m|h|d)'; export const regDuration = '[0-9]+(ms|s|m|h|d)';

View file

@ -84,7 +84,7 @@ export default class Utils {
// UI shortcuts. // UI shortcuts.
confirm = (msg, onConfirm, onCancel) => { confirm = (msg, onConfirm, onCancel) => {
Dialog.confirm({ Dialog.confirm({
scroll: 'clip', scroll: 'keep',
message: !msg ? this.i18n.t('globals.messages.confirm') : msg, message: !msg ? this.i18n.t('globals.messages.confirm') : msg,
confirmText: this.i18n.t('globals.buttons.ok'), confirmText: this.i18n.t('globals.buttons.ok'),
cancelText: this.i18n.t('globals.buttons.cancel'), cancelText: this.i18n.t('globals.buttons.cancel'),
@ -95,7 +95,7 @@ export default class Utils {
prompt = (msg, inputAttrs, onConfirm, onCancel) => { prompt = (msg, inputAttrs, onConfirm, onCancel) => {
Dialog.prompt({ Dialog.prompt({
scroll: 'clip', scroll: 'keep',
message: msg, message: msg,
confirmText: this.i18n.t('globals.buttons.ok'), confirmText: this.i18n.t('globals.buttons.ok'),
cancelText: this.i18n.t('globals.buttons.cancel'), cancelText: this.i18n.t('globals.buttons.cancel'),
@ -115,7 +115,9 @@ export default class Utils {
message: this.escapeHTML(msg), message: this.escapeHTML(msg),
type: !typ ? 'is-success' : typ, type: !typ ? 'is-success' : typ,
queue: false, queue: false,
duration: duration || 2000, duration: duration || 3000,
position: 'is-top',
pauseOnHover: true,
}); });
}; };

View file

@ -124,7 +124,7 @@
</router-link> </router-link>
</p> </p>
<p title="Speed" v-if="stats.rate"> <p title="Speed" v-if="stats.rate">
<label><b-icon icon="speedometer" size="is-small"></b-icon></label> <label><b-icon icon="calendar-clock" size="is-small"></b-icon></label>
<span class="send-rate"> <span class="send-rate">
{{ stats.rate.toFixed(0) }} / min {{ stats.rate.toFixed(0) }} / min
</span> </span>
@ -192,7 +192,8 @@
<b-icon icon="cancel" size="is-small" /> <b-icon icon="cancel" size="is-small" />
</b-tooltip> </b-tooltip>
</a> </a>
<a href="" @click.prevent="$utils.confirm($tc('campaigns.confirmDelete'), <a href=""
@click.prevent="$utils.confirm($t('campaigns.confirmDelete', { name: props.row.name }),
() => deleteCampaign(props.row))" data-cy="btn-delete"> () => deleteCampaign(props.row))" data-cy="btn-delete">
<b-icon icon="trash-can-outline" size="is-small" /> <b-icon icon="trash-can-outline" size="is-small" />
</a> </a>

View file

@ -55,6 +55,9 @@
<ul class="no is-size-7 has-text-grey"> <ul class="no is-size-7 has-text-grey">
<li v-for="(num, status) in counts.campaigns.byStatus" :key="status"> <li v-for="(num, status) in counts.campaigns.byStatus" :key="status">
<label>{{ num }}</label> {{ status }} <label>{{ num }}</label> {{ status }}
<span v-if="status === 'running'" class="spinner is-tiny">
<b-loading :is-full-page="false" active />
</span>
</li> </li>
</ul> </ul>
</div> </div>

18
frontend/yarn.lock vendored
View file

@ -2571,12 +2571,12 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4
escalade "^3.1.1" escalade "^3.1.1"
node-releases "^1.1.71" node-releases "^1.1.71"
buefy@^0.9.7: buefy@^0.9.10:
version "0.9.7" version "0.9.10"
resolved "https://registry.yarnpkg.com/buefy/-/buefy-0.9.7.tgz#694e73fe0b32632a53d94c5ba9cfa4468363badd" resolved "https://registry.yarnpkg.com/buefy/-/buefy-0.9.10.tgz#17f64ee1ba43a145d1d3c56f45cba95e4e2975fa"
integrity sha512-Fli0ZjNDgtFtHm0LItWmfhNJ1oLjDwPzUWccvwXXoo2mADXaH8JQxyhY+drUuUV5/GMu5PtwqQSqPgZy942VZg== integrity sha512-xXEoy/NTgBNiIfBTCdHi2Vu5SJJdB046py6ekUvYuUgYwRvulySZksdecVNNWdfEVU8iD4esZaRbTLwCegFcVQ==
dependencies: dependencies:
bulma "0.9.2" bulma "0.9.3"
buffer-crc32@~0.2.3: buffer-crc32@~0.2.3:
version "0.2.13" version "0.2.13"
@ -2617,10 +2617,10 @@ builtin-status-codes@^3.0.0:
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
bulma@0.9.2: bulma@0.9.3:
version "0.9.2" version "0.9.3"
resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.9.2.tgz#340011e119c605f19b8ca886bfea595f1deaf23c" resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.9.3.tgz#ddccb7436ebe3e21bf47afe01d3c43a296b70243"
integrity sha512-e14EF+3VSZ488yL/lJH0tR8mFWiEQVCMi/BQUMi2TGMBOk+zrDg4wryuwm/+dRSHJw0gMawp2tsW7X1JYUCE3A== integrity sha512-0d7GNW1PY4ud8TWxdNcP6Cc8Bu7MxcntD/RRLGWuiw/s0a9P+XlH/6QoOIrmbj6o8WWJzJYhytiu9nFjTszk1g==
bytes@3.0.0: bytes@3.0.0:
version "3.0.0" version "3.0.0"

View file

@ -43,7 +43,7 @@
padding: 30px; padding: 30px;
} }
.button { .button {
background: #7f2aff; background: #0055d4;
color: #fff !important; color: #fff !important;
display: inline-block; display: inline-block;
border-radius: 3px; border-radius: 3px;
@ -61,7 +61,7 @@
} }
a { a {
color: #7f2aff; color: #0055d4;
} }
a:hover { a:hover {
color: #111; color: #111;

View file

@ -24,7 +24,7 @@
} }
.button { .button {
background: #7f2aff; background: #0055d4;
border-radius: 3px; border-radius: 3px;
text-decoration: none !important; text-decoration: none !important;
color: #fff !important; color: #fff !important;
@ -54,7 +54,7 @@
} }
a { a {
color: #7f2aff; color: #0055d4;
} }
a:hover { a:hover {
color: #111; color: #111;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -1,135 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="163.03" height="30.38" viewBox="0 0 43.135 8.038" xmlns:v="https://vecta.io/nano"><circle cx="4.019" cy="4.019" r="3.149" fill="none" stroke="#0055d4" stroke-width="1.74"/><path d="M11.457 7.303q-.566 0-.879-.322-.313-.331-.313-.932V.712L11.5.572v5.442q0 .305.253.305.139 0 .244-.052l.253.879q-.357.157-.792.157zm2.619-4.754v4.615H12.84V2.549zM13.449.172q.331 0 .54.209.218.2.218.514 0 .313-.218.522-.209.2-.54.2-.331 0-.54-.2-.209-.209-.209-.522 0-.313.209-.514.209-.209.54-.209zm3.319 2.238q.975 0 1.672.557l-.47.705q-.583-.366-1.149-.366-.305 0-.47.113-.165.113-.165.305 0 .139.07.235.078.096.279.183.209.087.618.209.731.2 1.088.54.357.331.357.914 0 .462-.27.801-.261.34-.714.522-.453.174-1.01.174-.583 0-1.062-.174-.479-.183-.819-.496l.61-.679q.583.453 1.237.453.348 0 .549-.131.209-.139.209-.374 0-.183-.078-.287-.078-.104-.287-.192-.209-.096-.653-.218-.697-.192-1.036-.54-.331-.357-.331-.879 0-.392.226-.705.226-.313.636-.488.418-.183.967-.183zm5.342 4.536q-.253.174-.575.261-.313.096-.627.096-.714-.009-1.08-.409-.366-.401-.366-1.176V3.42h-.688v-.871h.688v-1.01l1.237-.148v1.158h1.062l-.122.871h-.94v2.273q0 .331.113.479.113.148.348.148.235 0 .522-.157zm5.493-4.536q.549 0 .879.374.34.374.34 1.019v3.361h-1.237V4.012q0-.679-.453-.679-.244 0-.427.157-.183.157-.374.488v3.187h-1.237V4.012q0-.679-.453-.679-.244 0-.427.165-.183.157-.366.479v3.187h-1.237V2.549h1.071l.096.575q.261-.348.583-.531.331-.183.758-.183.392 0 .679.2.287.192.418.549.287-.374.618-.557.34-.192.766-.192zm4.148 0q1.036 0 1.62.653.583.644.583 1.794 0 .731-.27 1.289-.261.549-.766.853-.496.305-1.176.305-1.036 0-1.628-.644-.583-.653-.583-1.803 0-.731.261-1.28.27-.557.766-.862.505-.305 1.193-.305zm0 .923q-.47 0-.705.374-.226.366-.226 1.149 0 .784.226 1.158.235.366.697.366.462 0 .688-.366.235-.374.235-1.158 0-.784-.226-1.149-.226-.374-.688-.374zm5.271-.923q.61 0 .949.374.34.366.34 1.019v3.361h-1.237V4.012q0-.374-.131-.522-.122-.157-.374-.157-.261 0-.479.165-.209.157-.409.479v3.187h-1.237V2.549h1.071l.096.583q.287-.357.627-.54.348-.183.784-.183zM40.2.572v6.592h-1.237V.712zm2.804 1.977l-1.472 2.029 1.602 2.586h-1.402l-1.489-2.525 1.48-2.09z"/></svg>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="44.099529mm"
height="8.0377407mm"
viewBox="0 0 44.09953 8.0377409"
version="1.1"
id="svg8"
sodipodi:docname="logo.svg"
inkscape:version="1.0 (9f2f71dc58, 2020-08-02)">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient964">
<stop
style="stop-color:#aa72ff;stop-opacity:1"
offset="0"
id="stop960" />
<stop
style="stop-color:#944eff;stop-opacity:0.96862745;"
offset="0.5"
id="stop968" />
<stop
style="stop-color:#6c23d9;stop-opacity:0.94117647"
offset="1"
id="stop962" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient964"
id="radialGradient966"
cx="22.170593"
cy="31.135525"
fx="22.170593"
fy="31.135525"
r="4.0189604"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="-2.380629"
inkscape:cy="25.024452"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1863"
inkscape:window-height="1025"
inkscape:window-x="57"
inkscape:window-y="27"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:document-rotation="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-18.151723,-27.116654)">
<circle
style="fill:none;fill-opacity:1;stroke:url(#radialGradient966);stroke-width:1.74;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle1737"
cx="22.170593"
cy="31.135525"
r="3.1489604"
inkscape:export-xdpi="72.680481"
inkscape:export-ydpi="72.680481" />
<g
aria-label="listmonk"
id="text1741"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:8.70789px;line-height:1.25;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:-0.0529167px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0459737"
inkscape:export-xdpi="72.680481"
inkscape:export-ydpi="72.680481">
<path
d="m 30.573813,34.701407 q -0.566013,0 -0.879497,-0.322192 -0.313484,-0.3309 -0.313484,-0.931744 v -5.337937 l 1.23652,-0.139326 v 5.442431 q 0,0.304776 0.252529,0.304776 0.139327,0 0.243821,-0.05225 l 0.252529,0.879497 q -0.357023,0.156742 -0.792418,0.156742 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1819" />
<path
d="m 33.19313,29.946899 v 4.615181 h -1.23652 v -4.615181 z m -0.626968,-2.377254 q 0.3309,0 0.539889,0.208989 0.217697,0.200282 0.217697,0.513766 0,0.313484 -0.217697,0.522473 -0.208989,0.200282 -0.539889,0.200282 -0.3309,0 -0.539889,-0.200282 -0.20899,-0.208989 -0.20899,-0.522473 0,-0.313484 0.20899,-0.513766 0.208989,-0.208989 0.539889,-0.208989 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1821" />
<path
d="m 35.885375,29.807573 q 0.975284,0 1.671915,0.557305 l -0.470226,0.705339 q -0.583428,-0.365732 -1.149441,-0.365732 -0.304776,0 -0.470226,0.113203 -0.16545,0.113202 -0.16545,0.304776 0,0.139326 0.06966,0.235113 0.07837,0.09579 0.278652,0.182866 0.20899,0.08708 0.618261,0.208989 0.731462,0.200282 1.088486,0.539889 0.357023,0.3309 0.357023,0.914329 0,0.461518 -0.269944,0.801125 -0.261237,0.339608 -0.714047,0.522474 -0.452811,0.174158 -1.010115,0.174158 -0.583429,0 -1.062363,-0.174158 -0.478934,-0.182866 -0.818542,-0.49635 l 0.609553,-0.679215 q 0.583428,0.45281 1.23652,0.45281 0.348316,0 0.548597,-0.130618 0.208989,-0.139327 0.208989,-0.37444 0,-0.182865 -0.07837,-0.28736 -0.07837,-0.104495 -0.28736,-0.191574 -0.208989,-0.09579 -0.653092,-0.217697 -0.696631,-0.191573 -1.036239,-0.539889 -0.330899,-0.357023 -0.330899,-0.879497 0,-0.391855 0.226405,-0.705339 0.226405,-0.313484 0.635676,-0.487642 0.417978,-0.182865 0.966575,-0.182865 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1823" />
<path
d="m 41.227132,34.344383 q -0.252529,0.174158 -0.574721,0.261237 -0.313484,0.09579 -0.626968,0.09579 -0.714047,-0.0087 -1.079778,-0.409271 -0.365731,-0.400563 -0.365731,-1.175565 V 30.817688 H 37.89201 v -0.870789 h 0.687924 v -1.010115 l 1.23652,-0.148034 v 1.158149 h 1.062362 l -0.12191,0.870789 h -0.940452 v 2.272759 q 0,0.3309 0.113202,0.478934 0.113203,0.148034 0.348316,0.148034 0.235113,0 0.522473,-0.156742 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1825" />
<path
d="m 46.719917,29.807573 q 0.548597,0 0.879497,0.374439 0.339607,0.374439 0.339607,1.018823 v 3.361245 h -1.23652 v -3.152256 q 0,-0.679215 -0.45281,-0.679215 -0.243821,0 -0.426687,0.156742 -0.182866,0.156742 -0.374439,0.487642 v 3.187087 h -1.23652 v -3.152256 q 0,-0.679215 -0.452811,-0.679215 -0.243821,0 -0.426686,0.16545 -0.182866,0.156742 -0.365732,0.478934 v 3.187087 h -1.23652 v -4.615181 h 1.07107 l 0.09579,0.574721 q 0.261237,-0.348316 0.583429,-0.531182 0.3309,-0.182865 0.757586,-0.182865 0.391855,0 0.679216,0.200281 0.28736,0.191574 0.417978,0.548597 0.287361,-0.374439 0.61826,-0.557305 0.339608,-0.191573 0.766295,-0.191573 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1827" />
<path
d="m 50.868242,29.807573 q 1.036239,0 1.619667,0.653091 0.583429,0.644384 0.583429,1.793826 0,0.731462 -0.269944,1.288767 -0.261237,0.548597 -0.766295,0.853373 -0.496349,0.304777 -1.175565,0.304777 -1.036239,0 -1.628375,-0.644384 -0.583429,-0.653092 -0.583429,-1.802533 0,-0.731463 0.261237,-1.28006 0.269944,-0.557305 0.766294,-0.862081 0.505058,-0.304776 1.192981,-0.304776 z m 0,0.923036 q -0.470226,0 -0.705339,0.374439 -0.226405,0.365732 -0.226405,1.149442 0,0.78371 0.226405,1.158149 0.235113,0.365731 0.696631,0.365731 0.461518,0 0.687923,-0.365731 0.235113,-0.374439 0.235113,-1.158149 0,-0.78371 -0.226405,-1.149442 -0.226405,-0.374439 -0.687923,-0.374439 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1829" />
<path
d="m 56.139396,29.807573 q 0.609553,0 0.94916,0.374439 0.339608,0.365731 0.339608,1.018823 v 3.361245 h -1.23652 v -3.152256 q 0,-0.374439 -0.130619,-0.522473 -0.12191,-0.156742 -0.374439,-0.156742 -0.261237,0 -0.478934,0.16545 -0.208989,0.156742 -0.409271,0.478934 v 3.187087 h -1.23652 v -4.615181 h 1.07107 l 0.09579,0.583429 q 0.287361,-0.357024 0.626968,-0.53989 0.348316,-0.182865 0.78371,-0.182865 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1831" />
<path
d="m 59.316692,27.970208 v 6.591872 h -1.23652 v -6.452546 z m 2.803941,1.976691 -1.471634,2.028938 1.602252,2.586243 h -1.40197 l -1.489049,-2.525288 1.480341,-2.089893 z"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:8.70789px;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.0459737"
id="path1833" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -1,184 +1,6 @@
* { * {
box-sizing: border-box; box-sizing: border-box;
} }
/* Flexit grid */
.container {
position: relative;
width: 100%;
max-width: 960px;
margin: 0 auto;
padding: 0 10px;
box-sizing: border-box;
}
.row {
box-sizing: border-box;
display: flex;
flex: 0 1 auto;
flex-flow: row wrap;
}
.columns,
.column {
box-sizing: border-box;
flex-grow: 1;
flex-shrink: 1;
flex-basis: 1;
margin: 10px 0 10px 4%;
}
.column:first-child,
.columns:first-child {
margin-left: 0;
}
.one {
max-width: 4.6666666667%;
}
.two {
max-width: 13.3333333333%;
}
.three {
max-width: 22%;
}
.four {
max-width: 30.6666666667%;
}
.five {
max-width: 39.3333333333%;
}
.six {
max-width: 48%;
}
.seven {
max-width: 56.6666666667%;
}
.eight {
max-width: 65.3333333333%;
}
.nine {
max-width: 74%;
}
.ten {
max-width: 82.6666666667%;
}
.eleven {
max-width: 91.3333333333%;
}
.twelve {
max-width: 100%;
margin-left: 0;
}
.column-offset-0 {
margin-left: 0;
}
.column-offset-1 {
margin-left: 8.33333333%;
}
.column-offset-2 {
margin-left: 16.66666667%;
}
.column-offset-3 {
margin-left: 25%;
}
.column-offset-4 {
margin-left: 33.33333333%;
}
.column-offset-5 {
margin-left: 41.66666667%;
}
.column-offset-6 {
margin-left: 50%;
}
.column-offset-7 {
margin-left: 58.33333333%;
}
.column-offset-8 {
margin-left: 66.66666667%;
}
.column-offset-9 {
margin-left: 75%;
}
.column-offset-10 {
margin-left: 83.33333333%;
}
.column-offset-11 {
margin-left: 91.66666667%;
}
.between {
justify-content: space-between;
}
.evenly {
justify-content: space-evenly;
}
.around {
justify-content: space-around;
}
.center {
justify-content: center;
text-align: center;
}
.start {
justify-content: flex-start;
}
.end {
justify-content: flex-end;
}
.top {
align-items: flex-start;
}
.bottom {
align-items: flex-end;
}
.middle {
align-items: center;
}
.first {
order: -1;
}
.last {
order: 1;
}
.vertical {
flex-flow: column wrap;
}
.row-align-center {
align-items: center;
}
.space-right {
margin-right: 10px;
}
.space-left {
margin-left: 10px;
}
.space-bottom {
margin-bottom: 10px;
}
.space-top {
margin-top: 10px;
}
@media screen and (max-width: 768px) {
.container {
overflow: auto;
}
.columns,
.column {
min-width: 100%;
margin: 10px 0;
}
.column-offset-0,
.column-offset-1,
.column-offset-2,
.column-offset-3,
.column-offset-4,
.column-offset-5,
.column-offset-6,
.column-offset-7,
.column-offset-8,
.column-offset-9,
.column-offset-10,
.column-offset-11 {
margin: unset;
}
} /*# sourceMappingURL=dist/flexit.min.css.map */
html, body { html, body {
padding: 0; padding: 0;
margin: 0; margin: 0;
@ -188,11 +10,11 @@ body {
background: #f9f9f9; background: #f9f9f9;
font-family: "Open Sans", "Helvetica Neue", sans-serif; font-family: "Open Sans", "Helvetica Neue", sans-serif;
font-size: 16px; font-size: 16px;
line-height: 28px; line-height: 26px;
color: #111; color: #111;
} }
a { a {
color: #7f2aff; color: #0055d4;
} }
a:hover { a:hover {
color: #111; color: #111;
@ -216,14 +38,17 @@ input[type="text"], input[type="email"], select {
border: 1px solid #888; border: 1px solid #888;
border-radius: 3px; border-radius: 3px;
width: 100%; width: 100%;
box-shadow: 2px 2px 0 #f3f3f3;
border: 1px solid #ddd;
font-size: 1em;
} }
input:focus { input:focus {
border-color: #7f2aff; border-color: #0055d4;
} }
.button { .button {
background: #7f2aff; background: #0055d4;
padding: 15px 30px; padding: 10px 30px;
border-radius: 3px; border-radius: 3px;
border: 0; border: 0;
cursor: pointer; cursor: pointer;
@ -238,19 +63,22 @@ input[type="text"], input[type="email"], select {
} }
.button.button-outline { .button.button-outline {
background: #fff; background: #fff;
border: 1px solid #7f2aff; border: 1px solid #0055d4;
color: #7f2aff; color: #0055d4;
} }
.button.button-outline:hover { .button.button-outline:hover {
background-color: #7f2aff; background-color: #0055d4;
color: #fff; color: #fff;
} }
.container {
margin: 60px auto 15px auto;
max-width: 550px;
}
.wrap { .wrap {
background: #fff; background: #fff;
margin-top: 60px; padding: 40px;
max-width: 600px;
padding: 45px;
box-shadow: 2px 2px 0 #f3f3f3; box-shadow: 2px 2px 0 #f3f3f3;
border: 1px solid #eee; border: 1px solid #eee;
} }
@ -271,27 +99,33 @@ input[type="text"], input[type="email"], select {
border-top: 1px solid #eee; border-top: 1px solid #eee;
} }
.row {
margin-bottom: 20px;
}
.form .lists { .form .lists {
margin-top: 45px; margin-top: 45px;
list-style-type: none;
padding: 0;
} }
.form .nonce { .form .nonce {
display: none; display: none;
} }
.footer { footer.container {
margin-top: 15px;
text-align: center; text-align: center;
color: #aaa; color: #aaa;
font-size: 0.775em; font-size: 0.775em;
margin-top: 30px; margin-top: 30px;
margin-bottom: 30px; margin-bottom: 30px;
} }
.footer a { footer a {
color: #aaa; color: #aaa;
text-decoration: none; text-decoration: none;
} }
.footer a:hover { footer a:hover {
color: #111; color: #111;
} }
@media screen and (max-width: 650px) { @media screen and (max-width: 650px) {
.wrap { .wrap {

View file

@ -6,8 +6,6 @@
<title>{{ .Data.Title }}</title> <title>{{ .Data.Title }}</title>
<meta name="description" content="{{ .Data.Description }}" /> <meta name="description" content="{{ .Data.Description }}" />
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
<link href="https://fonts.googleapis.com/css?family=IBM+Plex+Sans:400,600" rel="stylesheet">
<link href="/public/static/style.css" rel="stylesheet" type="text/css" /> <link href="/public/static/style.css" rel="stylesheet" type="text/css" />
{{ if ne .FaviconURL "" }} {{ if ne .FaviconURL "" }}
@ -32,11 +30,9 @@
{{ define "footer" }} {{ define "footer" }}
</div> </div>
<div class="container"> <footer class="container">
<footer class="footer">
Powered by <a target="_blank" href="https://listmonk.app">listmonk</a> Powered by <a target="_blank" href="https://listmonk.app">listmonk</a>
</footer> </footer>
</div>
</body> </body>
</html> </html>
{{ end }} {{ end }}

View file

@ -15,19 +15,15 @@
<label>{{ L.T "public.subName" }}</label> <label>{{ L.T "public.subName" }}</label>
<input name="name" type="text" placeholder="{{ L.T "public.subName" }}" > <input name="name" type="text" placeholder="{{ L.T "public.subName" }}" >
</p> </p>
<div class="lists"> <ul class="lists">
<h2>{{ L.T "globals.terms.lists" }}</h2> <h2>{{ L.T "globals.terms.lists" }}</h2>
{{ range $i, $l := .Data.Lists }} {{ range $i, $l := .Data.Lists }}
<div class="row"> <li>
<div class="one column">
<input checked="true" id="l-{{ $l.UUID}}" type="checkbox" name="l" value="{{ $l.UUID }}" > <input checked="true" id="l-{{ $l.UUID}}" type="checkbox" name="l" value="{{ $l.UUID }}" >
</div>
<div class="eleven columns">
<label for="l-{{ $l.UUID}}">{{ $l.Name }}</label> <label for="l-{{ $l.UUID}}">{{ $l.Name }}</label>
</div> </li>
</div>
{{ end }} {{ end }}
</div> </ul>
<p> <p>
<button type="submit" class="button">{{ L.T "public.sub" }}</button> <button type="submit" class="button">{{ L.T "public.sub" }}</button>
</p> </p>

View file

@ -25,28 +25,20 @@
<h2>{{ L.T "public.privacyTitle" }}</h2> <h2>{{ L.T "public.privacyTitle" }}</h2>
{{ if .Data.AllowExport }} {{ if .Data.AllowExport }}
<div class="row"> <div class="row">
<div class="one columns">
<input id="privacy-export" type="radio" name="data-action" value="export" required /> <input id="privacy-export" type="radio" name="data-action" value="export" required />
</div>
<div class="ten columns">
<label for="privacy-export"><strong>{{ L.T "public.privacyExport" }}</strong></label> <label for="privacy-export"><strong>{{ L.T "public.privacyExport" }}</strong></label>
<br /> <br />
{{ L.T "public.privacyExportHelp" }} {{ L.T "public.privacyExportHelp" }}
</div> </div>
</div>
{{ end }} {{ end }}
{{ if .Data.AllowWipe }} {{ if .Data.AllowWipe }}
<div class="row"> <div class="row">
<div class="one columns">
<input id="privacy-wipe" type="radio" name="data-action" value="wipe" required /> <input id="privacy-wipe" type="radio" name="data-action" value="wipe" required />
</div>
<div class="ten columns">
<label for="privacy-wipe"><strong>{{ L.T "public.privacyWipe" }}</strong></label> <label for="privacy-wipe"><strong>{{ L.T "public.privacyWipe" }}</strong></label>
<br /> <br />
{{ L.T "public.privacyWipeHelp" }} {{ L.T "public.privacyWipeHelp" }}
</div> </div>
</div>
{{ end }} {{ end }}
<p> <p>
<input type="submit" value="{{ L.T "globals.buttons.continue" }}" class="button button-outline" /> <input type="submit" value="{{ L.T "globals.buttons.continue" }}" class="button button-outline" />