[{"data":1,"prerenderedAt":996},["ShallowReactive",2],{"navigation":3,"\u002Fadmin\u002Fextending":178,"\u002Fadmin\u002Fextending-surround":991},[4,23,78,95,123,143,158],{"title":5,"path":6,"stem":7,"children":8,"icon":22},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F3.configuration","i-lucide-settings",false,{"title":24,"icon":22,"path":25,"stem":26,"children":27,"page":22},"Sign-in","\u002Fsign-in","2.sign-in",[28,33,38,43,48,53,58,63,68,73],{"title":29,"path":30,"stem":31,"icon":32},"Sign-in pages","\u002Fsign-in\u002Fpages","2.sign-in\u002F1.pages","i-lucide-log-in",{"title":34,"path":35,"stem":36,"icon":37},"Several accounts","\u002Fsign-in\u002Fmulti-session","2.sign-in\u002F10.multi-session","i-lucide-users-round",{"title":39,"path":40,"stem":41,"icon":42},"Account page","\u002Fsign-in\u002Faccount","2.sign-in\u002F2.account","i-lucide-circle-user",{"title":44,"path":45,"stem":46,"icon":47},"Other methods","\u002Fsign-in\u002Fmethods","2.sign-in\u002F3.methods","i-lucide-key-square",{"title":49,"path":50,"stem":51,"icon":52},"Sign-in providers","\u002Fsign-in\u002Fproviders","2.sign-in\u002F4.providers","i-lucide-share-2",{"title":54,"path":55,"stem":56,"icon":57},"Two-factor","\u002Fsign-in\u002Ftwo-factor","2.sign-in\u002F5.two-factor","i-lucide-shield-check",{"title":59,"path":60,"stem":61,"icon":62},"Passkeys","\u002Fsign-in\u002Fpasskeys","2.sign-in\u002F6.passkeys","i-lucide-fingerprint",{"title":64,"path":65,"stem":66,"icon":67},"Phone numbers","\u002Fsign-in\u002Fphone-numbers","2.sign-in\u002F7.phone-numbers","i-lucide-smartphone",{"title":69,"path":70,"stem":71,"icon":72},"Signing in devices","\u002Fsign-in\u002Fdevices","2.sign-in\u002F8.devices","i-lucide-tv",{"title":74,"path":75,"stem":76,"icon":77},"Security","\u002Fsign-in\u002Fsecurity","2.sign-in\u002F9.security","i-lucide-lock-keyhole",{"title":79,"path":80,"stem":81,"children":82,"icon":22},"Organizations","\u002Forganizations","3.organizations\u002F1.index",[83,85,90],{"title":79,"path":80,"stem":81,"icon":84},"i-lucide-building-2",{"title":86,"path":87,"stem":88,"icon":89},"Roles","\u002Forganizations\u002Froles","3.organizations\u002F2.roles","i-lucide-shield",{"title":91,"path":92,"stem":93,"icon":94},"Single sign-on","\u002Forganizations\u002Fsso","3.organizations\u002F3.sso","i-lucide-key-round",{"title":96,"path":97,"stem":98,"children":99,"icon":22},"Admin dashboard","\u002Fadmin","4.admin\u002F1.index",[100,103,108,113,118],{"title":101,"path":97,"stem":98,"icon":102},"Overview","i-lucide-layout-dashboard",{"title":104,"path":105,"stem":106,"icon":107},"Managing users","\u002Fadmin\u002Fusers","4.admin\u002F2.users","i-lucide-user-cog",{"title":109,"path":110,"stem":111,"icon":112},"Staff roles","\u002Fadmin\u002Froles","4.admin\u002F3.roles","i-lucide-shield-user",{"title":114,"path":115,"stem":116,"icon":117},"Audit log","\u002Fadmin\u002Faudit-log","4.admin\u002F4.audit-log","i-lucide-history",{"title":119,"path":120,"stem":121,"icon":122},"Your own pages","\u002Fadmin\u002Fextending","4.admin\u002F5.extending","i-lucide-layout-panel-left",{"title":124,"icon":22,"path":125,"stem":126,"children":127,"page":22},"Integrations","\u002Fintegrations","5.integrations",[128,133,138],{"title":129,"path":130,"stem":131,"icon":132},"Stripe","\u002Fintegrations\u002Fstripe","5.integrations\u002F1.stripe","i-simple-icons-stripe",{"title":134,"path":135,"stem":136,"icon":137},"API keys","\u002Fintegrations\u002Fapi-keys","5.integrations\u002F2.api-keys","i-lucide-key",{"title":139,"path":140,"stem":141,"icon":142},"Tokens","\u002Fintegrations\u002Ftokens","5.integrations\u002F3.tokens","i-lucide-ticket",{"title":144,"icon":22,"path":145,"stem":146,"children":147,"page":22},"Customization","\u002Fcustomization","6.customization",[148,153],{"title":149,"path":150,"stem":151,"icon":152},"Emails","\u002Fcustomization\u002Femails","6.customization\u002F1.emails","i-lucide-mail",{"title":154,"path":155,"stem":156,"icon":157},"Languages","\u002Fcustomization\u002Flanguages","6.customization\u002F2.languages","i-lucide-languages",{"title":159,"icon":22,"path":160,"stem":161,"children":162,"page":22},"Reference","\u002Freference","7.reference",[163,168,173],{"title":164,"path":165,"stem":166,"icon":167},"How it works","\u002Freference\u002Fhow-it-works","7.reference\u002F1.how-it-works","i-lucide-cog",{"title":169,"path":170,"stem":171,"icon":172},"API reference","\u002Freference\u002Fapi","7.reference\u002F2.api","i-lucide-braces",{"title":174,"path":175,"stem":176,"icon":177},"Contributing","\u002Freference\u002Fcontributing","7.reference\u002F3.contributing","i-lucide-git-pull-request",{"id":179,"title":119,"body":180,"description":984,"extension":985,"links":986,"meta":987,"navigation":988,"path":120,"seo":989,"stem":121,"__hash__":990},"docs\u002F4.admin\u002F5.extending.md",{"type":181,"value":182,"toc":978},"minimark",[183,188,192,592,670,681,684,688,702,924,929,933,955,959,974],[184,185,187],"h2",{"id":186},"adding-a-page","Adding a page",[189,190,191],"p",{},"Any page of your app under the admin route is part of the dashboard. It uses the dashboard's layout and is for\nstaff only, like the module's pages. Its page meta adds it to the sidebar and search:",[193,194,200],"pre",{"className":195,"code":196,"filename":197,"language":198,"meta":199,"style":199},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\ndefinePageMeta({\n  betterAuthAdmin: {\n    label: 'Reports',\n    icon: 'i-lucide-chart-bar',\n    \u002F\u002F Optional: staff whose role doesn't grant these get a 403, and no sidebar entry.\n    permissions: { user: ['set-role'] }\n  }\n})\n\nconst { data } = await useFetch('\u002Fapi\u002Fadmin\u002Freports')\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CUDashboardPanel id=\"reports\">\n    \u003Ctemplate #header>\n      \u003CUDashboardNavbar title=\"Reports\">\n        \u003Ctemplate #leading>\n          \u003CUDashboardSidebarCollapse \u002F>\n        \u003C\u002Ftemplate>\n      \u003C\u002FUDashboardNavbar>\n    \u003C\u002Ftemplate>\n\n    \u003Ctemplate #body>\n      \u003C!-- … -->\n    \u003C\u002Ftemplate>\n  \u003C\u002FUDashboardPanel>\n\u003C\u002Ftemplate>\n","app\u002Fpages\u002Fadmin\u002Freports.vue","vue","",[201,202,203,238,252,264,284,301,308,340,346,355,362,396,406,411,421,444,460,482,497,509,519,529,539,544,558,564,573,583],"code",{"__ignoreMap":199},[204,205,208,212,216,220,223,226,229,233,235],"span",{"class":206,"line":207},"line",1,[204,209,211],{"class":210},"sMK4o","\u003C",[204,213,215],{"class":214},"swJcz","script",[204,217,219],{"class":218},"spNyl"," setup",[204,221,222],{"class":218}," lang",[204,224,225],{"class":210},"=",[204,227,228],{"class":210},"\"",[204,230,232],{"class":231},"sfazB","ts",[204,234,228],{"class":210},[204,236,237],{"class":210},">\n",[204,239,241,245,249],{"class":206,"line":240},2,[204,242,244],{"class":243},"s2Zo4","definePageMeta",[204,246,248],{"class":247},"sTEyZ","(",[204,250,251],{"class":210},"{\n",[204,253,255,258,261],{"class":206,"line":254},3,[204,256,257],{"class":214},"  betterAuthAdmin",[204,259,260],{"class":210},":",[204,262,263],{"class":210}," {\n",[204,265,267,270,272,275,278,281],{"class":206,"line":266},4,[204,268,269],{"class":214},"    label",[204,271,260],{"class":210},[204,273,274],{"class":210}," '",[204,276,277],{"class":231},"Reports",[204,279,280],{"class":210},"'",[204,282,283],{"class":210},",\n",[204,285,287,290,292,294,297,299],{"class":206,"line":286},5,[204,288,289],{"class":214},"    icon",[204,291,260],{"class":210},[204,293,274],{"class":210},[204,295,296],{"class":231},"i-lucide-chart-bar",[204,298,280],{"class":210},[204,300,283],{"class":210},[204,302,304],{"class":206,"line":303},6,[204,305,307],{"class":306},"sHwdD","    \u002F\u002F Optional: staff whose role doesn't grant these get a 403, and no sidebar entry.\n",[204,309,311,314,316,319,322,324,327,329,332,334,337],{"class":206,"line":310},7,[204,312,313],{"class":214},"    permissions",[204,315,260],{"class":210},[204,317,318],{"class":210}," {",[204,320,321],{"class":214}," user",[204,323,260],{"class":210},[204,325,326],{"class":247}," [",[204,328,280],{"class":210},[204,330,331],{"class":231},"set-role",[204,333,280],{"class":210},[204,335,336],{"class":247},"] ",[204,338,339],{"class":210},"}\n",[204,341,343],{"class":206,"line":342},8,[204,344,345],{"class":210},"  }\n",[204,347,349,352],{"class":206,"line":348},9,[204,350,351],{"class":210},"}",[204,353,354],{"class":247},")\n",[204,356,358],{"class":206,"line":357},10,[204,359,361],{"emptyLinePlaceholder":360},true,"\n",[204,363,365,368,370,373,375,378,382,385,387,389,392,394],{"class":206,"line":364},11,[204,366,367],{"class":218},"const",[204,369,318],{"class":210},[204,371,372],{"class":247}," data ",[204,374,351],{"class":210},[204,376,377],{"class":210}," =",[204,379,381],{"class":380},"s7zQu"," await",[204,383,384],{"class":243}," useFetch",[204,386,248],{"class":247},[204,388,280],{"class":210},[204,390,391],{"class":231},"\u002Fapi\u002Fadmin\u002Freports",[204,393,280],{"class":210},[204,395,354],{"class":247},[204,397,399,402,404],{"class":206,"line":398},12,[204,400,401],{"class":210},"\u003C\u002F",[204,403,215],{"class":214},[204,405,237],{"class":210},[204,407,409],{"class":206,"line":408},13,[204,410,361],{"emptyLinePlaceholder":360},[204,412,414,416,419],{"class":206,"line":413},14,[204,415,211],{"class":210},[204,417,418],{"class":214},"template",[204,420,237],{"class":210},[204,422,424,427,430,433,435,437,440,442],{"class":206,"line":423},15,[204,425,426],{"class":210},"  \u003C",[204,428,429],{"class":214},"UDashboardPanel",[204,431,432],{"class":218}," id",[204,434,225],{"class":210},[204,436,228],{"class":210},[204,438,439],{"class":231},"reports",[204,441,228],{"class":210},[204,443,237],{"class":210},[204,445,447,450,452,455,458],{"class":206,"line":446},16,[204,448,449],{"class":210},"    \u003C",[204,451,418],{"class":214},[204,453,454],{"class":210}," #",[204,456,457],{"class":218},"header",[204,459,237],{"class":210},[204,461,463,466,469,472,474,476,478,480],{"class":206,"line":462},17,[204,464,465],{"class":210},"      \u003C",[204,467,468],{"class":214},"UDashboardNavbar",[204,470,471],{"class":218}," title",[204,473,225],{"class":210},[204,475,228],{"class":210},[204,477,277],{"class":231},[204,479,228],{"class":210},[204,481,237],{"class":210},[204,483,485,488,490,492,495],{"class":206,"line":484},18,[204,486,487],{"class":210},"        \u003C",[204,489,418],{"class":214},[204,491,454],{"class":210},[204,493,494],{"class":218},"leading",[204,496,237],{"class":210},[204,498,500,503,506],{"class":206,"line":499},19,[204,501,502],{"class":210},"          \u003C",[204,504,505],{"class":214},"UDashboardSidebarCollapse",[204,507,508],{"class":210}," \u002F>\n",[204,510,512,515,517],{"class":206,"line":511},20,[204,513,514],{"class":210},"        \u003C\u002F",[204,516,418],{"class":214},[204,518,237],{"class":210},[204,520,522,525,527],{"class":206,"line":521},21,[204,523,524],{"class":210},"      \u003C\u002F",[204,526,468],{"class":214},[204,528,237],{"class":210},[204,530,532,535,537],{"class":206,"line":531},22,[204,533,534],{"class":210},"    \u003C\u002F",[204,536,418],{"class":214},[204,538,237],{"class":210},[204,540,542],{"class":206,"line":541},23,[204,543,361],{"emptyLinePlaceholder":360},[204,545,547,549,551,553,556],{"class":206,"line":546},24,[204,548,449],{"class":210},[204,550,418],{"class":214},[204,552,454],{"class":210},[204,554,555],{"class":218},"body",[204,557,237],{"class":210},[204,559,561],{"class":206,"line":560},25,[204,562,563],{"class":306},"      \u003C!-- … -->\n",[204,565,567,569,571],{"class":206,"line":566},26,[204,568,534],{"class":210},[204,570,418],{"class":214},[204,572,237],{"class":210},[204,574,576,579,581],{"class":206,"line":575},27,[204,577,578],{"class":210},"  \u003C\u002F",[204,580,429],{"class":214},[204,582,237],{"class":210},[204,584,586,588,590],{"class":206,"line":585},28,[204,587,401],{"class":210},[204,589,418],{"class":214},[204,591,237],{"class":210},[593,594,595,607],"table",{},[596,597,598],"thead",{},[599,600,601,605],"tr",{},[602,603,604],"th",{},"Page meta",[602,606],{},[608,609,610,625,638,657],"tbody",{},[599,611,612,618],{},[613,614,615],"td",{},[201,616,617],{},"label",[613,619,620,621,624],{},"The sidebar and search entry: words, or a key from ",[201,622,623],{},"messages"," to translate it. Without one, the page has no entry (for a page you link to, such as a report's details).",[599,626,627,632],{},[613,628,629],{},[201,630,631],{},"icon",[613,633,634,635,637],{},"Any icon name, eg ",[201,636,296],{},".",[599,639,640,645],{},[613,641,642],{},[201,643,644],{},"permissions",[613,646,647,648,653,654,637],{},"The ",[649,650,652],"a",{"href":651},"\u002Fadmin\u002Froles#permissions","Better Auth Admin permissions"," the page needs, eg ",[201,655,656],{},"{ user: ['set-role'] }",[599,658,659,664],{},[613,660,661],{},[201,662,663],{},"order",[613,665,666,667,637],{},"Where it goes among your own entries, lowest first, then by path. Default ",[201,668,669],{},"0",[189,671,672,673,676,677,680],{},"Your entries go after the module's, before ",[674,675,18],"strong",{},". Pages with parameters in their path (",[201,678,679],{},"[id].vue",")\ndon't get one.",[189,682,683],{},"The page meta only hides the page. Your API routes must check permissions too.",[184,685,687],{"id":686},"api-routes","API routes",[189,689,690,693,694,697,698,701],{},[201,691,692],{},"requireBetterAuthAdmin"," checks the Better Auth Admin permissions the same way the module's routes do. It returns\nthe signed-in user and Better Auth's context. ",[201,695,696],{},"recordBetterAuthAdminAction"," adds an entry to the\n",[649,699,700],{"href":115},"audit log",", when it's on:",[193,703,707],{"className":704,"code":705,"filename":706,"language":232,"meta":199,"style":199},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineEventHandler(async (event) => {\n  \u002F\u002F 401 when signed out, 403 without the permissions.\n  const { user, context } = await requireBetterAuthAdmin(event, { user: ['list'] })\n\n  const report = await buildReport()\n\n  await recordBetterAuthAdminAction(event, context, {\n    action: 'report.export',\n    actor: user,\n    target: null,\n    details: { rows: report.length }\n  })\n  return report\n})\n","server\u002Fapi\u002Fadmin\u002Freports\u002Fexport.post.ts",[201,708,709,740,745,797,801,818,822,842,858,869,879,903,910,918],{"__ignoreMap":199},[204,710,711,714,717,720,722,725,728,732,735,738],{"class":206,"line":207},[204,712,713],{"class":380},"export",[204,715,716],{"class":380}," default",[204,718,719],{"class":243}," defineEventHandler",[204,721,248],{"class":247},[204,723,724],{"class":218},"async",[204,726,727],{"class":210}," (",[204,729,731],{"class":730},"sHdIc","event",[204,733,734],{"class":210},")",[204,736,737],{"class":218}," =>",[204,739,263],{"class":210},[204,741,742],{"class":206,"line":240},[204,743,744],{"class":306},"  \u002F\u002F 401 when signed out, 403 without the permissions.\n",[204,746,747,750,752,754,757,760,763,765,767,770,772,774,776,778,780,782,784,786,789,791,793,795],{"class":206,"line":254},[204,748,749],{"class":218},"  const",[204,751,318],{"class":210},[204,753,321],{"class":247},[204,755,756],{"class":210},",",[204,758,759],{"class":247}," context",[204,761,762],{"class":210}," }",[204,764,377],{"class":210},[204,766,381],{"class":380},[204,768,769],{"class":243}," requireBetterAuthAdmin",[204,771,248],{"class":214},[204,773,731],{"class":247},[204,775,756],{"class":210},[204,777,318],{"class":210},[204,779,321],{"class":214},[204,781,260],{"class":210},[204,783,326],{"class":214},[204,785,280],{"class":210},[204,787,788],{"class":231},"list",[204,790,280],{"class":210},[204,792,336],{"class":214},[204,794,351],{"class":210},[204,796,354],{"class":214},[204,798,799],{"class":206,"line":266},[204,800,361],{"emptyLinePlaceholder":360},[204,802,803,805,808,810,812,815],{"class":206,"line":286},[204,804,749],{"class":218},[204,806,807],{"class":247}," report",[204,809,377],{"class":210},[204,811,381],{"class":380},[204,813,814],{"class":243}," buildReport",[204,816,817],{"class":214},"()\n",[204,819,820],{"class":206,"line":303},[204,821,361],{"emptyLinePlaceholder":360},[204,823,824,827,830,832,834,836,838,840],{"class":206,"line":310},[204,825,826],{"class":380},"  await",[204,828,829],{"class":243}," recordBetterAuthAdminAction",[204,831,248],{"class":214},[204,833,731],{"class":247},[204,835,756],{"class":210},[204,837,759],{"class":247},[204,839,756],{"class":210},[204,841,263],{"class":210},[204,843,844,847,849,851,854,856],{"class":206,"line":342},[204,845,846],{"class":214},"    action",[204,848,260],{"class":210},[204,850,274],{"class":210},[204,852,853],{"class":231},"report.export",[204,855,280],{"class":210},[204,857,283],{"class":210},[204,859,860,863,865,867],{"class":206,"line":348},[204,861,862],{"class":214},"    actor",[204,864,260],{"class":210},[204,866,321],{"class":247},[204,868,283],{"class":210},[204,870,871,874,876],{"class":206,"line":357},[204,872,873],{"class":214},"    target",[204,875,260],{"class":210},[204,877,878],{"class":210}," null,\n",[204,880,881,884,886,888,891,893,895,897,900],{"class":206,"line":364},[204,882,883],{"class":214},"    details",[204,885,260],{"class":210},[204,887,318],{"class":210},[204,889,890],{"class":214}," rows",[204,892,260],{"class":210},[204,894,807],{"class":247},[204,896,637],{"class":210},[204,898,899],{"class":247},"length",[204,901,902],{"class":210}," }\n",[204,904,905,908],{"class":206,"line":398},[204,906,907],{"class":210},"  }",[204,909,354],{"class":214},[204,911,912,915],{"class":206,"line":408},[204,913,914],{"class":380},"  return",[204,916,917],{"class":247}," report\n",[204,919,920,922],{"class":206,"line":413},[204,921,351],{"class":210},[204,923,354],{"class":247},[189,925,926,927,637],{},"The audit log shows your own actions under the name you gave them, eg ",[201,928,853],{},[184,930,932],{"id":931},"in-your-pages","In your pages",[934,935,936,946],"ul",{},[937,938,939,942,943,637],"li",{},[201,940,941],{},"useBetterAuthAdminCan()"," checks the signed-in user's permissions, with the same roles as the server:\n",[201,944,945],{},"can({ user: ['ban'] })",[937,947,948,951,952,637],{},[201,949,950],{},"useBetterAuthAdminPath()"," turns a path into a URL under the admin route: ",[201,953,954],{},"adminPath('\u002Fusers')",[184,956,958],{"id":957},"replacing-a-page","Replacing a page",[189,960,961,962,965,966,969,970,973],{},"Your page at the same path as one of the module's (",[201,963,964],{},"app\u002Fpages\u002Fadmin\u002Fsessions.vue",", ",[201,967,968],{},"app\u002Fpages\u002Fadmin\u002Fusers\u002F[id].vue",",\n…) replaces it, as with the ",[649,971,972],{"href":30},"sign-in pages",". The module's sidebar entry for it stays and leads to\nyours.",[975,976,977],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}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 .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":199,"searchDepth":207,"depth":240,"links":979},[980,981,982,983],{"id":186,"depth":240,"text":187},{"id":686,"depth":240,"text":687},{"id":931,"depth":240,"text":932},{"id":957,"depth":240,"text":958},"Add your app's pages to the admin dashboard, or replace the module's.","md",null,{},{"icon":122},{"title":119,"description":984},"MmiqIzY5ocYGmqATkYMip6xH-iEmL1RPuBp_QNjk8PQ",[992,994],{"title":114,"path":115,"stem":116,"description":993,"icon":117,"children":-1},"Who did what and when, users' sign-ins, and who's online.",{"title":129,"path":130,"stem":131,"description":995,"icon":132,"children":-1},"Plans, Checkout, the billing portal, and each user's subscription in the admin.",1793019844794]