PageSourceSearch

https://fileverse.io/assets/entries/src_pages_fanfic.Df1lV8R8.js

js fileverse.io collected 2026-10-03 22:16:34 UTC 17,596 bytes, 26 lines download raw bytes

1import{c as o,j as e,E as s,b as i,C as d,i as c,a as x,o as p}from"../chunks/chunk-Dd7qdbXP.js";import{E as m,G as h,C as a,D as f,a as u,b as y,c as g,d as b,e as w}from"../chunks/chunk-CHcR05jp.js";import{A as v,a as j,b as k,c as N,d as A}from"../chunks/chunk-CYDhpEWI.js";import"../chunks/chunk-De97nvTk.js";/* empty css                      *//**
2 * @license lucide-react v1.21.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const D=[["path",{d:"M20 5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h2.5a1.5 1.5 0 0 1 1.2.6l.6.8a1.5 1.5 0 0 0 1.2.6z",key:"a4852j"}],["path",{d:"M3 8.268a2 2 0 0 0-1 1.738V19a2 2 0 0 0 2 2h11a2 2 0 0 0 1.732-1",key:"yxbcw3"}]],T=o("folders",D);/**
7 * @license lucide-react v1.21.0 - ISC
8 *
9 * This source code is licensed under the ISC license.
10 * See the LICENSE file in the root directory of this source tree.
11 */const S=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],I=o("history",S);/**
12 * @license lucide-react v1.21.0 - ISC
13 *
14 * This source code is licensed under the ISC license.
15 * See the LICENSE file in the root directory of this source tree.
16 */const z=[["path",{d:"M21 5H11",key:"us1j55"}],["path",{d:"M21 12H11",key:"wd7e0v"}],["path",{d:"M21 19H11",key:"saa85w"}],["path",{d:"m3 8 4 4-4 4",key:"1a3j6y"}]],_=o("list-indent-increase",z);/**
17 * @license lucide-react v1.21.0 - ISC
18 *
19 * This source code is licensed under the ISC license.
20 * See the LICENSE file in the root directory of this source tree.
21 */const C=[["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["path",{d:"M7.828 13.07A3 3 0 0 1 12 8.764a3 3 0 0 1 4.172 4.306l-3.447 3.62a1 1 0 0 1-1.449 0z",key:"1ak1ef"}]],P=o("scan-heart",C);/**
22 * @license lucide-react v1.21.0 - ISC
23 *
24 * This source code is licensed under the ISC license.
25 * See the LICENSE file in the root directory of this source tree.
26 */const E=[["path",{d:"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6",key:"y09zxi"}],["path",{d:"m21 3-9 9",key:"mpx6sq"}],["path",{d:"M15 3h6v6",key:"1q9fwt"}]],M=o("square-arrow-out-up-right",E),L="/assets/fanfic-editor-preview-desktop.webp",q="/assets/fanfic-editor-preview-tab.webp",H="/assets/fanfic-editor-preview-mobile.webp",F=()=>e.jsx(m,{src:"/embed/editor?doc=fanfic",title:"Interactive dDocs editor",alt:"A fanfiction draft open in the dDocs end-to-end encrypted editor with real-time collaboration",previewDesktop:L,previewTab:q,previewMobile:H,className:"rounded-[10px] border border-[#e8ebec] shadow-[0px_8px_32px_0px_rgba(0,0,0,0.15)] max-w-[1312px] max-h-[900px] h-[80svh] mx-auto"}),O=()=>e.jsxs("section",{className:"px-4 md:px-8 lg:px-16 py-6 md:py-12",children:[e.jsx("header",{className:"flex justify-start text-left md:text-center md:justify-center",children:e.jsx("h1",{className:"max-w-[37.75rem] text-[2.5rem] md:text-5xl xl:text-[4rem] leading-tight md:tracking-[-1.44px] xl:tracking-[-1.92px] font-normal text-default [leading-trim:both] [text-edge:cap]",children:"Write fanfiction freely & privately"})}),e.jsxs("div",{className:"mt-6 md:mt-10 xl:mt-12",children:[e.jsxs("p",{className:"max-w-[360px] md:mx-auto text-[18px] leading-[28px] text-default text-left md:text-center",children:["A safe, collaborative space for your fics. ",e.jsx("br",{}),"Without data mining or intrusive AI."]}),e.jsx("div",{className:"flex justify-center mt-8",children:e.jsxs("a",{href:"https://ddocs.new",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center gap-3 min-h-[40px] min-w-[80px] px-5 py-2 rounded bg-black text-white text-sm font-medium",children:["Start writing",e.jsx(s,{className:"w-4 h-4"})]})})]}),e.jsx("div",{className:"mt-10 xl:mt-12",children:e.jsx(F,{})}),e.jsxs("p",{className:"text-base leading-6 text-[#77818a] text-center text-balance mt-10 xl:mt-12",children:["Just type"," ",e.jsx("a",{href:"https://d
26docs.new",target:"_blank",rel:"noopener noreferrer",className:"text-[#5c0aff]",children:"ddocs.new"})," ","in your browser to get started 💛"]})]}),R="/assets/fanfic-why-desktop.webp",U="/assets/fanfic-why-tab.webp",W="/assets/fanfic-why-mobile.webp",V=[{title:"Ideal for fanfiction",body:e.jsx(e.Fragment,{children:"Everything you need to draft and organize your fics: AO3 exports, tabs, offline mode, custom themes, collaboration, cross-device, word count, and folders."})},{title:"Own & control your writing",body:e.jsx(e.Fragment,{children:"Your content is fully end-to-end encrypted, and you can always recover it independently of Fileverse. No censorship!"})},{title:"No AI here",body:e.jsx(e.Fragment,{children:"dDocs was crafted to nurture creative freedom & human agency. AI features being force-fed everywhere are antithetical to these values. We are committed to keeping dDocs free of AI."})}],Y=()=>e.jsxs("section",{className:"px-4 md:px-8 lg:px-16 py-6 md:py-10 xl:py-12",children:[e.jsx("h2",{className:"text-[36px] leading-[46px] tracking-[-1.08px] md:text-[44px] md:leading-[52px] md:tracking-[-1.32px] xl:leading-[74px] font-normal text-default text-center",children:"A better home for your stories"}),e.jsx("div",{className:"mt-12 md:mt-16 xl:mt-24",children:e.jsxs("picture",{children:[e.jsx("source",{media:"(min-width: 1280px)",srcSet:R}),e.jsx("source",{media:"(min-width: 768px)",srcSet:U}),e.jsx("img",{src:W,alt:"A fanfiction draft open on laptop and mobile with collaborative comments",className:"block w-full max-w-[1096px] mx-auto h-auto"})]})}),e.jsx("div",{className:"mt-8 md:mt-10 xl:mt-12 flex flex-col gap-8 lg:flex-row xl:gap-8",children:V.map(t=>e.jsxs("div",{className:"flex flex-col gap-5 xl:flex-1",children:[e.jsx("h3",{className:"text-[20px] leading-[28px] font-bold text-default",children:t.title}),e.jsx("p",{className:"text-base leading-6 text-[#77818a]",children:t.body})]},t.title))})]}),B="/assets/fanfic-kit-collab.webp",G="/assets/fanfic-kit-themes.webp",$="/assets/fanfic-kit-devices.webp",J=[{id:"ao3",kind:"icon",icon:M,iconLabel:"Icon for AO3 export",title:"AO3 Export",body:"Export your fics in AO3-ready HTML. Formatting carries over cleanly."},{id:"offline",kind:"icon",icon:h,iconLabel:"Icon for offline mode",title:"Offline Mode",body:"No WiFi? No problem. Continue writing and even open old documents without an Internet connection."},{id:"collab",kind:"image",desktopVertical:!0,image:B,imageAlt:"Co-authors leaving comments and editing a fic together in real time",title:"Async & Real-Time Collaboration",body:"Collaborate with co-authors & beta readers. Chat, comment, & suggest edits together."},{id:"tabs",kind:"icon",icon:_,iconLabel:"Icon for tabs",title:"Tabs",body:"Split your fic into tabs (chapters, POVs, or scenes) all in one doc."},{id:"version",kind:"icon",icon:I,iconLabel:"Icon for version history",title:"Version History",body:"Track changes, revisit earlier drafts, and restore previous versions."},{id:"themes",kind:"image",desktopVertical:!0,image:G,imageAlt:"A fic shown in several custom colour themes",title:"Custom Themes",body:"Pick a look that fits your writing mood and aesthetics with customisable themes."},{id:"folders",kind:"icon",icon:T,iconLabel:"Icon for folders",title:"Folders",body:"Group your fics, notes, and drafts into shareable project folders."},{id:"recovery",kind:"icon",icon:P,iconLabel:"Icon for independent recovery",title:"Independent Recovery",body:"dDocs allows you to ALWAYS recover your data, even if the dDocs app is down."},{id:"devices",kind:"devices",image:$,imageAlt:"dDocs open on both laptop and mobile",title:"Mobile & Desktop",body:"Write and sync your content across any device, without any download needed. Native mobile app coming in 2026."}],r="rounded-2xl md:rounded-3xl xl:rounded-[40px]",l=({feature:t})=>e.jsxs(f,{children:[e.jsx(u,{asChild:!0,children:e.jsx(a.InfoButton,{className:"shrink-0 self-end"})}),e.jsxs(y,{className:"px-6 py-5 rounded-2xl w-[92vw]",children:[e.jsx(g,{}),e.jsx(b,{className:"text-2xl font-bold",children:t.title}),e.jsx(w,{className:"text-base",children:t.body})]})]}),K=({feature:t})=>e.jsxs(a,{className:i(r,"p-5 xl:p-8 max-md:flex-col-reverse justify-between"),style:{gridArea:t.id},"data-item":t.id,children:[e.jsxs("div",{className:"flex flex-col gap-5 max-md:mb-0 mb-5",children:[e.jsxs("div",{className:"flex justify-between gap-2",children:[e.jsx(a.Title,{children:t.title}),e.jsx(l,{feature:t})]}),e.jsx(a.Body,{children:t.body})]}),e.jsx(a.Icon,{icon:t.icon,label:t.iconLabel,className:"size-10 xl:size-[53px]"})]}),Q=({feature:t})=>e.jsxs(a,{className:i(r,"group",t.desktopVertical?"flex-col md:flex-row xl:flex-col":"flex-col md:flex-row"),style:{gridArea:t.id},"data-item":t.id,children:[e.jsxs("div",{className:i("flex flex-col gap-5 shrink-0 p-5 xl:p-8",t.desktopVertical?"md:w-[260px] xl:w-full":"md:w-[285px]"),children:[e.jsxs("div",{className:"flex justify-between gap-2",children:[e.jsx(a.Title,{children:t.title}),e.jsx(l,{feature:t})]}),e.jsx(a.Body,{children:t.body})]}),e.jsx("figure",{className:"relative grow overflow-hidden min-h-[150px]",children:e.jsx(a.Image,{src:t.image,alt:t.imageAlt??"",className:"absolute inset-0 h-full w-full object-top"})})]}),X=()=>e.jsxs("section",{className:"py-10 md:py-12 xl:py-16",children:[e.jsx("h2",{className:"px-4 md:px-8 lg:px-16 text-center font-normal text-default text-[36px] leading-[46px] tracking-[-1.08px] md:text-[44px] md:leading-[52px] md:tracking-[-1.32px] xl:leading-[74px]",children:"Your Writing Kit"}),e.jsx("div",{className:"mt-10 xl:mt-14 px-4 md:px-8 lg:px-16 max-md:pr-0 overflow-clip transform-gpu",children:e.jsx("div",{className:"kit-bento mx-auto max-w-[1312px] max-md:pr-4 max-md:max-w-max max-md:overflow-x-auto overscroll-x-contain",children:J.map(t=>t.kind==="icon"?e.jsx(K,{feature:t},t.id):e.jsx(Q,{feature:t},t.id))})})]}),Z=[{emoji:"🍓",lead:"Privacy",tail:"by default",body:"the platform cannot see what you write",href:"https://github.com/fileverse/fileverse-cryptography"},{emoji:"🫐",lead:"Sovereignty",tail:"by design",body:"your content is always yours and recoverable",href:"https://walkaway.fileverse.io/"},{emoji:"🥝",lead:"Transparency",tail:"by code",body:"open source and publicly auditable",href:"https://github.com/fileverse"},{emoji:"🍋",lead:"Accessibility",tail:"by choice",body:"use it on any device, offline, and even without an account"}],ee=({pillar:t})=>e.jsxs("div",{className:i("relative flex flex-col gap-5 md:gap-8 overflow-hidden rounded-3xl md:rounded-[40px] border border-[#e8ebec] bg-white p-5 md:p-8 md:px-6 min-h-[187px] md:min-
26h-[228px]",t.href&&"cursor-pointer"),children:[e.jsxs("h3",{className:"font-bold text-default text-[24px] leading-8 xl:text-[32px] xl:leading-10",children:[e.jsx("span",{className:"text-[32px] xl:text-[40px]",children:t.emoji})," ",t.lead,e.jsx("br",{}),t.tail]}),e.jsx("p",{className:"text-default text-base leading-6 md:text-lg md:leading-7",children:t.body}),t.href&&e.jsx("a",{href:t.href,target:"_blank",rel:"noopener noreferrer","aria-label":`${t.lead} ${t.tail}`,className:"absolute inset-0",children:e.jsx(s,{className:"absolute right-5 top-5 size-5 text-[#77818a]","aria-hidden":!0})})]}),te=()=>e.jsxs("section",{className:"px-4 md:px-8 lg:px-16 py-10 md:py-12 xl:py-16",children:[e.jsx("h2",{className:"text-center font-normal text-default text-[36px] leading-[46px] tracking-[-1.08px] md:text-[44px] md:leading-[52px] md:tracking-[-1.32px] xl:leading-[74px]",children:"Own your words"}),e.jsx("div",{className:"mt-10 xl:mt-14 mx-auto grid max-w-[1312px] grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-4 xl:gap-4",children:Z.map(t=>e.jsx(ee,{pillar:t},t.lead))})]}),n=[{question:"Is dDocs AI-free?",answer:e.jsx("p",{children:"dDocs is AI-free by default, you don't need to opt out of anything. Your documents are end-to-end encrypted and by design cannot be used for AI training."})},{question:"Does dDocs work offline?",answer:e.jsx("p",{children:"Try typing ddocs.new without internet, it works! Write, edit, and access your docs without wifi. Edits save locally and sync automatically when you're back online."})},{question:"Can I collaborate with co-authors and beta readers?",answer:e.jsx("p",{children:"You can share docs privately, leave comments, chat, use suggestion mode, and co-write in real-time. Everything stays end-to-end encrypted. Your collaborators can join without creating an account."})},{question:"Is dDocs free?",answer:e.jsx("p",{children:"dDocs is currently in public beta and free for everyone! Just type ddocs.new in your browser and start writing. You don't even need an account to get started."})},{question:"How is dDocs different from Google Docs?",answer:e.jsxs("p",{children:["Google Docs is not end-to-end encrypted. Google can technically read your documents, and its automated content moderation has locked writers out of their own accounts without warning. ",e.jsx("br",{}),e.jsx("br",{}),e.jsx("a",{className:"no-underline text-blue-500",href:"/ddocs",target:"_blank",rel:"noopener noreferrer",children:"dDocs"})," ","is a private Google Docs alternative for fanfiction writers. Your content is encrypted before it leaves your device, not even the platform can read it. There is no content moderation, no AI training on your writing, and no risk of losing access to your work."]})},{question:"What happens to my fics if dDocs goes down?",answer:e.jsxs("p",{children:["You can recover all your documents independently of Fileverse at any time via the"," ",e.jsx("a",{href:"https://walkaway.fileverse.io/",target:"_blank",className:"no-underline text-blue-500",children:"Walkaway page"}),". Your writing remains accessible even if dDocs is down."]})},{question:"Can dDocs censor my writing?",answer:e.jsx("p",{children:"dDocs does not moderate content. Your documents are end-to-end encrypted, which means even the platform cannot read what you write. Write whatever you want, whatever genre, whatever theme. Your fics are yours."})},{question:"Can I export my fics to AO3?",answer:e.jsx("p",{children:"dDocs supports AO3-compatible HTML export! Formatting, italics, and structure carry over cleanly."})}],ae=()=>e.jsxs("section",{className:"py-10 md:py-12 xl:py-12",children:[e.jsx("h2",{className:"px-4 text-center font-normal text-default text-[36px] leading-[46px] tracking-[-1.08px] md:text-[44px] md:leading-[52px] md:tracking-[-1.32px] xl:leading-[74px]",children:"FAQ"}),e.jsx(v,{className:"mx-auto mt-8 w-full max-w-[965px] px-4 md:px-8 lg:px-16",defaultValue:[n[0].question],hiddenUntilFound:!0,children:n.map(t=>e.jsxs(j,{value:t.question,className:"border-b border-[#e8ebec]",children:[e.jsx(k,{children:e.jsxs(N,{className:"group flex w-full items-center justify-between gap-4 px-4 py-6 text-left focus-visible:outline-1 focus-visible:outline-offset-1",children:[e.jsx("span",{className:"flex-1 text-[18px] leading-6 font-bold text-default",children:t.question}),e.jsx(d,{className:"size-4 shrink-0 text-default transition-transform ease-
26out group-data-[panel-open]:rotate-180"})]})}),e.jsx(A,{className:"h-[var(--accordion-panel-height)] overflow-hidden text-[14px] leading-5 text-default transition-[height] ease-out data-[ending-style]:h-0 data-[starting-style]:h-0",children:e.jsx("div",{className:"flex flex-col gap-4 px-4 pb-6 pt-2",children:t.answer})})]},t.question))})]});function oe(){return e.jsxs("main",{className:"font-['Helvetica_Neue','-apple-system','Roboto','Helvetica','sans-serif']",children:[e.jsx(O,{}),e.jsx(Y,{}),e.jsx(X,{}),e.jsx(te,{}),e.jsx(ae,{})]})}const ie=Object.freeze(Object.defineProperty({__proto__:null,default:oe},Symbol.toStringTag,{value:"Module"})),ce={hasServerOnlyHook:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!1}},isClientRuntimeLoaded:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!0}},onBeforeRenderEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},dataEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},guardEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},onRenderClient:{type:"standard",definedAtData:{filePathToShowToUser:"vike-react/__internal/integration/onRenderClient",fileExportPathToShowToUser:[]},valueSerialized:{type:"pointer-import",value:p}},Page:{type:"standard",definedAtData:{filePathToShowToUser:"/src/pages/fanfic/+Page.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:ie}},hydrationCanBeAborted:{type:"standard",definedAtData:{filePathToShowToUser:"/src/pages/+config.ts",fileExportPathToShowToUser:["default","hydrationCanBeAborted"]},valueSerialized:{type:"js-serialized",value:!0}},Layout:{type:"cumulative",definedAtData:[{filePathToShowToUser:"/src/pages/+Layout.tsx",fileExportPathToShowToUser:[]}],valueSerialized:[{type:"plus-file",exportValues:x}]},title:{type:"standard",definedAtData:{filePathToShowToUser:"/src/pages/fanfic/+config.ts",fileExportPathToShowToUser:["default","title"]},valueSerialized:{type:"js-serialized",value:"dDocs | Private, AI-Free Writing App for Fanfiction Writers"}},Loading:{type:"standard",definedAtData:{filePathToShowToUser:"vike-react/__internal/integration/Loading",fileExportPathToShowToUser:[]},valueSerialized:{type:"pointer-import",value:c}}};export{ce as configValuesSerialized};

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.