diff --git a/lib/classes/TwoFactorAuth.php b/lib/classes/TwoFactorAuth.php index 7fd9f45edb9a6b57b49e290d85f3265c4a09169c..3582b6fdb7a013421bc3ef8d5b93359716a1d69b 100644 --- a/lib/classes/TwoFactorAuth.php +++ b/lib/classes/TwoFactorAuth.php @@ -215,6 +215,7 @@ final class TwoFactorAuth ) ); } + PageLayout::setBodyElementId('tfa-confirmation-screen'); echo $GLOBALS['template_factory']->render( 'tfa-validate.php', diff --git a/resources/assets/javascripts/lib/skip_links.js b/resources/assets/javascripts/lib/skip_links.js index c237a54bd51a0dacf7f4344494e9dbc1d1840e11..4f5bd886e38dfeddd5ec2972ee05b6e305070ce8 100644 --- a/resources/assets/javascripts/lib/skip_links.js +++ b/resources/assets/javascripts/lib/skip_links.js @@ -101,7 +101,7 @@ const SkipLinks = { insertHeadLines: function() { var target = null; jQuery('#skip_link_navigation a').each(function() { - target = jQuery(this).attr('href'); + target = jQuery(this); if (jQuery(target).is('li,td')) { jQuery(target).prepend( '<h2 id="' + diff --git a/resources/assets/stylesheets/scss/article.scss b/resources/assets/stylesheets/scss/article.scss index f773e769ba4a518f1bc142e72be43875b294ad2a..e9be1580293b6ae1758cc891a483c35d4e40a10f 100644 --- a/resources/assets/stylesheets/scss/article.scss +++ b/resources/assets/stylesheets/scss/article.scss @@ -1,7 +1,11 @@ article.studip { - border-color: $content-color-40; - border-style: solid; - border-width: 1px; + + &:not(.wiki) { + border-color: $content-color-40; + border-style: solid; + border-width: 1px; + } + margin-bottom: 10px; transition: all 300ms ease 0s; padding: 10px; diff --git a/resources/assets/stylesheets/scss/header.scss b/resources/assets/stylesheets/scss/header.scss index 1ddd3bdec563d8bdc30b079d9719c883a0cf4a5a..36ae554cff010d2fc421d565ee9fc515bcb923cf 100644 --- a/resources/assets/stylesheets/scss/header.scss +++ b/resources/assets/stylesheets/scss/header.scss @@ -42,7 +42,6 @@ html { scroll-padding-top: calc($bar-bottom-container-height + 1em); } -#main-footer, #header-links { > ul > li > a { color: $white; @@ -54,22 +53,6 @@ html { } } -#main-footer { - > ul { - display: flex; - flex: 1; - flex-wrap: wrap; - justify-content: flex-end; - list-style-type: none; - min-height: 30px; - padding: 0; - > li { - margin-left: 2px; - margin-right: 2px; - } - } -} - #header-links { flex: 0 1 auto; justify-self: flex-end; diff --git a/resources/assets/stylesheets/scss/layouts.scss b/resources/assets/stylesheets/scss/layouts.scss index f38518b5373341da4417fb86cb2ed23579ae573e..4248cb4c02aaaf46da01730cc803ec1d4b4309dd 100644 --- a/resources/assets/stylesheets/scss/layouts.scss +++ b/resources/assets/stylesheets/scss/layouts.scss @@ -152,8 +152,7 @@ body { grid-column: 2 / 3; grid-row: 2 / 3; justify-content: flex-start; - margin: 15px 15px 15px 2px; - padding: 0 $content-margin 47px $content-margin; + margin: $page-margin; position: relative; vertical-align: top; @@ -215,12 +214,37 @@ body { padding: 2px 0; grid-column: 1 / 3; grid-row: 3 / 4; + justify-content: space-between; + line-height: $footer-height - 4px; } #main-footer-info { margin-left: 8px; - margin-top: 2px; - line-height: 28px; +} + +#main-footer-navigation { + ul { + display: flex; + flex: 1; + flex-wrap: wrap; + justify-content: flex-end; + list-style-type: none; + padding: 0; + + li { + margin-left: 2px; + margin-right: 2px; + + a { + color: $white; + margin: 0 6px; + text-decoration: none; + &:hover { + text-decoration: underline; + } + } + } + } } #navigation-level-1 { diff --git a/resources/assets/stylesheets/scss/mobile.scss b/resources/assets/stylesheets/scss/mobile.scss deleted file mode 100644 index d339d1980cf4e0f530a69abb69a855cdf1d6b619..0000000000000000000000000000000000000000 --- a/resources/assets/stylesheets/scss/mobile.scss +++ /dev/null @@ -1,58 +0,0 @@ -@include media-breakpoint-small-down(){ - body > header { min-width: 0 !important; } - #login div.index_container .messagebox, - #index div.index_container .messagebox, - #request_new_password div.index_container .messagebox, - #web_migrate div.index_container .messagebox { - margin-top: 110px; - margin-left: auto; - margin-right: auto; - } -} - -@include media-breakpoint-tiny-down(){ - #top-logo img { - height: 33px; - margin-top: 5px; - width: 153px; - } - #index, - #login, - #request_new_password, - #web_migrate { - div.index_container { - display: flex; - flex-direction: column; - position: static; - top: 40px; - - .messagebox { - margin-bottom: 0; - margin-top: 0; - width: calc(100% - 74px); - } - - #background-desktop { - display: none; - } - - #background-mobile { - display: inherit; - width: 100%; - height: calc(100% - 34px); - } - - div.index_main { - margin-top: 0; - padding-left: 20px; - padding-right: 20px; - position: relative; - width: calc(100% - 40px); - - nav { - display: inline; - } - } - } - } -} diff --git a/resources/assets/stylesheets/scss/personal-notifications.scss b/resources/assets/stylesheets/scss/personal-notifications.scss index c397c1b1fa0dfaa6185032efd3fc4ac9fa020e2d..74e60848690a37780d9170b273a64f4fd606bc18 100644 --- a/resources/assets/stylesheets/scss/personal-notifications.scss +++ b/resources/assets/stylesheets/scss/personal-notifications.scss @@ -8,7 +8,7 @@ font-size: 0.8em; color: $base-color; text-align: center; - line-height: 28px; + line-height: 24px; background-color: $dark-gray-color-10; border: 1px solid $dark-gray-color-40; diff --git a/resources/assets/stylesheets/scss/responsive.scss b/resources/assets/stylesheets/scss/responsive.scss index 95b97f3a0d62d6371d49f6ff9d3ac0f103c61a1b..084833432099ffb40c95e869d26dd90b4001b462 100644 --- a/resources/assets/stylesheets/scss/responsive.scss +++ b/resources/assets/stylesheets/scss/responsive.scss @@ -284,16 +284,14 @@ $sidebarOut: -330px; #header-links { > ul { - margin-right: 10px; - - li { - padding: 0; + > li:not(#responsive-toggle-fullscreen):not(.helpbar-container) { + display: none; + } - &.helpbar-container { - float: unset; - margin-top: 5px; - right: 5px; - } + > li.helpbar-container { + float: unset; + margin-top: 5px; + right: 30px; } } @@ -505,7 +503,7 @@ $sidebarOut: -330px; #responsive-toggle-fullscreen { display: block; - margin-right: 5px; + right: 15px; } .contentbar:not(#responsive-contentbar) { @@ -704,27 +702,18 @@ html:not(.responsive-display):not(.fullscreen-mode) { margin-right: 0; } - #current-page-structure, #top-bar, #navigation-level-1, #layout_content { + #current-page-structure, + #top-bar, + #navigation-level-1 { min-width: inherit !important; } - #layout_content { - margin: 0px 4px; - } - #index, #login, #request_new_password, #web_migrate { - div.index_container { - height: calc(100% - 74px); - position: static; - top: 0; - - div.messagebox, - div.index_main { - margin: 1em auto; - } + .messagebox { + margin: 0; } #background-desktop, @@ -739,10 +728,47 @@ html:not(.responsive-display):not(.fullscreen-mode) { #login, #request_new_password, #web_migrate { - div.index_container { - div.messagebox, - div.index_main { - margin: 0 auto; + + #responsive-contentbar { + display: none; + } + + main { + margin: 0; + padding: 0; + width: calc(100% - 10px); + } + + } + + #header-links { + display: none; + } + + #background-desktop { + display: none; + } + + #background-mobile { + display: inherit; + width: 100vw; + height: 100vh; + top:0; + left: 0; + } + + #loginbox { + box-shadow: unset; + margin: 0; + width: calc(100vw - 40px); + + nav ul { + display: flex; + flex-direction: column; + width: 100%; + + .login_link { + width: unset; } } } @@ -794,3 +820,5 @@ html:not(.responsive-display):not(.fullscreen-mode) { max-width: 100vw; } } + + diff --git a/resources/assets/stylesheets/studip.scss b/resources/assets/stylesheets/studip.scss index 0cf922df9bc1b952cd0eb92dcc930599093c9b79..8e8734ec98250ed8a1c181c4b9f471cd436d6ba9 100644 --- a/resources/assets/stylesheets/studip.scss +++ b/resources/assets/stylesheets/studip.scss @@ -57,7 +57,6 @@ @import "scss/links"; @import "scss/lists"; @import "scss/messages"; -@import "scss/mobile"; @import "scss/my_courses"; @import "scss/mvv"; @import "scss/navigation"; diff --git a/resources/vue/components/responsive/ResponsiveContentBar.vue b/resources/vue/components/responsive/ResponsiveContentBar.vue index 9e499b3fbf18348076d20b5cc6d7d3bab3f6b9ed..fa5e5c9589c73c536baf035c56c0d93b14b7bdd4 100644 --- a/resources/vue/components/responsive/ResponsiveContentBar.vue +++ b/resources/vue/components/responsive/ResponsiveContentBar.vue @@ -153,7 +153,7 @@ export default { const realContentbar = document.querySelector('.contentbar:not(#responsive-contentbar)'); if (realContentbar) { this.realContentbar = realContentbar; - this.realContentbarSource = '#layout_content'; + this.realContentbarSource = '#content'; this.realContentbarIconContainer = '.contentbar-nav'; this.realContentbarType = 'wiki'; this.adjustExistingContentbar(true); diff --git a/templates/contentbar/contentbar.php b/templates/contentbar/contentbar.php index 851c77e3988ff728e156fbb7e7be0f7aca448a45..dcdeeb8bc0f7814be4865ca21e8fe3957bcd0b93 100644 --- a/templates/contentbar/contentbar.php +++ b/templates/contentbar/contentbar.php @@ -1,4 +1,4 @@ -<header> +<section> <header class="contentbar"> <nav class="contentbar-nav"></nav> <div class="contentbar-wrapper-left"> @@ -34,4 +34,4 @@ <? endif ?> </div> </header> -</div> +</section> diff --git a/templates/footer.php b/templates/footer.php index 57fe54cf05074c48df8fadcc0b99db8c63d74395..d652cb2a060fe34b09c28e1d408fa7a923db50b0 100644 --- a/templates/footer.php +++ b/templates/footer.php @@ -35,22 +35,24 @@ <? endif; ?> <? if (Navigation::hasItem('/footer')) : ?> - <ul> - <? foreach (Navigation::getItem('/footer') as $nav): ?> - <? if ($nav->isVisible()): ?> - <li> - <a - <? if (is_internal_url($url = $nav->getURL())) : ?> - href="<?= URLHelper::getLink($url, $link_params ?? null) ?>" - <? else: ?> - href="<?= htmlReady($url) ?>" target="_blank" rel="noopener noreferrer" - <? endif ?> - <?= arrayToHtmlAttributes($nav->getLinkAttributes()) ?> - ><?= htmlReady($nav->getTitle()) ?></a> - </li> - <? endif; ?> - <? endforeach; ?> - </ul> + <nav id="main-footer-navigation" aria-label="<?= _('Fußzeilennavigation') ?>"> + <ul> + <? foreach (Navigation::getItem('/footer') as $nav): ?> + <? if ($nav->isVisible()): ?> + <li> + <a + <? if (is_internal_url($url = $nav->getURL())) : ?> + href="<?= URLHelper::getLink($url, $link_params ?? null) ?>" + <? else: ?> + href="<?= htmlReady($url) ?>" target="_blank" rel="noopener noreferrer" + <? endif ?> + <?= arrayToHtmlAttributes($nav->getLinkAttributes()) ?> + ><?= htmlReady($nav->getTitle()) ?></a> + </li> + <? endif; ?> + <? endforeach; ?> + </ul> + </nav> <? endif; ?> </footer> <?= $this->render_partial('debug/db-log.php') ?> diff --git a/templates/header.php b/templates/header.php index 408b5b84ded4117e442f54c9ff3ce49182b7108f..5e4ed1029ee712a998bb5a701b7af5db15fc93ac 100644 --- a/templates/header.php +++ b/templates/header.php @@ -203,7 +203,6 @@ if ($navigation) { </li> <? endif; ?> - <li id="responsive-toggle-desktop"></li> <li id="responsive-toggle-fullscreen"></li> </ul> </div>