Add split pane UI for new conversation screen.

This commit is contained in:
jeffrey-signal
2025-10-08 14:47:48 -04:00
committed by Alex Hart
parent 0f35eb7f7b
commit 534756c833
15 changed files with 3975 additions and 38 deletions

View File

@@ -25,8 +25,13 @@ import org.thoughtcrime.securesms.util.ServiceUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.ViewUtil;
/**
* A search input field for finding recipients.
* <p>
* In compose, use RecipientSearchField instead.
*/
public final class ContactFilterView extends FrameLayout {
private OnFilterChangedListener listener;
private OnFilterChangedListener listener;
private final EditText searchText;
private final AnimatingToggle toggle;

View File

@@ -0,0 +1,38 @@
/*
* Copyright 2025 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.thoughtcrime.securesms.components.compose
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import org.thoughtcrime.securesms.window.WindowSizeClass
/**
* Displays the screen title for split-pane UIs on tablets and foldable devices.
*/
@Composable
fun ScreenTitlePane(
title: String,
modifier: Modifier = Modifier
) {
val windowSizeClass = WindowSizeClass.rememberWindowSizeClass()
Text(
text = title,
style = MaterialTheme.typography.headlineLarge,
color = MaterialTheme.colorScheme.onSurface,
modifier = modifier
.padding(
start = if (windowSizeClass.isExtended()) 80.dp else 20.dp,
end = 20.dp,
top = 12.dp,
bottom = 12.dp
)
)
}