From 58904d6f7bbf4c8ac387435d643992cd62479362 Mon Sep 17 00:00:00 2001 From: tianma-if Date: Thu, 8 Oct 2026 22:08:59 +0800 Subject: [PATCH] Default shared note image cards to wide width --- .../Features/Workspace/MemoDetailView.swift | 4 +- .../Resources/EditorBundle/index.html | 558 +++++++++--------- apps/ios/EditorBundle/index.html | 558 +++++++++--------- apps/ios/EditorSource/src/main.ts | 4 +- .../src/components/LocalTiptapEditor.tsx | 4 +- .../src/screens/WorkspaceMemoDetail.tsx | 4 +- .../dialogs/ShareNoteImageDialog.tsx | 4 +- apps/web/src/lib/note-image-export.ts | 4 +- packages/shared/src/note-image-card.ts | 4 +- 9 files changed, 572 insertions(+), 572 deletions(-) diff --git a/apps/ios/EdgeEver/Features/Workspace/MemoDetailView.swift b/apps/ios/EdgeEver/Features/Workspace/MemoDetailView.swift index 0f416a0b..d34eccaa 100644 --- a/apps/ios/EdgeEver/Features/Workspace/MemoDetailView.swift +++ b/apps/ios/EdgeEver/Features/Workspace/MemoDetailView.swift @@ -26,7 +26,7 @@ struct MemoDetailView: View { @State private var imageShareTheme = "aurora" @State private var imageShareFontStyle = "serif" @State private var imageShareFontSize = "lg" - @State private var imageShareCardWidth = "standard" + @State private var imageShareCardWidth = "wide" @State private var imageShareTitle = true @State private var imageShareNotebook = false @State private var imageShareTags = false @@ -1151,7 +1151,7 @@ struct MemoDetailView: View { theme: String = "aurora", fontStyle: String = "serif", fontSize: String = "lg", - cardWidth: String = "standard", + cardWidth: String = "wide", showTitle: Bool = true, showNotebook: Bool = false, showTags: Bool = false, diff --git a/apps/ios/EdgeEver/Resources/EditorBundle/index.html b/apps/ios/EdgeEver/Resources/EditorBundle/index.html index 2d814803..825d4d8b 100644 --- a/apps/ios/EdgeEver/Resources/EditorBundle/index.html +++ b/apps/ios/EdgeEver/Resources/EditorBundle/index.html @@ -7,14 +7,14 @@ content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> EdgeEver Editor - +`},"getStyles"),LT,au=(LT=class{constructor(){this.d=""}moveTo(e,r){return this.d+=`M ${e} ${r} `,this}lineTo(e,r){return this.d+=`L ${e} ${r} `,this}horizontalTo(e){return this.d+=`H ${e} `,this}verticalTo(e){return this.d+=`V ${e} `,this}arcTo(e,r,n,i,s,a,o){return this.d+=`A ${e} ${r} ${n} ${i?1:0} ${s?1:0} ${a} ${o} `,this}build(){return this.d.trim()}},w(LT,"PathBuilder"),LT),IT,kwr=(IT=class{constructor(e,r=vie()){this.textCache=new Map,this.svg=e,this.config=r}measureText(e){if(this.textCache.has(e))return this.textCache.get(e);const r=this.svg.append("text").attr("font-family",this.config.fontFamily).attr("font-size",this.config.fontSize).text(e),n=r.node().getBBox(),i={width:n.width,height:n.height};return r.remove(),this.textCache.set(e,i),i}renderTerminal(e,r){const n=this.measureText(r),i=n.width+this.config.padding*2,s=n.height+this.config.padding*2,a=e.append("g").attr("class","railroad-terminal");return a.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",s).attr("rx",10).attr("ry",10),a.append("text").attr("x",i/2).attr("y",s/2).text(r),{element:a.node(),dimensions:{width:i,height:s,up:s/2,down:s/2}}}renderNonTerminal(e,r){const n=this.measureText(r),i=n.width+this.config.padding*2,s=n.height+this.config.padding*2,a=e.append("g").attr("class","railroad-nonterminal");return a.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",s),a.append("text").attr("x",i/2).attr("y",s/2).text(r),{element:a.node(),dimensions:{width:i,height:s,up:s/2,down:s/2}}}renderSequence(e,r){const n=r.map(u=>this.renderExpression(e,u));let i=0,s=0,a=0;for(const u of n)i+=u.dimensions.width,s=Math.max(s,u.dimensions.up),a=Math.max(a,u.dimensions.down);i+=(n.length-1)*this.config.horizontalSeparation;const o=e.append("g").attr("class","railroad-sequence");let l=0;for(let u=0;uthis.renderExpression(e,f));let i=0,s=0;for(const f of n)i=Math.max(i,f.dimensions.width),s+=f.dimensions.height;s+=(n.length-1)*this.config.verticalSeparation;const a=this.config.arcRadius,o=a*4,l=i+o,u=e.append("g").attr("class","railroad-choice");let h=0;const d=s/2;for(const f of n){const p=h,g=p+f.dimensions.up,m=a*2+(i-f.dimensions.width)/2;u.node().appendChild(f.element).setAttribute("transform",`translate(${m}, ${p})`);const v=new au,x=g>d;g===d?v.moveTo(0,d).lineTo(m,g):v.moveTo(0,d).arcTo(a,a,0,!1,x,a,d+(x?a:-a)).lineTo(a,g-(x?a:-a)).arcTo(a,a,0,!1,!x,a*2,g).lineTo(m,g),u.append("path").attr("class","railroad-line").attr("d",v.build());const b=new au,T=m+f.dimensions.width,C=l-a*2;g===d?b.moveTo(T,g).lineTo(l,d):b.moveTo(T,g).lineTo(C,g).arcTo(a,a,0,!1,!x,l-a,g+(x?-a:a)).lineTo(l-a,d+(x?a:-a)).arcTo(a,a,0,!1,x,l,d),u.append("path").attr("class","railroad-line").attr("d",b.build()),h+=f.dimensions.height+this.config.verticalSeparation}return{element:u.node(),dimensions:{width:l,height:s,up:d,down:s-d}}}renderOptional(e,r){const n=this.renderExpression(e,r),i=this.config.arcRadius,s=i*2,a=n.dimensions.width+i*4,o=n.dimensions.height+s,l=e.append("g").attr("class","railroad-optional"),u=i*2,h=s;l.node().appendChild(n.element).setAttribute("transform",`translate(${u}, ${h})`);const f=h+n.dimensions.up,p=new au().moveTo(0,f).lineTo(i*2,f);l.append("path").attr("class","railroad-line").attr("d",p.build());const g=new au().moveTo(u+n.dimensions.width,f).lineTo(a,f);l.append("path").attr("class","railroad-line").attr("d",g.build());const m=new au().moveTo(0,f).arcTo(i,i,0,!1,!1,i,f-i).lineTo(i,i).arcTo(i,i,0,!1,!0,i*2,0).lineTo(a-i*2,0).arcTo(i,i,0,!1,!0,a-i,i).lineTo(a-i,f-i).arcTo(i,i,0,!1,!1,a,f);return l.append("path").attr("class","railroad-line").attr("d",m.build()),{element:l.node(),dimensions:{width:a,height:o,up:f,down:o-f}}}renderRepetition(e,r,n){const i=this.renderExpression(e,r),s=this.config.arcRadius,a=s*2,o=i.dimensions.width+s*4,l=n===0,u=i.dimensions.height+a+(l?a:0),h=e.append("g").attr("class","railroad-repetition"),d=s*2,f=l?a:0;h.node().appendChild(i.element).setAttribute("transform",`translate(${d}, ${f})`);const g=f+i.dimensions.up;h.append("path").attr("class","railroad-line").attr("d",new au().moveTo(0,g).lineTo(s*2,g).build()),h.append("path").attr("class","railroad-line").attr("d",new au().moveTo(d+i.dimensions.width,g).lineTo(o,g).build());const m=f+i.dimensions.height+s,y=new au().moveTo(d+i.dimensions.width,g).arcTo(s,s,0,!1,!0,d+i.dimensions.width+s,g+s).lineTo(d+i.dimensions.width+s,m).arcTo(s,s,0,!1,!0,d+i.dimensions.width,m+s).lineTo(s*2,m+s).arcTo(s,s,0,!1,!0,s,m).lineTo(s,g+s).arcTo(s,s,0,!1,!0,s*2,g);if(h.append("path").attr("class","railroad-line").attr("d",y.build()),l){const v=new au().moveTo(0,g).arcTo(s,s,0,!1,!1,s,g-s).lineTo(s,s).arcTo(s,s,0,!1,!0,s*2,0).lineTo(o-s*2,0).arcTo(s,s,0,!1,!0,o-s,s).lineTo(o-s,g-s).arcTo(s,s,0,!1,!1,o,g);h.append("path").attr("class","railroad-line").attr("d",v.build())}return{element:h.node(),dimensions:{width:o,height:u,up:g,down:u-g}}}renderSpecial(e,r){const n=this.measureText("? "+r+" ?"),i=n.width+this.config.padding*2,s=n.height+this.config.padding*2,a=e.append("g").attr("class","railroad-special");return a.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",s),a.append("text").attr("x",i/2).attr("y",s/2).text("? "+r+" ?"),{element:a.node(),dimensions:{width:i,height:s,up:s/2,down:s/2}}}renderExpression(e,r){switch(r.type){case"terminal":return this.renderTerminal(e,r.value);case"nonterminal":return this.renderNonTerminal(e,r.name);case"sequence":return this.renderSequence(e,r.elements);case"choice":return this.renderChoice(e,r.alternatives);case"optional":return this.renderOptional(e,r.element);case"repetition":return this.renderRepetition(e,r.element,r.min);case"special":return this.renderSpecial(e,r.text);default:throw new Error(`Unknown node type: ${r.type}`)}}renderRule(e,r){const n=this.svg.append("g").attr("class","railroad-rule").attr("transform",`translate(0, ${r})`),i=e.name+" =",s=this.measureText(i).width+20,a=s+20,o=n.append("g"),l=this.renderExpression(o,e.definition),u=Math.max(20,l.dimensions.up),h=u-l.dimensions.up;return o.attr("transform",`translate(${a}, ${h})`),n.append("g").attr("class","railroad-rule-name-group").append("text").attr("class","railroad-rule-name").attr("x",0).attr("y",u).text(i),n.append("g").attr("class","railroad-start").append("circle").attr("cx",s).attr("cy",u).attr("r",this.config.markerRadius),n.append("g").attr("class","railroad-end").append("circle").attr("cx",a+l.dimensions.width+10).attr("cy",u).attr("r",this.config.markerRadius),n.append("path").attr("class","railroad-line").attr("d",new au().moveTo(s+this.config.markerRadius,u).lineTo(a,u).build()),n.append("path").attr("class","railroad-line").attr("d",new au().moveTo(a+l.dimensions.width,u).lineTo(a+l.dimensions.width+10-this.config.markerRadius,u).build()),{height:Math.max(40,h+l.dimensions.height+this.config.padding*2),width:a+l.dimensions.width+10+this.config.markerRadius}}renderDiagram(e){let r=this.config.padding,n=0;for(const i of e){const s=this.renderRule(i,r);r+=s.height+this.config.verticalSeparation,n=Math.max(n,s.width)}return{width:n+this.config.padding*2,height:r+this.config.padding}}},w(IT,"RailroadRenderer"),IT),lve=w((t,e,r)=>{Fs(t,e.height,e.width,r),t.attr("viewBox",`0 0 ${e.width} ${e.height}`)},"configureRailroadSvgSize"),Swr=w((t,e,r)=>{de.debug(`[Railroad] Rendering diagram +`+t);try{const n=Ko(e);n.attr("class","railroad-diagram");const i=xr().railroad,s=(i==null?void 0:i.useMaxWidth)??!0,a=Qi.getRules();if(de.debug(`[Railroad] Rendering ${a.length} rules`),a.length===0){de.warn("[Railroad] No rules to render"),lve(n,{height:100,width:200},s);return}const l=new kwr(n,vie()).renderDiagram(a);lve(n,l,s),de.debug("[Railroad] Render complete")}catch(n){throw de.error("[Railroad] Render error:",n),n}},"draw"),XP={draw:Swr},Ewr=gne().Railroad.parser.LangiumParser,j2=w(t=>{switch(t.$type){case"RailroadTerminalExpr":return{type:"terminal",value:t.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:t.name};case"RailroadSpecialExpr":return{type:"special",text:t.text};case"RailroadSequenceExpr":{const e=t.elements.map(j2);return e.length===1?e[0]:{type:"sequence",elements:e}}case"RailroadChoiceExpr":{const e=t.alternatives.map(j2);return e.length===1?e[0]:{type:"choice",alternatives:e}}case"RailroadOptionalExpr":return{type:"optional",element:j2(t.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:j2(t.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:j2(t.element),min:0,max:1/0};default:throw new Error(`Unsupported railroad expression: ${t.$type}`)}},"transformExpression"),Awr=w(t=>({name:t.name,definition:j2(t.definition)}),"transformRule"),Mwr=w(t=>{Gl(t,Qi),t.title&&Qi.setTitle(t.title),t.rules.map(e=>Qi.addRule(Awr(e)))},"populateDb"),Rwr={parse:w(t=>{Qi.clear(),de.debug("[Railroad Parser] Starting Langium parse");const e=Ewr.parse(t);if(e.lexerErrors.length>0||e.parserErrors.length>0)throw new e7(e);const r=e.value;de.debug("[Railroad Parser] Parsed rules:",r.rules.length),Mwr(r),de.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:Qi}},_wr={parser:Rwr,db:Qi,renderer:XP,styles:YP};const Lwr=Object.freeze(Object.defineProperty({__proto__:null,diagram:_wr},Symbol.toStringTag,{value:"Module"}));var Iwr=mne().RailroadEbnf.parser.LangiumParser,i9=w(t=>{const e=t.alternatives.map(Nwr);return e.length===1?e[0]:{type:"choice",alternatives:e}},"transformChoice"),Nwr=w(t=>{const e=t.elements.map(Owr);return e.length===1?e[0]:{type:"sequence",elements:e}},"transformSequence"),DYe=w(t=>{switch(t.$type){case"EbnfTerminal":return{type:"terminal",value:t.value};case"EbnfNonTerminal":return{type:"nonterminal",name:t.name};case"EbnfSpecial":return{type:"special",text:t.text};case"EbnfGroup":return i9(t.element);case"EbnfOptional":return{type:"optional",element:i9(t.element)};case"EbnfRepetition":return{type:"repetition",element:i9(t.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${t.$type}`)}},"transformPrimary"),Dwr=w((t,e)=>{switch(e.$type){case"EbnfOptionalPostfix":return{type:"optional",element:t};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:t,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:t,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[t,{type:"terminal",value:"-"},DYe(e.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${e.$type}`)}},"transformPostfix"),Owr=w(t=>t.postfixes.reduce((e,r)=>Dwr(e,r),DYe(t.base)),"transformTerm"),Pwr=w(t=>({name:t.name,definition:i9(t.definition)}),"transformRule"),$wr=w(t=>{Gl(t,Qi),t.title&&Qi.setTitle(t.title),t.rules.map(e=>Qi.addRule(Pwr(e)))},"populateDb"),Bwr={parse:w(t=>{Qi.clear(),de.debug("[EBNF Parser] Starting Langium parse");const e=Iwr.parse(t);if(e.lexerErrors.length>0||e.parserErrors.length>0)throw new e7(e);const r=e.value;de.debug("[EBNF Parser] Parsed rules:",r.rules.length),$wr(r),de.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:Qi}},Fwr={parser:Bwr,db:Qi,renderer:XP,styles:YP};const zwr=Object.freeze(Object.defineProperty({__proto__:null,diagram:Fwr},Symbol.toStringTag,{value:"Module"}));var Vwr=yne().RailroadAbnf.parser.LangiumParser,aX=w(t=>{const e=t.alternatives.map(Hwr);return e.length===1?e[0]:{type:"choice",alternatives:e}},"transformAlternation"),Hwr=w(t=>{const e=t.elements.map(Wwr);return e.length===1?e[0]:{type:"sequence",elements:e}},"transformConcatenation"),Gwr=w(t=>{if(t.includes("*")){const[r,n]=t.split("*"),i=r?parseInt(r,10):0,s=n?parseInt(n,10):1/0;return{min:i,max:s}}const e=parseInt(t,10);return{min:e,max:e}},"parseRepeat"),Wwr=w(t=>{const e=qwr(t.primary);if(!t.repeat)return e;const{min:r,max:n}=Gwr(t.repeat);return r===0&&n===1?{type:"optional",element:e}:{type:"repetition",element:e,min:r,max:n}},"transformElement"),qwr=w(t=>{switch(t.$type){case"AbnfStringLiteral":return{type:"terminal",value:t.value};case"AbnfNumVal":return{type:"terminal",value:t.value};case"AbnfRuleName":return{type:"nonterminal",name:t.name};case"AbnfGroup":return aX(t.element);case"AbnfOptionalGroup":return{type:"optional",element:aX(t.element)};default:throw new Error(`Unsupported ABNF primary node: ${t.$type}`)}},"transformPrimary"),Uwr=w(t=>({name:t.name,definition:aX(t.definition)}),"transformRule"),jwr=w(t=>{Gl(t,Qi),t.title&&Qi.setTitle(t.title),t.rules.map(e=>Qi.addRule(Uwr(e)))},"populateDb"),Ywr={parse:w(t=>{Qi.clear(),de.debug("[ABNF Parser] Starting Langium parse");const e=Vwr.parse(t);if(e.lexerErrors.length>0||e.parserErrors.length>0)throw new e7(e);const r=e.value;de.debug("[ABNF Parser] Parsed rules:",r.rules.length),jwr(r),de.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:Qi}},Xwr={parser:Ywr,db:Qi,renderer:XP,styles:YP};const Kwr=Object.freeze(Object.defineProperty({__proto__:null,diagram:Xwr},Symbol.toStringTag,{value:"Module"}));var Zwr=vne().RailroadPeg.parser.LangiumParser,OYe=w(t=>{const e=t.alternatives.map(Qwr);return e.length===1?e[0]:{type:"choice",alternatives:e}},"transformOrderedChoice"),Qwr=w(t=>{const e=t.elements.map(Jwr);return e.length===1?e[0]:{type:"sequence",elements:e}},"transformSequence"),Jwr=w(t=>{const e=e4r(t.suffix);return t.operator?{type:"special",text:t.operator==="&"?`&${cve(e)}`:`!${cve(e)}`}:e},"transformPrefix"),cve=w(t=>{switch(t.type){case"terminal":return`"${t.value}"`;case"nonterminal":return t.name;case"special":return t.text;default:return"(...)"}},"nodeToLabel"),e4r=w(t=>{const e=t4r(t.primary);if(!t.operator)return e;switch(t.operator){case"?":return{type:"optional",element:e};case"*":return{type:"repetition",element:e,min:0,max:1/0};case"+":return{type:"repetition",element:e,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${t.operator}`)}},"transformSuffix"),t4r=w(t=>{switch(t.$type){case"PegLiteral":return{type:"terminal",value:t.value};case"PegIdentifier":return{type:"nonterminal",name:t.name};case"PegGroup":return OYe(t.element);case"PegAny":return{type:"special",text:t.dot};default:throw new Error(`Unsupported PEG primary node: ${t.$type}`)}},"transformPrimary"),r4r=w(t=>({name:t.name,definition:OYe(t.definition)}),"transformRule"),n4r=w(t=>{Gl(t,Qi),t.title&&Qi.setTitle(t.title),t.rules.map(e=>Qi.addRule(r4r(e)))},"populateDb"),i4r={parse:w(t=>{Qi.clear(),de.debug("[PEG Parser] Starting Langium parse");const e=Zwr.parse(t);if(e.lexerErrors.length>0||e.parserErrors.length>0)throw new e7(e);const r=e.value;de.debug("[PEG Parser] Parsed rules:",r.rules.length),n4r(r),de.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:Qi}},s4r={parser:i4r,db:Qi,renderer:XP,styles:YP};const a4r=Object.freeze(Object.defineProperty({__proto__:null,diagram:s4r},Symbol.toStringTag,{value:"Module"}));var o4r=1;function bie(){if(!(typeof globalThis>"u"))return globalThis}w(bie,"getCaptureGlobal");function PYe(){var t;return!!((t=bie())!=null&&t.mermaidCaptureSizes)}w(PYe,"shouldCaptureSizes");function $Ye(){return typeof location>"u"?"browser-dev":`${location.pathname}${location.search}`}w($Ye,"capturedFromLocation");function BYe(t,e){const r=bie();if(!r)return;const n=e.node(),i=(n&&"ownerSVGElement"in n?n.ownerSVGElement:null)??n,s=(i==null?void 0:i.id)??"(unknown)";r.mermaidCapturedSizes??(r.mermaidCapturedSizes=[]);const a={svgId:s,sizes:t};r.mermaidCapturedSizes.push(a),r.mermaidLastCapturedSizes=a}w(BYe,"emitCapturedSizes");function FYe(t,e){const r=[];for(const n of e.nodes)n.isGroup||r.push({id:n.id,width:n.width??0,height:n.height??0});r.length!==0&&BYe({metadata:{captureVersion:o4r,capturedAt:new Date().toISOString(),capturedFrom:$Ye()},nodes:r},t)}w(FYe,"captureNodeSizes");const l4r=Object.freeze(Object.defineProperty({__proto__:null,captureNodeSizes:FYe,shouldCaptureSizes:PYe},Symbol.toStringTag,{value:"Module"})),c4r=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:JGe,createInfoServices:eWe},Symbol.toStringTag,{value:"Module"})),u4r=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:tWe,createPacketServices:rWe},Symbol.toStringTag,{value:"Module"})),h4r=Object.freeze(Object.defineProperty({__proto__:null,PieModule:nWe,createPieServices:iWe},Symbol.toStringTag,{value:"Module"})),d4r=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:sWe,createTreeViewServices:aWe},Symbol.toStringTag,{value:"Module"})),f4r=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:oWe,createArchitectureServices:lWe},Symbol.toStringTag,{value:"Module"})),p4r=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:ZGe,createGitGraphServices:QGe},Symbol.toStringTag,{value:"Module"})),g4r=Object.freeze(Object.defineProperty({__proto__:null,EventModelingModule:uWe,createEventModelingServices:hWe},Symbol.toStringTag,{value:"Module"})),m4r=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:BGe,createRadarServices:FGe},Symbol.toStringTag,{value:"Module"})),y4r=Object.freeze(Object.defineProperty({__proto__:null,RailroadModule:zGe,createRailroadServices:gne},Symbol.toStringTag,{value:"Module"})),v4r=Object.freeze(Object.defineProperty({__proto__:null,RailroadEbnfModule:VGe,createRailroadEbnfServices:mne},Symbol.toStringTag,{value:"Module"})),b4r=Object.freeze(Object.defineProperty({__proto__:null,RailroadAbnfModule:HGe,createRailroadAbnfServices:yne},Symbol.toStringTag,{value:"Module"})),x4r=Object.freeze(Object.defineProperty({__proto__:null,RailroadPegModule:GGe,createRailroadPegServices:vne},Symbol.toStringTag,{value:"Module"})),w4r=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:qGe,createTreemapServices:UGe},Symbol.toStringTag,{value:"Module"})),T4r=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:jGe,createWardleyServices:YGe},Symbol.toStringTag,{value:"Module"})),C4r=Object.freeze(Object.defineProperty({__proto__:null,CynefinModule:XGe,createCynefinServices:KGe},Symbol.toStringTag,{value:"Module"})); diff --git a/apps/ios/EditorBundle/index.html b/apps/ios/EditorBundle/index.html index 2d814803..825d4d8b 100644 --- a/apps/ios/EditorBundle/index.html +++ b/apps/ios/EditorBundle/index.html @@ -7,14 +7,14 @@ content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> EdgeEver Editor - +`},"getStyles"),LT,au=(LT=class{constructor(){this.d=""}moveTo(e,r){return this.d+=`M ${e} ${r} `,this}lineTo(e,r){return this.d+=`L ${e} ${r} `,this}horizontalTo(e){return this.d+=`H ${e} `,this}verticalTo(e){return this.d+=`V ${e} `,this}arcTo(e,r,n,i,s,a,o){return this.d+=`A ${e} ${r} ${n} ${i?1:0} ${s?1:0} ${a} ${o} `,this}build(){return this.d.trim()}},w(LT,"PathBuilder"),LT),IT,kwr=(IT=class{constructor(e,r=vie()){this.textCache=new Map,this.svg=e,this.config=r}measureText(e){if(this.textCache.has(e))return this.textCache.get(e);const r=this.svg.append("text").attr("font-family",this.config.fontFamily).attr("font-size",this.config.fontSize).text(e),n=r.node().getBBox(),i={width:n.width,height:n.height};return r.remove(),this.textCache.set(e,i),i}renderTerminal(e,r){const n=this.measureText(r),i=n.width+this.config.padding*2,s=n.height+this.config.padding*2,a=e.append("g").attr("class","railroad-terminal");return a.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",s).attr("rx",10).attr("ry",10),a.append("text").attr("x",i/2).attr("y",s/2).text(r),{element:a.node(),dimensions:{width:i,height:s,up:s/2,down:s/2}}}renderNonTerminal(e,r){const n=this.measureText(r),i=n.width+this.config.padding*2,s=n.height+this.config.padding*2,a=e.append("g").attr("class","railroad-nonterminal");return a.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",s),a.append("text").attr("x",i/2).attr("y",s/2).text(r),{element:a.node(),dimensions:{width:i,height:s,up:s/2,down:s/2}}}renderSequence(e,r){const n=r.map(u=>this.renderExpression(e,u));let i=0,s=0,a=0;for(const u of n)i+=u.dimensions.width,s=Math.max(s,u.dimensions.up),a=Math.max(a,u.dimensions.down);i+=(n.length-1)*this.config.horizontalSeparation;const o=e.append("g").attr("class","railroad-sequence");let l=0;for(let u=0;uthis.renderExpression(e,f));let i=0,s=0;for(const f of n)i=Math.max(i,f.dimensions.width),s+=f.dimensions.height;s+=(n.length-1)*this.config.verticalSeparation;const a=this.config.arcRadius,o=a*4,l=i+o,u=e.append("g").attr("class","railroad-choice");let h=0;const d=s/2;for(const f of n){const p=h,g=p+f.dimensions.up,m=a*2+(i-f.dimensions.width)/2;u.node().appendChild(f.element).setAttribute("transform",`translate(${m}, ${p})`);const v=new au,x=g>d;g===d?v.moveTo(0,d).lineTo(m,g):v.moveTo(0,d).arcTo(a,a,0,!1,x,a,d+(x?a:-a)).lineTo(a,g-(x?a:-a)).arcTo(a,a,0,!1,!x,a*2,g).lineTo(m,g),u.append("path").attr("class","railroad-line").attr("d",v.build());const b=new au,T=m+f.dimensions.width,C=l-a*2;g===d?b.moveTo(T,g).lineTo(l,d):b.moveTo(T,g).lineTo(C,g).arcTo(a,a,0,!1,!x,l-a,g+(x?-a:a)).lineTo(l-a,d+(x?a:-a)).arcTo(a,a,0,!1,x,l,d),u.append("path").attr("class","railroad-line").attr("d",b.build()),h+=f.dimensions.height+this.config.verticalSeparation}return{element:u.node(),dimensions:{width:l,height:s,up:d,down:s-d}}}renderOptional(e,r){const n=this.renderExpression(e,r),i=this.config.arcRadius,s=i*2,a=n.dimensions.width+i*4,o=n.dimensions.height+s,l=e.append("g").attr("class","railroad-optional"),u=i*2,h=s;l.node().appendChild(n.element).setAttribute("transform",`translate(${u}, ${h})`);const f=h+n.dimensions.up,p=new au().moveTo(0,f).lineTo(i*2,f);l.append("path").attr("class","railroad-line").attr("d",p.build());const g=new au().moveTo(u+n.dimensions.width,f).lineTo(a,f);l.append("path").attr("class","railroad-line").attr("d",g.build());const m=new au().moveTo(0,f).arcTo(i,i,0,!1,!1,i,f-i).lineTo(i,i).arcTo(i,i,0,!1,!0,i*2,0).lineTo(a-i*2,0).arcTo(i,i,0,!1,!0,a-i,i).lineTo(a-i,f-i).arcTo(i,i,0,!1,!1,a,f);return l.append("path").attr("class","railroad-line").attr("d",m.build()),{element:l.node(),dimensions:{width:a,height:o,up:f,down:o-f}}}renderRepetition(e,r,n){const i=this.renderExpression(e,r),s=this.config.arcRadius,a=s*2,o=i.dimensions.width+s*4,l=n===0,u=i.dimensions.height+a+(l?a:0),h=e.append("g").attr("class","railroad-repetition"),d=s*2,f=l?a:0;h.node().appendChild(i.element).setAttribute("transform",`translate(${d}, ${f})`);const g=f+i.dimensions.up;h.append("path").attr("class","railroad-line").attr("d",new au().moveTo(0,g).lineTo(s*2,g).build()),h.append("path").attr("class","railroad-line").attr("d",new au().moveTo(d+i.dimensions.width,g).lineTo(o,g).build());const m=f+i.dimensions.height+s,y=new au().moveTo(d+i.dimensions.width,g).arcTo(s,s,0,!1,!0,d+i.dimensions.width+s,g+s).lineTo(d+i.dimensions.width+s,m).arcTo(s,s,0,!1,!0,d+i.dimensions.width,m+s).lineTo(s*2,m+s).arcTo(s,s,0,!1,!0,s,m).lineTo(s,g+s).arcTo(s,s,0,!1,!0,s*2,g);if(h.append("path").attr("class","railroad-line").attr("d",y.build()),l){const v=new au().moveTo(0,g).arcTo(s,s,0,!1,!1,s,g-s).lineTo(s,s).arcTo(s,s,0,!1,!0,s*2,0).lineTo(o-s*2,0).arcTo(s,s,0,!1,!0,o-s,s).lineTo(o-s,g-s).arcTo(s,s,0,!1,!1,o,g);h.append("path").attr("class","railroad-line").attr("d",v.build())}return{element:h.node(),dimensions:{width:o,height:u,up:g,down:u-g}}}renderSpecial(e,r){const n=this.measureText("? "+r+" ?"),i=n.width+this.config.padding*2,s=n.height+this.config.padding*2,a=e.append("g").attr("class","railroad-special");return a.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",s),a.append("text").attr("x",i/2).attr("y",s/2).text("? "+r+" ?"),{element:a.node(),dimensions:{width:i,height:s,up:s/2,down:s/2}}}renderExpression(e,r){switch(r.type){case"terminal":return this.renderTerminal(e,r.value);case"nonterminal":return this.renderNonTerminal(e,r.name);case"sequence":return this.renderSequence(e,r.elements);case"choice":return this.renderChoice(e,r.alternatives);case"optional":return this.renderOptional(e,r.element);case"repetition":return this.renderRepetition(e,r.element,r.min);case"special":return this.renderSpecial(e,r.text);default:throw new Error(`Unknown node type: ${r.type}`)}}renderRule(e,r){const n=this.svg.append("g").attr("class","railroad-rule").attr("transform",`translate(0, ${r})`),i=e.name+" =",s=this.measureText(i).width+20,a=s+20,o=n.append("g"),l=this.renderExpression(o,e.definition),u=Math.max(20,l.dimensions.up),h=u-l.dimensions.up;return o.attr("transform",`translate(${a}, ${h})`),n.append("g").attr("class","railroad-rule-name-group").append("text").attr("class","railroad-rule-name").attr("x",0).attr("y",u).text(i),n.append("g").attr("class","railroad-start").append("circle").attr("cx",s).attr("cy",u).attr("r",this.config.markerRadius),n.append("g").attr("class","railroad-end").append("circle").attr("cx",a+l.dimensions.width+10).attr("cy",u).attr("r",this.config.markerRadius),n.append("path").attr("class","railroad-line").attr("d",new au().moveTo(s+this.config.markerRadius,u).lineTo(a,u).build()),n.append("path").attr("class","railroad-line").attr("d",new au().moveTo(a+l.dimensions.width,u).lineTo(a+l.dimensions.width+10-this.config.markerRadius,u).build()),{height:Math.max(40,h+l.dimensions.height+this.config.padding*2),width:a+l.dimensions.width+10+this.config.markerRadius}}renderDiagram(e){let r=this.config.padding,n=0;for(const i of e){const s=this.renderRule(i,r);r+=s.height+this.config.verticalSeparation,n=Math.max(n,s.width)}return{width:n+this.config.padding*2,height:r+this.config.padding}}},w(IT,"RailroadRenderer"),IT),lve=w((t,e,r)=>{Fs(t,e.height,e.width,r),t.attr("viewBox",`0 0 ${e.width} ${e.height}`)},"configureRailroadSvgSize"),Swr=w((t,e,r)=>{de.debug(`[Railroad] Rendering diagram +`+t);try{const n=Ko(e);n.attr("class","railroad-diagram");const i=xr().railroad,s=(i==null?void 0:i.useMaxWidth)??!0,a=Qi.getRules();if(de.debug(`[Railroad] Rendering ${a.length} rules`),a.length===0){de.warn("[Railroad] No rules to render"),lve(n,{height:100,width:200},s);return}const l=new kwr(n,vie()).renderDiagram(a);lve(n,l,s),de.debug("[Railroad] Render complete")}catch(n){throw de.error("[Railroad] Render error:",n),n}},"draw"),XP={draw:Swr},Ewr=gne().Railroad.parser.LangiumParser,j2=w(t=>{switch(t.$type){case"RailroadTerminalExpr":return{type:"terminal",value:t.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:t.name};case"RailroadSpecialExpr":return{type:"special",text:t.text};case"RailroadSequenceExpr":{const e=t.elements.map(j2);return e.length===1?e[0]:{type:"sequence",elements:e}}case"RailroadChoiceExpr":{const e=t.alternatives.map(j2);return e.length===1?e[0]:{type:"choice",alternatives:e}}case"RailroadOptionalExpr":return{type:"optional",element:j2(t.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:j2(t.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:j2(t.element),min:0,max:1/0};default:throw new Error(`Unsupported railroad expression: ${t.$type}`)}},"transformExpression"),Awr=w(t=>({name:t.name,definition:j2(t.definition)}),"transformRule"),Mwr=w(t=>{Gl(t,Qi),t.title&&Qi.setTitle(t.title),t.rules.map(e=>Qi.addRule(Awr(e)))},"populateDb"),Rwr={parse:w(t=>{Qi.clear(),de.debug("[Railroad Parser] Starting Langium parse");const e=Ewr.parse(t);if(e.lexerErrors.length>0||e.parserErrors.length>0)throw new e7(e);const r=e.value;de.debug("[Railroad Parser] Parsed rules:",r.rules.length),Mwr(r),de.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:Qi}},_wr={parser:Rwr,db:Qi,renderer:XP,styles:YP};const Lwr=Object.freeze(Object.defineProperty({__proto__:null,diagram:_wr},Symbol.toStringTag,{value:"Module"}));var Iwr=mne().RailroadEbnf.parser.LangiumParser,i9=w(t=>{const e=t.alternatives.map(Nwr);return e.length===1?e[0]:{type:"choice",alternatives:e}},"transformChoice"),Nwr=w(t=>{const e=t.elements.map(Owr);return e.length===1?e[0]:{type:"sequence",elements:e}},"transformSequence"),DYe=w(t=>{switch(t.$type){case"EbnfTerminal":return{type:"terminal",value:t.value};case"EbnfNonTerminal":return{type:"nonterminal",name:t.name};case"EbnfSpecial":return{type:"special",text:t.text};case"EbnfGroup":return i9(t.element);case"EbnfOptional":return{type:"optional",element:i9(t.element)};case"EbnfRepetition":return{type:"repetition",element:i9(t.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${t.$type}`)}},"transformPrimary"),Dwr=w((t,e)=>{switch(e.$type){case"EbnfOptionalPostfix":return{type:"optional",element:t};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:t,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:t,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[t,{type:"terminal",value:"-"},DYe(e.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${e.$type}`)}},"transformPostfix"),Owr=w(t=>t.postfixes.reduce((e,r)=>Dwr(e,r),DYe(t.base)),"transformTerm"),Pwr=w(t=>({name:t.name,definition:i9(t.definition)}),"transformRule"),$wr=w(t=>{Gl(t,Qi),t.title&&Qi.setTitle(t.title),t.rules.map(e=>Qi.addRule(Pwr(e)))},"populateDb"),Bwr={parse:w(t=>{Qi.clear(),de.debug("[EBNF Parser] Starting Langium parse");const e=Iwr.parse(t);if(e.lexerErrors.length>0||e.parserErrors.length>0)throw new e7(e);const r=e.value;de.debug("[EBNF Parser] Parsed rules:",r.rules.length),$wr(r),de.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:Qi}},Fwr={parser:Bwr,db:Qi,renderer:XP,styles:YP};const zwr=Object.freeze(Object.defineProperty({__proto__:null,diagram:Fwr},Symbol.toStringTag,{value:"Module"}));var Vwr=yne().RailroadAbnf.parser.LangiumParser,aX=w(t=>{const e=t.alternatives.map(Hwr);return e.length===1?e[0]:{type:"choice",alternatives:e}},"transformAlternation"),Hwr=w(t=>{const e=t.elements.map(Wwr);return e.length===1?e[0]:{type:"sequence",elements:e}},"transformConcatenation"),Gwr=w(t=>{if(t.includes("*")){const[r,n]=t.split("*"),i=r?parseInt(r,10):0,s=n?parseInt(n,10):1/0;return{min:i,max:s}}const e=parseInt(t,10);return{min:e,max:e}},"parseRepeat"),Wwr=w(t=>{const e=qwr(t.primary);if(!t.repeat)return e;const{min:r,max:n}=Gwr(t.repeat);return r===0&&n===1?{type:"optional",element:e}:{type:"repetition",element:e,min:r,max:n}},"transformElement"),qwr=w(t=>{switch(t.$type){case"AbnfStringLiteral":return{type:"terminal",value:t.value};case"AbnfNumVal":return{type:"terminal",value:t.value};case"AbnfRuleName":return{type:"nonterminal",name:t.name};case"AbnfGroup":return aX(t.element);case"AbnfOptionalGroup":return{type:"optional",element:aX(t.element)};default:throw new Error(`Unsupported ABNF primary node: ${t.$type}`)}},"transformPrimary"),Uwr=w(t=>({name:t.name,definition:aX(t.definition)}),"transformRule"),jwr=w(t=>{Gl(t,Qi),t.title&&Qi.setTitle(t.title),t.rules.map(e=>Qi.addRule(Uwr(e)))},"populateDb"),Ywr={parse:w(t=>{Qi.clear(),de.debug("[ABNF Parser] Starting Langium parse");const e=Vwr.parse(t);if(e.lexerErrors.length>0||e.parserErrors.length>0)throw new e7(e);const r=e.value;de.debug("[ABNF Parser] Parsed rules:",r.rules.length),jwr(r),de.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:Qi}},Xwr={parser:Ywr,db:Qi,renderer:XP,styles:YP};const Kwr=Object.freeze(Object.defineProperty({__proto__:null,diagram:Xwr},Symbol.toStringTag,{value:"Module"}));var Zwr=vne().RailroadPeg.parser.LangiumParser,OYe=w(t=>{const e=t.alternatives.map(Qwr);return e.length===1?e[0]:{type:"choice",alternatives:e}},"transformOrderedChoice"),Qwr=w(t=>{const e=t.elements.map(Jwr);return e.length===1?e[0]:{type:"sequence",elements:e}},"transformSequence"),Jwr=w(t=>{const e=e4r(t.suffix);return t.operator?{type:"special",text:t.operator==="&"?`&${cve(e)}`:`!${cve(e)}`}:e},"transformPrefix"),cve=w(t=>{switch(t.type){case"terminal":return`"${t.value}"`;case"nonterminal":return t.name;case"special":return t.text;default:return"(...)"}},"nodeToLabel"),e4r=w(t=>{const e=t4r(t.primary);if(!t.operator)return e;switch(t.operator){case"?":return{type:"optional",element:e};case"*":return{type:"repetition",element:e,min:0,max:1/0};case"+":return{type:"repetition",element:e,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${t.operator}`)}},"transformSuffix"),t4r=w(t=>{switch(t.$type){case"PegLiteral":return{type:"terminal",value:t.value};case"PegIdentifier":return{type:"nonterminal",name:t.name};case"PegGroup":return OYe(t.element);case"PegAny":return{type:"special",text:t.dot};default:throw new Error(`Unsupported PEG primary node: ${t.$type}`)}},"transformPrimary"),r4r=w(t=>({name:t.name,definition:OYe(t.definition)}),"transformRule"),n4r=w(t=>{Gl(t,Qi),t.title&&Qi.setTitle(t.title),t.rules.map(e=>Qi.addRule(r4r(e)))},"populateDb"),i4r={parse:w(t=>{Qi.clear(),de.debug("[PEG Parser] Starting Langium parse");const e=Zwr.parse(t);if(e.lexerErrors.length>0||e.parserErrors.length>0)throw new e7(e);const r=e.value;de.debug("[PEG Parser] Parsed rules:",r.rules.length),n4r(r),de.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:Qi}},s4r={parser:i4r,db:Qi,renderer:XP,styles:YP};const a4r=Object.freeze(Object.defineProperty({__proto__:null,diagram:s4r},Symbol.toStringTag,{value:"Module"}));var o4r=1;function bie(){if(!(typeof globalThis>"u"))return globalThis}w(bie,"getCaptureGlobal");function PYe(){var t;return!!((t=bie())!=null&&t.mermaidCaptureSizes)}w(PYe,"shouldCaptureSizes");function $Ye(){return typeof location>"u"?"browser-dev":`${location.pathname}${location.search}`}w($Ye,"capturedFromLocation");function BYe(t,e){const r=bie();if(!r)return;const n=e.node(),i=(n&&"ownerSVGElement"in n?n.ownerSVGElement:null)??n,s=(i==null?void 0:i.id)??"(unknown)";r.mermaidCapturedSizes??(r.mermaidCapturedSizes=[]);const a={svgId:s,sizes:t};r.mermaidCapturedSizes.push(a),r.mermaidLastCapturedSizes=a}w(BYe,"emitCapturedSizes");function FYe(t,e){const r=[];for(const n of e.nodes)n.isGroup||r.push({id:n.id,width:n.width??0,height:n.height??0});r.length!==0&&BYe({metadata:{captureVersion:o4r,capturedAt:new Date().toISOString(),capturedFrom:$Ye()},nodes:r},t)}w(FYe,"captureNodeSizes");const l4r=Object.freeze(Object.defineProperty({__proto__:null,captureNodeSizes:FYe,shouldCaptureSizes:PYe},Symbol.toStringTag,{value:"Module"})),c4r=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:JGe,createInfoServices:eWe},Symbol.toStringTag,{value:"Module"})),u4r=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:tWe,createPacketServices:rWe},Symbol.toStringTag,{value:"Module"})),h4r=Object.freeze(Object.defineProperty({__proto__:null,PieModule:nWe,createPieServices:iWe},Symbol.toStringTag,{value:"Module"})),d4r=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:sWe,createTreeViewServices:aWe},Symbol.toStringTag,{value:"Module"})),f4r=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:oWe,createArchitectureServices:lWe},Symbol.toStringTag,{value:"Module"})),p4r=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:ZGe,createGitGraphServices:QGe},Symbol.toStringTag,{value:"Module"})),g4r=Object.freeze(Object.defineProperty({__proto__:null,EventModelingModule:uWe,createEventModelingServices:hWe},Symbol.toStringTag,{value:"Module"})),m4r=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:BGe,createRadarServices:FGe},Symbol.toStringTag,{value:"Module"})),y4r=Object.freeze(Object.defineProperty({__proto__:null,RailroadModule:zGe,createRailroadServices:gne},Symbol.toStringTag,{value:"Module"})),v4r=Object.freeze(Object.defineProperty({__proto__:null,RailroadEbnfModule:VGe,createRailroadEbnfServices:mne},Symbol.toStringTag,{value:"Module"})),b4r=Object.freeze(Object.defineProperty({__proto__:null,RailroadAbnfModule:HGe,createRailroadAbnfServices:yne},Symbol.toStringTag,{value:"Module"})),x4r=Object.freeze(Object.defineProperty({__proto__:null,RailroadPegModule:GGe,createRailroadPegServices:vne},Symbol.toStringTag,{value:"Module"})),w4r=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:qGe,createTreemapServices:UGe},Symbol.toStringTag,{value:"Module"})),T4r=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:jGe,createWardleyServices:YGe},Symbol.toStringTag,{value:"Module"})),C4r=Object.freeze(Object.defineProperty({__proto__:null,CynefinModule:XGe,createCynefinServices:KGe},Symbol.toStringTag,{value:"Module"})); diff --git a/apps/ios/EditorSource/src/main.ts b/apps/ios/EditorSource/src/main.ts index 0379d579..1bffd9c0 100644 --- a/apps/ios/EditorSource/src/main.ts +++ b/apps/ios/EditorSource/src/main.ts @@ -1235,8 +1235,8 @@ async function exportNoteImage(request: ImageExportRequest) { const resolvedTheme = resolveTheme(request.background, request.theme); const fontStyle = request.fontStyle ?? "serif"; const fontSize = request.fontSize ?? "lg"; - const cardWidth = request.cardWidth ?? "standard"; - const targetWidth = NOTE_IMAGE_CARD_WIDTH_PIXELS[cardWidth] || 680; + const cardWidth = request.cardWidth ?? "wide"; + const targetWidth = NOTE_IMAGE_CARD_WIDTH_PIXELS[cardWidth] || NOTE_IMAGE_CARD_WIDTH_PIXELS.wide; const themeCfg = NOTE_IMAGE_THEMES[resolvedTheme] || NOTE_IMAGE_THEMES.aurora; const editorClone = editor.view.dom.cloneNode(true) as HTMLElement; diff --git a/apps/mobile/src/components/LocalTiptapEditor.tsx b/apps/mobile/src/components/LocalTiptapEditor.tsx index 44c07ccd..a33b88cf 100644 --- a/apps/mobile/src/components/LocalTiptapEditor.tsx +++ b/apps/mobile/src/components/LocalTiptapEditor.tsx @@ -1252,8 +1252,8 @@ function LocalTiptapEditorImpl(props: LocalTiptapEditorProps) { const resolvedTheme = resolveTheme(request.background, request.theme); const fontStyle = request.fontStyle ?? "serif"; const fontSize = request.fontSize ?? "lg"; - const cardWidth = request.cardWidth ?? "standard"; - const targetWidth = NOTE_IMAGE_CARD_WIDTH_PIXELS[cardWidth] || 680; + const cardWidth = request.cardWidth ?? "wide"; + const targetWidth = NOTE_IMAGE_CARD_WIDTH_PIXELS[cardWidth] || NOTE_IMAGE_CARD_WIDTH_PIXELS.wide; const themeCfg = NOTE_IMAGE_THEMES[resolvedTheme] || NOTE_IMAGE_THEMES.aurora; const editorClone = editor.view.dom.cloneNode(true) as HTMLElement; diff --git a/apps/mobile/src/screens/WorkspaceMemoDetail.tsx b/apps/mobile/src/screens/WorkspaceMemoDetail.tsx index 2afd3bf7..75594e21 100644 --- a/apps/mobile/src/screens/WorkspaceMemoDetail.tsx +++ b/apps/mobile/src/screens/WorkspaceMemoDetail.tsx @@ -510,7 +510,7 @@ export const MemoDetailModal = ({ const [imageShareTheme, setImageShareTheme] = useState("aurora"); const [imageShareFontStyle, setImageShareFontStyle] = useState("serif"); const [imageShareFontSize, setImageShareFontSize] = useState("lg"); - const [imageShareCardWidth, setImageShareCardWidth] = useState("standard"); + const [imageShareCardWidth, setImageShareCardWidth] = useState("wide"); const [imageShareTitle, setImageShareTitle] = useState(true); const [imageShareNotebook, setImageShareNotebook] = useState(false); const [imageShareTags, setImageShareTags] = useState(false); @@ -971,7 +971,7 @@ export const MemoDetailModal = ({ theme: options.theme ?? "aurora", fontStyle: options.fontStyle ?? "serif", fontSize: options.fontSize ?? "lg", - cardWidth: options.cardWidth ?? "standard", + cardWidth: options.cardWidth ?? "wide", showTitle: options.showTitle ?? true, showNotebook: options.showNotebook ?? false, showTags: options.showTags ?? false, diff --git a/apps/web/src/components/dialogs/ShareNoteImageDialog.tsx b/apps/web/src/components/dialogs/ShareNoteImageDialog.tsx index 612434a0..e6914ae8 100644 --- a/apps/web/src/components/dialogs/ShareNoteImageDialog.tsx +++ b/apps/web/src/components/dialogs/ShareNoteImageDialog.tsx @@ -76,7 +76,7 @@ export const ShareNoteImageDialog = ({ const [theme, setTheme] = useState("aurora"); const [fontStyle, setFontStyle] = useState("serif"); const [fontSize, setFontSize] = useState("lg"); - const [cardWidth, setCardWidth] = useState("standard"); + const [cardWidth, setCardWidth] = useState("wide"); const [showTitle, setShowTitle] = useState(true); const [showNotebook, setShowNotebook] = useState(false); const [showTags, setShowTags] = useState(false); @@ -95,7 +95,7 @@ export const ShareNoteImageDialog = ({ setTheme("aurora"); setFontStyle("serif"); setFontSize("lg"); - setCardWidth("standard"); + setCardWidth("wide"); setShowTitle(true); setShowNotebook(false); setShowTags(false); diff --git a/apps/web/src/lib/note-image-export.ts b/apps/web/src/lib/note-image-export.ts index 78c81e3d..83ad9441 100644 --- a/apps/web/src/lib/note-image-export.ts +++ b/apps/web/src/lib/note-image-export.ts @@ -131,7 +131,7 @@ export const createNoteImage = async ({ theme, fontStyle = "serif", fontSize = "lg", - cardWidth = "standard", + cardWidth = "wide", showTitle = true, showNotebook = false, showTags = false, @@ -139,7 +139,7 @@ export const createNoteImage = async ({ styles, }: DownloadNoteImageOptions): Promise => { const resolvedTheme = resolveTheme(background, theme); - const targetWidth = NOTE_IMAGE_CARD_WIDTH_PIXELS[cardWidth] || 680; + const targetWidth = NOTE_IMAGE_CARD_WIDTH_PIXELS[cardWidth] || NOTE_IMAGE_CARD_WIDTH_PIXELS.wide; const themeCfg = NOTE_IMAGE_THEMES[resolvedTheme]; const prepared = await prepareNoteBodyHtmlForExport(bodyHtml); diff --git a/packages/shared/src/note-image-card.ts b/packages/shared/src/note-image-card.ts index 88ed6166..75888d10 100644 --- a/packages/shared/src/note-image-card.ts +++ b/packages/shared/src/note-image-card.ts @@ -445,7 +445,7 @@ export const generateCardCss = ({ theme = "aurora", fontStyle = "serif", fontSize = "lg", - cardWidth = "standard", + cardWidth = "wide", }: { theme: NoteImageTheme; fontStyle: NoteImageFontStyle; @@ -455,7 +455,7 @@ export const generateCardCss = ({ const themeCfg = NOTE_IMAGE_THEMES[theme] || NOTE_IMAGE_THEMES.aurora; const fontFam = NOTE_IMAGE_FONT_FAMILIES[fontStyle] || NOTE_IMAGE_FONT_FAMILIES.sans; const sizeCfg = NOTE_IMAGE_FONT_SIZES[fontSize] || NOTE_IMAGE_FONT_SIZES.md; - const widthPx = NOTE_IMAGE_CARD_WIDTH_PIXELS[cardWidth] || 680; + const widthPx = NOTE_IMAGE_CARD_WIDTH_PIXELS[cardWidth] || NOTE_IMAGE_CARD_WIDTH_PIXELS.wide; return ` :root {