[{"data":1,"prerenderedAt":1405},["ShallowReactive",2],{"navigation-en":3,"page-\u002Fen\u002Ftutorials\u002Fsheets-routing-tutorial":134,"\u002Fen\u002Ftutorials\u002Fsheets-routing-tutorial-surround":1402},[4],{"title":5,"path":6,"stem":7,"children":8,"page":26},"En","\u002Fen","en",[9,27,48,77,90,97],{"title":10,"path":11,"stem":12,"children":13,"page":26},"Getting Started","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[14,18,22],{"title":15,"path":16,"stem":17},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F1.introduction",{"title":19,"path":20,"stem":21},"Installation","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F2.installation",{"title":23,"path":24,"stem":25},"Configuration Reference","\u002Fen\u002Fgetting-started\u002Fconfiguration","en\u002F1.getting-started\u002F3.configuration",false,{"title":28,"path":29,"stem":30,"children":31,"page":26},"Composables","\u002Fen\u002Fcomposables","en\u002F2.composables",[32,36,40,44],{"title":33,"path":34,"stem":35},"useGSheet","\u002Fen\u002Fcomposables\u002Fuse-gsheet","en\u002F2.composables\u002F1.use-gsheet",{"title":37,"path":38,"stem":39},"useGSheetAsObject","\u002Fen\u002Fcomposables\u002Fuse-gsheet-as-object","en\u002F2.composables\u002F2.use-gsheet-as-object",{"title":41,"path":42,"stem":43},"useGSheetRow","\u002Fen\u002Fcomposables\u002Fuse-gsheet-row","en\u002F2.composables\u002F3.use-gsheet-row",{"title":45,"path":46,"stem":47},"useGSheetWrite","\u002Fen\u002Fcomposables\u002Fuse-gsheet-write","en\u002F2.composables\u002F4.use-gsheet-write",{"title":49,"path":50,"stem":51,"children":52,"page":26},"Authentication Modes","\u002Fen\u002Fauth-modes","en\u002F3.auth-modes",[53,57,61,65,69,73],{"title":54,"path":55,"stem":56},"Authentication Modes Overview","\u002Fen\u002Fauth-modes\u002Foverview","en\u002F3.auth-modes\u002F1.overview",{"title":58,"path":59,"stem":60},"GViz Mode (Google Visualization API)","\u002Fen\u002Fauth-modes\u002Fgviz","en\u002F3.auth-modes\u002F2.gviz",{"title":62,"path":63,"stem":64},"CSV Export Mode","\u002Fen\u002Fauth-modes\u002Fcsv","en\u002F3.auth-modes\u002F3.csv",{"title":66,"path":67,"stem":68},"Google Apps Script Mode","\u002Fen\u002Fauth-modes\u002Fappscript","en\u002F3.auth-modes\u002F4.appscript",{"title":70,"path":71,"stem":72},"API Key Mode","\u002Fen\u002Fauth-modes\u002Fapikey","en\u002F3.auth-modes\u002F5.apikey",{"title":74,"path":75,"stem":76},"Service Account Mode","\u002Fen\u002Fauth-modes\u002Fservice-account","en\u002F3.auth-modes\u002F6.service-account",{"title":78,"path":79,"stem":80,"children":81,"page":26},"AI","\u002Fen\u002Fai","en\u002F4.ai",[82,86],{"title":83,"path":84,"stem":85},"Agent Skills (AI Integration)","\u002Fen\u002Fai\u002Fagent-skills","en\u002F4.ai\u002F1.agent-skills",{"title":87,"path":88,"stem":89},"Model Context Protocol (MCP)","\u002Fen\u002Fai\u002Fmcp","en\u002F4.ai\u002F2.mcp",{"title":91,"path":92,"stem":93,"children":94},"Demos","\u002Fen\u002Fdemos","en\u002F5.demos\u002Findex",[95],{"title":96,"path":92,"stem":93},"Live Demos",{"title":98,"path":99,"stem":100,"children":101,"page":26},"Tutorials","\u002Fen\u002Ftutorials","en\u002F6.tutorials",[102,106,110,114,118,122,126,130],{"title":103,"path":104,"stem":105},"Tutorials Overview","\u002Fen\u002Ftutorials\u002Foverview","en\u002F6.tutorials\u002F0.overview",{"title":107,"path":108,"stem":109},"Apps Script Web App Tutorial","\u002Fen\u002Ftutorials\u002Fappscript-tutorial","en\u002F6.tutorials\u002F1.appscript-tutorial",{"title":111,"path":112,"stem":113},"Complete Step-by-Step Tutorial","\u002Fen\u002Ftutorials\u002Fstep-by-step","en\u002F6.tutorials\u002F1.step-by-step",{"title":115,"path":116,"stem":117},"GViz SQL Analytics Tutorial","\u002Fen\u002Ftutorials\u002Fgviz-sql-tutorial","en\u002F6.tutorials\u002F2.gviz-sql-tutorial",{"title":119,"path":120,"stem":121},"CSV Product Catalog Tutorial","\u002Fen\u002Ftutorials\u002Fcsv-catalog-tutorial","en\u002F6.tutorials\u002F3.csv-catalog-tutorial",{"title":123,"path":124,"stem":125},"API Key Inventory Tutorial","\u002Fen\u002Ftutorials\u002Fapikey-tutorial","en\u002F6.tutorials\u002F4.apikey-tutorial",{"title":127,"path":128,"stem":129},"Service Account HR & Payroll Tutorial","\u002Fen\u002Ftutorials\u002Fservice-account-tutorial","en\u002F6.tutorials\u002F5.service-account-tutorial",{"title":131,"path":132,"stem":133},"Sheet Routing Map Tutorial","\u002Fen\u002Ftutorials\u002Fsheets-routing-tutorial","en\u002F6.tutorials\u002F6.sheets-routing-tutorial",{"id":135,"title":131,"body":136,"description":1396,"extension":1397,"icon":1398,"links":1398,"meta":1399,"navigation":1398,"path":132,"seo":1400,"stem":133,"__hash__":1401},"docs_en\u002Fen\u002F6.tutorials\u002F6.sheets-routing-tutorial.md",{"type":137,"value":138,"toc":1391},"minimark",[139,148,151,160,166,333,335,339,1387],[140,141,142,143,147],"p",{},"Learn how to configure human-readable aliases for multiple Google Spreadsheets and Apps Script Web Apps in ",[144,145,146],"code",{},"nuxt.config.ts",".",[149,150],"hr",{},[152,153,155,156,159],"h2",{"id":154},"_1-module-setup-with-sheets-map","1. Module Setup with ",[144,157,158],{},"sheets"," Map",[140,161,162,163,165],{},"Configure your sheet routing map in ",[144,164,146],{},":",[167,168,173],"pre",{"className":169,"code":170,"filename":146,"language":171,"meta":172,"style":172},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: ['nuxt-gsheet'],\n\n  gsheet: {\n    \u002F\u002F Sheet routing map mapping clean alias names to Spreadsheet IDs \u002F Apps Script URLs\n    sheets: {\n      products: '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms',\n      orders: '19rQ1234567890abcdefghijklmnopqrstuvwxyz',\n      submissions: 'https:\u002F\u002Fscript.google.com\u002Fmacros\u002Fs\u002FAKfycb...\u002Fexec'\n    }\n  }\n})\n","ts","",[144,174,175,199,226,233,244,251,261,279,296,312,318,324],{"__ignoreMap":172},[176,177,180,184,187,191,195],"span",{"class":178,"line":179},"line",1,[176,181,183],{"class":182},"s7zQu","export",[176,185,186],{"class":182}," default",[176,188,190],{"class":189},"s2Zo4"," defineNuxtConfig",[176,192,194],{"class":193},"sTEyZ","(",[176,196,198],{"class":197},"sMK4o","{\n",[176,200,202,206,208,211,214,218,220,223],{"class":178,"line":201},2,[176,203,205],{"class":204},"swJcz","  modules",[176,207,165],{"class":197},[176,209,210],{"class":193}," [",[176,212,213],{"class":197},"'",[176,215,217],{"class":216},"sfazB","nuxt-gsheet",[176,219,213],{"class":197},[176,221,222],{"class":193},"]",[176,224,225],{"class":197},",\n",[176,227,229],{"class":178,"line":228},3,[176,230,232],{"emptyLinePlaceholder":231},true,"\n",[176,234,236,239,241],{"class":178,"line":235},4,[176,237,238],{"class":204},"  gsheet",[176,240,165],{"class":197},[176,242,243],{"class":197}," {\n",[176,245,247],{"class":178,"line":246},5,[176,248,250],{"class":249},"sHwdD","    \u002F\u002F Sheet routing map mapping clean alias names to Spreadsheet IDs \u002F Apps Script URLs\n",[176,252,254,257,259],{"class":178,"line":253},6,[176,255,256],{"class":204},"    sheets",[176,258,165],{"class":197},[176,260,243],{"class":197},[176,262,264,267,269,272,275,277],{"class":178,"line":263},7,[176,265,266],{"class":204},"      products",[176,268,165],{"class":197},[176,270,271],{"class":197}," '",[176,273,274],{"class":216},"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms",[176,276,213],{"class":197},[176,278,225],{"class":197},[176,280,282,285,287,289,292,294],{"class":178,"line":281},8,[176,283,284],{"class":204},"      orders",[176,286,165],{"class":197},[176,288,271],{"class":197},[176,290,291],{"class":216},"19rQ1234567890abcdefghijklmnopqrstuvwxyz",[176,293,213],{"class":197},[176,295,225],{"class":197},[176,297,299,302,304,306,309],{"class":178,"line":298},9,[176,300,301],{"class":204},"      submissions",[176,303,165],{"class":197},[176,305,271],{"class":197},[176,307,308],{"class":216},"https:\u002F\u002Fscript.google.com\u002Fmacros\u002Fs\u002FAKfycb...\u002Fexec",[176,310,311],{"class":197},"'\n",[176,313,315],{"class":178,"line":314},10,[176,316,317],{"class":197},"    }\n",[176,319,321],{"class":178,"line":320},11,[176,322,323],{"class":197},"  }\n",[176,325,327,330],{"class":178,"line":326},12,[176,328,329],{"class":197},"}",[176,331,332],{"class":193},")\n",[149,334],{},[152,336,338],{"id":337},"_2-multi-sheet-enterprise-hub-page","2. Multi-Sheet Enterprise Hub Page",[167,340,345],{"className":341,"code":342,"filename":343,"language":344,"meta":172,"style":172},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\ninterface Product {\n  id: string\n  title: string\n}\n\ninterface Submission {\n  id: string\n  name: string\n  comment: string\n}\n\n\u002F\u002F 1. Automatically resolves alias 'products' -> Spreadsheet ID 1BxiMV...\nconst { data: productList } = await useGSheetAsObject\u003CProduct[]>('A1:B20', {\n  sheet: 'products'\n})\n\n\u002F\u002F 2. Automatically resolves alias 'submissions' -> Apps Script Web App URL\nconst { data: userSubmissions, refresh } = await useGSheetAsObject\u003CSubmission[]>('A1:C50', {\n  sheet: 'submissions'\n})\n\n\u002F\u002F 3. Write data to the 'submissions' alias\nconst { append } = useGSheetWrite({ sheet: 'submissions' })\n\nconst name = ref('')\nconst comment = ref('')\n\nconst handleNewSubmission = async () => {\n  await append('A1:C1', [[String(Date.now()), name.value, comment.value]])\n  name.value = ''\n  comment.value = ''\n  await refresh()\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv class=\"enterprise-hub\">\n    \u003Ch1>Multi-Sheet Enterprise Hub\u003C\u002Fh1>\n\n    \u003Csection class=\"section\">\n      \u003Ch2>Products (Source: Products Spreadsheet)\u003C\u002Fh2>\n      \u003Cul>\n        \u003Cli\n          v-for=\"prod in productList\"\n          :key=\"prod.id\"\n        >\n          {{ prod.title }}\n        \u003C\u002Fli>\n      \u003C\u002Ful>\n    \u003C\u002Fsection>\n\n    \u003Chr>\n\n    \u003Csection class=\"section\">\n      \u003Ch2>User Submissions (Source: Apps Script Web App)\u003C\u002Fh2>\n      \u003Cform @submit.prevent=\"handleNewSubmission\">\n        \u003Cinput\n          v-model=\"name\"\n          placeholder=\"Name\"\n          required\n        >\n        \u003Cinput\n          v-model=\"comment\"\n          placeholder=\"Comment\"\n          required\n        >\n        \u003Cbutton type=\"submit\">\n          Send Submission\n        \u003C\u002Fbutton>\n      \u003C\u002Fform>\n\n      \u003Cul>\n        \u003Cli\n          v-for=\"sub in userSubmissions\"\n          :key=\"sub.id\"\n        >\n          \u003Cstrong>{{ sub.name }}:\u003C\u002Fstrong> {{ sub.comment }}\n        \u003C\u002Fli>\n      \u003C\u002Ful>\n    \u003C\u002Fsection>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n","pages\u002Fdashboard.vue","vue",[144,346,347,375,386,396,405,410,414,423,431,440,449,453,457,463,516,531,538,543,549,598,612,619,624,630,668,673,693,711,716,737,798,812,825,836,841,851,856,866,889,909,914,934,953,963,972,988,1003,1009,1015,1026,1036,1046,1051,1060,1065,1084,1102,1124,1132,1147,1162,1168,1173,1180,1194,1208,1213,1218,1240,1246,1255,1264,1269,1278,1285,1299,1313,1318,1341,1350,1359,1368,1378],{"__ignoreMap":172},[176,348,349,352,355,359,362,365,368,370,372],{"class":178,"line":179},[176,350,351],{"class":197},"\u003C",[176,353,354],{"class":204},"script",[176,356,358],{"class":357},"spNyl"," setup",[176,360,361],{"class":357}," lang",[176,363,364],{"class":197},"=",[176,366,367],{"class":197},"\"",[176,369,171],{"class":216},[176,371,367],{"class":197},[176,373,374],{"class":197},">\n",[176,376,377,380,384],{"class":178,"line":201},[176,378,379],{"class":357},"interface",[176,381,383],{"class":382},"sBMFI"," Product",[176,385,243],{"class":197},[176,387,388,391,393],{"class":178,"line":228},[176,389,390],{"class":204},"  id",[176,392,165],{"class":197},[176,394,395],{"class":382}," string\n",[176,397,398,401,403],{"class":178,"line":235},[176,399,400],{"class":204},"  title",[176,402,165],{"class":197},[176,404,395],{"class":382},[176,406,407],{"class":178,"line":246},[176,408,409],{"class":197},"}\n",[176,411,412],{"class":178,"line":253},[176,413,232],{"emptyLinePlaceholder":231},[176,415,416,418,421],{"class":178,"line":263},[176,417,379],{"class":357},[176,419,420],{"class":382}," Submission",[176,422,243],{"class":197},[176,424,425,427,429],{"class":178,"line":281},[176,426,390],{"class":204},[176,428,165],{"class":197},[176,430,395],{"class":382},[176,432,433,436,438],{"class":178,"line":298},[176,434,435],{"class":204},"  name",[176,437,165],{"class":197},[176,439,395],{"class":382},[176,441,442,445,447],{"class":178,"line":314},[176,443,444],{"class":204},"  comment",[176,446,165],{"class":197},[176,448,395],{"class":382},[176,450,451],{"class":178,"line":320},[176,452,409],{"class":197},[176,454,455],{"class":178,"line":326},[176,456,232],{"emptyLinePlaceholder":231},[176,458,460],{"class":178,"line":459},13,[176,461,462],{"class":249},"\u002F\u002F 1. Automatically resolves alias 'products' -> Spreadsheet ID 1BxiMV...\n",[176,464,466,469,472,475,477,480,482,485,488,491,493,496,499,502,504,506,509,511,514],{"class":178,"line":465},14,[176,467,468],{"class":357},"const",[176,470,471],{"class":197}," {",[176,473,474],{"class":204}," data",[176,476,165],{"class":197},[176,478,479],{"class":193}," productList ",[176,481,329],{"class":197},[176,483,484],{"class":197}," =",[176,486,487],{"class":182}," await",[176,489,490],{"class":189}," useGSheetAsObject",[176,492,351],{"class":197},[176,494,495],{"class":382},"Product",[176,497,498],{"class":193},"[]",[176,500,501],{"class":197},">",[176,503,194],{"class":193},[176,505,213],{"class":197},[176,507,508],{"class":216},"A1:B20",[176,510,213],{"class":197},[176,512,513],{"class":197},",",[176,515,243],{"class":197},[176,517,519,522,524,526,529],{"class":178,"line":518},15,[176,520,521],{"class":204},"  sheet",[176,523,165],{"class":197},[176,525,271],{"class":197},[176,527,528],{"class":216},"products",[176,530,311],{"class":197},[176,532,534,536],{"class":178,"line":533},16,[176,535,329],{"class":197},[176,537,332],{"class":193},[176,539,541],{"class":178,"line":540},17,[176,542,232],{"emptyLinePlaceholder":231},[176,544,546],{"class":178,"line":545},18,[176,547,548],{"class":249},"\u002F\u002F 2. Automatically resolves alias 'submissions' -> Apps Script Web App URL\n",[176,550,552,554,556,558,560,563,565,568,570,572,574,576,578,581,583,585,587,589,592,594,596],{"class":178,"line":551},19,[176,553,468],{"class":357},[176,555,471],{"class":197},[176,557,474],{"class":204},[176,559,165],{"class":197},[176,561,562],{"class":193}," userSubmissions",[176,564,513],{"class":197},[176,566,567],{"class":193}," refresh ",[176,569,329],{"class":197},[176,571,484],{"class":197},[176,573,487],{"class":182},[176,575,490],{"class":189},[176,577,351],{"class":197},[176,579,580],{"class":382},"Submission",[176,582,498],{"class":193},[176,584,501],{"class":197},[176,586,194],{"class":193},[176,588,213],{"class":197},[176,590,591],{"class":216},"A1:C50",[176,593,213],{"class":197},[176,595,513],{"class":197},[176,597,243],{"class":197},[176,599,601,603,605,607,610],{"class":178,"line":600},20,[176,602,521],{"class":204},[176,604,165],{"class":197},[176,606,271],{"class":197},[176,608,609],{"class":216},"submissions",[176,611,311],{"class":197},[176,613,615,617],{"class":178,"line":614},21,[176,616,329],{"class":197},[176,618,332],{"class":193},[176,620,622],{"class":178,"line":621},22,[176,623,232],{"emptyLinePlaceholder":231},[176,625,627],{"class":178,"line":626},23,[176,628,629],{"class":249},"\u002F\u002F 3. Write data to the 'submissions' alias\n",[176,631,633,635,637,640,642,644,647,649,652,655,657,659,661,663,666],{"class":178,"line":632},24,[176,634,468],{"class":357},[176,636,471],{"class":197},[176,638,639],{"class":193}," append ",[176,641,329],{"class":197},[176,643,484],{"class":197},[176,645,646],{"class":189}," useGSheetWrite",[176,648,194],{"class":193},[176,650,651],{"class":197},"{",[176,653,654],{"class":204}," sheet",[176,656,165],{"class":197},[176,658,271],{"class":197},[176,660,609],{"class":216},[176,662,213],{"class":197},[176,664,665],{"class":197}," }",[176,667,332],{"class":193},[176,669,671],{"class":178,"line":670},25,[176,672,232],{"emptyLinePlaceholder":231},[176,674,676,678,681,683,686,688,691],{"class":178,"line":675},26,[176,677,468],{"class":357},[176,679,680],{"class":193}," name ",[176,682,364],{"class":197},[176,684,685],{"class":189}," ref",[176,687,194],{"class":193},[176,689,690],{"class":197},"''",[176,692,332],{"class":193},[176,694,696,698,701,703,705,707,709],{"class":178,"line":695},27,[176,697,468],{"class":357},[176,699,700],{"class":193}," comment ",[176,702,364],{"class":197},[176,704,685],{"class":189},[176,706,194],{"class":193},[176,708,690],{"class":197},[176,710,332],{"class":193},[176,712,714],{"class":178,"line":713},28,[176,715,232],{"emptyLinePlaceholder":231},[176,717,719,721,724,726,729,732,735],{"class":178,"line":718},29,[176,720,468],{"class":357},[176,722,723],{"class":193}," handleNewSubmission ",[176,725,364],{"class":197},[176,727,728],{"class":357}," async",[176,730,731],{"class":197}," ()",[176,733,734],{"class":357}," =>",[176,736,243],{"class":197},[176,738,740,743,746,748,750,753,755,757,760,763,765,768,770,773,776,778,781,783,786,788,791,793,795],{"class":178,"line":739},30,[176,741,742],{"class":182},"  await",[176,744,745],{"class":189}," append",[176,747,194],{"class":204},[176,749,213],{"class":197},[176,751,752],{"class":216},"A1:C1",[176,754,213],{"class":197},[176,756,513],{"class":197},[176,758,759],{"class":204}," [[",[176,761,762],{"class":189},"String",[176,764,194],{"class":204},[176,766,767],{"class":193},"Date",[176,769,147],{"class":197},[176,771,772],{"class":189},"now",[176,774,775],{"class":204},"())",[176,777,513],{"class":197},[176,779,780],{"class":193}," name",[176,782,147],{"class":197},[176,784,785],{"class":193},"value",[176,787,513],{"class":197},[176,789,790],{"class":193}," comment",[176,792,147],{"class":197},[176,794,785],{"class":193},[176,796,797],{"class":204},"]])\n",[176,799,801,803,805,807,809],{"class":178,"line":800},31,[176,802,435],{"class":193},[176,804,147],{"class":197},[176,806,785],{"class":193},[176,808,484],{"class":197},[176,810,811],{"class":197}," ''\n",[176,813,815,817,819,821,823],{"class":178,"line":814},32,[176,816,444],{"class":193},[176,818,147],{"class":197},[176,820,785],{"class":193},[176,822,484],{"class":197},[176,824,811],{"class":197},[176,826,828,830,833],{"class":178,"line":827},33,[176,829,742],{"class":182},[176,831,832],{"class":189}," refresh",[176,834,835],{"class":204},"()\n",[176,837,839],{"class":178,"line":838},34,[176,840,409],{"class":197},[176,842,844,847,849],{"class":178,"line":843},35,[176,845,846],{"class":197},"\u003C\u002F",[176,848,354],{"class":204},[176,850,374],{"class":197},[176,852,854],{"class":178,"line":853},36,[176,855,232],{"emptyLinePlaceholder":231},[176,857,859,861,864],{"class":178,"line":858},37,[176,860,351],{"class":197},[176,862,863],{"class":204},"template",[176,865,374],{"class":197},[176,867,869,872,875,878,880,882,885,887],{"class":178,"line":868},38,[176,870,871],{"class":197},"  \u003C",[176,873,874],{"class":204},"div",[176,876,877],{"class":357}," class",[176,879,364],{"class":197},[176,881,367],{"class":197},[176,883,884],{"class":216},"enterprise-hub",[176,886,367],{"class":197},[176,888,374],{"class":197},[176,890,892,895,898,900,903,905,907],{"class":178,"line":891},39,[176,893,894],{"class":197},"    \u003C",[176,896,897],{"class":204},"h1",[176,899,501],{"class":197},[176,901,902],{"class":193},"Multi-Sheet Enterprise Hub",[176,904,846],{"class":197},[176,906,897],{"class":204},[176,908,374],{"class":197},[176,910,912],{"class":178,"line":911},40,[176,913,232],{"emptyLinePlaceholder":231},[176,915,917,919,922,924,926,928,930,932],{"class":178,"line":916},41,[176,918,894],{"class":197},[176,920,921],{"class":204},"section",[176,923,877],{"class":357},[176,925,364],{"class":197},[176,927,367],{"class":197},[176,929,921],{"class":216},[176,931,367],{"class":197},[176,933,374],{"class":197},[176,935,937,940,942,944,947,949,951],{"class":178,"line":936},42,[176,938,939],{"class":197},"      \u003C",[176,941,152],{"class":204},[176,943,501],{"class":197},[176,945,946],{"class":193},"Products (Source: Products Spreadsheet)",[176,948,846],{"class":197},[176,950,152],{"class":204},[176,952,374],{"class":197},[176,954,956,958,961],{"class":178,"line":955},43,[176,957,939],{"class":197},[176,959,960],{"class":204},"ul",[176,962,374],{"class":197},[176,964,966,969],{"class":178,"line":965},44,[176,967,968],{"class":197},"        \u003C",[176,970,971],{"class":204},"li\n",[176,973,975,978,980,982,985],{"class":178,"line":974},45,[176,976,977],{"class":357},"          v-for",[176,979,364],{"class":197},[176,981,367],{"class":197},[176,983,984],{"class":216},"prod in productList",[176,986,987],{"class":197},"\"\n",[176,989,991,994,996,998,1001],{"class":178,"line":990},46,[176,992,993],{"class":357},"          :key",[176,995,364],{"class":197},[176,997,367],{"class":197},[176,999,1000],{"class":216},"prod.id",[176,1002,987],{"class":197},[176,1004,1006],{"class":178,"line":1005},47,[176,1007,1008],{"class":197},"        >\n",[176,1010,1012],{"class":178,"line":1011},48,[176,1013,1014],{"class":193},"          {{ prod.title }}\n",[176,1016,1018,1021,1024],{"class":178,"line":1017},49,[176,1019,1020],{"class":197},"        \u003C\u002F",[176,1022,1023],{"class":204},"li",[176,1025,374],{"class":197},[176,1027,1029,1032,1034],{"class":178,"line":1028},50,[176,1030,1031],{"class":197},"      \u003C\u002F",[176,1033,960],{"class":204},[176,1035,374],{"class":197},[176,1037,1039,1042,1044],{"class":178,"line":1038},51,[176,1040,1041],{"class":197},"    \u003C\u002F",[176,1043,921],{"class":204},[176,1045,374],{"class":197},[176,1047,1049],{"class":178,"line":1048},52,[176,1050,232],{"emptyLinePlaceholder":231},[176,1052,1054,1056,1058],{"class":178,"line":1053},53,[176,1055,894],{"class":197},[176,1057,149],{"class":204},[176,1059,374],{"class":197},[176,1061,1063],{"class":178,"line":1062},54,[176,1064,232],{"emptyLinePlaceholder":231},[176,1066,1068,1070,1072,1074,1076,1078,1080,1082],{"class":178,"line":1067},55,[176,1069,894],{"class":197},[176,1071,921],{"class":204},[176,1073,877],{"class":357},[176,1075,364],{"class":197},[176,1077,367],{"class":197},[176,1079,921],{"class":216},[176,1081,367],{"class":197},[176,1083,374],{"class":197},[176,1085,1087,1089,1091,1093,1096,1098,1100],{"class":178,"line":1086},56,[176,1088,939],{"class":197},[176,1090,152],{"class":204},[176,1092,501],{"class":197},[176,1094,1095],{"class":193},"User Submissions (Source: Apps Script Web App)",[176,1097,846],{"class":197},[176,1099,152],{"class":204},[176,1101,374],{"class":197},[176,1103,1105,1107,1110,1113,1115,1117,1120,1122],{"class":178,"line":1104},57,[176,1106,939],{"class":197},[176,1108,1109],{"class":204},"form",[176,1111,1112],{"class":357}," @submit.prevent",[176,1114,364],{"class":197},[176,1116,367],{"class":197},[176,1118,1119],{"class":216},"handleNewSubmission",[176,1121,367],{"class":197},[176,1123,374],{"class":197},[176,1125,1127,1129],{"class":178,"line":1126},58,[176,1128,968],{"class":197},[176,1130,1131],{"class":204},"input\n",[176,1133,1135,1138,1140,1142,1145],{"class":178,"line":1134},59,[176,1136,1137],{"class":357},"          v-model",[176,1139,364],{"class":197},[176,1141,367],{"class":197},[176,1143,1144],{"class":216},"name",[176,1146,987],{"class":197},[176,1148,1150,1153,1155,1157,1160],{"class":178,"line":1149},60,[176,1151,1152],{"class":357},"          placeholder",[176,1154,364],{"class":197},[176,1156,367],{"class":197},[176,1158,1159],{"class":216},"Name",[176,1161,987],{"class":197},[176,1163,1165],{"class":178,"line":1164},61,[176,1166,1167],{"class":357},"          required\n",[176,1169,1171],{"class":178,"line":1170},62,[176,1172,1008],{"class":197},[176,1174,1176,1178],{"class":178,"line":1175},63,[176,1177,968],{"class":197},[176,1179,1131],{"class":204},[176,1181,1183,1185,1187,1189,1192],{"class":178,"line":1182},64,[176,1184,1137],{"class":357},[176,1186,364],{"class":197},[176,1188,367],{"class":197},[176,1190,1191],{"class":216},"comment",[176,1193,987],{"class":197},[176,1195,1197,1199,1201,1203,1206],{"class":178,"line":1196},65,[176,1198,1152],{"class":357},[176,1200,364],{"class":197},[176,1202,367],{"class":197},[176,1204,1205],{"class":216},"Comment",[176,1207,987],{"class":197},[176,1209,1211],{"class":178,"line":1210},66,[176,1212,1167],{"class":357},[176,1214,1216],{"class":178,"line":1215},67,[176,1217,1008],{"class":197},[176,1219,1221,1223,1226,1229,1231,1233,1236,1238],{"class":178,"line":1220},68,[176,1222,968],{"class":197},[176,1224,1225],{"class":204},"button",[176,1227,1228],{"class":357}," type",[176,1230,364],{"class":197},[176,1232,367],{"class":197},[176,1234,1235],{"class":216},"submit",[176,1237,367],{"class":197},[176,1239,374],{"class":197},[176,1241,1243],{"class":178,"line":1242},69,[176,1244,1245],{"class":193},"          Send Submission\n",[176,1247,1249,1251,1253],{"class":178,"line":1248},70,[176,1250,1020],{"class":197},[176,1252,1225],{"class":204},[176,1254,374],{"class":197},[176,1256,1258,1260,1262],{"class":178,"line":1257},71,[176,1259,1031],{"class":197},[176,1261,1109],{"class":204},[176,1263,374],{"class":197},[176,1265,1267],{"class":178,"line":1266},72,[176,1268,232],{"emptyLinePlaceholder":231},[176,1270,1272,1274,1276],{"class":178,"line":1271},73,[176,1273,939],{"class":197},[176,1275,960],{"class":204},[176,1277,374],{"class":197},[176,1279,1281,1283],{"class":178,"line":1280},74,[176,1282,968],{"class":197},[176,1284,971],{"class":204},[176,1286,1288,1290,1292,1294,1297],{"class":178,"line":1287},75,[176,1289,977],{"class":357},[176,1291,364],{"class":197},[176,1293,367],{"class":197},[176,1295,1296],{"class":216},"sub in userSubmissions",[176,1298,987],{"class":197},[176,1300,1302,1304,1306,1308,1311],{"class":178,"line":1301},76,[176,1303,993],{"class":357},[176,1305,364],{"class":197},[176,1307,367],{"class":197},[176,1309,1310],{"class":216},"sub.id",[176,1312,987],{"class":197},[176,1314,1316],{"class":178,"line":1315},77,[176,1317,1008],{"class":197},[176,1319,1321,1324,1327,1329,1332,1334,1336,1338],{"class":178,"line":1320},78,[176,1322,1323],{"class":197},"          \u003C",[176,1325,1326],{"class":204},"strong",[176,1328,501],{"class":197},[176,1330,1331],{"class":193},"{{ sub.name }}:",[176,1333,846],{"class":197},[176,1335,1326],{"class":204},[176,1337,501],{"class":197},[176,1339,1340],{"class":193}," {{ sub.comment }}\n",[176,1342,1344,1346,1348],{"class":178,"line":1343},79,[176,1345,1020],{"class":197},[176,1347,1023],{"class":204},[176,1349,374],{"class":197},[176,1351,1353,1355,1357],{"class":178,"line":1352},80,[176,1354,1031],{"class":197},[176,1356,960],{"class":204},[176,1358,374],{"class":197},[176,1360,1362,1364,1366],{"class":178,"line":1361},81,[176,1363,1041],{"class":197},[176,1365,921],{"class":204},[176,1367,374],{"class":197},[176,1369,1371,1374,1376],{"class":178,"line":1370},82,[176,1372,1373],{"class":197},"  \u003C\u002F",[176,1375,874],{"class":204},[176,1377,374],{"class":197},[176,1379,1381,1383,1385],{"class":178,"line":1380},83,[176,1382,846],{"class":197},[176,1384,863],{"class":204},[176,1386,374],{"class":197},[1388,1389,1390],"style",{},"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 .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 .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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":172,"searchDepth":179,"depth":201,"links":1392},[1393,1395],{"id":154,"depth":201,"text":1394},"1. Module Setup with sheets Map",{"id":337,"depth":201,"text":338},"Build a multi-sheet enterprise hub using sheets routing map aliases in nuxt.config.ts.","md",null,{},{"title":131,"description":1396},"v5h_RxJ-1m8lZQfspFlDjdl0uBFzs6Hk7Y4GjahyMak",[1403,1398],{"title":127,"path":128,"stem":129,"description":1404,"children":-1},"Build a secure, private enterprise HR management app using Service Account credentials.",1786088231399]