~repos /only-bible-app
git clone https://pyrossh.dev/repos/only-bible-app.git
The only bible app you will ever need. No ads. No in-app purchases. No distractions.
ui/src/layouts/Layout.astro
---import { ClientRouter } from "astro:transitions";import { Font } from "astro:assets";import ResetCSS from "@appzic/astro-reset-css";---
<!doctype html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1" /> <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> <meta name="generator" content={Astro.generator} /> <title>Only Bible</title> <script src="https://hammerjs.github.io/dist/hammer.min.js" type="text/javascript"></script> <script src="https://unpkg.com/@popperjs/core@2"></script> <Font cssVariable="--font-roboto" preload /> <ResetCSS /> <ClientRouter /> </head> <body> <style> @view-transition { navigation: auto; /* enabled! */ } </style> <div class="top-safe"></div> <main> <slot /> </main> <div class="bottom-safe"></div> <div id="client-swap-container" transition:persist style="display: none !important; position: absolute !important; top: -9999px !important;" > </div> </body></html>
<style> :root { --color-black: #000000; --color-white: #ffffff; --color-accent: #f1fa8c; --color-body-bg: #ffffff; --color-text: #222; --color-card-link: #0600ff; --color-box-bg: #f1f5f9; --color-link: #0600ff; --color-post-link: #000000; --color-highlight-bg: #9befee; --color-code-fg: #d14; --color-md-table-bg: #343a40; --btn-light: none; --btn-dark: block; }
[data-theme="light"] { --color-accent: #f1fa8c; --color-body-bg: #212529; --color-text: #f8f9fa; --color-card-link: #3395ff; --color-box-bg: #131618; --color-link: #3395ff; --color-post-link: #3395ff; --color-highlight-bg: #703be1; --color-code-fg: rgb(244, 176, 176); --color-md-table-bg: #343a40; --btn-light: block; --btn-dark: none; }
body { display: flex; flex-direction: column; flex: 1; background-color: var(--color-body-bg); color: var(--color-text); font-family: var(--font-roboto); text-rendering: optimizeLegibility; font-variant-ligatures: common-ligatures; font-kerning: normal; font-size: 17pt; line-height: 1.6; min-height: 100vh; @media (max-width: 720px) { font-size: 15pt; } }
.top-safe { background: var(--color-body-bg); @media (max-width: 768px) { position: sticky; top: 0; padding-top: max(env(safe-area-inset-top), 20px); /* padding-top: env(safe-area-inset-top); */ } }
.bottom-safe { @media (max-width: 768px) { background: var(--color-body-bg); position: sticky; bottom: 0; padding-bottom: max(env(safe-area-inset-bottom), 48px); } }
main { padding-left: 16px; padding-right: 16px; }</style>