@takagaki/cortex-decisions-viewer 0.4.15 → 0.4.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/render.js +20 -3
  2. package/package.json +1 -1
package/dist/render.js CHANGED
@@ -681,10 +681,15 @@ const CLIENT_JS = `
681
681
  var modal = el("div", { class: "modal" });
682
682
  modal.appendChild(el("h2", { class: "modal-title", text: isT ? "会議の文字起こしを追加" : "共有資料を追加" }));
683
683
  modal.appendChild(el("p", { class: "modal-desc", text: isT
684
- ? "文字起こしファイル(.txt / .docx 等)を選んで送信してください。(送信後、数分で議事録が自動生成されます)"
685
- : "資料ファイル(PDF / PPT / Excel 等)を選んで送信してください。(送信後、数分でファイルの内容が Markdown に変換されて取り込まれます)" }));
684
+ ? "文字起こしファイル(テキスト・Word・PDF・字幕 等)を選んで送信してください。(送信後、数分で議事録が自動生成されます)"
685
+ : "資料ファイル(PDF・Word・PowerPoint・Excel・テキスト・画像 等)を選んで送信してください。(送信後、数分で内容が Markdown に変換されて取り込まれます)" }));
686
686
 
687
687
  var selectedFiles = [];
688
+ var allowedExt = isT
689
+ ? { txt: 1, md: 1, docx: 1, doc: 1, rtf: 1, pdf: 1, vtt: 1, srt: 1 }
690
+ : { pdf: 1, docx: 1, doc: 1, pptx: 1, ppt: 1, xlsx: 1, xls: 1, csv: 1, txt: 1, md: 1, rtf: 1, png: 1, jpg: 1, jpeg: 1, gif: 1, webp: 1, svg: 1, bmp: 1, heic: 1, tiff: 1 };
691
+ var allowedLabel = isT ? "テキスト・Word・PDF・字幕(.vtt/.srt)" : "PDF・Word・PowerPoint・Excel・テキスト・画像";
692
+ function extOf(name) { var m = String(name).toLowerCase().match(/\.([a-z0-9]+)$/); return m ? m[1] : ""; }
688
693
  var fileInput = el("input", { type: "file", multiple: "multiple", class: "modal-file-hidden" });
689
694
  var fileListEl = el("div", { class: "dropzone-files" });
690
695
  var dropzone = el("div", { class: "dropzone" }, [
@@ -704,6 +709,7 @@ const CLIENT_JS = `
704
709
  overlay.appendChild(modal);
705
710
  document.body.appendChild(overlay);
706
711
 
712
+ function showStatus(msg, isError) { status.className = "modal-status" + (isError ? " modal-status-error" : ""); status.textContent = msg; }
707
713
  function update() { submitBtn.disabled = !(nameInput.value.trim() && selectedFiles.length); }
708
714
  function renderFiles() {
709
715
  fileListEl.textContent = "";
@@ -713,7 +719,18 @@ const CLIENT_JS = `
713
719
  fileListEl.appendChild(el("span", { class: "file-chip" }, [el("span", { text: f.name }), x]));
714
720
  });
715
721
  }
716
- function addFiles(list) { Array.prototype.slice.call(list || []).forEach(function (f) { selectedFiles.push(f); }); renderFiles(); update(); }
722
+ function addFiles(list) {
723
+ var rejected = [];
724
+ Array.prototype.slice.call(list || []).forEach(function (f) {
725
+ var ext = extOf(f.name);
726
+ if (!ext || !allowedExt[ext]) { rejected.push(f.name); return; }
727
+ selectedFiles.push(f);
728
+ });
729
+ renderFiles();
730
+ update();
731
+ if (rejected.length) showStatus("⚠ 対応していない形式のため追加できませんでした: " + rejected.join(", ") + "(対応形式: " + allowedLabel + ")", true);
732
+ else showStatus("", false);
733
+ }
717
734
  dropzone.addEventListener("click", function () { fileInput.click(); });
718
735
  fileInput.addEventListener("change", function () { addFiles(fileInput.files); fileInput.value = ""; });
719
736
  dropzone.addEventListener("dragover", function (e) { e.preventDefault(); dropzone.classList.add("dragover"); });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takagaki/cortex-decisions-viewer",
3
- "version": "0.4.15",
3
+ "version": "0.4.16",
4
4
  "description": "Cortexの意思決定記録(Decisions/*.md)を静的サイトにビルドして閲覧する。各レコードに「Edit on GitHub」リンクを付与する。",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,