1import{u as e,a as l}from"./hobbii-core-vue-app-BrItCYHK.min.js";import{f as a,u as t,D as r,S as s}from"./hobbii-user-59Q2brLQ.min.js";import{c as n,l as i,d as o,al as u,am as d,b as m,e as c,j as f,q as p,f as v,v as _,R as h,k as y,g as b,t as g,u as k,F as w,z as x,o as C,x as L,ah as V}from"./hobbii-country-switcher-BNm3Hsht.min.js";import{_ as N}from"./hobbii-DropDown.vue_vue_type_script_setup_true_lang-D07u8vxm.min.js";import{_ as B}from"./hobbii-TextInput.vue_vue_type_script_setup_true_lang-B2vH1yuC.min.js";import{_ as q}from"./hobbii-RadioButton.vue_vue_type_script_setup_true_lang-eAn516jb.min.js";const P=a("\n query MyProfile {\n users {\n myProfile {\n first_name\n last_name\n craft_skills {\n craft\n skill_level\n }\n }\n }\n }\n"),S=()=>{const l=t(),a=n((()=>l.isLogged)),{result:r,loading:s,error:i,refetch:o}=e(P,{},{enabled:a,clientId:"gateway"}),u=n((()=>{var e,l,a;return null!=(a=null==(l=null==(e=r.value)?void 0:e.users)?void 0:l.myProfile)?a:null})),d=n((()=>u.value?{firstName:""===u.value.first_name,lastName:""===u.value.last_name,craftSkills:0===u.value.craft_skills.length}:null));return{profile:u,loading:s,error:i,refetch:o,missingFields:d}},K=a("\n mutation UpdateMyProfile($input: UpdateMyProfileInput!) {\n users {\n updateMyProfile(input: $input) {\n success\n profile {\n first_name\n last_name\n craft_skills {\n craft\n skill_level\n }\n }\n }\n }\n }\n"),M={Knit:r.Knitting,Crochet:r.Crochet},I={[r.Knitting]:"Knit",[r.Crochet]:"Crochet"},U={Beginner:s.Beginner,Intermediate:s.Intermediate,Experienced:s.Experienced},j={[s.Beginner]:"Beginner",[s.Intermediate]:"Intermediate",[s.Experienced]:"Experienced"},E=e=>e.map((({name:e,skillLevel:l})=>({craft:M[e],skill_level:U[l]}))),F=e=>e.map((({craft:e,skill_level:l})=>({name:I[e],skillLevel:j[l]}))),D=()=>{const{t:e}=i();return{craftLabel:l=>e("Knit"===l?"account.crafters.shared.craft_type.knit":"account.crafters.shared.craft_type.crochet"),skillLevelLabel:l=>e(`global.user_details_form.skill_levels.${l.toLowerCase()}`)}},$=()=>{const{mutate:e,loading:a,error:t}=l(K,{clientId:"gateway"});return{updateMyProfile:l=>{return a=null,t=null,r=function*(){var a,t;const r=yield e({input:l});if(!(null==(t=null==(a=null==r?void 0:r.data)?void 0:a.users)?void 0:t.updateMyProfile.success))throw new Error("updateMyProfile: save unsuccessful.");return r.data.users.updateMyProfile.profile},new Promise(((e,l)=>{var s=e=>{try{i(r.next(e))}catch(a){l(a)}},n=e=>{try{i(r.throw(e))}catch(a){l(a)}},i=l=>l.done?e(l.value):Promise.resolve(l.value).then(s,n);i((r=r.apply(a,t)).next())}));var a,t,r},loading:a,error:t}},G={key:1,class:"flex flex-col gap-4"},R={class:"m-0 font-semibold"},z=o({__name:"ProfileDetailsFields",props:u({showCraftSkill:{type:Boolean,default:!0},showLastName:{type:Boolean,default:!0},requireFirstName:{type:Boolean,default:!0},requireLastName:{type:Boolean,default:!0},requireCraftSkill:{type:Boolean,default:!0},initialCrafts:{default:()=>[]},wideGap:{type:Boolean,default:!1},alwaysShowSkillLabel:{type:Boolean,default:!1}},{firstName:{required:!0},firstNameModifiers:{},lastName:{default:""},lastNameModifiers:{}}),emits:["update:firstName","update:lastName"],setup(e,{expose:l}){const{t:a}=i(),{craftLabel:t,skillLevelLabel:r}=D(),s=e,o=d(e,"firstName"),u=d(e,"lastName"),P=["Beginner","Intermediate","Experienced"],S=m((()=>{var e;const l=s.initialCrafts.map((e=>e.name));return l.includes("Crochet")&&l.includes("Knit")?"Both":null!=(e=l[0])?e:null})()),K=m({Knit:null!=(I=null==(M=s.initialCrafts.find((e=>"Knit"===e.name)))?void 0:M.skillLevel)?I:null,Crochet:null!=(j=null==(U=s.initialCrafts.find((e=>"Crochet"===e.name)))?void 0:U.skillLevel)?j:null});var M,I,U,j;const E=n((()=>"Both"===S.value?["Crochet","Knit"]:S.value?[S.value]:[])),F=n((()=>E.value.reduce(((e,l)=>{const a=K.value[l];return a&&e.push({name:l,skillLevel:a}),e}),[])));l({isValid:n((()=>!(s.requireFirstName&&!o.value.trim())&&(!(s.showLastName&&s.requireLastName&&!u.value.trim())&&(!s.showCraftSkill||(0===E.value.length?!s.requireCraftSkill:E.value.every((e=>K.value[e]))))))),crafts:F});const $=n((()=>P.map((e=>({value:e,text:r(e)}
1)))));return(e,l)=>(C(),c("div",{class:f(["flex flex-col",e.wideGap?"gap-10":"gap-6"])},[p(B,{modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=e=>o.value=e),type:"text",autocomplete:"given-name",required:e.requireFirstName,class:"!px-3"},{label:y((()=>[L(g(k(a)("global.user_details_form.name")),1)])),_:1},8,["modelValue","required"]),e.showLastName?(C(),v(B,{key:0,modelValue:u.value,"onUpdate:modelValue":l[1]||(l[1]=e=>u.value=e),type:"text",autocomplete:"family-name",required:e.requireLastName,class:"!px-3"},{label:y((()=>[L(g(k(a)("global.user_details_form.last_name")),1)])),_:1},8,["modelValue","required"])):_("",!0),h(e.$slots,"after-last-name"),e.showCraftSkill?(C(),c("div",G,[b("p",R,g(k(a)("global.user_details_form.craft_label")),1),p(q,{modelValue:S.value,"onUpdate:modelValue":l[2]||(l[2]=e=>S.value=e),value:"Crochet"},{default:y((()=>[b("span",{class:f({"font-bold":"Crochet"===S.value})},g(k(a)("account.crafters.shared.craft_type.crochet")),3)])),_:1},8,["modelValue"]),p(q,{modelValue:S.value,"onUpdate:modelValue":l[3]||(l[3]=e=>S.value=e),value:"Knit"},{default:y((()=>[b("span",{class:f({"font-bold":"Knit"===S.value})},g(k(a)("account.crafters.shared.craft_type.knit")),3)])),_:1},8,["modelValue"]),p(q,{modelValue:S.value,"onUpdate:modelValue":l[4]||(l[4]=e=>S.value=e),value:"Both"},{default:y((()=>[b("span",{class:f({"font-bold":"Both"===S.value})},g(k(a)("global.user_details_form.craft_both")),3)])),_:1},8,["modelValue"])])):_("",!0),e.showCraftSkill&&E.value.length?(C(),c("div",{key:2,class:f(["flex flex-col",e.wideGap?"gap-6":"gap-2"])},[b("p",{class:f(["m-0 font-semibold",{"mb-4":E.value.length>1}])},g(k(a)("global.user_details_form.skill_level_label")),3),(C(!0),c(w,null,x(E.value,((l,r)=>(C(),v(N,{key:l,modelValue:K.value[l],"onUpdate:modelValue":e=>K.value[l]=e,options:$.value,placeholder:k(a)("global.user_details_form.skill_level_placeholder"),class:f({"mt-4":r>0})},V({_:2},[e.alwaysShowSkillLabel||E.value.length>1?{name:"label",fn:y((()=>[L(g(k(t)(l)),1)])),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","options","placeholder","class"])))),128))],2)):_("",!0)],2))}});export{z as _,$ as a,E as b,D as c,F as t,S as u}; 2//# sourceMappingURL=hobbii-ProfileDetailsFields.vue_vue_type_script_setup_true_lang-Dpp3MojS.min.js.map
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.