Merge pull request #23 from vbaranov/core
(Fix) Unused folders are deleted from setup
|
@ -228,7 +228,7 @@
|
|||
"arr-flatten": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
|
||||
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
|
||||
"integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE="
|
||||
},
|
||||
"array-equal": {
|
||||
"version": "1.0.0",
|
||||
|
@ -2153,7 +2153,7 @@
|
|||
"cosmiconfig": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
|
||||
"integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
|
||||
"integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=",
|
||||
"requires": {
|
||||
"is-directory": "0.3.1",
|
||||
"js-yaml": "3.7.0",
|
||||
|
@ -5194,7 +5194,7 @@
|
|||
"hosted-git-info": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
|
||||
"integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg=="
|
||||
"integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw="
|
||||
},
|
||||
"hpack.js": {
|
||||
"version": "2.1.6",
|
||||
|
@ -7263,7 +7263,7 @@
|
|||
"normalize-package-data": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
|
||||
"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
|
||||
"integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
|
||||
"requires": {
|
||||
"hosted-git-info": "2.5.0",
|
||||
"is-builtin-module": "1.0.0",
|
||||
|
@ -7382,7 +7382,7 @@
|
|||
"npmlog": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
|
||||
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
|
||||
"integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=",
|
||||
"requires": {
|
||||
"are-we-there-yet": "1.1.4",
|
||||
"console-control-strings": "1.1.0",
|
||||
|
@ -9151,7 +9151,7 @@
|
|||
"randomatic": {
|
||||
"version": "1.1.7",
|
||||
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
|
||||
"integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
|
||||
"integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=",
|
||||
"requires": {
|
||||
"is-number": "3.0.0",
|
||||
"kind-of": "4.0.0"
|
||||
|
@ -9757,7 +9757,7 @@
|
|||
"safe-buffer": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
|
||||
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
|
||||
"integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM="
|
||||
},
|
||||
"sane": {
|
||||
"version": "1.6.0",
|
||||
|
@ -11102,7 +11102,7 @@
|
|||
"uuid": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
|
||||
"integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g=="
|
||||
"integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ="
|
||||
},
|
||||
"validate-npm-package-license": {
|
||||
"version": "3.0.1",
|
||||
|
@ -11918,7 +11918,7 @@
|
|||
"which": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
|
||||
"integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
|
||||
"integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=",
|
||||
"requires": {
|
||||
"isexe": "2.0.0"
|
||||
}
|
||||
|
@ -11931,7 +11931,7 @@
|
|||
"wide-align": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
|
||||
"integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
|
||||
"integrity": "sha1-Vx4PGwYEY268DfwhsDObvjE0FxA=",
|
||||
"requires": {
|
||||
"string-width": "1.0.2"
|
||||
},
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local("Open Sans"), local("OpenSans"), url(https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; }
|
||||
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), url(https://fonts.gstatic.com/s/opensans/v14/MTP_ySUJH_bn48VBG8sNShampu5_7CjHW5spxoeN3Vs.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215; }
|
||||
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local("Open Sans Bold"), local("OpenSans-Bold"), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzBampu5_7CjHW5spxoeN3Vs.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; }
|
||||
|
||||
html,
|
||||
body {
|
||||
color: #444;
|
||||
line-height: 1;
|
||||
font-size: 14px;
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
-webkit-font-smoothing: antialiased; }
|
|
@ -1,63 +0,0 @@
|
|||
.header-logo {
|
||||
display: block;
|
||||
background-image: url(./images/logos.png); }
|
||||
@media (min--moz-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6 / 2), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
|
||||
.header-logo {
|
||||
background-image: url("./images/logos@2x.png");
|
||||
background-size: 149px 59px; } }
|
||||
|
||||
.header-settings, .header-new-ballot {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
transition: 0.3s opacity;
|
||||
box-sizing: border-box;
|
||||
border: 0;
|
||||
outline: none;
|
||||
padding: 0 15px;
|
||||
text-transform: uppercase;
|
||||
line-height: 36px;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
font-family: 'Open Sans', sans-serif; }
|
||||
.header-settings:hover, .header-new-ballot:hover {
|
||||
opacity: 0.9;
|
||||
text-decoration: none; }
|
||||
.header-settings, .header-new-ballot {
|
||||
padding: 0 15px 0 33px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: left 15px center; }
|
||||
|
||||
.header {
|
||||
margin-bottom: 30px;
|
||||
padding: 22px 0;
|
||||
background-color: #6d2eae; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.header {
|
||||
margin-bottom: 20px; } }
|
||||
@media screen and (max-width: 414px) {
|
||||
.header {
|
||||
margin-bottom: 15px; } }
|
||||
.header .container {
|
||||
overflow: hidden; }
|
||||
.header-logo {
|
||||
float: left;
|
||||
width: 149px;
|
||||
height: 35px;
|
||||
background-position: 0 -24px; }
|
||||
.header-settings, .header-new-ballot {
|
||||
float: right;
|
||||
border-radius: 3px;
|
||||
color: #fff;
|
||||
background-size: 12px 12px; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.header-settings, .header-new-ballot {
|
||||
padding: 0 20px;
|
||||
background-position: center center;
|
||||
font-size: 0; } }
|
||||
.header-settings {
|
||||
margin-right: 15px;
|
||||
background-color: #7d58bb;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAflBMVEX///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+yfIzaAAAAKXRSTlMAAgQFBgwNDhAqKyxJSlJTVFVXZGVojo+Q19ja5Obn6+3u7/D19vf8/fmxL7QAAADLSURBVHgBfdHtVoJAGMTxUUwUZCtKRWzpxWj93/8Nti5LxDlbv68DzHkGTXbW7pRiwWpumcnDk5ctFe37y8MUPH58PsXne3D19oB32NYO+uGdxRvgrgRXB7wvFBjHjLtXVM8SV2tU3IKzyXNzvgWFRkeg3cjbtMAx3ktgYh+B38AyyBXcEZO/gk5Vl/rUS/VTfhrKT0CjUemA1qzXpgVcqf8PTEwS+xav6RHj7EWD15S/Ztf+a/ajLv2zomylKdAq05yFTilVF+8NvgGLASpP2eRPbAAAAABJRU5ErkJggg==); }
|
||||
.header-new-ballot {
|
||||
background-color: #08b3f2;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAFVBMVEX///////////////////////////9nSIHRAAAABnRSTlMASUrk5udXTd49AAAAOUlEQVR42tXQsQEAIAgDQcAn+4+snRZxAK79KokrIcNBwgYdc0Migwxk8Qsd1TJWDf/KQWobqt+9G4coA99W7as5AAAAAElFTkSuQmCC); }
|
|
@ -1,47 +0,0 @@
|
|||
@keyframes fadeOut {
|
||||
0% {
|
||||
opacity: .2; }
|
||||
20% {
|
||||
opacity: 1;
|
||||
transform: scale(1); }
|
||||
100% {
|
||||
opacity: .2;
|
||||
transform: scale(0.3); } }
|
||||
|
||||
.loader {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%); }
|
||||
.loader-container {
|
||||
position: fixed;
|
||||
z-index: 1000000;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
background-color: rgba(35, 29, 115, 0.8); }
|
||||
.loader-i {
|
||||
animation-duration: 2s;
|
||||
animation-fill-mode: forwards;
|
||||
animation-iteration-count: infinite;
|
||||
animation-name: fadeOut;
|
||||
animation-timing-function: linear;
|
||||
opacity: .2;
|
||||
width: 9px;
|
||||
height: 9px;
|
||||
margin: 0 8px;
|
||||
border-radius: 50%;
|
||||
background-color: #fff; }
|
||||
.loader-i:nth-child(2) {
|
||||
animation-delay: .1s; }
|
||||
.loader-i:nth-child(3) {
|
||||
animation-delay: .2s; }
|
||||
.loader-i:nth-child(4) {
|
||||
animation-delay: .3s; }
|
||||
.loader-i:nth-child(5) {
|
||||
animation-delay: .4s; }
|
||||
.loader-i:nth-child(6) {
|
||||
animation-delay: .5s; }
|
|
@ -1,24 +0,0 @@
|
|||
.nav {
|
||||
font-size: 0; }
|
||||
.nav-i {
|
||||
transition: 0.3s color;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-right: 40px;
|
||||
color: #8197a2;
|
||||
text-transform: uppercase;
|
||||
text-decoration: none;
|
||||
line-height: normal;
|
||||
font-size: 14px;
|
||||
font-weight: bold; }
|
||||
.nav-i:hover, .nav-i_active {
|
||||
color: #444; }
|
||||
.nav-i_active:before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: -30px;
|
||||
height: 3px;
|
||||
background-color: #08b3f2; }
|
|
@ -1,46 +0,0 @@
|
|||
.search {
|
||||
border-bottom: 1px solid #eee;
|
||||
background-color: #fff;
|
||||
line-height: 80px;
|
||||
text-align: left; }
|
||||
.search .back {
|
||||
transition: 0.3s opacity;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAUCAMAAACgaw2xAAAAjVBMVEUAtfX///8AtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUAtfUmVRXZAAAALnRSTlMAAAQKDxAXISIpKzc+P1laYm1vdneQlJWjpKyvs7W2ycrP0NLY3uDh4u3u+f3+FQ2PgAAAAJlJREFUGNOV0ckSgjAQRdEWghMiKiLihBOiIPf/P88FSEEiC98yp6o79VrkG3uZPRYigzrN+zAEChMme6CMDfASoNgoHfwUeAWWdMFa50A6F+mCExXAeSYajA/AO1SigXsFKJPd8dTKdip3fubWD+6lZ5SMquWOvlxEVd/1DBAryIHUN6CuJDcqaUqMVE/txH8cSsRePbPWaT+TOR0SIiH2HAAAAABJRU5ErkJggg==);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
background-size: 12px 10px;
|
||||
padding-left: 20px;
|
||||
color: #08b3f2;
|
||||
text-decoration: none;
|
||||
font-size: 14px;
|
||||
font-weight: bold; }
|
||||
.search .back:hover {
|
||||
opacity: 0.8; }
|
||||
.search .container {
|
||||
position: relative; }
|
||||
.search-input {
|
||||
display: block;
|
||||
transition: 0.3s width, 0.3s border-color;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
width: 80px;
|
||||
height: 40px;
|
||||
margin: -20px 0 0;
|
||||
outline: none;
|
||||
border-radius: 5px;
|
||||
border: 1px solid transparent;
|
||||
box-sizing: border-box;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAA6lBMVEWAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6PrSx+9AAAATXRSTlMAAgMGCAkKDA0UFRYXISIjJDM0NTo7PD0/QEFERUlQWVpoaWp0dXaZm5ydnqSlpra4ub/AwcTFxsjKzM3Oz9bX2N3e6ers7fX5+vz9/pKojzsAAAGRSURBVHgBjZRtX4IwFMUXmKaBYmhWauSzEmkl+ZAaaJGo8P2/TnejEGHrt/PqcM9f2cbdRVHJDWPhuK6zMBoyYkrQJp4fyptoAp2rWn5MVpWCpXo+Rb1UnMvNg/eZ3bIkilK5YwarmOdinI2rB105lhT9gGv2CZme4dpGPf21usHVWTpS6uPKaxbFlDVxvR/ZL35+EVFC4jNOwr2ffeC1XCCKMnjt1t95avCwVxFV6h5C7ffhDbyOGBpAOAmsDCfmKSxQwWme2Cb8ZoyYGkPcJM4A12WDXYgN4lbgrtlgBeIlcQ44iQ1KEH8T54IT2aAIscsP8r+abzMr4p7AdXiOh/vA8/9/wgP5hGFTDDiaImizKzpXjLaZYOHuzFAbl0TCyVUY0a7CCCe1Y+GRkIn/zBBOT1xXqxhbXzBj6rQBUDiWCjAAiLY3UfLy3Seo2S7hkVJqmxijkef0IVXfJkhUs+OYDfu9o5CCNvUi2PSBnN9tkgTJreHS2e2c5bBFRjOVpCskK7zkGnGSn4hHlfXX/Q90qIZ+dL9jIAAAAABJRU5ErkJggg==);
|
||||
background-size: 20px 20px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: right 10px center;
|
||||
color: #333;
|
||||
font-size: 14px; }
|
||||
.search-input:focus {
|
||||
cursor: text;
|
||||
width: 300px;
|
||||
border-color: #eee;
|
||||
padding: 0 40px 0 10px; }
|
|
@ -1,7 +0,0 @@
|
|||
/**
|
||||
* React Select
|
||||
* ============
|
||||
* Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/
|
||||
* https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs
|
||||
* MIT License: https://github.com/JedWatson/react-select
|
||||
*/
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"presets": ["react", "es2015", "stage-0"]
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
{
|
||||
"name": "voting",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"node-sass-chokidar": "0.0.3",
|
||||
"npm-run-all": "^4.1.2",
|
||||
"react": "^16.2.0",
|
||||
"react-dom": "^16.2.0",
|
||||
"react-router-dom": "^4.2.2",
|
||||
"react-scripts": "1.0.17",
|
||||
"sweetalert2": "^7.0.8"
|
||||
},
|
||||
"scripts": {
|
||||
"build-css": "node-sass-chokidar src/assets/App.scss -o src/assets",
|
||||
"watch-css": "npm run build-css && node-sass-chokidar src/assets/App.scss -o src/assets/src/assets --watch",
|
||||
"start-js": "react-scripts start",
|
||||
"start": "npm-run-all -p watch-css start-js",
|
||||
"build-js": "react-scripts build",
|
||||
"build": "npm-run-all build-css build-js",
|
||||
"test": "react-scripts test --env=jsdom",
|
||||
"eject": "react-scripts eject"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 3.8 KiB |
|
@ -1,40 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="theme-color" content="#000000">
|
||||
<!--
|
||||
manifest.json provides metadata used when your web app is added to the
|
||||
homescreen on Android. See https://developers.google.com/web/fundamentals/engage-and-retain/web-app-manifest/
|
||||
-->
|
||||
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
|
||||
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
|
||||
<!--
|
||||
Notice the use of %PUBLIC_URL% in the tags above.
|
||||
It will be replaced with the URL of the `public` folder during the build.
|
||||
Only files inside the `public` folder can be referenced from the HTML.
|
||||
|
||||
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
|
||||
work correctly both with client-side routing and a non-root public URL.
|
||||
Learn how to configure a non-root public URL by running `npm run build`.
|
||||
-->
|
||||
<title>React App</title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
You need to enable JavaScript to run this app.
|
||||
</noscript>
|
||||
<div id="root"></div>
|
||||
<!--
|
||||
This HTML file is a template.
|
||||
If you open it directly in the browser, you will see an empty page.
|
||||
|
||||
You can add webfonts, meta tags, or analytics to this file.
|
||||
The build step will place the bundled scripts into the <body> tag.
|
||||
|
||||
To begin the development, run `npm start` or `yarn start`.
|
||||
To create a production bundle, use `npm run build` or `yarn build`.
|
||||
-->
|
||||
</body>
|
||||
</html>
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"short_name": "React App",
|
||||
"name": "Create React App Sample",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicon.ico",
|
||||
"sizes": "64x64 32x32 24x24 16x16",
|
||||
"type": "image/x-icon"
|
||||
}
|
||||
],
|
||||
"start_url": "./index.html",
|
||||
"display": "standalone",
|
||||
"theme_color": "#000000",
|
||||
"background_color": "#ffffff"
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
import React, { Component } from 'react';
|
||||
import { Route } from 'react-router-dom';
|
||||
import { Header, Ballots, NewBallot, Settings, Footer } from './components';
|
||||
import './assets/App.css';
|
||||
|
||||
class App extends Component {
|
||||
render() {
|
||||
return (
|
||||
<div>
|
||||
<Header />
|
||||
<Route exact path="/" component={Ballots}/>
|
||||
<Route path="/new" component={NewBallot}/>
|
||||
<Route path="/settings" component={Settings}/>
|
||||
<Footer />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default App;
|
|
@ -1,19 +0,0 @@
|
|||
@import 'stylesheets/vars';
|
||||
@import 'stylesheets/mixins';
|
||||
@import 'stylesheets/placeholders';
|
||||
@import 'stylesheets/fonts';
|
||||
@import 'stylesheets/base';
|
||||
@import 'stylesheets/controls';
|
||||
@import 'stylesheets/footer';
|
||||
@import 'stylesheets/header';
|
||||
@import 'stylesheets/info';
|
||||
@import 'stylesheets/loader';
|
||||
@import 'stylesheets/new';
|
||||
@import 'stylesheets/settings';
|
||||
@import 'stylesheets/socials';
|
||||
@import 'stylesheets/vote-scale';
|
||||
@import 'stylesheets/ballots/placeholders';
|
||||
@import 'stylesheets/ballots/base';
|
||||
@import 'stylesheets/ballots/about';
|
||||
@import 'stylesheets/ballots/footer';
|
||||
@import 'stylesheets/select/*';
|
Before Width: | Height: | Size: 369 B |
Before Width: | Height: | Size: 669 B |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 96 B |
Before Width: | Height: | Size: 120 B |
Before Width: | Height: | Size: 987 B |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 2.0 KiB |
|
@ -1,692 +0,0 @@
|
|||
.footer {
|
||||
left: 0;
|
||||
right: 0; }
|
||||
|
||||
.footer-logo, .header-logo {
|
||||
display: block;
|
||||
background-image: url(./images/logos.png); }
|
||||
@media (min--moz-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6 / 2), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
|
||||
.footer-logo, .header-logo {
|
||||
background-image: url("./images/logos@2x.png");
|
||||
background-size: 149px 59px; } }
|
||||
|
||||
.new-form, .settings, .ballots-i {
|
||||
transition: 0.3s box-shadow;
|
||||
margin-bottom: 30px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 10px 10px 0 rgba(50, 108, 181, 0.08);
|
||||
padding: 30px;
|
||||
background-color: #fff; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.new-form, .settings, .ballots-i {
|
||||
margin-bottom: 20px;
|
||||
padding: 20px; } }
|
||||
|
||||
input, select, .radio {
|
||||
transition: 0.3s background-color, 0.3s border-color;
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
outline: none;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #e5eef9;
|
||||
box-sizing: border-box;
|
||||
padding: 0 10px;
|
||||
background-color: #fff;
|
||||
color: #444;
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
font-size: 14px; }
|
||||
|
||||
button, .header-settings, .header-new-ballot, .ballots-i--vote, .ballots-footer-finalize {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
transition: 0.3s opacity;
|
||||
box-sizing: border-box;
|
||||
border: 0;
|
||||
outline: none;
|
||||
padding: 0 15px;
|
||||
text-transform: uppercase;
|
||||
line-height: 36px;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
font-family: 'Open Sans', sans-serif; }
|
||||
button:hover, .header-settings:hover, .header-new-ballot:hover, .ballots-i--vote:hover, .ballots-footer-finalize:hover {
|
||||
opacity: 0.9;
|
||||
text-decoration: none; }
|
||||
.header-settings, .header-new-ballot {
|
||||
padding: 0 15px 0 33px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: left 15px center; }
|
||||
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local("Open Sans"), local("OpenSans"), url(https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; }
|
||||
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), url(https://fonts.gstatic.com/s/opensans/v14/MTP_ySUJH_bn48VBG8sNShampu5_7CjHW5spxoeN3Vs.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215; }
|
||||
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local("Open Sans Bold"), local("OpenSans-Bold"), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzBampu5_7CjHW5spxoeN3Vs.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; }
|
||||
|
||||
html,
|
||||
body {
|
||||
color: #444;
|
||||
line-height: 1;
|
||||
font-size: 14px;
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
-webkit-font-smoothing: antialiased; }
|
||||
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
|
||||
html {
|
||||
height: 100%; }
|
||||
|
||||
p, h1, h2, h3, h4 {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: 'Open Sans', sans-serif; }
|
||||
|
||||
body {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
min-height: 100%;
|
||||
box-sizing: border-box;
|
||||
padding-bottom: 70px;
|
||||
background-color: #f4f9ff; }
|
||||
@media screen and (max-width: 414px) {
|
||||
body {
|
||||
padding-bottom: 90px; } }
|
||||
|
||||
a {
|
||||
color: #08b3f2;
|
||||
text-decoration: none;
|
||||
font-size: 14px; }
|
||||
a:hover {
|
||||
text-decoration: underline; }
|
||||
|
||||
p {
|
||||
color: #444;
|
||||
font-size: 14px; }
|
||||
|
||||
hr {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
margin: 10px 0 30px;
|
||||
border: 0;
|
||||
background-color: #e5eef9; }
|
||||
|
||||
.center {
|
||||
text-align: center; }
|
||||
|
||||
.left {
|
||||
float: left;
|
||||
width: 48%; }
|
||||
|
||||
.right {
|
||||
float: right;
|
||||
width: 48%; }
|
||||
|
||||
@media screen and (max-width: 414px) {
|
||||
.left,
|
||||
.right {
|
||||
float: none;
|
||||
width: 100%; } }
|
||||
|
||||
.hidden {
|
||||
overflow: hidden; }
|
||||
|
||||
.container {
|
||||
width: 960px;
|
||||
margin: 0 auto;
|
||||
box-sizing: border-box; }
|
||||
@media screen and (max-width: 960px) {
|
||||
.container {
|
||||
width: 100%;
|
||||
padding: 0 10px; } }
|
||||
|
||||
.title {
|
||||
margin-bottom: 30px;
|
||||
color: #38454f;
|
||||
font-size: 30px;
|
||||
font-weight: normal; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.title {
|
||||
font-size: 28px; } }
|
||||
@media screen and (max-width: 414px) {
|
||||
.title {
|
||||
font-size: 26px; } }
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
margin-bottom: 15px;
|
||||
color: #8197a2;
|
||||
font-size: 14px;
|
||||
font-family: 'Open Sans', sans-serif; }
|
||||
|
||||
input:focus {
|
||||
border-color: #08b3f2; }
|
||||
|
||||
input[type='radio'] {
|
||||
display: none; }
|
||||
|
||||
select {
|
||||
appearance: none;
|
||||
padding-right: 30px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: right 13px center;
|
||||
background-image: url(./images/select.png); }
|
||||
@media (min--moz-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6 / 2), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
|
||||
select {
|
||||
background-image: url("./images/select@2x.png");
|
||||
background-size: 8px 4px; } }
|
||||
|
||||
button {
|
||||
background-color: rgba(8, 179, 242, 0.1);
|
||||
color: #08b3f2; }
|
||||
|
||||
.radio {
|
||||
transition: 0.3s color, 0.3s background-color, 0.3s border-color;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
margin-bottom: 0;
|
||||
line-height: 40px; }
|
||||
input[type='radio']:checked + .radio {
|
||||
border-color: #08b3f2;
|
||||
background-color: rgba(8, 179, 242, 0.1);
|
||||
color: #08b3f2; }
|
||||
.radio_icon {
|
||||
padding-left: 37px;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 16px 16px;
|
||||
background-position: left 11px center; }
|
||||
.radio_add {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAFVBMVEUAsvUAsvUAsvUAsvUAsvUAsvUAsvVmJ/ytAAAABnRSTlMASUrk5udXTd49AAAAPElEQVR4Ae3RIQKAAAzDwG5k/f+TwYIoEsROx0V3BaUEGyW+bPBVUDighCPeglGPg6P3xW8D7FHS8/x3AhBhBV+OMM67AAAAAElFTkSuQmCC); }
|
||||
.radio_remove {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAFVBMVEUAsvUAsvUAsvUAsvUAsvUAsvUAsvVmJ/ytAAAABnRSTlMASUrk5udXTd49AAAATklEQVR4Ae3SQQqAMAxE0Wmc5P5H1k2gfijFnaBvWf5mStSGa+Ihct14F6QosiZH6D24nzw4j7wLEvsb/qMugn77g28G9Czw6h5b5PoeT61VCXCp8qCYAAAAAElFTkSuQmCC); }
|
||||
.radio_swap {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAulBMVEUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvVktDOmAAAAPXRSTlMAAQIDBAUGETxARUlKS1BRUlNUVVdaXGFkZmdpamtuc3R2fH+IiYrR19ja3N7h4+bn6+3v8PHy9fj5+vz+d3lc/AAAALhJREFUeNqVk0cOwkAMAE0n1NBLgNAhQCCFTvz/b6GYPQS03hVznZF8sA0fBr5XBgU2Ih41Hn2Nj/qsn5Ifa/yI9RbKcQ0RnJFhK4KTLmi95P5ggKBDxRwY/ihsXRGCptiDCnO3KUKSVBqUtIOwp/LZC62PJ3eLF2gBzwR1xYyKYWJq4Yfld9G8opSoKwIfGVzdVTgiqHhy/+DfaU2+xvoV+TrrF+RN1ufvsW8ASyZAfJLnKDlOFYg3It9LpKV2sncAAAAASUVORK5CYII=); }
|
||||
.radio:before, .radio:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
border-radius: 50%; }
|
||||
.radio:before {
|
||||
transition: 0.3s border-color;
|
||||
left: -40px;
|
||||
top: 8px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
box-sizing: border-box;
|
||||
border: 1px solid #e5eef9; }
|
||||
input[type='radio']:checked + .radio:before {
|
||||
border-color: #08b3f2; }
|
||||
.radio:after {
|
||||
transition: 0.3s transform, 0.3s opacity;
|
||||
transform: scale(0.5);
|
||||
opacity: 0;
|
||||
left: -34px;
|
||||
top: 14px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background-color: #08b3f2; }
|
||||
input[type='radio']:checked + .radio:after {
|
||||
transform: scale(1);
|
||||
opacity: 1; }
|
||||
.radio-container {
|
||||
margin-bottom: 20px;
|
||||
padding-left: 40px; }
|
||||
|
||||
.form-el {
|
||||
margin-bottom: 20px; }
|
||||
|
||||
.hint {
|
||||
margin-top: 15px;
|
||||
color: #8197a2;
|
||||
line-height: 18px;
|
||||
font-size: 12px; }
|
||||
|
||||
.footer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
height: 60px;
|
||||
background-color: #6d2eae; }
|
||||
@media screen and (max-width: 414px) {
|
||||
.footer {
|
||||
height: auto;
|
||||
padding: 20px 10px 0; } }
|
||||
.footer .container {
|
||||
position: relative; }
|
||||
@media screen and (max-width: 414px) {
|
||||
.footer .container {
|
||||
padding-top: 40px; } }
|
||||
.footer-logo,
|
||||
.footer .socials {
|
||||
transform: translateY(-50%);
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: 50%; }
|
||||
@media screen and (max-width: 414px) {
|
||||
.footer-logo,
|
||||
.footer .socials {
|
||||
transform: translateY(0);
|
||||
top: 0; } }
|
||||
.footer-logo {
|
||||
left: 0;
|
||||
width: 101px;
|
||||
height: 24px;
|
||||
background-position: 0 0; }
|
||||
.footer-rights {
|
||||
color: #fff;
|
||||
line-height: 60px;
|
||||
text-align: center;
|
||||
font-size: 12px; }
|
||||
@media screen and (max-width: 414px) {
|
||||
.footer-rights {
|
||||
line-height: 30px; } }
|
||||
|
||||
.header {
|
||||
margin-bottom: 30px;
|
||||
padding: 22px 0;
|
||||
background-color: #6d2eae; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.header {
|
||||
margin-bottom: 20px; } }
|
||||
@media screen and (max-width: 414px) {
|
||||
.header {
|
||||
margin-bottom: 15px; } }
|
||||
.header .container {
|
||||
overflow: hidden; }
|
||||
.header-logo {
|
||||
float: left;
|
||||
width: 149px;
|
||||
height: 35px;
|
||||
background-position: 0 -24px; }
|
||||
.header-settings, .header-new-ballot {
|
||||
float: right;
|
||||
border-radius: 3px;
|
||||
color: #fff;
|
||||
background-size: 12px 12px; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.header-settings, .header-new-ballot {
|
||||
padding: 0 20px;
|
||||
background-position: center center;
|
||||
font-size: 0; } }
|
||||
.header-settings {
|
||||
margin-right: 15px;
|
||||
background-color: #7d58bb;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAflBMVEX///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+yfIzaAAAAKXRSTlMAAgQFBgwNDhAqKyxJSlJTVFVXZGVojo+Q19ja5Obn6+3u7/D19vf8/fmxL7QAAADLSURBVHgBfdHtVoJAGMTxUUwUZCtKRWzpxWj93/8Nti5LxDlbv68DzHkGTXbW7pRiwWpumcnDk5ctFe37y8MUPH58PsXne3D19oB32NYO+uGdxRvgrgRXB7wvFBjHjLtXVM8SV2tU3IKzyXNzvgWFRkeg3cjbtMAx3ktgYh+B38AyyBXcEZO/gk5Vl/rUS/VTfhrKT0CjUemA1qzXpgVcqf8PTEwS+xav6RHj7EWD15S/Ztf+a/ajLv2zomylKdAq05yFTilVF+8NvgGLASpP2eRPbAAAAABJRU5ErkJggg==); }
|
||||
.header-new-ballot {
|
||||
background-color: #08b3f2;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAFVBMVEX///////////////////////////9nSIHRAAAABnRSTlMASUrk5udXTd49AAAAOUlEQVR42tXQsQEAIAgDQcAn+4+snRZxAK79KokrIcNBwgYdc0Migwxk8Qsd1TJWDf/KQWobqt+9G4coA99W7as5AAAAAElFTkSuQmCC); }
|
||||
|
||||
.info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-left: 44px;
|
||||
min-height: 32px;
|
||||
background-image: url(./images/info.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #8197a2; }
|
||||
@media (min--moz-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6 / 2), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
|
||||
.info {
|
||||
background-image: url("./images/info@2x.png");
|
||||
background-size: 32px 32px; } }
|
||||
.ballots .info {
|
||||
margin-bottom: 20px; }
|
||||
|
||||
@keyframes fadeOut {
|
||||
0% {
|
||||
opacity: .2; }
|
||||
20% {
|
||||
opacity: 1;
|
||||
transform: scale(1); }
|
||||
100% {
|
||||
opacity: .2;
|
||||
transform: scale(0.3); } }
|
||||
|
||||
.loader {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%); }
|
||||
.loader-container {
|
||||
position: fixed;
|
||||
z-index: 1000000;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
background-color: rgba(35, 29, 115, 0.8); }
|
||||
.loader-i {
|
||||
animation-duration: 2s;
|
||||
animation-fill-mode: forwards;
|
||||
animation-iteration-count: infinite;
|
||||
animation-name: fadeOut;
|
||||
animation-timing-function: linear;
|
||||
opacity: .2;
|
||||
width: 9px;
|
||||
height: 9px;
|
||||
margin: 0 8px;
|
||||
border-radius: 50%;
|
||||
background-color: #fff; }
|
||||
.loader-i:nth-child(2) {
|
||||
animation-delay: .1s; }
|
||||
.loader-i:nth-child(3) {
|
||||
animation-delay: .2s; }
|
||||
.loader-i:nth-child(4) {
|
||||
animation-delay: .3s; }
|
||||
.loader-i:nth-child(5) {
|
||||
animation-delay: .4s; }
|
||||
.loader-i:nth-child(6) {
|
||||
animation-delay: .5s; }
|
||||
|
||||
.new-form {
|
||||
overflow: hidden; }
|
||||
.new-form-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between; }
|
||||
@media screen and (max-width: 414px) {
|
||||
.new-form-footer {
|
||||
flex-direction: column; } }
|
||||
|
||||
.new .add-ballot {
|
||||
white-space: nowrap; }
|
||||
@media screen and (max-width: 414px) {
|
||||
.new .add-ballot {
|
||||
margin-top: 20px; } }
|
||||
|
||||
.settings {
|
||||
max-width: 600px;
|
||||
margin: 0 auto; }
|
||||
.settings-title {
|
||||
margin-bottom: 20px;
|
||||
color: #38454f;
|
||||
text-align: center;
|
||||
font-size: 24px; }
|
||||
|
||||
.socials {
|
||||
font-size: 0; }
|
||||
.footer .socials {
|
||||
right: 0; }
|
||||
.socials-i {
|
||||
transition: 0.3s background-color;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border-radius: 50%;
|
||||
background-color: rgba(255, 255, 255, 0.2); }
|
||||
.socials-i:not(:first-child) {
|
||||
margin-left: 10px; }
|
||||
.socials-i:hover {
|
||||
background-color: rgba(255, 255, 255, 0.4); }
|
||||
.socials-i:before {
|
||||
transform: translate(-50%, -50%);
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
background-image: url(./images/socials.png); }
|
||||
@media (min--moz-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6 / 2), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
|
||||
.socials-i:before {
|
||||
background-image: url("./images/socials@2x.png");
|
||||
background-size: 16px 69px; } }
|
||||
.socials-i_github:before {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-position: 0 0; }
|
||||
.socials-i_oracles:before {
|
||||
width: 16px;
|
||||
height: 14px;
|
||||
background-position: 0 -16px; }
|
||||
.socials-i_reddit:before {
|
||||
width: 15px;
|
||||
height: 13px;
|
||||
background-position: 0 -30px; }
|
||||
.socials-i_telegram:before {
|
||||
width: 16px;
|
||||
height: 14px;
|
||||
background-position: 0 -43px; }
|
||||
.socials-i_twitter:before {
|
||||
width: 15px;
|
||||
height: 12px;
|
||||
background-position: 0 -57px; }
|
||||
|
||||
.vote-scale {
|
||||
clear: left;
|
||||
overflow: hidden;
|
||||
height: 6px;
|
||||
margin-top: 30px;
|
||||
border-radius: 3px;
|
||||
background-color: rgba(229, 238, 249, 0.5); }
|
||||
.vote-scale--fill {
|
||||
height: 100%;
|
||||
border-radius: 3px; }
|
||||
.vote-scale--fill_yes {
|
||||
background-color: #08b3f2; }
|
||||
.vote-scale--fill_no {
|
||||
background-color: #6d2eae; }
|
||||
.vote-scale--container {
|
||||
width: 100%;
|
||||
max-width: 343px; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.vote-scale--container {
|
||||
float: right;
|
||||
max-width: 100%; } }
|
||||
.vote-scale--value {
|
||||
float: left;
|
||||
font-size: 12px; }
|
||||
.vote-scale--votes, .vote-scale--percentage {
|
||||
float: right;
|
||||
font-size: 12px; }
|
||||
.vote-scale--votes {
|
||||
margin-left: 10px;
|
||||
color: #8197a2; }
|
||||
.vote-scale--percentage {
|
||||
color: #08b3f2; }
|
||||
|
||||
.ballots-i--vote, .ballots-footer-finalize {
|
||||
border-radius: 2px;
|
||||
padding: 0 13px;
|
||||
font-size: 13px;
|
||||
font-weight: bold; }
|
||||
|
||||
.ballots .title {
|
||||
margin-bottom: 50px; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots .title {
|
||||
margin-bottom: 20px; } }
|
||||
@media screen and (max-width: 414px) {
|
||||
.ballots .title {
|
||||
margin-bottom: 15px; } }
|
||||
|
||||
.ballots-i:hover {
|
||||
box-shadow: 0 11px 11px 0 rgba(50, 108, 181, 0.15); }
|
||||
|
||||
.ballots-i-scale {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 30px;
|
||||
border-top: 1px solid #e5eef9;
|
||||
padding: 30px 0; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-i-scale {
|
||||
display: block;
|
||||
margin-top: 20px;
|
||||
padding: 20px 0; } }
|
||||
@media screen and (max-width: 414px) {
|
||||
.ballots-i-scale {
|
||||
margin-top: 15px;
|
||||
padding: 15px 0; } }
|
||||
.ballots-i-scale-column {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
width: 48%; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-i-scale-column {
|
||||
overflow: hidden;
|
||||
width: 100%; } }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-i-scale-column:last-child {
|
||||
flex-direction: row-reverse;
|
||||
margin-top: 30px; } }
|
||||
|
||||
.ballots-i--name {
|
||||
color: #333;
|
||||
font-weight: bold; }
|
||||
|
||||
.ballots-i--created {
|
||||
padding-left: 20px;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAw1BMVEWAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6M9jT1MAAAAQHRSTlMAAQIDBQYHDA0bHB8gISQmJyg+P0BGR0lKU1RZYmNrbHV2iYqLo6Spqqusra7Cw8TFysvM29zk5ufo6/Lz+Pn8DzgVHgAAATNJREFUeNplk+1agkAQhQfRykQTrJTEUjSCvtTQECPk/q+qPQ7LsnR+7DOzL898LiRlOP46zfN0vXQM0tXydkWlndeqs/620LTtK3Z7LBo6OpLd5fDzl6nVubSnIXv3zIY/8N4HVGrwBj8bwjaR77SgmhYn5DWF5eE7ZoribkZkoIeI78ZJMmYrQkcGjZD9mq+SokjY6qKqEfniDIiFYMR6FqZPn+J8+A9dYX5QKs5eBaFz3p4wUkLwizrkvB2UcoZXJUwYHiqIsDclnBzAvicyrFYQpBW0lK0oqVbkEHR1fzEEHl/YhCHG1yKaoYi5zubl4Mn8wsqe6uwRK4tNmHaG717VsiP4mV1uih9G4FrttuUG7GGGTLOioUwyRI51Ftv6o94rtNcfNbCz2uB32KycCv0BfU5XCrQEyKwAAAAASUVORK5CYII=);
|
||||
background-size: 14px 14px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #8197a2;
|
||||
font-size: 12px; }
|
||||
|
||||
.ballots-i--see-all-proposal {
|
||||
display: inline-block;
|
||||
margin-top: 5px; }
|
||||
|
||||
.ballots-i--time {
|
||||
color: #333;
|
||||
font-size: 24px;
|
||||
font-weight: bold; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-i--time {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-right: 10px; } }
|
||||
|
||||
.ballots-i--to-close {
|
||||
color: #333;
|
||||
text-transform: uppercase; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-i--to-close {
|
||||
display: inline-block;
|
||||
vertical-align: middle; } }
|
||||
|
||||
.ballots-i--vote_yes {
|
||||
margin-right: 15px;
|
||||
background-color: rgba(8, 179, 242, 0.1); }
|
||||
|
||||
.ballots-i--vote_no {
|
||||
margin-left: 15px;
|
||||
background-color: rgba(109, 46, 174, 0.1);
|
||||
color: #6d2eae; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-i--vote_no {
|
||||
float: left;
|
||||
margin-left: 0;
|
||||
margin-right: 15px; } }
|
||||
|
||||
.ballots-about {
|
||||
font-size: 0; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-about {
|
||||
display: table;
|
||||
width: 100%; } }
|
||||
.ballots-about p {
|
||||
line-height: 28px; }
|
||||
.ballots-about-i {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
box-sizing: border-box; }
|
||||
.ballots-about-i:not(.ballots-about-i_time) {
|
||||
padding-right: 10px; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-about-i:not(.ballots-about-i_time) {
|
||||
padding-right: 0; } }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-about-i {
|
||||
display: table-row;
|
||||
width: 100% !important; } }
|
||||
.ballots-about-i_name {
|
||||
width: 25%; }
|
||||
.ballots-about-i_proposal {
|
||||
width: 30%; }
|
||||
.ballots-about-i_mining-key {
|
||||
width: 30%;
|
||||
word-break: break-all; }
|
||||
.ballots-about-i_time {
|
||||
width: 15%;
|
||||
text-align: right; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-about-i_time {
|
||||
text-align: left; } }
|
||||
.ballots-about-i_time .ballots-about-i--title {
|
||||
text-align: right; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-about-i_time .ballots-about-i--title {
|
||||
text-align: left; } }
|
||||
.ballots-about-i--title {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: -60px;
|
||||
opacity: 0.6;
|
||||
color: #38454f;
|
||||
text-transform: uppercase;
|
||||
font-size: 13px; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-about-i--title {
|
||||
position: relative;
|
||||
left: auto;
|
||||
right: auto;
|
||||
top: auto;
|
||||
white-space: nowrap; } }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-about-td {
|
||||
display: table-cell;
|
||||
vertical-align: top; } }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-about-td:first-child {
|
||||
padding-right: 20px; } }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-about-i:not(:last-child) .ballots-about-td {
|
||||
padding-bottom: 10px; } }
|
||||
|
||||
.ballots-footer {
|
||||
display: flex;
|
||||
align-items: center; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.ballots-footer {
|
||||
padding-top: 20px; } }
|
||||
@media screen and (max-width: 414px) {
|
||||
.ballots-footer {
|
||||
flex-direction: column-reverse;
|
||||
padding-top: 15px; } }
|
||||
.ballots-footer p {
|
||||
line-height: 18px;
|
||||
color: #8197a2; }
|
||||
.ballots-footer-finalize {
|
||||
margin-right: 20px;
|
||||
background-color: rgba(8, 179, 242, 0.1);
|
||||
white-space: nowrap; }
|
||||
@media screen and (max-width: 414px) {
|
||||
.ballots-footer-finalize {
|
||||
width: 100%;
|
||||
margin-right: 0;
|
||||
margin-top: 15px;
|
||||
text-align: center; } }
|
|
@ -1,63 +0,0 @@
|
|||
.header-logo {
|
||||
display: block;
|
||||
background-image: url(./images/logos.png); }
|
||||
@media (min--moz-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6 / 2), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
|
||||
.header-logo {
|
||||
background-image: url("./images/logos@2x.png");
|
||||
background-size: 149px 59px; } }
|
||||
|
||||
.header-settings, .header-new-ballot {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
transition: 0.3s opacity;
|
||||
box-sizing: border-box;
|
||||
border: 0;
|
||||
outline: none;
|
||||
padding: 0 15px;
|
||||
text-transform: uppercase;
|
||||
line-height: 36px;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
font-family: 'Open Sans', sans-serif; }
|
||||
.header-settings:hover, .header-new-ballot:hover {
|
||||
opacity: 0.9;
|
||||
text-decoration: none; }
|
||||
.header-settings, .header-new-ballot {
|
||||
padding: 0 15px 0 33px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: left 15px center; }
|
||||
|
||||
.header {
|
||||
margin-bottom: 30px;
|
||||
padding: 22px 0;
|
||||
background-color: #6d2eae; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.header {
|
||||
margin-bottom: 20px; } }
|
||||
@media screen and (max-width: 414px) {
|
||||
.header {
|
||||
margin-bottom: 15px; } }
|
||||
.header .container {
|
||||
overflow: hidden; }
|
||||
.header-logo {
|
||||
float: left;
|
||||
width: 149px;
|
||||
height: 35px;
|
||||
background-position: 0 -24px; }
|
||||
.header-settings, .header-new-ballot {
|
||||
float: right;
|
||||
border-radius: 3px;
|
||||
color: #fff;
|
||||
background-size: 12px 12px; }
|
||||
@media screen and (max-width: 768px) {
|
||||
.header-settings, .header-new-ballot {
|
||||
padding: 0 20px;
|
||||
background-position: center center;
|
||||
font-size: 0; } }
|
||||
.header-settings {
|
||||
margin-right: 15px;
|
||||
background-color: #7d58bb;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAflBMVEX///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+yfIzaAAAAKXRSTlMAAgQFBgwNDhAqKyxJSlJTVFVXZGVojo+Q19ja5Obn6+3u7/D19vf8/fmxL7QAAADLSURBVHgBfdHtVoJAGMTxUUwUZCtKRWzpxWj93/8Nti5LxDlbv68DzHkGTXbW7pRiwWpumcnDk5ctFe37y8MUPH58PsXne3D19oB32NYO+uGdxRvgrgRXB7wvFBjHjLtXVM8SV2tU3IKzyXNzvgWFRkeg3cjbtMAx3ktgYh+B38AyyBXcEZO/gk5Vl/rUS/VTfhrKT0CjUemA1qzXpgVcqf8PTEwS+xav6RHj7EWD15S/Ztf+a/ajLv2zomylKdAq05yFTilVF+8NvgGLASpP2eRPbAAAAABJRU5ErkJggg==); }
|
||||
.header-new-ballot {
|
||||
background-color: #08b3f2;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAFVBMVEX///////////////////////////9nSIHRAAAABnRSTlMASUrk5udXTd49AAAAOUlEQVR42tXQsQEAIAgDQcAn+4+snRZxAK79KokrIcNBwgYdc0Migwxk8Qsd1TJWDf/KQWobqt+9G4coA99W7as5AAAAAElFTkSuQmCC); }
|
|
@ -1,10 +0,0 @@
|
|||
@mixin image-2x($image, $width: 100%, $height: 100%) {
|
||||
@media (min--moz-device-pixel-ratio: 1.3),
|
||||
(-o-min-device-pixel-ratio: 2.6/2),
|
||||
(-webkit-min-device-pixel-ratio: 1.3),
|
||||
(min-device-pixel-ratio: 1.3),
|
||||
(min-resolution: 1.3dppx) {
|
||||
background-image: url($image);
|
||||
background-size: $width $height;
|
||||
}
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
%full-width {
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
%logos {
|
||||
@include image-2x('./images/logos@2x.png', 149px, 59px);
|
||||
display: block;
|
||||
background-image: url(./images/logos.png);
|
||||
}
|
||||
|
||||
%white-block {
|
||||
transition: 0.3s box-shadow;
|
||||
margin-bottom: $desktop-indent;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 10px 10px 0 fade-out(#326cb5, 0.92);
|
||||
padding: $desktop-indent;
|
||||
background-color: #fff;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
margin-bottom: $tablet-indent;
|
||||
padding: $tablet-indent;
|
||||
}
|
||||
}
|
||||
|
||||
%form-el {
|
||||
transition: 0.3s background-color,
|
||||
0.3s border-color;
|
||||
width: 100%;
|
||||
height: $input-height;
|
||||
outline: none;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #e5eef9;
|
||||
box-sizing: border-box;
|
||||
padding: 0 10px;
|
||||
background-color: #fff;
|
||||
color: #444;
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
%button {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
transition: 0.3s opacity;
|
||||
box-sizing: border-box;
|
||||
border: 0;
|
||||
outline: none;
|
||||
padding: 0 15px;
|
||||
text-transform: uppercase;
|
||||
line-height: 36px;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
|
||||
&:hover {
|
||||
opacity: 0.9;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
&_icon {
|
||||
padding: 0 15px 0 33px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: left 15px center;
|
||||
}
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
$container-width: 960px;
|
||||
$tablet-width: 768px;
|
||||
$mobile-width: 414px;
|
||||
$footer-height: 60px;
|
||||
|
||||
$desktop-indent: 30px;
|
||||
$tablet-indent: 20px;
|
||||
$mobile-indent: 15px;
|
||||
|
||||
$input-height: 40px;
|
|
@ -1,7 +0,0 @@
|
|||
%_button {
|
||||
@extend %button;
|
||||
border-radius: 2px;
|
||||
padding: 0 13px;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
}
|
|
@ -1,103 +0,0 @@
|
|||
.ballots-about {
|
||||
font-size: 0;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
display: table;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
$this: &;
|
||||
|
||||
p {
|
||||
line-height: 28px;
|
||||
}
|
||||
|
||||
&-i {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
box-sizing: border-box;
|
||||
|
||||
&:not(&_time) {
|
||||
padding-right: 10px;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
display: table-row;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
&_name {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
&_proposal {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
&_mining-key {
|
||||
width: 30%;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
&_time {
|
||||
width: 15%;
|
||||
text-align: right;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#{$this}-i--title {
|
||||
text-align: right;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&--title {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: -#{$desktop-indent * 2};
|
||||
opacity: 0.6;
|
||||
color: #38454f;
|
||||
text-transform: uppercase;
|
||||
font-size: 13px;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
position: relative;
|
||||
left: auto;
|
||||
right: auto;
|
||||
top: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&-td {
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
padding-right: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
#{$this}-i:not(:last-child) & {
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,121 +0,0 @@
|
|||
.ballots {
|
||||
.title {
|
||||
margin-bottom: 50px;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
margin-bottom: $tablet-indent;
|
||||
}
|
||||
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
margin-bottom: $mobile-indent;
|
||||
}
|
||||
}
|
||||
|
||||
&-i {
|
||||
@extend %white-block;
|
||||
|
||||
&:hover {
|
||||
box-shadow: 0 11px 11px 0 fade-out(#326cb5, 0.85);
|
||||
}
|
||||
|
||||
&-scale {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: $desktop-indent;
|
||||
border-top: 1px solid #e5eef9;
|
||||
padding: $desktop-indent 0;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
display: block;
|
||||
margin-top: $tablet-indent;
|
||||
padding: $tablet-indent 0;
|
||||
}
|
||||
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
margin-top: $mobile-indent;
|
||||
padding: $mobile-indent 0;
|
||||
}
|
||||
|
||||
&-column {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
width: 48%;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
flex-direction: row-reverse;
|
||||
margin-top: 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&--name {
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
&--created {
|
||||
padding-left: 20px;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAw1BMVEWAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6OAl6M9jT1MAAAAQHRSTlMAAQIDBQYHDA0bHB8gISQmJyg+P0BGR0lKU1RZYmNrbHV2iYqLo6Spqqusra7Cw8TFysvM29zk5ufo6/Lz+Pn8DzgVHgAAATNJREFUeNplk+1agkAQhQfRykQTrJTEUjSCvtTQECPk/q+qPQ7LsnR+7DOzL898LiRlOP46zfN0vXQM0tXydkWlndeqs/620LTtK3Z7LBo6OpLd5fDzl6nVubSnIXv3zIY/8N4HVGrwBj8bwjaR77SgmhYn5DWF5eE7ZoribkZkoIeI78ZJMmYrQkcGjZD9mq+SokjY6qKqEfniDIiFYMR6FqZPn+J8+A9dYX5QKs5eBaFz3p4wUkLwizrkvB2UcoZXJUwYHiqIsDclnBzAvicyrFYQpBW0lK0oqVbkEHR1fzEEHl/YhCHG1yKaoYi5zubl4Mn8wsqe6uwRK4tNmHaG717VsiP4mV1uih9G4FrttuUG7GGGTLOioUwyRI51Ftv6o94rtNcfNbCz2uB32KycCv0BfU5XCrQEyKwAAAAASUVORK5CYII=);
|
||||
background-size: 14px 14px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #8197a2;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
&--see-all-proposal {
|
||||
display: inline-block;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
&--time {
|
||||
color: #333;
|
||||
font-size: 24px;
|
||||
font-weight: bold;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
&--to-close {
|
||||
color: #333;
|
||||
text-transform: uppercase;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
&--vote {
|
||||
@extend %_button;
|
||||
|
||||
&_yes {
|
||||
margin-right: 15px;
|
||||
background-color: fade-out(#08b3f2, 0.9);
|
||||
}
|
||||
|
||||
&_no {
|
||||
margin-left: 15px;
|
||||
background-color: fade-out(#6d2eae, 0.9);
|
||||
color: #6d2eae;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
float: left;
|
||||
margin-left: 0;
|
||||
margin-right: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
.ballots-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
padding-top: $tablet-indent;
|
||||
}
|
||||
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
flex-direction: column-reverse;
|
||||
padding-top: $mobile-indent;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: 18px;
|
||||
color: #8197a2;
|
||||
}
|
||||
|
||||
&-finalize {
|
||||
@extend %_button;
|
||||
margin-right: 20px;
|
||||
background-color: fade-out(#08b3f2, 0.9);
|
||||
white-space: nowrap;
|
||||
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
width: 100%;
|
||||
margin-right: 0;
|
||||
margin-top: $mobile-indent;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,104 +0,0 @@
|
|||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
p, h1, h2, h3, h4 {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
min-height: 100%;
|
||||
box-sizing: border-box;
|
||||
padding-bottom: $footer-height + 10px;
|
||||
background-color: #f4f9ff;
|
||||
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
padding-bottom: $footer-height + 30px;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
color: #08b3f2;
|
||||
text-decoration: none;
|
||||
font-size: 14px;
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
color: #444;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
hr {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
margin: 10px 0 30px;
|
||||
border: 0;
|
||||
background-color: #e5eef9;
|
||||
}
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.left {
|
||||
float: left;
|
||||
width: 48%;
|
||||
}
|
||||
|
||||
.right {
|
||||
float: right;
|
||||
width: 48%;
|
||||
}
|
||||
|
||||
.left,
|
||||
.right {
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.hidden {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: $container-width;
|
||||
margin: 0 auto;
|
||||
box-sizing: border-box;
|
||||
|
||||
@media screen and (max-width: $container-width) {
|
||||
width: 100%;
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.title {
|
||||
margin-bottom: 30px;
|
||||
color: #38454f;
|
||||
font-size: 30px;
|
||||
font-weight: normal;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
font-size: 26px;
|
||||
}
|
||||
}
|
|
@ -1,126 +0,0 @@
|
|||
label {
|
||||
display: inline-block;
|
||||
margin-bottom: 15px;
|
||||
color: #8197a2;
|
||||
font-size: 14px;
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
}
|
||||
|
||||
input {
|
||||
@extend %form-el;
|
||||
|
||||
&:focus {
|
||||
border-color: #08b3f2;
|
||||
}
|
||||
|
||||
&[type='radio'] {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
select {
|
||||
@include image-2x('./images/select@2x.png', 8px, 4px);
|
||||
@extend %form-el;
|
||||
appearance: none;
|
||||
padding-right: 30px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: right 13px center;
|
||||
background-image: url(./images/select.png);
|
||||
}
|
||||
|
||||
button {
|
||||
@extend %button;
|
||||
background-color: fade-out(#08b3f2, 0.9);
|
||||
color: #08b3f2;
|
||||
}
|
||||
|
||||
.radio {
|
||||
@extend %form-el;
|
||||
transition: 0.3s color,
|
||||
0.3s background-color,
|
||||
0.3s border-color;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
margin-bottom: 0;
|
||||
line-height: $input-height;
|
||||
|
||||
input[type='radio']:checked + & {
|
||||
border-color: #08b3f2;
|
||||
background-color: fade-out(#08b3f2, 0.9);
|
||||
color: #08b3f2;
|
||||
}
|
||||
|
||||
&_icon {
|
||||
padding-left: 37px;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 16px 16px;
|
||||
background-position: left 11px center;
|
||||
}
|
||||
|
||||
&_add {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAFVBMVEUAsvUAsvUAsvUAsvUAsvUAsvUAsvVmJ/ytAAAABnRSTlMASUrk5udXTd49AAAAPElEQVR4Ae3RIQKAAAzDwG5k/f+TwYIoEsROx0V3BaUEGyW+bPBVUDighCPeglGPg6P3xW8D7FHS8/x3AhBhBV+OMM67AAAAAElFTkSuQmCC);
|
||||
}
|
||||
|
||||
&_remove {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAFVBMVEUAsvUAsvUAsvUAsvUAsvUAsvUAsvVmJ/ytAAAABnRSTlMASUrk5udXTd49AAAATklEQVR4Ae3SQQqAMAxE0Wmc5P5H1k2gfijFnaBvWf5mStSGa+Ihct14F6QosiZH6D24nzw4j7wLEvsb/qMugn77g28G9Czw6h5b5PoeT61VCXCp8qCYAAAAAElFTkSuQmCC);
|
||||
}
|
||||
|
||||
&_swap {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAulBMVEUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvUAsvVktDOmAAAAPXRSTlMAAQIDBAUGETxARUlKS1BRUlNUVVdaXGFkZmdpamtuc3R2fH+IiYrR19ja3N7h4+bn6+3v8PHy9fj5+vz+d3lc/AAAALhJREFUeNqVk0cOwkAMAE0n1NBLgNAhQCCFTvz/b6GYPQS03hVznZF8sA0fBr5XBgU2Ih41Hn2Nj/qsn5Ifa/yI9RbKcQ0RnJFhK4KTLmi95P5ggKBDxRwY/ihsXRGCptiDCnO3KUKSVBqUtIOwp/LZC62PJ3eLF2gBzwR1xYyKYWJq4Yfld9G8opSoKwIfGVzdVTgiqHhy/+DfaU2+xvoV+TrrF+RN1ufvsW8ASyZAfJLnKDlOFYg3It9LpKV2sncAAAAASUVORK5CYII=);
|
||||
}
|
||||
|
||||
&:before,
|
||||
&:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
&:before {
|
||||
transition: 0.3s border-color;
|
||||
left: -40px;
|
||||
top: ($input-height - 24px) / 2;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
box-sizing: border-box;
|
||||
border: 1px solid #e5eef9;
|
||||
|
||||
input[type='radio']:checked + & {
|
||||
border-color: #08b3f2;
|
||||
}
|
||||
}
|
||||
|
||||
&:after {
|
||||
transition: 0.3s transform,
|
||||
0.3s opacity;
|
||||
transform: scale(0.5);
|
||||
opacity: 0;
|
||||
left: -34px;
|
||||
top: ($input-height - 12px) / 2;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background-color: #08b3f2;
|
||||
|
||||
input[type='radio']:checked + & {
|
||||
transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
&-container {
|
||||
margin-bottom: 20px;
|
||||
padding-left: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.form-el {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.hint {
|
||||
margin-top: 15px;
|
||||
color: #8197a2;
|
||||
line-height: 18px;
|
||||
font-size: 12px;
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(https://fonts.gstatic.com/s/opensans/v14/MTP_ySUJH_bn48VBG8sNShampu5_7CjHW5spxoeN3Vs.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzBampu5_7CjHW5spxoeN3Vs.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
color: #444;
|
||||
line-height: 1;
|
||||
font-size: 14px;
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
.footer {
|
||||
@extend %full-width;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
height: $footer-height;
|
||||
background-color: #6d2eae;
|
||||
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
height: auto;
|
||||
padding: 20px 10px 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
position: relative;
|
||||
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
padding-top: $footer-height - 20;
|
||||
}
|
||||
}
|
||||
|
||||
&-logo,
|
||||
.socials {
|
||||
transform: translateY(-50%);
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: 50%;
|
||||
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
transform: translateY(0);
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&-logo {
|
||||
@extend %logos;
|
||||
left: 0;
|
||||
width: 101px;
|
||||
height: 24px;
|
||||
background-position: 0 0
|
||||
}
|
||||
|
||||
&-rights {
|
||||
color: #fff;
|
||||
line-height: $footer-height;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
line-height: 30px;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
.header {
|
||||
margin-bottom: $desktop-indent;
|
||||
padding: 22px 0;
|
||||
background-color: #6d2eae;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
margin-bottom: $tablet-indent;
|
||||
}
|
||||
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
margin-bottom: $mobile-indent;
|
||||
}
|
||||
|
||||
.container {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
&-logo {
|
||||
@extend %logos;
|
||||
float: left;
|
||||
width: 149px;
|
||||
height: 35px;
|
||||
background-position: 0 -24px;
|
||||
}
|
||||
|
||||
&-settings,
|
||||
&-new-ballot {
|
||||
@extend %button;
|
||||
@extend %button_icon;
|
||||
float: right;
|
||||
border-radius: 3px;
|
||||
color: #fff;
|
||||
background-size: 12px 12px;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
padding: 0 20px;
|
||||
background-position: center center;
|
||||
font-size: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&-settings {
|
||||
margin-right: 15px;
|
||||
background-color: #7d58bb;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAflBMVEX///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+yfIzaAAAAKXRSTlMAAgQFBgwNDhAqKyxJSlJTVFVXZGVojo+Q19ja5Obn6+3u7/D19vf8/fmxL7QAAADLSURBVHgBfdHtVoJAGMTxUUwUZCtKRWzpxWj93/8Nti5LxDlbv68DzHkGTXbW7pRiwWpumcnDk5ctFe37y8MUPH58PsXne3D19oB32NYO+uGdxRvgrgRXB7wvFBjHjLtXVM8SV2tU3IKzyXNzvgWFRkeg3cjbtMAx3ktgYh+B38AyyBXcEZO/gk5Vl/rUS/VTfhrKT0CjUemA1qzXpgVcqf8PTEwS+xav6RHj7EWD15S/Ztf+a/ajLv2zomylKdAq05yFTilVF+8NvgGLASpP2eRPbAAAAABJRU5ErkJggg==);
|
||||
}
|
||||
|
||||
&-new-ballot {
|
||||
background-color: #08b3f2;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAFVBMVEX///////////////////////////9nSIHRAAAABnRSTlMASUrk5udXTd49AAAAOUlEQVR42tXQsQEAIAgDQcAn+4+snRZxAK79KokrIcNBwgYdc0Migwxk8Qsd1TJWDf/KQWobqt+9G4coA99W7as5AAAAAElFTkSuQmCC);
|
||||
}
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
.info {
|
||||
@include image-2x('./images/info@2x.png', 32px, 32px);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-left: 44px;
|
||||
min-height: 32px;
|
||||
background-image: url(./images/info.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #8197a2;
|
||||
|
||||
.ballots & {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
@keyframes fadeOut {
|
||||
0% {
|
||||
opacity: .2;
|
||||
}
|
||||
20% {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
100% {
|
||||
opacity: .2;
|
||||
transform: scale(0.3);
|
||||
}
|
||||
}
|
||||
|
||||
.loader {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
|
||||
&-container {
|
||||
position: fixed;
|
||||
z-index: 1000000;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
background-color: fade-out(#231d73, 0.2);
|
||||
}
|
||||
|
||||
&-i {
|
||||
animation-duration: 2s;
|
||||
animation-fill-mode: forwards;
|
||||
animation-iteration-count: infinite;
|
||||
animation-name: fadeOut;
|
||||
animation-timing-function: linear;
|
||||
opacity:.2;
|
||||
width: 9px;
|
||||
height: 9px;
|
||||
margin: 0 8px;
|
||||
border-radius: 50%;
|
||||
background-color: #fff;
|
||||
|
||||
&:nth-child(2) {
|
||||
animation-delay: .1s;
|
||||
}
|
||||
|
||||
&:nth-child(3) {
|
||||
animation-delay: .2s;
|
||||
}
|
||||
|
||||
&:nth-child(4) {
|
||||
animation-delay: .3s;
|
||||
}
|
||||
|
||||
&:nth-child(5) {
|
||||
animation-delay: .4s;
|
||||
}
|
||||
|
||||
&:nth-child(6) {
|
||||
animation-delay: .5s;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
.new {
|
||||
&-form {
|
||||
@extend %white-block;
|
||||
overflow: hidden;
|
||||
|
||||
&-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.add-ballot {
|
||||
white-space: nowrap;
|
||||
|
||||
@media screen and (max-width: $mobile-width) {
|
||||
margin-top: 20px;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
.settings {
|
||||
@extend %white-block;
|
||||
max-width: 600px;
|
||||
margin: 0 auto;
|
||||
|
||||
&-title {
|
||||
margin-bottom: 20px;
|
||||
color: #38454f;
|
||||
text-align: center;
|
||||
font-size: 24px;
|
||||
}
|
||||
}
|
|
@ -1,76 +0,0 @@
|
|||
.socials {
|
||||
font-size: 0;
|
||||
|
||||
.footer & {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
&-i {
|
||||
transition: 0.3s background-color;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border-radius: 50%;
|
||||
background-color: fade-out(#fff, 0.8);
|
||||
|
||||
&:not(:first-child) {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: fade-out(#fff, 0.6);
|
||||
}
|
||||
|
||||
&:before {
|
||||
@include image-2x('./images/socials@2x.png', 16px, 69px);
|
||||
transform: translate(-50%, -50%);
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
background-image: url(./images/socials.png);
|
||||
}
|
||||
|
||||
&_github {
|
||||
&:before {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
&_oracles {
|
||||
&:before {
|
||||
width: 16px;
|
||||
height: 14px;
|
||||
background-position: 0 -16px;
|
||||
}
|
||||
}
|
||||
|
||||
&_reddit {
|
||||
&:before {
|
||||
width: 15px;
|
||||
height: 13px;
|
||||
background-position: 0 -30px;
|
||||
}
|
||||
}
|
||||
|
||||
&_telegram {
|
||||
&:before {
|
||||
width: 16px;
|
||||
height: 14px;
|
||||
background-position: 0 -43px;
|
||||
}
|
||||
}
|
||||
|
||||
&_twitter {
|
||||
&:before {
|
||||
width: 15px;
|
||||
height: 12px;
|
||||
background-position: 0 -57px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,51 +0,0 @@
|
|||
.vote-scale {
|
||||
clear: left;
|
||||
overflow: hidden;
|
||||
height: 6px;
|
||||
margin-top: 30px;
|
||||
border-radius: 3px;
|
||||
background-color: fade-out(#e5eef9, 0.5);
|
||||
|
||||
&--fill {
|
||||
height: 100%;
|
||||
border-radius: 3px;
|
||||
|
||||
&_yes {
|
||||
background-color: #08b3f2;
|
||||
}
|
||||
|
||||
&_no {
|
||||
background-color: #6d2eae;
|
||||
}
|
||||
}
|
||||
|
||||
&--container {
|
||||
width: 100%;
|
||||
max-width: 343px;
|
||||
|
||||
@media screen and (max-width: $tablet-width) {
|
||||
float: right;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
&--value {
|
||||
float: left;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
&--votes,
|
||||
&--percentage {
|
||||
float: right;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
&--votes {
|
||||
margin-left: 10px;
|
||||
color: #8197a2;
|
||||
}
|
||||
|
||||
&--percentage {
|
||||
color: #08b3f2;
|
||||
}
|
||||
}
|
|
@ -1,82 +0,0 @@
|
|||
import React from 'react';
|
||||
|
||||
export class Ballots extends React.Component {
|
||||
render () {
|
||||
return (
|
||||
<section className="container ballots">
|
||||
<h1 className="title">Ballots</h1>
|
||||
<div className="ballots-i">
|
||||
<div className="ballots-about">
|
||||
<div className="ballots-about-i ballots-about-i_name">
|
||||
<div className="ballots-about-td">
|
||||
<p className="ballots-about-i--title">Name</p>
|
||||
</div>
|
||||
<div className="ballots-about-td">
|
||||
<p className="ballots-i--name">Suleyman Duyar</p>
|
||||
<p className="ballots-i--created">31/10/2017 7:22 AM</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="ballots-about-i ballots-about-i_proposal">
|
||||
<div className="ballots-about-td">
|
||||
<p className="ballots-about-i--title">Proposal</p>
|
||||
</div>
|
||||
<div className="ballots-about-td">
|
||||
<p>Remove notary Shawn Grey, Vermont ID: 55512345 ...</p>
|
||||
<a href="#" className="ballots-i--see-all-proposal">See All</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="ballots-about-i ballots-about-i_mining-key">
|
||||
<div className="ballots-about-td">
|
||||
<p className="ballots-about-i--title">Mining key</p>
|
||||
</div>
|
||||
<div className="ballots-about-td">
|
||||
<p>0xA1Cf735Ab55e9840Be820261D9b404959fcB5e41</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="ballots-about-i ballots-about-i_time">
|
||||
<div className="ballots-about-td">
|
||||
<p className="ballots-about-i--title">Time</p>
|
||||
</div>
|
||||
<div className="ballots-about-td">
|
||||
<p className="ballots-i--time">17:49</p>
|
||||
<p className="ballots-i--to-close">To close</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="ballots-i-scale">
|
||||
<div className="ballots-i-scale-column">
|
||||
<a href="#" className="ballots-i--vote ballots-i--vote_yes">Vote</a>
|
||||
<div className="vote-scale--container">
|
||||
<p className="vote-scale--value">Yes</p>
|
||||
<p className="vote-scale--votes">Votes: 40</p>
|
||||
<p className="vote-scale--percentage">40%</p>
|
||||
<div className="vote-scale">
|
||||
<div className="vote-scale--fill vote-scale--fill_yes" style={{width: '50%'}}></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="ballots-i-scale-column">
|
||||
<div className="vote-scale--container">
|
||||
<p className="vote-scale--value">No</p>
|
||||
<p className="vote-scale--votes">Votes: 10</p>
|
||||
<p className="vote-scale--percentage">20%</p>
|
||||
<div className="vote-scale">
|
||||
<div className="vote-scale--fill vote-scale--fill_no" style={{width: '30%'}}></div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" className="ballots-i--vote ballots-i--vote_no">Vote</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="info">
|
||||
Minimum 3 from 12 validators required to pass the proposal
|
||||
</div>
|
||||
<hr />
|
||||
<div className="ballots-footer">
|
||||
<a href="#" className="ballots-footer-finalize">Finalize ballot</a>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
export const Footer = () => (
|
||||
<footer className="footer">
|
||||
<div className="container">
|
||||
<p className="footer-rights">2017 POA Network. All rights reserved.</p>
|
||||
<Link to="/" className="footer-logo"></Link>
|
||||
<div className="socials">
|
||||
<a href="#" className="socials-i socials-i_reddit"></a>
|
||||
<a href="#" className="socials-i socials-i_twitter"></a>
|
||||
<a href="#" className="socials-i socials-i_oracles"></a>
|
||||
<a href="#" className="socials-i socials-i_telegram"></a>
|
||||
<a href="#" className="socials-i socials-i_github"></a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
);
|
|
@ -1,12 +0,0 @@
|
|||
import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
export const Header = () => (
|
||||
<header className="header">
|
||||
<div className="container">
|
||||
<Link to="/" className="header-logo"></Link>
|
||||
<Link to="/new" className="header-new-ballot">New ballot</Link>
|
||||
<Link to="/settings" className="header-settings">Settings</Link>
|
||||
</div>
|
||||
</header>
|
||||
);
|
|
@ -1,174 +0,0 @@
|
|||
import React from 'react';
|
||||
|
||||
export class NewBallot extends React.Component {
|
||||
render() {
|
||||
return (
|
||||
<section className="container new">
|
||||
<h1 className="title">New Ballot</h1>
|
||||
<form action="" className="new-form">
|
||||
<div className="hidden">
|
||||
<div className="left">
|
||||
<div className="radio-container">
|
||||
<input type="radio" name="ballot-type" id="ballot-for-validators" checked />
|
||||
<label for="ballot-for-validators" className="radio">Ballot for validators</label>
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
|
||||
eiusmod tempor incididunt ut labore
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="right">
|
||||
<div className="radio-container">
|
||||
<input type="radio" name="ballot-type" id="ballot-for-consensus" />
|
||||
<label for="ballot-for-consensus" className="radio">Ballot for consensus</label>
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
|
||||
eiusmod tempor incididunt ut labore
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<div className="hidden">
|
||||
<div className="left">
|
||||
<div className="form-el">
|
||||
<label for="full-name">Full Name</label>
|
||||
<input type="text" id="full-name" />
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="right">
|
||||
<div className="form-el">
|
||||
<label for="address">Address</label>
|
||||
<input type="text" id="address" />
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="left">
|
||||
<div className="form-el">
|
||||
<label for="state">State</label>
|
||||
<select id="state">
|
||||
<option value=""></option>
|
||||
<option value="">Alabama</option>
|
||||
<option value="">Florida</option>
|
||||
<option value="">New York</option>
|
||||
<option value="">Washington</option>
|
||||
</select>
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="right">
|
||||
<div className="form-el">
|
||||
<label for="zip-code">Zip Code</label>
|
||||
<input type="text" id="zip-code" />
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="left">
|
||||
<div className="form-el">
|
||||
<label for="license-id">License ID</label>
|
||||
<input type="text" id="license-id" />
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="right">
|
||||
<div className="form-el">
|
||||
<label for="license-expiration">License Expiration</label>
|
||||
<input type="text" id="license-expiration" />
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<div className="hidden">
|
||||
<div className="left">
|
||||
<div className="radio-container">
|
||||
<input type="radio" name="key-control" id="add-key" checked />
|
||||
<label for="add-key" className="radio radio_icon radio_add">Add key</label>
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
<div className="radio-container">
|
||||
<input type="radio" name="key-control" id="remove-key" />
|
||||
<label for="remove-key" className="radio radio_icon radio_remove">Remove key</label>
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
<div className="radio-container">
|
||||
<input type="radio" name="key-control" id="swap-key" />
|
||||
<label for="swap-key" className="radio radio_icon radio_swap">Swap key</label>
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="right">
|
||||
<div className="radio-container">
|
||||
<input type="radio" name="keys" id="mining-key" checked />
|
||||
<label for="mining-key" className="radio">Mining Key</label>
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
<div className="radio-container">
|
||||
<input type="radio" name="keys" id="payout-key" />
|
||||
<label for="payout-key" className="radio">Payout Key</label>
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
<div className="radio-container">
|
||||
<input type="radio" name="keys" id="voting-key" />
|
||||
<label for="voting-key" className="radio">Voting Key</label>
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="hidden">
|
||||
<div className="left">
|
||||
<div className="form-el">
|
||||
<label for="memo">Memo</label>
|
||||
<input type="text" id="memo" />
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="right">
|
||||
<div className="form-el">
|
||||
<label for="key">Key</label>
|
||||
<input type="text" id="key" />
|
||||
<p className="hint">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<div className="new-form-footer">
|
||||
<div className="info">
|
||||
Minimum 3 from 12 validators required to pass the proposal
|
||||
</div>
|
||||
<button type="button" className="add-ballot">Add ballot</button>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
import React from 'react';
|
||||
|
||||
export class Settings extends React.Component {
|
||||
render () {
|
||||
return (
|
||||
<section className="container">
|
||||
<div className="settings">
|
||||
<p className="settings-title">Select Voting Key</p>
|
||||
<div className="form-el">
|
||||
<select id="state">
|
||||
<option value="" default>Al12s23d34d3d3dd3dq3234frvrt5</option>
|
||||
</select>
|
||||
<div className="hint">
|
||||
Please select your voting key from the list. You will be able to change it later in Settings menu.
|
||||
</div>
|
||||
</div>
|
||||
<div className="center">
|
||||
<button type="button">Continue</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
export { Ballots } from './Ballots';
|
||||
export { Header } from './Header';
|
||||
export { NewBallot } from './NewBallot';
|
||||
export { Settings } from './Settings';
|
||||
export { Footer } from './Footer';
|
|
@ -1,22 +0,0 @@
|
|||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import { BrowserRouter } from 'react-router-dom';
|
||||
import App from './App';
|
||||
import registerServiceWorker from './registerServiceWorker';
|
||||
import swal from 'sweetalert2';
|
||||
|
||||
if (window.web3) {
|
||||
ReactDOM.render((
|
||||
<BrowserRouter>
|
||||
<App />
|
||||
</BrowserRouter>
|
||||
), document.getElementById('root'));
|
||||
} else {
|
||||
swal(
|
||||
'Please use a web3 browser',
|
||||
"You aren't connected to POA Network. Please, switch on Oracles plugin and refresh the page. Check Oracles network <a href='https://github.com/poanetwork/wiki' target='blank'>wiki</a> for more info.",
|
||||
'error'
|
||||
);
|
||||
}
|
||||
|
||||
registerServiceWorker();
|
|
@ -1,108 +0,0 @@
|
|||
// In production, we register a service worker to serve assets from local cache.
|
||||
|
||||
// This lets the app load faster on subsequent visits in production, and gives
|
||||
// it offline capabilities. However, it also means that developers (and users)
|
||||
// will only see deployed updates on the "N+1" visit to a page, since previously
|
||||
// cached resources are updated in the background.
|
||||
|
||||
// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.
|
||||
// This link also includes instructions on opting out of this behavior.
|
||||
|
||||
const isLocalhost = Boolean(
|
||||
window.location.hostname === 'localhost' ||
|
||||
// [::1] is the IPv6 localhost address.
|
||||
window.location.hostname === '[::1]' ||
|
||||
// 127.0.0.1/8 is considered localhost for IPv4.
|
||||
window.location.hostname.match(
|
||||
/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
|
||||
)
|
||||
);
|
||||
|
||||
export default function register() {
|
||||
if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
|
||||
// The URL constructor is available in all browsers that support SW.
|
||||
const publicUrl = new URL(process.env.PUBLIC_URL, window.location);
|
||||
if (publicUrl.origin !== window.location.origin) {
|
||||
// Our service worker won't work if PUBLIC_URL is on a different origin
|
||||
// from what our page is served on. This might happen if a CDN is used to
|
||||
// serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374
|
||||
return;
|
||||
}
|
||||
|
||||
window.addEventListener('load', () => {
|
||||
const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
|
||||
|
||||
if (isLocalhost) {
|
||||
// This is running on localhost. Lets check if a service worker still exists or not.
|
||||
checkValidServiceWorker(swUrl);
|
||||
} else {
|
||||
// Is not local host. Just register service worker
|
||||
registerValidSW(swUrl);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function registerValidSW(swUrl) {
|
||||
navigator.serviceWorker
|
||||
.register(swUrl)
|
||||
.then(registration => {
|
||||
registration.onupdatefound = () => {
|
||||
const installingWorker = registration.installing;
|
||||
installingWorker.onstatechange = () => {
|
||||
if (installingWorker.state === 'installed') {
|
||||
if (navigator.serviceWorker.controller) {
|
||||
// At this point, the old content will have been purged and
|
||||
// the fresh content will have been added to the cache.
|
||||
// It's the perfect time to display a "New content is
|
||||
// available; please refresh." message in your web app.
|
||||
console.log('New content is available; please refresh.');
|
||||
} else {
|
||||
// At this point, everything has been precached.
|
||||
// It's the perfect time to display a
|
||||
// "Content is cached for offline use." message.
|
||||
console.log('Content is cached for offline use.');
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
})
|
||||
.catch(error => {
|
||||
console.error('Error during service worker registration:', error);
|
||||
});
|
||||
}
|
||||
|
||||
function checkValidServiceWorker(swUrl) {
|
||||
// Check if the service worker can be found. If it can't reload the page.
|
||||
fetch(swUrl)
|
||||
.then(response => {
|
||||
// Ensure service worker exists, and that we really are getting a JS file.
|
||||
if (
|
||||
response.status === 404 ||
|
||||
response.headers.get('content-type').indexOf('javascript') === -1
|
||||
) {
|
||||
// No service worker found. Probably a different app. Reload the page.
|
||||
navigator.serviceWorker.ready.then(registration => {
|
||||
registration.unregister().then(() => {
|
||||
window.location.reload();
|
||||
});
|
||||
});
|
||||
} else {
|
||||
// Service worker found. Proceed as normal.
|
||||
registerValidSW(swUrl);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
console.log(
|
||||
'No internet connection found. App is running in offline mode.'
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
export function unregister() {
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker.ready.then(registration => {
|
||||
registration.unregister();
|
||||
});
|
||||
}
|
||||
}
|