Updated
This commit is contained in:
parent
d61b8b7bd8
commit
46783c4f38
57 changed files with 4178 additions and 5992 deletions
72
frontend/@dasig/components/HTML.tsx
Normal file
72
frontend/@dasig/components/HTML.tsx
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
import { type JSXElement, Show } from "solid-js";
|
||||
import { $fontSource } from "../../configs/config.site.ts";
|
||||
import background1 from "../images/background.avif";
|
||||
import background2 from "../images/background.webp";
|
||||
import "../styles/HTML.sass";
|
||||
|
||||
interface Props {
|
||||
name: string;
|
||||
description: string;
|
||||
children: JSXElement;
|
||||
font?:
|
||||
| "roboto"
|
||||
| "inter"
|
||||
| "montserrat"
|
||||
| "open-sans"
|
||||
| "public-sans"
|
||||
| string;
|
||||
preloadBackground?: boolean;
|
||||
author: string;
|
||||
assets: JSXElement;
|
||||
scripts: JSXElement;
|
||||
}
|
||||
|
||||
export default (props: Props) => {
|
||||
return (
|
||||
<>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="/" />
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1, viewport-fit=cover"
|
||||
/>
|
||||
<meta name="name" content={props.name} />
|
||||
<meta name="description" content={props.description} />
|
||||
<meta name="title" property="og:title" content={props.name} />
|
||||
<meta name="keywords" content="HTML, CSS, JavaScript" />
|
||||
<meta name="developer" content={props.author} />
|
||||
<meta property="og:description" content={props.description} />
|
||||
<meta property="og:type" content="website" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.png" />
|
||||
<Show when={$fontSource.get() === "cdn"}>
|
||||
<link rel="preconnect" href="https://cdn.jsdelivr.net" />
|
||||
</Show>
|
||||
<Show when={props.preloadBackground}>
|
||||
<link
|
||||
rel="preload"
|
||||
href={background1}
|
||||
as="image"
|
||||
type="image/svg+xml"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href={background2}
|
||||
as="image"
|
||||
type="image/svg+xml"
|
||||
/>
|
||||
</Show>
|
||||
{props.assets}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class={props.font} id="app">
|
||||
{props.children}
|
||||
</div>
|
||||
{props.scripts}
|
||||
</body>
|
||||
</html>
|
||||
</>
|
||||
);
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue