Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 24 additions & 24 deletions .github/workflows/deploy-frontend-azurepreview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ jobs:
- uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
ref: ${{ github.event.pull_request.head.sha }}

- name: Azure Login
uses: azure/login@v2
Expand All @@ -135,8 +135,8 @@ jobs:
--build-arg NEXT_PUBLIC_HCAPTCHA_SITE_KEY=${{ secrets.WEBSITE_STAGE_NEXT_PUBLIC_HCAPTCHA_SITE_KEY }} \
--build-arg NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN=${{ secrets.WEBSITE_STAGE_NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN }} \
--build-arg NEXT_PUBLIC_SITE_URL=${{ secrets.WEBSITE_STAGE_NEXT_PUBLIC_SITE_URL }} \
--tag ${{ env.REGISTRY_URL }}/website-pr-preview:${{ github.sha }}
docker push ${{ env.REGISTRY_URL }}/website-pr-preview:${{ github.sha }}
--tag ${{ env.REGISTRY_URL }}/website-pr-preview:${{ github.event.pull_request.head.sha }}
docker push ${{ env.REGISTRY_URL }}/website-pr-preview:${{ github.event.pull_request.head.sha }}

- name: Deploy Container App
run: |
Expand All @@ -147,7 +147,7 @@ jobs:
--name $APP \
--resource-group ${{ env.RG }} \
--environment ${{ env.PR_PREVIEW_ENV }} \
--image ${{ env.REGISTRY_URL }}/website-pr-preview:${{ github.sha }} \
--image ${{ env.REGISTRY_URL }}/website-pr-preview:${{ github.event.pull_request.head.sha }} \
--target-port 8080 \
--ingress external \
--registry-server ${{ env.REGISTRY_URL }} \
Expand Down Expand Up @@ -199,7 +199,7 @@ jobs:
uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
ref: ${{ github.event.pull_request.head.sha }}

- name: Azure Login
uses: azure/login@v2
Expand All @@ -217,8 +217,8 @@ jobs:

- name: Build image
run: |
docker build -t ${{ env.REGISTRY_URL }}/beacon-pr-preview:${{ github.sha }} src/beacon
docker push ${{ env.REGISTRY_URL }}/beacon-pr-preview:${{ github.sha }}
docker build -t ${{ env.REGISTRY_URL }}/beacon-pr-preview:${{ github.event.pull_request.head.sha }} src/beacon
docker push ${{ env.REGISTRY_URL }}/beacon-pr-preview:${{ github.event.pull_request.head.sha }}

- name: Deploy Container App
run: |
Expand All @@ -231,7 +231,7 @@ jobs:
--name $APP \
--resource-group ${{ env.RG }} \
--environment ${{ env.PR_PREVIEW_ENV }} \
--image ${{ env.REGISTRY_URL }}/beacon-pr-preview:${{ github.sha }} \
--image ${{ env.REGISTRY_URL }}/beacon-pr-preview:${{ github.event.pull_request.head.sha }} \
--target-port 3000 \
--ingress external \
--registry-server ${{ env.REGISTRY_URL }} \
Expand Down Expand Up @@ -283,7 +283,7 @@ jobs:
uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
ref: ${{ github.event.pull_request.head.sha }}

- uses: azure/login@v2
with:
Expand All @@ -300,8 +300,8 @@ jobs:

- name: Build image
run: |
docker build -t ${{ env.REGISTRY_URL }}/calibrate-app-pr-preview:${{ github.sha }} src/calibrate
docker push ${{ env.REGISTRY_URL }}/calibrate-app-pr-preview:${{ github.sha }}
docker build -t ${{ env.REGISTRY_URL }}/calibrate-app-pr-preview:${{ github.event.pull_request.head.sha }} src/calibrate
docker push ${{ env.REGISTRY_URL }}/calibrate-app-pr-preview:${{ github.event.pull_request.head.sha }}

- name: Deploy Container App
run: |
Expand All @@ -314,7 +314,7 @@ jobs:
--name $APP \
--resource-group ${{ env.RG }} \
--environment ${{ env.PR_PREVIEW_ENV }} \
--image ${{ env.REGISTRY_URL }}/calibrate-app-pr-preview:${{ github.sha }} \
--image ${{ env.REGISTRY_URL }}/calibrate-app-pr-preview:${{ github.event.pull_request.head.sha }} \
--target-port 80 \
--ingress external \
--registry-server ${{ env.REGISTRY_URL }} \
Expand Down Expand Up @@ -366,7 +366,7 @@ jobs:
uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
ref: ${{ github.event.pull_request.head.sha }}

- uses: azure/login@v2
with:
Expand Down Expand Up @@ -400,8 +400,8 @@ jobs:

- name: Build image
run: |
docker build -t ${{ env.REGISTRY_URL }}/analytics-platform-pr-preview:${{ github.sha }} src/platform
docker push ${{ env.REGISTRY_URL }}/analytics-platform-pr-preview:${{ github.sha }}
docker build -t ${{ env.REGISTRY_URL }}/analytics-platform-pr-preview:${{ github.event.pull_request.head.sha }} src/platform
docker push ${{ env.REGISTRY_URL }}/analytics-platform-pr-preview:${{ github.event.pull_request.head.sha }}

- name: Deploy Container App
run: |
Expand All @@ -426,7 +426,7 @@ jobs:
--name $APP \
--resource-group ${{ env.RG }} \
--environment ${{ env.PR_PREVIEW_ENV }} \
--image ${{ env.REGISTRY_URL }}/analytics-platform-pr-preview:${{ github.sha }} \
--image ${{ env.REGISTRY_URL }}/analytics-platform-pr-preview:${{ github.event.pull_request.head.sha }} \
--target-port 3000 \
--ingress external \
--registry-server ${{ env.REGISTRY_URL }} \
Expand Down Expand Up @@ -494,7 +494,7 @@ jobs:
uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
ref: ${{ github.event.pull_request.head.sha }}

- uses: azure/login@v2
with:
Expand Down Expand Up @@ -528,8 +528,8 @@ jobs:

- name: Build image
run: |
docker build -t ${{ env.REGISTRY_URL }}/vertex-pr-preview:${{ github.sha }} src/vertex
docker push ${{ env.REGISTRY_URL }}/vertex-pr-preview:${{ github.sha }}
docker build -t ${{ env.REGISTRY_URL }}/vertex-pr-preview:${{ github.event.pull_request.head.sha }} src/vertex
docker push ${{ env.REGISTRY_URL }}/vertex-pr-preview:${{ github.event.pull_request.head.sha }}

- name: Deploy Container App
run: |
Expand All @@ -554,7 +554,7 @@ jobs:
--name $APP \
--resource-group ${{ env.RG }} \
--environment ${{ env.PR_PREVIEW_ENV }} \
--image ${{ env.REGISTRY_URL }}/vertex-pr-preview:${{ github.sha }} \
--image ${{ env.REGISTRY_URL }}/vertex-pr-preview:${{ github.event.pull_request.head.sha }} \
--target-port 3000 \
--ingress external \
--registry-server ${{ env.REGISTRY_URL }} \
Expand Down Expand Up @@ -628,7 +628,7 @@ jobs:
uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
ref: ${{ github.event.pull_request.head.sha }}

- uses: azure/login@v2
with:
Expand All @@ -645,8 +645,8 @@ jobs:

- name: Build image
run: |
docker build -t ${{ env.REGISTRY_URL }}/docs-pr-preview:${{ github.sha }} src/docs-website
docker push ${{ env.REGISTRY_URL }}/docs-pr-preview:${{ github.sha }}
docker build -t ${{ env.REGISTRY_URL }}/docs-pr-preview:${{ github.event.pull_request.head.sha }} src/docs-website
docker push ${{ env.REGISTRY_URL }}/docs-pr-preview:${{ github.event.pull_request.head.sha }}

