@vikukumar/propvault 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +15 -0
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +73 -0
- package/.next/build-manifest.json +23 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +274 -0
- package/.next/required-server-files.json +358 -0
- package/.next/routes-manifest.json +541 -0
- package/.next/server/app/(website)/[...slug]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/(website)/[...slug]/page/build-manifest.json +19 -0
- package/.next/server/app/(website)/[...slug]/page/next-font-manifest.json +13 -0
- package/.next/server/app/(website)/[...slug]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/(website)/[...slug]/page/server-reference-manifest.json +53 -0
- package/.next/server/app/(website)/[...slug]/page.js +27 -0
- package/.next/server/app/(website)/[...slug]/page.js.map +5 -0
- package/.next/server/app/(website)/[...slug]/page.js.nft.json +1 -0
- package/.next/server/app/(website)/[...slug]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/(website)/blog/[slug]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/(website)/blog/[slug]/page/build-manifest.json +19 -0
- package/.next/server/app/(website)/blog/[slug]/page/next-font-manifest.json +13 -0
- package/.next/server/app/(website)/blog/[slug]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/(website)/blog/[slug]/page/server-reference-manifest.json +17 -0
- package/.next/server/app/(website)/blog/[slug]/page.js +25 -0
- package/.next/server/app/(website)/blog/[slug]/page.js.map +5 -0
- package/.next/server/app/(website)/blog/[slug]/page.js.nft.json +1 -0
- package/.next/server/app/(website)/blog/[slug]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/(website)/blog/page/app-paths-manifest.json +3 -0
- package/.next/server/app/(website)/blog/page/build-manifest.json +19 -0
- package/.next/server/app/(website)/blog/page/next-font-manifest.json +13 -0
- package/.next/server/app/(website)/blog/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/(website)/blog/page/server-reference-manifest.json +4 -0
- package/.next/server/app/(website)/blog/page.js +18 -0
- package/.next/server/app/(website)/blog/page.js.map +5 -0
- package/.next/server/app/(website)/blog/page.js.nft.json +1 -0
- package/.next/server/app/(website)/blog/page_client-reference-manifest.js +3 -0
- package/.next/server/app/(website)/contact/page/app-paths-manifest.json +3 -0
- package/.next/server/app/(website)/contact/page/build-manifest.json +19 -0
- package/.next/server/app/(website)/contact/page/next-font-manifest.json +13 -0
- package/.next/server/app/(website)/contact/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/(website)/contact/page/server-reference-manifest.json +17 -0
- package/.next/server/app/(website)/contact/page.js +25 -0
- package/.next/server/app/(website)/contact/page.js.map +5 -0
- package/.next/server/app/(website)/contact/page.js.nft.json +1 -0
- package/.next/server/app/(website)/contact/page_client-reference-manifest.js +3 -0
- package/.next/server/app/(website)/page/app-paths-manifest.json +3 -0
- package/.next/server/app/(website)/page/build-manifest.json +19 -0
- package/.next/server/app/(website)/page/next-font-manifest.json +13 -0
- package/.next/server/app/(website)/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/(website)/page/server-reference-manifest.json +65 -0
- package/.next/server/app/(website)/page.js +27 -0
- package/.next/server/app/(website)/page.js.map +5 -0
- package/.next/server/app/(website)/page.js.nft.json +1 -0
- package/.next/server/app/(website)/page_client-reference-manifest.js +3 -0
- package/.next/server/app/(website)/projects/[slug]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/(website)/projects/[slug]/page/build-manifest.json +19 -0
- package/.next/server/app/(website)/projects/[slug]/page/next-font-manifest.json +13 -0
- package/.next/server/app/(website)/projects/[slug]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/(website)/projects/[slug]/page/server-reference-manifest.json +17 -0
- package/.next/server/app/(website)/projects/[slug]/page.js +25 -0
- package/.next/server/app/(website)/projects/[slug]/page.js.map +5 -0
- package/.next/server/app/(website)/projects/[slug]/page.js.nft.json +1 -0
- package/.next/server/app/(website)/projects/[slug]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/(website)/projects/page/app-paths-manifest.json +3 -0
- package/.next/server/app/(website)/projects/page/build-manifest.json +19 -0
- package/.next/server/app/(website)/projects/page/next-font-manifest.json +13 -0
- package/.next/server/app/(website)/projects/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/(website)/projects/page/server-reference-manifest.json +4 -0
- package/.next/server/app/(website)/projects/page.js +18 -0
- package/.next/server/app/(website)/projects/page.js.map +5 -0
- package/.next/server/app/(website)/projects/page.js.nft.json +1 -0
- package/.next/server/app/(website)/projects/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_global-error/page/build-manifest.json +19 -0
- package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_global-error/page.js +10 -0
- package/.next/server/app/_global-error/page.js.map +5 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +15 -0
- package/.next/server/app/_global-error.rsc +14 -0
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_not-found/page/build-manifest.json +19 -0
- package/.next/server/app/_not-found/page/next-font-manifest.json +13 -0
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_not-found/page.js +16 -0
- package/.next/server/app/_not-found/page.js.map +5 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_not-found.html +111 -0
- package/.next/server/app/_not-found.meta +16 -0
- package/.next/server/app/_not-found.rsc +87 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +87 -0
- package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
- package/.next/server/app/_not-found.segments/_index.segment.rsc +68 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +7 -0
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/admin/analytics/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/analytics/page/build-manifest.json +19 -0
- package/.next/server/app/admin/analytics/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/analytics/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/analytics/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/analytics/page.js +22 -0
- package/.next/server/app/admin/analytics/page.js.map +5 -0
- package/.next/server/app/admin/analytics/page.js.nft.json +1 -0
- package/.next/server/app/admin/analytics/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/audit/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/audit/page/build-manifest.json +19 -0
- package/.next/server/app/admin/audit/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/audit/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/audit/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/audit/page.js +22 -0
- package/.next/server/app/admin/audit/page.js.map +5 -0
- package/.next/server/app/admin/audit/page.js.nft.json +1 -0
- package/.next/server/app/admin/audit/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/cms/email-templates/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/cms/email-templates/page/build-manifest.json +19 -0
- package/.next/server/app/admin/cms/email-templates/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/cms/email-templates/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/cms/email-templates/page/server-reference-manifest.json +29 -0
- package/.next/server/app/admin/cms/email-templates/page.js +24 -0
- package/.next/server/app/admin/cms/email-templates/page.js.map +5 -0
- package/.next/server/app/admin/cms/email-templates/page.js.nft.json +1 -0
- package/.next/server/app/admin/cms/email-templates/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/cms/menus/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/cms/menus/page/build-manifest.json +19 -0
- package/.next/server/app/admin/cms/menus/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/cms/menus/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/cms/menus/page/server-reference-manifest.json +41 -0
- package/.next/server/app/admin/cms/menus/page.js +24 -0
- package/.next/server/app/admin/cms/menus/page.js.map +5 -0
- package/.next/server/app/admin/cms/menus/page.js.nft.json +1 -0
- package/.next/server/app/admin/cms/menus/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/cms/pages/[id]/edit/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/cms/pages/[id]/edit/page/build-manifest.json +19 -0
- package/.next/server/app/admin/cms/pages/[id]/edit/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/cms/pages/[id]/edit/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/cms/pages/[id]/edit/page/server-reference-manifest.json +77 -0
- package/.next/server/app/admin/cms/pages/[id]/edit/page.js +27 -0
- package/.next/server/app/admin/cms/pages/[id]/edit/page.js.map +5 -0
- package/.next/server/app/admin/cms/pages/[id]/edit/page.js.nft.json +1 -0
- package/.next/server/app/admin/cms/pages/[id]/edit/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/cms/pages/new/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/cms/pages/new/page/build-manifest.json +19 -0
- package/.next/server/app/admin/cms/pages/new/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/cms/pages/new/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/cms/pages/new/page/server-reference-manifest.json +17 -0
- package/.next/server/app/admin/cms/pages/new/page.js +24 -0
- package/.next/server/app/admin/cms/pages/new/page.js.map +5 -0
- package/.next/server/app/admin/cms/pages/new/page.js.nft.json +1 -0
- package/.next/server/app/admin/cms/pages/new/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/cms/pages/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/cms/pages/page/build-manifest.json +19 -0
- package/.next/server/app/admin/cms/pages/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/cms/pages/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/cms/pages/page/server-reference-manifest.json +29 -0
- package/.next/server/app/admin/cms/pages/page.js +23 -0
- package/.next/server/app/admin/cms/pages/page.js.map +5 -0
- package/.next/server/app/admin/cms/pages/page.js.nft.json +1 -0
- package/.next/server/app/admin/cms/pages/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/cms/redirects/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/cms/redirects/page/build-manifest.json +19 -0
- package/.next/server/app/admin/cms/redirects/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/cms/redirects/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/cms/redirects/page/server-reference-manifest.json +41 -0
- package/.next/server/app/admin/cms/redirects/page.js +24 -0
- package/.next/server/app/admin/cms/redirects/page.js.map +5 -0
- package/.next/server/app/admin/cms/redirects/page.js.nft.json +1 -0
- package/.next/server/app/admin/cms/redirects/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/cms/seo/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/cms/seo/page/build-manifest.json +19 -0
- package/.next/server/app/admin/cms/seo/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/cms/seo/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/cms/seo/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/cms/seo/page.js +22 -0
- package/.next/server/app/admin/cms/seo/page.js.map +5 -0
- package/.next/server/app/admin/cms/seo/page.js.nft.json +1 -0
- package/.next/server/app/admin/cms/seo/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/content/banners/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/content/banners/page/build-manifest.json +19 -0
- package/.next/server/app/admin/content/banners/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/content/banners/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/content/banners/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/content/banners/page.js +22 -0
- package/.next/server/app/admin/content/banners/page.js.map +5 -0
- package/.next/server/app/admin/content/banners/page.js.nft.json +1 -0
- package/.next/server/app/admin/content/banners/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/content/blogs/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/content/blogs/page/build-manifest.json +19 -0
- package/.next/server/app/admin/content/blogs/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/content/blogs/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/content/blogs/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/content/blogs/page.js +22 -0
- package/.next/server/app/admin/content/blogs/page.js.map +5 -0
- package/.next/server/app/admin/content/blogs/page.js.nft.json +1 -0
- package/.next/server/app/admin/content/blogs/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/content/faqs/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/content/faqs/page/build-manifest.json +19 -0
- package/.next/server/app/admin/content/faqs/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/content/faqs/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/content/faqs/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/content/faqs/page.js +22 -0
- package/.next/server/app/admin/content/faqs/page.js.map +5 -0
- package/.next/server/app/admin/content/faqs/page.js.nft.json +1 -0
- package/.next/server/app/admin/content/faqs/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/content/news/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/content/news/page/build-manifest.json +19 -0
- package/.next/server/app/admin/content/news/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/content/news/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/content/news/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/content/news/page.js +22 -0
- package/.next/server/app/admin/content/news/page.js.map +5 -0
- package/.next/server/app/admin/content/news/page.js.nft.json +1 -0
- package/.next/server/app/admin/content/news/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/content/testimonials/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/content/testimonials/page/build-manifest.json +19 -0
- package/.next/server/app/admin/content/testimonials/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/content/testimonials/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/content/testimonials/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/content/testimonials/page.js +22 -0
- package/.next/server/app/admin/content/testimonials/page.js.map +5 -0
- package/.next/server/app/admin/content/testimonials/page.js.nft.json +1 -0
- package/.next/server/app/admin/content/testimonials/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/geography/cities/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/geography/cities/page/build-manifest.json +19 -0
- package/.next/server/app/admin/geography/cities/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/geography/cities/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/geography/cities/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/geography/cities/page.js +22 -0
- package/.next/server/app/admin/geography/cities/page.js.map +5 -0
- package/.next/server/app/admin/geography/cities/page.js.nft.json +1 -0
- package/.next/server/app/admin/geography/cities/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/geography/localities/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/geography/localities/page/build-manifest.json +19 -0
- package/.next/server/app/admin/geography/localities/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/geography/localities/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/geography/localities/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/geography/localities/page.js +22 -0
- package/.next/server/app/admin/geography/localities/page.js.map +5 -0
- package/.next/server/app/admin/geography/localities/page.js.nft.json +1 -0
- package/.next/server/app/admin/geography/localities/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/leads/[id]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/leads/[id]/page/build-manifest.json +19 -0
- package/.next/server/app/admin/leads/[id]/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/leads/[id]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/leads/[id]/page/server-reference-manifest.json +29 -0
- package/.next/server/app/admin/leads/[id]/page.js +26 -0
- package/.next/server/app/admin/leads/[id]/page.js.map +5 -0
- package/.next/server/app/admin/leads/[id]/page.js.nft.json +1 -0
- package/.next/server/app/admin/leads/[id]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/leads/followups/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/leads/followups/page/build-manifest.json +19 -0
- package/.next/server/app/admin/leads/followups/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/leads/followups/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/leads/followups/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/leads/followups/page.js +22 -0
- package/.next/server/app/admin/leads/followups/page.js.map +5 -0
- package/.next/server/app/admin/leads/followups/page.js.nft.json +1 -0
- package/.next/server/app/admin/leads/followups/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/leads/mine/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/leads/mine/page/build-manifest.json +19 -0
- package/.next/server/app/admin/leads/mine/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/leads/mine/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/leads/mine/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/leads/mine/page.js +22 -0
- package/.next/server/app/admin/leads/mine/page.js.map +5 -0
- package/.next/server/app/admin/leads/mine/page.js.nft.json +1 -0
- package/.next/server/app/admin/leads/mine/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/leads/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/leads/page/build-manifest.json +19 -0
- package/.next/server/app/admin/leads/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/leads/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/leads/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/leads/page.js +22 -0
- package/.next/server/app/admin/leads/page.js.map +5 -0
- package/.next/server/app/admin/leads/page.js.nft.json +1 -0
- package/.next/server/app/admin/leads/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/leads/site-visits/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/leads/site-visits/page/build-manifest.json +19 -0
- package/.next/server/app/admin/leads/site-visits/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/leads/site-visits/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/leads/site-visits/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/leads/site-visits/page.js +22 -0
- package/.next/server/app/admin/leads/site-visits/page.js.map +5 -0
- package/.next/server/app/admin/leads/site-visits/page.js.nft.json +1 -0
- package/.next/server/app/admin/leads/site-visits/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/media/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/media/page/build-manifest.json +19 -0
- package/.next/server/app/admin/media/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/media/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/media/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/media/page.js +22 -0
- package/.next/server/app/admin/media/page.js.map +5 -0
- package/.next/server/app/admin/media/page.js.nft.json +1 -0
- package/.next/server/app/admin/media/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/newsletter/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/newsletter/page/build-manifest.json +19 -0
- package/.next/server/app/admin/newsletter/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/newsletter/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/newsletter/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/newsletter/page.js +22 -0
- package/.next/server/app/admin/newsletter/page.js.map +5 -0
- package/.next/server/app/admin/newsletter/page.js.nft.json +1 -0
- package/.next/server/app/admin/newsletter/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/page/build-manifest.json +19 -0
- package/.next/server/app/admin/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/page/server-reference-manifest.json +41 -0
- package/.next/server/app/admin/page.js +22 -0
- package/.next/server/app/admin/page.js.map +5 -0
- package/.next/server/app/admin/page.js.nft.json +1 -0
- package/.next/server/app/admin/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/people/agents/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/people/agents/page/build-manifest.json +19 -0
- package/.next/server/app/admin/people/agents/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/people/agents/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/people/agents/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/people/agents/page.js +22 -0
- package/.next/server/app/admin/people/agents/page.js.map +5 -0
- package/.next/server/app/admin/people/agents/page.js.nft.json +1 -0
- package/.next/server/app/admin/people/agents/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/people/builders/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/people/builders/page/build-manifest.json +19 -0
- package/.next/server/app/admin/people/builders/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/people/builders/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/people/builders/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/people/builders/page.js +22 -0
- package/.next/server/app/admin/people/builders/page.js.map +5 -0
- package/.next/server/app/admin/people/builders/page.js.nft.json +1 -0
- package/.next/server/app/admin/people/builders/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/plugins/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/plugins/page/build-manifest.json +19 -0
- package/.next/server/app/admin/plugins/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/plugins/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/plugins/page/server-reference-manifest.json +65 -0
- package/.next/server/app/admin/plugins/page.js +23 -0
- package/.next/server/app/admin/plugins/page.js.map +5 -0
- package/.next/server/app/admin/plugins/page.js.nft.json +1 -0
- package/.next/server/app/admin/plugins/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/profile/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/profile/page/build-manifest.json +19 -0
- package/.next/server/app/admin/profile/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/profile/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/profile/page/server-reference-manifest.json +29 -0
- package/.next/server/app/admin/profile/page.js +23 -0
- package/.next/server/app/admin/profile/page.js.map +5 -0
- package/.next/server/app/admin/profile/page.js.nft.json +1 -0
- package/.next/server/app/admin/profile/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/projects/amenities/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/projects/amenities/page/build-manifest.json +19 -0
- package/.next/server/app/admin/projects/amenities/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/projects/amenities/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/projects/amenities/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/projects/amenities/page.js +22 -0
- package/.next/server/app/admin/projects/amenities/page.js.map +5 -0
- package/.next/server/app/admin/projects/amenities/page.js.nft.json +1 -0
- package/.next/server/app/admin/projects/amenities/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/projects/edit/[id]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/projects/edit/[id]/page/build-manifest.json +19 -0
- package/.next/server/app/admin/projects/edit/[id]/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/projects/edit/[id]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/projects/edit/[id]/page/server-reference-manifest.json +29 -0
- package/.next/server/app/admin/projects/edit/[id]/page.js +24 -0
- package/.next/server/app/admin/projects/edit/[id]/page.js.map +5 -0
- package/.next/server/app/admin/projects/edit/[id]/page.js.nft.json +1 -0
- package/.next/server/app/admin/projects/edit/[id]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/projects/floor-plans/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/projects/floor-plans/page/build-manifest.json +19 -0
- package/.next/server/app/admin/projects/floor-plans/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/projects/floor-plans/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/projects/floor-plans/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/projects/floor-plans/page.js +22 -0
- package/.next/server/app/admin/projects/floor-plans/page.js.map +5 -0
- package/.next/server/app/admin/projects/floor-plans/page.js.nft.json +1 -0
- package/.next/server/app/admin/projects/floor-plans/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/projects/new/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/projects/new/page/build-manifest.json +19 -0
- package/.next/server/app/admin/projects/new/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/projects/new/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/projects/new/page/server-reference-manifest.json +29 -0
- package/.next/server/app/admin/projects/new/page.js +24 -0
- package/.next/server/app/admin/projects/new/page.js.map +5 -0
- package/.next/server/app/admin/projects/new/page.js.nft.json +1 -0
- package/.next/server/app/admin/projects/new/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/projects/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/projects/page/build-manifest.json +19 -0
- package/.next/server/app/admin/projects/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/projects/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/projects/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/projects/page.js +22 -0
- package/.next/server/app/admin/projects/page.js.map +5 -0
- package/.next/server/app/admin/projects/page.js.nft.json +1 -0
- package/.next/server/app/admin/projects/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/projects/updates/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/projects/updates/page/build-manifest.json +19 -0
- package/.next/server/app/admin/projects/updates/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/projects/updates/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/projects/updates/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/projects/updates/page.js +22 -0
- package/.next/server/app/admin/projects/updates/page.js.map +5 -0
- package/.next/server/app/admin/projects/updates/page.js.nft.json +1 -0
- package/.next/server/app/admin/projects/updates/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/rbac/permissions/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/rbac/permissions/page/build-manifest.json +19 -0
- package/.next/server/app/admin/rbac/permissions/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/rbac/permissions/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/rbac/permissions/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/rbac/permissions/page.js +22 -0
- package/.next/server/app/admin/rbac/permissions/page.js.map +5 -0
- package/.next/server/app/admin/rbac/permissions/page.js.nft.json +1 -0
- package/.next/server/app/admin/rbac/permissions/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/rbac/roles/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/rbac/roles/page/build-manifest.json +19 -0
- package/.next/server/app/admin/rbac/roles/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/rbac/roles/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/rbac/roles/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/rbac/roles/page.js +22 -0
- package/.next/server/app/admin/rbac/roles/page.js.map +5 -0
- package/.next/server/app/admin/rbac/roles/page.js.nft.json +1 -0
- package/.next/server/app/admin/rbac/roles/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/settings/analytics/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/settings/analytics/page/build-manifest.json +19 -0
- package/.next/server/app/admin/settings/analytics/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/settings/analytics/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/settings/analytics/page/server-reference-manifest.json +17 -0
- package/.next/server/app/admin/settings/analytics/page.js +24 -0
- package/.next/server/app/admin/settings/analytics/page.js.map +5 -0
- package/.next/server/app/admin/settings/analytics/page.js.nft.json +1 -0
- package/.next/server/app/admin/settings/analytics/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/settings/api-keys/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/settings/api-keys/page/build-manifest.json +19 -0
- package/.next/server/app/admin/settings/api-keys/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/settings/api-keys/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/settings/api-keys/page/server-reference-manifest.json +425 -0
- package/.next/server/app/admin/settings/api-keys/page.js +24 -0
- package/.next/server/app/admin/settings/api-keys/page.js.map +5 -0
- package/.next/server/app/admin/settings/api-keys/page.js.nft.json +1 -0
- package/.next/server/app/admin/settings/api-keys/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/settings/branding/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/settings/branding/page/build-manifest.json +19 -0
- package/.next/server/app/admin/settings/branding/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/settings/branding/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/settings/branding/page/server-reference-manifest.json +17 -0
- package/.next/server/app/admin/settings/branding/page.js +24 -0
- package/.next/server/app/admin/settings/branding/page.js.map +5 -0
- package/.next/server/app/admin/settings/branding/page.js.nft.json +1 -0
- package/.next/server/app/admin/settings/branding/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/settings/general/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/settings/general/page/build-manifest.json +19 -0
- package/.next/server/app/admin/settings/general/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/settings/general/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/settings/general/page/server-reference-manifest.json +17 -0
- package/.next/server/app/admin/settings/general/page.js +24 -0
- package/.next/server/app/admin/settings/general/page.js.map +5 -0
- package/.next/server/app/admin/settings/general/page.js.nft.json +1 -0
- package/.next/server/app/admin/settings/general/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/settings/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/settings/page/build-manifest.json +19 -0
- package/.next/server/app/admin/settings/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/settings/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/settings/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/settings/page.js +22 -0
- package/.next/server/app/admin/settings/page.js.map +5 -0
- package/.next/server/app/admin/settings/page.js.nft.json +1 -0
- package/.next/server/app/admin/settings/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/settings/security/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/settings/security/page/build-manifest.json +19 -0
- package/.next/server/app/admin/settings/security/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/settings/security/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/settings/security/page/server-reference-manifest.json +17 -0
- package/.next/server/app/admin/settings/security/page.js +24 -0
- package/.next/server/app/admin/settings/security/page.js.map +5 -0
- package/.next/server/app/admin/settings/security/page.js.nft.json +1 -0
- package/.next/server/app/admin/settings/security/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/settings/seo/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/settings/seo/page/build-manifest.json +19 -0
- package/.next/server/app/admin/settings/seo/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/settings/seo/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/settings/seo/page/server-reference-manifest.json +17 -0
- package/.next/server/app/admin/settings/seo/page.js +24 -0
- package/.next/server/app/admin/settings/seo/page.js.map +5 -0
- package/.next/server/app/admin/settings/seo/page.js.nft.json +1 -0
- package/.next/server/app/admin/settings/seo/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/settings/smtp/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/settings/smtp/page/build-manifest.json +19 -0
- package/.next/server/app/admin/settings/smtp/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/settings/smtp/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/settings/smtp/page/server-reference-manifest.json +17 -0
- package/.next/server/app/admin/settings/smtp/page.js +24 -0
- package/.next/server/app/admin/settings/smtp/page.js.map +5 -0
- package/.next/server/app/admin/settings/smtp/page.js.nft.json +1 -0
- package/.next/server/app/admin/settings/smtp/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/settings/storage/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/settings/storage/page/build-manifest.json +19 -0
- package/.next/server/app/admin/settings/storage/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/settings/storage/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/settings/storage/page/server-reference-manifest.json +17 -0
- package/.next/server/app/admin/settings/storage/page.js +24 -0
- package/.next/server/app/admin/settings/storage/page.js.map +5 -0
- package/.next/server/app/admin/settings/storage/page.js.nft.json +1 -0
- package/.next/server/app/admin/settings/storage/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/system/about/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/system/about/page/build-manifest.json +19 -0
- package/.next/server/app/admin/system/about/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/system/about/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/system/about/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/system/about/page.js +22 -0
- package/.next/server/app/admin/system/about/page.js.map +5 -0
- package/.next/server/app/admin/system/about/page.js.nft.json +1 -0
- package/.next/server/app/admin/system/about/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/system/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/system/page/build-manifest.json +19 -0
- package/.next/server/app/admin/system/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/system/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/system/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/system/page.js +22 -0
- package/.next/server/app/admin/system/page.js.map +5 -0
- package/.next/server/app/admin/system/page.js.nft.json +1 -0
- package/.next/server/app/admin/system/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/theme/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/theme/page/build-manifest.json +19 -0
- package/.next/server/app/admin/theme/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/theme/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/theme/page/server-reference-manifest.json +65 -0
- package/.next/server/app/admin/theme/page.js +24 -0
- package/.next/server/app/admin/theme/page.js.map +5 -0
- package/.next/server/app/admin/theme/page.js.nft.json +1 -0
- package/.next/server/app/admin/theme/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/users/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/users/page/build-manifest.json +19 -0
- package/.next/server/app/admin/users/page/next-font-manifest.json +13 -0
- package/.next/server/app/admin/users/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/users/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/users/page.js +22 -0
- package/.next/server/app/admin/users/page.js.map +5 -0
- package/.next/server/app/admin/users/page.js.nft.json +1 -0
- package/.next/server/app/admin/users/page_client-reference-manifest.js +3 -0
- package/.next/server/app/api/auth/[...nextauth]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/auth/[...nextauth]/route/build-manifest.json +9 -0
- package/.next/server/app/api/auth/[...nextauth]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/auth/[...nextauth]/route.js +8 -0
- package/.next/server/app/api/auth/[...nextauth]/route.js.map +5 -0
- package/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/generate-icons/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/generate-icons/route/build-manifest.json +9 -0
- package/.next/server/app/api/generate-icons/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/generate-icons/route.js +8 -0
- package/.next/server/app/api/generate-icons/route.js.map +5 -0
- package/.next/server/app/api/generate-icons/route.js.nft.json +1 -0
- package/.next/server/app/api/generate-icons/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/media/[...path]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/media/[...path]/route/build-manifest.json +9 -0
- package/.next/server/app/api/media/[...path]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/media/[...path]/route.js +8 -0
- package/.next/server/app/api/media/[...path]/route.js.map +5 -0
- package/.next/server/app/api/media/[...path]/route.js.nft.json +1 -0
- package/.next/server/app/api/media/[...path]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/projects/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/projects/route/build-manifest.json +9 -0
- package/.next/server/app/api/projects/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/projects/route.js +7 -0
- package/.next/server/app/api/projects/route.js.map +5 -0
- package/.next/server/app/api/projects/route.js.nft.json +1 -0
- package/.next/server/app/api/projects/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/upload/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/upload/route/build-manifest.json +9 -0
- package/.next/server/app/api/upload/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/upload/route.js +9 -0
- package/.next/server/app/api/upload/route.js.map +5 -0
- package/.next/server/app/api/upload/route.js.nft.json +1 -0
- package/.next/server/app/api/upload/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/v1/menus/[slug]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/v1/menus/[slug]/route/build-manifest.json +9 -0
- package/.next/server/app/api/v1/menus/[slug]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/v1/menus/[slug]/route.js +7 -0
- package/.next/server/app/api/v1/menus/[slug]/route.js.map +5 -0
- package/.next/server/app/api/v1/menus/[slug]/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/menus/[slug]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/v1/openapi.json/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/v1/openapi.json/route/build-manifest.json +9 -0
- package/.next/server/app/api/v1/openapi.json/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/v1/openapi.json/route.js +6 -0
- package/.next/server/app/api/v1/openapi.json/route.js.map +5 -0
- package/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/openapi.json/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/v1/projects/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/v1/projects/route/build-manifest.json +9 -0
- package/.next/server/app/api/v1/projects/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/v1/projects/route.js +7 -0
- package/.next/server/app/api/v1/projects/route.js.map +5 -0
- package/.next/server/app/api/v1/projects/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/projects/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/v1/theme/active/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/v1/theme/active/route/build-manifest.json +9 -0
- package/.next/server/app/api/v1/theme/active/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/v1/theme/active/route.js +7 -0
- package/.next/server/app/api/v1/theme/active/route.js.map +5 -0
- package/.next/server/app/api/v1/theme/active/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/theme/active/route_client-reference-manifest.js +3 -0
- package/.next/server/app/contact.html +111 -0
- package/.next/server/app/contact.meta +16 -0
- package/.next/server/app/contact.rsc +91 -0
- package/.next/server/app/contact.segments/!KHdlYnNpdGUp/contact/__PAGE__.segment.rsc +6 -0
- package/.next/server/app/contact.segments/!KHdlYnNpdGUp/contact.segment.rsc +5 -0
- package/.next/server/app/contact.segments/!KHdlYnNpdGUp.segment.rsc +9 -0
- package/.next/server/app/contact.segments/_full.segment.rsc +91 -0
- package/.next/server/app/contact.segments/_head.segment.rsc +6 -0
- package/.next/server/app/contact.segments/_index.segment.rsc +68 -0
- package/.next/server/app/contact.segments/_tree.segment.rsc +7 -0
- package/.next/server/app/index.html +112 -0
- package/.next/server/app/index.meta +15 -0
- package/.next/server/app/index.rsc +99 -0
- package/.next/server/app/index.segments/!KHdlYnNpdGUp/__PAGE__.segment.rsc +15 -0
- package/.next/server/app/index.segments/!KHdlYnNpdGUp.segment.rsc +9 -0
- package/.next/server/app/index.segments/_full.segment.rsc +99 -0
- package/.next/server/app/index.segments/_head.segment.rsc +6 -0
- package/.next/server/app/index.segments/_index.segment.rsc +68 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +7 -0
- package/.next/server/app/login/page/app-paths-manifest.json +3 -0
- package/.next/server/app/login/page/build-manifest.json +19 -0
- package/.next/server/app/login/page/next-font-manifest.json +13 -0
- package/.next/server/app/login/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/login/page/server-reference-manifest.json +4 -0
- package/.next/server/app/login/page.js +17 -0
- package/.next/server/app/login/page.js.map +5 -0
- package/.next/server/app/login/page.js.nft.json +1 -0
- package/.next/server/app/login/page_client-reference-manifest.js +3 -0
- package/.next/server/app/login.html +111 -0
- package/.next/server/app/login.meta +15 -0
- package/.next/server/app/login.rsc +90 -0
- package/.next/server/app/login.segments/_full.segment.rsc +90 -0
- package/.next/server/app/login.segments/_head.segment.rsc +6 -0
- package/.next/server/app/login.segments/_index.segment.rsc +68 -0
- package/.next/server/app/login.segments/_tree.segment.rsc +7 -0
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/login.segments/login.segment.rsc +5 -0
- package/.next/server/app/robots.txt/route/app-paths-manifest.json +3 -0
- package/.next/server/app/robots.txt/route/build-manifest.json +9 -0
- package/.next/server/app/robots.txt/route/server-reference-manifest.json +4 -0
- package/.next/server/app/robots.txt/route.js +6 -0
- package/.next/server/app/robots.txt/route.js.map +5 -0
- package/.next/server/app/robots.txt/route.js.nft.json +1 -0
- package/.next/server/app/robots.txt/route_client-reference-manifest.js +3 -0
- package/.next/server/app/robots.txt.body +9 -0
- package/.next/server/app/robots.txt.meta +1 -0
- package/.next/server/app/setup/page/app-paths-manifest.json +3 -0
- package/.next/server/app/setup/page/build-manifest.json +19 -0
- package/.next/server/app/setup/page/next-font-manifest.json +13 -0
- package/.next/server/app/setup/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/setup/page/server-reference-manifest.json +89 -0
- package/.next/server/app/setup/page.js +25 -0
- package/.next/server/app/setup/page.js.map +5 -0
- package/.next/server/app/setup/page.js.nft.json +1 -0
- package/.next/server/app/setup/page_client-reference-manifest.js +3 -0
- package/.next/server/app/setup.html +111 -0
- package/.next/server/app/setup.meta +15 -0
- package/.next/server/app/setup.rsc +88 -0
- package/.next/server/app/setup.segments/_full.segment.rsc +88 -0
- package/.next/server/app/setup.segments/_head.segment.rsc +6 -0
- package/.next/server/app/setup.segments/_index.segment.rsc +68 -0
- package/.next/server/app/setup.segments/_tree.segment.rsc +7 -0
- package/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +6 -0
- package/.next/server/app/setup.segments/setup.segment.rsc +5 -0
- package/.next/server/app/sitemap.xml/route/app-paths-manifest.json +3 -0
- package/.next/server/app/sitemap.xml/route/build-manifest.json +9 -0
- package/.next/server/app/sitemap.xml/route/server-reference-manifest.json +4 -0
- package/.next/server/app/sitemap.xml/route.js +7 -0
- package/.next/server/app/sitemap.xml/route.js.map +5 -0
- package/.next/server/app/sitemap.xml/route.js.nft.json +1 -0
- package/.next/server/app/sitemap.xml/route_client-reference-manifest.js +3 -0
- package/.next/server/app/sitemap.xml.body +57 -0
- package/.next/server/app/sitemap.xml.meta +1 -0
- package/.next/server/app-paths-manifest.json +73 -0
- package/.next/server/chunks/[root-of-the-server]__02innbo._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__08gz4ev._.js +9 -0
- package/.next/server/chunks/[root-of-the-server]__0ikpexd._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0o058no._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0toqpcx._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0uxzr4j._.js +18 -0
- package/.next/server/chunks/[root-of-the-server]__0vf65-u._.js +18 -0
- package/.next/server/chunks/[root-of-the-server]__11tyi9b._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1b2s2i9._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1gupgp6._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1gwwrwu._.js +13 -0
- package/.next/server/chunks/[root-of-the-server]__1i2l3_y._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1in2xyn._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1l23p7q._.js +423 -0
- package/.next/server/chunks/[root-of-the-server]__1oz8gt4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__203t_h6._.js +3 -0
- package/.next/server/chunks/[turbopack]_runtime.js +903 -0
- package/.next/server/chunks/_0akbaq8._.js +49 -0
- package/.next/server/chunks/_0gs9_1d._.js +3 -0
- package/.next/server/chunks/_0itm9_q._.js +32 -0
- package/.next/server/chunks/_0o0ouha._.js +406 -0
- package/.next/server/chunks/_0q5sg0f._.js +49 -0
- package/.next/server/chunks/_0s80k7f._.js +49 -0
- package/.next/server/chunks/_next-internal_server_app_api_auth_[___nextauth]_route_actions_08nexdk.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_generate-icons_route_actions_1vs05x_.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_media_[___path]_route_actions_1h3fp-y.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_projects_route_actions_0h5ne2f.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_upload_route_actions_1yybo5l.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_v1_menus_[slug]_route_actions_0xyhax4.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_v1_openapi_json_route_actions_0uiyuvh.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_v1_projects_route_actions_1izl32g.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_v1_theme_active_route_actions_10_9z_w.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_robots_txt_route_actions_15vc_89.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_sitemap_xml_route_actions_05l5km9.js +3 -0
- package/.next/server/chunks/src_1izba25._.js +3 -0
- package/.next/server/chunks/src_lib_db_migrations_ts_0ac-w7w._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_0-zqdw1._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_0do4hk0._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_0fxwajo._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_0k9sj-b._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_0stv_td._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_13jh1tv._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_15fk2nk._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_1_a4e2v._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_1iyxb8g._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_1zz-k4h._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_hooks-manager_ts_0w0-cs7._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_hooks-manager_ts_1_n_t28._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_hooks-manager_ts_1k7vvvu._.js +3 -0
- package/.next/server/chunks/src_lib_plugins_plugin-manager_ts_0u18ngw._.js +20 -0
- package/.next/server/chunks/src_services_icon-generator_ts_0lu_6m6._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0-pbj40._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__00w5t7w._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__019zubf._.js +6 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__01rzrg7._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0231nqg._.js +7 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__03m3xqu._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__048u9gk._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__05px_h7._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__06bko-7._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__06i-jdb._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__06krvks._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__07i3m2x._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__08s00s8._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__09bgr6a._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0_t--24._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0_x-0vh._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ae1ufj._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0b0jtbx._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0cp3lxi._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0d95wm4._.js +178 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0d_wuy_._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0dbqhok._.js +7 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0frxadd._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0fys6sm._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0j3bv8t._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0j8lu67._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0jh6jht._.js +7 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0k0dnqx._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0kvya50._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ln09ua._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0owpb-h._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0qaim5b._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0qxwiny._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0s909kg._.js +5 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0t_42ay._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0td35iv._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0uozdt3._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0v4cmgw._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0x3fc1x._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0zng4gc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0zpw6l9._.js +10 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1--m0t_._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__11c23n7._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__11eb3yf._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__12-1koi._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__12yzdf7._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__14kikua._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__14nklad._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__161jo45._.js +6 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1699z9q._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__16wzjd0._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__17999of._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__17t3atq._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__18hrffj._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1_1eler._.js +5 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1_5z9ae._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1bb173v._.js +6 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1by5-kw._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1cjc2pf._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1dky4g0._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1e-e9ts._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1fcf-sc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1gvffjc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1hb8z30._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1ijsxgu._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1k-iu7e._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1kc6u12._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1kvtv9t._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1mh1dn4._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1mrc_j6._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1n03uib._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1nrl0j-._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1o8b9b5._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1p73x_8._.js +21 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1qronyg._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1qtpts9._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1rjv73_._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1t88j-e._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1vh47xh._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1xwzktd._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1yb7vqa._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1ybv0-1._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1zojehk._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1zzv8wg._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__203pgu_._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__206dpju._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__2081g7v._.js +3 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
- package/.next/server/chunks/ssr/_01ovwyq._.js +3 -0
- package/.next/server/chunks/ssr/_01t25t0._.js +3 -0
- package/.next/server/chunks/ssr/_02rxcg9._.js +3 -0
- package/.next/server/chunks/ssr/_05jzsu5._.js +3 -0
- package/.next/server/chunks/ssr/_064htb5._.js +3 -0
- package/.next/server/chunks/ssr/_06ljqk-._.js +3 -0
- package/.next/server/chunks/ssr/_06rh1hs._.js +3 -0
- package/.next/server/chunks/ssr/_0761h9-._.js +3 -0
- package/.next/server/chunks/ssr/_08mru_6._.js +3 -0
- package/.next/server/chunks/ssr/_09jdue-._.js +3 -0
- package/.next/server/chunks/ssr/_09o1npz._.js +3 -0
- package/.next/server/chunks/ssr/_0f844z7._.js +3 -0
- package/.next/server/chunks/ssr/_0h33iks._.js +4 -0
- package/.next/server/chunks/ssr/_0h7vp8a._.js +3 -0
- package/.next/server/chunks/ssr/_0iso9zy._.js +3 -0
- package/.next/server/chunks/ssr/_0jtiosf._.js +3 -0
- package/.next/server/chunks/ssr/_0ju3jec._.js +3 -0
- package/.next/server/chunks/ssr/_0kdtd1g._.js +3 -0
- package/.next/server/chunks/ssr/_0m0s15u._.js +3 -0
- package/.next/server/chunks/ssr/_0mcg32m._.js +3 -0
- package/.next/server/chunks/ssr/_0md8k-z._.js +3 -0
- package/.next/server/chunks/ssr/_0nkwpql._.js +3 -0
- package/.next/server/chunks/ssr/_0qdyrxm._.js +3 -0
- package/.next/server/chunks/ssr/_0qwshew._.js +3 -0
- package/.next/server/chunks/ssr/_0u5a-qc._.js +11 -0
- package/.next/server/chunks/ssr/_0uhyhgs._.js +3 -0
- package/.next/server/chunks/ssr/_0untlx2._.js +3 -0
- package/.next/server/chunks/ssr/_0ux3lgb._.js +3 -0
- package/.next/server/chunks/ssr/_0vu77cg._.js +4 -0
- package/.next/server/chunks/ssr/_0wqsl8u._.js +3 -0
- package/.next/server/chunks/ssr/_0x4nyny._.js +3 -0
- package/.next/server/chunks/ssr/_0xki9b-._.js +3 -0
- package/.next/server/chunks/ssr/_1-wcqf6._.js +3 -0
- package/.next/server/chunks/ssr/_10imd--._.js +4 -0
- package/.next/server/chunks/ssr/_10vhw75._.js +3 -0
- package/.next/server/chunks/ssr/_11qqz7t._.js +3 -0
- package/.next/server/chunks/ssr/_122ck8v._.js +3 -0
- package/.next/server/chunks/ssr/_15vseqr._.js +11 -0
- package/.next/server/chunks/ssr/_15zvfgd._.js +3 -0
- package/.next/server/chunks/ssr/_17z_x3y._.js +3 -0
- package/.next/server/chunks/ssr/_18r74av._.js +3 -0
- package/.next/server/chunks/ssr/_1_44lzi._.js +3 -0
- package/.next/server/chunks/ssr/_1_4v3x_._.js +3 -0
- package/.next/server/chunks/ssr/_1_pgher._.js +11 -0
- package/.next/server/chunks/ssr/_1agt3s0._.js +3 -0
- package/.next/server/chunks/ssr/_1b7_khb._.js +3 -0
- package/.next/server/chunks/ssr/_1bn2xzv._.js +27 -0
- package/.next/server/chunks/ssr/_1hb_oxg._.js +3 -0
- package/.next/server/chunks/ssr/_1ijzz5f._.js +4 -0
- package/.next/server/chunks/ssr/_1k43z2u._.js +11 -0
- package/.next/server/chunks/ssr/_1l22w_w._.js +4 -0
- package/.next/server/chunks/ssr/_1lhtejs._.js +3 -0
- package/.next/server/chunks/ssr/_1pq1vao._.js +3 -0
- package/.next/server/chunks/ssr/_1pulrwl._.js +4 -0
- package/.next/server/chunks/ssr/_1pvmkr2._.js +4 -0
- package/.next/server/chunks/ssr/_1sseqap._.js +3 -0
- package/.next/server/chunks/ssr/_1t5o-7-._.js +3 -0
- package/.next/server/chunks/ssr/_1v6p1r4._.js +3 -0
- package/.next/server/chunks/ssr/_1ygdvzw._.js +406 -0
- package/.next/server/chunks/ssr/_1zm01h0._.js +3 -0
- package/.next/server/chunks/ssr/_212t7ar._.js +4 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_(website)_blog_page_actions_0htgius.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_(website)_projects_page_actions_0yl59aa.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_analytics_page_actions_0ouoca5.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_audit_page_actions_100c-2b.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_cms_seo_page_actions_04ch0cw.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_content_banners_page_actions_0-d-r-g.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_content_blogs_page_actions_1ztc8gs.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_content_faqs_page_actions_1xnqyso.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_content_news_page_actions_1gpo9am.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_content_testimonials_page_actions_1ws-6_l.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_geography_cities_page_actions_1scon20.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_geography_localities_page_actions_1vi7qev.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_leads_followups_page_actions_0m2a79u.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_leads_mine_page_actions_10jrm6o.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_leads_page_actions_0wkzvvw.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_leads_site-visits_page_actions_0ef8irn.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_media_page_actions_12s61sa.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_newsletter_page_actions_0qgoyqq.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_people_agents_page_actions_07o3yv4.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_people_builders_page_actions_1p4m2vf.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_projects_amenities_page_actions_0gnvl70.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_projects_floor-plans_page_actions_0irs5n4.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_projects_page_actions_0eoy9q8.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_projects_updates_page_actions_1z2-c1_.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_rbac_permissions_page_actions_0qr9qdk.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_rbac_roles_page_actions_0dsj4cz.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_settings_page_actions_1roqeui.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_system_about_page_actions_0yaw3jt.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_system_page_actions_0j2_k7x.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_users_page_actions_1j4t7lq.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_login_page_actions_04fnjo0.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0i5nbz4._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0jfdpts._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_15r7fe3._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1ljbe5b._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1lncub1._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1sj92aq._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@hookform_resolvers_zod_dist_zod_mjs_1r0evpe._.js +64 -0
- package/.next/server/chunks/ssr/node_modules_@radix-ui_react-dismissable-layer_dist_index_mjs_0o6peqa._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1u0f3q9._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_0xo97fe._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_13dl5wv._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_1iemwhs._.js +6 -0
- package/.next/server/chunks/ssr/node_modules_next_1wttvxu._.js +10 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_042r-9z._.js +10 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_08rcp7s._.js +6 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0b4ex_-._.js +6 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0c1t3pv._.js +5 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0f-8op-._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0uboya6._.js +6 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1te8ea9._.js +10 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1zcd-31._.js +19 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0bew68i._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0p8s4lh._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0-o-goa.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_compiled_@opentelemetry_api_index_1oy1nwh.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-rvco9.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00-ej16.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00o520t.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0364wpt.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_042e8t7.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06371k6.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_065ioi-.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_065ucmp.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_07xspmt.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0997zt9.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0bldg61.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ce1o22.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ev8lol.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0h8duxi.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0jd9tbw.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0m2nddr.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0qxhhyh.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ul_lex.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0witsdr.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0wm77a2.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0xbuzd_.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0z--ss3.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0z_b1dm.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_10yontc.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11pjhv8.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12wtbem.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1310mqk.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_140antp.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_142wdaz.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_145ule4.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_16bo5s0.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_16ewi9s.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_17507i_.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_17bgyg6.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18-nfab.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18kc121.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1aoid6k.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1axmpud.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dazhx6.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dtsze0.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1er3swv.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1erbyis.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1f9twkf.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1fo7o-g.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ft9pc4.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1gned9r.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1gwa9nd.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1hiij-d.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1j7zrly.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1kvcv-t.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mud2hm.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ol_8un.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1sbx_y8.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1t164sc.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1tpxax4.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1zx_c1f.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_2060y-l.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_209lfto.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_21ai4sx.js +4 -0
- package/.next/server/chunks/ssr/node_modules_react-hook-form_dist_index_esm_mjs_0sajker._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_sonner_dist_index_mjs_084dxi0._.js +3 -0
- package/.next/server/chunks/ssr/src_0eue_vu._.js +3 -0
- package/.next/server/chunks/ssr/src_1g_i3ay._.js +3 -0
- package/.next/server/chunks/ssr/src_actions_cms_ts_0_rm7-x._.js +3 -0
- package/.next/server/chunks/ssr/src_app_admin_cms_pages_[id]_edit_page-editor-client_tsx_0hbosvr._.js +3 -0
- package/.next/server/chunks/ssr/src_components_admin_branding_icon-generator_tsx_0-p-crb._.js +3 -0
- package/.next/server/chunks/ssr/src_components_admin_projects_project-form_tsx_0ynt29x._.js +3 -0
- package/.next/server/chunks/ssr/src_components_admin_theme_theme-editor_tsx_0ec47ja._.js +9 -0
- package/.next/server/chunks/ssr/src_components_projects_project-detail-client_tsx_0qyb-f-._.js +3 -0
- package/.next/server/chunks/ssr/src_components_projects_projects-page-client_tsx_0en0vh2._.js +3 -0
- package/.next/server/chunks/ssr/src_components_setup_setup-wizard_tsx_17wfyof._.js +8 -0
- package/.next/server/chunks/ssr/src_lib_db_migrations_ts_1dudk3y._.js +3 -0
- package/.next/server/chunks/ssr/src_lib_plugins_04c32j1._.js +3 -0
- package/.next/server/chunks/ssr/src_lib_plugins_hooks-manager_ts_04m6z7f._.js +3 -0
- package/.next/server/chunks/ssr/src_lib_utils_ts_0m4hn6s._.js +3 -0
- package/.next/server/chunks/ssr/src_repositories_index_ts_0r1uc5x._.js +20 -0
- package/.next/server/chunks/ssr/src_schemas_index_ts_1nckxn9._.js +64 -0
- package/.next/server/functions-config-manifest.json +15 -0
- package/.next/server/instrumentation.js +4 -0
- package/.next/server/middleware-build-manifest.js +23 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware.js +6 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +361 -0
- package/.next/server/pages/404.html +111 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/prefetch-hints.json +1 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +966 -0
- package/.next/static/81gZJnh1KWfMhrvOF9la3/_buildManifest.js +11 -0
- package/.next/static/81gZJnh1KWfMhrvOF9la3/_clientMiddlewareManifest.js +6 -0
- package/.next/static/81gZJnh1KWfMhrvOF9la3/_ssgManifest.js +1 -0
- package/.next/static/chunks/0-kuhskq5vcgg.js +1 -0
- package/.next/static/chunks/00he13i4_kavh.js +1 -0
- package/.next/static/chunks/00kbml8v-iysh.js +62 -0
- package/.next/static/chunks/00rj7a6copw81.js +1 -0
- package/.next/static/chunks/089hpqd21yqs-.js +1 -0
- package/.next/static/chunks/0cv15y55g-vbq.js +1 -0
- package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/.next/static/chunks/0fx3sa9bhruh-.js +1 -0
- package/.next/static/chunks/0kvbpapcvyqza.js +1 -0
- package/.next/static/chunks/0o7oz3w2i4is1.js +1 -0
- package/.next/static/chunks/0oqr-ue93pczz.js +1 -0
- package/.next/static/chunks/0pwgm534jn6iw.js +1 -0
- package/.next/static/chunks/0rsmpebtsrdft.js +1 -0
- package/.next/static/chunks/0t1cupau1mtgy.js +1 -0
- package/.next/static/chunks/0y4lkzby6pn69.js +1 -0
- package/.next/static/chunks/0zgx7qa3n-o6u.js +1 -0
- package/.next/static/chunks/0zqog_yngqq7z.js +9 -0
- package/.next/static/chunks/1-i12hn5j1tc1.js +1 -0
- package/.next/static/chunks/11pcx9jz6m8mh.js +1 -0
- package/.next/static/chunks/140uhyh3ph87m.js +3 -0
- package/.next/static/chunks/14px0n2lc1773.js +8 -0
- package/.next/static/chunks/15zxneal6mec1.css +1 -0
- package/.next/static/chunks/1902bgggagxq9.js +9 -0
- package/.next/static/chunks/1_m6rlpr7qg9c.js +1 -0
- package/.next/static/chunks/1ck9hpq1413sl.js +1 -0
- package/.next/static/chunks/1cth1frd0_70k.css +4 -0
- package/.next/static/chunks/1fsgqt-kdd8fl.js +1 -0
- package/.next/static/chunks/1hame1c35m1cl.js +1 -0
- package/.next/static/chunks/1ntn7efqc-iiw.js +1 -0
- package/.next/static/chunks/1pwy0ti-uue8r.js +1 -0
- package/.next/static/chunks/1q0w9ewl3z_h6.js +1 -0
- package/.next/static/chunks/1rm737diirj6u.js +1 -0
- package/.next/static/chunks/1rv1psbhy_z98.js +1 -0
- package/.next/static/chunks/1tbfriywhx1pb.js +1 -0
- package/.next/static/chunks/1ycd5by80-dnr.js +31 -0
- package/.next/static/chunks/20lykhw4m0xj7.js +9 -0
- package/.next/static/chunks/263r2j2npbofi.js +1 -0
- package/.next/static/chunks/2d9me2ckcnr7h.js +1 -0
- package/.next/static/chunks/2fyzgog8nf5lt.js +1 -0
- package/.next/static/chunks/2kw34i4gw2ajr.js +9 -0
- package/.next/static/chunks/2lxsome0g-c_0.js +1 -0
- package/.next/static/chunks/2xln3s9fcx9bl.js +1 -0
- package/.next/static/chunks/2yl1jv4w6po1z.js +1 -0
- package/.next/static/chunks/2znxknt46t0sw.js +9 -0
- package/.next/static/chunks/30qbmzgby_p2-.js +1 -0
- package/.next/static/chunks/32ewdom11wcw5.js +1 -0
- package/.next/static/chunks/36-tbikyofe31.js +1 -0
- package/.next/static/chunks/38rdy0o7-0ox6.js +1 -0
- package/.next/static/chunks/3ca4nuauhd2e6.js +1 -0
- package/.next/static/chunks/3dektbsbvis8f.js +2 -0
- package/.next/static/chunks/3en21d5viwrkl.js +9 -0
- package/.next/static/chunks/3eqzcsfmr98tt.js +1 -0
- package/.next/static/chunks/3f49air8y0adp.js +15 -0
- package/.next/static/chunks/3ibw_8tcpt3lm.js +1 -0
- package/.next/static/chunks/3kghfbcpnl0zl.js +6 -0
- package/.next/static/chunks/3l79bq5f4k76s.js +1 -0
- package/.next/static/chunks/3me6cr4hl9rom.js +3 -0
- package/.next/static/chunks/3nc6x0_y5iwnk.js +4 -0
- package/.next/static/chunks/3nd1su4ab5n-7.js +1 -0
- package/.next/static/chunks/3p_incroe7yaz.js +1 -0
- package/.next/static/chunks/3tb1sr9733xjr.js +1 -0
- package/.next/static/chunks/3ussphcvkyzyx.js +1 -0
- package/.next/static/chunks/3z1-57w4d36df.js +1 -0
- package/.next/static/chunks/439j5tnd92-48.js +9 -0
- package/.next/static/chunks/turbopack-1pu6kb-h4iekj.js +1 -0
- package/.next/static/media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2 +0 -0
- package/.next/static/media/14e23f9b59180572-s.0t8ljjjn9wtsx.woff2 +0 -0
- package/.next/static/media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2 +0 -0
- package/.next/static/media/2a65768255d6b625-s.p.3u4lli0-axodc.woff2 +0 -0
- package/.next/static/media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2 +0 -0
- package/.next/static/media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2 +0 -0
- package/.next/static/media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2 +0 -0
- package/.next/static/media/53b9e256198e5412-s.390ncx5urfkfu.woff2 +0 -0
- package/.next/static/media/5476f68d60460930-s.2uwcyprjm3xu3.woff2 +0 -0
- package/.next/static/media/65c558afe41e89d6-s.3jppgd0xzx-0d.woff2 +0 -0
- package/.next/static/media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2 +0 -0
- package/.next/static/media/7178b3e590c64307-s.21jp631_3pja2.woff2 +0 -0
- package/.next/static/media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2 +0 -0
- package/.next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2 +0 -0
- package/.next/static/media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2 +0 -0
- package/.next/static/media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2 +0 -0
- package/.next/static/media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2 +0 -0
- package/.next/static/media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2 +0 -0
- package/.next/static/media/b49b0d9b851e4899-s.2zyohmvb-ks7f.woff2 +0 -0
- package/.next/static/media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2 +0 -0
- package/.next/static/media/cc545e633e20c56d-s.176arc174-8zp.woff2 +0 -0
- package/.next/static/media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2 +0 -0
- package/LICENSE +21 -0
- package/README.md +96 -0
- package/bin/cli.js +435 -0
- package/package.json +111 -0
- package/public/favicon.ico +0 -0
- package/public/file.svg +1 -0
- package/public/globe.svg +1 -0
- package/public/icons/android-chrome-192x192.png +0 -0
- package/public/icons/android-chrome-512x512.png +0 -0
- package/public/icons/apple-touch-icon.png +0 -0
- package/public/icons/favicon-16x16.png +0 -0
- package/public/icons/favicon-32x32.png +0 -0
- package/public/icons/favicon-48x48.png +0 -0
- package/public/icons/icon-128x128.png +0 -0
- package/public/icons/icon-144x144.png +0 -0
- package/public/icons/icon-152x152.png +0 -0
- package/public/icons/icon-384x384.png +0 -0
- package/public/icons/icon-72x72.png +0 -0
- package/public/icons/icon-96x96.png +0 -0
- package/public/icons/icon.png +0 -0
- package/public/icons/ms-tile-150x150.png +0 -0
- package/public/icons/og-image.png +0 -0
- package/public/icons/twitter-card.png +0 -0
- package/public/logo/logo.png +0 -0
- package/public/logo/vertical_logo.png +0 -0
- package/public/manifest.json +31 -0
- package/public/next.svg +1 -0
- package/public/og/propHero.png +0 -0
- package/public/og/propVault.png +0 -0
- package/public/vercel.svg +1 -0
- package/public/window.svg +1 -0
- package/server.js +44 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[883419,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(109307),e=a.i(257807);async function f(){try{let a=await e.repositories.pages.findAll();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function g(a){try{let b=await e.repositories.pages.findById(a);if(!b)return{success:!1,error:"Page not found"};return{success:!0,data:b}}catch(a){return{success:!1,error:a.message}}}async function h(a){try{let b=await (0,d.auth)();if(!b?.user?.id)return{success:!1,error:"Unauthorized"};if(await e.repositories.pages.findBy("slug",a.slug))return{success:!1,error:"A page with this slug already exists"};let f=await e.repositories.pages.create({...a,content:a.content??JSON.stringify({version:"1.0",blocks:[]}),template:a.template??"default",publish_status:a.publish_status??"draft",created_by:b.user.id});return(0,c.revalidatePath)("/admin/cms/pages"),{success:!0,data:f}}catch(a){return{success:!1,error:a.message}}}async function i(a,b){try{let f=await (0,d.auth)();if(!f?.user?.id)return{success:!1,error:"Unauthorized"};let g=await e.repositories.pages.findById(a);if(!g)return{success:!1,error:"Page not found"};await e.repositories.pageRevisions.createRevision(a,g.title,g.content,f.user.id);let h=await e.repositories.pages.update(a,b);if(!h)return{success:!1,error:"Update failed"};return(0,c.revalidatePath)("/admin/cms/pages"),(0,c.revalidatePath)(`/${g.slug}`),{success:!0,data:h}}catch(a){return{success:!1,error:a.message}}}async function j(a){return i(a,{publish_status:"published",published_at:new Date().toISOString()})}async function k(a){return i(a,{publish_status:"draft"})}async function l(a){try{let b=await (0,d.auth)();if(!b?.user?.id)return{success:!1,error:"Unauthorized"};let f=await e.repositories.pages.delete(a);return(0,c.revalidatePath)("/admin/cms/pages"),{success:!0,data:f}}catch(a){return{success:!1,error:a.message}}}async function m(a,b){return i(a,{content:JSON.stringify(b)})}async function n(a){try{let b=await e.repositories.pageRevisions.findByPage(a);return{success:!0,data:b}}catch(a){return{success:!1,error:a.message}}}async function o(){try{let a=await e.repositories.navigationMenus.findAll();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function p(a){try{let b=await e.repositories.navigationMenus.findById(a);if(!b)return{success:!1,error:"Menu not found"};let c=await e.repositories.menuItems.findByMenu(a);return{success:!0,data:{...b,items:c}}}catch(a){return{success:!1,error:a.message}}}async function q(a,b){try{for(let b of(await e.repositories.menuItems.findByMenu(a)))await e.repositories.menuItems.delete(b.id);for(let c of b)await e.repositories.menuItems.create({menu_id:a,label:c.label,url:c.url,page_id:c.page_id,parent_id:c.parent_id??null,target:c.target??"_self",icon:c.icon,sort_order:c.sort_order,is_active:c.is_active});return(0,c.revalidatePath)("/admin/cms/menus"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function r(){try{let a=await e.repositories.redirects.findAll();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function s(a){try{return await e.repositories.redirects.create(a),(0,c.revalidatePath)("/admin/cms/redirects"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function t(a){try{return await e.repositories.redirects.delete(a),(0,c.revalidatePath)("/admin/cms/redirects"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function u(){try{let a=await e.repositories.settings.db.execute("SELECT * FROM email_templates ORDER BY name ASC");return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function v(b){try{if(b.id){let a=e.repositories.settings.db;await a.execute("UPDATE email_templates SET name=?, slug=?, subject=?, html_body=?, text_body=?, variables=?, description=?, is_active=?, updated_at=? WHERE id=?",[b.name,b.slug,b.subject,b.html_body,b.text_body??"",b.variables??"",b.description??"",b.is_active?"1":"0",new Date().toISOString(),b.id])}else{let c=e.repositories.settings.db,{v4:d}=await a.A(837706);await c.execute("INSERT INTO email_templates (id, name, slug, subject, html_body, text_body, variables, description, is_active, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?)",[d(),b.name,b.slug,b.subject,b.html_body,b.text_body??"",b.variables??"",b.description??"",b.is_active?"1":"0",new Date().toISOString(),new Date().toISOString()])}return(0,c.revalidatePath)("/admin/cms/email-templates"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function w(a){try{let b=await e.repositories.settings.getGroup(a);return{success:!0,data:b}}catch(a){return{success:!1,error:a.message}}}async function x(a,b){try{for(let[a,c]of Object.entries(b))await e.repositories.settings.set(a,c);return(0,c.revalidatePath)("/admin/settings"),(0,c.revalidatePath)("/"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function y(){try{let a=await e.repositories.settings.getAll();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function z(){try{let a=await e.repositories.themes.findAll();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function A(){try{let a=await e.repositories.themes.getActive();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function B(a){try{return await e.repositories.themes.setActive(a),(0,c.revalidatePath)("/"),(0,c.revalidatePath)("/admin"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function C(a){try{if(a.id){let b=await e.repositories.themes.findBySlug(a.slug);if(b&&b.id!==a.id)return{success:!1,error:"A theme with this slug or name already exists."};await e.repositories.themes.update(a.id,a)}else{if(await e.repositories.themes.findBySlug(a.slug))return{success:!1,error:"A theme with this slug or name already exists."};await e.repositories.themes.create({...a,is_active:!1,is_system:!1})}return(0,c.revalidatePath)("/admin/theme"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function D(a){try{let b=await e.repositories.themes.exportTheme(a);if(!b)return{success:!1,error:"Theme not found"};return{success:!0,data:b}}catch(a){return{success:!1,error:a.message}}}async function E(a){try{let b=JSON.parse(a),d=await e.repositories.themes.findBySlug(b.slug);return d?await e.repositories.themes.update(d.id,{name:b.name,description:b.description,tokens:JSON.stringify(b.tokens),version:b.version,author:b.author}):await e.repositories.themes.create({name:b.name,slug:b.slug,description:b.description,tokens:JSON.stringify(b.tokens),version:b.version,author:b.author,is_active:!1,is_system:!1}),(0,c.revalidatePath)("/admin/theme"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function F(a){try{let b=await e.repositories.themes.findById(a);if(!b)return{success:!1,error:"Theme not found"};let d=`${b.slug}-copy-${Math.random().toString(36).slice(2,6)}`;return await e.repositories.themes.create({name:`${b.name} (Copy)`,slug:d,description:b.description,tokens:b.tokens,is_active:!1,is_system:!1,author:"PropVault Custom",version:"1.0"}),(0,c.revalidatePath)("/admin/theme"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function G(b){try{if(!await e.repositories.themes.findById(b))return{success:!1,error:"Theme not found"};let{getSystemDefaultTokens:d}=await a.A(245770),f=d();return await e.repositories.themes.update(b,{tokens:JSON.stringify(f)}),(0,c.revalidatePath)("/admin/theme"),(0,c.revalidatePath)("/"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function H(a){try{let b=await e.repositories.themes.findById(a);if(!b)return{success:!1,error:"Theme not found"};let d=b.is_active;if("1"===d||"1.0"===d||"true"===d||!0===d)return{success:!1,error:"Cannot delete the active theme."};return await e.repositories.themes.delete(a),(0,c.revalidatePath)("/admin/theme"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function I(){try{let a=await (0,d.auth)();if(!a?.user?.id)return{success:!1,error:"Unauthorized"};let b=await e.repositories.settings.db.execute("SELECT id, name, key_prefix, permissions, is_active, last_used_at, expires_at, rate_limit, created_at FROM api_keys WHERE user_id = ? ORDER BY created_at DESC",[a.user.id]);return{success:!0,data:b}}catch(a){return{success:!1,error:a.message}}}async function J(b){try{let f=await (0,d.auth)();if(!f?.user?.id)return{success:!1,error:"Unauthorized"};let{v4:g}=await a.A(837706),h=await a.A(485685),i=`pv_${g().replace(/-/g,"")}`,j=i.slice(0,10),k=h.createHash("sha256").update(i).digest("hex"),l=e.repositories.settings.db;return await l.execute("INSERT INTO api_keys (id, name, key_hash, key_prefix, user_id, permissions, is_active, rate_limit, expires_at, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?)",[g(),b.name,k,j,f.user.id,b.permissions??"","1",String(b.rate_limit??1e3),b.expires_at??"",new Date().toISOString(),new Date().toISOString()]),(0,c.revalidatePath)("/admin/settings/api-keys"),{success:!0,data:{key:i,prefix:j}}}catch(a){return{success:!1,error:a.message}}}async function K(a){try{let b=e.repositories.settings.db;return await b.execute("UPDATE api_keys SET is_active = '0', updated_at = ? WHERE id = ?",[new Date().toISOString(),a]),(0,c.revalidatePath)("/admin/settings/api-keys"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function L(){try{let a=(await e.repositories.projects.findAll()).filter(a=>"published"===a.publish_status||"published"===a.status);return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function M(){try{let a=(await e.repositories.builders.findAll()).filter(a=>"1"===String(a.is_active)||!0===a.is_active);return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function N(){try{let a=(await e.repositories.agents.findAll()).filter(a=>"1"===String(a.is_active)||!0===a.is_active);return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}(0,a.i(713095).ensureServerEntryExports)([f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N]),(0,b.registerServerReference)(f,"00cc48f0f653676639d916b0b2812d6f947ad93882",null),(0,b.registerServerReference)(g,"40b226a309aa70423b00921d65417856d5192119f1",null),(0,b.registerServerReference)(h,"400d7c5de8c911aa1451b3417694804211d835ba5b",null),(0,b.registerServerReference)(i,"6020a297e3fd7deb8f19188192e97b93d0f00f33b4",null),(0,b.registerServerReference)(j,"40491e13c34b160127e0728ff9231cdb61a44a9031",null),(0,b.registerServerReference)(k,"40c26456aa123b8ba0887fe6e82095d560cdf5f235",null),(0,b.registerServerReference)(l,"4005fdff8e35ceb504814ca50a6b06817b2e6b2c1c",null),(0,b.registerServerReference)(m,"60dd31271122c807118ac25f777211a5379c879cd4",null),(0,b.registerServerReference)(n,"409104a6e5c5e187da336471d52862d6849212b945",null),(0,b.registerServerReference)(o,"0003b6e96d1d4728fb7fc6f0b6bce3686ec143cf12",null),(0,b.registerServerReference)(p,"40ba2d71366cd621902d2c3a63f295859659a479cc",null),(0,b.registerServerReference)(q,"60bc80a2fbc6b5ad421966a68eb7fb7af2e8d92a0e",null),(0,b.registerServerReference)(r,"006311e6febb62b47dc95da21079abf8ab8bbe50e9",null),(0,b.registerServerReference)(s,"40be6e2dd0bc4c20bfa751078f962befc55102a996",null),(0,b.registerServerReference)(t,"4065d507ed2911e8cd62951693455462bf2796f2e5",null),(0,b.registerServerReference)(u,"00b10623c9f2dd5239eade6c2618ccadc046f08a1f",null),(0,b.registerServerReference)(v,"40366c16402ef1d69b9b2c0657421e97fe0dfbdbd8",null),(0,b.registerServerReference)(w,"401cc5a0d02e3471bb9cb7114f2c66f3a48945b073",null),(0,b.registerServerReference)(x,"60943df2f95bdd57b09fe75171ce8faaea7c6566f4",null),(0,b.registerServerReference)(y,"00994dc96b9aa43e16b8f4009c0b5acadfecd227f9",null),(0,b.registerServerReference)(z,"00c2e91fe161539890a550a3e38ea91e60608c83c9",null),(0,b.registerServerReference)(A,"00bf22031330d14de8a943cfef53ab27a6c5adf8e2",null),(0,b.registerServerReference)(B,"4064e41cc0857f390c46374824dbb2a0c8a69d3c01",null),(0,b.registerServerReference)(C,"40fc8287535c514744bf050f489c80b78f2b517bae",null),(0,b.registerServerReference)(D,"40434b2df0d08ac7599ee16fe926fee0cef3e513d5",null),(0,b.registerServerReference)(E,"40bf86678b28d2d4e1b00d380d586ee4e2a013925e",null),(0,b.registerServerReference)(F,"40b723ed39b83027664342440f714dc651726d3c23",null),(0,b.registerServerReference)(G,"409d3835dbadcce7891d108cc38aca7df9dd59cd79",null),(0,b.registerServerReference)(H,"406a081c58cd1c8fc33d4e319bc2c608934e1ba9b0",null),(0,b.registerServerReference)(I,"0019ae0967e5acb14e32268bc3e9349e89c66fb26c",null),(0,b.registerServerReference)(J,"40a4e33544eac4558d46f01f8e3a48d33cc477802f",null),(0,b.registerServerReference)(K,"405bd5acd94357f9694d9c92a8a741119ae1c29574",null),(0,b.registerServerReference)(L,"00bb978d79c73575497dd6082dd2e81be6fcd00859",null),(0,b.registerServerReference)(M,"00b17e35464e69aafc2513bcf365e1f48ddb6dfff6",null),(0,b.registerServerReference)(N,"0078edb00f14e2ce06b7f70eff5732a076fa0cbdc7",null),a.s(["activateTheme",0,B,"createApiKey",0,J,"createPage",0,h,"createRedirect",0,s,"deletePage",0,l,"deleteRedirect",0,t,"deleteTheme",0,H,"duplicateTheme",0,F,"exportTheme",0,D,"getActiveTheme",0,A,"getAllSettings",0,y,"getApiKeys",0,I,"getEmailTemplates",0,u,"getMenuWithItems",0,p,"getMenus",0,o,"getPage",0,g,"getPageRevisions",0,n,"getPages",0,f,"getPublicAgents",0,N,"getPublicBuilders",0,M,"getPublicProjects",0,L,"getRedirects",0,r,"getSettingsGroup",0,w,"getThemes",0,z,"importTheme",0,E,"publishPage",0,j,"resetTheme",0,G,"revokeApiKey",0,K,"saveEmailTemplate",0,v,"saveMenuItems",0,q,"savePageBlocks",0,m,"saveSettingsGroup",0,x,"saveTheme",0,C,"unpublishPage",0,k,"updatePage",0,i])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_actions_cms_ts_0_rm7-x._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[600592,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(823292),f=a.i(262036),g=a.i(403512),h=a.i(980180),i=a.i(341476),j=a.i(589027),k=a.i(585650),l=a.i(755681),m=a.i(777064),n=a.i(442674),n=n,o=a.i(348982),o=o,p=a.i(879675),q=a.i(696732),r=a.i(873019),s=a.i(982453),t=a.i(71215),u=a.i(803649),u=u,v=a.i(520293),w=a.i(328423),x=a.i(360061),x=x,y=a.i(285888),z=a.i(308311),A=a.i(704803),A=A,B=a.i(104647),C=a.i(682314),C=C,D=a.i(149429),D=D,E=a.i(492378),F=a.i(483138),G=a.i(113608),H=a.i(912265),I=a.i(371789),I=I,J=a.i(139353),K=a.i(674078),K=K,L=a.i(640268),L=L,M=a.i(847730),M=M,N=a.i(368114),O=a.i(699570),P=a.i(866718),Q=a.i(870430),R=a.i(429246),S=a.i(563658),T=a.i(692351),U=a.i(224453),V=a.i(675181);let W=[{type:"hero",label:"Hero Banner",description:"Full-width hero with headline, subtitle, and CTA",icon:r.Layout,category:"Layout",defaultConfig:{title:"Signature Real Estate Collection",subtitle:"Discover curated premium luxury apartments, villas, and commercial spaces across India's top cities.",backgroundImage:"https://images.unsplash.com/photo-1600585154340-be6161a56a0c",primaryBtnText:"Explore Properties",primaryBtnLink:"/projects",secondaryBtnText:"Contact Advisory",secondaryBtnLink:"/contact",overlayOpacity:.6,align:"center",height:"600px"}},{type:"heading",label:"Heading",description:"Section title with optional subtitle",icon:s.Type,category:"Typography",defaultConfig:{title:"Section Heading",level:"h2",subtitle:"",align:"center"}},{type:"text",label:"Rich Text",description:"Formatted text content block",icon:F.FileText,category:"Typography",defaultConfig:{content:"Your content goes here...",align:"left"}},{type:"image",label:"Image",description:"Single image with optional caption",icon:t.Image,category:"Media",defaultConfig:{src:"",alt:"",caption:"",width:"full",rounded:!0}},{type:"gallery",label:"Gallery",description:"Grid or masonry photo gallery",icon:C.default,category:"Media",defaultConfig:{images:[],columns:3,gap:"medium",style:"grid"}},{type:"video",label:"Video",description:"Embedded video player",icon:u.default,category:"Media",defaultConfig:{url:"",autoplay:!1,loop:!1,muted:!0,poster:""}},{type:"testimonials",label:"Testimonials",description:"Customer testimonials carousel",icon:w.MessageSquare,category:"Social Proof",defaultConfig:{items:[],layout:"carousel",show_rating:!0}},{type:"pricing",label:"Pricing Table",description:"Pricing plans with features",icon:x.default,category:"Commerce",defaultConfig:{plans:[],columns:3,highlight_index:1}},{type:"team",label:"Team Grid",description:"Team member profiles",icon:y.Users,category:"People",defaultConfig:{members:[],columns:4,show_social:!0}},{type:"timeline",label:"Timeline",description:"Chronological events",icon:z.Clock,category:"Content",defaultConfig:{events:[],layout:"vertical",alternating:!0}},{type:"faq",label:"FAQ Accordion",description:"Frequently asked questions accordion",icon:A.default,category:"Content",defaultConfig:{items:[],style:"accordion"}},{type:"counters",label:"Counters",description:"Animated stat counters",icon:v.BarChart2,category:"Content",defaultConfig:{items:[{label:"Projects",value:500,suffix:"+"}],columns:4}},{type:"cta",label:"Call to Action",description:"High-impact CTA section",icon:E.Zap,category:"Conversion",defaultConfig:{headline:"Ready to Get Started?",description:"",primary_label:"Contact Us",primary_url:"/contact",secondary_label:"",secondary_url:"",background:"primary"}},{type:"property_grid",label:"Property Grid",description:"Featured properties from database",icon:C.default,category:"Real Estate",defaultConfig:{title:"Featured Listings",subtitle:"Curated premium properties",limit:6}},{type:"builders_grid",label:"Builders Grid",description:"Developer partners logos",icon:D.default,category:"Real Estate",defaultConfig:{title:"Our Developer Partners",subtitle:"RERA verified creators only",limit:8}},{type:"map",label:"Interactive Map",description:"Google or Leaflet Map container",icon:B.Map,category:"Layout",defaultConfig:{title:"Location Coordinates",address:"Bandra Kurla Complex, Mumbai, India",latitude:"19.0596",longitude:"72.8696"}}],X=()=>Math.random().toString(36).substring(2,9),Y={"site.name":"PropVault","site.description":"Signature Luxury Real Estate Collection. Direct builder pricing and RERA verified only.","organization.industry":"Luxury Real Estate","contact.email":"concierge@propvault.luxury","contact.phone":"+91 99999 88888","contact.address":"Marina One Suite, Bandra Kurla Complex, Mumbai","footer.certifications":"RERA Registration No: AG000001234","site.tagline":"Frictionless Luxury Housing","branding.logo":"/logo/logo.png","navigation.header":JSON.stringify([{label:"Home",href:"/"},{label:"Projects",href:"/projects"},{label:"Builders",href:"/builders"},{label:"Blog",href:"/blog"},{label:"Contact",href:"/contact"}])};function Z({block:a,onChange:c}){let d=W.find(b=>b.type===a.type),e=a.config||{},f=(a,b)=>{c({...e,[a]:b})};return(0,b.jsxs)("div",{className:"h-full overflow-y-auto",children:[(0,b.jsxs)("div",{className:"p-4 border-b border-border sticky top-0 bg-card/95 backdrop-blur-sm z-10",children:[(0,b.jsxs)("p",{className:"text-sm font-semibold text-foreground flex items-center gap-1.5",children:[(0,b.jsx)(M.default,{className:"w-4 h-4 text-primary"})," ",d?.label??a.type]}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground",children:d?.description})]}),(0,b.jsxs)("div",{className:"p-4 space-y-5",children:[(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(Q.Label,{className:"text-xs font-bold text-foreground uppercase tracking-wider block border-b pb-1",children:"Spacing & Spans"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Padding Top"}),(0,b.jsx)(P.Input,{placeholder:"py-16",value:String(e.paddingTop||""),onChange:a=>f("paddingTop",a.target.value),className:"h-7 text-[11px]"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Padding Bottom"}),(0,b.jsx)(P.Input,{placeholder:"py-16",value:String(e.paddingBottom||""),onChange:a=>f("paddingBottom",a.target.value),className:"h-7 text-[11px]"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Margin Top"}),(0,b.jsx)(P.Input,{placeholder:"mt-0",value:String(e.marginTop||""),onChange:a=>f("marginTop",a.target.value),className:"h-7 text-[11px]"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Margin Bottom"}),(0,b.jsx)(P.Input,{placeholder:"mb-0",value:String(e.marginBottom||""),onChange:a=>f("marginBottom",a.target.value),className:"h-7 text-[11px]"})]})]})]}),(0,b.jsxs)("div",{className:"space-y-3 border-t pt-3 border-border/40",children:[(0,b.jsx)(Q.Label,{className:"text-xs font-bold text-foreground uppercase tracking-wider block border-b pb-1",children:"Elementor Advanced"}),(0,b.jsxs)("div",{className:"space-y-1.5 pt-1",children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase block mb-1",children:"Responsive Hide Rules"}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between py-1",children:[(0,b.jsx)("span",{className:"text-[11px] text-foreground",children:"Hide on Desktop"}),(0,b.jsx)(S.Switch,{checked:!!e.hideOnDesktop,onCheckedChange:a=>f("hideOnDesktop",a)})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between py-1",children:[(0,b.jsx)("span",{className:"text-[11px] text-foreground",children:"Hide on Tablet"}),(0,b.jsx)(S.Switch,{checked:!!e.hideOnTablet,onCheckedChange:a=>f("hideOnTablet",a)})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between py-1",children:[(0,b.jsx)("span",{className:"text-[11px] text-foreground",children:"Hide on Mobile"}),(0,b.jsx)(S.Switch,{checked:!!e.hideOnMobile,onCheckedChange:a=>f("hideOnMobile",a)})]})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Entry Animation"}),(0,b.jsxs)("select",{value:String(e.entryAnimation||"none"),onChange:a=>f("entryAnimation",a.target.value),className:"w-full text-xs p-1.5 border border-border bg-card rounded-md focus:ring-1 focus:ring-primary focus:outline-none",children:[(0,b.jsx)("option",{value:"none",children:"None"}),(0,b.jsx)("option",{value:"fade-in",children:"Fade In"}),(0,b.jsx)("option",{value:"zoom-in",children:"Zoom In"}),(0,b.jsx)("option",{value:"slide-up",children:"Slide Up"}),(0,b.jsx)("option",{value:"slide-down",children:"Slide Down"})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Background Gradient / Overlay"}),(0,b.jsx)(P.Input,{placeholder:"linear-gradient(to right, #000, #fff)",value:String(e.backgroundGradient||""),onChange:a=>f("backgroundGradient",a.target.value),className:"h-8 text-xs font-mono"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Custom CSS"}),(0,b.jsx)(R.Textarea,{placeholder:"opacity: 0.9; transform: rotate(1deg);",value:String(e.customCSS||""),onChange:a=>f("customCSS",a.target.value),className:"text-xs font-mono min-h-[50px] leading-snug"})]})]}),(0,b.jsxs)("div",{className:"space-y-3 border-t pt-3 border-border/40",children:[(0,b.jsx)(Q.Label,{className:"text-xs font-bold text-foreground uppercase tracking-wider block border-b pb-1",children:"Block Properties"}),Object.entries(e).filter(([a,b])=>!Array.isArray(b)&&"object"!=typeof b&&!["paddingTop","paddingBottom","marginTop","marginBottom","borderRadius","boxShadow","typographyClass","hideOnDesktop","hideOnTablet","hideOnMobile","entryAnimation","backgroundGradient","customCSS"].includes(a)).map(([a,c])=>{let d,e;return d=a.toLowerCase().includes("color")||"backgroundColor"===a||"textColor"===a,e="description"===a||"subtitle"===a||"content"===a||"code"===a,"boolean"==typeof c?(0,b.jsxs)("div",{className:"flex items-center justify-between py-1.5",children:[(0,b.jsx)(Q.Label,{className:"capitalize text-xs text-muted-foreground",children:a.replace(/_/g," ")}),(0,b.jsx)(S.Switch,{checked:c,onCheckedChange:b=>f(a,b)})]},a):(0,b.jsxs)("div",{className:"space-y-1.5 pt-1",children:[(0,b.jsx)(Q.Label,{className:"capitalize text-[10px] font-bold text-muted-foreground",children:a.replace(/_/g," ")}),d?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(P.Input,{type:"color",value:String(c||"#000000"),onChange:b=>f(a,b.target.value),className:"w-10 h-8 p-1 bg-transparent border rounded shrink-0 cursor-pointer"}),(0,b.jsx)(P.Input,{value:String(c||""),onChange:b=>f(a,b.target.value),className:"h-8 text-xs font-mono"})]}):e?(0,b.jsx)(R.Textarea,{value:String(c||""),onChange:b=>f(a,b.target.value),className:"text-xs leading-relaxed min-h-[60px]"}):(0,b.jsx)(P.Input,{value:String(c||""),onChange:b=>f(a,b.target.value),className:"h-8 text-xs"})]},a)}),Object.entries(e).filter(([a,b])=>Array.isArray(b)&&!["paddingTop","paddingBottom","marginTop","marginBottom","borderRadius","boxShadow","typographyClass","hideOnDesktop","hideOnTablet","hideOnMobile","entryAnimation","backgroundGradient","customCSS"].includes(a)).map(([a,c])=>"items"===a||"features"===a||"counters"===a?(0,b.jsxs)("div",{className:"space-y-4 pt-4 border-t border-border/60",children:[(0,b.jsx)(Q.Label,{className:"text-xs font-bold text-foreground uppercase tracking-wider capitalize",children:a}),(0,b.jsx)("div",{className:"space-y-3",children:c.map((c,d)=>(0,b.jsxs)("div",{className:"p-3 rounded-lg border border-border bg-secondary/20 space-y-2 relative",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/60 pb-1",children:[(0,b.jsxs)("span",{className:"text-[11px] font-semibold text-muted-foreground",children:["Item #",d+1]}),(0,b.jsx)("button",{onClick:()=>{let b;return b=Array.isArray(e[a])?[...e[a]]:[],void f(a,b.filter((a,b)=>b!==d))},className:"text-muted-foreground hover:text-destructive transition-colors",children:(0,b.jsx)(h.Trash2,{className:"h-3.5 w-3.5"})})]}),Object.keys(c).map(g=>(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(Q.Label,{className:"text-[10px] text-muted-foreground capitalize",children:g}),(0,b.jsx)(P.Input,{value:c[g]||"",onChange:b=>{var c;let h;return c=b.target.value,void((h=Array.isArray(e[a])?[...e[a]]:[])[d]&&(h[d]={...h[d],[g]:c},f(a,h)))},className:"h-8 text-xs"})]},g))]},d))}),(0,b.jsxs)(O.Button,{onClick:()=>{var b;let d;return b=c[0]?{...c[0]}:{title:"New Item",desc:""},d=Array.isArray(e[a])?[...e[a]]:[],void f(a,[...d,b])},variant:"outline",size:"sm",className:"w-full text-xs py-1 h-8",children:[(0,b.jsx)(g.Plus,{className:"h-3 w-3 mr-1"})," Add Item"]})]},a):null)]})]})]})}function $({initialTree:a,pageId:d,pageTitle:s="Untitled Page",onSave:t,onPublish:u}){let v=a?.blocks??[],[w,x]=(0,c.useState)(v),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)("blocks"),[D,E]=(0,c.useState)(""),[F,M]=(0,c.useState)(!1),[Q,R]=(0,c.useState)(!1),[S,_]=(0,c.useState)("desktop"),[aa,ab]=(0,c.useState)(1),[ac,ad]=(0,c.useState)(!1),[ae,af]=(0,c.useState)(new Set),[ag,ah]=(0,c.useState)(new Set),[ai,aj]=(0,c.useState)({}),[ak,al]=(0,c.useState)([{blocks:v,selectedId:null}]),[am,an]=(0,c.useState)(0),ao=(0,c.useCallback)((a,b)=>{al(c=>[...c.slice(0,am+1),{blocks:a,selectedId:b}].slice(-50)),an(a=>Math.min(a+1,50))},[am]),ap=(a,b)=>{let c=w.findIndex(b=>b.id===a);if(c<0||"up"===b&&0===c||"down"===b&&c===w.length-1)return;let d=[...w],e="up"===b?c-1:c+1;[d[c],d[e]]=[d[e],d[c]],x(d),ao(d,a)},aq=async()=>{M(!0);try{await t({version:"1.0",blocks:w}),e.toast.success("Draft saved successfully!")}catch{e.toast.error("Failed to save draft.")}finally{M(!1)}},ar=w.find(a=>a.id===y)??null,as=W.filter(a=>!D||a.label.toLowerCase().includes(D.toLowerCase()));return(0,b.jsxs)("div",{className:"flex flex-col h-screen bg-background overflow-hidden select-none",children:[(0,b.jsxs)("div",{className:"h-14 border-b border-border bg-card/80 backdrop-blur-sm flex items-center px-4 gap-3 shrink-0 z-20 justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("h1",{className:"text-sm font-semibold text-foreground truncate max-w-[150px]",children:s}),(0,b.jsxs)("span",{className:"text-[10px] bg-secondary/80 text-muted-foreground px-2 py-0.5 rounded-full",children:[w.length," blocks"]})]}),!Q&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"flex items-center border border-border bg-secondary/30 rounded-lg p-0.5 gap-0.5",children:["desktop","laptop","tablet-landscape","tablet-portrait","mobile-large","mobile-small"].map(a=>(0,b.jsx)("button",{onClick:()=>_(a),className:(0,N.cn)("px-2 py-1 rounded-md text-[10px] font-semibold capitalize transition-all",S===a?"bg-primary text-primary-foreground shadow":"text-muted-foreground hover:text-foreground"),children:a.replace("-"," ")},a))}),(0,b.jsxs)("div",{className:"flex items-center border border-border bg-secondary/30 rounded-lg p-0.5 gap-0.5",children:[(0,b.jsx)("button",{onClick:()=>ab(a=>Math.max(.5,a-.1)),className:"p-1 rounded text-muted-foreground hover:bg-secondary",title:"Zoom Out",children:(0,b.jsx)(I.default,{className:"w-3.5 h-3.5"})}),(0,b.jsxs)("span",{className:"text-[10px] font-mono px-1 text-muted-foreground",children:[Math.round(100*aa),"%"]}),(0,b.jsx)("button",{onClick:()=>ab(a=>Math.min(1.5,a+.1)),className:"p-1 rounded text-muted-foreground hover:bg-secondary",title:"Zoom In",children:(0,b.jsx)(H.ZoomIn,{className:"w-3.5 h-3.5"})}),(0,b.jsx)("button",{onClick:()=>ab(1),className:"p-1 rounded text-[9px] text-muted-foreground hover:bg-secondary font-bold",title:"Reset Zoom",children:"100%"})]}),(0,b.jsx)("button",{onClick:()=>ad(!ac),className:(0,N.cn)("p-1.5 rounded-lg border border-border hover:bg-secondary text-muted-foreground transition-all",ac&&"bg-primary/10 border-primary text-primary"),title:"Dotted Canvas Grid",children:(0,b.jsx)(C.default,{className:"w-3.5 h-3.5"})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-0.5 mr-2",children:[(0,b.jsx)("button",{onClick:()=>{if(am<=0)return;let a=ak[am-1];x(a.blocks),z(a.selectedId),an(a=>a-1),e.toast.info("Action Undone")},disabled:am<=0,className:"h-8 w-8 rounded-lg hover:bg-secondary flex items-center justify-center text-muted-foreground disabled:opacity-30 transition-colors",title:"Undo",children:(0,b.jsx)(n.default,{className:"h-4 w-4"})}),(0,b.jsx)("button",{onClick:()=>{if(am>=ak.length-1)return;let a=ak[am+1];x(a.blocks),z(a.selectedId),an(a=>a+1),e.toast.info("Action Redone")},disabled:am>=ak.length-1,className:"h-8 w-8 rounded-lg hover:bg-secondary flex items-center justify-center text-muted-foreground disabled:opacity-30 transition-colors",title:"Redo",children:(0,b.jsx)(o.default,{className:"h-4 w-4"})})]}),(0,b.jsxs)("button",{onClick:()=>R(a=>!a),className:(0,N.cn)("h-8 px-3 rounded-lg text-xs font-medium flex items-center gap-2 transition-colors",Q?"bg-primary/15 text-primary":"hover:bg-secondary text-muted-foreground"),children:[Q?(0,b.jsx)(m.EyeOff,{className:"h-3.5 w-3.5"}):(0,b.jsx)(l.Eye,{className:"h-3.5 w-3.5"}),Q?"Exit Preview":"Preview Mode"]}),(0,b.jsxs)(O.Button,{onClick:aq,disabled:F,variant:"outline",size:"sm",className:"gap-2",children:[(0,b.jsx)(p.Save,{className:"h-3.5 w-3.5"}),F?"Saving…":"Save Draft"]}),u&&(0,b.jsxs)(O.Button,{onClick:u,size:"sm",className:"btn-gold gap-2",children:[(0,b.jsx)(q.Globe,{className:"h-3.5 w-3.5"}),"Publish"]})]})]}),(0,b.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[!Q&&(0,b.jsxs)("div",{className:"w-72 border-r border-border bg-card/60 flex flex-col shrink-0",children:[(0,b.jsx)("div",{className:"flex border-b border-border",children:["blocks","layers"].map(a=>(0,b.jsx)("button",{onClick:()=>B(a),className:(0,N.cn)("flex-1 py-3 text-xs font-semibold capitalize transition-colors",A===a?"text-primary border-b-2 border-primary":"text-muted-foreground hover:text-foreground"),children:a},a))}),"blocks"===A&&(0,b.jsxs)("div",{className:"flex-1 flex flex-col min-h-0",children:[(0,b.jsx)("div",{className:"p-3 border-b border-border shrink-0",children:(0,b.jsx)(P.Input,{placeholder:"Search blocks...",value:D,onChange:a=>E(a.target.value),className:"h-8 text-xs"})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-2 space-y-4",children:["Layout","Typography","Media","Social Proof","Commerce","People","Content","Real Estate"].map(a=>{let c=as.filter(b=>b.category===a);return 0===c.length?null:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-widest px-2 mb-1",children:a}),c.map(a=>(0,b.jsxs)("div",{onClick:()=>{let b,c;x(c=[...w,b={id:X(),type:a.type,config:{...a.defaultConfig}}]),z(b.id),B("properties"),ao(c,b.id),e.toast.success(`${a.label} block added`)},className:"w-full flex items-center gap-3 px-3 py-2.5 rounded-xl hover:bg-secondary text-left transition-colors cursor-pointer group",children:[(0,b.jsx)("div",{className:"h-8 w-8 rounded-lg bg-secondary group-hover:bg-primary/10 flex items-center justify-center shrink-0 transition-colors",children:(0,b.jsx)(a.icon,{className:"h-4 w-4 text-muted-foreground group-hover:text-primary transition-colors"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-xs font-medium text-foreground",children:a.label}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground truncate",children:a.description})]})]},a.type))]},a)})})]}),"layers"===A&&(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 space-y-2",children:[(0,b.jsxs)("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground mb-3 flex items-center gap-1.5",children:[(0,b.jsx)(L.default,{className:"w-3.5 h-3.5 text-primary"})," Page Hierarchy"]}),w.map((a,c)=>{let d=y===a.id,e=ae.has(a.id),f=ag.has(a.id),g=W.find(b=>b.type===a.type),h=g?.icon||r.Layout,i=ai[a.id]||g?.label||a.type;return(0,b.jsxs)("div",{onClick:()=>{z(a.id),B("properties")},className:(0,N.cn)("flex items-center justify-between p-2.5 rounded-xl border cursor-pointer transition-all",d?"bg-primary/10 border-primary text-primary":"bg-card/45 border-border hover:bg-secondary/40 text-foreground"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5 min-w-0",children:[(0,b.jsx)(h,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(P.Input,{value:i,onClick:a=>a.stopPropagation(),onChange:b=>{var c,d;return c=a.id,d=b.target.value,void aj(a=>({...a,[c]:d}))},className:"h-6 px-1 border-0 bg-transparent text-xs font-medium p-0 focus-visible:ring-1 focus-visible:ring-primary focus-visible:bg-background/80"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0",onClick:a=>a.stopPropagation(),children:[(0,b.jsx)("button",{onClick:()=>{var b;return b=a.id,void af(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:(0,N.cn)("p-1 rounded hover:bg-secondary text-muted-foreground",e&&"text-primary bg-primary/5"),title:e?"Unlock block":"Lock block",children:e?(0,b.jsx)(J.Lock,{className:"h-3 w-3"}):(0,b.jsx)(K.default,{className:"h-3 w-3"})}),(0,b.jsx)("button",{onClick:()=>{var b;return b=a.id,void ah(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:(0,N.cn)("p-1 rounded hover:bg-secondary text-muted-foreground",f&&"text-destructive bg-destructive/5"),title:f?"Show block":"Hide block",children:f?(0,b.jsx)(m.EyeOff,{className:"h-3 w-3"}):(0,b.jsx)(l.Eye,{className:"h-3 w-3"})}),(0,b.jsx)("button",{onClick:()=>ap(a.id,"up"),disabled:0===c,className:"p-1 rounded hover:bg-secondary text-muted-foreground disabled:opacity-30",children:(0,b.jsx)(G.ChevronUp,{className:"h-3 w-3"})}),(0,b.jsx)("button",{onClick:()=>ap(a.id,"down"),disabled:c===w.length-1,className:"p-1 rounded hover:bg-secondary text-muted-foreground disabled:opacity-30",children:(0,b.jsx)(j.ChevronDown,{className:"h-3 w-3"})})]})]},a.id)})]})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto bg-muted/20 relative p-8 flex justify-center items-start min-h-[90vh]",children:[ac&&(0,b.jsx)("div",{className:"absolute inset-0 z-0 pointer-events-none opacity-40",style:{backgroundImage:"radial-gradient(circle, hsl(var(--border)) 1.5px, transparent 1.5px)",backgroundSize:"20px 20px"}}),(0,b.jsx)("div",{style:{width:Q?"100%":`${({desktop:1440,laptop:1024,"tablet-landscape":1024,"tablet-portrait":768,"mobile-large":425,"mobile-small":320})[S]}px`,transform:`scale(${aa})`,transformOrigin:"top center"},className:(0,N.cn)("transition-all duration-300 relative bg-background border border-border shadow-2xl overflow-hidden min-h-[85vh]",!Q&&"desktop"!==S&&"rounded-3xl ring-8 ring-secondary"),onClick:()=>z(null),children:(0,b.jsxs)("div",{className:"flex flex-col min-h-screen text-foreground relative",children:[(0,b.jsx)(U.Navbar,{settings:Y}),(0,b.jsx)("div",{className:"flex-grow pt-16 pb-20",children:0===w.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center gap-4 py-24 text-center",children:[(0,b.jsx)(g.Plus,{className:"h-8 w-8 text-muted-foreground"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"font-medium text-foreground",children:"Start building your visual page layout"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Select visual blocks from the left sidebar to add them"})]})]}):(0,b.jsx)(f.AnimatePresence,{mode:"popLayout",children:w.map((a,c)=>{let d=y===a.id,f=ae.has(a.id),g=ag.has(a.id),i=W.find(b=>b.type===a.type),l=ai[a.id]||i?.label||a.type;if(g)return null;let m=a.config?.customCSS?`#block-${a.id} { ${a.config.customCSS} }`:"";return(0,b.jsxs)("div",{id:`block-${a.id}`,onClick:b=>{(b.stopPropagation(),f)?e.toast.info("Block is locked. Unlock it in the Layers panel to edit."):(z(a.id),B("properties"))},style:{marginTop:a.config?.marginTop?String(a.config.marginTop):void 0,marginBottom:a.config?.marginBottom?String(a.config.marginBottom):void 0,paddingTop:a.config?.paddingTop?String(a.config.paddingTop):void 0,paddingBottom:a.config?.paddingBottom?String(a.config.paddingBottom):void 0,borderRadius:a.config?.borderRadius?String(a.config.borderRadius):void 0,boxShadow:a.config?.boxShadow?String(a.config.boxShadow):void 0,background:a.config?.backgroundGradient?String(a.config.backgroundGradient):void 0},className:(0,N.cn)("relative group transition-all duration-200 border-2 cursor-pointer",d?"border-primary ring-4 ring-primary/10":"border-transparent hover:border-primary/30",!!a.config?.hideOnDesktop&&!Q&&"opacity-40 border-dashed",!!a.config?.hideOnTablet&&!Q&&"opacity-40 border-dashed",!!a.config?.hideOnMobile&&!Q&&"opacity-40 border-dashed"),children:[m&&(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:m}}),!Q&&(0,b.jsx)("div",{className:"absolute top-0 left-0 bg-primary text-primary-foreground text-[9px] font-bold px-2 py-0.5 rounded-br-lg z-30 opacity-60 group-hover:opacity-100 transition-opacity",children:l}),!Q&&!f&&(0,b.jsxs)("div",{className:"absolute top-3 right-3 z-30 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity bg-background border border-border p-1 rounded-lg shadow-lg",onClick:a=>a.stopPropagation(),children:[(0,b.jsx)("button",{onClick:()=>ap(a.id,"up"),disabled:0===c,className:"h-6 w-6 rounded-md hover:bg-secondary flex items-center justify-center text-muted-foreground disabled:opacity-30",children:(0,b.jsx)(G.ChevronUp,{className:"h-3.5 w-3.5"})}),(0,b.jsx)("button",{onClick:()=>ap(a.id,"down"),disabled:c===w.length-1,className:"h-6 w-6 rounded-md hover:bg-secondary flex items-center justify-center text-muted-foreground disabled:opacity-30",children:(0,b.jsx)(j.ChevronDown,{className:"h-3.5 w-3.5"})}),(0,b.jsx)("button",{onClick:()=>(a=>{let b=w.find(b=>b.id===a);if(!b)return;let c={...b,id:X(),config:{...b.config}},d=w.findIndex(b=>b.id===a),f=[...w.slice(0,d+1),c,...w.slice(d+1)];x(f),z(c.id),ao(f,c.id),e.toast.success("Block duplicated")})(a.id),className:"h-6 w-6 rounded-md hover:bg-secondary flex items-center justify-center text-muted-foreground",children:(0,b.jsx)(k.Copy,{className:"h-3.5 w-3.5"})}),(0,b.jsx)("button",{onClick:()=>{var b;let c;return b=a.id,void(x(c=w.filter(a=>a.id!==b)),z(a=>a===b?null:a),ao(c,y===b?null:y),e.toast.error("Block removed"))},className:"h-6 w-6 rounded-md hover:bg-destructive/15 flex items-center justify-center text-muted-foreground hover:text-destructive",children:(0,b.jsx)(h.Trash2,{className:"h-3.5 w-3.5"})})]}),(0,b.jsx)(T.PageBuilderRenderer,{layout:[a]})]},a.id)})})}),(0,b.jsx)(V.Footer,{settings:Y})]})})]}),!Q&&(0,b.jsx)("div",{className:"w-80 border-l border-border bg-card/60 flex flex-col shrink-0",children:ar?(0,b.jsx)(Z,{block:ar,onChange:a=>{let b;return y&&void(x(b=w.map(b=>b.id===y?{...b,config:a}:b)),ao(b,y))}}):(0,b.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center p-6 text-center text-muted-foreground",children:[(0,b.jsx)(i.Settings,{className:"w-8 h-8 mb-2 opacity-40"}),(0,b.jsx)("p",{className:"text-xs font-semibold",children:"No block selected"}),(0,b.jsx)("p",{className:"text-[10px] mt-1",children:"Select a block on the visual canvas to edit its spacing, typography, and content values."})]})})]})]})}var _=a.i(405050);let aa=(0,_.createServerReference)("60dd31271122c807118ac25f777211a5379c879cd4",_.callServer,void 0,_.findSourceMapURL,"savePageBlocks"),ab=(0,_.createServerReference)("40491e13c34b160127e0728ff9231cdb61a44a9031",_.callServer,void 0,_.findSourceMapURL,"publishPage");a.s(["default",0,function({page:a}){let f,g=(0,d.useRouter)(),[h,i]=(0,c.useTransition)();try{if(a.content){let b=JSON.parse(a.content);if(Array.isArray(b)){let a=b.map(a=>({id:a.id||`blk_${Math.random().toString(36).slice(2,9)}`,type:a.type,config:a.settings||a.config||{}}));f={version:"1.0",blocks:a}}else if(b&&"object"==typeof b){let a=b.blocks||[];f={version:b.version||"1.0",blocks:a}}}}catch(a){}f?.blocks||(f={version:"1.0",blocks:[]});let j=async b=>{let c=await aa(a.id,b);c.success?e.toast.success("Draft saved successfully"):e.toast.error(c.error??"Failed to save")},k=async()=>{i(async()=>{let b=await ab(a.id);b.success?(e.toast.success("Page published!"),g.refresh()):e.toast.error(b.error??"Failed to publish")})};return(0,b.jsx)($,{initialTree:f,pageId:a.id,pageTitle:a.title,onSave:j,onPublish:"published"!==a.publish_status?k:void 0})}],600592)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_app_admin_cms_pages_%5Bid%5D_edit_page-editor-client_tsx_0hbosvr._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[627870,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(346271),e=a.i(262036),f=a.i(823292),g=a.i(201661),h=a.i(875160),i=a.i(613412),j=a.i(71215),k=a.i(526634),l=a.i(341476),m=a.i(1195),n=a.i(609225),n=n,o=a.i(699570),p=a.i(771511),q=a.i(46216);a.s(["BrandingEditor",0,function({initialValues:a}){let[r,s]=(0,c.useState)("assets"),[t,u]=(0,c.useState)(a.logo),[v,w]=(0,c.useState)(a.logo_dark),[x,y]=(0,c.useState)(a.favicon),[z,A]=(0,c.useState)(a.apple_icon),[B,C]=(0,c.useState)(a.og_image),[D,E]=(0,c.useState)(!1),[F,G]=(0,c.useState)(null),[H,I]=(0,c.useState)(""),[J,K]=(0,c.useState)(!1),[L,M]=(0,c.useState)(0),[N,O]=(0,c.useState)(""),[P,Q]=(0,c.useState)([]),R=(0,c.useRef)(null),S=async(a,b,c)=>{let d=f.toast.loading(`Uploading ${c}…`);try{let e=new FormData;e.append("file",a);let g=await fetch("/api/upload",{method:"POST",body:e});if(!g.ok)throw Error("Upload request failed");let h=await g.json();if(h.success&&h.url)b(h.url),f.toast.success(`${c} uploaded successfully!`,{id:d});else throw Error(h.error||"Failed to retrieve URL")}catch(a){f.toast.error(`Upload failed: ${a.message}`,{id:d})}},T=async()=>{E(!0);try{await (0,q.saveSettingsGroup)("branding",{logo:t,logo_dark:v,favicon:x,apple_icon:z}),await (0,q.saveSettingsGroup)("seo",{og_image:B}),f.toast.success("Branding settings saved successfully! Changes are now live.")}catch(a){f.toast.error(a.message||"Failed to save branding assets")}finally{E(!1)}},U=a=>{G(a),I(URL.createObjectURL(a)),Q([])},V=async()=>{if(!F)return void f.toast.error("Please select a primary logo first");K(!0),M(0),O("Preparing logo…");try{let a=new FormData;a.append("file",F),M(20),O("Uploading logo…");let b=await fetch("/api/generate-icons",{method:"POST",body:a});if(M(60),O("Generating platform icon sizes…"),!b.ok){let a=await b.json();throw Error(a.error??"Generation failed")}let c=await b.json();M(90),O("Saving settings URLs…"),Q(c.generated??[]);let d=c.generated?.find(a=>"favicon-32x32.png"===a.name),e=c.generated?.find(a=>"apple-touch-icon.png"===a.name),g=c.generated?.find(a=>"og-image.png"===a.name);d?.url&&y(d.url),e?.url&&A(e.url),g?.url&&C(g.url),await (0,q.saveSettingsGroup)("branding",{logo:H||t,favicon:d?.url??x,apple_icon:e?.url??z}),g?.url&&await (0,q.saveSettingsGroup)("seo",{og_image:g.url}),M(100),O("Done!"),f.toast.success(`Generated ${c.generated?.length??0} platform icons successfully!`)}catch(a){f.toast.error(a.message??"Generation failed")}finally{setTimeout(()=>K(!1),800)}},W={16:"Favicon 16px",32:"Favicon 32px",48:"Favicon 48px",72:"PWA 72px",96:"PWA 96px",128:"Chrome 128px",144:"MS Tile 144px",150:"MS Tile 150px",152:"iOS 152px",180:"Apple Touch",192:"Android 192px",384:"PWA 384px",512:"Android 512px"};return(0,b.jsxs)("div",{className:"max-w-6xl space-y-8",children:[(0,b.jsx)("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-4 border-b border-border/60 pb-6",children:(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-3xl font-bold text-foreground tracking-tight",children:"Branding & Logo Settings"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:"Configure your corporate logo assets, favicons, social Open Graph images, and platform icons."})]})}),(0,b.jsxs)("div",{className:"flex gap-2 border-b border-border/40 pb-px",children:[(0,b.jsxs)("button",{onClick:()=>s("assets"),className:`flex items-center gap-2 px-4 py-2.5 text-sm font-semibold border-b-2 transition-all ${"assets"===r?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[(0,b.jsx)(m.Palette,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Branding Assets"})]}),(0,b.jsxs)("button",{onClick:()=>s("generator"),className:`flex items-center gap-2 px-4 py-2.5 text-sm font-semibold border-b-2 transition-all ${"generator"===r?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[(0,b.jsx)(n.default,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Auto Icon Generator"})]})]}),"assets"===r?(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{className:"p-6 rounded-2xl border border-border bg-card/20 space-y-4 flex flex-col justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h3",{className:"font-semibold text-foreground flex items-center gap-2 mb-1",children:[(0,b.jsx)(j.Image,{className:"w-4 h-4 text-primary"}),"Primary Logo (Light Theme)"]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Default logo rendered on transparent or light page headers."}),(0,b.jsx)("div",{className:"my-4 h-32 rounded-xl bg-white border border-border/40 flex items-center justify-center p-4",children:t?(0,b.jsx)("img",{src:t,alt:"Logo Light",className:"max-h-24 object-contain"}):(0,b.jsx)("span",{className:"text-xs text-slate-400",children:"No logo uploaded"})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("input",{type:"text",value:t,onChange:a=>u(a.target.value),placeholder:"/logo/logo.png",className:"w-full px-3 py-2 bg-secondary/50 border border-border rounded-lg text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-primary"}),(0,b.jsx)("input",{type:"file",id:"logo-light-file",accept:"image/*",className:"sr-only",onChange:a=>{let b=a.target.files?.[0];b&&S(b,u,"Light Logo")}}),(0,b.jsxs)(o.Button,{onClick:()=>document.getElementById("logo-light-file")?.click(),variant:"gold-outline",size:"sm",className:"w-full h-9 gap-2 text-xs",children:[(0,b.jsx)(g.Upload,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Upload Logo File"})]})]})]}),(0,b.jsxs)("div",{className:"p-6 rounded-2xl border border-border bg-card/20 space-y-4 flex flex-col justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h3",{className:"font-semibold text-foreground flex items-center gap-2 mb-1",children:[(0,b.jsx)(j.Image,{className:"w-4 h-4 text-primary"}),"Dark Mode Logo"]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"High-contrast logo used specifically for dark mode headers."}),(0,b.jsx)("div",{className:"my-4 h-32 rounded-xl bg-[hsl(240,20%,5%)] border border-border/40 flex items-center justify-center p-4",children:v?(0,b.jsx)("img",{src:v,alt:"Logo Dark",className:"max-h-24 object-contain"}):(0,b.jsx)("span",{className:"text-xs text-slate-400",children:"No dark logo uploaded"})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("input",{type:"text",value:v,onChange:a=>w(a.target.value),placeholder:"/logo/logo_dark.png",className:"w-full px-3 py-2 bg-secondary/50 border border-border rounded-lg text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-primary"}),(0,b.jsx)("input",{type:"file",id:"logo-dark-file",accept:"image/*",className:"sr-only",onChange:a=>{let b=a.target.files?.[0];b&&S(b,w,"Dark Logo")}}),(0,b.jsxs)(o.Button,{onClick:()=>document.getElementById("logo-dark-file")?.click(),variant:"gold-outline",size:"sm",className:"w-full h-9 gap-2 text-xs",children:[(0,b.jsx)(g.Upload,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Upload Dark Logo"})]})]})]}),(0,b.jsxs)("div",{className:"p-6 rounded-2xl border border-border bg-card/20 space-y-4 flex flex-col justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h3",{className:"font-semibold text-foreground flex items-center gap-2 mb-1",children:[(0,b.jsx)(j.Image,{className:"w-4 h-4 text-primary"}),"Favicon (Tab Icon)"]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"The icon displayed in browser address bar and tabs."}),(0,b.jsx)("div",{className:"my-4 h-32 rounded-xl bg-secondary/20 border border-border/40 flex items-center justify-center p-4",children:x?(0,b.jsx)("img",{src:x,alt:"Favicon",className:"h-10 w-10 object-contain"}):(0,b.jsx)("span",{className:"text-xs text-slate-400",children:"No favicon uploaded"})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("input",{type:"text",value:x,onChange:a=>y(a.target.value),placeholder:"/favicon.ico",className:"w-full px-3 py-2 bg-secondary/50 border border-border rounded-lg text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-primary"}),(0,b.jsx)("input",{type:"file",id:"favicon-file",accept:"image/*",className:"sr-only",onChange:a=>{let b=a.target.files?.[0];b&&S(b,y,"Favicon")}}),(0,b.jsxs)(o.Button,{onClick:()=>document.getElementById("favicon-file")?.click(),variant:"gold-outline",size:"sm",className:"w-full h-9 gap-2 text-xs",children:[(0,b.jsx)(g.Upload,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Upload Favicon"})]})]})]}),(0,b.jsxs)("div",{className:"p-6 rounded-2xl border border-border bg-card/20 space-y-4 flex flex-col justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h3",{className:"font-semibold text-foreground flex items-center gap-2 mb-1",children:[(0,b.jsx)(j.Image,{className:"w-4 h-4 text-primary"}),"Open Graph Image (Social Sharing)"]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Primary sharing banner displayed on LinkedIn, Facebook, and Twitter links."}),(0,b.jsx)("div",{className:"my-4 h-32 rounded-xl bg-secondary/20 border border-border/40 flex items-center justify-center overflow-hidden p-2",children:B?(0,b.jsx)("img",{src:B,alt:"OG Banner",className:"h-full w-full object-cover rounded-lg"}):(0,b.jsx)("span",{className:"text-xs text-slate-400",children:"No OG image uploaded"})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("input",{type:"text",value:B,onChange:a=>C(a.target.value),placeholder:"/og/propVault.png",className:"w-full px-3 py-2 bg-secondary/50 border border-border rounded-lg text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-primary"}),(0,b.jsx)("input",{type:"file",id:"og-file",accept:"image/*",className:"sr-only",onChange:a=>{let b=a.target.files?.[0];b&&S(b,C,"OG Image")}}),(0,b.jsxs)(o.Button,{onClick:()=>document.getElementById("og-file")?.click(),variant:"gold-outline",size:"sm",className:"w-full h-9 gap-2 text-xs",children:[(0,b.jsx)(g.Upload,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Upload OG Image"})]})]})]})]}),(0,b.jsx)("div",{className:"flex justify-end pt-4",children:(0,b.jsx)(o.Button,{onClick:T,disabled:D,className:"btn-gold h-11 px-8 gap-2 text-sm font-semibold",children:D?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.Loader2,{className:"w-4 h-4 animate-spin"})," Saving Assets…"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(l.Settings,{className:"w-4 h-4"})," Save Branding Assets"]})})})]}):(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"p-6 rounded-2xl border border-border bg-card/40 space-y-4",children:[(0,b.jsxs)("h2",{className:"font-semibold text-foreground flex items-center gap-2",children:[(0,b.jsx)(k.Star,{className:"h-4 w-4 text-primary"}),"Upload Source Logo"]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{onClick:()=>R.current?.click(),onDragOver:a=>a.preventDefault(),onDrop:a=>{a.preventDefault();let b=a.dataTransfer.files[0];b?.type.startsWith("image/")&&U(b)},className:"relative flex flex-col items-center justify-center gap-3 p-8 rounded-2xl border-2 border-dashed border-border/60 hover:border-primary/40 cursor-pointer transition-all min-h-[180px] bg-secondary/20",children:[(0,b.jsx)("input",{ref:R,type:"file",accept:"image/*",className:"sr-only",onChange:a=>{let b=a.target.files?.[0];b&&U(b),a.target.value=""}}),(0,b.jsx)(g.Upload,{className:"h-8 w-8 text-muted-foreground"}),(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Select Source Logo"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"PNG, SVG, or WebP — min 512×512px recommended"})]})]}),(0,b.jsx)("div",{className:"flex flex-col items-center justify-center gap-3 p-6 rounded-2xl bg-secondary/30 min-h-[180px]",children:H?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("img",{src:H,alt:"Logo preview",className:"max-h-24 max-w-full object-contain"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:F?.name??"Selected logo"})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 text-muted-foreground",children:[(0,b.jsx)(j.Image,{className:"h-10 w-10"}),(0,b.jsx)("p",{className:"text-xs",children:"No logo selected yet"})]})})]}),(0,b.jsx)(o.Button,{onClick:V,disabled:!F||J,className:"btn-gold w-full h-11 gap-2",children:J?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.Loader2,{className:"h-4 w-4 animate-spin"})," Generating Icons…"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(k.Star,{className:"h-4 w-4"})," Generate All Icons & Favicons"]})})]}),(0,b.jsx)(e.AnimatePresence,{children:P.length>0&&(0,b.jsxs)(d.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},className:"p-6 rounded-2xl border border-emerald-500/20 bg-emerald-500/5 space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(i.CheckCircle2,{className:"h-5 w-5 text-emerald-400"}),(0,b.jsxs)("h2",{className:"font-semibold text-foreground",children:[P.length," Icons Generated"]})]}),(0,b.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6 gap-3",children:P.map(a=>(0,b.jsxs)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"group flex flex-col items-center gap-2 p-3 rounded-xl bg-card/60 border border-border hover:border-primary/30 transition-all",children:[(0,b.jsx)("img",{src:a.url,alt:a.name,className:"h-10 w-10 object-contain"}),(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)("p",{className:"text-[10px] font-medium text-foreground truncate w-full",children:a.size?W[a.size]??`${a.size}\xd7${a.size}`:`${a.width}\xd7${a.height}`}),(0,b.jsx)("p",{className:"text-[9px] text-muted-foreground truncate",children:a.name})]})]},a.name))}),(0,b.jsxs)("p",{className:"text-xs text-emerald-400/80",children:["All icons successfully generated and saved to ",(0,b.jsx)("code",{className:"font-mono",children:"/public/icons/"}),"."]})]})})]}),(0,b.jsx)(p.ProgressDialog,{open:J,title:"Generating Icons",description:"Creating all platform-specific icon sizes from your logo",progress:L,status:N})]})}],627870)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_components_admin_branding_icon-generator_tsx_0-p-crb._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[783270,a=>{"use strict";var b=a.i(187924),c=a.i(50944),d=a.i(572131),e=a.i(695245),f=a.i(159501),g=a.i(875160),h=a.i(201661),i=a.i(980180),j=a.i(943784),j=j,k=a.i(427377),l=a.i(48240),l=l,m=a.i(823292),n=a.i(699570),o=a.i(866718),p=a.i(870430),q=a.i(429246),r=a.i(704607),s=a.i(405050);let t=(0,s.createServerReference)("4048bdacd6cb6db19e90db9cde971fffbf7a54b455",s.callServer,void 0,s.findSourceMapURL,"createProject"),u=(0,s.createServerReference)("6030a31c304a035ed675b9e21ea205fb50690737f1",s.callServer,void 0,s.findSourceMapURL,"updateProject");a.s(["ProjectForm",0,function({initialData:a,builders:s,cities:v,states:w,countries:x}){let y=(0,c.useRouter)(),[z,A]=(0,d.useState)(!1),[B,C]=(0,d.useState)(!1),[D,E]=(0,d.useState)(a?.cover_image??null),{register:F,handleSubmit:G,setValue:H,formState:{errors:I}}=(0,e.useForm)({resolver:(0,f.zodResolver)(r.projectSchema),defaultValues:a?{...a,price_min:Number(a.price_min),price_max:Number(a.price_max),price_per_sqft:a.price_per_sqft?Number(a.price_per_sqft):void 0,latitude:a.latitude?Number(a.latitude):void 0,longitude:a.longitude?Number(a.longitude):void 0,total_units:a.total_units?Number(a.total_units):void 0,total_floors:a.total_floors?Number(a.total_floors):void 0,total_towers:a.total_towers?Number(a.total_towers):void 0,total_area_acres:a.total_area_acres?Number(a.total_area_acres):void 0,open_space_percent:a.open_space_percent?Number(a.open_space_percent):void 0,is_featured:"1"===String(a.is_featured)||!0===a.is_featured,is_luxury:"1"===String(a.is_luxury)||!0===a.is_luxury,is_new_launch:"1"===String(a.is_new_launch)||!0===a.is_new_launch,is_rera_registered:"1"===String(a.is_rera_registered)||!0===a.is_rera_registered}:{status:"upcoming",category:"residential",possession_status:"under_construction",is_featured:!1,is_luxury:!1,is_new_launch:!1,is_rera_registered:!1,publish_status:"draft",currency:"INR",country_id:x[0]?.id??"IN"}}),J=async a=>{let b=a.target.files?.[0];if(!b)return;C(!0);let c=new FormData;c.append("file",b);try{let a=await fetch("/api/upload",{method:"POST",body:c}),b=await a.json();b.url?(E(b.url),H("cover_image",b.url),m.toast.success("Image uploaded successfully!")):m.toast.error(b.error??"Failed to upload image")}catch{m.toast.error("Upload failed")}finally{C(!1)}},K=async b=>{A(!0);try{if(a){let c=await u(a.id,b);c.success?(m.toast.success("Project updated successfully!"),y.push("/admin/projects"),y.refresh()):m.toast.error(c.error??"Failed to update project")}else{let a=await t(b);a.success?(m.toast.success("Project created successfully!"),y.push("/admin/projects"),y.refresh()):m.toast.error(a.error??"Failed to create project")}}catch{m.toast.error("An error occurred. Please try again.")}finally{A(!1)}};return(0,b.jsxs)("form",{onSubmit:G(K),className:"space-y-8 max-w-5xl",children:[(0,b.jsxs)("div",{className:"glass-card p-6 rounded-2xl",children:[(0,b.jsx)("h3",{className:"text-base font-semibold text-foreground mb-4",children:"Cover Image"}),(0,b.jsxs)("div",{className:"flex flex-col md:flex-row items-center gap-6",children:[(0,b.jsx)("div",{className:"relative w-full md:w-64 h-36 bg-secondary/30 rounded-xl overflow-hidden border border-border flex items-center justify-center",children:D?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("img",{src:D,alt:"Cover Preview",className:"w-full h-full object-cover"}),(0,b.jsx)("button",{type:"button",onClick:()=>{E(null),H("cover_image","")},className:"absolute top-2 right-2 p-1.5 bg-background/80 hover:bg-background text-destructive rounded-lg border border-border transition-colors",children:(0,b.jsx)(i.Trash2,{className:"w-4 h-4"})})]}):(0,b.jsx)(k.Building2,{className:"w-10 h-10 text-muted-foreground"})}),(0,b.jsxs)("div",{className:"flex-1 w-full text-center md:text-left",children:[(0,b.jsxs)(p.Label,{htmlFor:"cover-file-upload",className:"w-fit cursor-pointer",children:[(0,b.jsxs)("div",{className:"flex items-center justify-center gap-2 px-4 py-2 border border-border hover:bg-secondary/50 rounded-xl transition-colors font-medium text-sm text-foreground",children:[(0,b.jsx)(h.Upload,{className:"w-4 h-4"}),B?"Uploading...":"Upload Cover Image"]}),(0,b.jsx)("input",{id:"cover-file-upload",type:"file",accept:"image/*",className:"hidden",onChange:J,disabled:B})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:"Recommended: WebP or JPG, 16:9 ratio, under 2MB."})]})]})]}),(0,b.jsxs)("div",{className:"grid md:grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{className:"glass-card p-6 rounded-2xl space-y-4",children:[(0,b.jsxs)("h3",{className:"text-base font-semibold text-foreground mb-4 flex items-center gap-2",children:[(0,b.jsx)(j.default,{className:"w-4 h-4 text-primary"})," Basic Information"]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"proj-name",children:"Project Name *"}),(0,b.jsx)(o.Input,{id:"proj-name",...F("name"),placeholder:"e.g. PropVault Premium Heights"}),I.name&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.name.message})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"proj-tagline",children:"Tagline"}),(0,b.jsx)(o.Input,{id:"proj-tagline",...F("tagline"),placeholder:"e.g. Ultra-Luxury Living in South Mumbai"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{children:"Builder *"}),(0,b.jsxs)("select",{...F("builder_id"),className:"h-10 w-full px-3 rounded-xl border border-border bg-card text-sm text-foreground focus:outline-none",children:[(0,b.jsx)("option",{value:"",children:"Select Builder"}),s.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),I.builder_id&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.builder_id.message})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{children:"Category *"}),(0,b.jsxs)("select",{...F("category"),className:"h-10 w-full px-3 rounded-xl border border-border bg-card text-sm text-foreground focus:outline-none",children:[(0,b.jsx)("option",{value:"luxury",children:"Luxury"}),(0,b.jsx)("option",{value:"residential",children:"Residential"}),(0,b.jsx)("option",{value:"commercial",children:"Commercial"}),(0,b.jsx)("option",{value:"rental",children:"Rental"}),(0,b.jsx)("option",{value:"villa",children:"Villa"}),(0,b.jsx)("option",{value:"plot",children:"Plot"})]})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"proj-desc",children:"Detailed Description *"}),(0,b.jsx)(q.Textarea,{id:"proj-desc",...F("description"),placeholder:"Provide a comprehensive description of features, materials, amenities, etc.",className:"min-h-[120px]"}),I.description&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.description.message})]})]}),(0,b.jsxs)("div",{className:"glass-card p-6 rounded-2xl space-y-4",children:[(0,b.jsxs)("h3",{className:"text-base font-semibold text-foreground mb-4 flex items-center gap-2",children:[(0,b.jsx)(l.default,{className:"w-4 h-4 text-primary"})," Pricing & Location"]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"price-min",children:"Min Price (₹) *"}),(0,b.jsx)(o.Input,{id:"price-min",type:"number",...F("price_min"),placeholder:"e.g. 15000000"}),I.price_min&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.price_min.message})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"price-max",children:"Max Price (₹) *"}),(0,b.jsx)(o.Input,{id:"price-max",type:"number",...F("price_max"),placeholder:"e.g. 45000000"}),I.price_max&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.price_max.message})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{children:"City *"}),(0,b.jsxs)("select",{...F("city_id"),className:"h-10 w-full px-3 rounded-xl border border-border bg-card text-sm text-foreground focus:outline-none",children:[(0,b.jsx)("option",{value:"",children:"Select City"}),v.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),I.city_id&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.city_id.message})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{children:"State *"}),(0,b.jsxs)("select",{...F("state_id"),className:"h-10 w-full px-3 rounded-xl border border-border bg-card text-sm text-foreground focus:outline-none",children:[(0,b.jsx)("option",{value:"",children:"Select State"}),w.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),I.state_id&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.state_id.message})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"proj-address",children:"Address *"}),(0,b.jsx)(o.Input,{id:"proj-address",...F("address"),placeholder:"e.g. Sector 15, BKC, Bandra East"}),I.address&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.address.message})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{children:"Status"}),(0,b.jsxs)("select",{...F("status"),className:"h-10 w-full px-3 rounded-xl border border-border bg-card text-sm text-foreground focus:outline-none",children:[(0,b.jsx)("option",{value:"upcoming",children:"Upcoming"}),(0,b.jsx)("option",{value:"ongoing",children:"Ongoing"}),(0,b.jsx)("option",{value:"completed",children:"Completed"}),(0,b.jsx)("option",{value:"on_hold",children:"On Hold"})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{children:"Possession Status"}),(0,b.jsxs)("select",{...F("possession_status"),className:"h-10 w-full px-3 rounded-xl border border-border bg-card text-sm text-foreground focus:outline-none",children:[(0,b.jsx)("option",{value:"ready_to_move",children:"Ready to Move"}),(0,b.jsx)("option",{value:"under_construction",children:"Under Construction"}),(0,b.jsx)("option",{value:"nearing_possession",children:"Nearing Possession"})]})]})]})]})]}),(0,b.jsxs)("div",{className:"glass-card p-6 rounded-2xl space-y-4",children:[(0,b.jsxs)("h3",{className:"text-base font-semibold text-foreground mb-4 flex items-center gap-2",children:[(0,b.jsx)(k.Building2,{className:"w-4 h-4 text-primary"})," Specifications & Certifications"]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-secondary/10 rounded-xl",children:[(0,b.jsx)("input",{type:"checkbox",id:"flag-featured",...F("is_featured"),className:"w-4 h-4 rounded text-primary"}),(0,b.jsx)(p.Label,{htmlFor:"flag-featured",className:"cursor-pointer select-none",children:"Featured Listing"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-secondary/10 rounded-xl",children:[(0,b.jsx)("input",{type:"checkbox",id:"flag-luxury",...F("is_luxury"),className:"w-4 h-4 rounded text-primary"}),(0,b.jsx)(p.Label,{htmlFor:"flag-luxury",className:"cursor-pointer select-none",children:"Luxury Tag"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-secondary/10 rounded-xl",children:[(0,b.jsx)("input",{type:"checkbox",id:"flag-launch",...F("is_new_launch"),className:"w-4 h-4 rounded text-primary"}),(0,b.jsx)(p.Label,{htmlFor:"flag-launch",className:"cursor-pointer select-none",children:"New Launch"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-secondary/10 rounded-xl",children:[(0,b.jsx)("input",{type:"checkbox",id:"flag-rera",...F("is_rera_registered"),className:"w-4 h-4 rounded text-primary"}),(0,b.jsx)(p.Label,{htmlFor:"flag-rera",className:"cursor-pointer select-none",children:"RERA Registered"})]})]}),(0,b.jsxs)("div",{className:"grid md:grid-cols-3 gap-6 pt-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"rera-num",children:"RERA Number"}),(0,b.jsx)(o.Input,{id:"rera-num",...F("rera_number"),placeholder:"e.g. P51800012345"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"brochure-url",children:"Brochure URL"}),(0,b.jsx)(o.Input,{id:"brochure-url",...F("brochure_url"),placeholder:"PDF download link"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"video-url",children:"Video / YouTube URL"}),(0,b.jsx)(o.Input,{id:"video-url",...F("video_url"),placeholder:"e.g. YouTube promo video link"})]})]})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-4",children:[(0,b.jsx)(n.Button,{type:"button",variant:"outline",onClick:()=>y.push("/admin/projects"),children:"Cancel"}),(0,b.jsx)(n.Button,{type:"submit",variant:"gold",disabled:z,children:z?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Loader2,{className:"w-4 h-4 animate-spin"}),"Saving..."]}):"Save Project"})]})]})}],783270)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_components_admin_projects_project-form_tsx_0ynt29x._.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
module.exports=[436649,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(50944),f=a.i(1195),g=a.i(536670),h=a.i(201661),i=a.i(875160),j=a.i(879675),k=a.i(403139),k=k,l=a.i(982453),m=a.i(873019),n=a.i(585650),o=a.i(980180),p=a.i(233540),q=a.i(526634),r=a.i(128668),r=r,s=a.i(436169),s=s,t=a.i(114625),t=t,u=a.i(170979),v=a.i(711613),w=a.i(699570),x=a.i(866718),y=a.i(870430),z=a.i(368114);function A(){return{colors:{background:"240 20% 7%",foreground:"240 5% 96%",primary:"36 82% 47%",primaryForeground:"240 20% 7%",secondary:"240 12% 18%",secondaryForeground:"240 5% 96%",accent:"36 82% 47%",accentForeground:"240 20% 7%",muted:"240 10% 15%",mutedForeground:"240 5% 55%",card:"240 15% 11%",cardForeground:"240 5% 96%",border:"240 10% 18%",input:"240 10% 14%",ring:"36 82% 47%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},typography:{fontSans:"Inter, sans-serif",fontSerif:"Playfair Display, serif",fontMono:"JetBrains Mono, monospace",baseFontSize:"16px",lineHeight:"1.6"},spacing:{radius:"0.75rem",containerMaxWidth:"80rem"},custom:{}}}function B(a){let b=A();try{let c=JSON.parse(a);return{colors:{...b.colors,...c.colors||{}},lightColors:c.lightColors?{...b.colors,...c.lightColors}:void 0,darkColors:c.darkColors?{...b.colors,...c.darkColors}:void 0,typography:{...b.typography,...c.typography||{}},spacing:{...b.spacing,...c.spacing||{}},custom:c.custom||{}}}catch{return b}}var C=a.i(405050);let D=(0,C.createServerReference)("40fc8287535c514744bf050f489c80b78f2b517bae",C.callServer,void 0,C.findSourceMapURL,"saveTheme"),E=(0,C.createServerReference)("4064e41cc0857f390c46374824dbb2a0c8a69d3c01",C.callServer,void 0,C.findSourceMapURL,"activateTheme"),F=(0,C.createServerReference)("40bf86678b28d2d4e1b00d380d586ee4e2a013925e",C.callServer,void 0,C.findSourceMapURL,"importTheme"),G=(0,C.createServerReference)("40b723ed39b83027664342440f714dc651726d3c23",C.callServer,void 0,C.findSourceMapURL,"duplicateTheme"),H=(0,C.createServerReference)("406a081c58cd1c8fc33d4e319bc2c608934e1ba9b0",C.callServer,void 0,C.findSourceMapURL,"deleteTheme");var I=a.i(771511);let J=[{key:"background",label:"Background"},{key:"foreground",label:"Foreground"},{key:"primary",label:"Primary (Brand)"},{key:"primaryForeground",label:"Primary Foreground"},{key:"secondary",label:"Secondary"},{key:"secondaryForeground",label:"Secondary Foreground"},{key:"accent",label:"Accent"},{key:"accentForeground",label:"Accent Foreground"},{key:"muted",label:"Muted"},{key:"mutedForeground",label:"Muted Foreground"},{key:"card",label:"Card Background"},{key:"cardForeground",label:"Card Text"},{key:"border",label:"Border"},{key:"input",label:"Input Background"},{key:"destructive",label:"Destructive"}],K=["Inter","Playfair Display","Montserrat","Outfit","Roboto","Poppins","Lora","Merriweather","Lato","Oswald"];a.s(["default",0,function({themes:a,activeThemeId:C}){let L=(0,e.useRouter)(),[M,N]=(0,c.useState)(a),[O,P]=(0,c.useState)(C),[Q,R]=(0,c.useState)(A()),[S,T]=(0,c.useState)("My Custom Theme"),[U,V]=(0,c.useState)("my-custom-theme"),[W,X]=(0,c.useState)("colors"),[Y,Z]=(0,c.useState)(""),[$,_]=(0,c.useTransition)(),[aa,ab]=(0,c.useState)(""),[ac,ad]=(0,c.useState)(null),[ae,af]=(0,c.useState)(!1),[ag,ah]=(0,c.useState)("light"),[ai,aj]=(0,c.useState)(""),[ak,al]=(0,c.useState)(["Inter","Playfair Display"]),[am,an]=(0,c.useState)("desktop");(0,c.useEffect)(()=>{N(a);let b=a.find(a=>a.id===O||"1"===String(a.is_active)||!0===a.is_active);b&&(R(B(b.tokens)),T(b.name),V(b.slug))},[a,O]),(0,c.useEffect)(()=>{let a,b,c,d,e,f,g,h,i;Z((a=Q.colors||{},b=Q.lightColors||a,c=Q.darkColors||a,d=Q.typography||{},e=Q.spacing||{},f=Q.custom||{},h=[...(g=a=>[`--background: ${a.background};`,`--foreground: ${a.foreground};`,`--primary: ${a.primary};`,`--primary-foreground: ${a.primaryForeground};`,`--secondary: ${a.secondary};`,`--secondary-foreground: ${a.secondaryForeground};`,`--accent: ${a.accent};`,`--accent-foreground: ${a.accentForeground};`,`--muted: ${a.muted};`,`--muted-foreground: ${a.mutedForeground};`,`--card: ${a.card};`,`--card-foreground: ${a.cardForeground};`,`--popover: ${a.card};`,`--popover-foreground: ${a.cardForeground};`,`--border: ${a.border};`,`--input: ${a.input};`,`--ring: ${a.ring};`,`--destructive: ${a.destructive};`,`--destructive-foreground: ${a.destructiveForeground};`,`--gold: ${a.primary};`,`--gold-light: ${a.accent};`,"--whatsapp: 142 70% 45%;","--whatsapp-hover: 142 70% 35%;"])(b),`--radius: ${e.radius};`,`--font-sans: ${d.fontSans};`,`--font-serif: ${d.fontSerif};`,`--font-mono: ${d.fontMono};`,`--container-max-width: ${e.containerMaxWidth};`,...Object.entries(f).map(([a,b])=>`--${a}: ${b};`)],i=g(c),`:root {
|
|
2
|
+
${h.join("\n ")}
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.dark {
|
|
6
|
+
${i.join("\n ")}
|
|
7
|
+
}`))},[Q]);let ao=(a,b)=>{R(c=>{let d="light"===ag?"lightColors":"darkColors",e=c[d]||{...c.colors};return{...c,colors:"light"===ag?{...c.colors,[a]:b}:c.colors,[d]:{...e,[a]:b}}})},ap=(a,b)=>{R(c=>({...c,typography:{...c.typography,[a]:b}}))},aq=async a=>{let b=a.target.files?.[0];if(!b)return;let c=await b.text();ab(""),_(async()=>{let a=await F(c);if(a.success){d.toast.success("Theme imported");try{let a=JSON.parse(c);R({...A(),...a.tokens}),T(a.name),V(a.slug)}catch{}L.refresh()}else ab(a.error??"Import failed"),d.toast.error(a.error??"Import failed")}),a.target.value=""},ar=async()=>{if(ac){af(!0);try{let a=await H(ac.id);a.success?(d.toast.success("Theme deleted successfully"),ad(null),L.refresh()):d.toast.error(a.error||"Failed to delete theme")}catch(a){d.toast.error(a.message||"An error occurred")}finally{af(!1)}}},as=a=>{al(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])},at=K.filter(a=>a.toLowerCase().includes(ai.toLowerCase())),au="light"===ag?Q.lightColors||Q.colors:Q.darkColors||Q.colors;return(0,b.jsxs)("div",{className:"flex h-[calc(100vh-64px)] overflow-hidden",children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:Y}}),(0,b.jsxs)("div",{className:"w-80 border-r border-border bg-card/60 flex flex-col overflow-hidden",children:[(0,b.jsxs)("div",{className:"p-4 border-b border-border",children:[(0,b.jsxs)("h2",{className:"text-sm font-bold text-foreground flex items-center gap-2",children:[(0,b.jsx)(f.Palette,{className:"h-4 w-4 text-primary"}),"Theme Builder"]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Design tokens with Light/Dark support"})]}),(0,b.jsxs)("div",{className:"p-4 border-b border-border space-y-2",children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:"Theme Name"}),(0,b.jsx)("input",{value:S,onChange:a=>{T(a.target.value),V(a.target.value.toLowerCase().replace(/[^a-z0-9]+/g,"-"))},className:"w-full px-3 py-2 text-sm bg-secondary/60 border border-border rounded-xl focus:outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,b.jsx)("div",{className:"flex border-b border-border",children:[{id:"colors",icon:k.default,label:"Colors"},{id:"typography",icon:l.Type,label:"Typography"},{id:"spacing",icon:m.Layout,label:"Space"}].map(({id:a,icon:c,label:d})=>(0,b.jsxs)("button",{onClick:()=>X(a),className:(0,z.cn)("flex-1 flex flex-col items-center gap-1 py-3 text-[10px] font-semibold uppercase tracking-wide transition-colors",W===a?"text-primary border-b-2 border-primary":"text-muted-foreground hover:text-foreground"),children:[(0,b.jsx)(c,{className:"h-3.5 w-3.5"}),d]},a))}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 space-y-5",children:["colors"===W&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex border border-border bg-secondary/30 rounded-xl p-0.5 mb-2",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>ah("light"),className:(0,z.cn)("flex-1 py-1 text-[10px] font-bold rounded-lg uppercase flex items-center justify-center gap-1.5","light"===ag?"bg-primary text-primary-foreground":"text-muted-foreground"),children:[(0,b.jsx)(v.Sun,{className:"w-3.5 h-3.5"})," Light Variant"]}),(0,b.jsxs)("button",{type:"button",onClick:()=>ah("dark"),className:(0,z.cn)("flex-1 py-1 text-[10px] font-bold rounded-lg uppercase flex items-center justify-center gap-1.5","dark"===ag?"bg-primary text-primary-foreground":"text-muted-foreground"),children:[(0,b.jsx)(u.Moon,{className:"w-3.5 h-3.5"})," Dark Variant"]})]}),J.map(({key:a,label:c})=>{let d=function(a){if(!a)return"#000000";let b=a.trim().replace(/%/g,"").split(/\s+/),c=parseInt(b[0]||"0",10)/360,d=parseInt(b[1]||"0",10)/100,e=parseInt(b[2]||"0",10)/100,f=e,g=e,h=e;if(0!==d){let a=(a,b,c)=>(c<0&&(c+=1),c>1&&(c-=1),c<1/6)?a+(b-a)*6*c:c<.5?b:c<2/3?a+(b-a)*(2/3-c)*6:a,b=e<.5?e*(1+d):e+d-e*d,i=2*e-b;f=a(i,b,c+1/3),g=a(i,b,c),h=a(i,b,c-1/3)}let i=a=>{let b=Math.round(255*a).toString(16);return 1===b.length?"0"+b:b};return`#${i(f)}${i(g)}${i(h)}`}(au[a]||Q.colors[a]);return(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground mb-1",children:c}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{type:"color",value:d,onChange:b=>ao(a,function(a){let b=parseInt(a.slice(1,3),16)/255,c=parseInt(a.slice(3,5),16)/255,d=parseInt(a.slice(5,7),16)/255,e=Math.max(b,c,d),f=Math.min(b,c,d),g=0,h=0,i=(e+f)/2;if(e!==f){let a=e-f;switch(h=i>.5?a/(2-e-f):a/(e+f),e){case b:g=(c-d)/a+6*(c<d);break;case c:g=(d-b)/a+2;break;case d:g=(b-c)/a+4}g/=6}return`${Math.round(360*g)} ${Math.round(100*h)}% ${Math.round(100*i)}%`}(b.target.value)),className:"h-8 w-8 rounded-lg cursor-pointer border-0 bg-transparent shrink-0"}),(0,b.jsx)("input",{value:au[a]||"",onChange:b=>ao(a,b.target.value),placeholder:"240 20% 7%",className:"flex-1 px-2 py-1.5 text-xs bg-secondary/60 border border-border rounded-lg focus:outline-none focus:ring-1 focus:ring-primary/30 font-mono"})]})]},a)})]}),"typography"===W&&(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("div",{className:"flex border border-border bg-secondary/30 rounded-xl p-0.5 mb-2",children:[{mode:"desktop",icon:s.default},{mode:"tablet",icon:t.default},{mode:"mobile",icon:r.default}].map(({mode:a,icon:c})=>(0,b.jsxs)("button",{type:"button",onClick:()=>an(a),className:(0,z.cn)("flex-1 py-1 text-[10px] font-bold rounded-lg uppercase flex items-center justify-center gap-1",am===a?"bg-primary text-primary-foreground":"text-muted-foreground"),children:[(0,b.jsx)(c,{className:"w-3 h-3"})," ",a]},a))}),(0,b.jsxs)("div",{children:[(0,b.jsx)(y.Label,{className:"text-[10px] font-bold uppercase text-muted-foreground block mb-1",children:"Search Google Fonts"}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(p.Search,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)(x.Input,{placeholder:"Search Google Fonts...",value:ai,onChange:a=>aj(a.target.value),className:"h-8 text-xs pl-8 bg-secondary/30 border border-border"})]})]}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(y.Label,{className:"text-[10px] font-bold uppercase text-muted-foreground block",children:"Starred Fonts"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ak.map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-full bg-primary/10 border border-primary/20 text-[10px] text-primary",children:[a,(0,b.jsx)(q.Star,{className:"w-3 h-3 fill-primary text-primary cursor-pointer",onClick:()=>as(a)})]},a))})]}),(0,b.jsx)("div",{className:"space-y-2 max-h-48 overflow-y-auto border border-border rounded-xl p-2 bg-secondary/15",children:at.map(a=>{let c=ak.includes(a);return(0,b.jsxs)("div",{className:"flex items-center justify-between p-1 hover:bg-secondary/40 rounded",children:[(0,b.jsx)("span",{onClick:()=>ap("fontSans",`${a}, sans-serif`),style:{fontFamily:a},className:"text-xs cursor-pointer text-foreground",children:a}),(0,b.jsx)("button",{onClick:()=>as(a),children:(0,b.jsx)(q.Star,{className:(0,z.cn)("w-3 h-3",c?"fill-primary text-primary":"text-muted-foreground")})})]},a)})}),[{key:"fontSans",label:"Sans Serif Font"},{key:"fontSerif",label:"Serif Font"},{key:"fontMono",label:"Monospace Font"},{key:"baseFontSize",label:"Base Font Size"},{key:"lineHeight",label:"Line Height"}].map(({key:a,label:c})=>(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:c}),(0,b.jsx)("input",{value:Q.typography[a]||"",onChange:b=>ap(a,b.target.value),className:"w-full px-3 py-2 text-xs bg-secondary/60 border border-border rounded-xl focus:outline-none focus:ring-1 focus:ring-primary/30"})]},a))]}),"spacing"===W&&(0,b.jsx)(b.Fragment,{children:[{key:"radius",label:"Border Radius"},{key:"containerMaxWidth",label:"Max Container Width"}].map(({key:a,label:c})=>(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:c}),(0,b.jsx)("input",{value:Q.spacing[a]||"",onChange:b=>{var c;return c=b.target.value,void R(b=>({...b,spacing:{...b.spacing,[a]:c}}))},className:"w-full px-3 py-2 text-xs bg-secondary/60 border border-border rounded-xl focus:outline-none focus:ring-1 focus:ring-primary/30"})]},a))})]}),(0,b.jsxs)("div",{className:"p-4 border-t border-border space-y-2",children:[(0,b.jsxs)(w.Button,{onClick:()=>{_(async()=>{let a=await D({id:O,name:S,slug:U,tokens:JSON.stringify(Q)});a.success?(d.toast.success("Theme saved successfully!"),L.refresh()):d.toast.error(a.error??"Save failed")})},disabled:$,className:"btn-gold w-full gap-2",children:[$?(0,b.jsx)(i.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(j.Save,{className:"h-4 w-4"}),"Save Theme Tokens"]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(w.Button,{onClick:()=>{let a=new Blob([JSON.stringify({name:S,slug:U,tokens:Q,version:"1.0",exportedAt:new Date().toISOString()},null,2)],{type:"application/json"}),b=URL.createObjectURL(a),c=document.createElement("a");c.href=b,c.download=`theme-${U}.json`,c.click(),URL.revokeObjectURL(b),d.toast.success("Theme exported")},variant:"outline",size:"sm",className:"flex-1 gap-2",children:[(0,b.jsx)(g.Download,{className:"h-3.5 w-3.5"}),"Export"]}),(0,b.jsxs)("label",{className:"flex-1",children:[(0,b.jsx)("input",{type:"file",accept:".json",className:"sr-only",onChange:aq}),(0,b.jsxs)("span",{className:"flex items-center justify-center gap-2 px-3 py-2 text-xs font-medium rounded-lg border border-border hover:bg-secondary cursor-pointer transition-colors",children:[(0,b.jsx)(h.Upload,{className:"h-3.5 w-3.5"}),"Import"]})]})]}),aa&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:aa})]})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto p-6 space-y-8 bg-muted/10",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-sm font-bold uppercase tracking-wider text-muted-foreground mb-4",children:"Preset Themes"}),(0,b.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5 gap-4",children:M.filter(a=>a.is_system||"luxury-dark-gold"===a.slug).map(a=>{let c=B(a.tokens);return(0,b.jsxs)("button",{onClick:()=>{var b;let c;return b=a.slug,void(!(c=M.find(a=>a.slug===b))||(R(B(c.tokens)),T(c.name),V(c.slug),d.toast.success(`Loaded "${c.name}" preset`)))},className:"group relative flex flex-col gap-3 p-4 rounded-2xl border border-border hover:border-primary/45 transition-all text-left bg-card/45 hover:bg-card shadow",children:[(0,b.jsx)("div",{className:"flex gap-1 h-6 w-full",children:["background","primary","secondary","accent"].map(a=>(0,b.jsx)("div",{className:"flex-1 rounded-sm border border-border/20",style:{background:`hsl(${c.colors[a]})`}},a))}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs font-semibold text-foreground",children:a.name}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5 leading-snug",children:a.description})]}),(0,b.jsx)("div",{className:"absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,b.jsx)("span",{className:"text-[10px] text-primary font-medium",children:"Load →"})})]},a.slug)})})]}),M.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-sm font-bold uppercase tracking-wider text-muted-foreground mb-4",children:"Installed Themes & Activation"}),(0,b.jsx)("div",{className:"space-y-3",children:M.map(a=>(0,b.jsxs)("div",{className:(0,z.cn)("flex items-center gap-4 p-4 rounded-2xl border transition-all",a.id===O?"border-primary/50 bg-primary/5 shadow-md":"border-border bg-card/40 hover:bg-card/65"),children:[(0,b.jsx)("div",{className:"flex gap-1 shrink-0",children:["background","primary","accent"].map(c=>{let d=B(a.tokens);return(0,b.jsx)("div",{className:"h-5 w-5 rounded-full border border-border/40",style:{background:`hsl(${d.colors[c]})`}},c)})}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("p",{className:"text-sm font-semibold text-foreground",children:a.name}),a.id===O&&(0,b.jsx)("span",{className:"text-[9px] bg-emerald-500/10 text-emerald-400 border border-emerald-500/25 px-1.5 py-0.5 rounded-full font-bold uppercase tracking-wider",children:"Active"})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a.description||`Theme slug: ${a.slug}`})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("button",{onClick:()=>{var b;return b=a.id,void _(async()=>{let a=await G(b);a.success?(d.toast.success("Theme duplicated successfully"),L.refresh()):d.toast.error(a.error||"Failed to duplicate theme")})},disabled:$,className:"p-1.5 rounded-lg hover:bg-secondary text-muted-foreground hover:text-foreground transition-colors",title:"Duplicate Theme",children:(0,b.jsx)(n.Copy,{className:"h-4 w-4"})}),a.id!==O&&(0,b.jsx)(w.Button,{onClick:()=>{var b;return b=a.id,void _(async()=>{let a=await E(b);if(a.success){P(b),d.toast.success("Theme activated! Changes are live.");try{localStorage.setItem("propvault-active-theme-id",b),localStorage.setItem("propvault-active-theme-tokens",JSON.stringify(Q)),window.dispatchEvent(new CustomEvent("propvault-theme-changed",{detail:{themeId:b}})),new BroadcastChannel("propvault-theme").postMessage({type:"theme-changed",themeId:b,tokens:Q})}catch(a){console.error("Failed to trigger theme sync events:",a)}L.refresh()}else d.toast.error(a.error??"Failed to activate")})},size:"sm",variant:"gold-outline",className:"h-8 text-xs font-semibold",children:"Activate Theme"}),!a.is_system&&a.id!==O&&(0,b.jsx)("button",{onClick:()=>ad(a),className:"p-1.5 rounded-lg hover:bg-destructive/10 text-muted-foreground hover:text-destructive transition-colors",title:"Delete Theme",children:(0,b.jsx)(o.Trash2,{className:"h-4 w-4"})})]})]},a.id))})]})]}),ac&&(0,b.jsx)(I.DeleteDialog,{open:!0,entityName:ac.name,entityType:"Theme Preset",onConfirm:ar,onCancel:()=>ad(null),isLoading:ae})]})}],436649)}];
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=src_components_admin_theme_theme-editor_tsx_0ec47ja._.js.map
|
package/.next/server/chunks/ssr/src_components_projects_project-detail-client_tsx_0qyb-f-._.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[639787,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(571987),e=a.i(238246),f=a.i(954098),g=a.i(871499),h=a.i(79362),i=a.i(536670),j=a.i(316449),j=j,k=a.i(866491),l=a.i(427377),m=a.i(545721),m=m,n=a.i(205030),n=n,o=a.i(103119),o=o,p=a.i(470944),q=a.i(707963),r=a.i(141146),s=a.i(474215),t=a.i(912265),u=a.i(944597),v=a.i(786304),w=a.i(875083),x=a.i(876841),y=a.i(215741),z=a.i(352019),A=a.i(923690),B=a.i(781737);function C(a){return!0===a||"1"===a||1===a||"true"===a}a.s(["ProjectDetailClient",0,function({project:a,relatedProjects:D}){let[E,F]=(0,c.useState)(0),[G,H]=(0,c.useState)(!1),[I,J]=(0,c.useState)(0),K=[...a.cover_image?[{url:a.cover_image,alt:a.name,category:"exterior"}]:[],...(a.images??[]).map(b=>({url:b.url,alt:b.alt_text??a.name,category:b.category}))],L=Number(a.price_min),M=Number(a.price_max),N=C(a.is_luxury),O=C(a.is_rera_registered),P=()=>F(a=>a>0?a-1:K.length-1),Q=()=>F(a=>a<K.length-1?a+1:0);return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"relative bg-muted",children:[K.length>0?(0,b.jsxs)("div",{className:"relative h-[50vh] lg:h-[65vh] overflow-hidden",children:[(0,b.jsx)(d.default,{src:K[E]?.url??"/images/property-placeholder.jpg",alt:K[E]?.alt??a.name,fill:!0,className:"object-cover",priority:!0,sizes:"100vw"}),(0,b.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/50 via-transparent to-black/20"}),K.length>1&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{onClick:P,className:"absolute left-4 top-1/2 -translate-y-1/2 w-10 h-10 bg-black/50 hover:bg-black/70 text-white rounded-full flex items-center justify-center transition-colors",children:(0,b.jsx)(q.ChevronLeft,{className:"w-5 h-5"})}),(0,b.jsx)("button",{onClick:Q,className:"absolute right-4 top-1/2 -translate-y-1/2 w-10 h-10 bg-black/50 hover:bg-black/70 text-white rounded-full flex items-center justify-center transition-colors",children:(0,b.jsx)(r.ChevronRight,{className:"w-5 h-5"})})]}),(0,b.jsxs)("button",{onClick:()=>H(!0),className:"absolute bottom-4 right-4 flex items-center gap-2 px-3 py-2 bg-black/60 text-white text-xs rounded-lg hover:bg-black/80 transition-colors",children:[(0,b.jsx)(t.ZoomIn,{className:"w-4 h-4"}),K.length," Photos"]}),(0,b.jsxs)("div",{className:"absolute bottom-4 left-4 px-3 py-1 bg-black/60 text-white text-xs rounded-full",children:[E+1," / ",K.length]})]}):(0,b.jsx)("div",{className:"h-[50vh] bg-gradient-to-br from-[hsl(240,15%,12%)] to-[hsl(240,18%,8%)]"}),K.length>1&&(0,b.jsxs)("div",{className:"flex gap-2 p-3 bg-background/90 backdrop-blur-sm overflow-x-auto scrollbar-hide",children:[K.slice(0,8).map((a,c)=>(0,b.jsx)("button",{onClick:()=>F(c),className:(0,A.cn)("relative w-20 h-14 rounded-lg overflow-hidden shrink-0 border-2 transition-all",c===E?"border-[hsl(36,82%,47%)]":"border-transparent opacity-70 hover:opacity-100"),children:(0,b.jsx)(d.default,{src:a.url,alt:a.alt,fill:!0,className:"object-cover",sizes:"80px"})},c)),K.length>8&&(0,b.jsxs)("button",{onClick:()=>H(!0),className:"w-20 h-14 shrink-0 rounded-lg border-2 border-dashed border-border flex items-center justify-center text-xs text-muted-foreground hover:border-primary",children:["+",K.length-8," more"]})]})]}),G&&K.length>0&&(0,b.jsxs)("div",{className:"fixed inset-0 z-[200] bg-black/95 flex items-center justify-center",onClick:()=>H(!1),children:[(0,b.jsx)("button",{className:"absolute top-4 right-4 text-white",onClick:()=>H(!1),children:(0,b.jsx)(s.X,{className:"w-8 h-8"})}),(0,b.jsx)("button",{className:"absolute left-4 top-1/2 -translate-y-1/2 text-white",onClick:a=>{a.stopPropagation(),P()},children:(0,b.jsx)(q.ChevronLeft,{className:"w-10 h-10"})}),(0,b.jsx)("div",{className:"relative w-full max-w-5xl h-[80vh]",onClick:a=>a.stopPropagation(),children:(0,b.jsx)(d.default,{src:K[E]?.url??"",alt:K[E]?.alt??"",fill:!0,className:"object-contain",sizes:"100vw"})}),(0,b.jsx)("button",{className:"absolute right-4 top-1/2 -translate-y-1/2 text-white",onClick:a=>{a.stopPropagation(),Q()},children:(0,b.jsx)(r.ChevronRight,{className:"w-10 h-10"})}),(0,b.jsxs)("div",{className:"absolute bottom-6 text-white text-sm",children:[E+1," / ",K.length]})]}),(0,b.jsxs)("div",{className:"section-container py-8 lg:py-12",children:[(0,b.jsxs)("div",{className:"grid lg:grid-cols-3 gap-8",children:[(0,b.jsxs)("div",{className:"lg:col-span-2",children:[(0,b.jsxs)("div",{className:"mb-6",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-3",children:[N&&(0,b.jsxs)(v.Badge,{variant:"gold",className:"gap-1",children:[(0,b.jsx)(g.Crown,{className:"w-3 h-3"}),"Luxury"]}),O&&(0,b.jsxs)(v.Badge,{variant:"success",className:"gap-1",children:[(0,b.jsx)(h.CheckCircle,{className:"w-3 h-3"}),"RERA Verified"]}),(0,b.jsx)(v.Badge,{variant:"ongoing"===a.status?"warning":"completed"===a.status?"success":"info",children:a.status?.replace("_"," ").toUpperCase()}),(0,b.jsx)(v.Badge,{variant:"secondary",children:a.possession_status?.replace(/_/g," ")})]}),(0,b.jsx)("h1",{className:"font-display text-3xl lg:text-4xl font-bold text-foreground mb-2",children:a.name}),a.tagline&&(0,b.jsx)("p",{className:"text-[hsl(36,82%,47%)] text-lg mb-3",children:a.tagline}),(0,b.jsxs)("p",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,b.jsx)(f.MapPin,{className:"w-4 h-4 shrink-0"}),a.address,a.google_maps_url&&(0,b.jsx)("a",{href:a.google_maps_url,target:"_blank",rel:"noopener noreferrer",className:"text-[hsl(36,82%,47%)] text-sm ml-1 hover:underline",children:"View on Map"})]})]}),(0,b.jsx)("div",{className:"luxury-card p-6 mb-6",children:(0,b.jsxs)("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-1",children:"Price Range"}),(0,b.jsxs)("p",{className:"text-xl font-bold text-[hsl(36,82%,47%)]",children:[(0,A.formatCurrency)(L),M>L&&(0,b.jsxs)("span",{className:"text-sm font-normal text-muted-foreground ml-1",children:["– ",(0,A.formatCurrency)(M)]})]})]}),a.total_units&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-1",children:"Total Units"}),(0,b.jsxs)("p",{className:"font-bold text-foreground flex items-center gap-1.5",children:[(0,b.jsx)(l.Building2,{className:"w-4 h-4 text-[hsl(36,82%,47%)]"}),Number(a.total_units).toLocaleString()]})]}),a.possession_date&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-1",children:"Possession"}),(0,b.jsxs)("p",{className:"font-bold text-foreground flex items-center gap-1.5",children:[(0,b.jsx)(p.Calendar,{className:"w-4 h-4 text-[hsl(36,82%,47%)]"}),(0,A.formatDate)(a.possession_date,{month:"short",year:"numeric"})]})]}),a.total_area_acres&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-1",children:"Area"}),(0,b.jsxs)("p",{className:"font-bold text-foreground flex items-center gap-1.5",children:[(0,b.jsx)(o.default,{className:"w-4 h-4 text-[hsl(36,82%,47%)]"}),a.total_area_acres," Acres"]})]})]})}),(0,b.jsxs)(w.Tabs,{defaultValue:"overview",children:[(0,b.jsxs)(w.TabsList,{className:"w-full justify-start mb-6 overflow-x-auto",children:[(0,b.jsx)(w.TabsTrigger,{value:"overview",children:"Overview"}),(a.configurations?.length??0)>0&&(0,b.jsx)(w.TabsTrigger,{value:"configurations",children:"Configurations"}),(a.floor_plans?.length??0)>0&&(0,b.jsx)(w.TabsTrigger,{value:"floor-plans",children:"Floor Plans"}),(a.amenities?.length??0)>0&&(0,b.jsx)(w.TabsTrigger,{value:"amenities",children:"Amenities"}),(a.faqs?.length??0)>0&&(0,b.jsx)(w.TabsTrigger,{value:"faqs",children:"FAQs"}),(a.updates?.length??0)>0&&(0,b.jsx)(w.TabsTrigger,{value:"updates",children:"Updates"})]}),(0,b.jsxs)(w.TabsContent,{value:"overview",children:[(0,b.jsx)("div",{className:"prose prose-invert max-w-none",children:(0,b.jsx)("div",{className:"text-muted-foreground leading-relaxed text-sm",dangerouslySetInnerHTML:{__html:a.description?.replace(/\n/g,"<br/>")??""}})}),a.builder&&(0,b.jsxs)("div",{className:"mt-6 p-4 rounded-xl bg-secondary/30 flex items-center gap-4",children:[(0,b.jsx)("div",{className:"w-12 h-12 rounded-xl bg-secondary flex items-center justify-center",children:(0,b.jsx)(l.Building2,{className:"w-6 h-6 text-[hsl(36,82%,47%)]"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-0.5",children:"Developer"}),(0,b.jsx)(e.default,{href:`/builders/${a.builder.id}`,className:"font-semibold text-foreground hover:text-[hsl(36,82%,47%)] transition-colors",children:a.builder.name})]})]}),O&&a.rera_number&&(0,b.jsxs)("div",{className:"mt-4 p-4 rounded-xl border border-green-500/20 bg-green-500/5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-green-400 font-semibold mb-1",children:[(0,b.jsx)(h.CheckCircle,{className:"w-4 h-4"}),"RERA Registered"]}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground",children:["RERA Number: ",(0,b.jsx)("span",{className:"font-mono text-foreground",children:a.rera_number}),a.rera_expiry_date&&(0,b.jsxs)("span",{className:"ml-3",children:["Valid until: ",(0,A.formatDate)(a.rera_expiry_date)]})]})]}),(a.videos?.length??0)>0&&(0,b.jsxs)("div",{className:"mt-6",children:[(0,b.jsx)("h3",{className:"font-semibold mb-3",children:"Videos"}),(0,b.jsx)("div",{className:"flex gap-3 overflow-x-auto",children:a.videos.map(a=>(0,b.jsxs)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"relative w-48 h-28 rounded-xl overflow-hidden shrink-0 group",children:[a.thumbnail_url&&(0,b.jsx)(d.default,{src:a.thumbnail_url,alt:a.title,fill:!0,className:"object-cover",sizes:"192px"}),(0,b.jsx)("div",{className:"absolute inset-0 bg-black/50 flex items-center justify-center group-hover:bg-black/40 transition-colors",children:(0,b.jsx)(j.default,{className:"w-10 h-10 text-white"})})]},a.id))})]})]}),(0,b.jsx)(w.TabsContent,{value:"configurations",children:(0,b.jsx)("div",{className:"grid sm:grid-cols-2 gap-4",children:a.configurations?.map(a=>(0,b.jsxs)("div",{className:"luxury-card p-5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h3",{className:"font-semibold text-foreground",children:a.name}),a.available_units&&(0,b.jsxs)(v.Badge,{variant:"success",children:[a.available_units," Available"]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-3 mb-3",children:[a.bedrooms&&(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(m.default,{className:"w-4 h-4 mx-auto mb-1 text-[hsl(36,82%,47%)]"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:[a.bedrooms," BHK"]})]}),a.bathrooms&&(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(n.default,{className:"w-4 h-4 mx-auto mb-1 text-[hsl(36,82%,47%)]"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:[a.bathrooms," Bath"]})]}),a.carpet_area&&(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(o.default,{className:"w-4 h-4 mx-auto mb-1 text-[hsl(36,82%,47%)]"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:[a.carpet_area," sqft"]})]})]}),(0,b.jsxs)("p",{className:"text-[hsl(36,82%,47%)] font-bold",children:[(0,A.formatCurrency)(Number(a.price_min)),a.price_max&&Number(a.price_max)>Number(a.price_min)&&(0,b.jsxs)("span",{className:"text-sm font-normal text-muted-foreground ml-1",children:["– ",(0,A.formatCurrency)(Number(a.price_max))]})]})]},a.id))})}),(0,b.jsx)(w.TabsContent,{value:"floor-plans",children:a.floor_plans&&a.floor_plans.length>0&&(0,b.jsxs)("div",{className:"flex gap-4",children:[(0,b.jsx)("div",{className:"w-48 flex flex-col gap-2",children:a.floor_plans.map((a,c)=>(0,b.jsx)("button",{onClick:()=>J(c),className:(0,A.cn)("text-left px-3 py-2.5 rounded-lg text-sm transition-all",c===I?"bg-[hsl(36,82%,47%,0.15)] text-[hsl(36,82%,47%)] border border-[hsl(36,82%,47%,0.3)]":"text-muted-foreground hover:bg-secondary/50"),children:a.name},a.id))}),(0,b.jsx)("div",{className:"flex-1",children:a.floor_plans[I]&&(0,b.jsxs)("div",{className:"luxury-card p-6",children:[(0,b.jsx)("h3",{className:"font-semibold mb-4",children:a.floor_plans[I].name}),a.floor_plans[I].image_url&&(0,b.jsx)("div",{className:"relative h-72 mb-4 rounded-xl overflow-hidden bg-secondary/30",children:(0,b.jsx)(d.default,{src:a.floor_plans[I].image_url,alt:a.floor_plans[I].name,fill:!0,className:"object-contain",sizes:"600px"})}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-3 text-sm",children:[a.floor_plans[I].carpet_area&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-muted-foreground text-xs",children:"Carpet Area"}),(0,b.jsxs)("p",{className:"font-medium",children:[a.floor_plans[I].carpet_area," sqft"]})]}),a.floor_plans[I].built_up_area&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-muted-foreground text-xs",children:"Built-up Area"}),(0,b.jsxs)("p",{className:"font-medium",children:[a.floor_plans[I].built_up_area," sqft"]})]}),a.floor_plans[I].price&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-muted-foreground text-xs",children:"Price"}),(0,b.jsx)("p",{className:"font-medium text-[hsl(36,82%,47%)]",children:(0,A.formatCurrency)(Number(a.floor_plans[I].price))})]})]}),a.floor_plans[I].pdf_url&&(0,b.jsxs)("a",{href:a.floor_plans[I].pdf_url,download:!0,className:"inline-flex items-center gap-2 mt-4 text-sm text-[hsl(36,82%,47%)] hover:underline",children:[(0,b.jsx)(i.Download,{className:"w-4 h-4"}),"Download Floor Plan PDF"]})]})})]})}),(0,b.jsx)(w.TabsContent,{value:"amenities",children:(0,b.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-3",children:a.amenities?.map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-3 p-3 rounded-xl bg-secondary/30 border border-border",children:[(0,b.jsx)(h.CheckCircle,{className:"w-4 h-4 text-green-400 shrink-0"}),(0,b.jsx)("span",{className:"text-sm text-foreground",children:a.name})]},a.id))})}),(0,b.jsx)(w.TabsContent,{value:"faqs",children:(0,b.jsx)(x.Accordion,{type:"single",collapsible:!0,className:"w-full",children:a.faqs?.map((a,c)=>(0,b.jsxs)(x.AccordionItem,{value:`faq-${c}`,children:[(0,b.jsx)(x.AccordionTrigger,{className:"text-sm font-medium text-left",children:a.question}),(0,b.jsx)(x.AccordionContent,{className:"text-muted-foreground text-sm leading-relaxed",children:a.answer})]},a.id))})}),(0,b.jsx)(w.TabsContent,{value:"updates",children:(0,b.jsx)("div",{className:"relative pl-4 border-l-2 border-[hsl(36,82%,47%,0.3)]",children:a.updates?.map(a=>(0,b.jsxs)("div",{className:"mb-8 relative",children:[(0,b.jsx)("div",{className:"absolute -left-[25px] w-5 h-5 rounded-full bg-[hsl(36,82%,47%)] flex items-center justify-center",children:(0,b.jsx)("div",{className:"w-2 h-2 rounded-full bg-background"})}),(0,b.jsxs)("div",{className:"luxury-card p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsx)("h3",{className:"font-semibold text-foreground text-sm",children:a.title}),a.milestone_percent&&(0,b.jsxs)(v.Badge,{variant:"gold",children:[a.milestone_percent,"% Complete"]})]}),(0,b.jsx)("p",{className:"text-muted-foreground text-sm",children:a.description}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:(0,A.formatDate)(a.update_date)})]})]},a.id))})})]})]}),(0,b.jsx)("div",{className:"lg:col-span-1",children:(0,b.jsxs)("div",{className:"sticky top-24 space-y-4",children:[(0,b.jsx)("div",{id:"enquire",children:(0,b.jsx)(y.EnquiryForm,{projectId:a.id,projectName:a.name,source:"project_page",compact:!1})}),(0,b.jsxs)("div",{className:"luxury-card p-4 flex flex-col gap-2",children:[(0,b.jsxs)("a",{href:`https://wa.me/${a.whatsapp_number??B.WHATSAPP_NUMBER}?text=Hi, I am interested in ${a.name}`,target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 py-3 bg-green-600 hover:bg-green-500 text-white rounded-xl text-sm font-semibold transition-colors",children:[(0,b.jsx)(u.MessageCircle,{className:"w-4 h-4"}),"WhatsApp Enquiry"]}),a.inquiry_phone&&(0,b.jsxs)("a",{href:`tel:${a.inquiry_phone}`,className:"flex items-center justify-center gap-2 py-3 border border-border text-muted-foreground hover:text-foreground rounded-xl text-sm transition-colors",children:[(0,b.jsx)(k.Phone,{className:"w-4 h-4"}),a.inquiry_phone]}),a.brochure_url&&(0,b.jsxs)("a",{href:a.brochure_url,download:!0,className:"flex items-center justify-center gap-2 py-3 border border-[hsl(36,82%,47%,0.4)] text-[hsl(36,82%,47%)] hover:bg-[hsl(36,82%,47%,0.1)] rounded-xl text-sm transition-colors",children:[(0,b.jsx)(i.Download,{className:"w-4 h-4"}),"Download Brochure"]})]})]})})]}),D.length>0&&(0,b.jsxs)("div",{className:"mt-16",children:[(0,b.jsx)("h2",{className:"section-title text-2xl mb-6",children:"Similar Properties"}),(0,b.jsx)("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-5",children:D.map((a,c)=>(0,b.jsx)(z.PropertyCard,{project:a,index:c},a.id))})]})]})]})}],639787)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_components_projects_project-detail-client_tsx_0qyb-f-._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[974328,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(346271),f=a.i(262036),g=a.i(395098),g=g,h=a.i(682314),h=h,i=a.i(740401),i=i,j=a.i(233540),k=a.i(474215),l=a.i(707963),m=a.i(141146),n=a.i(875160),o=a.i(699570),p=a.i(866718),q=a.i(935112);function r(a,[b,c]){return Math.min(c,Math.max(b,a))}var s=a.i(507554),t=a.i(37738),u=a.i(470121),v=a.i(750104),w=a.i(507827),x=a.i(596743),y=a.i(486228),z=a.i(422297),A=a.i(392843),B=a.i(704691),C=a.i(692616),D=a.i(777192),E=a.i(30553),F=a.i(811011),G=a.i(746872),H=a.i(225152),I=a.i(872752),J=a.i(77994),K=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"});c.forwardRef((a,c)=>(0,b.jsx)(E.Primitive.span,{...a,ref:c,style:{...K,...a.style}})).displayName="VisuallyHidden";var L=a.i(241852),M=a.i(152081),N=[" ","Enter","ArrowUp","ArrowDown"],O=[" ","Enter"],P="Select",[Q,R,S]=(0,t.createCollection)(P),[T,U]=(0,v.createContextScope)(P,[S,B.createPopperScope]),V=(0,B.createPopperScope)(),[W,X]=T(P),[Y,Z]=T(P);function $(a){let{__scopeSelect:d,children:e,open:f,defaultOpen:g,onOpenChange:h,value:i,defaultValue:j,onValueChange:k,dir:l,name:m,autoComplete:n,disabled:o,required:p,form:q,internal_do_not_use_render:r}=a,s=V(d),[t,u]=c.useState(null),[v,x]=c.useState(null),[y,z]=c.useState(!1),C=(0,w.useDirection)(l),[D,E]=(0,H.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:P}),[F,G]=(0,H.useControllableState)({prop:i,defaultProp:j,onChange:k,caller:P}),I=c.useRef(null),J=c.useRef(F);c.useEffect(()=>{let a=q?t?.ownerDocument.getElementById(q):t?.form;if(a instanceof HTMLFormElement){let b=()=>G(J.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[q,t,G]);let K=!t||!!q||!!t.closest("form"),[L,M]=c.useState(new Set),N=(0,A.useId)(),O=Array.from(L).map(a=>a.props.value).join(";"),R=c.useCallback(a=>{M(b=>new Set(b).add(a))},[]),S=c.useCallback(a=>{M(b=>{let c=new Set(b);return c.delete(a),c})},[]),T={required:p,trigger:t,onTriggerChange:u,valueNode:v,onValueNodeChange:x,valueNodeHasChildren:y,onValueNodeHasChildrenChange:z,contentId:N,value:F,onValueChange:G,open:D,onOpenChange:E,dir:C,triggerPointerDownPosRef:I,disabled:o,name:m,autoComplete:n,form:q,nativeOptions:L,nativeSelectKey:O,isFormControl:K};return(0,b.jsx)(B.Root,{...s,children:(0,b.jsx)(W,{scope:d,...T,children:(0,b.jsx)(Q.Provider,{scope:d,children:(0,b.jsx)(Y,{scope:d,onNativeOptionAdd:R,onNativeOptionRemove:S,children:"function"==typeof r?r(T):e})})})})}$.displayName="SelectProvider";var _=a=>{let{__scopeSelect:c,children:d,...e}=a;return(0,b.jsx)($,{__scopeSelect:c,...e,internal_do_not_use_render:({isFormControl:a})=>(0,b.jsxs)(b.Fragment,{children:[d,a?(0,b.jsx)(aR,{__scopeSelect:c}):null]})})};_.displayName=P;var aa="SelectTrigger",ab=c.forwardRef((a,d)=>{let{__scopeSelect:e,disabled:f=!1,...g}=a,h=V(e),i=X(aa,e),j=i.disabled||f,k=(0,u.useComposedRefs)(d,i.onTriggerChange),l=R(e),m=c.useRef("touch"),[n,o,p]=aT(a=>{let b=l().filter(a=>!a.disabled),c=b.find(a=>a.value===i.value),d=aU(b,a,c);void 0!==d&&i.onValueChange(d.value)}),q=a=>{j||(i.onOpenChange(!0),p()),a&&(i.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,b.jsx)(B.Anchor,{asChild:!0,...h,children:(0,b.jsx)(E.Primitive.button,{type:"button",role:"combobox","aria-controls":i.open?i.contentId:void 0,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:j,"data-disabled":j?"":void 0,"data-placeholder":aS(i.value)?"":void 0,...g,ref:k,onClick:(0,s.composeEventHandlers)(g.onClick,a=>{a.currentTarget.focus(),"mouse"!==m.current&&q(a)}),onPointerDown:(0,s.composeEventHandlers)(g.onPointerDown,a=>{m.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(q(a),a.preventDefault())}),onKeyDown:(0,s.composeEventHandlers)(g.onKeyDown,a=>{let b=""!==n.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||o(a.key),(!b||" "!==a.key)&&N.includes(a.key)&&(q(),a.preventDefault())})})})});ab.displayName=aa;var ac="SelectValue",ad=c.forwardRef((a,d)=>{let{__scopeSelect:e,className:f,style:g,children:h,placeholder:i="",...j}=a,k=X(ac,e),{onValueNodeHasChildrenChange:l}=k,m=void 0!==h,n=(0,u.useComposedRefs)(d,k.onValueNodeChange);(0,I.useLayoutEffect)(()=>{l(m)},[l,m]);let o=aS(k.value);return(0,b.jsx)(E.Primitive.span,{...j,asChild:!o&&j.asChild,ref:n,style:{pointerEvents:"none"},children:(0,b.jsx)(c.Fragment,{children:o?i:h},o?"placeholder":"value")})});ad.displayName=ac;var ae=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,...f}=a;return(0,b.jsx)(E.Primitive.span,{"aria-hidden":!0,...f,ref:c,children:e||"▼"})});ae.displayName="SelectIcon";var af="SelectPortal",[ag,ah]=T(af,{forceMount:void 0}),ai=a=>{let{__scopeSelect:c,forceMount:d,...e}=a;return(0,b.jsx)(ag,{scope:a.__scopeSelect,forceMount:d,children:(0,b.jsx)(C.Portal,{asChild:!0,...e})})};ai.displayName=af;var aj="SelectContent",ak=c.forwardRef((a,d)=>{let e=ah(aj,a.__scopeSelect),{forceMount:f=e.forceMount,...g}=a,h=X(aj,a.__scopeSelect),[i,j]=c.useState();return(0,I.useLayoutEffect)(()=>{j(new DocumentFragment)},[]),(0,b.jsx)(D.Presence,{present:f||h.open,children:({present:a})=>a?(0,b.jsx)(ap,{...g,ref:d}):(0,b.jsx)(al,{...g,fragment:i})})});ak.displayName=aj;var al=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,fragment:f}=a;return f?q.createPortal((0,b.jsx)(am,{scope:d,children:(0,b.jsx)(Q.Slot,{scope:d,children:(0,b.jsx)("div",{ref:c,children:e})})}),f):null});al.displayName="SelectContentFragment";var[am,an]=T(aj),ao=(0,F.createSlot)("SelectContent.RemoveScroll"),ap=c.forwardRef((a,d)=>{let{__scopeSelect:e}=a,{position:f="item-aligned",onCloseAutoFocus:g,onEscapeKeyDown:h,onPointerDownOutside:i,side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:t,...v}=a,w=X(aj,e),[A,B]=c.useState(null),[C,D]=c.useState(null),E=(0,u.useComposedRefs)(d,B),[F,G]=c.useState(null),[H,I]=c.useState(null),J=R(e),[K,N]=c.useState(!1),O=c.useRef(!1);c.useEffect(()=>{if(A)return(0,L.hideOthers)(A)},[A]),(0,y.useFocusGuards)();let P=c.useCallback(a=>{let[b,...c]=J().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&C&&(C.scrollTop=0),c===d&&C&&(C.scrollTop=C.scrollHeight),c?.focus(),document.activeElement!==e))return},[J,C]),Q=c.useCallback(()=>P([F,A]),[P,F,A]);c.useEffect(()=>{K&&Q()},[K,Q]);let{onOpenChange:S,triggerPointerDownPosRef:T}=w;c.useEffect(()=>{if(A){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(T.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(T.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():c.composedPath().includes(A)||S(!1),document.removeEventListener("pointermove",b),T.current=null};return null!==T.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[A,S,T]),c.useEffect(()=>{let a=()=>S(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[S]);let[U,V]=aT(a=>{let b=J().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=aU(b,a,c);d&&setTimeout(()=>d.ref.current?.focus())}),W=c.useCallback((a,b,c)=>{let d=!O.current&&!c;(void 0!==w.value&&w.value===b||d)&&(G(a),d&&(O.current=!0))},[w.value]),Y=c.useCallback(()=>A?.focus(),[A]),Z=c.useCallback((a,b,c)=>{let d=!O.current&&!c;(void 0!==w.value&&w.value===b||d)&&I(a)},[w.value]),$="popper"===f?ar:aq,_=$===ar?{side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:t}:{};return(0,b.jsx)(am,{scope:e,content:A,viewport:C,onViewportChange:D,itemRefCallback:W,selectedItem:F,onItemLeave:Y,itemTextRefCallback:Z,focusSelectedItem:Q,selectedItemText:H,position:f,isPositioned:K,searchRef:U,children:(0,b.jsx)(M.RemoveScroll,{as:ao,allowPinchZoom:!0,children:(0,b.jsx)(z.FocusScope,{asChild:!0,trapped:w.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,s.composeEventHandlers)(g,a=>{w.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,b.jsx)(x.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>w.onOpenChange(!1),children:(0,b.jsx)($,{role:"listbox",id:w.contentId,"data-state":w.open?"open":"closed",dir:w.dir,onContextMenu:a=>a.preventDefault(),...v,..._,onPlaced:()=>N(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...v.style},onKeyDown:(0,s.composeEventHandlers)(v.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||V(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=J().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>P(b)),a.preventDefault()}})})})})})})});ap.displayName="SelectContentImpl";var aq=c.forwardRef((a,d)=>{let{__scopeSelect:e,onPlaced:f,...g}=a,h=X(aj,e),i=an(aj,e),[j,k]=c.useState(null),[l,m]=c.useState(null),n=(0,u.useComposedRefs)(d,m),o=R(e),p=c.useRef(!1),q=c.useRef(!0),{viewport:s,selectedItem:t,selectedItemText:v,focusSelectedItem:w}=i,x=c.useCallback(()=>{if(h.trigger&&h.valueNode&&j&&l&&s&&t&&v){let a=h.trigger.getBoundingClientRect(),b=l.getBoundingClientRect(),c=h.valueNode.getBoundingClientRect(),d=v.getBoundingClientRect();if("rtl"!==h.dir){let e=d.left-b.left,f=c.left-e,g=a.left-f,h=a.width+g,i=Math.max(h,b.width),k=r(f,[10,Math.max(10,window.innerWidth-10-i)]);j.style.minWidth=h+"px",j.style.left=k+"px"}else{let e=b.right-d.right,f=window.innerWidth-c.right-e,g=window.innerWidth-a.right-f,h=a.width+g,i=Math.max(h,b.width),k=r(f,[10,Math.max(10,window.innerWidth-10-i)]);j.style.minWidth=h+"px",j.style.right=k+"px"}let e=o(),g=window.innerHeight-20,i=s.scrollHeight,k=window.getComputedStyle(l),m=parseInt(k.borderTopWidth,10),n=parseInt(k.paddingTop,10),q=parseInt(k.borderBottomWidth,10),u=m+n+i+parseInt(k.paddingBottom,10)+q,w=Math.min(5*t.offsetHeight,u),x=window.getComputedStyle(s),y=parseInt(x.paddingTop,10),z=parseInt(x.paddingBottom,10),A=a.top+a.height/2-10,B=t.offsetHeight/2,C=m+n+(t.offsetTop+B);if(C<=A){let a=e.length>0&&t===e[e.length-1].ref.current;j.style.bottom="0px";let b=Math.max(g-A,B+(a?z:0)+(l.clientHeight-s.offsetTop-s.offsetHeight)+q);j.style.height=C+b+"px"}else{let a=e.length>0&&t===e[0].ref.current;j.style.top="0px";let b=Math.max(A,m+s.offsetTop+(a?y:0)+B);j.style.height=b+(u-C)+"px",s.scrollTop=C-A+s.offsetTop}j.style.margin="10px 0",j.style.minHeight=w+"px",j.style.maxHeight=g+"px",f?.(),requestAnimationFrame(()=>p.current=!0)}},[o,h.trigger,h.valueNode,j,l,s,t,v,h.dir,f]);(0,I.useLayoutEffect)(()=>x(),[x]);let[y,z]=c.useState();(0,I.useLayoutEffect)(()=>{l&&z(window.getComputedStyle(l).zIndex)},[l]);let A=c.useCallback(a=>{a&&!0===q.current&&(x(),w?.(),q.current=!1)},[x,w]);return(0,b.jsx)(as,{scope:e,contentWrapper:j,shouldExpandOnScrollRef:p,onScrollButtonChange:A,children:(0,b.jsx)("div",{ref:k,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:y},children:(0,b.jsx)(E.Primitive.div,{...g,ref:n,style:{boxSizing:"border-box",maxHeight:"100%",...g.style}})})})});aq.displayName="SelectItemAlignedPosition";var ar=c.forwardRef((a,c)=>{let{__scopeSelect:d,align:e="start",collisionPadding:f=10,...g}=a,h=V(d);return(0,b.jsx)(B.Content,{...h,...g,ref:c,align:e,collisionPadding:f,style:{boxSizing:"border-box",...g.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ar.displayName="SelectPopperPosition";var[as,at]=T(aj,{}),au="SelectViewport",av=c.forwardRef((a,d)=>{let{__scopeSelect:e,nonce:f,...g}=a,h=an(au,e),i=at(au,e),j=(0,u.useComposedRefs)(d,h.onViewportChange),k=c.useRef(0);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:f}),(0,b.jsx)(Q.Slot,{scope:e,children:(0,b.jsx)(E.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...g,ref:j,style:{position:"relative",flex:1,overflow:"hidden auto",...g.style},onScroll:(0,s.composeEventHandlers)(g.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=i;if(d?.current&&c){let a=Math.abs(k.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}k.current=b.scrollTop})})})]})});av.displayName=au;var aw="SelectGroup",[ax,ay]=T(aw);c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=(0,A.useId)();return(0,b.jsx)(ax,{scope:d,id:f,children:(0,b.jsx)(E.Primitive.div,{role:"group","aria-labelledby":f,...e,ref:c})})}).displayName=aw;var az="SelectLabel",aA=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=ay(az,d);return(0,b.jsx)(E.Primitive.div,{id:f.id,...e,ref:c})});aA.displayName=az;var aB="SelectItem",[aC,aD]=T(aB),aE=c.forwardRef((a,d)=>{let{__scopeSelect:e,value:f,disabled:g=!1,textValue:h,...i}=a,j=X(aB,e),k=an(aB,e),l=j.value===f,[m,n]=c.useState(h??""),[o,p]=c.useState(!1),q=(0,G.useCallbackRef)(a=>k.itemRefCallback?.(a,f,g)),r=(0,u.useComposedRefs)(d,q),t=(0,A.useId)(),v=c.useRef("touch"),w=()=>{g||(j.onValueChange(f),j.onOpenChange(!1))};return(0,b.jsx)(aC,{scope:e,value:f,disabled:g,textId:t,isSelected:l,onItemTextChange:c.useCallback(a=>{n(b=>b||(a?.textContent??"").trim())},[]),children:(0,b.jsx)(Q.ItemSlot,{scope:e,value:f,disabled:g,textValue:m,children:(0,b.jsx)(E.Primitive.div,{role:"option","aria-labelledby":t,"data-highlighted":o?"":void 0,"aria-selected":l&&o,"data-state":l?"checked":"unchecked","aria-disabled":g||void 0,"data-disabled":g?"":void 0,tabIndex:g?void 0:-1,...i,ref:r,onFocus:(0,s.composeEventHandlers)(i.onFocus,()=>p(!0)),onBlur:(0,s.composeEventHandlers)(i.onBlur,()=>p(!1)),onClick:(0,s.composeEventHandlers)(i.onClick,()=>{"mouse"!==v.current&&w()}),onPointerUp:(0,s.composeEventHandlers)(i.onPointerUp,()=>{"mouse"===v.current&&w()}),onPointerDown:(0,s.composeEventHandlers)(i.onPointerDown,a=>{v.current=a.pointerType}),onPointerMove:(0,s.composeEventHandlers)(i.onPointerMove,a=>{v.current=a.pointerType,g?k.onItemLeave?.():"mouse"===v.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,s.composeEventHandlers)(i.onPointerLeave,a=>{a.currentTarget===document.activeElement&&k.onItemLeave?.()}),onKeyDown:(0,s.composeEventHandlers)(i.onKeyDown,a=>{g||a.target!==a.currentTarget||(k.searchRef?.current===""||" "!==a.key)&&(O.includes(a.key)&&w()," "===a.key&&a.preventDefault())})})})})});aE.displayName=aB;var aF="SelectItemText",aG=c.forwardRef((a,d)=>{let{__scopeSelect:e,className:f,style:g,...h}=a,i=X(aF,e),j=an(aF,e),k=aD(aF,e),l=Z(aF,e),[m,n]=c.useState(null),o=(0,G.useCallbackRef)(a=>j.itemTextRefCallback?.(a,k.value,k.disabled)),p=(0,u.useComposedRefs)(d,n,k.onItemTextChange,o),r=m?.textContent,s=c.useMemo(()=>(0,b.jsx)("option",{value:k.value,disabled:k.disabled,children:r},k.value),[k.disabled,k.value,r]),{onNativeOptionAdd:t,onNativeOptionRemove:v}=l;return(0,I.useLayoutEffect)(()=>(t(s),()=>v(s)),[t,v,s]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E.Primitive.span,{id:k.textId,...h,ref:p}),k.isSelected&&i.valueNode&&!i.valueNodeHasChildren&&!aS(i.value)?q.createPortal(h.children,i.valueNode):null]})});aG.displayName=aF;var aH="SelectItemIndicator",aI=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return aD(aH,d).isSelected?(0,b.jsx)(E.Primitive.span,{"aria-hidden":!0,...e,ref:c}):null});aI.displayName=aH;var aJ="SelectScrollUpButton",aK=c.forwardRef((a,d)=>{let e=an(aJ,a.__scopeSelect),f=at(aJ,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,u.useComposedRefs)(d,f.onScrollButtonChange);return(0,I.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){h(b.scrollTop>0)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aN,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});aK.displayName=aJ;var aL="SelectScrollDownButton",aM=c.forwardRef((a,d)=>{let e=an(aL,a.__scopeSelect),f=at(aL,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,u.useComposedRefs)(d,f.onScrollButtonChange);return(0,I.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;h(Math.ceil(b.scrollTop)<a)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aN,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});aM.displayName=aL;var aN=c.forwardRef((a,d)=>{let{__scopeSelect:e,onAutoScroll:f,...g}=a,h=an("SelectScrollButton",e),i=c.useRef(null),j=R(e),k=c.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return c.useEffect(()=>()=>k(),[k]),(0,I.useLayoutEffect)(()=>{let a=j().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[j]),(0,b.jsx)(E.Primitive.div,{"aria-hidden":!0,...g,ref:d,style:{flexShrink:0,...g.style},onPointerDown:(0,s.composeEventHandlers)(g.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(f,50))}),onPointerMove:(0,s.composeEventHandlers)(g.onPointerMove,()=>{h.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(f,50))}),onPointerLeave:(0,s.composeEventHandlers)(g.onPointerLeave,()=>{k()})})}),aO=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return(0,b.jsx)(E.Primitive.div,{"aria-hidden":!0,...e,ref:c})});aO.displayName="SelectSeparator";var aP="SelectArrow";c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=V(d);return"popper"===an(aP,d).position?(0,b.jsx)(B.Arrow,{...f,...e,ref:c}):null}).displayName=aP;var aQ="SelectBubbleInput",aR=c.forwardRef(({__scopeSelect:a,...d},e)=>{let f=X(aQ,a),{value:g,onValueChange:h,required:i,disabled:j,name:k,autoComplete:l,form:m}=f,{nativeOptions:n,nativeSelectKey:o}=f,p=c.useRef(null),q=(0,u.useComposedRefs)(e,p),r=g??"",s=(0,J.usePrevious)(r),t=Array.from(n).some(a=>(a.props.value??"")==="");return c.useEffect(()=>{let a=p.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(s!==r&&b){let c=new Event("change",{bubbles:!0});b.call(a,r),a.dispatchEvent(c)}},[s,r]),(0,b.jsxs)(E.Primitive.select,{"aria-hidden":!0,required:i,tabIndex:-1,name:k,autoComplete:l,disabled:j,form:m,onChange:a=>h(a.target.value),...d,style:{...K,...d.style},ref:q,defaultValue:r,children:[aS(g)&&!t?(0,b.jsx)("option",{value:""}):null,Array.from(n)]},o)});function aS(a){return""===a||void 0===a}function aT(a){let b=(0,G.useCallbackRef)(a),d=c.useRef(""),e=c.useRef(0),f=c.useCallback(a=>{let c=d.current+a;b(c),function a(b){d.current=b,window.clearTimeout(e.current),""!==b&&(e.current=window.setTimeout(()=>a(""),1e3))}(c)},[b]),g=c.useCallback(()=>{d.current="",window.clearTimeout(e.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),[d,f,g]}function aU(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}aR.displayName=aQ;var aV=a.i(752562),aW=a.i(589027),aX=a.i(113608),aY=a.i(368114);let aZ=c.forwardRef(({className:a,children:c,size:d="default",...e},f)=>(0,b.jsxs)(ab,{ref:f,className:(0,aY.cn)("flex w-full items-center justify-between rounded-xl border border-border bg-card px-3 text-sm text-foreground ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/50 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 transition-colors hover:border-border/80","sm"===d?"h-8":"h-10",a),...e,children:[c,(0,b.jsx)(ae,{asChild:!0,children:(0,b.jsx)(aW.ChevronDown,{className:"h-4 w-4 opacity-50 shrink-0 ml-2"})})]}));aZ.displayName=ab.displayName;let a$=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aK,{ref:d,className:(0,aY.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aX.ChevronUp,{className:"h-4 w-4"})}));a$.displayName=aK.displayName;let a_=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aM,{ref:d,className:(0,aY.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aW.ChevronDown,{className:"h-4 w-4"})}));a_.displayName=aM.displayName;let a0=c.forwardRef(({className:a,children:c,position:d="popper",...e},f)=>(0,b.jsx)(ai,{children:(0,b.jsxs)(ak,{ref:f,className:(0,aY.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-xl border border-border bg-card text-foreground shadow-xl data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","popper"===d&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:d,...e,children:[(0,b.jsx)(a$,{}),(0,b.jsx)(av,{className:(0,aY.cn)("p-1","popper"===d&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:c}),(0,b.jsx)(a_,{})]})}));a0.displayName=ak.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aA,{ref:d,className:(0,aY.cn)("px-2 py-1.5 text-xs font-semibold text-muted-foreground",a),...c})).displayName=aA.displayName;let a1=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aE,{ref:e,className:(0,aY.cn)("relative flex w-full cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-secondary/50 focus:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 transition-colors",a),...d,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(aI,{children:(0,b.jsx)(aV.Check,{className:"h-4 w-4 text-primary"})})}),(0,b.jsx)(aG,{children:c})]}));a1.displayName=aE.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aO,{ref:d,className:(0,aY.cn)("-mx-1 my-1 h-px bg-border",a),...c})).displayName=aO.displayName;var a2=a.i(3688),a3=["PageUp","PageDown"],a4=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],a5={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},a6="Slider",[a7,a8,a9]=(0,t.createCollection)(a6),[ba,bb]=(0,v.createContextScope)(a6,[a9]),[bc,bd]=ba(a6),be=c.forwardRef((a,d)=>{let{name:e,min:f=0,max:g=100,step:h=1,orientation:i="horizontal",disabled:j=!1,minStepsBetweenThumbs:k=0,defaultValue:l=[f],value:m,onValueChange:n=()=>{},onValueCommit:o=()=>{},inverted:p=!1,form:q,...t}=a,v=c.useRef(new Set),w=c.useRef(0),x=c.useRef(!1),y="horizontal"===i,[z,A]=c.useState(null),B=(0,u.useComposedRefs)(d,A),[C=[],D]=(0,H.useControllableState)({prop:m,defaultProp:l,onChange:a=>{let b=[...v.current];b[w.current]?.focus({preventScroll:!0,focusVisible:x.current}),x.current=!1,n(a)}}),E=c.useRef(C),F=c.useRef(C);function G(a,b,{commit:c}={commit:!1}){let d=bA(h),e=r(bB(Math.round((a-f)/h)*h+f,d),[f,g]);D((a=[])=>{let d=function(a=[],b,c){let d=[...a];return d[c]=b,d.sort((a,b)=>a-b)}(a,e,b);if(!function(a,b){if(b>0)return Math.min(...a.slice(0,-1).map((b,c)=>a[c+1]-b))>=b;return!0}(d,k*h))return a;{w.current=d.indexOf(e);let b=String(d)!==String(a);return b&&c&&o(d),b?d:a}})}return c.useEffect(()=>{let a=q?z?.ownerDocument.getElementById(q):z?.closest("form");if(a instanceof HTMLFormElement){let b=()=>D(F.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[z,q,D]),(0,b.jsx)(bc,{scope:a.__scopeSlider,name:e,disabled:j,min:f,max:g,valueIndexToChangeRef:w,thumbs:v.current,values:C,orientation:i,form:q,children:(0,b.jsx)(a7.Provider,{scope:a.__scopeSlider,children:(0,b.jsx)(a7.Slot,{scope:a.__scopeSlider,children:(0,b.jsx)(y?bh:bi,{"aria-disabled":j,"data-disabled":j?"":void 0,...t,ref:B,onPointerDown:(0,s.composeEventHandlers)(t.onPointerDown,()=>{j||(E.current=C,x.current=!1)}),min:f,max:g,inverted:p,onSlideStart:j?void 0:function(a){let b=function(a,b){if(1===a.length)return 0;let c=a.map(a=>Math.abs(a-b)),d=Math.min(...c);return c.indexOf(d)}(C,a);G(a,b)},onSlideMove:j?void 0:function(a){G(a,w.current)},onSlideEnd:j?void 0:function(){let a=E.current[w.current];C[w.current]!==a&&o(C)},onHomeKeyDown:()=>{j||(x.current=!0,G(f,0,{commit:!0}))},onEndKeyDown:()=>{j||(x.current=!0,G(g,C.length-1,{commit:!0}))},onStepKeyDown:({event:a,direction:b})=>{if(!j){x.current=!0;let c=a3.includes(a.key)||a.shiftKey&&a4.includes(a.key),d=w.current;G(function(a,{min:b,step:c,direction:d,multiplier:e}){let f,g=bA(c),h=(a-b)/c,i=Math.round(h);return f=bB(i*c+b,g)===bB(a,g)?i+e*d:d>0?Math.ceil(h):Math.floor(h),bB(f*c+b,g)}(C[d],{min:f,step:h,direction:b,multiplier:c?10:1}),d,{commit:!0})}}})})})})});be.displayName=a6;var[bf,bg]=ba(a6,{startEdge:"left",endEdge:"right",size:"width",direction:1}),bh=c.forwardRef((a,d)=>{let{min:e,max:f,dir:g,inverted:h,onSlideStart:i,onSlideMove:j,onSlideEnd:k,onStepKeyDown:l,...m}=a,[n,o]=c.useState(null),p=(0,u.useComposedRefs)(d,o),q=c.useRef(void 0),r=(0,w.useDirection)(g),s="ltr"===r,t=s&&!h||!s&&h;function v(a){let b=q.current||n.getBoundingClientRect(),c=bz([0,b.width],t?[e,f]:[f,e]);return q.current=b,c(a-b.left)}return(0,b.jsx)(bf,{scope:a.__scopeSlider,startEdge:t?"left":"right",endEdge:t?"right":"left",direction:t?1:-1,size:"width",children:(0,b.jsx)(bj,{dir:r,"data-orientation":"horizontal",...m,ref:p,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:a=>{let b=v(a.clientX);i?.(b)},onSlideMove:a=>{let b=v(a.clientX);j?.(b)},onSlideEnd:()=>{q.current=void 0,k?.()},onStepKeyDown:a=>{let b=a5[t?"from-left":"from-right"].includes(a.key);l?.({event:a,direction:b?-1:1})}})})}),bi=c.forwardRef((a,d)=>{let{min:e,max:f,inverted:g,onSlideStart:h,onSlideMove:i,onSlideEnd:j,onStepKeyDown:k,...l}=a,m=c.useRef(null),n=(0,u.useComposedRefs)(d,m),o=c.useRef(void 0),p=!g;function q(a){let b=o.current||m.current.getBoundingClientRect(),c=bz([0,b.height],p?[f,e]:[e,f]);return o.current=b,c(a-b.top)}return(0,b.jsx)(bf,{scope:a.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,b.jsx)(bj,{"data-orientation":"vertical",...l,ref:n,style:{...l.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:a=>{let b=q(a.clientY);h?.(b)},onSlideMove:a=>{let b=q(a.clientY);i?.(b)},onSlideEnd:()=>{o.current=void 0,j?.()},onStepKeyDown:a=>{let b=a5[p?"from-bottom":"from-top"].includes(a.key);k?.({event:a,direction:b?-1:1})}})})}),bj=c.forwardRef((a,c)=>{let{__scopeSlider:d,onSlideStart:e,onSlideMove:f,onSlideEnd:g,onHomeKeyDown:h,onEndKeyDown:i,onStepKeyDown:j,...k}=a,l=bd(a6,d);return(0,b.jsx)(E.Primitive.span,{...k,ref:c,onKeyDown:(0,s.composeEventHandlers)(a.onKeyDown,a=>{"Home"===a.key?(h(a),a.preventDefault()):"End"===a.key?(i(a),a.preventDefault()):a3.concat(a4).includes(a.key)&&(j(a),a.preventDefault())}),onPointerDown:(0,s.composeEventHandlers)(a.onPointerDown,a=>{let b=a.target;b.setPointerCapture(a.pointerId),a.preventDefault(),l.thumbs.has(b)?b.focus({preventScroll:!0,focusVisible:!1}):e(a)}),onPointerMove:(0,s.composeEventHandlers)(a.onPointerMove,a=>{a.target.hasPointerCapture(a.pointerId)&&f(a)}),onPointerUp:(0,s.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&(b.releasePointerCapture(a.pointerId),g(a))})})}),bk="SliderTrack",bl=c.forwardRef((a,c)=>{let{__scopeSlider:d,...e}=a,f=bd(bk,d);return(0,b.jsx)(E.Primitive.span,{"data-disabled":f.disabled?"":void 0,"data-orientation":f.orientation,...e,ref:c})});bl.displayName=bk;var bm="SliderRange",bn=c.forwardRef((a,d)=>{let{__scopeSlider:e,...f}=a,g=bd(bm,e),h=bg(bm,e),i=c.useRef(null),j=(0,u.useComposedRefs)(d,i),k=g.values.length,l=g.values.map(a=>by(a,g.min,g.max)),m=k>1?Math.min(...l):0,n=100-Math.max(...l);return(0,b.jsx)(E.Primitive.span,{"data-orientation":g.orientation,"data-disabled":g.disabled?"":void 0,...f,ref:j,style:{...a.style,[h.startEdge]:m+"%",[h.endEdge]:n+"%"}})});bn.displayName=bm;var bo="SliderThumb",[bp,bq]=ba(bo),br="SliderThumbProvider";function bs(a){let{__scopeSlider:d,name:e,children:f,internal_do_not_use_render:g}=a,h=bd(br,d),i=a8(d),[j,k]=c.useState(null),l=c.useMemo(()=>j?i().findIndex(a=>a.ref.current===j):-1,[i,j]),m=(0,a2.useSize)(j),n=!j||!!h.form||!!j.closest("form"),o=h.values[l],p=e??(h.name?h.name+(h.values.length>1?"[]":""):void 0),q=void 0===o?0:by(o,h.min,h.max);c.useEffect(()=>{if(j)return h.thumbs.add(j),()=>{h.thumbs.delete(j)}},[j,h.thumbs]);let r={value:o,name:p,form:h.form,isFormControl:n,index:l,thumb:j,onThumbChange:k,percent:q,size:m};return(0,b.jsx)(bp,{scope:d,...r,children:"function"==typeof g?g(r):f})}bs.displayName=br;var bt="SliderThumbTrigger",bu=c.forwardRef((a,c)=>{var d,e,f,g,h;let i,j,{__scopeSlider:k,...l}=a,m=bd(bt,k),n=bg(bt,k),{index:o,value:p,percent:q,size:r,onThumbChange:t}=bq(bt,k),v=(0,u.useComposedRefs)(c,t),w=(d=o,(e=m.values.length)>2?`Value ${d+1} of ${e}`:2===e?["Minimum","Maximum"][d]:void 0),x=r?.[n.size],y=x?(f=x,g=q,h=n.direction,j=bz([0,50],[0,i=f/2]),(i-j(g)*h)*h):0;return(0,b.jsx)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[n.startEdge]:`calc(${q}% + ${y}px)`},children:(0,b.jsx)(a7.ItemSlot,{scope:k,children:(0,b.jsx)(E.Primitive.span,{role:"slider","aria-label":a["aria-label"]||w,"aria-valuemin":m.min,"aria-valuenow":p,"aria-valuemax":m.max,"aria-orientation":m.orientation,"data-orientation":m.orientation,"data-disabled":m.disabled?"":void 0,tabIndex:m.disabled?void 0:0,...l,ref:v,style:void 0===p?{display:"none"}:a.style,onFocus:(0,s.composeEventHandlers)(a.onFocus,()=>{m.valueIndexToChangeRef.current=o})})})})});bu.displayName=bt;var bv=c.forwardRef((a,c)=>{let{__scopeSlider:d,name:e,...f}=a;return(0,b.jsx)(bs,{__scopeSlider:d,name:e,internal_do_not_use_render:({index:a,isFormControl:e})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(bu,{...f,ref:c,__scopeSlider:d}),e?(0,b.jsx)(bx,{__scopeSlider:d},a):null]})})});bv.displayName=bo;var bw="SliderBubbleInput",bx=c.forwardRef(({__scopeSlider:a,...d},e)=>{let{value:f,name:g,form:h}=bq(bw,a),i=c.useRef(null),j=(0,u.useComposedRefs)(i,e),k=(0,J.usePrevious)(f);return c.useEffect(()=>{let a=i.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(k!==f&&b){let c=new Event("input",{bubbles:!0});b.call(a,f),a.dispatchEvent(c)}},[k,f]),(0,b.jsx)(E.Primitive.input,{style:{display:"none"},name:g,form:h,...d,ref:j,defaultValue:f})});function by(a,b,c){return r(100/(c-b)*(a-b),[0,100])}function bz(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}function bA(a){if(!Number.isFinite(a))return 0;let b=a.toString();if(b.includes("e")){let[a,c]=b.split("e"),d=a.split(".")[1]||"",e=Number(c);return Math.max(0,d.length-e)}let c=b.split(".")[1];return c?c.length:0}function bB(a,b){let c=Math.pow(10,b);return Math.round(a*c)/c}bx.displayName=bw;let bC=c.forwardRef(({className:a,...c},d)=>(0,b.jsxs)(be,{ref:d,className:(0,aY.cn)("relative flex w-full touch-none select-none items-center",a),...c,children:[(0,b.jsx)(bl,{className:"relative h-1.5 w-full grow overflow-hidden rounded-full bg-secondary/50",children:(0,b.jsx)(bn,{className:"absolute h-full bg-[hsl(36,82%,47%)]"})}),Array.isArray(c.value)?c.value.map((a,c)=>(0,b.jsx)(bv,{className:"block h-4 w-4 rounded-full border-2 border-[hsl(36,82%,47%)] bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 cursor-grab active:cursor-grabbing"},c)):(0,b.jsx)(bv,{className:"block h-4 w-4 rounded-full border-2 border-[hsl(36,82%,47%)] bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 cursor-grab active:cursor-grabbing"})]}));bC.displayName=be.displayName;var bD=a.i(786304),bE=a.i(352019),bF=a.i(923690),bG=a.i(781737);a.s(["ProjectsPageClient",0,function({initialProjects:a,cities:q,searchParams:r}){let s=(0,d.useRouter)(),t=(0,d.usePathname)(),[u,v]=(0,c.useTransition)(),[w,x]=(0,c.useState)("grid"),[y,z]=(0,c.useState)(!1),[A,B]=(0,c.useState)(r.q??""),[C,D]=(0,c.useState)([Number(r.price_min??0),Number(r.price_max??1e8)]),E=(0,c.useCallback)(a=>{let b=new URLSearchParams;Object.entries(r).forEach(([a,c])=>{c&&b.set(a,c)}),Object.entries(a).forEach(([a,c])=>{c?b.set(a,c):b.delete(a)}),b.delete("page"),v(()=>s.push(`${t}?${b.toString()}`))},[t,s,r]),F=()=>{v(()=>s.push(t)),B(""),D([0,1e8])},G=[r.q,r.city,r.category,r.status,r.is_luxury,r.possession_status,r.price_min,r.price_max].filter(Boolean).length,{data:H,total:I,total_pages:J,page:K,has_next:L,has_prev:M}=a;return(0,b.jsxs)("div",{className:"section-container py-8",children:[(0,b.jsxs)("div",{className:"mb-8",children:[(0,b.jsx)("h1",{className:"section-title text-3xl lg:text-4xl mb-2",children:r.category?`${bG.PROJECT_CATEGORIES.find(a=>a.value===r.category)?.label??r.category} Properties`:r.q?`Search: "${r.q}"`:"All Properties"}),(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-semibold text-foreground",children:I.toLocaleString("en-IN")})," ","properties found",r.city&&` in ${r.city}`]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-4 mb-6 p-4 glass-card rounded-2xl",children:[(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault(),E({q:A||void 0})},className:"relative flex-1 max-w-xs",children:[(0,b.jsx)(j.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),(0,b.jsx)(p.Input,{value:A,onChange:a=>B(a.target.value),placeholder:"Search properties...",className:"pl-9 h-9 text-sm"})]}),(0,b.jsxs)(_,{value:r.sort??"featured",onValueChange:a=>E({sort:a}),children:[(0,b.jsx)(aZ,{className:"w-44 h-9 text-sm",children:(0,b.jsx)(ad,{placeholder:"Sort by"})}),(0,b.jsxs)(a0,{children:[(0,b.jsx)(a1,{value:"featured",children:"Featured First"}),(0,b.jsx)(a1,{value:"newest",children:"Newest First"}),(0,b.jsx)(a1,{value:"price-asc",children:"Price: Low to High"}),(0,b.jsx)(a1,{value:"price-desc",children:"Price: High to Low"})]})]}),(0,b.jsxs)(o.Button,{variant:"outline",size:"sm",onClick:()=>z(!y),className:"relative",children:[(0,b.jsx)(g.default,{className:"w-4 h-4 mr-2"}),"Filters",G>0&&(0,b.jsx)("span",{className:"absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full bg-primary text-primary-foreground text-[10px] flex items-center justify-center font-bold",children:G})]}),G>0&&(0,b.jsxs)(o.Button,{variant:"ghost",size:"sm",onClick:F,children:[(0,b.jsx)(k.X,{className:"w-4 h-4 mr-1"}),"Clear"]}),(0,b.jsxs)("div",{className:"flex items-center rounded-lg border border-border overflow-hidden",children:[(0,b.jsx)("button",{onClick:()=>x("grid"),className:(0,bF.cn)("p-2 transition-colors","grid"===w?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:(0,b.jsx)(h.default,{className:"w-4 h-4"})}),(0,b.jsx)("button",{onClick:()=>x("list"),className:(0,bF.cn)("p-2 transition-colors","list"===w?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:(0,b.jsx)(i.default,{className:"w-4 h-4"})})]})]}),(0,b.jsx)(f.AnimatePresence,{children:y&&(0,b.jsx)(e.motion.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},className:"overflow-hidden mb-6",children:(0,b.jsxs)("div",{className:"glass-card rounded-2xl p-6 grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2 block",children:"City"}),(0,b.jsxs)(_,{value:r.city??"all",onValueChange:a=>E({city:"all"===a?void 0:a}),children:[(0,b.jsx)(aZ,{className:"h-9 text-sm",children:(0,b.jsx)(ad,{placeholder:"All Cities"})}),(0,b.jsxs)(a0,{children:[(0,b.jsx)(a1,{value:"all",children:"All Cities"}),q.map(a=>(0,b.jsx)(a1,{value:a.name,children:a.name},a.id))]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2 block",children:"Property Type"}),(0,b.jsxs)(_,{value:r.category??"all",onValueChange:a=>E({category:"all"===a?void 0:a}),children:[(0,b.jsx)(aZ,{className:"h-9 text-sm",children:(0,b.jsx)(ad,{placeholder:"All Types"})}),(0,b.jsxs)(a0,{children:[(0,b.jsx)(a1,{value:"all",children:"All Types"}),bG.PROJECT_CATEGORIES.map(a=>(0,b.jsx)(a1,{value:a.value,children:a.label},a.value))]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2 block",children:"Project Status"}),(0,b.jsxs)(_,{value:r.status??"all",onValueChange:a=>E({status:"all"===a?void 0:a}),children:[(0,b.jsx)(aZ,{className:"h-9 text-sm",children:(0,b.jsx)(ad,{placeholder:"Any Status"})}),(0,b.jsxs)(a0,{children:[(0,b.jsx)(a1,{value:"all",children:"Any Status"}),bG.PROJECT_STATUSES.map(a=>(0,b.jsx)(a1,{value:a.value,children:a.label},a.value))]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2 block",children:"Possession"}),(0,b.jsxs)(_,{value:r.possession_status??"all",onValueChange:a=>E({possession_status:"all"===a?void 0:a}),children:[(0,b.jsx)(aZ,{className:"h-9 text-sm",children:(0,b.jsx)(ad,{placeholder:"Any"})}),(0,b.jsxs)(a0,{children:[(0,b.jsx)(a1,{value:"all",children:"Any"}),bG.POSSESSION_STATUSES.map(a=>(0,b.jsx)(a1,{value:a.value,children:a.label},a.value))]})]})]}),(0,b.jsx)("div",{className:"flex items-center gap-3",children:(0,b.jsx)("button",{onClick:()=>E({is_luxury:"true"===r.is_luxury?void 0:"true"}),className:(0,bF.cn)("flex items-center gap-2 px-4 py-2 rounded-lg border text-sm transition-all","true"===r.is_luxury?"border-[hsl(36,82%,47%)] bg-[hsl(36,82%,47%,0.15)] text-[hsl(36,82%,47%)]":"border-border text-muted-foreground hover:border-[hsl(36,82%,47%,0.5)]"),children:"✨ Luxury Only"})}),(0,b.jsxs)("div",{className:"sm:col-span-2 lg:col-span-3",children:[(0,b.jsxs)("label",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2 block",children:["Budget Range: ",(0,bF.formatCurrency)(C[0])," — ",(0,bF.formatCurrency)(C[1])]}),(0,b.jsx)(bC,{min:0,max:1e8,step:5e5,value:C,onValueChange:D,onValueCommit:a=>E({price_min:a[0]>0?a[0].toString():void 0,price_max:a[1]<1e8?a[1].toString():void 0}),className:"mt-2"})]})]})})}),G>0&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-2 mb-6",children:[r.q&&(0,b.jsxs)(bD.Badge,{variant:"secondary",className:"gap-1.5",children:["Search: ",r.q,(0,b.jsx)("button",{onClick:()=>{B(""),E({q:void 0})},children:(0,b.jsx)(k.X,{className:"w-3 h-3"})})]}),r.city&&(0,b.jsxs)(bD.Badge,{variant:"secondary",className:"gap-1.5",children:["City: ",r.city,(0,b.jsx)("button",{onClick:()=>E({city:void 0}),children:(0,b.jsx)(k.X,{className:"w-3 h-3"})})]}),r.category&&(0,b.jsxs)(bD.Badge,{variant:"secondary",className:"gap-1.5",children:["Type: ",r.category,(0,b.jsx)("button",{onClick:()=>E({category:void 0}),children:(0,b.jsx)(k.X,{className:"w-3 h-3"})})]}),"true"===r.is_luxury&&(0,b.jsxs)(bD.Badge,{variant:"gold",className:"gap-1.5",children:["Luxury Only",(0,b.jsx)("button",{onClick:()=>E({is_luxury:void 0}),children:(0,b.jsx)(k.X,{className:"w-3 h-3"})})]})]}),u?(0,b.jsx)("div",{className:"flex items-center justify-center py-24",children:(0,b.jsx)(n.Loader2,{className:"w-8 h-8 animate-spin text-primary"})}):0===H.length?(0,b.jsxs)("div",{className:"text-center py-24",children:[(0,b.jsx)("div",{className:"w-16 h-16 bg-secondary/50 rounded-full flex items-center justify-center mx-auto mb-4",children:(0,b.jsx)(j.Search,{className:"w-8 h-8 text-muted-foreground"})}),(0,b.jsx)("h3",{className:"font-display text-xl font-semibold text-foreground mb-2",children:"No properties found"}),(0,b.jsx)("p",{className:"text-muted-foreground mb-6",children:"Try adjusting your filters or search terms."}),(0,b.jsx)(o.Button,{variant:"gold-outline",onClick:F,children:"Clear All Filters"})]}):(0,b.jsx)("div",{className:(0,bF.cn)("gap-6","grid"===w?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3":"flex flex-col"),children:H.map((a,c)=>(0,b.jsx)(bE.PropertyCard,{project:a,variant:"list"===w?"featured":"default",index:c},a.id))}),J>1&&(0,b.jsxs)("div",{className:"flex items-center justify-center gap-3 mt-12",children:[(0,b.jsxs)(o.Button,{variant:"outline",size:"sm",disabled:!M,onClick:()=>E({page:String(K-1)}),children:[(0,b.jsx)(l.ChevronLeft,{className:"w-4 h-4 mr-1"}),"Previous"]}),(0,b.jsx)("div",{className:"flex items-center gap-1",children:Array.from({length:Math.min(5,J)},(a,c)=>{let d;return d=J<=5||K<=3?c+1:K>=J-2?J-4+c:K-2+c,(0,b.jsx)("button",{onClick:()=>E({page:String(d)}),className:(0,bF.cn)("w-9 h-9 rounded-lg text-sm font-medium transition-all",d===K?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-secondary/50"),children:d},d)})}),(0,b.jsxs)(o.Button,{variant:"outline",size:"sm",disabled:!L,onClick:()=>E({page:String(K+1)}),children:["Next",(0,b.jsx)(m.ChevronRight,{className:"w-4 h-4 ml-1"})]})]})]})}],974328)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_components_projects_projects-page-client_tsx_0en0vh2._.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
module.exports=[880160,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(346271),e=a.i(613412),f=a.i(707963),g=a.i(141146),h=a.i(154745),h=h,i=a.i(875160),j=a.i(460880),j=j,k=a.i(711613),l=a.i(170979),m=a.i(272147),m=m,n=a.i(585650),o=a.i(752562),p=a.i(492378),q=a.i(823292),r=a.i(405050);let s=(0,r.createServerReference)("40a427f7f2706d1dac0286b6bd33d5ede2b944472a",r.callServer,void 0,r.findSourceMapURL,"completeSetup"),t=(0,r.createServerReference)("40a87a2fdb4a919fc6c3e2e8b18e5a9034af9455d1",r.callServer,void 0,r.findSourceMapURL,"testDatabaseConnection"),u=(0,r.createServerReference)("4021468822b0863bde2ddca7e54c3f67d5e65bdd4f",r.callServer,void 0,r.findSourceMapURL,"testSmtpConnection"),v=(0,r.createServerReference)("4080d0a5e3f28b9d8d7a5b2aa82adc08446e124c4a",r.callServer,void 0,r.findSourceMapURL,"testStorageConnection"),w=(0,r.createServerReference)("400d14a6101aad68a24ec6c7ada01200570e5a3938",r.callServer,void 0,r.findSourceMapURL,"saveDatabaseConfig"),x=(0,r.createServerReference)("002f31bd92d9e3eefa4e475ac61b67f9b66c93b330",r.callServer,void 0,r.findSourceMapURL,"checkSystemReadiness");var y=a.i(699570),z=a.i(866718),A=a.i(870430),B=a.i(750104),C=a.i(30553),D="Progress",[E,F]=(0,B.createContextScope)(D),[G,H]=E(D),I=c.forwardRef((a,c)=>{var d,e;let{__scopeProgress:f,value:g=null,max:h,getValueLabel:i=L,...j}=a;(h||0===h)&&!O(h)&&console.error((d=`${h}`,`Invalid prop \`max\` of value \`${d}\` supplied to \`Progress\`. Only numbers greater than 0 are valid max values. Defaulting to \`100\`.`));let k=O(h)?h:100;null===g||P(g,k)||console.error((e=`${g}`,`Invalid prop \`value\` of value \`${e}\` supplied to \`Progress\`. The \`value\` prop must be:
|
|
2
|
+
- a positive number
|
|
3
|
+
- less than the value passed to \`max\` (or 100 if no \`max\` prop is set)
|
|
4
|
+
- \`null\` or \`undefined\` if the progress is indeterminate.
|
|
5
|
+
|
|
6
|
+
Defaulting to \`null\`.`));let l=P(g,k)?g:null,m=N(l)?i(l,k):void 0;return(0,b.jsx)(G,{scope:f,value:l,max:k,children:(0,b.jsx)(C.Primitive.div,{"aria-valuemax":k,"aria-valuemin":0,"aria-valuenow":N(l)?l:void 0,"aria-valuetext":m,role:"progressbar","data-state":M(l,k),"data-value":l??void 0,"data-max":k,...j,ref:c})})});I.displayName=D;var J="ProgressIndicator",K=c.forwardRef((a,c)=>{let{__scopeProgress:d,...e}=a,f=H(J,d);return(0,b.jsx)(C.Primitive.div,{"data-state":M(f.value,f.max),"data-value":f.value??void 0,"data-max":f.max,...e,ref:c})});function L(a,b){return`${Math.round(a/b*100)}%`}function M(a,b){return null==a?"indeterminate":a===b?"complete":"loading"}function N(a){return"number"==typeof a}function O(a){return N(a)&&!isNaN(a)&&a>0}function P(a,b){return N(a)&&!isNaN(a)&&a<=b&&a>=0}K.displayName=J;var Q=a.i(368114);let R=c.forwardRef(({className:a,value:c,...d},e)=>(0,b.jsx)(I,{ref:e,className:(0,Q.cn)("relative h-2 w-full overflow-hidden rounded-full bg-secondary/50",a),...d,children:(0,b.jsx)(K,{className:"h-full w-full flex-1 bg-primary transition-all duration-300",style:{transform:`translateX(-${100-(c??0)}%)`}})}));R.displayName=I.displayName;var S=a.i(563658),T=a.i(429246);let U="propvault.setup.wizard.autosave.v2",V=["Welcome & Check","Database Setup","Company Info","Branding Assets","Theme Builder","SEO & Analytics","SMTP Setup","Storage Config","Admin User","Initialization"];a.s(["SetupWizard",0,function(){let[a,r]=(0,c.useState)(0),[B,C]=(0,c.useState)(!1),[D,E]=(0,c.useState)(!1),[F,G]=(0,c.useState)(null),[H,I]=(0,c.useState)(null),[J,K]=(0,c.useState)(null),[L,M]=(0,c.useState)(!1),N=(0,c.useMemo)(()=>!!J&&!!(J.nodeOk&&J.storageWritable&&J.uploadsWritable&&J.betterSqlite3Installed&&J.sharpInstalled),[J]);(0,c.useEffect)(()=>{(async()=>{try{let a=await x();K(a)}catch(a){console.error("System readiness check failed:",a)}})()},[]);let[O,P]=(0,c.useState)({driver:"sqlite",database:"./data/propvault.db",host:"localhost",port:"5432",username:"",password:"",url:"",replicas:"",ssl:!1,authSource:"admin"}),Q={sqlite:"",postgresql:"5432",mysql:"3306",mongodb:"27017"},[W,X]=(0,c.useState)({organization:{companyName:"PropVault Luxury Estates",brandName:"PropVault",website:"http://localhost:3000",email:"concierge@propvault.luxury",phone:"+91 99999 88888",whatsApp:"919999988888",address:"Marina One Suite, Bandra Kurla Complex",city:"Mumbai",state:"Maharashtra",country:"India",gst:"27AAACP1234F1Z1",pan:"AAACP1234F",timezone:"Asia/Kolkata",currency:"INR",language:"en"},branding:{logoHorizontal:"/logo/logo.png",logoVertical:"/logo/vertical_logo.png",logoDark:"/logo/logo.png",logoLight:"/logo/logo.png",favicon:"/favicon.ico",appleIcon:"/icons/apple-touch-icon.png",androidIcon:"/icons/android-chrome-192x192.png",ogImage:"/og/propVault.png",loadingIcon:"pulse",adminLogo:"/logo/logo.png",emailLogo:"/logo/logo.png"},theme:{primaryColor:"#d88b16",secondaryColor:"#17171f",accent:"#f4ca64",success:"#10b981",danger:"#ef4444",warning:"#f59e0b",borderRadius:"12",containerWidth:"1280",defaultFont:"Inter",darkMode:!0},seo:{title:"PropVault - Signature Luxury Real Estate",description:"Discover curated premium developments, private villas, and high-yield real estate projects. Fully RERA verified with zero brokerage charges.",keywords:"luxury villas, real estate investments, RERA verified projects, premium homes",robots:"index, follow",canonical:"http://localhost:3000",schema:"",openGraph:"true",twitterCard:"summary_large_image",verificationCodes:"",analytics:"UA-123456-1",metaPixel:"",gtm:"GTM-12345",searchConsole:"",bing:"",yandex:""},admin:{fullName:"",username:"admin",email:"",password:"",phone:"",profileImage:"",role:"super_admin",securityQuestions:"",twoFactorReady:!0},communication:{smtpHost:"smtp.mailtrap.io",smtpPort:"2525",smtpEncryption:"TLS",smtpUser:"",smtpPassword:"",emailSender:"concierge@propvault.luxury",replyEmail:"info@propvault.luxury",whatsAppNumber:"919999988888",businessPhone:"+91 99999 88888",supportEmail:"support@propvault.luxury"},storage:{provider:"local",s3Endpoint:"",s3Bucket:"",s3AccessKey:"",s3SecretKey:"",imageCompression:!0,webp:!0,avif:!0},seedDemoData:!0,licenseKey:""}),[Y,Z]=(0,c.useTransition)();(0,c.useEffect)(()=>{let a=window.localStorage.getItem(U);if(a)try{X(JSON.parse(a))}catch(a){console.error("Autosave recovery failed:",a)}let b=window.localStorage.getItem(U+".db");if(b)try{P(JSON.parse(b))}catch(a){console.error("Autosave db recovery failed:",a)}},[]),(0,c.useEffect)(()=>{window.localStorage.setItem(U,JSON.stringify(W))},[W]),(0,c.useEffect)(()=>{window.localStorage.setItem(U+".db",JSON.stringify(O))},[O]);let $=(0,c.useMemo)(()=>Math.round((a+1)/V.length*100),[a]),_=async()=>{E(!0),G(null);try{let a=await t(O);G(a),a.success?(q.toast.success("Database connection verified!"),await w(O)):q.toast.error(a.error||"Handshake failed.")}catch(a){q.toast.error(a.message||"Test failed.")}finally{E(!1)}},aa=async()=>{E(!0),G(null);try{let a=await u({host:String(W.communication.smtpHost),port:String(W.communication.smtpPort),encryption:String(W.communication.smtpEncryption),username:String(W.communication.smtpUser),password:String(W.communication.smtpPassword)});G(a),a.success?q.toast.success("SMTP Connection verified successfully!"):q.toast.error(a.error||"SMTP connection failed.")}catch{q.toast.error("Test failed.")}finally{E(!1)}},ab=async()=>{E(!0),G(null);try{let a=await v({provider:String(W.storage.provider),s3Bucket:String(W.storage.s3Bucket),s3AccessKey:String(W.storage.s3AccessKey),s3SecretKey:String(W.storage.s3SecretKey)});G(a),a.success?q.toast.success("Storage driver validated!"):q.toast.error(a.error||"Storage validation failed.")}catch{q.toast.error("Test failed.")}finally{E(!1)}},ac=(a,b,c)=>{X(d=>({...d,[a]:{...d[a],[b]:c}}))},ad=async(a,b)=>{I(a);let c=new FormData;c.append("file",b),c.append("folder","branding"),c.append("type","image");try{let b=await fetch("/api/upload",{method:"POST",body:c}),d=await b.json();d.success&&d.data?.url?(ac("branding",a,d.data.url),q.toast.success("Branding file uploaded!")):q.toast.error(d.error??"Upload failed")}catch{q.toast.error("Upload failed")}finally{I(null)}};return(0,b.jsxs)("main",{className:`min-h-screen flex flex-col lg:flex-row transition-colors duration-300 ${B?"bg-slate-50 text-slate-800":"bg-[hsl(240,20%,7%)] text-foreground"}`,children:[(0,b.jsxs)("aside",{className:`lg:w-[360px] border-b lg:border-b-0 lg:border-r p-6 flex flex-col justify-between transition-colors ${B?"bg-white/70 border-slate-200":"bg-[hsl(240,15%,10%)]/50 border-border"} backdrop-blur-xl shrink-0`,children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-primary to-accent text-primary-foreground",children:(0,b.jsx)(h.default,{className:"h-5 w-5"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground font-bold uppercase tracking-wider",children:"Enterprise Setup"}),(0,b.jsx)("h1",{className:"text-lg font-bold tracking-tight font-display",children:"PropVault CMS"})]})]}),(0,b.jsx)("button",{onClick:()=>C(!B),className:`p-2 rounded-xl border transition-colors ${B?"hover:bg-slate-100 border-slate-200 text-slate-600":"hover:bg-white/5 border-border text-muted-foreground"}`,title:B?"Switch to Dark Mode":"Switch to Light Mode",children:B?(0,b.jsx)(l.Moon,{className:"w-4 h-4"}):(0,b.jsx)(k.Sun,{className:"w-4 h-4"})})]}),(0,b.jsxs)("div",{className:"mt-8",children:[(0,b.jsxs)("div",{className:"flex justify-between text-xs text-muted-foreground mb-2 font-medium",children:[(0,b.jsx)("span",{children:"Installation Progress"}),(0,b.jsxs)("span",{children:[$,"%"]})]}),(0,b.jsx)(R,{value:$,className:"h-2 bg-secondary"})]}),(0,b.jsx)("ol",{className:"mt-8 space-y-1.5",children:V.map((c,d)=>(0,b.jsxs)("li",{className:`flex items-center gap-3 rounded-xl px-3 py-2 text-xs font-medium transition-all ${d===a?"bg-primary/10 text-primary font-semibold border-l-2 border-primary pl-2":d<a?"text-muted-foreground/60 line-through":"text-muted-foreground/45"}`,children:[(0,b.jsx)("span",{className:`flex h-5 w-5 items-center justify-center rounded-full border text-[10px] shrink-0 ${d===a?"border-primary text-primary":d<a?"border-muted-foreground/30 bg-muted-foreground/5 text-muted-foreground":"border-border text-muted-foreground/40"}`,children:d<a?(0,b.jsx)(e.CheckCircle2,{className:"h-3.5 w-3.5 text-primary"}):d+1}),c]},c))})]}),(0,b.jsxs)("div",{className:"hidden lg:block text-[10px] text-muted-foreground/40 pt-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),(0,b.jsx)("p",{children:"Auto-saved locally in browser"})]}),(0,b.jsx)("p",{children:"PropVault Enterprise v1.0.0"})]})]}),(0,b.jsx)("section",{className:"flex-1 p-6 lg:p-12 overflow-y-auto max-h-screen",children:(0,b.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,b.jsxs)("header",{className:"mb-8",children:[(0,b.jsxs)("span",{className:"text-[10px] font-bold text-primary uppercase tracking-widest",children:["Step ",a+1," of ",V.length]}),(0,b.jsx)("h2",{className:"text-2xl font-bold tracking-tight mt-1 inline-block font-display",children:V[a]}),(0,b.jsx)("div",{className:"h-[3px] w-12 bg-primary rounded-full mt-2"})]}),(0,b.jsxs)("div",{className:`p-6 rounded-2xl border transition-colors shadow-lg relative backdrop-blur-md ${B?"bg-white border-slate-200":"bg-[hsl(240,15%,11%)] border-border"}`,children:[0===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4 border-b border-border/50 pb-4",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground leading-relaxed flex-1",children:"Welcome to the PropVault Enterprise installer. We have audited the system environment to verify the prerequisites for local database clustering and media handling."}),J?.version&&(0,b.jsxs)("span",{className:"text-xxs font-mono bg-primary/10 border border-primary/25 text-primary px-3 py-1 rounded-full shrink-0 font-bold",children:["Version: v",J.version]})]}),(0,b.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:[{name:"Node.js Runtime Platform",status:J?`Installed: ${J.nodeVersion}`:"Checking...",ok:!J||J.nodeOk},{name:"Database Storage Permission",status:J?J.storageWritable?"Directory Writable":"Directory not writable":"Checking...",ok:!J||J.storageWritable},{name:"Public Uploads Directory",status:J?J.uploadsWritable?"public/uploads folder ready":"Uploads not writable":"Checking...",ok:!J||J.uploadsWritable},{name:"BullDB Active Record Engine",status:"Vetted and Initialized",ok:!0},{name:"better-sqlite3 Database Module",status:J?J.betterSqlite3Installed?"Installed & Active":"Missing better-sqlite3 module":"Checking...",ok:!J||J.betterSqlite3Installed},{name:"sharp Image Processor Module",status:J?J.sharpInstalled?"Installed & Active":"Missing sharp module":"Checking...",ok:!J||J.sharpInstalled}].map(a=>(0,b.jsxs)("div",{className:`flex items-center gap-3 border p-4 rounded-xl ${B?"bg-slate-50 border-slate-200":"bg-card/40 border-border"}`,children:[(0,b.jsx)(j.default,{className:`h-5 w-5 ${a.ok?"text-emerald-500":"text-destructive"} shrink-0`}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"font-semibold text-xs",children:a.name}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:a.status})]})]},a.name))}),(0,b.jsxs)("div",{className:`p-5 rounded-xl border ${B?"bg-slate-50 border-slate-200":"bg-card/25 border-border"}`,children:[(0,b.jsxs)("h3",{className:"font-semibold text-xs mb-1.5 flex items-center gap-2",children:[(0,b.jsx)(p.Zap,{className:"w-3.5 h-3.5 text-primary"}),(0,b.jsx)("span",{children:"Enterprise License Key (Optional)"})]}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mb-3 leading-relaxed",children:"Enter your PropVault Enterprise License Key. Leave it empty to bootstrap the system under the standard open-source (OSS) terms."}),(0,b.jsx)(z.Input,{value:W.licenseKey||"",onChange:a=>X(b=>({...b,licenseKey:a.target.value})),placeholder:"e.g. PV-XXXX-XXXX-XXXX-XXXX",className:"max-w-md h-9 text-xs"})]})]}),1===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("p",{className:"text-xs text-muted-foreground leading-relaxed",children:["PropVault is powered by the ",(0,b.jsx)("strong",{children:"BullDB"})," engine. Select your preferred database driver and fill connection parameters."]}),(0,b.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-3",children:[{value:"sqlite",label:"SQLite",description:"Embedded database — ideal for simple/quick setups",group:"File Based"},{value:"postgresql",label:"PostgreSQL",description:"Advanced relational database for scale",group:"SQL Databases"},{value:"mysql",label:"MySQL",description:"Widely used relational database",group:"SQL Databases"},{value:"mongodb",label:"MongoDB",description:"NoSQL document store",group:"NoSQL"}].map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{var b;return b=a.value,void(P(a=>({...a,driver:b,port:Q[b]??""})),G(null))},className:`p-4 rounded-xl border text-left transition-all ${O.driver===a.value?"border-primary bg-primary/5 ring-1 ring-primary/25":B?"border-slate-200 hover:bg-slate-50":"border-border hover:border-primary/20 hover:bg-white/5"}`,children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,b.jsx)(m.default,{className:`h-4 w-4 ${O.driver===a.value?"text-primary":"text-muted-foreground"}`}),(0,b.jsx)("span",{className:"text-xs font-bold",children:a.label})]}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground leading-relaxed",children:a.description})]},a.value))}),"sqlite"===O.driver?(0,b.jsxs)("div",{className:"space-y-3 pt-2",children:[(0,b.jsx)("div",{className:`p-3 rounded-xl border text-[11px] ${B?"bg-emerald-50 border-emerald-200 text-emerald-700":"bg-emerald-500/5 border-emerald-500/10 text-emerald-400"}`,children:"✓ SQLite requires no server setup. A local database file will be created automatically."}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Database File Path"}),(0,b.jsx)(z.Input,{value:O.database,onChange:a=>P(b=>({...b,database:a.target.value})),className:"mt-1.5",placeholder:"./data/propvault.db"})]})]}):(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 pt-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Host"}),(0,b.jsx)(z.Input,{value:O.host,onChange:a=>P(b=>({...b,host:a.target.value})),className:"mt-1.5",placeholder:"localhost"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Port"}),(0,b.jsx)(z.Input,{value:O.port,onChange:a=>P(b=>({...b,port:a.target.value})),className:"mt-1.5",placeholder:Q[O.driver]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Database Name"}),(0,b.jsx)(z.Input,{value:O.database,onChange:a=>P(b=>({...b,database:a.target.value})),className:"mt-1.5",placeholder:"propvault"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Username"}),(0,b.jsx)(z.Input,{value:O.username,onChange:a=>P(b=>({...b,username:a.target.value})),className:"mt-1.5",placeholder:"db_user"})]}),(0,b.jsxs)("div",{className:"md:col-span-2",children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Password"}),(0,b.jsx)(z.Input,{type:"password",value:O.password,onChange:a=>P(b=>({...b,password:a.target.value})),className:"mt-1.5",placeholder:"••••••••"})]}),(0,b.jsxs)("div",{className:"md:col-span-2",children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Connection URI Override (Optional)"}),(0,b.jsx)(z.Input,{value:O.url,onChange:a=>P(b=>({...b,url:a.target.value})),className:"mt-1.5",placeholder:"mongodb://localhost:27017/propvault"})]})]}),(0,b.jsxs)("div",{className:`border p-4 rounded-xl flex items-center justify-between ${B?"bg-slate-50 border-slate-200":"bg-card/25 border-border"}`,children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-bold",children:"Validate Connection"}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:"Attempt BullDB handshake and write-buffer test."})]}),(0,b.jsx)(y.Button,{onClick:_,disabled:D,variant:"outline",size:"sm",className:"h-8 text-xs font-semibold px-4",children:D?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Loader2,{className:"h-3 w-3 animate-spin mr-1.5"})," Testing..."]}):"Test Connection"})]}),F&&F.success&&(0,b.jsxs)(d.motion.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},className:`p-5 rounded-xl border space-y-4 ${B?"bg-emerald-50 border-emerald-200 text-emerald-800":"bg-emerald-500/5 border-emerald-500/20 text-emerald-300"}`,children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,b.jsx)(e.CheckCircle2,{className:"h-5 w-5 text-emerald-400 shrink-0"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"font-bold text-xs",children:"Database Connected Successfully"}),(0,b.jsx)("p",{className:"text-[10px] text-emerald-400/80 mt-0.5",children:"Write-buffer handshakes passed validation metrics."})]})]}),(0,b.jsxs)("div",{className:`grid grid-cols-2 md:grid-cols-4 gap-3 pt-3 border-t text-[10px] ${B?"border-emerald-200":"border-emerald-500/10"}`,children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-[9px] uppercase font-semibold opacity-60",children:"Driver"}),(0,b.jsx)("span",{className:"font-mono mt-0.5 block font-bold",children:F.data?.driver})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-[9px] uppercase font-semibold opacity-60",children:"Version"}),(0,b.jsx)("span",{className:"font-mono mt-0.5 block font-bold",children:F.data?.version})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-[9px] uppercase font-semibold opacity-60",children:"Latency"}),(0,b.jsxs)("span",{className:"font-mono mt-0.5 block font-bold text-primary flex items-center gap-1",children:[(0,b.jsx)(p.Zap,{className:"w-3 h-3"})," ",F.data?.latency]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-[9px] uppercase font-semibold opacity-60",children:"Status"}),(0,b.jsx)("span",{className:"font-mono mt-0.5 block font-bold text-emerald-400",children:F.data?.status})]})]})]}),F&&!F.success&&(0,b.jsx)(d.motion.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},className:"p-5 rounded-xl border border-destructive/20 bg-destructive/5 text-destructive-foreground space-y-4",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("span",{className:"h-5 w-5 rounded-full bg-destructive/10 text-destructive flex items-center justify-center font-bold text-xs shrink-0",children:"✗"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("h4",{className:"font-bold text-xs text-red-400",children:"Database Connection Failed"}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:"Handshake parameters refused or host not reachable."}),(0,b.jsx)("div",{className:"mt-2.5 p-3 bg-black/40 rounded-lg border border-white/5 font-mono text-[10px] overflow-x-auto whitespace-pre-wrap max-h-32 text-red-300",children:F.error||"Connection timed out."}),(0,b.jsxs)("div",{className:"mt-3.5 flex flex-wrap gap-2",children:[(0,b.jsx)(y.Button,{onClick:_,variant:"destructive",size:"sm",className:"h-7 text-[10px] font-bold px-3",children:"Retry Handshake"}),(0,b.jsx)(y.Button,{onClick:()=>{let a=F?.error||"Database connection error details";navigator.clipboard.writeText(a),M(!0),q.toast.success("Error log copied to clipboard"),setTimeout(()=>M(!1),2e3)},variant:"outline",size:"sm",className:"h-7 text-[10px] font-bold px-3 border-white/10 hover:bg-white/5",children:L?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o.Check,{className:"w-3 h-3 mr-1"})," Copied"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(n.Copy,{className:"w-3 h-3 mr-1"})," Copy Error"]})}),(0,b.jsx)("a",{href:"https://propvault.dev/docs/troubleshooting#database-connection",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center h-7 text-[10px] font-semibold px-3 text-muted-foreground hover:text-foreground transition-colors",children:"Troubleshooting Guide →"})]})]})]})})]}),2===a&&(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:Object.entries(W.organization).map(([a,c])=>(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"capitalize text-xs font-semibold text-muted-foreground",children:a.replace(/([A-Z])/g," $1")}),(0,b.jsx)(z.Input,{value:String(c??""),onChange:b=>ac("organization",a,b.target.value),className:"mt-1.5"})]},a))}),3===a&&(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:Object.entries(W.branding).map(([a,c])=>{let d=a.toLowerCase().includes("logo")||a.toLowerCase().includes("icon")||a.toLowerCase().includes("favicon")||a.toLowerCase().includes("image");return(0,b.jsxs)("div",{className:`space-y-2 p-4 rounded-xl border ${B?"bg-slate-50 border-slate-200":"bg-card/20 border-border"}`,children:[(0,b.jsx)(A.Label,{className:"capitalize text-[10px] font-bold text-muted-foreground block",children:a.replace(/([A-Z])/g," $1")}),(0,b.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,b.jsx)(z.Input,{value:String(c??""),onChange:b=>ac("branding",a,b.target.value),className:"text-xs font-mono"}),d&&(0,b.jsxs)("div",{className:"relative shrink-0",children:[(0,b.jsx)("input",{type:"file",accept:"image/*,.ico",className:"sr-only",id:`file-upload-${a}`,onChange:b=>{let c=b.target.files?.[0];c&&ad(a,c)}}),(0,b.jsx)(y.Button,{variant:"outline",size:"sm",className:"h-9 px-3 text-xs border-dashed border-primary/40 text-primary hover:bg-primary/5",asChild:!0,disabled:H===a,children:(0,b.jsx)("label",{htmlFor:`file-upload-${a}`,className:"cursor-pointer",children:H===a?(0,b.jsx)(i.Loader2,{className:"w-3.5 h-3.5 animate-spin"}):"Upload"})})]})]})]},a)})}),4===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Configure the primary brand colors for your PropVault design system preset. A set of exactly 10 premium responsive themes (5 Luxury Light, 5 Luxury Dark) will be seeded into your database automatically during final setup."}),(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:Object.entries(W.theme).map(([a,c])=>{let d=a.toLowerCase().includes("color")||"accent"===a||"success"===a||"danger"===a||"warning"===a;return(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"capitalize text-xs font-semibold text-muted-foreground",children:a.replace(/([A-Z])/g," $1")}),d?(0,b.jsxs)("div",{className:"flex gap-2 mt-1.5",children:[(0,b.jsx)(z.Input,{type:"color",value:String(c??"#000000"),onChange:b=>ac("theme",a,b.target.value),className:"w-12 h-9 p-1 bg-transparent rounded-lg cursor-pointer border border-border"}),(0,b.jsx)(z.Input,{value:String(c??""),onChange:b=>ac("theme",a,b.target.value),className:"font-mono text-xs"})]}):"darkMode"===a?(0,b.jsxs)("div",{className:"flex items-center gap-3 mt-3",children:[(0,b.jsx)(S.Switch,{checked:!!c,onCheckedChange:b=>ac("theme",a,b),id:"darkmode-toggle"}),(0,b.jsx)("label",{htmlFor:"darkmode-toggle",className:"text-xs text-muted-foreground cursor-pointer",children:"Start application with Dark Mode as user default"})]}):(0,b.jsx)(z.Input,{value:String(c??""),onChange:b=>ac("theme",a,b.target.value),className:"mt-1.5 text-xs font-mono"})]},a)})})]}),5===a&&(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:Object.entries(W.seo).map(([a,c])=>{let d="description"===a||"schema"===a||"verificationCodes"===a;return(0,b.jsxs)("div",{className:d?"md:col-span-2":"",children:[(0,b.jsx)(A.Label,{className:"capitalize text-xs font-semibold text-muted-foreground",children:a.replace(/([A-Z])/g," $1")}),d?(0,b.jsx)(T.Textarea,{value:String(c??""),onChange:b=>ac("seo",a,b.target.value),className:"mt-1.5 text-xs leading-relaxed",rows:3}):(0,b.jsx)(z.Input,{value:String(c??""),onChange:b=>ac("seo",a,b.target.value),className:"mt-1.5 text-xs"})]},a)})}),6===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"SMTP Host"}),(0,b.jsx)(z.Input,{value:String(W.communication.smtpHost??""),onChange:a=>ac("communication","smtpHost",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"SMTP Port"}),(0,b.jsx)(z.Input,{value:String(W.communication.smtpPort??""),onChange:a=>ac("communication","smtpPort",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Encryption Method"}),(0,b.jsx)(z.Input,{value:String(W.communication.smtpEncryption??""),onChange:a=>ac("communication","smtpEncryption",a.target.value),placeholder:"TLS / SSL",className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Sender Email Address"}),(0,b.jsx)(z.Input,{value:String(W.communication.emailSender??""),onChange:a=>ac("communication","emailSender",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"SMTP Username"}),(0,b.jsx)(z.Input,{value:String(W.communication.smtpUser??""),onChange:a=>ac("communication","smtpUser",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"SMTP Password"}),(0,b.jsx)(z.Input,{value:String(W.communication.smtpPassword??""),type:"password",onChange:a=>ac("communication","smtpPassword",a.target.value),className:"mt-1.5"})]})]}),(0,b.jsxs)("div",{className:`border p-4 rounded-xl flex items-center justify-between ${B?"bg-slate-50 border-slate-200":"bg-card/25 border-border"}`,children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-bold",children:"Validate SMTP Credentials"}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:"Send a handshake request to verify server parameters."})]}),(0,b.jsx)(y.Button,{onClick:aa,disabled:D,variant:"outline",size:"sm",className:"h-8 text-xs font-semibold px-4",children:D?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Loader2,{className:"w-3 h-3 animate-spin mr-1.5"})," Testing..."]}):"Test Mailer"})]}),F&&(0,b.jsx)("div",{className:`p-4 rounded-xl border text-xs ${F.success?"bg-emerald-500/10 border-emerald-500/20 text-emerald-400":"bg-destructive/10 border-destructive/20 text-destructive-foreground"}`,children:F.success?"SMTP transport verified successfully!":`Connection failure: ${F.error}`})]}),7===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Storage Provider"}),(0,b.jsx)(z.Input,{value:String(W.storage.provider??""),onChange:a=>ac("storage","provider",a.target.value),placeholder:"local / s3",className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"S3 Service Endpoint"}),(0,b.jsx)(z.Input,{value:String(W.storage.s3Endpoint??""),onChange:a=>ac("storage","s3Endpoint",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"S3 Storage Bucket"}),(0,b.jsx)(z.Input,{value:String(W.storage.s3Bucket??""),onChange:a=>ac("storage","s3Bucket",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"S3 Access Key ID"}),(0,b.jsx)(z.Input,{value:String(W.storage.s3AccessKey??""),onChange:a=>ac("storage","s3AccessKey",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{className:"md:col-span-2",children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"S3 Secret Access Key"}),(0,b.jsx)(z.Input,{value:String(W.storage.s3SecretKey??""),type:"password",onChange:a=>ac("storage","s3SecretKey",a.target.value),className:"mt-1.5"})]})]}),(0,b.jsxs)("div",{className:`border p-4 rounded-xl flex items-center justify-between ${B?"bg-slate-50 border-slate-200":"bg-card/25 border-border"}`,children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-bold",children:"Validate Storage Configuration"}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:"Perform write buffer validation on target storage."})]}),(0,b.jsx)(y.Button,{onClick:ab,disabled:D,variant:"outline",size:"sm",className:"h-8 text-xs font-semibold px-4",children:D?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Loader2,{className:"w-3 h-3 animate-spin mr-1.5"})," Testing..."]}):"Verify Storage"})]}),F&&(0,b.jsx)("div",{className:`p-4 rounded-xl border text-xs ${F.success?"bg-emerald-500/10 border-emerald-500/20 text-emerald-400":"bg-destructive/10 border-destructive/20 text-destructive-foreground"}`,children:F.success?"Storage driver verified successfully!":`Validation failure: ${F.error}`})]}),8===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Establish the initial system super administrator account credentials. This operator will hold complete permissions across lead management and builder listings."}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Full Operator Name"}),(0,b.jsx)(z.Input,{value:W.admin.fullName,onChange:a=>ac("admin","fullName",a.target.value),placeholder:"e.g. Vikram Sharma",className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Login Email Address"}),(0,b.jsx)(z.Input,{value:W.admin.email,type:"email",onChange:a=>ac("admin","email",a.target.value),placeholder:"admin@propvault.luxury",className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Security Password"}),(0,b.jsx)(z.Input,{value:W.admin.password,type:"password",onChange:a=>ac("admin","password",a.target.value),placeholder:"At least 8 characters",className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Contact Phone"}),(0,b.jsx)(z.Input,{value:W.admin.phone,onChange:a=>ac("admin","phone",a.target.value),placeholder:"+91 99999 88888",className:"mt-1.5"})]})]})]}),9===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"flex h-11 w-11 items-center justify-center rounded-xl bg-emerald-500/10 text-emerald-400 shrink-0",children:(0,b.jsx)(e.CheckCircle2,{className:"h-6 w-6"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"font-bold text-base",children:"Installation Configurations Staged"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Prerequisites, database schemas, and administrator info are ready to deploy."})]})]}),(0,b.jsxs)("div",{className:`p-4 rounded-xl border flex items-center justify-between ${B?"bg-slate-50 border-slate-200":"bg-card/25 border-border"}`,children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(A.Label,{htmlFor:"seed-demo-toggle",className:"text-xs font-bold cursor-pointer",children:"Seed Premium Real Estate Landing Content"}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground",children:"Generates a complete luxury real estate landing website (villas, projects, timeline, map)."})]}),(0,b.jsx)(S.Switch,{checked:W.seedDemoData,onCheckedChange:a=>X(b=>({...b,seedDemoData:a})),id:"seed-demo-toggle"})]})]}),(0,b.jsxs)("div",{className:`mt-8 pt-6 border-t flex justify-between items-center ${B?"border-slate-200":"border-border"}`,children:[(0,b.jsxs)(y.Button,{variant:"ghost",onClick:()=>{r(a=>Math.max(0,a-1)),G(null)},disabled:0===a||Y,className:"h-9 text-xs font-semibold hover:bg-secondary/40 text-muted-foreground hover:text-foreground",children:[(0,b.jsx)(f.ChevronLeft,{className:"w-4 h-4 mr-1"})," Back"]}),a===V.length-1?(0,b.jsx)(y.Button,{onClick:()=>{W.admin.email&&W.admin.password&&!(W.admin.password.length<8)?Z(async()=>{try{let a=await s(W);a.success?(q.toast.success("PropVault Enterprise installed successfully!"),window.localStorage.removeItem(U),window.localStorage.removeItem(U+".db"),window.location.href="/admin"):q.toast.error(a.error||"Setup failed.")}catch(a){q.toast.error(a.message||"An unexpected error occurred.")}}):q.toast.error("An admin email and password of at least 8 characters are required.")},disabled:Y,className:"h-10 text-xs font-bold px-6 bg-gradient-to-r from-primary to-accent text-primary-foreground hover:opacity-90 transition-opacity rounded-xl",children:Y?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Loader2,{className:"w-4 h-4 animate-spin mr-1.5"})," Deploying System..."]}):"Complete Installation"}):(0,b.jsxs)(y.Button,{onClick:()=>{r(a=>Math.min(V.length-1,a+1)),G(null)},disabled:Y||0===a&&!N,className:"h-10 text-xs font-bold px-6 rounded-xl hover:opacity-90",children:["Next Step ",(0,b.jsx)(g.ChevronRight,{className:"w-4 h-4 ml-1"})]})]})]})]})})]})}],880160)}];
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=src_components_setup_setup-wizard_tsx_17wfyof._.js.map
|