Spaces:
Running
Running
Share and download markdown directly from the result view
Browse files
app.js
CHANGED
|
@@ -220,7 +220,42 @@ function ergebnisAnzeigen(d) {
|
|
| 220 |
|
| 221 |
$("#ergebnis").innerHTML =
|
| 222 |
`<div class="card">${meta}<div class="sa-bar">${balken}</div>` +
|
| 223 |
-
`<div class="sa-legs">${legende}</div>${zeitleiste}${gespraech}${hinweis}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 224 |
}
|
| 225 |
|
| 226 |
// ---------- Verlauf ----------
|
|
@@ -276,15 +311,7 @@ $("#btn-zurueck").addEventListener("click", () => {
|
|
| 276 |
$("#verlauf-liste").hidden = false;
|
| 277 |
});
|
| 278 |
|
| 279 |
-
$("#btn-download").addEventListener("click", () =>
|
| 280 |
-
if (!letztesMarkdown) return;
|
| 281 |
-
const blob = new Blob([letztesMarkdown.text], { type: "text/markdown" });
|
| 282 |
-
const a = document.createElement("a");
|
| 283 |
-
a.href = URL.createObjectURL(blob);
|
| 284 |
-
a.download = letztesMarkdown.name;
|
| 285 |
-
a.click();
|
| 286 |
-
URL.revokeObjectURL(a.href);
|
| 287 |
-
});
|
| 288 |
|
| 289 |
// ---------- Start ----------
|
| 290 |
|
|
|
|
| 220 |
|
| 221 |
$("#ergebnis").innerHTML =
|
| 222 |
`<div class="card">${meta}<div class="sa-bar">${balken}</div>` +
|
| 223 |
+
`<div class="sa-legs">${legende}</div>${zeitleiste}${gespraech}${hinweis}` +
|
| 224 |
+
`<div class="row md-aktionen">` +
|
| 225 |
+
`<button id="btn-md-teilen" class="ghost grow">Teilen</button>` +
|
| 226 |
+
`<button id="btn-md-laden" class="ghost grow">Herunterladen</button>` +
|
| 227 |
+
`</div></div>`;
|
| 228 |
+
|
| 229 |
+
const name = (d.pfad || "analyse.md").split("/").pop();
|
| 230 |
+
letztesMarkdown = { text: d.markdown || "", name };
|
| 231 |
+
$("#btn-md-laden").addEventListener("click", () => mdHerunterladen());
|
| 232 |
+
const teilen = $("#btn-md-teilen");
|
| 233 |
+
if (navigator.share) {
|
| 234 |
+
teilen.addEventListener("click", async () => {
|
| 235 |
+
const datei = new File([letztesMarkdown.text], letztesMarkdown.name,
|
| 236 |
+
{ type: "text/markdown" });
|
| 237 |
+
try {
|
| 238 |
+
if (navigator.canShare && navigator.canShare({ files: [datei] })) {
|
| 239 |
+
await navigator.share({ files: [datei], title: letztesMarkdown.name });
|
| 240 |
+
} else {
|
| 241 |
+
await navigator.share({ title: letztesMarkdown.name,
|
| 242 |
+
text: letztesMarkdown.text });
|
| 243 |
+
}
|
| 244 |
+
} catch (e) { /* Abbruch durch Nutzer */ }
|
| 245 |
+
});
|
| 246 |
+
} else {
|
| 247 |
+
teilen.hidden = true;
|
| 248 |
+
}
|
| 249 |
+
}
|
| 250 |
+
|
| 251 |
+
function mdHerunterladen() {
|
| 252 |
+
if (!letztesMarkdown) return;
|
| 253 |
+
const blob = new Blob([letztesMarkdown.text], { type: "text/markdown" });
|
| 254 |
+
const a = document.createElement("a");
|
| 255 |
+
a.href = URL.createObjectURL(blob);
|
| 256 |
+
a.download = letztesMarkdown.name;
|
| 257 |
+
a.click();
|
| 258 |
+
URL.revokeObjectURL(a.href);
|
| 259 |
}
|
| 260 |
|
| 261 |
// ---------- Verlauf ----------
|
|
|
|
| 311 |
$("#verlauf-liste").hidden = false;
|
| 312 |
});
|
| 313 |
|
| 314 |
+
$("#btn-download").addEventListener("click", () => mdHerunterladen());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 315 |
|
| 316 |
// ---------- Start ----------
|
| 317 |
|
style.css
CHANGED
|
@@ -119,6 +119,7 @@ summary { min-height: 44px; display: flex; align-items: center; color: var(--dim
|
|
| 119 |
border-radius: 12px; overflow-wrap: anywhere }
|
| 120 |
.sa-warn { margin-top: 14px; padding: 10px 14px; border-radius: 10px;
|
| 121 |
background: var(--warn-bg); font-size: .9rem }
|
|
|
|
| 122 |
|
| 123 |
/* Verlauf */
|
| 124 |
.v-card { width: 100%; text-align: left; background: var(--fläche);
|
|
|
|
| 119 |
border-radius: 12px; overflow-wrap: anywhere }
|
| 120 |
.sa-warn { margin-top: 14px; padding: 10px 14px; border-radius: 10px;
|
| 121 |
background: var(--warn-bg); font-size: .9rem }
|
| 122 |
+
.md-aktionen { margin-top: 16px }
|
| 123 |
|
| 124 |
/* Verlauf */
|
| 125 |
.v-card { width: 100%; text-align: left; background: var(--fläche);
|