182 lines
4.3 KiB
Plaintext
182 lines
4.3 KiB
Plaintext
---
|
|
interface Props {
|
|
title?: string;
|
|
description?: string;
|
|
canonicalPath?: string;
|
|
noindex?: boolean;
|
|
}
|
|
|
|
const {
|
|
title = "Ignis Network - Cat-Inspired Meditation & Mindfulness",
|
|
description = "Redefining the digital frontier with next-generation internet services and advanced AI.",
|
|
canonicalPath = "",
|
|
noindex = false,
|
|
} = Astro.props;
|
|
|
|
const siteUrl = Astro.site?.href || "";
|
|
const canonicalUrl = `${siteUrl.replace(/\/$/, "")}${canonicalPath}`;
|
|
---
|
|
|
|
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="description" content={description} />
|
|
<meta name="theme-color" content="#E8A598" />
|
|
{noindex && <meta name="robots" content="noindex, nofollow" />}
|
|
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
<link rel="canonical" href={canonicalUrl} />
|
|
|
|
<title>{title}</title>
|
|
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&family=Nunito:ital,wght@0,200..1000;1,200..1000&family=Patrick+Hand&display=swap"
|
|
rel="stylesheet"
|
|
/>
|
|
|
|
<script
|
|
type="application/ld+json"
|
|
set:html={JSON.stringify({
|
|
'@context': 'https://schema.org',
|
|
'@type': 'WebApplication',
|
|
name: 'Ignis Network',
|
|
description: 'Cat-inspired meditation and mindfulness application',
|
|
applicationCategory: 'HealthApplication',
|
|
operatingSystem: 'Web',
|
|
offers: {
|
|
'@type': 'Offer',
|
|
price: '0',
|
|
priceCurrency: 'USD',
|
|
},
|
|
})}
|
|
/>
|
|
</head>
|
|
<body>
|
|
<slot />
|
|
</body>
|
|
</html>
|
|
|
|
<style is:global>
|
|
@import 'tailwindcss';
|
|
|
|
@custom-variant hover (&:hover);
|
|
|
|
@theme inline {
|
|
--color-background: hsl(var(--background));
|
|
--color-foreground: hsl(var(--foreground));
|
|
--color-card: hsl(var(--card));
|
|
--color-card-foreground: hsl(var(--card-foreground));
|
|
--color-popover: hsl(var(--popover));
|
|
--color-popover-foreground: hsl(var(--popover-foreground));
|
|
--color-primary: hsl(var(--primary));
|
|
--color-primary-foreground: hsl(var(--primary-foreground));
|
|
--color-secondary: hsl(var(--secondary));
|
|
--color-secondary-foreground: hsl(var(--secondary-foreground));
|
|
--color-muted: hsl(var(--muted));
|
|
--color-muted-foreground: hsl(var(--muted-foreground));
|
|
--color-accent: hsl(var(--accent));
|
|
--color-accent-foreground: hsl(var(--accent-foreground));
|
|
--color-destructive: hsl(var(--destructive));
|
|
--color-destructive-foreground: hsl(var(--destructive-foreground));
|
|
--color-border: hsl(var(--border));
|
|
--color-input: hsl(var(--input));
|
|
--color-ring: hsl(var(--ring));
|
|
|
|
--radius-sm: 0.5rem;
|
|
--radius-md: 0.75rem;
|
|
--radius-lg: 1rem;
|
|
--radius-xl: 1.5rem;
|
|
|
|
--font-sans: 'Nunito', sans-serif;
|
|
--font-heading: 'Fredoka', sans-serif;
|
|
--font-hand: 'Patrick Hand', cursive;
|
|
}
|
|
|
|
:root {
|
|
--background: 40 33% 96%;
|
|
--foreground: 25 10% 30%;
|
|
|
|
--primary: 5 78% 75%;
|
|
--primary-foreground: 25 10% 20%;
|
|
|
|
--secondary: 140 25% 85%;
|
|
--secondary-foreground: 140 30% 25%;
|
|
|
|
--card: 0 0% 100%;
|
|
--card-foreground: 25 10% 30%;
|
|
|
|
--popover: 0 0% 100%;
|
|
--popover-foreground: 25 10% 30%;
|
|
|
|
--muted: 40 20% 90%;
|
|
--muted-foreground: 25 10% 50%;
|
|
|
|
--accent: 45 80% 90%;
|
|
--accent-foreground: 25 10% 30%;
|
|
|
|
--destructive: 0 84% 60%;
|
|
--destructive-foreground: 0 0% 98%;
|
|
|
|
--border: 40 20% 90%;
|
|
--input: 40 20% 90%;
|
|
--ring: 6 78% 75%;
|
|
|
|
--radius: 1rem;
|
|
}
|
|
|
|
@layer base {
|
|
html {
|
|
scroll-behavior: smooth;
|
|
}
|
|
|
|
* {
|
|
@apply border-border;
|
|
}
|
|
|
|
body {
|
|
@apply bg-background text-foreground font-sans antialiased;
|
|
}
|
|
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6 {
|
|
@apply font-heading font-semibold tracking-tight;
|
|
}
|
|
}
|
|
|
|
button,
|
|
a,
|
|
nav,
|
|
[role='button'],
|
|
.no-select {
|
|
@apply select-none;
|
|
}
|
|
|
|
[role='presentation'],
|
|
.pointer-none,
|
|
svg[aria-hidden='true'] {
|
|
pointer-events: none;
|
|
}
|
|
|
|
.absolute.blur-3xl,
|
|
[class*='blob'],
|
|
[class*='pattern'] {
|
|
@apply pointer-events-none;
|
|
}
|
|
|
|
svg:not([role='img']) {
|
|
pointer-events: none;
|
|
}
|
|
|
|
.font-hand {
|
|
font-family: var(--font-hand);
|
|
}
|
|
</style>
|