[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-meta-connect-api":3,"mdc--f06ic0-key":37,"related-org-meta-connect-api":3959,"related-repo-meta-connect-api":4151},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"connect-api","connect webapps to REST APIs and WebSockets","Connect a Meta Display Glasses webapp to REST APIs or WebSockets. Use when the user wants to fetch data from an API, add real-time updates, show loading\u002Ferror states, or cache API responses.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"meta","Meta Open Source","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmeta.png","facebook",[13,17,20,23],{"name":14,"slug":15,"type":16},"WebSockets","websockets","tag",{"name":18,"slug":19,"type":16},"REST API","rest-api",{"name":21,"slug":22,"type":16},"API Development","api-development",{"name":24,"slug":25,"type":16},"Frontend","frontend",189,"https:\u002F\u002Fgithub.com\u002Ffacebook\u002Fmeta-wearables-webapp","2026-09-01T08:30:30.968156",null,33,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"AI-assisted development toolkit for building web applications on Meta Ray-Ban Display glasses.","https:\u002F\u002Fgithub.com\u002Ffacebook\u002Fmeta-wearables-webapp\u002Ftree\u002FHEAD\u002Fplugins\u002Fmeta-wearables-webapp\u002Fskills\u002Fconnect-api","---\nname: connect-api\ndescription: >-\n  Connect a Meta Display Glasses webapp to REST APIs or WebSockets. Use when\n  the user wants to fetch data from an API, add real-time updates, show\n  loading\u002Ferror states, or cache API responses.\nargument-hint: \"[api-name-or-url]\"\n---\n\n## Required reading\n\nBefore generating or modifying any code, read both:\n\n- `..\u002F..\u002Freferences\u002Fdisplay-guidelines.md`\n- `..\u002F..\u002Freferences\u002Fperformance-guidelines.md`\n\nThese define the non-negotiable display physics, input model, and performance budgets for Meta Display Glasses webapps. Do not skip — generated UI that ignores these will fail on-device.\n\nIf these reference files are unavailable in an isolated eval, do not search `\u002F`, home directories, or unrelated workspaces. Apply the requirements already present in this skill and continue.\n\n# Connect API to Meta Display Glasses WebApp\n\nAdd real API connections to an existing webapp. The base `app.js` template already includes `apiGet()`, `setLoading()`, `setError()`, `showToast()`, and `connectWebSocket()` helpers — this skill shows how to wire them up.\n\n## Prerequisites\n\n- Existing webapp created via `\u002Fcreate-webapp` (which includes the API\u002FUI helpers in `app.js`)\n\n## Steps\n\n### 1. Gather Information\n\nAsk the user:\n- **What data?** What information should the app display?\n- **Which API?** Specific API, or should we pick one?\n- **Refresh behavior?** Manual, auto-refresh interval, or real-time WebSocket?\n- **Offline fallback?** Should cached data be served when offline?\n\n### 2. Choose an API\n\nIf not specified, recommend from these **free, no-key-required** APIs:\n\n| Category | API | Base URL |\n|----------|-----|----------|\n| Weather | Open-Meteo | `api.open-meteo.com\u002Fv1\u002Fforecast` |\n| Trivia | Open Trivia DB | `opentdb.com\u002Fapi.php` |\n| Crypto | CoinGecko | `api.coingecko.com\u002Fapi\u002Fv3` |\n| Earthquakes | USGS | `earthquake.usgs.gov\u002Fearthquakes\u002Ffeed\u002Fv1.0` |\n| Wikipedia | Wikipedia REST | `en.wikipedia.org\u002Fapi\u002Frest_v1` |\n| Recipes | TheMealDB | `themealdb.com\u002Fapi\u002Fjson\u002Fv1\u002F1` |\n| Countries | REST Countries | `restcountries.com\u002Fv3.1` |\n| Jokes | Official Joke API | `official-joke-api.appspot.com` |\n| Pokemon | PokeAPI | `pokeapi.co\u002Fapi\u002Fv2` |\n| IP Location | ipapi | `ipapi.co\u002Fjson\u002F` |\n\n### 3. Add Loading and Error UI\n\nAdd these elements inside the relevant screen in `index.html` (the CSS is already in `styles.css` from `\u002Fcreate-webapp`):\n\n```html\n\u003Cdiv id=\"loading\" class=\"loading-container hidden\">\n  \u003Cdiv class=\"loading-spinner\">\u003C\u002Fdiv>\n  \u003Cdiv class=\"loading-text\">Loading...\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\n\u003Cdiv id=\"error\" class=\"error-container hidden\">\n  \u003Cdiv class=\"error-icon\">&#9888;\u003C\u002Fdiv>\n  \u003Cdiv class=\"error-message\">Something went wrong\u003C\u002Fdiv>\n  \u003Cbutton class=\"nav-item focusable\" data-action=\"refresh\">Try Again\u003C\u002Fbutton>\n\u003C\u002Fdiv>\n```\n\nAdd a refresh button to the nav bar:\n\n```html\n\u003Cbutton class=\"nav-item focusable\" data-action=\"refresh\">&#8635; Refresh\u003C\u002Fbutton>\n```\n\n### 4. Update API Configuration\n\nIn `app.js`, update the `CONFIG` object:\n\n```javascript\napi: {\n  baseUrl: 'https:\u002F\u002Fapi.example.com',\n  cacheDuration: 5 * 60 * 1000,\n},\n```\n\n### 5. Add Data Fetching\n\nUse the existing `apiGet()` helper in `onScreenEnter()`:\n\n```javascript\nfunction onScreenEnter(screenId) {\n  switch (screenId) {\n    case 'home':\n      loadData();\n      break;\n  }\n}\n\nfunction loadData() {\n  apiGet(CONFIG.api.baseUrl + '\u002Fendpoint', { cacheKey: 'my-data' })\n    .then(function(data) {\n      renderData(data);\n    })\n    .catch(function() {\n      \u002F\u002F Error already shown by apiGet\n    });\n}\n```\n\n### 6. Add Refresh Action\n\nIn `handleAppAction()`:\n\n```javascript\ncase 'refresh':\n  state.cache = {};\n  onScreenEnter(state.currentScreen);\n  break;\n```\n\n### 7. For WebSocket Connections\n\nUse the existing `connectWebSocket()` helper:\n\n```javascript\nvar ws = connectWebSocket('wss:\u002F\u002Fstream.example.com\u002Fdata', {\n  onOpen: function() { showToast('Connected', 'success'); },\n  onMessage: function(data) { updateDisplay(data); },\n  onClose: function() { showToast('Reconnecting...', 'warning'); },\n  onError: function() { showToast('Connection error', 'error'); },\n});\n```\n\n### 8. Add Auto-Refresh (Optional)\n\nFor periodic updates:\n\n```javascript\nvar refreshInterval = null;\n\nfunction startAutoRefresh(intervalMs) {\n  stopAutoRefresh();\n  refreshInterval = setInterval(function() {\n    onScreenEnter(state.currentScreen);\n  }, intervalMs || 60000);\n}\n\nfunction stopAutoRefresh() {\n  if (refreshInterval) {\n    clearInterval(refreshInterval);\n    refreshInterval = null;\n  }\n}\n```\n\nStart in `init()`: `startAutoRefresh(60000);`\n\n## Complete Examples\n\n### Weather API\n\n```javascript\nfunction loadWeather() {\n  var url = 'https:\u002F\u002Fapi.open-meteo.com\u002Fv1\u002Fforecast' +\n    '?latitude=40.71&longitude=-74.01' +\n    '&current_weather=true' +\n    '&daily=temperature_2m_max,temperature_2m_min,weathercode' +\n    '&timezone=auto&forecast_days=5';\n\n  apiGet(url, { cacheKey: 'weather' })\n    .then(function(data) {\n      var w = data.current_weather;\n      document.getElementById('temp').textContent = Math.round(w.temperature) + '\\u00B0';\n      document.getElementById('condition').textContent = getWeatherLabel(w.weathercode);\n      document.getElementById('wind').textContent = w.windspeed + ' km\u002Fh';\n      renderForecast(data.daily);\n    });\n}\n```\n\n### Crypto Price Tracker\n\n```javascript\nfunction loadPrices() {\n  var url = 'https:\u002F\u002Fapi.coingecko.com\u002Fapi\u002Fv3\u002Fsimple\u002Fprice' +\n    '?ids=bitcoin,ethereum,solana' +\n    '&vs_currencies=usd&include_24hr_change=true';\n\n  apiGet(url, { cacheKey: 'crypto', cacheDuration: 30000 })\n    .then(function(data) {\n      Object.keys(data).forEach(function(coin) {\n        var price = data[coin].usd;\n        var change = data[coin].usd_24h_change;\n        document.getElementById(coin + '-price').textContent = '$' + price.toLocaleString();\n        var changeEl = document.getElementById(coin + '-change');\n        changeEl.textContent = (change >= 0 ? '+' : '') + change.toFixed(2) + '%';\n        changeEl.className = 'badge ' + (change >= 0 ? 'badge-success' : 'badge-danger');\n      });\n    });\n}\n```\n\n## Verify\n\n- [ ] Loading spinner appears during API calls\n- [ ] Error state appears on network failure\n- [ ] Cached data is served on repeated loads\n- [ ] Refresh button clears cache and fetches fresh data\n- [ ] All API-rendered elements have `.focusable` class for D-pad navigation\n\n## Related Skills\n\n- `\u002Fadd-ui` — Add screens, buttons, and components for API data\n",{"data":38,"body":40},{"name":4,"description":6,"argument-hint":39},"[api-name-or-url]",{"type":41,"children":42},"root",[43,52,58,82,87,100,107,158,164,187,193,200,205,249,255,267,520,526,554,1025,1030,1109,1115,1135,1244,1250,1269,1670,1676,1687,1782,1788,1799,2151,2157,2162,2454,2473,2479,2485,3082,3088,3866,3872,3933,3939,3953],{"type":44,"tag":45,"props":46,"children":48},"element","h2",{"id":47},"required-reading",[49],{"type":50,"value":51},"text","Required reading",{"type":44,"tag":53,"props":54,"children":55},"p",{},[56],{"type":50,"value":57},"Before generating or modifying any code, read both:",{"type":44,"tag":59,"props":60,"children":61},"ul",{},[62,73],{"type":44,"tag":63,"props":64,"children":65},"li",{},[66],{"type":44,"tag":67,"props":68,"children":70},"code",{"className":69},[],[71],{"type":50,"value":72},"..\u002F..\u002Freferences\u002Fdisplay-guidelines.md",{"type":44,"tag":63,"props":74,"children":75},{},[76],{"type":44,"tag":67,"props":77,"children":79},{"className":78},[],[80],{"type":50,"value":81},"..\u002F..\u002Freferences\u002Fperformance-guidelines.md",{"type":44,"tag":53,"props":83,"children":84},{},[85],{"type":50,"value":86},"These define the non-negotiable display physics, input model, and performance budgets for Meta Display Glasses webapps. Do not skip — generated UI that ignores these will fail on-device.",{"type":44,"tag":53,"props":88,"children":89},{},[90,92,98],{"type":50,"value":91},"If these reference files are unavailable in an isolated eval, do not search ",{"type":44,"tag":67,"props":93,"children":95},{"className":94},[],[96],{"type":50,"value":97},"\u002F",{"type":50,"value":99},", home directories, or unrelated workspaces. Apply the requirements already present in this skill and continue.",{"type":44,"tag":101,"props":102,"children":104},"h1",{"id":103},"connect-api-to-meta-display-glasses-webapp",[105],{"type":50,"value":106},"Connect API to Meta Display Glasses WebApp",{"type":44,"tag":53,"props":108,"children":109},{},[110,112,118,120,126,128,134,135,141,142,148,150,156],{"type":50,"value":111},"Add real API connections to an existing webapp. The base ",{"type":44,"tag":67,"props":113,"children":115},{"className":114},[],[116],{"type":50,"value":117},"app.js",{"type":50,"value":119}," template already includes ",{"type":44,"tag":67,"props":121,"children":123},{"className":122},[],[124],{"type":50,"value":125},"apiGet()",{"type":50,"value":127},", ",{"type":44,"tag":67,"props":129,"children":131},{"className":130},[],[132],{"type":50,"value":133},"setLoading()",{"type":50,"value":127},{"type":44,"tag":67,"props":136,"children":138},{"className":137},[],[139],{"type":50,"value":140},"setError()",{"type":50,"value":127},{"type":44,"tag":67,"props":143,"children":145},{"className":144},[],[146],{"type":50,"value":147},"showToast()",{"type":50,"value":149},", and ",{"type":44,"tag":67,"props":151,"children":153},{"className":152},[],[154],{"type":50,"value":155},"connectWebSocket()",{"type":50,"value":157}," helpers — this skill shows how to wire them up.",{"type":44,"tag":45,"props":159,"children":161},{"id":160},"prerequisites",[162],{"type":50,"value":163},"Prerequisites",{"type":44,"tag":59,"props":165,"children":166},{},[167],{"type":44,"tag":63,"props":168,"children":169},{},[170,172,178,180,185],{"type":50,"value":171},"Existing webapp created via ",{"type":44,"tag":67,"props":173,"children":175},{"className":174},[],[176],{"type":50,"value":177},"\u002Fcreate-webapp",{"type":50,"value":179}," (which includes the API\u002FUI helpers in ",{"type":44,"tag":67,"props":181,"children":183},{"className":182},[],[184],{"type":50,"value":117},{"type":50,"value":186},")",{"type":44,"tag":45,"props":188,"children":190},{"id":189},"steps",[191],{"type":50,"value":192},"Steps",{"type":44,"tag":194,"props":195,"children":197},"h3",{"id":196},"_1-gather-information",[198],{"type":50,"value":199},"1. Gather Information",{"type":44,"tag":53,"props":201,"children":202},{},[203],{"type":50,"value":204},"Ask the user:",{"type":44,"tag":59,"props":206,"children":207},{},[208,219,229,239],{"type":44,"tag":63,"props":209,"children":210},{},[211,217],{"type":44,"tag":212,"props":213,"children":214},"strong",{},[215],{"type":50,"value":216},"What data?",{"type":50,"value":218}," What information should the app display?",{"type":44,"tag":63,"props":220,"children":221},{},[222,227],{"type":44,"tag":212,"props":223,"children":224},{},[225],{"type":50,"value":226},"Which API?",{"type":50,"value":228}," Specific API, or should we pick one?",{"type":44,"tag":63,"props":230,"children":231},{},[232,237],{"type":44,"tag":212,"props":233,"children":234},{},[235],{"type":50,"value":236},"Refresh behavior?",{"type":50,"value":238}," Manual, auto-refresh interval, or real-time WebSocket?",{"type":44,"tag":63,"props":240,"children":241},{},[242,247],{"type":44,"tag":212,"props":243,"children":244},{},[245],{"type":50,"value":246},"Offline fallback?",{"type":50,"value":248}," Should cached data be served when offline?",{"type":44,"tag":194,"props":250,"children":252},{"id":251},"_2-choose-an-api",[253],{"type":50,"value":254},"2. Choose an API",{"type":44,"tag":53,"props":256,"children":257},{},[258,260,265],{"type":50,"value":259},"If not specified, recommend from these ",{"type":44,"tag":212,"props":261,"children":262},{},[263],{"type":50,"value":264},"free, no-key-required",{"type":50,"value":266}," APIs:",{"type":44,"tag":268,"props":269,"children":270},"table",{},[271,295],{"type":44,"tag":272,"props":273,"children":274},"thead",{},[275],{"type":44,"tag":276,"props":277,"children":278},"tr",{},[279,285,290],{"type":44,"tag":280,"props":281,"children":282},"th",{},[283],{"type":50,"value":284},"Category",{"type":44,"tag":280,"props":286,"children":287},{},[288],{"type":50,"value":289},"API",{"type":44,"tag":280,"props":291,"children":292},{},[293],{"type":50,"value":294},"Base URL",{"type":44,"tag":296,"props":297,"children":298},"tbody",{},[299,322,344,366,388,410,432,454,476,498],{"type":44,"tag":276,"props":300,"children":301},{},[302,308,313],{"type":44,"tag":303,"props":304,"children":305},"td",{},[306],{"type":50,"value":307},"Weather",{"type":44,"tag":303,"props":309,"children":310},{},[311],{"type":50,"value":312},"Open-Meteo",{"type":44,"tag":303,"props":314,"children":315},{},[316],{"type":44,"tag":67,"props":317,"children":319},{"className":318},[],[320],{"type":50,"value":321},"api.open-meteo.com\u002Fv1\u002Fforecast",{"type":44,"tag":276,"props":323,"children":324},{},[325,330,335],{"type":44,"tag":303,"props":326,"children":327},{},[328],{"type":50,"value":329},"Trivia",{"type":44,"tag":303,"props":331,"children":332},{},[333],{"type":50,"value":334},"Open Trivia DB",{"type":44,"tag":303,"props":336,"children":337},{},[338],{"type":44,"tag":67,"props":339,"children":341},{"className":340},[],[342],{"type":50,"value":343},"opentdb.com\u002Fapi.php",{"type":44,"tag":276,"props":345,"children":346},{},[347,352,357],{"type":44,"tag":303,"props":348,"children":349},{},[350],{"type":50,"value":351},"Crypto",{"type":44,"tag":303,"props":353,"children":354},{},[355],{"type":50,"value":356},"CoinGecko",{"type":44,"tag":303,"props":358,"children":359},{},[360],{"type":44,"tag":67,"props":361,"children":363},{"className":362},[],[364],{"type":50,"value":365},"api.coingecko.com\u002Fapi\u002Fv3",{"type":44,"tag":276,"props":367,"children":368},{},[369,374,379],{"type":44,"tag":303,"props":370,"children":371},{},[372],{"type":50,"value":373},"Earthquakes",{"type":44,"tag":303,"props":375,"children":376},{},[377],{"type":50,"value":378},"USGS",{"type":44,"tag":303,"props":380,"children":381},{},[382],{"type":44,"tag":67,"props":383,"children":385},{"className":384},[],[386],{"type":50,"value":387},"earthquake.usgs.gov\u002Fearthquakes\u002Ffeed\u002Fv1.0",{"type":44,"tag":276,"props":389,"children":390},{},[391,396,401],{"type":44,"tag":303,"props":392,"children":393},{},[394],{"type":50,"value":395},"Wikipedia",{"type":44,"tag":303,"props":397,"children":398},{},[399],{"type":50,"value":400},"Wikipedia REST",{"type":44,"tag":303,"props":402,"children":403},{},[404],{"type":44,"tag":67,"props":405,"children":407},{"className":406},[],[408],{"type":50,"value":409},"en.wikipedia.org\u002Fapi\u002Frest_v1",{"type":44,"tag":276,"props":411,"children":412},{},[413,418,423],{"type":44,"tag":303,"props":414,"children":415},{},[416],{"type":50,"value":417},"Recipes",{"type":44,"tag":303,"props":419,"children":420},{},[421],{"type":50,"value":422},"TheMealDB",{"type":44,"tag":303,"props":424,"children":425},{},[426],{"type":44,"tag":67,"props":427,"children":429},{"className":428},[],[430],{"type":50,"value":431},"themealdb.com\u002Fapi\u002Fjson\u002Fv1\u002F1",{"type":44,"tag":276,"props":433,"children":434},{},[435,440,445],{"type":44,"tag":303,"props":436,"children":437},{},[438],{"type":50,"value":439},"Countries",{"type":44,"tag":303,"props":441,"children":442},{},[443],{"type":50,"value":444},"REST Countries",{"type":44,"tag":303,"props":446,"children":447},{},[448],{"type":44,"tag":67,"props":449,"children":451},{"className":450},[],[452],{"type":50,"value":453},"restcountries.com\u002Fv3.1",{"type":44,"tag":276,"props":455,"children":456},{},[457,462,467],{"type":44,"tag":303,"props":458,"children":459},{},[460],{"type":50,"value":461},"Jokes",{"type":44,"tag":303,"props":463,"children":464},{},[465],{"type":50,"value":466},"Official Joke API",{"type":44,"tag":303,"props":468,"children":469},{},[470],{"type":44,"tag":67,"props":471,"children":473},{"className":472},[],[474],{"type":50,"value":475},"official-joke-api.appspot.com",{"type":44,"tag":276,"props":477,"children":478},{},[479,484,489],{"type":44,"tag":303,"props":480,"children":481},{},[482],{"type":50,"value":483},"Pokemon",{"type":44,"tag":303,"props":485,"children":486},{},[487],{"type":50,"value":488},"PokeAPI",{"type":44,"tag":303,"props":490,"children":491},{},[492],{"type":44,"tag":67,"props":493,"children":495},{"className":494},[],[496],{"type":50,"value":497},"pokeapi.co\u002Fapi\u002Fv2",{"type":44,"tag":276,"props":499,"children":500},{},[501,506,511],{"type":44,"tag":303,"props":502,"children":503},{},[504],{"type":50,"value":505},"IP Location",{"type":44,"tag":303,"props":507,"children":508},{},[509],{"type":50,"value":510},"ipapi",{"type":44,"tag":303,"props":512,"children":513},{},[514],{"type":44,"tag":67,"props":515,"children":517},{"className":516},[],[518],{"type":50,"value":519},"ipapi.co\u002Fjson\u002F",{"type":44,"tag":194,"props":521,"children":523},{"id":522},"_3-add-loading-and-error-ui",[524],{"type":50,"value":525},"3. Add Loading and Error UI",{"type":44,"tag":53,"props":527,"children":528},{},[529,531,537,539,545,547,552],{"type":50,"value":530},"Add these elements inside the relevant screen in ",{"type":44,"tag":67,"props":532,"children":534},{"className":533},[],[535],{"type":50,"value":536},"index.html",{"type":50,"value":538}," (the CSS is already in ",{"type":44,"tag":67,"props":540,"children":542},{"className":541},[],[543],{"type":50,"value":544},"styles.css",{"type":50,"value":546}," from ",{"type":44,"tag":67,"props":548,"children":550},{"className":549},[],[551],{"type":50,"value":177},{"type":50,"value":553},"):",{"type":44,"tag":555,"props":556,"children":561},"pre",{"className":557,"code":558,"language":559,"meta":560,"style":560},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cdiv id=\"loading\" class=\"loading-container hidden\">\n  \u003Cdiv class=\"loading-spinner\">\u003C\u002Fdiv>\n  \u003Cdiv class=\"loading-text\">Loading...\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\n\u003Cdiv id=\"error\" class=\"error-container hidden\">\n  \u003Cdiv class=\"error-icon\">&#9888;\u003C\u002Fdiv>\n  \u003Cdiv class=\"error-message\">Something went wrong\u003C\u002Fdiv>\n  \u003Cbutton class=\"nav-item focusable\" data-action=\"refresh\">Try Again\u003C\u002Fbutton>\n\u003C\u002Fdiv>\n","html","",[562],{"type":44,"tag":67,"props":563,"children":564},{"__ignoreMap":560},[565,636,683,740,756,766,824,878,932,1009],{"type":44,"tag":566,"props":567,"children":570},"span",{"class":568,"line":569},"line",1,[571,577,583,589,594,599,605,609,614,618,622,627,631],{"type":44,"tag":566,"props":572,"children":574},{"style":573},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[575],{"type":50,"value":576},"\u003C",{"type":44,"tag":566,"props":578,"children":580},{"style":579},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[581],{"type":50,"value":582},"div",{"type":44,"tag":566,"props":584,"children":586},{"style":585},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[587],{"type":50,"value":588}," id",{"type":44,"tag":566,"props":590,"children":591},{"style":573},[592],{"type":50,"value":593},"=",{"type":44,"tag":566,"props":595,"children":596},{"style":573},[597],{"type":50,"value":598},"\"",{"type":44,"tag":566,"props":600,"children":602},{"style":601},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[603],{"type":50,"value":604},"loading",{"type":44,"tag":566,"props":606,"children":607},{"style":573},[608],{"type":50,"value":598},{"type":44,"tag":566,"props":610,"children":611},{"style":585},[612],{"type":50,"value":613}," class",{"type":44,"tag":566,"props":615,"children":616},{"style":573},[617],{"type":50,"value":593},{"type":44,"tag":566,"props":619,"children":620},{"style":573},[621],{"type":50,"value":598},{"type":44,"tag":566,"props":623,"children":624},{"style":601},[625],{"type":50,"value":626},"loading-container hidden",{"type":44,"tag":566,"props":628,"children":629},{"style":573},[630],{"type":50,"value":598},{"type":44,"tag":566,"props":632,"children":633},{"style":573},[634],{"type":50,"value":635},">\n",{"type":44,"tag":566,"props":637,"children":639},{"class":568,"line":638},2,[640,645,649,653,657,661,666,670,675,679],{"type":44,"tag":566,"props":641,"children":642},{"style":573},[643],{"type":50,"value":644},"  \u003C",{"type":44,"tag":566,"props":646,"children":647},{"style":579},[648],{"type":50,"value":582},{"type":44,"tag":566,"props":650,"children":651},{"style":585},[652],{"type":50,"value":613},{"type":44,"tag":566,"props":654,"children":655},{"style":573},[656],{"type":50,"value":593},{"type":44,"tag":566,"props":658,"children":659},{"style":573},[660],{"type":50,"value":598},{"type":44,"tag":566,"props":662,"children":663},{"style":601},[664],{"type":50,"value":665},"loading-spinner",{"type":44,"tag":566,"props":667,"children":668},{"style":573},[669],{"type":50,"value":598},{"type":44,"tag":566,"props":671,"children":672},{"style":573},[673],{"type":50,"value":674},">\u003C\u002F",{"type":44,"tag":566,"props":676,"children":677},{"style":579},[678],{"type":50,"value":582},{"type":44,"tag":566,"props":680,"children":681},{"style":573},[682],{"type":50,"value":635},{"type":44,"tag":566,"props":684,"children":686},{"class":568,"line":685},3,[687,691,695,699,703,707,712,716,721,727,732,736],{"type":44,"tag":566,"props":688,"children":689},{"style":573},[690],{"type":50,"value":644},{"type":44,"tag":566,"props":692,"children":693},{"style":579},[694],{"type":50,"value":582},{"type":44,"tag":566,"props":696,"children":697},{"style":585},[698],{"type":50,"value":613},{"type":44,"tag":566,"props":700,"children":701},{"style":573},[702],{"type":50,"value":593},{"type":44,"tag":566,"props":704,"children":705},{"style":573},[706],{"type":50,"value":598},{"type":44,"tag":566,"props":708,"children":709},{"style":601},[710],{"type":50,"value":711},"loading-text",{"type":44,"tag":566,"props":713,"children":714},{"style":573},[715],{"type":50,"value":598},{"type":44,"tag":566,"props":717,"children":718},{"style":573},[719],{"type":50,"value":720},">",{"type":44,"tag":566,"props":722,"children":724},{"style":723},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[725],{"type":50,"value":726},"Loading...",{"type":44,"tag":566,"props":728,"children":729},{"style":573},[730],{"type":50,"value":731},"\u003C\u002F",{"type":44,"tag":566,"props":733,"children":734},{"style":579},[735],{"type":50,"value":582},{"type":44,"tag":566,"props":737,"children":738},{"style":573},[739],{"type":50,"value":635},{"type":44,"tag":566,"props":741,"children":743},{"class":568,"line":742},4,[744,748,752],{"type":44,"tag":566,"props":745,"children":746},{"style":573},[747],{"type":50,"value":731},{"type":44,"tag":566,"props":749,"children":750},{"style":579},[751],{"type":50,"value":582},{"type":44,"tag":566,"props":753,"children":754},{"style":573},[755],{"type":50,"value":635},{"type":44,"tag":566,"props":757,"children":759},{"class":568,"line":758},5,[760],{"type":44,"tag":566,"props":761,"children":763},{"emptyLinePlaceholder":762},true,[764],{"type":50,"value":765},"\n",{"type":44,"tag":566,"props":767,"children":769},{"class":568,"line":768},6,[770,774,778,782,786,790,795,799,803,807,811,816,820],{"type":44,"tag":566,"props":771,"children":772},{"style":573},[773],{"type":50,"value":576},{"type":44,"tag":566,"props":775,"children":776},{"style":579},[777],{"type":50,"value":582},{"type":44,"tag":566,"props":779,"children":780},{"style":585},[781],{"type":50,"value":588},{"type":44,"tag":566,"props":783,"children":784},{"style":573},[785],{"type":50,"value":593},{"type":44,"tag":566,"props":787,"children":788},{"style":573},[789],{"type":50,"value":598},{"type":44,"tag":566,"props":791,"children":792},{"style":601},[793],{"type":50,"value":794},"error",{"type":44,"tag":566,"props":796,"children":797},{"style":573},[798],{"type":50,"value":598},{"type":44,"tag":566,"props":800,"children":801},{"style":585},[802],{"type":50,"value":613},{"type":44,"tag":566,"props":804,"children":805},{"style":573},[806],{"type":50,"value":593},{"type":44,"tag":566,"props":808,"children":809},{"style":573},[810],{"type":50,"value":598},{"type":44,"tag":566,"props":812,"children":813},{"style":601},[814],{"type":50,"value":815},"error-container hidden",{"type":44,"tag":566,"props":817,"children":818},{"style":573},[819],{"type":50,"value":598},{"type":44,"tag":566,"props":821,"children":822},{"style":573},[823],{"type":50,"value":635},{"type":44,"tag":566,"props":825,"children":827},{"class":568,"line":826},7,[828,832,836,840,844,848,853,857,861,866,870,874],{"type":44,"tag":566,"props":829,"children":830},{"style":573},[831],{"type":50,"value":644},{"type":44,"tag":566,"props":833,"children":834},{"style":579},[835],{"type":50,"value":582},{"type":44,"tag":566,"props":837,"children":838},{"style":585},[839],{"type":50,"value":613},{"type":44,"tag":566,"props":841,"children":842},{"style":573},[843],{"type":50,"value":593},{"type":44,"tag":566,"props":845,"children":846},{"style":573},[847],{"type":50,"value":598},{"type":44,"tag":566,"props":849,"children":850},{"style":601},[851],{"type":50,"value":852},"error-icon",{"type":44,"tag":566,"props":854,"children":855},{"style":573},[856],{"type":50,"value":598},{"type":44,"tag":566,"props":858,"children":859},{"style":573},[860],{"type":50,"value":720},{"type":44,"tag":566,"props":862,"children":863},{"style":723},[864],{"type":50,"value":865},"&#9888;",{"type":44,"tag":566,"props":867,"children":868},{"style":573},[869],{"type":50,"value":731},{"type":44,"tag":566,"props":871,"children":872},{"style":579},[873],{"type":50,"value":582},{"type":44,"tag":566,"props":875,"children":876},{"style":573},[877],{"type":50,"value":635},{"type":44,"tag":566,"props":879,"children":881},{"class":568,"line":880},8,[882,886,890,894,898,902,907,911,915,920,924,928],{"type":44,"tag":566,"props":883,"children":884},{"style":573},[885],{"type":50,"value":644},{"type":44,"tag":566,"props":887,"children":888},{"style":579},[889],{"type":50,"value":582},{"type":44,"tag":566,"props":891,"children":892},{"style":585},[893],{"type":50,"value":613},{"type":44,"tag":566,"props":895,"children":896},{"style":573},[897],{"type":50,"value":593},{"type":44,"tag":566,"props":899,"children":900},{"style":573},[901],{"type":50,"value":598},{"type":44,"tag":566,"props":903,"children":904},{"style":601},[905],{"type":50,"value":906},"error-message",{"type":44,"tag":566,"props":908,"children":909},{"style":573},[910],{"type":50,"value":598},{"type":44,"tag":566,"props":912,"children":913},{"style":573},[914],{"type":50,"value":720},{"type":44,"tag":566,"props":916,"children":917},{"style":723},[918],{"type":50,"value":919},"Something went wrong",{"type":44,"tag":566,"props":921,"children":922},{"style":573},[923],{"type":50,"value":731},{"type":44,"tag":566,"props":925,"children":926},{"style":579},[927],{"type":50,"value":582},{"type":44,"tag":566,"props":929,"children":930},{"style":573},[931],{"type":50,"value":635},{"type":44,"tag":566,"props":933,"children":935},{"class":568,"line":934},9,[936,940,945,949,953,957,962,966,971,975,979,984,988,992,997,1001,1005],{"type":44,"tag":566,"props":937,"children":938},{"style":573},[939],{"type":50,"value":644},{"type":44,"tag":566,"props":941,"children":942},{"style":579},[943],{"type":50,"value":944},"button",{"type":44,"tag":566,"props":946,"children":947},{"style":585},[948],{"type":50,"value":613},{"type":44,"tag":566,"props":950,"children":951},{"style":573},[952],{"type":50,"value":593},{"type":44,"tag":566,"props":954,"children":955},{"style":573},[956],{"type":50,"value":598},{"type":44,"tag":566,"props":958,"children":959},{"style":601},[960],{"type":50,"value":961},"nav-item focusable",{"type":44,"tag":566,"props":963,"children":964},{"style":573},[965],{"type":50,"value":598},{"type":44,"tag":566,"props":967,"children":968},{"style":585},[969],{"type":50,"value":970}," data-action",{"type":44,"tag":566,"props":972,"children":973},{"style":573},[974],{"type":50,"value":593},{"type":44,"tag":566,"props":976,"children":977},{"style":573},[978],{"type":50,"value":598},{"type":44,"tag":566,"props":980,"children":981},{"style":601},[982],{"type":50,"value":983},"refresh",{"type":44,"tag":566,"props":985,"children":986},{"style":573},[987],{"type":50,"value":598},{"type":44,"tag":566,"props":989,"children":990},{"style":573},[991],{"type":50,"value":720},{"type":44,"tag":566,"props":993,"children":994},{"style":723},[995],{"type":50,"value":996},"Try Again",{"type":44,"tag":566,"props":998,"children":999},{"style":573},[1000],{"type":50,"value":731},{"type":44,"tag":566,"props":1002,"children":1003},{"style":579},[1004],{"type":50,"value":944},{"type":44,"tag":566,"props":1006,"children":1007},{"style":573},[1008],{"type":50,"value":635},{"type":44,"tag":566,"props":1010,"children":1012},{"class":568,"line":1011},10,[1013,1017,1021],{"type":44,"tag":566,"props":1014,"children":1015},{"style":573},[1016],{"type":50,"value":731},{"type":44,"tag":566,"props":1018,"children":1019},{"style":579},[1020],{"type":50,"value":582},{"type":44,"tag":566,"props":1022,"children":1023},{"style":573},[1024],{"type":50,"value":635},{"type":44,"tag":53,"props":1026,"children":1027},{},[1028],{"type":50,"value":1029},"Add a refresh button to the nav bar:",{"type":44,"tag":555,"props":1031,"children":1033},{"className":557,"code":1032,"language":559,"meta":560,"style":560},"\u003Cbutton class=\"nav-item focusable\" data-action=\"refresh\">&#8635; Refresh\u003C\u002Fbutton>\n",[1034],{"type":44,"tag":67,"props":1035,"children":1036},{"__ignoreMap":560},[1037],{"type":44,"tag":566,"props":1038,"children":1039},{"class":568,"line":569},[1040,1044,1048,1052,1056,1060,1064,1068,1072,1076,1080,1084,1088,1092,1097,1101,1105],{"type":44,"tag":566,"props":1041,"children":1042},{"style":573},[1043],{"type":50,"value":576},{"type":44,"tag":566,"props":1045,"children":1046},{"style":579},[1047],{"type":50,"value":944},{"type":44,"tag":566,"props":1049,"children":1050},{"style":585},[1051],{"type":50,"value":613},{"type":44,"tag":566,"props":1053,"children":1054},{"style":573},[1055],{"type":50,"value":593},{"type":44,"tag":566,"props":1057,"children":1058},{"style":573},[1059],{"type":50,"value":598},{"type":44,"tag":566,"props":1061,"children":1062},{"style":601},[1063],{"type":50,"value":961},{"type":44,"tag":566,"props":1065,"children":1066},{"style":573},[1067],{"type":50,"value":598},{"type":44,"tag":566,"props":1069,"children":1070},{"style":585},[1071],{"type":50,"value":970},{"type":44,"tag":566,"props":1073,"children":1074},{"style":573},[1075],{"type":50,"value":593},{"type":44,"tag":566,"props":1077,"children":1078},{"style":573},[1079],{"type":50,"value":598},{"type":44,"tag":566,"props":1081,"children":1082},{"style":601},[1083],{"type":50,"value":983},{"type":44,"tag":566,"props":1085,"children":1086},{"style":573},[1087],{"type":50,"value":598},{"type":44,"tag":566,"props":1089,"children":1090},{"style":573},[1091],{"type":50,"value":720},{"type":44,"tag":566,"props":1093,"children":1094},{"style":723},[1095],{"type":50,"value":1096},"&#8635; Refresh",{"type":44,"tag":566,"props":1098,"children":1099},{"style":573},[1100],{"type":50,"value":731},{"type":44,"tag":566,"props":1102,"children":1103},{"style":579},[1104],{"type":50,"value":944},{"type":44,"tag":566,"props":1106,"children":1107},{"style":573},[1108],{"type":50,"value":635},{"type":44,"tag":194,"props":1110,"children":1112},{"id":1111},"_4-update-api-configuration",[1113],{"type":50,"value":1114},"4. Update API Configuration",{"type":44,"tag":53,"props":1116,"children":1117},{},[1118,1120,1125,1127,1133],{"type":50,"value":1119},"In ",{"type":44,"tag":67,"props":1121,"children":1123},{"className":1122},[],[1124],{"type":50,"value":117},{"type":50,"value":1126},", update the ",{"type":44,"tag":67,"props":1128,"children":1130},{"className":1129},[],[1131],{"type":50,"value":1132},"CONFIG",{"type":50,"value":1134}," object:",{"type":44,"tag":555,"props":1136,"children":1140},{"className":1137,"code":1138,"language":1139,"meta":560,"style":560},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","api: {\n  baseUrl: 'https:\u002F\u002Fapi.example.com',\n  cacheDuration: 5 * 60 * 1000,\n},\n","javascript",[1141],{"type":44,"tag":67,"props":1142,"children":1143},{"__ignoreMap":560},[1144,1163,1195,1236],{"type":44,"tag":566,"props":1145,"children":1146},{"class":568,"line":569},[1147,1153,1158],{"type":44,"tag":566,"props":1148,"children":1150},{"style":1149},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[1151],{"type":50,"value":1152},"api",{"type":44,"tag":566,"props":1154,"children":1155},{"style":573},[1156],{"type":50,"value":1157},":",{"type":44,"tag":566,"props":1159,"children":1160},{"style":573},[1161],{"type":50,"value":1162}," {\n",{"type":44,"tag":566,"props":1164,"children":1165},{"class":568,"line":638},[1166,1171,1175,1180,1185,1190],{"type":44,"tag":566,"props":1167,"children":1168},{"style":1149},[1169],{"type":50,"value":1170},"  baseUrl",{"type":44,"tag":566,"props":1172,"children":1173},{"style":573},[1174],{"type":50,"value":1157},{"type":44,"tag":566,"props":1176,"children":1177},{"style":573},[1178],{"type":50,"value":1179}," '",{"type":44,"tag":566,"props":1181,"children":1182},{"style":601},[1183],{"type":50,"value":1184},"https:\u002F\u002Fapi.example.com",{"type":44,"tag":566,"props":1186,"children":1187},{"style":573},[1188],{"type":50,"value":1189},"'",{"type":44,"tag":566,"props":1191,"children":1192},{"style":573},[1193],{"type":50,"value":1194},",\n",{"type":44,"tag":566,"props":1196,"children":1197},{"class":568,"line":685},[1198,1203,1207,1213,1218,1223,1227,1232],{"type":44,"tag":566,"props":1199,"children":1200},{"style":1149},[1201],{"type":50,"value":1202},"  cacheDuration",{"type":44,"tag":566,"props":1204,"children":1205},{"style":573},[1206],{"type":50,"value":1157},{"type":44,"tag":566,"props":1208,"children":1210},{"style":1209},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1211],{"type":50,"value":1212}," 5",{"type":44,"tag":566,"props":1214,"children":1215},{"style":573},[1216],{"type":50,"value":1217}," *",{"type":44,"tag":566,"props":1219,"children":1220},{"style":1209},[1221],{"type":50,"value":1222}," 60",{"type":44,"tag":566,"props":1224,"children":1225},{"style":573},[1226],{"type":50,"value":1217},{"type":44,"tag":566,"props":1228,"children":1229},{"style":1209},[1230],{"type":50,"value":1231}," 1000",{"type":44,"tag":566,"props":1233,"children":1234},{"style":573},[1235],{"type":50,"value":1194},{"type":44,"tag":566,"props":1237,"children":1238},{"class":568,"line":742},[1239],{"type":44,"tag":566,"props":1240,"children":1241},{"style":573},[1242],{"type":50,"value":1243},"},\n",{"type":44,"tag":194,"props":1245,"children":1247},{"id":1246},"_5-add-data-fetching",[1248],{"type":50,"value":1249},"5. Add Data Fetching",{"type":44,"tag":53,"props":1251,"children":1252},{},[1253,1255,1260,1262,1268],{"type":50,"value":1254},"Use the existing ",{"type":44,"tag":67,"props":1256,"children":1258},{"className":1257},[],[1259],{"type":50,"value":125},{"type":50,"value":1261}," helper in ",{"type":44,"tag":67,"props":1263,"children":1265},{"className":1264},[],[1266],{"type":50,"value":1267},"onScreenEnter()",{"type":50,"value":1157},{"type":44,"tag":555,"props":1270,"children":1272},{"className":1137,"code":1271,"language":1139,"meta":560,"style":560},"function onScreenEnter(screenId) {\n  switch (screenId) {\n    case 'home':\n      loadData();\n      break;\n  }\n}\n\nfunction loadData() {\n  apiGet(CONFIG.api.baseUrl + '\u002Fendpoint', { cacheKey: 'my-data' })\n    .then(function(data) {\n      renderData(data);\n    })\n    .catch(function() {\n      \u002F\u002F Error already shown by apiGet\n    });\n}\n",[1273],{"type":44,"tag":67,"props":1274,"children":1275},{"__ignoreMap":560},[1276,1309,1337,1363,1381,1393,1401,1409,1416,1436,1530,1569,1594,1607,1636,1646,1662],{"type":44,"tag":566,"props":1277,"children":1278},{"class":568,"line":569},[1279,1284,1290,1295,1301,1305],{"type":44,"tag":566,"props":1280,"children":1281},{"style":585},[1282],{"type":50,"value":1283},"function",{"type":44,"tag":566,"props":1285,"children":1287},{"style":1286},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[1288],{"type":50,"value":1289}," onScreenEnter",{"type":44,"tag":566,"props":1291,"children":1292},{"style":573},[1293],{"type":50,"value":1294},"(",{"type":44,"tag":566,"props":1296,"children":1298},{"style":1297},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[1299],{"type":50,"value":1300},"screenId",{"type":44,"tag":566,"props":1302,"children":1303},{"style":573},[1304],{"type":50,"value":186},{"type":44,"tag":566,"props":1306,"children":1307},{"style":573},[1308],{"type":50,"value":1162},{"type":44,"tag":566,"props":1310,"children":1311},{"class":568,"line":638},[1312,1318,1323,1327,1332],{"type":44,"tag":566,"props":1313,"children":1315},{"style":1314},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[1316],{"type":50,"value":1317},"  switch",{"type":44,"tag":566,"props":1319,"children":1320},{"style":579},[1321],{"type":50,"value":1322}," (",{"type":44,"tag":566,"props":1324,"children":1325},{"style":723},[1326],{"type":50,"value":1300},{"type":44,"tag":566,"props":1328,"children":1329},{"style":579},[1330],{"type":50,"value":1331},") ",{"type":44,"tag":566,"props":1333,"children":1334},{"style":573},[1335],{"type":50,"value":1336},"{\n",{"type":44,"tag":566,"props":1338,"children":1339},{"class":568,"line":685},[1340,1345,1349,1354,1358],{"type":44,"tag":566,"props":1341,"children":1342},{"style":1314},[1343],{"type":50,"value":1344},"    case",{"type":44,"tag":566,"props":1346,"children":1347},{"style":573},[1348],{"type":50,"value":1179},{"type":44,"tag":566,"props":1350,"children":1351},{"style":601},[1352],{"type":50,"value":1353},"home",{"type":44,"tag":566,"props":1355,"children":1356},{"style":573},[1357],{"type":50,"value":1189},{"type":44,"tag":566,"props":1359,"children":1360},{"style":573},[1361],{"type":50,"value":1362},":\n",{"type":44,"tag":566,"props":1364,"children":1365},{"class":568,"line":742},[1366,1371,1376],{"type":44,"tag":566,"props":1367,"children":1368},{"style":1286},[1369],{"type":50,"value":1370},"      loadData",{"type":44,"tag":566,"props":1372,"children":1373},{"style":579},[1374],{"type":50,"value":1375},"()",{"type":44,"tag":566,"props":1377,"children":1378},{"style":573},[1379],{"type":50,"value":1380},";\n",{"type":44,"tag":566,"props":1382,"children":1383},{"class":568,"line":758},[1384,1389],{"type":44,"tag":566,"props":1385,"children":1386},{"style":1314},[1387],{"type":50,"value":1388},"      break",{"type":44,"tag":566,"props":1390,"children":1391},{"style":573},[1392],{"type":50,"value":1380},{"type":44,"tag":566,"props":1394,"children":1395},{"class":568,"line":768},[1396],{"type":44,"tag":566,"props":1397,"children":1398},{"style":573},[1399],{"type":50,"value":1400},"  }\n",{"type":44,"tag":566,"props":1402,"children":1403},{"class":568,"line":826},[1404],{"type":44,"tag":566,"props":1405,"children":1406},{"style":573},[1407],{"type":50,"value":1408},"}\n",{"type":44,"tag":566,"props":1410,"children":1411},{"class":568,"line":880},[1412],{"type":44,"tag":566,"props":1413,"children":1414},{"emptyLinePlaceholder":762},[1415],{"type":50,"value":765},{"type":44,"tag":566,"props":1417,"children":1418},{"class":568,"line":934},[1419,1423,1428,1432],{"type":44,"tag":566,"props":1420,"children":1421},{"style":585},[1422],{"type":50,"value":1283},{"type":44,"tag":566,"props":1424,"children":1425},{"style":1286},[1426],{"type":50,"value":1427}," loadData",{"type":44,"tag":566,"props":1429,"children":1430},{"style":573},[1431],{"type":50,"value":1375},{"type":44,"tag":566,"props":1433,"children":1434},{"style":573},[1435],{"type":50,"value":1162},{"type":44,"tag":566,"props":1437,"children":1438},{"class":568,"line":1011},[1439,1444,1448,1452,1457,1461,1465,1470,1475,1479,1484,1488,1493,1498,1503,1507,1511,1516,1520,1525],{"type":44,"tag":566,"props":1440,"children":1441},{"style":1286},[1442],{"type":50,"value":1443},"  apiGet",{"type":44,"tag":566,"props":1445,"children":1446},{"style":579},[1447],{"type":50,"value":1294},{"type":44,"tag":566,"props":1449,"children":1450},{"style":723},[1451],{"type":50,"value":1132},{"type":44,"tag":566,"props":1453,"children":1454},{"style":573},[1455],{"type":50,"value":1456},".",{"type":44,"tag":566,"props":1458,"children":1459},{"style":723},[1460],{"type":50,"value":1152},{"type":44,"tag":566,"props":1462,"children":1463},{"style":573},[1464],{"type":50,"value":1456},{"type":44,"tag":566,"props":1466,"children":1467},{"style":723},[1468],{"type":50,"value":1469},"baseUrl",{"type":44,"tag":566,"props":1471,"children":1472},{"style":573},[1473],{"type":50,"value":1474}," +",{"type":44,"tag":566,"props":1476,"children":1477},{"style":573},[1478],{"type":50,"value":1179},{"type":44,"tag":566,"props":1480,"children":1481},{"style":601},[1482],{"type":50,"value":1483},"\u002Fendpoint",{"type":44,"tag":566,"props":1485,"children":1486},{"style":573},[1487],{"type":50,"value":1189},{"type":44,"tag":566,"props":1489,"children":1490},{"style":573},[1491],{"type":50,"value":1492},",",{"type":44,"tag":566,"props":1494,"children":1495},{"style":573},[1496],{"type":50,"value":1497}," {",{"type":44,"tag":566,"props":1499,"children":1500},{"style":579},[1501],{"type":50,"value":1502}," cacheKey",{"type":44,"tag":566,"props":1504,"children":1505},{"style":573},[1506],{"type":50,"value":1157},{"type":44,"tag":566,"props":1508,"children":1509},{"style":573},[1510],{"type":50,"value":1179},{"type":44,"tag":566,"props":1512,"children":1513},{"style":601},[1514],{"type":50,"value":1515},"my-data",{"type":44,"tag":566,"props":1517,"children":1518},{"style":573},[1519],{"type":50,"value":1189},{"type":44,"tag":566,"props":1521,"children":1522},{"style":573},[1523],{"type":50,"value":1524}," }",{"type":44,"tag":566,"props":1526,"children":1527},{"style":579},[1528],{"type":50,"value":1529},")\n",{"type":44,"tag":566,"props":1531,"children":1533},{"class":568,"line":1532},11,[1534,1539,1544,1548,1552,1556,1561,1565],{"type":44,"tag":566,"props":1535,"children":1536},{"style":573},[1537],{"type":50,"value":1538},"    .",{"type":44,"tag":566,"props":1540,"children":1541},{"style":1286},[1542],{"type":50,"value":1543},"then",{"type":44,"tag":566,"props":1545,"children":1546},{"style":579},[1547],{"type":50,"value":1294},{"type":44,"tag":566,"props":1549,"children":1550},{"style":585},[1551],{"type":50,"value":1283},{"type":44,"tag":566,"props":1553,"children":1554},{"style":573},[1555],{"type":50,"value":1294},{"type":44,"tag":566,"props":1557,"children":1558},{"style":1297},[1559],{"type":50,"value":1560},"data",{"type":44,"tag":566,"props":1562,"children":1563},{"style":573},[1564],{"type":50,"value":186},{"type":44,"tag":566,"props":1566,"children":1567},{"style":573},[1568],{"type":50,"value":1162},{"type":44,"tag":566,"props":1570,"children":1572},{"class":568,"line":1571},12,[1573,1578,1582,1586,1590],{"type":44,"tag":566,"props":1574,"children":1575},{"style":1286},[1576],{"type":50,"value":1577},"      renderData",{"type":44,"tag":566,"props":1579,"children":1580},{"style":579},[1581],{"type":50,"value":1294},{"type":44,"tag":566,"props":1583,"children":1584},{"style":723},[1585],{"type":50,"value":1560},{"type":44,"tag":566,"props":1587,"children":1588},{"style":579},[1589],{"type":50,"value":186},{"type":44,"tag":566,"props":1591,"children":1592},{"style":573},[1593],{"type":50,"value":1380},{"type":44,"tag":566,"props":1595,"children":1597},{"class":568,"line":1596},13,[1598,1603],{"type":44,"tag":566,"props":1599,"children":1600},{"style":573},[1601],{"type":50,"value":1602},"    }",{"type":44,"tag":566,"props":1604,"children":1605},{"style":579},[1606],{"type":50,"value":1529},{"type":44,"tag":566,"props":1608,"children":1610},{"class":568,"line":1609},14,[1611,1615,1620,1624,1628,1632],{"type":44,"tag":566,"props":1612,"children":1613},{"style":573},[1614],{"type":50,"value":1538},{"type":44,"tag":566,"props":1616,"children":1617},{"style":1286},[1618],{"type":50,"value":1619},"catch",{"type":44,"tag":566,"props":1621,"children":1622},{"style":579},[1623],{"type":50,"value":1294},{"type":44,"tag":566,"props":1625,"children":1626},{"style":585},[1627],{"type":50,"value":1283},{"type":44,"tag":566,"props":1629,"children":1630},{"style":573},[1631],{"type":50,"value":1375},{"type":44,"tag":566,"props":1633,"children":1634},{"style":573},[1635],{"type":50,"value":1162},{"type":44,"tag":566,"props":1637,"children":1639},{"class":568,"line":1638},15,[1640],{"type":44,"tag":566,"props":1641,"children":1643},{"style":1642},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[1644],{"type":50,"value":1645},"      \u002F\u002F Error already shown by apiGet\n",{"type":44,"tag":566,"props":1647,"children":1649},{"class":568,"line":1648},16,[1650,1654,1658],{"type":44,"tag":566,"props":1651,"children":1652},{"style":573},[1653],{"type":50,"value":1602},{"type":44,"tag":566,"props":1655,"children":1656},{"style":579},[1657],{"type":50,"value":186},{"type":44,"tag":566,"props":1659,"children":1660},{"style":573},[1661],{"type":50,"value":1380},{"type":44,"tag":566,"props":1663,"children":1665},{"class":568,"line":1664},17,[1666],{"type":44,"tag":566,"props":1667,"children":1668},{"style":573},[1669],{"type":50,"value":1408},{"type":44,"tag":194,"props":1671,"children":1673},{"id":1672},"_6-add-refresh-action",[1674],{"type":50,"value":1675},"6. Add Refresh Action",{"type":44,"tag":53,"props":1677,"children":1678},{},[1679,1680,1686],{"type":50,"value":1119},{"type":44,"tag":67,"props":1681,"children":1683},{"className":1682},[],[1684],{"type":50,"value":1685},"handleAppAction()",{"type":50,"value":1157},{"type":44,"tag":555,"props":1688,"children":1690},{"className":1137,"code":1689,"language":1139,"meta":560,"style":560},"case 'refresh':\n  state.cache = {};\n  onScreenEnter(state.currentScreen);\n  break;\n",[1691],{"type":44,"tag":67,"props":1692,"children":1693},{"__ignoreMap":560},[1694,1718,1744,1770],{"type":44,"tag":566,"props":1695,"children":1696},{"class":568,"line":569},[1697,1702,1706,1710,1714],{"type":44,"tag":566,"props":1698,"children":1699},{"style":1314},[1700],{"type":50,"value":1701},"case",{"type":44,"tag":566,"props":1703,"children":1704},{"style":573},[1705],{"type":50,"value":1179},{"type":44,"tag":566,"props":1707,"children":1708},{"style":601},[1709],{"type":50,"value":983},{"type":44,"tag":566,"props":1711,"children":1712},{"style":573},[1713],{"type":50,"value":1189},{"type":44,"tag":566,"props":1715,"children":1716},{"style":723},[1717],{"type":50,"value":1362},{"type":44,"tag":566,"props":1719,"children":1720},{"class":568,"line":638},[1721,1726,1730,1735,1739],{"type":44,"tag":566,"props":1722,"children":1723},{"style":723},[1724],{"type":50,"value":1725},"  state",{"type":44,"tag":566,"props":1727,"children":1728},{"style":573},[1729],{"type":50,"value":1456},{"type":44,"tag":566,"props":1731,"children":1732},{"style":723},[1733],{"type":50,"value":1734},"cache ",{"type":44,"tag":566,"props":1736,"children":1737},{"style":573},[1738],{"type":50,"value":593},{"type":44,"tag":566,"props":1740,"children":1741},{"style":573},[1742],{"type":50,"value":1743}," {};\n",{"type":44,"tag":566,"props":1745,"children":1746},{"class":568,"line":685},[1747,1752,1757,1761,1766],{"type":44,"tag":566,"props":1748,"children":1749},{"style":1286},[1750],{"type":50,"value":1751},"  onScreenEnter",{"type":44,"tag":566,"props":1753,"children":1754},{"style":723},[1755],{"type":50,"value":1756},"(state",{"type":44,"tag":566,"props":1758,"children":1759},{"style":573},[1760],{"type":50,"value":1456},{"type":44,"tag":566,"props":1762,"children":1763},{"style":723},[1764],{"type":50,"value":1765},"currentScreen)",{"type":44,"tag":566,"props":1767,"children":1768},{"style":573},[1769],{"type":50,"value":1380},{"type":44,"tag":566,"props":1771,"children":1772},{"class":568,"line":742},[1773,1778],{"type":44,"tag":566,"props":1774,"children":1775},{"style":1314},[1776],{"type":50,"value":1777},"  break",{"type":44,"tag":566,"props":1779,"children":1780},{"style":573},[1781],{"type":50,"value":1380},{"type":44,"tag":194,"props":1783,"children":1785},{"id":1784},"_7-for-websocket-connections",[1786],{"type":50,"value":1787},"7. For WebSocket Connections",{"type":44,"tag":53,"props":1789,"children":1790},{},[1791,1792,1797],{"type":50,"value":1254},{"type":44,"tag":67,"props":1793,"children":1795},{"className":1794},[],[1796],{"type":50,"value":155},{"type":50,"value":1798}," helper:",{"type":44,"tag":555,"props":1800,"children":1802},{"className":1137,"code":1801,"language":1139,"meta":560,"style":560},"var ws = connectWebSocket('wss:\u002F\u002Fstream.example.com\u002Fdata', {\n  onOpen: function() { showToast('Connected', 'success'); },\n  onMessage: function(data) { updateDisplay(data); },\n  onClose: function() { showToast('Reconnecting...', 'warning'); },\n  onError: function() { showToast('Connection error', 'error'); },\n});\n",[1803],{"type":44,"tag":67,"props":1804,"children":1805},{"__ignoreMap":560},[1806,1853,1931,1988,2062,2135],{"type":44,"tag":566,"props":1807,"children":1808},{"class":568,"line":569},[1809,1814,1819,1823,1828,1832,1836,1841,1845,1849],{"type":44,"tag":566,"props":1810,"children":1811},{"style":585},[1812],{"type":50,"value":1813},"var",{"type":44,"tag":566,"props":1815,"children":1816},{"style":723},[1817],{"type":50,"value":1818}," ws ",{"type":44,"tag":566,"props":1820,"children":1821},{"style":573},[1822],{"type":50,"value":593},{"type":44,"tag":566,"props":1824,"children":1825},{"style":1286},[1826],{"type":50,"value":1827}," connectWebSocket",{"type":44,"tag":566,"props":1829,"children":1830},{"style":723},[1831],{"type":50,"value":1294},{"type":44,"tag":566,"props":1833,"children":1834},{"style":573},[1835],{"type":50,"value":1189},{"type":44,"tag":566,"props":1837,"children":1838},{"style":601},[1839],{"type":50,"value":1840},"wss:\u002F\u002Fstream.example.com\u002Fdata",{"type":44,"tag":566,"props":1842,"children":1843},{"style":573},[1844],{"type":50,"value":1189},{"type":44,"tag":566,"props":1846,"children":1847},{"style":573},[1848],{"type":50,"value":1492},{"type":44,"tag":566,"props":1850,"children":1851},{"style":573},[1852],{"type":50,"value":1162},{"type":44,"tag":566,"props":1854,"children":1855},{"class":568,"line":638},[1856,1861,1865,1870,1874,1878,1883,1887,1891,1896,1900,1904,1908,1913,1917,1921,1926],{"type":44,"tag":566,"props":1857,"children":1858},{"style":1286},[1859],{"type":50,"value":1860},"  onOpen",{"type":44,"tag":566,"props":1862,"children":1863},{"style":573},[1864],{"type":50,"value":1157},{"type":44,"tag":566,"props":1866,"children":1867},{"style":585},[1868],{"type":50,"value":1869}," function",{"type":44,"tag":566,"props":1871,"children":1872},{"style":573},[1873],{"type":50,"value":1375},{"type":44,"tag":566,"props":1875,"children":1876},{"style":573},[1877],{"type":50,"value":1497},{"type":44,"tag":566,"props":1879,"children":1880},{"style":1286},[1881],{"type":50,"value":1882}," showToast",{"type":44,"tag":566,"props":1884,"children":1885},{"style":579},[1886],{"type":50,"value":1294},{"type":44,"tag":566,"props":1888,"children":1889},{"style":573},[1890],{"type":50,"value":1189},{"type":44,"tag":566,"props":1892,"children":1893},{"style":601},[1894],{"type":50,"value":1895},"Connected",{"type":44,"tag":566,"props":1897,"children":1898},{"style":573},[1899],{"type":50,"value":1189},{"type":44,"tag":566,"props":1901,"children":1902},{"style":573},[1903],{"type":50,"value":1492},{"type":44,"tag":566,"props":1905,"children":1906},{"style":573},[1907],{"type":50,"value":1179},{"type":44,"tag":566,"props":1909,"children":1910},{"style":601},[1911],{"type":50,"value":1912},"success",{"type":44,"tag":566,"props":1914,"children":1915},{"style":573},[1916],{"type":50,"value":1189},{"type":44,"tag":566,"props":1918,"children":1919},{"style":579},[1920],{"type":50,"value":186},{"type":44,"tag":566,"props":1922,"children":1923},{"style":573},[1924],{"type":50,"value":1925},";",{"type":44,"tag":566,"props":1927,"children":1928},{"style":573},[1929],{"type":50,"value":1930}," },\n",{"type":44,"tag":566,"props":1932,"children":1933},{"class":568,"line":685},[1934,1939,1943,1947,1951,1955,1959,1963,1968,1972,1976,1980,1984],{"type":44,"tag":566,"props":1935,"children":1936},{"style":1286},[1937],{"type":50,"value":1938},"  onMessage",{"type":44,"tag":566,"props":1940,"children":1941},{"style":573},[1942],{"type":50,"value":1157},{"type":44,"tag":566,"props":1944,"children":1945},{"style":585},[1946],{"type":50,"value":1869},{"type":44,"tag":566,"props":1948,"children":1949},{"style":573},[1950],{"type":50,"value":1294},{"type":44,"tag":566,"props":1952,"children":1953},{"style":1297},[1954],{"type":50,"value":1560},{"type":44,"tag":566,"props":1956,"children":1957},{"style":573},[1958],{"type":50,"value":186},{"type":44,"tag":566,"props":1960,"children":1961},{"style":573},[1962],{"type":50,"value":1497},{"type":44,"tag":566,"props":1964,"children":1965},{"style":1286},[1966],{"type":50,"value":1967}," updateDisplay",{"type":44,"tag":566,"props":1969,"children":1970},{"style":579},[1971],{"type":50,"value":1294},{"type":44,"tag":566,"props":1973,"children":1974},{"style":723},[1975],{"type":50,"value":1560},{"type":44,"tag":566,"props":1977,"children":1978},{"style":579},[1979],{"type":50,"value":186},{"type":44,"tag":566,"props":1981,"children":1982},{"style":573},[1983],{"type":50,"value":1925},{"type":44,"tag":566,"props":1985,"children":1986},{"style":573},[1987],{"type":50,"value":1930},{"type":44,"tag":566,"props":1989,"children":1990},{"class":568,"line":742},[1991,1996,2000,2004,2008,2012,2016,2020,2024,2029,2033,2037,2041,2046,2050,2054,2058],{"type":44,"tag":566,"props":1992,"children":1993},{"style":1286},[1994],{"type":50,"value":1995},"  onClose",{"type":44,"tag":566,"props":1997,"children":1998},{"style":573},[1999],{"type":50,"value":1157},{"type":44,"tag":566,"props":2001,"children":2002},{"style":585},[2003],{"type":50,"value":1869},{"type":44,"tag":566,"props":2005,"children":2006},{"style":573},[2007],{"type":50,"value":1375},{"type":44,"tag":566,"props":2009,"children":2010},{"style":573},[2011],{"type":50,"value":1497},{"type":44,"tag":566,"props":2013,"children":2014},{"style":1286},[2015],{"type":50,"value":1882},{"type":44,"tag":566,"props":2017,"children":2018},{"style":579},[2019],{"type":50,"value":1294},{"type":44,"tag":566,"props":2021,"children":2022},{"style":573},[2023],{"type":50,"value":1189},{"type":44,"tag":566,"props":2025,"children":2026},{"style":601},[2027],{"type":50,"value":2028},"Reconnecting...",{"type":44,"tag":566,"props":2030,"children":2031},{"style":573},[2032],{"type":50,"value":1189},{"type":44,"tag":566,"props":2034,"children":2035},{"style":573},[2036],{"type":50,"value":1492},{"type":44,"tag":566,"props":2038,"children":2039},{"style":573},[2040],{"type":50,"value":1179},{"type":44,"tag":566,"props":2042,"children":2043},{"style":601},[2044],{"type":50,"value":2045},"warning",{"type":44,"tag":566,"props":2047,"children":2048},{"style":573},[2049],{"type":50,"value":1189},{"type":44,"tag":566,"props":2051,"children":2052},{"style":579},[2053],{"type":50,"value":186},{"type":44,"tag":566,"props":2055,"children":2056},{"style":573},[2057],{"type":50,"value":1925},{"type":44,"tag":566,"props":2059,"children":2060},{"style":573},[2061],{"type":50,"value":1930},{"type":44,"tag":566,"props":2063,"children":2064},{"class":568,"line":758},[2065,2070,2074,2078,2082,2086,2090,2094,2098,2103,2107,2111,2115,2119,2123,2127,2131],{"type":44,"tag":566,"props":2066,"children":2067},{"style":1286},[2068],{"type":50,"value":2069},"  onError",{"type":44,"tag":566,"props":2071,"children":2072},{"style":573},[2073],{"type":50,"value":1157},{"type":44,"tag":566,"props":2075,"children":2076},{"style":585},[2077],{"type":50,"value":1869},{"type":44,"tag":566,"props":2079,"children":2080},{"style":573},[2081],{"type":50,"value":1375},{"type":44,"tag":566,"props":2083,"children":2084},{"style":573},[2085],{"type":50,"value":1497},{"type":44,"tag":566,"props":2087,"children":2088},{"style":1286},[2089],{"type":50,"value":1882},{"type":44,"tag":566,"props":2091,"children":2092},{"style":579},[2093],{"type":50,"value":1294},{"type":44,"tag":566,"props":2095,"children":2096},{"style":573},[2097],{"type":50,"value":1189},{"type":44,"tag":566,"props":2099,"children":2100},{"style":601},[2101],{"type":50,"value":2102},"Connection error",{"type":44,"tag":566,"props":2104,"children":2105},{"style":573},[2106],{"type":50,"value":1189},{"type":44,"tag":566,"props":2108,"children":2109},{"style":573},[2110],{"type":50,"value":1492},{"type":44,"tag":566,"props":2112,"children":2113},{"style":573},[2114],{"type":50,"value":1179},{"type":44,"tag":566,"props":2116,"children":2117},{"style":601},[2118],{"type":50,"value":794},{"type":44,"tag":566,"props":2120,"children":2121},{"style":573},[2122],{"type":50,"value":1189},{"type":44,"tag":566,"props":2124,"children":2125},{"style":579},[2126],{"type":50,"value":186},{"type":44,"tag":566,"props":2128,"children":2129},{"style":573},[2130],{"type":50,"value":1925},{"type":44,"tag":566,"props":2132,"children":2133},{"style":573},[2134],{"type":50,"value":1930},{"type":44,"tag":566,"props":2136,"children":2137},{"class":568,"line":768},[2138,2143,2147],{"type":44,"tag":566,"props":2139,"children":2140},{"style":573},[2141],{"type":50,"value":2142},"}",{"type":44,"tag":566,"props":2144,"children":2145},{"style":723},[2146],{"type":50,"value":186},{"type":44,"tag":566,"props":2148,"children":2149},{"style":573},[2150],{"type":50,"value":1380},{"type":44,"tag":194,"props":2152,"children":2154},{"id":2153},"_8-add-auto-refresh-optional",[2155],{"type":50,"value":2156},"8. Add Auto-Refresh (Optional)",{"type":44,"tag":53,"props":2158,"children":2159},{},[2160],{"type":50,"value":2161},"For periodic updates:",{"type":44,"tag":555,"props":2163,"children":2165},{"className":1137,"code":2164,"language":1139,"meta":560,"style":560},"var refreshInterval = null;\n\nfunction startAutoRefresh(intervalMs) {\n  stopAutoRefresh();\n  refreshInterval = setInterval(function() {\n    onScreenEnter(state.currentScreen);\n  }, intervalMs || 60000);\n}\n\nfunction stopAutoRefresh() {\n  if (refreshInterval) {\n    clearInterval(refreshInterval);\n    refreshInterval = null;\n  }\n}\n",[2166],{"type":44,"tag":67,"props":2167,"children":2168},{"__ignoreMap":560},[2169,2190,2197,2226,2242,2276,2310,2341,2348,2355,2375,2400,2424,2440,2447],{"type":44,"tag":566,"props":2170,"children":2171},{"class":568,"line":569},[2172,2176,2181,2185],{"type":44,"tag":566,"props":2173,"children":2174},{"style":585},[2175],{"type":50,"value":1813},{"type":44,"tag":566,"props":2177,"children":2178},{"style":723},[2179],{"type":50,"value":2180}," refreshInterval ",{"type":44,"tag":566,"props":2182,"children":2183},{"style":573},[2184],{"type":50,"value":593},{"type":44,"tag":566,"props":2186,"children":2187},{"style":573},[2188],{"type":50,"value":2189}," null;\n",{"type":44,"tag":566,"props":2191,"children":2192},{"class":568,"line":638},[2193],{"type":44,"tag":566,"props":2194,"children":2195},{"emptyLinePlaceholder":762},[2196],{"type":50,"value":765},{"type":44,"tag":566,"props":2198,"children":2199},{"class":568,"line":685},[2200,2204,2209,2213,2218,2222],{"type":44,"tag":566,"props":2201,"children":2202},{"style":585},[2203],{"type":50,"value":1283},{"type":44,"tag":566,"props":2205,"children":2206},{"style":1286},[2207],{"type":50,"value":2208}," startAutoRefresh",{"type":44,"tag":566,"props":2210,"children":2211},{"style":573},[2212],{"type":50,"value":1294},{"type":44,"tag":566,"props":2214,"children":2215},{"style":1297},[2216],{"type":50,"value":2217},"intervalMs",{"type":44,"tag":566,"props":2219,"children":2220},{"style":573},[2221],{"type":50,"value":186},{"type":44,"tag":566,"props":2223,"children":2224},{"style":573},[2225],{"type":50,"value":1162},{"type":44,"tag":566,"props":2227,"children":2228},{"class":568,"line":742},[2229,2234,2238],{"type":44,"tag":566,"props":2230,"children":2231},{"style":1286},[2232],{"type":50,"value":2233},"  stopAutoRefresh",{"type":44,"tag":566,"props":2235,"children":2236},{"style":579},[2237],{"type":50,"value":1375},{"type":44,"tag":566,"props":2239,"children":2240},{"style":573},[2241],{"type":50,"value":1380},{"type":44,"tag":566,"props":2243,"children":2244},{"class":568,"line":758},[2245,2250,2255,2260,2264,2268,2272],{"type":44,"tag":566,"props":2246,"children":2247},{"style":723},[2248],{"type":50,"value":2249},"  refreshInterval",{"type":44,"tag":566,"props":2251,"children":2252},{"style":573},[2253],{"type":50,"value":2254}," =",{"type":44,"tag":566,"props":2256,"children":2257},{"style":1286},[2258],{"type":50,"value":2259}," setInterval",{"type":44,"tag":566,"props":2261,"children":2262},{"style":579},[2263],{"type":50,"value":1294},{"type":44,"tag":566,"props":2265,"children":2266},{"style":585},[2267],{"type":50,"value":1283},{"type":44,"tag":566,"props":2269,"children":2270},{"style":573},[2271],{"type":50,"value":1375},{"type":44,"tag":566,"props":2273,"children":2274},{"style":573},[2275],{"type":50,"value":1162},{"type":44,"tag":566,"props":2277,"children":2278},{"class":568,"line":768},[2279,2284,2288,2293,2297,2302,2306],{"type":44,"tag":566,"props":2280,"children":2281},{"style":1286},[2282],{"type":50,"value":2283},"    onScreenEnter",{"type":44,"tag":566,"props":2285,"children":2286},{"style":579},[2287],{"type":50,"value":1294},{"type":44,"tag":566,"props":2289,"children":2290},{"style":723},[2291],{"type":50,"value":2292},"state",{"type":44,"tag":566,"props":2294,"children":2295},{"style":573},[2296],{"type":50,"value":1456},{"type":44,"tag":566,"props":2298,"children":2299},{"style":723},[2300],{"type":50,"value":2301},"currentScreen",{"type":44,"tag":566,"props":2303,"children":2304},{"style":579},[2305],{"type":50,"value":186},{"type":44,"tag":566,"props":2307,"children":2308},{"style":573},[2309],{"type":50,"value":1380},{"type":44,"tag":566,"props":2311,"children":2312},{"class":568,"line":826},[2313,2318,2323,2328,2333,2337],{"type":44,"tag":566,"props":2314,"children":2315},{"style":573},[2316],{"type":50,"value":2317},"  },",{"type":44,"tag":566,"props":2319,"children":2320},{"style":723},[2321],{"type":50,"value":2322}," intervalMs",{"type":44,"tag":566,"props":2324,"children":2325},{"style":573},[2326],{"type":50,"value":2327}," ||",{"type":44,"tag":566,"props":2329,"children":2330},{"style":1209},[2331],{"type":50,"value":2332}," 60000",{"type":44,"tag":566,"props":2334,"children":2335},{"style":579},[2336],{"type":50,"value":186},{"type":44,"tag":566,"props":2338,"children":2339},{"style":573},[2340],{"type":50,"value":1380},{"type":44,"tag":566,"props":2342,"children":2343},{"class":568,"line":880},[2344],{"type":44,"tag":566,"props":2345,"children":2346},{"style":573},[2347],{"type":50,"value":1408},{"type":44,"tag":566,"props":2349,"children":2350},{"class":568,"line":934},[2351],{"type":44,"tag":566,"props":2352,"children":2353},{"emptyLinePlaceholder":762},[2354],{"type":50,"value":765},{"type":44,"tag":566,"props":2356,"children":2357},{"class":568,"line":1011},[2358,2362,2367,2371],{"type":44,"tag":566,"props":2359,"children":2360},{"style":585},[2361],{"type":50,"value":1283},{"type":44,"tag":566,"props":2363,"children":2364},{"style":1286},[2365],{"type":50,"value":2366}," stopAutoRefresh",{"type":44,"tag":566,"props":2368,"children":2369},{"style":573},[2370],{"type":50,"value":1375},{"type":44,"tag":566,"props":2372,"children":2373},{"style":573},[2374],{"type":50,"value":1162},{"type":44,"tag":566,"props":2376,"children":2377},{"class":568,"line":1532},[2378,2383,2387,2392,2396],{"type":44,"tag":566,"props":2379,"children":2380},{"style":1314},[2381],{"type":50,"value":2382},"  if",{"type":44,"tag":566,"props":2384,"children":2385},{"style":579},[2386],{"type":50,"value":1322},{"type":44,"tag":566,"props":2388,"children":2389},{"style":723},[2390],{"type":50,"value":2391},"refreshInterval",{"type":44,"tag":566,"props":2393,"children":2394},{"style":579},[2395],{"type":50,"value":1331},{"type":44,"tag":566,"props":2397,"children":2398},{"style":573},[2399],{"type":50,"value":1336},{"type":44,"tag":566,"props":2401,"children":2402},{"class":568,"line":1571},[2403,2408,2412,2416,2420],{"type":44,"tag":566,"props":2404,"children":2405},{"style":1286},[2406],{"type":50,"value":2407},"    clearInterval",{"type":44,"tag":566,"props":2409,"children":2410},{"style":579},[2411],{"type":50,"value":1294},{"type":44,"tag":566,"props":2413,"children":2414},{"style":723},[2415],{"type":50,"value":2391},{"type":44,"tag":566,"props":2417,"children":2418},{"style":579},[2419],{"type":50,"value":186},{"type":44,"tag":566,"props":2421,"children":2422},{"style":573},[2423],{"type":50,"value":1380},{"type":44,"tag":566,"props":2425,"children":2426},{"class":568,"line":1596},[2427,2432,2436],{"type":44,"tag":566,"props":2428,"children":2429},{"style":723},[2430],{"type":50,"value":2431},"    refreshInterval",{"type":44,"tag":566,"props":2433,"children":2434},{"style":573},[2435],{"type":50,"value":2254},{"type":44,"tag":566,"props":2437,"children":2438},{"style":573},[2439],{"type":50,"value":2189},{"type":44,"tag":566,"props":2441,"children":2442},{"class":568,"line":1609},[2443],{"type":44,"tag":566,"props":2444,"children":2445},{"style":573},[2446],{"type":50,"value":1400},{"type":44,"tag":566,"props":2448,"children":2449},{"class":568,"line":1638},[2450],{"type":44,"tag":566,"props":2451,"children":2452},{"style":573},[2453],{"type":50,"value":1408},{"type":44,"tag":53,"props":2455,"children":2456},{},[2457,2459,2465,2467],{"type":50,"value":2458},"Start in ",{"type":44,"tag":67,"props":2460,"children":2462},{"className":2461},[],[2463],{"type":50,"value":2464},"init()",{"type":50,"value":2466},": ",{"type":44,"tag":67,"props":2468,"children":2470},{"className":2469},[],[2471],{"type":50,"value":2472},"startAutoRefresh(60000);",{"type":44,"tag":45,"props":2474,"children":2476},{"id":2475},"complete-examples",[2477],{"type":50,"value":2478},"Complete Examples",{"type":44,"tag":194,"props":2480,"children":2482},{"id":2481},"weather-api",[2483],{"type":50,"value":2484},"Weather API",{"type":44,"tag":555,"props":2486,"children":2488},{"className":1137,"code":2487,"language":1139,"meta":560,"style":560},"function loadWeather() {\n  var url = 'https:\u002F\u002Fapi.open-meteo.com\u002Fv1\u002Fforecast' +\n    '?latitude=40.71&longitude=-74.01' +\n    '&current_weather=true' +\n    '&daily=temperature_2m_max,temperature_2m_min,weathercode' +\n    '&timezone=auto&forecast_days=5';\n\n  apiGet(url, { cacheKey: 'weather' })\n    .then(function(data) {\n      var w = data.current_weather;\n      document.getElementById('temp').textContent = Math.round(w.temperature) + '\\u00B0';\n      document.getElementById('condition').textContent = getWeatherLabel(w.weathercode);\n      document.getElementById('wind').textContent = w.windspeed + ' km\u002Fh';\n      renderForecast(data.daily);\n    });\n}\n",[2489],{"type":44,"tag":67,"props":2490,"children":2491},{"__ignoreMap":560},[2492,2512,2547,2568,2588,2608,2628,2635,2688,2723,2758,2867,2945,3027,3060,3075],{"type":44,"tag":566,"props":2493,"children":2494},{"class":568,"line":569},[2495,2499,2504,2508],{"type":44,"tag":566,"props":2496,"children":2497},{"style":585},[2498],{"type":50,"value":1283},{"type":44,"tag":566,"props":2500,"children":2501},{"style":1286},[2502],{"type":50,"value":2503}," loadWeather",{"type":44,"tag":566,"props":2505,"children":2506},{"style":573},[2507],{"type":50,"value":1375},{"type":44,"tag":566,"props":2509,"children":2510},{"style":573},[2511],{"type":50,"value":1162},{"type":44,"tag":566,"props":2513,"children":2514},{"class":568,"line":638},[2515,2520,2525,2529,2533,2538,2542],{"type":44,"tag":566,"props":2516,"children":2517},{"style":585},[2518],{"type":50,"value":2519},"  var",{"type":44,"tag":566,"props":2521,"children":2522},{"style":723},[2523],{"type":50,"value":2524}," url",{"type":44,"tag":566,"props":2526,"children":2527},{"style":573},[2528],{"type":50,"value":2254},{"type":44,"tag":566,"props":2530,"children":2531},{"style":573},[2532],{"type":50,"value":1179},{"type":44,"tag":566,"props":2534,"children":2535},{"style":601},[2536],{"type":50,"value":2537},"https:\u002F\u002Fapi.open-meteo.com\u002Fv1\u002Fforecast",{"type":44,"tag":566,"props":2539,"children":2540},{"style":573},[2541],{"type":50,"value":1189},{"type":44,"tag":566,"props":2543,"children":2544},{"style":573},[2545],{"type":50,"value":2546}," +\n",{"type":44,"tag":566,"props":2548,"children":2549},{"class":568,"line":685},[2550,2555,2560,2564],{"type":44,"tag":566,"props":2551,"children":2552},{"style":573},[2553],{"type":50,"value":2554},"    '",{"type":44,"tag":566,"props":2556,"children":2557},{"style":601},[2558],{"type":50,"value":2559},"?latitude=40.71&longitude=-74.01",{"type":44,"tag":566,"props":2561,"children":2562},{"style":573},[2563],{"type":50,"value":1189},{"type":44,"tag":566,"props":2565,"children":2566},{"style":573},[2567],{"type":50,"value":2546},{"type":44,"tag":566,"props":2569,"children":2570},{"class":568,"line":742},[2571,2575,2580,2584],{"type":44,"tag":566,"props":2572,"children":2573},{"style":573},[2574],{"type":50,"value":2554},{"type":44,"tag":566,"props":2576,"children":2577},{"style":601},[2578],{"type":50,"value":2579},"&current_weather=true",{"type":44,"tag":566,"props":2581,"children":2582},{"style":573},[2583],{"type":50,"value":1189},{"type":44,"tag":566,"props":2585,"children":2586},{"style":573},[2587],{"type":50,"value":2546},{"type":44,"tag":566,"props":2589,"children":2590},{"class":568,"line":758},[2591,2595,2600,2604],{"type":44,"tag":566,"props":2592,"children":2593},{"style":573},[2594],{"type":50,"value":2554},{"type":44,"tag":566,"props":2596,"children":2597},{"style":601},[2598],{"type":50,"value":2599},"&daily=temperature_2m_max,temperature_2m_min,weathercode",{"type":44,"tag":566,"props":2601,"children":2602},{"style":573},[2603],{"type":50,"value":1189},{"type":44,"tag":566,"props":2605,"children":2606},{"style":573},[2607],{"type":50,"value":2546},{"type":44,"tag":566,"props":2609,"children":2610},{"class":568,"line":768},[2611,2615,2620,2624],{"type":44,"tag":566,"props":2612,"children":2613},{"style":573},[2614],{"type":50,"value":2554},{"type":44,"tag":566,"props":2616,"children":2617},{"style":601},[2618],{"type":50,"value":2619},"&timezone=auto&forecast_days=5",{"type":44,"tag":566,"props":2621,"children":2622},{"style":573},[2623],{"type":50,"value":1189},{"type":44,"tag":566,"props":2625,"children":2626},{"style":573},[2627],{"type":50,"value":1380},{"type":44,"tag":566,"props":2629,"children":2630},{"class":568,"line":826},[2631],{"type":44,"tag":566,"props":2632,"children":2633},{"emptyLinePlaceholder":762},[2634],{"type":50,"value":765},{"type":44,"tag":566,"props":2636,"children":2637},{"class":568,"line":880},[2638,2642,2646,2651,2655,2659,2663,2667,2671,2676,2680,2684],{"type":44,"tag":566,"props":2639,"children":2640},{"style":1286},[2641],{"type":50,"value":1443},{"type":44,"tag":566,"props":2643,"children":2644},{"style":579},[2645],{"type":50,"value":1294},{"type":44,"tag":566,"props":2647,"children":2648},{"style":723},[2649],{"type":50,"value":2650},"url",{"type":44,"tag":566,"props":2652,"children":2653},{"style":573},[2654],{"type":50,"value":1492},{"type":44,"tag":566,"props":2656,"children":2657},{"style":573},[2658],{"type":50,"value":1497},{"type":44,"tag":566,"props":2660,"children":2661},{"style":579},[2662],{"type":50,"value":1502},{"type":44,"tag":566,"props":2664,"children":2665},{"style":573},[2666],{"type":50,"value":1157},{"type":44,"tag":566,"props":2668,"children":2669},{"style":573},[2670],{"type":50,"value":1179},{"type":44,"tag":566,"props":2672,"children":2673},{"style":601},[2674],{"type":50,"value":2675},"weather",{"type":44,"tag":566,"props":2677,"children":2678},{"style":573},[2679],{"type":50,"value":1189},{"type":44,"tag":566,"props":2681,"children":2682},{"style":573},[2683],{"type":50,"value":1524},{"type":44,"tag":566,"props":2685,"children":2686},{"style":579},[2687],{"type":50,"value":1529},{"type":44,"tag":566,"props":2689,"children":2690},{"class":568,"line":934},[2691,2695,2699,2703,2707,2711,2715,2719],{"type":44,"tag":566,"props":2692,"children":2693},{"style":573},[2694],{"type":50,"value":1538},{"type":44,"tag":566,"props":2696,"children":2697},{"style":1286},[2698],{"type":50,"value":1543},{"type":44,"tag":566,"props":2700,"children":2701},{"style":579},[2702],{"type":50,"value":1294},{"type":44,"tag":566,"props":2704,"children":2705},{"style":585},[2706],{"type":50,"value":1283},{"type":44,"tag":566,"props":2708,"children":2709},{"style":573},[2710],{"type":50,"value":1294},{"type":44,"tag":566,"props":2712,"children":2713},{"style":1297},[2714],{"type":50,"value":1560},{"type":44,"tag":566,"props":2716,"children":2717},{"style":573},[2718],{"type":50,"value":186},{"type":44,"tag":566,"props":2720,"children":2721},{"style":573},[2722],{"type":50,"value":1162},{"type":44,"tag":566,"props":2724,"children":2725},{"class":568,"line":1011},[2726,2731,2736,2740,2745,2749,2754],{"type":44,"tag":566,"props":2727,"children":2728},{"style":585},[2729],{"type":50,"value":2730},"      var",{"type":44,"tag":566,"props":2732,"children":2733},{"style":723},[2734],{"type":50,"value":2735}," w",{"type":44,"tag":566,"props":2737,"children":2738},{"style":573},[2739],{"type":50,"value":2254},{"type":44,"tag":566,"props":2741,"children":2742},{"style":723},[2743],{"type":50,"value":2744}," data",{"type":44,"tag":566,"props":2746,"children":2747},{"style":573},[2748],{"type":50,"value":1456},{"type":44,"tag":566,"props":2750,"children":2751},{"style":723},[2752],{"type":50,"value":2753},"current_weather",{"type":44,"tag":566,"props":2755,"children":2756},{"style":573},[2757],{"type":50,"value":1380},{"type":44,"tag":566,"props":2759,"children":2760},{"class":568,"line":1532},[2761,2766,2770,2775,2779,2783,2788,2792,2796,2800,2805,2809,2814,2818,2823,2827,2832,2836,2841,2845,2850,2854,2859,2863],{"type":44,"tag":566,"props":2762,"children":2763},{"style":723},[2764],{"type":50,"value":2765},"      document",{"type":44,"tag":566,"props":2767,"children":2768},{"style":573},[2769],{"type":50,"value":1456},{"type":44,"tag":566,"props":2771,"children":2772},{"style":1286},[2773],{"type":50,"value":2774},"getElementById",{"type":44,"tag":566,"props":2776,"children":2777},{"style":579},[2778],{"type":50,"value":1294},{"type":44,"tag":566,"props":2780,"children":2781},{"style":573},[2782],{"type":50,"value":1189},{"type":44,"tag":566,"props":2784,"children":2785},{"style":601},[2786],{"type":50,"value":2787},"temp",{"type":44,"tag":566,"props":2789,"children":2790},{"style":573},[2791],{"type":50,"value":1189},{"type":44,"tag":566,"props":2793,"children":2794},{"style":579},[2795],{"type":50,"value":186},{"type":44,"tag":566,"props":2797,"children":2798},{"style":573},[2799],{"type":50,"value":1456},{"type":44,"tag":566,"props":2801,"children":2802},{"style":723},[2803],{"type":50,"value":2804},"textContent",{"type":44,"tag":566,"props":2806,"children":2807},{"style":573},[2808],{"type":50,"value":2254},{"type":44,"tag":566,"props":2810,"children":2811},{"style":723},[2812],{"type":50,"value":2813}," Math",{"type":44,"tag":566,"props":2815,"children":2816},{"style":573},[2817],{"type":50,"value":1456},{"type":44,"tag":566,"props":2819,"children":2820},{"style":1286},[2821],{"type":50,"value":2822},"round",{"type":44,"tag":566,"props":2824,"children":2825},{"style":579},[2826],{"type":50,"value":1294},{"type":44,"tag":566,"props":2828,"children":2829},{"style":723},[2830],{"type":50,"value":2831},"w",{"type":44,"tag":566,"props":2833,"children":2834},{"style":573},[2835],{"type":50,"value":1456},{"type":44,"tag":566,"props":2837,"children":2838},{"style":723},[2839],{"type":50,"value":2840},"temperature",{"type":44,"tag":566,"props":2842,"children":2843},{"style":579},[2844],{"type":50,"value":1331},{"type":44,"tag":566,"props":2846,"children":2847},{"style":573},[2848],{"type":50,"value":2849},"+",{"type":44,"tag":566,"props":2851,"children":2852},{"style":573},[2853],{"type":50,"value":1179},{"type":44,"tag":566,"props":2855,"children":2856},{"style":723},[2857],{"type":50,"value":2858},"\\u00B0",{"type":44,"tag":566,"props":2860,"children":2861},{"style":573},[2862],{"type":50,"value":1189},{"type":44,"tag":566,"props":2864,"children":2865},{"style":573},[2866],{"type":50,"value":1380},{"type":44,"tag":566,"props":2868,"children":2869},{"class":568,"line":1571},[2870,2874,2878,2882,2886,2890,2895,2899,2903,2907,2911,2915,2920,2924,2928,2932,2937,2941],{"type":44,"tag":566,"props":2871,"children":2872},{"style":723},[2873],{"type":50,"value":2765},{"type":44,"tag":566,"props":2875,"children":2876},{"style":573},[2877],{"type":50,"value":1456},{"type":44,"tag":566,"props":2879,"children":2880},{"style":1286},[2881],{"type":50,"value":2774},{"type":44,"tag":566,"props":2883,"children":2884},{"style":579},[2885],{"type":50,"value":1294},{"type":44,"tag":566,"props":2887,"children":2888},{"style":573},[2889],{"type":50,"value":1189},{"type":44,"tag":566,"props":2891,"children":2892},{"style":601},[2893],{"type":50,"value":2894},"condition",{"type":44,"tag":566,"props":2896,"children":2897},{"style":573},[2898],{"type":50,"value":1189},{"type":44,"tag":566,"props":2900,"children":2901},{"style":579},[2902],{"type":50,"value":186},{"type":44,"tag":566,"props":2904,"children":2905},{"style":573},[2906],{"type":50,"value":1456},{"type":44,"tag":566,"props":2908,"children":2909},{"style":723},[2910],{"type":50,"value":2804},{"type":44,"tag":566,"props":2912,"children":2913},{"style":573},[2914],{"type":50,"value":2254},{"type":44,"tag":566,"props":2916,"children":2917},{"style":1286},[2918],{"type":50,"value":2919}," getWeatherLabel",{"type":44,"tag":566,"props":2921,"children":2922},{"style":579},[2923],{"type":50,"value":1294},{"type":44,"tag":566,"props":2925,"children":2926},{"style":723},[2927],{"type":50,"value":2831},{"type":44,"tag":566,"props":2929,"children":2930},{"style":573},[2931],{"type":50,"value":1456},{"type":44,"tag":566,"props":2933,"children":2934},{"style":723},[2935],{"type":50,"value":2936},"weathercode",{"type":44,"tag":566,"props":2938,"children":2939},{"style":579},[2940],{"type":50,"value":186},{"type":44,"tag":566,"props":2942,"children":2943},{"style":573},[2944],{"type":50,"value":1380},{"type":44,"tag":566,"props":2946,"children":2947},{"class":568,"line":1596},[2948,2952,2956,2960,2964,2968,2973,2977,2981,2985,2989,2993,2997,3001,3006,3010,3014,3019,3023],{"type":44,"tag":566,"props":2949,"children":2950},{"style":723},[2951],{"type":50,"value":2765},{"type":44,"tag":566,"props":2953,"children":2954},{"style":573},[2955],{"type":50,"value":1456},{"type":44,"tag":566,"props":2957,"children":2958},{"style":1286},[2959],{"type":50,"value":2774},{"type":44,"tag":566,"props":2961,"children":2962},{"style":579},[2963],{"type":50,"value":1294},{"type":44,"tag":566,"props":2965,"children":2966},{"style":573},[2967],{"type":50,"value":1189},{"type":44,"tag":566,"props":2969,"children":2970},{"style":601},[2971],{"type":50,"value":2972},"wind",{"type":44,"tag":566,"props":2974,"children":2975},{"style":573},[2976],{"type":50,"value":1189},{"type":44,"tag":566,"props":2978,"children":2979},{"style":579},[2980],{"type":50,"value":186},{"type":44,"tag":566,"props":2982,"children":2983},{"style":573},[2984],{"type":50,"value":1456},{"type":44,"tag":566,"props":2986,"children":2987},{"style":723},[2988],{"type":50,"value":2804},{"type":44,"tag":566,"props":2990,"children":2991},{"style":573},[2992],{"type":50,"value":2254},{"type":44,"tag":566,"props":2994,"children":2995},{"style":723},[2996],{"type":50,"value":2735},{"type":44,"tag":566,"props":2998,"children":2999},{"style":573},[3000],{"type":50,"value":1456},{"type":44,"tag":566,"props":3002,"children":3003},{"style":723},[3004],{"type":50,"value":3005},"windspeed",{"type":44,"tag":566,"props":3007,"children":3008},{"style":573},[3009],{"type":50,"value":1474},{"type":44,"tag":566,"props":3011,"children":3012},{"style":573},[3013],{"type":50,"value":1179},{"type":44,"tag":566,"props":3015,"children":3016},{"style":601},[3017],{"type":50,"value":3018}," km\u002Fh",{"type":44,"tag":566,"props":3020,"children":3021},{"style":573},[3022],{"type":50,"value":1189},{"type":44,"tag":566,"props":3024,"children":3025},{"style":573},[3026],{"type":50,"value":1380},{"type":44,"tag":566,"props":3028,"children":3029},{"class":568,"line":1609},[3030,3035,3039,3043,3047,3052,3056],{"type":44,"tag":566,"props":3031,"children":3032},{"style":1286},[3033],{"type":50,"value":3034},"      renderForecast",{"type":44,"tag":566,"props":3036,"children":3037},{"style":579},[3038],{"type":50,"value":1294},{"type":44,"tag":566,"props":3040,"children":3041},{"style":723},[3042],{"type":50,"value":1560},{"type":44,"tag":566,"props":3044,"children":3045},{"style":573},[3046],{"type":50,"value":1456},{"type":44,"tag":566,"props":3048,"children":3049},{"style":723},[3050],{"type":50,"value":3051},"daily",{"type":44,"tag":566,"props":3053,"children":3054},{"style":579},[3055],{"type":50,"value":186},{"type":44,"tag":566,"props":3057,"children":3058},{"style":573},[3059],{"type":50,"value":1380},{"type":44,"tag":566,"props":3061,"children":3062},{"class":568,"line":1638},[3063,3067,3071],{"type":44,"tag":566,"props":3064,"children":3065},{"style":573},[3066],{"type":50,"value":1602},{"type":44,"tag":566,"props":3068,"children":3069},{"style":579},[3070],{"type":50,"value":186},{"type":44,"tag":566,"props":3072,"children":3073},{"style":573},[3074],{"type":50,"value":1380},{"type":44,"tag":566,"props":3076,"children":3077},{"class":568,"line":1648},[3078],{"type":44,"tag":566,"props":3079,"children":3080},{"style":573},[3081],{"type":50,"value":1408},{"type":44,"tag":194,"props":3083,"children":3085},{"id":3084},"crypto-price-tracker",[3086],{"type":50,"value":3087},"Crypto Price Tracker",{"type":44,"tag":555,"props":3089,"children":3091},{"className":1137,"code":3090,"language":1139,"meta":560,"style":560},"function loadPrices() {\n  var url = 'https:\u002F\u002Fapi.coingecko.com\u002Fapi\u002Fv3\u002Fsimple\u002Fprice' +\n    '?ids=bitcoin,ethereum,solana' +\n    '&vs_currencies=usd&include_24hr_change=true';\n\n  apiGet(url, { cacheKey: 'crypto', cacheDuration: 30000 })\n    .then(function(data) {\n      Object.keys(data).forEach(function(coin) {\n        var price = data[coin].usd;\n        var change = data[coin].usd_24h_change;\n        document.getElementById(coin + '-price').textContent = '$' + price.toLocaleString();\n        var changeEl = document.getElementById(coin + '-change');\n        changeEl.textContent = (change >= 0 ? '+' : '') + change.toFixed(2) + '%';\n        changeEl.className = 'badge ' + (change >= 0 ? 'badge-success' : 'badge-danger');\n      });\n    });\n}\n",[3092],{"type":44,"tag":67,"props":3093,"children":3094},{"__ignoreMap":560},[3095,3115,3147,3167,3187,3194,3264,3299,3362,3410,3455,3550,3612,3733,3828,3844,3859],{"type":44,"tag":566,"props":3096,"children":3097},{"class":568,"line":569},[3098,3102,3107,3111],{"type":44,"tag":566,"props":3099,"children":3100},{"style":585},[3101],{"type":50,"value":1283},{"type":44,"tag":566,"props":3103,"children":3104},{"style":1286},[3105],{"type":50,"value":3106}," loadPrices",{"type":44,"tag":566,"props":3108,"children":3109},{"style":573},[3110],{"type":50,"value":1375},{"type":44,"tag":566,"props":3112,"children":3113},{"style":573},[3114],{"type":50,"value":1162},{"type":44,"tag":566,"props":3116,"children":3117},{"class":568,"line":638},[3118,3122,3126,3130,3134,3139,3143],{"type":44,"tag":566,"props":3119,"children":3120},{"style":585},[3121],{"type":50,"value":2519},{"type":44,"tag":566,"props":3123,"children":3124},{"style":723},[3125],{"type":50,"value":2524},{"type":44,"tag":566,"props":3127,"children":3128},{"style":573},[3129],{"type":50,"value":2254},{"type":44,"tag":566,"props":3131,"children":3132},{"style":573},[3133],{"type":50,"value":1179},{"type":44,"tag":566,"props":3135,"children":3136},{"style":601},[3137],{"type":50,"value":3138},"https:\u002F\u002Fapi.coingecko.com\u002Fapi\u002Fv3\u002Fsimple\u002Fprice",{"type":44,"tag":566,"props":3140,"children":3141},{"style":573},[3142],{"type":50,"value":1189},{"type":44,"tag":566,"props":3144,"children":3145},{"style":573},[3146],{"type":50,"value":2546},{"type":44,"tag":566,"props":3148,"children":3149},{"class":568,"line":685},[3150,3154,3159,3163],{"type":44,"tag":566,"props":3151,"children":3152},{"style":573},[3153],{"type":50,"value":2554},{"type":44,"tag":566,"props":3155,"children":3156},{"style":601},[3157],{"type":50,"value":3158},"?ids=bitcoin,ethereum,solana",{"type":44,"tag":566,"props":3160,"children":3161},{"style":573},[3162],{"type":50,"value":1189},{"type":44,"tag":566,"props":3164,"children":3165},{"style":573},[3166],{"type":50,"value":2546},{"type":44,"tag":566,"props":3168,"children":3169},{"class":568,"line":742},[3170,3174,3179,3183],{"type":44,"tag":566,"props":3171,"children":3172},{"style":573},[3173],{"type":50,"value":2554},{"type":44,"tag":566,"props":3175,"children":3176},{"style":601},[3177],{"type":50,"value":3178},"&vs_currencies=usd&include_24hr_change=true",{"type":44,"tag":566,"props":3180,"children":3181},{"style":573},[3182],{"type":50,"value":1189},{"type":44,"tag":566,"props":3184,"children":3185},{"style":573},[3186],{"type":50,"value":1380},{"type":44,"tag":566,"props":3188,"children":3189},{"class":568,"line":758},[3190],{"type":44,"tag":566,"props":3191,"children":3192},{"emptyLinePlaceholder":762},[3193],{"type":50,"value":765},{"type":44,"tag":566,"props":3195,"children":3196},{"class":568,"line":768},[3197,3201,3205,3209,3213,3217,3221,3225,3229,3234,3238,3242,3247,3251,3256,3260],{"type":44,"tag":566,"props":3198,"children":3199},{"style":1286},[3200],{"type":50,"value":1443},{"type":44,"tag":566,"props":3202,"children":3203},{"style":579},[3204],{"type":50,"value":1294},{"type":44,"tag":566,"props":3206,"children":3207},{"style":723},[3208],{"type":50,"value":2650},{"type":44,"tag":566,"props":3210,"children":3211},{"style":573},[3212],{"type":50,"value":1492},{"type":44,"tag":566,"props":3214,"children":3215},{"style":573},[3216],{"type":50,"value":1497},{"type":44,"tag":566,"props":3218,"children":3219},{"style":579},[3220],{"type":50,"value":1502},{"type":44,"tag":566,"props":3222,"children":3223},{"style":573},[3224],{"type":50,"value":1157},{"type":44,"tag":566,"props":3226,"children":3227},{"style":573},[3228],{"type":50,"value":1179},{"type":44,"tag":566,"props":3230,"children":3231},{"style":601},[3232],{"type":50,"value":3233},"crypto",{"type":44,"tag":566,"props":3235,"children":3236},{"style":573},[3237],{"type":50,"value":1189},{"type":44,"tag":566,"props":3239,"children":3240},{"style":573},[3241],{"type":50,"value":1492},{"type":44,"tag":566,"props":3243,"children":3244},{"style":579},[3245],{"type":50,"value":3246}," cacheDuration",{"type":44,"tag":566,"props":3248,"children":3249},{"style":573},[3250],{"type":50,"value":1157},{"type":44,"tag":566,"props":3252,"children":3253},{"style":1209},[3254],{"type":50,"value":3255}," 30000",{"type":44,"tag":566,"props":3257,"children":3258},{"style":573},[3259],{"type":50,"value":1524},{"type":44,"tag":566,"props":3261,"children":3262},{"style":579},[3263],{"type":50,"value":1529},{"type":44,"tag":566,"props":3265,"children":3266},{"class":568,"line":826},[3267,3271,3275,3279,3283,3287,3291,3295],{"type":44,"tag":566,"props":3268,"children":3269},{"style":573},[3270],{"type":50,"value":1538},{"type":44,"tag":566,"props":3272,"children":3273},{"style":1286},[3274],{"type":50,"value":1543},{"type":44,"tag":566,"props":3276,"children":3277},{"style":579},[3278],{"type":50,"value":1294},{"type":44,"tag":566,"props":3280,"children":3281},{"style":585},[3282],{"type":50,"value":1283},{"type":44,"tag":566,"props":3284,"children":3285},{"style":573},[3286],{"type":50,"value":1294},{"type":44,"tag":566,"props":3288,"children":3289},{"style":1297},[3290],{"type":50,"value":1560},{"type":44,"tag":566,"props":3292,"children":3293},{"style":573},[3294],{"type":50,"value":186},{"type":44,"tag":566,"props":3296,"children":3297},{"style":573},[3298],{"type":50,"value":1162},{"type":44,"tag":566,"props":3300,"children":3301},{"class":568,"line":880},[3302,3307,3311,3316,3320,3324,3328,3332,3337,3341,3345,3349,3354,3358],{"type":44,"tag":566,"props":3303,"children":3304},{"style":723},[3305],{"type":50,"value":3306},"      Object",{"type":44,"tag":566,"props":3308,"children":3309},{"style":573},[3310],{"type":50,"value":1456},{"type":44,"tag":566,"props":3312,"children":3313},{"style":1286},[3314],{"type":50,"value":3315},"keys",{"type":44,"tag":566,"props":3317,"children":3318},{"style":579},[3319],{"type":50,"value":1294},{"type":44,"tag":566,"props":3321,"children":3322},{"style":723},[3323],{"type":50,"value":1560},{"type":44,"tag":566,"props":3325,"children":3326},{"style":579},[3327],{"type":50,"value":186},{"type":44,"tag":566,"props":3329,"children":3330},{"style":573},[3331],{"type":50,"value":1456},{"type":44,"tag":566,"props":3333,"children":3334},{"style":1286},[3335],{"type":50,"value":3336},"forEach",{"type":44,"tag":566,"props":3338,"children":3339},{"style":579},[3340],{"type":50,"value":1294},{"type":44,"tag":566,"props":3342,"children":3343},{"style":585},[3344],{"type":50,"value":1283},{"type":44,"tag":566,"props":3346,"children":3347},{"style":573},[3348],{"type":50,"value":1294},{"type":44,"tag":566,"props":3350,"children":3351},{"style":1297},[3352],{"type":50,"value":3353},"coin",{"type":44,"tag":566,"props":3355,"children":3356},{"style":573},[3357],{"type":50,"value":186},{"type":44,"tag":566,"props":3359,"children":3360},{"style":573},[3361],{"type":50,"value":1162},{"type":44,"tag":566,"props":3363,"children":3364},{"class":568,"line":934},[3365,3370,3375,3379,3383,3388,3392,3397,3401,3406],{"type":44,"tag":566,"props":3366,"children":3367},{"style":585},[3368],{"type":50,"value":3369},"        var",{"type":44,"tag":566,"props":3371,"children":3372},{"style":723},[3373],{"type":50,"value":3374}," price",{"type":44,"tag":566,"props":3376,"children":3377},{"style":573},[3378],{"type":50,"value":2254},{"type":44,"tag":566,"props":3380,"children":3381},{"style":723},[3382],{"type":50,"value":2744},{"type":44,"tag":566,"props":3384,"children":3385},{"style":579},[3386],{"type":50,"value":3387},"[",{"type":44,"tag":566,"props":3389,"children":3390},{"style":723},[3391],{"type":50,"value":3353},{"type":44,"tag":566,"props":3393,"children":3394},{"style":579},[3395],{"type":50,"value":3396},"]",{"type":44,"tag":566,"props":3398,"children":3399},{"style":573},[3400],{"type":50,"value":1456},{"type":44,"tag":566,"props":3402,"children":3403},{"style":723},[3404],{"type":50,"value":3405},"usd",{"type":44,"tag":566,"props":3407,"children":3408},{"style":573},[3409],{"type":50,"value":1380},{"type":44,"tag":566,"props":3411,"children":3412},{"class":568,"line":1011},[3413,3417,3422,3426,3430,3434,3438,3442,3446,3451],{"type":44,"tag":566,"props":3414,"children":3415},{"style":585},[3416],{"type":50,"value":3369},{"type":44,"tag":566,"props":3418,"children":3419},{"style":723},[3420],{"type":50,"value":3421}," change",{"type":44,"tag":566,"props":3423,"children":3424},{"style":573},[3425],{"type":50,"value":2254},{"type":44,"tag":566,"props":3427,"children":3428},{"style":723},[3429],{"type":50,"value":2744},{"type":44,"tag":566,"props":3431,"children":3432},{"style":579},[3433],{"type":50,"value":3387},{"type":44,"tag":566,"props":3435,"children":3436},{"style":723},[3437],{"type":50,"value":3353},{"type":44,"tag":566,"props":3439,"children":3440},{"style":579},[3441],{"type":50,"value":3396},{"type":44,"tag":566,"props":3443,"children":3444},{"style":573},[3445],{"type":50,"value":1456},{"type":44,"tag":566,"props":3447,"children":3448},{"style":723},[3449],{"type":50,"value":3450},"usd_24h_change",{"type":44,"tag":566,"props":3452,"children":3453},{"style":573},[3454],{"type":50,"value":1380},{"type":44,"tag":566,"props":3456,"children":3457},{"class":568,"line":1532},[3458,3463,3467,3471,3475,3479,3483,3487,3492,3496,3500,3504,3508,3512,3516,3521,3525,3529,3533,3537,3542,3546],{"type":44,"tag":566,"props":3459,"children":3460},{"style":723},[3461],{"type":50,"value":3462},"        document",{"type":44,"tag":566,"props":3464,"children":3465},{"style":573},[3466],{"type":50,"value":1456},{"type":44,"tag":566,"props":3468,"children":3469},{"style":1286},[3470],{"type":50,"value":2774},{"type":44,"tag":566,"props":3472,"children":3473},{"style":579},[3474],{"type":50,"value":1294},{"type":44,"tag":566,"props":3476,"children":3477},{"style":723},[3478],{"type":50,"value":3353},{"type":44,"tag":566,"props":3480,"children":3481},{"style":573},[3482],{"type":50,"value":1474},{"type":44,"tag":566,"props":3484,"children":3485},{"style":573},[3486],{"type":50,"value":1179},{"type":44,"tag":566,"props":3488,"children":3489},{"style":601},[3490],{"type":50,"value":3491},"-price",{"type":44,"tag":566,"props":3493,"children":3494},{"style":573},[3495],{"type":50,"value":1189},{"type":44,"tag":566,"props":3497,"children":3498},{"style":579},[3499],{"type":50,"value":186},{"type":44,"tag":566,"props":3501,"children":3502},{"style":573},[3503],{"type":50,"value":1456},{"type":44,"tag":566,"props":3505,"children":3506},{"style":723},[3507],{"type":50,"value":2804},{"type":44,"tag":566,"props":3509,"children":3510},{"style":573},[3511],{"type":50,"value":2254},{"type":44,"tag":566,"props":3513,"children":3514},{"style":573},[3515],{"type":50,"value":1179},{"type":44,"tag":566,"props":3517,"children":3518},{"style":601},[3519],{"type":50,"value":3520},"$",{"type":44,"tag":566,"props":3522,"children":3523},{"style":573},[3524],{"type":50,"value":1189},{"type":44,"tag":566,"props":3526,"children":3527},{"style":573},[3528],{"type":50,"value":1474},{"type":44,"tag":566,"props":3530,"children":3531},{"style":723},[3532],{"type":50,"value":3374},{"type":44,"tag":566,"props":3534,"children":3535},{"style":573},[3536],{"type":50,"value":1456},{"type":44,"tag":566,"props":3538,"children":3539},{"style":1286},[3540],{"type":50,"value":3541},"toLocaleString",{"type":44,"tag":566,"props":3543,"children":3544},{"style":579},[3545],{"type":50,"value":1375},{"type":44,"tag":566,"props":3547,"children":3548},{"style":573},[3549],{"type":50,"value":1380},{"type":44,"tag":566,"props":3551,"children":3552},{"class":568,"line":1571},[3553,3557,3562,3566,3571,3575,3579,3583,3587,3591,3595,3600,3604,3608],{"type":44,"tag":566,"props":3554,"children":3555},{"style":585},[3556],{"type":50,"value":3369},{"type":44,"tag":566,"props":3558,"children":3559},{"style":723},[3560],{"type":50,"value":3561}," changeEl",{"type":44,"tag":566,"props":3563,"children":3564},{"style":573},[3565],{"type":50,"value":2254},{"type":44,"tag":566,"props":3567,"children":3568},{"style":723},[3569],{"type":50,"value":3570}," document",{"type":44,"tag":566,"props":3572,"children":3573},{"style":573},[3574],{"type":50,"value":1456},{"type":44,"tag":566,"props":3576,"children":3577},{"style":1286},[3578],{"type":50,"value":2774},{"type":44,"tag":566,"props":3580,"children":3581},{"style":579},[3582],{"type":50,"value":1294},{"type":44,"tag":566,"props":3584,"children":3585},{"style":723},[3586],{"type":50,"value":3353},{"type":44,"tag":566,"props":3588,"children":3589},{"style":573},[3590],{"type":50,"value":1474},{"type":44,"tag":566,"props":3592,"children":3593},{"style":573},[3594],{"type":50,"value":1179},{"type":44,"tag":566,"props":3596,"children":3597},{"style":601},[3598],{"type":50,"value":3599},"-change",{"type":44,"tag":566,"props":3601,"children":3602},{"style":573},[3603],{"type":50,"value":1189},{"type":44,"tag":566,"props":3605,"children":3606},{"style":579},[3607],{"type":50,"value":186},{"type":44,"tag":566,"props":3609,"children":3610},{"style":573},[3611],{"type":50,"value":1380},{"type":44,"tag":566,"props":3613,"children":3614},{"class":568,"line":1596},[3615,3620,3624,3628,3632,3636,3641,3646,3651,3656,3660,3664,3668,3673,3678,3682,3686,3690,3694,3699,3703,3708,3712,3716,3720,3725,3729],{"type":44,"tag":566,"props":3616,"children":3617},{"style":723},[3618],{"type":50,"value":3619},"        changeEl",{"type":44,"tag":566,"props":3621,"children":3622},{"style":573},[3623],{"type":50,"value":1456},{"type":44,"tag":566,"props":3625,"children":3626},{"style":723},[3627],{"type":50,"value":2804},{"type":44,"tag":566,"props":3629,"children":3630},{"style":573},[3631],{"type":50,"value":2254},{"type":44,"tag":566,"props":3633,"children":3634},{"style":579},[3635],{"type":50,"value":1322},{"type":44,"tag":566,"props":3637,"children":3638},{"style":723},[3639],{"type":50,"value":3640},"change",{"type":44,"tag":566,"props":3642,"children":3643},{"style":573},[3644],{"type":50,"value":3645}," >=",{"type":44,"tag":566,"props":3647,"children":3648},{"style":1209},[3649],{"type":50,"value":3650}," 0",{"type":44,"tag":566,"props":3652,"children":3653},{"style":573},[3654],{"type":50,"value":3655}," ?",{"type":44,"tag":566,"props":3657,"children":3658},{"style":573},[3659],{"type":50,"value":1179},{"type":44,"tag":566,"props":3661,"children":3662},{"style":601},[3663],{"type":50,"value":2849},{"type":44,"tag":566,"props":3665,"children":3666},{"style":573},[3667],{"type":50,"value":1189},{"type":44,"tag":566,"props":3669,"children":3670},{"style":573},[3671],{"type":50,"value":3672}," :",{"type":44,"tag":566,"props":3674,"children":3675},{"style":573},[3676],{"type":50,"value":3677}," ''",{"type":44,"tag":566,"props":3679,"children":3680},{"style":579},[3681],{"type":50,"value":1331},{"type":44,"tag":566,"props":3683,"children":3684},{"style":573},[3685],{"type":50,"value":2849},{"type":44,"tag":566,"props":3687,"children":3688},{"style":723},[3689],{"type":50,"value":3421},{"type":44,"tag":566,"props":3691,"children":3692},{"style":573},[3693],{"type":50,"value":1456},{"type":44,"tag":566,"props":3695,"children":3696},{"style":1286},[3697],{"type":50,"value":3698},"toFixed",{"type":44,"tag":566,"props":3700,"children":3701},{"style":579},[3702],{"type":50,"value":1294},{"type":44,"tag":566,"props":3704,"children":3705},{"style":1209},[3706],{"type":50,"value":3707},"2",{"type":44,"tag":566,"props":3709,"children":3710},{"style":579},[3711],{"type":50,"value":1331},{"type":44,"tag":566,"props":3713,"children":3714},{"style":573},[3715],{"type":50,"value":2849},{"type":44,"tag":566,"props":3717,"children":3718},{"style":573},[3719],{"type":50,"value":1179},{"type":44,"tag":566,"props":3721,"children":3722},{"style":601},[3723],{"type":50,"value":3724},"%",{"type":44,"tag":566,"props":3726,"children":3727},{"style":573},[3728],{"type":50,"value":1189},{"type":44,"tag":566,"props":3730,"children":3731},{"style":573},[3732],{"type":50,"value":1380},{"type":44,"tag":566,"props":3734,"children":3735},{"class":568,"line":1609},[3736,3740,3744,3749,3753,3757,3762,3766,3770,3774,3778,3782,3786,3790,3794,3799,3803,3807,3811,3816,3820,3824],{"type":44,"tag":566,"props":3737,"children":3738},{"style":723},[3739],{"type":50,"value":3619},{"type":44,"tag":566,"props":3741,"children":3742},{"style":573},[3743],{"type":50,"value":1456},{"type":44,"tag":566,"props":3745,"children":3746},{"style":723},[3747],{"type":50,"value":3748},"className",{"type":44,"tag":566,"props":3750,"children":3751},{"style":573},[3752],{"type":50,"value":2254},{"type":44,"tag":566,"props":3754,"children":3755},{"style":573},[3756],{"type":50,"value":1179},{"type":44,"tag":566,"props":3758,"children":3759},{"style":601},[3760],{"type":50,"value":3761},"badge ",{"type":44,"tag":566,"props":3763,"children":3764},{"style":573},[3765],{"type":50,"value":1189},{"type":44,"tag":566,"props":3767,"children":3768},{"style":573},[3769],{"type":50,"value":1474},{"type":44,"tag":566,"props":3771,"children":3772},{"style":579},[3773],{"type":50,"value":1322},{"type":44,"tag":566,"props":3775,"children":3776},{"style":723},[3777],{"type":50,"value":3640},{"type":44,"tag":566,"props":3779,"children":3780},{"style":573},[3781],{"type":50,"value":3645},{"type":44,"tag":566,"props":3783,"children":3784},{"style":1209},[3785],{"type":50,"value":3650},{"type":44,"tag":566,"props":3787,"children":3788},{"style":573},[3789],{"type":50,"value":3655},{"type":44,"tag":566,"props":3791,"children":3792},{"style":573},[3793],{"type":50,"value":1179},{"type":44,"tag":566,"props":3795,"children":3796},{"style":601},[3797],{"type":50,"value":3798},"badge-success",{"type":44,"tag":566,"props":3800,"children":3801},{"style":573},[3802],{"type":50,"value":1189},{"type":44,"tag":566,"props":3804,"children":3805},{"style":573},[3806],{"type":50,"value":3672},{"type":44,"tag":566,"props":3808,"children":3809},{"style":573},[3810],{"type":50,"value":1179},{"type":44,"tag":566,"props":3812,"children":3813},{"style":601},[3814],{"type":50,"value":3815},"badge-danger",{"type":44,"tag":566,"props":3817,"children":3818},{"style":573},[3819],{"type":50,"value":1189},{"type":44,"tag":566,"props":3821,"children":3822},{"style":579},[3823],{"type":50,"value":186},{"type":44,"tag":566,"props":3825,"children":3826},{"style":573},[3827],{"type":50,"value":1380},{"type":44,"tag":566,"props":3829,"children":3830},{"class":568,"line":1638},[3831,3836,3840],{"type":44,"tag":566,"props":3832,"children":3833},{"style":573},[3834],{"type":50,"value":3835},"      }",{"type":44,"tag":566,"props":3837,"children":3838},{"style":579},[3839],{"type":50,"value":186},{"type":44,"tag":566,"props":3841,"children":3842},{"style":573},[3843],{"type":50,"value":1380},{"type":44,"tag":566,"props":3845,"children":3846},{"class":568,"line":1648},[3847,3851,3855],{"type":44,"tag":566,"props":3848,"children":3849},{"style":573},[3850],{"type":50,"value":1602},{"type":44,"tag":566,"props":3852,"children":3853},{"style":579},[3854],{"type":50,"value":186},{"type":44,"tag":566,"props":3856,"children":3857},{"style":573},[3858],{"type":50,"value":1380},{"type":44,"tag":566,"props":3860,"children":3861},{"class":568,"line":1664},[3862],{"type":44,"tag":566,"props":3863,"children":3864},{"style":573},[3865],{"type":50,"value":1408},{"type":44,"tag":45,"props":3867,"children":3869},{"id":3868},"verify",[3870],{"type":50,"value":3871},"Verify",{"type":44,"tag":59,"props":3873,"children":3876},{"className":3874},[3875],"contains-task-list",[3877,3889,3898,3907,3916],{"type":44,"tag":63,"props":3878,"children":3881},{"className":3879},[3880],"task-list-item",[3882,3887],{"type":44,"tag":3883,"props":3884,"children":3886},"input",{"disabled":762,"type":3885},"checkbox",[],{"type":50,"value":3888}," Loading spinner appears during API calls",{"type":44,"tag":63,"props":3890,"children":3892},{"className":3891},[3880],[3893,3896],{"type":44,"tag":3883,"props":3894,"children":3895},{"disabled":762,"type":3885},[],{"type":50,"value":3897}," Error state appears on network failure",{"type":44,"tag":63,"props":3899,"children":3901},{"className":3900},[3880],[3902,3905],{"type":44,"tag":3883,"props":3903,"children":3904},{"disabled":762,"type":3885},[],{"type":50,"value":3906}," Cached data is served on repeated loads",{"type":44,"tag":63,"props":3908,"children":3910},{"className":3909},[3880],[3911,3914],{"type":44,"tag":3883,"props":3912,"children":3913},{"disabled":762,"type":3885},[],{"type":50,"value":3915}," Refresh button clears cache and fetches fresh data",{"type":44,"tag":63,"props":3917,"children":3919},{"className":3918},[3880],[3920,3923,3925,3931],{"type":44,"tag":3883,"props":3921,"children":3922},{"disabled":762,"type":3885},[],{"type":50,"value":3924}," All API-rendered elements have ",{"type":44,"tag":67,"props":3926,"children":3928},{"className":3927},[],[3929],{"type":50,"value":3930},".focusable",{"type":50,"value":3932}," class for D-pad navigation",{"type":44,"tag":45,"props":3934,"children":3936},{"id":3935},"related-skills",[3937],{"type":50,"value":3938},"Related Skills",{"type":44,"tag":59,"props":3940,"children":3941},{},[3942],{"type":44,"tag":63,"props":3943,"children":3944},{},[3945,3951],{"type":44,"tag":67,"props":3946,"children":3948},{"className":3947},[],[3949],{"type":50,"value":3950},"\u002Fadd-ui",{"type":50,"value":3952}," — Add screens, buttons, and components for API data",{"type":44,"tag":3954,"props":3955,"children":3956},"style",{},[3957],{"type":50,"value":3958},"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);}",{"items":3960,"total":4150},[3961,3983,3997,4018,4039,4056,4067,4087,4100,4113,4128,4140],{"slug":3962,"name":3962,"fn":3963,"description":3964,"org":3965,"tags":3966,"stars":3980,"repoUrl":3981,"updatedAt":3982},"relay-best-practices","write idiomatic Relay code","Best practices for writing idiomatic Relay code. ALWAYS use this skill when writing or modifying React components that use Relay for data fetching. Covers fragments, queries, mutations, pagination, and common anti-patterns. Use when you see `useFragment`, `useLazyLoadQuery`, `usePreloadedQuery`, `useMutation`, `usePaginationFragment`, `graphql` template literals, `react-relay` imports, or `__generated__\u002F*.graphql` files. Also use when asked to explain Relay concepts, debug Relay issues, or review Relay code.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3967,3970,3971,3974,3977],{"name":3968,"slug":3969,"type":16},"Engineering","engineering",{"name":24,"slug":25,"type":16},{"name":3972,"slug":3973,"type":16},"GraphQL","graphql",{"name":3975,"slug":3976,"type":16},"React","react",{"name":3978,"slug":3979,"type":16},"Relay","relay",18950,"https:\u002F\u002Fgithub.com\u002Ffacebook\u002Frelay","2026-04-22T04:58:15.370563",{"slug":3984,"name":3984,"fn":3985,"description":3986,"org":3987,"tags":3988,"stars":3980,"repoUrl":3981,"updatedAt":3996},"relay-performance","optimize Relay application performance","Performance best practices for Relay applications. Use when optimizing data fetching, reducing re-renders, configuring caching, or improving time to first meaningful paint. Covers query placement, @defer, pagination, fetch policies, garbage collection, fragment granularity, and server-side filtering. Companion to the relay-best-practices skill which covers correctness and architecture.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3989,3990,3991,3994,3995],{"name":24,"slug":25,"type":16},{"name":3972,"slug":3973,"type":16},{"name":3992,"slug":3993,"type":16},"Performance","performance",{"name":3975,"slug":3976,"type":16},{"name":3978,"slug":3979,"type":16},"2026-06-10T07:30:28.726513",{"slug":3998,"name":3998,"fn":3999,"description":4000,"org":4001,"tags":4002,"stars":4015,"repoUrl":4016,"updatedAt":4017},"add-shape-types-to-torch-model","annotate PyTorch models with tensor shapes","Port a PyTorch model to use pyrefly's tensor shape type system (Tensor[[B, C, H, W]], Int[T]). Use this skill whenever the user wants to add shape annotations to a PyTorch model, type a model with tensor dimensions, port a model to use shape tracking, or annotate model forward methods with tensor shapes. Also use when the user mentions tensor shape ports, Int types for PyTorch, or pyrefly shape checking on a model file. Invoke BEFORE starting any model port — the skill's gated workflow prevents common failure modes.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4003,4006,4009,4012],{"name":4004,"slug":4005,"type":16},"Data Modeling","data-modeling",{"name":4007,"slug":4008,"type":16},"Deep Learning","deep-learning",{"name":4010,"slug":4011,"type":16},"Python","python",{"name":4013,"slug":4014,"type":16},"PyTorch","pytorch",6833,"https:\u002F\u002Fgithub.com\u002Ffacebook\u002Fpyrefly","2026-07-18T05:12:08.515952",{"slug":4019,"name":4019,"fn":4020,"description":4021,"org":4022,"tags":4023,"stars":4036,"repoUrl":4037,"updatedAt":4038},"camera-streaming","configure camera streaming and photo capture","Stream, video frames, photo capture, resolution\u002Fframe rate configuration",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4024,4027,4030,4033],{"name":4025,"slug":4026,"type":16},"Camera","camera",{"name":4028,"slug":4029,"type":16},"Hardware","hardware",{"name":4031,"slug":4032,"type":16},"iOS","ios",{"name":4034,"slug":4035,"type":16},"Video","video",488,"https:\u002F\u002Fgithub.com\u002Ffacebook\u002Fmeta-wearables-dat-ios","2026-08-06T05:38:47.523424",{"slug":4040,"name":4040,"fn":4041,"description":4042,"org":4043,"tags":4044,"stars":4036,"repoUrl":4037,"updatedAt":4055},"dat-conventions","develop iOS applications with DAT SDK","Swift patterns, async\u002Fawait, naming conventions, key types for DAT SDK iOS development",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4045,4046,4049,4052],{"name":4031,"slug":4032,"type":16},{"name":4047,"slug":4048,"type":16},"Mobile","mobile",{"name":4050,"slug":4051,"type":16},"SDK","sdk",{"name":4053,"slug":4054,"type":16},"Swift","swift","2026-08-06T05:38:49.536777",{"slug":4057,"name":4057,"fn":4058,"description":4059,"org":4060,"tags":4061,"stars":4036,"repoUrl":4037,"updatedAt":4066},"debugging","debug wearable device software","Common issues, Developer Mode, version compatibility, state machine diagnosis",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4062,4064,4065],{"name":4063,"slug":4057,"type":16},"Debugging",{"name":3968,"slug":3969,"type":16},{"name":4031,"slug":4032,"type":16},"2026-08-06T05:38:50.51086",{"slug":4068,"name":4068,"fn":4069,"description":4070,"org":4071,"tags":4072,"stars":4036,"repoUrl":4037,"updatedAt":4086},"display-access","manage display capabilities on wearable devices","Display capability setup, display-capable device selection, UI DSL, icons, buttons, images, and video playback",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4073,4076,4079,4082,4085],{"name":4074,"slug":4075,"type":16},"Design","design",{"name":4077,"slug":4078,"type":16},"Images","images",{"name":4080,"slug":4081,"type":16},"Interaction","interaction",{"name":4083,"slug":4084,"type":16},"UI Components","ui-components",{"name":4034,"slug":4035,"type":16},"2026-08-06T05:38:53.520488",{"slug":4088,"name":4088,"fn":4089,"description":4090,"org":4091,"tags":4092,"stars":4036,"repoUrl":4037,"updatedAt":4099},"getting-started","set up Meta wearable SDK integration","SDK setup, Swift Package Manager integration, Info.plist configuration, and first connection to Meta glasses",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4093,4096,4097,4098],{"name":4094,"slug":4095,"type":16},"Configuration","configuration",{"name":4031,"slug":4032,"type":16},{"name":4050,"slug":4051,"type":16},{"name":4053,"slug":4054,"type":16},"2026-08-06T05:38:48.514522",{"slug":4101,"name":4101,"fn":4102,"description":4103,"org":4104,"tags":4105,"stars":4036,"repoUrl":4037,"updatedAt":4112},"live-debugging-mcp","debug iOS wearable applications","Use this whenever debugging an iOS DAT app with local DAT Inspector MCP tools, live device events, Meta AI app\u002Fdevice boundary issues, permissions, registration, sessions, streaming, callbacks, or user reports that the app cannot communicate with glasses.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4106,4107,4108,4111],{"name":4063,"slug":4057,"type":16},{"name":4031,"slug":4032,"type":16},{"name":4109,"slug":4110,"type":16},"MCP","mcp",{"name":4047,"slug":4048,"type":16},"2026-08-06T06:09:15.013902",{"slug":4114,"name":4114,"fn":4115,"description":4116,"org":4117,"tags":4118,"stars":4036,"repoUrl":4037,"updatedAt":4127},"mockdevice-testing","test wearable apps with mock devices","MockDeviceKit for testing without physical glasses hardware",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4119,4120,4121,4124],{"name":4031,"slug":4032,"type":16},{"name":4047,"slug":4048,"type":16},{"name":4122,"slug":4123,"type":16},"QA","qa",{"name":4125,"slug":4126,"type":16},"Testing","testing","2026-05-15T06:14:37.406692",{"slug":4129,"name":4129,"fn":4130,"description":4131,"org":4132,"tags":4133,"stars":4036,"repoUrl":4037,"updatedAt":4139},"permissions-registration","register apps with Meta AI","App registration with Meta AI, camera permission flows",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4134,4135,4136],{"name":4025,"slug":4026,"type":16},{"name":4031,"slug":4032,"type":16},{"name":4137,"slug":4138,"type":16},"Permissions","permissions","2026-05-15T06:14:46.030253",{"slug":4141,"name":4141,"fn":4142,"description":4143,"org":4144,"tags":4145,"stars":4036,"repoUrl":4037,"updatedAt":4149},"sample-app-guide","build wearable apps with camera streaming","Building a complete DAT app with camera streaming and photo capture",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4146,4147,4148],{"name":4025,"slug":4026,"type":16},{"name":4031,"slug":4032,"type":16},{"name":4047,"slug":4048,"type":16},"2026-08-06T05:38:51.509255",34,{"items":4152,"total":1571},[4153,4165,4175,4189,4201,4213,4225],{"slug":4154,"name":4154,"fn":4155,"description":4156,"org":4157,"tags":4158,"stars":26,"repoUrl":27,"updatedAt":4164},"add-device-sensors","integrate device sensor data","Add device sensor data to a Meta Display Glasses webapp — IMU (accelerometer, gyroscope, orientation) via DeviceMotionEvent\u002FDeviceOrientationEvent, and GPS location via navigator.geolocation. Use when the user wants motion tracking, compass, level tool, step counter, shake detection, head tracking, or location.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4159,4160,4161],{"name":24,"slug":25,"type":16},{"name":4028,"slug":4029,"type":16},{"name":4162,"slug":4163,"type":16},"IoT","iot","2026-09-01T08:30:33.453548",{"slug":4166,"name":4166,"fn":4167,"description":4168,"org":4169,"tags":4170,"stars":26,"repoUrl":27,"updatedAt":4174},"add-gestures","handle gesture interactions in webapps","Handle EMG pinch (tap-to-activate) and opt into continuous pinch-and-drag in a Meta Display Glasses webapp. Use when the user wants sliders, drawing, maps, drag interactions, or game-style continuous input.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4171,4172,4173],{"name":4074,"slug":4075,"type":16},{"name":24,"slug":25,"type":16},{"name":4080,"slug":4081,"type":16},"2026-09-01T08:30:53.889244",{"slug":4176,"name":4176,"fn":4177,"description":4178,"org":4179,"tags":4180,"stars":26,"repoUrl":27,"updatedAt":4188},"add-local-storage","add client-side data persistence","Add client-side data persistence to a Meta Display Glasses webapp using the W3C Web Storage API (localStorage and sessionStorage). Use when the user wants to save settings, cache data, persist state, or store user preferences.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4181,4182,4185],{"name":24,"slug":25,"type":16},{"name":4183,"slug":4184,"type":16},"Persistence","persistence",{"name":4186,"slug":4187,"type":16},"Storage","storage","2026-09-01T08:30:31.384362",{"slug":4190,"name":4190,"fn":4191,"description":4192,"org":4193,"tags":4194,"stars":26,"repoUrl":27,"updatedAt":4200},"add-offline","enable offline support for webapps","Make a Meta Display Glasses webapp work offline with a Service Worker + Cache API (precache the app shell, cache-first fetch, online\u002Foffline UI). Use when the user wants offline support or resilience to flaky Wi-Fi.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4195,4196,4199],{"name":24,"slug":25,"type":16},{"name":4197,"slug":4198,"type":16},"Offline","offline",{"name":3992,"slug":3993,"type":16},"2026-09-01T08:30:33.83287",{"slug":4202,"name":4202,"fn":4203,"description":4204,"org":4205,"tags":4206,"stars":26,"repoUrl":27,"updatedAt":4212},"add-text-input","add text input to webapps","Add text entry to a Meta Display Glasses webapp. Standard HTML inputs open the on-glasses composer (handwriting + voice) when focused and tapped. Use when the user wants a text field, search box, form input, or notes area.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4207,4210,4211],{"name":4208,"slug":4209,"type":16},"Forms","forms",{"name":24,"slug":25,"type":16},{"name":4083,"slug":4084,"type":16},"2026-09-01T08:30:30.563354",{"slug":4214,"name":4214,"fn":4215,"description":4216,"org":4217,"tags":4218,"stars":26,"repoUrl":27,"updatedAt":4224},"add-ui","add UI components to webapps","Add UI components to a Meta Display Glasses webapp — screens, buttons, lists, cards, forms, toggles, counters, or nav bars. Works with vanilla JS and React apps. Use when the user wants to add any interactive UI element or new screen.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4219,4220,4222,4223],{"name":24,"slug":25,"type":16},{"name":4221,"slug":1139,"type":16},"JavaScript",{"name":3975,"slug":3976,"type":16},{"name":4083,"slug":4084,"type":16},"2026-09-01T08:30:27.477785",{"slug":4,"name":4,"fn":5,"description":6,"org":4226,"tags":4227,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4228,4229,4230,4231],{"name":21,"slug":22,"type":16},{"name":24,"slug":25,"type":16},{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16}]