PageSourceSearch

https://fanfictiondownloader.net/chunk-3X7G4RSL.js

js fanfictiondownloader.net collected 2026-10-03 20:27:11 UTC 5,923 bytes, 1 lines download raw bytes

1import{a as N,b as q,d as I,e as D,f as H,g as k,h as L,i as V,j as A,k as R,l as Y,m as z,n as B,o as J}from"./chunk-3ZPCOP6A.js";import{a as S,b as s,d as P,e as O,f as v,h as f,i as y,j as w,k as F,m as T,v as G,w as j}from"./chunk-OUAIMX7I.js";import{b as E,c as b}from"./chunk-S3AZFUZ5.js";import{Bb as u,Cb as n,Db as t,Eb as r,Pb as M,Qa as g,Rb as h,Ta as l,ab as C,bc as _,dc as e,gb as x,wb as d,xb as p}from"./chunk-CVKQXTSM.js";function U(i,c){if(i&1&&r(0,"div",12),i&2){let a=h();_("app-alert--success",a.serverMessage.success)("app-alert--danger",!a.serverMessage.success),u("innerHtml",a.serverMessage.text,g)}}function W(i,c){i&1&&(n(0,"mat-error"),e(1,"Name is required."),t())}function K(i,c){i&1&&(n(0,"mat-error"),e(1,"Email is required."),t())}function Q(i,c){i&1&&(n(0,"mat-error"),e(1,"Please enter a valid email address."),t())}function X(i,c){i&1&&(n(0,"mat-error"),e(1,"Message is required."),t())}function Z(i,c){i&1&&(n(0,"mat-error"),e(1,"Message must be at least 10 characters."),t())}var gt=(()=>{class i{constructor(a){this.http=a,this.form=new v({name:new f("",[s.required]),email:new f("",[s.required,s.email]),text:new f("",[s.required,s.minLength(10)])})}onSubmit(){if(this.form.invalid){this.form.markAllAsTouched();return}let a=JSON.stringify(this.form.value),m=new E().set("Content-Type","application/json");this.http.post("/backend/contact.php",a,{headers:m}).subscribe(o=>{this.serverMessage=o,this.form.reset(),setTimeout(()=>this.serverMessage=null,5e3)})}static{this.\u0275fac=function(m){return new(m||i)(C(b))}}static{this.\u0275cmp=x({type:i,selectors:[["app-contact"]],decls:80,vars:5,consts:[["role","alert",1,"app-alert",3,"app-alert--success","app-alert--danger","innerHtml"],[1,"contact-layout"],[1,"form-card"],[3,"ngSubmit","formGroup"],["appearance","outline"],["matInput","","formControlName","name","placeholder","John Doe"],["matInput","","formControlName","email","type","email","placeholder","[email protected]"],["matInput","","formControlName","text","placeholder","Your message\u2026","rows","6"],[1,"form-actions"],["mat-raised-button","","color","primary","type","submit"],[1,"contact-info"],[1,"info-list"],["role","alert",1,"app-alert",3,"innerHtml"]],template:function(m,o){m&1&&(n(0,"h1"),e(1,"Contact"),t(),d(2,U,1,5,"div",0),n(3,"div",1)(4,"mat-card",2)(5,"mat-card-header")(6,"mat-card-title"),e(7,"Send a message"),t(),n(8,"mat-card-subtitle"),e(9,"Feel free to drop me a line about problems, suggestions or anything else."),t()(),n(10,"mat-card-content")(11,"form",3),M("ngSubmit",function(){return o.onSubmit()}),n(12,"mat-form-field",4)(13,"mat-label"),e(14,"Your Name"),t(),r(15,"input",5),d(16,W,2,0,"mat-error"),t(),n(17,"mat-form-field",4)(18,"mat-label"),e(19,"Your Email"),t(),r(20,"input",6),d(21,K,2,0,"mat-error")(22,Q,2,0,"mat-error"),t(),n(23,"mat-form-field",4)(24,"mat-label"),e(25,"Message"),t(),r(26,"textarea",7),d(27,X,2,0,"mat-error")(28,Z,2,0,"mat-error"),t(),n(29,"div",8)(30,"button",9)(31,"mat-icon"),e(32,"send"),t(),e(33," Send "),t()()()()(),n(34,"aside",10)(35,"h3"),e(36,"Reporting a bug?"),t(),n(37,"p"),e(38,"Please include the following information so I can reproduce and fix the issue quickly:"),t(),n(39,"ul",11)(40,"li")(41,"mat-icon"),e(42,"computer"),t(),n(43,"span")(44,"strong"),e(45,"Operating system"),t(),r(46,"br"),e(47,"e.g. Windows 11 (64-bit), Ubuntu 22.04, macOS Ventura"),t()(),n(48,"li")(49,"mat-icon"),e(50,"info"),t(),n(51,"span")(52,"strong"),e(53,"FFDL version"),t(),r(54,"br"),e(55,"e.g. v0.9.5 \u2014 shown in the title bar"),t()(),n(56,"li")(57,"mat-icon"),e(58,"link"),t(),n(59,"span")(60,"strong"),e(61,"Story link"),t(),r(62,"br"),e(63,"The URL of the story that caused the problem"),t()(),n(64,"li")(65,"mat-icon"),e(66,"download"),t(),n(67,"span")(68,"strong"),e(69,"Output format"),t(),r(70,"br"),e(71,"e.g. ePub, PDF, mobi"),t()(),n(72,"li")(73,"mat-icon"),e(74,"description"),t(),n(75,"span")(76,"strong"),e(77,"What happened?"),t(),r(78,"br"),e(79,"Describe the error message or unexpected behaviour"),t()()()()()),m&2&&(l(2),p(o.serverMessage?2:-1),l(9),u("formGroup",o.form),l(5),p(o.form.controls.name.hasError("required")&&o.form.controls.name.touched?16:-1),l(5),p(o.form.controls.email.hasError("required")&&o.form.controls.email.touched?21:o.form.controls.email.hasError("email")&&o.form.controls.email.touched?22:-1),l(6),p(o.form.controls.text.hasError("required")&&o.form.controls.text.touched?27:o.form.controls.text.hasError("minlength")&&o.form.controls.text.touched?28:-1))},dependencies:[T,y,S,P,O,F,w,D,I,N,q,k,H,j,G,z,L,A,Y,R,V,J,B],styles:[".contact-layout[_ngcontent-%COMP%]{display:flex;gap:2rem;align-items:flex-start}.form-card[_ngcontent-%COMP%]{flex:1 1 0;min-width:0}.form-card[_ngcontent-%COMP%]   mat-card-header[_ngcontent-%COMP%]{margin-bottom:16px}.form-card[_ngcontent-%COMP%]   mat-form-field[_ngcontent-%COMP%]{width:100%;margin-bottom:4px}.form-card[_ngcontent-%COMP%]   .form-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;margin-top:8px}.form-card[_ngcontent-%COMP%]   .form-actions[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]   mat-icon[_ngcontent-%COMP%]{margin-right:6px;font-size:18px;vertical-align:middle}.contact-info[_ngcontent-%COMP%]{flex:0 0 220px}.contact-info[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%]{margin-top:0}.contact-info[_ngcontent-%COMP%]   .info-list[_ngcontent-%COMP%]{list-style:none;padding:0;margin:0}.contact-info[_ngcontent-%COMP%]   .info-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.contact-info[_ngcontent-%COMP%]   .info-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   mat-icon[_ngcontent-%COMP%]{margin-top:2px;flex-shrink:0;color:#555}@media(max-width:600px){.contact-layout[_ngcontent-%COMP%]{flex-direction:column}.contact-info[_ngcontent-%COMP%]{flex:0 0 auto;width:100%}}"]})}}return i})();export{gt as ContactComponent};

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.