mirror of
https://github.com/greenart7c3/Amber.git
synced 2026-10-05 19:08:23 +00:00
Merge pull request #360 from greenart7c3/claude/fix-bunker-request-buttons-JWM1G
Fix accept/reject buttons not appearing in BunkerConnectRequestScreen
This commit is contained in:
@@ -2,6 +2,7 @@ package com.greenart7c3.nostrsigner.ui
|
|||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
@@ -33,6 +34,7 @@ import kotlinx.collections.immutable.ImmutableList
|
|||||||
fun IncomingRequestScreen(
|
fun IncomingRequestScreen(
|
||||||
horizontalPadding: Dp,
|
horizontalPadding: Dp,
|
||||||
modifier: Modifier,
|
modifier: Modifier,
|
||||||
|
scaffoldPadding: PaddingValues,
|
||||||
intents: ImmutableList<IntentData>,
|
intents: ImmutableList<IntentData>,
|
||||||
bunkerRequests: ImmutableList<AmberBunkerRequest>,
|
bunkerRequests: ImmutableList<AmberBunkerRequest>,
|
||||||
packageName: String?,
|
packageName: String?,
|
||||||
@@ -78,6 +80,7 @@ fun IncomingRequestScreen(
|
|||||||
BunkerSingleEventHomeScreen(
|
BunkerSingleEventHomeScreen(
|
||||||
horizontalPadding = horizontalPadding,
|
horizontalPadding = horizontalPadding,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
|
scaffoldPadding = scaffoldPadding,
|
||||||
bunkerRequest = bunkerRequests.first(),
|
bunkerRequest = bunkerRequests.first(),
|
||||||
account = account,
|
account = account,
|
||||||
onLoading = onLoading,
|
onLoading = onLoading,
|
||||||
|
|||||||
@@ -381,6 +381,7 @@ fun MainScreen(
|
|||||||
IncomingRequestScreen(
|
IncomingRequestScreen(
|
||||||
horizontalPadding = verticalPadding,
|
horizontalPadding = verticalPadding,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
|
scaffoldPadding = padding,
|
||||||
intents = intents,
|
intents = intents,
|
||||||
bunkerRequests = bunkerRequests,
|
bunkerRequests = bunkerRequests,
|
||||||
packageName = packageName,
|
packageName = packageName,
|
||||||
|
|||||||
+48
-32
@@ -5,13 +5,17 @@ import androidx.compose.foundation.clickable
|
|||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.foundation.rememberScrollState
|
||||||
import androidx.compose.foundation.selection.selectable
|
import androidx.compose.foundation.selection.selectable
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
|
import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.material3.BottomAppBar
|
import androidx.compose.material3.BottomAppBar
|
||||||
import androidx.compose.material3.ButtonDefaults
|
import androidx.compose.material3.ButtonDefaults
|
||||||
import androidx.compose.material3.ElevatedButton
|
import androidx.compose.material3.ElevatedButton
|
||||||
@@ -62,6 +66,7 @@ import com.greenart7c3.nostrsigner.ui.RememberType
|
|||||||
import com.greenart7c3.nostrsigner.ui.SettingsRow
|
import com.greenart7c3.nostrsigner.ui.SettingsRow
|
||||||
import com.greenart7c3.nostrsigner.ui.deleteAfterToSeconds
|
import com.greenart7c3.nostrsigner.ui.deleteAfterToSeconds
|
||||||
import com.greenart7c3.nostrsigner.ui.parseDeleteAfterType
|
import com.greenart7c3.nostrsigner.ui.parseDeleteAfterType
|
||||||
|
import com.greenart7c3.nostrsigner.ui.verticalScrollbar
|
||||||
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerRequestConnect
|
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerRequestConnect
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
@@ -72,7 +77,7 @@ import kotlinx.coroutines.launch
|
|||||||
@Composable
|
@Composable
|
||||||
fun BunkerConnectRequestScreen(
|
fun BunkerConnectRequestScreen(
|
||||||
horizontalPadding: Dp,
|
horizontalPadding: Dp,
|
||||||
modifier: Modifier,
|
scaffoldPadding: PaddingValues,
|
||||||
shouldCloseApp: Boolean,
|
shouldCloseApp: Boolean,
|
||||||
account: Account,
|
account: Account,
|
||||||
bunkerRequest: AmberBunkerRequest,
|
bunkerRequest: AmberBunkerRequest,
|
||||||
@@ -147,10 +152,48 @@ fun BunkerConnectRequestScreen(
|
|||||||
skipPartiallyExpanded = true,
|
skipPartiallyExpanded = true,
|
||||||
)
|
)
|
||||||
|
|
||||||
Column {
|
val scrollState = rememberScrollState()
|
||||||
|
|
||||||
|
Scaffold(
|
||||||
|
modifier = Modifier.fillMaxSize().padding(scaffoldPadding),
|
||||||
|
bottomBar = {
|
||||||
|
Row(
|
||||||
|
Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.padding(horizontal = horizontalPadding)
|
||||||
|
.padding(vertical = 8.dp),
|
||||||
|
Arrangement.spacedBy(8.dp),
|
||||||
|
Alignment.CenterVertically,
|
||||||
|
) {
|
||||||
|
AmberButton(
|
||||||
|
modifier = Modifier.weight(1f),
|
||||||
|
onClick = {
|
||||||
|
onReject(RememberType.NEVER)
|
||||||
|
},
|
||||||
|
colors = ButtonDefaults.buttonColors(
|
||||||
|
containerColor = Color(0xFFFF6B00),
|
||||||
|
),
|
||||||
|
text = stringResource(R.string.cancel),
|
||||||
|
)
|
||||||
|
|
||||||
|
AmberButton(
|
||||||
|
modifier = Modifier.weight(1f),
|
||||||
|
onClick = {
|
||||||
|
val deleteAfter = deleteAfterToSeconds(parseDeleteAfterType(deleteAfterIndex))
|
||||||
|
onAccept(localPermissions, selectedOption, closeApp, RememberType.ALWAYS, deleteAfter, accounts[selectedAccountIndex])
|
||||||
|
},
|
||||||
|
text = stringResource(R.string.connect),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
) { innerPadding ->
|
||||||
Column(
|
Column(
|
||||||
modifier = modifier
|
modifier = Modifier
|
||||||
.weight(1f),
|
.fillMaxSize()
|
||||||
|
.padding(innerPadding)
|
||||||
|
.verticalScrollbar(scrollState)
|
||||||
|
.verticalScroll(scrollState)
|
||||||
|
.padding(horizontal = horizontalPadding),
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
@@ -335,35 +378,8 @@ fun BunkerConnectRequestScreen(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Row(
|
Spacer(modifier = Modifier.height(8.dp))
|
||||||
Modifier
|
|
||||||
.fillMaxWidth()
|
|
||||||
.padding(horizontal = horizontalPadding)
|
|
||||||
.padding(vertical = 8.dp),
|
|
||||||
Arrangement.spacedBy(8.dp),
|
|
||||||
Alignment.CenterVertically,
|
|
||||||
) {
|
|
||||||
AmberButton(
|
|
||||||
modifier = Modifier.weight(1f),
|
|
||||||
onClick = {
|
|
||||||
onReject(RememberType.NEVER)
|
|
||||||
},
|
|
||||||
colors = ButtonDefaults.buttonColors(
|
|
||||||
containerColor = Color(0xFFFF6B00),
|
|
||||||
),
|
|
||||||
text = stringResource(R.string.cancel),
|
|
||||||
)
|
|
||||||
|
|
||||||
AmberButton(
|
|
||||||
modifier = Modifier.weight(1f),
|
|
||||||
onClick = {
|
|
||||||
val deleteAfter = deleteAfterToSeconds(parseDeleteAfterType(deleteAfterIndex))
|
|
||||||
onAccept(localPermissions, selectedOption, closeApp, RememberType.ALWAYS, deleteAfter, accounts[selectedAccountIndex])
|
|
||||||
},
|
|
||||||
text = stringResource(R.string.connect),
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -3,6 +3,7 @@ package com.greenart7c3.nostrsigner.ui.components
|
|||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
@@ -61,6 +62,7 @@ import kotlinx.coroutines.launch
|
|||||||
fun BunkerSingleEventHomeScreen(
|
fun BunkerSingleEventHomeScreen(
|
||||||
horizontalPadding: Dp,
|
horizontalPadding: Dp,
|
||||||
modifier: Modifier,
|
modifier: Modifier,
|
||||||
|
scaffoldPadding: PaddingValues,
|
||||||
bunkerRequest: AmberBunkerRequest,
|
bunkerRequest: AmberBunkerRequest,
|
||||||
account: Account,
|
account: Account,
|
||||||
onLoading: (Boolean) -> Unit,
|
onLoading: (Boolean) -> Unit,
|
||||||
@@ -224,7 +226,7 @@ fun BunkerSingleEventHomeScreen(
|
|||||||
|
|
||||||
BunkerConnectRequestScreen(
|
BunkerConnectRequestScreen(
|
||||||
horizontalPadding = horizontalPadding,
|
horizontalPadding = horizontalPadding,
|
||||||
modifier = modifier,
|
scaffoldPadding = scaffoldPadding,
|
||||||
shouldCloseApp = applicationEntity?.application?.closeApplication ?: bunkerRequest.closeApplication,
|
shouldCloseApp = applicationEntity?.application?.closeApplication ?: bunkerRequest.closeApplication,
|
||||||
account = account,
|
account = account,
|
||||||
bunkerRequest = bunkerRequest,
|
bunkerRequest = bunkerRequest,
|
||||||
|
|||||||
Reference in New Issue
Block a user