Add Proper footers to Guest Area and client portal

This commit is contained in:
johnnyq
2026-08-31 13:24:32 -04:00
parent 364c9e2134
commit c89e3a90d4
3 changed files with 44 additions and 19 deletions

View File

@@ -8,17 +8,29 @@
<!-- Close container -->
</div>
<br>
<hr>
<?php /* This portal has no .app-wrapper grid - it is a plain navbar over a
.container - so the bottom edge is held by the body instead:
header.php gives the body d-flex flex-column min-vh-100, and mt-auto here
eats whatever height is left over. On a short page (an empty ticket
list, the statement) the bar lands on the bottom of the window rather
than directly under the content.
<p class="text-center">
.app-footer is AdminLTE's own bar styling - border-top, body-bg,
min-height 3rem - which is what the old rule was standing in for, so
the trailing br and hr go with it. Its grid-area is inert outside a
grid.
Only the navbar, the .container and this become flex items: script
elements are display:none, and anything the libraries fix to the
viewport (sweetalert2, modal backdrops) is out of flow either way. */ ?>
<footer class="app-footer mt-auto py-2 text-center">
<?php
echo escapeHtml($session_company_name);
if (!$config_whitelabel_enabled) {
echo '<br><small class="text-muted">Powered by ITFlow</small>';
}
?>
</p>
</footer>

View File

@@ -59,7 +59,7 @@ header("X-Frame-Options: DENY"); // Legacy
(default-src 'self') would block outright. Empty when the company has
no country set, which js/phone_inputs.js reads as "let the library
decide". */ ?>
<body class="bg-body-tertiary theme-<?= escapeHtml($config_theme) ?>" data-lte-primary="<?= escapeHtml($config_theme) ?>"
<body class="d-flex flex-column min-vh-100 bg-body-tertiary theme-<?= escapeHtml($config_theme) ?>" data-lte-primary="<?= escapeHtml($config_theme) ?>"
data-itflow-phone-country="<?= escapeHtml($country_iso2_array[$session_company_country] ?? '') ?>">
<!-- Navbar -->
@@ -153,10 +153,18 @@ header("X-Frame-Options: DENY"); // Legacy
</div>
</nav>
<br>
<?php /* The gap under the navbar used to be a bare line-break element sitting
directly in the body. That stopped working the moment the body became a
flex column: a break is only a break inside an inline formatting
context, and as a flex item it is blockified into an empty zero-height
box - so the gap vanished and the welcome row rode up against the
navbar.
Carried on the container as a real margin instead. mt-4 is 1.5rem,
exactly what the break was worth: one line box at the body's 1.5
line-height on a 1rem font. */ ?>
<!-- Page content container -->
<div class="container">
<div class="container mt-4">
<div class="row mb-3">
<div class="col-md-1 text-center">

View File

@@ -1,18 +1,6 @@
<?php
?>
<?php
if (basename(dirname($_SERVER['REQUEST_URI'])) === 'guest') { ?>
<p class="text-center">
<?php
echo escapeHtml($session_company_name);
if (!$config_whitelabel_enabled) {
echo '<br><small class="text-muted">Powered by ITFlow</small>';
}
?>
</p>
<?php } ?>
</div><!-- /.container-fluid -->
</div> <!-- /.app-content -->
</main> <!-- /.app-main -->
@@ -32,6 +20,23 @@ if (basename(dirname($_SERVER['REQUEST_URI'])) === 'guest') { ?>
</footer>
<?php } ?>
<?php /* The guest portal shares this file and the same .app-wrapper grid (its
own guest_header.php opens it), so its footer goes in the same row.
guest_header.php renders no .app-header and no .app-sidebar, which the
grid handles on its own - the sidebar column is `auto` and the header
row is min-content, so both collapse to zero and .app-main still takes
the 1fr. */ ?>
<?php if (basename(dirname($_SERVER['REQUEST_URI'])) === 'guest') { ?>
<footer class="app-footer py-2 text-center">
<?php
echo escapeHtml($session_company_name);
if (!$config_whitelabel_enabled) {
echo '<br><small class="text-muted">Powered by ITFlow</small>';
}
?>
</footer>
<?php } ?>
</div> <!-- /.app-wrapper -->
<!-- Set the browser window title to the clients name -->