PageSourceSearch

https://www.eyedock.com/build/assets/Edit-CmwPBuRx.js

js eyedock.com collected 2026-10-02 21:23:30 UTC 13,655 bytes, 1 lines download raw bytes

1import{u as j,c as i,a as l,b as d,h as P,e as u,d as t,t as r,l as b,x as v,f as n,o as a,n as k,g as o,F as g,V as h,w as A,_ as B,j as w,r as F,A as U,y as C,i as D}from"./app-DWwbkxzy.js";import{_ as I}from"./AdminLayout-DD0R75QB.js";import{_ as p}from"./InputLabel-DmX1gBuU.js";import{_ as V}from"./InputError-DOlSbaYJ.js";import{_ as L}from"./SelectInput-_8PeNPzA.js";import"./SidebarLayout-Dfse5RnS.js";const T={class:"mx-auto max-w-5xl space-y-6 px-4 py-8 sm:px-6 lg:px-8"},G={class:"flex items-center justify-between"},q={class:"text-2xl font-bold text-gray-900"},H={class:"mt-1 text-sm text-gray-600"},J=["href"],K={class:"flex flex-wrap items-center gap-x-6 gap-y-2 rounded-md border border-gray-200 bg-white px-4 py-3 text-sm"},Q={key:1,class:"inline-flex items-center rounded-full bg-gray-100 px-2.5 py-0.5 text-xs font-semibold text-gray-700"},W={class:"text-gray-500"},X={class:"text-gray-900"},Y={class:"text-gray-500"},Z={class:"capitalize text-gray-900"},_={key:2,class:"text-gray-500"},ee={key:3,class:"text-gray-500"},te={class:"text-gray-900"},se={key:4,class:"text-gray-500"},ae={class:"text-gray-900"},ie={key:5,class:"text-amber-700"},re={class:"text-gray-500"},ne={key:6,class:"text-gray-500"},oe={class:"text-gray-900"},le={class:"-mt-3 text-sm text-gray-600"},de={key:0,class:"rounded-md border border-green-200 bg-green-50 p-3 text-sm text-green-800"},ue={key:1,class:"rounded-md border border-red-200 bg-red-50 p-3 text-sm text-red-800"},me={class:"w-56"},ge={class:"space-y-4 text-sm"},ye={class:"flex items-center justify-between gap-4"},xe={class:"text-gray-600"},ce={class:"border-t border-gray-100 pt-4"},fe={class:"flex items-center justify-between"},be={key:0,class:"text-sm text-gray-500"},ve={key:1,class:"text-sm text-amber-700"},ke={class:"border-t border-gray-100 pt-4"},ze={class:"flex items-center justify-between"},he={class:"mt-1"},we={class:"ml-1 text-xs text-gray-400"},pe={key:0,class:"mt-2 rounded-md border border-rose-200 bg-rose-50 px-3 py-2 text-sm text-rose-800"},Ve=["href"],Ee={class:"mt-2 grid grid-cols-2 gap-x-4 gap-y-1 text-sm sm:grid-cols-3"},Se={class:"ml-1 text-gray-500"},je={key:0},Ae={class:"text-gray-800"},Be={key:1},Ce={class:"text-gray-800"},Ne={key:2},Oe={class:"text-gray-800"},Re={key:1,class:"mt-2 text-xs"},Me=["href"],$e={key:1,class:"text-gray-600"},Pe={class:"mb-3 flex items-center gap-2"},Fe={class:"grid grid-cols-2 gap-x-4 gap-y-1 text-sm"},Ue={class:"text-gray-900"},De={key:0},Ie={class:"font-medium text-gray-900"},Le={key:1,class:"col-span-2"},Te=["href"],Ge={key:2},qe={class:"text-gray-900"},He=["href"],Je={key:3},Ke={class:"text-gray-900"},Qe={class:"text-gray-900"},We={key:0,class:"mt-3 divide-y divide-gray-100 text-sm"},Xe={class:"text-gray-900"},at=Object.assign({layout:null},{__name:"Edit",props:{user:Object,canEditRole:Boolean,roleOptions:Array,amember:{type:Object,default:null}},setup(s){const x=s,N=D(),z=U(()=>N.props.flash??{}),y=j({name:x.user.name,email:x.user.email}),O=()=>{y.patch(route("admin.users.update",x.user.id),{preserveScroll:!0})},f=j({role:x.user.role}),R=()=>{f.patch(route("admin.users.role.update",x.user.id),{preserveScroll:!0})},M=()=>{C.post(route("admin.users.verify-email",x.user.id),{},{preserveScroll:!0})},$=()=>{C.post(route("admin.users.send-password-reset",x.user.id),{},{preserveScroll:!0})};return(c,e)=>(a(),i(g,null,[l(d(P),{title:`Edit ${s.user.name}`},null,8,["title"]),l(I,{title:`Edit ${s.user.name}`},{default:u(()=>{var E;
1return[t("div",T,[t("div",G,[t("div",null,[t("h1",q,r(s.user.name),1),t("p",H,r(s.user.email),1),t("a",{href:c.route("admin.guide"),target:"_blank",rel:"noopener",class:"mt-1 inline-block text-sm font-medium text-indigo-600 hover:text-indigo-500"}," 📖 Admin guide — account types & how to set one up ↗ ",8,J)]),l(d(b),{href:c.route("admin.users.index")},{default:u(()=>[l(v,{variant:"secondary",size:"sm"},{default:u(()=>[...e[3]||(e[3]=[n(" Back to users ",-1)])]),_:1})]),_:1},8,["href"])]),t("div",K,[s.user.organization?(a(),i("span",{key:0,class:k(["inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold",s.user.organization.is_active?"bg-green-100 text-green-800":"bg-red-100 text-red-800"])},r(s.user.organization.is_active?"Active":"Inactive"),3)):(a(),i("span",Q," No organization ")),t("span",W,[e[4]||(e[4]=n("ID ",-1)),t("span",X,r(s.user.id),1)]),t("span",Y,[e[5]||(e[5]=n("Role ",-1)),t("span",Z,r(s.user.role),1)]),s.user.organization?(a(),i("span",_,[e[6]||(e[6]=n(" Org ",-1)),l(d(b),{href:c.route("admin.organizations.show",s.user.organization.id),class:"font-medium text-indigo-600 hover:text-indigo-500"},{default:u(()=>[n(r(s.user.organization.name)+" ↗",1)]),_:1},8,["href"])])):o("",!0),s.user.organization?(a(),i("span",ee,[e[7]||(e[7]=n("Billing ",-1)),t("span",te,r(s.user.organization.access_source),1)])):o("",!0),(E=s.amember)!=null&&E.login?(a(),i("span",se,[e[8]||(e[8]=n("aMember ",-1)),t("span",ae,r(s.amember.login),1)])):o("",!0),s.user.account_verified_at?o("",!0):(a(),i("span",ie,"Unverified")),t("span",re,[e[9]||(e[9]=n("Last seen ",-1)),t("span",{class:k(s.user.last_login_at?"text-gray-900":"text-gray-400")},r(s.user.last_login_at??"not recorded yet"),3)]),s.user.active_days_30?(a(),i("span",ne,[e[10]||(e[10]=n("Active ",-1)),t("span",oe,r(s.user.active_days_30)+" of last 30 days",1)])):o("",!0)]),t("p",le,[s.user.organization?(a(),i(g,{key:0},[e[11]||(e[11]=n(" Billing, subscriptions and access are managed on the organization, not here — ",-1)),l(d(b),{href:c.route("admin.organizations.show",s.user.organization.id),class:"font-medium text-indigo-600 hover:text-indigo-500"},{default:u(()=>[n("go to "+r(s.user.organization.name)+" to manage billing",1)]),_:1},8,["href"]),e[12]||(e[12]=n(". ",-1))],64)):(a(),i(g,{key:1},[n(" This member belongs to no organization, so they have no billing to manage. Billing always lives on an organization. ")],64))]),z.value.success?(a(),i("div",de,r(z.value.success),1)):o("",!0),z.value.error?(a(),i("div",ue,r(z.value.error),1)):o("",!0),l(h,null,{text:u(()=>[e[14]||(e[14]=t("h2",{class:"mb-4 text-lg font-semibold text-gray-900"}," Profile ",-1)),t("form",{class:"space-y-4",onSubmit:A(O,["prevent"])},[t("div",null,[l(p,{for:"name",value:"Name"}),l(B,{id:"name",modelValue:d(y).name,"onUpdate:modelValue":e[0]||(e[0]=m=>d(y).name=m),type:"text",class:"mt-1 block w-full"},null,8,["modelValue"]),l(V,{message:d(y).errors.name,class:"mt-1"},null,8,["message"])]),t("div",null,[l(p,{for:"email",value:"Email"}),l(B,{id:"email",modelValue:d(y).email,"onUpdate:modelValue":e[1]||(e[1]=m=>d(y).email=m),type:"email",class:"mt-1 block w-full"},null,8,["modelValue"]),l(V,{message:d(y).errors.email,class:"mt-1"},null,8,["message"])]),t("div",null,[l(v,{variant:"primary",type:"submit",disabled:d(y).processing},{default:u(()=>[...e[13]||(e[13]=[n(" Save profile ",-1)])]),_:1},8,["disabled"])])],32)]),_:1}),s.canEditRole?(a(),w(h,{key:2},{text:u(()=>[e[16]||(e[16]=t("h2",{class:"mb-1 text-lg font-semibold text-gray-900"}," Role ",-1)),e[17]||(e[17]=t("p",{class:"mb-4 text-sm text-gray-600"}," Controls site-wide privileges. Changing this takes effect immediately. ",-1)),t("form",{class:"flex flex-wrap items-end gap-3",onSubmit:A(R,["prevent"])},[t("div",me,[l(p,{for:"role",value:"Role"}),l(L,{id:"role",modelValue:d(f).role,"onUpdate:modelValue":e[2]||(e[2]=m=>d(f).role=m),options:s.roleOptions,class:"mt-1 block w-full"},null,8,["modelValue","options"]),l(V,{message:d(f).errors.role,class:"mt-1"},null,8,["message"])]),l(v,{variant:"primary",type:"submit",disabled:d(f).processing},{default:u(()=>[...e[15]||(e[15]=[n(" Update role ",-1)])]),_:1},8,["disabled"])],32)]),_:1})):o("",!0),l(h,null,{text:u(()=>{var m,S;return[e[30]||(e[30]=t("h2",{class:"mb-4 text-lg font-semibold text-gray-900"}," Account ",-1)),t("div",ge,[t("div",ye,[t("div",null,[e[18]||(e[18]=t("p",{class:"font-medium text-gray-900"}," Password reset ",-1)),t("p",xe,[s.user.password_reset_disabled?(a(),i(g,{key:0},[n(" Password resets are disabled for this account. ")],64)):(a(),i(g,{key:1},[n(" Emails "+r(s.user.email)+" a secure reset link. ",1)],64))])]),l(v,{variant:"secondary",size:"sm",disabled:s.user.password_reset_disabled,onClick:$},{default:u(()=>[...e[19]||(e[19]=[n(" Send reset link ",-1)])]),_:1},8,["disabled"])]),t("div",ce,[t("div",fe,[t("div",null,[e[20]||(e[20]=t("p",{class:"font-medium text-gray-900"}," Email verification ",-1)),s.user.email_verified_at?(a(),i("p",be," Verified "+r(s.user.email_verified_at)+". ",1)):(a(),i("p",ve," Not verified — they can use EyeDock while their trial runs, and are stopped at the verification notice the moment it ends. "))]),s.user.email_verified_at?o("",!0):(a(),w(v,{key:0,variant:"secondary",size:"sm",onClick:M},{default:u(()=>[...e[21]||(e[21]=[n(" Mark verified ",-1)])]),_:1}))])]),t("div",ke,[t("div",ze,[e[23]||(e[23]=t("p",{class:"font-medium text-gray-900"}," Organization ",-1)),s.user.organization?(a(),w(d(b),{key:0,href:c.route("admin.organizations.show",
1s.user.organization.id),class:"text-sm font-medium text-sky-600 hover:underline"},{default:u(()=>[...e[22]||(e[22]=[n(" Manage subscription & billing → ",-1)])]),_:1},8,["href"])):o("",!0)]),s.user.organization?(a(),i(g,{key:0},[t("p",he,[l(d(b),{href:c.route("admin.organizations.show",s.user.organization.id),class:"text-sky-700 hover:underline"},{default:u(()=>[n(r(s.user.organization.name),1)]),_:1},8,["href"]),t("span",we,"("+r(s.user.organization.type)+")",1)]),(m=s.user.organization.subscription)!=null&&m.past_due?(a(),i("div",pe,[e[24]||(e[24]=n(" ⚠ Payment issue — subscription is ",-1)),t("b",null,r(s.user.organization.subscription.status),1),e[25]||(e[25]=n(". ",-1)),s.user.organization.subscription.stripe_url?(a(),i("a",{key:0,href:s.user.organization.subscription.stripe_url,target:"_blank",class:"font-medium underline"},"Review in Stripe ↗",8,Ve)):o("",!0)])):o("",!0),t("dl",Ee,[t("div",null,[e[26]||(e[26]=t("dt",{class:"text-gray-500"},"Access",-1)),t("dd",null,[t("span",{class:k(["inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium",s.user.organization.is_active?"bg-green-100 text-green-800":"bg-gray-100 text-gray-600"])},r(s.user.organization.is_active?"Active":"No access"),3),t("span",Se,r(s.user.organization.access_source),1)])]),s.user.organization.subscription?(a(),i("div",je,[e[27]||(e[27]=t("dt",{class:"text-gray-500"},"Renews",-1)),t("dd",Ae,[s.user.organization.subscription.auto_renew&&s.user.organization.subscription.renews_at?(a(),i(g,{key:0},[n(r(s.user.organization.subscription.renews_at),1)],64)):s.user.organization.subscription.ends_at?(a(),i(g,{key:1},[n("Ends "+r(s.user.organization.subscription.ends_at)+" (won't renew)",1)],64)):(a(),i(g,{key:2},[n("—")],64))])])):o("",!0),s.user.organization.trial_ends_at?(a(),i("div",Be,[e[28]||(e[28]=t("dt",{class:"text-gray-500"}," Trial ends ",-1)),t("dd",Ce,r(s.user.organization.trial_ends_at),1)])):o("",!0),s.user.organization.comp_access_until?(a(),i("div",Ne,[e[29]||(e[29]=t("dt",{class:"text-gray-500"}," Comp until ",-1)),t("dd",Oe,r(s.user.organization.comp_access_until),1)])):o("",!0)]),(S=s.user.organization.subscription)!=null&&S.stripe_url?(a(),i("p",Re,[t("a",{href:s.user.organization.subscription.stripe_url,target:"_blank",class:"text-sky-600 hover:underline"},"Open subscription in Stripe ↗",8,Me)])):o("",!0)],64)):(a(),i("p",$e," No current organization "))])])]}),_:1}),s.amember?(a(),w(h,{key:3},{text:u(()=>[t("div",Pe,[e[31]||(e[31]=t("h2",{class:"text-lg font-semibold text-gray-900"},[n(" aMember subscription "),t("span",{class:"text-sm font-normal text-gray-500"},"(legacy)")],-1)),t("span",{class:k(["inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium",s.amember.is_active?"bg-green-100 text-green-800":"bg-gray-100 text-gray-600"])},r(s.amember.is_active?"Active":"Inactive"),3)]),t("dl",Fe,[t("div",null,[e[32]||(e[32]=t("dt",{class:"text-gray-500"},"Expires",-1)),t("dd",Ue,r(s.amember.expires_at??"—"),1)]),s.amember.login?(a(),i("div",De,[e[33]||(e[33]=t("dt",{class:"text-gray-500"},"aMember username",-1)),t("dd",Ie,r(s.amember.login),1)])):o("",!0),s.amember.latest_charge_url?(a(),i("div",Le,[e[34]||(e[34]=t("dt",{class:"text-gray-500"},"Latest legacy payment",-1)),t("dd",null,[t("a",{href:s.amember.latest_charge_url,target:"_blank",rel:"noopener",class:"font-medium text-indigo-600 hover:text-indigo-500"}," Open in Stripe to refund ↗ ",8,Te)])])):o("",!0),s.amember.amember_user_id?(a(),i("div",Ge,[e[35]||(e[35]=t("dt",{class:"text-gray-500"},"aMember user ID",-1)),t("dd",qe,[s.amember.admin_url?(a(),i("a",{key:0,href:s.amember.admin_url,target:"_blank",rel:"noopener",class:"font-medium text-indigo-600 hover:text-indigo-500"},r(s.amember.amember_user_id)+" ↗ ",9,He)):(a(),i(g,{key:1},[n(r(s.amember.amember_user_id),1)],64))])])):o("",!0),s.amember.groups.length?(a(),i("div",Je,[e[36]||(e[36]=t("dt",{class:"text-gray-500"},"Groups",-1)),t("dd",Ke,r(s.amember.groups.join(", ")),1)])):o("",!0),t("div",null,[e[37]||(e[37]=t("dt",{class:"text-gray-500"},"Last synced",-1)),t("dd",Qe,r(s.amember.synced_at??"never"),1)])]),s.amember.products.length?(a(),i("ul",We,[(a(!0),i(g,null,F(s.amember.products,m=>(a(),i("li",{key:m.id,class:"flex items-center justify-between py-1.5"},[t("span",Xe,r(m.name),1),t("span",{class:k(m.expired?"text-red-600":"text-gray-500")},r(m.expired?"expired":"until")+" "+r(m.expires_at),3)]))),128))])):o("",!0),e[38]||(e[38]=t("p",{class:"mt-3 text-xs text-gray-400"}," Full management lives in aMember and on the organization's page. ",-1))]),_:1})):o("",!0)])]}),_:1},8,["title"])],64))}});
1export{at as default};

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.