diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/scheduledposts/ScheduledPostsScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/scheduledposts/ScheduledPostsScreen.kt index 26d972ac8..1a9fe3143 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/scheduledposts/ScheduledPostsScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/scheduledposts/ScheduledPostsScreen.kt @@ -46,6 +46,7 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Button @@ -98,6 +99,7 @@ import com.vitorpamplona.amethyst.service.scheduledposts.ScheduledPostStatus import com.vitorpamplona.amethyst.service.scheduledposts.ScheduledPostWorker import com.vitorpamplona.amethyst.ui.components.SwipeToDeleteWithConfirmation import com.vitorpamplona.amethyst.ui.components.util.setText +import com.vitorpamplona.amethyst.ui.navigation.bottombars.AppBottomBar import com.vitorpamplona.amethyst.ui.navigation.navs.INav import com.vitorpamplona.amethyst.ui.navigation.routes.Route import com.vitorpamplona.amethyst.ui.navigation.topbars.ShorterTopAppBar @@ -130,6 +132,8 @@ fun ScheduledPostsScreen( val totalActive by viewModel.totalActive.collectAsStateWithLifecycle() val context = LocalContext.current var expandedId by remember { mutableStateOf(null) } + val listState = rememberLazyListState() + val scope = rememberCoroutineScope() // Tick once per minute so relative-time strings ("publishes in 2h 13m") // refresh on a long-open list instead of being frozen at first composition. @@ -183,10 +187,23 @@ fun ScheduledPostsScreen( } }, navigationIcon = { - IconButton(onClick = { nav.popBack() }) { ArrowBackIcon() } + // Suppress the back arrow when this is the bottom of the back stack + // (i.e. the user landed here via the bottom nav, which clears the stack). + if (nav.canPop()) { + IconButton(onClick = { nav.popBack() }) { ArrowBackIcon() } + } }, ) }, + bottomBar = { + AppBottomBar(Route.ScheduledPosts, nav, accountViewModel) { route -> + if (route == Route.ScheduledPosts) { + scope.launch { listState.animateScrollToItem(0) } + } else { + nav.navBottomBar(route) + } + } + }, ) { padding -> if (groups.isEmpty()) { EmptyState(onCompose = { nav.nav(Route.NewShortNote()) }, modifier = Modifier.padding(padding)) @@ -194,6 +211,7 @@ fun ScheduledPostsScreen( val today = remember(nowSec) { LocalDate.now(ZoneId.systemDefault()) } LazyColumn( modifier = Modifier.fillMaxSize().padding(padding), + state = listState, contentPadding = PaddingValues(vertical = 8.dp), verticalArrangement = Arrangement.spacedBy(8.dp), ) { diff --git a/amethyst/src/main/res/values-hu-rHU/strings.xml b/amethyst/src/main/res/values-hu-rHU/strings.xml index 01b04103a..76eba685c 100644 --- a/amethyst/src/main/res/values-hu-rHU/strings.xml +++ b/amethyst/src/main/res/values-hu-rHU/strings.xml @@ -372,6 +372,8 @@ Letiltás Törlés Letiltás + Szál némítása + Szál némításának megszüntetése Bejelentés Törlés Ne jelenítse meg újra @@ -485,7 +487,7 @@ Jóváhagyások Nincs olyan közösség, amely megfelelne ennek a szűrőnek. Ellenőrizhető szabályok (nem kötelező) - A közösség mellett egy géppel olvasható szabálydokumentumot (NIP-9B) is közzétesz. Az ezt támogató kliensek küldés előtt blokkolják a szabályoknak meg nem felelő bejegyzéseket. + A közösség mellett egy géppel olvasható szabálydokumentumot (NIP-9B) is közzétesz. Az ezt támogató kliensek küldés előtt eltávolítják a szabályoknak meg nem felelő bejegyzéseket. Engedélyezett eseménytípusok Koppintson egy típus engedélyezéséhez. Tartsa hosszan nyomva az eseményenkénti méretkorlát vagy a napi bejegyzéslimit beállításához. Rövid szöveg (1) @@ -1124,6 +1126,12 @@ Elrejti azokat a bejegyzéseket, amelyek több kulcsszót tartalmaznak ennél a korlátnál. A kikapcsoláshoz állítsa 0-ra Közösségi szabályokat sértő bejegyzések elrejtése Eltávolítja a bejegyzéseket a közösségi hírfolyamokból, ha a közösség közzétesz egy NIP-9B szabálydokumentumot, és egy esemény nem felel meg annak. Nincs hatása, ha a közösség nem rendelkezik strukturált szabályokkal. + Beállítások szűrése + Letiltott tartalom + + Ön még nem tiltott le egyetlen felhasználót sem. + Ebben a munkamenetben egyetlen fiókot sem jelölt meg kéretlen tartalomként. + Nincsenek rejtett szavak. Adjon hozzá egy szót alább, hogy elrejtse az azt tartalmazó bejegyzéseket. Új reakció-szimbólum A felhasználó számára nincsenek előre kiválasztott reakciótípusok. Hosszan nyomja meg a szív gombot a módosításhoz Zap-gyűjtés @@ -1301,6 +1309,7 @@ Spamelők Némítva. Koppintson a némitás megszüntetéséhez Hang bekapcsolva. Koppintson a némításhoz + Némítás megszüntetése Visszatekerés %d másodperccel Előretekerés %d másodperccel Kép a képben @@ -1424,6 +1433,9 @@ Nem található Blossom-alkalmazás. Telepítsen egy helyi Blossom-alkalmazást a fájl megtekintéséhez Rejtett szavak Új szó vagy mondat elrejtése + Némított szálak + Nincsenek némított szálak + Ismeretlen szál · %1$s Profilkép Profilképek megjelenítése Válasszon egy lehetőséget @@ -1655,6 +1667,12 @@ Kezdőlap lapjai Válassza ki, mely lapok jelenjenek meg a kezdőlapon. Ha csak egy lap aktív, akkor a lapsáv rejtett. Minden + Profil felhasználói felülete + Válassza ki, hogy mely szekciók és hírfolyamok jelenjenek meg a felhasználói profil képernyőin. Alapértelmezés szerint minden beállítás engedélyezve van. + Profilkitűzők + Ajánlott alkalmazások + Beérkezett zapek hírfolyama + Követők hírfolyama Reakciósor Állítsa be, hogy mely reakciógombok jelenjenek meg, azok sorrendjét, valamint a számlálók megjelenítését. Engedélyezve @@ -2502,6 +2520,9 @@ Az eszközön futó LLM-modell segítségével szövegjavításokkal és hangnemváltoztatásokkal kapcsolatos javaslatokat kaphat. Nyomon követhető közvetítések Nyomon követhető közvetítők használata az események küldesékor. Közvetítés közben megjeleníti a jelenlegi előrehaladást és az egyes átjátszók állapotát. + Üzenetírási beállítások + Vázlatok automatikus létrehozása + Automatikusan menti a vázlateseményt, amikor beírja a szöveget, vagy elküldetlen szöveggel hagyja a levelezőlistát, és elküldi a privát kimenő üzenetek mappájába. Ennek használata Eltüntetés Javítás