chore: unify url constants

This commit is contained in:
infi 2026-05-21 15:41:58 +02:00
parent 4ede85eafb
commit ebf279cf25
39 changed files with 56 additions and 68 deletions

View File

@ -47,7 +47,6 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import androidx.lifecycle.viewmodel.compose.viewModel
import chat.stoat.R
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatAPI
import chat.stoat.api.StoatAPIError
import chat.stoat.api.routes.invites.fetchInviteByCode
@ -57,6 +56,7 @@ import chat.stoat.api.settings.SyncedSettings
import chat.stoat.callbacks.ActionChannel
import chat.stoat.composables.generic.IconPlaceholder
import chat.stoat.composables.generic.RemoteImage
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.core.model.schemas.Invite
import chat.stoat.core.model.schemas.InviteJoined
import chat.stoat.core.model.util.RsResult

View File

@ -41,11 +41,11 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.core.view.WindowCompat
import chat.stoat.R
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatHttp
import chat.stoat.core.model.schemas.AutumnResource
import chat.stoat.api.settings.LoadedSettings
import chat.stoat.api.settings.SyncedSettings
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.providers.getAttachmentContentUri
import chat.stoat.ui.theme.StoatTheme
import io.ktor.client.request.get

View File

@ -19,8 +19,8 @@ import androidx.lifecycle.lifecycleScope
import androidx.media3.common.MediaItem
import androidx.media3.exoplayer.ExoPlayer
import chat.stoat.R
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatHttp
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.core.model.schemas.AutumnResource
import chat.stoat.databinding.ActivityVideoplayerBinding
import chat.stoat.providers.getAttachmentContentUri

View File

@ -12,6 +12,7 @@ import chat.stoat.api.realtime.DisconnectionState
import chat.stoat.api.realtime.RealtimeSocket
import chat.stoat.api.routes.user.fetchSelf
import chat.stoat.api.unreads.Unreads
import chat.stoat.core.model.data.STOAT_BASE
import chat.stoat.core.model.schemas.AutumnResource
import chat.stoat.core.model.schemas.ChannelType
import chat.stoat.core.model.schemas.Emoji
@ -54,21 +55,6 @@ import kotlinx.serialization.json.Json
import java.net.SocketException
import chat.stoat.core.model.schemas.Channel as ChannelSchema
private const val USE_ALPHA_API = false
val STOAT_BASE =
if (USE_ALPHA_API) "https://alpha.revolt.chat/api" else "https://api.stoat.chat/0.8"
const val STOAT_SUPPORT = "https://support.stoat.chat"
const val STOAT_MARKETING = "https://stoat.chat"
val STOAT_FILES =
if (USE_ALPHA_API) "https://alpha.revolt.chat/autumn" else "https://cdn.stoatusercontent.com"
val STOAT_PROXY =
if (USE_ALPHA_API) "https://alpha.revolt.chat/january" else "https://proxy.stoatusercontent.com"
const val STOAT_WEB_APP = "https://stoat.chat"
const val STOAT_INVITES = "https://stt.gg"
val STOAT_WEBSOCKET =
if (USE_ALPHA_API) "wss://alpha.revolt.chat/ws" else "wss://events.stoat.chat"
fun String.api(): String {
return "$STOAT_BASE$this"
}

View File

