- App.tsx: full navigation (Auth stack + Main tabs with 5 screens) - Auth: LoginScreen, RegisterScreen, ForgotPasswordScreen - HomeScreen: dashboard with IoT metrics, weather widget, alerts, quick actions, sensors - MapScreen: interactive map with layer toggles (6 layers) - MarketplaceScreen: categories (6), products (5), search - ChatScreen: AI chat with quick prompts (4), bot responses - ProfileScreen: user info, stats, menu (9 items), logout - AlertsScreen: alert list with severity, acknowledge - SensorsScreen: sensor list with type filters (6 types), search - ZonesScreen: zone cards with stats - SettingsScreen: language picker (FR/EN/ES/DE), privacy, about - Stores: iotStore (sensors, zones, alerts), notificationStore, uiStore + i18n - Hooks: useSensors, useAlerts, useNotifications, useLocation - Components: Card, Button, LoadingSpinner, ErrorBoundary, Header - Services: iotService, notificationService (with axios API client) - Utils: formatters (temp, AQI, noise, dates), validators (email, password, IBAN) - Theme: colors.ts with full design system (Blue Ocean palette) - Ditto: fixed MongoDB connection, new JWT secrets, official gateway image
3 lines
1.2 KiB
JavaScript
3 lines
1.2 KiB
JavaScript
import{share as r,makeSubject as t,mergeMap as e,filter as n,takeUntil as o,delay as a,fromValue as i,merge as u}from"wonka";import{makeOperation as y}from"@urql/core";function c(){return(c=Object.assign||function(r){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n])}return r}).apply(this,arguments)}function f(f){var p=f.retryIf,l=f.retryWith,m=f.initialDelayMs||1e3,v=f.maxDelayMs||15e3,s=f.maxNumberAttempts||2,d=f.randomDelay||!0;return function(f){var k=f.forward;return function(f){var x=r(f),h=t(),w=h.source,D=h.next,b=e((function(r){var t=r.key,e=r.context,u=(e.retryCount||0)+1,f=e.retryDelay||m,p=Math.random()+1.5;d&&f*p<v&&(f*=p);var l=n((function(r){return("query"===r.kind||"teardown"===r.kind)&&r.key===t}))(x);return o(l)(a(f)(i(y(r.kind,r,c({},r.context,{retryDelay:f,retryCount:u})))))}))(w);return n((function(r){if(!r.error||!(p?p(r.error,r.operation):l||r.error.networkError))return!0;if(!((r.operation.context.retryCount||0)>=s-1)){var t=l?l(r.error,r.operation):r.operation;return!t||(D(t),!1)}return!0}))(r(k(u([x,b]))))}}}export{f as retryExchange};
|
|
//# sourceMappingURL=urql-exchange-retry.min.mjs.map
|