[{"data":1,"prerenderedAt":1949},["ShallowReactive",2],{"docs-navigation:en":3,"content-page:docs:iJCZcOs1m9ju2krVs4VipabPaAwWPo_P8qofw1aavFU":595,"content-page-surround:docs:iJCZcOs1m9ju2krVs4VipabPaAwWPo_P8qofw1aavFU":1934,"i-logos:typescript-icon":1939,"i-logos:vue":1943,"i-lucide:clipboard":1946},[4,55,123,191,450,509,554,590],{"title":5,"page":6,"canonicalKey":7,"locale":8,"id":9,"draft":6,"icon":10,"sidebar":11,"children":12},"Learn",false,"1","en","content:docs:1.overview:.navigation.yml","i-lucide-book-open","section",[13,20,27,34,41,48],{"title":14,"id":15,"canonicalKey":16,"locale":8,"draft":6,"navigation":17,"icon":18,"path":19},"Better Convex Nuxt","content:docs:1.overview:1.introduction.md","1\u002F1",{"icon":18},"i-lucide-orbit","\u002Fdocs\u002Foverview\u002Fintroduction",{"title":21,"id":22,"canonicalKey":23,"locale":8,"draft":6,"navigation":24,"icon":25,"path":26},"Why Better Convex Nuxt","content:docs:1.overview:2.why-better-convex-nuxt.md","1\u002F2",{"icon":25},"i-lucide-badge-check","\u002Fdocs\u002Foverview\u002Fwhy-better-convex-nuxt",{"title":28,"id":29,"canonicalKey":30,"locale":8,"draft":6,"navigation":31,"icon":32,"path":33},"Who It Is For","content:docs:1.overview:3.who-it-is-for.md","1\u002F3",{"icon":32},"i-lucide-users","\u002Fdocs\u002Foverview\u002Fwho-it-is-for",{"title":35,"id":36,"canonicalKey":37,"locale":8,"draft":6,"navigation":38,"icon":39,"path":40},"Use Cases","content:docs:1.overview:4.use-cases.md","1\u002F4",{"icon":39},"i-lucide-layout-dashboard","\u002Fdocs\u002Foverview\u002Fuse-cases",{"title":42,"id":43,"canonicalKey":44,"locale":8,"draft":6,"navigation":45,"icon":46,"path":47},"Compare Nuxt Integrations","content:docs:1.overview:5.comparison.md","1\u002F5",{"icon":46},"i-lucide-scale","\u002Fdocs\u002Foverview\u002Fcomparison",{"title":49,"id":50,"canonicalKey":51,"locale":8,"draft":6,"navigation":52,"icon":53,"path":54},"Limitations and Trade-offs","content:docs:1.overview:6.limitations.md","1\u002F6",{"icon":53},"i-lucide-triangle-alert","\u002Fdocs\u002Foverview\u002Flimitations",{"title":56,"page":6,"canonicalKey":57,"locale":8,"id":58,"draft":6,"icon":59,"children":60},"Understand","2","content:docs:2.understand:.navigation.yml","i-lucide-brain",[61,67,74,81,88,95,102,109,116],{"title":62,"id":63,"canonicalKey":64,"locale":8,"draft":6,"navigation":65,"icon":59,"path":66},"Mental Model","content:docs:2.understand:1.mental-model.md","2\u002F1",{"icon":59},"\u002Fdocs\u002Funderstand\u002Fmental-model",{"title":68,"id":69,"canonicalKey":70,"locale":8,"draft":6,"navigation":71,"icon":72,"path":73},"Request Lifecycle","content:docs:2.understand:2.request-lifecycle.md","2\u002F2",{"icon":72},"i-lucide-route","\u002Fdocs\u002Funderstand\u002Frequest-lifecycle",{"title":75,"id":76,"canonicalKey":77,"locale":8,"draft":6,"navigation":78,"icon":79,"path":80},"SSR, Hydration, and Real-Time","content:docs:2.understand:3.ssr-hydration-realtime.md","2\u002F3",{"icon":79},"i-lucide-refresh-cw","\u002Fdocs\u002Funderstand\u002Fssr-hydration-realtime",{"title":82,"id":83,"canonicalKey":84,"locale":8,"draft":6,"navigation":85,"icon":86,"path":87},"Query Ownership and Caching","content:docs:2.understand:4.query-ownership-and-caching.md","2\u002F4",{"icon":86},"i-lucide-database","\u002Fdocs\u002Funderstand\u002Fquery-ownership-and-caching",{"title":89,"id":90,"canonicalKey":91,"locale":8,"draft":6,"navigation":92,"icon":93,"path":94},"Authentication and Identity","content:docs:2.understand:5.authentication-and-identity.md","2\u002F5",{"icon":93},"i-lucide-fingerprint","\u002Fdocs\u002Funderstand\u002Fauthentication-and-identity",{"title":96,"id":97,"canonicalKey":98,"locale":8,"draft":6,"navigation":99,"icon":100,"path":101},"Server and Client Boundaries","content:docs:2.understand:6.server-and-client-boundaries.md","2\u002F6",{"icon":100},"i-lucide-panels-top-left","\u002Fdocs\u002Funderstand\u002Fserver-and-client-boundaries",{"title":103,"id":104,"canonicalKey":105,"locale":8,"draft":6,"navigation":106,"icon":107,"path":108},"Errors and Failures","content:docs:2.understand:7.errors-and-failures.md","2\u002F7",{"icon":107},"i-lucide-circle-x","\u002Fdocs\u002Funderstand\u002Ferrors-and-failures",{"title":110,"id":111,"canonicalKey":112,"locale":8,"draft":6,"navigation":113,"icon":114,"path":115},"Design Decisions","content:docs:2.understand:8.design-decisions.md","2\u002F8",{"icon":114},"i-lucide-git-branch","\u002Fdocs\u002Funderstand\u002Fdesign-decisions",{"title":117,"id":118,"canonicalKey":119,"locale":8,"draft":6,"navigation":120,"icon":121,"path":122},"Glossary","content:docs:2.understand:9.glossary.md","2\u002F9",{"icon":121},"i-lucide-book-a","\u002Fdocs\u002Funderstand\u002Fglossary",{"title":124,"page":6,"canonicalKey":125,"locale":8,"id":126,"draft":6,"icon":127,"children":128},"Get Started","3","content:docs:3.get-started:.navigation.yml","i-lucide-rocket",[129,136,143,150,157,164,171,178,185],{"title":130,"id":131,"canonicalKey":132,"locale":8,"draft":6,"navigation":133,"icon":134,"path":135},"Choose Your Path","content:docs:3.get-started:1.choose-your-path.md","3\u002F1",{"icon":134},"i-lucide-signpost","\u002Fdocs\u002Fget-started\u002Fchoose-your-path",{"title":137,"id":138,"canonicalKey":139,"locale":8,"draft":6,"navigation":140,"icon":141,"path":142},"Installation","content:docs:3.get-started:2.installation.md","3\u002F2",{"icon":141},"i-lucide-download","\u002Fdocs\u002Fget-started\u002Finstallation",{"title":144,"id":145,"canonicalKey":146,"locale":8,"draft":6,"navigation":147,"icon":148,"path":149},"First Real-Time Page","content:docs:3.get-started:3.first-realtime-page.md","3\u002F3",{"icon":148},"i-lucide-radio","\u002Fdocs\u002Fget-started\u002Ffirst-realtime-page",{"title":151,"id":152,"canonicalKey":153,"locale":8,"draft":6,"navigation":154,"icon":155,"path":156},"Add a Mutation","content:docs:3.get-started:4.add-a-mutation.md","3\u002F4",{"icon":155},"i-lucide-square-pen","\u002Fdocs\u002Fget-started\u002Fadd-a-mutation",{"title":158,"id":159,"canonicalKey":160,"locale":8,"draft":6,"navigation":161,"icon":162,"path":163},"Add Authentication","content:docs:3.get-started:5.add-authentication.md","3\u002F5",{"icon":162},"i-lucide-log-in","\u002Fdocs\u002Fget-started\u002Fadd-authentication",{"title":165,"id":166,"canonicalKey":167,"locale":8,"draft":6,"navigation":168,"icon":169,"path":170},"Protect Data","content:docs:3.get-started:6.protect-data.md","3\u002F6",{"icon":169},"i-lucide-shield-check","\u002Fdocs\u002Fget-started\u002Fprotect-data",{"title":172,"id":173,"canonicalKey":174,"locale":8,"draft":6,"navigation":175,"icon":176,"path":177},"Project Structure","content:docs:3.get-started:7.project-structure.md","3\u002F7",{"icon":176},"i-lucide-folder-tree","\u002Fdocs\u002Fget-started\u002Fproject-structure",{"title":179,"id":180,"canonicalKey":181,"locale":8,"draft":6,"navigation":182,"icon":183,"path":184},"Next Steps","content:docs:3.get-started:8.next-steps.md","3\u002F8",{"icon":183},"i-lucide-arrow-right","\u002Fdocs\u002Fget-started\u002Fnext-steps",{"title":186,"id":187,"canonicalKey":188,"locale":8,"draft":6,"navigation":189,"icon":100,"path":190},"Plain Vue and Vite","content:docs:3.get-started:9.plain-vue.md","3\u002F9",{"icon":100},"\u002Fdocs\u002Fget-started\u002Fplain-vue",{"title":192,"page":6,"canonicalKey":193,"locale":8,"id":194,"draft":6,"icon":195,"sidebar":11,"children":196},"Build","4","content:docs:4.build:.navigation.yml","i-lucide-blocks",[197,234,265,336,368,393,432],{"title":198,"page":6,"canonicalKey":199,"locale":8,"children":200},"Queries","4\u002F1",[201,206,213,220,227],{"title":198,"id":202,"canonicalKey":203,"locale":8,"draft":6,"navigation":204,"icon":86,"path":205},"content:docs:4.build:1.queries:1.queries.md","4\u002F1\u002F1",{"icon":86},"\u002Fdocs\u002Fbuild\u002Fqueries\u002Fqueries",{"title":207,"id":208,"canonicalKey":209,"locale":8,"draft":6,"navigation":210,"icon":211,"path":212},"Reactive Arguments","content:docs:4.build:1.queries:2.reactive-arguments.md","4\u002F1\u002F2",{"icon":211},"i-lucide-sliders-horizontal","\u002Fdocs\u002Fbuild\u002Fqueries\u002Freactive-arguments",{"title":214,"id":215,"canonicalKey":216,"locale":8,"draft":6,"navigation":217,"icon":218,"path":219},"Loading and Stale Data","content:docs:4.build:1.queries:3.loading-and-stale-data.md","4\u002F1\u002F3",{"icon":218},"i-lucide-loader-circle","\u002Fdocs\u002Fbuild\u002Fqueries\u002Floading-and-stale-data",{"title":221,"id":222,"canonicalKey":223,"locale":8,"draft":6,"navigation":224,"icon":225,"path":226},"Query Execution Options","content:docs:4.build:1.queries:4.ssr-options.md","4\u002F1\u002F4",{"icon":225},"i-lucide-server-cog","\u002Fdocs\u002Fbuild\u002Fqueries\u002Fssr-options",{"title":228,"id":229,"canonicalKey":230,"locale":8,"draft":6,"navigation":231,"icon":232,"path":233},"Pagination","content:docs:4.build:1.queries:6.pagination.md","4\u002F1\u002F6",{"icon":232},"i-lucide-list-plus","\u002Fdocs\u002Fbuild\u002Fqueries\u002Fpagination",{"title":235,"page":6,"canonicalKey":236,"locale":8,"children":237},"Write Data","4\u002F2",[238,244,251,258],{"title":239,"id":240,"canonicalKey":241,"locale":8,"draft":6,"navigation":242,"icon":155,"path":243},"Mutations","content:docs:4.build:2.write-data:1.mutations.md","4\u002F2\u002F1",{"icon":155},"\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Fmutations",{"title":245,"id":246,"canonicalKey":247,"locale":8,"draft":6,"navigation":248,"icon":249,"path":250},"Actions","content:docs:4.build:2.write-data:2.actions.md","4\u002F2\u002F2",{"icon":249},"i-lucide-zap","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Factions",{"title":252,"id":253,"canonicalKey":254,"locale":8,"draft":6,"navigation":255,"icon":256,"path":257},"Optimistic Updates","content:docs:4.build:2.write-data:3.optimistic-updates.md","4\u002F2\u002F3",{"icon":256},"i-lucide-gauge","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Foptimistic-updates",{"title":259,"id":260,"canonicalKey":261,"locale":8,"draft":6,"navigation":262,"icon":263,"path":264},"Concurrent Operations","content:docs:4.build:2.write-data:4.concurrent-operations.md","4\u002F2\u002F4",{"icon":263},"i-lucide-git-fork","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Fconcurrent-operations",{"title":266,"page":6,"canonicalKey":267,"locale":8,"children":268},"Authentication","4\u002F3",[269,275,282,289,295,301,308,315,322,329],{"title":266,"id":270,"canonicalKey":271,"locale":8,"draft":6,"navigation":272,"icon":273,"path":274},"content:docs:4.build:3.authentication:1.overview.md","4\u002F3\u002F1",{"icon":273},"i-lucide-shield","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Foverview",{"title":276,"id":277,"canonicalKey":278,"locale":8,"draft":6,"navigation":279,"icon":280,"path":281},"Better Auth Setup","content:docs:4.build:3.authentication:2.better-auth-setup.md","4\u002F3\u002F2",{"icon":280},"i-lucide-settings-2","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbetter-auth-setup",{"title":283,"id":284,"canonicalKey":285,"locale":8,"draft":6,"navigation":286,"icon":287,"path":288},"Auth State and User Data","content:docs:4.build:3.authentication:3.auth-state-and-user.md","4\u002F3\u002F3",{"icon":287},"i-lucide-user-round","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fauth-state-and-user",{"title":290,"id":291,"canonicalKey":292,"locale":8,"draft":6,"navigation":293,"icon":162,"path":294},"Sign In and Sign Out","content:docs:4.build:3.authentication:4.sign-in-and-sign-out.md","4\u002F3\u002F4",{"icon":162},"\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fsign-in-and-sign-out",{"title":296,"id":297,"canonicalKey":298,"locale":8,"draft":6,"navigation":299,"icon":72,"path":300},"Route Protection","content:docs:4.build:3.authentication:5.route-protection.md","4\u002F3\u002F5",{"icon":72},"\u002Fdocs\u002Fbuild\u002Fauthentication\u002Froute-protection",{"title":302,"id":303,"canonicalKey":304,"locale":8,"draft":6,"navigation":305,"icon":306,"path":307},"Backend Authorization","content:docs:4.build:3.authentication:6.backend-authorization.md","4\u002F3\u002F6",{"icon":306},"i-lucide-lock-keyhole","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbackend-authorization",{"title":309,"id":310,"canonicalKey":311,"locale":8,"draft":6,"navigation":312,"icon":313,"path":314},"Better Auth Plugins","content:docs:4.build:3.authentication:7.better-auth-plugins.md","4\u002F3\u002F7",{"icon":313},"i-lucide-plug","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbetter-auth-plugins",{"title":316,"id":317,"canonicalKey":318,"locale":8,"draft":6,"navigation":319,"icon":320,"path":321},"Custom User Fields","content:docs:4.build:3.authentication:8.custom-user-fields.md","4\u002F3\u002F8",{"icon":320},"i-lucide-user-cog","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fcustom-user-fields",{"title":323,"id":324,"canonicalKey":325,"locale":8,"draft":6,"navigation":326,"icon":327,"path":328},"User Synchronization","content:docs:4.build:3.authentication:9.user-synchronization.md","4\u002F3\u002F9",{"icon":327},"i-lucide-refresh-ccw","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fuser-synchronization",{"title":330,"id":331,"canonicalKey":332,"locale":8,"draft":6,"navigation":333,"icon":334,"path":335},"Delegated OAuth and MCP","content:docs:4.build:3.authentication:10.delegated-oauth-and-mcp.md","4\u002F3\u002F10",{"icon":334},"i-lucide-bot","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fdelegated-oauth-and-mcp",{"title":337,"page":6,"canonicalKey":338,"locale":8,"children":339},"Server","4\u002F4",[340,347,354,361],{"title":341,"id":342,"canonicalKey":343,"locale":8,"draft":6,"navigation":344,"icon":345,"path":346},"serverConvex","content:docs:4.build:4.server:1.server-convex.md","4\u002F4\u002F1",{"icon":345},"i-lucide-server","\u002Fdocs\u002Fbuild\u002Fserver\u002Fserver-convex",{"title":348,"id":349,"canonicalKey":350,"locale":8,"draft":6,"navigation":351,"icon":352,"path":353},"Server Routes","content:docs:4.build:4.server:2.server-routes.md","4\u002F4\u002F2",{"icon":352},"i-lucide-waypoints","\u002Fdocs\u002Fbuild\u002Fserver\u002Fserver-routes",{"title":355,"id":356,"canonicalKey":357,"locale":8,"draft":6,"navigation":358,"icon":359,"path":360},"Webhooks and Jobs","content:docs:4.build:4.server:3.webhooks-and-jobs.md","4\u002F4\u002F3",{"icon":359},"i-lucide-webhook","\u002Fdocs\u002Fbuild\u002Fserver\u002Fwebhooks-and-jobs",{"title":362,"id":363,"canonicalKey":364,"locale":8,"draft":6,"navigation":365,"icon":366,"path":367},"Credentials and Server Security","content:docs:4.build:4.server:4.credentials-and-security.md","4\u002F4\u002F4",{"icon":366},"i-lucide-key-round","\u002Fdocs\u002Fbuild\u002Fserver\u002Fcredentials-and-security",{"title":369,"page":6,"canonicalKey":370,"locale":8,"children":371},"Files","4\u002F5",[372,379,386],{"title":373,"id":374,"canonicalKey":375,"locale":8,"draft":6,"navigation":376,"icon":377,"path":378},"Upload Files","content:docs:4.build:5.files:1.upload-files.md","4\u002F5\u002F1",{"icon":377},"i-lucide-upload","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fupload-files",{"title":380,"id":381,"canonicalKey":382,"locale":8,"draft":6,"navigation":383,"icon":384,"path":385},"Storage URLs","content:docs:4.build:5.files:3.storage-urls.md","4\u002F5\u002F3",{"icon":384},"i-lucide-link","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fstorage-urls",{"title":387,"id":388,"canonicalKey":389,"locale":8,"draft":6,"navigation":390,"icon":391,"path":392},"File Validation and Deletion","content:docs:4.build:5.files:4.validation-and-deletion.md","4\u002F5\u002F4",{"icon":391},"i-lucide-file-x","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fvalidation-and-deletion",{"title":394,"page":6,"canonicalKey":395,"locale":8,"children":396},"Application Behavior","4\u002F6",[397,404,411,418,425],{"title":398,"id":399,"canonicalKey":400,"locale":8,"draft":6,"navigation":401,"icon":402,"path":403},"Connection State","content:docs:4.build:6.application-behavior:1.connection-state.md","4\u002F6\u002F1",{"icon":402},"i-lucide-wifi","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fconnection-state",{"title":405,"id":406,"canonicalKey":407,"locale":8,"draft":6,"navigation":408,"icon":409,"path":410},"Error Handling","content:docs:4.build:6.application-behavior:2.error-handling.md","4\u002F6\u002F2",{"icon":409},"i-lucide-circle-alert","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Ferror-handling",{"title":412,"id":413,"canonicalKey":414,"locale":8,"draft":6,"navigation":415,"icon":416,"path":417},"Logging","content:docs:4.build:6.application-behavior:3.logging.md","4\u002F6\u002F3",{"icon":416},"i-lucide-scroll-text","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Flogging",{"title":419,"id":420,"canonicalKey":421,"locale":8,"draft":6,"navigation":422,"icon":423,"path":424},"DevTools","content:docs:4.build:6.application-behavior:4.devtools.md","4\u002F6\u002F4",{"icon":423},"i-lucide-wrench","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fdevtools",{"title":426,"id":427,"canonicalKey":428,"locale":8,"draft":6,"navigation":429,"icon":430,"path":431},"Performance","content:docs:4.build:6.application-behavior:5.performance.md","4\u002F6\u002F5",{"icon":430},"i-lucide-chart-no-axes-combined","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fperformance",{"title":433,"page":6,"canonicalKey":434,"locale":8,"id":435,"draft":6,"icon":334,"children":436},"Agents and MCP","4\u002F7","content:docs:4.build:7.agents:.navigation.yml",[437,444],{"title":438,"id":439,"canonicalKey":440,"locale":8,"draft":6,"navigation":441,"icon":442,"path":443},"MCP on Convex","content:docs:4.build:7.agents:1.mcp.md","4\u002F7\u002F1",{"icon":442},"i-lucide-plug-zap","\u002Fdocs\u002Fbuild\u002Fagents\u002Fmcp",{"title":445,"id":446,"canonicalKey":447,"locale":8,"draft":6,"navigation":448,"icon":100,"path":449},"Vue MCP Apps","content:docs:4.build:7.agents:2.mcp-apps.md","4\u002F7\u002F2",{"icon":100},"\u002Fdocs\u002Fbuild\u002Fagents\u002Fmcp-apps",{"title":451,"page":6,"canonicalKey":452,"locale":8,"id":453,"draft":6,"icon":454,"children":455},"Recipes","5","content:docs:5.recipes:.navigation.yml","i-lucide-cooking-pot",[456,462,469,476,483,490,497,503],{"title":457,"id":458,"canonicalKey":459,"locale":8,"draft":6,"navigation":460,"icon":39,"path":461},"Protected Dashboard","content:docs:5.recipes:1.protected-dashboard.md","5\u002F1",{"icon":39},"\u002Fdocs\u002Frecipes\u002Fprotected-dashboard",{"title":463,"id":464,"canonicalKey":465,"locale":8,"draft":6,"navigation":466,"icon":467,"path":468},"Real-Time Feed","content:docs:5.recipes:2.realtime-feed.md","5\u002F2",{"icon":467},"i-lucide-messages-square","\u002Fdocs\u002Frecipes\u002Frealtime-feed",{"title":470,"id":471,"canonicalKey":472,"locale":8,"draft":6,"navigation":473,"icon":474,"path":475},"Optimistic Todo List","content:docs:5.recipes:3.optimistic-todo-list.md","5\u002F3",{"icon":474},"i-lucide-list-todo","\u002Fdocs\u002Frecipes\u002Foptimistic-todo-list",{"title":477,"id":478,"canonicalKey":479,"locale":8,"draft":6,"navigation":480,"icon":481,"path":482},"Infinite Scroll","content:docs:5.recipes:4.infinite-scroll.md","5\u002F4",{"icon":481},"i-lucide-mouse","\u002Fdocs\u002Frecipes\u002Finfinite-scroll",{"title":484,"id":485,"canonicalKey":486,"locale":8,"draft":6,"navigation":487,"icon":488,"path":489},"File Upload Form","content:docs:5.recipes:5.file-upload-form.md","5\u002F5",{"icon":488},"i-lucide-file-up","\u002Fdocs\u002Frecipes\u002Ffile-upload-form",{"title":491,"id":492,"canonicalKey":493,"locale":8,"draft":6,"navigation":494,"icon":495,"path":496},"Organization Permissions","content:docs:5.recipes:6.organization-permissions.md","5\u002F6",{"icon":495},"i-lucide-building-2","\u002Fdocs\u002Frecipes\u002Forganization-permissions",{"title":498,"id":499,"canonicalKey":500,"locale":8,"draft":6,"navigation":501,"icon":345,"path":502},"Authenticated Server Route","content:docs:5.recipes:7.authenticated-server-route.md","5\u002F7",{"icon":345},"\u002Fdocs\u002Frecipes\u002Fauthenticated-server-route",{"title":504,"id":505,"canonicalKey":506,"locale":8,"draft":6,"navigation":507,"icon":100,"path":508},"Public and Private Data","content:docs:5.recipes:8.public-and-private-data.md","5\u002F8",{"icon":100},"\u002Fdocs\u002Frecipes\u002Fpublic-and-private-data",{"title":510,"page":6,"canonicalKey":511,"locale":8,"id":512,"draft":6,"icon":513,"children":514},"Reference","6","content:docs:6.reference:.navigation.yml","i-lucide-braces",[515,521,527,533,540,547],{"title":516,"id":517,"canonicalKey":518,"locale":8,"draft":6,"navigation":519,"icon":513,"path":520},"Composables","content:docs:6.reference:1.composables.md","6\u002F1",{"icon":513},"\u002Fdocs\u002Freference\u002Fcomposables",{"title":522,"id":523,"canonicalKey":524,"locale":8,"draft":6,"navigation":525,"icon":345,"path":526},"Server API","content:docs:6.reference:3.server-api.md","6\u002F3",{"icon":345},"\u002Fdocs\u002Freference\u002Fserver-api",{"title":528,"id":529,"canonicalKey":530,"locale":8,"draft":6,"navigation":531,"icon":107,"path":532},"Error Types","content:docs:6.reference:4.error-types.md","6\u002F4",{"icon":107},"\u002Fdocs\u002Freference\u002Ferror-types",{"title":534,"id":535,"canonicalKey":536,"locale":8,"draft":6,"navigation":537,"icon":538,"path":539},"Module Configuration","content:docs:6.reference:5.module-configuration.md","6\u002F5",{"icon":538},"i-lucide-settings","\u002Fdocs\u002Freference\u002Fmodule-configuration",{"title":541,"id":542,"canonicalKey":543,"locale":8,"draft":6,"navigation":544,"icon":545,"path":546},"Package Exports","content:docs:6.reference:6.package-exports.md","6\u002F6",{"icon":545},"i-lucide-package-open","\u002Fdocs\u002Freference\u002Fpackage-exports",{"title":548,"id":549,"canonicalKey":550,"locale":8,"draft":6,"navigation":551,"icon":552,"path":553},"API Surface","content:docs:6.reference:7.api-surface.md","6\u002F7",{"icon":552},"i-lucide-list","\u002Fdocs\u002Freference\u002Fapi-surface",{"title":555,"page":6,"canonicalKey":556,"locale":8,"id":557,"draft":6,"icon":280,"children":558},"Operations","7","content:docs:7.operations:.navigation.yml",[559,566,572,578,584],{"title":560,"id":561,"canonicalKey":562,"locale":8,"draft":6,"navigation":563,"icon":564,"path":565},"Environment Variables","content:docs:7.operations:1.environment-variables.md","7\u002F1",{"icon":564},"i-lucide-variable","\u002Fdocs\u002Foperations\u002Fenvironment-variables",{"title":567,"id":568,"canonicalKey":569,"locale":8,"draft":6,"navigation":570,"icon":127,"path":571},"Deployment","content:docs:7.operations:2.deployment.md","7\u002F2",{"icon":127},"\u002Fdocs\u002Foperations\u002Fdeployment",{"title":573,"id":574,"canonicalKey":575,"locale":8,"draft":6,"navigation":576,"icon":169,"path":577},"Security Model","content:docs:7.operations:3.security-model.md","7\u002F3",{"icon":169},"\u002Fdocs\u002Foperations\u002Fsecurity-model",{"title":579,"id":580,"canonicalKey":581,"locale":8,"draft":6,"navigation":582,"icon":423,"path":583},"Troubleshooting","content:docs:7.operations:4.troubleshooting.md","7\u002F4",{"icon":423},"\u002Fdocs\u002Foperations\u002Ftroubleshooting",{"title":585,"id":586,"canonicalKey":587,"locale":8,"draft":6,"navigation":588,"icon":25,"path":589},"Release Compatibility","content:docs:7.operations:5.release-compatibility.md","7\u002F5",{"icon":25},"\u002Fdocs\u002Foperations\u002Frelease-compatibility",{"title":591,"id":592,"canonicalKey":593,"locale":8,"draft":6,"path":594},"Better Convex documentation","content:docs:index.md","\u002F","\u002Fdocs",{"title":457,"description":596,"navigation":597,"body":598,"type":1921,"id":458,"canonicalKey":459,"draft":6,"partial":6,"locale":8,"collection":1922,"navigationFile":6,"file":1923,"route":1929,"resolution":1931},"Build an authenticated dashboard with route UX and backend-enforced data access.",{"icon":39},{"type":599,"children":600,"toc":1911},"root",[601,610,616,622,1207,1213,1845,1851,1875,1880,1886],{"type":602,"tag":603,"props":604,"children":606},"element","h2",{"id":605},"result",[607],{"type":608,"value":609},"text","Result",{"type":602,"tag":611,"props":612,"children":613},"p",{},[614],{"type":608,"value":615},"Anonymous navigation redirects to sign-in. Authenticated users receive server-rendered dashboard data. Convex rejects callers without access even if they bypass the page.",{"type":602,"tag":603,"props":617,"children":619},{"id":618},"backend",[620],{"type":608,"value":621},"Backend",{"type":602,"tag":623,"props":624,"children":628},"pre",{"language":625,"filename":626,"class":627},"ts","convex\u002Fdashboard.ts","shiki shiki-themes light-plus dark-plus dark:dark-plus",[629],{"type":602,"tag":630,"props":631,"children":633},"code",{"class":632},"language-ts",[634,674,676,705,706,709,710,745,746,759,760,803,804,855,856,913,914,917,918,951,952,979,980,1065,1066,1092,1093,1096,1097,1109,1110,1136,1137,1180,1181,1189,1190,1198,1199],{"type":602,"tag":635,"props":636,"children":639},"span",{"class":637,"style":638},"line","display: inline",[640,646,652,658,663,668],{"type":602,"tag":635,"props":641,"children":643},{"style":642},"color:#AF00DB;--shiki-dark:#C586C0",[644],{"type":608,"value":645},"import",{"type":602,"tag":635,"props":647,"children":649},{"style":648},"color:#000000;--shiki-dark:#D4D4D4",[650],{"type":608,"value":651}," { ",{"type":602,"tag":635,"props":653,"children":655},{"style":654},"color:#001080;--shiki-dark:#9CDCFE",[656],{"type":608,"value":657},"query",{"type":602,"tag":635,"props":659,"children":660},{"style":648},[661],{"type":608,"value":662}," } ",{"type":602,"tag":635,"props":664,"children":665},{"style":642},[666],{"type":608,"value":667},"from",{"type":602,"tag":635,"props":669,"children":671},{"style":670},"color:#A31515;--shiki-dark:#CE9178",[672],{"type":608,"value":673}," '.\u002F_generated\u002Fserver'",{"type":608,"value":675},"\n",{"type":602,"tag":635,"props":677,"children":678},{"class":637,"style":638},[679,683,687,692,696,700],{"type":602,"tag":635,"props":680,"children":681},{"style":642},[682],{"type":608,"value":645},{"type":602,"tag":635,"props":684,"children":685},{"style":648},[686],{"type":608,"value":651},{"type":602,"tag":635,"props":688,"children":689},{"style":654},[690],{"type":608,"value":691},"ConvexError",{"type":602,"tag":635,"props":693,"children":694},{"style":648},[695],{"type":608,"value":662},{"type":602,"tag":635,"props":697,"children":698},{"style":642},[699],{"type":608,"value":667},{"type":602,"tag":635,"props":701,"children":702},{"style":670},[703],{"type":608,"value":704}," 'convex\u002Fvalues'",{"type":608,"value":675},{"type":602,"tag":635,"props":707,"children":708},{"class":637,"style":638},[],{"type":608,"value":675},{"type":602,"tag":635,"props":711,"children":712},{"class":637,"style":638},[713,718,724,730,735,740],{"type":602,"tag":635,"props":714,"children":715},{"style":642},[716],{"type":608,"value":717},"export",{"type":602,"tag":635,"props":719,"children":721},{"style":720},"color:#0000FF;--shiki-dark:#569CD6",[722],{"type":608,"value":723}," const",{"type":602,"tag":635,"props":725,"children":727},{"style":726},"color:#0070C1;--shiki-dark:#4FC1FF",[728],{"type":608,"value":729}," get",{"type":602,"tag":635,"props":731,"children":732},{"style":648},[733],{"type":608,"value":734}," = ",{"type":602,"tag":635,"props":736,"children":738},{"style":737},"color:#795E26;--shiki-dark:#DCDCAA",[739],{"type":608,"value":657},{"type":602,"tag":635,"props":741,"children":742},{"style":648},[743],{"type":608,"value":744},"({",{"type":608,"value":675},{"type":602,"tag":635,"props":747,"children":748},{"class":637,"style":638},[749,754],{"type":602,"tag":635,"props":750,"children":751},{"style":654},[752],{"type":608,"value":753},"  args:",{"type":602,"tag":635,"props":755,"children":756},{"style":648},[757],{"type":608,"value":758}," {},",{"type":608,"value":675},{"type":602,"tag":635,"props":761,"children":762},{"class":637,"style":638},[763,768,773,778,783,788,793,798],{"type":602,"tag":635,"props":764,"children":765},{"style":737},[766],{"type":608,"value":767},"  handler",{"type":602,"tag":635,"props":769,"children":770},{"style":654},[771],{"type":608,"value":772},":",{"type":602,"tag":635,"props":774,"children":775},{"style":720},[776],{"type":608,"value":777}," async",{"type":602,"tag":635,"props":779,"children":780},{"style":648},[781],{"type":608,"value":782}," (",{"type":602,"tag":635,"props":784,"children":785},{"style":654},[786],{"type":608,"value":787},"ctx",{"type":602,"tag":635,"props":789,"children":790},{"style":648},[791],{"type":608,"value":792},") ",{"type":602,"tag":635,"props":794,"children":795},{"style":720},[796],{"type":608,"value":797},"=>",{"type":602,"tag":635,"props":799,"children":800},{"style":648},[801],{"type":608,"value":802}," {",{"type":608,"value":675},{"type":602,"tag":635,"props":805,"children":806},{"class":637,"style":638},[807,812,817,821,826,831,836,841,845,850],{"type":602,"tag":635,"props":808,"children":809},{"style":720},[810],{"type":608,"value":811},"    const",{"type":602,"tag":635,"props":813,"children":814},{"style":726},[815],{"type":608,"value":816}," identity",{"type":602,"tag":635,"props":818,"children":819},{"style":648},[820],{"type":608,"value":734},{"type":602,"tag":635,"props":822,"children":823},{"style":642},[824],{"type":608,"value":825},"await",{"type":602,"tag":635,"props":827,"children":828},{"style":654},[829],{"type":608,"value":830}," ctx",{"type":602,"tag":635,"props":832,"children":833},{"style":648},[834],{"type":608,"value":835},".",{"type":602,"tag":635,"props":837,"children":838},{"style":654},[839],{"type":608,"value":840},"auth",{"type":602,"tag":635,"props":842,"children":843},{"style":648},[844],{"type":608,"value":835},{"type":602,"tag":635,"props":846,"children":847},{"style":737},[848],{"type":608,"value":849},"getUserIdentity",{"type":602,"tag":635,"props":851,"children":852},{"style":648},[853],{"type":608,"value":854},"()",{"type":608,"value":675},{"type":602,"tag":635,"props":857,"children":858},{"class":637,"style":638},[859,864,869,874,878,883,888,893,898,903,908],{"type":602,"tag":635,"props":860,"children":861},{"style":642},[862],{"type":608,"value":863},"    if",{"type":602,"tag":635,"props":865,"children":866},{"style":648},[867],{"type":608,"value":868}," (!",{"type":602,"tag":635,"props":870,"children":871},{"style":654},[872],{"type":608,"value":873},"identity",{"type":602,"tag":635,"props":875,"children":876},{"style":648},[877],{"type":608,"value":792},{"type":602,"tag":635,"props":879,"children":880},{"style":642},[881],{"type":608,"value":882},"throw",{"type":602,"tag":635,"props":884,"children":885},{"style":720},[886],{"type":608,"value":887}," new",{"type":602,"tag":635,"props":889,"children":890},{"style":737},[891],{"type":608,"value":892}," ConvexError",{"type":602,"tag":635,"props":894,"children":895},{"style":648},[896],{"type":608,"value":897},"({ ",{"type":602,"tag":635,"props":899,"children":900},{"style":654},[901],{"type":608,"value":902},"code:",{"type":602,"tag":635,"props":904,"children":905},{"style":670},[906],{"type":608,"value":907}," 'UNAUTHENTICATED'",{"type":602,"tag":635,"props":909,"children":910},{"style":648},[911],{"type":608,"value":912}," })",{"type":608,"value":675},{"type":602,"tag":635,"props":915,"children":916},{"class":637,"style":638},[],{"type":608,"value":675},{"type":602,"tag":635,"props":919,"children":920},{"class":637,"style":638},[921,925,930,934,938,942,946],{"type":602,"tag":635,"props":922,"children":923},{"style":720},[924],{"type":608,"value":811},{"type":602,"tag":635,"props":926,"children":927},{"style":726},[928],{"type":608,"value":929}," projects",{"type":602,"tag":635,"props":931,"children":932},{"style":648},[933],{"type":608,"value":734},{"type":602,"tag":635,"props":935,"children":936},{"style":642},[937],{"type":608,"value":825},{"type":602,"tag":635,"props":939,"children":940},{"style":654},[941],{"type":608,"value":830},{"type":602,"tag":635,"props":943,"children":944},{"style":648},[945],{"type":608,"value":835},{"type":602,"tag":635,"props":947,"children":948},{"style":654},[949],{"type":608,"value":950},"db",{"type":608,"value":675},{"type":602,"tag":635,"props":953,"children":954},{"class":637,"style":638},[955,960,964,969,974],{"type":602,"tag":635,"props":956,"children":957},{"style":648},[958],{"type":608,"value":959},"      .",{"type":602,"tag":635,"props":961,"children":962},{"style":737},[963],{"type":608,"value":657},{"type":602,"tag":635,"props":965,"children":966},{"style":648},[967],{"type":608,"value":968},"(",{"type":602,"tag":635,"props":970,"children":971},{"style":670},[972],{"type":608,"value":973},"'projects'",{"type":602,"tag":635,"props":975,"children":976},{"style":648},[977],{"type":608,"value":978},")",{"type":608,"value":675},{"type":602,"tag":635,"props":981,"children":982},{"class":637,"style":638},[983,987,992,996,1001,1006,1011,1015,1019,1024,1028,1033,1037,1042,1047,1051,1055,1060],{"type":602,"tag":635,"props":984,"children":985},{"style":648},[986],{"type":608,"value":959},{"type":602,"tag":635,"props":988,"children":989},{"style":737},[990],{"type":608,"value":991},"withIndex",{"type":602,"tag":635,"props":993,"children":994},{"style":648},[995],{"type":608,"value":968},{"type":602,"tag":635,"props":997,"children":998},{"style":670},[999],{"type":608,"value":1000},"'by_owner'",{"type":602,"tag":635,"props":1002,"children":1003},{"style":648},[1004],{"type":608,"value":1005},", (",{"type":602,"tag":635,"props":1007,"children":1008},{"style":654},[1009],{"type":608,"value":1010},"q",{"type":602,"tag":635,"props":1012,"children":1013},{"style":648},[1014],{"type":608,"value":792},{"type":602,"tag":635,"props":1016,"children":1017},{"style":720},[1018],{"type":608,"value":797},{"type":602,"tag":635,"props":1020,"children":1021},{"style":654},[1022],{"type":608,"value":1023}," q",{"type":602,"tag":635,"props":1025,"children":1026},{"style":648},[1027],{"type":608,"value":835},{"type":602,"tag":635,"props":1029,"children":1030},{"style":737},[1031],{"type":608,"value":1032},"eq",{"type":602,"tag":635,"props":1034,"children":1035},{"style":648},[1036],{"type":608,"value":968},{"type":602,"tag":635,"props":1038,"children":1039},{"style":670},[1040],{"type":608,"value":1041},"'ownerId'",{"type":602,"tag":635,"props":1043,"children":1044},{"style":648},[1045],{"type":608,"value":1046},", ",{"type":602,"tag":635,"props":1048,"children":1049},{"style":654},[1050],{"type":608,"value":873},{"type":602,"tag":635,"props":1052,"children":1053},{"style":648},[1054],{"type":608,"value":835},{"type":602,"tag":635,"props":1056,"children":1057},{"style":654},[1058],{"type":608,"value":1059},"subject",{"type":602,"tag":635,"props":1061,"children":1062},{"style":648},[1063],{"type":608,"value":1064},"))",{"type":608,"value":675},{"type":602,"tag":635,"props":1067,"children":1068},{"class":637,"style":638},[1069,1073,1078,1082,1088],{"type":602,"tag":635,"props":1070,"children":1071},{"style":648},[1072],{"type":608,"value":959},{"type":602,"tag":635,"props":1074,"children":1075},{"style":737},[1076],{"type":608,"value":1077},"take",{"type":602,"tag":635,"props":1079,"children":1080},{"style":648},[1081],{"type":608,"value":968},{"type":602,"tag":635,"props":1083,"children":1085},{"style":1084},"color:#098658;--shiki-dark:#B5CEA8",[1086],{"type":608,"value":1087},"20",{"type":602,"tag":635,"props":1089,"children":1090},{"style":648},[1091],{"type":608,"value":978},{"type":608,"value":675},{"type":602,"tag":635,"props":1094,"children":1095},{"class":637,"style":638},[],{"type":608,"value":675},{"type":602,"tag":635,"props":1098,"children":1099},{"class":637,"style":638},[1100,1105],{"type":602,"tag":635,"props":1101,"children":1102},{"style":642},[1103],{"type":608,"value":1104},"    return",{"type":602,"tag":635,"props":1106,"children":1107},{"style":648},[1108],{"type":608,"value":802},{"type":608,"value":675},{"type":602,"tag":635,"props":1111,"children":1112},{"class":637,"style":638},[1113,1118,1122,1126,1131],{"type":602,"tag":635,"props":1114,"children":1115},{"style":654},[1116],{"type":608,"value":1117},"      projectCount:",{"type":602,"tag":635,"props":1119,"children":1120},{"style":654},[1121],{"type":608,"value":929},{"type":602,"tag":635,"props":1123,"children":1124},{"style":648},[1125],{"type":608,"value":835},{"type":602,"tag":635,"props":1127,"children":1128},{"style":654},[1129],{"type":608,"value":1130},"length",{"type":602,"tag":635,"props":1132,"children":1133},{"style":648},[1134],{"type":608,"value":1135},",",{"type":608,"value":675},{"type":602,"tag":635,"props":1138,"children":1139},{"class":637,"style":638},[1140,1145,1149,1153,1158,1162,1167,1171,1175],{"type":602,"tag":635,"props":1141,"children":1142},{"style":654},[1143],{"type":608,"value":1144},"      recentProjects:",{"type":602,"tag":635,"props":1146,"children":1147},{"style":654},[1148],{"type":608,"value":929},{"type":602,"tag":635,"props":1150,"children":1151},{"style":648},[1152],{"type":608,"value":835},{"type":602,"tag":635,"props":1154,"children":1155},{"style":737},[1156],{"type":608,"value":1157},"slice",{"type":602,"tag":635,"props":1159,"children":1160},{"style":648},[1161],{"type":608,"value":968},{"type":602,"tag":635,"props":1163,"children":1164},{"style":1084},[1165],{"type":608,"value":1166},"0",{"type":602,"tag":635,"props":1168,"children":1169},{"style":648},[1170],{"type":608,"value":1046},{"type":602,"tag":635,"props":1172,"children":1173},{"style":1084},[1174],{"type":608,"value":452},{"type":602,"tag":635,"props":1176,"children":1177},{"style":648},[1178],{"type":608,"value":1179},"),",{"type":608,"value":675},{"type":602,"tag":635,"props":1182,"children":1183},{"class":637,"style":638},[1184],{"type":602,"tag":635,"props":1185,"children":1186},{"style":648},[1187],{"type":608,"value":1188},"    }",{"type":608,"value":675},{"type":602,"tag":635,"props":1191,"children":1192},{"class":637,"style":638},[1193],{"type":602,"tag":635,"props":1194,"children":1195},{"style":648},[1196],{"type":608,"value":1197},"  },",{"type":608,"value":675},{"type":602,"tag":635,"props":1200,"children":1201},{"class":637,"style":638},[1202],{"type":602,"tag":635,"props":1203,"children":1204},{"style":648},[1205],{"type":608,"value":1206},"})",{"type":602,"tag":603,"props":1208,"children":1210},{"id":1209},"page",[1211],{"type":608,"value":1212},"Page",{"type":602,"tag":623,"props":1214,"children":1217},{"language":1215,"filename":1216,"class":627},"vue","app\u002Fpages\u002Fdashboard.vue",[1218],{"type":602,"tag":630,"props":1219,"children":1221},{"class":1220},"language-vue",[1222,1264,1265,1294,1295,1298,1299,1325,1326,1329,1330,1342,1343,1365,1366,1378,1379,1391,1392,1409,1410,1439,1440,1448,1449,1457,1458,1475,1476,1483,1484,1491,1492,1508,1509,1512,1513,1529,1530,1547,1548,1582,1583,1633,1634,1680,1681,1709,1710,1743,1744,1795,1796,1812,1813,1829,1830],{"type":602,"tag":635,"props":1223,"children":1224},{"class":637,"style":638},[1225,1231,1237,1243,1248,1253,1259],{"type":602,"tag":635,"props":1226,"children":1228},{"style":1227},"color:#800000;--shiki-dark:#808080",[1229],{"type":608,"value":1230},"\u003C",{"type":602,"tag":635,"props":1232,"children":1234},{"style":1233},"color:#800000;--shiki-dark:#569CD6",[1235],{"type":608,"value":1236},"script",{"type":602,"tag":635,"props":1238,"children":1240},{"style":1239},"color:#E50000;--shiki-dark:#9CDCFE",[1241],{"type":608,"value":1242}," setup",{"type":602,"tag":635,"props":1244,"children":1245},{"style":1239},[1246],{"type":608,"value":1247}," lang",{"type":602,"tag":635,"props":1249,"children":1250},{"style":648},[1251],{"type":608,"value":1252},"=",{"type":602,"tag":635,"props":1254,"children":1256},{"style":1255},"color:#0000FF;--shiki-dark:#CE9178",[1257],{"type":608,"value":1258},"\"ts\"",{"type":602,"tag":635,"props":1260,"children":1261},{"style":1227},[1262],{"type":608,"value":1263},">",{"type":608,"value":675},{"type":602,"tag":635,"props":1266,"children":1267},{"class":637,"style":638},[1268,1272,1276,1281,1285,1289],{"type":602,"tag":635,"props":1269,"children":1270},{"style":642},[1271],{"type":608,"value":645},{"type":602,"tag":635,"props":1273,"children":1274},{"style":648},[1275],{"type":608,"value":651},{"type":602,"tag":635,"props":1277,"children":1278},{"style":654},[1279],{"type":608,"value":1280},"api",{"type":602,"tag":635,"props":1282,"children":1283},{"style":648},[1284],{"type":608,"value":662},{"type":602,"tag":635,"props":1286,"children":1287},{"style":642},[1288],{"type":608,"value":667},{"type":602,"tag":635,"props":1290,"children":1291},{"style":670},[1292],{"type":608,"value":1293}," '#convex\u002Fapi'",{"type":608,"value":675},{"type":602,"tag":635,"props":1296,"children":1297},{"class":637,"style":638},[],{"type":608,"value":675},{"type":602,"tag":635,"props":1300,"children":1301},{"class":637,"style":638},[1302,1307,1311,1316,1321],{"type":602,"tag":635,"props":1303,"children":1304},{"style":737},[1305],{"type":608,"value":1306},"definePageMeta",{"type":602,"tag":635,"props":1308,"children":1309},{"style":648},[1310],{"type":608,"value":897},{"type":602,"tag":635,"props":1312,"children":1313},{"style":654},[1314],{"type":608,"value":1315},"convexAuth:",{"type":602,"tag":635,"props":1317,"children":1318},{"style":720},[1319],{"type":608,"value":1320}," true",{"type":602,"tag":635,"props":1322,"children":1323},{"style":648},[1324],{"type":608,"value":912},{"type":608,"value":675},{"type":602,"tag":635,"props":1327,"children":1328},{"class":637,"style":638},[],{"type":608,"value":675},{"type":602,"tag":635,"props":1331,"children":1332},{"class":637,"style":638},[1333,1338],{"type":602,"tag":635,"props":1334,"children":1335},{"style":720},[1336],{"type":608,"value":1337},"const",{"type":602,"tag":635,"props":1339,"children":1340},{"style":648},[1341],{"type":608,"value":802},{"type":608,"value":675},{"type":602,"tag":635,"props":1344,"children":1345},{"class":637,"style":638},[1346,1351,1356,1361],{"type":602,"tag":635,"props":1347,"children":1348},{"style":654},[1349],{"type":608,"value":1350},"  data",{"type":602,"tag":635,"props":1352,"children":1353},{"style":648},[1354],{"type":608,"value":1355},": ",{"type":602,"tag":635,"props":1357,"children":1358},{"style":726},[1359],{"type":608,"value":1360},"dashboard",{"type":602,"tag":635,"props":1362,"children":1363},{"style":648},[1364],{"type":608,"value":1135},{"type":608,"value":675},{"type":602,"tag":635,"props":1367,"children":1368},{"class":637,"style":638},[1369,1374],{"type":602,"tag":635,"props":1370,"children":1371},{"style":726},[1372],{"type":608,"value":1373},"  status",{"type":602,"tag":635,"props":1375,"children":1376},{"style":648},[1377],{"type":608,"value":1135},{"type":608,"value":675},{"type":602,"tag":635,"props":1380,"children":1381},{"class":637,"style":638},[1382,1387],{"type":602,"tag":635,"props":1383,"children":1384},{"style":726},[1385],{"type":608,"value":1386},"  error",{"type":602,"tag":635,"props":1388,"children":1389},{"style":648},[1390],{"type":608,"value":1135},{"type":608,"value":675},{"type":602,"tag":635,"props":1393,"children":1394},{"class":637,"style":638},[1395,1400,1405],{"type":602,"tag":635,"props":1396,"children":1397},{"style":648},[1398],{"type":608,"value":1399},"} = ",{"type":602,"tag":635,"props":1401,"children":1402},{"style":737},[1403],{"type":608,"value":1404},"useConvexQuery",{"type":602,"tag":635,"props":1406,"children":1407},{"style":648},[1408],{"type":608,"value":968},{"type":608,"value":675},{"type":602,"tag":635,"props":1411,"children":1412},{"class":637,"style":638},[1413,1418,1422,1426,1430,1435],{"type":602,"tag":635,"props":1414,"children":1415},{"style":654},[1416],{"type":608,"value":1417},"  api",{"type":602,"tag":635,"props":1419,"children":1420},{"style":648},[1421],{"type":608,"value":835},{"type":602,"tag":635,"props":1423,"children":1424},{"style":654},[1425],{"type":608,"value":1360},{"type":602,"tag":635,"props":1427,"children":1428},{"style":648},[1429],{"type":608,"value":835},{"type":602,"tag":635,"props":1431,"children":1432},{"style":654},[1433],{"type":608,"value":1434},"get",{"type":602,"tag":635,"props":1436,"children":1437},{"style":648},[1438],{"type":608,"value":1135},{"type":608,"value":675},{"type":602,"tag":635,"props":1441,"children":1442},{"class":637,"style":638},[1443],{"type":602,"tag":635,"props":1444,"children":1445},{"style":648},[1446],{"type":608,"value":1447},"  {},",{"type":608,"value":675},{"type":602,"tag":635,"props":1450,"children":1451},{"class":637,"style":638},[1452],{"type":602,"tag":635,"props":1453,"children":1454},{"style":648},[1455],{"type":608,"value":1456},"  {",{"type":608,"value":675},{"type":602,"tag":635,"props":1459,"children":1460},{"class":637,"style":638},[1461,1466,1471],{"type":602,"tag":635,"props":1462,"children":1463},{"style":654},[1464],{"type":608,"value":1465},"    auth:",{"type":602,"tag":635,"props":1467,"children":1468},{"style":670},[1469],{"type":608,"value":1470}," 'required'",{"type":602,"tag":635,"props":1472,"children":1473},{"style":648},[1474],{"type":608,"value":1135},{"type":608,"value":675},{"type":602,"tag":635,"props":1477,"children":1478},{"class":637,"style":638},[1479],{"type":602,"tag":635,"props":1480,"children":1481},{"style":648},[1482],{"type":608,"value":1197},{"type":608,"value":675},{"type":602,"tag":635,"props":1485,"children":1486},{"class":637,"style":638},[1487],{"type":602,"tag":635,"props":1488,"children":1489},{"style":648},[1490],{"type":608,"value":978},{"type":608,"value":675},{"type":602,"tag":635,"props":1493,"children":1494},{"class":637,"style":638},[1495,1500,1504],{"type":602,"tag":635,"props":1496,"children":1497},{"style":1227},[1498],{"type":608,"value":1499},"\u003C\u002F",{"type":602,"tag":635,"props":1501,"children":1502},{"style":1233},[1503],{"type":608,"value":1236},{"type":602,"tag":635,"props":1505,"children":1506},{"style":1227},[1507],{"type":608,"value":1263},{"type":608,"value":675},{"type":602,"tag":635,"props":1510,"children":1511},{"class":637,"style":638},[],{"type":608,"value":675},{"type":602,"tag":635,"props":1514,"children":1515},{"class":637,"style":638},[1516,1520,1525],{"type":602,"tag":635,"props":1517,"children":1518},{"style":1227},[1519],{"type":608,"value":1230},{"type":602,"tag":635,"props":1521,"children":1522},{"style":1233},[1523],{"type":608,"value":1524},"template",{"type":602,"tag":635,"props":1526,"children":1527},{"style":1227},[1528],{"type":608,"value":1263},{"type":608,"value":675},{"type":602,"tag":635,"props":1531,"children":1532},{"class":637,"style":638},[1533,1538,1543],{"type":602,"tag":635,"props":1534,"children":1535},{"style":1227},[1536],{"type":608,"value":1537},"  \u003C",{"type":602,"tag":635,"props":1539,"children":1540},{"style":1233},[1541],{"type":608,"value":1542},"main",{"type":602,"tag":635,"props":1544,"children":1545},{"style":1227},[1546],{"type":608,"value":1263},{"type":608,"value":675},{"type":602,"tag":635,"props":1549,"children":1550},{"class":637,"style":638},[1551,1556,1561,1565,1570,1574,1578],{"type":602,"tag":635,"props":1552,"children":1553},{"style":1227},[1554],{"type":608,"value":1555},"    \u003C",{"type":602,"tag":635,"props":1557,"children":1558},{"style":1233},[1559],{"type":608,"value":1560},"h1",{"type":602,"tag":635,"props":1562,"children":1563},{"style":1227},[1564],{"type":608,"value":1263},{"type":602,"tag":635,"props":1566,"children":1567},{"style":648},[1568],{"type":608,"value":1569},"Dashboard",{"type":602,"tag":635,"props":1571,"children":1572},{"style":1227},[1573],{"type":608,"value":1499},{"type":602,"tag":635,"props":1575,"children":1576},{"style":1233},[1577],{"type":608,"value":1560},{"type":602,"tag":635,"props":1579,"children":1580},{"style":1227},[1581],{"type":608,"value":1263},{"type":608,"value":675},{"type":602,"tag":635,"props":1584,"children":1585},{"class":637,"style":638},[1586,1590,1595,1600,1604,1609,1614,1619,1624,1628],{"type":602,"tag":635,"props":1587,"children":1588},{"style":1227},[1589],{"type":608,"value":1555},{"type":602,"tag":635,"props":1591,"children":1592},{"style":1233},[1593],{"type":608,"value":1594},"DashboardSkeleton",{"type":602,"tag":635,"props":1596,"children":1597},{"style":642},[1598],{"type":608,"value":1599}," v-if",{"type":602,"tag":635,"props":1601,"children":1602},{"style":648},[1603],{"type":608,"value":1252},{"type":602,"tag":635,"props":1605,"children":1606},{"style":648},[1607],{"type":608,"value":1608},"\"",{"type":602,"tag":635,"props":1610,"children":1611},{"style":654},[1612],{"type":608,"value":1613},"status",{"type":602,"tag":635,"props":1615,"children":1616},{"style":648},[1617],{"type":608,"value":1618}," === ",{"type":602,"tag":635,"props":1620,"children":1621},{"style":670},[1622],{"type":608,"value":1623},"'pending'",{"type":602,"tag":635,"props":1625,"children":1626},{"style":648},[1627],{"type":608,"value":1608},{"type":602,"tag":635,"props":1629,"children":1630},{"style":1227},[1631],{"type":608,"value":1632}," \u002F>",{"type":608,"value":675},{"type":602,"tag":635,"props":1635,"children":1636},{"class":637,"style":638},[1637,1641,1645,1650,1654,1659,1663,1668,1672,1676],{"type":602,"tag":635,"props":1638,"children":1639},{"style":1227},[1640],{"type":608,"value":1555},{"type":602,"tag":635,"props":1642,"children":1643},{"style":1233},[1644],{"type":608,"value":611},{"type":602,"tag":635,"props":1646,"children":1647},{"style":1239},[1648],{"type":608,"value":1649}," v-else-if",{"type":602,"tag":635,"props":1651,"children":1652},{"style":648},[1653],{"type":608,"value":1252},{"type":602,"tag":635,"props":1655,"children":1656},{"style":1255},[1657],{"type":608,"value":1658},"\"error\"",{"type":602,"tag":635,"props":1660,"children":1661},{"style":1227},[1662],{"type":608,"value":1263},{"type":602,"tag":635,"props":1664,"children":1665},{"style":648},[1666],{"type":608,"value":1667},"Dashboard data is unavailable.",{"type":602,"tag":635,"props":1669,"children":1670},{"style":1227},[1671],{"type":608,"value":1499},{"type":602,"tag":635,"props":1673,"children":1674},{"style":1233},[1675],{"type":608,"value":611},{"type":602,"tag":635,"props":1677,"children":1678},{"style":1227},[1679],{"type":608,"value":1263},{"type":608,"value":675},{"type":602,"tag":635,"props":1682,"children":1683},{"class":637,"style":638},[1684,1688,1692,1696,1700,1705],{"type":602,"tag":635,"props":1685,"children":1686},{"style":1227},[1687],{"type":608,"value":1555},{"type":602,"tag":635,"props":1689,"children":1690},{"style":1233},[1691],{"type":608,"value":11},{"type":602,"tag":635,"props":1693,"children":1694},{"style":1239},[1695],{"type":608,"value":1649},{"type":602,"tag":635,"props":1697,"children":1698},{"style":648},[1699],{"type":608,"value":1252},{"type":602,"tag":635,"props":1701,"children":1702},{"style":1255},[1703],{"type":608,"value":1704},"\"dashboard\"",{"type":602,"tag":635,"props":1706,"children":1707},{"style":1227},[1708],{"type":608,"value":1263},{"type":608,"value":675},{"type":602,"tag":635,"props":1711,"children":1712},{"class":637,"style":638},[1713,1718,1722,1726,1731,1735,1739],{"type":602,"tag":635,"props":1714,"children":1715},{"style":1227},[1716],{"type":608,"value":1717},"      \u003C",{"type":602,"tag":635,"props":1719,"children":1720},{"style":1233},[1721],{"type":608,"value":611},{"type":602,"tag":635,"props":1723,"children":1724},{"style":1227},[1725],{"type":608,"value":1263},{"type":602,"tag":635,"props":1727,"children":1728},{"style":648},[1729],{"type":608,"value":1730},"{{ dashboard.projectCount }} projects",{"type":602,"tag":635,"props":1732,"children":1733},{"style":1227},[1734],{"type":608,"value":1499},{"type":602,"tag":635,"props":1736,"children":1737},{"style":1233},[1738],{"type":608,"value":611},{"type":602,"tag":635,"props":1740,"children":1741},{"style":1227},[1742],{"type":608,"value":1263},{"type":608,"value":675},{"type":602,"tag":635,"props":1745,"children":1746},{"class":637,"style":638},[1747,1751,1756,1761,1766,1770,1774,1778,1782,1787,1791],{"type":602,"tag":635,"props":1748,"children":1749},{"style":1227},[1750],{"type":608,"value":1717},{"type":602,"tag":635,"props":1752,"children":1753},{"style":1233},[1754],{"type":608,"value":1755},"ProjectList",{"type":602,"tag":635,"props":1757,"children":1758},{"style":648},[1759],{"type":608,"value":1760}," :",{"type":602,"tag":635,"props":1762,"children":1763},{"style":1239},[1764],{"type":608,"value":1765},"projects",{"type":602,"tag":635,"props":1767,"children":1768},{"style":648},[1769],{"type":608,"value":1252},{"type":602,"tag":635,"props":1771,"children":1772},{"style":648},[1773],{"type":608,"value":1608},{"type":602,"tag":635,"props":1775,"children":1776},{"style":654},[1777],{"type":608,"value":1360},{"type":602,"tag":635,"props":1779,"children":1780},{"style":648},[1781],{"type":608,"value":835},{"type":602,"tag":635,"props":1783,"children":1784},{"style":654},[1785],{"type":608,"value":1786},"recentProjects",{"type":602,"tag":635,"props":1788,"children":1789},{"style":648},[1790],{"type":608,"value":1608},{"type":602,"tag":635,"props":1792,"children":1793},{"style":1227},[1794],{"type":608,"value":1632},{"type":608,"value":675},{"type":602,"tag":635,"props":1797,"children":1798},{"class":637,"style":638},[1799,1804,1808],{"type":602,"tag":635,"props":1800,"children":1801},{"style":1227},[1802],{"type":608,"value":1803},"    \u003C\u002F",{"type":602,"tag":635,"props":1805,"children":1806},{"style":1233},[1807],{"type":608,"value":11},{"type":602,"tag":635,"props":1809,"children":1810},{"style":1227},[1811],{"type":608,"value":1263},{"type":608,"value":675},{"type":602,"tag":635,"props":1814,"children":1815},{"class":637,"style":638},[1816,1821,1825],{"type":602,"tag":635,"props":1817,"children":1818},{"style":1227},[1819],{"type":608,"value":1820},"  \u003C\u002F",{"type":602,"tag":635,"props":1822,"children":1823},{"style":1233},[1824],{"type":608,"value":1542},{"type":602,"tag":635,"props":1826,"children":1827},{"style":1227},[1828],{"type":608,"value":1263},{"type":608,"value":675},{"type":602,"tag":635,"props":1831,"children":1832},{"class":637,"style":638},[1833,1837,1841],{"type":602,"tag":635,"props":1834,"children":1835},{"style":1227},[1836],{"type":608,"value":1499},{"type":602,"tag":635,"props":1838,"children":1839},{"style":1233},[1840],{"type":608,"value":1524},{"type":602,"tag":635,"props":1842,"children":1843},{"style":1227},[1844],{"type":608,"value":1263},{"type":602,"tag":603,"props":1846,"children":1848},{"id":1847},"security-boundary",[1849],{"type":608,"value":1850},"Security boundary",{"type":602,"tag":611,"props":1852,"children":1853},{},[1854,1859,1861,1866,1868,1873],{"type":602,"tag":630,"props":1855,"children":1856},{},[1857],{"type":608,"value":1858},"convexAuth",{"type":608,"value":1860}," controls navigation. ",{"type":602,"tag":630,"props":1862,"children":1863},{},[1864],{"type":608,"value":1865},"auth: 'required'",{"type":608,"value":1867}," controls query execution. The identity and ownership check in ",{"type":602,"tag":630,"props":1869,"children":1870},{},[1871],{"type":608,"value":1872},"dashboard.get",{"type":608,"value":1874}," controls data access.",{"type":602,"tag":611,"props":1876,"children":1877},{},[1878],{"type":608,"value":1879},"Keep all three because they solve different problems.",{"type":602,"tag":603,"props":1881,"children":1883},{"id":1882},"verify",[1884],{"type":608,"value":1885},"Verify",{"type":602,"tag":1887,"props":1888,"children":1889},"ul",{},[1890,1896,1901,1906],{"type":602,"tag":1891,"props":1892,"children":1893},"li",{},[1894],{"type":608,"value":1895},"Anonymous page navigation redirects.",{"type":602,"tag":1891,"props":1897,"children":1898},{},[1899],{"type":608,"value":1900},"Direct anonymous Convex query rejects.",{"type":602,"tag":1891,"props":1902,"children":1903},{},[1904],{"type":608,"value":1905},"User A cannot receive user B's projects.",{"type":602,"tag":1891,"props":1907,"children":1908},{},[1909],{"type":608,"value":1910},"Reloading as an authenticated user renders dashboard data without an anonymous flash.",{"title":1912,"searchDepth":1913,"depth":1913,"links":1914},"",4,[1915,1917,1918,1919,1920],{"id":605,"depth":1916,"text":609},2,{"id":618,"depth":1916,"text":621},{"id":1209,"depth":1916,"text":1212},{"id":1847,"depth":1916,"text":1850},{"id":1882,"depth":1916,"text":1885},"markdown","docs",{"source":1924,"path":1925,"stem":1926,"dir":1927,"extension":1928},"content","docs\u002F5.recipes\u002F1.protected-dashboard.md","docs\u002F5.recipes\u002F1.protected-dashboard","recipes","md",{"requestedPath":461,"resolvedPath":461,"alternates":1930},[],{"requested":1932,"resolved":1933,"usedFallback":6},{},{"locale":8},{"previous":1935,"next":1937},{"title":445,"id":446,"canonicalKey":447,"locale":8,"draft":6,"navigation":1936,"icon":100,"path":449},{"icon":100},{"title":463,"id":464,"canonicalKey":465,"locale":8,"draft":6,"navigation":1938,"icon":467,"path":468},{"icon":467},{"left":1940,"top":1940,"width":1941,"height":1941,"rotate":1940,"vFlip":6,"hFlip":6,"body":1942},0,256,"\u003Cpath fill=\"#3178c6\" d=\"M20 0h216c11.046 0 20 8.954 20 20v216c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20V20C0 8.954 8.954 0 20 0\"\u002F>\u003Cpath fill=\"#fff\" d=\"M150.518 200.475v27.62q6.738 3.453 15.938 5.179T185.849 235q9.934 0 18.874-1.899t15.678-6.257q6.738-4.359 10.669-11.394q3.93-7.033 3.93-17.391q0-7.51-2.246-13.163a30.8 30.8 0 0 0-6.479-10.055q-4.232-4.402-10.149-7.898t-13.347-6.602q-5.442-2.245-9.761-4.359t-7.342-4.316q-3.024-2.2-4.665-4.661t-1.641-5.567q0-2.848 1.468-5.135q1.469-2.288 4.147-3.927t6.565-2.547q3.887-.906 8.638-.906q3.456 0 7.299.518q3.844.517 7.732 1.597a54 54 0 0 1 7.558 2.719a41.7 41.7 0 0 1 6.781 3.797v-25.807q-6.306-2.417-13.778-3.582T198.633 107q-9.847 0-18.658 2.115q-8.811 2.114-15.506 6.602q-6.694 4.49-10.582 11.437Q150 134.102 150 143.769q0 12.342 7.127 21.06t21.638 14.759a292 292 0 0 1 10.625 4.575q4.924 2.244 8.509 4.66t5.658 5.265t2.073 6.474a9.9 9.9 0 0 1-1.296 4.963q-1.295 2.287-3.93 3.97t-6.565 2.632t-9.2.95q-8.983 0-17.794-3.151t-16.327-9.451m-46.036-68.733H140V109H41v22.742h35.345V233h28.137z\"\u002F>",{"left":1940,"top":1940,"width":1941,"height":1944,"rotate":1940,"vFlip":6,"hFlip":6,"body":1945},221,"\u003Cpath fill=\"#41b883\" d=\"M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0z\"\u002F>\u003Cpath fill=\"#41b883\" d=\"m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0z\"\u002F>\u003Cpath fill=\"#35495e\" d=\"M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0z\"\u002F>",{"left":1940,"top":1940,"width":1947,"height":1947,"rotate":1940,"vFlip":6,"hFlip":6,"body":1948},24,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\"\u002F>\u003Cpath d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"\u002F>\u003C\u002Fg>",1786627526778]