Added Maglink RTK GNSS receiver integration with correct BLE UUIDs and device name filtering (ML-* prefix). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
78 lines
4.5 KiB
XML
78 lines
4.5 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<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:models="clr-namespace:FieldLogger.Models"
|
|
x:Class="FieldLogger.Views.JobDetailPage"
|
|
x:DataType="vm:JobDetailViewModel"
|
|
Title="{Binding JobName}">
|
|
<ContentPage.ToolbarItems>
|
|
<ToolbarItem Text="Map" Command="{Binding ViewMapCommand}" />
|
|
</ContentPage.ToolbarItems>
|
|
|
|
<Grid RowDefinitions="Auto,*" Padding="16" RowSpacing="8">
|
|
<Label Grid.Row="0" FontSize="13" TextColor="Gray"
|
|
Text="{Binding PointCount, StringFormat='{0} logged points'}" />
|
|
|
|
<CollectionView Grid.Row="1" ItemsSource="{Binding Points}">
|
|
<CollectionView.EmptyView>
|
|
<Label Text="No points logged for this job yet." TextColor="Gray" Margin="8" />
|
|
</CollectionView.EmptyView>
|
|
<CollectionView.ItemTemplate>
|
|
<DataTemplate x:DataType="models:LoggedPoint">
|
|
<Border StrokeThickness="0" Background="{AppThemeBinding Light=#F2F2F7, Dark=#1C1C1E}"
|
|
StrokeShape="RoundRectangle 10" Padding="12" Margin="0,4">
|
|
<Grid ColumnDefinitions="*,Auto" RowDefinitions="Auto,Auto,Auto,Auto" RowSpacing="2">
|
|
<Label Grid.Row="0" FontAttributes="Bold" FontSize="14">
|
|
<Label.Text>
|
|
<MultiBinding StringFormat="{}#{0} · {1} · {2} Hz">
|
|
<Binding Path="Id" />
|
|
<Binding Path="Utility" Converter="{StaticResource UtilityName}" />
|
|
<Binding Path="Frequency" />
|
|
</MultiBinding>
|
|
</Label.Text>
|
|
</Label>
|
|
<Label Grid.Row="0" Grid.Column="1" FontSize="12" TextColor="Gray"
|
|
Text="{Binding TimestampUtc, StringFormat='{0:g}'}" />
|
|
|
|
<Label Grid.Row="1" Grid.ColumnSpan="2" FontSize="12">
|
|
<Label.Text>
|
|
<MultiBinding StringFormat="Depth {0} · Current {1} · Signal {2} · Gain {3} dB">
|
|
<Binding Path="DepthRaw" />
|
|
<Binding Path="CurrentRaw" />
|
|
<Binding Path="Signal" />
|
|
<Binding Path="GainDb" />
|
|
</MultiBinding>
|
|
</Label.Text>
|
|
</Label>
|
|
|
|
<Label Grid.Row="2" Grid.ColumnSpan="2" FontSize="12" FontFamily="Courier New">
|
|
<Label.Text>
|
|
<MultiBinding StringFormat="{}{0:F8}, {1:F8}">
|
|
<Binding Path="Latitude" />
|
|
<Binding Path="Longitude" />
|
|
</MultiBinding>
|
|
</Label.Text>
|
|
</Label>
|
|
|
|
<Label Grid.Row="3" FontSize="11" TextColor="Gray">
|
|
<Label.Text>
|
|
<MultiBinding StringFormat="{}{0} · H ±{1:F3} m · {2} sats">
|
|
<Binding Path="FixStatus" Converter="{StaticResource FixStatusName}" />
|
|
<Binding Path="Hrms" />
|
|
<Binding Path="SatellitesUsed" />
|
|
</MultiBinding>
|
|
</Label.Text>
|
|
</Label>
|
|
<Button Grid.Row="3" Grid.Column="1" Text="Delete" FontSize="11" Padding="8,2"
|
|
BackgroundColor="Transparent" TextColor="IndianRed"
|
|
Command="{Binding DeletePointCommand, Source={RelativeSource AncestorType={x:Type vm:JobDetailViewModel}}}"
|
|
CommandParameter="{Binding .}" />
|
|
</Grid>
|
|
</Border>
|
|
</DataTemplate>
|
|
</CollectionView.ItemTemplate>
|
|
</CollectionView>
|
|
</Grid>
|
|
</ContentPage>
|