PageSourceSearch

https://admin.nowbookit.com/assets/Register-B3Q0nNUN.js

js nowbookit.com collected 2026-10-02 02:30:37 UTC 7,645 bytes, 1 lines download raw bytes

1import{w as H,a as W,u as z,r as p}from"./chunk-EF7DTUVF-BXS4vzWS.js";import{j as e}from"./jsx-runtime-D_zvdyIk.js";import{a as Y,C as x,u as V,F as _}from"./index.esm-tjTmPjrM.js";import{R as q}from"./registered.service-1z4WRKVG.js";import{I as M,P as R}from"./pageWrapper-Be2syMrD.js";import{u as O}from"./hooks-KPfNan3X.js";import{s as U}from"./index-tDb3vN6V.js";import{R as Z,a as $}from"./RegisteredVenueInfo-Xumwu675.js";import{C as G}from"./ComponentWrapper-BNMsEkFL.js";import{T as f}from"./TextInput-lye1AieJ.js";import{u as y}from"./useTranslation-DZ5yJ_G6.js";import{T as l}from"./Typography-C1UKWRKc.js";import{S as j}from"./Stack-gx1sXib4.js";import{B as a}from"./Box-C6rW1ow8.js";import{S as J}from"./DashboardHeader-C91e4ztJ.js";import"./routes-Beb14OxE.js";import{u as K}from"./useFormSubmission-BOnVAhIK.js";import{L as Q}from"./LanguageSwitcher-6PyxAF9B.js";import{s as v}from"./memoTheme-PGpTvV_L.js";import{u as X}from"./createSvgIcon-CjkfkFCM.js";import"./ActionButton-D6IVQ4BU.js";import"./Button-I3nl3k84.js";import"./useId-EJi6XrWz.js";import"./ButtonBase-C7_6WZww.js";import"./CircularProgress-C2W4bryA.js";import"./Backdrop-CwILNMWX.js";import"./useSlot-3_t-QaYW.js";import"./utils-DKFlxML4.js";import"./index--kIDdktA.js";import"./getReactElementRef-DOYfKgio.js";import"./FlagPhonePicker-DFZc3h7c.js";import"./TextField-CflElFq_.js";import"./Select-CMHIonz_.js";import"./Menu-DF32qkAt.js";import"./index-BNtxcMtE.js";import"./useSlotProps-BMzA9o9u.js";import"./List-DrX8Qji1.js";import"./Paper-ZHSGGY3j.js";import"./ownerDocument-DW-IO8s5.js";import"./ownerWindow-HkKU3E4x.js";import"./Grow-8nKSjD4A.js";import"./mergeSlotProps-Bv8acRKm.js";import"./Modal-lAtUllyy.js";import"./useFormControl-NxqSM4qs.js";import"./InputLabel-mpvwPipy.js";import"./FormControl-DhQPzmtd.js";import"./isMuiElement-OQt3ryHi.js";import"./InputAdornment-Kp8t0Nym.js";import"./IconButton-l1BQfvWq.js";import"./MenuItem-DRhfUS7W.js";import"./ListItemText-C2RDcrdN.js";import"./user.service-tjg0Jbb7.js";import"./useValidation-Cl-xdf_g.js";import"./Autocomplete-DrmbnuW7.js";import"./Close-DGMoXZHl.js";import"./Popper-JcN2TTAm.js";import"./Chip-DqCZwb1f.js";import"./FormAddress-Cf4yh7X1.js";import"./Address-BCU2ltb-.js";import"./state-AGKt8l62.js";import"./useThemeProps-BGi1CRyQ.js";import"./usePermissions-DCaHWyoz.js";import"./posthog-_WuJND72.js";import"./Tabs-3UmbE6gZ.js";import"./KeyboardArrowRight-BV85-v4X.js";import"./Avatar-RCGtNEwa.js";import"./Toolbar-CIbGYUtc.js";import"./Tooltip-BdSlxaNK.js";import"./Divider-C1GhUTv2.js";import"./KeyboardArrowDown-DHOJw3PB.js";const ee=()=>{const{t:r}=y("accounts"),{control:n,formState:{errors:o},watch:c}=Y(),d=c("password"),h=c("pin");return e.jsxs(G,{title:r("Account information"),children:[e.jsx(l,{variant:"h6",sx:{fontWeight:500,fontSize:"16px",color:"#212121"},children:r("Create a password and PIN for your account")}),e.jsxs(j,{spacing:2,children:[e.jsx(x,{name:"password",control:n,rules:{required:r("A password is required"),minLength:{value:8,message:r("Password must contain at least 8 characters")},validate:{hasDigit:t=>/\d/.test(t)||r("Password must contain at least one digit (0-9)"),hasLetter:t=>/[a-zA-Z]/.test(t)||r("Password must contain at least one letter")}},render:({field:t})=>{var s;return e.jsx(f,{...t,label:r("Password"),type:"password",required:!0,error:!!o.password,helperText:(s=o.password)==null?void 0:s.message})}}),e.jsx(x,{name:"passwordConfirm",control:n,rules:{required:r("Password confirmation is required"),validate:t=>t===d||r("Passwords must match")},render:({field:t})=>{var s;return e.jsx(f,{...t,label:r("Password Confirm"),type:"password",required:!0,error:!!o.passwordConfirm,helperText:(s=o.passwordConfirm)==null?void 0:s.message})}}),e.jsxs(j,{direction:"row",spacing:2,children:[e.jsx(x,{name:"pin",control:n,rules:{required:r("A PIN is required"),minLength:{value:4,message:r("Your PIN must be 4 digits long")},maxLength:{value:4,message:r("Your PIN must be 4 digits long")},pattern:{value:/^\d{4}$/,message:r("Your PIN can contain only digits")}},render:({field:t})=>{var s;return e.jsx(f,{...t,label:r("PIN"),type:"password",required:!0,inputProps:{maxLength:4},error:!!o.pin,helperText:(s=o.pin)==null?void 0:s.message,sx:{flex:1}})}}),e.jsx(x,{name:"pinConfirm",control:n,rules:{required:r("PIN confirmation is required"),validate:t=>t===h||r("PINs must match")},render:({field:t})=>{var s;return e.jsx(f,{...t,label:r("PIN Confirm"),type:"password",required:!0,inputProps:{maxLength:4},error:!!o.pinConfirm,helperText:(s=o.pinConfirm)==null?void 0:s.message,sx:{flex:1}})}})]})]})]})},re=()=>{const{t:r}=y();return e.jsxs(a,{sx:{display:"flex",alignItems:"flex-start",marginBottom:2,gap:1.5},children:[e.jsx(M,{sx:{color:"#808080",fontSize:24,marginTop:.25,flexShrink:0}}),e.jsxs(a,{children:[e.jsx(l,{variant:"h6",sx:{fontWeight:600,marginBottom:.5,color:"#000",fontSize:"14px"},children:r("Review and complete your details")}),e.jsx(l,{variant:"body2",sx:{color:"#333",lineHeight:"20px"},children:r("Create a password to register, then contact your Now Book It Account Manager to continue setup.")})]})]})},N=v(a)({minHeight:"100vh",display:"flex",flexDirection:"column"}),te=v(a)(({theme:r})=>({display:"flex",gap:"24px",alignItems:"flex-start",[r.breakpoints.down("lg")]:{flexDirection:"column",gap:"16px"}})),T=v(a)(({theme:r})=>({flex:1,minWidth:"300px"})),se=()=>{const{t:r,i18n:n}=y("common"),[o]=W(),c=X(),d=z(),h=O(),[t,s]=p.useState(!1),[w,C]=p.useState(!1),[P,u]=p.useState(null),g=o.get("token"),S=V({mode:"onChange"}),{handleSubmit:L,formState:{isDirty:oe,isValid:ie,errors:D},reset:I,trigger:B}=S;p.useEffect(()=>{Object.keys(D).length>0&&B()},[n.language]),p.useEffect(()=>{(async()=>{var m;if(!g){u(r("Invalid invitation token"));return}s(!0);try{const i=await q.getByToken(g),F={...i,businessName:i.restaurant||i.businessName,password:"",passwordConfirm:"",pin:"",pinConfirm:"",token:g,enquiryId:i.id};I(F),u(null)}catch(i){console.error("Error loading enquiry data:",i),((m=i==null?void 0:i.response)==null?void 0:m.status)===404?u(r("You've already registered for Now Book It.")):u(r("Failed to load invitation data. Please check your invitation link."))}finally{s(!1)}})()},[g,I,r]);const E=K(L,async k=>{C(!0);try{const m=await q.createRegistration(k);return d("/registration-successful"),!0}catch(m){return console.error("Error creating registration:",m),h(U({severity:"error",message:r("Registration failed. Please try again."),duration:6e3})),!1}finally{C(!1)}}),A=()=>{d("/")},b=()=>e.jsx(J,{position:"static",children:e.jsxs(a,{sx:{display:"flex",alignItems:"center",gap:2,justifyContent:"space-between",padding:"8px 16px"},children:[e.jsx("img",{src:"/images/logos/NBI-icon.svg",alt:"Now BookIt",style:{width:"50px"}}),e.jsxs(a,{sx:{display:"flex",alignItems:"center",gap:2},children:[e.jsx(Q,{}),e.jsx(l,{variant:"subtitle1",sx:{color:c.palette.grey[300],cursor:"pointer"},onClick:()=>{window.open("https://www.nowbookit.com/support","_blank")},children:r("Help Desk")})]})]})});return P?e.jsxs(N,{children:[e.jsx(b,{}),e.jsx(R,{title:r("Registration Error"),isLoading:!1,onSave:()=>{},onCancel:A,disableSave:!0,disableCancel:!1,children:e.jsx(l,{color:"error",variant:"h6",align:"center",children:P})})]}):e.jsx(N,{children:e.jsxs(_,{...S,children:[e.jsx(b,{}),e.jsxs(R,{title:r("Invitation to Register"),isLoading:t||w,onSave:E,saveText:r("Register"),disableSave:w,disableCancel:w,
1children:[e.jsx(re,{}),e.jsxs(te,{children:[e.jsx(T,{children:e.jsx(Z,{inRegisterPage:!0})}),e.jsx(T,{children:e.jsxs(j,{spacing:3,children:[e.jsx($,{}),e.jsx(ee,{})]})})]})]})]})})},Pr=H(se);export{Pr 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.