feat: complete UM Trace iOS and field UI integration

This commit is contained in:
Brent Perteet
2026-08-23 20:54:03 -05:00
parent 16c2ada09b
commit 36f583169c
38 changed files with 548 additions and 212 deletions

View File

@@ -2,11 +2,18 @@
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:vm="clr-namespace:FieldLogger.ViewModels"
xmlns:controls="clr-namespace:FieldLogger.Views.Controls"
x:Class="FieldLogger.Views.JobsPage"
x:DataType="vm:JobsViewModel"
Title="Jobs"
Shell.NavBarIsVisible="False"
BackgroundColor="{DynamicResource UlColorCanvas}">
<Grid RowDefinitions="Auto,Auto,*" Padding="16" RowSpacing="16">
<Grid RowDefinitions="Auto,*"
HorizontalOptions="Fill" VerticalOptions="Fill">
<controls:AppStatusBar x:Name="AppStatus" />
<Grid Grid.Row="1" RowDefinitions="Auto,Auto,*" Padding="16" RowSpacing="16"
HorizontalOptions="Fill" VerticalOptions="Fill">
<VerticalStackLayout Spacing="4">
<Label Text="FIELD WORK" FontSize="14" FontAttributes="Bold" CharacterSpacing="1.5"
TextColor="{DynamicResource UlColorPrimary}" />
@@ -22,9 +29,15 @@
MinimumHeightRequest="{StaticResource UlTouchComfortable}" FontSize="16" FontAttributes="Bold"
SemanticProperties.Description="Create a new job and make it active" />
<RefreshView Grid.Row="2" Command="{Binding RefreshCommand}" IsRefreshing="{Binding IsBusy}">
<RefreshView Grid.Row="2"
Command="{Binding RefreshCommand}"
IsRefreshing="{Binding IsRefreshing, Mode=OneWay}"
HorizontalOptions="Fill" VerticalOptions="Fill">
<CollectionView ItemsSource="{Binding Jobs}"
SelectionMode="None"
ItemSizingStrategy="MeasureFirstItem"
ItemsUpdatingScrollMode="KeepItemsInView"
HorizontalOptions="Fill" VerticalOptions="Fill"
SemanticProperties.Description="Jobs available on this device">
<CollectionView.EmptyView>
<Border Style="{StaticResource UlCard}" BackgroundColor="{DynamicResource UlColorSurfaceRaised}"
@@ -88,7 +101,15 @@
</Border>
</DataTemplate>
</CollectionView.ItemTemplate>
<CollectionView.Footer>
<!-- Keeps the final row scrollable above the overlaid menu without
reserving a permanent bottom band in the page layout. -->
<ContentView HeightRequest="72" />
</CollectionView.Footer>
</CollectionView>
</RefreshView>
</Grid>
<controls:FloatingMenuButton Grid.RowSpan="2" HorizontalOptions="End" VerticalOptions="End" ZIndex="20" />
</Grid>
</ContentPage>