remove footer gap (#3855)

# Description of Changes

Please provide a summary of the changes, including:

- What was changed
- Why the change was made
- Any challenges encountered

Closes #(issue_number)

---

## Checklist

### General

- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md)
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings

### Documentation

- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)

### UI Changes (if applicable)

- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)

### Testing (if applicable)

- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing)
for more details.

---------

Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
This commit is contained in:
Reece Browne 2025-07-02 16:52:52 +01:00 committed by GitHub
parent dc6823d7ba
commit c0bbd92c9e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 37 additions and 24 deletions

View File

@ -62,7 +62,7 @@ security:
premium:
key: 00000000-0000-0000-0000-000000000000
enabled: true # Enable license key checks for pro/enterprise features
enabled: false # Enable license key checks for pro/enterprise features
proFeatures:
database: true # Enable database features
SSOAutoLogin: false

View File

@ -11,6 +11,7 @@
align-items: center; /* Center children horizontally */
flex-grow: 1;
flex-direction: column;
margin-top: 1rem;;
}
.footer-powered-by {

View File

@ -3,7 +3,7 @@
background-color: var(--md-sys-color-surface-container-low);
width: 100%;
font-size: 16px;
margin-bottom: 2rem;
margin-bottom: 0.5rem;
padding: 0.75rem 3.5rem;
border: 1px solid var(--md-sys-color-outline-variant);
border-radius: 3rem;

View File

@ -91,7 +91,8 @@
}
.newfeature{
min-width:12rem;
display: flex;
width:fit-content
}
.recent-features{
display: flex;

View File

@ -1,4 +1,4 @@
<footer th:fragment="footer" id="footer" class="text-center pt-5">
<footer th:fragment="footer" id="footer" class="text-center">
<script type="module" th:src="@{'/js/thirdParty/cookieconsent-config.js'}"></script>
<div class="footer-center pb-4">

View File

@ -7,10 +7,9 @@
</head>
<body>
<div id="page-container">
<div class="page-container" style="height:98vh; max-height:98vh; overflow-x:hidden;">
<th:block th:insert="~{fragments/navbar.html :: navbar}"></th:block>
<div style="transform-origin: top;"
id="scale-wrap">
<div style="transform-origin: center top; flex:0 1 auto; display:flex; flex-direction:column; align-items:center; justify-content:flex-start;" id="scale-wrap">
<br class="d-md-none">
<!-- Features -->
<script th:src="@{'/js/homecard.js'}"></script>
@ -27,9 +26,9 @@
<div
style="display:flex; flex-direction: column; justify-content: center; width:100%; margin-bottom:1rem">
<div style="width:fit-content; margin: 0 auto; padding: 0 3rem">
<p class="lead fs-4"
<div class="lead fs-4"
th:text="${@homeText != 'null' and @homeText != null and @homeText != ''} ? ${@homeText} : #{home.desc}">
</p>
</div>
</div>
<div id="groupRecent" style="width: fit-content; margin: 0 auto">
<div
@ -53,10 +52,9 @@
</div>
</div>
<span class="material-symbols-rounded search-icon">
search
</span>
<div style="display: flex; align-items: center; gap: 0.5rem;">
<input type="text" id="searchBar" onkeyup="filterCards()" th:placeholder="#{home.searchBar}" autofocus>
</div>
<div style="display: flex; column-gap: 3rem; flex-wrap: wrap; margin-left:1rem">
<div
@ -117,9 +115,9 @@
</div>
</div>
<th:block th:insert="~{fragments/footer.html :: footer}"></th:block>
</div>
<th:block th:insert="~{fragments/footer.html :: footer}"></th:block>
</div>
</div>
@ -225,14 +223,27 @@
const scaleY = window.innerHeight / baseHeight;
const scale = Math.max(0.9, Math.min(scaleX, scaleY)); // keep aspect ratio, honor minScale
const ui = document.getElementById('scale-wrap');
ui.style.transform = `scale(${scale*0.75})`;
const pageContainer = document.querySelector('.page-container');
// Calculate available space for content
const navbar = document.querySelector('.navbar, nav');
const navbarHeight = navbar ? navbar.offsetHeight : 0;
const availableHeight = pageContainer.offsetHeight - navbarHeight;
const originalHeight = ui.scrollHeight;
// Dynamic scale based on available space, with a safety margin
let finalScale = Math.min(scale * 0.75, (availableHeight * 0.98) / originalHeight);
finalScale = Math.max(0.5, finalScale); // Minimum scale
ui.style.transform = `scale(${finalScale})`;
ui.style.transformOrigin = 'top center';
ui.style.height = `${originalHeight * finalScale}px`;
}
window.addEventListener('resize', applyScale);
window.addEventListener('load', applyScale);
applyScale();
</script>
</body>
</html>