Conversation
…h configuration details
Replace placeholder AirQo adapter stubs with real API bindings (devices, sites, users, networks), including getCurrentUser, login, device/site/network operations and maintenance hooks. Update mock adapter to add a login endpoint, simplify device/site handling, adjust responses and pagination, and remove several cohort/site/readings-specific mock helpers. Align VertexAdapter types with the implemented surface: add LoginCredentials/login, simplify getDeviceCount params, move deploy/recall signatures, and remove several deprecated cohort/site/reading methods to match the concrete implementations.
Introduce a unified airqoAdapter that spreads core API modules (devices, sites, cohorts, networks, users, grids, organizations, permissions, roles) and binds feedback methods; replace createMockAdapter with a mockAdapter that proxies unimplemented methods to return generic mock responses. Update adapter types to derive VertexAdapter from the actual API modules and keep legacy overrides for common method names. Update adapter index to return the new adapters and switch multiple hooks (devices, grids, networks, roles, sites) to use the centralized adapter instead of importing API modules directly. This centralizes API surface, simplifies mocking, and avoids importing individual API modules across hooks.
Replace hardcoded AirQo strings/assets with centralized vertexConfig values and add feature flags and theming support. Updated components and pages to use vertexConfig.org properties (logo, name, shortName, supportEmail, websiteUrl, primaryColor) for branding and contact links. RootLayout metadata now derives title/OG/twitter info from vertexConfig and converts primaryColor to RGB for a --primary CSS variable. Primary sidebar menu items (network requests, sites, grids, shipping) are now conditionally rendered based on vertexConfig.features. Files changed: auth-error, layout, login page, DownloadHero, desktop-titlebar, primary-sidebar, and topbar.
Swap out hard-coded blue Tailwind classes for theme 'primary' variants across several UI components to align with the app's primary color token. Changes touch cohorts page, device activity items, organization modal, shipping batches table, NavItem, primary sidebar, and table export modal — updating button/bg/icon/text/badge/skeleton colors and focus/ring classes. No functional logic was changed; this is a visual/theme update to centralize color usage.
Add a full Vertex (Next.js) web app scaffold under src/vertex-template. This commit introduces app pages, UI components, feature modules (devices, networks, cohorts, grids, shipping, sites), hooks, core services, Redux slices, API routes, types, config files (.eslintrc, .prettierrc, tailwind, next.config, tsconfig), Dockerfile, env example, README and various utilities to bootstrap the AirQo device & network management web application. The template includes route guards, permission constants, and client/server helpers to support development and production builds.
Feature: Vertex Platform Architecture Abstraction & Template Extraction
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Baalmart
marked this pull request as draft
June 7, 2026 15:24
Introduce getDefaultApiUrl() in envConstants to provide environment-aware default API endpoints (production, staging, localhost). Change getApiBaseUrl() to fall back to this default instead of throwing when NEXT_PUBLIC_API_URL is missing. Update vertex.config to import and use getDefaultApiUrl() for api.baseUrl and publicMeasurementsBaseUrl, ensuring the app has sensible defaults across environments.
Add default API URL fallback (vertex app)
Rename NextAuth session cookie to include a -v2 suffix in both the NextAuth options and middleware (src/vertex/app/api/auth/[...nextauth]/options.ts and src/vertex/middleware.ts). This rotates the cookie name for production and development to avoid collisions and enable migration to the new cookie version.
Bump next-auth session cookie to v2
- Dashboard, map, and KYA screens were showing "Couldn't connect to the internet" / cloud_off icon for all errors including API 401/500, not just actual connectivity failures - Map page was stuck on loading spinner forever when MapLoadingError was emitted (isInitializing never cleared on error) - Add isOffline flag to LessonsLoadingError state so KYA page can differentiate connectivity vs API errors - Increase ML Kit model download timeout from 30s to 3 minutes; distinguish TimeoutException from SocketException in error copy
Map zoom bound fix and enhancements
Design and implement new Security config page and API tab updates
…sages fix: show accurate error messages when API fails with device online
Email config setup
- Implement SurveyEditorDialog for creating and editing surveys with validation. - Create SurveyResponseDialog to display survey responses and details. - Develop SurveyListPage for listing active surveys with summary statistics. - Add utility functions for survey question handling and formatting. - Introduce surveyService for API interactions related to surveys.
- Added SurveyCreatePage and SurveyEditPage components for creating and editing surveys. - Introduced SurveyForm component to handle survey details, questions, and triggers. - Updated API service to include createSurvey and updateSurvey methods. - Enhanced user feedback with toast notifications on successful refresh actions. - Improved sidebar and header configurations for survey management. - Added new types for survey requests and triggers in the API types. - Refactored user statistics pages to utilize refreshWithToast utility for better user experience.
…e components - Simplified import statements and removed unnecessary line breaks in chartConfig.ts, geospatial.ts, ProfileForm.tsx, NoInternetConnection.tsx, NotificationBanner.tsx, and other UI components. - Enhanced formatting in adminService.ts, analyticsService.ts, deviceService.ts, and surveyService.ts for better clarity. - Updated tailwind.config.ts to streamline font family definitions.
…ion and 'Map' item
feat: add survey management dashboard with details, responses, and export
OchiengPaul442
approved these changes
Jun 8, 2026
Baalmart
marked this pull request as ready for review
June 8, 2026 19:30
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.