mirror of
https://github.com/DungeonPaper/dungeon-paper-app.git
synced 2026-05-17 17:58:11 +00:00
166 lines
5.6 KiB
HTML
166 lines
5.6 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<!--
|
|
If you are serving your web app in a path other than the root, change the
|
|
href value below to reflect the base path you are serving from.
|
|
|
|
The path provided below has to start and end with a slash "/" in order for
|
|
it to work correctly.
|
|
|
|
For more details:
|
|
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
|
|
|
|
This is a placeholder for base href that will be replaced by the value of
|
|
the `--base-href` argument provided to `flutter build`.
|
|
-->
|
|
<base href="$FLUTTER_BASE_HREF" />
|
|
|
|
<meta charset="UTF-8" />
|
|
<meta content="IE=Edge" http-equiv="X-UA-Compatible" />
|
|
<meta name="description" content="A Dungeon World character sheet app written with Flutter." />
|
|
|
|
<!-- iOS meta tags & icons -->
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
|
<meta name="apple-mobile-web-app-title" content="Dungeon Paper" />
|
|
<meta
|
|
name="google-signin-client_id"
|
|
content="305638738640-jqbgj8aaol7685ipt6vrtmfiu413kke1.apps.googleusercontent.com"
|
|
/>
|
|
|
|
<link rel="apple-touch-icon" href="icons/Icon-192.png" />
|
|
<link
|
|
rel="stylesheet"
|
|
href="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.6.2/cropper.css"
|
|
/>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.6.2/cropper.min.js"></script>
|
|
<script
|
|
type="text/javascript"
|
|
src="https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js"
|
|
></script>
|
|
|
|
<!-- Favicon -->
|
|
<link rel="icon" type="image/png" href="favicon.png" />
|
|
|
|
<title>Dungeon Paper</title>
|
|
<link rel="manifest" href="manifest.json" />
|
|
<meta
|
|
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
|
|
name="viewport"
|
|
/>
|
|
<style id="splash-screen-style">
|
|
html {
|
|
height: 100%;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
min-height: 100%;
|
|
background-color: #fcf5e5;
|
|
background-size: 100% 100%;
|
|
}
|
|
|
|
.center {
|
|
margin: 0;
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
-ms-transform: translate(-50%, -50%);
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
|
|
.contain {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.stretch {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.cover {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.bottom {
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 50%;
|
|
-ms-transform: translate(-50%, 0);
|
|
transform: translate(-50%, 0);
|
|
}
|
|
|
|
.bottomLeft {
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 0;
|
|
}
|
|
|
|
.bottomRight {
|
|
position: absolute;
|
|
bottom: 0;
|
|
right: 0;
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
body {
|
|
background-color: #1c1e21;
|
|
}
|
|
}
|
|
</style>
|
|
<script id="splash-screen-script">
|
|
function removeSplashFromWeb() {
|
|
document.getElementById('splash')?.remove()
|
|
document.getElementById('splash-branding')?.remove()
|
|
document.body.style.background = 'transparent'
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<picture id="splash">
|
|
<source
|
|
srcset="
|
|
splash/img/light-1x.png 1x,
|
|
splash/img/light-2x.png 2x,
|
|
splash/img/light-3x.png 3x,
|
|
splash/img/light-4x.png 4x
|
|
"
|
|
media="(prefers-color-scheme: light)"
|
|
/>
|
|
<source
|
|
srcset="
|
|
splash/img/dark-1x.png 1x,
|
|
splash/img/dark-2x.png 2x,
|
|
splash/img/dark-3x.png 3x,
|
|
splash/img/dark-4x.png 4x
|
|
"
|
|
media="(prefers-color-scheme: dark)"
|
|
/>
|
|
<img class="center" aria-hidden="true" src="splash/img/light-1x.png" alt="" />
|
|
</picture>
|
|
<script src="flutter_bootstrap.js" async=""></script>
|
|
<script>
|
|
// redirect to / if there is a hash, prevents argument errors from router
|
|
if (window.location.hash != '' && window.location.hash != '#/') {
|
|
console.warn(`Hash found: ${window.location.hash}, redirecting to /`)
|
|
window.location.href = '/'
|
|
}
|
|
</script>
|
|
<script>
|
|
// prettier-ignore
|
|
!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures getActiveMatchingSurveys getSurveys getNextSurveyStep onSessionId".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
|
|
posthog.init('phc_1ZhjwOjdk5HRTb0w5YZJXqKvm7o4kDAGlAp9VJXwz0K', {
|
|
api_host: 'https://us.i.posthog.com',
|
|
person_profiles: 'identified_only',
|
|
})
|
|
</script>
|
|
</body>
|
|
</html> |