PageSourceSearch

https://visualizer.milleniummarbles.com/static/js/2790.877d0e42.chunk.js

js milleniummarbles.com collected 2026-09-29 10:55:05 UTC 30,097 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkroominteriorapp=self.webpackChunkroominteriorapp||[]).push([[2790],{30157:(e,a,t)=>{t.d(a,{pC:()=>W,rn:()=>R,Dk:()=>G,NU:()=>Z,dy:()=>T,m_:()=>C,T1:()=>P,uB:()=>S,SV:()=>N,N9:()=>j,Ir:()=>U,kq:()=>w,Gv:()=>A,uf:()=>$,YK:()=>x,pg:()=>z,Ts:()=>k,pH:()=>h,C4:()=>D,pD:()=>E,gg:()=>b,s3:()=>L,w6:()=>I,ZI:()=>M,At:()=>O,Bz:()=>B,xO:()=>_,ez:()=>F});var i=t(88574),l=t(10454),n=t(48579),r=t(72174);const o={name:"title",length:"length_mm",width:"width_mm",finishType:"finish_type",color:"color_family",applicationSurface:"application_surface",veiningStyle:"veining",shade:"shade",thickness:"thickness_mm"},s=new Set(["finishType","color","applicationSurface","veiningStyle","shade","pattern"]),d={brick:{running_pattern:!0},grid:{grid_pattern:!0},oneThird:{one_third_pattern:!0},herringbone:{herringbone_pattern:!0},bookmatch:{bookmatch:!0}},c=["walls","floor","countertops","staircase","accent-wall-slabs","window-jamb","lift-frame"],p=new Set(["generated_outputs","variants"]),u=e=>{const a={};return Object.entries(e||{}).forEach(e=>{let[t,i]=e;if(void 0===i||null===i||""===i)return;const l=o[t]||t;Array.isArray(i)?s.has(t)?a[l]=i.join(","):p.has(t)?a[l]=i:a[l]=i.join(","):a[l]=i}),a},m=e=>{var a,t;let i={...e};if(null!==(a=i)&&void 0!==a&&a.pattern){const e=i.pattern.split(","),a={grid_pattern:!1,one_third_pattern:!1,herringbone_pattern:!1,running_pattern:!1,bookmatch:!1};e.includes("allPatterns")?(a.grid_pattern=!0,a.one_third_pattern=!0,a.herringbone_pattern=!0,a.running_pattern=!0):e.forEach(e=>{const t=d[e];t&&Object.keys(t).forEach(e=>{a[e]=!0})});const{pattern:t,...l}=i;i={...l,...a}}if(null!==(t=i)&&void 0!==t&&t.application_surface){i.application_surface.split(",").includes("allSurfaces")&&(i.application_surface=c.join(","))}return i},g=async(e,a)=>{const t=u(e),i=m(t),o=l.h.getState().adminPanelNonRefreshable.adminCatalogProductType;i.category=n.Zb[o];const s=new FormData;if(Object.entries(i).forEach(e=>{let[a,t]=e;void 0!==t&&null!==t&&""!==t&&(Array.isArray(t)?s.append(a,p.has(a)?JSON.stringify(t):t.join(",")):s.append(a,t))}),a&&s.append("imageFile",a),Array.isArray(null===e||void 0===e?void 0:e.panelSetImages)){s.delete("imageSet");for(const a of e.panelSetImages)if((null===a||void 0===a?void 0:a.file)instanceof File)s.append("imageSet",a.file);else if(null!==a&&void 0!==a&&a.blobUrl){const e=await(0,r.tC)(a.blobUrl);e&&s.append("imageSet",e)}s.delete("panelSetImages")}if(null!==e&&void 0!==e&&e.preview_image){const a=await(0,r.tC)(e.preview_image);s.delete("preview_image"),s.append("preview_image",a)}return s};var v=t(50178);const f="https://app.nirwana.ai",y=i.Z.create({baseURL:"https://app.nirwana.ai",headers:{"Content-Type":"application/json",Authorization:localStorage.getItem("jwtToken")||null}});(0,v.j)(y),y.interceptors.response.use(e=>e.data,e=>{var a;return Promise.reject((null===e||void 0===e||null===(a=e.response)||void 0===a?void 0:a.data)||e)});const h=async(e,a)=>{if(e&&a)try{return(await i.Z.post(`${f}/api/admin/login`,{email:e,password:a,client_id:"68651e4414294f34112202d8"})).data}catch(n){var t,l;return console.error("Error loginUser",n),{success:!1,message:(null===n||void 0===n||null===(t=n.response)||void 0===t||null===(l=t.data)||void 0===l?void 0:l.message)||"Failed to login.",isServerBusy:null===n||void 0===n?void 0:n.isServerBusy}}},b=async function(e,a){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"add";if(!e)return{success:!1,message:"Product data is required"};if("edit"===t&&!e._id)return{success:!1,message:"Product ID is required for update"};try{let l,n,r,o;switch(t){case"add":l=`${f}/api/admin/add-product`,n="post",r=await g(e,a),o={"Content-Type":"multipart/form-data"};break;case"edit":l=`${f}/api/admin/update-product/${e._id}`,n="put",r=await g(e,a),o={"Content-Type":"multipart/form-data"};break;case"recent":l=`${f}/api/prodMarble/add-to-catalog`,n="post",r=(e=>{const a=u(e),t=m(a);return t.image_name=null===t||void 0===t?void 0:t.image,null===t||void 0===t||delete t.image,t.id=null===t||void 0===t?void 0:t._id,null===t||void 0===t||delete t._id,{...t,thickness_mm:Number(null===t||void 0===t?void 0:t.thickness_mm)}})(e),o={"Content-Type":"application/json"};break;default:return{success:!1,message:`Invalid pageMode: ${t}. Use "add", "edit", or "recent".`}}return(await i.Z[n](l,r,{headers:o})).data}catch(s){var l,n,r,o;const e={add:"adding",edit:"updating",recent:"adding to catalog"}[t]||"processing";return console.error(`Error ${e} product:`,s),{success:!1,message:(null===s||void 0===s||null===(l=s.response)||void 0===l||null===(n=l.data)||void 0===n?void 0:n.message)||`Failed to ${e} product.`,error:(null===s||void 0===s||null===(r=s.response)||void 0===r||null===(o=r.data)||void 0===o?void 0:o.error)||s.message,isServerBusy:null===s||void 0===s?void 0:s.isServerBusy}}},_=async(e,a,t)=>{if(!e||!a||!t)return{success:!1,message:"file, brandName and productType are required"};const l=new FormData;l.append("image",e),l.append("brandName",a),l.append("productType",t);try{return(await i.Z.post(`${f}/api/products/upload-applied-image`,l,{headers:{"Content-Type":"multipart/form-data"}})).data}catch(d){var n,r,o,s;return console.error("Error uploadAppliedImage",d),{success:!1,message:(null===d||void 0===d||null===(n=d.response)||void 0===n||null===(r=n.data)||void 0===r?void 0:r.message)||"Failed to upload applied image.",error:(null===d||void 0===d||null===(o=d.response)||void 0===o||null===(s=o.data)||void 0===s?void 0:s.error)||d.message,isServerBusy:null===d||void 0===d?void 0:d.isServerBusy}}},w=async e=>{let{visualizer:a="marble",brand:t,product_type:l="Marbles"}=e;try{return(await i.Z.get(`${f}/api/prodMarble/filter-values`,{params:{visualizer:a,brand:t,product_type:l}})).data}
1catch(n){console.error("Failed to fetch filter values:",n)}},x=async(e,a)=>{let{visualizerName:t="marble",productID:l=null}=a;try{return(await i.Z.get(`${f}/api/admin/get-history/${e}`,{params:{visualizer_name:t,product_id:l}})).data}catch(o){var n,r;return console.error("getGeneratedHistroy ailed to fetch generated history"),{success:!1,message:(null===o||void 0===o||null===(n=o.response)||void 0===n||null===(r=n.data)||void 0===r?void 0:r.message)||"Failed to fetch generated history",isServerBusy:null===o||void 0===o?void 0:o.isServerBusy}}},k=async(e,a)=>{try{return(await i.Z.post(`${f}/api/prodMarble/history/${e}`,a)).data}catch(n){var t,l;if(console.error("Error fetching user filter history:",n),null!==n&&void 0!==n&&n.isServerBusy)throw n;throw new Error((null===(t=n.response)||void 0===t||null===(l=t.data)||void 0===l?void 0:l.message)||n.message||"Failed to fetch user filter history")}},S=async e=>{let{formData:a,onProgress:t,signal:i}=e;return y.post("/api/admin/bulk-uploads",a,{headers:{"Content-Type":"multipart/form-data"},signal:i,onUploadProgress:e=>{if(!e.total)return;const a=Math.round(100*e.loaded/e.total);null===t||void 0===t||t(a)}})},j=async e=>{try{return y.get(`/api/admin/bulk-uploads/status/${e}`)}catch(a){console.error("bulkUploadApiStatus status faield",a)}},N=async e=>y.post(`/api/admin/upload-tasks/${e}/cancel`),A=async e=>{let{user_id:a,product_type:t,page:i=1,page_size:l=200}=e;return y.get("/api/admin/bulk-updates/brand-products",{params:{user_id:a,product_type:t,page:i,page_size:l}})},T=async e=>{let{formData:a,onProgress:t,signal:i}=e;return y.post("/api/admin/bulk-updates",a,{headers:{"Content-Type":"multipart/form-data"},signal:i,onUploadProgress:e=>{if(!e.total)return;const a=Math.round(100*e.loaded/e.total);null===t||void 0===t||t(a)}})},P=async e=>{try{return y.get(`/api/admin/bulk-updates/status/${e}`)}catch(a){console.error("bulkUpdateApiStatus status failed",a)}},C=async e=>y.get(`/api/admin/bulk-updates/user/${e}`),I=async e=>{try{return y.post("/api/admin/variant-upload",e,{headers:{"Content-Type":"multipart/form-data"}})}catch(a){console.error("Tiles variant upload failed",a)}},E={getFiltersConfig:async e=>{let{brandName:a,productType:t}=e;return y.get(`/api/admin/brand/${a}?product_type=${t}`)},getCategories:async e=>{let{brandName:a,productType:t}=e;return y.get(`/api/admin/brand/${a}/fields?product_type=${t}`)},getCategoryOptions:async e=>{let{brandName:a,productType:t,fieldName:i,search:l=""}=e;return y.get(`/api/admin/brand/${a}/field/${i}/values`,{params:{product_type:t,search:l}})},createFilterConfig:async e=>{let{brandName:a,payload:t}=e;return y.post(`/api/admin/brand/${a}`,t)},updateFilterConfig:async e=>{let{brandName:a,payload:t}=e;return y.put(`/api/admin/brand/${a}`,t)},deleteFilterConfig:async e=>{let{brandName:a,payload:t}=e;return y.delete(`/api/admin/brand/${a}`,{data:t})},createFilterValues:async e=>{let{brandName:a,payload:t}=e;return y.post(`/api/admin/brand/${a}/values`,t)},updateFilterValues:async e=>{let{brandName:a,payload:t}=e;return y.put(`/api/admin/brand/${a}/values`,t)},deleteFilterValues:async e=>{let{brandName:a,payload:t}=e;return y.delete(`/api/admin/brand/${a}/values`,{data:t})}},F=async e=>{let{file:a,onProgress:t,userId:i}=e;const l=new FormData;return l.append("image",a),l.append("user_id",i),y.post("/api/prodMarble/upload",l,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress:e=>{if(!e.total)return;const a=Math.round(100*e.loaded/e.total);null===t||void 0===t||t(a)}})},D={getAllStockImages:async e=>{let{clientId:a,bodyPayload:t}=e;return y.post(`/api/admin/clients/${a}/stock-images`,t)},addStockImage:async e=>{let{clientId:a,bodyPayload:t}=e;return y.post(`api/admin/clients/${a}/stock-images/add`,t)},removeStockImage:async e=>{let{clientId:a,bodyPayload:t}=e;return y.delete(`api/admin/clients/${a}/stock-images`,{data:t})},stockFilterValues:async e=>{let{clientId:a,visualizer_name:t="marble"}=e;return y.get(`api/admin/clients/${a}/stock-images/filters`,{params:{visualizer_name:t}})}},$=(e,a)=>y.get("/api/admin/client-plan-dashboard",{params:{client_id:e,...a}}),L=async e=>y.post("/api/prodMarble/search",e),M=async(e,a)=>{const t=Array.isArray(e)?e:[e];return y.post("/api/admin/toggle-products-visibility",{product_ids:t,is_disabled:a})},U=async e=>{const a=Array.isArray(e)?e:[e];return y.post("/api/admin/delete-products",{product_ids:a})},B=async(e,a)=>y.patch(`/api/admin/products/${e}/priority`,{priority:a}),O=async e=>await y.get(`${f}/api/analytics/report2`,{params:e}),z=async e=>y.get("/api/products/attributes_v2",{params:{productId:e}}),R=async e=>{let{user_id:a,email:t,renders:i,product_type:l}=e;return y.post("/api/bulk-render/create",{user_id:a,email:t,renders:i,product_type:l})},Z=async e=>y.get(`/api/bulk-render/status/${e}`),W=async e=>y.post(`/api/bulk-render/cancel/${e}`),G=async e=>{let{userId:a,product_type:t}=e;return y.get(`/api/bulk-render/user/${a}`,{params:{product_type:t}})}},25205:(e,a,t)=>{t.d(a,{Nb:()=>s,O3:()=>n,iY:()=>o,xQ:()=>r});var i=t(86562),l=t(46417);const n=[{category:null,items:[{pageId:"dashboard",label:"Dashboard",icon:(0,l.jsx)(i.ProductBox,{}),visible:!0}]},{category:"Product Management",items:[{pageId:"myProducts",label:"My Products",icon:(0,l.jsx)(i.ProductBox,{}),visible:!0,allowProductTypes:["marble","tile","panel","fullwalldesign"]},{pageId:"addNew",label:"Add new Product",icon:(0,l.jsx)(i.RecentIcon,{}),visible:!1},{pageId:"productFilters",label:"Product Filters",icon:(0,l.jsx)(i.FilterIcon,{size:16}),visible:!0,allowProductTypes:["marble","tile","panel","fullwalldesign"]}]},{category:"Subscription",items:[{pageId:"myPlans",label:"My Plan",icon:(0,l.jsx)(i.NotificationIcon,{}),visible:!0}]},{category:"General",items:[{pageId:"notification",label:"Notifications",icon:(0,l.jsx)(i.NotificationIcon,{}),visible:!0},{pageId:"bulkRender",label:"Bulk renders",icon:(0,l.jsx)(i.DesignCreatedIcon,{}),visible:!0,allowProductTypes:["marble","tile"]},{pageId:"myRooms",label:"Rooms",icon:(0,l.jsx)(i.MyRoomsIcon,{}),visible:!0,allowProductTypes:["marble","tile","panel"]}]}
1],r=(i.ApplicationAllWall,i.ApplicationFloor,i.ApplicationSingleWall,i.ApplicationCounterTops,{running_pattern:"brick",grid_pattern:"grid",one_third_pattern:"oneThird",herringbone_pattern:"herringbone"}),o={title:"Spacious Living Room",roomtype:"Living Room",length_m:5.5,width_m:4.6,matte_image:"https://naimgcdn.nirwana.ai/catalog/temp/matte_image_bcfe16eb-cffa-4069-9f03-e24965f91575.webp",gloss_image:"https://naimgcdn.nirwana.ai/catalog/temp/gloss_image_422eb623-3dff-4775-b3ec-c8b228b6d5cc.webp",gloss_mode:!0,centres:{walls:{1:{x:180,y:725},2:{x:3164,y:739},3:{x:2010,y:754}},floor:{1:{x:1763,y:1836}}},masks:{walls:{1:"https://naimgcdn.nirwana.ai/catalog/mask_data/69c25e748c029647df54bc04/walls_1.png",2:"https://naimgcdn.nirwana.ai/catalog/mask_data/69c25e748c029647df54bc04/walls_2.png",3:"https://naimgcdn.nirwana.ai/catalog/mask_data/69c25e748c029647df54bc04/walls_3.png"},floor:{1:"https://naimgcdn.nirwana.ai/catalog/mask_data/69c25e748c029647df54bc04/floor_1.png"}},traps:{walls:{1:{A_coord:{x:1022,y:547},B_coord:{x:0,y:235},C_coord:{x:0,y:1543},D_coord:{x:1021,y:1318}},2:{A_coord:{x:2928,y:118},B_coord:{x:3240,y:-552},C_coord:{x:3240,y:1822},D_coord:{x:2949,y:1517}},3:{A_coord:{x:806,y:482},B_coord:{x:3092,y:92},C_coord:{x:3086,y:1631},D_coord:{x:806,y:1359}}},floor:{1:{A_coord:{x:1279,y:2007},B_coord:{x:1397,y:342},C_coord:{x:3640,y:-1578},D_coord:{x:1750,y:4303}}}},inferences:{walls:{1:{height:3.05,width:2.8},2:{height:3.65,width:1.08},3:{height:3.05,width:5.2}},floor:{1:{length:5.2,width:4.36}}},k_scores:{walls:{1:{gk:{k1:223.55687383038128,k2:25.07833359637921},mk:{k1:215.7976539385934,k2:19.774598639812197}},2:{gk:{k1:234.5025215626297,k2:4.4122243381246395},mk:{k1:228.68946401869425,k2:4.024251704991183}},3:{gk:{k1:234.74426204531937,k2:16.312481758968495},mk:{k1:226.53117934790586,k2:8.973041006846497}}},floor:{1:{gk:{k1:235.97518294233143,k2:16.57116461212439},mk:{k1:228.20559318036322,k2:13.715258042329724}}},windows:{},main_curtains:{},sheer_curtains:{},blinds:{},countertops:{}}},s={walls:[{id:1,x:180,y:725,isSelected:!0,groupId:null,groupLabel:null,isClusterHead:!1},{id:2,x:3164,y:739,isSelected:!0,groupId:null,groupLabel:null,isClusterHead:!1},{id:3,x:2010,y:754,isSelected:!0,groupId:null,groupLabel:null,isClusterHead:!0}],floor:[{id:1,x:1763,y:1836,isSelected:!0,groupId:null,groupLabel:null,isClusterHead:!0}]}},48579:(e,a,t)=>{t.d(a,{Zb:()=>r,ax:()=>s,h_:()=>o,pZ:()=>n,t_:()=>d});var i=t(86562),l=t(46417);const n={fields:[{order:1,type:"text",name:"name",label:"Name",placeholder:"Enter name",required:!0,productTypes:["marble","tile","wallpaper","panel","curtain","paint","fullwalldesign"]},{order:2,type:"text",name:"thickness",label:"Thickness (mm)",placeholder:"Enter thickness",required:!0,productTypes:["marble","tile"]},{order:3,type:"select",name:"random_rotation_flag",label:"Random rotation",placeholder:"Select random rotation",multiple:!1,required:!0,customHandler:!0,productTypes:["marble","tile"],options:[{value:!0,label:"Yes"},{value:!1,label:"No"}]},{order:5,type:"select",name:"applicationSurface",label:"Application surface",placeholder:"All surfaces",multiple:!0,required:!0,productTypes:["marble","tile"],options:[{value:"allSurfaces",label:"All surfaces"},{value:"walls",label:"Walls",icon:(0,l.jsx)(i.ApplicationSingleWall,{})},{value:"floor",label:"Floors",icon:(0,l.jsx)(i.ApplicationFloor,{})},{value:"countertops",label:"Countertops",icon:(0,l.jsx)(i.ApplicationCounterTops,{})},{value:"staircase",label:"Staircase",icon:(0,l.jsx)(i.ApplicationStaircase,{})},{value:"accent-wall-slabs",label:"Accent Wall Slabs",icon:(0,l.jsx)(i.ApplicationAccentWalls,{})},{value:"window-jamb",label:"Window Jambs",icon:(0,l.jsx)(i.ApplicationWindowJambs,{})},{value:"lift-frame",label:"Lift Frame",icon:(0,l.jsx)(i.ApplicationLiftWall,{})}]},{order:6,type:"select",name:"pattern",label:"Pattern",multiple:!0,placeholder:"All patterns",required:!0,productTypes:["marble","tile","wallpaper"],options:[{value:"allPatterns",label:"All patterns"},{value:"grid",label:"Grid",icon:(0,l.jsx)(i.Grout,{})},{value:"brick",label:"Brick",icon:(0,l.jsx)(i.PatternBrick,{})},{value:"oneThird",label:"1/3 offset",icon:(0,l.jsx)(i.PatternOffset,{})},{value:"herringbone",label:"Herringbone",icon:(0,l.jsx)(i.PatternHerringbone,{})},{value:"bookmatch",label:"Bookmatch",icon:(0,l.jsx)(i.BookmatchPatternIcon,{size:14})}]},{order:7,type:"select",name:"surface_finish",label:"Surface finish",multiple:!0,placeholder:"Select surface type",required:!0,productTypes:["marble","tile"],options:[{value:"gloss",label:"Gloss"},{value:"matte",label:"Matte"}]},{order:8,type:"size",name:"size",label:"Size",required:!0,productTypes:["panel","fullwalldesign"],sizeFields:[{name:"width",placeholder:"Width"},{name:"length",placeholder:"Length"}]},{order:9,type:"select",name:"panel_layout",label:"Panel layout",placeholder:"Select single panel or panel set",multiple:!1,required:!0,productTypes:["panel"],options:[{value:"single panel",label:"Single panel"},{value:"panel set",label:"Panel set"}]},{order:11,type:"text",name:"sku",label:"SKU",placeholder:"Enter SKU",required:!1,productTypes:["panel","fullwalldesign"]}],unitOptions:[{id:"mm",label:"Millimeters"},{id:"ft",label:"Feet"},{id:"in",label:"Inches"},{id:"cm",label:"Centimeter"}],description:{name:"description",type:"text",label:"Marble description",placeholder:e=>{let{productType:a="marble"}=e;return`Example: A premium ${a} with fine veining and warm undertones, ideal for countertops and walls.`},cols:50}},r={marble:"Marbles",tile:"Tiles",panel:"Panels",fullwalldesign:"FullWallDesigns"},o={marble:"stone",tile:"tile",fullwalldesign:"full wall design",wallpaper:"Wallpaper",panel:"Panel",curtain:"Curtain",paint:"Paint"},s=[{id:"marble",label:"Stone"},{id:"tile",label:"Tiles & Flooring"},{id:"fullwalldesign",label:"Full wall design"},{id:"wallpaper",label:"Wallpaper"},{id:"panel",label:"Panel"},{id:"curtain",label:"Curtain"},{id:"paint",label:"Paint"}],d={marble:"marble",tile:"wall,floor,countertop",panel:"wall",fullwalldesign:"wall"}},72174:(e,a,t)=>{t.d(a,{AA:()=>g,Aj:()=>v,Dg:()=>c,FQ:()=>k,Iw:()=>w,JG:()=>h,Jw:()=>m,SG:()=>u,bk:()=>S,iT:()=>d,kK:()=>b,mo:()=>_,p6:()=>x,tC:()=>o,z1:()=>f,zC:()=>s,ze:()=>p});var i=t(41616),l=t(25205),n=t(48579),r=t(53340);const o=async e=>{if(!e)throw new Error("urlToFile: url is required");const a=await fetch(e),t=await a.blob(),i=new Date,l=i.getFullYear().toString()+String(i.getMonth()+1).padStart(2,"0")+String(i.getDate()).padStart(2,"0")+String(i.getHours()).padStart(2,"0")+String(i.getMinutes()).padStart(2,"0")+String(i.getSeconds()).padStart(2,"0")+String(i.getMilliseconds()).padStart(3,"0");return new File([t],`product_${l}.png`,{type:"image/png"})},s=e=>{const a={};
1return Object.entries(e).forEach(e=>{let[t,i]=e;i&&0!==i.length&&("size"===t?a.size=i.map(e=>{const[a,t]=e.split(" x ");return{width_mm:parseFloat(a),length_mm:parseFloat(t)}}):a[t]=i)}),a},d=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const t=l.O3.flatMap(e=>e.items).find(a=>a.pageId===e),i=null===t||void 0===t?void 0:t.allowProductTypes;return n.ax.filter(e=>a.includes(e.id)&&(!i||i.includes(e.id)))},c=function(e,a){let{availableProductTypes:t=[],adminCatalogProductType:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!a)return void console.warn(`dispatch is not defind for page id: ${e}`);const r=l.O3.flatMap(e=>e.items).find(a=>(null===a||void 0===a?void 0:a.pageId)===e)||{pageId:e};window.scrollTo({top:0,behavior:"smooth"}),a((0,i.Q6)({})),a((0,i.pH)(r.pageId));const o=d(e,t);o.length&&!o.some(e=>e.id===n)&&a((0,i.SR)(o[0].id))},p=e=>{if(!e)return null;const a=new Date(e);return`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`},u=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const t=Object.entries(l.xQ).filter(a=>{let[t]=a;return"true"===(null===e||void 0===e?void 0:e[t])||!0===(null===e||void 0===e?void 0:e[t])}).map(e=>{let[,a]=e;return a});if(!a)return t;const i=n.pZ.fields.find(e=>"pattern"===e.name);return i?t.map(e=>i.options.find(a=>a.value===e)).filter(Boolean).map(e=>e.label).join(","):[]},m=function(e){let{size:a=30,extensions:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(i=>(0,r.mW)(e,t)?e.size>1024*a*1024?i({title:"File too large",message:`Upload file size should be less than ${a}MB`}):i(null):i({title:"Not a valid file",message:"Upload in JPG, PNG, or WEBP format"}))},g=e=>e?n.pZ.fields.filter(a=>{var t;return null===(t=a.productTypes)||void 0===t?void 0:t.includes(e)}):n.pZ.fields,v=(e,a)=>{if(!a||!e)return e;const t=new Set(n.pZ.fields.filter(e=>{var t;return null===(t=e.productTypes)||void 0===t?void 0:t.includes(a)}).map(e=>e.name)),i=new Set(n.pZ.fields.filter(e=>{var t;return!(null!==(t=e.productTypes)&&void 0!==t&&t.includes(a))}).map(e=>e.name).filter(e=>!t.has(e))),l={};return Object.keys(e).forEach(a=>{i.has(a)||void 0!==e[a]&&null!==e[a]&&(l[a]=e[a])}),l},f=e=>{if(!e)return[];const a=g(e).map(e=>e.name);return[...new Set([...a,"name","width","length","description"])]};let y=null;const h=e=>{y=e},b=()=>!!y&&(y.abort(),y=null,!0),_=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/_/g," ").split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")},w=e=>"number"!==typeof e||e<0?0:e,x=e=>new Date(e).toLocaleDateString("en-GB",{day:"2-digit",month:"short",year:"numeric"}),k=e=>{if(e.is_unlimited)return"Unlimited";const a=w(e.value-e.consumed);return 0===a?"0 remaining":a},S=e=>{if(null===e||void 0===e||!e.start_date||null===e||void 0===e||!e.end_date)return{isPlanExpired:!1,planStart:"",planEnd:"",progressValue:0,remainingDays:0};const a=new Date(e.start_date),t=new Date(e.end_date),i=a.getTime(),l=t.getTime(),n=Date.now(),r=l<n,o=Math.max(0,Math.floor((l-n)/864e5)),s=Math.min(100,Math.max(0,Math.round((l-n)/(l-i)*100)));return{isPlanExpired:r,planStart:a.toLocaleDateString("en-GB",{timeZone:"Asia/Kolkata"}),planEnd:t.toLocaleDateString("en-GB",{timeZone:"Asia/Kolkata"}),progressValue:s,remainingDays:o}}},82790:(e,a,t)=>{t.r(a),t.d(a,{default:()=>x});var i=t(47313),l=t(58467),n=t(41017),r=t(86562),o=t(42824),s=t(35332),d=t(51239),c=t(86268),p=t(35732),u=t(30157),m=t(65537),g=t(42712),v=t(41616),f=t(25461),y=t(69002),h=t(46417);const b=e=>{let{noConfig:a,setNoConfig:t}=e;const[b,_]=(0,i.useState)(!1),[w,x]=(0,i.useState)(!1),[k,S]=(0,i.useState)(!1),{isDesktop:j,isLargeDesktop:N}=(0,o.F)("admin"),{showError:A}=(0,c.p)(),[T,P]=(0,i.useState)({}),[C,I]=(0,i.useState)({loginEmail:"",loginPassword:""}),E=(0,l.s0)(),F=j||N,D=(0,m.I0)(),$=async e=>{const{name:a,value:t}=e.target;I(e=>({...e,[a]:t}));const i=await(0,p.OP)(p.dm,a,t,C);P(e=>({...e,[a]:i}))},L=async e=>{e.preventDefault();const a=await(0,p.c0)(p.dm,C);if(Object.keys(a).length>0){P(a);const e=Object.values(a)[0];return void A("Missing required field",e)}P({}),_(!0);try{var i,l,n,r,o,s,d,c,m,h;const e=await(0,u.pH)(C.loginEmail,C.loginPassword);if(!e.success)return void A(null===e||void 0===e?void 0:e.message);const a=(null===e||void 0===e||null===(i=e.config)||void 0===i?void 0:i.brand)||(null===e||void 0===e||null===(l=e.config)||void 0===l||null===(n=l.marble)||void 0===n?void 0:n.brand);if(null===e||void 0===e||!e.config||!a)return void t(!0);const p={...null===e||void 0===e?void 0:e.config,...null===e||void 0===e||null===(r=e.config)||void 0===r?void 0:r.admin_panel,brand:a}||"";D((0,v.ry)({...p}));const b=(null===e||void 0===e||null===(o=e.config)||void 0===o||null===(s=o.admin_panel)||void 0===s||null===(d=s.available_products)||void 0===d?void 0:d.map(e=>e.toLowerCase().replace(/s$/,"")))||[];D((0,v.Qu)(b)),D((0,y.NF)((null===e||void 0===e||null===(c=e.config)||void 0===c||null===(m=c.admin_panel)||void 0===m?void 0:m.default_unit)||"mm"));const _=null===(h=f.store.getState().adminPanelNonRefreshable)||void 0===h?void 0:h.availableProductTypes[0];D((0,v.SR)(_)),localStorage.setItem("jwtToken",null===e||void 0===e?void 0:e.token);const w=null===e||void 0===e?void 0:e.user;
1D((0,g.sO)({isUserLoggedIn:!0,userDetail:{userId:null===w||void 0===w?void 0:w.userId,email:null===w||void 0===w?void 0:w.email,firstName:null===w||void 0===w?void 0:w.firstName,lastName:null===w||void 0===w?void 0:w.lastName,userCredits:null===w||void 0===w?void 0:w.credits,freeCredits:(null===w||void 0===w?void 0:w.freeCredits)||!1,phoneNumber:null===w||void 0===w?void 0:w.phoneNumber,role:null===w||void 0===w?void 0:w.role,subscription:(null===w||void 0===w?void 0:w.subscription)||null,type:(null===w||void 0===w?void 0:w.type)||null}})),E("/admin-panel")}catch(b){console.error("Error loginUser",b)}finally{_(!1)}};return(0,h.jsxs)("section",{className:"AdminLogin__login-section",children:[(0,h.jsxs)("div",{className:"AdminLogin__form-wrapper",children:[F&&(0,h.jsx)("div",{className:"AdminLogin__login-banner",children:(0,h.jsx)("img",{src:"https://i.postimg.cc/tTjPZj4S/c638fcd2a615c8e7e09b254e4fb95463d4ea38f3.jpg",alt:"Nirwana dashboard"})}),(0,h.jsxs)("div",{className:"AdminLogin__login-form",children:[(0,h.jsx)("h3",{className:"ui-text-28 ui-font-bold",children:"Admin Login"}),(0,h.jsxs)("form",{className:"AdminLogin__login-form-fields",onSubmit:L,children:[(0,h.jsxs)("label",{htmlFor:"loginEmail",className:"input_label",children:[(0,h.jsxs)("p",{className:"ui-text-14 ui-font-medium",children:["Email address ",(0,h.jsx)("span",{children:"*"})]}),(0,h.jsx)("input",{type:"email",className:"input_item",name:"loginEmail",id:"loginEmail",placeholder:"Enter your email",value:(null===C||void 0===C?void 0:C.loginEmail)||"",onChange:$,"aria-invalid":!(null===T||void 0===T||!T.loginEmail)})]}),(0,h.jsxs)("label",{htmlFor:"loginPassword",className:"input_label",children:[(0,h.jsxs)("p",{className:"ui-text-14 ui-font-medium",children:["Password ",(0,h.jsx)("span",{children:"*"})]}),(0,h.jsxs)("div",{className:"has_password",children:[(0,h.jsx)("input",{type:w?"text":"password",className:"input_item",name:"loginPassword",id:"loginPassword",placeholder:"Enter your password",value:(null===C||void 0===C?void 0:C.loginPassword)||"",onChange:$,"aria-invalid":!(null===T||void 0===T||!T.loginPassword)}),(0,h.jsx)("div",{className:"pass_icon",onClick:()=>x(!w),children:w?(0,h.jsx)(r.EyeClose,{}):(0,h.jsx)(r.EyeOpen,{})})]})]}),(0,h.jsx)("div",{className:"forgot_password",children:(0,h.jsx)("button",{className:"ui-text-14 ui-font-medium",type:"button",onClick:()=>S(!0),children:"Forgot Password?"})})]}),(0,h.jsx)("div",{className:"form_btn",children:(0,h.jsx)(n.KM,{buttonText:"Login",type:"submit",fullWidth:!0,onClick:L,disabled:b})})]})]}),(0,h.jsx)(d.Z,{show:k,width:"100%",height:"420px",size:"lg",onHide:()=>S(!1),children:(0,h.jsx)(s.Z,{onHide:S})})]})};var _=t(78589),w=t(24381);const x=()=>{const e=(0,m.v9)(_.PR),a=(0,l.s0)(),[t,o]=(0,i.useState)(!1),s=(0,m.I0)();(0,i.useEffect)(()=>{null!==e&&void 0!==e&&e.isUserLoggedIn&&a("/admin-panel")},[]),(0,i.useEffect)(()=>{(async()=>{try{var a,t;const i=await(0,w.Fv)({path:"/viewspace-homepage",userId:null===e||void 0===e?void 0:e.userDetail.userId}),l=(null===i||void 0===i||null===(a=i.data)||void 0===a||null===(t=a.css_config)||void 0===t?void 0:t.combine)||{};s((0,y.y0)(l))}catch(i){console.error("Theme API failed",i)}})()},[]);const d=[{icon:(0,h.jsx)(r.ContactMail,{}),label:"Email",info:"[email protected]",link:"mailto:[email protected]"},{icon:(0,h.jsx)(r.ContactLocation,{}),label:"Office Address",info:"59 G/F New Rajdhani Enclave, CGHS East Delhi, New Delhi \u2013 110092"},{icon:(0,h.jsx)(r.ContactPhone,{}),label:"Email",info:"+91 9205989379",link:"tel:+919205989379"}];return t?(0,h.jsx)("div",{className:"AdminLogin__page-container",style:{minHeight:"100vh",display:"grid",placeContent:"center"},children:(0,h.jsxs)("section",{className:"AdminLogin__page-noconfig",style:{maxWidth:"500px",display:"flex",flexDirection:"column",gap:"20px",backgroundColor:"#fff",padding:"40px",borderRadius:"20px"},children:[(0,h.jsx)("h3",{className:"ui-text-24 ui-font-bold",children:"Configuration Missing"}),(0,h.jsx)("p",{className:"ui-text-16 ui-font-medium",style:{color:"var(--primary-color-80)"}
1,children:"It seems that your admin panel configuration is missing or incomplete. Please contact support to resolve this issue."}),(0,h.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[(0,h.jsx)(n.Tx,{buttonText:"Retry login",onClick:()=>o(!1),className:"marble-pill-button",fullWidth:!0}),(0,h.jsx)(n.KM,{buttonText:"Contact support",fullWidth:!0,onClick:()=>window.open("https://nirwana.ai/contact-us","_blank")})]})]})}):(0,h.jsxs)("div",{className:"AdminLogin__page-container",children:[(0,h.jsx)(b,{noConfig:t,setNoConfig:o}),(0,h.jsxs)("section",{className:"AdminLogin__page-cta",children:[(0,h.jsxs)("div",{className:"section_title",children:[(0,h.jsx)("h3",{className:"ui-text-40 ui-font-bold",children:"Need help or have questions?"}),(0,h.jsx)("p",{className:"ui-text-16 ui-font-medium",children:"Whether it's about pricing, features, or a quick demo our team is here to help you out."})]}),(0,h.jsx)("div",{className:"AdminLogin__page-icon-box-wrapper",children:d.map((e,a)=>(0,h.jsxs)("div",{className:"AdminLogin__page-icon-box",children:[(0,h.jsx)("div",{className:"AdminLogin__page-icon",children:e.icon}),(0,h.jsxs)("div",{className:"AdminLogin__page-content",children:[(0,h.jsx)("h4",{className:"ui-text-24 ui-font-bold",style:{marginBottom:10},children:e.label}),null!==e&&void 0!==e&&e.link?(0,h.jsx)("a",{className:"ui-text-16 ui-font-medium",href:e.link,children:e.info}):(0,h.jsx)("p",{className:"ui-text-16 ui-font-medium",children:e.info})]})]},a))})]})]})}},41616:(e,a,t)=>{t.d(a,{Q6:()=>o,Qu:()=>d,SR:()=>l,i0:()=>s,pH:()=>n,ry:()=>r,t8:()=>c});var i=t(13326);const l=e=>({type:i.U.SET_ADIMN_CATALOG_PRODUCT_TYPE,payload:e}),n=e=>({type:i.U.SET_ADIMN_CATALOG_CURRENT_PAGE,payload:e}),r=e=>({type:i.U.SET_ADMIN_PANEL_CONFIG,payload:e}),o=e=>({type:i.U.SET_ADMIN_FORM_DATA,payload:e}),s=e=>({type:i.U.SET_BULK_UPLOAD_STATUS,payload:e}),d=e=>({type:i.U.SET_AVAILABLE_PRODUCT_TYPES,payload:e}),c=()=>({type:i.U.RESET_ADMIN_PANEL_STATE})}}]);

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.