116 lines
6.6 KiB
HTML
116 lines
6.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<link rel="icon" href="/favicon.ico">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link href="/src/assets/css/main.css" rel="stylesheet">
|
|
|
|
<title>Vélo Park — AlexisNP</title>
|
|
<meta property="og:title" content="Vélo Park — AlexisNP" />
|
|
|
|
<meta name="description" content="Cartes des emplacements de parcs à vélos de l'agglomération rennaise." />
|
|
<meta property="og:description" content="Cartes des emplacements de parcs à vélos de l'agglomération rennaise." />
|
|
<meta name="twitter:description" content="Cartes des emplacements de parcs à vélos de l'agglomération rennaise." />
|
|
|
|
<meta property="author" content="Alexis Pelé" />
|
|
<meta property="og:author" content="Alexis Pelé" />
|
|
<meta property="og:author:username" content="AlexisNP" />
|
|
|
|
<link rel="apple-touch-icon" sizes="57x57" href="/favicon/light/apple-icon-57x57.png" media="(prefers-color-scheme: light)">
|
|
<link rel="apple-touch-icon" sizes="60x60" href="/favicon/light/apple-icon-60x60.png" media="(prefers-color-scheme: light)">
|
|
<link rel="apple-touch-icon" sizes="72x72" href="/favicon/light/apple-icon-72x72.png" media="(prefers-color-scheme: light)">
|
|
<link rel="apple-touch-icon" sizes="76x76" href="/favicon/light/apple-icon-76x76.png" media="(prefers-color-scheme: light)">
|
|
<link rel="apple-touch-icon" sizes="114x114" href="/favicon/light/apple-icon-114x114.png" media="(prefers-color-scheme: light)">
|
|
<link rel="apple-touch-icon" sizes="120x120" href="/favicon/light/apple-icon-120x120.png" media="(prefers-color-scheme: light)">
|
|
<link rel="apple-touch-icon" sizes="144x144" href="/favicon/light/apple-icon-144x144.png" media="(prefers-color-scheme: light)">
|
|
<link rel="apple-touch-icon" sizes="152x152" href="/favicon/light/apple-icon-152x152.png" media="(prefers-color-scheme: light)">
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/favicon/light/apple-icon-180x180.png" media="(prefers-color-scheme: light)">
|
|
<link rel="icon" type="image/png" sizes="192x192" href="/favicon/light/android-icon-192x192.png" media="(prefers-color-scheme: light)">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon/light/favicon-32x32.png" media="(prefers-color-scheme: light)">
|
|
<link rel="icon" type="image/png" sizes="96x96" href="/favicon/light/favicon-96x96.png" media="(prefers-color-scheme: light)">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon/light/favicon-16x16.png" media="(prefers-color-scheme: light)">
|
|
<link rel="manifest" href="/favicon/light/manifest.json" media="(prefers-color-scheme: light)">
|
|
<meta name="msapplication-TileImage" content="/favicon/light/ms-icon-144x144.png" media="(prefers-color-scheme: light)">
|
|
|
|
<link rel="apple-touch-icon" sizes="57x57" href="/favicon/dark/apple-icon-57x57.png" media="(prefers-color-scheme: dark)">
|
|
<link rel="apple-touch-icon" sizes="60x60" href="/favicon/dark/apple-icon-60x60.png" media="(prefers-color-scheme: dark)">
|
|
<link rel="apple-touch-icon" sizes="72x72" href="/favicon/dark/apple-icon-72x72.png" media="(prefers-color-scheme: dark)">
|
|
<link rel="apple-touch-icon" sizes="76x76" href="/favicon/dark/apple-icon-76x76.png" media="(prefers-color-scheme: dark)">
|
|
<link rel="apple-touch-icon" sizes="114x114" href="/favicon/dark/apple-icon-114x114.png" media="(prefers-color-scheme: dark)">
|
|
<link rel="apple-touch-icon" sizes="120x120" href="/favicon/dark/apple-icon-120x120.png" media="(prefers-color-scheme: dark)">
|
|
<link rel="apple-touch-icon" sizes="144x144" href="/favicon/dark/apple-icon-144x144.png" media="(prefers-color-scheme: dark)">
|
|
<link rel="apple-touch-icon" sizes="152x152" href="/favicon/dark/apple-icon-152x152.png" media="(prefers-color-scheme: dark)">
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/favicon/dark/apple-icon-180x180.png" media="(prefers-color-scheme: dark)">
|
|
<link rel="icon" type="image/png" sizes="192x192" href="/favicon/dark/android-icon-192x192.png" media="(prefers-color-scheme: dark)">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon/dark/favicon-32x32.png" media="(prefers-color-scheme: dark)">
|
|
<link rel="icon" type="image/png" sizes="96x96" href="/favicon/dark/favicon-96x96.png" media="(prefers-color-scheme: dark)">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon/dark/favicon-16x16.png" media="(prefers-color-scheme: dark)">
|
|
<link rel="manifest" href="/favicon/dark/manifest.json" media="(prefers-color-scheme: dark)">
|
|
<meta name="msapplication-TileImage" content="/favicon/dark/ms-icon-144x144.png" media="(prefers-color-scheme: dark)">
|
|
|
|
<meta name="msapplication-TileColor" content="#06df72">
|
|
<meta name="theme-color" content="#06df72">
|
|
<meta name="color-scheme" content="light" />
|
|
|
|
<meta property="og:site_name" content="bikes.alexcreates.fr" />
|
|
<meta name="twitter:domain" content="bikes.alexcreates.fr" />
|
|
|
|
<meta property="og:type" content="website" />
|
|
</head>
|
|
|
|
<body>
|
|
<script>
|
|
let initialTheme = localStorage.getItem("theme");
|
|
const darkModeMq = window.matchMedia("(prefers-color-scheme: dark)");
|
|
|
|
// Initial paint from localstorage
|
|
switch (initialTheme) {
|
|
case "light":
|
|
enableLightTheme();
|
|
break;
|
|
case "system":
|
|
resetTheme();
|
|
break;
|
|
case "dark":
|
|
default:
|
|
enableDarkTheme();
|
|
break;
|
|
}
|
|
|
|
// Enables dark theme and updates preferences
|
|
function enableDarkTheme() {
|
|
document.documentElement.classList.add('dark');
|
|
document.documentElement.classList.remove('light');
|
|
localStorage.setItem("theme", "dark");
|
|
}
|
|
|
|
// Enables light theme and updates preferences
|
|
function enableLightTheme() {
|
|
document.documentElement.classList.add('light');
|
|
document.documentElement.classList.remove('dark');
|
|
localStorage.setItem("theme", "light");
|
|
}
|
|
|
|
// Reset theme to OS values
|
|
function resetTheme() {
|
|
const prefersDark = darkModeMq.matches;
|
|
|
|
if (prefersDark) {
|
|
document.documentElement.classList.add('dark');
|
|
document.documentElement.classList.remove('light');
|
|
} else {
|
|
document.documentElement.classList.add('light');
|
|
document.documentElement.classList.remove('dark');
|
|
}
|
|
|
|
localStorage.setItem("theme", "system");
|
|
}
|
|
</script>
|
|
|
|
<div id="app"></div>
|
|
<script type="module" src="/src/main.ts"></script>
|
|
</body>
|
|
|
|
</html> |