From 8bf640ee188b9a347ff42f6b7daaee632a782c47 Mon Sep 17 00:00:00 2001 From: ro Date: Thu, 25 Apr 2024 13:17:24 -0600 Subject: [PATCH] edited asset moving class conversion of markdown files to html works fine, but the coresponding css, js and image assets were not being moved, so the class responsible for moving them was edited so theme assets are moved to their appropriate directories when the site is published. also made some css and image edits, and removed a legacy css files that were no longer in use --- .../Controllers/API/SettingsAPIController.php | 7 +- app/Services/AssetService.php | 37 +- .../fipamo-default-v2/assets/css/frame.css | 2 +- .../assets/images/global/menu.svg | 11 +- public/assets/css/base.css | 600 ------------------ public/assets/css/base.css.map | 1 - public/assets/images/global/close.svg | 7 + public/assets/images/global/default-avi-2.png | Bin 0 -> 24313 bytes public/assets/images/global/menu.svg | 7 + public/assets/scripts/theme/Base.js | 35 + public/assets/scripts/theme/ThemeStart.js | 9 + 11 files changed, 92 insertions(+), 624 deletions(-) delete mode 100644 public/assets/css/base.css delete mode 100644 public/assets/css/base.css.map create mode 100644 public/assets/images/global/close.svg create mode 100644 public/assets/images/global/default-avi-2.png create mode 100644 public/assets/images/global/menu.svg create mode 100644 public/assets/scripts/theme/Base.js create mode 100644 public/assets/scripts/theme/ThemeStart.js diff --git a/app/Http/Controllers/API/SettingsAPIController.php b/app/Http/Controllers/API/SettingsAPIController.php index 79e8ae7..5496f7e 100644 --- a/app/Http/Controllers/API/SettingsAPIController.php +++ b/app/Http/Controllers/API/SettingsAPIController.php @@ -8,6 +8,7 @@ use App\Services\SettingsService; use App\Services\RenderService; use App\Services\MaintenanceService; use App\Services\AuthService; +use App\Services\AssetService; class SettingsAPIController extends Controller { @@ -15,21 +16,25 @@ class SettingsAPIController extends Controller protected $render; protected $mainteance; protected $auth; + protected $assets; public function __construct( SettingsService $settingsService, RenderService $renderService, MaintenanceService $maintenanceService, - AuthService $authService + AuthService $authService, + AssetService $assetService ) { $this->settings = $settingsService; $this->render = $renderService; $this->maintenance = $maintenanceService; $this->auth = $authService; + $this->assets = $assetService; } public function publish(Request $request) { + $this->assets->moveToTheme(true); $result = $this->render->publishAll(); return response()->json($result)->header('Content-Type', 'application/json'); } diff --git a/app/Services/AssetService.php b/app/Services/AssetService.php index 641644d..c4e38f2 100644 --- a/app/Services/AssetService.php +++ b/app/Services/AssetService.php @@ -15,6 +15,9 @@ class AssetService $this->themeTestImagePath = '../public/theme/images/global/'; $this->themeTestCSSPath = '../public/theme/css/theme/'; $this->themeTestScriptsPath = '../public/theme/scripts/theme/'; + $this->themeImagePath = '../public/assets/images/global/'; + $this->themeCSSPath = '../public/assets/css/theme/'; + $this->themeScriptsPath = '../public/assets/scripts/theme/'; $this->themes = $themeService; $this->currentTheme = $this->themes->getCurrentTheme(); } @@ -24,8 +27,14 @@ class AssetService return $this->currentTheme; } - public function moveToTheme() + public function moveToTheme($live = false) { + $imagePath = ''; + $cssPath = ''; + $scriptPath = ''; + ($live) ? $imagePath = $this->themeImagePath : $imagePath = $this->themeTestImagePath; + ($live) ? $cssPath = $this->themeCSSPath : $cssPath = $this->themeTestCSSPath; + ($live) ? $scriptPath = $this->themeScriptsPath : $scriptPath = $this->themeTestScriptsPath; //get current theme foreach ( new \DirectoryIterator('../content/themes/' . $this->currentTheme . '/assets/images/global/') as $file @@ -34,17 +43,17 @@ class AssetService continue; } //make theme directory if not present - if (!is_dir($this->themeTestImagePath)) { - mkdir($this->themeTestImagePath, 0755, true); + if (!is_dir($imagePath)) { + mkdir($imagePath, 0755, true); } - if (!is_file($this->themeTestImagePath . $file->getFileName())) { + if (!is_file($imagePath . $file->getFileName())) { copy( '../content/themes/' . $this->currentTheme . '/assets/images/global/' . $file->getFileName(), - $this->themeTestImagePath . $file->getFileName() + $imagePath . $file->getFileName() ); } else { //image is already there, so chill @@ -52,40 +61,38 @@ class AssetService //print $file->getFilename() . "\n"; } //clear test theme css and script directories - $styles = glob($this->themeTestCSSPath . '*'); // get all file names + $styles = glob($cssPath . '*'); // get all file names foreach ($styles as $file) { // iterate files if (is_file($file)) { unlink($file); // delete file } } - $scripts = glob($this->themeTestScriptsPath . '*'); // get all file names + $scripts = glob($scriptPath . '*'); // get all file names foreach ($scripts as $file) { // iterate files if (is_file($file)) { unlink($file); // delete file } } - // - //copy theme assets to public $newcss = glob('../content/themes/' . $this->currentTheme . '/assets/css/*'); - if (!is_dir($this->themeTestCSSPath)) { - mkdir($this->themeTestCSSPath, 0755, true); + if (!is_dir($cssPath)) { + mkdir($cssPath, 0755, true); } foreach ($newcss as $file) { // iterate files if (is_file($file)) { $path = explode('/', $file); - copy($file, $this->themeTestCSSPath . $path[6]); + copy($file, $cssPath . $path[6]); } } $newjs = glob('../content/themes/' . $this->currentTheme . '/assets/scripts/*'); - if (!is_dir($this->themeTestScriptsPath)) { - mkdir($this->themeTestScriptsPath, 0755, true); + if (!is_dir($scriptPath)) { + mkdir($scriptPath, 0755, true); } foreach ($newjs as $file) { // iterate files if (is_file($file)) { $path = explode('/', $file); - copy($file, $this->themeTestScriptsPath . $path[6]); + copy($file, $scriptPath . $path[6]); } } } diff --git a/content/themes/fipamo-default-v2/assets/css/frame.css b/content/themes/fipamo-default-v2/assets/css/frame.css index c4da05a..9e23128 100644 --- a/content/themes/fipamo-default-v2/assets/css/frame.css +++ b/content/themes/fipamo-default-v2/assets/css/frame.css @@ -124,7 +124,7 @@ nav { } nav img { - width: 50px; + width: 40px; border-bottom: none; } diff --git a/content/themes/fipamo-default-v2/assets/images/global/menu.svg b/content/themes/fipamo-default-v2/assets/images/global/menu.svg index 6724ec1..94a8804 100644 --- a/content/themes/fipamo-default-v2/assets/images/global/menu.svg +++ b/content/themes/fipamo-default-v2/assets/images/global/menu.svg @@ -1,8 +1,7 @@ - - - - - - + + + + + diff --git a/public/assets/css/base.css b/public/assets/css/base.css deleted file mode 100644 index 2242b2b..0000000 --- a/public/assets/css/base.css +++ /dev/null @@ -1,600 +0,0 @@ -h1, h2, h3 { - color: #ebe5d4; -} - -h1 { - font-size: 2em; - font-weight: 400; -} - -h2 { - font-size: 1.75em; - font-weight: 400; -} - -h3 { - font-size: 1.5em; - font-weight: 300; -} - -html { - line-height: 1.15; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; -} - -body { - margin: 0; -} - -article, -aside, -footer, -header, -nav, -section { - display: block; -} - -h1 { - font-size: 2em; - margin: 0.67em 0; - line-height: 1em; -} - -figcaption, -figure, -main { - display: block; -} - -figure { - margin: 1em 40px; -} - -hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -pre { - font-family: monospace, monospace; - font-size: 1em; -} - -a { - background-color: transparent; - -webkit-text-decoration-skip: objects; -} - -a:active, -a:hover { - outline-width: 0; -} - -abbr[title] { - border-bottom: none; - text-decoration: underline; - text-decoration: underline dotted; -} - -b, -strong { - font-weight: inherit; - font-weight: bolder; -} - -kbd, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -dfn { - font-style: italic; -} - -mark { - background-color: #ff0; - color: #000; -} - -small { - font-size: 80%; -} - -sub, -sup { - font-size: 60%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.55em; - background: #151d26; - color: #151d26; - border-radius: 2px; - padding: 0 2px 0 2px; - margin: 0 2px 0 0; -} - -audio, -video { - display: inline-block; -} - -audio:not([controls]) { - display: none; - height: 0; -} - -img { - border-style: none; -} - -svg:not(:root) { - overflow: hidden; -} - -button, -input, -optgroup, -select, -textarea { - font-family: sans-serif; - font-size: 100%; - line-height: 1.15; - margin: 0; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -button, html [type=button], -[type=reset], -[type=submit] { - -webkit-appearance: button; -} - -[type=button]::-moz-focus-inner, -[type=reset]::-moz-focus-inner, -[type=submit]::-moz-focus-inner, -button::-moz-focus-inner { - border-style: none; - padding: 0; -} - -[type=button]:-moz-focusring, -[type=reset]:-moz-focusring, -[type=submit]:-moz-focusring, -button:-moz-focusring { - outline: 1px dotted ButtonText; -} - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -legend { - box-sizing: border-box; - color: inherit; - display: table; - max-width: 100%; - padding: 0; - white-space: normal; -} - -progress { - display: inline-block; - vertical-align: baseline; -} - -textarea { - overflow: auto; -} - -[type=checkbox], -[type=radio] { - box-sizing: border-box; - padding: 0; -} - -[type=number]::-webkit-inner-spin-button, -[type=number]::-webkit-outer-spin-button { - height: auto; -} - -[type=search] { - -webkit-appearance: textfield; - outline-offset: -2px; -} - -[type=search]::-webkit-search-cancel-button, -[type=search]::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; -} - -details, -menu { - display: block; -} - -summary { - display: list-item; -} - -canvas { - display: inline-block; -} - -template { - display: none; -} - -[hidden] { - display: none; -} - -form { - display: inline-block; -} -form a { - color: #151d26; -} -form p { - background: #e8c33e; - color: #151d26; - padding: 5px; - display: block; - border-radius: 5px; - text-align: left; -} - -input[type=email], input[type=password], input[type=text] { - border: 0; - border-radius: 5px; - padding: 5px; - margin: 10px 5px 0 0; - font: 18px Helvetica, Arial, sans-serif; - display: inline-block; - background: #151d26; - color: #e8c33e; -} - -textarea { - border: 0; - border-radius: 3px; - color: #ebe5d4; - font: 15px Helvetica, Arial, sans-serif; - background: #151d26; -} - -button, input[type=submit] { - background: #7ED07E; - color: #151d26; - font: 20px Helvetica, Arial, sans-serif; - border-radius: 5px; - position: relative; - cursor: pointer; - border: 0; - padding: 10px 0 5px 0; - transition: all 0.3s linear; -} - -select { - font: 14px Helvetica, Arial, sans-serif; - border: 1px solid #FC6399; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - color: #151d26; -} - -::-webkit-input-placeholder { - font: 25px Helvetica, Arial, sans-serif; - color: #ebe5d4; -} - -:-moz-placeholder { - /* Firefox 18- */ - font: 25px Helvetica, Arial, sans-serif; - color: #ebe5d4; -} - -::-moz-placeholder { - /* Firefox 19+ */ - font: 15px Helvetica, Arial, sans-serif; - color: #ebe5d4; -} - -:-ms-input-placeholder { - font: 25px Helvetica, Arial, sans-serif; - color: #ebe5d4; -} - -html { - margin: 0; - padding: 0; - width: 100%; - height: 100%; - overflow: hidden; - font: 400 1.2em/1.4em Helvetica, Arial, sans-serif; -} -html body { - background: #ebe5d4; - margin: 0; - padding: 0; - perspective: 1px; - transform-style: preserve-3d; - height: 100%; - width: 100%; - overflow-y: scroll; - overflow-x: hidden; -} -html body a { - color: #151d26; - text-decoration: none; - border-bottom: 1px solid #7ED07E; -} -html body a:hover { - border-bottom: 1px solid #FC6399; -} -html body code { - background: #32302f; - color: #7ED07E; - border-radius: 3px; - padding: 3px; -} -html body pre { - background: #32302f; - color: #7ED07E; - border-radius: 3px; - padding: 3px; -} -html body code { - color: #FC6399; - background: none; -} -html body svg.icons { - width: 25px; - fill: #ebe5d4; -} -html body header { - background: #151d26; - height: 90%; - width: 100%; - border-top: #ebe5d4 3px solid; -} -html body header #media { - width: 100%; - height: 90%; - position: absolute; -} -html body header #media .slide { - transition: all 0.7s linear; - width: 100%; - height: 100%; - position: absolute; -} -html body header #media .hide { - opacity: 0; -} -html body header #media .show { - opacity: 1; -} -html body header #media video { - width: 100%; - height: 100%; - object-fit: cover; -} -html body header nav { - width: 97%; - margin: 10px auto; - z-index: 1000; - position: relative; - color: #151d26; -} -html body header nav .left, html body header nav .right { - width: 50%; - display: inline-block; - vertical-align: top; -} -html body header nav .left a.logo-link { - border-bottom: none; - margin: 0 0 20px 0; - display: block; -} -html body header nav .left a.logo-link #logo { - width: 50px; - border-bottom: none; -} -html body header nav .right { - text-align: right; -} -html body header nav .right a.menu-link { - background: #FC6399; - margin-bottom: 4px; - padding: 3px; - border-radius: 2px; - display: inline-block; - font-size: 0.8em; - border-bottom: none; -} -html body header nav .right a.menu-link:hover { - background: #FC6399; -} -html body .container { - z-index: 2; - background: #ebe5d4; - line-height: 30px; - font-weight: lighter; - width: 100%; - color: #32302f; -} -html body .container article { - position: relative; - width: 80%; - height: 80%; - max-width: 840px; - background: #ebe5d4; - vertical-align: top; - color: #32302f; - margin: 0 auto; -} -html body .container article .index, html body .container article .page { - padding: 0 0 15px 0; -} -html body .container article .index img, html body .container article .page img { - display: block; - width: 100%; -} -html body .container article .index h1, html body .container article .index h2, html body .container article .page h1, html body .container article .page h2 { - color: #151d26; -} -html body .container article .index p, html body .container article .page p { - font: 300 1.25em/1.6em Helvetica, Arial, sans-serif; -} -html body .container article .index .page_files .page_doc a, html body .container article .page .page_files .page_doc a { - background: #32302f; - border-radius: 3px; - color: #ebe5d4; - padding: 3px; - margin: 0 5px 0 0; -} -html body .container article .index .meta, html body .container article .page .meta { - font: 500 0.8em/1.3em Helvetica, Arial, sans-serif; - padding: 5px 0 0 0; - border-top: 1px solid #151d26; - background: #ebe5d4; -} -html body .container article .index .meta a, html body .container article .page .meta a { - font-size: 0.8em; - font-weight: 400; -} -html body .container article .index .archive-item, html body .container article .page .archive-item { - padding: 15px 0 20px 0; -} -html body .container article .index .archive-item span.year, html body .container article .page .archive-item span.year { - font-size: 1.5em; - font-weight: 500; - padding: 5px; - display: block; - color: #151d26; -} -html body .container article .index .archive-item .archive-month, html body .container article .page .archive-item .archive-month { - display: inline-block; - vertical-align: top; - width: 30%; - padding: 5px; -} -html body .container article .index .archive-item .archive-month span.month, html body .container article .page .archive-item .archive-month span.month { - color: #FC6399; - font-size: 1.5em; - font-weight: 300; - padding: 5px; - display: block; -} -html body .container section { - padding: 0 0 20px 0; - background: #151d26; -} -html body .container section a { - color: #ebe5d4; -} -html body .container section .index-lists, html body .container section .page-title { - max-width: 840px; - width: 80%; - margin: 0 auto; - padding: 20px 0 0 0; -} -html body .container section .index-lists span, html body .container section .page-title span { - font-size: 2em; - color: #FC6399; - font-weight: 400; - width: 80%; - margin: 0 auto; - padding: 20px 0 0 0; -} -html body .container section .index-lists .recent, html body .container section .index-lists .featured, html body .container section .page-title .recent, html body .container section .page-title .featured { - display: inline-block; - width: 50%; - vertical-align: top; -} -html body .container section .index-lists label, html body .container section .page-title label { - background: #32302f; - color: #ebe5d4; - font-size: 1.5em; - line-height: 1.3; -} -html body footer { - background: #ebe5d4; - padding: 10px; - color: #151d26; - font-size: 0.8em; - font-weight: 600; - height: 100px; -} -html body footer .inner { - margin: 20px auto; - width: 80%; - max-width: 840px; -} -html body footer .inner a { - color: #FC6399; -} -html body header nav { - width: 98%; -} -html body header span { - font-size: 2.5em; -} -html body header .container article .index .archive-item .archive-month, html body header .container article .page .archive-item .archive-month { - width: 45%; -} -html body header nav { - width: 96%; -} -html body header .container article .index, html body header .container article .page { - margin: 0; -} -html body header .container article .index p, html body header .container article .page p { - font: 300 1em/1.6em Helvetica, Arial, sans-serif; -} -html body header .container section .index-lists .recent, html body header .container section .index-lists .featured { - width: 100% !important; -} -html body header nav { - width: 95%; -} -html body .container article .index, html body .container article .page { - margin: 0; -} -html body .container article .index p, html body .container article .page p { - font: 300 0.9em/1.7em Helvetica, Arial, sans-serif; -} -html body .container article .index .archive-item .archive-month, html body .container article .page .archive-item .archive-month { - width: 95%; -} - -/*# sourceMappingURL=base.css.map */ diff --git a/public/assets/css/base.css.map b/public/assets/css/base.css.map deleted file mode 100644 index 361940b..0000000 --- a/public/assets/css/base.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sourceRoot":"","sources":["../../../styles/_typography.sass","../../../styles/_normalize.sass","../../../styles/_colors.sass","../../../styles/_forms.sass","../../../styles/_structure.sass"],"names":[],"mappings":"AAGA;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AChBJ;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAMI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;AAAA;AAAA;EAGI;;;AAEJ;EACI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;;;AACJ;EACI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;AAAA;EAEI;EACA;;;AAGJ;AAAA;EAEI;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;;;AAEJ;AAAA;EAEI;EACA;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA,YCnFM;EDoFN,OCpFM;EDqFN;EACA;EACA;;;AAEJ;AAAA;EAEI;;;AAGA;EACI;EACA;;;AAER;EACI;;;AAGA;EACI;;;AAER;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EACA;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;AAAA;EAEI;;;AAEJ;AAAA;AAAA;EAGI;;;AAEJ;AAAA;AAAA;AAAA;EAII;EACA;;;AAEJ;AAAA;AAAA;AAAA;EAII;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;;;AAEJ;AAAA;EAEI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AEpMJ;EACI;;AACA;EACI,ODHE;;ACIN;EACI,YDHI;ECIJ,ODNE;ECOF;EACA;EACA;EACA;;;AAER;EACI;EACA;EACA;EACA;EACA;EACA;EACA,YDnBM;ECoBN,ODlBQ;;;ACoBZ;EACI;EACA;EACA,ODrBK;ECsBL;EACA,YD3BM;;;AC6BV;EACI,YD3BS;EC4BT,OD/BM;ECgCN;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA,OD9CM;;;ACgDV;EACI;EACA,OD9CK;;;ACgDT;AACI;EACA;EACA,ODnDK;;;ACqDT;AACI;EACA;EACA,ODxDK;;;AC0DT;EACI;EACA,OD5DK;;;AEJT;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,YFLK;EEML;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,OFpBI;EEqBJ;EACA;;AAEA;EACE;;AAEJ;EACE,YFvBG;EEwBH,OF1BO;EE2BP;EACA;;AAEF;EACE,YF7BG;EE8BH,OFhCO;EEiCP;EACA;;AACF;EACE,OFtCO;EEuCP;;AAEF;EACE;EACA,MFxCG;;AE0CL;EACE,YF/CI;EEgDJ;EACA;EACA;;AACA;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACF;EACE;;AACF;EACE;;AACF;EACE;EACA;EACA;;AACJ;EACE;EACA;EACA;EACA;EACA,OFzEE;;AE0EF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AACA;EACE;EACA;;AACN;EACE;;AACA;EACE,YFxFC;EEyFD;EACA;EACA;EACA;EACA;EACA;;AACA;EACE,YFhGD;;AEkGT;EACE;EACA,YFjGG;EEkGH;EACA;EACA;EAEA,OFrGG;;AEsGH;EACE;EACA;EACA;EACA;EAEA,YF7GC;EE8GD;EACA,OF9GC;EE+GD;;AAGA;EACE;;AACA;EACE;EACA;;AACF;EACE,OF7HF;;AE8HA;EACE;;AAIE;EACE,YF/HP;EEgIO;EACA,OFlIP;EEmIO;EACA;;AACN;EACE;EACA;EACA;EACA,YFzIH;;AE0IG;EACE;EACA;;AAEJ;EACE;;AACA;EACE;EACA;EACA;EACA;EACA,OFzJJ;;AE0JE;EACE;EACA;EACA;EACA;;AACA;EACE,OF/JH;EEgKG;EACA;EACA;EACA;;AACV;EACE;EACA,YFvKE;;AEwKF;EACE,OFrKD;;AEsKD;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA,OFjLC;EEkLD;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;;AACF;EACE,YFvLH;EEwLG,OFzLH;EE0LG;EACA;;AAER;EACE,YF9LG;EE+LH;EACA,OFpMI;EEqMJ;EACA;EACA;;AACA;EACE;EACA;EACA;;AACA;EACE,OF5MG;;AEkNP;EACE;;AACF;EACE;;AAKM;EACE;;AAIV;EACE;;AAGE;EACE;;AACA;EACE;;AAGF;EACE;;AAIR;EACE;;AAGA;EACE;;AACA;EACE;;AAEA;EACE","file":"base.css"} \ No newline at end of file diff --git a/public/assets/images/global/close.svg b/public/assets/images/global/close.svg new file mode 100644 index 0000000..8f2a9ce --- /dev/null +++ b/public/assets/images/global/close.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/public/assets/images/global/default-avi-2.png b/public/assets/images/global/default-avi-2.png new file mode 100644 index 0000000000000000000000000000000000000000..99ee4bba4fe342dd7d22b3f50db01c1526b3696d GIT binary patch literal 24313 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%0A{&KRKt+LHhMZ1Vhr>EB`0A7 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 K8NW7ki~b)U_XREh literal 0 HcmV?d00001 diff --git a/public/assets/images/global/menu.svg b/public/assets/images/global/menu.svg new file mode 100644 index 0000000..94a8804 --- /dev/null +++ b/public/assets/images/global/menu.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/public/assets/scripts/theme/Base.js b/public/assets/scripts/theme/Base.js new file mode 100644 index 0000000..a9d7156 --- /dev/null +++ b/public/assets/scripts/theme/Base.js @@ -0,0 +1,35 @@ +export default class Base { + //-------------------------- + // constructor + //-------------------------- + constructor() { + this.currentSlide = 0; + this.slides = document.querySelectorAll('.slide'); + //alert('FRESH'); + document.getElementById('menu-open').addEventListener('click', e => { + document.getElementById('menu').style.opacity = '100%'; + document.getElementById('menu').style.visibility = 'visible'; + }); + document.getElementById('menu-close').addEventListener('click', e => { + document.getElementById('menu').style.opacity = '0'; + document.getElementById('menu').style.visibility = 'hidden'; + }); + this.start(); + } + start() { + if (this.slides.length > 1) { + this.slideInterval = setInterval(() => { + this.slides[this.currentSlide].className = 'hide slide'; + this.currentSlide = (this.currentSlide + 1) % this.slides.length; + this.slides[this.currentSlide].className = 'show slide'; + }, 3000); + } + } + //-------------------------- + // methods + //-------------------------- + + //-------------------------- + // event handlers + //-------------------------- +} diff --git a/public/assets/scripts/theme/ThemeStart.js b/public/assets/scripts/theme/ThemeStart.js new file mode 100644 index 0000000..6f275a3 --- /dev/null +++ b/public/assets/scripts/theme/ThemeStart.js @@ -0,0 +1,9 @@ +import Base from "./Base.js"; + +document.addEventListener( + "DOMContentLoaded", + function () { + var base = new Base(); + }, + false +);