diff --git a/resources/assets/stylesheets/scss/sidebar.scss b/resources/assets/stylesheets/scss/sidebar.scss index a0118e8af5b86dae72e2cd65145f989b94d2fbdc..e845a35db3196ca6c426f88960294c4a2702e8eb 100644 --- a/resources/assets/stylesheets/scss/sidebar.scss +++ b/resources/assets/stylesheets/scss/sidebar.scss @@ -57,6 +57,23 @@ -webkit-box-orient: vertical; } + .sidebar-widget.sidebar-widget-has-extra { + display: grid; + grid-template-areas: "swh swx" "swc swc"; + grid-template-rows: auto; + grid-template-columns: 1fr min-content; + + .sidebar-widget-header { + grid-area: swh; + } + .sidebar-widget-extra { + grid-area: swx; + } + .sidebar-widget-content { + grid-area: swc; + } + } + .course-avatar-medium, .stream-avatar-medium, .avatar-medium { @@ -70,21 +87,13 @@ margin: 15px 0 0; width: $sidebar-width - 5px; } - .sidebar-widget-header { - @include clearfix(); + .sidebar-widget-header, + .sidebar-widget-extra { background: $content-color-20; color: $base-color; font-weight: bold; padding: 4px; } - .sidebar-widget-options { - float: right; - opacity: 0; - transition: all 0.5s; - } - .sidebar-widget:hover .sidebar-widget-options { - opacity: 1; - } // Links inside the sidebar a.link-intern { @@ -216,7 +225,6 @@ div#sidebar-navigation { .sidebar-widget { background: $white; - @include clearfix(); .widget-options { list-style: none; @@ -265,13 +273,6 @@ div#sidebar-navigation { transition: all 0.5s; } -.sidebar-widget-header { - @include clearfix(); - .sidebar-widget-extra { - float: right; - } -} - // TODO: These two should be combined into one widget select.sidebar-selectlist { overflow-y: auto; diff --git a/templates/sidebar/widget-layout.php b/templates/sidebar/widget-layout.php index aa85a41b4e959412f4443323c58d338213438fbf..2d3d71c3ebd1c6eb2f3466e87c93fc141c97ea2d 100644 --- a/templates/sidebar/widget-layout.php +++ b/templates/sidebar/widget-layout.php @@ -1,14 +1,31 @@ -<div class="<?= $base_class ?>-widget <?= is_array($layout_css_classes) ? htmlReady(implode(' ', $layout_css_classes)) : '' ?>" - <?= arrayToHtmlAttributes($additional_attributes) ?>> +<?php +/** + * @var string $title + * @var string $base_class + * @var array $additional_attributes + * @var string|null $extra + * @var string $content + */ + +$css_classes = $layout_css_classes ?? []; +$css_classes[] = "{$base_class}-widget"; + +if ($title && isset($extra)) { + $css_classes[] = 'sidebar-widget-has-extra'; +} + +$additional_attributes['class'] = implode(' ', $css_classes); +?> +<div <?= arrayToHtmlAttributes($additional_attributes) ?>> <? if ($title): ?> <div class="<?= $base_class ?>-widget-header"> - <? if (isset($extra)): ?> - <div class="<?= $base_class ?>-widget-extra"><?= $extra ?></div> - <? endif; ?> <?= htmlReady($title) ?> </div> <? endif; ?> <div class="<?= $base_class ?>-widget-content"> <?= $content_for_layout ?> </div> +<? if ($title && isset($extra)): ?> + <div class="<?= $base_class ?>-widget-extra"><?= $extra ?></div> +<? endif; ?> </div>