1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8"/> 5 <link href="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/object/public/base44-prod/public/6936c0b0e0bd39eb8d624491/7e9ff14ab_provai-logo-vertical-vermelho.png" rel="icon" type="image/svg+xml"/> 6 <meta content="width=device-width, initial-scale=1.0" name="viewport"/> 7 <link href="/manifest.json" rel="manifest"/> 8 <title> 9 Admin Dashboard | PROVAÃ 10 </title> 11
11<script crossorigin="" src="/assets/index-DB3__WtA.js" type="module"> 12 </script>
12 13 <link crossorigin="" href="/assets/index-Bu7qYM0F.css" rel="stylesheet"/> 14 <meta content="Admin Dashboard on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, ." name="description"/> 15 <meta content="Admin Dashboard | PROVAÃ" property="og:title"/> 16 <meta content="Admin Dashboard on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, ." property="og:description"/> 17 <meta content="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/render/image/public/base44-prod/public/6936c0b0e0bd39eb8d624491/7e9ff14ab_provai-logo-vertical-vermelho.png?width=1200&height=630&resize=contain" property="og:image"/> 18 <meta content="https://provaiapp.base44.app/AdminDashboard" property="og:url"/> 19 <meta content="website" property="og:type"/> 20 <meta content="PROVAÃ" property="og:site_name"/> 21 <meta content="Admin Dashboard | PROVAÃ" name="twitter:title"/> 22 <meta content="Admin Dashboard on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, ." name="twitter:description"/> 23 <meta content="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/render/image/public/base44-prod/public/6936c0b0e0bd39eb8d624491/7e9ff14ab_provai-logo-vertical-vermelho.png?width=1200&height=630&resize=contain" name="twitter:image"/> 24 <meta content="summary_large_image" name="twitter:card"/> 25 <meta content="https://provaiapp.base44.app/AdminDashboard" name="twitter:url"/> 26
26<script> 27 (function () { 28 var titles = {"/": "PROVA\u00cd", "/aboutapp": "About App | PROVA\u00cd", "/about-app": "About App | PROVA\u00cd", "/admindashboard": "Admin Dashboard | PROVA\u00cd", "/admin-dashboard": "Admin Dashboard | PROVA\u00cd", "/adminrestaurants": "Admin Restaurants | PROVA\u00cd", "/admin-restaurants": "Admin Restaurants | PROVA\u00cd", "/adminusers": "Admin Users | PROVA\u00cd", "/admin-users": "Admin Users | PROVA\u00cd", "/buy-coupons": "Buy Coupons | PROVA\u00cd", "/buycoupons": "Buy Coupons | PROVA\u00cd", "/configpratododia": "Config Prato Do Dia | PROVA\u00cd", "/config-prato-do-dia": "Config Prato Do Dia | PROVA\u00cd", "/create-restaurant": "Create Restaurant | PROVA\u00cd", "/createrestaurant": "Create Restaurant | PROVA\u00cd", "/downloadapp": "Download App | PROVA\u00cd", "/download-app": "Download App | PROVA\u00cd", "/edit-food": "Edit Food | PROVA\u00cd", "/editfood": "Edit Food | PROVA\u00cd", "/edit-restaurant": "Edit Restaurant | PROVA\u00cd", "/editrestaurant": "Edit Restaurant | PROVA\u00cd", "/edituser": "Edit User | PROVA\u00cd", "/edit-user": "Edit User | PROVA\u00cd", "/export-data": "Export Data | PROVA\u00cd", "/exportdata": "Export Data | PROVA\u00cd", "/favorites": "Favorites | PROVA\u00cd", "/foodprofile": "Food Profile | PROVA\u00cd", "/food-profile": "Food Profile | PROVA\u00cd", "/hatelist": "Hate List | PROVA\u00cd", "/hate-list": "Hate List | PROVA\u00cd", "/history": "History | PROVA\u00cd", "/home": "Home | PROVA\u00cd", "/how-it-works": "How It Works | PROVA\u00cd", "/howitworks": "How It Works | PROVA\u00cd", "/managefoods": "Manage Foods | PROVA\u00cd", "/manage-foods": "Manage Foods | PROVA\u00cd", "/migrate-to-idpv": "Migrate To IDPV | PROVA\u00cd", "/migratetoidpv": "Migrate To IDPV | PROVA\u00cd", "/modeselection": "Mode Selection | PROVA\u00cd", "/mode-selection": "Mode Selection | PROVA\u00cd", "/myrestaurants": "My Re
28staurants | PROVA\u00cd", "/my-restaurants": "My Restaurants | PROVA\u00cd", "/onboarding": "Onboarding | PROVA\u00cd", "/restaurant-dashboard": "Restaurant Dashboard | PROVA\u00cd", "/restaurantdashboard": "Restaurant Dashboard | PROVA\u00cd", "/restaurant-details": "Restaurant Details | PROVA\u00cd", "/restaurantdetails": "Restaurant Details | PROVA\u00cd", "/restaurantfoods": "Restaurant Foods | PROVA\u00cd", "/restaurant-foods": "Restaurant Foods | PROVA\u00cd", "/restaurants": "Restaurants | PROVA\u00cd", "/settings": "Settings | PROVA\u00cd", "/splash": "Splash | PROVA\u00cd", "/splashmodo": "Splash Modo | PROVA\u00cd", "/splash-modo": "Splash Modo | PROVA\u00cd", "/splashswipe": "Splash Swipe | PROVA\u00cd", "/splash-swipe": "Splash Swipe | PROVA\u00cd", "/suggest-restaurant": "Suggest Restaurant | PROVA\u00cd", "/suggestrestaurant": "Suggest Restaurant | PROVA\u00cd", "/user-preferences": "User Preferences | PROVA\u00cd", "/userpreferences": "User Preferences | PROVA\u00cd", "/userstats": "User Stats | PROVA\u00cd", "/user-stats": "User Stats | PROVA\u00cd", "/admin-account-types": "Admin Account Types | PROVA\u00cd", "/adminaccounttypes": "Admin Account Types | PROVA\u00cd", "/swipe": "PROVA\u00cd"}; 29 // PascalCase boundaries -> "-", mirroring _PASCAL_BOUNDARY_RE without lookbehind 30 // (old Safari fails to PARSE a lookbehind, taking the whole script down). 31 var dashed = function (s) { 32 return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2"); 33 }; 34 var decode = function (s) { 35 // A %2F inside ONE segment must not become a structural separator: /blog/foo%2Fbar is a 36 // dynamic slug, and letting it split would match a static /blog/foo/bar and write ITS title. 37 try { var d = decodeURIComponent(s); return d.indexOf("/") < 0 ? d : s; } catch (e) { return s; } 38 }; 39 var segments = function (path) { return path.split("/").filter(Boolean).map(decode); }; 40 var norm = function (path) { 41 var parts = segments(path).map(function (s) { return dashed(s).toLowerCase(); }); 42 return parts.length ? "/" + parts.join("/") : "/"; 43 }; 44 var lastPath = location.pathname, written = document.title, on = true; 45 var sync = function () { 46 // Path only: a hash/query change is the same page, and the SDK strips its own auth 47 // params with replaceState -- neither must clobber a server-rendered title in place. 48 if (!on || location.pathname === lastPath) return; 49 lastPath = location.pathname; 50 if (document.title !== written) { on = false; return; } 51 // Write ONLY a title the map proves. An unmapped path is a dynamic route (/blog/:slug) the 52 // map cannot carry, and writing a placeholder there is destructive, not merely vague: the 53 // prerender worker runs no setUserAgent, so its capture browser reads as human and executes 54 // this script, and coordinator.js's settle wait explicitly tolerates a full navigation -- 55 // a redirect landing on an unmapped path would bake the placeholder into the stored 56 // snapshot. Leaving the title alone degrades to today's behavior instead. 57 // Exact lookup only. A dash-stripped retry here would let a genuinely different /set-up 58 // claim /setup: the map carries a dash-free key only where a PascalCase boundary put the 59 // dashes there, and the client cannot tell the two apart. The map emits every reachable 60 // shape per segment instead (_client_url_variants). 61 var title = titles[norm(location.pathname)]; 62 if (title === undefined) return; 63 document.title = title; 64 // Re-read: the setter stores verbatim but the getter strips and collapses whitespace, so 65 // keeping the assigned string would make the next sync() read our own write as the app's. 66 written = document.title; 67 }; 68 var wrap = function (fn) { 69 // The history entry is already pushed by the time sync() runs, so a throw here would 70 // surface inside the host app's router and break navigation. This is injected into apps 71 // we cannot test, so it swallows rather than trusting the trace. 72 return function () { 73 var r = fn.apply(this, arguments);
74 try { sync(); } catch (e) {} 75 return r; 76 }; 77 }; 78 history.pushState = wrap(history.pushState); 79 history.replaceState = wrap(history.replaceState); 80 window.addEventListener("popstate", sync); 81})(); 82 </script>
82 83 <meta content="yes" name="mobile-web-app-capable"/> 84 <meta content="black" name="apple-mobile-web-app-status-bar-style"/> 85 <meta content="PROVAÃ" name="apple-mobile-web-app-title"/> 86 <link href="https://provaiapp.base44.app/AdminDashboard" rel="canonical"/> 87
87<script data-seo-source="builder" type="application/ld+json"> 88 {"name": "PROVAÃ", "@context": "https://schema.org", "@type": "WebSite", "url": "https://provaiapp.base44.app"} 89 </script>
89 90
90<script data-seo-source="builder" type="application/ld+json"> 91 {"name": "PROVAÃ", "logo": "https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/object/public/base44-prod/public/6936c0b0e0bd39eb8d624491/7e9ff14ab_provai-logo-vertical-vermelho.png", "@context": "https://schema.org", "@type": "Organization", "url": "https://provaiapp.base44.app"} 92 </script>
92 93
93<script data-seo-source="builder" type="application/ld+json"> 94 {"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://provaiapp.base44.app/"}, {"@type": "ListItem", "position": 2, "name": "Admin Dashboard | PROVAÃ", "item": "https://provaiapp.base44.app/AdminDashboard"}]} 95 </script>
95 96
96<script async="true" data-app-id="6936c0b0e0bd39eb8d624491" data-platform-url="https://app.base44.com" src="/static/js/badge.js"> 97 </script>
97 98 </head> 99 <body> 100 <div id="root"> 101 <div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;"> 102 <main> 103 <header> 104 <h1> 105 Admin Dashboard | PROVAà 106 </h1> 107 <p> 108 Admin Dashboard on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 109 </p> 110 </header> 111 <nav aria-label="Pages"> 112 <h2> 113 Pages 114 </h2> 115 <ul> 116 <li> 117 <a href="/"> 118 Swipe 119 </a> 120 </li> 121 <li> 122 <a href="/AboutApp"> 123 About App 124 </a> 125 â About App on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 126 </li> 127 <li> 128 <a href="/AdminRestaurants"> 129 Admin Restaurants 130 </a> 131 â Admin Restaurants on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 132 </li> 133 <li> 134 <a href="/AdminUsers"> 135 Admin Users 136 </a> 137 â Admin Users on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 138 </li> 139 <li> 140 <a href="/BuyCoupons"> 141 Buy Coupons 142 </a> 143 â Buy Coupons on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 144 </li> 145 <li> 146 <a href="/ConfigPratoDoDia"> 147 Config Prato Do Dia 148 </a> 149 â Config Prato Do Dia on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 150 </li> 151 <li> 152 <a href="/CreateRestaurant"> 153 Create Restaurant 154 </a> 155 â Create Restaurant on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 156 </li> 157 <li> 158 <a href="/DownloadApp"> 159 Download App 160 </a> 161 â Download App on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 162 </li> 163 <li> 164 <a href="/EditFood"> 165 Edit Food 166 </a> 167 â Edit Food on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 168 </li> 169 <li> 170 <a href="/EditRestaurant"> 171 Edit Restaurant 172 </a> 173 â Edit Restaurant on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 174 </li> 175 <li> 176 <a href="/EditUser"> 177 Edit User 178 </a> 179 â Edit User on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 180 </li> 181 <li> 182 <a href="/ExportData"> 183 Export Data 184 </a> 185 â Export Data on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 186 </li> 187 <li> 188 <a href="/Favorites"> 189 Favorites 190 </a> 191 â Favorites on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 192 </li> 193 <li> 194 <a href="/FoodProfile"> 195 Food Profile 196 </a> 197 â Food Profile on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 198 </li> 199 <li> 200 <a href="/HateList"> 201 Hate List 202 </a> 203 â Hate List on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 204 </li> 205 <li> 206 <a href="/History"> 207 History 208 </a> 209 â History on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 210 </li> 211 <li> 212 <a href="/Home"> 213 Home 214 </a> 215 â Home on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 216 </li> 217 <li> 218 <a href="/HowItWorks"> 219 How It Works 220 </a> 221 â How It Works on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 222 </li> 223 <li> 224 <a href="/ManageFoods"> 225 Manage Foods 226 </a> 227 â Manage Foods on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 228 </li> 229 <li> 230 <a href="/MigrateToIDPV"> 231 Migrate To IDPV 232 </a> 233 â Migrate To IDPV on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 234 </li> 235 <li> 236 <a href="/ModeSelection"> 237 Mode Selection 238 </a> 239 â Mode Selection on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 240 </li> 241 <li> 242 <a href="/MyRestaurants"> 243 My Restaurants 244 </a> 245 â My Restaurants on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 246 </li> 247 <li> 248 <a href="/Onboarding"> 249 Onboarding 250 </a> 251 â Onboarding on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 252 </li> 253 <li> 254 <a href="/RestaurantDashboard"> 255 Restaurant Dashboard 256 </a> 257 â Restaurant Dashboard on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 258 </li> 259 <li> 260 <a href="/RestaurantDetails"> 261 Restaurant Details 262 </a> 263 â Restaurant Details on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 264 </li> 265 <li> 266 <a href="/RestaurantFoods"> 267 Restaurant Foods 268 </a> 269 â Restaurant Foods on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 270 </li> 271 <li> 272 <a href="/Restaurants"> 273 Restaurants 274 </a> 275 â Restaurants on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 276 </li> 277 <li> 278 <a href="/Settings"> 279 Settings 280 </a> 281 â Settings on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 282 </li> 283 <li> 284 <a href="/Splash"> 285 Splash 286 </a> 287 â Splash on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 288 </li> 289 <li> 290 <a href="/SplashModo"> 291 Splash Modo 292 </a> 293 â Splash Modo on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 294 </li> 295 <li> 296 <a href="/SplashSwipe"> 297 Splash Swipe 298 </a> 299 â Splash Swipe on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 300 </li> 301 <li> 302 <a href="/SuggestRestaurant"> 303 Suggest Restaurant 304 </a> 305 â Suggest Restaurant on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 306 </li> 307 <li> 308 <a href="/UserPreferences"> 309 User Preferences 310 </a> 311 â User Preferences on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 312 </li> 313 <li> 314 <a href="/UserStats"> 315 User Stats 316 </a> 317 â User Stats on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 318 </li> 319 <li> 320 <a href="/AdminAccountTypes"> 321 Admin Account Types 322 </a> 323 â Admin Account Types on PROVAÃ. Um aplicativo de swipe para ajudar usuários indecisos a escolherem o que comer, . 324 </li> 325 </ul> 326 </nav> 327 </main> 328 </div> 329 </div> 330 </body> 331</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.