diff --git a/src/Capacitor.App/App.axaml b/src/Capacitor.App/App.axaml
index 90d834ceb..fa1da5c7d 100644
--- a/src/Capacitor.App/App.axaml
+++ b/src/Capacitor.App/App.axaml
@@ -76,9 +76,15 @@
ring and fill would read as a second box. Fluent's default placeholder follows the
system theme and goes near-black on our dark surfaces — pin a readable muted tone. -->
-
@@ -378,6 +384,11 @@
+
+
+
+
+
+
@@ -76,7 +90,8 @@
-
@@ -85,8 +100,6 @@
Plain text (no chip chrome) so it lines up with the detail. -->
+
+
+
+
+
+
+
+
+
@@ -139,22 +162,7 @@
VerticalAlignment="Center" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -180,15 +188,14 @@
-
+ MinHeight="38" MaxHeight="160" PlaceholderText="Write a message" IsVisible="{Binding ShowsComposer}" />
_readerGesture = false, DispatcherPriority.Background);
@@ -78,11 +81,20 @@ void OnReaderGesture(object? sender, RoutedEventArgs e) {
void OnScrollChanged(object? sender, ScrollChangedEventArgs e) {
if (sender is not ScrollViewer scroll) return;
+ if (ListTextBoxOwnsFocus()) return;
var atBottom = scroll.Offset.Y + scroll.Viewport.Height >= scroll.Extent.Height - BottomTolerance;
_followTail = _readerGesture ? atBottom : _followTail || atBottom;
if (_followTail && !atBottom) scroll.ScrollToEnd();
}
+ static bool OriginatesFromTextBox(RoutedEventArgs e) =>
+ e.Source is Visual visual && (visual is TextBox || visual.GetVisualAncestors().OfType().Any());
+
+ bool ListTextBoxOwnsFocus() {
+ if (TopLevel.GetTopLevel(this)?.FocusManager?.GetFocusedElement() is not TextBox box) return false;
+ return box.GetVisualAncestors().OfType().Any(c => ReferenceEquals(c, ChatItems));
+ }
+
/// The composer wraps, so the rendered rows, not the newlines, say whether the caret has a row
/// above or below it; the newline count stands in only before the box has a text presenter.
(int Line, int Lines) ComposerCaretLine() {
diff --git a/src/Capacitor.App/Views/PendingCardTemplates.axaml b/src/Capacitor.App/Views/PendingCardTemplates.axaml
index b0b30797a..6eb9132a4 100644
--- a/src/Capacitor.App/Views/PendingCardTemplates.axaml
+++ b/src/Capacitor.App/Views/PendingCardTemplates.axaml
@@ -4,7 +4,7 @@
-
@@ -33,9 +33,17 @@
-
+
@@ -131,13 +139,8 @@
-
-
-
-
+
+
@@ -169,8 +172,8 @@
IsVisible="{Binding ShowsOtherAnswer}" Margin="6,0,0,0"
Padding="12,5" FontSize="13" CornerRadius="7"
Classes="kcapPrimary" Background="{StaticResource KcapPrimaryBrush}" Foreground="{StaticResource KcapOnPrimaryBrush}" />
-
+
@@ -224,7 +227,7 @@