feat(fx): add dynamic 60fps rising gold & magenta shimmer sparkle particles

This commit is contained in:
2026-08-29 17:40:27 -07:00
parent dad517916b
commit 054631ebe3
60 changed files with 231 additions and 63 deletions
+1 -1
View File
@@ -1 +1 @@
pmW80qrNuDMeAgKUBQxLF
GHSMkaMYaIy6goVpffMHb
+9 -9
View File
@@ -2,26 +2,26 @@
"pages": {
"/_not-found/page": [
"static/chunks/webpack-9edee2920554d0a5.js",
"static/chunks/4bd1b696-0a8f7ce755cd1331.js",
"static/chunks/517-a41e1b991cb86671.js",
"static/chunks/4bd1b696-085296ec7bcc1aa4.js",
"static/chunks/517-6e6bb9f97b5c572b.js",
"static/chunks/main-app-9f3ab9702421872a.js",
"static/chunks/app/_not-found/page-7b9967b815b28552.js"
"static/chunks/app/_not-found/page-d3f3189736ed81f1.js"
],
"/layout": [
"static/chunks/webpack-9edee2920554d0a5.js",
"static/chunks/4bd1b696-0a8f7ce755cd1331.js",
"static/chunks/517-a41e1b991cb86671.js",
"static/chunks/4bd1b696-085296ec7bcc1aa4.js",
"static/chunks/517-6e6bb9f97b5c572b.js",
"static/chunks/main-app-9f3ab9702421872a.js",
"static/css/58894a2a30cdead8.css",
"static/chunks/app/layout-79d6e10859939a7b.js"
],
"/page": [
"static/chunks/webpack-9edee2920554d0a5.js",
"static/chunks/4bd1b696-0a8f7ce755cd1331.js",
"static/chunks/517-a41e1b991cb86671.js",
"static/chunks/4bd1b696-085296ec7bcc1aa4.js",
"static/chunks/517-6e6bb9f97b5c572b.js",
"static/chunks/main-app-9f3ab9702421872a.js",
"static/chunks/875-029701ae85a54062.js",
"static/chunks/app/page-665c72d883c01b75.js"
"static/chunks/875-da229847f12f7628.js",
"static/chunks/app/page-935557b2c1adf615.js"
]
}
}
+1 -1
View File
@@ -1 +1 @@
{"/_not-found/page":"/_not-found","/favicon.ico/route":"/favicon.ico","/icon.png/route":"/icon.png","/apple-icon.png/route":"/apple-icon.png","/opengraph-image.png/route":"/opengraph-image.png","/twitter-image.png/route":"/twitter-image.png","/page":"/"}
{"/_not-found/page":"/_not-found","/favicon.ico/route":"/favicon.ico","/apple-icon.png/route":"/apple-icon.png","/opengraph-image.png/route":"/opengraph-image.png","/icon.png/route":"/icon.png","/twitter-image.png/route":"/twitter-image.png","/page":"/"}
+4 -4
View File
@@ -5,13 +5,13 @@
"devFiles": [],
"ampDevFiles": [],
"lowPriorityFiles": [
"static/pmW80qrNuDMeAgKUBQxLF/_buildManifest.js",
"static/pmW80qrNuDMeAgKUBQxLF/_ssgManifest.js"
"static/GHSMkaMYaIy6goVpffMHb/_buildManifest.js",
"static/GHSMkaMYaIy6goVpffMHb/_ssgManifest.js"
],
"rootMainFiles": [
"static/chunks/webpack-9edee2920554d0a5.js",
"static/chunks/4bd1b696-0a8f7ce755cd1331.js",
"static/chunks/517-a41e1b991cb86671.js",
"static/chunks/4bd1b696-085296ec7bcc1aa4.js",
"static/chunks/517-6e6bb9f97b5c572b.js",
"static/chunks/main-app-9f3ab9702421872a.js"
],
"rootMainFilesTree": {},
+1 -1
View File
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
{"version":4,"routes":{"/opengraph-image.png":{"initialHeaders":{"cache-control":"public, immutable, no-transform, max-age=31536000","content-type":"image/png","x-next-cache-tags":"_N_T_/layout,_N_T_/opengraph-image.png/layout,_N_T_/opengraph-image.png/route,_N_T_/opengraph-image.png"},"experimentalBypassFor":[{"type":"header","key":"Next-Action"},{"type":"header","key":"content-type","value":"multipart/form-data;.*"}],"initialRevalidateSeconds":false,"srcRoute":"/opengraph-image.png","dataRoute":null,"allowHeader":["host","x-matched-path","x-prerender-revalidate","x-prerender-revalidate-if-generated","x-next-revalidated-tags","x-next-revalidate-tag-token"]},"/icon.png":{"initialHeaders":{"cache-control":"public, immutable, no-transform, max-age=31536000","content-type":"image/png","x-next-cache-tags":"_N_T_/layout,_N_T_/icon.png/layout,_N_T_/icon.png/route,_N_T_/icon.png"},"experimentalBypassFor":[{"type":"header","key":"Next-Action"},{"type":"header","key":"content-type","value":"multipart/form-data;.*"}],"initialRevalidateSeconds":false,"srcRoute":"/icon.png","dataRoute":null,"allowHeader":["host","x-matched-path","x-prerender-revalidate","x-prerender-revalidate-if-generated","x-next-revalidated-tags","x-next-revalidate-tag-token"]},"/apple-icon.png":{"initialHeaders":{"cache-control":"public, immutable, no-transform, max-age=31536000","content-type":"image/png","x-next-cache-tags":"_N_T_/layout,_N_T_/apple-icon.png/layout,_N_T_/apple-icon.png/route,_N_T_/apple-icon.png"},"experimentalBypassFor":[{"type":"header","key":"Next-Action"},{"type":"header","key":"content-type","value":"multipart/form-data;.*"}],"initialRevalidateSeconds":false,"srcRoute":"/apple-icon.png","dataRoute":null,"allowHeader":["host","x-matched-path","x-prerender-revalidate","x-prerender-revalidate-if-generated","x-next-revalidated-tags","x-next-revalidate-tag-token"]},"/twitter-image.png":{"initialHeaders":{"cache-control":"public, immutable, no-transform, max-age=31536000","content-type":"image/png","x-next-cache-tags":"_N_T_/layout,_N_T_/twitter-image.png/layout,_N_T_/twitter-image.png/route,_N_T_/twitter-image.png"},"experimentalBypassFor":[{"type":"header","key":"Next-Action"},{"type":"header","key":"content-type","value":"multipart/form-data;.*"}],"initialRevalidateSeconds":false,"srcRoute":"/twitter-image.png","dataRoute":null,"allowHeader":["host","x-matched-path","x-prerender-revalidate","x-prerender-revalidate-if-generated","x-next-revalidated-tags","x-next-revalidate-tag-token"]},"/":{"experimentalBypassFor":[{"type":"header","key":"Next-Action"},{"type":"header","key":"content-type","value":"multipart/form-data;.*"}],"initialRevalidateSeconds":false,"srcRoute":"/","dataRoute":"/index.rsc","allowHeader":["host","x-matched-path","x-prerender-revalidate","x-prerender-revalidate-if-generated","x-next-revalidated-tags","x-next-revalidate-tag-token"]},"/favicon.ico":{"initialHeaders":{"cache-control":"public, max-age=0, must-revalidate","content-type":"image/x-icon","x-next-cache-tags":"_N_T_/layout,_N_T_/favicon.ico/layout,_N_T_/favicon.ico/route,_N_T_/favicon.ico"},"experimentalBypassFor":[{"type":"header","key":"Next-Action"},{"type":"header","key":"content-type","value":"multipart/form-data;.*"}],"initialRevalidateSeconds":false,"srcRoute":"/favicon.ico","dataRoute":null,"allowHeader":["host","x-matched-path","x-prerender-revalidate","x-prerender-revalidate-if-generated","x-next-revalidated-tags","x-next-revalidate-tag-token"]}},"dynamicRoutes":{},"notFoundRoutes":[],"preview":{"previewModeId":"4652bd2f10e2b49eba8c736505b70b20","previewModeSigningKey":"412f888038e8691f2c33dba7ad43c64922733c887dbb3465e95d0e2fe23c8f1a","previewModeEncryptionKey":"1346cb55c6960e3d402b6a6e5fc0537f4d2429150d75b17cc49555961e5bf54b"}}
{"version":4,"routes":{"/favicon.ico":{"initialHeaders":{"cache-control":"public, max-age=0, must-revalidate","content-type":"image/x-icon","x-next-cache-tags":"_N_T_/layout,_N_T_/favicon.ico/layout,_N_T_/favicon.ico/route,_N_T_/favicon.ico"},"experimentalBypassFor":[{"type":"header","key":"Next-Action"},{"type":"header","key":"content-type","value":"multipart/form-data;.*"}],"initialRevalidateSeconds":false,"srcRoute":"/favicon.ico","dataRoute":null,"allowHeader":["host","x-matched-path","x-prerender-revalidate","x-prerender-revalidate-if-generated","x-next-revalidated-tags","x-next-revalidate-tag-token"]},"/apple-icon.png":{"initialHeaders":{"cache-control":"public, immutable, no-transform, max-age=31536000","content-type":"image/png","x-next-cache-tags":"_N_T_/layout,_N_T_/apple-icon.png/layout,_N_T_/apple-icon.png/route,_N_T_/apple-icon.png"},"experimentalBypassFor":[{"type":"header","key":"Next-Action"},{"type":"header","key":"content-type","value":"multipart/form-data;.*"}],"initialRevalidateSeconds":false,"srcRoute":"/apple-icon.png","dataRoute":null,"allowHeader":["host","x-matched-path","x-prerender-revalidate","x-prerender-revalidate-if-generated","x-next-revalidated-tags","x-next-revalidate-tag-token"]},"/opengraph-image.png":{"initialHeaders":{"cache-control":"public, immutable, no-transform, max-age=31536000","content-type":"image/png","x-next-cache-tags":"_N_T_/layout,_N_T_/opengraph-image.png/layout,_N_T_/opengraph-image.png/route,_N_T_/opengraph-image.png"},"experimentalBypassFor":[{"type":"header","key":"Next-Action"},{"type":"header","key":"content-type","value":"multipart/form-data;.*"}],"initialRevalidateSeconds":false,"srcRoute":"/opengraph-image.png","dataRoute":null,"allowHeader":["host","x-matched-path","x-prerender-revalidate","x-prerender-revalidate-if-generated","x-next-revalidated-tags","x-next-revalidate-tag-token"]},"/icon.png":{"initialHeaders":{"cache-control":"public, immutable, no-transform, max-age=31536000","content-type":"image/png","x-next-cache-tags":"_N_T_/layout,_N_T_/icon.png/layout,_N_T_/icon.png/route,_N_T_/icon.png"},"experimentalBypassFor":[{"type":"header","key":"Next-Action"},{"type":"header","key":"content-type","value":"multipart/form-data;.*"}],"initialRevalidateSeconds":false,"srcRoute":"/icon.png","dataRoute":null,"allowHeader":["host","x-matched-path","x-prerender-revalidate","x-prerender-revalidate-if-generated","x-next-revalidated-tags","x-next-revalidate-tag-token"]},"/twitter-image.png":{"initialHeaders":{"cache-control":"public, immutable, no-transform, max-age=31536000","content-type":"image/png","x-next-cache-tags":"_N_T_/layout,_N_T_/twitter-image.png/layout,_N_T_/twitter-image.png/route,_N_T_/twitter-image.png"},"experimentalBypassFor":[{"type":"header","key":"Next-Action"},{"type":"header","key":"content-type","value":"multipart/form-data;.*"}],"initialRevalidateSeconds":false,"srcRoute":"/twitter-image.png","dataRoute":null,"allowHeader":["host","x-matched-path","x-prerender-revalidate","x-prerender-revalidate-if-generated","x-next-revalidated-tags","x-next-revalidate-tag-token"]},"/":{"experimentalBypassFor":[{"type":"header","key":"Next-Action"},{"type":"header","key":"content-type","value":"multipart/form-data;.*"}],"initialRevalidateSeconds":false,"srcRoute":"/","dataRoute":"/index.rsc","allowHeader":["host","x-matched-path","x-prerender-revalidate","x-prerender-revalidate-if-generated","x-next-revalidated-tags","x-next-revalidate-tag-token"]}},"dynamicRoutes":{},"notFoundRoutes":[],"preview":{"previewModeId":"58ca62f56c4e517cc9817e0f61aca328","previewModeSigningKey":"95524a6768d51ab3d29aae846bfffc791d79e18914987c020224f087f89cd816","previewModeEncryptionKey":"66a11bd613ece67bf07dabedd2f75068b285e1863cb00c947b59be2723dd2a04"}}
+1 -1
View File
@@ -1,9 +1,9 @@
{
"/_not-found/page": "app/_not-found/page.js",
"/favicon.ico/route": "app/favicon.ico/route.js",
"/icon.png/route": "app/icon.png/route.js",
"/apple-icon.png/route": "app/apple-icon.png/route.js",
"/opengraph-image.png/route": "app/opengraph-image.png/route.js",
"/icon.png/route": "app/icon.png/route.js",
"/twitter-image.png/route": "app/twitter-image.png/route.js",
"/page": "app/page.js"
}
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -6,7 +6,7 @@
8:I[6213,[],"ViewportBoundary"]
a:I[4835,[],""]
:HL["/_next/static/css/58894a2a30cdead8.css","style"]
0:{"P":null,"b":"pmW80qrNuDMeAgKUBQxLF","p":"","c":["","_not-found"],"i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/58894a2a30cdead8.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":[["$","link",null,{"rel":"icon","href":"/favicon.ico","sizes":"any"}],["$","link",null,{"rel":"apple-touch-icon","href":"/apple-icon.png"}]]}],["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":["/_not-found",["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children","/_not-found","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:1:props:children:props:notFound:1:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:1:props:children:1:props:children:1:props:children:props:notFound:1:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:1:props:children:props:notFound:1:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:1:props:children:1:props:children:1:props:children:props:notFound:1:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L4",null,{"children":"$L5"}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$1","toWSYS6Fqzdxgdr_hYH1a",{"children":[["$","$L6",null,{"children":"$L7"}],["$","$L8",null,{"children":"$L9"}],null]}]]}],false]],"m":"$undefined","G":["$a","$undefined"],"s":false,"S":true}
0:{"P":null,"b":"GHSMkaMYaIy6goVpffMHb","p":"","c":["","_not-found"],"i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/58894a2a30cdead8.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":[["$","link",null,{"rel":"icon","href":"/favicon.ico","sizes":"any"}],["$","link",null,{"rel":"apple-touch-icon","href":"/apple-icon.png"}]]}],["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":["/_not-found",["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children","/_not-found","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:1:props:children:props:notFound:1:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:1:props:children:1:props:children:1:props:children:props:notFound:1:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:1:props:children:props:notFound:1:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:1:props:children:1:props:children:1:props:children:props:notFound:1:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L4",null,{"children":"$L5"}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$1","imv0MnFjqGzMGFbPb7i2t",{"children":[["$","$L6",null,{"children":"$L7"}],["$","$L8",null,{"children":"$L9"}],null]}]]}],false]],"m":"$undefined","G":["$a","$undefined"],"s":false,"S":true}
9:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
7:[["$","meta","0",{"charSet":"utf-8"}],["$","title","1",{"children":"Wise Hearted Event Decor | Luxury Balloon Styling & Event Design"}],["$","meta","2",{"name":"description","content":"Creating beautiful spaces and memorable events through God-given creativity. Luxury balloon styling, arched backdrops, and custom decor with faith, beauty, purpose, and love."}],["$","meta","3",{"name":"author","content":"Wise Hearted Event Decor"}],["$","meta","4",{"name":"keywords","content":"Event Decor, Luxury Balloon Garlands, Backdrop Rentals, Wedding Decor, Birthday Balloon Stylist, Wise Hearted Decor, Jackie Event Decor"}],["$","meta","5",{"property":"og:title","content":"Wise Hearted Event Decor | Called to Create. Enabled by God."}],["$","meta","6",{"property":"og:description","content":"Transforming lifes most cherished celebrations with luxury balloon styling, custom arched backdrops, and bespoke event decor."}],["$","meta","7",{"property":"og:url","content":"https://wise-hearted-decor.pages.dev"}],["$","meta","8",{"property":"og:site_name","content":"Wise Hearted Event Decor"}],["$","meta","9",{"property":"og:locale","content":"en_US"}],["$","meta","10",{"property":"og:image","content":"https://wise-hearted-decor.pages.dev/opengraph-image.png"}],["$","meta","11",{"property":"og:image:width","content":"1200"}],["$","meta","12",{"property":"og:image:height","content":"630"}],["$","meta","13",{"property":"og:image:alt","content":"Wise Hearted Event Decor Logo & Brand Banner"}],["$","meta","14",{"property":"og:type","content":"website"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"Wise Hearted Event Decor | Luxury Balloon Styling"}],["$","meta","17",{"name":"twitter:description","content":"Transforming lifes most cherished celebrations with luxury balloon styling, custom arched backdrops, and bespoke event decor."}],["$","meta","18",{"name":"twitter:image","content":"https://wise-hearted-decor.pages.dev/twitter-image.png"}],["$","link","19",{"rel":"icon","href":"/favicon.ico"}],["$","link","20",{"rel":"icon","href":"/icon.png","type":"image/png","sizes":"512x512"}],["$","link","21",{"rel":"apple-touch-icon","href":"/apple-icon.png","sizes":"512x512","type":"image/png"}]]
5:null
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-9edee2920554d0a5.js","static/chunks/4bd1b696-0a8f7ce755cd1331.js","static/chunks/517-a41e1b991cb86671.js","static/chunks/main-app-9f3ab9702421872a.js"],rootMainFilesTree:{},pages:{"/_app":["static/chunks/webpack-9edee2920554d0a5.js","static/chunks/framework-e61e26ae43d6f563.js","static/chunks/main-2212d11be13d7f9f.js","static/chunks/pages/_app-d23763e3e6c904ff.js"],"/_error":["static/chunks/webpack-9edee2920554d0a5.js","static/chunks/framework-e61e26ae43d6f563.js","static/chunks/main-2212d11be13d7f9f.js","static/chunks/pages/_error-9b7125ad1a1e68fa.js"]},ampFirstPages:[]},self.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-9edee2920554d0a5.js","static/chunks/4bd1b696-085296ec7bcc1aa4.js","static/chunks/517-6e6bb9f97b5c572b.js","static/chunks/main-app-9f3ab9702421872a.js"],rootMainFilesTree:{},pages:{"/_app":["static/chunks/webpack-9edee2920554d0a5.js","static/chunks/framework-e61e26ae43d6f563.js","static/chunks/main-2212d11be13d7f9f.js","static/chunks/pages/_app-d23763e3e6c904ff.js"],"/_error":["static/chunks/webpack-9edee2920554d0a5.js","static/chunks/framework-e61e26ae43d6f563.js","static/chunks/main-2212d11be13d7f9f.js","static/chunks/pages/_error-9b7125ad1a1e68fa.js"]},ampFirstPages:[]},self.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
+1 -1
View File
@@ -1 +1 @@
{"/_app":"pages/_app.js","/_error":"pages/_error.js","/_document":"pages/_document.js","/404":"pages/404.html"}
{"/_error":"pages/_error.js","/_app":"pages/_app.js","/_document":"pages/_document.js","/404":"pages/404.html"}
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-9edee2920554d0a5.js" defer=""></script><script src="/_next/static/chunks/framework-e61e26ae43d6f563.js" defer=""></script><script src="/_next/static/chunks/main-2212d11be13d7f9f.js" defer=""></script><script src="/_next/static/chunks/pages/_app-d23763e3e6c904ff.js" defer=""></script><script src="/_next/static/chunks/pages/_error-9b7125ad1a1e68fa.js" defer=""></script><script src="/_next/static/pmW80qrNuDMeAgKUBQxLF/_buildManifest.js" defer=""></script><script src="/_next/static/pmW80qrNuDMeAgKUBQxLF/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"pmW80qrNuDMeAgKUBQxLF","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-9edee2920554d0a5.js" defer=""></script><script src="/_next/static/chunks/framework-e61e26ae43d6f563.js" defer=""></script><script src="/_next/static/chunks/main-2212d11be13d7f9f.js" defer=""></script><script src="/_next/static/chunks/pages/_app-d23763e3e6c904ff.js" defer=""></script><script src="/_next/static/chunks/pages/_error-9b7125ad1a1e68fa.js" defer=""></script><script src="/_next/static/GHSMkaMYaIy6goVpffMHb/_buildManifest.js" defer=""></script><script src="/_next/static/GHSMkaMYaIy6goVpffMHb/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"GHSMkaMYaIy6goVpffMHb","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -2
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+14 -13
View File
File diff suppressed because one or more lines are too long
+3 -1
View File
@@ -7,10 +7,12 @@ import ServicesSection from '@/components/ServicesSection';
import AboutSection from '@/components/AboutSection';
import BookingForm from '@/components/BookingForm';
import Footer from '@/components/Footer';
import GoldSparkles from '@/components/GoldSparkles';
export default function Home() {
return (
<main>
<main style={{ position: 'relative' }}>
<GoldSparkles />
<Header />
<Hero />
<PillarsSection />
+164
View File
@@ -0,0 +1,164 @@
'use client';
import React, { useEffect, useRef } from 'react';
interface Particle {
x: number;
y: number;
size: number;
speedY: number;
speedX: number;
opacity: number;
fadeSpeed: number;
color: string;
isStar: boolean;
rotation: number;
rotationSpeed: number;
swayOffset: number;
swaySpeed: number;
}
export default function GoldSparkles() {
const canvasRef = useRef<HTMLCanvasElement | null>(null);
useEffect(() => {
const canvas = canvasRef.current;
if (!canvas) return;
const ctx = canvas.getContext('2d');
if (!ctx) return;
let animationFrameId: number;
let width = (canvas.width = window.innerWidth);
let height = (canvas.height = window.innerHeight);
const handleResize = () => {
if (!canvas) return;
width = canvas.width = window.innerWidth;
height = canvas.height = window.innerHeight;
};
window.addEventListener('resize', handleResize);
const goldColors = [
'#FDF0CD', // pale champagne sparkle
'#F7E7B4', // light gold
'#D4AF37', // metallic gold
'#AA771C', // deep amber gold
'#FF69B4', // rare magenta pink shimmer
];
const particleCount = Math.min(65, Math.floor(width / 22));
const particles: Particle[] = [];
for (let i = 0; i < particleCount; i++) {
particles.push({
x: Math.random() * width,
y: Math.random() * height,
size: Math.random() * 2.5 + 0.8,
speedY: Math.random() * 0.45 + 0.15,
speedX: (Math.random() - 0.5) * 0.2,
opacity: Math.random() * 0.8 + 0.2,
fadeSpeed: (Math.random() * 0.01 + 0.005) * (Math.random() > 0.5 ? 1 : -1),
color: goldColors[Math.floor(Math.random() * goldColors.length)],
isStar: Math.random() > 0.65,
rotation: Math.random() * Math.PI * 2,
rotationSpeed: (Math.random() - 0.5) * 0.02,
swayOffset: Math.random() * Math.PI * 2,
swaySpeed: Math.random() * 0.015 + 0.008,
});
}
const drawStar = (cx: number, cy: number, spikes: number, outerRadius: number, innerRadius: number, rot: number) => {
let rotStep = Math.PI / spikes;
ctx.beginPath();
ctx.moveTo(cx + Math.cos(rot) * outerRadius, cy + Math.sin(rot) * outerRadius);
for (let i = 0; i < spikes; i++) {
let x = cx + Math.cos(rot) * outerRadius;
let y = cy + Math.sin(rot) * outerRadius;
ctx.lineTo(x, y);
rot += rotStep;
x = cx + Math.cos(rot) * innerRadius;
y = cy + Math.sin(rot) * innerRadius;
ctx.lineTo(x, y);
rot += rotStep;
}
ctx.lineTo(cx + Math.cos(rot) * outerRadius, cy + Math.sin(rot) * outerRadius);
ctx.closePath();
};
let tick = 0;
const render = () => {
tick++;
ctx.clearRect(0, 0, width, height);
for (let i = 0; i < particles.length; i++) {
const p = particles[i];
// Move upward with subtle horizontal swaying
p.y -= p.speedY;
p.x += Math.sin(tick * p.swaySpeed + p.swayOffset) * 0.4 + p.speedX;
p.rotation += p.rotationSpeed;
// Twinkle / pulse opacity
p.opacity += p.fadeSpeed;
if (p.opacity >= 0.95 || p.opacity <= 0.15) {
p.fadeSpeed = -p.fadeSpeed;
}
// Reset when moving off top or sides
if (p.y < -20) {
p.y = height + 10;
p.x = Math.random() * width;
}
if (p.x < -20) p.x = width + 10;
if (p.x > width + 20) p.x = -10;
ctx.save();
ctx.globalAlpha = Math.max(0.1, Math.min(1, p.opacity));
ctx.fillStyle = p.color;
ctx.shadowColor = p.color;
ctx.shadowBlur = p.isStar ? 8 : 4;
if (p.isStar) {
drawStar(p.x, p.y, 4, p.size * 2.2, p.size * 0.7, p.rotation);
ctx.fill();
} else {
ctx.beginPath();
ctx.arc(p.x, p.y, p.size, 0, Math.PI * 2);
ctx.fill();
}
ctx.restore();
}
animationFrameId = requestAnimationFrame(render);
};
render();
return () => {
window.removeEventListener('resize', handleResize);
cancelAnimationFrame(animationFrameId);
};
}, []);
return (
<canvas
ref={canvasRef}
style={{
position: 'fixed',
top: 0,
left: 0,
width: '100vw',
height: '100vh',
pointerEvents: 'none',
zIndex: 1,
opacity: 0.85,
}}
aria-hidden="true"
/>
);
}