Files
ambersplace.net/cohost-archive/static/client-preact-components-pages-ask.bc2ad28e905abda404bb.js

2 lines
8.7 KiB
JavaScript

"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[7348],{2735:function(e,t,n){n.d(t,{Qj:function(){return j},zx:function(){return S}});var r=n(65443),o=n.n(r),a=n(94159),l=n(6285);function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s.apply(this,arguments)}const c=l.z.enum(["pill","roundrect","authn"]),i=l.z.enum(["cherry","strawberry","mango","not-black","red","green","accent","secondary","authn-primary","authn-other"]),d=(l.z.object({buttonStyle:c,color:i,className:l.z.string().optional()}),o()("bg-notWhite","hover:text-notWhite")),u=o()("font-atkinson","font-bold","rounded-full","border-2"),m=o()("body-2","rounded-lg"),g=o()("flex","h-12","items-center","justify-center","rounded-lg","px-6","text-lg"),b=o()("border-cherry","hover:bg-cherry","text-cherry","active:bg-cherry-600","active:border-cherry-600","disabled:text-cherry-300","disabled:border-cherry-300","focus:outline-cherry","focus:ring-cherry",d),f=o()("border-strawberry","hover:bg-strawberry","text-strawberry","active:bg-strawberry-600","active:border-strawberry-600","disabled:text-strawberry-300","disabled:border-strawberry-300","focus:outline-strawberry","focus:ring-strawberry",d),h=o()("border-red","hover:bg-red","text-red","active:bg-red-600","active:border-red-600","disabled:text-red-300","disabled:border-red-300","focus:outline-red",d),p=o()("border-green","hover:bg-green","text-green","active:bg-green-600","active:border-green-600","disabled:text-green-300","disabled:border-green-300","focus:outline-green",d),y=o()("border-mango","hover:bg-mango","text-mango","bg-notBlack","hover:text-notBlack"),v=o()("border-notBlack","hover:bg-notBlack","text-notBlack","focus:outline-notBlack","focus:ring-notBlack",d),x=o()("border-accent","text-accent","bg-foreground","hover:bg-accent","hover:text-text"),k=o()("bg-secondary","text-notWhite","dark:text-notBlack","hover:bg-secondary-600"),E=o()("bg-foreground","text-text","hover:bg-foreground-600","active:bg-foreground-700","disabled:bg-foreground-200"),w=o()("border-2","border-foreground","text-foreground","hover:bg-longan-200"),N=e=>o()("leading-none","align-middle","py-2","px-4","no-select",e.className,{[u]:"pill"===e.buttonStyle,[m]:"roundrect"===e.buttonStyle,[g]:"authn"===e.buttonStyle,[b]:"cherry"===e.color,[f]:"strawberry"===e.color,[y]:"mango"===e.color,[v]:"not-black"===e.color,[h]:"red"===e.color,[x]:"accent"===e.color,[p]:"green"===e.color,[k]:"secondary"===e.color,[E]:"authn-primary"===e.color,[w]:"authn-other"===e.color}),S=a.forwardRef((({buttonStyle:e,color:t,className:n,...r},o)=>{const l=N({buttonStyle:e,color:t,className:n,...r});return a.createElement("button",s({},r,{className:l,ref:o}),r.children)}));S.displayName="Button";const j=a.forwardRef((({buttonStyle:e,color:t,...n},r)=>{const o=N({buttonStyle:e,color:t,...n});return a.createElement("a",s({},n,{className:o,ref:r}),n.children)}));j.displayName="LinkButton"},14374:function(e,t,n){n.r(t),n.d(t,{AskPage:function(){return k}});var r=n(94159),o=n(20616),a=n(99838),l=n(71860),s=n(4337),c=n(2735),i=n(8227),d=n(38934),u=n(70496),m=n(4595),g=n(12093),b=n(83052),f=n(48002),h=n(59134),p=n(45041),y=n(29598),v=n(37111);function x(){return x=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},x.apply(this,arguments)}(0,y.ZP)({resolved:{},chunkName:()=>"hookform-devtools",isReady(e){const t=this.resolve(e);return!0===this.resolved[t]&&!!n.m[t]},importAsync:()=>n.e(7e3).then(n.t.bind(n,8077,23)),requireAsync(e){const t=this.resolve(e);return this.resolved[t]=!1,this.importAsync(e).then((e=>(this.resolved[t]=!0,e)))},requireSync(e){const t=this.resolve(e);return n(t)},resolve:()=>8077},{resolveComponent:e=>e.DevTool});const k=e=>r.createElement("main",{className:"w-full pt-16"},r.createElement("div",{className:"container mx-auto grid grid-cols-1 gap-16 lg:grid-cols-4"},r.createElement(o.w3,null),r.createElement("section",{className:"col-span-1 flex flex-col gap-12 lg:col-span-2"},r.createElement(E,e)))),E=({projectHandle:e})=>{const{loggedIn:t}=(0,i.Pc)(),n=(0,d.dg)(),o=l.S.projects.byHandle.useQuery(e,{suspense:!0}),y=(0,r.useMemo)((()=>o.data&&o.data.askSettings.allowAnon),[o.data]),k=(0,r.useMemo)((()=>o.data&&o.data.askSettings.enabled?y||t?y&&!t&&o.data&&o.data.askSettings.requireLoggedInAnon?"noLoggedOutAnon":"ok":"noAnon":"notEnabled"),[y,t,o.data]),E=l.S.asks.send.useMutation(),{register:w,handleSubmit:N,control:S,reset:j,watch:A}=(0,a.cI)({defaultValues:{anon:!t,content:""}}),O=A("content"),B=(0,r.useMemo)((()=>(0,v.aK)(O,new Date,{renderingContext:"ask",hasCohostPlus:!0,disableEmbeds:!0,externalLinksInNewTab:!0}).trim().length>0),[O]),L=(0,r.useCallback)((t=>{const n=E.mutateAsync({toProjectHandle:e,content:t.content,anon:t.anon});h.Am.promise(n,{loading:"Sending ask...",success:"Ask sent!",error:"Failed to send ask."}).then((e=>j(void 0,{keepValues:!1}))).catch((e=>null))}),[e,j,E]),P=(0,r.useCallback)((e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&(e.preventDefault(),N(L)())}),[N,L]),_=(0,r.useMemo)((()=>n&&n.handle===e),[n,e]);return r.createElement("div",{className:"flex flex-col gap-8 rounded-lg bg-notWhite p-3 text-notBlack"},r.createElement("h1",{className:f.Kl},"ask @",e),_&&r.createElement(u.v,{level:"info"},r.createElement("div",{className:"prose prose-sm"},r.createElement("p",null,"Sending an ask to yourself, huh? Hope whatever bit you're trying to do works out."))),r.createElement(u.v,{level:"info"},r.createElement("div",{className:"prose prose-sm"},r.createElement("p",null,"Asks can contain simple"," ",r.createElement("a",{href:g.ZP.public.staticContent({slug:"markdown-reference"}).toString(),target:"_blank",rel:"noreferrer"},"markdown formatting")," ","and links but no inline HTML, and also cannot include inline images, audio, or video."))),"notEnabled"===k&&r.createElement(u.v,{level:"info"},r.createElement("div",{className:"prose prose-sm"},r.createElement("p",null,"@",e," doesn't allow asks. Sorry!"))),"noAnon"===k&&r.createElement(u.v,{level:"info"},r.createElement("div",{className:"prose prose-sm"},r.createElement("p",null,"@",e," doesn't allow anonymous asks."," ",r.createElement("a",{href:g.ZP.public.login({originalUrl:g.ZP.public.project.ask({projectHandle:e}).toString()}).toString()},"log in first.")))),"noLoggedOutAnon"===k&&r.createElement(u.v,{level:"info"},r.createElement("div",{className:"prose prose-sm"},r.createElement("p",null,"@",e," doesn't allow anonymous asks from logged out users."," ",r.createElement("a",{href:g.ZP.public.login({originalUrl:g.ZP.public.project.ask({projectHandle:e}).toString()}).toString()},"log in first.")))),"ok"===k&&r.createElement("form",{onSubmit:N(L),className:"flex flex-col gap-4"},r.createElement("div",{className:"flex flex-col gap-0 divide-y divide-cherry border border-cherry"},r.createElement(a.Qr,{control:S,name:"content",rules:{maxLength:p.j,minLength:1},render:({field:{ref:t,onChange:n,...o}})=>r.createElement("div",{className:"flex flex-row items-start"},r.createElement(s.D,x({},o,{onInput:n,onKeyDown:P,className:"border-0",ref:t,minRows:4,autoComplete:"off",placeholder:`ask ${e}`})),o.value.length>=.75*p.j?r.createElement("span",{className:"flex-shrink-0 p-2 tabular-nums "+(o.value.length>p.j?"text-red":"text-gray-600")},p.j-o.value.length):null)}),r.createElement("div",{className:"flex flex-row items-center justify-between gap-2 p-2"},r.createElement("div",{className:"flex flex-row items-center gap-2 truncate"},n&&!A("anon")&&r.createElement(r.Fragment,null,r.createElement(b.H,{project:n,inline:!0})),A("anon")&&r.createElement(r.Fragment,null,r.createElement("img",{src:g.ZP.public.static.staticAsset({path:m}).toString(),alt:"anonymous",className:"mask mask-squircle h-8 w-8"}),r.createElement("span",null,"anonymous"))),y&&t&&r.createElement("label",{className:"flex flex-row items-center gap-2"},"anonymous?",r.createElement("input",x({type:"checkbox"},w("anon"),{className:"rounded-checkbox"}))))),r.createElement(c.zx,{buttonStyle:"roundrect",type:"submit",color:"authn-primary",disabled:!B},"send")),!1)};t.default=k},48002:function(e,t,n){n.d(t,{Kl:function(){return o},dO:function(){return a},hY:function(){return r},nk:function(){return l}});const r="cohost-shadow-light dark:cohost-shadow-dark mx-auto flex max-h-min w-full flex-col gap-4 rounded-lg bg-notWhite text-notBlack px-7 py-8",o="font-atkinson font-bold text-4xl",a="flex w-full flex-row items-center justify-end gap-4 font-bold text-notWhite",l="font-atkinson font-bold text-2xl pt-8"},45041:function(e,t,n){n.d(t,{j:function(){return r}});const r=1120}}]);
//# sourceMappingURL=client-preact-components-pages-ask.bc2ad28e905abda404bb.js.map