Skip to content

Commit

Permalink
feat: show more information in image details sheet
Browse files Browse the repository at this point in the history
  • Loading branch information
Bnyro committed Apr 9, 2024
1 parent 1a081dd commit e3df2f2
Show file tree
Hide file tree
Showing 20 changed files with 74 additions and 86 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package com.bnyro.wallpaper.ui.components

import androidx.annotation.StringRes
import androidx.compose.foundation.clickable
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.selection.SelectionContainer
import androidx.compose.material3.Icon
import androidx.compose.material3.ListItem
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp

@Composable
fun WallpaperInfoItem(
icon: ImageVector,
@StringRes title: Int,
value: String,
isUrl: Boolean = false
) {
val uriHandler = LocalUriHandler.current

ListItem(
modifier = Modifier
.clip(RoundedCornerShape(12.dp))
.clickable(enabled = isUrl) {
uriHandler.openUri(value)
},
headlineContent = { Text(text = stringResource(title)) },
leadingContent = {
Icon(
imageVector = icon,
contentDescription = null
)
},
supportingContent = {
SelectionContainer {
Text(text = value)
}
}
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,16 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.rounded.Image
import androidx.compose.material.icons.rounded.Label
import androidx.compose.material.icons.rounded.Storage
import androidx.compose.material.icons.filled.AccessTime
import androidx.compose.material.icons.filled.Category
import androidx.compose.material.icons.filled.Image
import androidx.compose.material.icons.filled.Label
import androidx.compose.material.icons.filled.Person
import androidx.compose.material.icons.filled.PhotoSizeSelectLarge
import androidx.compose.material.icons.filled.Storage
import androidx.compose.material.icons.filled.Web
import androidx.compose.material3.Divider
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.ListItem
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ModalBottomSheet
import androidx.compose.material3.Text
Expand All @@ -25,11 +28,14 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import com.bnyro.wallpaper.R
import com.bnyro.wallpaper.db.obj.Wallpaper
import com.bnyro.wallpaper.ui.components.WallpaperInfoItem

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun WallpaperInfoSheet(onDismissRequest: () -> Unit, wallpaper: Wallpaper) {
val context = LocalContext.current
val state = rememberModalBottomSheetState(skipPartiallyExpanded = true)

ModalBottomSheet(onDismissRequest, sheetState = state) {
Column(Modifier.padding(horizontal = 16.dp, vertical = 8.dp)) {
Text(
Expand All @@ -48,45 +54,27 @@ fun WallpaperInfoSheet(onDismissRequest: () -> Unit, wallpaper: Wallpaper) {
style = MaterialTheme.typography.titleLarge
)
wallpaper.title?.let {
ListItem(
headlineContent = { Text(text = stringResource(R.string.label)) },
leadingContent = {
Icon(
imageVector = Icons.Rounded.Label,
contentDescription = null
)
},
supportingContent = {
Text(text = it)
})
WallpaperInfoItem(Icons.Default.Label, R.string.label, it)
}
wallpaper.author?.let {
WallpaperInfoItem(Icons.Default.Person, R.string.author, it)
}
wallpaper.category?.let {
WallpaperInfoItem(Icons.Default.Category, R.string.category, it)
}
wallpaper.resolution?.let {
ListItem(
headlineContent = { Text(text = stringResource(id = R.string.resolution)) },
leadingContent = {
Icon(
imageVector = Icons.Rounded.Image,
contentDescription = null
)
},
supportingContent = {
Text(text = it)
})
WallpaperInfoItem(Icons.Default.PhotoSizeSelectLarge, R.string.resolution, it)
}
wallpaper.fileSize?.let {
val context = LocalContext.current
ListItem(
headlineContent = { Text(text = stringResource(R.string.file_size)) },
leadingContent = {
Icon(
imageVector = Icons.Rounded.Storage,
contentDescription = null
)
},
supportingContent = {
Text(text = Formatter.formatFileSize(context, it))
})
WallpaperInfoItem(Icons.Default.Storage, R.string.fileSize, Formatter.formatFileSize(context, it))
}
wallpaper.creationDate?.let {
WallpaperInfoItem(Icons.Default.AccessTime, R.string.creationDate, it)
}
wallpaper.url?.let {
WallpaperInfoItem(Icons.Default.Web, R.string.source, it, true)
}
WallpaperInfoItem(Icons.Default.Image, R.string.image_url, wallpaper.imgSrc, true)
}
}
}
1 change: 0 additions & 1 deletion app/src/main/res/values-ar/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@
<string name="colors">الألوان</string>
<string name="details">التفاصيل</string>
<string name="label">التسمية</string>
<string name="file_size">حجم الملف</string>
<string name="error">خطأ</string>
<string name="done">إنتهى</string>
<string name="save">حفظ</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-be/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@
<string name="invert_wallpaper_by_theme_summary">Перавярніце шпалеры, каб яны былі цёмнымі на цёмных тэмах і светлымі на светлых тэмах.</string>
<string name="set_as">Ўсталяваць як</string>
<string name="apply">Ужыць</string>
<string name="file_size">Памер файла</string>
<string name="edit">Рэдагаваць</string>
<string name="directories">Каталогі</string>
<string name="import_favorites">Імпарт абранага</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-cs/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@
<string name="colors">Barvy</string>
<string name="details">Podrobnosti</string>
<string name="label">Štítek</string>
<string name="file_size">Velikost souboru</string>
<string name="error">Chyba</string>
<string name="done">Hotovo</string>
<string name="save">Uložit</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-es/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@
<string name="colors">Colores</string>
<string name="details">Detalles</string>
<string name="label">Etiqueta</string>
<string name="file_size">Tamaño del archivo</string>
<string name="error">Error</string>
<string name="done">Hecho</string>
<string name="save">Guardar</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-et/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@
<string name="favorite">Lemmik</string>
<string name="save">Salvesta</string>
<string name="done">Valmis</string>
<string name="file_size">Faili suurus</string>
<string name="error">Viga</string>
<string name="colors">Värvid</string>
<string name="details">Üksikasjad</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-fa/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@
<string name="preview_invert_effect">پیشنمایش جلوه وارونگی</string>
<string name="colors">رنگ ها</string>
<string name="details">ریزگان</string>
<string name="file_size">حجم پرونده</string>
<string name="error">خطا</string>
<string name="done">انجام شد</string>
<string name="edit">ویرایش</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-hi/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@
<string name="image_info">छवि जानकारी</string>
<string name="dismiss">खारिज</string>
<string name="preview_invert_effect">पूर्वावलोकन उलटा प्रभाव</string>
<string name="file_size">फाइल का साइज़</string>
<string name="applying_wallpaper">वॉलपेपर लगाया जा रहा है</string>
<string name="zoom">ज़ूम (पहलू अनुपात रखता है)</string>
<string name="fit_height">ऊंचाई पर फिट</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-ia/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@
<string name="wallpaper">Fundo de schermo</string>
<string name="details">Detalios</string>
<string name="label">Etiquetta</string>
<string name="file_size">Dimension del file</string>
<string name="error">Error</string>
<string name="set_with">Definir con...</string>
<string name="apply">Applicar</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-id/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@
<string name="preview_invert_effect">Pratinjau Efek Penyesuaian Warna</string>
<string name="details">Detail</string>
<string name="label">Label</string>
<string name="file_size">Ukuran berkas</string>
<string name="error">Kesalahan</string>
<string name="favorite">Favorit</string>
<string name="go_back">Kembali</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-pl/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@
<string name="colors">Kolory</string>
<string name="details">Szczegóły</string>
<string name="label">Etykieta</string>
<string name="file_size">Rozmiar pliku</string>
<string name="error">Błąd</string>
<string name="done">Gotowe</string>
<string name="edit">Edytuj</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-pt-rBR/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@
<string name="apply">Aplicar</string>
<string name="preview_invert_effect">Pré-visualizar o efeito invertido</string>
<string name="colors">Cores</string>
<string name="file_size">Tamanho do arquivo</string>
<string name="error">Erro</string>
<string name="done">Feito</string>
<string name="save">Salvar</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-ru/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@
<string name="colors">Цвета</string>
<string name="details">Подробности</string>
<string name="label">Метка</string>
<string name="file_size">Размер файла</string>
<string name="error">Ошибка</string>
<string name="edit">Редактировать</string>
<string name="favorite">Добавить в избранное</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-sr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@
<string name="details">Детаљи</string>
<string name="image_info">Информације о слици</string>
<string name="label">Ознака</string>
<string name="file_size">Величина фајла</string>
<string name="done">Готово</string>
<string name="error">Грешка</string>
<string name="save">Сачувај</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-tr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@
<string name="wallpaper">Duvar Kağıdı</string>
<string name="apply">Uygula</string>
<string name="preview_invert_effect">Değiştirme Efektini Ön İzle</string>
<string name="file_size">Dosya Boyutu</string>
<string name="favorite">Sık Kullanılan</string>
<string name="go_back">Geri Dön</string>
<string name="image_info">Resim Bilgileri</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-uk/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@
<string name="set_with">Встановити з...</string>
<string name="set_as">Встановити як</string>
<string name="preview_invert_effect">Передперегляд ефекта інверсії</string>
<string name="file_size">Розмір файла</string>
<string name="error">Помилка</string>
<string name="done">Готово</string>
<string name="colors">Кольори</string>
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-zh-rCN/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@
<string name="colors">色彩</string>
<string name="details">细节</string>
<string name="label">标签</string>
<string name="file_size">文件大小</string>
<string name="error">错误</string>
<string name="done">已完成</string>
<string name="save">保存</string>
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
<string name="fileSize">File size</string>
<string name="source">Source</string>
<string name="creationDate">Creation date</string>
<string name="image_url">Image URL</string>
<!-- Set Wallpaper -->
<string name="both">Both</string>
<string name="home">Home screen</string>
Expand Down Expand Up @@ -96,7 +97,6 @@
<string name="colors">Colors</string>
<string name="details">Details</string>
<string name="label">Label</string>
<string name="file_size">File Size</string>
<string name="error">Error</string>
<string name="done">Done</string>
<string name="save">Save</string>
Expand Down

0 comments on commit e3df2f2

Please sign in to comment.