From 8fa487401681d0e931b9316e8968a88a88e92d5d Mon Sep 17 00:00:00 2001 From: Markus Reinhold Date: Fri, 2 Jan 2026 17:24:14 +0100 Subject: [PATCH 1/7] Prepare nav for new games Add an optional contextual navigation to the header. Additionally, move some controllers to their respective context. --- assets/css/app.css | 12 +- assets/js/Common/VolumeControl.js | 2 +- assets/js/ConnectFour/GameService.js | 2 +- config/connect-four/routing.yml | 23 ++- config/connect-four/services/controller.yml | 6 + config/identity/services/controller.yml | 5 + config/web-interface/routing.yml | 14 +- config/web-interface/services/controller.yml | 1 - .../Port/Adapter/Http/ChallengeController.php | 8 +- .../Port/Adapter/Http/FragmentController.php | 6 + .../Port/Adapter/Http/PageController.php | 67 ++++++++ .../Port/Adapter/Http/View/base.html.twig | 16 ++ .../Adapter/Http/View/challenge.html.twig | 2 +- .../Port/Adapter}/Http/View/game.html.twig | 2 +- .../Port/Adapter/Http/View/history.html.twig} | 18 +- .../Adapter/Http/View/home-tile.html.twig | 25 +++ .../Port/Adapter}/Http/View/lobby.html.twig | 2 +- .../Http/View/player-search-filter.html.twig | 2 +- .../Port/Adapter/Http/FragmentController.php | 16 ++ .../Port/Adapter/Http/LoginController.php | 4 +- .../Port/Adapter/Http/SignupController.php | 8 +- .../Http/View/fragment/home-header.html.twig | 25 +++ .../Presentation/Http/PageController.php | 55 +------ .../Presentation/Http/View/home.html.twig | 14 ++ .../TwigBundle/Exception/error.html.twig | 2 +- .../TwigBundle/Exception/error404.html.twig | 2 +- templates/include/pagination.html.twig | 58 ++++--- templates/layout/center-tight.html.twig | 2 +- templates/layout/condensed.html.twig | 154 ++++++++---------- .../layout/partial/footer-links.html.twig | 6 +- 30 files changed, 349 insertions(+), 210 deletions(-) create mode 100644 src/ConnectFour/Port/Adapter/Http/PageController.php create mode 100644 src/ConnectFour/Port/Adapter/Http/View/base.html.twig rename src/{WebInterface/Presentation => ConnectFour/Port/Adapter}/Http/View/game.html.twig (99%) rename src/{WebInterface/Presentation/Http/View/profile.html.twig => ConnectFour/Port/Adapter/Http/View/history.html.twig} (94%) create mode 100644 src/ConnectFour/Port/Adapter/Http/View/home-tile.html.twig rename src/{WebInterface/Presentation => ConnectFour/Port/Adapter}/Http/View/lobby.html.twig (94%) create mode 100644 src/Identity/Port/Adapter/Http/FragmentController.php create mode 100644 src/Identity/Port/Adapter/Http/View/fragment/home-header.html.twig create mode 100644 src/WebInterface/Presentation/Http/View/home.html.twig diff --git a/assets/css/app.css b/assets/css/app.css index 3a6a47a5f..7e24e1930 100644 --- a/assets/css/app.css +++ b/assets/css/app.css @@ -2,14 +2,22 @@ html { scroll-padding-top: 10px; } -html:has(.navbar.sticky-top) { +html:has(.sticky-top > .navbar) { scroll-padding-top: 66px; } -html:has(.navbar.sticky-top) .page-body .sticky-md-top { +html:has(.sticky-top > .navbar) .page-body .sticky-md-top { top: 66px; } +html:has(.sticky-top > .navbar + .navbar) { + scroll-padding-top: 120px; +} + +html:has(.sticky-top > .navbar + .navbar) .page-body .sticky-md-top { + top: 120px; +} + [data-title] { position: relative; } diff --git a/assets/js/Common/VolumeControl.js b/assets/js/Common/VolumeControl.js index 0495b5a1e..792758b15 100644 --- a/assets/js/Common/VolumeControl.js +++ b/assets/js/Common/VolumeControl.js @@ -5,7 +5,7 @@ customElements.define('volume-control', class extends HTMLElement { connectedCallback() { this.append(html` -