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.
77 lines
1.8 KiB
77 lines
1.8 KiB
2 months ago
|
<?php
|
||
|
|
||
|
use Kirby\Cms\Url;
|
||
|
use Kirby\Toolkit\Html;
|
||
|
|
||
|
/**
|
||
|
* @var \Kirby\Cms\App $kirby
|
||
|
* @var string $icons
|
||
|
* @var array<string, mixed> $assets
|
||
|
* @var array<string, mixed> $fiber
|
||
|
* @var string $panelUrl
|
||
|
* @var string $nonce
|
||
|
*/ ?>
|
||
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
|
||
|
<meta charset="utf-8" />
|
||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||
|
<meta name="referrer" content="same-origin">
|
||
|
|
||
|
<title>Kirby Panel</title>
|
||
|
|
||
|
<script nonce="<?= $nonce ?>">
|
||
|
if (
|
||
|
!window.CSS ||
|
||
|
window.CSS.supports("display", "grid") === false ||
|
||
|
!window.fetch
|
||
|
) {
|
||
|
window.location.href = "<?= $panelUrl ?>browser";
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<?php foreach ($assets['css'] as $css): ?>
|
||
|
<link nonce="<?= $nonce ?>" rel="stylesheet" href="<?= $css ?>">
|
||
|
<?php endforeach ?>
|
||
|
|
||
|
<?php foreach ($assets['icons'] as $rel => $icon): ?>
|
||
|
<link nonce="<?= $nonce ?>" rel="<?= $rel ?>" href="<?= Url::to($icon['url']) ?>" type="<?= $icon['type'] ?>">
|
||
|
<?php endforeach ?>
|
||
|
|
||
|
<?php foreach ($assets['js'] as $js): ?>
|
||
|
<?php if (($js['type'] ?? null) === 'module'): ?>
|
||
|
<link rel="modulepreload" href="<?= $js['src'] ?>">
|
||
|
<?php endif ?>
|
||
|
<?php endforeach ?>
|
||
|
|
||
|
<base href="<?= $panelUrl ?>">
|
||
|
</head>
|
||
|
<body>
|
||
|
<div id="app"></div>
|
||
|
|
||
|
<noscript>
|
||
|
Please enable JavaScript in your browser
|
||
|
</noscript>
|
||
|
|
||
|
<?= $icons ?>
|
||
|
|
||
|
<script nonce="<?= $nonce ?>">
|
||
|
// Fiber setup
|
||
|
window.fiber = <?= json_encode($fiber) ?>;
|
||
|
</script>
|
||
|
|
||
|
<?php foreach ($assets['js'] as $key => $js): ?>
|
||
|
<?php if ($key === 'index'): ?>
|
||
|
<script type="module" nonce="<?= $nonce ?>">
|
||
|
<?= $assets['plugin-imports'] ?>
|
||
|
import('<?= $js['src'] ?>')
|
||
|
</script>
|
||
|
<?php else: ?>
|
||
|
<?= Html::tag('script', '', $js) . PHP_EOL ?>
|
||
|
<?php endif ?>
|
||
|
<?php endforeach ?>
|
||
|
|
||
|
</body>
|
||
|
</html>
|