Monstermango commited on
Commit
dd636b7
·
verified ·
1 Parent(s): cd8d94a

Share and download markdown directly from the result view

Browse files
Files changed (2) hide show
  1. app.js +37 -10
  2. style.css +1 -0
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}</div>`;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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);