summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/index.php122
1 files changed, 1 insertions, 121 deletions
diff --git a/src/index.php b/src/index.php
index 65edf98..d4962eb 100644
--- a/src/index.php
+++ b/src/index.php
@@ -7,127 +7,7 @@
7 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0">
8 <title>sent-web</title> 8 <title>sent-web</title>
9 <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kj-sh604/noir.css@latest/out/noir.min.css"> 9 <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kj-sh604/noir.css@latest/out/noir.min.css">
10 <style> 10 <style> :root { --sent-fg: #000000; --sent-bg: #ffffff; --sent-font: 'Noto Color Emoji', 'DejaVu Sans', sans-serif; } body { max-width: 960px; margin: 0 auto; padding: 1rem; } .subtitle { opacity: 0.6; font-size: 0.9em; margin-top: -0.8em; } /* ── controls ── */ #controls { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-bottom: 1rem; padding: 0.75rem; border: 1px solid currentColor; border-radius: 4px; } #controls label { display: flex; align-items: center; gap: 0.4rem; font-size: 0.9rem; } #controls input[type="color"] { width: 2rem; height: 2rem; padding: 0; border: 1px solid currentColor; cursor: pointer; background: none; } #controls select { max-width: 200px; } .upload-area { display: flex; align-items: center; gap: 0.5rem; } #upload-input { display: none; } #upload-status { font-size: 0.85rem; opacity: 0.7; } /* ── editor ── */ #input { width: 100%; min-height: 420px; font-family: monospace; font-size: 0.95rem; resize: vertical; tab-size: 4; } .btn-row { display: flex; gap: 0.5rem; margin-top: 0.5rem; } .hint { font-size: 0.8rem; opacity: 0.5; margin-top: 0.25rem; } /* ── presentation overlay ── */ #presentation { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: flex-start; background: var(--sent-bg); color: var(--sent-fg); cursor: none; overflow: hidden; padding-left: 7.5%; } #presentation.active { display: flex; } #slide-content { text-align: left; white-space: pre-line; word-wrap: break-word; font-family: var(--sent-font); } #slide-content img { display: block; max-width: 85vw; max-height: 85vh; object-fit: contain; } </style>
11 :root {
12 --sent-fg: #000000;
13 --sent-bg: #ffffff;
14 --sent-font: 'Noto Color Emoji', 'DejaVu Sans', sans-serif;
15 }
16
17 body {
18 max-width: 960px;
19 margin: 0 auto;
20 padding: 1rem;
21 }
22
23 .subtitle {
24 opacity: 0.6;
25 font-size: 0.9em;
26 margin-top: -0.8em;
27 }
28
29 /* ── controls ── */
30 #controls {
31 display: flex;
32 flex-wrap: wrap;
33 gap: 1rem;
34 align-items: center;
35 margin-bottom: 1rem;
36 padding: 0.75rem;
37 border: 1px solid currentColor;
38 border-radius: 4px;
39 }
40
41 #controls label {
42 display: flex;
43 align-items: center;
44 gap: 0.4rem;
45 font-size: 0.9rem;
46 }
47
48 #controls input[type="color"] {
49 width: 2rem;
50 height: 2rem;
51 padding: 0;
52 border: 1px solid currentColor;
53 cursor: pointer;
54 background: none;
55 }
56
57 #controls select {
58 max-width: 200px;
59 }
60
61 .upload-area {
62 display: flex;
63 align-items: center;
64 gap: 0.5rem;
65 }
66
67 #upload-input {
68 display: none;
69 }
70
71 #upload-status {
72 font-size: 0.85rem;
73 opacity: 0.7;
74 }
75
76 /* ── editor ── */
77 #input {
78 width: 100%;
79 min-height: 420px;
80 font-family: monospace;
81 font-size: 0.95rem;
82 resize: vertical;
83 tab-size: 4;
84 }
85
86 .btn-row {
87 display: flex;
88 gap: 0.5rem;
89 margin-top: 0.5rem;
90 }
91
92 .hint {
93 font-size: 0.8rem;
94 opacity: 0.5;
95 margin-top: 0.25rem;
96 }
97
98 /* ── presentation overlay ── */
99 #presentation {
100 position: fixed;
101 inset: 0;
102 z-index: 9999;
103 display: none;
104 align-items: center;
105 justify-content: flex-start;
106 background: var(--sent-bg);
107 color: var(--sent-fg);
108 cursor: none;
109 overflow: hidden;
110 padding-left: 7.5%;
111 }
112
113 #presentation.active {
114 display: flex;
115 }
116
117 #slide-content {
118 text-align: left;
119 white-space: pre-line;
120 word-wrap: break-word;
121 font-family: var(--sent-font);
122 }
123
124 #slide-content img {
125 display: block;
126 max-width: 85vw;
127 max-height: 85vh;
128 object-fit: contain;
129 }
130 </style>
131</head> 11</head>
132 12
133<body> 13<body>