forked from joomla/joomla-cms
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request joomla#20 from LadySolveig/MacJoom/patch/dark-mode…
…-5.1-dev fix index.php autum
- Loading branch information
Showing
1 changed file
with
201 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,201 @@ | ||
<?php | ||
|
||
/** | ||
* @package Joomla.Administrator | ||
* @subpackage Templates.Atum | ||
* @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> | ||
* @license GNU General Public License version 2 or later; see LICENSE.txt | ||
* @since 4.0.0 | ||
*/ | ||
|
||
defined('_JEXEC') or die; | ||
|
||
use Joomla\CMS\Factory; | ||
use Joomla\CMS\HTML\HTMLHelper; | ||
use Joomla\CMS\Language\Text; | ||
use Joomla\CMS\Layout\LayoutHelper; | ||
use Joomla\CMS\Router\Route; | ||
use Joomla\CMS\Uri\Uri; | ||
|
||
/** @var \Joomla\CMS\Document\HtmlDocument $this */ | ||
|
||
$app = Factory::getApplication(); | ||
$input = $app->getInput(); | ||
$wa = $this->getWebAssetManager(); | ||
|
||
// Detecting Active Variables | ||
$option = $input->get('option', ''); | ||
$view = $input->get('view', ''); | ||
$layout = $input->get('layout', 'default'); | ||
$task = $input->get('task', 'display'); | ||
$cpanel = $option === 'com_cpanel' || ($option === 'com_admin' && $view === 'help'); | ||
$hiddenMenu = $app->getInput()->get('hidemainmenu'); | ||
$sidebarState = $input->cookie->get('atumSidebarState', ''); | ||
|
||
// Getting user accessibility settings | ||
$a11y_mono = (bool) $app->getIdentity()->getParam('a11y_mono', ''); | ||
$a11y_contrast = (bool) $app->getIdentity()->getParam('a11y_contrast', ''); | ||
$a11y_highlight = (bool) $app->getIdentity()->getParam('a11y_highlight', ''); | ||
$a11y_font = (bool) $app->getIdentity()->getParam('a11y_font', ''); | ||
|
||
// Browsers support SVG favicons | ||
$this->addHeadLink(HTMLHelper::_('image', 'joomla-favicon.svg', '', [], true, 1), 'icon', 'rel', ['type' => 'image/svg+xml']); | ||
$this->addHeadLink(HTMLHelper::_('image', 'favicon.ico', '', [], true, 1), 'alternate icon', 'rel', ['type' => 'image/vnd.microsoft.icon']); | ||
$this->addHeadLink(HTMLHelper::_('image', 'joomla-favicon-pinned.svg', '', [], true, 1), 'mask-icon', 'rel', ['color' => '#000']); | ||
|
||
// Template params | ||
$logoBrandLarge = $this->params->get('logoBrandLarge') | ||
? Uri::root(false) . htmlspecialchars($this->params->get('logoBrandLarge'), ENT_QUOTES) | ||
: Uri::root(false) . 'media/templates/administrator/atum/images/logos/brand-large.svg'; | ||
$logoBrandSmall = $this->params->get('logoBrandSmall') | ||
? Uri::root(false) . htmlspecialchars($this->params->get('logoBrandSmall'), ENT_QUOTES) | ||
: Uri::root(false) . 'media/templates/administrator/atum/images/logos/brand-small.svg'; | ||
|
||
$logoBrandLargeAlt = empty($this->params->get('logoBrandLargeAlt')) && empty($this->params->get('emptyLogoBrandLargeAlt')) | ||
? '' | ||
: htmlspecialchars($this->params->get('logoBrandLargeAlt', ''), ENT_COMPAT, 'UTF-8'); | ||
$logoBrandSmallAlt = empty($this->params->get('logoBrandSmallAlt')) && empty($this->params->get('emptyLogoBrandSmallAlt')) | ||
? '' | ||
: htmlspecialchars($this->params->get('logoBrandSmallAlt', ''), ENT_COMPAT, 'UTF-8'); | ||
|
||
// Get the hue value | ||
preg_match('#^hsla?\(([0-9]+)[\D]+([0-9]+)[\D]+([0-9]+)[\D]+([0-9](?:.\d+)?)?\)$#i', $this->params->get('hue', 'hsl(214, 63%, 20%)'), $matches); | ||
|
||
$linkColor = $this->params->get('link-color', '#2a69b8'); | ||
list($r, $g, $b) = sscanf($linkColor, "#%02x%02x%02x"); | ||
|
||
$linkColorDark = $this->params->get('link-color-dark', '#249ec8'); | ||
list($rd, $gd, $bd) = sscanf($linkColorDark, "#%02x%02x%02x"); | ||
|
||
// Enable assets | ||
$wa->usePreset('template.atum.' . ($this->direction === 'rtl' ? 'rtl' : 'ltr')) | ||
->useStyle('template.active.language') | ||
->useStyle('template.user') | ||
->addInlineStyle(':root { | ||
--hue: ' . $matches[1] . '; | ||
--template-bg-light: ' . $this->params->get('bg-light', '#f0f4fb') . '; | ||
--template-text-dark: ' . $this->params->get('text-dark', '#495057') . '; | ||
--template-text-light: ' . $this->params->get('text-light', '#ffffff') . '; | ||
--link-color: ' . $linkColor . '; | ||
--link-color-rgb: ' . $r . ',' . $g . ',' . $b . '; | ||
--template-special-color: ' . $this->params->get('special-color', '#001B4C') . '; | ||
}') | ||
->addInlineStyle('@media (prefers-color-scheme: dark) { :root { | ||
--link-color: ' . $linkColorDark . '; | ||
--link-color-rgb: ' . $rd . ',' . $gd . ',' . $bd . '; | ||
--template-special-color: #249ec8; | ||
}}'); | ||
|
||
// Override 'template.active' asset to set correct ltr/rtl dependency | ||
$wa->registerStyle('template.active', '', [], [], ['template.atum.' . ($this->direction === 'rtl' ? 'rtl' : 'ltr')]); | ||
|
||
// Set some meta data | ||
$this->setMetaData('viewport', 'width=device-width, initial-scale=1'); | ||
|
||
$monochrome = (bool) $this->params->get('monochrome'); | ||
|
||
Text::script('TPL_ATUM_MORE_ELEMENTS'); | ||
|
||
// @see administrator/templates/atum/html/layouts/status.php | ||
$statusModules = LayoutHelper::render('status', ['modules' => 'status']); | ||
?> | ||
<!DOCTYPE html> | ||
<html lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>"<?php echo $a11y_font ? ' class="a11y_font"' : ''; ?>> | ||
<head> | ||
<jdoc:include type="metas" /> | ||
<jdoc:include type="styles" /> | ||
<jdoc:include type="scripts" /> | ||
</head> | ||
|
||
<body data-color-scheme-os class="admin <?php echo $option . ' view-' . $view . ' layout-' . $layout . ($task ? ' task-' . $task : '') . ($monochrome || $a11y_mono ? ' monochrome' : '') . ($a11y_contrast ? ' a11y_contrast' : '') . ($a11y_highlight ? ' a11y_highlight' : ''); ?>"> | ||
<noscript> | ||
<div class="alert alert-danger" role="alert"> | ||
<?php echo Text::_('JGLOBAL_WARNJAVASCRIPT'); ?> | ||
</div> | ||
</noscript> | ||
|
||
<jdoc:include type="modules" name="customtop" style="none" /> | ||
|
||
<?php // Header ?> | ||
<header id="header" class="header"> | ||
<div class="header-inside"> | ||
<div class="header-title d-flex"> | ||
<div class="d-flex align-items-center"> | ||
<?php // No home link in edit mode (so users can not jump out) and control panel (for a11y reasons) ?> | ||
<?php if ($hiddenMenu || $cpanel) : ?> | ||
<div class="logo <?php echo $sidebarState === 'closed' ? 'small' : ''; ?>"> | ||
<?php echo HTMLHelper::_('image', $logoBrandLarge, $logoBrandLargeAlt, ['loading' => 'eager', 'decoding' => 'async'], false, 0); ?> | ||
<?php echo HTMLHelper::_('image', $logoBrandSmall, $logoBrandSmallAlt, ['class' => 'logo-collapsed', 'loading' => 'eager', 'decoding' => 'async'], false, 0); ?> | ||
</div> | ||
<?php else : ?> | ||
<a class="logo <?php echo $sidebarState === 'closed' ? 'small' : ''; ?>" href="<?php echo Route::_('index.php'); ?>"> | ||
<?php echo HTMLHelper::_('image', $logoBrandLarge, Text::_('TPL_ATUM_BACK_TO_CONTROL_PANEL'), ['loading' => 'eager', 'decoding' => 'async'], false, 0); ?> | ||
<?php echo HTMLHelper::_('image', $logoBrandSmall, Text::_('TPL_ATUM_BACK_TO_CONTROL_PANEL'), ['class' => 'logo-collapsed', 'loading' => 'eager', 'decoding' => 'async'], false, 0); ?> | ||
</a> | ||
<?php endif; ?> | ||
</div> | ||
<jdoc:include type="modules" name="title" /> | ||
</div> | ||
<?php echo $statusModules; ?> | ||
</div> | ||
</header> | ||
|
||
<?php // Wrapper ?> | ||
<div id="wrapper" class="d-flex wrapper<?php echo $hiddenMenu ? '0' : ''; ?> <?php echo $sidebarState; ?>"> | ||
<?php // Sidebar ?> | ||
<?php if (!$hiddenMenu) : ?> | ||
<?php HTMLHelper::_('bootstrap.collapse', '.toggler-burger'); ?> | ||
<button class="navbar-toggler toggler-burger collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar-wrapper" aria-controls="sidebar-wrapper" aria-expanded="false" aria-label="<?php echo Text::_('JTOGGLE_SIDEBAR_MENU'); ?>"> | ||
<span class="navbar-toggler-icon"></span> | ||
</button> | ||
|
||
<div id="sidebar-wrapper" class="sidebar-wrapper sidebar-menu" <?php echo $hiddenMenu ? 'data-hidden="' . $hiddenMenu . '"' : ''; ?>> | ||
<div id="sidebarmenu" class="sidebar-sticky"> | ||
<div class="sidebar-toggle item item-level-1"> | ||
<a id="menu-collapse" href="#" aria-label="<?php echo Text::_('JTOGGLE_SIDEBAR_MENU'); ?>"> | ||
<span id="menu-collapse-icon" class="<?php echo $sidebarState === 'closed' ? 'icon-toggle-on' : 'icon-toggle-off'; ?> icon-fw" aria-hidden="true"></span> | ||
<span class="sidebar-item-title"><?php echo Text::_('JTOGGLE_SIDEBAR_MENU'); ?></span> | ||
</a> | ||
</div> | ||
<jdoc:include type="modules" name="menu" style="none" /> | ||
</div> | ||
</div> | ||
<?php endif; ?> | ||
|
||
<?php // container-fluid ?> | ||
<div class="container-fluid container-main"> | ||
<?php if (!$cpanel) : ?> | ||
<?php // Subheader ?> | ||
<?php HTMLHelper::_('bootstrap.collapse', '.toggler-toolbar'); ?> | ||
<button class="navbar-toggler toggler-toolbar toggler-burger collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#subhead-container" aria-controls="subhead-container" aria-expanded="false" aria-label="<?php echo Text::_('TPL_ATUM_TOOLBAR'); ?>"> | ||
<span class="toggler-toolbar-icon"></span> | ||
</button> | ||
<div id="subhead-container" class="subhead mb-3"> | ||
<div class="row"> | ||
<div class="col-md-12"> | ||
<jdoc:include type="modules" name="toolbar" style="none" /> | ||
</div> | ||
</div> | ||
</div> | ||
<?php endif; ?> | ||
<section id="content" class="content"> | ||
<?php // Begin Content ?> | ||
<jdoc:include type="modules" name="top" style="html5" /> | ||
<div class="row"> | ||
<div class="col-md-12"> | ||
<main> | ||
<jdoc:include type="message" /> | ||
<jdoc:include type="component" /> | ||
</main> | ||
</div> | ||
<?php if ($this->countModules('bottom')) : ?> | ||
<jdoc:include type="modules" name="bottom" style="html5" /> | ||
<?php endif; ?> | ||
</div> | ||
<?php // End Content ?> | ||
</section> | ||
</div> | ||
</div> | ||
<jdoc:include type="modules" name="debug" style="none" /> | ||
</body> | ||
</html> |