Merge branch 'main' of https://github.com/vitorpamplona/amethyst
* 'main' of https://github.com/vitorpamplona/amethyst: update cz, pt, de, sv remove unused imports remove unused imports remove unused imports
This commit is contained in:
@@ -25,7 +25,6 @@ import android.content.Context
|
|||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import com.vitorpamplona.amethyst.LocalPreferences.parseEventOrNull
|
|
||||||
import com.vitorpamplona.amethyst.model.ALL_FOLLOWS
|
import com.vitorpamplona.amethyst.model.ALL_FOLLOWS
|
||||||
import com.vitorpamplona.amethyst.model.AccountSettings
|
import com.vitorpamplona.amethyst.model.AccountSettings
|
||||||
import com.vitorpamplona.amethyst.model.GLOBAL_FOLLOWS
|
import com.vitorpamplona.amethyst.model.GLOBAL_FOLLOWS
|
||||||
|
|||||||
-1
@@ -43,7 +43,6 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
import com.vitorpamplona.amethyst.service.playback.composable.controls.HorizontalLinearProgressIndicator
|
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.BitcoinOrange
|
import com.vitorpamplona.amethyst.ui.theme.BitcoinOrange
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size30Modifier
|
import com.vitorpamplona.amethyst.ui.theme.Size30Modifier
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ import com.vitorpamplona.amethyst.service.playback.composable.MediaControllerSta
|
|||||||
import com.vitorpamplona.amethyst.service.playback.composable.WaveformData
|
import com.vitorpamplona.amethyst.service.playback.composable.WaveformData
|
||||||
import com.vitorpamplona.amethyst.service.playback.composable.mediaitem.MediaItemData
|
import com.vitorpamplona.amethyst.service.playback.composable.mediaitem.MediaItemData
|
||||||
import com.vitorpamplona.amethyst.service.playback.composable.wavefront.Waveform
|
import com.vitorpamplona.amethyst.service.playback.composable.wavefront.Waveform
|
||||||
import com.vitorpamplona.amethyst.service.playback.pip.makePipParams
|
|
||||||
import com.vitorpamplona.amethyst.ui.components.getActivity
|
import com.vitorpamplona.amethyst.ui.components.getActivity
|
||||||
import com.vitorpamplona.amethyst.ui.theme.VoiceHeightModifier
|
import com.vitorpamplona.amethyst.ui.theme.VoiceHeightModifier
|
||||||
|
|
||||||
|
|||||||
-1
@@ -43,7 +43,6 @@ import kotlinx.coroutines.Dispatchers
|
|||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
import kotlinx.coroutines.FlowPreview
|
import kotlinx.coroutines.FlowPreview
|
||||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||||
import kotlinx.coroutines.flow.flow
|
|
||||||
import kotlinx.coroutines.flow.flowOn
|
import kotlinx.coroutines.flow.flowOn
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
import kotlinx.coroutines.flow.mapLatest
|
import kotlinx.coroutines.flow.mapLatest
|
||||||
|
|||||||
@@ -20,8 +20,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.vitorpamplona.amethyst.ui.components
|
package com.vitorpamplona.amethyst.ui.components
|
||||||
|
|
||||||
import android.R.attr.maxLines
|
|
||||||
import android.R.attr.onClick
|
|
||||||
import androidx.compose.foundation.combinedClickable
|
import androidx.compose.foundation.combinedClickable
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
@@ -31,7 +29,6 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.platform.LocalClipboardManager
|
import androidx.compose.ui.platform.LocalClipboardManager
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import com.vitorpamplona.amethyst.ui.components.appendLink
|
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
|
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.routes.Route
|
import com.vitorpamplona.amethyst.ui.navigation.routes.Route
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.vitorpamplona.amethyst.ui.components
|
package com.vitorpamplona.amethyst.ui.components
|
||||||
|
|
||||||
import android.R.attr.maxLines
|
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.text.InlineTextContent
|
import androidx.compose.foundation.text.InlineTextContent
|
||||||
|
|||||||
-1
@@ -28,7 +28,6 @@ import android.widget.Toast
|
|||||||
import androidx.compose.animation.AnimatedVisibility
|
import androidx.compose.animation.AnimatedVisibility
|
||||||
import androidx.compose.animation.fadeIn
|
import androidx.compose.animation.fadeIn
|
||||||
import androidx.compose.animation.fadeOut
|
import androidx.compose.animation.fadeOut
|
||||||
import androidx.compose.foundation.background
|
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Arrangement.spacedBy
|
import androidx.compose.foundation.layout.Arrangement.spacedBy
|
||||||
|
|||||||
-1
@@ -63,7 +63,6 @@ import androidx.compose.runtime.derivedStateOf
|
|||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.setValue
|
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
|
|||||||
@@ -100,7 +100,6 @@ import com.vitorpamplona.quartz.utils.TimeUtils
|
|||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.flow
|
import kotlinx.coroutines.flow.flow
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
import kotlin.collections.map
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun RenderPoll(
|
fun RenderPoll(
|
||||||
|
|||||||
@@ -37,10 +37,8 @@ import androidx.compose.material3.IconButton
|
|||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.MutableState
|
import androidx.compose.runtime.MutableState
|
||||||
import androidx.compose.runtime.getValue
|
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.setValue
|
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
|
|||||||
-1
@@ -23,7 +23,6 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.chess.dal
|
|||||||
import com.vitorpamplona.amethyst.model.Account
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
import com.vitorpamplona.amethyst.model.LocalCache
|
import com.vitorpamplona.amethyst.model.LocalCache
|
||||||
import com.vitorpamplona.amethyst.model.Note
|
import com.vitorpamplona.amethyst.model.Note
|
||||||
import com.vitorpamplona.amethyst.model.filterIntoSet
|
|
||||||
import com.vitorpamplona.amethyst.ui.dal.AdditiveFeedFilter
|
import com.vitorpamplona.amethyst.ui.dal.AdditiveFeedFilter
|
||||||
import com.vitorpamplona.amethyst.ui.dal.DefaultFeedOrder
|
import com.vitorpamplona.amethyst.ui.dal.DefaultFeedOrder
|
||||||
import com.vitorpamplona.amethyst.ui.dal.FilterByListParams
|
import com.vitorpamplona.amethyst.ui.dal.FilterByListParams
|
||||||
|
|||||||
-3
@@ -24,7 +24,6 @@ import androidx.annotation.OptIn
|
|||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.size
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.PlayCircleOutline
|
import androidx.compose.material.icons.filled.PlayCircleOutline
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
@@ -33,7 +32,6 @@ import androidx.compose.runtime.collectAsState
|
|||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.setValue
|
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
@@ -65,7 +63,6 @@ import com.vitorpamplona.amethyst.ui.theme.Size50Modifier
|
|||||||
import com.vitorpamplona.quartz.experimental.profileGallery.ProfileGalleryEntryEvent
|
import com.vitorpamplona.quartz.experimental.profileGallery.ProfileGalleryEntryEvent
|
||||||
import com.vitorpamplona.quartz.nip68Picture.PictureEvent
|
import com.vitorpamplona.quartz.nip68Picture.PictureEvent
|
||||||
import com.vitorpamplona.quartz.nip71Video.VideoEvent
|
import com.vitorpamplona.quartz.nip71Video.VideoEvent
|
||||||
import kotlinx.coroutines.flow.map
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun GalleryThumbnail(
|
fun GalleryThumbnail(
|
||||||
|
|||||||
-1
@@ -41,7 +41,6 @@ import kotlinx.coroutines.flow.MutableStateFlow
|
|||||||
import kotlinx.coroutines.flow.SharingStarted
|
import kotlinx.coroutines.flow.SharingStarted
|
||||||
import kotlinx.coroutines.flow.combine
|
import kotlinx.coroutines.flow.combine
|
||||||
import kotlinx.coroutines.flow.emitAll
|
import kotlinx.coroutines.flow.emitAll
|
||||||
import kotlinx.coroutines.flow.flow
|
|
||||||
import kotlinx.coroutines.flow.flowOn
|
import kotlinx.coroutines.flow.flowOn
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
import kotlinx.coroutines.flow.onStart
|
import kotlinx.coroutines.flow.onStart
|
||||||
|
|||||||
-2
@@ -26,9 +26,7 @@ import androidx.compose.foundation.layout.Column
|
|||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.getValue
|
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.setValue
|
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
|
|||||||
@@ -1274,4 +1274,40 @@
|
|||||||
<string name="confirm">Potvrdit</string>
|
<string name="confirm">Potvrdit</string>
|
||||||
<string name="next">Další</string>
|
<string name="next">Další</string>
|
||||||
<string name="add_poll_option_button">Přidat možnost ankety</string>
|
<string name="add_poll_option_button">Přidat možnost ankety</string>
|
||||||
|
|
||||||
|
<string name="favorite_relays_title">Oblíbené feedy relayí</string>
|
||||||
|
<string name="favorite_section">Oblíbené feedy relayí</string>
|
||||||
|
<string name="favorite_section_explainer">Relaye, které často navštěvujete pro zobrazení jejich globálního feedu</string>
|
||||||
|
<string name="ui_preferences">Nastavení rozhraní</string>
|
||||||
|
<string name="translations">Překlady</string>
|
||||||
|
<string name="reactions">Reakce</string>
|
||||||
|
<string name="account_settings">Nastavení účtu</string>
|
||||||
|
<string name="app_settings">Nastavení aplikace</string>
|
||||||
|
<string name="go_back">Jít zpět</string>
|
||||||
|
<string name="approve">Schválit</string>
|
||||||
|
<string name="connected">Připojeno</string>
|
||||||
|
<string name="social_proof">Sociální důkaz</string>
|
||||||
|
<string name="poll_submit">Odeslat</string>
|
||||||
|
<string name="restart">Restartovat</string>
|
||||||
|
<string name="chess_accept">Přijmout</string>
|
||||||
|
<string name="chess_decline">Odmítnout</string>
|
||||||
|
<string name="chess_new_game">Nová hra</string>
|
||||||
|
<string name="new_chess_game">Nová šachová hra</string>
|
||||||
|
<string name="chess_loading_game">Načítání hry…</string>
|
||||||
|
<string name="chess_game_not_found">Hra nenalezena</string>
|
||||||
|
<string name="chess_game_waiting">Tato hra mohla skončit nebo čeká na soupeře.</string>
|
||||||
|
<string name="chess_game_id">ID hry: %1$s…</string>
|
||||||
|
<string name="badge_and_n_others"> a %1$d dalších</string>
|
||||||
|
<string name="remove_language">Odebrat %1$s</string>
|
||||||
|
<string name="relay_active_subscriptions">Aktivní odběry</string>
|
||||||
|
<string name="relay_active_outbox">Čekající události k odeslání</string>
|
||||||
|
<string name="relay_req_subscriptions">REQ odběry (%1$d)</string>
|
||||||
|
<string name="relay_count_subscriptions">COUNT odběry (%1$d)</string>
|
||||||
|
<string name="relay_outbox_events">Události k odeslání (%1$d)</string>
|
||||||
|
<string name="relay_no_active_subscriptions">Pro tento relay nejsou žádné aktivní odběry</string>
|
||||||
|
<string name="relay_filter_authors">%1$d autorů</string>
|
||||||
|
<string name="relay_filter_ids">%1$d ID</string>
|
||||||
|
<string name="relay_filter_since">od %1$s</string>
|
||||||
|
<string name="relay_filter_until">do %1$s</string>
|
||||||
|
<string name="relay_filter_limit">limit %1$d</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -1279,4 +1279,40 @@ anz der Bedingungen ist erforderlich</string>
|
|||||||
<string name="confirm">Bestätigen</string>
|
<string name="confirm">Bestätigen</string>
|
||||||
<string name="next">Weiter</string>
|
<string name="next">Weiter</string>
|
||||||
<string name="add_poll_option_button">Umfrageoption hinzufügen</string>
|
<string name="add_poll_option_button">Umfrageoption hinzufügen</string>
|
||||||
|
|
||||||
|
<string name="favorite_relays_title">Favorisierte Relay-Feeds</string>
|
||||||
|
<string name="favorite_section">Favorisierte Relay-Feeds</string>
|
||||||
|
<string name="favorite_section_explainer">Relays, die du häufig besuchst, um ihren globalen Feed zu sehen</string>
|
||||||
|
<string name="ui_preferences">UI-Einstellungen</string>
|
||||||
|
<string name="translations">Übersetzungen</string>
|
||||||
|
<string name="reactions">Reaktionen</string>
|
||||||
|
<string name="account_settings">Kontoeinstellungen</string>
|
||||||
|
<string name="app_settings">App-Einstellungen</string>
|
||||||
|
<string name="go_back">Zurückgehen</string>
|
||||||
|
<string name="approve">Genehmigen</string>
|
||||||
|
<string name="connected">Verbunden</string>
|
||||||
|
<string name="social_proof">Sozialer Nachweis</string>
|
||||||
|
<string name="poll_submit">Absenden</string>
|
||||||
|
<string name="restart">Neu starten</string>
|
||||||
|
<string name="chess_accept">Annehmen</string>
|
||||||
|
<string name="chess_decline">Ablehnen</string>
|
||||||
|
<string name="chess_new_game">Neues Spiel</string>
|
||||||
|
<string name="new_chess_game">Neues Schachspiel</string>
|
||||||
|
<string name="chess_loading_game">Spiel wird geladen…</string>
|
||||||
|
<string name="chess_game_not_found">Spiel nicht gefunden</string>
|
||||||
|
<string name="chess_game_waiting">Dieses Spiel ist möglicherweise beendet oder wartet auf einen Gegner.</string>
|
||||||
|
<string name="chess_game_id">Spiel-ID: %1$s…</string>
|
||||||
|
<string name="badge_and_n_others"> und %1$d weitere</string>
|
||||||
|
<string name="remove_language">%1$s entfernen</string>
|
||||||
|
<string name="relay_active_subscriptions">Aktive Abonnements</string>
|
||||||
|
<string name="relay_active_outbox">Ausstehende Outbox-Ereignisse</string>
|
||||||
|
<string name="relay_req_subscriptions">REQ-Abonnements (%1$d)</string>
|
||||||
|
<string name="relay_count_subscriptions">COUNT-Abonnements (%1$d)</string>
|
||||||
|
<string name="relay_outbox_events">Outbox-Ereignisse (%1$d)</string>
|
||||||
|
<string name="relay_no_active_subscriptions">Keine aktiven Abonnements für dieses Relay</string>
|
||||||
|
<string name="relay_filter_authors">%1$d Autoren</string>
|
||||||
|
<string name="relay_filter_ids">%1$d IDs</string>
|
||||||
|
<string name="relay_filter_since">seit %1$s</string>
|
||||||
|
<string name="relay_filter_until">bis %1$s</string>
|
||||||
|
<string name="relay_filter_limit">Limit %1$d</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -1274,4 +1274,40 @@
|
|||||||
<string name="confirm">Confirmar</string>
|
<string name="confirm">Confirmar</string>
|
||||||
<string name="next">Próximo</string>
|
<string name="next">Próximo</string>
|
||||||
<string name="add_poll_option_button">Adicionar opção à enquete</string>
|
<string name="add_poll_option_button">Adicionar opção à enquete</string>
|
||||||
|
|
||||||
|
<string name="favorite_relays_title">Feeds de Relays Favoritos</string>
|
||||||
|
<string name="favorite_section">Feeds de Relays Favoritos</string>
|
||||||
|
<string name="favorite_section_explainer">Relays que você visita com frequência para ver o feed Global deles</string>
|
||||||
|
<string name="ui_preferences">Preferências da Interface</string>
|
||||||
|
<string name="translations">Traduções</string>
|
||||||
|
<string name="reactions">Reações</string>
|
||||||
|
<string name="account_settings">Configurações da Conta</string>
|
||||||
|
<string name="app_settings">Configurações do App</string>
|
||||||
|
<string name="go_back">Voltar</string>
|
||||||
|
<string name="approve">Aprovar</string>
|
||||||
|
<string name="connected">Conectado</string>
|
||||||
|
<string name="social_proof">Prova social</string>
|
||||||
|
<string name="poll_submit">Enviar</string>
|
||||||
|
<string name="restart">Reiniciar</string>
|
||||||
|
<string name="chess_accept">Aceitar</string>
|
||||||
|
<string name="chess_decline">Recusar</string>
|
||||||
|
<string name="chess_new_game">Novo Jogo</string>
|
||||||
|
<string name="new_chess_game">Novo Jogo de Xadrez</string>
|
||||||
|
<string name="chess_loading_game">Carregando jogo…</string>
|
||||||
|
<string name="chess_game_not_found">Jogo não encontrado</string>
|
||||||
|
<string name="chess_game_waiting">Este jogo pode ter terminado ou está aguardando um oponente.</string>
|
||||||
|
<string name="chess_game_id">ID do Jogo: %1$s…</string>
|
||||||
|
<string name="badge_and_n_others"> e mais %1$d</string>
|
||||||
|
<string name="remove_language">Remover %1$s</string>
|
||||||
|
<string name="relay_active_subscriptions">Assinaturas Ativas</string>
|
||||||
|
<string name="relay_active_outbox">Eventos Pendentes na Outbox</string>
|
||||||
|
<string name="relay_req_subscriptions">Assinaturas REQ (%1$d)</string>
|
||||||
|
<string name="relay_count_subscriptions">Assinaturas COUNT (%1$d)</string>
|
||||||
|
<string name="relay_outbox_events">Eventos da Outbox (%1$d)</string>
|
||||||
|
<string name="relay_no_active_subscriptions">Nenhuma assinatura ativa para este relay</string>
|
||||||
|
<string name="relay_filter_authors">%1$d autores</string>
|
||||||
|
<string name="relay_filter_ids">%1$d IDs</string>
|
||||||
|
<string name="relay_filter_since">desde %1$s</string>
|
||||||
|
<string name="relay_filter_until">até %1$s</string>
|
||||||
|
<string name="relay_filter_limit">limite %1$d</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -1273,4 +1273,40 @@
|
|||||||
<string name="confirm">Bekräfta</string>
|
<string name="confirm">Bekräfta</string>
|
||||||
<string name="next">Nästa</string>
|
<string name="next">Nästa</string>
|
||||||
<string name="add_poll_option_button">Lägg till omröstningsalternativ</string>
|
<string name="add_poll_option_button">Lägg till omröstningsalternativ</string>
|
||||||
|
|
||||||
|
<string name="favorite_relays_title">Favorit-reläflöden</string>
|
||||||
|
<string name="favorite_section">Favorit-reläflöden</string>
|
||||||
|
<string name="favorite_section_explainer">Reläer som du ofta besöker för att se deras globala flöde</string>
|
||||||
|
<string name="ui_preferences">Gränssnittsinställningar</string>
|
||||||
|
<string name="translations">Översättningar</string>
|
||||||
|
<string name="reactions">Reaktioner</string>
|
||||||
|
<string name="account_settings">Kontoinställningar</string>
|
||||||
|
<string name="app_settings">Appinställningar</string>
|
||||||
|
<string name="go_back">Gå tillbaka</string>
|
||||||
|
<string name="approve">Godkänn</string>
|
||||||
|
<string name="connected">Ansluten</string>
|
||||||
|
<string name="social_proof">Socialt bevis</string>
|
||||||
|
<string name="poll_submit">Skicka</string>
|
||||||
|
<string name="restart">Starta om</string>
|
||||||
|
<string name="chess_accept">Acceptera</string>
|
||||||
|
<string name="chess_decline">Avböj</string>
|
||||||
|
<string name="chess_new_game">Nytt parti</string>
|
||||||
|
<string name="new_chess_game">Nytt schackparti</string>
|
||||||
|
<string name="chess_loading_game">Laddar parti…</string>
|
||||||
|
<string name="chess_game_not_found">Parti hittades inte</string>
|
||||||
|
<string name="chess_game_waiting">Detta parti kan ha avslutats eller väntar på motståndare.</string>
|
||||||
|
<string name="chess_game_id">Parti-ID: %1$s…</string>
|
||||||
|
<string name="badge_and_n_others"> och %1$d andra</string>
|
||||||
|
<string name="remove_language">Ta bort %1$s</string>
|
||||||
|
<string name="relay_active_subscriptions">Aktiva prenumerationer</string>
|
||||||
|
<string name="relay_active_outbox">Väntande utgående händelser</string>
|
||||||
|
<string name="relay_req_subscriptions">REQ-prenumerationer (%1$d)</string>
|
||||||
|
<string name="relay_count_subscriptions">COUNT-prenumerationer (%1$d)</string>
|
||||||
|
<string name="relay_outbox_events">Utgående händelser (%1$d)</string>
|
||||||
|
<string name="relay_no_active_subscriptions">Inga aktiva prenumerationer för detta relä</string>
|
||||||
|
<string name="relay_filter_authors">%1$d författare</string>
|
||||||
|
<string name="relay_filter_ids">%1$d ID:n</string>
|
||||||
|
<string name="relay_filter_since">sedan %1$s</string>
|
||||||
|
<string name="relay_filter_until">till %1$s</string>
|
||||||
|
<string name="relay_filter_limit">gräns %1$d</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
-1
@@ -57,7 +57,6 @@ import androidx.compose.runtime.remember
|
|||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.alpha
|
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
|
|||||||
-2
@@ -25,8 +25,6 @@ import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
|||||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.isLocalHost
|
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.isLocalHost
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import java.lang.ref.WeakReference
|
import java.lang.ref.WeakReference
|
||||||
import kotlin.collections.mapOf
|
|
||||||
import kotlin.collections.plus
|
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
data class RelayInfo(
|
data class RelayInfo(
|
||||||
|
|||||||
-3
@@ -33,9 +33,6 @@ import kotlinx.coroutines.flow.combine
|
|||||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
import kotlinx.coroutines.flow.update
|
import kotlinx.coroutines.flow.update
|
||||||
import kotlin.collections.component1
|
|
||||||
import kotlin.collections.component2
|
|
||||||
import kotlin.collections.set
|
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
class PollResponsesCache : UserDependencies {
|
class PollResponsesCache : UserDependencies {
|
||||||
|
|||||||
-1
@@ -25,7 +25,6 @@ import com.vitorpamplona.quartz.nip01Core.core.Event
|
|||||||
import com.vitorpamplona.quartz.nip01Core.relay.filters.Filter
|
import com.vitorpamplona.quartz.nip01Core.relay.filters.Filter
|
||||||
import java.util.SortedSet
|
import java.util.SortedSet
|
||||||
import java.util.concurrent.ConcurrentSkipListSet
|
import java.util.concurrent.ConcurrentSkipListSet
|
||||||
import kotlin.collections.mapNotNull
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a list of events (regular and addressable)
|
* Creates a list of events (regular and addressable)
|
||||||
|
|||||||
-1
@@ -25,7 +25,6 @@ import com.vitorpamplona.quartz.nip01Core.core.Event
|
|||||||
import com.vitorpamplona.quartz.nip01Core.relay.filters.Filter
|
import com.vitorpamplona.quartz.nip01Core.relay.filters.Filter
|
||||||
import java.util.SortedSet
|
import java.util.SortedSet
|
||||||
import java.util.concurrent.ConcurrentSkipListSet
|
import java.util.concurrent.ConcurrentSkipListSet
|
||||||
import kotlin.collections.toList
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a list of notes (regular and addressable)
|
* Creates a list of notes (regular and addressable)
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ 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.layout.size
|
|
||||||
import androidx.compose.foundation.layout.width
|
import androidx.compose.foundation.layout.width
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.lazy.LazyListState
|
import androidx.compose.foundation.lazy.LazyListState
|
||||||
@@ -62,7 +61,6 @@ import androidx.compose.runtime.rememberCoroutineScope
|
|||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.min
|
import androidx.compose.ui.unit.min
|
||||||
|
|||||||
-1
@@ -42,7 +42,6 @@ import androidx.compose.runtime.setValue
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.focus.FocusRequester
|
import androidx.compose.ui.focus.FocusRequester
|
||||||
import androidx.compose.ui.focus.focusRequester
|
|
||||||
import androidx.compose.ui.input.key.Key
|
import androidx.compose.ui.input.key.Key
|
||||||
import androidx.compose.ui.input.key.KeyEventType
|
import androidx.compose.ui.input.key.KeyEventType
|
||||||
import androidx.compose.ui.input.key.isCtrlPressed
|
import androidx.compose.ui.input.key.isCtrlPressed
|
||||||
|
|||||||
-2
@@ -26,7 +26,6 @@ import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
|||||||
import com.vitorpamplona.quartz.nip01Core.core.JsonMapper
|
import com.vitorpamplona.quartz.nip01Core.core.JsonMapper
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.TagArrayBuilder
|
import com.vitorpamplona.quartz.nip01Core.core.TagArrayBuilder
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.builder
|
import com.vitorpamplona.quartz.nip01Core.core.builder
|
||||||
import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent.Companion.updateOrDeleteTagNames
|
|
||||||
import com.vitorpamplona.quartz.nip01Core.metadata.tags.AboutTag
|
import com.vitorpamplona.quartz.nip01Core.metadata.tags.AboutTag
|
||||||
import com.vitorpamplona.quartz.nip01Core.metadata.tags.BannerTag
|
import com.vitorpamplona.quartz.nip01Core.metadata.tags.BannerTag
|
||||||
import com.vitorpamplona.quartz.nip01Core.metadata.tags.DisplayNameTag
|
import com.vitorpamplona.quartz.nip01Core.metadata.tags.DisplayNameTag
|
||||||
@@ -54,7 +53,6 @@ import com.vitorpamplona.quartz.utils.text
|
|||||||
import kotlinx.coroutines.CancellationException
|
import kotlinx.coroutines.CancellationException
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
import kotlinx.serialization.json.JsonElement
|
import kotlinx.serialization.json.JsonElement
|
||||||
import kotlinx.serialization.json.JsonNull.content
|
|
||||||
import kotlinx.serialization.json.JsonObject
|
import kotlinx.serialization.json.JsonObject
|
||||||
import kotlinx.serialization.json.JsonPrimitive
|
import kotlinx.serialization.json.JsonPrimitive
|
||||||
|
|
||||||
|
|||||||
-1
@@ -35,7 +35,6 @@ import com.vitorpamplona.quartz.nip01Core.tags.people.isTaggedUser
|
|||||||
import com.vitorpamplona.quartz.nip02FollowList.tags.ContactTag
|
import com.vitorpamplona.quartz.nip02FollowList.tags.ContactTag
|
||||||
import com.vitorpamplona.quartz.nip31Alts.AltTag
|
import com.vitorpamplona.quartz.nip31Alts.AltTag
|
||||||
import com.vitorpamplona.quartz.utils.TimeUtils
|
import com.vitorpamplona.quartz.utils.TimeUtils
|
||||||
import kotlinx.serialization.json.JsonNull.content
|
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
class ContactListEvent(
|
class ContactListEvent(
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ import com.vitorpamplona.quartz.nip01Core.signers.EventTemplate
|
|||||||
import com.vitorpamplona.quartz.nip01Core.signers.eventTemplate
|
import com.vitorpamplona.quartz.nip01Core.signers.eventTemplate
|
||||||
import com.vitorpamplona.quartz.utils.TimeUtils
|
import com.vitorpamplona.quartz.utils.TimeUtils
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
import kotlinx.serialization.encodeToString
|
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -22,14 +22,10 @@ package com.vitorpamplona.quartz.nip88Polls.poll
|
|||||||
|
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.TagArray
|
import com.vitorpamplona.quartz.nip01Core.core.TagArray
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.tags.EndsAtTag
|
import com.vitorpamplona.quartz.nip88Polls.poll.tags.EndsAtTag
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.tags.EndsAtTag.Companion.parse
|
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.tags.OptionTag
|
import com.vitorpamplona.quartz.nip88Polls.poll.tags.OptionTag
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.tags.OptionTag.Companion.parse
|
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.tags.PollType
|
import com.vitorpamplona.quartz.nip88Polls.poll.tags.PollType
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.tags.PollTypeTag
|
import com.vitorpamplona.quartz.nip88Polls.poll.tags.PollTypeTag
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.tags.PollTypeTag.Companion.parse
|
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.tags.RelayTag
|
import com.vitorpamplona.quartz.nip88Polls.poll.tags.RelayTag
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.tags.RelayTag.Companion.parse
|
|
||||||
import com.vitorpamplona.quartz.utils.TimeUtils
|
import com.vitorpamplona.quartz.utils.TimeUtils
|
||||||
|
|
||||||
fun TagArray.options() = mapNotNull(OptionTag::parse)
|
fun TagArray.options() = mapNotNull(OptionTag::parse)
|
||||||
|
|||||||
-5
@@ -28,15 +28,10 @@ import com.vitorpamplona.quartz.nip01Core.hints.EventHintBundle
|
|||||||
import com.vitorpamplona.quartz.nip01Core.hints.EventHintProvider
|
import com.vitorpamplona.quartz.nip01Core.hints.EventHintProvider
|
||||||
import com.vitorpamplona.quartz.nip01Core.hints.PubKeyHintProvider
|
import com.vitorpamplona.quartz.nip01Core.hints.PubKeyHintProvider
|
||||||
import com.vitorpamplona.quartz.nip01Core.signers.eventTemplate
|
import com.vitorpamplona.quartz.nip01Core.signers.eventTemplate
|
||||||
import com.vitorpamplona.quartz.nip01Core.tags.events.ETag.Companion.parseAsHint
|
|
||||||
import com.vitorpamplona.quartz.nip01Core.tags.events.ETag.Companion.parseId
|
|
||||||
import com.vitorpamplona.quartz.nip01Core.tags.people.PTag
|
import com.vitorpamplona.quartz.nip01Core.tags.people.PTag
|
||||||
import com.vitorpamplona.quartz.nip01Core.tags.people.PTag.Companion.parseAsHint
|
|
||||||
import com.vitorpamplona.quartz.nip01Core.tags.people.PTag.Companion.parseKey
|
|
||||||
import com.vitorpamplona.quartz.nip22Comments.RootScope
|
import com.vitorpamplona.quartz.nip22Comments.RootScope
|
||||||
import com.vitorpamplona.quartz.nip31Alts.alt
|
import com.vitorpamplona.quartz.nip31Alts.alt
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.PollEvent
|
import com.vitorpamplona.quartz.nip88Polls.poll.PollEvent
|
||||||
import com.vitorpamplona.quartz.nip88Polls.response.responses
|
|
||||||
import com.vitorpamplona.quartz.nip88Polls.response.tags.PollTag
|
import com.vitorpamplona.quartz.nip88Polls.response.tags.PollTag
|
||||||
import com.vitorpamplona.quartz.utils.TimeUtils
|
import com.vitorpamplona.quartz.utils.TimeUtils
|
||||||
|
|
||||||
|
|||||||
-6
@@ -21,14 +21,8 @@
|
|||||||
package com.vitorpamplona.quartz.nip88Polls.response
|
package com.vitorpamplona.quartz.nip88Polls.response
|
||||||
|
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.TagArray
|
import com.vitorpamplona.quartz.nip01Core.core.TagArray
|
||||||
import com.vitorpamplona.quartz.nip01Core.tags.events.ETag.Companion.parse
|
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.tags.EndsAtTag.Companion.parse
|
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.tags.OptionTag.Companion.parse
|
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.tags.PollTypeTag.Companion.parse
|
|
||||||
import com.vitorpamplona.quartz.nip88Polls.poll.tags.RelayTag.Companion.parse
|
|
||||||
import com.vitorpamplona.quartz.nip88Polls.response.tags.PollTag
|
import com.vitorpamplona.quartz.nip88Polls.response.tags.PollTag
|
||||||
import com.vitorpamplona.quartz.nip88Polls.response.tags.ResponseTag
|
import com.vitorpamplona.quartz.nip88Polls.response.tags.ResponseTag
|
||||||
import com.vitorpamplona.quartz.nip88Polls.response.tags.ResponseTag.Companion.parse
|
|
||||||
|
|
||||||
fun TagArray.responses() = mapNotNull(ResponseTag::parse)
|
fun TagArray.responses() = mapNotNull(ResponseTag::parse)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user