Page MenuHomePhorge

base.astro
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

base.astro

---
import '@/styles.css'
import favicon from '@/public/favicon.svg?url'
import banner from '@/public/banner.png?url'
interface Props {
title: string;
description: string;
image?: string;
}
const { title, description } = Astro.props;
---
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="generator" content={Astro.generator} />
<title>{title}</title>
<link rel="icon" type="image/svg+xml" href={favicon} />
<link rel="stylesheet" href="https://rsms.me/inter/inter.css">
<app-redirect data-base={"{{base_path | safe}}"} />
<meta name="title" content={title} />
<meta name="description" content={description} />
<meta property="og:type" content="website" />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:image" content={banner} />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:title" content={title} />
<meta property="twitter:description" content={description} />
<meta property="twitter:image" content={banner} />
<script>
import { $settings } from '@/store';
class AppRedirect extends HTMLElement {
constructor() {
super();
const base = this.dataset.base;
fetch(base + '/metrics', {
headers: { Authorization: 'token ' + $settings.get().token },
}).then(response => {
if (window.location.pathname.includes("login")) {
if (response.status === 200) {
window.location.href = base + "/";
}
} else {
if (response.status !== 200) {
window.location.href = base + '/login';
}
}
});
}
}
customElements.define('app-redirect', AppRedirect);
</script>

File Metadata

Mime Type
application/javascript
Expires
Sun, Feb 1, 2:04 PM (1 d, 2 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
493108
Default Alt Text
base.astro (1 KB)

Event Timeline