@ -1,7 +1,7 @@
package chat.stoat.api.internals
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.api
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.core.model.schemas.User
object ResourceLocations {

View File

@ -1,8 +1,8 @@
package chat.stoat.api.internals
import androidx.core.net.toUri
import chat.stoat.api.STOAT_MARKETING
import chat.stoat.api.StoatCbor
import chat.stoat.core.model.data.STOAT_MARKETING
import chat.stoat.core.model.schemas.User
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.Serializable
@ -26,7 +26,7 @@ object UserQR {
StoatCbor.encodeToByteArray(
UserQRContents.serializer(),
UserQRContents(
format = "rqr\$user\$0",
format = $$"rqr$user$0",
avatar = user.avatar?.id
?: "01JDZRBY95P8AY4CFVX16FFVWS", // Sentinel value for missing avatar
displayName = user.displayName

View File

@ -3,7 +3,6 @@ package chat.stoat.api.realtime
import android.util.Log
import androidx.compose.runtime.mutableStateOf
import chat.stoat.StoatApplication
import chat.stoat.api.STOAT_WEBSOCKET
import chat.stoat.api.StoatAPI
import chat.stoat.api.StoatHttp
import chat.stoat.api.StoatJson
@ -41,13 +40,14 @@ import chat.stoat.api.realtime.frames.sendable.BeginTypingFrame
import chat.stoat.api.realtime.frames.sendable.EndTypingFrame
import chat.stoat.api.realtime.frames.sendable.PingFrame
import chat.stoat.api.routes.server.fetchMember
import chat.stoat.core.model.schemas.Channel
import chat.stoat.core.model.schemas.ChannelType
import chat.stoat.core.model.util.ChannelVoiceState
import chat.stoat.core.model.schemas.Role
import chat.stoat.api.settings.LoadedSettings
import chat.stoat.api.settings.SyncedSettings
import chat.stoat.c2dm.ChannelRegistrator
import chat.stoat.core.model.data.STOAT_WEBSOCKET
import chat.stoat.core.model.schemas.Channel
import chat.stoat.core.model.schemas.ChannelType
import chat.stoat.core.model.schemas.Role
import chat.stoat.core.model.util.ChannelVoiceState
import chat.stoat.persistence.Database
import chat.stoat.persistence.SqlStorage
import io.ktor.client.plugins.websocket.ws

View File

@ -1,10 +1,10 @@
package chat.stoat.api.routes.microservices.autumn
import chat.stoat.api.HitRateLimitException
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatAPI
import chat.stoat.api.StoatHttp
import chat.stoat.api.StoatJson
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.core.model.schemas.AutumnError
import chat.stoat.core.model.schemas.AutumnId
import io.ktor.client.plugins.onUpload

View File

@ -1,6 +1,6 @@
package chat.stoat.api.routes.microservices.january
import chat.stoat.api.STOAT_PROXY
import chat.stoat.core.model.data.STOAT_PROXY
import java.net.URLEncoder
fun asJanuaryProxyUrl(url: String): String {

View File

@ -17,13 +17,13 @@ import androidx.core.graphics.drawable.IconCompat
import chat.stoat.BuildConfig
import chat.stoat.R
import chat.stoat.activities.MainActivity
import chat.stoat.api.STOAT_BASE
import chat.stoat.api.StoatJson
import chat.stoat.api.internals.ULID
import chat.stoat.api.routes.push.subscribePush
import chat.stoat.c2dm.ChannelRegistrator.Companion.CHANNEL_ID_GROUP_CONVERSATIONS_MESSAGES
import chat.stoat.core.model.data.STOAT_BASE
import chat.stoat.core.model.schemas.Message
import chat.stoat.core.model.schemas.User
import chat.stoat.c2dm.ChannelRegistrator.Companion.CHANNEL_ID_GROUP_CONVERSATIONS_MESSAGES
import chat.stoat.persistence.Database
import chat.stoat.persistence.SqlStorage
import com.bumptech.glide.Glide

View File

@ -8,7 +8,6 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.text.style.TextOverflow
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.internals.BrushCompat
import chat.stoat.api.internals.Roles
import chat.stoat.api.internals.solidColor
@ -16,6 +15,7 @@ import chat.stoat.core.model.schemas.Member
import chat.stoat.core.model.schemas.User
import chat.stoat.composables.generic.UserAvatar
import chat.stoat.composables.generic.presenceFromStatus
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.internals.extensions.TransparentListItemColours
@Composable

View File

@ -62,7 +62,6 @@ import androidx.compose.ui.unit.sp
import chat.stoat.R
import chat.stoat.activities.media.ImageViewActivity
import chat.stoat.activities.media.VideoViewActivity
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatAPI
import chat.stoat.api.internals.BrushCompat
import chat.stoat.api.internals.MessageFlag
@ -86,6 +85,7 @@ import chat.stoat.composables.generic.UserAvatar
import chat.stoat.composables.generic.UserAvatarWidthPlaceholder
import chat.stoat.composables.markdown.LocalMarkdownTreeConfig
import chat.stoat.composables.markdown.RichMarkdown
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.internals.text.Gigamoji
import chat.stoat.internals.text.MessageProcessor
import chat.stoat.markdown.jbm.JBM

View File

@ -33,9 +33,9 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import chat.stoat.R
import chat.stoat.api.STOAT_FILES
import chat.stoat.composables.generic.RemoteImage
import chat.stoat.composables.media.AudioPlayer
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.core.model.schemas.AutumnResource
import dev.chrisbanes.haze.hazeEffect
import dev.chrisbanes.haze.hazeSource

View File

@ -82,13 +82,13 @@ import androidx.compose.ui.unit.dp
import chat.stoat.R
import chat.stoat.activities.StoatTweenFloat
import chat.stoat.activities.StoatTweenInt
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.internals.BrushCompat
import chat.stoat.core.model.schemas.ChannelType
import chat.stoat.core.model.schemas.Member
import chat.stoat.composables.generic.RemoteImage
import chat.stoat.composables.generic.UserAvatar
import chat.stoat.composables.screens.chat.ChannelIcon
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.internals.Autocomplete
import kotlinx.coroutines.launch

View File

@ -28,10 +28,10 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatAPI
import chat.stoat.api.internals.isUlid
import chat.stoat.composables.generic.RemoteImage
import chat.stoat.core.model.data.STOAT_FILES
@OptIn(ExperimentalFoundationApi::class)
@Composable

View File

@ -62,11 +62,11 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import chat.stoat.R
import chat.stoat.activities.StoatTweenFloat
import chat.stoat.api.STOAT_FILES
import chat.stoat.callbacks.Action
import chat.stoat.callbacks.ActionChannel
import chat.stoat.composables.generic.IconPlaceholder
import chat.stoat.composables.generic.RemoteImage
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.internals.Category
import chat.stoat.internals.EmojiImpl
import chat.stoat.internals.EmojiPickerItem

View File

@ -23,10 +23,10 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import chat.stoat.R
import chat.stoat.api.STOAT_BASE
import chat.stoat.api.STOAT_FILES
import chat.stoat.core.model.schemas.AutumnResource
import chat.stoat.api.settings.LoadedSettings
import chat.stoat.core.model.data.STOAT_BASE
import chat.stoat.core.model.data.STOAT_FILES
enum class Presence {
Online,

View File

@ -35,7 +35,6 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.core.net.toUri
import chat.stoat.R
import chat.stoat.activities.InviteActivity
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatAPI
import chat.stoat.api.routes.custom.fetchEmoji
import chat.stoat.core.model.schemas.isInviteUri
@ -43,6 +42,7 @@ import chat.stoat.callbacks.Action
import chat.stoat.callbacks.ActionChannel
import chat.stoat.composables.generic.RemoteImage
import chat.stoat.composables.utils.detectTapGesturesConditionalConsume
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.internals.resolveTimestamp
import chat.stoat.ndk.AstNode
import chat.stoat.ui.theme.FragmentMono

View File

@ -26,13 +26,13 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import chat.stoat.api.STOAT_FILES
import chat.stoat.core.model.schemas.AutumnResource
import chat.stoat.core.model.schemas.ChannelType
import chat.stoat.core.model.schemas.User
import chat.stoat.composables.generic.RemoteImage
import chat.stoat.composables.generic.UserAvatar
import chat.stoat.composables.markdown.MarkdownTree
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.ndk.AstNode
import chat.stoat.ndk.Stendal

View File

@ -24,10 +24,10 @@ import androidx.compose.ui.unit.sp
import chat.stoat.R
import chat.stoat.activities.StoatTweenFloat
import chat.stoat.activities.StoatTweenInt
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatAPI
import chat.stoat.core.model.schemas.User
import chat.stoat.composables.generic.UserAvatar
import chat.stoat.core.model.data.STOAT_FILES
@Composable
fun StackedUserAvatars(

View File

@ -75,7 +75,6 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.navigation.NavController
import chat.stoat.R
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatAPI
import chat.stoat.api.internals.CategorisedChannelList
import chat.stoat.api.internals.ChannelUtils
@ -90,6 +89,7 @@ import chat.stoat.composables.generic.RemoteImage
import chat.stoat.composables.generic.UserAvatar
import chat.stoat.composables.generic.presenceFromStatus
import chat.stoat.composables.screens.chat.ChannelIcon
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.core.model.schemas.Category
import chat.stoat.core.model.schemas.Channel
import chat.stoat.core.model.schemas.ChannelType

View File

@ -23,11 +23,11 @@ import androidx.compose.ui.draw.alpha
import androidx.compose.ui.unit.dp
import androidx.compose.ui.viewinterop.AndroidView
import chat.stoat.activities.InviteActivity
import chat.stoat.api.STOAT_INVITES
import chat.stoat.api.STOAT_WEB_APP
import chat.stoat.api.StoatJson
import chat.stoat.api.buildUserAgent
import chat.stoat.api.internals.ThemeCompat
import chat.stoat.core.model.data.STOAT_INVITES
import chat.stoat.core.model.data.STOAT_WEB_APP
import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.JsonPrimitive

View File

@ -27,9 +27,9 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import chat.stoat.R
import chat.stoat.api.STOAT_FILES
import chat.stoat.composables.generic.IconPlaceholder
import chat.stoat.composables.generic.RemoteImage
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.core.model.schemas.Server
import chat.stoat.core.model.schemas.ServerFlags
import chat.stoat.core.model.schemas.has

View File

@ -31,7 +31,6 @@ import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import chat.stoat.R
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatAPI
import chat.stoat.api.internals.SpecialUsers
import chat.stoat.api.internals.ULID
@ -40,6 +39,7 @@ import chat.stoat.api.routes.user.fetchUserProfile
import chat.stoat.composables.generic.RemoteImage
import chat.stoat.composables.generic.UserAvatar
import chat.stoat.composables.generic.presenceFromStatus
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.core.model.schemas.AutumnResource
import chat.stoat.core.model.schemas.Profile
import chat.stoat.core.model.schemas.User

View File

@ -20,10 +20,10 @@ import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.viewinterop.AndroidView
import androidx.webkit.WebViewAssetLoader
import chat.stoat.activities.InviteActivity
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.STOAT_WEB_APP
import chat.stoat.api.StoatAPI
import chat.stoat.api.internals.ResourceLocations
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.core.model.data.STOAT_WEB_APP
import chat.stoat.core.model.schemas.isInviteUri
@SuppressLint("SetJavaScriptEnabled")

View File

@ -72,7 +72,6 @@ import androidx.compose.ui.unit.sp
import androidx.core.net.toUri
import chat.stoat.R
import chat.stoat.activities.InviteActivity
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatAPI
import chat.stoat.api.internals.BrushCompat
import chat.stoat.api.internals.InstancedBrushCompat
@ -86,6 +85,7 @@ import chat.stoat.composables.generic.RemoteImage
import chat.stoat.composables.generic.UserAvatar
import chat.stoat.composables.markdown.Annotations
import chat.stoat.composables.utils.detectTapGesturesConditionalConsume
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.ui.theme.FragmentMono
import chat.stoat.ui.theme.isThemeDark
import dev.snipme.highlights.Highlights

View File

@ -20,7 +20,7 @@ import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.viewinterop.AndroidView
import androidx.webkit.WebViewAssetLoader
import chat.stoat.activities.InviteActivity
import chat.stoat.api.STOAT_WEB_APP
import chat.stoat.core.model.data.STOAT_WEB_APP
import chat.stoat.core.model.schemas.isInviteUri
internal fun Color.asHexString(includeAlphaComponent: Boolean = true): String {

View File

@ -53,11 +53,11 @@ import androidx.lifecycle.viewmodel.compose.viewModel
import androidx.navigation.NavController
import chat.stoat.BuildConfig
import chat.stoat.R
import chat.stoat.api.STOAT_BASE
import chat.stoat.api.StoatJson
import chat.stoat.api.routes.misc.Root
import chat.stoat.api.routes.misc.getRootRoute
import chat.stoat.composables.generic.PrimaryTabs
import chat.stoat.core.model.data.STOAT_BASE
import chat.stoat.internals.Platform
import kotlinx.coroutines.launch
import java.net.URI

View File

@ -42,9 +42,9 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import chat.stoat.R
import chat.stoat.api.STOAT_INVITES
import chat.stoat.api.StoatAPI
import chat.stoat.api.routes.channel.createInvite
import chat.stoat.core.model.data.STOAT_INVITES
import chat.stoat.internals.Platform
import chat.stoat.ui.theme.FragmentMono
import kotlinx.coroutines.Job

View File

@ -44,9 +44,9 @@ import androidx.compose.ui.unit.sp
import androidx.navigation.NavController
import chat.stoat.BuildConfig
import chat.stoat.R
import chat.stoat.api.STOAT_MARKETING
import chat.stoat.composables.generic.AnyLink
import chat.stoat.composables.generic.Weblink
import chat.stoat.core.model.data.STOAT_MARKETING
import com.chuckerteam.chucker.api.Chucker
@OptIn(ExperimentalFoundationApi::class)

View File

@ -48,13 +48,13 @@ import androidx.lifecycle.viewModelScope
import androidx.navigation.NavController
import chat.stoat.R
import chat.stoat.StoatApplication
import chat.stoat.api.STOAT_WEB_APP
import chat.stoat.api.StoatAPI
import chat.stoat.api.routes.account.EmailPasswordAssessment
import chat.stoat.api.routes.account.negotiateAuthentication
import chat.stoat.api.routes.onboard.needsOnboarding
import chat.stoat.composables.generic.FormTextField
import chat.stoat.composables.generic.Weblink
import chat.stoat.core.model.data.STOAT_WEB_APP
import chat.stoat.persistence.KVStorage
import chat.stoat.ui.theme.FragmentMono
import kotlinx.coroutines.launch

View File

@ -33,10 +33,10 @@ import androidx.compose.ui.unit.sp
import androidx.navigation.NavController
import chat.stoat.BuildConfig
import chat.stoat.R
import chat.stoat.api.STOAT_MARKETING
import chat.stoat.api.settings.LoadedSettings
import chat.stoat.composables.generic.AnyLink
import chat.stoat.composables.generic.Weblink
import chat.stoat.core.model.data.STOAT_MARKETING
import chat.stoat.ui.theme.Theme
import com.chuckerteam.chucker.api.Chucker

View File

@ -46,13 +46,13 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import androidx.navigation.NavController
import chat.stoat.R
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatAPI
import chat.stoat.api.routes.microservices.autumn.uploadToAutumn
import chat.stoat.api.routes.user.fetchUserProfile
import chat.stoat.api.routes.user.patchSelf
import chat.stoat.composables.generic.InlineMediaPicker
import chat.stoat.composables.screens.settings.RawUserOverview
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.core.model.schemas.Profile
import io.ktor.http.ContentType
import kotlinx.coroutines.launch

View File

@ -52,12 +52,12 @@ import androidx.lifecycle.viewModelScope
import androidx.navigation.NavController
import chat.stoat.R
import chat.stoat.activities.StoatTweenFloat
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatAPI
import chat.stoat.api.routes.channel.patchChannel
import chat.stoat.api.routes.microservices.autumn.uploadToAutumn
import chat.stoat.composables.generic.InlineMediaPicker
import chat.stoat.composables.generic.ListHeader
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.core.model.schemas.Channel
import io.ktor.http.ContentType
import kotlinx.coroutines.launch

View File

@ -54,7 +54,6 @@ import androidx.compose.ui.unit.dp
import androidx.core.net.toUri
import chat.stoat.R
import chat.stoat.activities.InviteActivity
import chat.stoat.api.STOAT_WEB_APP
import chat.stoat.api.routes.server.createServer
import chat.stoat.callbacks.Action
import chat.stoat.callbacks.ActionChannel
@ -62,6 +61,7 @@ import chat.stoat.composables.sheets.SheetSelection
import chat.stoat.composables.vectorassets.CreateServer
import chat.stoat.composables.vectorassets.JoinServer
import chat.stoat.composables.vectorassets.NewServer
import chat.stoat.core.model.data.STOAT_WEB_APP
import chat.stoat.material.EasingTokens
import chat.stoat.screens.chat.ChatRouterDestination
import chat.stoat.ui.theme.FragmentMono

View File

@ -31,13 +31,13 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import chat.stoat.R
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatAPI
import chat.stoat.api.routes.custom.fetchEmoji
import chat.stoat.core.model.schemas.Emoji
import chat.stoat.core.model.schemas.Server
import chat.stoat.composables.generic.RemoteImage
import chat.stoat.composables.generic.SheetButton
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.internals.Platform
import kotlinx.coroutines.launch

View File

@ -29,13 +29,13 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalResources
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.unit.dp
import chat.stoat.BuildConfig
import chat.stoat.R
import chat.stoat.api.STOAT_WEB_APP
import chat.stoat.api.StoatAPI
import chat.stoat.api.internals.PermissionBit
import chat.stoat.api.internals.Roles
@ -46,6 +46,7 @@ import chat.stoat.api.settings.Experiments
import chat.stoat.callbacks.UiCallbacks
import chat.stoat.composables.chat.Message
import chat.stoat.composables.generic.SheetButton
import chat.stoat.core.model.data.STOAT_WEB_APP
import chat.stoat.internals.Platform
import kotlinx.coroutines.launch
@ -69,6 +70,7 @@ fun MessageContextSheet(
}
val context = LocalContext.current
val resources = LocalResources.current
val clipboardManager = LocalClipboardManager.current
val coroutineScope = rememberCoroutineScope()
@ -111,7 +113,7 @@ fun MessageContextSheet(
onHideSheet()
Toast.makeText(
context,
context.getString(
resources.getString(
R.string.message_context_sheet_actions_copy_failed_empty
),
Toast.LENGTH_SHORT
@ -123,7 +125,7 @@ fun MessageContextSheet(
if (Platform.needsShowClipboardNotification()) {
Toast.makeText(
context,
context.getString(R.string.copied),
resources.getString(R.string.copied),
Toast.LENGTH_SHORT
).show()
}
@ -156,7 +158,7 @@ fun MessageContextSheet(
if (message.content.isNullOrEmpty()) {
Toast.makeText(
context,
context.getString(
resources.getString(
R.string.message_context_sheet_actions_copy_failed_empty
),
Toast.LENGTH_SHORT
@ -182,7 +184,7 @@ fun MessageContextSheet(
if (Platform.needsShowClipboardNotification()) {
Toast.makeText(
context,
context.getString(
resources.getString(
R.string.message_context_sheet_actions_copy_link_copied
),
Toast.LENGTH_SHORT
@ -220,7 +222,7 @@ fun MessageContextSheet(
if (Platform.needsShowClipboardNotification()) {
Toast.makeText(
context,
context.getString(
resources.getString(
R.string.message_context_sheet_actions_copy_id_copied
),
Toast.LENGTH_SHORT
@ -412,7 +414,7 @@ fun MessageContextSheet(
onClick = {
Toast.makeText(
context,
context.getString(R.string.comingsoon_toast),
resources.getString(R.string.comingsoon_toast),
Toast.LENGTH_SHORT
).show()

View File

@ -44,7 +44,6 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import chat.stoat.R
import chat.stoat.api.STOAT_FILES
import chat.stoat.api.StoatAPI
import chat.stoat.api.internals.isUlid
import chat.stoat.api.routes.custom.fetchEmoji
@ -52,6 +51,7 @@ import chat.stoat.api.routes.user.fetchUser
import chat.stoat.api.settings.LoadedSettings
import chat.stoat.composables.chat.MemberListItem
import chat.stoat.composables.generic.RemoteImage
import chat.stoat.core.model.data.STOAT_FILES
import chat.stoat.core.model.schemas.Emoji
import chat.stoat.core.model.schemas.User
import chat.stoat.internals.text.MessageProcessor

View File

@ -41,13 +41,13 @@ import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.unit.dp
import androidx.core.net.toUri
import chat.stoat.R
import chat.stoat.api.STOAT_WEB_APP
import chat.stoat.api.StoatAPI
import chat.stoat.api.routes.server.leaveOrDeleteServer
import chat.stoat.composables.generic.SheetButton
import chat.stoat.composables.markdown.RichMarkdown
import chat.stoat.composables.screens.settings.ServerOverview
import chat.stoat.composables.sheets.SheetSelection
import chat.stoat.core.model.data.STOAT_WEB_APP
import chat.stoat.internals.Platform
import kotlinx.coroutines.launch