diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index cdb4f05..1443d72 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,58 +1,65 @@ - + -
- - logo - -
-{@render children()} +
+
+ + logo + +
- +
diff --git a/tests/e2e/toolbox.spec.ts b/tests/e2e/toolbox.spec.ts index 773fd33..4a89cd5 100644 --- a/tests/e2e/toolbox.spec.ts +++ b/tests/e2e/toolbox.spec.ts @@ -97,6 +97,22 @@ test('start page exposes only working tools and forwards a dropped ZIP to beA', expect(pageErrors).toEqual([]); }); +test('short tool pages keep the footer flush with the viewport bottom', async ({ page }) => { + const expectFooterAtViewportBottom = async (viewport: { width: number; height: number }) => { + await page.setViewportSize(viewport); + await page.goto('/tools/watermark'); + + const footerBottom = await page.locator('footer').evaluate((footer) => { + return footer.getBoundingClientRect().bottom; + }); + + expect(Math.abs(footerBottom - viewport.height)).toBeLessThanOrEqual(1); + }; + + await expectFooterAtViewportBottom({ width: 1440, height: 900 }); + await expectFooterAtViewportBottom({ width: 390, height: 844 }); +}); + test('merge accepts dropped PDFs and downloads a merged PDF', async ({ page }) => { const pageErrors = trackPageErrors(page); await page.goto('/tools/merge');