mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-09-23 19:26:18 +02:00
Rearrange buttons on the new post screen. Add icons
This commit is contained in:
@@ -37,7 +37,6 @@ import com.vitorpamplona.amethyst.R
|
|||||||
import com.vitorpamplona.amethyst.model.Account
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
import com.vitorpamplona.amethyst.model.Note
|
import com.vitorpamplona.amethyst.model.Note
|
||||||
import com.vitorpamplona.amethyst.ui.components.*
|
import com.vitorpamplona.amethyst.ui.components.*
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.UploadFromGallery
|
|
||||||
import com.vitorpamplona.amethyst.ui.note.ReplyInformation
|
import com.vitorpamplona.amethyst.ui.note.ReplyInformation
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.UserLine
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.UserLine
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
@@ -75,9 +74,16 @@ fun NewPostView(onClose: () -> Unit, baseReplyTo: Note? = null, quote: Note? = n
|
|||||||
decorFitsSystemWindows = false
|
decorFitsSystemWindows = false
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
Surface(modifier = Modifier.fillMaxWidth().fillMaxHeight()) {
|
Surface(modifier = Modifier
|
||||||
Column(modifier = Modifier.fillMaxWidth().fillMaxHeight()) {
|
.fillMaxWidth()
|
||||||
Column(modifier = Modifier.padding(10.dp).imePadding().weight(1f)) {
|
.fillMaxHeight()) {
|
||||||
|
Column(modifier = Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.fillMaxHeight()) {
|
||||||
|
Column(modifier = Modifier
|
||||||
|
.padding(start = 10.dp, end = 10.dp, top = 10.dp)
|
||||||
|
.imePadding()
|
||||||
|
.weight(1f)) {
|
||||||
Row(
|
Row(
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
horizontalArrangement = Arrangement.SpaceBetween,
|
horizontalArrangement = Arrangement.SpaceBetween,
|
||||||
@@ -88,12 +94,6 @@ fun NewPostView(onClose: () -> Unit, baseReplyTo: Note? = null, quote: Note? = n
|
|||||||
onClose()
|
onClose()
|
||||||
})
|
})
|
||||||
|
|
||||||
UploadFromGallery(
|
|
||||||
isUploading = postViewModel.isUploadingImage,
|
|
||||||
) {
|
|
||||||
postViewModel.upload(it, context)
|
|
||||||
}
|
|
||||||
|
|
||||||
PostButton(
|
PostButton(
|
||||||
onPost = {
|
onPost = {
|
||||||
postViewModel.sendPost()
|
postViewModel.sendPost()
|
||||||
@@ -105,9 +105,13 @@ fun NewPostView(onClose: () -> Unit, baseReplyTo: Note? = null, quote: Note? = n
|
|||||||
}
|
}
|
||||||
|
|
||||||
Row(
|
Row(
|
||||||
modifier = Modifier.fillMaxWidth().weight(1f)
|
modifier = Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.weight(1f)
|
||||||
) {
|
) {
|
||||||
Column(modifier = Modifier.fillMaxWidth().verticalScroll(scroolState)) {
|
Column(modifier = Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.verticalScroll(scroolState)) {
|
||||||
if (postViewModel.replyTos != null && baseReplyTo?.event is TextNoteEvent) {
|
if (postViewModel.replyTos != null && baseReplyTo?.event is TextNoteEvent) {
|
||||||
ReplyInformation(postViewModel.replyTos, postViewModel.mentions, account, "✖ ") {
|
ReplyInformation(postViewModel.replyTos, postViewModel.mentions, account, "✖ ") {
|
||||||
postViewModel.removeFromReplyList(it)
|
postViewModel.removeFromReplyList(it)
|
||||||
@@ -204,6 +208,14 @@ fun NewPostView(onClose: () -> Unit, baseReplyTo: Note? = null, quote: Note? = n
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Row(modifier = Modifier.fillMaxWidth()) {
|
||||||
|
UploadFromGallery(
|
||||||
|
isUploading = postViewModel.isUploadingImage,
|
||||||
|
) {
|
||||||
|
postViewModel.upload(it, context)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -222,7 +234,12 @@ fun CloseButton(onCancel: () -> Unit) {
|
|||||||
backgroundColor = Color.Gray
|
backgroundColor = Color.Gray
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
Text(text = stringResource(R.string.cancel), color = Color.White)
|
Icon(
|
||||||
|
painter = painterResource(id = R.drawable.ic_close),
|
||||||
|
contentDescription = stringResource(id = R.string.cancel),
|
||||||
|
modifier = Modifier.size(20.dp),
|
||||||
|
tint = Color.White
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,17 +1,15 @@
|
|||||||
package com.vitorpamplona.amethyst.ui.navigation
|
package com.vitorpamplona.amethyst.ui.actions
|
||||||
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import androidx.activity.compose.rememberLauncherForActivityResult
|
import androidx.activity.compose.rememberLauncherForActivityResult
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.*
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.material.*
|
||||||
import androidx.compose.foundation.layout.padding
|
|
||||||
import androidx.compose.material.Button
|
|
||||||
import androidx.compose.material.Text
|
|
||||||
import androidx.compose.runtime.*
|
import androidx.compose.runtime.*
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.google.accompanist.permissions.ExperimentalPermissionsApi
|
import com.google.accompanist.permissions.ExperimentalPermissionsApi
|
||||||
@@ -46,15 +44,23 @@ fun UploadFromGallery(
|
|||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
Box() {
|
Box() {
|
||||||
Button(
|
TextButton(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.align(Alignment.TopCenter)
|
.align(Alignment.TopCenter),
|
||||||
.padding(4.dp),
|
|
||||||
enabled = !isUploading,
|
enabled = !isUploading,
|
||||||
onClick = {
|
onClick = {
|
||||||
showGallerySelect = true
|
showGallerySelect = true
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
|
Icon(
|
||||||
|
painter = painterResource(id = R.drawable.ic_add_photo),
|
||||||
|
contentDescription = stringResource(id = R.string.upload_image),
|
||||||
|
modifier = Modifier
|
||||||
|
.height(20.dp)
|
||||||
|
.padding(end = 8.dp),
|
||||||
|
tint = MaterialTheme.colors.primary
|
||||||
|
)
|
||||||
|
|
||||||
if (!isUploading) {
|
if (!isUploading) {
|
||||||
Text(stringResource(R.string.upload_image))
|
Text(stringResource(R.string.upload_image))
|
||||||
} else {
|
} else {
|
||||||
|
5
app/src/main/res/drawable-anydpi/ic_add_photo.xml
Normal file
5
app/src/main/res/drawable-anydpi/ic_add_photo.xml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<vector android:height="24dp" android:tint="#000000"
|
||||||
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="@android:color/white" android:pathData="M19,7v2.99s-1.99,0.01 -2,0L17,7h-3s0.01,-1.99 0,-2h3L17,2h2v3h3v2h-3zM16,11L16,8h-3L13,5L5,5c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2v-8h-3zM5,19l3,-4 2,3 3,-4 4,5L5,19z"/>
|
||||||
|
</vector>
|
5
app/src/main/res/drawable-anydpi/ic_close.xml
Normal file
5
app/src/main/res/drawable-anydpi/ic_close.xml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<vector android:height="24dp" android:tint="#000000"
|
||||||
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="@android:color/white" android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
|
||||||
|
</vector>
|
@@ -92,7 +92,7 @@
|
|||||||
<string name="ln_url_outdated">LN URL (устаревш.)</string>
|
<string name="ln_url_outdated">LN URL (устаревш.)</string>
|
||||||
<string name="image_saved_to_the_gallery">Фото сохранено в галерею</string>
|
<string name="image_saved_to_the_gallery">Фото сохранено в галерею</string>
|
||||||
<string name="failed_to_save_the_image">Не удалось сохранить фото</string>
|
<string name="failed_to_save_the_image">Не удалось сохранить фото</string>
|
||||||
<string name="upload_image">Загрузить\nфото</string>
|
<string name="upload_image">Загрузить фото</string>
|
||||||
<string name="uploading">Загрузка…</string>
|
<string name="uploading">Загрузка…</string>
|
||||||
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">Пользователь не установил Lightning адрес для получения чаевых</string>
|
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">Пользователь не установил Lightning адрес для получения чаевых</string>
|
||||||
<string name="reply_here">"ответить.. "</string>
|
<string name="reply_here">"ответить.. "</string>
|
||||||
|
@@ -92,7 +92,7 @@
|
|||||||
<string name="ln_url_outdated">LN URL (застарівш.)</string>
|
<string name="ln_url_outdated">LN URL (застарівш.)</string>
|
||||||
<string name="image_saved_to_the_gallery">Фото збережено до галереї</string>
|
<string name="image_saved_to_the_gallery">Фото збережено до галереї</string>
|
||||||
<string name="failed_to_save_the_image">Не вдалося зберегти фото</string>
|
<string name="failed_to_save_the_image">Не вдалося зберегти фото</string>
|
||||||
<string name="upload_image">Завантажити\nфото</string>
|
<string name="upload_image">Завантажити фото</string>
|
||||||
<string name="uploading">Завантаження…</string>
|
<string name="uploading">Завантаження…</string>
|
||||||
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">Користувач не встановив Lightning адресу для отримання чайових</string>
|
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">Користувач не встановив Lightning адресу для отримання чайових</string>
|
||||||
<string name="reply_here">"відповісти.. "</string>
|
<string name="reply_here">"відповісти.. "</string>
|
||||||
|
Reference in New Issue
Block a user