feat: full JS-less theme transition, better transition animation between themes, better light theme colors

This commit is contained in:
Oleksandr 2026-02-13 07:46:00 +02:00
parent da6dd0100b
commit c0e0266d45
Signed by: Xanazf
GPG key ID: 821EEC32761AC17C
46 changed files with 4031 additions and 2536 deletions

View file

@ -2,13 +2,12 @@
import { Breadcrumbs } from "astro-breadcrumbs";
import "astro-breadcrumbs/breadcrumbs.css";
import PreTheme from "@config/PreTheme.astro";
import Header from "@components/Header.astro";
import Head from "@config/Head.astro";
import Nav from "@components/navigation/sidebars/nav/index.astro";
import type { ConfigHeading } from "@src/components/navigation/sidebars/types";
import Footer from "@src/components/Footer.astro";
import type { TypeData } from "@config/io/types";
import type { TypeData } from "@config/_types";
interface Props {
title: string;
@ -50,9 +49,15 @@ for (const segment of url) {
<html lang="en" class="dark">
<head>
<Head description={description} title={title} />
<PreTheme />
</head>
<body class="docslayout">
<input
type="checkbox"
id="theme-manual-toggle"
class="theme-toggle-input"
aria-label="Toggle theme (light/dark)"
style="display: none;"
/>
<Header title={title} headings={headings} type={type}/>
<div class="docslayout-root">
<Nav mobile={false}/>
@ -88,6 +93,10 @@ for (const segment of url) {
<slot name="alongside-content"/>
</div>
<Footer/>
<script>
import "@config/styling/animations_helper.ts";
import "@config/styling/theme_persistence.ts";
</script>
</body>
</html>
<script>