PageSourceSearch

https://quickai.jp/assets/BlogManagementPage-fzvE-8d8.js

js quickai.jp collected 2026-10-09 05:09:20 UTC 20,223 bytes, 2 lines download raw bytes

1import{j as e}from"./http-vendor-CaM1--0x.js";import{a as I}from"./react-vendor-DdQ9Xf68.js";import{B as l,D as Y,f as J,r as X,s as Z,S as ee,I as k,l as F,g as N,c as se,R as te,T as ae,U as re,V as M}from"./index-DdUwhG0e.js";import{T as ne,a as ie,b as U,c as A,d as ce,e as L}from"./table-CD1ofAMZ.js";import{B as le}from"./badge-DdBRuneQ.js";import{u as oe,o as D,e as de,s as b}from"./form-vendor-Bdyy9xMa.js";import{F as he,a as u,b as x,c as g,d as j,e as p,t as me}from"./form-BmIZnNAb.js";import{S as O,a as P,b as R,c as z,d as f}from"./select-Bpt9Qj6a.js";import{N as q,m as V,w as ue,u as xe,S as ge,L as je,I as pe,H as fe,E as ve}from"./editor-vendor-Dc8CHtnJ.js";import{P as be}from"./index-DQ3jbAJO.js";import{b3 as ye,b4 as Ne,b5 as ke,ar as we,b6 as Ae,b7 as Le,av as Ce,b8 as Te,b9 as Se,ba as Ie,a4 as Ee,bb as Me,bc as He,U as $,aw as Ue,Q as De,u as Oe,aV as Pe,aW as Re,aY as ze,au as Be}from"./icons-vendor-BRqxeNaq.js";import{g as H}from"./avatarHelpers-Bn3Z4W6y.js";import{u as Fe,b as qe,c as Ve,d as $e}from"./blog-B3bXZz9u.js";import{u as _e}from"./auth-vendor-DI1Pu9f8.js";import"./ui-forms-BiB2iH3C.js";import"./ui-core-B9W4qkKj.js";import"./utils-vendor-BahXF38p.js";import"./ui-navigation-CwSq-WDp.js";import"./label-C9dNrWwo.js";const Ge=q.create({name:"taskList",addOptions(){return{itemTypeName:"taskItem",HTMLAttributes:{}}},group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:`ul[data-type="${this.name}"]`,priority:51}]},renderHTML({HTMLAttributes:i}){return["ul",V(this.options.HTMLAttributes,i,{"data-type":this.name}),0]},addCommands(){return{toggleTaskList:()=>({commands:i})=>i.toggleList(this.name,this.options.itemTypeName)}},addKeyboardShortcuts(){return{"Mod-Shift-9":()=>this.editor.commands.toggleTaskList()}}}),Qe=/^\s*(\[([( |x])?\])\s$/,We=q.create({name:"taskItem",addOptions(){return{nested:!1,HTMLAttributes:{},taskListTypeName:"taskList",a11y:void 0}},content(){return this.options.nested?"paragraph block*":"paragraph+"},defining:!0,addAttributes(){return{checked:{default:!1,keepOnSplit:!1,parseHTML:i=>{const d=i.getAttribute("data-checked");return d===""||d==="true"},renderHTML:i=>({"data-checked":i.checked})}}},parseHTML(){return[{tag:`li[data-type="${this.name}"]`,priority:51}]},renderHTML({node:i,HTMLAttributes:d}){return["li",V(this.options.HTMLAttributes,d,{"data-type":this.name}),["label",["input",{type:"checkbox",checked:i.attrs.checked?"checked":null}],["span"]],["div",0]]},addKeyboardShortcuts(){const i={Enter:()=>this.editor.commands.splitListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)};return this.options.nested?{...i,Tab:()=>this.editor.commands.sinkListItem(this.name)}:i},addNodeView(){return({node:i,HTMLAttributes:d,getPos:a,editor:s})=>{const r=document.createElement("li"),m=document.createElement("label"),t=document.createElement("span"),c=document.createElement("input"),v=document.createElement("div"),C=()=>{var o,h;c.ariaLabel=((h=(o=this.options.a11y)===null||o===void 0?void 0:o.checkboxLabel)===null||h===void 0?void 0:h.call(o,i,c.checked))||`Task item checkbox for ${i.textContent||"empty task item"}`};return C(),m.contentEditable="false",c.type="checkbox",c.addEventListener("mousedown",o=>o.preventDefault()),c.addEventListener("change",o=>{if(!s.isEditable&&!this.options.onReadOnlyChecked){c.checked=!c.checked;return}const{checked:h}=o.target;s.isEditable&&typeof a=="function"&&s.chain().focus(void 0,{scrollIntoView:!1}).command(({tr:T})=>{const S=a();if(typeof S!="number")return!1;const w=T.doc.nodeAt(S);return T.setNodeMarkup(S,void 0,{...w?.attrs,checked:h}),!0}).run(),!s.isEditable&&this.options.onReadOnlyChecked&&(this.options.onReadOnlyChecked(i,h)||(c.checked=!c.checked))}),Object.entries(this.options.HTMLAttributes).forEach(([o,h])=>{r.setAttribute(o,h)}),r.dataset.checked=i.attrs.checked,c.checked=i.attrs.checked,m.append(c,t),r.append(m,v),Object.entries(d).forEach(([o,h])=>{r.setAttribute(o,h)}),{dom:r,contentDOM:v,update:o=>o.type!==this.type?!1:(r.dataset.checked=o.attrs.checked,c.checked=o.attrs.checked,C(),!0)}}}
1,addInputRules(){return[ue({find:Qe,type:this.type,getAttributes:i=>({checked:i[i.length-1]==="x"})})]}});function B({content:i,onChange:d,placeholder:a="Write something amazing..."}){const s=xe({extensions:[ge.configure({heading:{levels:[1,2]}}),je.configure({openOnClick:!1,HTMLAttributes:{class:"text-purple-600 underline cursor-pointer"}}),pe.configure({HTMLAttributes:{class:"max-w-full rounded-lg"}}),be.configure({placeholder:a,emptyEditorClass:"before:content-[attr(data-placeholder)] before:text-gray-400 before:float-left before:pointer-events-none"}),Ge,We.configure({nested:!0}),fe],content:i||"",editorProps:{attributes:{class:"prose prose-sm sm:prose lg:prose-lg xl:prose-xl focus:outline-none max-w-none min-h-[150px] px-4 py-2"}},onUpdate:({editor:t})=>{const c=t.getHTML();d(c)},parseOptions:{preserveWhitespace:"full"}});if(!s)return null;const r=()=>{const t=window.prompt("Enter image URL");t&&s.chain().focus().setImage({src:t}).run()},m=()=>{const t=window.prompt("Enter URL");t&&s.chain().focus().setLink({href:t}).run()};return e.jsxs("div",{className:"border rounded-lg overflow-hidden",children:[e.jsxs("div",{className:"border-b p-2 flex flex-wrap gap-1 bg-gray-50",children:[e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>s.chain().focus().toggleBold().run(),"data-active":s.isActive("bold"),className:s.isActive("bold")?"bg-gray-200":"",children:e.jsx(ye,{className:"h-4 w-4"})}),e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>s.chain().focus().toggleItalic().run(),"data-active":s.isActive("italic"),className:s.isActive("italic")?"bg-gray-200":"",children:e.jsx(Ne,{className:"h-4 w-4"})}),e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>s.chain().focus().toggleStrike().run(),"data-active":s.isActive("strike"),className:s.isActive("strike")?"bg-gray-200":"",children:e.jsx(ke,{className:"h-4 w-4"})}),e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>s.chain().focus().toggleCode().run(),"data-active":s.isActive("code"),className:s.isActive("code")?"bg-gray-200":"",children:e.jsx(we,{className:"h-4 w-4"})}),e.jsx("div",{className:"w-px h-6 bg-gray-300 mx-1"}),e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>s.chain().focus().toggleHeading({level:1}).run(),"data-active":s.isActive("heading",{level:1}),className:s.isActive("heading",{level:1})?"bg-gray-200":"",children:e.jsx(Ae,{className:"h-4 w-4"})}),e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>s.chain().focus().toggleHeading({level:2}).run(),"data-active":s.isActive("heading",{level:2}),className:s.isActive("heading",{level:2})?"bg-gray-200":"",children:e.jsx(Le,{className:"h-4 w-4"})}),e.jsx("div",{className:"w-px h-6 bg-gray-300 mx-1"}),e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>s.chain().focus().toggleBulletList().run(),"data-active":s.isActive("bulletList"),className:s.isActive("bulletList")?"bg-gray-200":"",children:e.jsx(Ce,{className:"h-4 w-4"})}),e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>s.chain().focus().toggleOrderedList().run(),"data-active":s.isActive("orderedList"),className:s.isActive("orderedList")?"bg-gray-200":"",children:e.jsx(Te,{className:"h-4 w-4"})}),e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>s.chain().focus().toggleBlockquote().run(),"data-active":s.isActive("blockquote"),className:s.isActive("blockquote")?"bg-gray-200":"",children:e.jsx(Se,{className:"h-4 w-4"})}),e.jsx("div",{className:"w-px h-6 bg-gray-300 mx-1"}),e.jsx(l,{variant:"ghost",size:"sm",onClick:m,"data-active":s.isActive("link"),className:s.isActive("link")?"bg-gray-200":"",children:e.jsx(Ie,{className:"h-4 w-4"})}),e.jsx(l,{variant:"ghost",size:"sm",onClick:r,children:e.jsx(Ee,{className:"h-4 w-4"})}),e.jsx("div",{className:"w-px h-6 bg-gray-300 mx-1"}),e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>s.chain().focus().undo().run(),disabled:!s.can().undo(),children:e.jsx(Me,{className:"h-4 w-4"})}),e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>s.chain().focus().redo().run(),disabled:!s.can().redo(),children:e.jsx(He,{className:"h-4 w-4"})})]}),e.jsx(ve,{editor:s,className:"min-h-[150px]"})]})}const Ke=D({title:b().min(2,"Title must be at least 2 characters"),slug:b().min(1,"Slug is required"),excerpt:b().min(10,"Excerpt must be at least 10 characters"),content:b().min(50,"Content must be at least 50 characters"),category:b().min(1,"Category is required"),readTime:b().min(1,"Read time is required"),imageUrl:b().min(1,"Image URL is required"),tags:b().min(1,"At least one tag is required"),status:de(["draft","published"]),author:D({name:b().min(2,"Author name must be at least 2 characters"),avatar:b().url("Please enter a valid avatar URL")})});function Ye({open:i,onOpenChange:d,post:a,onSubmit:s}){const r=oe({resolver:me(Ke),defaultValues:a?{title:a.title||"",slug:a.slug||"",excerpt:a.excerpt||"",content:a.content||"",category:a.category||"",readTime:a.readTime||"",imageUrl:a.imageUrl||"",tags:Array.isArray(a.tags)?a.tags.join(", "):"",status:a.status||"draft",author:{name:a.author?.name||"",avatar:a.author?.avatar||""}}:{title:"",slug:"",excerpt:"",content:"",category:"",readTime:"",imageUrl:"",tags:"",status:"draft",author:{name:"",avatar:H("Admin",{background:"6366f1"})}}});I.useEffect(()=>
1{a&&r.reset({title:a.title||"",slug:a.slug||"",excerpt:a.excerpt||"",content:a.content||"",category:a.category||"",readTime:a.readTime||"",imageUrl:a.imageUrl||"",tags:Array.isArray(a.tags)?a.tags.join(", "):"",status:a.status||"draft",author:{name:a.author?.name||"",avatar:a.author?.avatar||""}})},[a,r]);const m=async t=>{try{await s(t),r.reset(),d(!1)}catch(c){F.error("Error submitting form:",c)}};return e.jsx(Y,{open:i,onOpenChange:d,children:e.jsxs(J,{className:"sm:max-w-[725px] h-[90vh] p-0 flex flex-col",children:[e.jsx(X,{className:"px-6 pt-6 pb-4",children:e.jsx(Z,{children:a?"ブログ投稿を編集":"新しいブログ投稿を作成"})}),e.jsx(ee,{className:"flex-1 px-6",children:e.jsx(he,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(m),className:"space-y-6 pb-6",children:[e.jsx(u,{control:r.control,name:"title",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"タイトル"}),e.jsx(j,{children:e.jsx(k,{placeholder:"投稿タイトルを入力",...t})}),e.jsx(p,{})]})}),e.jsx(u,{control:r.control,name:"slug",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"スラッグ"}),e.jsx(j,{children:e.jsx(k,{placeholder:"enter-post-slug",...t})}),e.jsx(p,{})]})}),e.jsx(u,{control:r.control,name:"excerpt",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"抜粋"}),e.jsx(j,{children:e.jsxs("div",{className:"space-y-2",children:[e.jsx(B,{content:t.value,onChange:c=>{t.onChange(c),r.trigger("excerpt")},placeholder:"投稿の簡単な説明"}),e.jsx("div",{className:"text-sm text-gray-500",children:"投稿の簡単な要約(最低10文字)"})]})}),e.jsx(p,{})]})}),e.jsx(u,{control:r.control,name:"content",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"コンテンツ"}),e.jsx(j,{children:e.jsxs("div",{className:"space-y-2",children:[e.jsx(B,{content:t.value,onChange:c=>{t.onChange(c),r.trigger("content")},placeholder:"ブログ投稿のコンテンツをここに記述..."}),e.jsx("div",{className:"text-sm text-gray-500",children:"投稿のメインコンテンツ(最低50文字)"})]})}),e.jsx(p,{})]})}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(u,{control:r.control,name:"category",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"カテゴリ"}),e.jsxs(O,{onValueChange:t.onChange,defaultValue:t.value,children:[e.jsx(j,{children:e.jsx(P,{children:e.jsx(R,{placeholder:"カテゴリを選択"})})}),e.jsxs(z,{children:[e.jsx(f,{value:"Industry News",children:"業界ニュース"}),e.jsx(f,{value:"Best Practices",children:"ベストプラクティス"}),e.jsx(f,{value:"Technical Guides",children:"技術ガイド"}),e.jsx(f,{value:"MLOps",children:"MLOps"}),e.jsx(f,{value:"Computer Vision",children:"コンピュータビジョン"}),e.jsx(f,{value:"Natural Language Processing",children:"自然言語処理"}),e.jsx(f,{value:"AI Security",children:"AIセキュリティ"}),e.jsx(f,{value:"Edge Computing",children:"エッジコンピューティング"}),e.jsx(f,{value:"Project Management",children:"プロジェクト管理"})]})]}),e.jsx(p,{})]})}),e.jsx(u,{control:r.control,name:"readTime",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"読了時間"}),e.jsx(j,{children:e.jsx(k,{placeholder:"例: 5分",...t})}),e.jsx(p,{})]})})]}),e.jsx(u,{control:r.control,name:"imageUrl",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"画像URL"}),e.jsx(j,{children:e.jsx(k,{placeholder:"https://example.com/image.jpg",...t})}),e.jsx(p,{})]})}),e.jsx(u,{control:r.control,name:"tags",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"タグ"}),e.jsx(j,{children:e.jsx(k,{placeholder:"tag1, tag2, tag3",...t})}),e.jsx(p,{})]})}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(u,{control:r.control,name:"author.name",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"著者名"}),e.jsx(j,{children:e.jsx(k,{placeholder:"著者名を入力",...t})}),e.jsx(p,{})]})}),e.jsx(u,{control:r.control,name:"author.avatar",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"著者アバターURL"}),e.jsx(j,{children:e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsx(k,{placeholder:"アバターURLを入力またはUI Avatarsを使用",...t,onChange:c=>
1{t.onChange(c),r.trigger("author.avatar")}}),e.jsx(l,{type:"button",variant:"outline",size:"icon",onClick:()=>{const c=r.getValues("author.name"),v=H(c||"User",{background:"6366f1"});t.onChange(v),r.trigger("author.avatar")},children:e.jsx($,{className:"h-4 w-4"})})]}),t.value&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("img",{src:t.value,alt:"アバタープレビュー",className:"w-8 h-8 rounded-full",onError:c=>{const v=c.target;v.src=H("Admin",{background:"6366f1"})}}),e.jsx("span",{className:"text-sm text-gray-500",children:"プレビュー"})]})]})}),e.jsx(p,{})]})})]}),e.jsx(u,{control:r.control,name:"status",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"ステータス"}),e.jsxs(O,{onValueChange:t.onChange,defaultValue:t.value,children:[e.jsx(j,{children:e.jsx(P,{children:e.jsx(R,{placeholder:"ステータスを選択"})})}),e.jsxs(z,{children:[e.jsx(f,{value:"draft",children:"下書き"}),e.jsx(f,{value:"published",children:"公開済み"})]})]}),e.jsx(p,{})]})}),e.jsxs("div",{className:"flex justify-end gap-4",children:[e.jsx(l,{type:"button",variant:"outline",onClick:()=>d(!1),children:"キャンセル"}),e.jsx(l,{type:"submit",disabled:r.formState.isSubmitting,children:r.formState.isSubmitting?"保存中...":a?"投稿を更新":"投稿を作成"})]})]})})})]})})}function js(){const[i,d]=I.useState(""),[a,s]=I.useState(!1),[r,m]=I.useState(),{userId:t}=_e(),{data:c=[],isLoading:v,error:C,refetch:o}=Fe(),h=qe(),T=Ve(),S=$e();C&&(F.error("Error fetching blog posts:",C),N.error("ブログ投稿の読み込みに失敗しました"));const w=c.filter(n=>n.title?.toLowerCase().includes(i.toLowerCase())||!1||n.excerpt?.toLowerCase().includes(i.toLowerCase())||!1),_=n=>{switch(n){case"published":return"bg-green-50 text-green-700 border-green-200";case"draft":return"bg-yellow-50 text-yellow-700 border-yellow-200";default:return"bg-gray-50 text-gray-700 border-gray-200"}},G=n=>{m(n),s(!0)},Q=async n=>{if(window.confirm(`"${n.title}"を削除してもよろしいですか?`))try{await S.mutateAsync(n._id),N.success("投稿が正常に削除されました")}catch{N.error("投稿の削除に失敗しました")}},W=async n=>{try{const y=n.status==="draft"?"published":"draft";await T.mutateAsync({postId:n._id,data:{status:y,updatedAt:new Date().toISOString()}}),N.success(`投稿が${y==="published"?"公開":"非公開"}されました`)}catch{N.error("投稿ステータスの更新に失敗しました")}},K=async n=>{try{const y={...n,tags:n.tags.split(",").map(E=>E.trim()).filter(E=>E.length>0)};r?._id?(await T.mutateAsync({postId:r._id,data:{...y,updatedAt:new Date().toISOString()}}),N.success("投稿が正常に更新されました")):(await h.mutateAsync({...y,date:new Date().toISOString()}),N.success("投稿が正常に作成されました")),s(!1),m(void 0)}catch{N.error("投稿の保存に失敗しました")}};return e.jsxs("div",{children:[e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-semibold tracking-tight",children:"ブログ管理"}),e.jsx("p",{className:"text-sm text-gray-500",children:v?"ブログ投稿を読み込み中...":`${w.length}件のブログ投稿が見つかりました`})]}),e.jsxs(l,{onClick:()=>{m(void 0),s(!0)},children:[e.jsx(Ue,{className:"mr-2 h-4 w-4"}),"新しい投稿"]})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"flex items-center gap-4 flex-1 max-w-md",children:e.jsxs("div",{className:"relative flex-1",children:[e.jsx(De,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-gray-400"}),e.jsx(k,{placeholder:"投稿を検索...",value:i,onChange:n=>d(n.target.value),className:"pl-9"})]})}),e.jsx(l,{variant:"outline",onClick:()=>o(),disabled:v,children:"更新"})]}),e.jsx("div",{className:"bg-white shadow-sm rounded-lg border overflow-hidden",children:v?e.jsx("div",{className:"flex items-center justify-center h-96",children:e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-purple-600"})}):w.length===0?e.jsxs("div",{className:"flex flex-col items-center justify-center h-96 text-gray-500",children:[e.jsx(Oe,{className:"h-12 w-12 mb-4"}),e.jsx("p",{className:"text-lg font-medium",children:"ブログ投稿が見つかりませんでした"}),e.jsx("p",{className:"text-sm",children:i?"検索条件を調整してみてください":"'新しい投稿'ボタンをクリックして最初のブログ投稿を作成してください"})]}):e.jsx("div",{className:"h-[calc(100dvh-17rem)] min-h-[20rem] overflow-auto",children:e.jsxs(ne,{children:[e.jsx(ie,{className:"sticky top-0 bg-white z-10",children:e.jsxs(U,{children:[e.jsx(A,{children:"タイトル"}),e.jsx(A,{children:"著者"}),e.jsx(A,{children:"ステータス"}),e.jsx(A,{children:"作成日"}),e.jsx(A,{children:"更新日"}),e.jsx(A,{className:"w-[70px]"})]})}),e.jsx(ce,{children:w.map(n=>e.jsxs(U,{children:[e.jsx(L,{children:e.jsxs("div",{children:[e.jsx("div",{className:"font-medium",children:n.title||"タイトルなし"}),e.jsx("div",{className:"text-sm text-gray-500 truncate max-w-[300px]",children:n.excerpt||"説明なし"})]})}),e.jsx(L,{children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx($,{className:"h-4 w-4 text-gray-500"}),e.jsx("span",{children:n.author?.name||"著者不明"})]})}),e.jsxs(L,{children:[e.jsx(le,{className:se("capitalize",_(n.status||"draft")),children:n.status||"draft"}),n.qualityGate?.passed===!1&&n.qualityGate.reasons.length>0&&e.jsxs("div",{className:"mt-1 max-w-[240px] text-xs text-amber-700",title:n.qualityGate.reasons.join(`
2`),children:["品質NG: ",n.qualityGate.reasons.join(" / ")]})]}),e.jsx(L,{children:e.jsx("div",{className:"text-sm text-gray-500",children:n.createdAt?new Date(n.createdAt).toLocaleDateString():"-"})}),e.jsx(L,{children:e.jsx("div",{className:"text-sm text-gray-500",children:n.updatedAt?new Date(n.updatedAt).toLocaleDateString():"-"})}),e.jsx(L,{children:e.jsxs(te,{children:[e.jsx(ae,{asChild:!0,children:e.jsx(l,{variant:"ghost",className:"h-8 w-8 p-0",children:e.jsx(Pe,{className:"h-4 w-4"})})}),e.jsxs(re,{align:"end",children:[e.jsxs(M,{onClick:()=>G(n),children:[e.jsx(Re,{className:"h-4 w-4 mr-2"}),"編集"]}),e.jsxs(M,{onClick:()=>Q(n),children:[e.jsx(ze,{className:"h-4 w-4 mr-2"}),"削除"]}),e.jsxs(M,{onClick:()=>W(n),children:[e.jsx(Be,{className:"h-4 w-4 mr-2"}),n.status==="draft"?"公開":"非公開"]})]})]})})]},n._id))})]})})})]}),e.jsx(Ye,{open:a,onOpenChange:s,post:r,onSubmit:K})]})}export{js as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.