main
html 71 lines 2.12 KB
Raw
1 <html>
2 <head>
3 <title>Document</title>
4 <script type="module">
5 import { store } from "/components/modals/markdown/markdown-store.js";
6 </script>
7 </head>
8 <body>
9 <div x-data>
10 <template x-if="$store.markdownModal">
11 <div x-create="$el.closest('.modal')?.querySelector('.modal-title') && ($el.closest('.modal').querySelector('.modal-title').textContent = $store.markdownModal.title)"
12 x-init="$store.markdownModal.onOpen()"
13 x-destroy="$store.markdownModal.cleanup()"
14 class="md-modal-root">
15
16 <div x-show="$store.markdownModal.error" class="md-modal-error">
17 <x-icon name="error"></x-icon>
18 <span x-text="$store.markdownModal.error"></span>
19 </div>
20
21 <div class="md-modal-body msg-content"
22 x-show="!$store.markdownModal.error && !$store.markdownModal.isAce"
23 x-html="$store.markdownModal.renderedHtml">
24 </div>
25
26 <div id="markdown-ace-viewer-container"
27 class="md-modal-ace no-scrollbar"
28 x-show="!$store.markdownModal.error && $store.markdownModal.isAce">
29 </div>
30 </div>
31 </template>
32 </div>
33
34 <div class="modal-footer" data-modal-footer>
35 <button class="btn btn-cancel" @click="window.closeModal?.()">Close</button>
36 </div>
37
38 <style>
39 .md-modal-root {
40 display: flex;
41 flex-direction: column;
42 width: 100%;
43 }
44
45 .md-modal-body {
46 padding: 1.25rem 1.5rem;
47 overflow-y: auto;
48 max-height: 72vh;
49 }
50
51 .md-modal-ace {
52 width: 100%;
53 height: 72vh;
54 border-radius: 0.4rem;
55 overflow: auto;
56 }
57
58 .md-modal-root {
59 overflow: hidden;
60 }
61
62 .md-modal-error {
63 display: flex;
64 align-items: center;
65 gap: 0.5rem;
66 color: var(--color-error, #e74c3c);
67 padding: 1rem 1.5rem;
68 }
69 </style>
70 </body>
71 </html>