add dark mode base configuration

This commit is contained in:
O3-Shop 2023-04-07 23:11:54 +02:00
parent a6f16518bc
commit 79603ee278
3 changed files with 59 additions and 1 deletions

View File

@ -45,6 +45,7 @@ use O3\TinyMCE\Application\Core\TinyMCE\Options\QuickbarsInsertToolbar;
use O3\TinyMCE\Application\Core\TinyMCE\Options\RelativeUrls; use O3\TinyMCE\Application\Core\TinyMCE\Options\RelativeUrls;
use O3\TinyMCE\Application\Core\TinyMCE\Options\Selector; use O3\TinyMCE\Application\Core\TinyMCE\Options\Selector;
use O3\TinyMCE\Application\Core\TinyMCE\Options\Setup; use O3\TinyMCE\Application\Core\TinyMCE\Options\Setup;
use O3\TinyMCE\Application\Core\TinyMCE\Options\Skin;
use O3\TinyMCE\Application\Core\TinyMCE\Options\Toolbar; use O3\TinyMCE\Application\Core\TinyMCE\Options\Toolbar;
use O3\TinyMCE\Application\Core\TinyMCE\Options\ToolbarMode; use O3\TinyMCE\Application\Core\TinyMCE\Options\ToolbarMode;
use O3\TinyMCE\Application\Core\TinyMCE\Options\ToolbarSticky; use O3\TinyMCE\Application\Core\TinyMCE\Options\ToolbarSticky;
@ -106,6 +107,7 @@ class Configuration
protected function addGuiOptions(): void protected function addGuiOptions(): void
{ {
$this->addOption(oxNew(Skin::class, $this->loader));
$this->addOption(oxNew(Promotion::class, $this->loader)); $this->addOption(oxNew(Promotion::class, $this->loader));
$this->addOption(oxNew(ContextMenu::class, $this->loader)); $this->addOption(oxNew(ContextMenu::class, $this->loader));
$this->addOption(oxNew(MinHeight::class, $this->loader)); $this->addOption(oxNew(MinHeight::class, $this->loader));

View File

@ -32,9 +32,18 @@ class ContentCss extends AbstractOption
protected Loader $loader; protected Loader $loader;
protected bool $darkMode = false;
public function get(): string public function get(): string
{ {
return '/out/'.strtolower(Registry::getConfig()->getConfigParam('sTheme')).'/src/css/styles.min.css'; return implode(
',',
[
$this->darkMode ?
'dark' :
'/out/'.strtolower(Registry::getConfig()->getConfigParam('sTheme')).'/src/css/styles.min.css'
]
);
} }
public function mustQuote(): bool public function mustQuote(): bool

View File

@ -0,0 +1,47 @@
<?php
/**
* This file is part of O3-Shop TinyMCE editor module.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with O3-Shop. If not, see <http://www.gnu.org/licenses/>
*
* @copyright Copyright (c) 2022 Marat Bedoev, bestlife AG
* @copyright Copyright (c) 2023 O3-Shop (https://www.o3-shop.com)
* @license https://www.gnu.org/licenses/gpl-3.0 GNU General Public License 3 (GPLv3)
*/
declare(strict_types=1);
namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
use O3\TinyMCE\Application\Core\TinyMCE\Loader;
use OxidEsales\Eshop\Core\Registry;
use OxidEsales\Eshop\Core\UtilsServer;
class Skin extends AbstractOption
{
protected string $key = 'skin';
protected Loader $loader;
protected bool $darkMode = false;
public function get(): string
{
return $this->darkMode ? 'oxide-dark' : 'oxide';
}
public function mustQuote(): bool
{
return true;
}
}