themes/quanthub_tailwindcss/templates/layout/page.html.twig (80 lines of code) (raw):

{# /** * @file * Default theme implementation to display a single page. * * The doctype, html, head and body tags are not in this template. Instead they * can be found in the html.html.twig template in this directory. * * Available variables: * * General utility variables: * - base_path: The base URL path of the Drupal installation. Will usually be * "/" unless you have installed Drupal in a sub-directory. * - is_front: A flag indicating if the current page is the front page. * - logged_in: A flag indicating if the user is registered and signed in. * - is_admin: A flag indicating if the user has permission to access * administration pages. * * Site identity: * - front_page: The URL of the front page. Use this instead of base_path when * linking to the front page. This includes the language domain or prefix. * * Page content (in order of occurrence in the default page.html.twig): * - messages: Status and error messages. Should be displayed prominently. * - node: Fully loaded node, if there is an automatically-loaded node * associated with the page and the node ID is the second argument in the * page's path (e.g. node/12345 and node/12345/revisions, but not * comment/reply/12345). * * Regions: * - page.header: Items for the header region. * - page.primary_menu: Items for the primary menu region. * - page.secondary_menu: Items for the secondary menu region. * - page.highlighted: Items for the highlighted content region. * - page.help: Dynamic help text, mostly for admin pages. * - page.content: The main content of the current page. * - page.sidebar_first: Items for the first sidebar. * - page.sidebar_second: Items for the second sidebar. * - page.footer: Items for the footer region. * - page.breadcrumb: Items for the breadcrumb region. * * @see template_preprocess_page() * @see html.html.twig * * @ingroup themeable */ #} <header role="header" class="header w-full top-0 z-50 bg-grey"> {{ page.header }} </header> <div class="page grow"> {{ page.search }} {{ page.breadcrumb }} <main role="main"> <a id="main-content" tabindex="-1"></a>{# link is in html.html.twig #} <div class="flex sm:block"> {% if page.left_sidebar %} <aside class="aside" role="complementary"> {{ page.left_sidebar }} </aside> {% endif %} <div class="flex-1 min-w-0"> {{ page.content }} </div> </div> </main> </div> {% if page.footer %} <footer role="contentinfo" class="footer bg-white"> {{ page.footer }} </footer> {% endif %} <script> const className = "is-sticky"; const header = document.querySelector("header.header"); const scrollTrigger = header.clientHeight || 72; window.onscroll = () => { if (window.scrollY >= scrollTrigger) { header.classList.add(className); } else { header.classList.remove(className); } }; </script>