- name: Deploy Container App
run: |
Expand All @@ -659,7 +659,7 @@ jobs:
--name $APP \
--resource-group ${{ env.RG }} \
--environment ${{ env.PR_PREVIEW_ENV }} \
--image ${{ env.REGISTRY_URL }}/docs-pr-preview:${{ github.sha }} \
--image ${{ env.REGISTRY_URL }}/docs-pr-preview:${{ github.event.pull_request.head.sha }} \
--target-port 3000 \
--ingress external \
--registry-server ${{ env.REGISTRY_URL }} \
Expand Down
2 changes: 1 addition & 1 deletion k8s/vertex/k8s-aks/airqo-vertex/values-prod.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
replicaCount: 2
image:
repository: airqoacr.azurecr.io/airqo-vertex
tag: prod-1a8efe83-1783586974
tag: prod-2055e3b0-1783593952
pullPolicy: IfNotPresent
imagePullSecrets: []
nameOverride: ''
Expand Down
3 changes: 3 additions & 0 deletions src/mobile/assets/icons/alert-circle.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ class CleanAirForumBrand {
static const Color sharedCaptionText = Color(0xFF1F3D3D);

/// Wordmark shown top-left on the selfie filter card.
static const String title = 'Africa CLEAN - Air Forum';
static const String title = 'Africa Clean Air Forum';

/// Host city + year shown under the [title] wordmark.
static const String edition = 'Pretoria 2026';

/// Event date range shown in the corner of the filter card.
static const String dateRange = '14TH-16TH JULY';
static const String dateRange = '13TH-16TH JULY';
}

/// Reference canvas width the Figma "AQ/CAF" templates were designed at.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ class _AirQualityShareSheetState extends State<AirQualityShareSheet> {

String? _inlineMessage;
bool _inlineIsError = false;
bool _inlineIsLoading = false;
String? _inlineActionLabel;
VoidCallback? _inlineOnAction;
Timer? _inlineMessageTimer;
Expand Down Expand Up @@ -146,12 +147,19 @@ class _AirQualityShareSheetState extends State<AirQualityShareSheet> {
/// modal route above the app's own Scaffold, so a SnackBar raised via
/// `ScaffoldMessenger` renders underneath it and is never actually seen.
///
/// [loading] keeps the banner up indefinitely (no auto-dismiss timer) —
/// callers are expected to replace it with a follow-up success/error
/// message once the operation finishes, rather than leaving it stuck. A
/// non-null [actionLabel] (e.g. Retry) does the same — an action that
/// vanishes before the user can tap it isn't actually usable.
///
/// If the sheet has already been closed (the background wall submission
/// can finish after dismissal), the result falls back to a root SnackBar
/// instead of being silently dropped.
void _showMessage(
String message, {
bool isError = false,
bool loading = false,
String? actionLabel,
VoidCallback? onAction,
}) {
Expand All @@ -169,8 +177,7 @@ class _AirQualityShareSheetState extends State<AirQualityShareSheet> {

// The banner self-dismisses, so screen-reader users would miss it
// entirely without an explicit announcement.
unawaited(SemanticsService.sendAnnouncement(
View.of(context),
unawaited(SemanticsService.announce(
message,
Directionality.of(context),
));
Expand All @@ -179,9 +186,11 @@ class _AirQualityShareSheetState extends State<AirQualityShareSheet> {
setState(() {
_inlineMessage = message;
_inlineIsError = isError;
_inlineIsLoading = loading;
_inlineActionLabel = actionLabel;
_inlineOnAction = onAction;
});
if (loading || actionLabel != null) return;
// Errors and longer messages linger; short confirmations clear fast.
final duration = Duration(
milliseconds: (2500 + message.length * 35).clamp(3000, 6500),
Expand Down Expand Up @@ -318,6 +327,7 @@ class _AirQualityShareSheetState extends State<AirQualityShareSheet> {
InlineMessageBanner(
message: _inlineMessage!,
isError: _inlineIsError,
loading: _inlineIsLoading,
actionLabel: _inlineActionLabel,
onAction: _inlineOnAction == null
? null
Expand Down
Loading
Loading