[{"data":1,"prerenderedAt":1276},["ShallowReactive",2],{"navigation_docs":3,"-overview-routing":106,"-overview-routing-surround":1273},[4,36,72],{"title":5,"icon":6,"redirect":7,"path":8,"stem":9,"children":10,"page":35},"Get Started","heroicons-outline:star","/get-started/introduction","/get-started","1.get-started",[11,15,20,25,30],{"title":12,"path":7,"stem":13,"icon":14},"Introduction","1.get-started/1.introduction","uil:info-circle",{"title":16,"path":17,"stem":18,"icon":19},"Installation","/get-started/installation","1.get-started/2.installation","uil:play-circle",{"title":21,"path":22,"stem":23,"icon":24},"Configuration","/get-started/configuration","1.get-started/3.configuration","uil:wrench",{"title":26,"path":27,"stem":28,"icon":29},"Enabling Capacitor","/get-started/enabling-capacitor","1.get-started/4.enabling-capacitor","nonicons:capacitor-16",{"title":31,"path":32,"stem":33,"icon":34},"Watchouts","/get-started/watch-outs","1.get-started/5.watch-outs","uil:exclamation-triangle",false,{"title":37,"icon":38,"redirect":39,"path":40,"stem":41,"children":42,"page":35},"Overview","heroicons-outline:sparkles","/overview/routing","/overview","2.overview",[43,47,52,57,62,67],{"title":44,"path":39,"stem":45,"icon":46},"Routing","2.overview/1.routing","uil:sign-alt",{"title":48,"path":49,"stem":50,"icon":51},"Theming","/overview/theming","2.overview/2.theming","uil:palette",{"title":53,"path":54,"stem":55,"icon":56},"Ionic Auto-Imports","/overview/ionic-auto-imports","2.overview/3.ionic-auto-imports","uil:channel",{"title":58,"path":59,"stem":60,"icon":61},"Module Utilities","/overview/module-utilities","2.overview/4.module-utilities","uil:layer-group",{"title":63,"path":64,"stem":65,"icon":66},"Icons","/overview/icons","2.overview/5.icons","uil:illustration",{"title":68,"path":69,"stem":70,"icon":71},"Deployment","/overview/deployment","2.overview/6.deployment","uil:rocket",{"title":73,"icon":74,"redirect":75,"path":76,"stem":77,"children":78,"page":35},"Cookbook","heroicons-outline:bookmark-alt","/cookbook/customising-app-vue","/cookbook","3.cookbook",[79,82,86,90,94,98,102],{"title":80,"path":75,"stem":81},"Customising app.vue","3.cookbook/1.customising-app-vue",{"title":83,"path":84,"stem":85},"Local Development","/cookbook/local-development","3.cookbook/2.local-development",{"title":87,"path":88,"stem":89},"App Tabs","/cookbook/app-tabs","3.cookbook/3.app-tabs",{"title":91,"path":92,"stem":93},"useHead / Page Meta","/cookbook/page-metadata","3.cookbook/4.page-metadata",{"title":95,"path":96,"stem":97},"iOS and Android Apps","/cookbook/creating-ios-android-apps","3.cookbook/5.creating-ios-android-apps",{"title":99,"path":100,"stem":101},"Web And Device","/cookbook/web-and-device","3.cookbook/6.web-and-device",{"title":103,"path":104,"stem":105},"Live Updates","/cookbook/live-updates","3.cookbook/7.live-updates",{"id":107,"title":44,"body":108,"description":1266,"extension":1267,"links":1268,"meta":1269,"navigation":1270,"path":39,"seo":1271,"stem":45,"__hash__":1272},"docs/2.overview/1.routing.md",{"type":109,"value":110,"toc":1254},"minimark",[111,124,152,157,170,182,187,343,357,362,381,389,393,400,406,458,461,465,475,483,486,500,509,512,761,770,774,781,791,794,917,928,936,940,947,1029,1036,1040,1043,1243,1250],[112,113,114,115,119,120,123],"p",{},"By default, this module sets up the Ionic Router, or ",[116,117,118],"code",{},"IonRouter",". This router is built on top of ",[116,121,122],{},"vue-router",", but with some changed functionality specifically for making it work better for mobile applications.",[125,126,128],"list",{"type":127},"success",[129,130,131,143,146,149],"ul",{},[132,133,134,135,142],"li",{},"Enables ",[136,137,141],"a",{"href":138,"rel":139},"https://ionicframework.com/docs/vue/navigation#non-linear-routing",[140],"nofollow","non-linear routing",", e.g. for application tabs",[132,144,145],{},"Separate navigation stacks for each tab of your application",[132,147,148],{},"Rich page transitions out-of-the-box, appropriate for mobile",[132,150,151],{},"Simple API for custom animations and direction control when navigating via links",[153,154,156],"h2",{"id":155},"pages","Pages",[112,158,159,160,163,164,169],{},"Just like regular Nuxt, you can start building your Ionic application by creating routes within the ",[116,161,162],{},"~/pages"," directory. Every Vue file inside this directory will generate a route that displays the contents of the file. Read more about ",[136,165,168],{"href":166,"rel":167},"https://nuxt.com/docs/getting-started/routing",[140],"Nuxt file-based routing"," here.",[125,171,173],{"type":172},"warning",[129,174,175],{},[132,176,177,178,181],{},"The root component of every page must always be the ",[116,179,180],{},"\u003Cion-page>"," component.",[112,183,184,185,181],{},"This is required by Ionic to set up page transitions and stack navigation. Each view that is navigated to using the router must include an ",[116,186,180],{},[188,189,195],"pre",{"className":190,"code":191,"filename":192,"language":193,"meta":194,"style":194},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ctemplate>\n  \u003Cion-page>\n    \u003Cion-header>\n      \u003Cion-toolbar>\n        \u003Cion-title>Home\u003C/ion-title>\n      \u003C/ion-toolbar>\n    \u003C/ion-header>\n    \u003Cion-content class=\"ion-padding\">Hello World\u003C/ion-content>\n  \u003C/ion-page>\n\u003C/template>\n","~/pages/home.vue","vue","",[116,196,197,213,224,235,246,269,279,289,324,334],{"__ignoreMap":194},[198,199,202,206,210],"span",{"class":200,"line":201},"line",1,[198,203,205],{"class":204},"sMK4o","\u003C",[198,207,209],{"class":208},"swJcz","template",[198,211,212],{"class":204},">\n",[198,214,216,219,222],{"class":200,"line":215},2,[198,217,218],{"class":204},"  \u003C",[198,220,221],{"class":208},"ion-page",[198,223,212],{"class":204},[198,225,227,230,233],{"class":200,"line":226},3,[198,228,229],{"class":204},"    \u003C",[198,231,232],{"class":208},"ion-header",[198,234,212],{"class":204},[198,236,238,241,244],{"class":200,"line":237},4,[198,239,240],{"class":204},"      \u003C",[198,242,243],{"class":208},"ion-toolbar",[198,245,212],{"class":204},[198,247,249,252,255,258,262,265,267],{"class":200,"line":248},5,[198,250,251],{"class":204},"        \u003C",[198,253,254],{"class":208},"ion-title",[198,256,257],{"class":204},">",[198,259,261],{"class":260},"sTEyZ","Home",[198,263,264],{"class":204},"\u003C/",[198,266,254],{"class":208},[198,268,212],{"class":204},[198,270,272,275,277],{"class":200,"line":271},6,[198,273,274],{"class":204},"      \u003C/",[198,276,243],{"class":208},[198,278,212],{"class":204},[198,280,282,285,287],{"class":200,"line":281},7,[198,283,284],{"class":204},"    \u003C/",[198,286,232],{"class":208},[198,288,212],{"class":204},[198,290,292,294,297,301,304,307,311,313,315,318,320,322],{"class":200,"line":291},8,[198,293,229],{"class":204},[198,295,296],{"class":208},"ion-content",[198,298,300],{"class":299},"spNyl"," class",[198,302,303],{"class":204},"=",[198,305,306],{"class":204},"\"",[198,308,310],{"class":309},"sfazB","ion-padding",[198,312,306],{"class":204},[198,314,257],{"class":204},[198,316,317],{"class":260},"Hello World",[198,319,264],{"class":204},[198,321,296],{"class":208},[198,323,212],{"class":204},[198,325,327,330,332],{"class":200,"line":326},9,[198,328,329],{"class":204},"  \u003C/",[198,331,221],{"class":208},[198,333,212],{"class":204},[198,335,337,339,341],{"class":200,"line":336},10,[198,338,264],{"class":204},[198,340,209],{"class":208},[198,342,212],{"class":204},[344,345,348,349,356],"callout",{"color":346,"icon":347},"info","i-lucide-info","Read more about ",[136,350,353,355],{"href":351,"rel":352},"https://ionicframework.com/docs/vue/navigation#ionpage",[140],[116,354,180],{}," here",".",[358,359,361],"h3",{"id":360},"defining-page-meta","Defining page meta",[112,363,364,365,368,369,372,373,376,377,380],{},"Nuxt utilities like ",[116,366,367],{},"definePageMeta"," are fully functional. However, you should avoid using ",[116,370,371],{},"\u003CNuxtPage>"," or ",[116,374,375],{},"\u003CNuxtLayout>"," as these will not function correctly, due to Ionic requiring an ",[116,378,379],{},"\u003Cion-router-outlet>"," instead.",[344,382,348,383,356],{"color":346,"icon":347},[136,384,387,355],{"href":385,"rel":386},"https://nuxt.com/docs/api/utils/define-page-meta",[140],[116,388,367],{},[358,390,392],{"id":391},"define-a-root-alias-if-theres-no-indexvue-page","Define a root alias if there's no index.vue page",[112,394,395,396,399],{},"Usually applications with tab bars will not have a ",[116,397,398],{},"~/pages/index.vue"," file, as it's not needed. However, this will mean opening the app will return a 404, e.g. on localhost:3000.",[112,401,402,403,405],{},"To solve this, if you do not have a ",[116,404,398],{}," file in your project, you should add the following code to the page that you want to be displayed on your app's root page:",[188,407,412],{"className":408,"code":409,"filename":410,"language":411,"meta":194,"style":194},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","definePageMeta({\n  alias: ['/'],\n})\n","pages/tabs.vue","ts",[116,413,414,425,450],{"__ignoreMap":194},[198,415,416,419,422],{"class":200,"line":201},[198,417,367],{"class":418},"s2Zo4",[198,420,421],{"class":260},"(",[198,423,424],{"class":204},"{\n",[198,426,427,430,433,436,439,442,444,447],{"class":200,"line":215},[198,428,429],{"class":208},"  alias",[198,431,432],{"class":204},":",[198,434,435],{"class":260}," [",[198,437,438],{"class":204},"'",[198,440,441],{"class":309},"/",[198,443,438],{"class":204},[198,445,446],{"class":260},"]",[198,448,449],{"class":204},",\n",[198,451,452,455],{"class":200,"line":226},[198,453,454],{"class":204},"}",[198,456,457],{"class":260},")\n",[112,459,460],{},"It will now be used as the root path, and will be routed to by default when visiting e.g. localhost:3000.",[153,462,464],{"id":463},"navigation","Navigation",[112,466,467,468,470,471,474],{},"Navigation can be done in several ways, using the ",[116,469,118],{}," or certain ",[116,472,473],{},"ion-"," components.",[344,476,477,478,356],{"color":346,"icon":347},"Read about navigation in ",[136,479,482],{"href":480,"rel":481},"https://ionicframework.com/docs/vue/navigation",[140],"Ionic's Vue Navigation docs",[358,484,118],{"id":485},"ionrouter",[112,487,488,489,492,493,496,497,499],{},"To access the router, use the composable ",[116,490,491],{},"useIonRouter()",". This should always be used instead of the regular ",[116,494,495],{},"useRouter()"," (which is auto-imported from ",[116,498,122],{}," by Nuxt). This ensures the benefits of the Ion Router are always provided.",[112,501,502,503,505,506,356],{},"This module auto-imports ",[116,504,491],{}," so it should be available automatically. If this is disabled, you can import it from ",[116,507,508],{},"@ionic/vue",[112,510,511],{},"It is best used when you wish to control navigation programmatically and have full control over the page transitions.",[188,513,515],{"className":190,"code":514,"language":193,"meta":194,"style":194},"\u003Cscript setup lang=\"ts\">\nimport { customAnimation } from '~/animations/customAnimation';\n\nconst router = useIonRouter();\n\nconst goHome = () => router.push('/home');\nconst goBack = () => router.back();\nconst replaceRoute = () => router.replace({ name: 'newRoute' })\nconst customAnimatedNavigation = () => router.navigate('/page2', 'forward', 'replace', customAnimation);\n\u003C/script>\n",[116,516,517,540,569,575,593,597,634,658,699,753],{"__ignoreMap":194},[198,518,519,521,524,527,530,532,534,536,538],{"class":200,"line":201},[198,520,205],{"class":204},[198,522,523],{"class":208},"script",[198,525,526],{"class":299}," setup",[198,528,529],{"class":299}," lang",[198,531,303],{"class":204},[198,533,306],{"class":204},[198,535,411],{"class":309},[198,537,306],{"class":204},[198,539,212],{"class":204},[198,541,542,546,549,552,555,558,561,564,566],{"class":200,"line":215},[198,543,545],{"class":544},"s7zQu","import",[198,547,548],{"class":204}," {",[198,550,551],{"class":260}," customAnimation",[198,553,554],{"class":204}," }",[198,556,557],{"class":544}," from",[198,559,560],{"class":204}," '",[198,562,563],{"class":309},"~/animations/customAnimation",[198,565,438],{"class":204},[198,567,568],{"class":204},";\n",[198,570,571],{"class":200,"line":226},[198,572,574],{"emptyLinePlaceholder":573},true,"\n",[198,576,577,580,583,585,588,591],{"class":200,"line":237},[198,578,579],{"class":299},"const",[198,581,582],{"class":260}," router ",[198,584,303],{"class":204},[198,586,587],{"class":418}," useIonRouter",[198,589,590],{"class":260},"()",[198,592,568],{"class":204},[198,594,595],{"class":200,"line":248},[198,596,574],{"emptyLinePlaceholder":573},[198,598,599,601,604,606,609,612,615,617,620,622,624,627,629,632],{"class":200,"line":271},[198,600,579],{"class":299},[198,602,603],{"class":260}," goHome ",[198,605,303],{"class":204},[198,607,608],{"class":204}," ()",[198,610,611],{"class":299}," =>",[198,613,614],{"class":260}," router",[198,616,356],{"class":204},[198,618,619],{"class":418},"push",[198,621,421],{"class":260},[198,623,438],{"class":204},[198,625,626],{"class":309},"/home",[198,628,438],{"class":204},[198,630,631],{"class":260},")",[198,633,568],{"class":204},[198,635,636,638,641,643,645,647,649,651,654,656],{"class":200,"line":281},[198,637,579],{"class":299},[198,639,640],{"class":260}," goBack ",[198,642,303],{"class":204},[198,644,608],{"class":204},[198,646,611],{"class":299},[198,648,614],{"class":260},[198,650,356],{"class":204},[198,652,653],{"class":418},"back",[198,655,590],{"class":260},[198,657,568],{"class":204},[198,659,660,662,665,667,669,671,673,675,678,680,683,686,688,690,693,695,697],{"class":200,"line":291},[198,661,579],{"class":299},[198,663,664],{"class":260}," replaceRoute ",[198,666,303],{"class":204},[198,668,608],{"class":204},[198,670,611],{"class":299},[198,672,614],{"class":260},[198,674,356],{"class":204},[198,676,677],{"class":418},"replace",[198,679,421],{"class":260},[198,681,682],{"class":204},"{",[198,684,685],{"class":208}," name",[198,687,432],{"class":204},[198,689,560],{"class":204},[198,691,692],{"class":309},"newRoute",[198,694,438],{"class":204},[198,696,554],{"class":204},[198,698,457],{"class":260},[198,700,701,703,706,708,710,712,714,716,719,721,723,726,728,731,733,736,738,740,742,744,746,748,751],{"class":200,"line":326},[198,702,579],{"class":299},[198,704,705],{"class":260}," customAnimatedNavigation ",[198,707,303],{"class":204},[198,709,608],{"class":204},[198,711,611],{"class":299},[198,713,614],{"class":260},[198,715,356],{"class":204},[198,717,718],{"class":418},"navigate",[198,720,421],{"class":260},[198,722,438],{"class":204},[198,724,725],{"class":309},"/page2",[198,727,438],{"class":204},[198,729,730],{"class":204},",",[198,732,560],{"class":204},[198,734,735],{"class":309},"forward",[198,737,438],{"class":204},[198,739,730],{"class":204},[198,741,560],{"class":204},[198,743,677],{"class":309},[198,745,438],{"class":204},[198,747,730],{"class":204},[198,749,750],{"class":260}," customAnimation)",[198,752,568],{"class":204},[198,754,755,757,759],{"class":200,"line":336},[198,756,264],{"class":204},[198,758,523],{"class":208},[198,760,212],{"class":204},[344,762,348,763,356],{"color":346,"icon":347},[136,764,767],{"href":765,"rel":766},"https://ionicframework.com/docs/vue/navigation#navigating-using-useionrouter",[140],[116,768,769],{},"useIonRouter() here",[358,771,773],{"id":772},"navigating-with-components","Navigating with Components",[112,775,776,777,780],{},"All Ionic components expose a ",[116,778,779],{},"router-link"," attribute. When set, the router will navigate to the specified route when the component is clicked. It accepts strings as well as named routes.",[112,782,783,786,787,790],{},[116,784,785],{},"router-direction"," and ",[116,788,789],{},"router-animation"," are also available for further control.",[112,792,793],{},"It's best used when simple routing is required, without any programmatic logic before or after.",[188,795,797],{"className":190,"code":796,"language":193,"meta":194,"style":194},"\u003Ctemplate>\n  \u003Cion-button router-link=\"{ name: 'myPage' }\">Click Me\u003C/ion-button>\n  \u003Cion-button \n    router-link=\"/page2\" \n    router-direction=\"back\" \n    :router-animation=\"myAnimation\"\n  >\n    Click Me\n  \u003C/ion-button>\n\u003C/template>\n",[116,798,799,807,837,846,861,876,891,896,901,909],{"__ignoreMap":194},[198,800,801,803,805],{"class":200,"line":201},[198,802,205],{"class":204},[198,804,209],{"class":208},[198,806,212],{"class":204},[198,808,809,811,814,817,819,821,824,826,828,831,833,835],{"class":200,"line":215},[198,810,218],{"class":204},[198,812,813],{"class":208},"ion-button",[198,815,816],{"class":299}," router-link",[198,818,303],{"class":204},[198,820,306],{"class":204},[198,822,823],{"class":309},"{ name: 'myPage' }",[198,825,306],{"class":204},[198,827,257],{"class":204},[198,829,830],{"class":260},"Click Me",[198,832,264],{"class":204},[198,834,813],{"class":208},[198,836,212],{"class":204},[198,838,839,841,843],{"class":200,"line":226},[198,840,218],{"class":204},[198,842,813],{"class":208},[198,844,845],{"class":204}," \n",[198,847,848,851,853,855,857,859],{"class":200,"line":237},[198,849,850],{"class":299},"    router-link",[198,852,303],{"class":204},[198,854,306],{"class":204},[198,856,725],{"class":309},[198,858,306],{"class":204},[198,860,845],{"class":204},[198,862,863,866,868,870,872,874],{"class":200,"line":248},[198,864,865],{"class":299},"    router-direction",[198,867,303],{"class":204},[198,869,306],{"class":204},[198,871,653],{"class":309},[198,873,306],{"class":204},[198,875,845],{"class":204},[198,877,878,881,883,885,888],{"class":200,"line":271},[198,879,880],{"class":299},"    :router-animation",[198,882,303],{"class":204},[198,884,306],{"class":204},[198,886,887],{"class":309},"myAnimation",[198,889,890],{"class":204},"\"\n",[198,892,893],{"class":200,"line":281},[198,894,895],{"class":204},"  >\n",[198,897,898],{"class":200,"line":291},[198,899,900],{"class":260},"    Click Me\n",[198,902,903,905,907],{"class":200,"line":326},[198,904,329],{"class":204},[198,906,813],{"class":208},[198,908,212],{"class":204},[198,910,911,913,915],{"class":200,"line":336},[198,912,264],{"class":204},[198,914,209],{"class":208},[198,916,212],{"class":204},[344,918,919,920,356],{"color":346,"icon":347},"Read about ",[136,921,924,925,927],{"href":922,"rel":923},"https://ionicframework.com/docs/vue/navigation#navigating-using-router-link",[140],"using the ",[116,926,779],{}," attribute here",[344,929,931,932,935],{"color":172,"icon":930},"i-lucide-alert-triangle","Avoid using ",[116,933,934],{},"\u003CNuxtLink>"," for now as it currently is not integrated with the Ionic Router.",[153,937,939],{"id":938},"route-parameters","Route Parameters",[112,941,942,943,946],{},"When accessing route parameters, ",[116,944,945],{},"useRoute()"," should continue to be used, just like regular Nuxt.",[188,948,951],{"className":190,"code":949,"filename":950,"language":193,"meta":194,"style":194},"\u003Cscript setup lang=\"ts\">\nconst route = useRoute()\n\n// When accessing /posts/1, route.params.id will be 1\nconsole.log(route.params.id)\n\u003C/script>\n","pages/posts/[id}.vue",[116,952,953,973,988,992,998,1021],{"__ignoreMap":194},[198,954,955,957,959,961,963,965,967,969,971],{"class":200,"line":201},[198,956,205],{"class":204},[198,958,523],{"class":208},[198,960,526],{"class":299},[198,962,529],{"class":299},[198,964,303],{"class":204},[198,966,306],{"class":204},[198,968,411],{"class":309},[198,970,306],{"class":204},[198,972,212],{"class":204},[198,974,975,977,980,982,985],{"class":200,"line":215},[198,976,579],{"class":299},[198,978,979],{"class":260}," route ",[198,981,303],{"class":204},[198,983,984],{"class":418}," useRoute",[198,986,987],{"class":260},"()\n",[198,989,990],{"class":200,"line":226},[198,991,574],{"emptyLinePlaceholder":573},[198,993,994],{"class":200,"line":237},[198,995,997],{"class":996},"sHwdD","// When accessing /posts/1, route.params.id will be 1\n",[198,999,1000,1003,1005,1008,1011,1013,1016,1018],{"class":200,"line":248},[198,1001,1002],{"class":260},"console",[198,1004,356],{"class":204},[198,1006,1007],{"class":418},"log",[198,1009,1010],{"class":260},"(route",[198,1012,356],{"class":204},[198,1014,1015],{"class":260},"params",[198,1017,356],{"class":204},[198,1019,1020],{"class":260},"id)\n",[198,1022,1023,1025,1027],{"class":200,"line":271},[198,1024,264],{"class":204},[198,1026,523],{"class":208},[198,1028,212],{"class":204},[344,1030,348,1031,356],{"color":346,"icon":347},[136,1032,1035],{"href":1033,"rel":1034},"https://nuxt.com/docs/getting-started/routing#route-parameters",[140],"Nuxt route parmeters here",[153,1037,1039],{"id":1038},"route-middleware","Route Middleware",[112,1041,1042],{},"Nuxt's Route Middleware is also integrated and available, just like regular Nuxt.",[1044,1045,1046,1140],"code-group",{},[188,1047,1050],{"className":408,"code":1048,"filename":1049,"language":411,"meta":194,"style":194},"export default defineNuxtRouteMiddleware((to, from) => {\n  // isAuthenticated() is an example method verifying if a user is authenticated\n  if (isAuthenticated() === false) {\n    return showLoginModal(); // showLoginModal() is an example of opening a modal flow for authentication\n  }\n})\n","middleware/auth.ts",[116,1051,1052,1082,1087,1113,1129,1134],{"__ignoreMap":194},[198,1053,1054,1057,1060,1063,1065,1067,1071,1073,1075,1077,1079],{"class":200,"line":201},[198,1055,1056],{"class":544},"export",[198,1058,1059],{"class":544}," default",[198,1061,1062],{"class":418}," defineNuxtRouteMiddleware",[198,1064,421],{"class":260},[198,1066,421],{"class":204},[198,1068,1070],{"class":1069},"sHdIc","to",[198,1072,730],{"class":204},[198,1074,557],{"class":1069},[198,1076,631],{"class":204},[198,1078,611],{"class":299},[198,1080,1081],{"class":204}," {\n",[198,1083,1084],{"class":200,"line":215},[198,1085,1086],{"class":996},"  // isAuthenticated() is an example method verifying if a user is authenticated\n",[198,1088,1089,1092,1095,1098,1101,1104,1108,1111],{"class":200,"line":226},[198,1090,1091],{"class":544},"  if",[198,1093,1094],{"class":208}," (",[198,1096,1097],{"class":418},"isAuthenticated",[198,1099,1100],{"class":208},"() ",[198,1102,1103],{"class":204},"===",[198,1105,1107],{"class":1106},"sfNiH"," false",[198,1109,1110],{"class":208},") ",[198,1112,424],{"class":204},[198,1114,1115,1118,1121,1123,1126],{"class":200,"line":237},[198,1116,1117],{"class":544},"    return",[198,1119,1120],{"class":418}," showLoginModal",[198,1122,590],{"class":208},[198,1124,1125],{"class":204},";",[198,1127,1128],{"class":996}," // showLoginModal() is an example of opening a modal flow for authentication\n",[198,1130,1131],{"class":200,"line":248},[198,1132,1133],{"class":204},"  }\n",[198,1135,1136,1138],{"class":200,"line":271},[198,1137,454],{"class":204},[198,1139,457],{"class":260},[188,1141,1146],{"className":1142,"code":1143,"filename":1144,"language":1145,"meta":194,"style":194},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\ndefinePageMeta({\n  middleware: 'auth'\n})\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Ch1>Welcome to your feed\u003C/h1>\n\u003C/template>\n","pages/tabs/feed.vue","html",[116,1147,1148,1168,1176,1191,1197,1205,1209,1217,1235],{"__ignoreMap":194},[198,1149,1150,1152,1154,1156,1158,1160,1162,1164,1166],{"class":200,"line":201},[198,1151,205],{"class":204},[198,1153,523],{"class":208},[198,1155,526],{"class":299},[198,1157,529],{"class":299},[198,1159,303],{"class":204},[198,1161,306],{"class":204},[198,1163,411],{"class":309},[198,1165,306],{"class":204},[198,1167,212],{"class":204},[198,1169,1170,1172,1174],{"class":200,"line":215},[198,1171,367],{"class":418},[198,1173,421],{"class":260},[198,1175,424],{"class":204},[198,1177,1178,1181,1183,1185,1188],{"class":200,"line":226},[198,1179,1180],{"class":208},"  middleware",[198,1182,432],{"class":204},[198,1184,560],{"class":204},[198,1186,1187],{"class":309},"auth",[198,1189,1190],{"class":204},"'\n",[198,1192,1193,1195],{"class":200,"line":237},[198,1194,454],{"class":204},[198,1196,457],{"class":260},[198,1198,1199,1201,1203],{"class":200,"line":248},[198,1200,264],{"class":204},[198,1202,523],{"class":208},[198,1204,212],{"class":204},[198,1206,1207],{"class":200,"line":271},[198,1208,574],{"emptyLinePlaceholder":573},[198,1210,1211,1213,1215],{"class":200,"line":281},[198,1212,205],{"class":204},[198,1214,209],{"class":208},[198,1216,212],{"class":204},[198,1218,1219,1221,1224,1226,1229,1231,1233],{"class":200,"line":291},[198,1220,218],{"class":204},[198,1222,1223],{"class":208},"h1",[198,1225,257],{"class":204},[198,1227,1228],{"class":260},"Welcome to your feed",[198,1230,264],{"class":204},[198,1232,1223],{"class":208},[198,1234,212],{"class":204},[198,1236,1237,1239,1241],{"class":200,"line":326},[198,1238,264],{"class":204},[198,1240,209],{"class":208},[198,1242,212],{"class":204},[344,1244,348,1245,356],{"color":346,"icon":347},[136,1246,1249],{"href":1247,"rel":1248},"https://nuxt.com/docs/getting-started/routing#route-middleware",[140],"Nuxt route middleware here",[1251,1252,1253],"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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 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 .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}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":194,"searchDepth":215,"depth":215,"links":1255},[1256,1260,1264,1265],{"id":155,"depth":215,"text":156,"children":1257},[1258,1259],{"id":360,"depth":226,"text":361},{"id":391,"depth":226,"text":392},{"id":463,"depth":215,"text":464,"children":1261},[1262,1263],{"id":485,"depth":226,"text":118},{"id":772,"depth":226,"text":773},{"id":938,"depth":215,"text":939},{"id":1038,"depth":215,"text":1039},"Routing within your Nuxt Ionic application will feel very similar, but with a couple of differences.","md",null,{},{"icon":46},{"title":44,"description":1266},"2FE8oIp1aaHfmRaXyt9PPFfPesXa8NwYdm8hT1v48lE",[1274,1275],{"title":31,"path":32,"stem":33,"description":194,"icon":34,"children":-1},{"title":48,"path":49,"stem":50,"description":194,"icon":51,"children":-1},1775601896862]