[{"data":1,"prerenderedAt":430},["ShallowReactive",2],{"navigation":3,"\u002Fdocumentation\u002Ffaq":90,"\u002Fdocumentation\u002Ffaq-surround":425},[4,73],{"title":5,"path":6,"stem":7,"children":8,"icon":72},"Documentation","\u002Fdocumentation","1.documentation\u002F01.index",[9,12,17,22,27,32,37,42,47,52,57,62,67],{"title":10,"path":6,"stem":7,"icon":11},"Welcome","i-lucide-info",{"title":13,"path":14,"stem":15,"icon":16},"Requirements","\u002Fdocumentation\u002Frequirements","1.documentation\u002F02.requirements","i-lucide-alert-triangle",{"title":18,"path":19,"stem":20,"icon":21},"Getting Started","\u002Fdocumentation\u002Fgetting-started","1.documentation\u002F03.getting-started","i-lucide-package",{"title":23,"path":24,"stem":25,"icon":26},"Folder Structure","\u002Fdocumentation\u002Ffolder-structure","1.documentation\u002F04.folder-structure","i-lucide-folder-tree",{"title":28,"path":29,"stem":30,"icon":31},"Customization","\u002Fdocumentation\u002Fcustomization","1.documentation\u002F05.customization","i-lucide-palette",{"title":33,"path":34,"stem":35,"icon":36},"Deployment","\u002Fdocumentation\u002Fdeployment","1.documentation\u002F06.deployment","i-lucide-cloud-upload",{"title":38,"path":39,"stem":40,"icon":41},"API Usage","\u002Fdocumentation\u002Fapi-usage","1.documentation\u002F07.api-usage","i-lucide-plug",{"title":43,"path":44,"stem":45,"icon":46},"Backend Integration","\u002Fdocumentation\u002Fbackend-integration","1.documentation\u002F08.backend-integration","i-lucide-server",{"title":48,"path":49,"stem":50,"icon":51},"Install PWA","\u002Fdocumentation\u002Finstall-pwa","1.documentation\u002F09.install-pwa","i-lucide-smartphone",{"title":53,"path":54,"stem":55,"icon":56},"Configuration","\u002Fdocumentation\u002Fconfiguration","1.documentation\u002F10.configuration","i-lucide-settings",{"title":58,"path":59,"stem":60,"icon":61},"Screens Overview","\u002Fdocumentation\u002Fscreens-overview","1.documentation\u002F11.screens-overview","i-lucide-layout-dashboard",{"title":63,"path":64,"stem":65,"icon":66},"FAQ & Troubleshooting","\u002Fdocumentation\u002Ffaq","1.documentation\u002F12.faq","i-lucide-circle-help",{"title":68,"path":69,"stem":70,"icon":71},"Authentication","\u002Fdocumentation\u002Fauthentication","1.documentation\u002F13.authentication","i-lucide-lock",false,{"title":74,"path":75,"stem":76,"children":77,"icon":72},"Support","\u002Fsupport","2.support\u002F1.index",[78,80,85],{"title":74,"path":75,"stem":76,"icon":79},"i-lucide-life-buoy",{"title":81,"path":82,"stem":83,"icon":84},"Changelog","\u002Fsupport\u002Fchangelog","2.support\u002F2.changelog","i-lucide-scroll-text",{"title":86,"path":87,"stem":88,"icon":89},"Source & Credits","\u002Fsupport\u002Fsource-and-credits","2.support\u002F3.source-&-credits","i-lucide-award",{"id":91,"title":63,"body":92,"description":418,"extension":419,"links":420,"meta":421,"navigation":422,"path":64,"seo":423,"stem":65,"__hash__":424},"docs\u002F1.documentation\u002F12.faq.md",{"type":93,"value":94,"toc":411},"minimark",[95,100,135,139,268,272,330,333,377,381,384,407],[96,97,99],"h2",{"id":98},"general","General",[101,102,103,116,122],"accordion",{},[104,105,107],"accordion-item",{"label":106},"Do I need to know Vue or Nuxt to use this template?",[108,109,110,111,115],"p",{},"Basic knowledge of Vue 3 and the Composition API is recommended. You don't need to understand Nuxt internals — most customization involves editing ",[112,113,114],"code",{},".vue"," files and JSON data files.",[104,117,119],{"label":118},"Can I use this template for a commercial project?",[108,120,121],{},"Yes. A Regular License on ThemeForest covers one end product used by one client. For SaaS or multiple end products, an Extended License is required.",[104,123,125],{"label":124},"Does the template include a backend?",[108,126,127,128,131,132,134],{},"No — the template ships with static JSON mock files. See the ",[129,130,38],"a",{"href":39}," and ",[129,133,43],{"href":44}," sections for connecting a real backend.",[96,136,138],{"id":137},"installation","Installation",[101,140,141,209,240],{},[104,142,144,147,172,182],{"label":143},"npm install fails with peer dependency errors",[108,145,146],{},"Try running with the legacy resolver flag:",[148,149,154],"pre",{"className":150,"code":151,"language":152,"meta":153,"style":153},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm install --legacy-peer-deps\n","bash","",[112,155,156],{"__ignoreMap":153},[157,158,161,165,169],"span",{"class":159,"line":160},"line",1,[157,162,164],{"class":163},"sBMFI","npm",[157,166,168],{"class":167},"sfazB"," install",[157,170,171],{"class":167}," --legacy-peer-deps\n",[108,173,174,175,131,178,181],{},"If the issue persists, delete ",[112,176,177],{},"node_modules",[112,179,180],{},"package-lock.json"," and try again:",[148,183,185],{"className":150,"code":184,"language":152,"meta":153,"style":153},"rm -rf node_modules package-lock.json\nnpm install\n",[112,186,187,201],{"__ignoreMap":153},[157,188,189,192,195,198],{"class":159,"line":160},[157,190,191],{"class":163},"rm",[157,193,194],{"class":167}," -rf",[157,196,197],{"class":167}," node_modules",[157,199,200],{"class":167}," package-lock.json\n",[157,202,204,206],{"class":159,"line":203},2,[157,205,164],{"class":163},[157,207,208],{"class":167}," install\n",[104,210,212,215],{"label":211},"Port 3000 is already in use",[108,213,214],{},"Another process is using port 3000. Either stop that process, or start the dev server on a different port:",[148,216,218],{"className":150,"code":217,"language":152,"meta":153,"style":153},"npm run dev -- --port 3001\n",[112,219,220],{"__ignoreMap":153},[157,221,222,224,227,230,233,236],{"class":159,"line":160},[157,223,164],{"class":163},[157,225,226],{"class":167}," run",[157,228,229],{"class":167}," dev",[157,231,232],{"class":167}," --",[157,234,235],{"class":167}," --port",[157,237,239],{"class":238},"sbssI"," 3001\n",[104,241,243],{"label":242},"The page shows a blank white screen after npm run dev",[244,245,246,250,261],"ol",{},[247,248,249],"li",{},"Check the terminal for errors — most blank screen issues are caused by a missing dependency or a syntax error.",[247,251,252,253,256,257,260],{},"Make sure your Node.js version satisfies ",[112,254,255],{},"^22.12.0 || ^24.11.0 || >=26.0.0"," (Nuxt 4's requirement): ",[112,258,259],{},"node -v",".",[247,262,263,264,267],{},"Try clearing the Nuxt cache: ",[112,265,266],{},"rm -rf .nuxt"," and restart.\n:::",[96,269,271],{"id":270},"pwa","PWA",[101,273,274,289],{},[104,275,277],{"label":276},"The install prompt doesn't appear in the browser",[108,278,279,280,284,285,288],{},"PWA install prompts only appear over ",[281,282,283],"strong",{},"HTTPS",". On ",[112,286,287],{},"localhost"," it works in Chrome and Edge, but not Safari. Make sure you're not using Firefox, which doesn't support PWA installation.",[104,290,292,299,318],{"label":291},"Changes I made aren't showing after the app is installed",[108,293,294,295,298],{},"Installed PWAs cache assets via a service worker. The app uses ",[112,296,297],{},"registerType: 'prompt'"," — when a new version is deployed, a prompt will appear asking the user to update. If the prompt doesn't appear:",[244,300,301,304,315],{},[247,302,303],{},"Open the installed app and pull to refresh.",[247,305,306,307,310,311,314],{},"In Chrome DevTools → Application → Service Workers, click ",[281,308,309],{},"Update"," or ",[281,312,313],{},"Unregister",", then reload.",[247,316,317],{},"On mobile, clear the app cache in browser settings and reopen.\n:::",[104,319,321],{"label":320},"PWA icons look blurry on the home screen",[108,322,323,324,260],{},"Icons must be exact PNG files at the required sizes (192×192 and 512×512). Upscaled or incorrectly sized icons will appear blurry. Regenerate them from a high-resolution source using ",[129,325,329],{"href":326,"rel":327},"https:\u002F\u002Fwww.pwabuilder.com\u002FimageGenerator",[328],"nofollow","PWABuilder Image Generator",[96,331,33],{"id":332},"deployment",[101,334,335,348],{},[104,336,338],{"label":337},"The app works locally but shows errors after deployment",[108,339,340,341,344,345,347],{},"Check that your environment variables (",[112,342,343],{},".env",") are set on the hosting platform. Platforms like Vercel and Netlify have a dedicated UI for adding environment variables — they are not read from the ",[112,346,343],{}," file in production.",[104,349,351,366,374],{"label":350},"Refreshing the page returns a 404 on a static host (SSG)",[108,352,353,354,357,358,361,362,365],{},"Static hosts need to be configured to serve ",[112,355,356],{},"index.html"," for all routes. On Netlify, add a ",[112,359,360],{},"_redirects"," file to ",[112,363,364],{},"public\u002F",":",[148,367,372],{"className":368,"code":370,"language":371},[369],"language-text","\u002F* \u002Findex.html 200\n","text",[112,373,370],{"__ignoreMap":153},[108,375,376],{},"On Vercel this is handled automatically.",[96,378,380],{"id":379},"still-need-help","Still Need Help?",[108,382,383],{},"If your issue isn't listed here, contact support directly:",[385,386,387,399],"card-group",{},[388,389,394],"card",{"icon":390,"target":391,"title":392,"to":393},"i-lucide-mail","_blank","Email","mailto:kul.giorgi@gmail.com",[108,395,396],{},[129,397,398],{"href":393},"kul.giorgi@gmail.com",[388,400,404],{"icon":401,"target":391,"title":402,"to":403},"i-simple-icons-telegram","Telegram","https:\u002F\u002Fgeorge-fx.github.io\u002Fredirects\u002Ftelegram",[108,405,406],{},"t.me\u002FG_Kuliashvili",[408,409,410],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":153,"searchDepth":160,"depth":203,"links":412},[413,414,415,416,417],{"id":98,"depth":203,"text":99},{"id":137,"depth":203,"text":138},{"id":270,"depth":203,"text":271},{"id":332,"depth":203,"text":33},{"id":379,"depth":203,"text":380},"Answers to common questions and solutions to frequent issues.","md",null,{},{"icon":66},{"title":63,"description":418},"k3anaFSNbB6iumnPmn99gNf6l0S7BDx94R30Tr1CSZg",[426,428],{"title":58,"path":59,"stem":60,"description":427,"icon":61,"children":-1},"A complete list of all screens included in the template.",{"title":68,"path":69,"stem":70,"description":429,"icon":71,"children":-1},"How user data and auth state are managed with Pinia — and how to connect a real backend.",1784271369820]