appview: pages: refactor base layout to be one big grid so we can avoid min-h-screen workarounds that cause permanent scrolling #359

merged
opened by nel.pet targeting master from nel.pet/core: push-omvrpurvktoq
Changed files
+102 -83
appview
pages
+19 -30
appview/pages/templates/layouts/base.html
···
<title>{{ block "title" . }}{{ end }} · tangled</title>
{{ block "extrameta" . }}{{ end }}
</head>
-
<body class="bg-slate-100 dark:bg-gray-900 dark:text-white transition-colors duration-200">
-
<div class="px-1">
-
{{ block "topbarLayout" . }}
-
<div class="grid grid-cols-1 md:grid-cols-12 gap-4">
-
<header class="col-span-1 md:col-start-3 md:col-span-8" style="z-index: 20;">
-
{{ template "layouts/topbar" . }}
-
</header>
-
</div>
-
{{ end }}
-
</div>
+
<body class="min-h-screen grid grid-cols-1 grid-rows-[min-content_auto_min-content] md:grid-cols-12 gap-4 bg-slate-100 dark:bg-gray-900 dark:text-white transition-colors duration-200">
+
{{ block "topbarLayout" . }}
+
<header class="px-1 col-span-1 md:col-start-3 md:col-span-8" style="z-index: 20;">
+
{{ template "layouts/topbar" . }}
+
</header>
+
{{ end }}
-
<div class="px-1 flex flex-col min-h-screen gap-4">
-
{{ block "contentLayout" . }}
-
<div class="grid grid-cols-1 md:grid-cols-12 gap-4">
+
{{ block "mainLayout" . }}
+
<div class="px-1 col-span-1 md:col-start-3 md:col-span-8 flex flex-col gap-4">
+
{{ block "contentLayout" . }}
<div class="col-span-1 md:col-span-2">
{{ block "contentLeft" . }} {{ end }}
</div>
···
<div class="col-span-1 md:col-span-2">
{{ block "contentRight" . }} {{ end }}
</div>
-
</div>
-
{{ end }}
-
-
{{ block "contentAfterLayout" . }}
-
<div class="grid grid-cols-1 md:grid-cols-12 gap-4">
+
{{ end }}
+
+
{{ block "contentAfterLayout" . }}
<div class="col-span-1 md:col-span-2">
{{ block "contentAfterLeft" . }} {{ end }}
</div>
···
<div class="col-span-1 md:col-span-2">
{{ block "contentAfterRight" . }} {{ end }}
</div>
-
</div>
-
{{ end }}
-
</div>
-
-
<div class="px-1 mt-16">
-
{{ block "footerLayout" . }}
-
<div class="grid grid-cols-1 md:grid-cols-12 gap-4">
-
<footer class="col-span-1 md:col-start-3 md:col-span-8">
-
{{ template "layouts/footer" . }}
-
</footer>
+
{{ end }}
</div>
-
{{ end }}
-
</div>
+
{{ end }}
+
{{ block "footerLayout" . }}
+
<footer class="px-1 col-span-1 md:col-start-3 md:col-span-8 mt-12">
+
{{ template "layouts/footer" . }}
+
</footer>
+
{{ end }}
</body>
</html>
{{ end }}
+1 -1
appview/pages/templates/layouts/topbar.html
···
{{ define "layouts/topbar" }}
-
<nav class="space-x-4 mb-4 px-6 py-2 rounded bg-white dark:bg-gray-800 dark:text-white drop-shadow-sm">
+
<nav class="space-x-4 px-6 py-2 rounded bg-white dark:bg-gray-800 dark:text-white drop-shadow-sm">
<div class="flex justify-between p-0 items-center">
<div id="left-items">
<a href="/" hx-boost="true" class="flex gap-2 font-semibold italic">
+19 -13
appview/pages/templates/repo/commit.html
···
{{end}}
{{ define "topbarLayout" }}
-
<header style="z-index: 20;">
+
<header class="px-1 col-span-full" style="z-index: 20;">
{{ template "layouts/topbar" . }}
</header>
{{ end }}
-
{{ define "contentLayout" }}
-
{{ block "content" . }}{{ end }}
-
{{ end }}
+
{{ define "mainLayout" }}
+
<div class="px-1 col-span-full flex flex-col gap-4">
+
{{ block "contentLayout" . }}
+
{{ block "content" . }}{{ end }}
+
{{ end }}
-
{{ define "contentAfterLayout" }}
-
<div class="grid grid-cols-1 md:grid-cols-12 gap-4">
-
<div class="col-span-1 md:col-span-2">
-
{{ block "contentAfterLeft" . }} {{ end }}
+
{{ block "contentAfterLayout" . }}
+
<div class="grid grid-cols-1 md:grid-cols-12 gap-4">
+
<div class="col-span-1 md:col-span-2">
+
{{ block "contentAfterLeft" . }} {{ end }}
+
</div>
+
<main class="col-span-1 md:col-span-10">
+
{{ block "contentAfter" . }}{{ end }}
+
</main>
</div>
-
<main class="col-span-1 md:col-span-10">
-
{{ block "contentAfter" . }}{{ end }}
-
</main>
+
{{ end }}
</div>
{{ end }}
-
{{ define "footerLayout" }}
-
{{ template "layouts/footer" . }}
+
{{ define "footerLayout" }}
+
<footer class="px-1 col-span-full mt-12">
+
{{ template "layouts/footer" . }}
+
</footer>
{{ end }}
{{ define "contentAfter" }}
+21 -13
appview/pages/templates/repo/compare/compare.html
···
{{ end }}
{{ define "topbarLayout" }}
-
{{ template "layouts/topbar" . }}
+
<header class="px-1 col-span-full" style="z-index: 20;">
+
{{ template "layouts/topbar" . }}
+
</header>
{{ end }}
-
{{ define "contentLayout" }}
-
{{ block "content" . }}{{ end }}
-
{{ end }}
+
{{ define "mainLayout" }}
+
<div class="px-1 col-span-full flex flex-col gap-4">
+
{{ block "contentLayout" . }}
+
{{ block "content" . }}{{ end }}
+
{{ end }}
-
{{ define "contentAfterLayout" }}
-
<div class="grid grid-cols-1 md:grid-cols-12 gap-4">
-
<div class="col-span-1 md:col-span-2">
-
{{ block "contentAfterLeft" . }} {{ end }}
+
{{ block "contentAfterLayout" . }}
+
<div class="grid grid-cols-1 md:grid-cols-12 gap-4">
+
<div class="col-span-1 md:col-span-2">
+
{{ block "contentAfterLeft" . }} {{ end }}
+
</div>
+
<main class="col-span-1 md:col-span-10">
+
{{ block "contentAfter" . }}{{ end }}
+
</main>
</div>
-
<main class="col-span-1 md:col-span-10">
-
{{ block "contentAfter" . }}{{ end }}
-
</main>
+
{{ end }}
</div>
{{ end }}
-
{{ define "footerLayout" }}
-
{{ template "layouts/footer" . }}
+
{{ define "footerLayout" }}
+
<footer class="px-1 col-span-full mt-12">
+
{{ template "layouts/footer" . }}
+
</footer>
{{ end }}
{{ define "contentAfter" }}
+21 -13
appview/pages/templates/repo/pulls/interdiff.html
···
{{ end }}
{{ define "topbarLayout" }}
-
{{ template "layouts/topbar" . }}
+
<header class="px-1 col-span-full" style="z-index: 20;">
+
{{ template "layouts/topbar" . }}
+
</header>
{{ end }}
-
{{ define "contentLayout" }}
-
{{ block "content" . }}{{ end }}
-
{{ end }}
+
{{ define "mainLayout" }}
+
<div class="px-1 col-span-full flex flex-col gap-4">
+
{{ block "contentLayout" . }}
+
{{ block "content" . }}{{ end }}
+
{{ end }}
-
{{ define "contentAfterLayout" }}
-
<div class="grid grid-cols-1 md:grid-cols-12 gap-4">
-
<div class="col-span-1 md:col-span-2">
-
{{ block "contentAfterLeft" . }} {{ end }}
+
{{ block "contentAfterLayout" . }}
+
<div class="grid grid-cols-1 md:grid-cols-12 gap-4">
+
<div class="col-span-1 md:col-span-2">
+
{{ block "contentAfterLeft" . }} {{ end }}
+
</div>
+
<main class="col-span-1 md:col-span-10">
+
{{ block "contentAfter" . }}{{ end }}
+
</main>
</div>
-
<main class="col-span-1 md:col-span-10">
-
{{ block "contentAfter" . }}{{ end }}
-
</main>
+
{{ end }}
</div>
{{ end }}
-
{{ define "footerLayout" }}
-
{{ template "layouts/footer" . }}
+
{{ define "footerLayout" }}
+
<footer class="px-1 col-span-full mt-12">
+
{{ template "layouts/footer" . }}
+
</footer>
{{ end }}
+21 -13
appview/pages/templates/repo/pulls/patch.html
···
{{ end }}
{{ define "topbarLayout" }}
-
{{ template "layouts/topbar" . }}
+
<header class="px-1 col-span-full" style="z-index: 20;">
+
{{ template "layouts/topbar" . }}
+
</header>
{{ end }}
-
{{ define "contentLayout" }}
-
{{ block "content" . }}{{ end }}
-
{{ end }}
+
{{ define "mainLayout" }}
+
<div class="px-1 col-span-full flex flex-col gap-4">
+
{{ block "contentLayout" . }}
+
{{ block "content" . }}{{ end }}
+
{{ end }}
-
{{ define "contentAfterLayout" }}
-
<div class="grid grid-cols-1 md:grid-cols-12 gap-4">
-
<div class="col-span-1 md:col-span-2">
-
{{ block "contentAfterLeft" . }} {{ end }}
+
{{ block "contentAfterLayout" . }}
+
<div class="grid grid-cols-1 md:grid-cols-12 gap-4">
+
<div class="col-span-1 md:col-span-2">
+
{{ block "contentAfterLeft" . }} {{ end }}
+
</div>
+
<main class="col-span-1 md:col-span-10">
+
{{ block "contentAfter" . }}{{ end }}
+
</main>
</div>
-
<main class="col-span-1 md:col-span-10">
-
{{ block "contentAfter" . }}{{ end }}
-
</main>
+
{{ end }}
</div>
{{ end }}
-
{{ define "footerLayout" }}
-
{{ template "layouts/footer" . }}
+
{{ define "footerLayout" }}
+
<footer class="px-1 col-span-full mt-12">
+
{{ template "layouts/footer" . }}
+
</footer>
{{ end }}
{{ define "contentAfter" }}