You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1011 B
43 lines
1011 B
import checkAndCopyConfig, { getSettings } from "utils/config/config";
|
|
import themes from "utils/styles/themes";
|
|
|
|
export async function getServerSideProps({ res }) {
|
|
checkAndCopyConfig("settings.yaml");
|
|
const settings = getSettings();
|
|
|
|
const color = settings.color || "slate";
|
|
const theme = settings.theme || "dark";
|
|
|
|
const manifest = {
|
|
name: settings.title || "Homepage",
|
|
short_name: settings.title || "Homepage",
|
|
icons: [
|
|
{
|
|
src: "/android-chrome-192x192.png?v=2",
|
|
sizes: "192x192",
|
|
type: "image/png",
|
|
},
|
|
{
|
|
src: "/android-chrome-512x512.png?v=2",
|
|
sizes: "512x512",
|
|
type: "image/png",
|
|
},
|
|
],
|
|
theme_color: themes[color][theme],
|
|
background_color: themes[color][theme],
|
|
display: "standalone",
|
|
};
|
|
|
|
res.setHeader("Content-Type", "application/manifest+json");
|
|
res.write(JSON.stringify(manifest));
|
|
res.end();
|
|
|
|
return {
|
|
props: {},
|
|
};
|
|
}
|
|
|
|
export default function Webmanifest() {
|
|
return null;
|
|
}
|