summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/admin/out.js4
-rw-r--r--client/login/out.js6
-rw-r--r--client/src/admin/data/translations.js8
-rw-r--r--client/src/admin/scss/_forms.scss5
-rw-r--r--client/src/admin/scss/_globals.scss14
-rw-r--r--client/src/admin/scss/_info.scss1
-rw-r--r--client/src/admin/scss/_main.scss1
-rw-r--r--client/src/admin/scss/_mainScreen.scss24
-rw-r--r--client/src/admin/scss/_topBar.scss9
-rw-r--r--client/src/login/jsx/LoginPanel.jsx16
-rw-r--r--client/src/login/scss/_loginPanel.scss34
11 files changed, 82 insertions, 40 deletions
diff --git a/client/admin/out.js b/client/admin/out.js
index 54b11ef..12bed43 100644
--- a/client/admin/out.js
+++ b/client/admin/out.js
@@ -154,7 +154,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultLanguage\", function() { return defaultLanguage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fallbackLanguage\", function() { return fallbackLanguage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"translations\", function() { return translations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"languages\", function() { return languages; });\nconst defaultLanguage = 'en';\nconst fallbackLanguage = 'en';\nconst translations = {\n \"en\": {\n \"main-title\": \"Website Manager\",\n \"login-to-admin\": \"Login to Admin Panel\",\n \"login-info\": \"Put your user name and password, then click login button\",\n \"login\": \"Login\",\n \"user\": \"User name\",\n \"password\": \"Password\",\n \"no-saved-websites\": \"You don't have any saved projects, create a new one\",\n \"create-new-project\": \"Create new project\",\n \"create-new-project-hover\": \"Click to create new project\",\n \"edit-current-project\": \"Edit current project\",\n \"edit-current-project-hover\": \"Click to edit current active projecct\",\n \"show-saved-projects\": \"Show saved projects\",\n \"show-saved-projects-hover\": \"Click to show list of all saved projects\",\n \"click-to-change-language\": \"Click to change language in the website manager\",\n \"click-to-change-user\": \"Click to logout or change user password\",\n \"logout\": \"Logout\",\n \"click-to-logout\": \"Click to logout/change current user\",\n \"user-settings\": \"User settings\",\n \"click-to-change-user-settings\": \"Click to change user name, password or to completely remove current user\",\n },\n \"de\": {\n \"main-title\": \"Website Manager\",\n },\n \"es\": {\n \"main-title\": \"Website Manager\",\n },\n \"pl\": {\n \"main-title\": \"Website Manager\",\n \"login-to-admin\": \"Zaloguj do Panelu Administracyjnego\",\n \"no-saved-websites\": \"Nie masz jeszcze żadnych zapisanych projektów, utwórz nowy\",\n \"create-new-project\": \"Utwórz nowy projekt\",\n \"edit-current-project\": \"Edytuj bieżący projekt\",\n \"show-saved-projects\": \"Pokaż zapisane projekty\",\n },\n};\n\nconst languages = Object.keys(translations);\n\n\n//# sourceURL=webpack:///./client/src/admin/data/translations.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultLanguage\", function() { return defaultLanguage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fallbackLanguage\", function() { return fallbackLanguage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"translations\", function() { return translations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"languages\", function() { return languages; });\nconst defaultLanguage = 'en';\nconst fallbackLanguage = 'en';\nconst translations = {\n \"en\": {\n \"main-title\": \"Website Manager\",\n \"login-to-admin\": \"Login to Admin Panel\",\n \"login-info\": \"Put your email and password, then click login button\",\n \"login\": \"Login\",\n \"email\": \"Email\",\n \"password\": \"Password\",\n \"no-saved-websites\": \"You don't have any saved projects, create a new one\",\n \"create-new-project\": \"Create new project\",\n \"create-new-project-hover\": \"Click to create new project\",\n \"edit-current-project\": \"Edit current project\",\n \"edit-current-project-hover\": \"Click to edit current active projecct\",\n \"show-saved-projects\": \"Show saved projects\",\n \"show-saved-projects-hover\": \"Click to show list of all saved projects\",\n \"click-to-change-language\": \"Click to change language in the website manager\",\n \"click-to-change-user\": \"Click to logout or change user settings\",\n \"logout\": \"Logout\",\n \"click-to-logout\": \"Click to logout current user\",\n \"user-settings\": \"User settings\",\n \"click-to-change-user-settings\": \"Click to change user name, password or to completely remove current user\",\n },\n \"de\": {\n \"main-title\": \"Website Manager\",\n },\n \"es\": {\n \"main-title\": \"Website Manager\",\n },\n \"pl\": {\n \"main-title\": \"Website Manager\",\n \"login-to-admin\": \"Zaloguj do Panelu Administracyjnego\",\n \"no-saved-websites\": \"Nie masz jeszcze żadnych zapisanych projektów, utwórz nowy\",\n \"create-new-project\": \"Utwórz nowy projekt\",\n \"edit-current-project\": \"Edytuj bieżący projekt\",\n \"show-saved-projects\": \"Pokaż zapisane projekty\",\n },\n};\n\nconst languages = Object.keys(translations);\n\n\n//# sourceURL=webpack:///./client/src/admin/data/translations.js?");
/***/ }),
@@ -284,7 +284,7 @@ eval("\nvar content = __webpack_require__(/*! !../../../../node_modules/css-load
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
-eval("exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"* {\\n box-sizing: border-box; }\\n\\nhtml, body, div, span, applet, object, iframe,\\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\\na, abbr, acronym, address, big, cite, code,\\ndel, dfn, em, img, ins, kbd, q, s, samp,\\nsmall, strike, strong, sub, sup, tt, var,\\nb, u, i, center,\\ndl, dt, dd, ol, ul, li,\\nfieldset, form, label, legend,\\ntable, caption, tbody, tfoot, thead, tr, th, td,\\narticle, aside, canvas, details, embed,\\nfigure, figcaption, footer, header, hgroup,\\nmenu, nav, output, ruby, section, summary,\\ntime, mark, audio, video {\\n margin: 0;\\n padding: 0;\\n border: 0;\\n font-size: 100%;\\n font: inherit;\\n vertical-align: baseline; }\\n\\narticle, aside, details, figcaption, figure,\\nfooter, header, hgroup, menu, nav, section {\\n display: block; }\\n\\nbody {\\n line-height: 1; }\\n\\nol, ul {\\n list-style: none; }\\n\\nblockquote, q {\\n quotes: none; }\\n\\nblockquote:before, blockquote:after,\\nq:before, q:after {\\n content: '';\\n content: none; }\\n\\ntable {\\n border-collapse: collapse;\\n border-spacing: 0; }\\n\\nhtml {\\n min-width: 320px;\\n background: white; }\\n\\nhtml {\\n background: #181818; }\\n\\n* {\\n -webkit-user-select: none;\\n -khtml-user-select: none;\\n -moz-user-select: -moz-none;\\n -o-user-select: none;\\n user-select: none; }\\n\\n.text-input {\\n text-align: left;\\n margin-bottom: 1.5em;\\n transition: all .3s;\\n cursor: text; }\\n .text-input:focus-within {\\n transform: scale(1.05, 1.05); }\\n\\n.text-input-label {\\n font-size: 1.25em;\\n width: 100%;\\n color: #aaa;\\n display: block;\\n transform: translateY(-1.75em);\\n transform-origin: 0 0;\\n transition: all .3s;\\n z-index: -1;\\n cursor: text; }\\n\\n.text-input-field {\\n font-size: 1.5rem;\\n box-shadow: none;\\n background: #181818;\\n color: #fff;\\n border-radius: 0;\\n border-color: #ccc;\\n border-style: none none solid none;\\n width: 100%;\\n transition: all .5s;\\n padding: 5px; }\\n .text-input-field::placeholder {\\n color: transparent; }\\n .text-input-field:focus {\\n box-shadow: none;\\n outline: none;\\n border-color: orange; }\\n .text-input-field:focus + .text-input-label,\\n .text-input-field:not(:placeholder-shown) + .text-input-label {\\n transform: translateY(-3em) scale(0.8); }\\n\\n.main {\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0; }\\n .main__content {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column; }\\n\\n.info {\\n display: block;\\n color: #ddd;\\n flex-grow: 0;\\n text-align: center;\\n padding-bottom: 3vh;\\n padding-top: 3vh; }\\n\\n@keyframes showTopMenu {\\n 0% {\\n transform: translateY(100%) scale(0.8);\\n opacity: 0; }\\n 80% {\\n transform: translateY(100%) scale(1.1);\\n opacity: 100%; }\\n 100% {\\n transform: translateY(100%) scale(1);\\n opacity: 100%; } }\\n\\n.top-bar {\\n flex-grow: 0;\\n display: flex;\\n justify-content: end;\\n padding: 1em; }\\n .top-bar__fog {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0; }\\n\\n.user {\\n position: relative; }\\n .user__list {\\n position: absolute;\\n display: block;\\n bottom: 0;\\n right: 0;\\n transform: translateY(100%);\\n background: #222;\\n animation: showTopMenu .3s; }\\n .user__main-item {\\n color: #fff;\\n display: block;\\n padding: .5em;\\n white-space: nowrap;\\n transition: color .3s;\\n cursor: pointer; }\\n .user__main-item--active {\\n background: #222;\\n color: orange; }\\n .user__main-item:hover {\\n color: orange; }\\n .user__item {\\n display: block;\\n color: #fff;\\n padding: .5em;\\n font-weight: normal;\\n transition: color .3s;\\n cursor: pointer;\\n white-space: nowrap;\\n text-align: right; }\\n .user__item:hover {\\n color: orange; }\\n\\n.lang-switch {\\n display: inline-block;\\n position: relative; }\\n .lang-switch__list {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n transform: translateY(100%);\\n background: #222;\\n animation: showTopMenu .3s; }\\n .lang-switch__main-item {\\n transition: .3s color;\\n padding: .5em;\\n display: block;\\n color: #fff;\\n font-weight: normal;\\n cursor: pointer; }\\n .lang-switch__main-item:hover {\\n color: orange; }\\n .lang-switch__main-item--active {\\n background: #222;\\n color: orange; }\\n .lang-switch__item {\\n padding: .5em;\\n display: block;\\n color: #fff;\\n font-weight: normal;\\n cursor: pointer;\\n transition: color .3s; }\\n .lang-switch__item:hover {\\n color: orange; }\\n\\n.main-screen {\\n text-align: center; }\\n .main-screen__header {\\n display: block;\\n margin-top: 10vh;\\n margin-bottom: 20vh;\\n font-size: 300%;\\n color: white;\\n text-align: center; }\\n .main-screen__list {\\n display: inline-block; }\\n .main-screen__item {\\n font-size: 175%;\\n color: white;\\n transition: color .3s;\\n cursor: pointer;\\n margin-top: 5vh;\\n margin-bottom: 5vh; }\\n .main-screen__item:hover {\\n color: orange; }\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./client/src/admin/scss/index.scss?./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js");
+eval("exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"* {\\n box-sizing: border-box; }\\n\\nhtml, body, div, span, applet, object, iframe,\\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\\na, abbr, acronym, address, big, cite, code,\\ndel, dfn, em, img, ins, kbd, q, s, samp,\\nsmall, strike, strong, sub, sup, tt, var,\\nb, u, i, center,\\ndl, dt, dd, ol, ul, li,\\nfieldset, form, label, legend,\\ntable, caption, tbody, tfoot, thead, tr, th, td,\\narticle, aside, canvas, details, embed,\\nfigure, figcaption, footer, header, hgroup,\\nmenu, nav, output, ruby, section, summary,\\ntime, mark, audio, video {\\n margin: 0;\\n padding: 0;\\n border: 0;\\n font-size: 100%;\\n font: inherit;\\n vertical-align: baseline; }\\n\\narticle, aside, details, figcaption, figure,\\nfooter, header, hgroup, menu, nav, section {\\n display: block; }\\n\\nbody {\\n line-height: 1; }\\n\\nol, ul {\\n list-style: none; }\\n\\nblockquote, q {\\n quotes: none; }\\n\\nblockquote:before, blockquote:after,\\nq:before, q:after {\\n content: '';\\n content: none; }\\n\\ntable {\\n border-collapse: collapse;\\n border-spacing: 0; }\\n\\nhtml {\\n min-width: 320px;\\n background: white; }\\n\\nhtml {\\n background: #181818; }\\n\\n* {\\n -webkit-user-select: none;\\n -khtml-user-select: none;\\n -moz-user-select: -moz-none;\\n -o-user-select: none;\\n user-select: none; }\\n\\np {\\n line-height: 1.5; }\\n\\n.text-input {\\n text-align: left;\\n margin-bottom: 1.5em;\\n transition: all .3s;\\n cursor: text; }\\n .text-input:focus-within {\\n transform: scale(1.05, 1.05); }\\n\\n.text-input-label {\\n font-size: 1em;\\n width: 100%;\\n color: #aaa;\\n display: block;\\n transform: translateY(-1.75em);\\n transform-origin: 0 0;\\n transition: all .3s;\\n z-index: -1;\\n cursor: text;\\n pointer-events: none; }\\n\\n.text-input-field {\\n font-size: 1.25rem;\\n box-shadow: none;\\n background: #181818;\\n color: #fff;\\n border-radius: 0;\\n border-color: #ccc;\\n border-style: none none solid none;\\n width: 100%;\\n transition: all .5s;\\n padding: 5px; }\\n .text-input-field::placeholder {\\n color: transparent; }\\n .text-input-field:focus {\\n box-shadow: none;\\n outline: none;\\n border-color: orange; }\\n .text-input-field:focus + .text-input-label,\\n .text-input-field:not(:placeholder-shown) + .text-input-label {\\n transform: translateY(-3em) scale(0.8); }\\n\\n.main {\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n position: fixed;\\n padding: 1em 1.5em 1.5em 1.5em;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0; }\\n .main__content {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column; }\\n\\n.info {\\n display: block;\\n color: #ddd;\\n flex-grow: 0;\\n text-align: center;\\n padding-top: 3vh; }\\n\\n@keyframes showTopMenu {\\n 0% {\\n transform: translateY(100%) scale(0.8);\\n opacity: 0; }\\n 80% {\\n transform: translateY(100%) scale(1.1);\\n opacity: 100%; }\\n 100% {\\n transform: translateY(100%) scale(1);\\n opacity: 100%; } }\\n\\n.top-bar {\\n width: 100%;\\n text-align: right;\\n white-space: nowrap;\\n padding-bottom: 1em; }\\n .top-bar__fog {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0; }\\n\\n.user {\\n position: relative;\\n display: inline-block; }\\n .user__list {\\n position: absolute;\\n display: block;\\n bottom: 0;\\n right: 0;\\n transform: translateY(100%);\\n background: #222;\\n animation: showTopMenu .3s; }\\n .user__main-item {\\n color: #fff;\\n display: block;\\n padding: .5em;\\n white-space: nowrap;\\n transition: color .3s;\\n cursor: pointer; }\\n .user__main-item--active {\\n background: #222;\\n color: orange; }\\n .user__main-item:hover {\\n color: orange; }\\n .user__item {\\n display: block;\\n color: #fff;\\n padding: .5em;\\n font-weight: normal;\\n transition: color .3s;\\n cursor: pointer;\\n white-space: nowrap;\\n text-align: right; }\\n .user__item:hover {\\n color: orange; }\\n\\n.lang-switch {\\n display: inline-block;\\n position: relative; }\\n .lang-switch__list {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n transform: translateY(100%);\\n background: #222;\\n animation: showTopMenu .3s; }\\n .lang-switch__main-item {\\n transition: .3s color;\\n padding: .5em;\\n display: block;\\n color: #fff;\\n font-weight: normal;\\n cursor: pointer; }\\n .lang-switch__main-item:hover {\\n color: orange; }\\n .lang-switch__main-item--active {\\n background: #222;\\n color: orange; }\\n .lang-switch__item {\\n padding: .5em;\\n display: block;\\n color: #fff;\\n font-weight: normal;\\n cursor: pointer;\\n transition: color .3s; }\\n .lang-switch__item:hover {\\n color: orange; }\\n\\n.main-screen {\\n text-align: center; }\\n\\n@keyframes shine {\\n 0% {\\n background-size: 220% 100%; }\\n 10% {\\n background-position: 0 100%; }\\n 100% {\\n background-position: 0 100%; } }\\n .main-screen__header {\\n display: block;\\n margin-top: 10vh;\\n margin-bottom: 20vh;\\n font-size: 2.5em;\\n font-weight: bold;\\n color: #fff;\\n text-align: center;\\n position: relative;\\n overflow: hidden;\\n background: linear-gradient(to right, #fff 50%, orange 55%, #fff 60%);\\n background-clip: text;\\n -webkit-background-clip: text;\\n -webkit-text-fill-color: transparent;\\n background-position: 110%;\\n animation: shine 15s ease-out;\\n background-size: 220% 100%;\\n animation-iteration-count: infinite;\\n animation-delay: 8s; }\\n .main-screen__list {\\n display: inline-block; }\\n .main-screen__item {\\n font-size: 1.5em;\\n color: white;\\n transition: color .3s;\\n cursor: pointer;\\n margin-top: 5vh;\\n margin-bottom: 5vh; }\\n .main-screen__item:hover {\\n color: orange; }\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./client/src/admin/scss/index.scss?./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js");
/***/ }),
diff --git a/client/login/out.js b/client/login/out.js
index 5975d1e..cda39cd 100644
--- a/client/login/out.js
+++ b/client/login/out.js
@@ -154,7 +154,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultLanguage\", function() { return defaultLanguage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fallbackLanguage\", function() { return fallbackLanguage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"translations\", function() { return translations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"languages\", function() { return languages; });\nconst defaultLanguage = 'en';\nconst fallbackLanguage = 'en';\nconst translations = {\n \"en\": {\n \"main-title\": \"Website Manager\",\n \"login-to-admin\": \"Login to Admin Panel\",\n \"login-info\": \"Put your user name and password, then click login button\",\n \"login\": \"Login\",\n \"user\": \"User name\",\n \"password\": \"Password\",\n \"no-saved-websites\": \"You don't have any saved projects, create a new one\",\n \"create-new-project\": \"Create new project\",\n \"create-new-project-hover\": \"Click to create new project\",\n \"edit-current-project\": \"Edit current project\",\n \"edit-current-project-hover\": \"Click to edit current active projecct\",\n \"show-saved-projects\": \"Show saved projects\",\n \"show-saved-projects-hover\": \"Click to show list of all saved projects\",\n \"click-to-change-language\": \"Click to change language in the website manager\",\n \"click-to-change-user\": \"Click to logout or change user password\",\n \"logout\": \"Logout\",\n \"click-to-logout\": \"Click to logout/change current user\",\n \"user-settings\": \"User settings\",\n \"click-to-change-user-settings\": \"Click to change user name, password or to completely remove current user\",\n },\n \"de\": {\n \"main-title\": \"Website Manager\",\n },\n \"es\": {\n \"main-title\": \"Website Manager\",\n },\n \"pl\": {\n \"main-title\": \"Website Manager\",\n \"login-to-admin\": \"Zaloguj do Panelu Administracyjnego\",\n \"no-saved-websites\": \"Nie masz jeszcze żadnych zapisanych projektów, utwórz nowy\",\n \"create-new-project\": \"Utwórz nowy projekt\",\n \"edit-current-project\": \"Edytuj bieżący projekt\",\n \"show-saved-projects\": \"Pokaż zapisane projekty\",\n },\n};\n\nconst languages = Object.keys(translations);\n\n\n//# sourceURL=webpack:///./client/src/admin/data/translations.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultLanguage\", function() { return defaultLanguage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fallbackLanguage\", function() { return fallbackLanguage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"translations\", function() { return translations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"languages\", function() { return languages; });\nconst defaultLanguage = 'en';\nconst fallbackLanguage = 'en';\nconst translations = {\n \"en\": {\n \"main-title\": \"Website Manager\",\n \"login-to-admin\": \"Login to Admin Panel\",\n \"login-info\": \"Put your email and password, then click login button\",\n \"login\": \"Login\",\n \"email\": \"Email\",\n \"password\": \"Password\",\n \"no-saved-websites\": \"You don't have any saved projects, create a new one\",\n \"create-new-project\": \"Create new project\",\n \"create-new-project-hover\": \"Click to create new project\",\n \"edit-current-project\": \"Edit current project\",\n \"edit-current-project-hover\": \"Click to edit current active projecct\",\n \"show-saved-projects\": \"Show saved projects\",\n \"show-saved-projects-hover\": \"Click to show list of all saved projects\",\n \"click-to-change-language\": \"Click to change language in the website manager\",\n \"click-to-change-user\": \"Click to logout or change user settings\",\n \"logout\": \"Logout\",\n \"click-to-logout\": \"Click to logout current user\",\n \"user-settings\": \"User settings\",\n \"click-to-change-user-settings\": \"Click to change user name, password or to completely remove current user\",\n },\n \"de\": {\n \"main-title\": \"Website Manager\",\n },\n \"es\": {\n \"main-title\": \"Website Manager\",\n },\n \"pl\": {\n \"main-title\": \"Website Manager\",\n \"login-to-admin\": \"Zaloguj do Panelu Administracyjnego\",\n \"no-saved-websites\": \"Nie masz jeszcze żadnych zapisanych projektów, utwórz nowy\",\n \"create-new-project\": \"Utwórz nowy projekt\",\n \"edit-current-project\": \"Edytuj bieżący projekt\",\n \"show-saved-projects\": \"Pokaż zapisane projekty\",\n },\n};\n\nconst languages = Object.keys(translations);\n\n\n//# sourceURL=webpack:///./client/src/admin/data/translations.js?");
/***/ }),
@@ -274,7 +274,7 @@ eval("\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { va
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _login = __webpack_require__(/*! ../api/login */ \"./client/src/login/api/login.js\");\n\nvar _login2 = _interopRequireDefault(_login);\n\nvar _hocs = __webpack_require__(/*! ../../admin/hocs */ \"./client/src/admin/hocs/index.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar LoginPanel = function LoginPanel() {\n var _useState = (0, _react.useState)(''),\n _useState2 = _slicedToArray(_useState, 2),\n email = _useState2[0],\n setEmail = _useState2[1];\n\n var _useState3 = (0, _react.useState)(''),\n _useState4 = _slicedToArray(_useState3, 2),\n password = _useState4[0],\n setPassword = _useState4[1];\n\n var _useState5 = (0, _react.useState)(false),\n _useState6 = _slicedToArray(_useState5, 2),\n active = _useState6[0],\n setActive = _useState6[1];\n\n (0, _react.useEffect)(function () {\n var emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n emailRegex.test(email) && password.length > 5 ? setActive(true) : setActive(false);\n }, [email, password]);\n\n var submit = function submit(e) {\n e.preventDefault();\n (0, _login2.default)({ email: email, password: password });\n };\n\n return _react2.default.createElement(\n 'div',\n { className: 'login-panel' },\n _react2.default.createElement(\n 'form',\n { className: 'login-panel__form', onSubmit: submit },\n _react2.default.createElement(\n 'p',\n { className: 'login-panel__header' },\n (0, _hocs.t)('login-to-admin')\n ),\n _react2.default.createElement(\n 'div',\n { className: 'text-input' },\n _react2.default.createElement('input', {\n onChange: function onChange(e) {\n return setEmail(e.target.value);\n },\n placeholder: (0, _hocs.t)('user'),\n id: 'admin-user-name',\n name: 'admin-user-name',\n type: 'text',\n className: 'text-input-field',\n value: email\n }),\n _react2.default.createElement(\n 'label',\n { htmlFor: 'admin-user-name', className: 'text-input-label' },\n (0, _hocs.t)('user')\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'text-input' },\n _react2.default.createElement('input', {\n onChange: function onChange(e) {\n return setPassword(e.target.value);\n },\n placeholder: (0, _hocs.t)('password'),\n id: 'admin-password',\n name: 'admin-password',\n type: 'password',\n className: 'text-input-field',\n value: password\n }),\n _react2.default.createElement(\n 'label',\n { htmlFor: 'admin-password', className: 'text-input-label' },\n (0, _hocs.t)('password')\n )\n ),\n _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement('input', {\n type: 'submit',\n className: 'login-panel__button' + (active ? ' active' : ''),\n value: (0, _hocs.t)('login')\n })\n )\n )\n );\n};\n\nexports.default = LoginPanel;\n\n//# sourceURL=webpack:///./client/src/login/jsx/LoginPanel.jsx?");
+eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _login = __webpack_require__(/*! ../api/login */ \"./client/src/login/api/login.js\");\n\nvar _login2 = _interopRequireDefault(_login);\n\nvar _hocs = __webpack_require__(/*! ../../admin/hocs */ \"./client/src/admin/hocs/index.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar LoginPanel = function LoginPanel() {\n var _useState = (0, _react.useState)(''),\n _useState2 = _slicedToArray(_useState, 2),\n email = _useState2[0],\n setEmail = _useState2[1];\n\n var _useState3 = (0, _react.useState)(''),\n _useState4 = _slicedToArray(_useState3, 2),\n password = _useState4[0],\n setPassword = _useState4[1];\n\n var _useState5 = (0, _react.useState)(false),\n _useState6 = _slicedToArray(_useState5, 2),\n active = _useState6[0],\n setActive = _useState6[1];\n\n (0, _react.useEffect)(function () {\n var emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n emailRegex.test(email) && password.length > 5 ? setActive(true) : setActive(false);\n }, [email, password]);\n\n var submit = function submit(e) {\n e.preventDefault();\n active && (0, _login2.default)({ email: email, password: password });\n };\n\n return _react2.default.createElement(\n 'div',\n { className: 'login-panel' },\n _react2.default.createElement(\n 'p',\n { className: 'login-panel__header' },\n (0, _hocs.t)('login-to-admin')\n ),\n _react2.default.createElement(\n 'form',\n { className: 'login-panel__form', onSubmit: submit },\n _react2.default.createElement(\n 'div',\n { className: 'text-input' },\n _react2.default.createElement('input', {\n onChange: function onChange(e) {\n return setEmail(e.target.value);\n },\n placeholder: (0, _hocs.t)('email'),\n id: 'admin-email',\n name: 'admin-email',\n type: 'text',\n className: 'text-input-field',\n value: email\n }),\n _react2.default.createElement(\n 'label',\n { htmlFor: 'admin-user-name', className: 'text-input-label' },\n (0, _hocs.t)('email')\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'text-input' },\n _react2.default.createElement('input', {\n onChange: function onChange(e) {\n return setPassword(e.target.value);\n },\n placeholder: (0, _hocs.t)('password'),\n id: 'admin-password',\n name: 'admin-password',\n type: 'password',\n className: 'text-input-field',\n value: password\n }),\n _react2.default.createElement(\n 'label',\n { htmlFor: 'admin-password', className: 'text-input-label' },\n (0, _hocs.t)('password')\n )\n ),\n _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement('input', {\n type: 'submit',\n className: 'login-panel__button' + (active ? ' active' : ''),\n value: (0, _hocs.t)('login')\n })\n )\n )\n );\n};\n\nexports.default = LoginPanel;\n\n//# sourceURL=webpack:///./client/src/login/jsx/LoginPanel.jsx?");
/***/ }),
@@ -296,7 +296,7 @@ eval("\nvar content = __webpack_require__(/*! !../../../../node_modules/css-load
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
-eval("exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"* {\\n box-sizing: border-box; }\\n\\nhtml, body, div, span, applet, object, iframe,\\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\\na, abbr, acronym, address, big, cite, code,\\ndel, dfn, em, img, ins, kbd, q, s, samp,\\nsmall, strike, strong, sub, sup, tt, var,\\nb, u, i, center,\\ndl, dt, dd, ol, ul, li,\\nfieldset, form, label, legend,\\ntable, caption, tbody, tfoot, thead, tr, th, td,\\narticle, aside, canvas, details, embed,\\nfigure, figcaption, footer, header, hgroup,\\nmenu, nav, output, ruby, section, summary,\\ntime, mark, audio, video {\\n margin: 0;\\n padding: 0;\\n border: 0;\\n font-size: 100%;\\n font: inherit;\\n vertical-align: baseline; }\\n\\narticle, aside, details, figcaption, figure,\\nfooter, header, hgroup, menu, nav, section {\\n display: block; }\\n\\nbody {\\n line-height: 1; }\\n\\nol, ul {\\n list-style: none; }\\n\\nblockquote, q {\\n quotes: none; }\\n\\nblockquote:before, blockquote:after,\\nq:before, q:after {\\n content: '';\\n content: none; }\\n\\ntable {\\n border-collapse: collapse;\\n border-spacing: 0; }\\n\\nhtml {\\n min-width: 320px;\\n background: white; }\\n\\nhtml {\\n background: #181818; }\\n\\n* {\\n -webkit-user-select: none;\\n -khtml-user-select: none;\\n -moz-user-select: -moz-none;\\n -o-user-select: none;\\n user-select: none; }\\n\\n.text-input {\\n text-align: left;\\n margin-bottom: 1.5em;\\n transition: all .3s;\\n cursor: text; }\\n .text-input:focus-within {\\n transform: scale(1.05, 1.05); }\\n\\n.text-input-label {\\n font-size: 1.25em;\\n width: 100%;\\n color: #aaa;\\n display: block;\\n transform: translateY(-1.75em);\\n transform-origin: 0 0;\\n transition: all .3s;\\n z-index: -1;\\n cursor: text; }\\n\\n.text-input-field {\\n font-size: 1.5rem;\\n box-shadow: none;\\n background: #181818;\\n color: #fff;\\n border-radius: 0;\\n border-color: #ccc;\\n border-style: none none solid none;\\n width: 100%;\\n transition: all .5s;\\n padding: 5px; }\\n .text-input-field::placeholder {\\n color: transparent; }\\n .text-input-field:focus {\\n box-shadow: none;\\n outline: none;\\n border-color: orange; }\\n .text-input-field:focus + .text-input-label,\\n .text-input-field:not(:placeholder-shown) + .text-input-label {\\n transform: translateY(-3em) scale(0.8); }\\n\\n.main {\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0; }\\n .main__content {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column; }\\n\\n.info {\\n display: block;\\n color: #ddd;\\n flex-grow: 0;\\n text-align: center;\\n padding-bottom: 3vh;\\n padding-top: 3vh; }\\n\\n@keyframes showTopMenu {\\n 0% {\\n transform: translateY(100%) scale(0.8);\\n opacity: 0; }\\n 80% {\\n transform: translateY(100%) scale(1.1);\\n opacity: 100%; }\\n 100% {\\n transform: translateY(100%) scale(1);\\n opacity: 100%; } }\\n\\n.top-bar {\\n flex-grow: 0;\\n display: flex;\\n justify-content: end;\\n padding: 1em; }\\n .top-bar__fog {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0; }\\n\\n.user {\\n position: relative; }\\n .user__list {\\n position: absolute;\\n display: block;\\n bottom: 0;\\n right: 0;\\n transform: translateY(100%);\\n background: #222;\\n animation: showTopMenu .3s; }\\n .user__main-item {\\n color: #fff;\\n display: block;\\n padding: .5em;\\n white-space: nowrap;\\n transition: color .3s;\\n cursor: pointer; }\\n .user__main-item--active {\\n background: #222;\\n color: orange; }\\n .user__main-item:hover {\\n color: orange; }\\n .user__item {\\n display: block;\\n color: #fff;\\n padding: .5em;\\n font-weight: normal;\\n transition: color .3s;\\n cursor: pointer;\\n white-space: nowrap;\\n text-align: right; }\\n .user__item:hover {\\n color: orange; }\\n\\n.lang-switch {\\n display: inline-block;\\n position: relative; }\\n .lang-switch__list {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n transform: translateY(100%);\\n background: #222;\\n animation: showTopMenu .3s; }\\n .lang-switch__main-item {\\n transition: .3s color;\\n padding: .5em;\\n display: block;\\n color: #fff;\\n font-weight: normal;\\n cursor: pointer; }\\n .lang-switch__main-item:hover {\\n color: orange; }\\n .lang-switch__main-item--active {\\n background: #222;\\n color: orange; }\\n .lang-switch__item {\\n padding: .5em;\\n display: block;\\n color: #fff;\\n font-weight: normal;\\n cursor: pointer;\\n transition: color .3s; }\\n .lang-switch__item:hover {\\n color: orange; }\\n\\n.login-panel {\\n text-align: center; }\\n .login-panel__form {\\n display: inline-block; }\\n .login-panel__header {\\n color: white;\\n font-size: 2em;\\n margin-bottom: 4em; }\\n .login-panel__button {\\n display: inline-block;\\n color: #aaa;\\n background: #181818;\\n font-size: 1.25em;\\n border-radius: 1em;\\n border: 2px solid #aaa;\\n padding: .5em 1.5em;\\n margin: 0 auto;\\n transition: .3s color, .3s background;\\n cursor: pointer; }\\n .login-panel__button:hover {\\n background: #aaa;\\n color: #181818; }\\n .login-panel__button.active {\\n background: #181818;\\n color: orange;\\n border: 2px solid orange; }\\n .login-panel__button.active:hover {\\n background: orange;\\n color: #181818; }\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./client/src/login/scss/index.scss?./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js");
+eval("exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"* {\\n box-sizing: border-box; }\\n\\nhtml, body, div, span, applet, object, iframe,\\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\\na, abbr, acronym, address, big, cite, code,\\ndel, dfn, em, img, ins, kbd, q, s, samp,\\nsmall, strike, strong, sub, sup, tt, var,\\nb, u, i, center,\\ndl, dt, dd, ol, ul, li,\\nfieldset, form, label, legend,\\ntable, caption, tbody, tfoot, thead, tr, th, td,\\narticle, aside, canvas, details, embed,\\nfigure, figcaption, footer, header, hgroup,\\nmenu, nav, output, ruby, section, summary,\\ntime, mark, audio, video {\\n margin: 0;\\n padding: 0;\\n border: 0;\\n font-size: 100%;\\n font: inherit;\\n vertical-align: baseline; }\\n\\narticle, aside, details, figcaption, figure,\\nfooter, header, hgroup, menu, nav, section {\\n display: block; }\\n\\nbody {\\n line-height: 1; }\\n\\nol, ul {\\n list-style: none; }\\n\\nblockquote, q {\\n quotes: none; }\\n\\nblockquote:before, blockquote:after,\\nq:before, q:after {\\n content: '';\\n content: none; }\\n\\ntable {\\n border-collapse: collapse;\\n border-spacing: 0; }\\n\\nhtml {\\n min-width: 320px;\\n background: white; }\\n\\nhtml {\\n background: #181818; }\\n\\n* {\\n -webkit-user-select: none;\\n -khtml-user-select: none;\\n -moz-user-select: -moz-none;\\n -o-user-select: none;\\n user-select: none; }\\n\\np {\\n line-height: 1.5; }\\n\\n.text-input {\\n text-align: left;\\n margin-bottom: 1.5em;\\n transition: all .3s;\\n cursor: text; }\\n .text-input:focus-within {\\n transform: scale(1.05, 1.05); }\\n\\n.text-input-label {\\n font-size: 1em;\\n width: 100%;\\n color: #aaa;\\n display: block;\\n transform: translateY(-1.75em);\\n transform-origin: 0 0;\\n transition: all .3s;\\n z-index: -1;\\n cursor: text;\\n pointer-events: none; }\\n\\n.text-input-field {\\n font-size: 1.25rem;\\n box-shadow: none;\\n background: #181818;\\n color: #fff;\\n border-radius: 0;\\n border-color: #ccc;\\n border-style: none none solid none;\\n width: 100%;\\n transition: all .5s;\\n padding: 5px; }\\n .text-input-field::placeholder {\\n color: transparent; }\\n .text-input-field:focus {\\n box-shadow: none;\\n outline: none;\\n border-color: orange; }\\n .text-input-field:focus + .text-input-label,\\n .text-input-field:not(:placeholder-shown) + .text-input-label {\\n transform: translateY(-3em) scale(0.8); }\\n\\n.main {\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n position: fixed;\\n padding: 1em 1.5em 1.5em 1.5em;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0; }\\n .main__content {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column; }\\n\\n.info {\\n display: block;\\n color: #ddd;\\n flex-grow: 0;\\n text-align: center;\\n padding-top: 3vh; }\\n\\n@keyframes showTopMenu {\\n 0% {\\n transform: translateY(100%) scale(0.8);\\n opacity: 0; }\\n 80% {\\n transform: translateY(100%) scale(1.1);\\n opacity: 100%; }\\n 100% {\\n transform: translateY(100%) scale(1);\\n opacity: 100%; } }\\n\\n.top-bar {\\n width: 100%;\\n text-align: right;\\n white-space: nowrap;\\n padding-bottom: 1em; }\\n .top-bar__fog {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0; }\\n\\n.user {\\n position: relative;\\n display: inline-block; }\\n .user__list {\\n position: absolute;\\n display: block;\\n bottom: 0;\\n right: 0;\\n transform: translateY(100%);\\n background: #222;\\n animation: showTopMenu .3s; }\\n .user__main-item {\\n color: #fff;\\n display: block;\\n padding: .5em;\\n white-space: nowrap;\\n transition: color .3s;\\n cursor: pointer; }\\n .user__main-item--active {\\n background: #222;\\n color: orange; }\\n .user__main-item:hover {\\n color: orange; }\\n .user__item {\\n display: block;\\n color: #fff;\\n padding: .5em;\\n font-weight: normal;\\n transition: color .3s;\\n cursor: pointer;\\n white-space: nowrap;\\n text-align: right; }\\n .user__item:hover {\\n color: orange; }\\n\\n.lang-switch {\\n display: inline-block;\\n position: relative; }\\n .lang-switch__list {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n transform: translateY(100%);\\n background: #222;\\n animation: showTopMenu .3s; }\\n .lang-switch__main-item {\\n transition: .3s color;\\n padding: .5em;\\n display: block;\\n color: #fff;\\n font-weight: normal;\\n cursor: pointer; }\\n .lang-switch__main-item:hover {\\n color: orange; }\\n .lang-switch__main-item--active {\\n background: #222;\\n color: orange; }\\n .lang-switch__item {\\n padding: .5em;\\n display: block;\\n color: #fff;\\n font-weight: normal;\\n cursor: pointer;\\n transition: color .3s; }\\n .lang-switch__item:hover {\\n color: orange; }\\n\\n.login-panel {\\n text-align: center;\\n padding: 1.5em; }\\n .login-panel__form {\\n display: inline-block;\\n width: 100%;\\n max-width: 400px; }\\n\\n@keyframes shine {\\n 0% {\\n background-size: 220% 100%; }\\n 7% {\\n background-position: 0 100%; }\\n 100% {\\n background-position: 0 100%; } }\\n .login-panel__header {\\n color: #fff;\\n font-size: 1.75em;\\n line-height: 1.5;\\n margin-bottom: 4em;\\n position: relative;\\n display: inline-block;\\n color: #fff;\\n overflow: hidden;\\n background: linear-gradient(to right, #fff 50%, orange 55%, #fff 60%);\\n background-clip: text;\\n -webkit-background-clip: text;\\n -webkit-text-fill-color: transparent;\\n background-position: 110%;\\n animation: shine 15s ease-out;\\n background-size: 220% 100%;\\n animation-iteration-count: infinite;\\n animation-delay: 8s; }\\n .login-panel__button {\\n display: inline-block;\\n color: #aaa;\\n background: #181818;\\n font-size: 1.25em;\\n border-radius: 1em;\\n border: 2px solid #aaa;\\n padding: .5em 1.5em;\\n margin: 0 auto;\\n transition: .3s color, .3s background; }\\n .login-panel__button.active {\\n cursor: pointer;\\n background: #181818;\\n color: orange;\\n border: 2px solid orange; }\\n .login-panel__button.active:hover {\\n background: orange;\\n color: #181818; }\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./client/src/login/scss/index.scss?./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js");
/***/ }),
diff --git a/client/src/admin/data/translations.js b/client/src/admin/data/translations.js
index b4c34a2..732e311 100644
--- a/client/src/admin/data/translations.js
+++ b/client/src/admin/data/translations.js
@@ -4,9 +4,9 @@ export const translations = {
"en": {
"main-title": "Website Manager",
"login-to-admin": "Login to Admin Panel",
- "login-info": "Put your user name and password, then click login button",
+ "login-info": "Put your email and password, then click login button",
"login": "Login",
- "user": "User name",
+ "email": "Email",
"password": "Password",
"no-saved-websites": "You don't have any saved projects, create a new one",
"create-new-project": "Create new project",
@@ -16,9 +16,9 @@ export const translations = {
"show-saved-projects": "Show saved projects",
"show-saved-projects-hover": "Click to show list of all saved projects",
"click-to-change-language": "Click to change language in the website manager",
- "click-to-change-user": "Click to logout or change user password",
+ "click-to-change-user": "Click to logout or change user settings",
"logout": "Logout",
- "click-to-logout": "Click to logout/change current user",
+ "click-to-logout": "Click to logout current user",
"user-settings": "User settings",
"click-to-change-user-settings": "Click to change user name, password or to completely remove current user",
},
diff --git a/client/src/admin/scss/_forms.scss b/client/src/admin/scss/_forms.scss
index 0585cd6..e74c343 100644
--- a/client/src/admin/scss/_forms.scss
+++ b/client/src/admin/scss/_forms.scss
@@ -12,7 +12,7 @@
}
.text-input-label {
- font-size: 1.25em;
+ font-size: 1em;
width: 100%;
color: #aaa;
display:block;
@@ -21,10 +21,11 @@
transition: all .3s;
z-index: -1;
cursor: text;
+ pointer-events: none;
}
.text-input-field {
- font-size: 1.5rem;
+ font-size: 1.25rem;
box-shadow: none;
background: $background;
color: $text;
diff --git a/client/src/admin/scss/_globals.scss b/client/src/admin/scss/_globals.scss
index f03ad86..d15363f 100644
--- a/client/src/admin/scss/_globals.scss
+++ b/client/src/admin/scss/_globals.scss
@@ -3,10 +3,14 @@ html {
}
* {
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: -moz-none;
- -o-user-select: none;
- user-select: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: -moz-none;
+ -o-user-select: none;
+ user-select: none;
+}
+
+p {
+ line-height: 1.5;
}
diff --git a/client/src/admin/scss/_info.scss b/client/src/admin/scss/_info.scss
index ac32949..9c760db 100644
--- a/client/src/admin/scss/_info.scss
+++ b/client/src/admin/scss/_info.scss
@@ -3,6 +3,5 @@
color: #ddd;
flex-grow: 0;
text-align: center;
- padding-bottom: 3vh;
padding-top: 3vh;
}
diff --git a/client/src/admin/scss/_main.scss b/client/src/admin/scss/_main.scss
index e182f3c..a5e6636 100644
--- a/client/src/admin/scss/_main.scss
+++ b/client/src/admin/scss/_main.scss
@@ -3,6 +3,7 @@
flex-direction: column;
justify-content: space-between;
position: fixed;
+ padding: 1em 1.5em 1.5em 1.5em;
top: 0;
right: 0;
bottom: 0;
diff --git a/client/src/admin/scss/_mainScreen.scss b/client/src/admin/scss/_mainScreen.scss
index 4eec73a..e9eeeb3 100644
--- a/client/src/admin/scss/_mainScreen.scss
+++ b/client/src/admin/scss/_mainScreen.scss
@@ -1,13 +1,31 @@
.main-screen {
text-align: center;
+ @keyframes shine {
+ 0% {background-size: 220% 100%;}
+ 10% {background-position: 0 100%;}
+ 100% {background-position: 0 100%;}
+ }
+
&__header {
display: block;
margin-top: 10vh;
margin-bottom: 20vh;
- font-size: 300%;
- color: white;
+ font-size: 2.5em;
+ font-weight: bold;
+ color: $text;
text-align: center;
+ position: relative;
+ overflow: hidden;
+ background: linear-gradient(to right, $text 50%, $text-selected 55%, $text 60%);
+ background-clip: text;
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ background-position: 110%;
+ animation: shine 15s ease-out;
+ background-size: 220% 100%;
+ animation-iteration-count: infinite;
+ animation-delay: 8s;
}
&__list {
@@ -15,7 +33,7 @@
}
&__item {
- font-size: 175%;
+ font-size: 1.5em;
color: white;
transition: color .3s;
cursor: pointer;
diff --git a/client/src/admin/scss/_topBar.scss b/client/src/admin/scss/_topBar.scss
index af9fcd6..3fe5006 100644
--- a/client/src/admin/scss/_topBar.scss
+++ b/client/src/admin/scss/_topBar.scss
@@ -5,10 +5,10 @@
}
.top-bar {
- flex-grow: 0;
- display: flex;
- justify-content: end;
- padding: 1em;
+ width: 100%;
+ text-align: right;
+ white-space: nowrap;
+ padding-bottom: 1em;
&__fog {
@@ -22,6 +22,7 @@
.user {
position: relative;
+ display: inline-block;
&__list {
position: absolute;
diff --git a/client/src/login/jsx/LoginPanel.jsx b/client/src/login/jsx/LoginPanel.jsx
index c84e843..8a38f50 100644
--- a/client/src/login/jsx/LoginPanel.jsx
+++ b/client/src/login/jsx/LoginPanel.jsx
@@ -16,26 +16,26 @@ const LoginPanel = () => {
const submit = (e) => {
e.preventDefault();
- login({email, password});
+ active && login({email, password});
}
return (
<div className="login-panel">
+ <p className="login-panel__header">
+ {t('login-to-admin')}
+ </p>
<form className="login-panel__form" onSubmit={submit}>
- <p className="login-panel__header">
- {t('login-to-admin')}
- </p>
<div className="text-input">
<input
onChange={e => setEmail(e.target.value)}
- placeholder={t('user')}
- id="admin-user-name"
- name="admin-user-name"
+ placeholder={t('email')}
+ id="admin-email"
+ name="admin-email"
type="text"
className="text-input-field"
value={email}
/>
- <label htmlFor="admin-user-name" className="text-input-label">{t('user')}</label>
+ <label htmlFor="admin-user-name" className="text-input-label">{t('email')}</label>
</div>
<div className="text-input">
<input
diff --git a/client/src/login/scss/_loginPanel.scss b/client/src/login/scss/_loginPanel.scss
index 8afb066..b105784 100644
--- a/client/src/login/scss/_loginPanel.scss
+++ b/client/src/login/scss/_loginPanel.scss
@@ -1,14 +1,37 @@
.login-panel {
text-align: center;
+ padding: 1.5em;
&__form {
display: inline-block;
+ width: 100%;
+ max-width: 400px;
+ }
+
+ @keyframes shine {
+ 0% {background-size: 220% 100%;}
+ 7% {background-position: 0 100%;}
+ 100% {background-position: 0 100%;}
}
&__header {
- color: white;
- font-size: 2em;
+ color: $text;
+ font-size: 1.75em;
+ line-height: 1.5;
margin-bottom: 4em;
+ position: relative;
+ display: inline-block;
+ color: $text;
+ overflow: hidden;
+ background: linear-gradient(to right, $text 50%, $text-selected 55%, $text 60%);
+ background-clip: text;
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ background-position: 110%;
+ animation: shine 15s ease-out;
+ background-size: 220% 100%;
+ animation-iteration-count: infinite;
+ animation-delay: 8s;
}
&__button {
@@ -21,14 +44,9 @@
padding: .5em 1.5em;
margin: 0 auto;
transition: .3s color, .3s background;
- cursor: pointer;
-
- &:hover {
- background: $text-inactive;
- color: $background;
- }
&.active {
+ cursor: pointer;
background: $background;
color: $text-selected;
border: 2px solid $text-selected;