diff --git a/.github/workflows/triage_issue.yml b/.github/workflows/triage_issue.yml index ecc69f59..6784f429 100644 --- a/.github/workflows/triage_issue.yml +++ b/.github/workflows/triage_issue.yml @@ -14,7 +14,7 @@ jobs: run: | gh api graphql -f query=' query { - organization(login: "revoltchat"){ + organization(login: "peptidechat"){ projectV2(number: 3) { id fields(first:20) { diff --git a/.github/workflows/triage_pr.yml b/.github/workflows/triage_pr.yml index 3010d2e5..f8e94087 100644 --- a/.github/workflows/triage_pr.yml +++ b/.github/workflows/triage_pr.yml @@ -14,7 +14,7 @@ jobs: run: | gh api graphql -f query=' query { - organization(login: "revoltchat"){ + organization(login: "peptidechat"){ projectV2(number: 5) { id fields(first:20) { diff --git a/.gitignore b/.gitignore index 9b8fcf2f..0d4e89b3 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,7 @@ .externalNativeBuild .cxx local.properties -revoltbuild.properties +peptidebuild.properties sentry.properties /.kotlin/sessions app/src/main/assets/embedded diff --git a/README.md b/README.md index 0f9a792c..b588b09a 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -# Revolt on Android +# Peptide on Android ## Description -This is the official Android app for the [Revolt](https://revolt.chat) chat platform. -The codebase includes the app itself, as well as an internal library for interacting with the Revolt +This is the official Android app for the [Peptide](https://peptide.chat) chat platform. +The codebase includes the app itself, as well as an internal library for interacting with the Peptide API. | Module | Package | Description | @@ -29,18 +29,18 @@ of the art for Android UI development. ## Resources -### Revolt on Android +### Peptide on Android -- [Revolt on Android Technical Documentation](https://revoltchat.github.io/android/) -- [Android-specific Contribution Guide](https://revoltchat.github.io/android/contributing/guidelines/) +- [Peptide on Android Technical Documentation](https://peptidechat.github.io/android/) +- [Android-specific Contribution Guide](https://peptidechat.github.io/android/contributing/guidelines/) —**read carefully before contributing!** -### Revolt +### Peptide -- [Revolt Project Board](https://github.com/revoltchat/revolt/discussions) (Submit feature requests +- [Peptide Project Board](https://github.com/peptidechat/peptide/discussions) (Submit feature requests here) -- [Revolt Testers Server](https://app.revolt.chat/invite/Testers) -- [General Revolt Contribution Guide](https://developers.revolt.chat/contributing) +- [Peptide Testers Server](https://app.peptide.chat/invite/Testers) +- [General Peptide Contribution Guide](https://developers.peptide.chat/contributing) ## Quick Start @@ -48,4 +48,4 @@ Open the project in Android Studio. You can then run the app on an emulator or a running the `app` module. In-depth setup instructions can be found -at [Setting up your Development Environment](https://revoltchat.github.io/android/contributing/setup/) \ No newline at end of file +at [Setting up your Development Environment](https://peptidechat.github.io/android/contributing/setup/) \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b1ea3dbd..c80ea808 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -62,9 +62,9 @@ fun property(fileName: String, propertyName: String, fallbackEnv: String? = null } } -// Calls property but with revoltbuild.properties as the first argument +// Calls property but with peptidebuild.properties as the first argument fun buildproperty(propertyName: String, fallbackEnv: String? = null): String? { - return property("revoltbuild.properties", propertyName, fallbackEnv) + return property("peptidebuild.properties", propertyName, fallbackEnv) } android { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0af67a9b..befd34c8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -34,8 +34,8 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:name=".RevoltApplication" - android:theme="@style/Theme.Revolt" + android:name=".PeptideApplication" + android:theme="@style/Theme.Peptide" android:enableOnBackInvokedCallback="true" tools:targetApi="tiramisu"> + android:theme="@style/Theme.Peptide"> @@ -82,7 +82,7 @@ @@ -118,7 +118,7 @@ @@ -134,12 +134,12 @@ + android:theme="@style/Theme.Peptide" /> + android:theme="@style/Theme.Peptide" /> + android:theme="@style/Theme.Peptide"> diff --git a/app/src/main/assets/README_APP_LINKS.md b/app/src/main/assets/README_APP_LINKS.md index 0cfb5d39..12b3904d 100644 --- a/app/src/main/assets/README_APP_LINKS.md +++ b/app/src/main/assets/README_APP_LINKS.md @@ -1,6 +1,6 @@ # Android App Links Setup Instructions -This document provides instructions for setting up Android App Links for the Revolt app. +This document provides instructions for setting up Android App Links for the Peptide app. ## What are Android App Links? @@ -45,8 +45,8 @@ Open the `assetlinks.json` file in this directory and replace the placeholder wi Upload the `assetlinks.json` file to the following location on your server: ``` -https://revolt.chat/.well-known/assetlinks.json -https://app.revolt.chat/.well-known/assetlinks.json +https://peptide.chat/.well-known/assetlinks.json +https://app.peptide.chat/.well-known/assetlinks.json ``` Make sure the file is accessible via HTTPS and returns with Content-Type: application/json. @@ -56,7 +56,7 @@ Make sure the file is accessible via HTTPS and returns with Content-Type: applic Use the Android Debug Bridge (ADB) to test your App Links: ```bash -adb shell am start -a android.intent.action.VIEW -d "https://revolt.chat/channels/CHANNEL_ID" chat.peptide +adb shell am start -a android.intent.action.VIEW -d "https://peptide.chat/channels/CHANNEL_ID" chat.peptide ``` ## Troubleshooting diff --git a/app/src/main/cpp/CMakeLists.txt b/app/src/main/cpp/CMakeLists.txt index 97ae2e8f..ce7053df 100644 --- a/app/src/main/cpp/CMakeLists.txt +++ b/app/src/main/cpp/CMakeLists.txt @@ -10,7 +10,7 @@ cmake_minimum_required(VERSION 3.22.1) # Since this is the top level CMakeLists.txt, the project name is also accessible # with ${CMAKE_PROJECT_NAME} (both CMake variables are in-sync within the top level # build script scope). -project("revolt") +project("peptide") # Compile cmark in external/cmark add_subdirectory(external/cmark) diff --git a/app/src/main/java/chat/peptide/RevoltApplication.kt b/app/src/main/java/chat/peptide/PeptideApplication.kt similarity index 74% rename from app/src/main/java/chat/peptide/RevoltApplication.kt rename to app/src/main/java/chat/peptide/PeptideApplication.kt index 2479e01d..b316c348 100644 --- a/app/src/main/java/chat/peptide/RevoltApplication.kt +++ b/app/src/main/java/chat/peptide/PeptideApplication.kt @@ -1,7 +1,7 @@ package chat.peptide import android.app.Application -import chat.peptide.api.RevoltHttp +import chat.peptide.api.PeptideHttp import chat.peptide.persistence.KVStorage import com.google.android.material.color.DynamicColors import dagger.hilt.android.HiltAndroidApp @@ -9,15 +9,15 @@ import logcat.AndroidLogcatLogger import logcat.LogPriority @HiltAndroidApp -class RevoltApplication : Application() { +class PeptideApplication : Application() { companion object { - lateinit var instance: RevoltApplication + lateinit var instance: PeptideApplication } override fun onCreate() { super.onCreate() AndroidLogcatLogger.installOnDebuggableApp(this, minPriority = LogPriority.VERBOSE) - RevoltHttp // Trigger initialization + PeptideHttp // Trigger initialization } init { @@ -30,6 +30,6 @@ class RevoltApplication : Application() { * Extension function to get KVStorage instance. * @return KVStorage instance */ -fun RevoltApplication.getKVStorage(): KVStorage { +fun PeptideApplication.getKVStorage(): KVStorage { return KVStorage(this) } diff --git a/app/src/main/java/chat/peptide/activities/DeepLinkActivity.kt b/app/src/main/java/chat/peptide/activities/DeepLinkActivity.kt index 22dc239d..c1dc1042 100644 --- a/app/src/main/java/chat/peptide/activities/DeepLinkActivity.kt +++ b/app/src/main/java/chat/peptide/activities/DeepLinkActivity.kt @@ -49,9 +49,9 @@ class DeepLinkActivity : AppCompatActivity() { if (Intent.ACTION_VIEW == appLinkAction && appLinkData != null) { Log.d(TAG, "Deep link received: $appLinkData") - // Check if this is a valid Revolt deep link - if (!DeepLinkUtils.isRevoltDeepLink(appLinkData)) { - Log.d(TAG, "Not a valid Revolt deep link: $appLinkData") + // Check if this is a valid Peptide deep link + if (!DeepLinkUtils.isPeptideDeepLink(appLinkData)) { + Log.d(TAG, "Not a valid Peptide deep link: $appLinkData") startMainActivity() return } diff --git a/app/src/main/java/chat/peptide/activities/InviteActivity.kt b/app/src/main/java/chat/peptide/activities/InviteActivity.kt index 01d3012c..08a220bc 100644 --- a/app/src/main/java/chat/peptide/activities/InviteActivity.kt +++ b/app/src/main/java/chat/peptide/activities/InviteActivity.kt @@ -47,8 +47,8 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.compose.viewModel import chat.peptide.R -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltError +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideError import chat.peptide.api.routes.invites.fetchInviteByCode import chat.peptide.api.routes.invites.joinInviteByCode import chat.peptide.api.schemas.Invite @@ -58,7 +58,7 @@ import chat.peptide.api.settings.LoadedSettings import chat.peptide.api.settings.SyncedSettings import chat.peptide.composables.generic.IconPlaceholder import chat.peptide.composables.generic.RemoteImage -import chat.peptide.ui.theme.RevoltTheme +import chat.peptide.ui.theme.PeptideTheme import com.bumptech.glide.integration.compose.ExperimentalGlideComposeApi import com.bumptech.glide.integration.compose.GlideImage import kotlinx.coroutines.launch @@ -90,19 +90,19 @@ class InviteViewModel : ViewModel() { _loadingFinished = loadingFinished } - private var _inviteResult by mutableStateOf?>(null) - val inviteResult: RsResult? + private var _inviteResult by mutableStateOf?>(null) + val inviteResult: RsResult? get() = _inviteResult - fun setInviteResult(inviteResult: RsResult?) { + fun setInviteResult(inviteResult: RsResult?) { _inviteResult = inviteResult } - private var _joinResult by mutableStateOf?>(null) - val joinResult: RsResult? + private var _joinResult by mutableStateOf?>(null) + val joinResult: RsResult? get() = _joinResult - fun setJoinResult(joinResult: RsResult?) { + fun setJoinResult(joinResult: RsResult?) { _joinResult = joinResult } @@ -144,7 +144,7 @@ fun InviteScreen( val inviteValid = if (viewModel.loadingFinished) (viewModel.inviteResult?.ok ?: false) else null val invite = viewModel.inviteResult?.value - RevoltTheme( + PeptideTheme( requestedTheme = LoadedSettings.theme, colourOverrides = SyncedSettings.android.colourOverrides ) { @@ -180,7 +180,7 @@ fun InviteScreen( contentAlignment = Alignment.Center ) { GlideImage( - model = "${RevoltAPI.getCurrentFilesUrl()}/banners/${invite?.serverBanner?.id}/${invite?.serverBanner?.filename}", + model = "${PeptideAPI.getCurrentFilesUrl()}/banners/${invite?.serverBanner?.id}/${invite?.serverBanner?.filename}", contentScale = ContentScale.Crop, contentDescription = null, modifier = Modifier @@ -205,7 +205,7 @@ fun InviteScreen( ) { if (invite?.serverIcon != null) { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/icons/${invite.serverIcon.id}/${invite.serverIcon.filename}", + url = "${PeptideAPI.getCurrentFilesUrl()}/icons/${invite.serverIcon.id}/${invite.serverIcon.filename}", allowAnimation = false, description = viewModel.inviteResult?.value?.serverName ?: stringResource(id = R.string.unknown), @@ -274,7 +274,7 @@ fun InviteScreen( } @Composable -fun InvalidInviteError(error: RevoltError? = null, onDismissRequest: () -> Unit) { +fun InvalidInviteError(error: PeptideError? = null, onDismissRequest: () -> Unit) { AlertDialog( onDismissRequest = onDismissRequest, icon = { diff --git a/app/src/main/java/chat/peptide/activities/MainActivity.kt b/app/src/main/java/chat/peptide/activities/MainActivity.kt index eeedf7a2..c1a6f6c8 100644 --- a/app/src/main/java/chat/peptide/activities/MainActivity.kt +++ b/app/src/main/java/chat/peptide/activities/MainActivity.kt @@ -75,12 +75,12 @@ import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController import chat.peptide.BuildConfig import chat.peptide.R -import chat.peptide.RevoltApplication +import chat.peptide.PeptideApplication import chat.peptide.api.ApplicationPlatform import chat.peptide.api.HitRateLimitException -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltAPI.setPlatform -import chat.peptide.api.RevoltHttp +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideAPI.setPlatform +import chat.peptide.api.PeptideHttp import chat.peptide.api.UrlsStorageKeys import chat.peptide.api.api import chat.peptide.api.routes.microservices.geo.queryGeo @@ -127,7 +127,7 @@ import chat.peptide.screens.settings.SettingsScreen import chat.peptide.screens.settings.channel.ChannelSettingsHome import chat.peptide.screens.settings.channel.ChannelSettingsOverview import chat.peptide.screens.settings.channel.ChannelSettingsPermissions -import chat.peptide.ui.theme.RevoltTheme +import chat.peptide.ui.theme.PeptideTheme import chat.peptide.utils.DeepLinkHandler import com.google.android.material.color.DynamicColors import dagger.hilt.android.AndroidEntryPoint @@ -167,9 +167,9 @@ class MainActivityViewModel @Inject constructor( } } - private suspend fun canReachRevolt(): Boolean { + private suspend fun canReachPeptide(): Boolean { try { - val res = RevoltHttp.get("/".api()) + val res = PeptideHttp.get("/".api()) return res.status.value == 200 } catch (_: Exception) { return false @@ -199,7 +199,7 @@ class MainActivityViewModel @Inject constructor( /** * Sets the default platform on application creation. - * It retrieves the platform from key-value storage and sets it in the RevoltAPI. + * It retrieves the platform from key-value storage and sets it in the PeptideAPI. * If the platform is not found or invalid, it logs the user out. */ fun setDefaultPlatformOnCreate() { @@ -229,11 +229,11 @@ class MainActivityViewModel @Inject constructor( isConnected.emit(hasInternetConnection()) - Log.d("MainActivity", "Checking if we can reach Revolt") + Log.d("MainActivity", "Checking if we can reach Peptide") if (!isConnected.value) return@launch startWithoutDestination() - Log.d("MainActivity", "We can reach Revolt, checking if we're logged in") + Log.d("MainActivity", "We can reach Peptide, checking if we're logged in") val token = kvStorage.get("sessionToken") ?: return@launch startWithDestination("choose-platform") @@ -241,17 +241,17 @@ class MainActivityViewModel @Inject constructor( Log.d( "MainActivity", - "We have a session token, checking if it's valid and if we can still reach Revolt" + "We have a session token, checking if it's valid and if we can still reach Peptide" ) - val canReachRevolt = canReachRevolt() + val canReachPeptide = canReachPeptide() val valid = try { - RevoltAPI.checkSessionToken(token) + PeptideAPI.checkSessionToken(token) } catch (_: Throwable) { false } - if (canReachRevolt && !valid) { + if (canReachPeptide && !valid) { Log.d("MainActivity", "Session token is invalid, could not log in") couldNotLogIn.emit(true) } else { @@ -278,8 +278,8 @@ class MainActivityViewModel @Inject constructor( try { Log.d("MainActivity", "Onboarding state is complete, logging in") - RevoltAPI.loginAs(token) - RevoltAPI.setSessionId(id) + PeptideAPI.loginAs(token) + PeptideAPI.setSessionId(id) if (Experiments.usePolar.isEnabled) { startWithDestination("main") } else { @@ -354,7 +354,7 @@ class MainActivity : AppCompatActivity() { override fun onResume() { super.onResume() DynamicColors.applyToActivityIfAvailable(this) - DynamicColors.applyToActivitiesIfAvailable(RevoltApplication.instance) + DynamicColors.applyToActivitiesIfAvailable(PeptideApplication.instance) @Suppress("DEPRECATION") // We are fixing a bug in the splash screen window.statusBarColor = Color.Transparent.toArgb() } @@ -363,7 +363,7 @@ class MainActivity : AppCompatActivity() { override fun onConfigurationChanged(newConfig: android.content.res.Configuration) { super.onConfigurationChanged(newConfig) DynamicColors.applyToActivityIfAvailable(this) - DynamicColors.applyToActivitiesIfAvailable(RevoltApplication.instance) + DynamicColors.applyToActivitiesIfAvailable(PeptideApplication.instance) @Suppress("DEPRECATION") // We are fixing a bug in the splash screen window.statusBarColor = Color.Transparent.toArgb() } @@ -384,7 +384,7 @@ class MainActivity : AppCompatActivity() { window.statusBarColor = Color.Transparent.toArgb() WindowCompat.setDecorFitsSystemWindows(window, false) - RevoltAPI.hydrateFromPersistentCache() + PeptideAPI.hydrateFromPersistentCache() // Handle deep link data if available handleDeepLinkData(intent) @@ -520,9 +520,9 @@ class MainActivity : AppCompatActivity() { } } -val RevoltTweenInt: FiniteAnimationSpec = tween(400, easing = EaseInOutExpo) -val RevoltTweenFloat: FiniteAnimationSpec = tween(400, easing = EaseInOutExpo) -val RevoltTweenDp: FiniteAnimationSpec = tween(400, easing = EaseInOutExpo) +val PeptideTweenInt: FiniteAnimationSpec = tween(400, easing = EaseInOutExpo) +val PeptideTweenFloat: FiniteAnimationSpec = tween(400, easing = EaseInOutExpo) +val PeptideTweenDp: FiniteAnimationSpec = tween(400, easing = EaseInOutExpo) val NavTweenInt: FiniteAnimationSpec = tween(350, easing = EaseInOutExpo) val NavTweenFloat: FiniteAnimationSpec = tween(350, easing = EaseInOutExpo) @@ -572,7 +572,7 @@ fun AppEntrypoint( val navController = rememberNavController() - RevoltTheme( + PeptideTheme( requestedTheme = LoadedSettings.theme, colourOverrides = SyncedSettings.android.colourOverrides, ) { @@ -715,7 +715,7 @@ fun AppEntrypoint( easing = EasingTokens.EmphasizedDecelerate ), initialOffset = { it / 3 } - ) + fadeIn(animationSpec = RevoltTweenFloat) + ) + fadeIn(animationSpec = PeptideTweenFloat) } ) { ChatRouterScreen( @@ -748,7 +748,7 @@ fun AppEntrypoint( easing = EasingTokens.EmphasizedDecelerate ), initialOffset = { it / 3 } - ) + fadeIn(animationSpec = RevoltTweenFloat) + scaleIn( + ) + fadeIn(animationSpec = PeptideTweenFloat) + scaleIn( animationSpec = tween( 400, easing = EasingTokens.EmphasizedDecelerate @@ -770,7 +770,7 @@ fun AppEntrypoint( easing = EasingTokens.EmphasizedDecelerate ), initialOffset = { it } - ) + fadeIn(animationSpec = RevoltTweenFloat) + ) + fadeIn(animationSpec = PeptideTweenFloat) }, exitTransition = { slideOutOfContainer( @@ -780,7 +780,7 @@ fun AppEntrypoint( easing = EasingTokens.EmphasizedDecelerate ), targetOffset = { it } - ) + fadeOut(animationSpec = RevoltTweenFloat) + ) + fadeOut(animationSpec = PeptideTweenFloat) } ) { backStackEntry -> val channelId = backStackEntry.arguments?.getString("channelId") ?: "" diff --git a/app/src/main/java/chat/peptide/activities/ShareTargetActivity.kt b/app/src/main/java/chat/peptide/activities/ShareTargetActivity.kt index ee3584af..a310d332 100644 --- a/app/src/main/java/chat/peptide/activities/ShareTargetActivity.kt +++ b/app/src/main/java/chat/peptide/activities/ShareTargetActivity.kt @@ -51,7 +51,7 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.ChannelUtils import chat.peptide.api.routes.channel.sendMessage import chat.peptide.api.routes.microservices.autumn.FileArgs @@ -68,7 +68,7 @@ import chat.peptide.composables.screens.chat.drawer.ChannelItemIconType import chat.peptide.composables.screens.chat.drawer.DMOrGroupItem import chat.peptide.persistence.KVStorage import chat.peptide.screens.chat.views.channel.ChannelScreenActivePane -import chat.peptide.ui.theme.RevoltTheme +import chat.peptide.ui.theme.PeptideTheme import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.lifecycle.HiltViewModel import io.ktor.http.ContentType @@ -180,10 +180,10 @@ class ShareTargetScreenViewModel @Inject constructor( } suspend fun initialiseAPI() { - if (!RevoltAPI.isLoggedIn()) { + if (!PeptideAPI.isLoggedIn()) { val token = kvStorage.get("sessionToken") ?: return - RevoltAPI.loginAs(token) - RevoltAPI.initialize() + PeptideAPI.loginAs(token) + PeptideAPI.initialize() } apiIsReady = true } @@ -277,7 +277,7 @@ fun ShareTargetScreen( var channelSearchContent by remember { mutableStateOf("") } var selectedChannel by rememberSaveable { mutableStateOf(null) } - RevoltTheme( + PeptideTheme( requestedTheme = LoadedSettings.theme, colourOverrides = SyncedSettings.android.colourOverrides ) { @@ -326,7 +326,7 @@ fun ShareTargetScreen( Box( modifier = Modifier.weight(1f) ) { - val filteredChannels = RevoltAPI.channelCache.values.asSequence().filter { + val filteredChannels = PeptideAPI.channelCache.values.asSequence().filter { it.name?.contains( channelSearchContent, ignoreCase = true @@ -346,7 +346,7 @@ fun ShareTargetScreen( ChannelType.Group, ChannelType.DirectMessage -> DMOrGroupItem( channel = channel, partner = ChannelUtils.resolveDMPartner(channel)?.let { u -> - RevoltAPI.userCache[u] + PeptideAPI.userCache[u] }, isCurrent = selectedChannel == channel.id, hasUnread = false, @@ -421,9 +421,9 @@ fun ShareTargetScreen( } } }, - channelType = RevoltAPI.channelCache[selectedChannel]?.channelType + channelType = PeptideAPI.channelCache[selectedChannel]?.channelType ?: ChannelType.TextChannel, - channelName = RevoltAPI.channelCache[selectedChannel]?.name ?: "", + channelName = PeptideAPI.channelCache[selectedChannel]?.name ?: "", ) AnimatedVisibility(viewModel.activeBottomPane is ChannelScreenActivePane.EmojiPicker) { diff --git a/app/src/main/java/chat/peptide/activities/media/ImageViewActivity.kt b/app/src/main/java/chat/peptide/activities/media/ImageViewActivity.kt index ec6fd913..a2a84ba3 100644 --- a/app/src/main/java/chat/peptide/activities/media/ImageViewActivity.kt +++ b/app/src/main/java/chat/peptide/activities/media/ImageViewActivity.kt @@ -41,13 +41,13 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.core.view.WindowCompat import chat.peptide.R -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltHttp +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideHttp import chat.peptide.api.schemas.AutumnResource import chat.peptide.api.settings.LoadedSettings import chat.peptide.api.settings.SyncedSettings import chat.peptide.providers.getAttachmentContentUri -import chat.peptide.ui.theme.RevoltTheme +import chat.peptide.ui.theme.PeptideTheme import io.ktor.client.request.get import io.ktor.client.statement.readBytes import kotlinx.coroutines.launch @@ -85,7 +85,7 @@ class ImageViewActivity : ComponentActivity() { @OptIn(ExperimentalMaterial3Api::class) @Composable fun ImageViewScreen(resource: AutumnResource, onClose: () -> Unit = {}) { - val resourceUrl = "${RevoltAPI.getCurrentFilesUrl()}/attachments/${resource.id}/${resource.filename}" + val resourceUrl = "${PeptideAPI.getCurrentFilesUrl()}/attachments/${resource.id}/${resource.filename}" val context = LocalContext.current @@ -145,13 +145,13 @@ fun ImageViewScreen(resource: AutumnResource, onClose: () -> Unit = {}) { ContentValues().apply { put(MediaStore.Images.Media.DISPLAY_NAME, resource.filename) put(MediaStore.Images.Media.MIME_TYPE, resource.contentType) - put(MediaStore.Images.Media.RELATIVE_PATH, "Pictures/Revolt") + put(MediaStore.Images.Media.RELATIVE_PATH, "Pictures/Peptide") put(MediaStore.Images.Media.IS_PENDING, 1) } ) }?.let { uri -> context.contentResolver.openOutputStream(uri).use { stream -> - val image = RevoltHttp.get(resourceUrl).readBytes() + val image = PeptideHttp.get(resourceUrl).readBytes() stream?.write(image) context.applicationContext.let { @@ -182,7 +182,7 @@ fun ImageViewScreen(resource: AutumnResource, onClose: () -> Unit = {}) { } } - RevoltTheme( + PeptideTheme( requestedTheme = LoadedSettings.theme, colourOverrides = SyncedSettings.android.colourOverrides ) { diff --git a/app/src/main/java/chat/peptide/activities/media/VideoViewActivity.kt b/app/src/main/java/chat/peptide/activities/media/VideoViewActivity.kt index c1ce0f27..1f07b445 100644 --- a/app/src/main/java/chat/peptide/activities/media/VideoViewActivity.kt +++ b/app/src/main/java/chat/peptide/activities/media/VideoViewActivity.kt @@ -19,8 +19,8 @@ import androidx.lifecycle.lifecycleScope import androidx.media3.common.MediaItem import androidx.media3.exoplayer.ExoPlayer import chat.peptide.R -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltHttp +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideHttp import chat.peptide.api.schemas.AutumnResource import chat.peptide.databinding.ActivityVideoplayerBinding import chat.peptide.providers.getAttachmentContentUri @@ -54,7 +54,7 @@ class VideoViewActivity : FragmentActivity() { } val resourceUrl = - "${RevoltAPI.getCurrentFilesUrl()}/attachments/${autumnResource.id}/${autumnResource.filename}" + "${PeptideAPI.getCurrentFilesUrl()}/attachments/${autumnResource.id}/${autumnResource.filename}" WindowCompat.setDecorFitsSystemWindows(window, false) @@ -189,13 +189,13 @@ class VideoViewActivity : FragmentActivity() { ContentValues().apply { put(MediaStore.Video.Media.DISPLAY_NAME, resource.filename) put(MediaStore.Video.Media.MIME_TYPE, resource.contentType) - put(MediaStore.Video.Media.RELATIVE_PATH, "Movies/Revolt") + put(MediaStore.Video.Media.RELATIVE_PATH, "Movies/Peptide") put(MediaStore.Video.Media.IS_PENDING, 1) } ) }?.let { uri -> this@VideoViewActivity.contentResolver.openOutputStream(uri).use { stream -> - val video = RevoltHttp.get(resourceUrl).readBytes() + val video = PeptideHttp.get(resourceUrl).readBytes() stream?.write(video) this@VideoViewActivity.applicationContext.let { diff --git a/app/src/main/java/chat/peptide/api/RevoltAPI.kt b/app/src/main/java/chat/peptide/api/AppAPI.kt similarity index 91% rename from app/src/main/java/chat/peptide/api/RevoltAPI.kt rename to app/src/main/java/chat/peptide/api/AppAPI.kt index 0ef75263..0bfd0910 100644 --- a/app/src/main/java/chat/peptide/api/RevoltAPI.kt +++ b/app/src/main/java/chat/peptide/api/AppAPI.kt @@ -5,8 +5,8 @@ import android.os.Looper import android.util.Log import androidx.compose.runtime.mutableStateMapOf import chat.peptide.BuildConfig -import chat.peptide.RevoltApplication -import chat.peptide.api.RevoltAPI.initialize +import chat.peptide.PeptideApplication +import chat.peptide.api.PeptideAPI.initialize import chat.peptide.api.internals.Members import chat.peptide.api.realtime.DisconnectionState import chat.peptide.api.realtime.RealtimeSocket @@ -58,7 +58,7 @@ import chat.peptide.api.schemas.Channel as ChannelSchema * Enum representing available platforms in the application. */ enum class ApplicationPlatform(val baseUrl: String) { - REVOLT("https://api.revolt.chat"), + REVOLT("https://api.peptide.chat"), PEP("https://peptide.chat/api"); companion object { @@ -117,7 +117,7 @@ object UrlsStorageKeys { } fun String.api(): String { - return "${RevoltAPI.getCurrentBaseUrl()}$this" + return "${PeptideAPI.getCurrentBaseUrl()}$this" } /** @@ -128,27 +128,27 @@ private fun getUrlForPlatform(platform: ApplicationPlatform, urlSelector: (Platf } fun buildUserAgent(accessMethod: String = "Ktor"): String { - return "$accessMethod RevoltAndroid/${BuildConfig.VERSION_NAME} " + + return "$accessMethod PeptideAndroid/${BuildConfig.VERSION_NAME} " + "${BuildConfig.APPLICATION_ID} Android/${android.os.Build.VERSION.SDK_INT} " + "(${android.os.Build.MANUFACTURER} ${android.os.Build.DEVICE}) Kotlin/${KotlinVersion.CURRENT}" } @OptIn(ExperimentalSerializationApi::class) -val RevoltJson = Json { +val PeptideJson = Json { ignoreUnknownKeys = true explicitNulls = false } @OptIn(ExperimentalSerializationApi::class) -val RevoltCbor = Cbor { +val PeptideCbor = Cbor { ignoreUnknownKeys = true } -val RevoltHttp by lazy { +val PeptideHttp by lazy { HttpClient(OkHttp) { install(DefaultRequest) install(ContentNegotiation) { - json(RevoltJson) + json(PeptideJson) } install(WebSockets) @@ -167,15 +167,15 @@ val RevoltHttp by lazy { install(Logging) { level = LogLevel.INFO } val chuckerCollector = ChuckerCollector( - context = RevoltApplication.instance, + context = PeptideApplication.instance, showNotification = true, retentionPeriod = RetentionManager.Period.ONE_DAY ) - val chuckerInterceptor = ChuckerInterceptor.Builder(RevoltApplication.instance) + val chuckerInterceptor = ChuckerInterceptor.Builder(PeptideApplication.instance) .collector(chuckerCollector) .maxContentLength(250_000L) - .redactHeaders(RevoltAPI.TOKEN_HEADER_NAME) + .redactHeaders(PeptideAPI.TOKEN_HEADER_NAME) .alwaysReadResponseBody(true) .createShortcut(false) .build() @@ -184,8 +184,8 @@ val RevoltHttp by lazy { addInterceptor { chain -> val request = chain.request().newBuilder() .apply { - if (chain.request().headers[RevoltAPI.TOKEN_HEADER_NAME] == null) { - header(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken) + if (chain.request().headers[PeptideAPI.TOKEN_HEADER_NAME] == null) { + header(PeptideAPI.TOKEN_HEADER_NAME, PeptideAPI.sessionToken) } } .build() @@ -195,7 +195,7 @@ val RevoltHttp by lazy { } defaultRequest { - url(RevoltAPI.getCurrentBaseUrl()) + url(PeptideAPI.getCurrentBaseUrl()) header("User-Agent", buildUserAgent()) } } @@ -203,7 +203,7 @@ val RevoltHttp by lazy { val mainHandler = Handler(Looper.getMainLooper()) -object RevoltAPI { +object PeptideAPI { const val TOKEN_HEADER_NAME = "x-session-token" val userCache = mutableStateMapOf() @@ -245,7 +245,7 @@ object RevoltAPI { * Saves the current platform selection to persistent storage. */ private suspend fun savePlatformSelection() { - val kvStorage = RevoltApplication.instance.getKVStorage() + val kvStorage = PeptideApplication.instance.getKVStorage() kvStorage.set(UrlsStorageKeys.PLATFORM, selectedApplicationPlatform.name) } @@ -253,7 +253,7 @@ object RevoltAPI { * Loads the platform selection from persistent storage. */ suspend fun loadPlatformSelection() { - val kvStorage = RevoltApplication.instance.getKVStorage() + val kvStorage = PeptideApplication.instance.getKVStorage() val applicationPlatformName = kvStorage.get(UrlsStorageKeys.PLATFORM) ?: ApplicationPlatform.REVOLT.name selectedApplicationPlatform = try { ApplicationPlatform.valueOf(applicationPlatformName) @@ -304,19 +304,19 @@ object RevoltAPI { try { RealtimeSocket.connect(sessionToken) } catch (e: SocketException) { - Log.d("RevoltAPI", "Socket closed, probably no big deal /// " + e.message) + Log.d("PeptideAPI", "Socket closed, probably no big deal /// " + e.message) RealtimeSocket.updateDisconnectionState(DisconnectionState.Disconnected) } catch (e: Exception) { - Log.e("RevoltAPI", "WebSocket error", e) + Log.e("PeptideAPI", "WebSocket error", e) RealtimeSocket.updateDisconnectionState(DisconnectionState.Disconnected) } } } catch (e: Exception) { try { if (e is InterruptedException) { - Log.d("RevoltAPI", "Socket interrupted") + Log.d("PeptideAPI", "Socket interrupted") } else { - Log.e("RevoltAPI", "WebSocket error", e) + Log.e("PeptideAPI", "WebSocket error", e) } RealtimeSocket.updateDisconnectionState(DisconnectionState.Disconnected) } catch (e: Exception) { @@ -330,7 +330,7 @@ object RevoltAPI { connectWS() // Send a ping every roughly 30 seconds else the socket dies - // Same interval as the web clients (/revolt.js) + // Same interval as the web clients (/peptide.js) // Note: This will run even if the socket is closed (sendPing will just exit early) mainHandler.post(object : Runnable { override fun run() { @@ -398,7 +398,7 @@ object RevoltAPI { */ fun hydrateFromPersistentCache() { if (!openForLocalHydration) { - Log.w("RevoltAPI", "Hydration is closed, but was called") + Log.w("PeptideAPI", "Hydration is closed, but was called") // Stale data is worst case, let's track it even in prod Sentry.captureMessage("Local hydration called twice or after real data was fetched") return @@ -476,7 +476,7 @@ object RevoltAPI { } @Serializable -data class RevoltError(val type: String) +data class PeptideError(val type: String) @Serializable data class RateLimitResponse(@SerialName("retry_after") val retryAfter: Int) { diff --git a/app/src/main/java/chat/peptide/api/internals/ChannelUtils.kt b/app/src/main/java/chat/peptide/api/internals/ChannelUtils.kt index cd092842..c3c78d0d 100644 --- a/app/src/main/java/chat/peptide/api/internals/ChannelUtils.kt +++ b/app/src/main/java/chat/peptide/api/internals/ChannelUtils.kt @@ -1,6 +1,6 @@ package chat.peptide.api.internals -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.schemas.Channel import chat.peptide.api.schemas.Server import chat.peptide.api.schemas.User @@ -19,7 +19,7 @@ object ChannelUtils { */ fun resolveName(channel: Channel): String? { return channel.name - ?: RevoltAPI.userCache[channel.recipients?.first { u -> u != RevoltAPI.selfId }]?.let { + ?: PeptideAPI.userCache[channel.recipients?.first { u -> u != PeptideAPI.selfId }]?.let { User.resolveDefaultName( it ) @@ -27,7 +27,7 @@ object ChannelUtils { } fun resolveDMPartner(channel: Channel): String? { - return channel.recipients?.firstOrNull { u -> u != RevoltAPI.selfId } + return channel.recipients?.firstOrNull { u -> u != PeptideAPI.selfId } } fun categoriseServerFlat(server: Server): List { @@ -42,7 +42,7 @@ object ChannelUtils { } ?: true } ?.mapNotNull { - RevoltAPI.channelCache[it]?.let { it1 -> + PeptideAPI.channelCache[it]?.let { it1 -> CategorisedChannelList.Channel(it1) } } ?: emptyList() @@ -53,7 +53,7 @@ object ChannelUtils { categories.forEach { output.add(it) val channels = it.category.channels?.mapNotNull { c -> - RevoltAPI.channelCache[c]?.let { it1 -> + PeptideAPI.channelCache[c]?.let { it1 -> CategorisedChannelList.Channel(it1) } } ?: emptyList() diff --git a/app/src/main/java/chat/peptide/api/internals/DirectMessages.kt b/app/src/main/java/chat/peptide/api/internals/DirectMessages.kt index fd063096..9b016dfc 100644 --- a/app/src/main/java/chat/peptide/api/internals/DirectMessages.kt +++ b/app/src/main/java/chat/peptide/api/internals/DirectMessages.kt @@ -1,13 +1,13 @@ package chat.peptide.api.internals -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.SpecialUsers.PLATFORM_MODERATION_USER import chat.peptide.api.schemas.Channel import chat.peptide.api.schemas.ChannelType object DirectMessages { fun unreadDMs(): List { - return RevoltAPI.channelCache.values + return PeptideAPI.channelCache.values .filter { it.channelType in listOf( ChannelType.DirectMessage, ChannelType.Group @@ -15,7 +15,7 @@ object DirectMessages { } .filter { it.id?.let { id -> - RevoltAPI.unreads.hasUnread( + PeptideAPI.unreads.hasUnread( id, it.lastMessageID!!, serverId = null diff --git a/app/src/main/java/chat/peptide/api/internals/FriendRequests.kt b/app/src/main/java/chat/peptide/api/internals/FriendRequests.kt index 8195a264..b33ea787 100644 --- a/app/src/main/java/chat/peptide/api/internals/FriendRequests.kt +++ b/app/src/main/java/chat/peptide/api/internals/FriendRequests.kt @@ -1,35 +1,35 @@ package chat.peptide.api.internals -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.schemas.User object FriendRequests { fun getIncoming(): List { - return RevoltAPI.userCache.values.filter { user -> + return PeptideAPI.userCache.values.filter { user -> user.relationship == "Incoming" } } fun getOutgoing(): List { - return RevoltAPI.userCache.values.filter { user -> + return PeptideAPI.userCache.values.filter { user -> user.relationship == "Outgoing" } } fun getBlocked(): List { - return RevoltAPI.userCache.values.filter { user -> + return PeptideAPI.userCache.values.filter { user -> user.relationship == "Blocked" } } fun getOnlineFriends(): List { - return RevoltAPI.userCache.values.filter { user -> + return PeptideAPI.userCache.values.filter { user -> user.relationship == "Friend" && user.online == true } } fun getFriends(excludeOnline: Boolean = false): List { - return RevoltAPI.userCache.values.filter { user -> + return PeptideAPI.userCache.values.filter { user -> user.relationship == "Friend" && if (excludeOnline) user.online == false else true } } diff --git a/app/src/main/java/chat/peptide/api/internals/MessageFlag.kt b/app/src/main/java/chat/peptide/api/internals/MessageFlag.kt index 71c93440..b2263285 100644 --- a/app/src/main/java/chat/peptide/api/internals/MessageFlag.kt +++ b/app/src/main/java/chat/peptide/api/internals/MessageFlag.kt @@ -3,7 +3,7 @@ package chat.peptide.api.internals /** * Flags for messages that can be set to modify their behavior. * - * See [Reference](https://docs.rs/revolt-models/latest/revolt_models/v0/enum.MessageFlags.html) for + * See [Reference](https://docs.rs/peptide-models/latest/peptide_models/v0/enum.MessageFlags.html) for * values * * `shl 0` is not used. diff --git a/app/src/main/java/chat/peptide/api/internals/ResourceLocations.kt b/app/src/main/java/chat/peptide/api/internals/ResourceLocations.kt index 18f270b1..30c7c015 100644 --- a/app/src/main/java/chat/peptide/api/internals/ResourceLocations.kt +++ b/app/src/main/java/chat/peptide/api/internals/ResourceLocations.kt @@ -1,13 +1,13 @@ package chat.peptide.api.internals -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.api import chat.peptide.api.schemas.User object ResourceLocations { fun userAvatarUrl(user: User?): String { if (user?.avatar != null) { - return "${RevoltAPI.getCurrentFilesUrl()}/avatars/${user.avatar.id}" + return "${PeptideAPI.getCurrentFilesUrl()}/avatars/${user.avatar.id}" } return "/users/${(user?.id ?: "").ifBlank { "0".repeat(26) }}/default_avatar".api() } diff --git a/app/src/main/java/chat/peptide/api/internals/Roles.kt b/app/src/main/java/chat/peptide/api/internals/Roles.kt index 481c5b8d..8ae10245 100644 --- a/app/src/main/java/chat/peptide/api/internals/Roles.kt +++ b/app/src/main/java/chat/peptide/api/internals/Roles.kt @@ -1,6 +1,6 @@ package chat.peptide.api.internals -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.schemas.Channel import chat.peptide.api.schemas.ChannelType import chat.peptide.api.schemas.Member @@ -27,8 +27,8 @@ object Roles { withColour: Boolean = false, hoisted: Boolean = false ): Role? { - val server = RevoltAPI.serverCache[serverId] ?: return null - val member = RevoltAPI.members.getMember(serverId, userId) ?: return null + val server = PeptideAPI.serverCache[serverId] ?: return null + val member = PeptideAPI.members.getMember(serverId, userId) ?: return null val roles = member.roles?.map { roleId -> server.roles?.get(roleId) @@ -43,13 +43,13 @@ object Roles { } fun inOrder(serverId: String, predicate: (Role) -> Boolean): List { - val server = RevoltAPI.serverCache[serverId] ?: return emptyList() + val server = PeptideAPI.serverCache[serverId] ?: return emptyList() return server.roles?.values?.filter(predicate)?.sortedBy { it.rank } ?: emptyList() } fun permissionFor(server: Server, member: Member): Long { - val user = RevoltAPI.userCache[member.id?.user] ?: return 0L + val user = PeptideAPI.userCache[member.id?.user] ?: return 0L if (user.privileged == true) return PermissionBit.GrantAllSafe.value if (server.owner == member.id?.user) return PermissionBit.GrantAllSafe.value @@ -71,7 +71,7 @@ object Roles { } // TODO may not be exactly accurate - // See https://github.com/revoltchat/revolt.js/blob/2ba023c879b2a53f9a3cc7042e6721c28dd970ba/src/permissions/calculator.ts#L80-L158 + // See https://github.com/peptidechat/peptide.js/blob/2ba023c879b2a53f9a3cc7042e6721c28dd970ba/src/permissions/calculator.ts#L80-L158 fun permissionFor(channel: Channel, user: User? = null, member: Member? = null): Long { return when (channel.channelType) { ChannelType.SavedMessages -> BitDefaults.SavedMessages @@ -80,13 +80,13 @@ object Roles { ChannelType.Group -> if (channel.owner == user?.id) PermissionBit.GrantAllSafe.value else BitDefaults.DirectMessages ChannelType.TextChannel, ChannelType.VoiceChannel -> { - val server = RevoltAPI.serverCache[channel.server] + val server = PeptideAPI.serverCache[channel.server] // FIXME this is a stupid patch to prevent it from showing "no permission" on a channel on launch ?: return PermissionBit.GrantAllSafe.value if (server.owner == user?.id) return PermissionBit.GrantAllSafe.value - val chMember = member ?: RevoltAPI.members.getMember( + val chMember = member ?: PeptideAPI.members.getMember( server.id ?: return 0L, user?.id ?: return 0L ) ?: return 0L diff --git a/app/src/main/java/chat/peptide/api/internals/ThemeCompat.kt b/app/src/main/java/chat/peptide/api/internals/ThemeCompat.kt index 482c3283..d91226f9 100644 --- a/app/src/main/java/chat/peptide/api/internals/ThemeCompat.kt +++ b/app/src/main/java/chat/peptide/api/internals/ThemeCompat.kt @@ -26,7 +26,7 @@ fun Color.asHexJsonPrimitiveString(): JsonPrimitive { object ThemeCompat { @Composable fun materialThemeAsDiscoverTheme(materialTheme: MaterialTheme): JsonObject { - // https://github.com/revoltchat/discover/blob/6effdf4a611e89b38b5e6bccefa1cd999e4b545f/styles/variables.scss + // https://github.com/peptidechat/discover/blob/6effdf4a611e89b38b5e6bccefa1cd999e4b545f/styles/variables.scss return JsonObject( mapOf( "accent" to materialTheme.colorScheme.primary.asHexJsonPrimitiveString(), diff --git a/app/src/main/java/chat/peptide/api/internals/UserQR.kt b/app/src/main/java/chat/peptide/api/internals/UserQR.kt index a46f00ca..dd473e6f 100644 --- a/app/src/main/java/chat/peptide/api/internals/UserQR.kt +++ b/app/src/main/java/chat/peptide/api/internals/UserQR.kt @@ -1,7 +1,7 @@ package chat.peptide.api.internals import androidx.core.net.toUri -import chat.peptide.api.RevoltCbor +import chat.peptide.api.PeptideCbor import chat.peptide.api.schemas.User import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable @@ -21,8 +21,8 @@ data class UserQRContents( object UserQR { @OptIn(ExperimentalSerializationApi::class, ExperimentalEncodingApi::class) fun contents(user: User): String { - return "https://revolt.chat/qr?" + Base64.encode( - RevoltCbor.encodeToByteArray( + return "https://peptide.chat/qr?" + Base64.encode( + PeptideCbor.encodeToByteArray( UserQRContents.serializer(), UserQRContents( format = "rqr\$user\$0", @@ -45,7 +45,7 @@ object UserQR { val uri = uriString.toUri() val base64 = uri.query ?: return null val decodedBytes = Base64.decode(base64) - RevoltCbor.decodeFromByteArray(UserQRContents.serializer(), decodedBytes) + PeptideCbor.decodeFromByteArray(UserQRContents.serializer(), decodedBytes) } catch (e: Exception) { null } diff --git a/app/src/main/java/chat/peptide/api/realtime/RealtimeSocket.kt b/app/src/main/java/chat/peptide/api/realtime/RealtimeSocket.kt index 3fff546d..828732be 100644 --- a/app/src/main/java/chat/peptide/api/realtime/RealtimeSocket.kt +++ b/app/src/main/java/chat/peptide/api/realtime/RealtimeSocket.kt @@ -2,10 +2,10 @@ package chat.peptide.api.realtime import android.util.Log import androidx.compose.runtime.mutableStateOf -import chat.peptide.RevoltApplication -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.PeptideApplication +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.realtime.frames.receivable.AnyFrame import chat.peptide.api.realtime.frames.receivable.BulkFrame import chat.peptide.api.realtime.frames.receivable.ChannelAckFrame @@ -69,7 +69,7 @@ object RealtimeSocket { var socket: WebSocketSession? = null private val channelRegistrator: ChannelRegistrator - get() = ChannelRegistrator(RevoltApplication.instance) + get() = ChannelRegistrator(PeptideApplication.instance) private var _disconnectionState = mutableStateOf(DisconnectionState.Reconnecting) val disconnectionState: DisconnectionState @@ -87,7 +87,7 @@ object RealtimeSocket { socket?.close(CloseReason(CloseReason.Codes.NORMAL, "Reconnecting to websocket.")) - RevoltHttp.ws(RevoltAPI.getCurrentWebSocketUrl()) { + PeptideHttp.ws(PeptideAPI.getCurrentWebSocketUrl()) { socket = this Log.d("RealtimeSocket", "Connected to websocket.") @@ -97,7 +97,7 @@ object RealtimeSocket { // Send authorization frame val authFrame = AuthorizationFrame("Authenticate", token) val authFrameString = - RevoltJson.encodeToString(AuthorizationFrame.serializer(), authFrame) + PeptideJson.encodeToString(AuthorizationFrame.serializer(), authFrame) Log.d( "RealtimeSocket", @@ -108,13 +108,13 @@ object RealtimeSocket { ) }" ) - send(RevoltJson.encodeToString(AuthorizationFrame.serializer(), authFrame)) + send(PeptideJson.encodeToString(AuthorizationFrame.serializer(), authFrame)) incoming.consumeEach { frame -> if (frame is Frame.Text) { val frameString = frame.readText() val frameType = - RevoltJson.decodeFromString(AnyFrame.serializer(), frameString).type + PeptideJson.decodeFromString(AnyFrame.serializer(), frameString).type handleFrame(frameType, frameString) } @@ -126,29 +126,29 @@ object RealtimeSocket { if (disconnectionState != DisconnectionState.Connected) return val pingPacket = PingFrame("Ping", System.currentTimeMillis()) - socket?.send(RevoltJson.encodeToString(PingFrame.serializer(), pingPacket)) + socket?.send(PeptideJson.encodeToString(PingFrame.serializer(), pingPacket)) Log.d("RealtimeSocket", "Sent ping frame with ${pingPacket.data}") } private suspend fun handleFrame(type: String, rawFrame: String) { when (type) { "Pong" -> { - val pongFrame = RevoltJson.decodeFromString(PongFrame.serializer(), rawFrame) + val pongFrame = PeptideJson.decodeFromString(PongFrame.serializer(), rawFrame) Log.d("RealtimeSocket", "Received pong frame for ${pongFrame.data}") } "Bulk" -> { - val bulkFrame = RevoltJson.decodeFromString(BulkFrame.serializer(), rawFrame) + val bulkFrame = PeptideJson.decodeFromString(BulkFrame.serializer(), rawFrame) Log.d("RealtimeSocket", "Received bulk frame with ${bulkFrame.v.size} sub-frames.") bulkFrame.v.forEach { subFrame -> val subFrameType = - RevoltJson.decodeFromString(AnyFrame.serializer(), subFrame.toString()).type + PeptideJson.decodeFromString(AnyFrame.serializer(), subFrame.toString()).type handleFrame(subFrameType, subFrame.toString()) } } "Ready" -> { - val readyFrame = RevoltJson.decodeFromString(ReadyFrame.serializer(), rawFrame) + val readyFrame = PeptideJson.decodeFromString(ReadyFrame.serializer(), rawFrame) logcat { "Received ready frame with ${readyFrame.users.size} users, " + @@ -160,11 +160,11 @@ object RealtimeSocket { Log.d("RealtimeSocket", "Adding users to cache.") val userMap = readyFrame.users.associateBy { it.id!! } - RevoltAPI.userCache.putAll(userMap) + PeptideAPI.userCache.putAll(userMap) Log.d("RealtimeSocket", "Adding servers to cache.") val serverMap = readyFrame.servers.associateBy { it.id!! } - RevoltAPI.serverCache.putAll(serverMap) + PeptideAPI.serverCache.putAll(serverMap) // Cache servers in persistent local database readyFrame.servers.map { @@ -195,12 +195,12 @@ object RealtimeSocket { "Deleted server $it from local database due to not being in ready frame." ) // Conversely, remove the server from the API state - RevoltAPI.serverCache.remove(it) + PeptideAPI.serverCache.remove(it) } Log.d("RealtimeSocket", "Adding channels to cache.") val channelMap = readyFrame.channels.associateBy { it.id!! } - RevoltAPI.channelCache.putAll(channelMap) + PeptideAPI.channelCache.putAll(channelMap) // Cache channels in persistent local database readyFrame.channels.map { @@ -215,7 +215,7 @@ object RealtimeSocket { it.name, it.owner, it.description, - if (it.channelType == ChannelType.DirectMessage) it.recipients?.firstOrNull { u -> u != RevoltAPI.selfId } else null, + if (it.channelType == ChannelType.DirectMessage) it.recipients?.firstOrNull { u -> u != PeptideAPI.selfId } else null, it.icon?.id, it.lastMessageID, if (it.active == true) 1L else 0L, @@ -236,21 +236,21 @@ object RealtimeSocket { "Deleted channel $it from local database due to not being in ready frame." ) // Conversely, remove the channel from the API state - RevoltAPI.channelCache.remove(it) + PeptideAPI.channelCache.remove(it) } Log.d("RealtimeSocket", "Adding emojis to cache.") val emojiMap = readyFrame.emojis.associateBy { it.id!! } - RevoltAPI.emojiCache.putAll(emojiMap) + PeptideAPI.emojiCache.putAll(emojiMap) Log.d("RealtimeSocket", "Registering push notification channels.") channelRegistrator.register() - RevoltAPI.closeHydration() + PeptideAPI.closeHydration() } "Message" -> { - val messageFrame = RevoltJson.decodeFromString(MessageFrame.serializer(), rawFrame) + val messageFrame = PeptideJson.decodeFromString(MessageFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received message frame for ${messageFrame.id} in channel ${messageFrame.channel}." @@ -261,30 +261,30 @@ object RealtimeSocket { return } - RevoltAPI.messageCache[messageFrame.id] = messageFrame + PeptideAPI.messageCache[messageFrame.id] = messageFrame messageFrame.channel?.let { - if (RevoltAPI.channelCache[it] == null) { + if (PeptideAPI.channelCache[it] == null) { Log.d("RealtimeSocket", "Channel $it not found in cache. Ignoring.") return } - RevoltAPI.channelCache[it] = - RevoltAPI.channelCache[it]!!.copy(lastMessageID = messageFrame.id) + PeptideAPI.channelCache[it] = + PeptideAPI.channelCache[it]!!.copy(lastMessageID = messageFrame.id) - RevoltAPI.wsFrameChannel.send(messageFrame) + PeptideAPI.wsFrameChannel.send(messageFrame) } } "MessageAppend" -> { val messageAppendFrame = - RevoltJson.decodeFromString(MessageAppendFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(MessageAppendFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received message append frame for ${messageAppendFrame.id} in channel ${messageAppendFrame.channel}." ) - var message = RevoltAPI.messageCache[messageAppendFrame.id] + var message = PeptideAPI.messageCache[messageAppendFrame.id] if (message == null) { Log.d( @@ -298,20 +298,20 @@ object RealtimeSocket { message = message!!.copy(embeds = message!!.embeds?.plus(it) ?: it) } - RevoltAPI.messageCache[messageAppendFrame.id] = message!! + PeptideAPI.messageCache[messageAppendFrame.id] = message!! - RevoltAPI.wsFrameChannel.send(messageAppendFrame) + PeptideAPI.wsFrameChannel.send(messageAppendFrame) } "MessageUpdate" -> { val messageUpdateFrame = - RevoltJson.decodeFromString(MessageUpdateFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(MessageUpdateFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received message update frame for ${messageUpdateFrame.id} in channel ${messageUpdateFrame.channel}." ) - val oldMessage = RevoltAPI.messageCache[messageUpdateFrame.id] + val oldMessage = PeptideAPI.messageCache[messageUpdateFrame.id] if (oldMessage == null) { Log.d( "RealtimeSocket", @@ -323,7 +323,7 @@ object RealtimeSocket { val rawMessage: MessageFrame try { rawMessage = - RevoltJson.decodeFromJsonElement( + PeptideJson.decodeFromJsonElement( MessageFrame.serializer(), messageUpdateFrame.data ) @@ -337,28 +337,28 @@ object RealtimeSocket { "Merging message ${messageUpdateFrame.id} with updated partial." ) - RevoltAPI.messageCache[messageUpdateFrame.id] = + PeptideAPI.messageCache[messageUpdateFrame.id] = oldMessage.mergeWithPartial(rawMessage) messageUpdateFrame.channel.let { - if (RevoltAPI.channelCache[it] == null) { + if (PeptideAPI.channelCache[it] == null) { Log.d("RealtimeSocket", "Channel $it not found in cache. Ignoring.") return } } - RevoltAPI.wsFrameChannel.send(messageUpdateFrame) + PeptideAPI.wsFrameChannel.send(messageUpdateFrame) } "MessageDelete" -> { val messageDeleteFrame = - RevoltJson.decodeFromString(MessageDeleteFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(MessageDeleteFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received message react frame for ${messageDeleteFrame.id}." ) - val message = RevoltAPI.messageCache[messageDeleteFrame.id] + val message = PeptideAPI.messageCache[messageDeleteFrame.id] if (message == null) { Log.d( "RealtimeSocket", @@ -367,19 +367,19 @@ object RealtimeSocket { return } - RevoltAPI.messageCache.remove(messageDeleteFrame.id) - RevoltAPI.wsFrameChannel.send(messageDeleteFrame) + PeptideAPI.messageCache.remove(messageDeleteFrame.id) + PeptideAPI.wsFrameChannel.send(messageDeleteFrame) } "MessageReact" -> { val messageReactFrame = - RevoltJson.decodeFromString(MessageReactFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(MessageReactFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received message react frame for ${messageReactFrame.id}." ) - val oldMessage = RevoltAPI.messageCache[messageReactFrame.id] + val oldMessage = PeptideAPI.messageCache[messageReactFrame.id] if (oldMessage == null) { Log.d( "RealtimeSocket", @@ -394,21 +394,21 @@ object RealtimeSocket { forEmoji.add(messageReactFrame.user_id) reactions[messageReactFrame.emoji_id] = forEmoji - RevoltAPI.messageCache[messageReactFrame.id] = + PeptideAPI.messageCache[messageReactFrame.id] = oldMessage.copy(reactions = reactions) - RevoltAPI.wsFrameChannel.send(messageReactFrame) + PeptideAPI.wsFrameChannel.send(messageReactFrame) } "MessageUnreact" -> { val messageUnreactFrame = - RevoltJson.decodeFromString(MessageReactFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(MessageReactFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received message unreact frame for ${messageUnreactFrame.id}." ) - val oldMessage = RevoltAPI.messageCache[messageUnreactFrame.id] + val oldMessage = PeptideAPI.messageCache[messageUnreactFrame.id] if (oldMessage == null) { Log.d( "RealtimeSocket", @@ -428,38 +428,38 @@ object RealtimeSocket { reactions[messageUnreactFrame.emoji_id] = forEmoji } - RevoltAPI.messageCache[messageUnreactFrame.id] = + PeptideAPI.messageCache[messageUnreactFrame.id] = oldMessage.copy(reactions = reactions) - RevoltAPI.wsFrameChannel.send(messageUnreactFrame) + PeptideAPI.wsFrameChannel.send(messageUnreactFrame) } "UserUpdate" -> { val userUpdateFrame = - RevoltJson.decodeFromString(UserUpdateFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(UserUpdateFrame.serializer(), rawFrame) - val existing = RevoltAPI.userCache[userUpdateFrame.id] + val existing = PeptideAPI.userCache[userUpdateFrame.id] ?: return // if we don't have the user no point in updating it if (userUpdateFrame.clear != null) { if (userUpdateFrame.clear.contains("Avatar")) { - RevoltAPI.userCache[userUpdateFrame.id] = + PeptideAPI.userCache[userUpdateFrame.id] = existing.copy(avatar = null) } } - RevoltAPI.userCache[userUpdateFrame.id] = + PeptideAPI.userCache[userUpdateFrame.id] = existing.mergeWithPartial(userUpdateFrame.data) } "UserRelationship" -> { val userRelationshipFrame = - RevoltJson.decodeFromString(UserRelationshipFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(UserRelationshipFrame.serializer(), rawFrame) - val existing = RevoltAPI.userCache[userRelationshipFrame.user.id] + val existing = PeptideAPI.userCache[userRelationshipFrame.user.id] if (existing == null && userRelationshipFrame.user.id != null) { - RevoltAPI.userCache[userRelationshipFrame.user.id] = + PeptideAPI.userCache[userRelationshipFrame.user.id] = userRelationshipFrame.user.copy( relationship = userRelationshipFrame.status ?: "None" ) @@ -467,7 +467,7 @@ object RealtimeSocket { val merged = existing.mergeWithPartial(userRelationshipFrame.user).copy( relationship = userRelationshipFrame.status ?: "None" ) - RevoltAPI.userCache[userRelationshipFrame.user.id] = merged + PeptideAPI.userCache[userRelationshipFrame.user.id] = merged } else { Log.w("RealtimeSocket", "Invalid UserRelationship frame: $rawFrame") } @@ -475,13 +475,13 @@ object RealtimeSocket { "ChannelUpdate" -> { val channelUpdateFrame = - RevoltJson.decodeFromString(ChannelUpdateFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(ChannelUpdateFrame.serializer(), rawFrame) - val existing = RevoltAPI.channelCache[channelUpdateFrame.id] + val existing = PeptideAPI.channelCache[channelUpdateFrame.id] ?: return // if we don't have the channel no point in updating it val combined = existing.mergeWithPartial(channelUpdateFrame.data) - RevoltAPI.channelCache[channelUpdateFrame.id] = combined + PeptideAPI.channelCache[channelUpdateFrame.id] = combined database.channelQueries.upsert( channelUpdateFrame.id, @@ -490,7 +490,7 @@ object RealtimeSocket { combined.name, combined.owner, combined.description, - if (combined.channelType == ChannelType.DirectMessage) combined.recipients?.firstOrNull { u -> u != RevoltAPI.selfId } else null, + if (combined.channelType == ChannelType.DirectMessage) combined.recipients?.firstOrNull { u -> u != PeptideAPI.selfId } else null, combined.icon?.id, combined.lastMessageID, if (combined.active == true) 1L else 0L, @@ -501,14 +501,14 @@ object RealtimeSocket { "ChannelCreate" -> { val channelCreateFrame = - RevoltJson.decodeFromString(Channel.serializer(), rawFrame) + PeptideJson.decodeFromString(Channel.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received channel create frame for ${channelCreateFrame.id}, with name ${channelCreateFrame.name}. Adding to cache." ) - RevoltAPI.channelCache[channelCreateFrame.id!!] = channelCreateFrame + PeptideAPI.channelCache[channelCreateFrame.id!!] = channelCreateFrame database.channelQueries.upsert( channelCreateFrame.id, channelCreateFrame.channelType?.value ?: ChannelType.TextChannel.value, @@ -516,7 +516,7 @@ object RealtimeSocket { channelCreateFrame.name, channelCreateFrame.owner, channelCreateFrame.description, - if (channelCreateFrame.channelType == ChannelType.DirectMessage) channelCreateFrame.recipients?.firstOrNull { u -> u != RevoltAPI.selfId } else null, + if (channelCreateFrame.channelType == ChannelType.DirectMessage) channelCreateFrame.recipients?.firstOrNull { u -> u != PeptideAPI.selfId } else null, channelCreateFrame.icon?.id, channelCreateFrame.lastMessageID, if (channelCreateFrame.active == true) 1L else 0L, @@ -527,13 +527,13 @@ object RealtimeSocket { "ChannelDelete" -> { val channelDeleteFrame = - RevoltJson.decodeFromString(ChannelDeleteFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(ChannelDeleteFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received channel delete frame for ${channelDeleteFrame.id}. Removing from cache." ) - val currentChannel = RevoltAPI.channelCache[channelDeleteFrame.id] + val currentChannel = PeptideAPI.channelCache[channelDeleteFrame.id] if (currentChannel == null) { Log.d( "RealtimeSocket", @@ -542,11 +542,11 @@ object RealtimeSocket { return } - RevoltAPI.channelCache.remove(channelDeleteFrame.id) + PeptideAPI.channelCache.remove(channelDeleteFrame.id) database.channelQueries.delete(channelDeleteFrame.id) if (currentChannel.server != null) { - val existingServer = RevoltAPI.serverCache[currentChannel.server] + val existingServer = PeptideAPI.serverCache[currentChannel.server] if (existingServer == null) { Log.d( @@ -556,39 +556,39 @@ object RealtimeSocket { return } - RevoltAPI.serverCache[currentChannel.server] = existingServer.copy( + PeptideAPI.serverCache[currentChannel.server] = existingServer.copy( channels = existingServer.channels?.filter { it != channelDeleteFrame.id } ?: emptyList() ) } - RevoltAPI.wsFrameChannel.send(channelDeleteFrame) + PeptideAPI.wsFrameChannel.send(channelDeleteFrame) } "ChannelAck" -> { val channelAckFrame = - RevoltJson.decodeFromString(ChannelAckFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(ChannelAckFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received channel ack frame for ${channelAckFrame.id} with new newest ${channelAckFrame.messageId}." ) - RevoltAPI.unreads.processExternalAck(channelAckFrame.id, channelAckFrame.messageId) + PeptideAPI.unreads.processExternalAck(channelAckFrame.id, channelAckFrame.messageId) } "ServerCreate" -> { val serverCreateFrame = - RevoltJson.decodeFromString(ServerCreateFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(ServerCreateFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received server create frame for ${serverCreateFrame.id}, with name ${serverCreateFrame.server.name}. Adding to cache." ) - RevoltAPI.serverCache[serverCreateFrame.id] = serverCreateFrame.server + PeptideAPI.serverCache[serverCreateFrame.id] = serverCreateFrame.server serverCreateFrame.channels.forEach { channel -> if (channel.id == null) return@forEach - RevoltAPI.channelCache[channel.id] = channel + PeptideAPI.channelCache[channel.id] = channel } if (serverCreateFrame.server.owner != null && serverCreateFrame.server.name != null) { @@ -606,35 +606,35 @@ object RealtimeSocket { "ChannelStartTyping" -> { val channelStartTypingFrame = - RevoltJson.decodeFromString(ChannelStartTypingFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(ChannelStartTypingFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received channel start typing frame for ${channelStartTypingFrame.id}." ) - RevoltAPI.wsFrameChannel.send(channelStartTypingFrame) + PeptideAPI.wsFrameChannel.send(channelStartTypingFrame) } "ChannelStopTyping" -> { val channelStopTypingFrame = - RevoltJson.decodeFromString(ChannelStopTypingFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(ChannelStopTypingFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received channel stop typing frame for ${channelStopTypingFrame.id}." ) - RevoltAPI.wsFrameChannel.send(channelStopTypingFrame) + PeptideAPI.wsFrameChannel.send(channelStopTypingFrame) } "ServerUpdate" -> { val serverUpdateFrame = - RevoltJson.decodeFromString(ServerUpdateFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(ServerUpdateFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received server update frame for ${serverUpdateFrame.id}." ) - val existing = RevoltAPI.serverCache[serverUpdateFrame.id] + val existing = PeptideAPI.serverCache[serverUpdateFrame.id] ?: return // if we don't have the server no point in updating it var updated = @@ -649,7 +649,7 @@ object RealtimeSocket { } } - RevoltAPI.serverCache[serverUpdateFrame.id] = updated + PeptideAPI.serverCache[serverUpdateFrame.id] = updated if (updated.id != null && updated.owner != null && updated.name != null) { try { @@ -670,25 +670,25 @@ object RealtimeSocket { "ServerDelete" -> { val serverDeleteFrame = - RevoltJson.decodeFromString(ServerDeleteFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(ServerDeleteFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received server delete frame for ${serverDeleteFrame.id}." ) - RevoltAPI.serverCache.remove(serverDeleteFrame.id) + PeptideAPI.serverCache.remove(serverDeleteFrame.id) database.serverQueries.delete(serverDeleteFrame.id) } "ServerMemberUpdate" -> { val serverMemberUpdateFrame = - RevoltJson.decodeFromString(ServerMemberUpdateFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(ServerMemberUpdateFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received server member update frame for ${serverMemberUpdateFrame.id.user} in ${serverMemberUpdateFrame.id.server}." ) - val existing = RevoltAPI.members.getMember( + val existing = PeptideAPI.members.getMember( serverMemberUpdateFrame.id.server, serverMemberUpdateFrame.id.user ) @@ -706,12 +706,12 @@ object RealtimeSocket { Log.d("RealtimeSocket", "Updated member: $updated") - RevoltAPI.members.setMember(serverMemberUpdateFrame.id.server, updated) + PeptideAPI.members.setMember(serverMemberUpdateFrame.id.server, updated) } "ServerMemberJoin" -> { val serverMemberJoinFrame = - RevoltJson.decodeFromString(ServerMemberJoinFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(ServerMemberJoinFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received server member join frame for ${serverMemberJoinFrame.user} in ${serverMemberJoinFrame.id}." @@ -719,18 +719,18 @@ object RealtimeSocket { val member = fetchMember(serverMemberJoinFrame.id, serverMemberJoinFrame.user) - RevoltAPI.members.setMember(serverMemberJoinFrame.id, member) + PeptideAPI.members.setMember(serverMemberJoinFrame.id, member) } "ServerMemberLeave" -> { val serverMemberLeaveFrame = - RevoltJson.decodeFromString(ServerMemberLeaveFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(ServerMemberLeaveFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received server member leave frame for ${serverMemberLeaveFrame.user} in ${serverMemberLeaveFrame.id}." ) - RevoltAPI.members.removeMember( + PeptideAPI.members.removeMember( serverMemberLeaveFrame.id, serverMemberLeaveFrame.user ) @@ -738,13 +738,13 @@ object RealtimeSocket { "ServerRoleUpdate" -> { val serverRoleUpdateFrame = - RevoltJson.decodeFromString(ServerRoleUpdateFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(ServerRoleUpdateFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received server role update frame for ${serverRoleUpdateFrame.id}." ) - val server = RevoltAPI.serverCache[serverRoleUpdateFrame.id] + val server = PeptideAPI.serverCache[serverRoleUpdateFrame.id] if (server == null) { Log.d( "RealtimeSocket", @@ -766,7 +766,7 @@ object RealtimeSocket { Pair(serverRoleUpdateFrame.roleId, newRole) ) ?: mapOf(serverRoleUpdateFrame.roleId to newRole) ) - RevoltAPI.serverCache[serverRoleUpdateFrame.id] = newServer + PeptideAPI.serverCache[serverRoleUpdateFrame.id] = newServer } else { // True role update. Log.d( @@ -779,19 +779,19 @@ object RealtimeSocket { Pair(serverRoleUpdateFrame.roleId, updatedRole) ) ) - RevoltAPI.serverCache[serverRoleUpdateFrame.id] = newServer + PeptideAPI.serverCache[serverRoleUpdateFrame.id] = newServer } } "ServerRoleDelete" -> { val serverRoleDeleteFrame = - RevoltJson.decodeFromString(ServerRoleDeleteFrame.serializer(), rawFrame) + PeptideJson.decodeFromString(ServerRoleDeleteFrame.serializer(), rawFrame) Log.d( "RealtimeSocket", "Received server role delete frame for ${serverRoleDeleteFrame.id} and role ${serverRoleDeleteFrame.roleId}." ) - val server = RevoltAPI.serverCache[serverRoleDeleteFrame.id] + val server = PeptideAPI.serverCache[serverRoleDeleteFrame.id] if (server == null) { Log.d( "RealtimeSocket", @@ -803,7 +803,7 @@ object RealtimeSocket { val newRoles = server.roles?.toMutableMap() ?: mutableMapOf() newRoles.remove(serverRoleDeleteFrame.roleId) - RevoltAPI.serverCache[serverRoleDeleteFrame.id] = + PeptideAPI.serverCache[serverRoleDeleteFrame.id] = server.copy(roles = newRoles) } @@ -819,7 +819,7 @@ object RealtimeSocket { } private suspend fun pushReconnectEvent() { - RevoltAPI.wsFrameChannel.send(RealtimeSocketFrames.Reconnected) + PeptideAPI.wsFrameChannel.send(RealtimeSocketFrames.Reconnected) } suspend fun beginTyping(channelId: String) { @@ -827,7 +827,7 @@ object RealtimeSocket { val beginTypingFrame = BeginTypingFrame("BeginTyping", channelId) socket?.send( - RevoltJson.encodeToString( + PeptideJson.encodeToString( BeginTypingFrame.serializer(), beginTypingFrame ) @@ -839,7 +839,7 @@ object RealtimeSocket { val endTypingFrame = EndTypingFrame("EndTyping", channelId) socket?.send( - RevoltJson.encodeToString( + PeptideJson.encodeToString( EndTypingFrame.serializer(), endTypingFrame ) diff --git a/app/src/main/java/chat/peptide/api/routes/account/Login.kt b/app/src/main/java/chat/peptide/api/routes/account/Login.kt index 33383f28..3c56c7ae 100644 --- a/app/src/main/java/chat/peptide/api/routes/account/Login.kt +++ b/app/src/main/java/chat/peptide/api/routes/account/Login.kt @@ -2,9 +2,9 @@ package chat.peptide.api.routes.account import android.os.Build import android.util.Log -import chat.peptide.api.RevoltError -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideError +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -104,22 +104,22 @@ data class EmailPasswordAssessment( val proceedMfa: Boolean = false, val mfaSpec: MfaLoginSpec? = null, val firstUserHints: UserHints? = null, - val error: RevoltError? = null + val error: PeptideError? = null ) suspend fun negotiateAuthentication(email: String, password: String): EmailPasswordAssessment { val sessionName = friendlySessionName() - val response: HttpResponse = RevoltHttp.post("/auth/session/login".api()) { + val response: HttpResponse = PeptideHttp.post("/auth/session/login".api()) { contentType(ContentType.Application.Json) setBody(LoginNegotiation(email, password, sessionName, null)) } val responseContent = response.bodyAsText() - Log.d("Revolt", "negotiateAuthentication: $responseContent") + Log.d("Peptide", "negotiateAuthentication: $responseContent") try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), responseContent) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), responseContent) return EmailPasswordAssessment(error = error) } catch (e: SerializationException) { // Not an error @@ -127,22 +127,22 @@ suspend fun negotiateAuthentication(email: String, password: String): EmailPassw if (response.status == HttpStatusCode.InternalServerError) { return EmailPasswordAssessment( - error = RevoltError( + error = PeptideError( "InternalServerError" ) ) } - val responseJson = RevoltJson.decodeFromString(MfaCheck.serializer(), responseContent) + val responseJson = PeptideJson.decodeFromString(MfaCheck.serializer(), responseContent) return when (responseJson.result) { "Success" -> EmailPasswordAssessment( - firstUserHints = RevoltJson.decodeFromString(UserHints.serializer(), responseContent) + firstUserHints = PeptideJson.decodeFromString(UserHints.serializer(), responseContent) ) "MFA" -> EmailPasswordAssessment( proceedMfa = true, - mfaSpec = RevoltJson.decodeFromString(MfaLoginSpec.serializer(), responseContent) + mfaSpec = PeptideJson.decodeFromString(MfaLoginSpec.serializer(), responseContent) ) else -> throw Exception("Unknown result: ${responseJson.result}") @@ -153,23 +153,23 @@ suspend fun authenticateWithMfaTotpCode( mfaTicket: String, mfaResponse: MfaResponseTotpCode ): EmailPasswordAssessment { - val response: HttpResponse = RevoltHttp.post("/auth/session/login".api()) { + val response: HttpResponse = PeptideHttp.post("/auth/session/login".api()) { contentType(ContentType.Application.Json) setBody(LoginMfaAmendmentTotpCode(mfaTicket, mfaResponse, friendlySessionName())) } try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response.bodyAsText()) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response.bodyAsText()) return EmailPasswordAssessment(error = error) } catch (e: SerializationException) { // Not an error } val responseContent = response.bodyAsText() - Log.d("Revolt", "authenticateWithMfaTotpCode: $responseContent") + Log.d("Peptide", "authenticateWithMfaTotpCode: $responseContent") return EmailPasswordAssessment( - firstUserHints = RevoltJson.decodeFromString(UserHints.serializer(), responseContent) + firstUserHints = PeptideJson.decodeFromString(UserHints.serializer(), responseContent) ) } @@ -177,26 +177,26 @@ suspend fun authenticateWithMfaRecoveryCode( mfaTicket: String, mfaResponse: MfaResponseRecoveryCode ): EmailPasswordAssessment { - val response: HttpResponse = RevoltHttp.post("/auth/session/login".api()) { + val response: HttpResponse = PeptideHttp.post("/auth/session/login".api()) { contentType(ContentType.Application.Json) setBody(LoginMfaAmendmentRecoveryCode(mfaTicket, mfaResponse, friendlySessionName())) } try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response.bodyAsText()) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response.bodyAsText()) return EmailPasswordAssessment(error = error) } catch (e: SerializationException) { // Not an error } val responseContent = response.bodyAsText() - Log.d("Revolt", "authenticateWithMfaRecoveryCode: $responseContent") + Log.d("Peptide", "authenticateWithMfaRecoveryCode: $responseContent") return EmailPasswordAssessment( - firstUserHints = RevoltJson.decodeFromString(UserHints.serializer(), responseContent) + firstUserHints = PeptideJson.decodeFromString(UserHints.serializer(), responseContent) ) } fun friendlySessionName(): String { - return "Revolt Android on ${Build.MANUFACTURER} ${Build.MODEL}" + return "Peptide Android on ${Build.MANUFACTURER} ${Build.MODEL}" } diff --git a/app/src/main/java/chat/peptide/api/routes/account/Register.kt b/app/src/main/java/chat/peptide/api/routes/account/Register.kt index 62ec9785..077b7e47 100644 --- a/app/src/main/java/chat/peptide/api/routes/account/Register.kt +++ b/app/src/main/java/chat/peptide/api/routes/account/Register.kt @@ -1,8 +1,8 @@ package chat.peptide.api.routes.account -import chat.peptide.api.RevoltError -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideError +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.schemas.RsResult import chat.peptide.api.api import io.ktor.client.request.post @@ -21,8 +21,8 @@ data class RegistrationBody( val captcha: String ) -suspend fun register(body: RegistrationBody): RsResult { - val response = RevoltHttp.post("/auth/account/create".api()) { +suspend fun register(body: RegistrationBody): RsResult { + val response = PeptideHttp.post("/auth/account/create".api()) { setBody(body) contentType(ContentType.Application.Json) } @@ -30,7 +30,7 @@ suspend fun register(body: RegistrationBody): RsResult { val responseContent = response.bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), responseContent) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), responseContent) return RsResult.err(error) } catch (e: SerializationException) { // Not an error diff --git a/app/src/main/java/chat/peptide/api/routes/auth/Sessions.kt b/app/src/main/java/chat/peptide/api/routes/auth/Sessions.kt index 6bc62645..1920cf4c 100644 --- a/app/src/main/java/chat/peptide/api/routes/auth/Sessions.kt +++ b/app/src/main/java/chat/peptide/api/routes/auth/Sessions.kt @@ -1,7 +1,7 @@ package chat.peptide.api.routes.auth -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import chat.peptide.api.schemas.Session import io.ktor.client.request.delete @@ -11,21 +11,21 @@ import io.ktor.client.statement.bodyAsText import kotlinx.serialization.builtins.ListSerializer suspend fun fetchAllSessions(): List { - val response = RevoltHttp.get("/auth/session/all".api()) + val response = PeptideHttp.get("/auth/session/all".api()) .bodyAsText() - return RevoltJson.decodeFromString( + return PeptideJson.decodeFromString( ListSerializer(Session.serializer()), response ) } suspend fun logoutSessionById(id: String) { - RevoltHttp.delete("/auth/session/$id".api()) + PeptideHttp.delete("/auth/session/$id".api()) } suspend fun logoutAllSessions(includingSelf: Boolean = false) { - RevoltHttp.delete("/auth/session/all".api()) { + PeptideHttp.delete("/auth/session/all".api()) { parameter("revoke_self", includingSelf) } } diff --git a/app/src/main/java/chat/peptide/api/routes/channel/Channel.kt b/app/src/main/java/chat/peptide/api/routes/channel/Channel.kt index 9b55aafa..3b4cb21e 100644 --- a/app/src/main/java/chat/peptide/api/routes/channel/Channel.kt +++ b/app/src/main/java/chat/peptide/api/routes/channel/Channel.kt @@ -1,9 +1,9 @@ package chat.peptide.api.routes.channel -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltError -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideError +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import chat.peptide.api.internals.ULID import chat.peptide.api.schemas.Channel @@ -37,7 +37,7 @@ suspend fun fetchMessagesFromChannel( nearby: String? = null, sort: String? = null ): MessagesInChannel { - val response = RevoltHttp.get("/channels/$channelId/messages".api()) { + val response = PeptideHttp.get("/channels/$channelId/messages".api()) { parameter("limit", limit) parameter("include_users", includeUsers) @@ -49,12 +49,12 @@ suspend fun fetchMessagesFromChannel( .bodyAsText() if (includeUsers) { - return RevoltJson.decodeFromString( + return PeptideJson.decodeFromString( MessagesInChannel.serializer(), response ) } else { - val messages = RevoltJson.decodeFromString( + val messages = PeptideJson.decodeFromString( ListSerializer(Message.serializer()), response ) @@ -104,7 +104,7 @@ suspend fun sendMessage( attachments: List? = null, idempotencyKey: String = ULID.makeNext() ): String { - val response = RevoltHttp.post("/channels/$channelId/messages".api()) { + val response = PeptideHttp.post("/channels/$channelId/messages".api()) { contentType(ContentType.Application.Json) setBody( SendMessageBody( @@ -122,7 +122,7 @@ suspend fun sendMessage( } suspend fun editMessage(channelId: String, messageId: String, newContent: String? = null) { - val response = RevoltHttp.patch("/channels/$channelId/messages/$messageId".api()) { + val response = PeptideHttp.patch("/channels/$channelId/messages/$messageId".api()) { contentType(ContentType.Application.Json) setBody( EditMessageBody( @@ -133,7 +133,7 @@ suspend fun editMessage(channelId: String, messageId: String, newContent: String .bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Error(error.type) } catch (e: SerializationException) { // Not an error @@ -141,55 +141,55 @@ suspend fun editMessage(channelId: String, messageId: String, newContent: String } suspend fun deleteMessage(channelId: String, messageId: String) { - RevoltHttp.delete("/channels/$channelId/messages/$messageId".api()) + PeptideHttp.delete("/channels/$channelId/messages/$messageId".api()) } suspend fun ackChannel(channelId: String, messageId: String = ULID.makeNext()) { - RevoltHttp.put("/channels/$channelId/ack/$messageId".api()) + PeptideHttp.put("/channels/$channelId/ack/$messageId".api()) } suspend fun fetchSingleChannel(channelId: String): Channel { - val response = RevoltHttp.get("/channels/$channelId".api()) + val response = PeptideHttp.get("/channels/$channelId".api()) .bodyAsText() - return RevoltJson.decodeFromString( + return PeptideJson.decodeFromString( Channel.serializer(), response ) } suspend fun fetchGroupParticipants(channelId: String): List { - val response = RevoltHttp.get("/channels/$channelId/members".api()) + val response = PeptideHttp.get("/channels/$channelId/members".api()) .bodyAsText() - return RevoltJson.decodeFromString( + return PeptideJson.decodeFromString( ListSerializer(User.serializer()), response ) } suspend fun createInvite(channelId: String): CreateInviteResponse { - val response = RevoltHttp.post("/channels/$channelId/invites".api()) + val response = PeptideHttp.post("/channels/$channelId/invites".api()) .bodyAsText() - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) if (error.type != "Server") throw Error(error.type) - return RevoltJson.decodeFromString(CreateInviteResponse.serializer(), response) + return PeptideJson.decodeFromString(CreateInviteResponse.serializer(), response) } suspend fun fetchSingleMessage(channelId: String, messageId: String): Message { - val response = RevoltHttp.get("/channels/$channelId/messages/$messageId".api()) + val response = PeptideHttp.get("/channels/$channelId/messages/$messageId".api()) .bodyAsText() - return RevoltJson.decodeFromString( + return PeptideJson.decodeFromString( Message.serializer(), response ) } suspend fun leaveDeleteOrCloseChannel(channelId: String, leaveSilently: Boolean = false) { - RevoltHttp.delete("/channels/$channelId".api()) { + PeptideHttp.delete("/channels/$channelId".api()) { parameter("leave_silently", leaveSilently) } } @@ -207,33 +207,33 @@ suspend fun patchChannel( val body = mutableMapOf() if (name != null) { - body["name"] = RevoltJson.encodeToJsonElement(String.serializer(), name) + body["name"] = PeptideJson.encodeToJsonElement(String.serializer(), name) } if (description != null) { - body["description"] = RevoltJson.encodeToJsonElement(String.serializer(), description) + body["description"] = PeptideJson.encodeToJsonElement(String.serializer(), description) } if (icon != null) { - body["icon"] = RevoltJson.encodeToJsonElement(String.serializer(), icon) + body["icon"] = PeptideJson.encodeToJsonElement(String.serializer(), icon) } if (banner != null) { - body["banner"] = RevoltJson.encodeToJsonElement(String.serializer(), banner) + body["banner"] = PeptideJson.encodeToJsonElement(String.serializer(), banner) } if (remove != null) { - body["remove"] = RevoltJson.encodeToJsonElement(ListSerializer(String.serializer()), remove) + body["remove"] = PeptideJson.encodeToJsonElement(ListSerializer(String.serializer()), remove) } if (nsfw != null) { - body["nsfw"] = RevoltJson.encodeToJsonElement(Boolean.serializer(), nsfw) + body["nsfw"] = PeptideJson.encodeToJsonElement(Boolean.serializer(), nsfw) } - val response = RevoltHttp.patch("/channels/$channelId".api()) { + val response = PeptideHttp.patch("/channels/$channelId".api()) { contentType(ContentType.Application.Json) setBody( - RevoltJson.encodeToString( + PeptideJson.encodeToString( MapSerializer( String.serializer(), JsonElement.serializer() @@ -245,14 +245,14 @@ suspend fun patchChannel( .bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Exception(error.type) } catch (e: SerializationException) { // Not an error } if (!pure) { - val channel = RevoltJson.decodeFromString(Channel.serializer(), response) - RevoltAPI.channelCache[channelId] = channel + val channel = PeptideJson.decodeFromString(Channel.serializer(), response) + PeptideAPI.channelCache[channelId] = channel } } \ No newline at end of file diff --git a/app/src/main/java/chat/peptide/api/routes/channel/GroupDM.kt b/app/src/main/java/chat/peptide/api/routes/channel/GroupDM.kt index 07b135d5..194b47ca 100644 --- a/app/src/main/java/chat/peptide/api/routes/channel/GroupDM.kt +++ b/app/src/main/java/chat/peptide/api/routes/channel/GroupDM.kt @@ -1,8 +1,8 @@ package chat.peptide.api.routes.channel -import chat.peptide.api.RevoltError -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideError +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import chat.peptide.api.schemas.Channel import chat.peptide.screens.create.MAX_ADDABLE_PEOPLE_IN_GROUP @@ -28,23 +28,23 @@ suspend fun createGroupDM(name: String, members: List): Channel { throw Exception("Too many members, maximum is $MAX_ADDABLE_PEOPLE_IN_GROUP") } - val response = RevoltHttp.post("/channels/create".api()) { + val response = PeptideHttp.post("/channels/create".api()) { contentType(ContentType.Application.Json) setBody(CreateGroupDMBody(name, members)) }.bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Error(error.type) } catch (e: SerializationException) { // Not an error } - return RevoltJson.decodeFromString(Channel.serializer(), response) + return PeptideJson.decodeFromString(Channel.serializer(), response) } suspend fun removeMember(channelId: String, userId: String) { - val response = RevoltHttp.delete("/channels/$channelId/recipients/$userId".api()) + val response = PeptideHttp.delete("/channels/$channelId/recipients/$userId".api()) if (!response.status.isSuccess()) { throw Error(response.status.toString()) @@ -52,7 +52,7 @@ suspend fun removeMember(channelId: String, userId: String) { } suspend fun addMember(channelId: String, userId: String) { - val response = RevoltHttp.put("/channels/$channelId/recipients/$userId".api()) + val response = PeptideHttp.put("/channels/$channelId/recipients/$userId".api()) if (!response.status.isSuccess()) { throw Error(response.status.toString()) diff --git a/app/src/main/java/chat/peptide/api/routes/channel/Message.kt b/app/src/main/java/chat/peptide/api/routes/channel/Message.kt index b6639fee..bb87cc44 100644 --- a/app/src/main/java/chat/peptide/api/routes/channel/Message.kt +++ b/app/src/main/java/chat/peptide/api/routes/channel/Message.kt @@ -1,14 +1,14 @@ package chat.peptide.api.routes.channel -import chat.peptide.api.RevoltHttp +import chat.peptide.api.PeptideHttp import chat.peptide.api.api import io.ktor.client.request.delete import io.ktor.client.request.put suspend fun react(channelId: String, messageId: String, emoji: String) { - RevoltHttp.put("/channels/$channelId/messages/$messageId/reactions/$emoji".api()) + PeptideHttp.put("/channels/$channelId/messages/$messageId/reactions/$emoji".api()) } suspend fun unreact(channelId: String, messageId: String, emoji: String) { - RevoltHttp.delete("/channels/$channelId/messages/$messageId/reactions/$emoji".api()) + PeptideHttp.delete("/channels/$channelId/messages/$messageId/reactions/$emoji".api()) } \ No newline at end of file diff --git a/app/src/main/java/chat/peptide/api/routes/custom/Emoji.kt b/app/src/main/java/chat/peptide/api/routes/custom/Emoji.kt index 31c27e23..420fd4f5 100644 --- a/app/src/main/java/chat/peptide/api/routes/custom/Emoji.kt +++ b/app/src/main/java/chat/peptide/api/routes/custom/Emoji.kt @@ -1,15 +1,15 @@ package chat.peptide.api.routes.custom -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import chat.peptide.api.schemas.Emoji import io.ktor.client.request.get import io.ktor.client.statement.bodyAsText suspend fun fetchEmoji(id: String): Emoji { - val response = RevoltHttp.get("/custom/emoji/$id".api()).bodyAsText() - return RevoltJson.decodeFromString( + val response = PeptideHttp.get("/custom/emoji/$id".api()).bodyAsText() + return PeptideJson.decodeFromString( Emoji.serializer(), response ) diff --git a/app/src/main/java/chat/peptide/api/routes/googlesheets/GoogleSheetsService.kt b/app/src/main/java/chat/peptide/api/routes/googlesheets/GoogleSheetsService.kt index dc01fbf0..832f066e 100644 --- a/app/src/main/java/chat/peptide/api/routes/googlesheets/GoogleSheetsService.kt +++ b/app/src/main/java/chat/peptide/api/routes/googlesheets/GoogleSheetsService.kt @@ -1,7 +1,7 @@ package chat.peptide.api.routes.googlesheets -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import io.ktor.client.request.get import io.ktor.client.statement.bodyAsText import kotlinx.coroutines.Dispatchers @@ -27,7 +27,7 @@ object GoogleSheetsService { crossinline mapper: (Map) -> T ): List = withContext(Dispatchers.IO) { try { - val response = RevoltHttp.get(sheetUrl).bodyAsText() + val response = PeptideHttp.get(sheetUrl).bodyAsText() // Determine if the response is CSV or JSON if (sheetUrl.contains("output=csv") || response.startsWith("\"") || response.contains(",")) { @@ -104,7 +104,7 @@ object GoogleSheetsService { jsonData: String, crossinline mapper: (Map) -> T ): List { - val sheetResponse = RevoltJson.decodeFromString(jsonData) + val sheetResponse = PeptideJson.decodeFromString(jsonData) // Convert the sheet data to a list of objects val headers = sheetResponse.feed.entry diff --git a/app/src/main/java/chat/peptide/api/routes/invites/Invites.kt b/app/src/main/java/chat/peptide/api/routes/invites/Invites.kt index 720ade77..c8d81165 100644 --- a/app/src/main/java/chat/peptide/api/routes/invites/Invites.kt +++ b/app/src/main/java/chat/peptide/api/routes/invites/Invites.kt @@ -1,8 +1,8 @@ package chat.peptide.api.routes.invites -import chat.peptide.api.RevoltError -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideError +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import chat.peptide.api.schemas.Invite import chat.peptide.api.schemas.InviteJoined @@ -12,32 +12,32 @@ import io.ktor.client.request.post import io.ktor.client.statement.bodyAsText import kotlinx.serialization.SerializationException -suspend fun fetchInviteByCode(code: String): RsResult { - val response = RevoltHttp.get("/invites/$code".api()) +suspend fun fetchInviteByCode(code: String): RsResult { + val response = PeptideHttp.get("/invites/$code".api()) .bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) if (error.type != "Server") return RsResult.err(error) } catch (e: SerializationException) { // Not an error } - val invite = RevoltJson.decodeFromString(Invite.serializer(), response) + val invite = PeptideJson.decodeFromString(Invite.serializer(), response) return RsResult.ok(invite) } -suspend fun joinInviteByCode(code: String): RsResult { - val response = RevoltHttp.post("/invites/$code".api()) +suspend fun joinInviteByCode(code: String): RsResult { + val response = PeptideHttp.post("/invites/$code".api()) .bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) if (error.type != "Server") return RsResult.err(error) } catch (e: SerializationException) { // Not an error } - val invite = RevoltJson.decodeFromString(InviteJoined.serializer(), response) + val invite = PeptideJson.decodeFromString(InviteJoined.serializer(), response) return RsResult.ok(invite) } diff --git a/app/src/main/java/chat/peptide/api/routes/microservices/autumn/Autumn.kt b/app/src/main/java/chat/peptide/api/routes/microservices/autumn/Autumn.kt index 4f39c959..7d62faaa 100644 --- a/app/src/main/java/chat/peptide/api/routes/microservices/autumn/Autumn.kt +++ b/app/src/main/java/chat/peptide/api/routes/microservices/autumn/Autumn.kt @@ -1,9 +1,9 @@ package chat.peptide.api.routes.microservices.autumn import chat.peptide.api.HitRateLimitException -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.schemas.AutumnError import chat.peptide.api.schemas.AutumnId import io.ktor.client.plugins.onUpload @@ -36,9 +36,9 @@ suspend fun uploadToAutumn( contentType: ContentType, onProgress: (Long, Long) -> Unit = { _, _ -> } ): String { - val uploadUrl = "${RevoltAPI.getCurrentFilesUrl()}/$tag" + val uploadUrl = "${PeptideAPI.getCurrentFilesUrl()}/$tag" - val response = RevoltHttp.post(uploadUrl) { + val response = PeptideHttp.post(uploadUrl) { setBody( MultiPartFormDataContent( formData { @@ -53,18 +53,18 @@ suspend fun uploadToAutumn( } ) ) - header(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken) + header(PeptideAPI.TOKEN_HEADER_NAME, PeptideAPI.sessionToken) onUpload { bytesSentTotal, contentLength -> contentLength?.let { onProgress(bytesSentTotal, it) } } } try { - val autumnId = RevoltJson.decodeFromString(AutumnId.serializer(), response.bodyAsText()) + val autumnId = PeptideJson.decodeFromString(AutumnId.serializer(), response.bodyAsText()) return autumnId.id } catch (e: Exception) { try { - val error = RevoltJson.decodeFromString(AutumnError.serializer(), response.bodyAsText()) + val error = PeptideJson.decodeFromString(AutumnError.serializer(), response.bodyAsText()) throw Exception(error.type) } catch (e: Exception) { if (response.status == HttpStatusCode.TooManyRequests) { diff --git a/app/src/main/java/chat/peptide/api/routes/microservices/geo/Geo.kt b/app/src/main/java/chat/peptide/api/routes/microservices/geo/Geo.kt index 249f410b..e6d09751 100644 --- a/app/src/main/java/chat/peptide/api/routes/microservices/geo/Geo.kt +++ b/app/src/main/java/chat/peptide/api/routes/microservices/geo/Geo.kt @@ -1,8 +1,8 @@ package chat.peptide.api.routes.microservices.geo import chat.peptide.api.HitRateLimitException -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.buildUserAgent import io.ktor.client.request.get import io.ktor.client.request.header @@ -18,12 +18,12 @@ data class GeoResponse( suspend fun queryGeo(): GeoResponse { try { - val response = RevoltHttp.get("https://geo.revolt.chat/?client=android") { + val response = PeptideHttp.get("https://geo.peptide.chat/?client=android") { header("User-Agent", buildUserAgent("Ktor queryGeo")) } if (response.status == HttpStatusCode.OK) { - return RevoltJson.decodeFromString(response.bodyAsText()) + return PeptideJson.decodeFromString(response.bodyAsText()) } else throw Exception("Failed to query geo: ${response.status.value} ${response.status.description}") } catch (e: Exception) { throw Exception("Failed to query geo: ${e.message}", e).also { diff --git a/app/src/main/java/chat/peptide/api/routes/microservices/health/Health.kt b/app/src/main/java/chat/peptide/api/routes/microservices/health/Health.kt index 337fc1d1..87ee1530 100644 --- a/app/src/main/java/chat/peptide/api/routes/microservices/health/Health.kt +++ b/app/src/main/java/chat/peptide/api/routes/microservices/health/Health.kt @@ -1,12 +1,12 @@ package chat.peptide.api.routes.microservices.health -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.schemas.HealthNotice import io.ktor.client.request.get import io.ktor.client.statement.bodyAsText suspend fun healthCheck(): HealthNotice { - val response = RevoltHttp.get("https://health.revolt.chat/api/health").bodyAsText() - return RevoltJson.decodeFromString(HealthNotice.serializer(), response) + val response = PeptideHttp.get("https://health.peptide.chat/api/health").bodyAsText() + return PeptideJson.decodeFromString(HealthNotice.serializer(), response) } \ No newline at end of file diff --git a/app/src/main/java/chat/peptide/api/routes/microservices/january/January.kt b/app/src/main/java/chat/peptide/api/routes/microservices/january/January.kt index 8c7dcf63..33bf6b1e 100644 --- a/app/src/main/java/chat/peptide/api/routes/microservices/january/January.kt +++ b/app/src/main/java/chat/peptide/api/routes/microservices/january/January.kt @@ -1,8 +1,8 @@ package chat.peptide.api.routes.microservices.january -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import java.net.URLEncoder fun asJanuaryProxyUrl(url: String): String { - return "${RevoltAPI.getCurrentJanuaryUrl()}/proxy?url=${URLEncoder.encode(url, "utf-8")}" + return "${PeptideAPI.getCurrentJanuaryUrl()}/proxy?url=${URLEncoder.encode(url, "utf-8")}" } diff --git a/app/src/main/java/chat/peptide/api/routes/misc/Root.kt b/app/src/main/java/chat/peptide/api/routes/misc/Root.kt index f3839c41..05033524 100644 --- a/app/src/main/java/chat/peptide/api/routes/misc/Root.kt +++ b/app/src/main/java/chat/peptide/api/routes/misc/Root.kt @@ -1,6 +1,6 @@ package chat.peptide.api.routes.misc -import chat.peptide.api.RevoltHttp +import chat.peptide.api.PeptideHttp import chat.peptide.api.api import io.ktor.client.call.body import io.ktor.client.request.get @@ -9,7 +9,7 @@ import kotlinx.serialization.Serializable @Serializable data class Root( - val revolt: String, + val peptide: String, val features: Features, val ws: String, val app: String, @@ -61,5 +61,5 @@ data class LiveKitNode( ) suspend fun getRootRoute(): Root { - return RevoltHttp.get("/".api()).body() + return PeptideHttp.get("/".api()).body() } diff --git a/app/src/main/java/chat/peptide/api/routes/onboard/Onboarding.kt b/app/src/main/java/chat/peptide/api/routes/onboard/Onboarding.kt index 8e2273a7..893daf8f 100644 --- a/app/src/main/java/chat/peptide/api/routes/onboard/Onboarding.kt +++ b/app/src/main/java/chat/peptide/api/routes/onboard/Onboarding.kt @@ -1,10 +1,10 @@ package chat.peptide.api.routes.onboard import chat.peptide.api.RateLimitResponse -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltError -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideError +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import chat.peptide.api.schemas.RsResult import io.ktor.client.request.get @@ -23,22 +23,22 @@ data class OnboardingResponse( val onboarding: Boolean ) -suspend fun needsOnboarding(sessionToken: String = RevoltAPI.sessionToken): Boolean { - val response = RevoltHttp.get("/onboard/hello".api()) { - header(RevoltAPI.TOKEN_HEADER_NAME, sessionToken) +suspend fun needsOnboarding(sessionToken: String = PeptideAPI.sessionToken): Boolean { + val response = PeptideHttp.get("/onboard/hello".api()) { + header(PeptideAPI.TOKEN_HEADER_NAME, sessionToken) } val responseContent = response.bodyAsText() try { val rateLimitResponse = - RevoltJson.decodeFromString(RateLimitResponse.serializer(), responseContent) + PeptideJson.decodeFromString(RateLimitResponse.serializer(), responseContent) throw rateLimitResponse.toException() } catch (e: SerializationException) { // good path } - return RevoltJson.decodeFromString(OnboardingResponse.serializer(), responseContent).onboarding + return PeptideJson.decodeFromString(OnboardingResponse.serializer(), responseContent).onboarding } @Serializable @@ -48,26 +48,26 @@ data class OnboardingCompletionBody( suspend fun completeOnboarding( body: OnboardingCompletionBody, - sessionToken: String = RevoltAPI.sessionToken -): RsResult { - val response = RevoltHttp.post("/onboard/complete".api()) { + sessionToken: String = PeptideAPI.sessionToken +): RsResult { + val response = PeptideHttp.post("/onboard/complete".api()) { setBody(body) contentType(ContentType.Application.Json) - header(RevoltAPI.TOKEN_HEADER_NAME, sessionToken) + header(PeptideAPI.TOKEN_HEADER_NAME, sessionToken) } if (response.status == HttpStatusCode.Conflict) { - return RsResult.err(RevoltError("UsernameTaken")) + return RsResult.err(PeptideError("UsernameTaken")) } if (response.status == HttpStatusCode.BadRequest) { - return RsResult.err(RevoltError("InvalidUsername")) + return RsResult.err(PeptideError("InvalidUsername")) } val responseContent = response.bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), responseContent) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), responseContent) return RsResult.err(error) } catch (e: SerializationException) { // Not an error diff --git a/app/src/main/java/chat/peptide/api/routes/push/Push.kt b/app/src/main/java/chat/peptide/api/routes/push/Push.kt index b6ac2660..b438e83c 100644 --- a/app/src/main/java/chat/peptide/api/routes/push/Push.kt +++ b/app/src/main/java/chat/peptide/api/routes/push/Push.kt @@ -1,6 +1,6 @@ package chat.peptide.api.routes.push -import chat.peptide.api.RevoltHttp +import chat.peptide.api.PeptideHttp import chat.peptide.api.routes.account.WebPushData import chat.peptide.api.api import io.ktor.client.request.post @@ -19,7 +19,7 @@ suspend fun subscribePush( auth = auth ) - RevoltHttp.post("/push/subscribe".api()) { + PeptideHttp.post("/push/subscribe".api()) { setBody(data) contentType(ContentType.Application.Json) } diff --git a/app/src/main/java/chat/peptide/api/routes/safety/Reporting.kt b/app/src/main/java/chat/peptide/api/routes/safety/Reporting.kt index 2dc4a5c5..9386e4f9 100644 --- a/app/src/main/java/chat/peptide/api/routes/safety/Reporting.kt +++ b/app/src/main/java/chat/peptide/api/routes/safety/Reporting.kt @@ -1,8 +1,8 @@ package chat.peptide.api.routes.safety -import chat.peptide.api.RevoltError -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideError +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.schemas.ContentReportReason import chat.peptide.api.schemas.FullMessageReport import chat.peptide.api.schemas.FullServerReport @@ -31,9 +31,9 @@ suspend fun putMessageReport( additional_context = additionalContext ) - val response = RevoltHttp.post("/safety/report".api()) { + val response = PeptideHttp.post("/safety/report".api()) { setBody( - RevoltJson.encodeToString( + PeptideJson.encodeToString( FullMessageReport.serializer(), fullMessageReport ) @@ -42,7 +42,7 @@ suspend fun putMessageReport( .bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Error(error.type) } catch (e: SerializationException) { // Not an error @@ -63,9 +63,9 @@ suspend fun putServerReport( additional_context = additionalContext ) - val response = RevoltHttp.post("/safety/report".api()) { + val response = PeptideHttp.post("/safety/report".api()) { setBody( - RevoltJson.encodeToString( + PeptideJson.encodeToString( FullServerReport.serializer(), fullServerReport ) @@ -74,7 +74,7 @@ suspend fun putServerReport( .bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Error(error.type) } catch (e: SerializationException) { // Not an error @@ -95,9 +95,9 @@ suspend fun putUserReport( additional_context = additionalContext ) - val response = RevoltHttp.post("/safety/report".api()) { + val response = PeptideHttp.post("/safety/report".api()) { setBody( - RevoltJson.encodeToString( + PeptideJson.encodeToString( FullUserReport.serializer(), fullUserReport ) @@ -106,7 +106,7 @@ suspend fun putUserReport( .bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Error(error.type) } catch (e: SerializationException) { // Not an error diff --git a/app/src/main/java/chat/peptide/api/routes/server/Server.kt b/app/src/main/java/chat/peptide/api/routes/server/Server.kt index e886aca5..0b8b379d 100644 --- a/app/src/main/java/chat/peptide/api/routes/server/Server.kt +++ b/app/src/main/java/chat/peptide/api/routes/server/Server.kt @@ -1,9 +1,9 @@ package chat.peptide.api.routes.server -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltError -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideError +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import chat.peptide.api.schemas.Member import chat.peptide.api.schemas.ServerWithChannelObjects @@ -25,7 +25,7 @@ data class FetchMembersResponse( ) suspend fun ackServer(serverId: String) { - RevoltHttp.put("/servers/$serverId/ack".api()) + PeptideHttp.put("/servers/$serverId/ack".api()) } suspend fun fetchMembers( @@ -33,55 +33,55 @@ suspend fun fetchMembers( includeOffline: Boolean = false, pure: Boolean = false ): FetchMembersResponse { - val response = RevoltHttp.get("/servers/$serverId/members".api()) { + val response = PeptideHttp.get("/servers/$serverId/members".api()) { parameter("exclude_offline", !includeOffline) } val responseContent = response.bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), responseContent) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), responseContent) throw Error(error.type) } catch (e: SerializationException) { // Not an error } val membersResponse = - RevoltJson.decodeFromString(FetchMembersResponse.serializer(), responseContent) + PeptideJson.decodeFromString(FetchMembersResponse.serializer(), responseContent) if (pure) { return membersResponse } membersResponse.members.forEach { member -> - if (!RevoltAPI.members.hasMember(serverId, member.id!!.user)) { - RevoltAPI.members.setMember(serverId, member) + if (!PeptideAPI.members.hasMember(serverId, member.id!!.user)) { + PeptideAPI.members.setMember(serverId, member) } } membersResponse.users.forEach { user -> - user.id?.let { RevoltAPI.userCache.putIfAbsent(it, user) } + user.id?.let { PeptideAPI.userCache.putIfAbsent(it, user) } } return membersResponse } suspend fun fetchMember(serverId: String, userId: String, pure: Boolean = false): Member { - val response = RevoltHttp.get("/servers/$serverId/members/$userId".api()) + val response = PeptideHttp.get("/servers/$serverId/members/$userId".api()) try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response.bodyAsText()) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response.bodyAsText()) throw Exception(error.type) } catch (e: SerializationException) { // Not an error } - val member = RevoltJson.decodeFromString(Member.serializer(), response.bodyAsText()) + val member = PeptideJson.decodeFromString(Member.serializer(), response.bodyAsText()) if (!pure) { member.id?.let { - if (!RevoltAPI.members.hasMember(serverId, it.user)) { - RevoltAPI.members.setMember(serverId, member) + if (!PeptideAPI.members.hasMember(serverId, it.user)) { + PeptideAPI.members.setMember(serverId, member) } } } @@ -90,7 +90,7 @@ suspend fun fetchMember(serverId: String, userId: String, pure: Boolean = false) } suspend fun leaveOrDeleteServer(serverId: String, leaveSilently: Boolean = false) { - RevoltHttp.delete("/servers/$serverId".api()) { + PeptideHttp.delete("/servers/$serverId".api()) { parameter("leave_silently", leaveSilently) } } @@ -109,16 +109,16 @@ suspend fun createServer( ): ServerWithChannelObjects { val body = ServerCreationBody(name, description, nsfw) - val response = RevoltHttp.post("/servers/create".api()) { - setBody(RevoltJson.encodeToString(ServerCreationBody.serializer(), body)) + val response = PeptideHttp.post("/servers/create".api()) { + setBody(PeptideJson.encodeToString(ServerCreationBody.serializer(), body)) } try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response.bodyAsText()) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response.bodyAsText()) throw Exception(error.type) } catch (e: SerializationException) { // Not an error } - return RevoltJson.decodeFromString(ServerWithChannelObjects.serializer(), response.bodyAsText()) + return PeptideJson.decodeFromString(ServerWithChannelObjects.serializer(), response.bodyAsText()) } \ No newline at end of file diff --git a/app/src/main/java/chat/peptide/api/routes/sync/SettingsSync.kt b/app/src/main/java/chat/peptide/api/routes/sync/SettingsSync.kt index 4ff3b634..c3d5503c 100644 --- a/app/src/main/java/chat/peptide/api/routes/sync/SettingsSync.kt +++ b/app/src/main/java/chat/peptide/api/routes/sync/SettingsSync.kt @@ -1,8 +1,8 @@ package chat.peptide.api.routes.sync -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import io.ktor.client.request.parameter import io.ktor.client.request.post @@ -17,13 +17,13 @@ import kotlinx.serialization.json.JsonArray @Serializable data class SyncedSetting(val timestamp: Long, val value: String) -suspend fun getKeys(vararg keys: String, revoltToken: String): Map { - val response = RevoltHttp.post("/sync/settings/fetch".api()) { - headers.append(RevoltAPI.TOKEN_HEADER_NAME, revoltToken) +suspend fun getKeys(vararg keys: String, peptideToken: String): Map { + val response = PeptideHttp.post("/sync/settings/fetch".api()) { + headers.append(PeptideAPI.TOKEN_HEADER_NAME, peptideToken) // format: {"keys": ["key1", "key2"]} setBody( - RevoltJson.encodeToString( + PeptideJson.encodeToString( MapSerializer( String.serializer(), ListSerializer(String.serializer()) @@ -33,7 +33,7 @@ suspend fun getKeys(vararg keys: String, revoltToken: String): Map { - return getKeys(*keys, revoltToken = RevoltAPI.sessionToken) + return getKeys(*keys, peptideToken = PeptideAPI.sessionToken) } suspend fun setKey(key: String, value: String) { - RevoltHttp.post("/sync/settings/set".api()) { + PeptideHttp.post("/sync/settings/set".api()) { parameter("timestamp", System.currentTimeMillis()) // format: {"key": "value"} setBody( - RevoltJson.encodeToString( + PeptideJson.encodeToString( MapSerializer( String.serializer(), String.serializer() diff --git a/app/src/main/java/chat/peptide/api/routes/sync/UnreadSync.kt b/app/src/main/java/chat/peptide/api/routes/sync/UnreadSync.kt index bdbab7c5..073faacd 100644 --- a/app/src/main/java/chat/peptide/api/routes/sync/UnreadSync.kt +++ b/app/src/main/java/chat/peptide/api/routes/sync/UnreadSync.kt @@ -1,7 +1,7 @@ package chat.peptide.api.routes.sync -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import chat.peptide.api.schemas.ChannelUnreadResponse import io.ktor.client.request.get @@ -9,10 +9,10 @@ import io.ktor.client.statement.bodyAsText import kotlinx.serialization.builtins.ListSerializer suspend fun syncUnreads(): List { - val response = RevoltHttp.get("/sync/unreads".api()) + val response = PeptideHttp.get("/sync/unreads".api()) .bodyAsText() - return RevoltJson.decodeFromString( + return PeptideJson.decodeFromString( ListSerializer(ChannelUnreadResponse.serializer()), response ) diff --git a/app/src/main/java/chat/peptide/api/routes/user/DirectMessaging.kt b/app/src/main/java/chat/peptide/api/routes/user/DirectMessaging.kt index 3a31ee2a..fbeda2c9 100644 --- a/app/src/main/java/chat/peptide/api/routes/user/DirectMessaging.kt +++ b/app/src/main/java/chat/peptide/api/routes/user/DirectMessaging.kt @@ -1,8 +1,8 @@ package chat.peptide.api.routes.user -import chat.peptide.api.RevoltError -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideError +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import chat.peptide.api.schemas.Channel import io.ktor.client.request.get @@ -10,15 +10,15 @@ import io.ktor.client.statement.bodyAsText import kotlinx.serialization.SerializationException suspend fun openDM(userId: String): Channel { - val response = RevoltHttp.get("/users/$userId/dm".api()) + val response = PeptideHttp.get("/users/$userId/dm".api()) .bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Error(error.type) } catch (e: SerializationException) { // Not an error } - return RevoltJson.decodeFromString(Channel.serializer(), response) + return PeptideJson.decodeFromString(Channel.serializer(), response) } \ No newline at end of file diff --git a/app/src/main/java/chat/peptide/api/routes/user/Relationships.kt b/app/src/main/java/chat/peptide/api/routes/user/Relationships.kt index 3c1061c1..4551b3e0 100644 --- a/app/src/main/java/chat/peptide/api/routes/user/Relationships.kt +++ b/app/src/main/java/chat/peptide/api/routes/user/Relationships.kt @@ -1,8 +1,8 @@ package chat.peptide.api.routes.user -import chat.peptide.api.RevoltError -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideError +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import io.ktor.client.request.delete import io.ktor.client.request.post @@ -14,11 +14,11 @@ import io.ktor.http.contentType import kotlinx.serialization.SerializationException suspend fun blockUser(userId: String) { - val response = RevoltHttp.put("/users/$userId/block".api()) + val response = PeptideHttp.put("/users/$userId/block".api()) .bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Exception(error.type) } catch (e: SerializationException) { // Not an error @@ -26,11 +26,11 @@ suspend fun blockUser(userId: String) { } suspend fun unblockUser(userId: String) { - val response = RevoltHttp.delete("/users/$userId/block".api()) + val response = PeptideHttp.delete("/users/$userId/block".api()) .bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Exception(error.type) } catch (e: SerializationException) { // Not an error @@ -38,14 +38,14 @@ suspend fun unblockUser(userId: String) { } suspend fun friendUser(username: String) { - val response = RevoltHttp.post("/users/friend".api()) { + val response = PeptideHttp.post("/users/friend".api()) { contentType(ContentType.Application.Json) setBody(mapOf("username" to username)) } val body = response.bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), body) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), body) throw Exception(error.type) } catch (e: SerializationException) { // Not an error @@ -53,11 +53,11 @@ suspend fun friendUser(username: String) { } suspend fun acceptFriendRequest(userId: String) { - val response = RevoltHttp.put("/users/$userId/friend".api()) + val response = PeptideHttp.put("/users/$userId/friend".api()) .bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Exception(error.type) } catch (e: SerializationException) { // Not an error @@ -65,11 +65,11 @@ suspend fun acceptFriendRequest(userId: String) { } suspend fun unfriendUser(userId: String) { - val response = RevoltHttp.delete("/users/$userId/friend".api()) + val response = PeptideHttp.delete("/users/$userId/friend".api()) .bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Exception(error.type) } catch (e: SerializationException) { // Not an error diff --git a/app/src/main/java/chat/peptide/api/routes/user/User.kt b/app/src/main/java/chat/peptide/api/routes/user/User.kt index d2075ac6..d249d288 100644 --- a/app/src/main/java/chat/peptide/api/routes/user/User.kt +++ b/app/src/main/java/chat/peptide/api/routes/user/User.kt @@ -1,9 +1,9 @@ package chat.peptide.api.routes.user -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltError -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideError +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import chat.peptide.api.schemas.Profile import chat.peptide.api.schemas.Status @@ -21,24 +21,24 @@ import kotlinx.serialization.builtins.serializer import kotlinx.serialization.json.JsonElement suspend fun fetchSelf(): User { - val response = RevoltHttp.get("/users/@me".api()) + val response = PeptideHttp.get("/users/@me".api()) .bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Exception(error.type) } catch (e: SerializationException) { // Not an error } - val user = RevoltJson.decodeFromString(User.serializer(), response) + val user = PeptideJson.decodeFromString(User.serializer(), response) if (user.id == null) { throw Exception("Self user ID is null") } - RevoltAPI.userCache[user.id] = user - RevoltAPI.selfId = user.id + PeptideAPI.userCache[user.id] = user + PeptideAPI.selfId = user.id return user } @@ -54,11 +54,11 @@ suspend fun patchSelf( val body = mutableMapOf() if (status != null) { - body["status"] = RevoltJson.encodeToJsonElement(Status.serializer(), status) + body["status"] = PeptideJson.encodeToJsonElement(Status.serializer(), status) } if (avatar != null) { - body["avatar"] = RevoltJson.encodeToJsonElement(String.serializer(), avatar) + body["avatar"] = PeptideJson.encodeToJsonElement(String.serializer(), avatar) } if (background != null || bio != null) { @@ -71,7 +71,7 @@ suspend fun patchSelf( profileMap["content"] = bio } - body["profile"] = RevoltJson.encodeToJsonElement( + body["profile"] = PeptideJson.encodeToJsonElement( MapSerializer( String.serializer(), String.serializer() @@ -81,13 +81,13 @@ suspend fun patchSelf( } if (remove != null) { - body["remove"] = RevoltJson.encodeToJsonElement(ListSerializer(String.serializer()), remove) + body["remove"] = PeptideJson.encodeToJsonElement(ListSerializer(String.serializer()), remove) } - val response = RevoltHttp.patch("/users/@me".api()) { + val response = PeptideHttp.patch("/users/@me".api()) { contentType(ContentType.Application.Json) setBody( - RevoltJson.encodeToString( + PeptideJson.encodeToString( MapSerializer( String.serializer(), JsonElement.serializer() @@ -98,21 +98,21 @@ suspend fun patchSelf( } .bodyAsText() - if (RevoltAPI.selfId == null) { + if (PeptideAPI.selfId == null) { throw Error("Self ID is null") } - val currentUser = RevoltAPI.userCache[RevoltAPI.selfId] ?: fetchSelf() - val newUserKeys = RevoltJson.decodeFromString(User.serializer(), response) + val currentUser = PeptideAPI.userCache[PeptideAPI.selfId] ?: fetchSelf() + val newUserKeys = PeptideJson.decodeFromString(User.serializer(), response) val mergedUser = currentUser.mergeWithPartial(newUserKeys) if (!pure) { - RevoltAPI.userCache[RevoltAPI.selfId!!] = mergedUser + PeptideAPI.userCache[PeptideAPI.selfId!!] = mergedUser } } suspend fun fetchUser(id: String): User { - val res = RevoltHttp.get("/users/$id".api()) + val res = PeptideHttp.get("/users/$id".api()) if (res.status.value == 404) { return User.getPlaceholder(id) @@ -121,42 +121,42 @@ suspend fun fetchUser(id: String): User { val response = res.bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Exception(error.type) } catch (e: SerializationException) { // Not an error } - val user = RevoltJson.decodeFromString(User.serializer(), response) + val user = PeptideJson.decodeFromString(User.serializer(), response) user.id?.let { - RevoltAPI.userCache[it] = user + PeptideAPI.userCache[it] = user } return user } suspend fun getOrFetchUser(id: String): User { - return RevoltAPI.userCache[id] ?: fetchUser(id) + return PeptideAPI.userCache[id] ?: fetchUser(id) } suspend fun addUserIfUnknown(id: String) { - if (RevoltAPI.userCache[id] == null) { - RevoltAPI.userCache[id] = fetchUser(id) + if (PeptideAPI.userCache[id] == null) { + PeptideAPI.userCache[id] = fetchUser(id) } } suspend fun fetchUserProfile(id: String): Profile { - val res = RevoltHttp.get("/users/$id/profile".api()) + val res = PeptideHttp.get("/users/$id/profile".api()) val response = res.bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Exception(error.type) } catch (e: SerializationException) { // Not an error } - return RevoltJson.decodeFromString(Profile.serializer(), response) + return PeptideJson.decodeFromString(Profile.serializer(), response) } \ No newline at end of file diff --git a/app/src/main/java/chat/peptide/api/routes/voice/Voice.kt b/app/src/main/java/chat/peptide/api/routes/voice/Voice.kt index 7f21b2b0..5df2c143 100644 --- a/app/src/main/java/chat/peptide/api/routes/voice/Voice.kt +++ b/app/src/main/java/chat/peptide/api/routes/voice/Voice.kt @@ -1,8 +1,8 @@ package chat.peptide.api.routes.voice -import chat.peptide.api.RevoltError -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideError +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.api.api import io.ktor.client.request.post import io.ktor.client.request.setBody @@ -19,17 +19,17 @@ data class JoinCallResponse( ) suspend fun joinCall(channelId: String, nodeName: String): JoinCallResponse { - val response = RevoltHttp.post("/channels/$channelId/join_call".api()) { + val response = PeptideHttp.post("/channels/$channelId/join_call".api()) { contentType(ContentType.Application.Json) setBody(mapOf("node" to nodeName)) }.bodyAsText() try { - val error = RevoltJson.decodeFromString(RevoltError.serializer(), response) + val error = PeptideJson.decodeFromString(PeptideError.serializer(), response) throw Exception(error.type) } catch (e: SerializationException) { // Not an error } - return RevoltJson.decodeFromString(JoinCallResponse.serializer(), response) + return PeptideJson.decodeFromString(JoinCallResponse.serializer(), response) } \ No newline at end of file diff --git a/app/src/main/java/chat/peptide/api/schemas/Auth.kt b/app/src/main/java/chat/peptide/api/schemas/Auth.kt index e3bbe5c2..5a82a044 100644 --- a/app/src/main/java/chat/peptide/api/schemas/Auth.kt +++ b/app/src/main/java/chat/peptide/api/schemas/Auth.kt @@ -1,6 +1,6 @@ package chat.peptide.api.schemas -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -10,6 +10,6 @@ data class Session( val name: String ) { fun isCurrent(): Boolean { - return id == RevoltAPI.sessionId + return id == PeptideAPI.sessionId } } diff --git a/app/src/main/java/chat/peptide/api/schemas/Invites.kt b/app/src/main/java/chat/peptide/api/schemas/Invites.kt index 6950995a..109ad690 100644 --- a/app/src/main/java/chat/peptide/api/schemas/Invites.kt +++ b/app/src/main/java/chat/peptide/api/schemas/Invites.kt @@ -2,7 +2,7 @@ package chat.peptide.api.schemas import android.net.Uri import androidx.core.net.toUri -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -51,10 +51,10 @@ data class InviteJoined( fun Uri.isInviteUri(): Boolean { val firstPathSegmentIsInvite = this.pathSegments.firstOrNull() == "invite" - val isAppRevoltChat = this.host == RevoltAPI.getCurrentAppUrl().toUri().host - val matchRvltGG = this.host == RevoltAPI.getCurrentInvitesUrl().toUri().host + val isAppPeptideChat = this.host == PeptideAPI.getCurrentAppUrl().toUri().host + val matchRvltGG = this.host == PeptideAPI.getCurrentInvitesUrl().toUri().host - val matchApp = isAppRevoltChat && firstPathSegmentIsInvite + val matchApp = isAppPeptideChat && firstPathSegmentIsInvite val hasEnoughSegments = if (matchApp) this.pathSegments.size == 2 else this.pathSegments.size == 1 diff --git a/app/src/main/java/chat/peptide/api/schemas/Messages.kt b/app/src/main/java/chat/peptide/api/schemas/Messages.kt index f8f04d06..c42e4206 100644 --- a/app/src/main/java/chat/peptide/api/schemas/Messages.kt +++ b/app/src/main/java/chat/peptide/api/schemas/Messages.kt @@ -1,6 +1,6 @@ package chat.peptide.api.schemas -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -31,7 +31,7 @@ data class Message( val tail: Boolean? = null // this is used to determine if the message is the last in a message group ) { fun getAuthor(): User? { - return author?.let { RevoltAPI.userCache[it] } + return author?.let { PeptideAPI.userCache[it] } } fun mergeWithPartial(partial: Message): Message { diff --git a/app/src/main/java/chat/peptide/api/schemas/Settings.kt b/app/src/main/java/chat/peptide/api/schemas/Settings.kt index b1ec4be5..761c369d 100644 --- a/app/src/main/java/chat/peptide/api/schemas/Settings.kt +++ b/app/src/main/java/chat/peptide/api/schemas/Settings.kt @@ -40,7 +40,7 @@ data class AndroidSpecificSettingsSpecialEmbedSettings( data class AndroidSpecificSettings( /** * The theme to use for the app. - * Can be one of `{ None, Revolt, Light, M3Dynamic, Amoled }` + * Can be one of `{ None, Peptide, Light, M3Dynamic, Amoled }` */ var theme: String? = null, /** diff --git a/app/src/main/java/chat/peptide/api/settings/Experiments.kt b/app/src/main/java/chat/peptide/api/settings/Experiments.kt index d8210700..2db9a1ac 100644 --- a/app/src/main/java/chat/peptide/api/settings/Experiments.kt +++ b/app/src/main/java/chat/peptide/api/settings/Experiments.kt @@ -4,7 +4,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue import chat.peptide.BuildConfig -import chat.peptide.RevoltApplication +import chat.peptide.PeptideApplication import chat.peptide.persistence.KVStorage class ExperimentInstance(default: Boolean) { @@ -31,7 +31,7 @@ object Experiments { val enableServerIdentityOptions = ExperimentInstance(false) suspend fun hydrateWithKv() { - val kvStorage = KVStorage(RevoltApplication.instance) + val kvStorage = KVStorage(PeptideApplication.instance) if (BuildConfig.DEBUG) { LoadedSettings.experimentsEnabled = true diff --git a/app/src/main/java/chat/peptide/api/settings/FeatureFlags.kt b/app/src/main/java/chat/peptide/api/settings/FeatureFlags.kt index 95d2480b..44c5a6e0 100644 --- a/app/src/main/java/chat/peptide/api/settings/FeatureFlags.kt +++ b/app/src/main/java/chat/peptide/api/settings/FeatureFlags.kt @@ -3,7 +3,7 @@ package chat.peptide.api.settings import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.SpecialUsers annotation class FeatureFlag(val name: String) @@ -60,7 +60,7 @@ object FeatureFlags { @FeatureFlag("LabsAccessControl") var labsAccessControl by mutableStateOf( LabsAccessControlVariates.Restricted { - RevoltAPI.selfId == SpecialUsers.JENNIFER + PeptideAPI.selfId == SpecialUsers.JENNIFER } ) @@ -72,7 +72,7 @@ object FeatureFlags { @FeatureFlag("UserCards") var userCards by mutableStateOf( UserCardsVariates.Restricted { - RevoltAPI.selfId?.endsWith("Z") == true + PeptideAPI.selfId?.endsWith("Z") == true } ) diff --git a/app/src/main/java/chat/peptide/api/settings/LoadedSettings.kt b/app/src/main/java/chat/peptide/api/settings/LoadedSettings.kt index 33e5caab..436c5fd9 100644 --- a/app/src/main/java/chat/peptide/api/settings/LoadedSettings.kt +++ b/app/src/main/java/chat/peptide/api/settings/LoadedSettings.kt @@ -25,12 +25,16 @@ object LoadedSettings { var poorlyFormedSettingsKeys by mutableStateOf(emptySet()) fun hydrateWithSettings(settings: SyncedSettings) { - this.theme = settings.android.theme?.let { Theme.valueOf(it) } ?: getDefaultTheme() - this.messageReplyStyle = - settings.android.messageReplyStyle?.let { MessageReplyStyle.valueOf(it) } - ?: MessageReplyStyle.SwipeFromEnd - this.avatarRadius = settings.android.avatarRadius ?: 50 - this.specialEmbedSettings = settings.android.specialEmbedSettings ?: SpecialEmbedSettings() + try { + this.theme = settings.android.theme?.let { Theme.valueOf(it) } ?: getDefaultTheme() + this.messageReplyStyle = + settings.android.messageReplyStyle?.let { MessageReplyStyle.valueOf(it) } + ?: MessageReplyStyle.SwipeFromEnd + this.avatarRadius = settings.android.avatarRadius ?: 50 + this.specialEmbedSettings = settings.android.specialEmbedSettings ?: SpecialEmbedSettings() + } catch (_: Exception) { + reset() + } } fun reset() { diff --git a/app/src/main/java/chat/peptide/api/settings/SyncedSettings.kt b/app/src/main/java/chat/peptide/api/settings/SyncedSettings.kt index 4d466e25..20bf8306 100644 --- a/app/src/main/java/chat/peptide/api/settings/SyncedSettings.kt +++ b/app/src/main/java/chat/peptide/api/settings/SyncedSettings.kt @@ -1,8 +1,8 @@ package chat.peptide.api.settings import androidx.compose.runtime.mutableStateOf -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideJson import chat.peptide.api.routes.sync.getKeys import chat.peptide.api.routes.sync.setKey import chat.peptide.api.schemas.AndroidSpecificSettings @@ -40,14 +40,14 @@ object SyncedSettings { val notifications: NotificationSettings get() = _notifications.value - suspend fun fetch(revoltToken: String = RevoltAPI.sessionToken) { + suspend fun fetch(peptideToken: String = PeptideAPI.sessionToken) { try { val settings = - getKeys("ordering", "android", "notifications", revoltToken = revoltToken) + getKeys("ordering", "android", "notifications", peptideToken = peptideToken) settings["ordering"]?.let { try { - _ordering.value = RevoltJson.decodeFromString( + _ordering.value = PeptideJson.decodeFromString( OrderingSettings.serializer(), it.value ) @@ -59,7 +59,7 @@ object SyncedSettings { settings["android"]?.let { try { - _android.value = RevoltJson.decodeFromString( + _android.value = PeptideJson.decodeFromString( AndroidSpecificSettings.serializer(), it.value ) @@ -82,7 +82,7 @@ object SyncedSettings { private fun parseNotificationSettings(value: String): NotificationSettings { return try { var intermediate = - RevoltJson.decodeFromString(_NotificationSettingsToParse.serializer(), value) + PeptideJson.decodeFromString(_NotificationSettingsToParse.serializer(), value) // Throw out any value of intermediate.server and .channel that isn't a string intermediate = intermediate.copy( @@ -108,23 +108,23 @@ object SyncedSettings { suspend fun updateOrdering(value: OrderingSettings) { _ordering.value = value - setKey("ordering", RevoltJson.encodeToString(OrderingSettings.serializer(), value)) + setKey("ordering", PeptideJson.encodeToString(OrderingSettings.serializer(), value)) } suspend fun updateAndroid(value: AndroidSpecificSettings) { _android.value = value - setKey("android", RevoltJson.encodeToString(AndroidSpecificSettings.serializer(), value)) + setKey("android", PeptideJson.encodeToString(AndroidSpecificSettings.serializer(), value)) } suspend fun updateNotifications(value: NotificationSettings) { _notifications.value = value - setKey("notifications", RevoltJson.encodeToString(NotificationSettings.serializer(), value)) + setKey("notifications", PeptideJson.encodeToString(NotificationSettings.serializer(), value)) } suspend fun resetOrdering() { val default = OrderingSettings() _ordering.value = default - setKey("ordering", RevoltJson.encodeToString(OrderingSettings.serializer(), default)) + setKey("ordering", PeptideJson.encodeToString(OrderingSettings.serializer(), default)) } suspend fun resetAndroid() { @@ -134,7 +134,7 @@ object SyncedSettings { messageReplyStyle = "None" ) _android.value = default - setKey("android", RevoltJson.encodeToString(AndroidSpecificSettings.serializer(), default)) + setKey("android", PeptideJson.encodeToString(AndroidSpecificSettings.serializer(), default)) } suspend fun resetNotifications() { @@ -142,7 +142,7 @@ object SyncedSettings { _notifications.value = default setKey( "notifications", - RevoltJson.encodeToString(NotificationSettings.serializer(), default) + PeptideJson.encodeToString(NotificationSettings.serializer(), default) ) } } diff --git a/app/src/main/java/chat/peptide/api/unreads/Unreads.kt b/app/src/main/java/chat/peptide/api/unreads/Unreads.kt index a3251e24..54c62168 100644 --- a/app/src/main/java/chat/peptide/api/unreads/Unreads.kt +++ b/app/src/main/java/chat/peptide/api/unreads/Unreads.kt @@ -3,7 +3,7 @@ package chat.peptide.api.unreads import android.util.Log import androidx.compose.runtime.mutableStateMapOf import androidx.compose.runtime.mutableStateOf -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.ULID import chat.peptide.api.routes.channel.ackChannel import chat.peptide.api.routes.server.ackServer @@ -50,8 +50,8 @@ class Unreads { fun serverHasUnread(serverId: String): Boolean { if (!hasLoaded.value) return false - return RevoltAPI.serverCache[serverId]?.channels?.any { - val channel = RevoltAPI.channelCache[it] ?: return@any false // Channel not found + return PeptideAPI.serverCache[serverId]?.channels?.any { + val channel = PeptideAPI.channelCache[it] ?: return@any false // Channel not found if (channel.channelType == ChannelType.VoiceChannel) return@any false // Channel is voice if (NotificationSettingsProvider.isChannelMuted( it, @@ -81,7 +81,7 @@ class Unreads { suspend fun markServerAsRead(serverId: String, sync: Boolean = true) { if (!hasLoaded.value) return - val server = RevoltAPI.serverCache[serverId] ?: return + val server = PeptideAPI.serverCache[serverId] ?: return server.channels?.forEach { channel -> channels[channel] = channels[channel]?.copy(last_id = ULID.makeNext()) ?: ChannelUnread( channel, diff --git a/app/src/main/java/chat/peptide/c2dm/HandlerService.kt b/app/src/main/java/chat/peptide/c2dm/HandlerService.kt index 719c24f3..f21d473e 100644 --- a/app/src/main/java/chat/peptide/c2dm/HandlerService.kt +++ b/app/src/main/java/chat/peptide/c2dm/HandlerService.kt @@ -12,8 +12,8 @@ import androidx.core.app.RemoteInput import androidx.core.graphics.drawable.IconCompat import chat.peptide.R import chat.peptide.activities.MainActivity -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideJson import chat.peptide.api.internals.ULID import chat.peptide.api.routes.push.subscribePush import chat.peptide.api.schemas.Message @@ -51,13 +51,13 @@ class HandlerService : FirebaseMessagingService() { Log.d("HandlerService", payloadString) - val payload = RevoltJson.parseToJsonElement(payloadString).jsonObject + val payload = PeptideJson.parseToJsonElement(payloadString).jsonObject val keys = payload.keys.toList().toString() Log.d("HandlerService", "following keys: $keys") var authorIcon = payload["icon"]?.jsonPrimitive?.contentOrNull val message = payload["message"]?.jsonObject?.let { - RevoltJson.decodeFromJsonElement( + PeptideJson.decodeFromJsonElement( Message.serializer(), it ) @@ -67,7 +67,7 @@ class HandlerService : FirebaseMessagingService() { } val user = payload["message"]?.jsonObject?.get("user")?.jsonObject?.let { - RevoltJson.decodeFromJsonElement( + PeptideJson.decodeFromJsonElement( User.serializer(), it ) @@ -78,7 +78,7 @@ class HandlerService : FirebaseMessagingService() { if (authorIcon == null) { authorIcon = - "${RevoltAPI.getCurrentBaseUrl()}/users/${message.author?.ifBlank { "0".repeat(26) }}/default_avatar" + "${PeptideAPI.getCurrentBaseUrl()}/users/${message.author?.ifBlank { "0".repeat(26) }}/default_avatar" } val db = Database(SqlStorage.driver) diff --git a/app/src/main/java/chat/peptide/composables/chat/InReplyTo.kt b/app/src/main/java/chat/peptide/composables/chat/InReplyTo.kt index 8637f755..a6b1fcbc 100644 --- a/app/src/main/java/chat/peptide/composables/chat/InReplyTo.kt +++ b/app/src/main/java/chat/peptide/composables/chat/InReplyTo.kt @@ -27,7 +27,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.solidColor import chat.peptide.api.routes.channel.fetchSingleMessage import chat.peptide.api.schemas.User @@ -47,8 +47,8 @@ fun InReplyTo( withMention: Boolean = false, onMessageClick: (String) -> Unit = { _ -> } ) { - val message = RevoltAPI.messageCache[messageId] - val author = RevoltAPI.userCache[message?.author ?: ""] + val message = PeptideAPI.messageCache[messageId] + val author = PeptideAPI.userCache[message?.author ?: ""] val username = message?.let { authorName(it) } ?: author?.let { User.resolveDefaultName(it) } @@ -58,12 +58,12 @@ fun InReplyTo( val usernameColor = message?.let { authorColour(it) } ?: Brush.solidColor(contentColor) - val serverId = remember(channelId) { RevoltAPI.channelCache[channelId]?.server } + val serverId = remember(channelId) { PeptideAPI.channelCache[channelId]?.server } LaunchedEffect(messageId) { - if (messageId !in RevoltAPI.messageCache) { + if (messageId !in PeptideAPI.messageCache) { try { - RevoltAPI.messageCache[messageId] = fetchSingleMessage(channelId, messageId) + PeptideAPI.messageCache[messageId] = fetchSingleMessage(channelId, messageId) } catch (e: CancellationException) { // It's fine } catch (e: Exception) { diff --git a/app/src/main/java/chat/peptide/composables/chat/MemberListItem.kt b/app/src/main/java/chat/peptide/composables/chat/MemberListItem.kt index 4a06654d..9e36bc51 100644 --- a/app/src/main/java/chat/peptide/composables/chat/MemberListItem.kt +++ b/app/src/main/java/chat/peptide/composables/chat/MemberListItem.kt @@ -8,7 +8,7 @@ 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.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.BrushCompat import chat.peptide.api.internals.Roles import chat.peptide.api.internals.solidColor @@ -74,7 +74,7 @@ fun MemberListItem( ?: user?.id ?: userId, avatar = user?.avatar, - rawUrl = member?.avatar?.let { "${RevoltAPI.getCurrentFilesUrl()}/avatars/${it.id}" }, + rawUrl = member?.avatar?.let { "${PeptideAPI.getCurrentFilesUrl()}/avatars/${it.id}" }, userId = userId, presence = presenceFromStatus( user?.status?.presence, diff --git a/app/src/main/java/chat/peptide/composables/chat/Message.kt b/app/src/main/java/chat/peptide/composables/chat/Message.kt index 30f32ba4..c27d59af 100644 --- a/app/src/main/java/chat/peptide/composables/chat/Message.kt +++ b/app/src/main/java/chat/peptide/composables/chat/Message.kt @@ -63,7 +63,7 @@ import androidx.compose.ui.unit.sp import chat.peptide.R import chat.peptide.activities.media.ImageViewActivity import chat.peptide.activities.media.VideoViewActivity -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.BrushCompat import chat.peptide.api.internals.MessageFlag import chat.peptide.api.internals.Roles @@ -103,7 +103,7 @@ fun authorColour(message: MessageSchema): Brush { } else { val defaultColour = Brush.solidColor(LocalContentColor.current) - val serverId = RevoltAPI.channelCache[message.channel]?.server ?: return defaultColour + val serverId = PeptideAPI.channelCache[message.channel]?.server ?: return defaultColour val highestRole = message.author?.let { Roles.resolveHighestRole(serverId, it, withColour = true) @@ -121,14 +121,14 @@ fun authorName(message: MessageSchema): String { } val serverId = - RevoltAPI.channelCache[message.channel]?.server - ?: return RevoltAPI.userCache[message.author]?.let { User.resolveDefaultName(it) } + PeptideAPI.channelCache[message.channel]?.server + ?: return PeptideAPI.userCache[message.author]?.let { User.resolveDefaultName(it) } ?: stringResource(R.string.unknown) - val member = message.author?.let { RevoltAPI.members.getMember(serverId, it) } + val member = message.author?.let { PeptideAPI.members.getMember(serverId, it) } ?: return stringResource(R.string.unknown) return member.nickname - ?: RevoltAPI.userCache[message.author]?.let { User.resolveDefaultName(it) } + ?: PeptideAPI.userCache[message.author]?.let { User.resolveDefaultName(it) } ?: stringResource(R.string.unknown) } @@ -139,11 +139,11 @@ fun authorAvatarUrl(message: MessageSchema): String? { } val serverId = - RevoltAPI.channelCache[message.channel]?.server ?: return null - val member = message.author?.let { RevoltAPI.members.getMember(serverId, it) } + PeptideAPI.channelCache[message.channel]?.server ?: return null + val member = message.author?.let { PeptideAPI.members.getMember(serverId, it) } ?: return null - return member.avatar?.let { "${RevoltAPI.getCurrentFilesUrl()}/avatars/${it.id}" } + return member.avatar?.let { "${PeptideAPI.getCurrentFilesUrl()}/avatars/${it.id}" } } fun viewUrlInBrowser(ctx: android.content.Context, url: String) { @@ -184,7 +184,7 @@ fun viewUrlInBrowser(ctx: android.content.Context, url: String) { fun viewAttachmentInBrowser(ctx: android.content.Context, attachment: AutumnResource) { val url = - "${RevoltAPI.getCurrentFilesUrl()}/attachments/${attachment.id}/${attachment.filename}" + "${PeptideAPI.getCurrentFilesUrl()}/attachments/${attachment.id}/${attachment.filename}" viewUrlInBrowser(ctx, url) } @@ -229,7 +229,7 @@ fun Message( fromWebhook: Boolean = false, webhookName: String? = null, ) { - val author = RevoltAPI.userCache[message.author] ?: return CircularProgressIndicator() + val author = PeptideAPI.userCache[message.author] ?: return CircularProgressIndicator() val context = LocalContext.current val scope = rememberCoroutineScope() @@ -261,8 +261,8 @@ fun Message( var mentionsSelfRole by remember(message) { mutableStateOf(false) } LaunchedEffect(Unit) { val serverId = - RevoltAPI.channelCache[message.channel]?.server ?: return@LaunchedEffect - var selfMember = RevoltAPI.selfId?.let { RevoltAPI.members.getMember(serverId, it) } + PeptideAPI.channelCache[message.channel]?.server ?: return@LaunchedEffect + var selfMember = PeptideAPI.selfId?.let { PeptideAPI.members.getMember(serverId, it) } ?: return@LaunchedEffect var messageRoleMentions = MessageProcessor.findMentionedRoleIDs(message.content) @@ -312,7 +312,7 @@ fun Message( } else { Column( modifier = Modifier.then( - if ((message.mentions?.contains(RevoltAPI.selfId) == true) + if ((message.mentions?.contains(PeptideAPI.selfId) == true) || mentionsSelfRole || message.flags has MessageFlag.MentionsOnline || message.flags has MessageFlag.MentionsEveryone @@ -326,7 +326,7 @@ fun Message( ) ) { message.replies?.forEach { reply -> - val replyMessage = RevoltAPI.messageCache[reply] + val replyMessage = PeptideAPI.messageCache[reply] message.channel?.let { chId -> InReplyTo( @@ -462,7 +462,7 @@ fun Message( if (Experiments.useKotlinBasedMarkdownRenderer.isEnabled) { CompositionLocalProvider( LocalJBMarkdownTreeState provides LocalJBMarkdownTreeState.current.copy( - currentServer = RevoltAPI.channelCache[message.channel]?.server, + currentServer = PeptideAPI.channelCache[message.channel]?.server, fontSizeMultiplier = Gigamoji.useGigamojiForMessage( message.content ) @@ -477,7 +477,7 @@ fun Message( } else { CompositionLocalProvider( LocalMarkdownTreeConfig provides LocalMarkdownTreeConfig.current.copy( - currentServer = RevoltAPI.channelCache[message.channel]?.server, + currentServer = PeptideAPI.channelCache[message.channel]?.server, fontSizeMultiplier = Gigamoji.useGigamojiForMessage( message.content ) diff --git a/app/src/main/java/chat/peptide/composables/chat/MessageAttachment.kt b/app/src/main/java/chat/peptide/composables/chat/MessageAttachment.kt index 15aa406d..56ce72b4 100644 --- a/app/src/main/java/chat/peptide/composables/chat/MessageAttachment.kt +++ b/app/src/main/java/chat/peptide/composables/chat/MessageAttachment.kt @@ -33,7 +33,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.schemas.AutumnResource import chat.peptide.composables.generic.RemoteImage import chat.peptide.composables.media.AudioPlayer @@ -83,7 +83,7 @@ fun FileAttachment(attachment: AutumnResource) { @SuppressLint("UnusedBoxWithConstraintsScope") @Composable fun ImageAttachment(attachment: AutumnResource) { - val url = "${RevoltAPI.getCurrentFilesUrl()}/attachments/${attachment.id}/${attachment.filename}" + val url = "${PeptideAPI.getCurrentFilesUrl()}/attachments/${attachment.id}/${attachment.filename}" var spoilerShown by remember { mutableStateOf(false) } val hazeState = if (attachment.filename?.startsWith("SPOILER_") == true) rememberHazeState() else null @@ -149,7 +149,7 @@ fun VideoPlayButton() { @SuppressLint("UnusedBoxWithConstraintsScope") @Composable fun VideoAttachment(attachment: AutumnResource) { - val url = "${RevoltAPI.getCurrentFilesUrl()}/attachments/${attachment.id}/${attachment.filename}" + val url = "${PeptideAPI.getCurrentFilesUrl()}/attachments/${attachment.id}/${attachment.filename}" BoxWithConstraints { Box( @@ -179,7 +179,7 @@ fun VideoAttachment(attachment: AutumnResource) { @Composable fun AudioAttachment(attachment: AutumnResource) { - val url = "${RevoltAPI.getCurrentFilesUrl()}/attachments/${attachment.id}/${attachment.filename}" + val url = "${PeptideAPI.getCurrentFilesUrl()}/attachments/${attachment.id}/${attachment.filename}" AudioPlayer( url = url, filename = attachment.filename ?: "Audio", diff --git a/app/src/main/java/chat/peptide/composables/chat/MessageField.kt b/app/src/main/java/chat/peptide/composables/chat/MessageField.kt index bb5ad5e2..341f9044 100644 --- a/app/src/main/java/chat/peptide/composables/chat/MessageField.kt +++ b/app/src/main/java/chat/peptide/composables/chat/MessageField.kt @@ -80,9 +80,9 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.dp import chat.peptide.R -import chat.peptide.activities.RevoltTweenFloat -import chat.peptide.activities.RevoltTweenInt -import chat.peptide.api.RevoltAPI +import chat.peptide.activities.PeptideTweenFloat +import chat.peptide.activities.PeptideTweenInt +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.BrushCompat import chat.peptide.api.schemas.ChannelType import chat.peptide.api.schemas.Member @@ -318,7 +318,7 @@ fun MessageField( userId = item.user.id ?: "", avatar = item.user.avatar, rawUrl = item.member?.avatar?.id?.let { - "${RevoltAPI.getCurrentFilesUrl()}/avatars/$it" + "${PeptideAPI.getCurrentFilesUrl()}/avatars/$it" }, size = SuggestionChipDefaults.IconSize, ) @@ -444,7 +444,7 @@ fun MessageField( ) } else { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/emojis/${item.custom?.id}", + url = "${PeptideAPI.getCurrentFilesUrl()}/emojis/${item.custom?.id}", description = null, contentScale = ContentScale.Fit, modifier = Modifier @@ -606,18 +606,18 @@ fun MessageField( full.height ) }) + slideInHorizontally( - animationSpec = RevoltTweenInt, + animationSpec = PeptideTweenInt, initialOffsetX = { -it } - ) + fadeIn(animationSpec = RevoltTweenFloat), + ) + fadeIn(animationSpec = PeptideTweenFloat), exit = shrinkOut(targetSize = { full -> IntSize( 0, full.height ) }) + slideOutHorizontally( - animationSpec = RevoltTweenInt, + animationSpec = PeptideTweenInt, targetOffsetX = { it } - ) + fadeOut(animationSpec = RevoltTweenFloat) + ) + fadeOut(animationSpec = PeptideTweenFloat) ) { Icon( painter = when { diff --git a/app/src/main/java/chat/peptide/composables/chat/Reaction.kt b/app/src/main/java/chat/peptide/composables/chat/Reaction.kt index f7907ff2..de4f8a96 100644 --- a/app/src/main/java/chat/peptide/composables/chat/Reaction.kt +++ b/app/src/main/java/chat/peptide/composables/chat/Reaction.kt @@ -28,7 +28,7 @@ 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.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.isUlid import chat.peptide.composables.generic.RemoteImage @@ -40,7 +40,7 @@ fun Reaction( onClick: (Boolean) -> Unit, onLongClick: () -> Unit ) { - val hasOwn = members.contains(RevoltAPI.selfId) + val hasOwn = members.contains(PeptideAPI.selfId) val background by animateColorAsState( targetValue = if (hasOwn) { @@ -73,7 +73,7 @@ fun Reaction( CompositionLocalProvider(LocalContentColor provides foreground) { if (emoji.isUlid()) { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/emojis/${emoji}", + url = "${PeptideAPI.getCurrentFilesUrl()}/emojis/${emoji}", description = null, modifier = Modifier.size(16.dp) ) diff --git a/app/src/main/java/chat/peptide/composables/emoji/EmojiPicker.kt b/app/src/main/java/chat/peptide/composables/emoji/EmojiPicker.kt index ae49d32b..04f7a621 100644 --- a/app/src/main/java/chat/peptide/composables/emoji/EmojiPicker.kt +++ b/app/src/main/java/chat/peptide/composables/emoji/EmojiPicker.kt @@ -61,8 +61,8 @@ import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.activities.RevoltTweenFloat -import chat.peptide.api.RevoltAPI +import chat.peptide.activities.PeptideTweenFloat +import chat.peptide.api.PeptideAPI import chat.peptide.callbacks.Action import chat.peptide.callbacks.ActionChannel import chat.peptide.composables.generic.IconPlaceholder @@ -132,12 +132,12 @@ fun EmojiPicker( var showSkinToneMenu by remember { mutableStateOf(false) } val skinToneMenuAreaWeight by animateFloatAsState( if (showSkinToneMenu) 1f else .15f, - animationSpec = RevoltTweenFloat, + animationSpec = PeptideTweenFloat, label = "skinToneMenuAreaWeight" ) val skinToneMenuCloseHintIconOpacity by animateFloatAsState( if (showSkinToneMenu) 1f else 0f, - animationSpec = RevoltTweenFloat, + animationSpec = PeptideTweenFloat, label = "skinToneMenuCloseHintIconOpacity" ) @@ -150,7 +150,7 @@ fun EmojiPicker( var searchQuery by remember { mutableStateOf("") } val searchFieldOpacity by animateFloatAsState( if (showSkinToneMenu) 0f else 1f, - animationSpec = RevoltTweenFloat, + animationSpec = PeptideTweenFloat, label = "searchFieldOpacity" ) @@ -188,7 +188,7 @@ fun EmojiPicker( } val clearQueryButtonOpacity = animateFloatAsState( if (searchQuery.isNotEmpty()) 1f else 0f, - animationSpec = RevoltTweenFloat, + animationSpec = PeptideTweenFloat, label = "clearQueryButtonOpacity" ) @@ -401,7 +401,7 @@ fun EmojiPicker( ) } else { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/icons/${server.icon.id}", + url = "${PeptideAPI.getCurrentFilesUrl()}/icons/${server.icon.id}", allowAnimation = false, description = server.name, modifier = Modifier @@ -619,7 +619,7 @@ fun ColumnScope.PickerItem( verticalArrangement = Arrangement.Center ) { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/emojis/${item.emote.id}", + url = "${PeptideAPI.getCurrentFilesUrl()}/emojis/${item.emote.id}", description = item.emote.name, contentScale = ContentScale.Fit, modifier = Modifier diff --git a/app/src/main/java/chat/peptide/composables/generic/UserAvatar.kt b/app/src/main/java/chat/peptide/composables/generic/UserAvatar.kt index 19ab7695..236add2d 100644 --- a/app/src/main/java/chat/peptide/composables/generic/UserAvatar.kt +++ b/app/src/main/java/chat/peptide/composables/generic/UserAvatar.kt @@ -25,7 +25,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.schemas.AutumnResource import chat.peptide.api.settings.LoadedSettings @@ -103,7 +103,7 @@ fun UserAvatar( ) { if (avatar != null) { RemoteImage( - url = rawUrl ?: "${RevoltAPI.getCurrentFilesUrl()}/avatars/${avatar.id}", + url = rawUrl ?: "${PeptideAPI.getCurrentFilesUrl()}/avatars/${avatar.id}", contentScale = ContentScale.Crop, description = stringResource(id = R.string.avatar_alt, username), allowAnimation = allowAnimation, @@ -124,7 +124,7 @@ fun UserAvatar( ) } else { RemoteImage( - url = "${RevoltAPI.getCurrentBaseUrl()}/users/${userId.ifBlank { "0".repeat(26) }}/default_avatar", + url = "${PeptideAPI.getCurrentBaseUrl()}/users/${userId.ifBlank { "0".repeat(26) }}/default_avatar", description = stringResource(id = R.string.avatar_alt, username), allowAnimation = allowAnimation, modifier = Modifier @@ -168,7 +168,7 @@ fun GroupIcon( ) { if (icon?.id != null) { RemoteImage( - url = rawUrl ?: "${RevoltAPI.getCurrentFilesUrl()}/icons/${icon.id}", + url = rawUrl ?: "${PeptideAPI.getCurrentFilesUrl()}/icons/${icon.id}", allowAnimation = false, contentScale = ContentScale.Crop, description = stringResource(id = R.string.avatar_alt, name), diff --git a/app/src/main/java/chat/peptide/composables/generic/Weblink.kt b/app/src/main/java/chat/peptide/composables/generic/Weblink.kt index bfdde921..d3cfc20a 100644 --- a/app/src/main/java/chat/peptide/composables/generic/Weblink.kt +++ b/app/src/main/java/chat/peptide/composables/generic/Weblink.kt @@ -53,7 +53,7 @@ fun AnyLink(text: String, action: () -> Unit, modifier: Modifier = Modifier) { @Preview(showBackground = true) @Composable fun WeblinkPreview() { - Weblink(text = "https://revolt.chat", url = "https://revolt.chat") + Weblink(text = "https://peptide.chat", url = "https://peptide.chat") } @Preview(showBackground = true) diff --git a/app/src/main/java/chat/peptide/composables/markdown/MarkdownText.kt b/app/src/main/java/chat/peptide/composables/markdown/MarkdownText.kt index 04ddef40..a08472cb 100644 --- a/app/src/main/java/chat/peptide/composables/markdown/MarkdownText.kt +++ b/app/src/main/java/chat/peptide/composables/markdown/MarkdownText.kt @@ -36,7 +36,7 @@ import androidx.compose.ui.text.font.FontWeight import androidx.core.net.toUri import chat.peptide.R import chat.peptide.activities.InviteActivity -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.custom.fetchEmoji import chat.peptide.api.schemas.isInviteUri import chat.peptide.callbacks.Action @@ -102,10 +102,10 @@ fun annotateText(node: AstNode): AnnotatedString { ) ) val member = LocalMarkdownTreeConfig.current.currentServer?.let { serverId -> - RevoltAPI.members.getMember(serverId, mention.groupValues[1]) + PeptideAPI.members.getMember(serverId, mention.groupValues[1]) } val content = member?.nickname?.let { nick -> "@$nick" } - ?: RevoltAPI.userCache[mention.groupValues[1]]?.username?.let { username -> "@$username" } + ?: PeptideAPI.userCache[mention.groupValues[1]]?.username?.let { username -> "@$username" } ?: "<@${mention.groupValues[1]}>" append(content) pop() @@ -131,7 +131,7 @@ fun annotateText(node: AstNode): AnnotatedString { ) ) val content = - RevoltAPI.channelCache[channel.groupValues[1]]?.name?.let { chId -> "#$chId" } + PeptideAPI.channelCache[channel.groupValues[1]]?.name?.let { chId -> "#$chId" } ?: "<#${channel.groupValues[1]}>" append(content) pop() @@ -200,7 +200,7 @@ fun annotateText(node: AstNode): AnnotatedString { pushStyle( LocalTextStyle.current.toSpanStyle() .copy( - color = MaterialTheme.colorScheme.primary + color = MaterialTheme.colorScheme.secondary ) ) append(url.value) @@ -244,7 +244,7 @@ fun annotateText(node: AstNode): AnnotatedString { pushStyle( LocalTextStyle.current.toSpanStyle() .copy( - color = MaterialTheme.colorScheme.primary + color = MaterialTheme.colorScheme.secondary ) ) node.children?.forEach { append(annotateText(it)) } @@ -326,22 +326,11 @@ fun MarkdownText(textNode: AstNode, modifier: Modifier = Modifier) { // no-op } - // Check if this is an internal link that should be handled by the app - Log.d("MarkdownText", "Checking if URL is internal link") if (InternalLinkHandler.isInternalLink(url)) { - Log.d("MarkdownText", "URL is internal link, attempting to handle internally") - // Try to handle the link internally val handled = InternalLinkHandler.handleInternalLink(context, url, true) - Log.d("MarkdownText", "Internal link handled: $handled") if (handled) { - // Link was handled internally - Log.d("MarkdownText", "Link handled internally, returning") return@handler true - } else { - Log.d("MarkdownText", "Failed to handle link internally, falling back to browser") } - } else { - Log.d("MarkdownText", "URL is not internal link, opening in browser") } // If not an internal link or couldn't be handled internally, open in browser @@ -443,11 +432,11 @@ fun MarkdownText(textNode: AstNode, modifier: Modifier = Modifier) { placeholderVerticalAlign = PlaceholderVerticalAlign.Center ), ) { id -> - val emote = RevoltAPI.emojiCache[id] + val emote = PeptideAPI.emojiCache[id] if (emote == null) { scope.launch { try { - RevoltAPI.emojiCache[id] = fetchEmoji(id) + PeptideAPI.emojiCache[id] = fetchEmoji(id) } catch (e: Exception) { // no-op } @@ -456,7 +445,7 @@ fun MarkdownText(textNode: AstNode, modifier: Modifier = Modifier) { } else { with(LocalDensity.current) { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/emojis/${id}", + url = "${PeptideAPI.getCurrentFilesUrl()}/emojis/${id}", description = emote.name, contentScale = ContentScale.Fit, modifier = Modifier diff --git a/app/src/main/java/chat/peptide/composables/media/AudioPlayer.kt b/app/src/main/java/chat/peptide/composables/media/AudioPlayer.kt index 2bf7551b..f1b8986e 100644 --- a/app/src/main/java/chat/peptide/composables/media/AudioPlayer.kt +++ b/app/src/main/java/chat/peptide/composables/media/AudioPlayer.kt @@ -41,7 +41,7 @@ import androidx.media3.common.MediaItem import androidx.media3.common.Player import androidx.media3.exoplayer.ExoPlayer import chat.peptide.R -import chat.peptide.api.RevoltHttp +import chat.peptide.api.PeptideHttp import io.ktor.client.request.get import io.ktor.client.statement.readBytes import kotlinx.coroutines.delay @@ -118,13 +118,13 @@ fun AudioPlayer(url: String, filename: String, contentType: String) { ContentValues().apply { put(MediaStore.Audio.Media.DISPLAY_NAME, filename) put(MediaStore.Audio.Media.MIME_TYPE, contentType) - put(MediaStore.Audio.Media.RELATIVE_PATH, "Music/Revolt") + put(MediaStore.Audio.Media.RELATIVE_PATH, "Music/Peptide") put(MediaStore.Audio.Media.IS_PENDING, 1) } ) }?.let { uri -> context.contentResolver.openOutputStream(uri).use { stream -> - val audio = RevoltHttp.get(url).readBytes() + val audio = PeptideHttp.get(url).readBytes() stream?.write(audio) context.applicationContext.let { diff --git a/app/src/main/java/chat/peptide/composables/profile/UserCard.kt b/app/src/main/java/chat/peptide/composables/profile/UserCard.kt index 209034a1..7fcc462b 100644 --- a/app/src/main/java/chat/peptide/composables/profile/UserCard.kt +++ b/app/src/main/java/chat/peptide/composables/profile/UserCard.kt @@ -142,32 +142,32 @@ fun UserCard( LocalTextStyle provides LocalTextStyle.current.copy( fontFamily = FontFamily( Font( - R.font.revolt_usercard, + R.font.peptide_usercard, variationSettings = FontVariation.Settings(FontVariation.weight(200)), weight = FontWeight.ExtraLight ), Font( - R.font.revolt_usercard, + R.font.peptide_usercard, variationSettings = FontVariation.Settings(FontVariation.weight(300)), weight = FontWeight.Light ), Font( - R.font.revolt_usercard, + R.font.peptide_usercard, variationSettings = FontVariation.Settings(FontVariation.weight(400)), weight = FontWeight.Normal ), Font( - R.font.revolt_usercard, + R.font.peptide_usercard, variationSettings = FontVariation.Settings(FontVariation.weight(500)), weight = FontWeight.Medium ), Font( - R.font.revolt_usercard, + R.font.peptide_usercard, variationSettings = FontVariation.Settings(FontVariation.weight(700)), weight = FontWeight.Bold ), Font( - R.font.revolt_usercard, + R.font.peptide_usercard, variationSettings = FontVariation.Settings(FontVariation.weight(900)), weight = FontWeight.Black ) @@ -342,7 +342,7 @@ fun UserCard( } Text( - "revolt.chat", + "peptide.chat", fontSize = 16.sp, fontWeight = FontWeight.Bold, modifier = Modifier diff --git a/app/src/main/java/chat/peptide/composables/screens/chat/ChannelSheetHeader.kt b/app/src/main/java/chat/peptide/composables/screens/chat/ChannelSheetHeader.kt index a698090b..1d5fd0e1 100644 --- a/app/src/main/java/chat/peptide/composables/screens/chat/ChannelSheetHeader.kt +++ b/app/src/main/java/chat/peptide/composables/screens/chat/ChannelSheetHeader.kt @@ -26,7 +26,7 @@ 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.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.schemas.AutumnResource import chat.peptide.api.schemas.ChannelType import chat.peptide.api.schemas.User @@ -66,7 +66,7 @@ fun ChannelSheetHeader( ) { if (channelIcon != null) { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/icons/${channelIcon.id ?: ""}", + url = "${PeptideAPI.getCurrentFilesUrl()}/icons/${channelIcon.id ?: ""}", description = null, // decorative contentScale = ContentScale.Crop, height = 48, diff --git a/app/src/main/java/chat/peptide/composables/screens/chat/ReplyManager.kt b/app/src/main/java/chat/peptide/composables/screens/chat/ReplyManager.kt index ee2a5287..f0442b26 100644 --- a/app/src/main/java/chat/peptide/composables/screens/chat/ReplyManager.kt +++ b/app/src/main/java/chat/peptide/composables/screens/chat/ReplyManager.kt @@ -28,7 +28,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.ULID import chat.peptide.api.routes.channel.SendMessageReply import chat.peptide.api.schemas.Message @@ -48,8 +48,8 @@ fun replyContentText(message: Message): String { @Composable fun ManageableReply(reply: SendMessageReply, onToggleMention: () -> Unit, onRemove: () -> Unit) { - val replyMessage = RevoltAPI.messageCache[reply.id] ?: return onRemove() - val replyAuthor = RevoltAPI.userCache[replyMessage.author] ?: return onRemove() + val replyMessage = PeptideAPI.messageCache[reply.id] ?: return onRemove() + val replyAuthor = PeptideAPI.userCache[replyMessage.author] ?: return onRemove() Row( modifier = Modifier diff --git a/app/src/main/java/chat/peptide/composables/screens/chat/TypingIndicator.kt b/app/src/main/java/chat/peptide/composables/screens/chat/TypingIndicator.kt index 81dcbb91..8c131472 100644 --- a/app/src/main/java/chat/peptide/composables/screens/chat/TypingIndicator.kt +++ b/app/src/main/java/chat/peptide/composables/screens/chat/TypingIndicator.kt @@ -22,9 +22,9 @@ import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.activities.RevoltTweenFloat -import chat.peptide.activities.RevoltTweenInt -import chat.peptide.api.RevoltAPI +import chat.peptide.activities.PeptideTweenFloat +import chat.peptide.activities.PeptideTweenInt +import chat.peptide.api.PeptideAPI import chat.peptide.api.schemas.User import chat.peptide.composables.generic.UserAvatar @@ -41,15 +41,15 @@ fun StackedUserAvatars( .size(size + (offset * minOf(users.size, amount)), size) ) { users.take(amount).forEachIndexed { index, userId -> - val user = RevoltAPI.userCache[userId] - val maybeMember = serverId?.let { RevoltAPI.members.getMember(serverId, userId) } + val user = PeptideAPI.userCache[userId] + val maybeMember = serverId?.let { PeptideAPI.members.getMember(serverId, userId) } UserAvatar( avatar = user?.avatar, userId = userId, username = user?.let { User.resolveDefaultName(it) } ?: stringResource(id = R.string.unknown), - rawUrl = maybeMember?.avatar?.let { "${RevoltAPI.getCurrentFilesUrl()}/avatars/${it.id}" }, + rawUrl = maybeMember?.avatar?.let { "${PeptideAPI.getCurrentFilesUrl()}/avatars/${it.id}" }, size = size, modifier = Modifier .offset( @@ -74,13 +74,13 @@ fun TypingIndicator(users: List, serverId: String?) { AnimatedVisibility( visible = users.isNotEmpty(), enter = slideInVertically( - animationSpec = RevoltTweenInt, + animationSpec = PeptideTweenInt, initialOffsetY = { it } - ) + fadeIn(animationSpec = RevoltTweenFloat), + ) + fadeIn(animationSpec = PeptideTweenFloat), exit = slideOutVertically( - animationSpec = RevoltTweenInt, + animationSpec = PeptideTweenInt, targetOffsetY = { it } - ) + fadeOut(animationSpec = RevoltTweenFloat) + ) + fadeOut(animationSpec = PeptideTweenFloat) ) { Row( Modifier @@ -94,9 +94,9 @@ fun TypingIndicator(users: List, serverId: String?) { text = stringResource( id = typingMessageResource(), users.joinToString { userId -> - RevoltAPI.userCache[userId]?.let { u -> + PeptideAPI.userCache[userId]?.let { u -> val maybeMember = - serverId?.let { RevoltAPI.members.getMember(serverId, userId) } + serverId?.let { PeptideAPI.members.getMember(serverId, userId) } maybeMember?.nickname ?: User.resolveDefaultName(u) } ?: userId diff --git a/app/src/main/java/chat/peptide/composables/screens/chat/atoms/RegularMessage.kt b/app/src/main/java/chat/peptide/composables/screens/chat/atoms/RegularMessage.kt index 0b4b6fd3..20d27361 100644 --- a/app/src/main/java/chat/peptide/composables/screens/chat/atoms/RegularMessage.kt +++ b/app/src/main/java/chat/peptide/composables/screens/chat/atoms/RegularMessage.kt @@ -42,7 +42,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.min import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.schemas.Channel import chat.peptide.api.schemas.Message import chat.peptide.api.settings.LoadedSettings @@ -162,7 +162,7 @@ fun RegularMessage( } }, onNameClick = { - val author = message.author?.let { RevoltAPI.userCache[it] } ?: return@Message + val author = message.author?.let { PeptideAPI.userCache[it] } ?: return@Message putTextAtCursorPosition("@${author.username}#${author.discriminator}") }, canReply = true, diff --git a/app/src/main/java/chat/peptide/composables/screens/chat/discover/DiscoverServersList.kt b/app/src/main/java/chat/peptide/composables/screens/chat/discover/DiscoverServersList.kt index e50ee85b..702bff94 100644 --- a/app/src/main/java/chat/peptide/composables/screens/chat/discover/DiscoverServersList.kt +++ b/app/src/main/java/chat/peptide/composables/screens/chat/discover/DiscoverServersList.kt @@ -40,7 +40,7 @@ import androidx.compose.ui.unit.dp import androidx.core.graphics.toColorInt import androidx.hilt.navigation.compose.hiltViewModel import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.googlesheets.ServerData import chat.peptide.composables.generic.SquareButton @@ -104,7 +104,8 @@ fun DiscoverServersList( ) { CircularProgressIndicator( modifier = Modifier - .padding(16.dp) + .padding(16.dp), + color = MaterialTheme.colorScheme.secondary ) } } @@ -165,8 +166,8 @@ fun DiscoverServersList( } private fun isServerAlreadyJoined(serverId: String): Boolean { - // Check if the server exists in RevoltAPI.serverCache - return RevoltAPI.serverCache.containsKey(serverId) + // Check if the server exists in PeptideAPI.serverCache + return PeptideAPI.serverCache.containsKey(serverId) } @Composable @@ -262,12 +263,11 @@ fun ServerItem( .fillMaxSize() ) { if (isJoined) { - // Show tick icon with green background for joined servers Box( modifier = Modifier .size(20.dp) .clip(CircleShape) - .background(MaterialTheme.colorScheme.primary) // Green color + .background(Color(0xFF43bf83)) .align(Alignment.Center), contentAlignment = Alignment.Center ) { @@ -275,8 +275,9 @@ fun ServerItem( modifier = Modifier.size(16.dp), painter = painterResource(R.drawable.icn_check_24dp), contentDescription = "Already joined", - colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.onPrimary) + colorFilter = ColorFilter.tint(Color.White) ) + } } else { // Show arrow icon for servers not joined yet @@ -302,9 +303,9 @@ fun ServerItem( private fun ServerItemPreview() { val server = ServerData( id = "1", - name = "Revolt Lounge", - description = "The official Revolt server. Hang out, chat, and get help with Revolt.", - inviteCode = "revolt", + name = "Peptide Lounge", + description = "The official Peptide server. Hang out, chat, and get help with Peptide.", + inviteCode = "peptide", disabled = false, showColor = null ) @@ -321,9 +322,9 @@ private fun ServerItemPreview() { private fun ColorfulServerItemPreview() { val server = ServerData( id = "1", - name = "Revolt Lounge", - description = "The official Revolt server. Hang out, chat, and get help with Revolt.", - inviteCode = "revolt", + name = "Peptide Lounge", + description = "The official Peptide server. Hang out, chat, and get help with Peptide.", + inviteCode = "peptide", disabled = false, showColor = "#1591ea" ) @@ -341,9 +342,9 @@ private fun ColorfulServerItemPreview() { private fun JoinedServerItemPreview() { val server = ServerData( id = "1", - name = "Revolt Lounge", - description = "The official Revolt server. Hang out, chat, and get help with Revolt.", - inviteCode = "revolt", + name = "Peptide Lounge", + description = "The official Peptide server. Hang out, chat, and get help with Peptide.", + inviteCode = "peptide", disabled = false, showColor = null, ) diff --git a/app/src/main/java/chat/peptide/composables/screens/chat/discover/DiscoverServersListViewModel.kt b/app/src/main/java/chat/peptide/composables/screens/chat/discover/DiscoverServersListViewModel.kt index e123b15f..73eb6128 100644 --- a/app/src/main/java/chat/peptide/composables/screens/chat/discover/DiscoverServersListViewModel.kt +++ b/app/src/main/java/chat/peptide/composables/screens/chat/discover/DiscoverServersListViewModel.kt @@ -2,7 +2,7 @@ package chat.peptide.composables.screens.chat.discover import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import chat.peptide.api.RevoltError +import chat.peptide.api.PeptideError import chat.peptide.api.routes.googlesheets.ServerData import chat.peptide.api.routes.googlesheets.ServerDataRepository import chat.peptide.api.routes.invites.fetchInviteByCode @@ -34,7 +34,7 @@ data class DiscoverUiState( val selectedInviteCode: String? = null, val processingServerId: String? = null, val loadedInviteData: Invite? = null, - val loadedError: RevoltError? = null + val loadedError: PeptideError? = null ) @HiltViewModel @@ -108,7 +108,7 @@ class DiscoverServersListViewModel @Inject constructor( } catch (_: Exception) { updateState { it.copy( - loadedError = RevoltError("Unknown"), + loadedError = PeptideError("Unknown"), selectedInviteCode = inviteCode, processingServerId = null ) @@ -120,11 +120,11 @@ class DiscoverServersListViewModel @Inject constructor( /** * Join server without showing loading in the server list */ - fun joinServerWithoutProcessingIndicator(inviteCode: String): Flow> = flow { + fun joinServerWithoutProcessingIndicator(inviteCode: String): Flow> = flow { try { emit(joinInviteByCode(inviteCode)) } catch (_: Exception) { - emit(RsResult.err(RevoltError("Unknown"))) + emit(RsResult.err(PeptideError("Unknown"))) } }.flowOn(Dispatchers.IO) diff --git a/app/src/main/java/chat/peptide/composables/screens/chat/discover/ServerInviteDialog.kt b/app/src/main/java/chat/peptide/composables/screens/chat/discover/ServerInviteDialog.kt index ba907ccd..ec43e932 100644 --- a/app/src/main/java/chat/peptide/composables/screens/chat/discover/ServerInviteDialog.kt +++ b/app/src/main/java/chat/peptide/composables/screens/chat/discover/ServerInviteDialog.kt @@ -31,8 +31,8 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltError +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideError import chat.peptide.api.schemas.Invite import chat.peptide.composables.generic.IconPlaceholder import chat.peptide.composables.generic.RemoteImage @@ -41,7 +41,7 @@ import chat.peptide.composables.generic.RemoteImage fun ServerInviteDialog( isLoading: Boolean, invite: Invite?, - error: RevoltError?, + error: PeptideError?, onJoinClick: () -> Unit, onDismiss: () -> Unit ) { @@ -136,7 +136,7 @@ fun ServerInviteDialog( ) { if (invite.serverIcon != null) { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/icons/${invite.serverIcon.id}/${invite.serverIcon.filename}", + url = "${PeptideAPI.getCurrentFilesUrl()}/icons/${invite.serverIcon.id}/${invite.serverIcon.filename}", allowAnimation = false, description = invite.serverName ?: stringResource(id = R.string.unknown), modifier = Modifier @@ -190,7 +190,7 @@ fun ServerInviteDialog( ) { if (invite.userAvatar != null) { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/avatars/${invite.userAvatar.id}/${invite.userAvatar.filename}", + url = "${PeptideAPI.getCurrentFilesUrl()}/avatars/${invite.userAvatar.id}/${invite.userAvatar.filename}", description = invite.userName, modifier = Modifier .size(24.dp) @@ -246,7 +246,7 @@ fun ServerInviteDialogPreviewError() { ServerInviteDialog( isLoading = false, invite = null, - error = RevoltError(type = "NotFound"), + error = PeptideError(type = "NotFound"), onJoinClick = {}, onDismiss = {} ) @@ -256,7 +256,7 @@ fun ServerInviteDialogPreviewError() { @Composable fun ServerInviteDialogPreviewSuccess() { val invite = Invite( - serverName = "Revolt Test Server", + serverName = "Peptide Test Server", serverIcon = null, // Replace with a real AutumnResource if needed for preview memberCount = 123, userName = "TestUser", diff --git a/app/src/main/java/chat/peptide/composables/screens/chat/discover/ServerInviteHandler.kt b/app/src/main/java/chat/peptide/composables/screens/chat/discover/ServerInviteHandler.kt index 788b1503..bb0a1f28 100644 --- a/app/src/main/java/chat/peptide/composables/screens/chat/discover/ServerInviteHandler.kt +++ b/app/src/main/java/chat/peptide/composables/screens/chat/discover/ServerInviteHandler.kt @@ -8,7 +8,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.hilt.navigation.compose.hiltViewModel -import chat.peptide.api.RevoltError +import chat.peptide.api.PeptideError import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch @@ -22,7 +22,7 @@ fun ServerInviteHandler( val scope = rememberCoroutineScope() var isJoining by remember { mutableStateOf(false) } var showDialog by remember { mutableStateOf(true) } - var error by remember { mutableStateOf(null) } + var error by remember { mutableStateOf(null) } // Get the UI state val uiState by viewModel.uiState.collectAsState() diff --git a/app/src/main/java/chat/peptide/composables/screens/chat/drawer/ChannelSideDrawer.kt b/app/src/main/java/chat/peptide/composables/screens/chat/drawer/ChannelSideDrawer.kt index f1b61b1f..b616ecdb 100644 --- a/app/src/main/java/chat/peptide/composables/screens/chat/drawer/ChannelSideDrawer.kt +++ b/app/src/main/java/chat/peptide/composables/screens/chat/drawer/ChannelSideDrawer.kt @@ -73,7 +73,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.CategorisedChannelList import chat.peptide.api.internals.ChannelUtils import chat.peptide.api.internals.DirectMessages @@ -114,7 +114,7 @@ fun ChannelSideDrawer( modifier: Modifier = Modifier ) { - val server = RevoltAPI.serverCache[currentServer] + val server = PeptideAPI.serverCache[currentServer] val categorisedChannels = server?.let { ChannelUtils.categoriseServerFlat(it) } @@ -157,12 +157,12 @@ fun ChannelSideDrawer( // - Sort the servers that are in the ordering using the ordering. // - Add the servers that aren't in the ordering to the end of the list. // - Sort the servers that aren't in the ordering by their ID (creation order). - val serverList = ((RevoltAPI.serverCache.values.filter { + val serverList = ((PeptideAPI.serverCache.values.filter { SyncedSettings.ordering.servers.contains( it.id ) } - .sortedBy { SyncedSettings.ordering.servers.indexOf(it.id) }) + (RevoltAPI.serverCache.values.filter { + .sortedBy { SyncedSettings.ordering.servers.indexOf(it.id) }) + (PeptideAPI.serverCache.values.filter { !SyncedSettings.ordering.servers.contains( it.id ) @@ -243,7 +243,7 @@ fun ChannelSideDrawer( else -> { val partner = if (dm.channelType == ChannelType.DirectMessage) { - RevoltAPI.userCache[ + PeptideAPI.userCache[ ChannelUtils.resolveDMPartner( dm ) @@ -304,7 +304,8 @@ fun ChannelSideDrawer( ) { Icon( painter = painterResource(R.drawable.icn_explore_24dp), - contentDescription = stringResource(R.string.discover_alt) + contentDescription = stringResource(R.string.discover_alt), + tint = MaterialTheme.colorScheme.onSecondaryContainer ) } } @@ -323,7 +324,8 @@ fun ChannelSideDrawer( ) { Icon( painter = painterResource(R.drawable.icn_add_24dp), - contentDescription = stringResource(R.string.server_plus_alt) + contentDescription = stringResource(R.string.server_plus_alt), + tint = MaterialTheme.colorScheme.onSecondaryContainer ) } } @@ -334,7 +336,7 @@ fun ChannelSideDrawer( ) { val serverInList = serverList[it] val serverHasUnread = - serverInList.id?.let { srvId -> RevoltAPI.unreads.serverHasUnread(srvId) } + serverInList.id?.let { srvId -> PeptideAPI.unreads.serverHasUnread(srvId) } ?: false val leftIndicatorHeight = animateDpAsState( targetValue = if (serverInList.id == currentServer) 32.dp @@ -369,7 +371,7 @@ fun ChannelSideDrawer( serverInList.id?.let { srvId -> navigateToServer(srvId) } }) { val icon = serverInList.icon?.id?.let { iconId -> - "${RevoltAPI.getCurrentFilesUrl()}/icons/$iconId" + "${PeptideAPI.getCurrentFilesUrl()}/icons/$iconId" } if (icon != null) { RemoteImage( @@ -436,7 +438,7 @@ fun ChannelSideDrawer( ) { if (server?.banner != null) { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/banners/${server.banner.id}", + url = "${PeptideAPI.getCurrentFilesUrl()}/banners/${server.banner.id}", description = null, contentScale = ContentScale.Crop, modifier = Modifier @@ -480,7 +482,7 @@ fun ChannelSideDrawer( if (server?.flags has ServerFlags.Official) { Icon( painter = painterResource( - id = R.drawable.ic_revolt_decagram_24dp + id = R.drawable.ic_peptide_decagram_24dp ), contentDescription = stringResource( R.string.server_flag_official @@ -564,14 +566,14 @@ fun ChannelSideDrawer( onClick = { onDestinationChanged(ChatRouterDestination.Friends) }, - containerColor = MaterialTheme.colorScheme.primaryContainer, - contentColor = MaterialTheme.colorScheme.onPrimaryContainer, + containerColor = MaterialTheme.colorScheme.secondary, + contentColor = MaterialTheme.colorScheme.onSecondary, shape = CircleShape ) { Icon( painter = painterResource(R.drawable.ic_new_message), contentDescription = stringResource(R.string.message_friends), - tint = MaterialTheme.colorScheme.onPrimaryContainer + tint = MaterialTheme.colorScheme.onSecondary ) } } @@ -615,11 +617,11 @@ private fun DirectMessagesChannelListRendererPreview() { "user2_id" to User(id = "user2_id", username = "User Two", avatar = null, online = false) ) - // Simulate RevoltAPI cache for preview - RevoltAPI.channelCache.clear() - mockChannels.forEach { RevoltAPI.channelCache[it.id!!] = it } - RevoltAPI.userCache.clear() - mockUsers.forEach { (id, user) -> RevoltAPI.userCache[id] = user } + // Simulate PeptideAPI cache for preview + PeptideAPI.channelCache.clear() + mockChannels.forEach { PeptideAPI.channelCache[it.id!!] = it } + PeptideAPI.userCache.clear() + mockUsers.forEach { (id, user) -> PeptideAPI.userCache[id] = user } //ColumnScope is required for DirectMessagesChannelListRenderer, let's provide a dummy one @@ -636,14 +638,14 @@ private fun DirectMessagesChannelListRendererPreview() { @Preview @Composable private fun DirectMessagesChannelListRendererEmptyPreview() { - // Simulate RevoltAPI cache for preview - empty state - RevoltAPI.channelCache.clear() - RevoltAPI.channelCache["saved_notes_channel_id"] = Channel( + // Simulate PeptideAPI cache for preview - empty state + PeptideAPI.channelCache.clear() + PeptideAPI.channelCache["saved_notes_channel_id"] = Channel( id = "saved_notes_channel_id", name = "Saved Messages", channelType = ChannelType.SavedMessages ) - RevoltAPI.userCache.clear() + PeptideAPI.userCache.clear() //ColumnScope is required for DirectMessagesChannelListRenderer, let's provide a dummy one Column(Modifier.background(MaterialTheme.colorScheme.surface)) { @@ -664,7 +666,7 @@ private fun ColumnScope.DirectMessagesChannelListRenderer( onOpenChannelContextSheet: (String) -> Unit, ) { val dmAbleChannels = - RevoltAPI.channelCache.values + PeptideAPI.channelCache.values .filter { it.channelType == ChannelType.DirectMessage || it.channelType == ChannelType.Group } .filter { if (it.channelType == ChannelType.DirectMessage) it.active == true else true } .sortedBy { it.lastMessageID ?: it.id } @@ -677,7 +679,7 @@ private fun ColumnScope.DirectMessagesChannelListRenderer( .weight(1f) ) { item(key = "saved_messages") { - val notesChannel = RevoltAPI.channelCache.values.firstOrNull { + val notesChannel = PeptideAPI.channelCache.values.firstOrNull { it.channelType == ChannelType.SavedMessages } @@ -756,7 +758,7 @@ private fun ColumnScope.DirectMessagesChannelListRenderer( val partner = if (channel.channelType == ChannelType.DirectMessage) { - RevoltAPI.userCache[ + PeptideAPI.userCache[ ChannelUtils.resolveDMPartner( channel ) @@ -776,7 +778,7 @@ private fun ColumnScope.DirectMessagesChannelListRenderer( else -> false }, hasUnread = channel.lastMessageID?.let { lastMessageID -> - RevoltAPI.unreads.hasUnread( + PeptideAPI.unreads.hasUnread( channel.id!!, lastMessageID, serverId = null @@ -859,7 +861,7 @@ private fun ColumnScope.ServerChannelListRenderer( onDestinationChanged(dest) }, hasUnread = channelOrCat.channel.lastMessageID?.let { lastMessageID -> - RevoltAPI.unreads.hasUnread( + PeptideAPI.unreads.hasUnread( channelOrCat.channel.id!!, lastMessageID, serverId @@ -981,7 +983,7 @@ fun ChannelItem( Text( text = (ChannelUtils.resolveName(channel) ?: stringResource(R.string.unknown)) + if (appendServerName && channel.server != null) { - " (${RevoltAPI.serverCache[channel.server]?.name ?: stringResource(R.string.unknown)})" + " (${PeptideAPI.serverCache[channel.server]?.name ?: stringResource(R.string.unknown)})" } else { "" }, diff --git a/app/src/main/java/chat/peptide/composables/screens/services/DiscoverView.kt b/app/src/main/java/chat/peptide/composables/screens/services/DiscoverView.kt index e2cb65d2..f71310c1 100644 --- a/app/src/main/java/chat/peptide/composables/screens/services/DiscoverView.kt +++ b/app/src/main/java/chat/peptide/composables/screens/services/DiscoverView.kt @@ -23,8 +23,8 @@ import androidx.compose.ui.draw.alpha import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView import chat.peptide.activities.InviteActivity -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideJson import chat.peptide.api.buildUserAgent import chat.peptide.api.internals.ThemeCompat import kotlinx.serialization.json.JsonObject @@ -60,13 +60,13 @@ fun ColumnScope.DiscoverView() { super.onPageFinished(view, url) val themeMessage = JsonObject( mapOf( - "source" to JsonPrimitive("revolt"), + "source" to JsonPrimitive("peptide"), "type" to JsonPrimitive("theme"), "theme" to themeMap ) ) val themeMessageString = - RevoltJson.encodeToString(JsonObject.serializer(), themeMessage) + PeptideJson.encodeToString(JsonObject.serializer(), themeMessage) evaluateJavascript( """ @@ -101,7 +101,7 @@ fun ColumnScope.DiscoverView() { view: WebView?, request: WebResourceRequest? ): Boolean { - if (request?.url?.host.equals(Uri.parse(RevoltAPI.getCurrentAppUrl()).host)) { + if (request?.url?.host.equals(Uri.parse(PeptideAPI.getCurrentAppUrl()).host)) { val intent = Intent( context, InviteActivity::class.java diff --git a/app/src/main/java/chat/peptide/composables/screens/settings/ServerOverview.kt b/app/src/main/java/chat/peptide/composables/screens/settings/ServerOverview.kt index 2875be55..180b8aef 100644 --- a/app/src/main/java/chat/peptide/composables/screens/settings/ServerOverview.kt +++ b/app/src/main/java/chat/peptide/composables/screens/settings/ServerOverview.kt @@ -27,7 +27,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.schemas.Server import chat.peptide.api.schemas.ServerFlags import chat.peptide.api.schemas.has @@ -51,7 +51,7 @@ fun ServerOverview(server: Server) { ) RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/banners/${it.id}/${it.filename}", + url = "${PeptideAPI.getCurrentFilesUrl()}/banners/${it.id}/${it.filename}", description = null, modifier = Modifier .height(166.dp) @@ -80,7 +80,7 @@ fun ServerOverview(server: Server) { ) { server.icon?.let { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/icons/${it.id}", + url = "${PeptideAPI.getCurrentFilesUrl()}/icons/${it.id}", description = null, allowAnimation = false, modifier = Modifier @@ -104,7 +104,7 @@ fun ServerOverview(server: Server) { CompositionLocalProvider(LocalContentColor provides Color.White) { if (server.flags has ServerFlags.Official) { Icon( - painter = painterResource(id = R.drawable.ic_revolt_decagram_24dp), + painter = painterResource(id = R.drawable.ic_peptide_decagram_24dp), contentDescription = stringResource(R.string.server_flag_official), modifier = Modifier .padding(end = 8.dp) diff --git a/app/src/main/java/chat/peptide/composables/screens/settings/UserButtons.kt b/app/src/main/java/chat/peptide/composables/screens/settings/UserButtons.kt index ca05c389..aeaf45d1 100644 --- a/app/src/main/java/chat/peptide/composables/screens/settings/UserButtons.kt +++ b/app/src/main/java/chat/peptide/composables/screens/settings/UserButtons.kt @@ -32,7 +32,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.unit.dp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.user.acceptFriendRequest import chat.peptide.api.routes.user.blockUser import chat.peptide.api.routes.user.friendUser @@ -155,8 +155,8 @@ fun UserButtons( scope.launch { val dm = openDM(user.id) if (dm.id != null) { - if (RevoltAPI.channelCache[dm.id] == null) - RevoltAPI.channelCache[dm.id] = dm + if (PeptideAPI.channelCache[dm.id] == null) + PeptideAPI.channelCache[dm.id] = dm ActionChannel.send(Action.SwitchChannel(dm.id)) dismissSheet() } else { diff --git a/app/src/main/java/chat/peptide/composables/screens/settings/UserOverview.kt b/app/src/main/java/chat/peptide/composables/screens/settings/UserOverview.kt index 30f5fdd3..fb1da006 100644 --- a/app/src/main/java/chat/peptide/composables/screens/settings/UserOverview.kt +++ b/app/src/main/java/chat/peptide/composables/screens/settings/UserOverview.kt @@ -31,7 +31,7 @@ import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.SpecialUsers import chat.peptide.api.internals.ULID import chat.peptide.api.internals.solidColor @@ -47,7 +47,7 @@ import kotlinx.coroutines.runBlocking @Composable fun SelfUserOverview() { - val selfUser = RevoltAPI.userCache[RevoltAPI.selfId] ?: return + val selfUser = PeptideAPI.userCache[PeptideAPI.selfId] ?: return UserOverview(selfUser) } @@ -115,7 +115,7 @@ fun RawUserOverview( if (background != null) { RemoteImage( url = backgroundUrl - ?: "${RevoltAPI.getCurrentFilesUrl()}/backgrounds/${if (background is AutumnResource) background.id else null}/${if (background is AutumnResource) background.filename else background}", + ?: "${PeptideAPI.getCurrentFilesUrl()}/backgrounds/${if (background is AutumnResource) background.id else null}/${if (background is AutumnResource) background.filename else background}", description = null, modifier = Modifier .height(128.dp) diff --git a/app/src/main/java/chat/peptide/composables/vectorassets/RevoltTagIntro.kt b/app/src/main/java/chat/peptide/composables/vectorassets/PeptideTagIntro.kt similarity index 99% rename from app/src/main/java/chat/peptide/composables/vectorassets/RevoltTagIntro.kt rename to app/src/main/java/chat/peptide/composables/vectorassets/PeptideTagIntro.kt index ae91f6b6..2694ae4a 100644 --- a/app/src/main/java/chat/peptide/composables/vectorassets/RevoltTagIntro.kt +++ b/app/src/main/java/chat/peptide/composables/vectorassets/PeptideTagIntro.kt @@ -13,14 +13,14 @@ import androidx.compose.ui.unit.dp const val HL_USERNAME = 0xFF4799F0 const val HL_TAG = 0xFF3ABF7E -val RevoltTagIntro: ImageVector +val PeptideTagIntro: ImageVector @Composable get() { - if (_RevoltTagIntro != null) { - return _RevoltTagIntro!! + if (_PeptideTagIntro != null) { + return _PeptideTagIntro!! } - _RevoltTagIntro = ImageVector.Builder( - name = "RevoltTagIntro", + _PeptideTagIntro = ImageVector.Builder( + name = "PeptideTagIntro", defaultWidth = 700.dp, defaultHeight = 412.dp, viewportWidth = 700f, @@ -833,17 +833,17 @@ val RevoltTagIntro: ImageVector } }.build() - return _RevoltTagIntro!! + return _PeptideTagIntro!! } @Suppress("ObjectPropertyName") -private var _RevoltTagIntro: ImageVector? = null +private var _PeptideTagIntro: ImageVector? = null @Preview(showBackground = true) @Composable -fun RevoltTagIntroPreview() { +fun PeptideTagIntroPreview() { Image( - imageVector = RevoltTagIntro, + imageVector = PeptideTagIntro, contentDescription = null ) } diff --git a/app/src/main/java/chat/peptide/fragments/ChangelogBottomSheetFragment.kt b/app/src/main/java/chat/peptide/fragments/ChangelogBottomSheetFragment.kt index 399f9d59..66bddc88 100644 --- a/app/src/main/java/chat/peptide/fragments/ChangelogBottomSheetFragment.kt +++ b/app/src/main/java/chat/peptide/fragments/ChangelogBottomSheetFragment.kt @@ -21,7 +21,7 @@ import androidx.core.content.res.ResourcesCompat import androidx.webkit.WebViewAssetLoader import chat.peptide.R import chat.peptide.activities.InviteActivity -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.databinding.SheetChangelogBinding import com.google.android.material.bottomsheet.BottomSheetDialogFragment import com.google.android.material.color.MaterialColors @@ -62,7 +62,7 @@ class ChangelogBottomSheetFragment( binding.wvChangelog.apply { val assetLoader = WebViewAssetLoader.Builder() - .setDomain(Uri.parse(RevoltAPI.getCurrentAppUrl()).host!!) + .setDomain(Uri.parse(PeptideAPI.getCurrentAppUrl()).host!!) .addPathHandler( "/_android_assets/", WebViewAssetLoader.AssetsPathHandler(context) @@ -89,7 +89,7 @@ class ChangelogBottomSheetFragment( // Capture clicks on invite links if (webResourceRequest.url.host == "rvlt.gg" || ( - webResourceRequest.url.host?.endsWith("revolt.chat") == true && webResourceRequest.url.path?.startsWith( + webResourceRequest.url.host?.endsWith("peptide.chat") == true && webResourceRequest.url.path?.startsWith( "/invite" ) == true ) @@ -127,7 +127,7 @@ class ChangelogBottomSheetFragment( } loadUrl( - "${RevoltAPI.getCurrentAppUrl()}/_android_assets/changelogs/renderer.html" + "${PeptideAPI.getCurrentAppUrl()}/_android_assets/changelogs/renderer.html" ) settings.apply { diff --git a/app/src/main/java/chat/peptide/internals/Autocomplete.kt b/app/src/main/java/chat/peptide/internals/Autocomplete.kt index 08e0ce27..5f72796d 100644 --- a/app/src/main/java/chat/peptide/internals/Autocomplete.kt +++ b/app/src/main/java/chat/peptide/internals/Autocomplete.kt @@ -1,6 +1,6 @@ package chat.peptide.internals -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.PermissionBit import chat.peptide.api.internals.Roles import chat.peptide.api.internals.has @@ -23,7 +23,7 @@ object Autocomplete { }.distinctBy { it.shortcode } val customResults = - RevoltAPI.emojiCache.values.filter { + PeptideAPI.emojiCache.values.filter { it.name?.contains(query, ignoreCase = true) ?: false }.mapNotNull { if (it.name != null) { @@ -46,25 +46,25 @@ object Autocomplete { serverId: String? = null, query: String ): List { - val channel = RevoltAPI.channelCache[channelId] ?: return emptyList() + val channel = PeptideAPI.channelCache[channelId] ?: return emptyList() - val member = serverId?.let { RevoltAPI.members.getMember(serverId, RevoltAPI.selfId ?: "") } + val member = serverId?.let { PeptideAPI.members.getMember(serverId, PeptideAPI.selfId ?: "") } val massMentionSuggestions = listOf("everyone", "online") .filter { it.startsWith(query, ignoreCase = true) } - val selfPermissions = RevoltAPI.channelCache[channelId]?.let { ch -> + val selfPermissions = PeptideAPI.channelCache[channelId]?.let { ch -> Roles.permissionFor( ch, - RevoltAPI.userCache[RevoltAPI.selfId], + PeptideAPI.userCache[PeptideAPI.selfId], member ) } return when (channel.channelType) { ChannelType.DirectMessage -> { - val otherUser = channel.recipients?.find { it != RevoltAPI.selfId } + val otherUser = channel.recipients?.find { it != PeptideAPI.selfId } if (otherUser != null) { - val user = RevoltAPI.userCache[otherUser] + val user = PeptideAPI.userCache[otherUser] if (user != null && user.username?.contains(query, ignoreCase = true) == true) { listOf( AutocompleteSuggestion.User( @@ -83,7 +83,7 @@ object Autocomplete { ChannelType.Group -> { val users = - channel.recipients?.mapNotNull { RevoltAPI.userCache[it] } ?: emptyList() + channel.recipients?.mapNotNull { PeptideAPI.userCache[it] } ?: emptyList() users .filter { it.username?.contains(query, ignoreCase = true) ?: false } .map { @@ -96,7 +96,7 @@ object Autocomplete { } ChannelType.SavedMessages -> { - val user = RevoltAPI.userCache[RevoltAPI.selfId] + val user = PeptideAPI.userCache[PeptideAPI.selfId] return if (user != null && user.username?.contains( query, ignoreCase = true @@ -119,22 +119,22 @@ object Autocomplete { if (query.length < 2) return emptyList() val roles = - if (selfPermissions has PermissionBit.MentionRoles && FeatureFlags.massMentionsGranted) RevoltAPI.serverCache[serverId]?.roles + if (selfPermissions has PermissionBit.MentionRoles && FeatureFlags.massMentionsGranted) PeptideAPI.serverCache[serverId]?.roles ?: emptyMap() else emptyMap() - val byNickname = RevoltAPI.members.filterNamesFor(serverId, query) - .map { m -> m to RevoltAPI.userCache[m.id?.user] }.filter { (_, u) -> + val byNickname = PeptideAPI.members.filterNamesFor(serverId, query) + .map { m -> m to PeptideAPI.userCache[m.id?.user] }.filter { (_, u) -> u != null }.map { (m, u) -> m to u!! } - val byUsername = RevoltAPI.userCache.values.filter { + val byUsername = PeptideAPI.userCache.values.filter { it.username?.contains( query, ignoreCase = true ) == true }.mapNotNull { it.id?.let { _ -> - RevoltAPI.members.getMember( + PeptideAPI.members.getMember( serverId, it.id ) to it @@ -183,8 +183,8 @@ object Autocomplete { serverId: String, query: String ): List { - val server = RevoltAPI.serverCache[serverId] ?: return emptyList() - val channels = server.channels?.mapNotNull { RevoltAPI.channelCache[it] } ?: emptyList() + val server = PeptideAPI.serverCache[serverId] ?: return emptyList() + val channels = server.channels?.mapNotNull { PeptideAPI.channelCache[it] } ?: emptyList() return channels.filter { it.name?.contains(query, ignoreCase = true) == true }.map { AutocompleteSuggestion.Channel( diff --git a/app/src/main/java/chat/peptide/internals/Changelogs.kt b/app/src/main/java/chat/peptide/internals/Changelogs.kt index c229467b..b7f36740 100644 --- a/app/src/main/java/chat/peptide/internals/Changelogs.kt +++ b/app/src/main/java/chat/peptide/internals/Changelogs.kt @@ -1,9 +1,9 @@ package chat.peptide.internals import android.content.Context -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltHttp -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideHttp +import chat.peptide.api.PeptideJson import chat.peptide.internals.IndexHolder.cachedIndex import chat.peptide.persistence.KVStorage import io.ktor.client.request.get @@ -55,9 +55,9 @@ class Changelogs(val context: Context, val kvStorage: KVStorage? = null) { } try { - val response = RevoltHttp.get("${RevoltAPI.getCurrentKjBookUrl()}/changelogs.json") + val response = PeptideHttp.get("${PeptideAPI.getCurrentKjBookUrl()}/changelogs.json") cachedIndex = - RevoltJson.decodeFromString(ChangelogIndex.serializer(), response.bodyAsText()) + PeptideJson.decodeFromString(ChangelogIndex.serializer(), response.bodyAsText()) return cachedIndex as ChangelogIndex } catch (e: Error) { return ChangelogIndex() @@ -66,8 +66,8 @@ class Changelogs(val context: Context, val kvStorage: KVStorage? = null) { suspend fun fetchChangelogByVersionCode(versionCode: Long): Changelog { try { - val response = RevoltHttp.get("${RevoltAPI.getCurrentKjBookUrl()}/changelogs/$versionCode.json") - return RevoltJson.decodeFromString(Changelog.serializer(), response.bodyAsText()) + val response = PeptideHttp.get("${PeptideAPI.getCurrentKjBookUrl()}/changelogs/$versionCode.json") + return PeptideJson.decodeFromString(Changelog.serializer(), response.bodyAsText()) } catch (e: Error) { return Changelog( id = "", diff --git a/app/src/main/java/chat/peptide/internals/EmojiImpl.kt b/app/src/main/java/chat/peptide/internals/EmojiImpl.kt index 9b6c1b86..9da69b67 100644 --- a/app/src/main/java/chat/peptide/internals/EmojiImpl.kt +++ b/app/src/main/java/chat/peptide/internals/EmojiImpl.kt @@ -2,9 +2,9 @@ package chat.peptide.internals import android.content.Context import chat.peptide.R -import chat.peptide.RevoltApplication -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltJson +import chat.peptide.PeptideApplication +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideJson import chat.peptide.api.schemas.Server import kotlinx.serialization.Serializable import kotlinx.serialization.builtins.ListSerializer @@ -68,11 +68,11 @@ class EmojiImpl { val json = context.assets.open("metadata/emoji.json").use { it.reader().readText() } - return RevoltJson.decodeFromString(ListSerializer(EmojiGroup.serializer()), json) + return PeptideJson.decodeFromString(ListSerializer(EmojiGroup.serializer()), json) } fun serversWithEmotes(): List { - return RevoltAPI + return PeptideAPI .emojiCache .values .asSequence() @@ -81,13 +81,13 @@ class EmojiImpl { .filter { it.type == "Server" } .map { it.id } .distinct() - .mapNotNull { RevoltAPI.serverCache[it] } + .mapNotNull { PeptideAPI.serverCache[it] } .toList() } fun serverEmoteList(server: Server): List { val list = mutableListOf() - val emotes = RevoltAPI.emojiCache.values.filter { it.parent?.id == server.id } + val emotes = PeptideAPI.emojiCache.values.filter { it.parent?.id == server.id } list.add(EmojiPickerItem.Section(Category.ServerEmoteCategory(server))) list.addAll(emotes.map { EmojiPickerItem.ServerEmote(it) }) @@ -149,7 +149,7 @@ class EmojiImpl { it is EmojiPickerItem.Section && it.category is Category.ServerEmoteCategory && it.category.server == server } val allEmotesInThatServer = - RevoltAPI.emojiCache.values.filter { it.parent?.id == server.id } + PeptideAPI.emojiCache.values.filter { it.parent?.id == server.id } val lastIndex = index + allEmotesInThatServer.size output[Category.ServerEmoteCategory(server)] = Pair(index, lastIndex) @@ -206,7 +206,7 @@ class EmojiImpl { val list = mutableListOf() for (server in serversWithEmotes()) { - val emotes = RevoltAPI.emojiCache.values.filter { it.parent?.id == server.id } + val emotes = PeptideAPI.emojiCache.values.filter { it.parent?.id == server.id } val matchingEmotes = emotes.filter { it.name?.contains(query, ignoreCase = true) ?: false } if (matchingEmotes.isNotEmpty()) { @@ -290,6 +290,6 @@ class EmojiImpl { } init { - metadata = initMetadata(RevoltApplication.instance.applicationContext) + metadata = initMetadata(PeptideApplication.instance.applicationContext) } } diff --git a/app/src/main/java/chat/peptide/internals/extensions/Permissions.kt b/app/src/main/java/chat/peptide/internals/extensions/Permissions.kt index 3ea3e933..20be373c 100644 --- a/app/src/main/java/chat/peptide/internals/extensions/Permissions.kt +++ b/app/src/main/java/chat/peptide/internals/extensions/Permissions.kt @@ -5,7 +5,7 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.MutableLongState import androidx.compose.runtime.mutableLongStateOf import androidx.compose.runtime.saveable.rememberSaveable -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.Roles @Composable @@ -13,16 +13,16 @@ fun rememberChannelPermissions(channelId: String, key1: Any = Unit): MutableLong val permissions = rememberSaveable { mutableLongStateOf(0L) } LaunchedEffect(channelId, key1) { - if (RevoltAPI.selfId == null) return@LaunchedEffect - if (RevoltAPI.userCache[RevoltAPI.selfId] == null) return@LaunchedEffect - if (RevoltAPI.channelCache[channelId] == null) return@LaunchedEffect + if (PeptideAPI.selfId == null) return@LaunchedEffect + if (PeptideAPI.userCache[PeptideAPI.selfId] == null) return@LaunchedEffect + if (PeptideAPI.channelCache[channelId] == null) return@LaunchedEffect - val channel = RevoltAPI.channelCache[channelId] - val selfUser = RevoltAPI.userCache[RevoltAPI.selfId] + val channel = PeptideAPI.channelCache[channelId] + val selfUser = PeptideAPI.userCache[PeptideAPI.selfId] val member = channel?.let { it.server?.let { server -> - RevoltAPI.selfId?.let { selfId -> - RevoltAPI.members.getMember(server, selfId) + PeptideAPI.selfId?.let { selfId -> + PeptideAPI.members.getMember(server, selfId) } } } diff --git a/app/src/main/java/chat/peptide/internals/text/MessageProcessor.kt b/app/src/main/java/chat/peptide/internals/text/MessageProcessor.kt index 2bb76b30..f1270413 100644 --- a/app/src/main/java/chat/peptide/internals/text/MessageProcessor.kt +++ b/app/src/main/java/chat/peptide/internals/text/MessageProcessor.kt @@ -1,6 +1,6 @@ package chat.peptide.internals.text -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.schemas.ChannelType import chat.peptide.internals.EmojiImpl @@ -25,7 +25,7 @@ object MessageProcessor { ?: return@fold acc val user = - RevoltAPI.userCache.values.find { it.username == username && it.discriminator == discriminator } + PeptideAPI.userCache.values.find { it.username == username && it.discriminator == discriminator } val userId = user?.id ?: return@fold acc acc.replace(mention, "<@$userId>") @@ -38,7 +38,7 @@ object MessageProcessor { ?: return@fold acc val fetchedChannel = - RevoltAPI.channelCache.values.find { + PeptideAPI.channelCache.values.find { it.name == channelName && it.server == serverId && it.channelType == ChannelType.TextChannel } ?: return@fold acc diff --git a/app/src/main/java/chat/peptide/markdown/jbm/FallbackRenderer.kt b/app/src/main/java/chat/peptide/markdown/jbm/FallbackRenderer.kt index b8fb282e..b88c6c7e 100644 --- a/app/src/main/java/chat/peptide/markdown/jbm/FallbackRenderer.kt +++ b/app/src/main/java/chat/peptide/markdown/jbm/FallbackRenderer.kt @@ -17,7 +17,7 @@ import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.viewinterop.AndroidView import androidx.webkit.WebViewAssetLoader import chat.peptide.activities.InviteActivity -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.ResourceLocations import chat.peptide.markdown.jbm.LocalJBMarkdownTreeState import chat.peptide.markdown.jbm.MentionResolver @@ -34,7 +34,7 @@ fun FallbackRenderer(content: String, modifier: Modifier = Modifier) { factory = { context -> WebView(context).apply { val assetLoader = WebViewAssetLoader.Builder() - .setDomain(Uri.parse(RevoltAPI.getCurrentAppUrl()).host!!) + .setDomain(Uri.parse(PeptideAPI.getCurrentAppUrl()).host!!) .addPathHandler( "/_android_assets/", WebViewAssetLoader.AssetsPathHandler(context) @@ -61,7 +61,7 @@ fun FallbackRenderer(content: String, modifier: Modifier = Modifier) { // Capture clicks on invite links if (webResourceRequest.url.host == "rvlt.gg" || ( - webResourceRequest.url.host?.endsWith("revolt.chat") == true && webResourceRequest.url.path?.startsWith( + webResourceRequest.url.host?.endsWith("peptide.chat") == true && webResourceRequest.url.path?.startsWith( "/invite" ) == true ) @@ -126,7 +126,7 @@ fun FallbackRenderer(content: String, modifier: Modifier = Modifier) { @JavascriptInterface fun getCustomEmoteUrl(emoteId: String): String { - return "${RevoltAPI.getCurrentFilesUrl()}/emojis/$emoteId/original" + return "${PeptideAPI.getCurrentFilesUrl()}/emojis/$emoteId/original" } @JavascriptInterface @@ -136,7 +136,7 @@ fun FallbackRenderer(content: String, modifier: Modifier = Modifier) { @JavascriptInterface fun userAvatar(userId: String): String { - return ResourceLocations.userAvatarUrl(RevoltAPI.userCache[userId]) + return ResourceLocations.userAvatarUrl(PeptideAPI.userCache[userId]) } @JavascriptInterface @@ -149,7 +149,7 @@ fun FallbackRenderer(content: String, modifier: Modifier = Modifier) { setBackgroundColor(android.graphics.Color.TRANSPARENT) loadUrl( - "${RevoltAPI.getCurrentAppUrl()}/_android_assets/markdown/markdown.html" + "${PeptideAPI.getCurrentAppUrl()}/_android_assets/markdown/markdown.html" ) } } diff --git a/app/src/main/java/chat/peptide/markdown/jbm/JBMRenderer.kt b/app/src/main/java/chat/peptide/markdown/jbm/JBMRenderer.kt index 32bdf93c..dceba08b 100644 --- a/app/src/main/java/chat/peptide/markdown/jbm/JBMRenderer.kt +++ b/app/src/main/java/chat/peptide/markdown/jbm/JBMRenderer.kt @@ -73,7 +73,7 @@ import androidx.compose.ui.unit.sp import androidx.core.net.toUri import chat.peptide.R import chat.peptide.activities.InviteActivity -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.BrushCompat import chat.peptide.api.internals.InstancedBrushCompat import chat.peptide.api.internals.isUlid @@ -267,7 +267,7 @@ private fun annotateText( append(annotateText(state, child)) } } else { - val server = RevoltAPI.serverCache[state.currentServer] + val server = PeptideAPI.serverCache[state.currentServer] val role = server?.roles?.get(roleId) val isGradient = role?.colour?.contains("gradient") == true @@ -722,7 +722,7 @@ private fun JBMText(node: ASTNode, modifier: Modifier) { placeholderVerticalAlign = PlaceholderVerticalAlign.Center ), ) { id -> - val role = RevoltAPI.serverCache[mdState.currentServer]?.roles?.get(id) + val role = PeptideAPI.serverCache[mdState.currentServer]?.roles?.get(id) Box( contentAlignment = Alignment.Center, modifier = Modifier @@ -748,11 +748,11 @@ private fun JBMText(node: ASTNode, modifier: Modifier) { placeholderVerticalAlign = PlaceholderVerticalAlign.Center ), ) { id -> - val emote = RevoltAPI.emojiCache[id] + val emote = PeptideAPI.emojiCache[id] if (emote == null) { scope.launch { try { - RevoltAPI.emojiCache[id] = fetchEmoji(id) + PeptideAPI.emojiCache[id] = fetchEmoji(id) } catch (e: Exception) { // no-op } @@ -761,7 +761,7 @@ private fun JBMText(node: ASTNode, modifier: Modifier) { } else { with(LocalDensity.current) { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/emojis/${id}", + url = "${PeptideAPI.getCurrentFilesUrl()}/emojis/${id}", description = emote.name, contentScale = ContentScale.Fit, modifier = Modifier @@ -786,7 +786,7 @@ private fun JBMText(node: ASTNode, modifier: Modifier) { placeholderVerticalAlign = PlaceholderVerticalAlign.Center ), ) { id -> - val user = RevoltAPI.userCache[id] + val user = PeptideAPI.userCache[id] Box( contentAlignment = Alignment.Center, modifier = Modifier diff --git a/app/src/main/java/chat/peptide/markdown/jbm/KatexRenderer.kt b/app/src/main/java/chat/peptide/markdown/jbm/KatexRenderer.kt index 51ea91b0..f303d13a 100644 --- a/app/src/main/java/chat/peptide/markdown/jbm/KatexRenderer.kt +++ b/app/src/main/java/chat/peptide/markdown/jbm/KatexRenderer.kt @@ -20,7 +20,7 @@ import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.viewinterop.AndroidView import androidx.webkit.WebViewAssetLoader import chat.peptide.activities.InviteActivity -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI internal fun Color.asHexString(includeAlphaComponent: Boolean = true): String { val argb = toArgb() @@ -46,7 +46,7 @@ fun KatexRenderer(content: String, modifier: Modifier = Modifier) { factory = { context -> WebView(context).apply { val assetLoader = WebViewAssetLoader.Builder() - .setDomain(Uri.parse(RevoltAPI.getCurrentAppUrl()).host!!) + .setDomain(Uri.parse(PeptideAPI.getCurrentAppUrl()).host!!) .addPathHandler( "/_android_assets/", WebViewAssetLoader.AssetsPathHandler(context) @@ -73,7 +73,7 @@ fun KatexRenderer(content: String, modifier: Modifier = Modifier) { // Capture clicks on invite links if (webResourceRequest.url.host == "rvlt.gg" || ( - webResourceRequest.url.host?.endsWith("revolt.chat") == true && webResourceRequest.url.path?.startsWith( + webResourceRequest.url.host?.endsWith("peptide.chat") == true && webResourceRequest.url.path?.startsWith( "/invite" ) == true ) @@ -131,7 +131,7 @@ fun KatexRenderer(content: String, modifier: Modifier = Modifier) { setBackgroundColor(android.graphics.Color.TRANSPARENT) loadUrl( - "${RevoltAPI.getCurrentAppUrl()}/_android_assets/katex/katex.html" + "${PeptideAPI.getCurrentAppUrl()}/_android_assets/katex/katex.html" ) } } diff --git a/app/src/main/java/chat/peptide/markdown/jbm/MentionResolver.kt b/app/src/main/java/chat/peptide/markdown/jbm/MentionResolver.kt index c123ea4f..a5958bad 100644 --- a/app/src/main/java/chat/peptide/markdown/jbm/MentionResolver.kt +++ b/app/src/main/java/chat/peptide/markdown/jbm/MentionResolver.kt @@ -1,6 +1,6 @@ package chat.peptide.markdown.jbm -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI object MentionResolver { /** @@ -12,9 +12,9 @@ object MentionResolver { * @return The resolved user mention. */ fun resolveUser(userId: String, serverId: String? = null): String { - val maybeMember = serverId?.let { RevoltAPI.members.getMember(serverId, userId) } + val maybeMember = serverId?.let { PeptideAPI.members.getMember(serverId, userId) } return maybeMember?.nickname - ?: RevoltAPI.userCache[userId]?.username + ?: PeptideAPI.userCache[userId]?.username ?: "<@$userId>" } @@ -26,7 +26,7 @@ object MentionResolver { * @return The resolved channel mention. */ fun resolveChannel(channelId: String): String { - val channel = RevoltAPI.channelCache[channelId] + val channel = PeptideAPI.channelCache[channelId] return channel?.name?.let { name -> "#$name" } ?: "<#$channelId>" } } \ No newline at end of file diff --git a/app/src/main/java/chat/peptide/persistence/KVStorage.kt b/app/src/main/java/chat/peptide/persistence/KVStorage.kt index fc81d5a6..90f529d0 100644 --- a/app/src/main/java/chat/peptide/persistence/KVStorage.kt +++ b/app/src/main/java/chat/peptide/persistence/KVStorage.kt @@ -11,13 +11,13 @@ import kotlinx.coroutines.flow.firstOrNull import javax.inject.Inject import javax.inject.Singleton -val Context.revoltKVStorage: DataStore by preferencesDataStore(name = "revolt_kv") +val Context.peptideKVStorage: DataStore by preferencesDataStore(name = "peptide_kv") @Singleton class KVStorage @Inject constructor( @ApplicationContext private val mContext: Context ) { - private val dataStore = mContext.revoltKVStorage + private val dataStore = mContext.peptideKVStorage suspend fun set(key: String, value: String) { dataStore.edit { preferences -> diff --git a/app/src/main/java/chat/peptide/persistence/SqlStorage.kt b/app/src/main/java/chat/peptide/persistence/SqlStorage.kt index 4cc025dd..6fd7479f 100644 --- a/app/src/main/java/chat/peptide/persistence/SqlStorage.kt +++ b/app/src/main/java/chat/peptide/persistence/SqlStorage.kt @@ -2,12 +2,12 @@ package chat.peptide.persistence import app.cash.sqldelight.db.SqlDriver import app.cash.sqldelight.driver.android.AndroidSqliteDriver -import chat.peptide.RevoltApplication +import chat.peptide.PeptideApplication object SqlStorage { val driver: SqlDriver = AndroidSqliteDriver( Database.Schema, - RevoltApplication.instance.applicationContext, - "revolt.db" + PeptideApplication.instance.applicationContext, + "peptide.db" ) } \ No newline at end of file diff --git a/app/src/main/java/chat/peptide/providers/AttachmentProvider.kt b/app/src/main/java/chat/peptide/providers/AttachmentProvider.kt index b07dc3d1..86e07dc9 100644 --- a/app/src/main/java/chat/peptide/providers/AttachmentProvider.kt +++ b/app/src/main/java/chat/peptide/providers/AttachmentProvider.kt @@ -5,7 +5,7 @@ import android.net.Uri import androidx.core.content.FileProvider import chat.peptide.BuildConfig import chat.peptide.R -import chat.peptide.api.RevoltHttp +import chat.peptide.api.PeptideHttp import io.ktor.client.request.get import io.ktor.client.statement.readBytes import java.io.File @@ -23,7 +23,7 @@ suspend fun getAttachmentContentUri( attachmentsDir.mkdir() } - val response = RevoltHttp.get(resourceUrl) + val response = PeptideHttp.get(resourceUrl) val file = File(attachmentsDir, "$id-$filename") file.writeBytes(response.readBytes()) diff --git a/app/src/main/java/chat/peptide/screens/DefaultDestinationScreen.kt b/app/src/main/java/chat/peptide/screens/DefaultDestinationScreen.kt index c42558e5..c59d9f82 100644 --- a/app/src/main/java/chat/peptide/screens/DefaultDestinationScreen.kt +++ b/app/src/main/java/chat/peptide/screens/DefaultDestinationScreen.kt @@ -10,7 +10,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.platform.LocalContext import androidx.navigation.NavController -import chat.peptide.RevoltApplication +import chat.peptide.PeptideApplication import chat.peptide.api.internals.getComponentActivity import chat.peptide.composables.screens.splash.DisconnectedScreen import com.google.android.material.color.DynamicColors @@ -39,7 +39,7 @@ fun DefaultDestinationScreen( // See the other one in MainActivity.kt val activity = context.getComponentActivity() as Activity DynamicColors.applyToActivityIfAvailable(activity) - DynamicColors.applyToActivitiesIfAvailable(RevoltApplication.instance) + DynamicColors.applyToActivitiesIfAvailable(PeptideApplication.instance) activity.window.statusBarColor = Color.Transparent.toArgb() navController.popBackStack(navController.graph.startDestinationRoute!!, true) diff --git a/app/src/main/java/chat/peptide/screens/about/AboutScreen.kt b/app/src/main/java/chat/peptide/screens/about/AboutScreen.kt index 08d72f89..4abc7151 100644 --- a/app/src/main/java/chat/peptide/screens/about/AboutScreen.kt +++ b/app/src/main/java/chat/peptide/screens/about/AboutScreen.kt @@ -15,8 +15,6 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.ElevatedButton import androidx.compose.material3.ExperimentalMaterial3Api @@ -53,8 +51,8 @@ import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavController import chat.peptide.BuildConfig import chat.peptide.R -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideJson import chat.peptide.api.routes.misc.Root import chat.peptide.api.routes.misc.getRootRoute import chat.peptide.composables.generic.PrimaryTabs @@ -72,8 +70,8 @@ class AboutViewModel : ViewModel() { "App ID" to BuildConfig.APPLICATION_ID, "App Version" to BuildConfig.VERSION_NAME, "App Type" to BuildConfig.FLAVOUR_ID, - "API Host" to URI(RevoltAPI.getCurrentBaseUrl()).host, - "API Version" to (root?.revolt ?: "Unknown"), + "API Host" to URI(PeptideAPI.getCurrentBaseUrl()).host, + "API Version" to (root?.peptide ?: "Unknown"), "Runtime SDK" to Build.VERSION.SDK_INT.toString(), "Model" to "${Build.MANUFACTURER} ${ Build.DEVICE.replaceFirstChar { @@ -143,7 +141,7 @@ fun AboutScreen(navController: NavController, viewModel: AboutViewModel = viewMo fun copyDebugInformation() { clipboardManager.setText( - AnnotatedString(RevoltJson.encodeToString(viewModel.getDebugInformation())) + AnnotatedString(PeptideJson.encodeToString(viewModel.getDebugInformation())) ) if (Platform.needsShowClipboardNotification()) { @@ -211,7 +209,7 @@ fun AboutScreen(navController: NavController, viewModel: AboutViewModel = viewMo when (viewModel.selectedTabIndex) { 0 -> { Image( - painter = painterResource(R.drawable.revolt_logo_wide), + painter = painterResource(R.drawable.peptide_logo_wide), contentDescription = stringResource(R.string.about_full_name), colorFilter = ColorFilter.tint(LocalContentColor.current), modifier = Modifier diff --git a/app/src/main/java/chat/peptide/screens/chat/ChatRouterScreen.kt b/app/src/main/java/chat/peptide/screens/chat/ChatRouterScreen.kt index 241386bc..fff0a0fd 100644 --- a/app/src/main/java/chat/peptide/screens/chat/ChatRouterScreen.kt +++ b/app/src/main/java/chat/peptide/screens/chat/ChatRouterScreen.kt @@ -10,6 +10,7 @@ import android.view.inputmethod.InputMethodManager import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.animation.AnimatedVisibility +import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.WindowInsets @@ -29,6 +30,7 @@ import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.ModalBottomSheet import androidx.compose.material3.NavigationBarItem +import androidx.compose.material3.NavigationBarItemDefaults import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TextButton @@ -49,6 +51,7 @@ import androidx.compose.runtime.setValue import androidx.compose.runtime.snapshotFlow import androidx.compose.runtime.structuralEqualityPolicy import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalView import androidx.compose.ui.res.painterResource @@ -64,7 +67,7 @@ import androidx.lifecycle.viewModelScope import androidx.navigation.NavController import chat.peptide.BuildConfig import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.DirectMessages import chat.peptide.api.realtime.DisconnectionState import chat.peptide.api.realtime.RealtimeSocket @@ -113,6 +116,7 @@ sealed class ChatRouterDestination { val channelId: String, val messageId: String? = null, ) : ChatRouterDestination() + data class ServersChannels(val serverID: String) : ChatRouterDestination() data class NoCurrentChannel(val serverId: String?) : ChatRouterDestination() @@ -140,6 +144,7 @@ sealed class ChatRouterDestination { default } } + else -> default } } @@ -166,7 +171,10 @@ class ChatRouterViewModel @Inject constructor( viewModelScope.launch { // Check if there's a deep link to handle first if (DeepLinkHandler.hasDeepLink) { - Log.d("ChatRouterViewModel", "Deep link detected in init, skipping saved destination") + Log.d( + "ChatRouterViewModel", + "Deep link detected in init, skipping saved destination" + ) // Don't set any destination here, let the LaunchedEffect in ChatRouterScreen handle it } else { // No deep link, load the saved destination @@ -323,7 +331,7 @@ fun ChatRouterScreen( val currentServer = remember(viewModel.currentDestination) { when (viewModel.currentDestination) { is ChatRouterDestination.Channel -> { - RevoltAPI.channelCache[(viewModel.currentDestination as ChatRouterDestination.Channel).channelId]?.server + PeptideAPI.channelCache[(viewModel.currentDestination as ChatRouterDestination.Channel).channelId]?.server } is ChatRouterDestination.NoCurrentChannel -> { @@ -337,7 +345,7 @@ fun ChatRouterScreen( LifecycleEventEffect(Lifecycle.Event.ON_RESUME) { if (RealtimeSocket.disconnectionState == DisconnectionState.Disconnected) { RealtimeSocket.updateDisconnectionState(DisconnectionState.Reconnecting) - scope.launch { RevoltAPI.connectWS() } + scope.launch { PeptideAPI.connectWS() } } } @@ -353,8 +361,8 @@ fun ChatRouterScreen( } } - LaunchedEffect(RevoltAPI.selfId) { - snapshotFlow { RevoltAPI.selfId } + LaunchedEffect(PeptideAPI.selfId) { + snapshotFlow { PeptideAPI.selfId } .distinctUntilChanged() .collect { selfId -> if (selfId == null) { @@ -387,16 +395,19 @@ fun ChatRouterScreen( // Check if there's a deep link to handle if (DeepLinkHandler.hasDeepLink) { Log.d("ChatRouterScreen", "Processing deep link data") - + // Process the deep link based on priority when { // Priority 1: Handle server/channel/message format (most specific) DeepLinkHandler.messageId != null && DeepLinkHandler.channelId != null -> { val messageId = DeepLinkHandler.messageId!! val channelId = DeepLinkHandler.channelId!! - Log.d("ChatRouterScreen", "Setting destination to message: $messageId in channel: $channelId") - - val resolvedChannel = RevoltAPI.channelCache[channelId] + Log.d( + "ChatRouterScreen", + "Setting destination to message: $messageId in channel: $channelId" + ) + + val resolvedChannel = PeptideAPI.channelCache[channelId] if (resolvedChannel == null) { showChannelUnavailableAlert = true } else { @@ -405,27 +416,27 @@ fun ChatRouterScreen( // TODO: Add logic to scroll to the specific message in the channel } } - + // Priority 2: Handle channel deep link DeepLinkHandler.channelId != null -> { val channelId = DeepLinkHandler.channelId!! Log.d("ChatRouterScreen", "Setting destination to channel: $channelId") - val resolvedChannel = RevoltAPI.channelCache[channelId] - + val resolvedChannel = PeptideAPI.channelCache[channelId] + if (resolvedChannel == null) { showChannelUnavailableAlert = true } else { viewModel.setSaveDestination(ChatRouterDestination.Channel(channelId)) } } - + // Priority 3: Handle server deep link DeepLinkHandler.serverId != null -> { val serverId = DeepLinkHandler.serverId!! Log.d("ChatRouterScreen", "Setting destination to server: $serverId") viewModel.navigateToServer(serverId) } - + // Priority 4: Handle user deep link DeepLinkHandler.userId != null -> { val userId = DeepLinkHandler.userId!! @@ -433,12 +444,12 @@ fun ChatRouterScreen( // TODO: Implement user navigation if needed } } - + // Clear the deep link data after processing DeepLinkHandler.clear() } } - + LaunchedEffect(Unit) { while (true) { ActionChannel.receive().let { action -> @@ -450,7 +461,7 @@ fun ChatRouterScreen( } is Action.SwitchChannel -> { - val resolvedChannel = RevoltAPI.channelCache[action.channelId] + val resolvedChannel = PeptideAPI.channelCache[action.channelId] if (resolvedChannel == null) { showChannelUnavailableAlert = true @@ -856,7 +867,7 @@ fun ChatRouterScreen( state = RealtimeSocket.disconnectionState, onReconnect = { RealtimeSocket.updateDisconnectionState(DisconnectionState.Reconnecting) - scope.launch { RevoltAPI.connectWS() } + scope.launch { PeptideAPI.connectWS() } } ) } @@ -937,13 +948,25 @@ fun ChannelNavigator( label = { Text(text = "you") }, - selected = when(dest){ + selected = when (dest) { is ChatRouterDestination.ServersChannels, is ChatRouterDestination.NoCurrentChannel, ChatRouterDestination.Home, ChatRouterDestination.Discover -> true + else -> false - } , + }, + colors = NavigationBarItemDefaults.colors( + indicatorColor = Color.Transparent, + selectedIconColor = MaterialTheme.colorScheme.onBackground, + selectedTextColor = MaterialTheme.colorScheme.onBackground, + unselectedTextColor = MaterialTheme.colorScheme.onBackground.copy( + alpha = 0.4f + ), + unselectedIconColor = MaterialTheme.colorScheme.onBackground.copy( + alpha = 0.4f + ), + ), enabled = true, onClick = { viewModel.setSaveDestination(ChatRouterDestination.Home) @@ -962,6 +985,17 @@ fun ChannelNavigator( }, selected = dest is ChatRouterDestination.Friends, enabled = true, + colors = NavigationBarItemDefaults.colors( + indicatorColor = Color.Transparent, + selectedIconColor = MaterialTheme.colorScheme.onBackground, + selectedTextColor = MaterialTheme.colorScheme.onBackground, + unselectedTextColor = MaterialTheme.colorScheme.onBackground.copy( + alpha = 0.4f + ), + unselectedIconColor = MaterialTheme.colorScheme.onBackground.copy( + alpha = 0.4f + ), + ), onClick = { viewModel.setSaveDestination(ChatRouterDestination.Friends) } @@ -978,6 +1012,17 @@ fun ChannelNavigator( Text(text = "you") }, selected = dest is ChatRouterDestination.Settings, + colors = NavigationBarItemDefaults.colors( + indicatorColor = Color.Transparent, + selectedIconColor = MaterialTheme.colorScheme.onBackground, + selectedTextColor = MaterialTheme.colorScheme.onBackground, + unselectedTextColor = MaterialTheme.colorScheme.onBackground.copy( + alpha = 0.4f + ), + unselectedIconColor = MaterialTheme.colorScheme.onBackground.copy( + alpha = 0.4f + ), + ), enabled = true, onClick = { viewModel.setSaveDestination(ChatRouterDestination.Settings) diff --git a/app/src/main/java/chat/peptide/screens/chat/dialogs/InviteDialog.kt b/app/src/main/java/chat/peptide/screens/chat/dialogs/InviteDialog.kt index 019e6cb9..fe4dccc0 100644 --- a/app/src/main/java/chat/peptide/screens/chat/dialogs/InviteDialog.kt +++ b/app/src/main/java/chat/peptide/screens/chat/dialogs/InviteDialog.kt @@ -42,7 +42,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.channel.createInvite import chat.peptide.internals.Platform import chat.peptide.ui.theme.FragmentMono @@ -69,7 +69,7 @@ operator fun InviteCodeChar.compareTo(other: InviteCodeChar): Int { @Composable fun InviteDialog(channelId: String, onDismissRequest: () -> Unit) { - val channel = RevoltAPI.channelCache[channelId] + val channel = PeptideAPI.channelCache[channelId] if (channel == null) { onDismissRequest() @@ -141,7 +141,7 @@ fun InviteDialog(channelId: String, onDismissRequest: () -> Unit) { Spacer(Modifier.height(16.dp)) Text( - (Uri.parse(RevoltAPI.getCurrentInvitesUrl()).host ?: "rvlt.gg") + "/", + (Uri.parse(PeptideAPI.getCurrentInvitesUrl()).host ?: "rvlt.gg") + "/", style = MaterialTheme.typography.bodySmall, textAlign = TextAlign.Center, modifier = Modifier @@ -204,7 +204,7 @@ fun InviteDialog(channelId: String, onDismissRequest: () -> Unit) { Spacer(Modifier.width(8.dp)) Button(onClick = { clipboardManager.setText(AnnotatedString.Builder().apply { - append(RevoltAPI.getCurrentInvitesUrl()) + append(PeptideAPI.getCurrentInvitesUrl()) append("/") append(inviteCode) }.toAnnotatedString()) diff --git a/app/src/main/java/chat/peptide/screens/chat/dialogs/safety/ReportMessageDialog.kt b/app/src/main/java/chat/peptide/screens/chat/dialogs/safety/ReportMessageDialog.kt index 6633ffed..8b5a691d 100644 --- a/app/src/main/java/chat/peptide/screens/chat/dialogs/safety/ReportMessageDialog.kt +++ b/app/src/main/java/chat/peptide/screens/chat/dialogs/safety/ReportMessageDialog.kt @@ -38,7 +38,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.safety.putMessageReport import chat.peptide.api.routes.user.blockUser import chat.peptide.api.schemas.ContentReportReason @@ -56,13 +56,13 @@ enum class MessageReportFlowState { @OptIn(ExperimentalMaterial3Api::class) @Composable fun ReportMessageDialog(onDismiss: () -> Unit, messageId: String) { - val message = RevoltAPI.messageCache[messageId] + val message = PeptideAPI.messageCache[messageId] if (message == null) { onDismiss() return } - val author = RevoltAPI.userCache[message.author] + val author = PeptideAPI.userCache[message.author] val messageIsBridged = author?.let { author.bot != null && message.masquerade != null } ?: false val state = remember { mutableStateOf(MessageReportFlowState.Reason) } diff --git a/app/src/main/java/chat/peptide/screens/chat/dialogs/safety/ReportServerDialog.kt b/app/src/main/java/chat/peptide/screens/chat/dialogs/safety/ReportServerDialog.kt index 8e58bf14..3e95cb7d 100644 --- a/app/src/main/java/chat/peptide/screens/chat/dialogs/safety/ReportServerDialog.kt +++ b/app/src/main/java/chat/peptide/screens/chat/dialogs/safety/ReportServerDialog.kt @@ -33,7 +33,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.safety.putServerReport import chat.peptide.api.schemas.ContentReportReason import chat.peptide.composables.generic.FormTextField @@ -50,7 +50,7 @@ enum class ServerReportFlowState { @OptIn(ExperimentalMaterial3Api::class) @Composable fun ReportServerDialog(onDismiss: () -> Unit, serverId: String) { - val server = RevoltAPI.serverCache[serverId] + val server = PeptideAPI.serverCache[serverId] if (server == null) { onDismiss() return diff --git a/app/src/main/java/chat/peptide/screens/chat/dialogs/safety/ReportUserDialog.kt b/app/src/main/java/chat/peptide/screens/chat/dialogs/safety/ReportUserDialog.kt index 69df6954..60ffdd84 100644 --- a/app/src/main/java/chat/peptide/screens/chat/dialogs/safety/ReportUserDialog.kt +++ b/app/src/main/java/chat/peptide/screens/chat/dialogs/safety/ReportUserDialog.kt @@ -31,7 +31,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.safety.putUserReport import chat.peptide.api.routes.user.blockUser import chat.peptide.api.schemas.UserReportReason @@ -49,7 +49,7 @@ enum class UserReportFlowState { @OptIn(ExperimentalMaterial3Api::class) @Composable fun ReportUserDialog(onDismiss: () -> Unit, userId: String) { - val user = RevoltAPI.userCache[userId] + val user = PeptideAPI.userCache[userId] if (user == null) { onDismiss() return diff --git a/app/src/main/java/chat/peptide/screens/chat/views/FriendsScreen.kt b/app/src/main/java/chat/peptide/screens/chat/views/FriendsScreen.kt index c2b37013..95c7480b 100644 --- a/app/src/main/java/chat/peptide/screens/chat/views/FriendsScreen.kt +++ b/app/src/main/java/chat/peptide/screens/chat/views/FriendsScreen.kt @@ -89,7 +89,7 @@ import chat.peptide.callbacks.Action import chat.peptide.callbacks.ActionChannel import chat.peptide.components.vectorassets.HL_TAG import chat.peptide.components.vectorassets.HL_USERNAME -import chat.peptide.components.vectorassets.RevoltTagIntro +import chat.peptide.components.vectorassets.PeptideTagIntro import chat.peptide.composables.chat.MemberListItem import chat.peptide.composables.generic.CountableListHeader import chat.peptide.composables.generic.UserAvatar @@ -151,7 +151,7 @@ fun FriendsScreen(topNav: NavController, useDrawer: Boolean = false, onDrawerCli horizontalAlignment = Alignment.CenterHorizontally, ) { Image( - imageVector = RevoltTagIntro, + imageVector = PeptideTagIntro, contentDescription = null, modifier = Modifier .fillMaxWidth(0.5f) @@ -183,7 +183,7 @@ fun FriendsScreen(topNav: NavController, useDrawer: Boolean = false, onDrawerCli TextField( value = username, onValueChange = { - // Cf. https://github.com/revoltchat/backend/blob/aab1734615ac3e09cd447d2c2862ae0f33f5ce5f/crates/delta/src/routes/onboard/complete.rs#L16 + // Cf. https://github.com/peptidechat/backend/blob/aab1734615ac3e09cd447d2c2862ae0f33f5ce5f/crates/delta/src/routes/onboard/complete.rs#L16 if (it.length <= 32 && it.all { char -> char.isLetterOrDigit() || char == '_' || char == '.' || char == '-' diff --git a/app/src/main/java/chat/peptide/screens/chat/views/OverviewScreen.kt b/app/src/main/java/chat/peptide/screens/chat/views/OverviewScreen.kt index 44a3785a..9599fa8c 100644 --- a/app/src/main/java/chat/peptide/screens/chat/views/OverviewScreen.kt +++ b/app/src/main/java/chat/peptide/screens/chat/views/OverviewScreen.kt @@ -53,7 +53,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.navigation.NavController import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.user.fetchSelf import chat.peptide.api.schemas.User import chat.peptide.composables.generic.NonIdealState @@ -77,7 +77,7 @@ fun OverviewScreen( var isLoading by rememberSaveable { mutableStateOf(true) } var user by rememberSaveable { mutableStateOf(null) } LaunchedEffect(Unit) { - val inCache = RevoltAPI.userCache[RevoltAPI.selfId] + val inCache = PeptideAPI.userCache[PeptideAPI.selfId] if (inCache != null) { user = inCache isLoading = false diff --git a/app/src/main/java/chat/peptide/screens/chat/views/channel/ChannelScreen.kt b/app/src/main/java/chat/peptide/screens/chat/views/channel/ChannelScreen.kt index 3f0627ea..fc4d7806 100644 --- a/app/src/main/java/chat/peptide/screens/chat/views/channel/ChannelScreen.kt +++ b/app/src/main/java/chat/peptide/screens/chat/views/channel/ChannelScreen.kt @@ -120,11 +120,11 @@ import androidx.core.content.ContextCompat import androidx.documentfile.provider.DocumentFile import androidx.hilt.navigation.compose.hiltViewModel import chat.peptide.R -import chat.peptide.RevoltApplication -import chat.peptide.activities.RevoltTweenDp -import chat.peptide.activities.RevoltTweenFloat -import chat.peptide.activities.RevoltTweenInt -import chat.peptide.api.RevoltAPI +import chat.peptide.PeptideApplication +import chat.peptide.activities.PeptideTweenDp +import chat.peptide.activities.PeptideTweenFloat +import chat.peptide.activities.PeptideTweenInt +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.ChannelUtils import chat.peptide.api.internals.PermissionBit import chat.peptide.api.internals.has @@ -191,7 +191,7 @@ sealed class ChannelScreenActivePane { private fun pxAsDp(px: Int): Dp { return ( px / ( - RevoltApplication.instance.resources + PeptideApplication.instance.resources .displayMetrics.densityDpi.toFloat() / DisplayMetrics.DENSITY_DEFAULT ) ).dp @@ -444,7 +444,7 @@ fun ChannelScreen( val scrollDownFABPadding by animateDpAsState( if (viewModel.typingUsers.isNotEmpty()) 25.dp else 0.dp, - animationSpec = RevoltTweenDp, + animationSpec = PeptideTweenDp, label = "ScrollDownFABPadding" ) @@ -661,7 +661,7 @@ fun ChannelScreen( when (it.channelType) { ChannelType.DirectMessage -> { val partner = - RevoltAPI.userCache[ChannelUtils.resolveDMPartner(it)] + PeptideAPI.userCache[ChannelUtils.resolveDMPartner(it)] UserAvatar( username = it.name ?: stringResource(R.string.unknown), userId = ChannelUtils.resolveDMPartner(it) ?: "", @@ -728,7 +728,7 @@ fun ChannelScreen( if (it.channelType == ChannelType.DirectMessage) { val partner = - RevoltAPI.userCache[ChannelUtils.resolveDMPartner(it)] + PeptideAPI.userCache[ChannelUtils.resolveDMPartner(it)] PresenceBadge( presence = presenceFromStatus( partner?.status?.presence, @@ -1009,13 +1009,13 @@ fun ChannelScreen( androidx.compose.animation.AnimatedVisibility( !isScrolledToBottom.value, enter = slideInVertically( - animationSpec = RevoltTweenInt, + animationSpec = PeptideTweenInt, initialOffsetY = { it } - ) + fadeIn(animationSpec = RevoltTweenFloat), + ) + fadeIn(animationSpec = PeptideTweenFloat), exit = slideOutVertically( - animationSpec = RevoltTweenInt, + animationSpec = PeptideTweenInt, targetOffsetY = { it } - ) + fadeOut(animationSpec = RevoltTweenFloat) + ) + fadeOut(animationSpec = PeptideTweenFloat) ) { SmallFloatingActionButton( modifier = Modifier diff --git a/app/src/main/java/chat/peptide/screens/chat/views/channel/ChannelScreenViewModel.kt b/app/src/main/java/chat/peptide/screens/chat/views/channel/ChannelScreenViewModel.kt index b648e3c2..e39d7daf 100644 --- a/app/src/main/java/chat/peptide/screens/chat/views/channel/ChannelScreenViewModel.kt +++ b/app/src/main/java/chat/peptide/screens/chat/views/channel/ChannelScreenViewModel.kt @@ -11,8 +11,8 @@ import androidx.compose.ui.util.fastDistinctBy import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import chat.peptide.R -import chat.peptide.api.RevoltAPI -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideAPI +import chat.peptide.api.PeptideJson import chat.peptide.api.internals.ChannelUtils import chat.peptide.api.internals.PermissionBit import chat.peptide.api.internals.Roles @@ -117,7 +117,7 @@ class ChannelScreenViewModel @Inject constructor( fun switchChannel(id: String, skipInitialLoad: Boolean = false) { // Reset state this.loadMessagesJob?.cancel() - this.channel = RevoltAPI.channelCache[id] + this.channel = PeptideAPI.channelCache[id] this.items = mutableStateListOf(ChannelScreenItem.Loading) this.activePane = ChannelScreenActivePane.None this.typingUsers = mutableStateListOf() @@ -171,8 +171,8 @@ class ChannelScreenViewModel @Inject constructor( private suspend fun ensureSelfHasMember() { channel?.server?.let { serverId -> - RevoltAPI.selfId?.let { selfId -> - if (!RevoltAPI.members.hasMember(serverId, selfId)) { + PeptideAPI.selfId?.let { selfId -> + if (!PeptideAPI.members.hasMember(serverId, selfId)) { try { fetchMember(serverId, selfId) } catch (e: Exception) { @@ -188,13 +188,13 @@ class ChannelScreenViewModel @Inject constructor( private suspend fun denyMessageFieldIfNeeded() { if (channel == null) return - val selfUser = RevoltAPI.userCache[RevoltAPI.selfId] ?: return + val selfUser = PeptideAPI.userCache[PeptideAPI.selfId] ?: return val selfMember = if (channel!!.server == null) { null } else { channel?.server?.let { serverId -> try { - RevoltAPI.members.getMember(serverId, selfUser.id!!) ?: fetchMember( + PeptideAPI.members.getMember(serverId, selfUser.id!!) ?: fetchMember( serverId, selfUser.id ) @@ -237,7 +237,7 @@ class ChannelScreenViewModel @Inject constructor( } viewModelScope.launch { - withContext(RevoltAPI.realtimeContext) { + withContext(PeptideAPI.realtimeContext) { channel?.id?.let { RealtimeSocket.beginTyping(it) } @@ -259,7 +259,7 @@ class ChannelScreenViewModel @Inject constructor( private fun stopTyping() { if (editingMessage != null) return viewModelScope.launch { - withContext(RevoltAPI.realtimeContext) { + withContext(PeptideAPI.realtimeContext) { channel?.id?.let { RealtimeSocket.endTyping(it) } @@ -383,16 +383,16 @@ class ChannelScreenViewModel @Inject constructor( val prospectiveMessage = Message( id = nonce, channel = channel?.id, - author = RevoltAPI.selfId, + author = PeptideAPI.selfId, content = content, nonce = nonce, attachments = listOf(), replies = listOf(), tail = items.firstOrNull()?.let { if (it is ChannelScreenItem.RegularMessage) { - it.message.author == RevoltAPI.selfId + it.message.author == PeptideAPI.selfId } else if (it is ChannelScreenItem.ProspectiveMessage) { - it.message.author == RevoltAPI.selfId + it.message.author == PeptideAPI.selfId } else { false } @@ -452,22 +452,22 @@ class ChannelScreenViewModel @Inject constructor( } it.users?.forEach { user -> - if (!RevoltAPI.userCache.containsKey(user.id)) { - RevoltAPI.userCache[user.id!!] = user + if (!PeptideAPI.userCache.containsKey(user.id)) { + PeptideAPI.userCache[user.id!!] = user } } it.messages?.forEach { message -> addUserIfUnknown(message.author ?: return@forEach) - if (!RevoltAPI.messageCache.containsKey(message.id)) { - RevoltAPI.messageCache[message.id!!] = message + if (!PeptideAPI.messageCache.containsKey(message.id)) { + PeptideAPI.messageCache[message.id!!] = message } messages.add(message) } it.members?.forEach { member -> - if (!RevoltAPI.members.hasMember(member.id!!.server, member.id.user)) { - RevoltAPI.members.setMember(member.id.server, member) + if (!PeptideAPI.members.hasMember(member.id!!.server, member.id.user)) { + PeptideAPI.members.setMember(member.id.server, member) } } @@ -532,10 +532,10 @@ class ChannelScreenViewModel @Inject constructor( } suspend fun listenToWsEvents() { - withContext(RevoltAPI.realtimeContext) { + withContext(PeptideAPI.realtimeContext) { flow { while (true) { - emit(RevoltAPI.wsFrameChannel.receive()) + emit(PeptideAPI.wsFrameChannel.receive()) } }.onEach { when (it) { @@ -545,8 +545,8 @@ class ChannelScreenViewModel @Inject constructor( if (items.any { m -> (m is ChannelScreenItem.RegularMessage && m.message.id == it.id) || (m is ChannelScreenItem.SystemMessage && m.message.id == it.id) }) return@onEach it.author?.let { userId -> - if (RevoltAPI.userCache[userId] == null) { - RevoltAPI.userCache[userId] = fetchUser(userId) + if (PeptideAPI.userCache[userId] == null) { + PeptideAPI.userCache[userId] = fetchUser(userId) } } channel?.server?.let { serverId -> @@ -596,7 +596,7 @@ class ChannelScreenViewModel @Inject constructor( if (it.channel != channel?.id) return@onEach val messageFrame = - RevoltJson.decodeFromJsonElement(MessageFrame.serializer(), it.data) + PeptideJson.decodeFromJsonElement(MessageFrame.serializer(), it.data) val currentMessage = items.find { m -> m is ChannelScreenItem.RegularMessage && m.message.id == it.id @@ -632,7 +632,7 @@ class ChannelScreenViewModel @Inject constructor( updateItems( items.map { currentMsg -> if (currentMsg is ChannelScreenItem.RegularMessage && currentMsg.message.id == it.id) { - RevoltAPI.messageCache[it.id]?.let { m -> + PeptideAPI.messageCache[it.id]?.let { m -> ChannelScreenItem.RegularMessage(m) } ?: return@map currentMsg } else { @@ -656,7 +656,7 @@ class ChannelScreenViewModel @Inject constructor( updateItems( items.map { currentMsg -> if (currentMsg is ChannelScreenItem.RegularMessage && currentMsg.message.id == it.id) { - RevoltAPI.messageCache[it.id]?.let { m -> + PeptideAPI.messageCache[it.id]?.let { m -> ChannelScreenItem.RegularMessage(m) } ?: return@map currentMsg } else { @@ -680,7 +680,7 @@ class ChannelScreenViewModel @Inject constructor( updateItems( items.map { currentMsg -> if (currentMsg is ChannelScreenItem.RegularMessage && currentMsg.message.id == it.id) { - RevoltAPI.messageCache[it.id]?.let { m -> + PeptideAPI.messageCache[it.id]?.let { m -> ChannelScreenItem.RegularMessage(m) } ?: return@map currentMsg } else { @@ -693,7 +693,7 @@ class ChannelScreenViewModel @Inject constructor( is ChannelStartTypingFrame -> { if (it.id != channel?.id) return@onEach if (typingUsers.contains(it.user)) return@onEach - if (it.user == RevoltAPI.selfId) return@onEach + if (it.user == PeptideAPI.selfId) return@onEach addUserIfUnknown(it.user) typingUsers.add(it.user) diff --git a/app/src/main/java/chat/peptide/screens/chooseplatform/ChoosePlatformScreen.kt b/app/src/main/java/chat/peptide/screens/chooseplatform/ChoosePlatformScreen.kt index afcfb578..b1e8c182 100644 --- a/app/src/main/java/chat/peptide/screens/chooseplatform/ChoosePlatformScreen.kt +++ b/app/src/main/java/chat/peptide/screens/chooseplatform/ChoosePlatformScreen.kt @@ -34,7 +34,7 @@ import androidx.compose.ui.unit.sp import androidx.navigation.NavController import chat.peptide.R import chat.peptide.api.ApplicationPlatform -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.composables.generic.SquareButton @Composable @@ -54,7 +54,7 @@ fun ChoosePlatformScreen(navController: NavController) { ) { Image( modifier = Modifier.padding(vertical = 24.dp), - painter = painterResource(id = R.drawable.pep_logo_wide), + painter = painterResource(id = R.drawable.peptide_logo_wide), contentDescription = "Pep Wide Logo" ) @@ -143,7 +143,7 @@ fun ChoosePlatformScreen(navController: NavController) { .padding(bottom = 8.dp) .size(72.dp) .clickable { - apiUrlValue.value = "https://api.revolt.chat" + apiUrlValue.value = "https://api.peptide.chat" }, ) { Box( @@ -152,12 +152,12 @@ fun ChoosePlatformScreen(navController: NavController) { ) { Image( painter = painterResource(id = R.drawable.ic_revolt_r), - contentDescription = "Revolt Logo" + contentDescription = "Peptide Logo" ) } } Text( - text = "Revolt", + text = "Peptide", color = MaterialTheme.colorScheme.onBackground.copy( alpha = 0.5f ), @@ -194,10 +194,10 @@ fun ChoosePlatformScreen(navController: NavController) { onClick = { if(apiUrlValue.value.isNotEmpty()){ when(apiUrlValue.value){ - ApplicationPlatform.PEP.baseUrl -> RevoltAPI.setPlatform( + ApplicationPlatform.PEP.baseUrl -> PeptideAPI.setPlatform( ApplicationPlatform.PEP ) - ApplicationPlatform.REVOLT.baseUrl -> RevoltAPI.setPlatform( + ApplicationPlatform.REVOLT.baseUrl -> PeptideAPI.setPlatform( ApplicationPlatform.REVOLT ) else -> return@SquareButton diff --git a/app/src/main/java/chat/peptide/screens/create/CreateGroupScreen.kt b/app/src/main/java/chat/peptide/screens/create/CreateGroupScreen.kt index f9b6e17c..c8f92923 100644 --- a/app/src/main/java/chat/peptide/screens/create/CreateGroupScreen.kt +++ b/app/src/main/java/chat/peptide/screens/create/CreateGroupScreen.kt @@ -37,8 +37,8 @@ import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavController import chat.peptide.R -import chat.peptide.activities.RevoltTweenFloat -import chat.peptide.api.RevoltAPI +import chat.peptide.activities.PeptideTweenFloat +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.FriendRequests import chat.peptide.api.routes.channel.createGroupDM import chat.peptide.callbacks.Action @@ -131,8 +131,8 @@ fun CreateGroupScreen( floatingActionButton = { AnimatedVisibility( visible = viewModel.groupName.isNotBlank() && viewModel.groupMembers.isNotEmpty(), - enter = scaleIn(animationSpec = RevoltTweenFloat), - exit = scaleOut(animationSpec = RevoltTweenFloat) + enter = scaleIn(animationSpec = PeptideTweenFloat), + exit = scaleOut(animationSpec = PeptideTweenFloat) ) { FloatingActionButton(onClick = { viewModel.createGroup(navController::popBackStack) }) { Icon( @@ -189,7 +189,7 @@ fun CreateGroupScreen( ) LazyColumn(contentPadding = PaddingValues(bottom = 78.0.dp)) { items(viewModel.friendsFilteredBySearch.size) { index -> - val friend = RevoltAPI.userCache[viewModel.friendsFilteredBySearch[index]] + val friend = PeptideAPI.userCache[viewModel.friendsFilteredBySearch[index]] ?: return@items val isMember = viewModel.groupMembers.contains(friend.id) diff --git a/app/src/main/java/chat/peptide/screens/labs/LabsHomeScreen.kt b/app/src/main/java/chat/peptide/screens/labs/LabsHomeScreen.kt index b380a40a..f924877d 100644 --- a/app/src/main/java/chat/peptide/screens/labs/LabsHomeScreen.kt +++ b/app/src/main/java/chat/peptide/screens/labs/LabsHomeScreen.kt @@ -193,13 +193,13 @@ fun LabsHomeScreen(navController: NavController, topNav: NavController) { headlineContent = { Text(buildAnnotatedString { pushStyle(SpanStyle(fontFamily = FragmentMono)) - append("librevolt") + append("libpeptide") pop() append(" Sample") }) }, modifier = Modifier.clickable { - navController.navigate("sandboxes/librevolt") + navController.navigate("sandboxes/libpeptide") } ) HorizontalDivider() diff --git a/app/src/main/java/chat/peptide/screens/labs/LabsRootScreen.kt b/app/src/main/java/chat/peptide/screens/labs/LabsRootScreen.kt index dc9246ad..6e6b507f 100644 --- a/app/src/main/java/chat/peptide/screens/labs/LabsRootScreen.kt +++ b/app/src/main/java/chat/peptide/screens/labs/LabsRootScreen.kt @@ -76,7 +76,7 @@ fun LabsRootScreen(topNav: NavController) { composable("sandboxes/gradienteditor") { GradientEditorSandbox(labsNav) } - composable("sandboxes/librevolt") { + composable("sandboxes/libpeptide") { CoreLibSandbox(labsNav) } } diff --git a/app/src/main/java/chat/peptide/screens/labs/ui/mockups/NewLoginExperienceMockup.kt b/app/src/main/java/chat/peptide/screens/labs/ui/mockups/NewLoginExperienceMockup.kt index 84442035..a32971b0 100644 --- a/app/src/main/java/chat/peptide/screens/labs/ui/mockups/NewLoginExperienceMockup.kt +++ b/app/src/main/java/chat/peptide/screens/labs/ui/mockups/NewLoginExperienceMockup.kt @@ -94,7 +94,7 @@ fun NewLoginExperienceMockup(navController: NavController) { ) { Spacer(modifier = Modifier.height(64.dp)) Image( - painter = painterResource(R.drawable.revolt_logo_wide), + painter = painterResource(R.drawable.peptide_logo_wide), contentDescription = null, colorFilter = if (LoadedSettings.theme == Theme.M3Dynamic) ColorFilter.tint( MaterialTheme.colorScheme.onBackground @@ -109,7 +109,7 @@ fun NewLoginExperienceMockup(navController: NavController) { ) Spacer(modifier = Modifier.height(16.dp)) Text( - "Revolt is the chat app that’s truly built with you in mind.", + "Peptide is the chat app that’s truly built with you in mind.", style = MaterialTheme.typography.bodyLargeEmphasized, fontSize = 18.sp, textAlign = TextAlign.Center diff --git a/app/src/main/java/chat/peptide/screens/labs/ui/sandbox/CoreLibSandbox.kt b/app/src/main/java/chat/peptide/screens/labs/ui/sandbox/CoreLibSandbox.kt index 0ed27055..ac7069c1 100644 --- a/app/src/main/java/chat/peptide/screens/labs/ui/sandbox/CoreLibSandbox.kt +++ b/app/src/main/java/chat/peptide/screens/labs/ui/sandbox/CoreLibSandbox.kt @@ -24,7 +24,7 @@ fun CoreLibSandbox(navController: NavController) { Text( text = buildAnnotatedString { pushStyle(SpanStyle(fontFamily = FragmentMono)) - append("librevolt") + append("libpeptide") pop() append(" Sample") }, diff --git a/app/src/main/java/chat/peptide/screens/labs/ui/sandbox/JBMSandbox.kt b/app/src/main/java/chat/peptide/screens/labs/ui/sandbox/JBMSandbox.kt index b3c78431..f9a4144c 100644 --- a/app/src/main/java/chat/peptide/screens/labs/ui/sandbox/JBMSandbox.kt +++ b/app/src/main/java/chat/peptide/screens/labs/ui/sandbox/JBMSandbox.kt @@ -74,7 +74,7 @@ fun JBMSandbox(navController: NavController) { submitMdSource = """# Full range of MD now supported! 1. Text with **bold**, *italics*, and ***both***! 2. You ~~can't see me~~. -3. [I'm a link to another website.]() +3. [I'm a link to another website.]() 4. I'm a spoiler with ||**bold text inside it**|| - I'm a sub-item on this list... - Let's go even deeper... @@ -91,7 +91,7 @@ let x = "I'm a multi-line code block!"; | Timestamp | Mention | Channel Link | Message Link | |:-:|:-:|:-:|:-:| -| | <@01EX2NCWQ0CHS3QJF0FEQS1GR4> | <#01H73F4RAHTPBHKJ1XBQDXK3NQ> | https://revolt.chat/server/01F7ZSBSFHQ8TA81725KQCSDDP/channel/01F92C5ZXBQWQ8KY7J8KY917NM/01J25XZM9JXVVJDDKFPB7Q48HZ |""" +| | <@01EX2NCWQ0CHS3QJF0FEQS1GR4> | <#01H73F4RAHTPBHKJ1XBQDXK3NQ> | https://peptide.chat/server/01F7ZSBSFHQ8TA81725KQCSDDP/channel/01F92C5ZXBQWQ8KY7J8KY917NM/01J25XZM9JXVVJDDKFPB7Q48HZ |""" }) { Text("Submit test document") } diff --git a/app/src/main/java/chat/peptide/screens/login/LoginGreetingScreen.kt b/app/src/main/java/chat/peptide/screens/login/LoginGreetingScreen.kt index 7a8d75fa..cd073678 100644 --- a/app/src/main/java/chat/peptide/screens/login/LoginGreetingScreen.kt +++ b/app/src/main/java/chat/peptide/screens/login/LoginGreetingScreen.kt @@ -65,7 +65,7 @@ fun LoginGreetingScreen(navController: NavController) { ) { Image( painter = painterResource(id = R.drawable.onboarding_fly_image), - contentDescription = "Revolt Logo", + contentDescription = "Peptide Logo", contentScale = ContentScale.Fit, modifier = Modifier .padding(bottom = 16.dp) diff --git a/app/src/main/java/chat/peptide/screens/login/LoginScreen.kt b/app/src/main/java/chat/peptide/screens/login/LoginScreen.kt index ed16cd92..c612b609 100644 --- a/app/src/main/java/chat/peptide/screens/login/LoginScreen.kt +++ b/app/src/main/java/chat/peptide/screens/login/LoginScreen.kt @@ -50,8 +50,8 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import androidx.navigation.NavController import chat.peptide.R -import chat.peptide.RevoltApplication -import chat.peptide.api.RevoltAPI +import chat.peptide.PeptideApplication +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.account.EmailPasswordAssessment import chat.peptide.api.routes.account.negotiateAuthentication import chat.peptide.api.routes.onboard.needsOnboarding @@ -96,7 +96,7 @@ class LoginViewModel @Inject constructor( negotiateAuthentication(_email, _password) } catch (e: Exception) { _error = if (e.message?.startsWith("Unexpected JSON token") == true) { - RevoltApplication.instance.getString(R.string.service_health_alert_body_default) + PeptideApplication.instance.getString(R.string.service_health_alert_body_default) } else e.message ?: "Unknown error" return@launch } @@ -127,8 +127,8 @@ class LoginViewModel @Inject constructor( return@launch } - RevoltAPI.loginAs(token) - RevoltAPI.setSessionId(response.firstUserHints.token) + PeptideAPI.loginAs(token) + PeptideAPI.setSessionId(response.firstUserHints.token) _navigateTo = "home" } catch (e: Error) { @@ -331,7 +331,7 @@ fun LoginScreen(navController: NavController, viewModel: LoginViewModel = hiltVi ) Weblink( text = stringResource(R.string.password_forgot), - url = "${RevoltAPI.getCurrentAppUrl()}/login/reset", + url = "${PeptideAPI.getCurrentAppUrl()}/login/reset", modifier = Modifier.padding(vertical = 12.dp) ) Spacer(modifier = Modifier.height(32.dp)) diff --git a/app/src/main/java/chat/peptide/screens/login/MfaScreen.kt b/app/src/main/java/chat/peptide/screens/login/MfaScreen.kt index 9cf18c75..e2f7912d 100644 --- a/app/src/main/java/chat/peptide/screens/login/MfaScreen.kt +++ b/app/src/main/java/chat/peptide/screens/login/MfaScreen.kt @@ -37,7 +37,7 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import androidx.navigation.NavController import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.account.MfaResponseRecoveryCode import chat.peptide.api.routes.account.MfaResponseTotpCode import chat.peptide.api.routes.account.authenticateWithMfaRecoveryCode @@ -93,8 +93,8 @@ class MfaScreenViewModel @Inject constructor( val token = response.firstUserHints!!.token val id = response.firstUserHints.id - RevoltAPI.loginAs(token) - RevoltAPI.setSessionId(id) + PeptideAPI.loginAs(token) + PeptideAPI.setSessionId(id) kvStorage.set("sessionToken", token) kvStorage.set("sessionId", id) @@ -123,8 +123,8 @@ class MfaScreenViewModel @Inject constructor( val token = response.firstUserHints!!.token val id = response.firstUserHints.id - RevoltAPI.loginAs(token) - RevoltAPI.setSessionId(id) + PeptideAPI.loginAs(token) + PeptideAPI.setSessionId(id) kvStorage.set("sessionToken", token) kvStorage.set("sessionId", id) diff --git a/app/src/main/java/chat/peptide/screens/login2/InitScreen.kt b/app/src/main/java/chat/peptide/screens/login2/InitScreen.kt index 2eacb051..c95927b5 100644 --- a/app/src/main/java/chat/peptide/screens/login2/InitScreen.kt +++ b/app/src/main/java/chat/peptide/screens/login2/InitScreen.kt @@ -35,7 +35,7 @@ import androidx.compose.ui.unit.sp import androidx.navigation.NavController import chat.peptide.BuildConfig import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.settings.LoadedSettings import chat.peptide.composables.generic.AnyLink import chat.peptide.composables.generic.Weblink @@ -101,7 +101,7 @@ private fun LeadPart(windowSizeClass: WindowSizeClass) { Spacer(Modifier.height(64.dp)) } Image( - painter = painterResource(R.drawable.revolt_logo_wide), + painter = painterResource(R.drawable.peptide_logo_wide), contentDescription = null, colorFilter = ColorFilter.tint( MaterialTheme.colorScheme.onBackground @@ -117,7 +117,7 @@ private fun LeadPart(windowSizeClass: WindowSizeClass) { ) Spacer(modifier = Modifier.height(16.dp)) Text( - "Revolt is the chat app that’s truly built with you in mind.", // FIXME hardcoded string + "Peptide is the chat app that’s truly built with you in mind.", // FIXME hardcoded string style = MaterialTheme.typography.bodyLarge, fontSize = 18.sp, textAlign = TextAlign.Center @@ -158,15 +158,15 @@ private fun LinkPart(windowSizeClass: WindowSizeClass) { Weblink( text = stringResource(R.string.terms_of_service), - url = "${RevoltAPI.getCurrentMarketingUrl()}/terms" + url = "${PeptideAPI.getCurrentMarketingUrl()}/terms" ) Weblink( text = stringResource(R.string.privacy_policy), - url = "${RevoltAPI.getCurrentMarketingUrl()}/privacy" + url = "${PeptideAPI.getCurrentMarketingUrl()}/privacy" ) Weblink( text = stringResource(R.string.community_guidelines), - url = "${RevoltAPI.getCurrentMarketingUrl()}/aup" + url = "${PeptideAPI.getCurrentMarketingUrl()}/aup" ) if (BuildConfig.DEBUG) { diff --git a/app/src/main/java/chat/peptide/screens/main/ConversationsScreen.kt b/app/src/main/java/chat/peptide/screens/main/ConversationsScreen.kt index 3d2e9bbf..d8413d15 100644 --- a/app/src/main/java/chat/peptide/screens/main/ConversationsScreen.kt +++ b/app/src/main/java/chat/peptide/screens/main/ConversationsScreen.kt @@ -30,7 +30,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.navigation.NavController import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.schemas.ChannelType import chat.peptide.api.schemas.User import chat.peptide.api.settings.LoadedSettings @@ -43,7 +43,7 @@ import chat.peptide.internals.extensions.zero fun ConversationsScreen(navController: NavController) { val context = LocalContext.current val dmAbleChannels = - RevoltAPI.channelCache.values + PeptideAPI.channelCache.values .filter { it.channelType == ChannelType.DirectMessage || it.channelType == ChannelType.Group } .filter { if (it.channelType == ChannelType.DirectMessage) it.active == true else true } .sortedBy { it.lastMessageID ?: it.id } @@ -63,13 +63,13 @@ fun ConversationsScreen(navController: NavController) { ) { item(key = "saved_messages") { val notesChannel = - RevoltAPI.channelCache.values.firstOrNull { it.channelType == ChannelType.SavedMessages } - val lastMessage = notesChannel?.lastMessageID?.let { RevoltAPI.messageCache[it] } + PeptideAPI.channelCache.values.firstOrNull { it.channelType == ChannelType.SavedMessages } + val lastMessage = notesChannel?.lastMessageID?.let { PeptideAPI.messageCache[it] } val hasAttachments = remember { context.getString(R.string.reply_message_empty_has_attachments) } val preview = remember(lastMessage) { - (RevoltAPI.userCache[RevoltAPI.selfId]?.let { + (PeptideAPI.userCache[PeptideAPI.selfId]?.let { User.resolveDefaultName( it ) @@ -93,7 +93,7 @@ fun ConversationsScreen(navController: NavController) { }, leadingContent = { Box(contentAlignment = Alignment.TopEnd) { - RevoltAPI.userCache[RevoltAPI.selfId]?.let { + PeptideAPI.userCache[PeptideAPI.selfId]?.let { UserAvatar( username = it.username.toString(), avatar = it.avatar, diff --git a/app/src/main/java/chat/peptide/screens/register/RegisterDetailsScreen.kt b/app/src/main/java/chat/peptide/screens/register/RegisterDetailsScreen.kt index e9d39356..a5f3f96e 100644 --- a/app/src/main/java/chat/peptide/screens/register/RegisterDetailsScreen.kt +++ b/app/src/main/java/chat/peptide/screens/register/RegisterDetailsScreen.kt @@ -45,7 +45,7 @@ import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavController import chat.peptide.R -import chat.peptide.RevoltApplication +import chat.peptide.PeptideApplication import chat.peptide.api.routes.account.RegistrationBody import chat.peptide.api.routes.account.register import chat.peptide.api.routes.misc.getRootRoute @@ -69,7 +69,7 @@ class RegisterDetailsScreenViewModel : ViewModel() { getRootRoute() } catch (e: Exception) { error = if (e.message?.startsWith("Expected response body of the type") == true) { - RevoltApplication.instance.getString(R.string.service_health_alert_body_default) + PeptideApplication.instance.getString(R.string.service_health_alert_body_default) } else e.message return@launch } diff --git a/app/src/main/java/chat/peptide/screens/register/RegisterGreetingScreen.kt b/app/src/main/java/chat/peptide/screens/register/RegisterGreetingScreen.kt index 101fa769..f33fd338 100644 --- a/app/src/main/java/chat/peptide/screens/register/RegisterGreetingScreen.kt +++ b/app/src/main/java/chat/peptide/screens/register/RegisterGreetingScreen.kt @@ -59,7 +59,7 @@ fun RegisterGreetingScreen(navController: NavController) { Spacer(modifier = Modifier.height(20.dp)) Image( - painter = painterResource(id = R.drawable.revolt_onboarding), + painter = painterResource(id = R.drawable.peptide_onboarding), contentDescription = stringResource(id = R.string.register_image_alt), modifier = Modifier .size(300.dp) diff --git a/app/src/main/java/chat/peptide/screens/settings/AppearanceSettingsScreen.kt b/app/src/main/java/chat/peptide/screens/settings/AppearanceSettingsScreen.kt index cbb1c687..3bb4ad1d 100644 --- a/app/src/main/java/chat/peptide/screens/settings/AppearanceSettingsScreen.kt +++ b/app/src/main/java/chat/peptide/screens/settings/AppearanceSettingsScreen.kt @@ -58,8 +58,8 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import androidx.navigation.NavController import chat.peptide.R -import chat.peptide.api.RevoltCbor -import chat.peptide.api.RevoltJson +import chat.peptide.api.PeptideCbor +import chat.peptide.api.PeptideJson import chat.peptide.api.settings.LoadedSettings import chat.peptide.api.settings.SyncedSettings import chat.peptide.composables.generic.ListHeader @@ -109,11 +109,11 @@ class AppearanceSettingsScreenViewModel @Inject constructor( if (overrides != null) { // Yes, this looks stupid. Please see the comments in OverridableColourScheme.kt regarding this. - val json = RevoltJson.encodeToString( + val json = PeptideJson.encodeToString( OverridableColourScheme.serializer(), overrides ) - val asMap = RevoltJson.decodeFromString( + val asMap = PeptideJson.decodeFromString( MapSerializer(String.serializer(), Int.serializer()), json ) @@ -168,7 +168,7 @@ class AppearanceSettingsScreenViewModel @Inject constructor( } try { - RevoltCbor.decodeFromByteArray( + PeptideCbor.decodeFromByteArray( MapSerializer(String.serializer(), Int.serializer()), mFile.readBytes() ).let { @@ -189,7 +189,7 @@ class AppearanceSettingsScreenViewModel @Inject constructor( fun saveOverridesToFile(uri: Uri) { context.contentResolver.openOutputStream(uri)?.use { outputStream -> outputStream.write( - RevoltCbor.encodeToByteArray( + PeptideCbor.encodeToByteArray( OverridableColourScheme.serializer(), SyncedSettings.android.colourOverrides ?: OverridableColourScheme() ) @@ -219,7 +219,7 @@ fun AppearanceSettingsScreen( } } val fileSaver = rememberLauncherForActivityResult( - contract = ActivityResultContracts.CreateDocument("application/x-revolt-android-theme-overrides"), + contract = ActivityResultContracts.CreateDocument("application/x-peptide-android-theme-overrides"), ) { uri -> if (uri != null) { viewModel.saveOverridesToFile(uri) @@ -316,35 +316,13 @@ fun AppearanceSettingsScreen( ) { ColourChip( color = Color(0xff333642), - text = stringResource(id = R.string.settings_appearance_theme_revolt), - selected = LoadedSettings.theme == Theme.Revolt, + text = stringResource(id = R.string.settings_appearance_theme_peptide), + selected = LoadedSettings.theme == Theme.None, modifier = Modifier .weight(1f) - .testTag("set_theme_revolt") + .testTag("set_theme_peptide") ) { - viewModel.saveNewTheme(Theme.Revolt) - } - - ColourChip( - color = Color(0xfff7f7f7), - text = stringResource(id = R.string.settings_appearance_theme_light), - selected = LoadedSettings.theme == Theme.Light, - modifier = Modifier - .weight(1f) - .testTag("set_theme_light") - ) { - viewModel.saveNewTheme(Theme.Light) - } - - ColourChip( - color = Color(0xff000000), - text = stringResource(id = R.string.settings_appearance_theme_amoled), - selected = LoadedSettings.theme == Theme.Amoled, - modifier = Modifier - .weight(1f) - .testTag("set_theme_amoled") - ) { - viewModel.saveNewTheme(Theme.Amoled) + viewModel.saveNewTheme(Theme.None) } ColourChip( diff --git a/app/src/main/java/chat/peptide/screens/settings/ExperimentsSettingsScreen.kt b/app/src/main/java/chat/peptide/screens/settings/ExperimentsSettingsScreen.kt index 98ace33d..7f2b3383 100644 --- a/app/src/main/java/chat/peptide/screens/settings/ExperimentsSettingsScreen.kt +++ b/app/src/main/java/chat/peptide/screens/settings/ExperimentsSettingsScreen.kt @@ -22,7 +22,7 @@ import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavController import chat.peptide.BuildConfig -import chat.peptide.RevoltApplication +import chat.peptide.PeptideApplication import chat.peptide.api.settings.Experiments import chat.peptide.api.settings.LoadedSettings import chat.peptide.persistence.KVStorage @@ -31,7 +31,7 @@ import chat.peptide.settings.dsl.SubcategoryContentInsets import kotlinx.coroutines.launch class ExperimentsSettingsScreenViewModel : ViewModel() { - private val kv = KVStorage(RevoltApplication.instance) + private val kv = KVStorage(PeptideApplication.instance) fun init() { viewModelScope.launch { diff --git a/app/src/main/java/chat/peptide/screens/settings/ProfileSettngsScreen.kt b/app/src/main/java/chat/peptide/screens/settings/ProfileSettngsScreen.kt index 5e064195..56987ed5 100644 --- a/app/src/main/java/chat/peptide/screens/settings/ProfileSettngsScreen.kt +++ b/app/src/main/java/chat/peptide/screens/settings/ProfileSettngsScreen.kt @@ -47,7 +47,7 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import androidx.navigation.NavController import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.microservices.autumn.uploadToAutumn import chat.peptide.api.routes.user.fetchUserProfile import chat.peptide.api.routes.user.patchSelf @@ -75,14 +75,14 @@ class ProfileSettingsScreenViewModel @Inject constructor(@ApplicationContext val var bioError by mutableStateOf(null) init { - RevoltAPI.selfId?.let { self -> - RevoltAPI.userCache[self]?.avatar?.id?.let { - pfpModel = "${RevoltAPI.getCurrentAutumnUrl()}/avatars/${it}" + PeptideAPI.selfId?.let { self -> + PeptideAPI.userCache[self]?.avatar?.id?.let { + pfpModel = "${PeptideAPI.getCurrentAutumnUrl()}/avatars/${it}" } viewModelScope.launch { currentProfile = fetchUserProfile(self) currentProfile!!.background?.id?.let { - backgroundModel = "${RevoltAPI.getCurrentAutumnUrl()}/backgrounds/${it}" + backgroundModel = "${PeptideAPI.getCurrentAutumnUrl()}/backgrounds/${it}" } pendingProfile = currentProfile!!.copy() @@ -136,8 +136,8 @@ class ProfileSettingsScreenViewModel @Inject constructor(@ApplicationContext val return@launch } - pfpModel = RevoltAPI.userCache[RevoltAPI.selfId]?.avatar?.id?.let { - "${RevoltAPI.getCurrentAutumnUrl()}/avatars/${it}" + pfpModel = PeptideAPI.userCache[PeptideAPI.selfId]?.avatar?.id?.let { + "${PeptideAPI.getCurrentAutumnUrl()}/avatars/${it}" } uploadProgress = 0f @@ -187,13 +187,13 @@ class ProfileSettingsScreenViewModel @Inject constructor(@ApplicationContext val return@launch } - backgroundModel = RevoltAPI.selfId?.let { + backgroundModel = PeptideAPI.selfId?.let { val profile = fetchUserProfile(it) currentProfile = profile pendingProfile = profile profile.background?.id?.let { id -> - "${RevoltAPI.getCurrentAutumnUrl()}/backgrounds/${id}" + "${PeptideAPI.getCurrentAutumnUrl()}/backgrounds/${id}" } } @@ -221,7 +221,7 @@ class ProfileSettingsScreenViewModel @Inject constructor(@ApplicationContext val try { patchSelf(bio = pendingProfile?.content) - fetchUserProfile(RevoltAPI.selfId!!).let { + fetchUserProfile(PeptideAPI.selfId!!).let { currentProfile = it pendingProfile = it } @@ -298,7 +298,7 @@ fun ProfileSettingsScreen( .size(48.dp) ) } else { - RevoltAPI.userCache[RevoltAPI.selfId]?.let { + PeptideAPI.userCache[PeptideAPI.selfId]?.let { RawUserOverview( it, viewModel.pendingProfile, diff --git a/app/src/main/java/chat/peptide/screens/settings/SessionSettngsScreen.kt b/app/src/main/java/chat/peptide/screens/settings/SessionSettngsScreen.kt index 251b2edc..3410e24c 100644 --- a/app/src/main/java/chat/peptide/screens/settings/SessionSettngsScreen.kt +++ b/app/src/main/java/chat/peptide/screens/settings/SessionSettngsScreen.kt @@ -49,7 +49,7 @@ import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavController import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.auth.fetchAllSessions import chat.peptide.api.routes.auth.logoutAllSessions import chat.peptide.api.routes.auth.logoutSessionById @@ -71,7 +71,7 @@ class SessionSettingsScreenViewModel : ViewModel() { currentSession = sessions.firstOrNull { it.isCurrent() } Log.d( "SessionSettingsScreen", - "Current session: $currentSession. Current session ID: ${RevoltAPI.sessionId}" + "Current session: $currentSession. Current session ID: ${PeptideAPI.sessionId}" ) isLoading = false } diff --git a/app/src/main/java/chat/peptide/screens/settings/SettingsScreen.kt b/app/src/main/java/chat/peptide/screens/settings/SettingsScreen.kt index 48b66573..10ab1b50 100644 --- a/app/src/main/java/chat/peptide/screens/settings/SettingsScreen.kt +++ b/app/src/main/java/chat/peptide/screens/settings/SettingsScreen.kt @@ -36,7 +36,7 @@ import androidx.navigation.NavController import chat.peptide.BuildConfig import chat.peptide.R import chat.peptide.activities.InviteActivity -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.settings.FeatureFlags import chat.peptide.api.settings.LoadedSettings import chat.peptide.composables.generic.ListHeader @@ -53,7 +53,7 @@ class SettingsScreenViewModel @Inject constructor( runBlocking { kvStorage.remove("sessionToken") LoadedSettings.reset() - RevoltAPI.logout() + PeptideAPI.logout() } } } diff --git a/app/src/main/java/chat/peptide/screens/settings/channel/ChannelSettingsHome.kt b/app/src/main/java/chat/peptide/screens/settings/channel/ChannelSettingsHome.kt index 445a68c2..bdb8c36c 100644 --- a/app/src/main/java/chat/peptide/screens/settings/channel/ChannelSettingsHome.kt +++ b/app/src/main/java/chat/peptide/screens/settings/channel/ChannelSettingsHome.kt @@ -37,7 +37,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.navigation.NavController import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.PermissionBit import chat.peptide.api.internals.hasPermission import chat.peptide.api.routes.channel.leaveDeleteOrCloseChannel @@ -50,7 +50,7 @@ import kotlinx.coroutines.launch @OptIn(ExperimentalMaterial3Api::class) @Composable fun ChannelSettingsHome(navController: NavController, channelId: String) { - val channel = RevoltAPI.channelCache[channelId] + val channel = PeptideAPI.channelCache[channelId] val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior() val permissions by rememberChannelPermissions(channelId) var showDeletionConfirmation by remember { mutableStateOf(false) } diff --git a/app/src/main/java/chat/peptide/screens/settings/channel/ChannelSettingsOverview.kt b/app/src/main/java/chat/peptide/screens/settings/channel/ChannelSettingsOverview.kt index 2d391d69..b454c6f6 100644 --- a/app/src/main/java/chat/peptide/screens/settings/channel/ChannelSettingsOverview.kt +++ b/app/src/main/java/chat/peptide/screens/settings/channel/ChannelSettingsOverview.kt @@ -57,8 +57,8 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import androidx.navigation.NavController import chat.peptide.R -import chat.peptide.activities.RevoltTweenFloat -import chat.peptide.api.RevoltAPI +import chat.peptide.activities.PeptideTweenFloat +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.channel.patchChannel import chat.peptide.api.routes.microservices.autumn.uploadToAutumn import chat.peptide.api.schemas.Channel @@ -89,12 +89,12 @@ class ChannelSettingsOverviewViewModel @Inject constructor(@ApplicationContext v var showNsfwToggleDialogue by mutableStateOf(false) fun populateWithChannel(channelId: String) { - val channel = RevoltAPI.channelCache[channelId] + val channel = PeptideAPI.channelCache[channelId] initialChannel = channel channel?.let { channelName = it.name ?: "" channelDescription = it.description ?: "" - iconModel = it.icon?.let { icon -> "${RevoltAPI.getCurrentFilesUrl()}/icons/${icon.id}" } + iconModel = it.icon?.let { icon -> "${PeptideAPI.getCurrentFilesUrl()}/icons/${icon.id}" } } } @@ -217,7 +217,7 @@ fun ChannelSettingsOverview( channelId: String, viewModel: ChannelSettingsOverviewViewModel = hiltViewModel() ) { - val currentChannel = RevoltAPI.channelCache[channelId] + val currentChannel = PeptideAPI.channelCache[channelId] val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior() LaunchedEffect(channelId) { @@ -312,8 +312,8 @@ fun ChannelSettingsOverview( floatingActionButton = { AnimatedVisibility( visible = channelInfoUpdated, - enter = scaleIn(animationSpec = RevoltTweenFloat), - exit = scaleOut(animationSpec = RevoltTweenFloat) + enter = scaleIn(animationSpec = PeptideTweenFloat), + exit = scaleOut(animationSpec = PeptideTweenFloat) ) { FloatingActionButton(onClick = { viewModel.updateChannel() }) { Icon( diff --git a/app/src/main/java/chat/peptide/screens/settings/channel/ChannelSettingsPermissions.kt b/app/src/main/java/chat/peptide/screens/settings/channel/ChannelSettingsPermissions.kt index 49bd64ee..a7f3dab5 100644 --- a/app/src/main/java/chat/peptide/screens/settings/channel/ChannelSettingsPermissions.kt +++ b/app/src/main/java/chat/peptide/screens/settings/channel/ChannelSettingsPermissions.kt @@ -26,12 +26,12 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.navigation.NavController import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI @OptIn(ExperimentalMaterial3Api::class) @Composable fun ChannelSettingsPermissions(navController: NavController, channelId: String) { - val channel = RevoltAPI.channelCache[channelId] + val channel = PeptideAPI.channelCache[channelId] val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior() Scaffold( diff --git a/app/src/main/java/chat/peptide/settings/providers/AgeGateUnlockedStorageProvider.kt b/app/src/main/java/chat/peptide/settings/providers/AgeGateUnlockedStorageProvider.kt index 8a7e796e..2aa65ffc 100644 --- a/app/src/main/java/chat/peptide/settings/providers/AgeGateUnlockedStorageProvider.kt +++ b/app/src/main/java/chat/peptide/settings/providers/AgeGateUnlockedStorageProvider.kt @@ -1,10 +1,10 @@ package chat.peptide.settings.providers -import chat.peptide.RevoltApplication +import chat.peptide.PeptideApplication import chat.peptide.persistence.KVStorage object AgeGateUnlockedStorageProvider { - private val kv = KVStorage(RevoltApplication.instance) + private val kv = KVStorage(PeptideApplication.instance) suspend fun setAgeGateUnlocked(unlocked: Boolean) { kv.set("ageGateUnlocked", unlocked) diff --git a/app/src/main/java/chat/peptide/sheets/AddServerSheet.kt b/app/src/main/java/chat/peptide/sheets/AddServerSheet.kt index 0e1d30ce..acbd28e0 100644 --- a/app/src/main/java/chat/peptide/sheets/AddServerSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/AddServerSheet.kt @@ -54,7 +54,7 @@ import androidx.compose.ui.unit.dp import androidx.core.net.toUri import chat.peptide.R import chat.peptide.activities.InviteActivity -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.server.createServer import chat.peptide.callbacks.Action import chat.peptide.callbacks.ActionChannel @@ -322,7 +322,7 @@ fun AddServerSheet(onDismiss: () -> Unit) { return@Button } } else { - "https://${RevoltAPI.getCurrentAppUrl()}/invite/${inviteState.text}".toUri() + "https://${PeptideAPI.getCurrentAppUrl()}/invite/${inviteState.text}".toUri() } context.startActivity(intent) diff --git a/app/src/main/java/chat/peptide/sheets/ChannelContextSheet.kt b/app/src/main/java/chat/peptide/sheets/ChannelContextSheet.kt index f8a27175..ca043c42 100644 --- a/app/src/main/java/chat/peptide/sheets/ChannelContextSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/ChannelContextSheet.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.unit.dp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.composables.generic.SheetButton import chat.peptide.internals.Platform @@ -26,7 +26,7 @@ import kotlinx.coroutines.launch @Composable fun ChannelContextSheet(channelId: String, onHideSheet: suspend () -> Unit) { - val channel = RevoltAPI.channelCache[channelId] + val channel = PeptideAPI.channelCache[channelId] if (channel == null) { Box( modifier = Modifier @@ -89,7 +89,7 @@ fun ChannelContextSheet(channelId: String, onHideSheet: suspend () -> Unit) { onClick = { coroutineScope.launch { channel.lastMessageID?.let { - RevoltAPI.unreads.markAsRead(channelId, it, sync = true) + PeptideAPI.unreads.markAsRead(channelId, it, sync = true) } onHideSheet() } diff --git a/app/src/main/java/chat/peptide/sheets/ChannelInfoSheet.kt b/app/src/main/java/chat/peptide/sheets/ChannelInfoSheet.kt index d83fc526..588689fc 100644 --- a/app/src/main/java/chat/peptide/sheets/ChannelInfoSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/ChannelInfoSheet.kt @@ -26,7 +26,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.ChannelUtils import chat.peptide.api.internals.PermissionBit import chat.peptide.api.internals.Roles @@ -44,7 +44,7 @@ import kotlinx.coroutines.launch @OptIn(ExperimentalMaterial3Api::class) @Composable fun ChannelInfoSheet(channelId: String, onHideSheet: suspend () -> Unit) { - val channel = RevoltAPI.channelCache[channelId] + val channel = PeptideAPI.channelCache[channelId] var memberListSheetShown by remember { mutableStateOf(false) } var inviteDialogShown by remember { mutableStateOf(false) } val scope = rememberCoroutineScope() @@ -95,7 +95,7 @@ fun ChannelInfoSheet(channelId: String, onHideSheet: suspend () -> Unit) { val partner = ChannelUtils .resolveDMPartner(channel) ?.let { - RevoltAPI.userCache[it] + PeptideAPI.userCache[it] } Column( @@ -140,7 +140,7 @@ fun ChannelInfoSheet(channelId: String, onHideSheet: suspend () -> Unit) { if ( Roles.permissionFor( channel, - RevoltAPI.userCache[RevoltAPI.selfId] + PeptideAPI.userCache[PeptideAPI.selfId] ) has PermissionBit.InviteOthers ) { when (channel.channelType) { diff --git a/app/src/main/java/chat/peptide/sheets/EmoteInfoSheet.kt b/app/src/main/java/chat/peptide/sheets/EmoteInfoSheet.kt index 479486a3..4edc3ac1 100644 --- a/app/src/main/java/chat/peptide/sheets/EmoteInfoSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/EmoteInfoSheet.kt @@ -31,7 +31,7 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.custom.fetchEmoji import chat.peptide.api.schemas.Emoji import chat.peptide.api.schemas.Server @@ -50,9 +50,9 @@ fun EmoteInfoSheet(id: String, onDismiss: () -> Unit) { var parentServer by remember { mutableStateOf(null) } LaunchedEffect(id) { - emoteInfo = RevoltAPI.emojiCache[id] ?: fetchEmoji(id) + emoteInfo = PeptideAPI.emojiCache[id] ?: fetchEmoji(id) when (emoteInfo?.parent?.type) { - "Server" -> parentServer = RevoltAPI.serverCache[emoteInfo?.parent?.id] + "Server" -> parentServer = PeptideAPI.serverCache[emoteInfo?.parent?.id] } } @@ -64,7 +64,7 @@ fun EmoteInfoSheet(id: String, onDismiss: () -> Unit) { verticalAlignment = Alignment.CenterVertically ) { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/emojis/$id", + url = "${PeptideAPI.getCurrentFilesUrl()}/emojis/$id", description = emoteInfo?.name, contentScale = ContentScale.Fit, modifier = Modifier diff --git a/app/src/main/java/chat/peptide/sheets/MemberContextSheet.kt b/app/src/main/java/chat/peptide/sheets/MemberContextSheet.kt index 904d3406..5b4401c5 100644 --- a/app/src/main/java/chat/peptide/sheets/MemberContextSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/MemberContextSheet.kt @@ -17,7 +17,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.style.TextOverflow import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.channel.removeMember import chat.peptide.composables.generic.SheetButton import chat.peptide.internals.Platform @@ -31,7 +31,7 @@ fun ColumnScope.GroupDMMemberContextSheet( onRequestUpdateMembers: suspend () -> Unit ) { val scope = rememberCoroutineScope() - val channel = RevoltAPI.channelCache[channelId] + val channel = PeptideAPI.channelCache[channelId] val clipboardManager = LocalClipboardManager.current val context = LocalContext.current @@ -43,7 +43,7 @@ fun ColumnScope.GroupDMMemberContextSheet( if (channel == null) return - if (channel.owner == RevoltAPI.selfId && userId != RevoltAPI.selfId) { + if (channel.owner == PeptideAPI.selfId && userId != PeptideAPI.selfId) { SheetButton( headlineContent = { CompositionLocalProvider(value = LocalContentColor provides MaterialTheme.colorScheme.error) { @@ -110,8 +110,8 @@ fun ColumnScope.ServerMemberContextSheet( dismissSheet: suspend () -> Unit, onRequestUpdateMembers: suspend () -> Unit ) { - val server = RevoltAPI.serverCache[serverId] - val channel = RevoltAPI.channelCache[channelId] + val server = PeptideAPI.serverCache[serverId] + val channel = PeptideAPI.channelCache[channelId] val clipboardManager = LocalClipboardManager.current val context = LocalContext.current diff --git a/app/src/main/java/chat/peptide/sheets/MemberListSheet.kt b/app/src/main/java/chat/peptide/sheets/MemberListSheet.kt index f2ce2498..1cc1e805 100644 --- a/app/src/main/java/chat/peptide/sheets/MemberListSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/MemberListSheet.kt @@ -33,7 +33,7 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.PermissionBit import chat.peptide.api.internals.Roles import chat.peptide.api.internals.hasPermission @@ -53,7 +53,7 @@ import kotlinx.coroutines.launch import javax.inject.Inject val DO_NOT_FETCH_OFFLINE_MEMBERS_SERVERS = listOf( - "01F7ZSBSFHQ8TA81725KQCSDDP" // Revolt Lounge + "01F7ZSBSFHQ8TA81725KQCSDDP" // Peptide Lounge ) sealed class MemberListSheetItem { @@ -75,7 +75,7 @@ class MemberListSheetViewModel @Inject constructor( serverId = serverId, includeOffline = serverId !in DO_NOT_FETCH_OFFLINE_MEMBERS_SERVERS ).members - val channel = RevoltAPI.channelCache[channelId] ?: return@launch + val channel = PeptideAPI.channelCache[channelId] ?: return@launch val categories = mutableMapOf>() @@ -83,7 +83,7 @@ class MemberListSheetViewModel @Inject constructor( val defaultCategoryName = context.getString(R.string.status_online) memberList.forEach { member -> - val user = RevoltAPI.userCache[member.id!!.user] ?: run { + val user = PeptideAPI.userCache[member.id!!.user] ?: run { Log.w( "MemberListSheet", "User ${member.id.user} found in member list of server $serverId but not in user cache" @@ -215,8 +215,8 @@ fun MemberListSheet( var memberContextSheetTarget by remember { mutableStateOf("") } // We use LaunchedEffect to make sure that this is called every time any of the users status changes - LaunchedEffect(RevoltAPI.userCache) { - snapshotFlow { RevoltAPI.userCache }.distinctUntilChanged().collect { + LaunchedEffect(PeptideAPI.userCache) { + snapshotFlow { PeptideAPI.userCache }.distinctUntilChanged().collect { if (serverId != null) { viewModel.fetchServerMemberList(serverId, channelId) } else { @@ -319,7 +319,7 @@ fun MemberListSheet( is MemberListSheetItem.MemberItem -> item(key = item.member.id!!.user) { MemberListItem( - user = RevoltAPI.userCache[item.member.id.user], + user = PeptideAPI.userCache[item.member.id.user], member = item.member, serverId = serverId, userId = item.member.id.user, diff --git a/app/src/main/java/chat/peptide/sheets/MessageContextSheet.kt b/app/src/main/java/chat/peptide/sheets/MessageContextSheet.kt index b505d7a8..75df2d79 100644 --- a/app/src/main/java/chat/peptide/sheets/MessageContextSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/MessageContextSheet.kt @@ -35,7 +35,7 @@ import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.unit.dp import chat.peptide.BuildConfig import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.PermissionBit import chat.peptide.api.internals.Roles import chat.peptide.api.internals.has @@ -55,7 +55,7 @@ fun MessageContextSheet( onHideSheet: suspend () -> Unit, onReportMessage: () -> Unit ) { - val message = RevoltAPI.messageCache[messageId] + val message = PeptideAPI.messageCache[messageId] if (message == null) { Box( modifier = Modifier @@ -171,11 +171,11 @@ fun MessageContextSheet( return@SheetButton } - val server = RevoltAPI.serverCache.values.find { server -> + val server = PeptideAPI.serverCache.values.find { server -> server.channels?.contains(message.channel) ?: false } val messageLink = - "${RevoltAPI.getCurrentAppUrl()}/server/${server?.id}/channel/${message.channel}/${message.id}" + "${PeptideAPI.getCurrentAppUrl()}/server/${server?.id}/channel/${message.channel}/${message.id}" clipboardManager.setText(AnnotatedString(messageLink)) if (Platform.needsShowClipboardNotification()) { @@ -374,7 +374,7 @@ fun MessageContextSheet( } ) - if (message.author == RevoltAPI.selfId) { + if (message.author == PeptideAPI.selfId) { SheetButton( leadingContent = { Icon( @@ -460,12 +460,12 @@ fun MessageContextSheet( if ( (message.channel?.let { - val channel = RevoltAPI.channelCache[it] ?: return@let null + val channel = PeptideAPI.channelCache[it] ?: return@let null Roles.permissionFor( channel, - RevoltAPI.userCache[RevoltAPI.selfId] + PeptideAPI.userCache[PeptideAPI.selfId] ) - } ?: 0) has PermissionBit.ManageMessages || message.author == RevoltAPI.selfId + } ?: 0) has PermissionBit.ManageMessages || message.author == PeptideAPI.selfId ) { SheetButton( leadingContent = { @@ -486,7 +486,7 @@ fun MessageContextSheet( ) } - if (message.author != RevoltAPI.selfId) { + if (message.author != PeptideAPI.selfId) { SheetButton( leadingContent = { Icon( diff --git a/app/src/main/java/chat/peptide/sheets/ReactSheet.kt b/app/src/main/java/chat/peptide/sheets/ReactSheet.kt index ee452b4e..98c69aac 100644 --- a/app/src/main/java/chat/peptide/sheets/ReactSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/ReactSheet.kt @@ -1,12 +1,12 @@ package chat.peptide.sheets import androidx.compose.runtime.Composable -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.composables.emoji.EmojiPicker @Composable fun ReactSheet(messageId: String, onSelect: (String?) -> Unit) { - val message = RevoltAPI.messageCache[messageId] + val message = PeptideAPI.messageCache[messageId] if (message == null) { onSelect(null) diff --git a/app/src/main/java/chat/peptide/sheets/ReactionInfoSheet.kt b/app/src/main/java/chat/peptide/sheets/ReactionInfoSheet.kt index b41acfec..f8b02436 100644 --- a/app/src/main/java/chat/peptide/sheets/ReactionInfoSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/ReactionInfoSheet.kt @@ -44,7 +44,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.isUlid import chat.peptide.api.routes.custom.fetchEmoji import chat.peptide.api.routes.user.fetchUser @@ -60,8 +60,8 @@ import kotlinx.coroutines.launch @OptIn(ExperimentalFoundationApi::class) @Composable fun ReactionInfoSheet(messageId: String, emoji: String, onDismiss: () -> Unit) { - val message = RevoltAPI.messageCache[messageId] ?: return - val channel = RevoltAPI.channelCache[message.channel] ?: return + val message = PeptideAPI.messageCache[messageId] ?: return + val channel = PeptideAPI.channelCache[message.channel] ?: return val reactions = message.reactions val interactions = message.interactions?.reactions ?: emptyList() val reactionEmoji = @@ -71,7 +71,7 @@ fun ReactionInfoSheet(messageId: String, emoji: String, onDismiss: () -> Unit) { .filterNot { it.isEmpty() } .sortedBy { if (it.isUlid()) { - RevoltAPI.emojiCache[it]?.name ?: it.codePointAt(0).toString() + PeptideAPI.emojiCache[it]?.name ?: it.codePointAt(0).toString() } else { it.codePointAt(0).toString() } @@ -85,7 +85,7 @@ fun ReactionInfoSheet(messageId: String, emoji: String, onDismiss: () -> Unit) { LaunchedEffect(reactionEmoji) { reactionEmoji?.forEach { if (it.isUlid()) { - extendedEmojiInfo.add(RevoltAPI.emojiCache[it] ?: fetchEmoji(it)) + extendedEmojiInfo.add(PeptideAPI.emojiCache[it] ?: fetchEmoji(it)) } } } @@ -118,7 +118,7 @@ fun ReactionInfoSheet(messageId: String, emoji: String, onDismiss: () -> Unit) { if (emoji.isUlid()) { Row(verticalAlignment = Alignment.CenterVertically) { RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/emojis/${emoji}", + url = "${PeptideAPI.getCurrentFilesUrl()}/emojis/${emoji}", description = null, modifier = Modifier.size(16.dp) ) @@ -228,7 +228,7 @@ fun ReactionInfoSheet(messageId: String, emoji: String, onDismiss: () -> Unit) { if (current.isUlid()) { val cached = extendedEmojiInfo.find { it.id == current } RemoteImage( - url = "${RevoltAPI.getCurrentFilesUrl()}/emojis/$current", + url = "${PeptideAPI.getCurrentFilesUrl()}/emojis/$current", description = cached?.name, contentScale = ContentScale.Fit, modifier = Modifier @@ -288,7 +288,7 @@ fun ReactionInfoSheet(messageId: String, emoji: String, onDismiss: () -> Unit) { val cached = extendedEmojiInfo.find { it.id == current } if (cached?.parent != null) { when (cached.parent.type) { - "Server" -> RevoltAPI.serverCache[cached.parent.id]?.name?.let { + "Server" -> PeptideAPI.serverCache[cached.parent.id]?.name?.let { stringResource( id = R.string.emote_info_from_server, it @@ -316,18 +316,18 @@ fun ReactionInfoSheet(messageId: String, emoji: String, onDismiss: () -> Unit) { val reactionsForEmoji = reactions?.get(reactionEmoji[selectedReactionIndex]) ?: emptyList() items(items = reactionsForEmoji) { reaction -> - val userOrNull = RevoltAPI.userCache[reaction] + val userOrNull = PeptideAPI.userCache[reaction] val user = userOrNull ?: User.getPlaceholder(reaction) val member = if (channel.server != null && user.id != null) { - RevoltAPI.members.getMember(channel.server, user.id) + PeptideAPI.members.getMember(channel.server, user.id) } else { null } LaunchedEffect(reaction) { - if (reaction !in RevoltAPI.userCache) { + if (reaction !in PeptideAPI.userCache) { try { - RevoltAPI.userCache[reaction] = fetchUser(reaction) + PeptideAPI.userCache[reaction] = fetchUser(reaction) } catch (e: Exception) { // too bad! } diff --git a/app/src/main/java/chat/peptide/sheets/ServerContextSheet.kt b/app/src/main/java/chat/peptide/sheets/ServerContextSheet.kt index 032fab70..a88ff719 100644 --- a/app/src/main/java/chat/peptide/sheets/ServerContextSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/ServerContextSheet.kt @@ -41,7 +41,7 @@ import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.unit.dp import androidx.core.net.toUri import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.server.leaveOrDeleteServer import chat.peptide.composables.generic.SheetButton import chat.peptide.composables.markdown.RichMarkdown @@ -56,7 +56,7 @@ fun ServerContextSheet( onReportServer: () -> Unit, onHideSheet: suspend () -> Unit ) { - val server = RevoltAPI.serverCache[serverId] + val server = PeptideAPI.serverCache[serverId] if (server == null) { Box( @@ -169,7 +169,7 @@ fun ServerContextSheet( ) } - if (server.owner == RevoltAPI.selfId) { + if (server.owner == PeptideAPI.selfId) { Box( modifier = Modifier .clip(MaterialTheme.shapes.medium) @@ -193,7 +193,7 @@ fun ServerContextSheet( context.startActivity( Intent( Intent.ACTION_VIEW, - "${RevoltAPI.getCurrentAppUrl()}/server/${server.id}/settings".toUri() + "${PeptideAPI.getCurrentAppUrl()}/server/${server.id}/settings".toUri() ) ) } @@ -250,14 +250,14 @@ fun ServerContextSheet( onClick = { coroutineScope.launch { server.id?.let { - RevoltAPI.unreads.markServerAsRead(it, sync = true) + PeptideAPI.unreads.markServerAsRead(it, sync = true) } onHideSheet() } } ) - if (server.owner != RevoltAPI.selfId) { + if (server.owner != PeptideAPI.selfId) { SheetButton( leadingContent = { Icon( diff --git a/app/src/main/java/chat/peptide/sheets/ServerIdentityOptionsSheet.kt b/app/src/main/java/chat/peptide/sheets/ServerIdentityOptionsSheet.kt index 3e140d38..4ffd50a9 100644 --- a/app/src/main/java/chat/peptide/sheets/ServerIdentityOptionsSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/ServerIdentityOptionsSheet.kt @@ -24,14 +24,14 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.persistence.KVStorage import kotlinx.coroutines.launch // Internal: Untranslated @Composable fun ServerIdentityOptionsSheet(userId: String) { - val user = RevoltAPI.userCache[userId] + val user = PeptideAPI.userCache[userId] if (user == null) { Text("No such user") diff --git a/app/src/main/java/chat/peptide/sheets/StatusSheet.kt b/app/src/main/java/chat/peptide/sheets/StatusSheet.kt index 2dcb4d91..f2624157 100644 --- a/app/src/main/java/chat/peptide/sheets/StatusSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/StatusSheet.kt @@ -38,7 +38,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.routes.user.patchSelf import chat.peptide.api.schemas.User import chat.peptide.composables.generic.SheetButton @@ -163,7 +163,7 @@ fun StatusTextEditDialog( @Composable fun StatusSheet(onBeforeNavigation: () -> Unit, onGoSettings: () -> Unit) { - val selfUser = RevoltAPI.userCache[RevoltAPI.selfId]!! + val selfUser = PeptideAPI.userCache[PeptideAPI.selfId]!! val scope = rememberCoroutineScope() var showStatusEditDialog by remember { mutableStateOf(false) } diff --git a/app/src/main/java/chat/peptide/sheets/UserCardSheet.kt b/app/src/main/java/chat/peptide/sheets/UserCardSheet.kt index 3d617529..2a5f5742 100644 --- a/app/src/main/java/chat/peptide/sheets/UserCardSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/UserCardSheet.kt @@ -38,7 +38,7 @@ import androidx.compose.ui.unit.dp import androidx.core.content.FileProvider import chat.peptide.BuildConfig import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.schemas.User import chat.peptide.composables.profile.UserCard import chat.peptide.internals.Platform @@ -62,7 +62,7 @@ fun UserCardSheet(user: User?) { val folder = File( context.cacheDir, "usercards" - ).let { File(it, RevoltAPI.selfId.toString()) } + ).let { File(it, PeptideAPI.selfId.toString()) } try { folder.mkdirs() @@ -114,7 +114,7 @@ fun UserCardSheet(user: User?) { val folder = File( context.cacheDir, "usercards" - ).let { File(it, RevoltAPI.selfId.toString()) } + ).let { File(it, PeptideAPI.selfId.toString()) } folder.mkdirs() val bitmap = cardGraphics.toImageBitmap() diff --git a/app/src/main/java/chat/peptide/sheets/UserInfoSheet.kt b/app/src/main/java/chat/peptide/sheets/UserInfoSheet.kt index 68d4b9ab..5f935b34 100644 --- a/app/src/main/java/chat/peptide/sheets/UserInfoSheet.kt +++ b/app/src/main/java/chat/peptide/sheets/UserInfoSheet.kt @@ -39,7 +39,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.peptide.R -import chat.peptide.api.RevoltAPI +import chat.peptide.api.PeptideAPI import chat.peptide.api.internals.BrushCompat import chat.peptide.api.internals.ULID import chat.peptide.api.internals.solidColor @@ -65,11 +65,11 @@ fun UserInfoSheet( serverId: String? = null, dismissSheet: suspend () -> Unit ) { - val user = RevoltAPI.userCache[userId] + val user = PeptideAPI.userCache[userId] - val member = serverId?.let { RevoltAPI.members.getMember(it, userId) } + val member = serverId?.let { PeptideAPI.members.getMember(it, userId) } - val server = RevoltAPI.serverCache[serverId] + val server = PeptideAPI.serverCache[serverId] var profile by remember { mutableStateOf(null) } var profileNotFound by remember { mutableStateOf(false) } @@ -258,7 +258,7 @@ fun UserInfoSheet( ) Text( - text = stringResource(id = R.string.user_info_sheet_category_joined_revolt), + text = stringResource(id = R.string.user_info_sheet_category_joined_peptide), style = MaterialTheme.typography.labelMedium ) } @@ -285,7 +285,7 @@ fun UserInfoSheet( ) Text( - text = stringResource(id = R.string.user_info_sheet_category_joined_revolt), + text = stringResource(id = R.string.user_info_sheet_category_joined_peptide), style = MaterialTheme.typography.labelMedium ) } @@ -331,7 +331,7 @@ fun UserInfoSheet( } if (user.bot != null) { - val resolvedOwner = user.bot.owner?.let { RevoltAPI.userCache[it] } + val resolvedOwner = user.bot.owner?.let { PeptideAPI.userCache[it] } item(key = "bot-owner") { SheetTile( diff --git a/app/src/main/java/chat/peptide/ui/theme/Colour.kt b/app/src/main/java/chat/peptide/ui/theme/AppColors.kt similarity index 86% rename from app/src/main/java/chat/peptide/ui/theme/Colour.kt rename to app/src/main/java/chat/peptide/ui/theme/AppColors.kt index 82c8abc7..f98cbe13 100644 --- a/app/src/main/java/chat/peptide/ui/theme/Colour.kt +++ b/app/src/main/java/chat/peptide/ui/theme/AppColors.kt @@ -2,10 +2,9 @@ package chat.peptide.ui.theme import androidx.compose.ui.graphics.Color -object Colour { - val RevoltUltraPink = Color(0xFFFF005C) +object AppColors { - val PrimaryLight = Color(0xFFBD0042) + val PrimaryLight = Color(0xFF662D91) val OnPrimaryLight = Color(0xFFFFFFFF) val PrimaryContainerLight = Color(0xFFFFD9DC) val OnPrimaryContainerLight = Color(0xFF910031) @@ -41,14 +40,14 @@ object Colour { val SurfaceContainerHighLight = Color(0xFFE4E8F8) val SurfaceContainerHighestLight = Color(0xFFDEE2F2) - val PrimaryDark = Color(0xFFFFB2BA) - val OnPrimaryDark = Color(0xFF670020) - val PrimaryContainerDark = Color(0xFF910031) - val OnPrimaryContainerDark = Color(0xFFFFD9DC) - val SecondaryDark = Color(0xFFFFB3AE) - val OnSecondaryDark = Color(0xFF68000C) - val SecondaryContainerDark = Color(0xFF930015) - val OnSecondaryContainerDark = Color(0xFFFFDAD7) + val PrimaryDark = Color(0xFF3B1954) + val OnPrimaryDark = Color(0xFFFFFFFD) + val PrimaryContainerDark = Color(0xFF662D91) + val OnPrimaryContainerDark = Color(0xFFFFFFFF) + val SecondaryDark = Color(0xFFFFDE17) + val OnSecondaryDark = Color(0xFF000000) + val SecondaryContainerDark = Color(0xFF332E36) + val OnSecondaryContainerDark = Color(0xFFFFDE17) val TertiaryDark = Color(0xFFA2C9FF) val OnTertiaryDark = Color(0xFF00315B) val TertiaryContainerDark = Color(0xFF004881) diff --git a/app/src/main/java/chat/peptide/ui/theme/Theme.kt b/app/src/main/java/chat/peptide/ui/theme/Theme.kt index 63fedbf2..b1b1d011 100644 --- a/app/src/main/java/chat/peptide/ui/theme/Theme.kt +++ b/app/src/main/java/chat/peptide/ui/theme/Theme.kt @@ -4,7 +4,6 @@ import android.annotation.SuppressLint import android.app.Activity import android.os.Build import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.foundation.shape.CornerBasedShape import androidx.compose.foundation.shape.CornerSize import androidx.compose.material3.ColorScheme import androidx.compose.material3.MaterialTheme @@ -21,102 +20,85 @@ import androidx.compose.ui.platform.LocalView import androidx.compose.ui.unit.dp import androidx.core.view.ViewCompat -val LightColorScheme = lightColorScheme( - primary = Colour.PrimaryLight, - onPrimary = Colour.OnPrimaryLight, - primaryContainer = Colour.PrimaryContainerLight, - onPrimaryContainer = Colour.OnPrimaryContainerLight, - secondary = Colour.SecondaryLight, - onSecondary = Colour.OnSecondaryLight, - secondaryContainer = Colour.SecondaryContainerLight, - onSecondaryContainer = Colour.OnSecondaryContainerLight, - tertiary = Colour.TertiaryLight, - onTertiary = Colour.OnTertiaryLight, - tertiaryContainer = Colour.TertiaryContainerLight, - onTertiaryContainer = Colour.OnTertiaryContainerLight, - error = Colour.ErrorLight, - onError = Colour.OnErrorLight, - errorContainer = Colour.ErrorContainerLight, - onErrorContainer = Colour.OnErrorContainerLight, - background = Colour.BackgroundLight, - onBackground = Colour.OnBackgroundLight, - surface = Colour.SurfaceLight, - onSurface = Colour.OnSurfaceLight, - surfaceVariant = Colour.SurfaceVariantLight, - onSurfaceVariant = Colour.OnSurfaceVariantLight, - outline = Colour.OutlineLight, - outlineVariant = Colour.OutlineVariantLight, - scrim = Colour.ScrimLight, - inverseSurface = Colour.InverseSurfaceLight, - inverseOnSurface = Colour.InverseOnSurfaceLight, - inversePrimary = Colour.InversePrimaryLight, - surfaceDim = Colour.SurfaceDimLight, - surfaceBright = Colour.SurfaceBrightLight, - surfaceContainerLowest = Colour.SurfaceContainerLowestLight, - surfaceContainerLow = Colour.SurfaceContainerLowLight, - surfaceContainer = Colour.SurfaceContainerLight, - surfaceContainerHigh = Colour.SurfaceContainerHighLight, - surfaceContainerHighest = Colour.SurfaceContainerHighestLight, -) +//val LightColorScheme = lightColorScheme( +// primary = AppColors.PrimaryLight, +// onPrimary = AppColors.OnPrimaryLight, +// primaryContainer = AppColors.PrimaryContainerLight, +// onPrimaryContainer = AppColors.OnPrimaryContainerLight, +// secondary = AppColors.SecondaryLight, +// onSecondary = AppColors.OnSecondaryLight, +// secondaryContainer = AppColors.SecondaryContainerLight, +// onSecondaryContainer = AppColors.OnSecondaryContainerLight, +// tertiary = AppColors.TertiaryLight, +// onTertiary = AppColors.OnTertiaryLight, +// tertiaryContainer = AppColors.TertiaryContainerLight, +// onTertiaryContainer = AppColors.OnTertiaryContainerLight, +// error = AppColors.ErrorLight, +// onError = AppColors.OnErrorLight, +// errorContainer = AppColors.ErrorContainerLight, +// onErrorContainer = AppColors.OnErrorContainerLight, +// background = AppColors.BackgroundLight, +// onBackground = AppColors.OnBackgroundLight, +// surface = AppColors.SurfaceLight, +// onSurface = AppColors.OnSurfaceLight, +// surfaceVariant = AppColors.SurfaceVariantLight, +// onSurfaceVariant = AppColors.OnSurfaceVariantLight, +// outline = AppColors.OutlineLight, +// outlineVariant = AppColors.OutlineVariantLight, +// scrim = AppColors.ScrimLight, +// inverseSurface = AppColors.InverseSurfaceLight, +// inverseOnSurface = AppColors.InverseOnSurfaceLight, +// inversePrimary = AppColors.InversePrimaryLight, +// surfaceDim = AppColors.SurfaceDimLight, +// surfaceBright = AppColors.SurfaceBrightLight, +// surfaceContainerLowest = AppColors.SurfaceContainerLowestLight, +// surfaceContainerLow = AppColors.SurfaceContainerLowLight, +// surfaceContainer = AppColors.SurfaceContainerLight, +// surfaceContainerHigh = AppColors.SurfaceContainerHighLight, +// surfaceContainerHighest = AppColors.SurfaceContainerHighestLight, +//) -private val RevoltColorScheme = darkColorScheme( - primary = Colour.PrimaryDark, - onPrimary = Colour.OnPrimaryDark, - primaryContainer = Colour.PrimaryContainerDark, - onPrimaryContainer = Colour.OnPrimaryContainerDark, - secondary = Colour.SecondaryDark, - onSecondary = Colour.OnSecondaryDark, - secondaryContainer = Colour.SecondaryContainerDark, - onSecondaryContainer = Colour.OnSecondaryContainerDark, - tertiary = Colour.TertiaryDark, - onTertiary = Colour.OnTertiaryDark, - tertiaryContainer = Colour.TertiaryContainerDark, - onTertiaryContainer = Colour.OnTertiaryContainerDark, - error = Colour.ErrorDark, - onError = Colour.OnErrorDark, - errorContainer = Colour.ErrorContainerDark, - onErrorContainer = Colour.OnErrorContainerDark, - background = Colour.BackgroundDark, - onBackground = Colour.OnBackgroundDark, - surface = Colour.SurfaceDark, - onSurface = Colour.OnSurfaceDark, - surfaceVariant = Colour.SurfaceVariantDark, - onSurfaceVariant = Colour.OnSurfaceVariantDark, - outline = Colour.OutlineDark, - outlineVariant = Colour.OutlineVariantDark, - scrim = Colour.ScrimDark, - inverseSurface = Colour.InverseSurfaceDark, - inverseOnSurface = Colour.InverseOnSurfaceDark, - inversePrimary = Colour.InversePrimaryDark, - surfaceDim = Colour.SurfaceDimDark, - surfaceBright = Colour.SurfaceBrightDark, - surfaceContainerLowest = Colour.SurfaceContainerLowestDark, - surfaceContainerLow = Colour.SurfaceContainerLowDark, - surfaceContainer = Colour.SurfaceContainerDark, - surfaceContainerHigh = Colour.SurfaceContainerHighDark, - surfaceContainerHighest = Colour.SurfaceContainerHighestDark, -) - -val AmoledColorScheme = RevoltColorScheme.copy( - background = Color(0xff000000), - onBackground = Color(0xffffffff), - surfaceVariant = Color(0xff131313), - onSurfaceVariant = Color(0xffffffff), - surface = Color(0xff000000), - onSurface = Color(0xffffffff), - surfaceContainerLowest = Color(0xff000000), - surfaceContainerLow = Color(0xff000000), - surfaceContainer = Color(0xff000000), - surfaceContainerHigh = Color(0xff000000), - surfaceContainerHighest = Color(0xff000000), +private val PeptideColorScheme = darkColorScheme( + primary = AppColors.PrimaryDark, + onPrimary = AppColors.OnPrimaryDark, + primaryContainer = AppColors.PrimaryContainerDark, + onPrimaryContainer = AppColors.OnPrimaryContainerDark, + secondary = AppColors.SecondaryDark, + onSecondary = AppColors.OnSecondaryDark, + secondaryContainer = AppColors.SecondaryContainerDark, + onSecondaryContainer = AppColors.OnSecondaryContainerDark, + tertiary = AppColors.TertiaryDark, + onTertiary = AppColors.OnTertiaryDark, + tertiaryContainer = AppColors.TertiaryContainerDark, + onTertiaryContainer = AppColors.OnTertiaryContainerDark, + error = AppColors.ErrorDark, + onError = AppColors.OnErrorDark, + errorContainer = AppColors.ErrorContainerDark, + onErrorContainer = AppColors.OnErrorContainerDark, + background = AppColors.BackgroundDark, + onBackground = AppColors.OnBackgroundDark, + surface = AppColors.SurfaceDark, + onSurface = AppColors.OnSurfaceDark, + surfaceVariant = AppColors.SurfaceVariantDark, + onSurfaceVariant = AppColors.OnSurfaceVariantDark, + outline = AppColors.OutlineDark, + outlineVariant = AppColors.OutlineVariantDark, + scrim = AppColors.ScrimDark, + inverseSurface = AppColors.InverseSurfaceDark, + inverseOnSurface = AppColors.InverseOnSurfaceDark, + inversePrimary = AppColors.InversePrimaryDark, + surfaceDim = AppColors.SurfaceDimDark, + surfaceBright = AppColors.SurfaceBrightDark, + surfaceContainerLowest = AppColors.SurfaceContainerLowestDark, + surfaceContainerLow = AppColors.SurfaceContainerLowDark, + surfaceContainer = AppColors.SurfaceContainerDark, + surfaceContainerHigh = AppColors.SurfaceContainerHighDark, + surfaceContainerHighest = AppColors.SurfaceContainerHighestDark, ) enum class Theme { None, - Revolt, - Light, M3Dynamic, - Amoled } @Composable @@ -138,19 +120,13 @@ fun getColorScheme( context ) - requestedTheme == Theme.Revolt -> RevoltColorScheme - requestedTheme == Theme.Light -> LightColorScheme - requestedTheme == Theme.Amoled -> AmoledColorScheme - requestedTheme == Theme.None && systemInDarkTheme -> RevoltColorScheme - requestedTheme == Theme.None && !systemInDarkTheme -> LightColorScheme - else -> RevoltColorScheme + requestedTheme == Theme.None && systemInDarkTheme -> PeptideColorScheme +// requestedTheme == Theme.None && !systemInDarkTheme -> LightColorScheme + else -> PeptideColorScheme }.copy() val colorSchemeIsDark = when { m3Supported && requestedTheme == Theme.M3Dynamic -> isSystemInDarkTheme() - requestedTheme == Theme.Revolt -> true - requestedTheme == Theme.Light -> false - requestedTheme == Theme.Amoled -> true requestedTheme == Theme.None && systemInDarkTheme -> true requestedTheme == Theme.None && !systemInDarkTheme -> false else -> true @@ -173,7 +149,7 @@ fun getColorScheme( @SuppressLint("NewApi") @Composable -fun RevoltTheme( +fun PeptideTheme( requestedTheme: Theme, colourOverrides: OverridableColourScheme? = null, content: @Composable () -> Unit @@ -190,7 +166,7 @@ fun RevoltTheme( ) ), colorScheme = colorScheme, - typography = RevoltTypography, + typography = PeptideTypography, content = content ) } @@ -202,14 +178,12 @@ fun systemSupportsDynamicColors(): Boolean { fun getDefaultTheme(): Theme { return when { systemSupportsDynamicColors() -> Theme.M3Dynamic - else -> Theme.Revolt + else -> Theme.None } } fun isThemeDark(theme: Theme, systemIsDark: Boolean): Boolean { return when (theme) { - Theme.Revolt, Theme.Amoled -> true - Theme.Light -> false Theme.M3Dynamic, Theme.None -> systemIsDark } } diff --git a/app/src/main/java/chat/peptide/ui/theme/Typography.kt b/app/src/main/java/chat/peptide/ui/theme/Typography.kt index d2447f35..1e5446ff 100644 --- a/app/src/main/java/chat/peptide/ui/theme/Typography.kt +++ b/app/src/main/java/chat/peptide/ui/theme/Typography.kt @@ -55,7 +55,7 @@ val FragmentMono = FontFamily( Font(R.font.fragmentmono_italic, FontWeight.Normal, FontStyle.Italic) ) -val RevoltTypography = Typography( +val PeptideTypography = Typography( displayLarge = TextStyle( fontFamily = InterDisplay, fontWeight = FontWeight.Black, diff --git a/app/src/main/java/chat/peptide/utils/DeepLinkUtils.kt b/app/src/main/java/chat/peptide/utils/DeepLinkUtils.kt index 206717a6..d703f24d 100644 --- a/app/src/main/java/chat/peptide/utils/DeepLinkUtils.kt +++ b/app/src/main/java/chat/peptide/utils/DeepLinkUtils.kt @@ -7,17 +7,17 @@ import chat.peptide.activities.DeepLinkActivity import chat.peptide.activities.MainActivity /** - * Utility class for handling deep links in the Revolt app. + * Utility class for handling deep links in the Peptide app. */ object DeepLinkUtils { /** - * Checks if the given URI is a valid Revolt deep link. + * Checks if the given URI is a valid Peptide deep link. * * @param uri The URI to check - * @return true if the URI is a valid Revolt deep link, false otherwise + * @return true if the URI is a valid Peptide deep link, false otherwise */ - fun isRevoltDeepLink(uri: Uri?): Boolean { + fun isPeptideDeepLink(uri: Uri?): Boolean { if (uri == null) return false val host = uri.host ?: return false @@ -26,7 +26,7 @@ object DeepLinkUtils { // Check if the scheme is http or https if (scheme != "http" && scheme != "https") return false - // Check if the host is a valid Revolt host + // Check if the host is a valid Peptide host return host == "peptide.chat" || host == "app.peptide.chat" } diff --git a/app/src/main/java/chat/peptide/utils/InternalLinkHandler.kt b/app/src/main/java/chat/peptide/utils/InternalLinkHandler.kt index d0925d21..389915ea 100644 --- a/app/src/main/java/chat/peptide/utils/InternalLinkHandler.kt +++ b/app/src/main/java/chat/peptide/utils/InternalLinkHandler.kt @@ -26,7 +26,7 @@ object InternalLinkHandler { */ fun isInternalLink(url: String): Boolean { val uri = Uri.parse(url) - val isInternal = DeepLinkUtils.isRevoltDeepLink(uri) + val isInternal = DeepLinkUtils.isPeptideDeepLink(uri) Log.d(TAG, "isInternalLink: $url -> $isInternal") return isInternal } diff --git a/app/src/main/res/drawable/ic_revolt_decagram_24dp.xml b/app/src/main/res/drawable/ic_peptide_decagram_24dp.xml similarity index 100% rename from app/src/main/res/drawable/ic_revolt_decagram_24dp.xml rename to app/src/main/res/drawable/ic_peptide_decagram_24dp.xml diff --git a/app/src/main/res/drawable/pep_logo_wide.xml b/app/src/main/res/drawable/peptide_logo_wide.xml similarity index 100% rename from app/src/main/res/drawable/pep_logo_wide.xml rename to app/src/main/res/drawable/peptide_logo_wide.xml diff --git a/app/src/main/res/drawable/revolt_onboarding.xml b/app/src/main/res/drawable/peptide_onboarding.xml similarity index 100% rename from app/src/main/res/drawable/revolt_onboarding.xml rename to app/src/main/res/drawable/peptide_onboarding.xml diff --git a/app/src/main/res/drawable/revolt_logo_wide.xml b/app/src/main/res/drawable/revolt_logo_wide.xml deleted file mode 100644 index 6fa06d8a..00000000 --- a/app/src/main/res/drawable/revolt_logo_wide.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - diff --git a/app/src/main/res/font/revolt_usercard.ttf b/app/src/main/res/font/peptide_usercard.ttf similarity index 100% rename from app/src/main/res/font/revolt_usercard.ttf rename to app/src/main/res/font/peptide_usercard.ttf diff --git a/app/src/main/res/layout/activity_videoplayer.xml b/app/src/main/res/layout/activity_videoplayer.xml index fc3252fe..19225b04 100644 --- a/app/src/main/res/layout/activity_videoplayer.xml +++ b/app/src/main/res/layout/activity_videoplayer.xml @@ -24,7 +24,7 @@ app:navigationIcon="@drawable/ic_arrow_left_24dp" app:menu="@menu/menu_videoplayer" app:navigationIconTint="?attr/colorOnSurface" - style="@style/Widget.Revolt.Toolbar" /> + style="@style/Widget.Peptide.Toolbar" /> سياسة الخصوصية ارشادات المجتمع أجد مجتمعك، اتصل بالعالم. - Revolt من أفضل الطرق لكي تظل متصلاً مع أصدقائك ومجتمعك، في أي مكان، وفي أي وقت. + Peptide من أفضل الطرق لكي تظل متصلاً مع أصدقائك ومجتمعك، في أي مكان، وفي أي وقت. البريد الإلكتروني كلمة المرور تسجيل الدخول @@ -20,8 +20,8 @@ هيا نسجل دخولك نسيت كلمة المرور؟ نسيت كلمة المرور؟ - مرحبا بك في Revolt - استخدم Revolt كي تتحدث عن الأشياء. + مرحبا بك في Peptide + استخدم Peptide كي تتحدث عن الأشياء. نجلب بعض المعلومات، انتظرنا… أعد إرسال بريد إلكتروني للتحقق تستخدم مساعد كلمات المرور؟ @@ -48,12 +48,12 @@ أدخل كلمة المرور الخاصة بك أدخل كلمة المرور الخاصة بك للاستمرار. عن - Revolt علي Android - مقدم إليك ب❤️ من قبل فريق Revolt. + Peptide علي Android + مقدم إليك ب❤️ من قبل فريق Peptide. إصدار معلومات تفصيلية إسناد البرامج مفتوحة المصدر - Revolt مبنيآ بمساعدة هذه البرامج المفتوحة المصدر الرائعة. + Peptide مبنيآ بمساعدة هذه البرامج المفتوحة المصدر الرائعة. البريد الإلكتروني سنرسل إليك بريد إلكتروني للتعريف لنعرّف حسابك. ثمانية فأكثر، كلمات المرور الشائعة سيئة. الرموز والأرقام مُستحسنة. @@ -85,7 +85,7 @@ الرموز الأعلام بوت - عضو من أعضاء Revolt + عضو من أعضاء Peptide غير معلوم قائمة تسجيل الخروج @@ -97,7 +97,7 @@ اعتدال المنصة تسجيل خروج المحادثات - مشاركة الى Revolt + مشاركة الى Peptide انت غير متصل بي الانترنت يرجى التحقق من اتصالك ثم حاول مره اخرا ابقي تسجيل الدخول متصل @@ -278,7 +278,7 @@ سجل التغيير %1$d اسم %1$d اسم المستخدم - %1$d على Revolt منذ + %1$d على Peptide منذ ويب هوك %1$dQR Code %1$d.صورة @@ -333,7 +333,7 @@ إرسال الإبلاغ.… تم الابلاغ - شكرا للمساعدة في الحفاظ على امان Revolt. سنراجع تقريرك في أقرب وقت ممكن. + شكرا للمساعدة في الحفاظ على امان Peptide. سنراجع تقريرك في أقرب وقت ممكن. خطأ حدث خطأ أثناء تقديم التقرير الخاص بك. يرجى المحاولة مرة أخرى في وقت لاحق. إغلاق @@ -381,7 +381,7 @@ لن تتلقى أي إشعارات للرسائل، ولكنك ستتلقى إشعارات للإشارات @. عدم الإزعاج لن تتلقى أي إشعارات، بما في ذلك الرسائل و@الإشارات. - ستتمكن من استخدام Revolt كالمعتاد، لكنك لن تظهر كمتصل للآخرين + ستتمكن من استخدام Peptide كالمعتاد، لكنك لن تظهر كمتصل للآخرين نص الحالة طويل جدا. محاولة للحفاظ عليه تحت%1$dالشخصيات ترك بصمت لا يمكن جلب السيرة الذاتية لهذا المستخدم. يرجى التحقق من مشاركة الخادم أو الأصدقاء. diff --git a/app/src/main/res/values-ast/strings.xml b/app/src/main/res/values-ast/strings.xml index 84c5ebd0..687c20bb 100644 --- a/app/src/main/res/values-ast/strings.xml +++ b/app/src/main/res/values-ast/strings.xml @@ -37,7 +37,7 @@ Introduz la to contraseña Introduz la to contraseña pa seguir. Alrodiu de - Revolt en Android + Peptide en Android Versión Atribución de códigu abiertu Damos-yos les gracies a los desenvolvedores d\'esos proyeutos por facer disponible\'l so trabayu pa tol mundu. @@ -61,7 +61,7 @@ Bot Dende la canal venceyada Moderación de plataforma - Miembru del equipu de Revolt + Miembru del equipu de Peptide Desconocíu Menú Zarrar sesión @@ -174,7 +174,7 @@ Axuntase Crear un nuevu servidor Crear un nuevu servidor - Escubrir Revolt + Escubrir Peptide Reportar Atayar Dinos lo que tá mal d\'esti mensaxe @@ -255,7 +255,7 @@ Caltener la sesión abierta Temes Sistema - Revolt + Peptide Nidiu Prietu dafechu Material You @@ -293,12 +293,12 @@ ← P\'atrás Pescanciando daqué d\'información, aguanta ehí… Atopa la to comunidá, conecta col mundu. - Revolt ye una de les meyores formes de tar conectáu colos tos amigos y comunidá, en cualesquier llugar y en cualesquier momentu. + Peptide ye una de les meyores formes de tar conectáu colos tos amigos y comunidá, en cualesquier llugar y en cualesquier momentu. Inscribíte ¿Escaecisti la to contraseña\? Introduz el to corréu electrónicu y unviarémoste instrucciones sobro como restablecer la to contraseña. - Bienveníu a Revolt - Usa Revolt pa falar sobro coses. + Bienveníu a Peptide + Usa Peptide pa falar sobro coses. Ye como un llugar pa pasar el ratu, rexuntáse, y falar sobro coses. La meyor parte, tá n\'internet. Corréu electrónicu Vamos unviáte un corréu de verificación pa confirmar la to cuenta. @@ -309,9 +309,9 @@ Usar un códigu de recuperación Pon el códigu de seyes númberos de la to aplicación d\'autenticación. Introduz ún de los tos códigos de recuperación. - Trayíu pa ti con ❤️ pol equipu de Revolt. + Trayíu pa ti con ❤️ pol equipu de Peptide. Detalles - Revolt tá fechu cola ayuda d\'estos maraviyosos proyeutos de códigu abiertu. + Peptide tá fechu cola ayuda d\'estos maraviyosos proyeutos de códigu abiertu. La llista d\'embaxu foi xenerada automáticamente. Pue tar incompleta o enquivocada. Pulsa pa ver la llicencia Varies persones tán escribiendo @@ -319,7 +319,7 @@ \@ activáu Comida y Bebíes Viaxe y Llugares - Xuntáse a Revolt + Xuntáse a Peptide Jenvolt ye\'l espaciu dirixíu por desenvolvedores pa toles coses d\'Android app y más. Sofitu y comentarios fácense equí. ¡Quiciabes pueas llograr probar nueves característiques! 👀 Esborrar toles solicitúes entrantes Nun hai nenguna canal nesti servidor. Nin siquier una canal de bienvenida. Qué faltoso. @@ -328,7 +328,7 @@ Cargar mensaxes Unviar un mensaxe en %1$s Nun tienes permisu pa unviar mensaxes nesta canal. - Esta ye una canal d\'enfotu pa noticies de moderación de Revolt. Nun pues unviar mensaxes equí. + Esta ye una canal d\'enfotu pa noticies de moderación de Peptide. Nun pues unviar mensaxes equí. Propiedá camudada Usuariu amestáu %1$s tresfirió la propiedá a %2$s @@ -337,7 +337,7 @@ Van %1$d díes Estáu Nun vas arrecibir notificaciones de mensaxes, pero vas arrecibir notificaciones de @menciones. - Vas poder usar Revolt como siempre, pero nun vas apaecer conectáu pa otres persones. + Vas poder usar Peptide como siempre, pero nun vas apaecer conectáu pa otres persones. Nun tas conectáu al Internet. Por favor, comprueba la to conexón y téntalo otra vez. Copiáu nel portapapeles Esti canal pue ser que s\'esaniciara o nun tengas permisu pa velu. @@ -368,7 +368,7 @@ Acosu o ciberacosu Conteníu inapropriáu (como NSFW) Cualesquier información adicional que puea ayudanos na nuesa investigación. Opcional. - Gracies por ayudar a caltener Revolt seguru. Vamos revisar el to reporte lo enantes posible. + Gracies por ayudar a caltener Peptide seguru. Vamos revisar el to reporte lo enantes posible. Un erru producióse al unviar el to reporte. Porfavor tentalo de nuevu más tarde. Fuisti convidáu pa xunite a esti servidor. ¿Gustaríate xunite\? Nun s\'especificó nengún códigu d\'invitación. diff --git a/app/src/main/res/values-b+es+419/strings.xml b/app/src/main/res/values-b+es+419/strings.xml index 9e101726..690e1051 100644 --- a/app/src/main/res/values-b+es+419/strings.xml +++ b/app/src/main/res/values-b+es+419/strings.xml @@ -5,14 +5,14 @@ Compartir Términos de servicio Directivas de la comunidad - Revolt es una de las mejores formas de mantenerse conectado con tus amigos y la comunidad, en cualquier lugar y en cualquier momento. + Peptide es una de las mejores formas de mantenerse conectado con tus amigos y la comunidad, en cualquier lugar y en cualquier momento. Correo electrónico Contraseña Regístrate Reenviar Vamos a iniciar sesión ¿Usas un gestor de contraseñas\? - Te damos la bienvenida a Revolt + Te damos la bienvenida a Peptide Vamos a configurarlo. Correo electrónico Contraseña @@ -46,7 +46,7 @@ Reenviar un correo electrónico de verificación ¿Olvidaste tu contraseña\? Ingrese su correo electrónico y le enviaremos instrucciones sobre cómo restablecer su contraseña. - Usa Revolt para charlar sobre cosas interesantes. + Usa Peptide para charlar sobre cosas interesantes. Es como un lugar para pasar el rato, reunirse y charlar sobre diversas cosas. Lo mejor de todo, está en internet. Sus datos están a salvo con nosotros. No lo vendemos, y tampoco lo usamos para mostrarte anuncios. Te enviaremos un e-mail de verificación para confirmar su cuenta. @@ -194,7 +194,7 @@ Contenido inapropiado, como material NSFW (No apto para el trabajo) No cumple con la edad mínima requerida para utilizar la plataforma Cualquier información adicional que pueda ayudarnos en nuestra investigación será de utilidad. Opcional. - Gracias por ayudar a mantener Revolt seguro. Revisaremos tu denuncia tan pronto como sea posible. + Gracias por ayudar a mantener Peptide seguro. Revisaremos tu denuncia tan pronto como sea posible. Error Se produjo un error al enviar tu denuncia. Por favor, intenta nuevamente más tarde. Cerrar @@ -211,15 +211,15 @@ Compartir video Compartir imagen Otros - Revolt + Peptide Material You Material You (obsoleto) Comentarios Mensajes Directos Agradecemos a los desarrolladores de estos proyectos por poner a disponibilidad del mundo su trabajo. La siguiente lista fue generada automáticamente. Puede ser imprecisa o estar incompleta. - Revolt está hecho con la ayuda de estos maravillosos proyectos de código abierto. - Revolt en Android + Peptide está hecho con la ayuda de estos maravillosos proyectos de código abierto. + Peptide en Android Concentrado Invisible Ausente @@ -260,7 +260,7 @@ El usuario se ha ido %1$s ha transferido la propiedad a %2$s %1$s ha eliminado a %2$s - Podrás usar Revolt como siempre, pero no aparecerás conectado para otros usuarios. + Podrás usar Peptide como siempre, pero no aparecerás conectado para otros usuarios. Servidor oficial Servidor verificado Puede que este canal haya sido eliminado o no tengas permisos para verlo. @@ -275,7 +275,7 @@ Copiar ID Fundador Adoptador temprano - Descubrir Revolt + Descubrir Peptide Cuéntanos qué está mal con este mensaje Cuéntanos qué está mal con este servidor Cuéntanos qué pasa con este usuario @@ -284,7 +284,7 @@ Violencia extrema, sangre o crueldad animal Estafas o fraude La biografía de este usuario no se pudo obtener. Por favor, verifica que comparten un servidor o son amigos. - Presentado con ❤️ por el equipo de Revolt. + Presentado con ❤️ por el equipo de Peptide. Versión Detalles Elegir emoji @@ -298,7 +298,7 @@ Símbolos Banderas Moderación de la plataforma - Miembro del equipo de Revolt + Miembro del equipo de Peptide Unirse a Jenvolt Jenvolt es el espacio de desarrollo dedicado a la app de Android y más. El soporte y los comentarios se hacen aquí. ¡Puede que tengas la oportunidad de probar nuevas características! 👀 Amigos @@ -309,7 +309,7 @@ Bot de moderación verificado No puedes enviar mensajes en este canal. No tienes permiso para enviar mensajes en este canal. - Este es un canal de confianza para noticias del equipo de moderación de Revolt. No puedes enviar mensajes aquí. + Este es un canal de confianza para noticias del equipo de moderación de Peptide. No puedes enviar mensajes aquí. %1$s se ha ido %1$s se ha unido No vas a recibir notificaciones de mensajes, pero vas a recibir notificaciones de @menciones. diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 614ac6b6..21a69fc8 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -14,18 +14,18 @@ Забылі пароль\? Адаслаць ліст пацвярджэння паўторна Забылі свой пароль\? - Сардэчна запрашаем у Revolt + Сардэчна запрашаем у Peptide Давайце створым уліковы запіс. ← Назад Атрымліваем інфармацыю, пачакайце… Знайдзіце сабе супольнасць, злучыцеся са светам. - Revolt – гэта адын з найлепшых шляхоў заставацца на сувязі з сябрамі і супольнасцю, усюды, заўсёды. + Peptide – гэта адын з найлепшых шляхоў заставацца на сувязі з сябрамі і супольнасцю, усюды, заўсёды. Увайсці Зарэгістравацца Увойдзем у ўліковы запіс Карыстуйцеся мэнэджэрам пароляў\? Увядзіце сваю электроную пошту, мы адашлем вам інструкцыі, як аднавіць ваш пароль. - Выкарыстовывайце Revolt каб вадзіцца пра розныя тэмы. + Выкарыстовывайце Peptide каб вадзіцца пра розныя тэмы. Гэта як месца, дзе можна завіснуць, сабрацца ды паразмаўляць пра розныя рэчы. Найлепшае тое, што гэта ў інтэрнэце. Не атрымалася захаваць аўдыа Абагуліць спасылку @@ -160,7 +160,7 @@ Знешні выгляд Тэма Сістэмная - Revolt + Peptide Светлая Чыста чорная Material You @@ -210,19 +210,19 @@ Дадатковая інфармацыя Любая дадатковая інфармацыя, якая магла бы дапамагчы нам. Не абавязкова. Паведамлена - Дзякуй за тое, што дапамагайце падтрымліваць Revolt бяспечным. Мы разглядзім вашу скаргу як мага хутчэй. + Дзякуй за тое, што дапамагайце падтрымліваць Peptide бяспечным. Мы разглядзім вашу скаргу як мага хутчэй. Вы сапраўды хочаце заблакаваць гэтага карыстальніка\? Вы ўжо ўдзельнік гэтага сервера. Код запрашэння не пазначаны. Узнікла невядомая памылка. Прайграць Мы ўдзячны распрацоўшчыкам гэтых праектаў за тое, што зрабілі іх даступнымі да свету. - Revolt створан з дапамогай гэтых цудоўных праэктаў з адкрытым зыходным кодам. - Revolt для Android - Створана з ❤️ камандай Revolt. + Peptide створан з дапамогай гэтых цудоўных праэктаў з адкрытым зыходным кодам. + Peptide для Android + Створана з ❤️ камандай Peptide. Версія Падрабязнасці - Вы зможаце выкарыстовываць Revolt як заўсёды, але для іншых вы будзеце па-за сеткай. + Вы зможаце выкарыстовываць Peptide як заўсёды, але для іншых вы будзеце па-за сеткай. Гэты канал быў выдалены, або вы не маеце дазволу на яго прагляд. Jenvolt — гэта месца пад кіраваннем распрацоўшчыкаў для ўсіх рэчаў, звязаных з праграмай на Android і іншым. Тут можна атрымаць падтрымку або пакінуць водгук. Мабыць вы паспрабуйце новыя функцыі! 👀 Заблакіраваныя @@ -255,7 +255,7 @@ Сімвалы Сцягі Мадэрацыя платформы - Член каманды Revolt + Член каманды Peptide Далучыцца да Jenvolt Сябры Запыты да сяброўства @@ -381,7 +381,7 @@ Спіс змен гэту версію Даследаванне - Даследаваць Revolt + Даследаваць Peptide Паведаміце, што не так с гэтым паведамленнем Паведаміце, што не так с гэтым серверам Паведаміце, што не так з гэтым карыстальнікам @@ -413,10 +413,10 @@ Гэты канал пазначаны як NSFW Вы павінны быць старэйшымі за 18 гадоў, каб праглядзець гэты канал. Вы павінны быць старэйшымі за 18 гадоў, каб праглядваць гэты канал. - Абагуліць да Revolt - Калі ласка, увайдзіце ў уліковы запіс, каб абагуліць да Revolt. + Абагуліць да Peptide + Калі ласка, увайдзіце ў уліковы запіс, каб абагуліць да Peptide. Гэта не падыходзіць да абагульнення. - Гэтае далучэнне занадта вялікае для Revolt (макс. $1$s). + Гэтае далучэнне занадта вялікае для Peptide (макс. $1$s). Пошук каналаў Калі ласка, абярыце канал, ў які вы хочаце абагуліць паведамленне. Дата нараджэння @@ -433,7 +433,7 @@ Выдаліць Пакінуць Паскардзіцца - Далучыцеся да сервера Revolt, каб пакінуць водгук або пракановы і паведаміць аб памылках. + Далучыцеся да сервера Peptide, каб пакінуць водгук або пракановы і паведаміць аб памылках. Новая група Стварыць новую групу Збярыце сваю каманду ў групавым чаце. Вы можаце дадаць да %1$d чалавек. @@ -552,13 +552,13 @@ Не ўдалося загрузіць ваш агляд Абагуліць профіль Праглядзіце вашу картку і атрымайце спецыяльную спасылку для абагульнення - Revolt ніколі не спіць, паглядзіце, над чым зараз ідзе праца + Peptide ніколі не спіць, паглядзіце, над чым зараз ідзе праца Ёсць штосьці сказаць\? Мы гатовыя слухаць Вы знайшлі вэбхук! Націсніце, каб скапіраваць Узнікла памылка пры абагульненні вашай карткі. %1$d.Імя - %1$d.На Revolt з + %1$d.На Peptide з %1$d.Імя Карыстальніка %1$d.QR-код %1$d.Фота @@ -571,7 +571,7 @@ [Фрагмент кода] Даведацца больш Выкарыстоўвайце клавіятуру? - У Revolt ёсць спалучэнні клавіш! Націсніце %1$s, каб іх убачыць. + У Peptide ёсць спалучэнні клавіш! Націсніце %1$s, каб іх убачыць. Адкрыць спалучэнні клавіш Добра Новы абзац @@ -580,19 +580,19 @@ Налады сістэмы Вітаем у раннім доступе! 🚀 Вы адні з тых, хто першымі спрабуюць нашу новую праграму для Android. Мы радыя бачыць вас тут! - Таму што гэта ранні доступ, рэчы пакуль што могуць быць неідэальнымі. Вы можаце наткнуцца на памылку, праграма можа вылецець, ці вы ўбачыце якое-небудзь іншае дзівацтва. Ваш водгук дапаможа адпаліраваць праграму і зрабіць Revolt яшчэ больш здатным. + Таму што гэта ранні доступ, рэчы пакуль што могуць быць неідэальнымі. Вы можаце наткнуцца на памылку, праграма можа вылецець, ці вы ўбачыце якое-небудзь іншае дзівацтва. Ваш водгук дапаможа адпаліраваць праграму і зрабіць Peptide яшчэ больш здатным. Мы радыя, што вы цяпер з намі. Давайце разам зробім штосьці выдатнае! Зразумела Мы любім водгукі! - Калі вы хочаце пакінуць аніякі водгук, у вас ёсць прапановы ці вы знайшлі памылку, калі ласка, паведаміце нам аб гэтым. Мы заўжды хочам палепшыць Revolt. + Калі вы хочаце пакінуць аніякі водгук, у вас ёсць прапановы ці вы знайшлі памылку, калі ласка, паведаміце нам аб гэтым. Мы заўжды хочам палепшыць Peptide. Ацаніць у Google Play Далучыцца да сервера тэсціроўшчыкаў Гатова Падказка - Некаторыя з вашых налад Revolt пашкоджаныя. Гэта можа быць з-за старонняга кліента. Налады, на якія гэта ўплыло: + Некаторыя з вашых налад Peptide пашкоджаныя. Гэта можа быць з-за старонняга кліента. Налады, на якія гэта ўплыло: Апавяшчэнні Парадак сервероў - Revolt для Android + Peptide для Android %1$s (невядома) Скінуць налады %1$s \ No newline at end of file diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index e09c8005..8f39b5f6 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -12,7 +12,7 @@ Намерете своята общност, свържете се със света. Извличаме информация, моля изчакайте… Нека ви впишем - Revolt е един от най-добрите начини да поддържате връзка с вашите приятели и общност, навсякъде и по всяко време. + Peptide е един от най-добрите начини да поддържате връзка с вашите приятели и общност, навсякъде и по всяко време. Имейл Парола Влез @@ -24,8 +24,8 @@ Използвате мениджър на пароли\? Забравена парола\? Въведете вашия имейл и ние ще ви изпратим инструкции как да нулирате паролата си. - Добре дошли в Revolt - Използвай Revolt, за да говориш за различни неща. + Добре дошли в Peptide + Използвай Peptide, за да говориш за различни неща. Това е като място за висене, събиране и разговаряне. Най-хубавото е, че е в интернет. Нека да ви настроим. Вашите лични данни са в безопасност при нас. Ние не ги продаваме и не ги използваме, за да ви показваме реклами. diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml index e6c88a43..bf8de7ad 100644 --- a/app/src/main/res/values-bn/strings.xml +++ b/app/src/main/res/values-bn/strings.xml @@ -1,13 +1,13 @@ - Revolt হল আপনার বন্ধুদের এবং সম্প্রদায়ের (কমিউনিটির) সাথে, যেকোনো জায়গায়, যে কোনো সময় যুক্ত থাকার এক অন্যতম সেরা উপায়। + Peptide হল আপনার বন্ধুদের এবং সম্প্রদায়ের (কমিউনিটির) সাথে, যেকোনো জায়গায়, যে কোনো সময় যুক্ত থাকার এক অন্যতম সেরা উপায়। যাচাইকরণ ই-মেইল আবার পাঠানোর জন্য অনুরোধ পাঠান ← ফিরে যান এরপর → ঠিক আছে বাতিল করুন শেয়ার করুন - Revolt এর সার্ভিসের শর্তাবলী + Peptide এর সার্ভিসের শর্তাবলী গোপনীয়তা নীতি ই-মেইল পাসওয়ার্ড @@ -21,8 +21,8 @@ আপনার অ্যাকাউন্টকে আরো নিরাপদ রাখতে আপনি 2FA চালু করেছেন। চলুন আপনার ইমেল লিখুন এবং আমরা আপনাকে আপনার পাসওয়ার্ড রিসেট করার নির্দেশাবলী পাঠাব। - Revolt-এ আপনাকে স্বাগত জানাই - যে কোনো কিছু সম্পর্কে কথা বলার জন্য Revolt -কে ব্যবহার করুন। + Peptide-এ আপনাকে স্বাগত জানাই + যে কোনো কিছু সম্পর্কে কথা বলার জন্য Peptide -কে ব্যবহার করুন। এটি আড্ডা দেওয়ার, একত্রিত হওয়ার এবং যে কোনো কিছুর বিষয়ে আলোচনা করার মতো জায়গা৷ এটি হলো ইন্টারনেটের এক অন্যতম সেরা জায়গা। চলুন, আপনাকে সমস্ত কিছু সেট আপ করানো যাক। আপনার তথ্য আমাদের কাছে নিরাপদ। আমরা এটি কারোর কাছেই বিক্রি করি না, নাতো আমরা আপনাকে বিজ্ঞাপন দেখানোর জন্য এর ব্যবহার করি। @@ -169,7 +169,7 @@ অন্যান্য কোনো অতিরিক্ত তথ্য যা আমাদের তদন্তে সাহায্য করতে পারে। (প্রয়োজনীয় নয়)। রিপোর্ট করা হয়ে গেছে - Revolt-কে নিরাপদ রাখতে সাহায্য করার জন্য আপনাকে ধন্যবাদ। আমরা যত তাড়াতাড়ি সম্ভব আপনার রিপোর্ট দেখব ও তার উপর পুনর্বিবেচনা করব। + Peptide-কে নিরাপদ রাখতে সাহায্য করার জন্য আপনাকে ধন্যবাদ। আমরা যত তাড়াতাড়ি সম্ভব আপনার রিপোর্ট দেখব ও তার উপর পুনর্বিবেচনা করব। আপনি কি এই ইউজারকে ব্লক করতে চান\? আপনাকে এই সার্ভারে যোগদানের জন্য আমন্ত্রণ জানানো হয়েছে। আপনি কি এই সার্ভারে যুক্ত হতে চান\? চালান @@ -180,7 +180,7 @@ রুপ থিম সিস্টেম - Revolt + Peptide Material You মতামত লাইট @@ -194,7 +194,7 @@ Material You (সমর্থিত নয়) Material You এই ডিভাইসের জন্য সমর্থিত নয়। কিছু তথ্য আনা হচ্ছে, ওখানেই অপেক্ষা করুন… - Revolt সম্পর্কে জানুন + Peptide সম্পর্কে জানুন কোনো আমন্ত্রণ কোড পাওয়া যায়নি। নির্দিষ্ট কোড সহ কোনো আমন্ত্রণ লিঙ্ক খুঁজে পাওয়া যায়নি। একটি অজানা ত্রুটি ঘটেছে। @@ -213,7 +213,7 @@ কনটেন্ট এমন কিছুকে উৎসাহিত/প্রচার করছে যা নিজ বা অন্যের ক্ষতি করতে পারে এটি স্প্যাম বা প্ল্যাটফর্মের অপব্যবহার/দুর্ব্যবহার অন্যকে নকল করছেন - এই দুর্দান্ত ওপেন সোর্স প্রকল্পগুলির সাহায্যে Revolt তৈরি করা হয়েছে। + এই দুর্দান্ত ওপেন সোর্স প্রকল্পগুলির সাহায্যে Peptide তৈরি করা হয়েছে। শেষবারের মতো আপডেট হয়েছে: %1$s নীচের তালিকাটি স্বয়ংক্রিয়ভাবে তৈরি। এটা অসম্পূর্ণ বা ভুল হতে পারে। লাইসেন্স দেখতে এখানে টিপুন @@ -225,7 +225,7 @@ পশুপাখি ও প্রকৃতি কার্যকলাপ প্রতীক - Revolt দলের সদস্য + Peptide দলের সদস্য Jenvolt -এ যুক্ত হোন লিঙ্ক করা চ্যানেল থেকে সমস্ত @@ -251,7 +251,7 @@ সিস্টেম মেসেজ %1$s চলে গেছে স্ট্যাটাস - অ্যান্ড্রয়েডের (Android) এর জন্য Revolt + অ্যান্ড্রয়েডের (Android) এর জন্য Peptide স্মাইলি এবং আবেগ ব্যক্তি এবং শরীর খাবার এবং পানীয় @@ -280,7 +280,7 @@ আপনি মেসেজ এবং @উল্লেখ সহ কোনোরকম নোটিফিকেশন পাবেন না। অফলাইন অদৃশ্য - আপনি স্বাভাবিক ভাবেই Revolt ব্যবহার করতে পারবেন, কিন্তু অন্য কেউ আপনাকে অনলাইন হিসেবে দেখতে পারবে না। + আপনি স্বাভাবিক ভাবেই Peptide ব্যবহার করতে পারবেন, কিন্তু অন্য কেউ আপনাকে অনলাইন হিসেবে দেখতে পারবে না। %1$s চ্যানেলের আইকন পরিবর্তন করেছে অলস অফিসিয়াল সার্ভার @@ -342,7 +342,7 @@ এই ডিভাইসে এই ডিভাইসের সেশন আর উপলব্ধ নেই। আপনার বর্তমান সেশন দেখার জন্য দয়া করে **আবার লগ ইন করুন**। অন্যান্য সক্রিয় সেশনগুলো - Revolt কখনও থেমে থাকে না, একবার দেখুন আমরা কিসের উপর কাজ করছিলাম + Peptide কখনও থেমে থাকে না, একবার দেখুন আমরা কিসের উপর কাজ করছিলাম আইডি কপি করুন এই ইউজার হলো একটি বট। স্ট্যাটাস @@ -380,5 +380,5 @@ ডেভেলপার নতুন লাইন মেসেজ পাঠান - %1$d. Revolt -এ আছেন + %1$d. Peptide -এ আছেন \ No newline at end of file diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 2ebd3090..06fc7435 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -19,7 +19,7 @@ Reenviar un correu de verificació Estàs fent servir un gestor de contrassenyes\? Has oblidat la teva contrassenya\? - Benvingut/da a Revolt + Benvingut/da a Peptide Anem a configurar-te. Correu electrònic T\'enviarem un correu de verificació per confirmar el teu compte. @@ -160,7 +160,7 @@ Aparença Tema Sistema - Revolt + Peptide Clar Totalment fosc Material You @@ -177,10 +177,10 @@ Compartir imatge Bot Obtenint informació, espera\'t… - Revolt és una de les millors maneres de romandre connectat amb els teus amics i la teva comunitat, a qualsevol lloc, en qualsevol moment. + Peptide és una de les millors maneres de romandre connectat amb els teus amics i la teva comunitat, a qualsevol lloc, en qualsevol moment. Has oblidat la teva contrassenya\? Escriu el teu correu electrònic i t\'enviarem les instruccions sobre com restablir la teva contrassenya. - Fes servir Revolt per mantenir converses. + Fes servir Peptide per mantenir converses. És com un lloc per quedar, ajuntar-se i mantenir converses. La millor part és que és a internet. La teva informació és segura amb nosaltres. No la venem, ni la utilitzem per mostrar-te anuncis. Vuit o més, les freqüents són dolentes. Es recomana fer servir símbols i números. @@ -212,19 +212,19 @@ Assetjament o ciber-assetjament Contingut inapropiat (com NSFW) Qualsevol informació addicional que podria ajudar-nos en la nostra investigació. Opcional. - Gràcies per ajudar a mantenir Revolt segur. Revisarem la teva denúncia el més aviat possible. + Gràcies per ajudar a mantenir Peptide segur. Revisarem la teva denúncia el més aviat possible. Has sigut invitat a unir-te a aquest servidor. T\'agradaria unir-te\? S\'ha produït un error desconegut. Material You (sense suport) Estem agraïts als desenvolupadors d\'aquests projectes per fer que el seu treball estigui disponible al món. - Revolt es construeix amb l\'ajuda d\'aquests fantàstics projectes de codi obert. + Peptide es construeix amb l\'ajuda d\'aquests fantàstics projectes de codi obert. La llista següent es genera automàticament. Pot ser incomplet o inexacte. Última actualització: %1$s - Portat amb ❤️ per l\'equip de Revolt. + Portat amb ❤️ per l\'equip de Peptide. Versió Detalls Toqueu per veure la llicència - Revolt a Android + Peptide a Android Tria emoji Amaga la contrasenya Mostra la contrasenya diff --git a/app/src/main/res/values-ckb/strings.xml b/app/src/main/res/values-ckb/strings.xml index a4016d72..92f5590d 100644 --- a/app/src/main/res/values-ckb/strings.xml +++ b/app/src/main/res/values-ckb/strings.xml @@ -3,7 +3,7 @@ ڕەتکردنەوە هێنانی هەندێک زانیاری، کەمێک بوەستە… کۆمەڵگاکەت بدۆزەرەوە، پەیوەندی بە جیهانەوە بکە. - Revolt یەکێکە لە باشترین ڕێگاکان بۆ ئەوەی پەیوەندیت لەگەڵ هاوڕێ و کۆمەڵگاکەت هەبێت، لە هەر شوێنێک، لە هەر کاتێکدا. + Peptide یەکێکە لە باشترین ڕێگاکان بۆ ئەوەی پەیوەندیت لەگەڵ هاوڕێ و کۆمەڵگاکەت هەبێت، لە هەر شوێنێک، لە هەر کاتێکدا. ئیمەیڵەکەت بنووسە و ئێمە ڕێنماییت بۆ دەنێرین سەبارەت بە چۆنیەتی ڕێستکردنی وشەی نهێنی. ← گەڕانەوە دواتر ← @@ -24,5 +24,5 @@ ئیمێڵێکی پشتڕاستکردنەوە بنێرە بەڕێوەبەری وشەی نهێنی بەکاردەهێنیت؟ وشەی نهێنیت لەبیر كردووە ؟ - بەخێربێیت بۆ Revolt + بەخێربێیت بۆ Peptide \ No newline at end of file diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index d48a3a5a..860e4a6f 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -9,7 +9,7 @@ Načítání informací, vydržte… Ochrana údajů Pravidla komunity - Revolt je jedním z nejlepších způsobů, jak můžete zůstat ve spojení se svými přáteli a komunitou, kdekoli, kdykoli. + Peptide je jedním z nejlepších způsobů, jak můžete zůstat ve spojení se svými přáteli a komunitou, kdekoli, kdykoli. Heslo Přihlásit se Registrace @@ -19,14 +19,14 @@ Používáte správce hesel\? Zapomněli jste heslo\? Zadejte svůj e-mail, my vám na něj pošleme návod, jak můžete resetovat své heslo. - Víteje v Revoltu + Víteje v Peptideu Podmínky služby E-mail Pojďme se přihlásit Najděte svou komunitu, spojte se se světem. Znovu poslat ověřovací e-mail - Chatujte s ostatními na Revoltu. - Revolt je místo, kde se můžete scházet, setkávat a povídat si o čemkoli. A to nejlepší\? Je to na internetu. + Chatujte s ostatními na Peptideu. + Peptide je místo, kde se můžete scházet, setkávat a povídat si o čemkoli. A to nejlepší\? Je to na internetu. Pojďme vás připravit. Vaše údaje jsou u nás v bezpečí. Neprodáváme je a nepoužíváme je ani k zobrazování reklam. E-mail @@ -112,7 +112,7 @@ ze serveru %1$s z soukromého serveru Možnosti - Revolt byl vytvořen s pomocí těchto úžasných open-source projektů. + Peptide byl vytvořen s pomocí těchto úžasných open-source projektů. Jsme vděční vývojářům těchto projektů za to, že svou práci zpřístupnili světu. Níže uvedený seznam je generován automaticky. Může být neúplný nebo nepřesný. Poslední aktualizace: %1$s @@ -122,8 +122,8 @@ Neznámé Nabídka před %1$d dny - Revolt na Androidu - Vyvinuto s ❤️ týmem Revolt. + Peptide na Androidu + Vyvinuto s ❤️ týmem Peptide. Verze Podrobnosti Klepnutím na zobrazíte licenci @@ -148,7 +148,7 @@ Bot Z odkazovaného kanálu Moderace platformy - Člen týmu Revolt + Člen týmu Peptide Odhlásit se Připojit se do Jenvolt Přátelé @@ -193,7 +193,7 @@ Soustředěný Nebudete dostávat žádná oznámení o zprávách, ale budete dostávat oznámení o @zmínkách. Nebudete dostávat žádná oznámení, včetně zpráv a @zmínek. - Revolt budete moci používat jako obvykle, ale pro ostatní lidi se budete vypadat offline. + Peptide budete moci používat jako obvykle, ale pro ostatní lidi se budete vypadat offline. Tento kanál nelze zobrazit Správa oznámení Nová skupina @@ -219,7 +219,7 @@ Aktivní podporovatel Připojit se Vytvořit nový server - Prozkoumejte Revolt + Prozkoumejte Peptide Nahlásit Zrušit Vybraná zpráva: @@ -287,12 +287,12 @@ Import Tento soubor není platným souborem přepsání barev. Zpětná vazba - Připojte se k serveru Revoltu pro udělení zpětné vazby nebo nápadů a nahlášení chyb. + Připojte se k serveru Peptideu pro udělení zpětné vazby nebo nápadů a nahlášení chyb. Co jsme uvařili ✨ Seznam změn pro %1$s tamta verze - Sdílet na Revoltu - Tato příloha je pro Revolt příliš velká (max. $1$s). + Sdílet na Peptideu + Tato příloha je pro Peptide příliš velká (max. $1$s). Prohledat kanály Vytvořit Pro zobrazení tohoto kanálu vám musí být alespoň 18 let. @@ -321,7 +321,7 @@ Material You (nepodporovaný) Na kontejneru chyby Seznam změn - Před sdílením na Revoltu se prosím přihlaste. + Před sdílením na Peptideu se prosím přihlaste. Toto není platný intent sdílení. Vyberte kanál, do kterého chcete sdílet. Otevřít @@ -340,7 +340,7 @@ Vlastní pozadí Uložit Relace - Revolt + Peptide Světlý Čistě černá Material You @@ -392,7 +392,7 @@ Jakékoli další informace, které by nám mohly pomoci při vyšetřování. Nepovinné. Nahlašování… Nahlášeno - Děkujeme, že pomáháte s udržením bezpečnosti na Revoltu. Vaše nahlášení co nejdříve prověříme. + Děkujeme, že pomáháte s udržením bezpečnosti na Peptideu. Vaše nahlášení co nejdříve prověříme. Chyba Při odesílání vašeho nahlášení došlo k chybě. Zkuste to prosím znovu později. Zavřít diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 57d88be3..c1826db1 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -23,11 +23,11 @@ Kom i gang Klap lige hesten! Det gør du for ofte på kort tid. Find dit fællesskab, forbind med verden. - Revolt er en af de bedste måder at holde forbindelsen med dine venner og samfund på, hvor som helst og når som helst. + Peptide er en af de bedste måder at holde forbindelsen med dine venner og samfund på, hvor som helst og når som helst. Log på Igangværende i øjeblikket Vi oplever i øjeblikket problemer med vores tjenester. Se venligst vores statusside for mere information. Send bekræftelsesmail igen Indtast din mail, og vi sender dig instruktioner om, hvordan du nulstiller din adgangskode. - Velkommen til Revolt + Velkommen til Peptide \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index f4e453ff..3d96d8e3 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -11,7 +11,7 @@ Anderes Spam oder ähnlicher Missbrauch Weitere Informationen, die uns bei unseren Ermittlungen helfen können. Optional. - Danke für deine Mithilfe dabei, Revolt so sicher wie möglich zu halten. Wir werden uns um deine Meldung so schnell wie möglich kümmern. + Danke für deine Mithilfe dabei, Peptide so sicher wie möglich zu halten. Wir werden uns um deine Meldung so schnell wie möglich kümmern. Konnte für diesen Einladungscode keine Einladung finden. Konnte Video nicht speichern System @@ -38,9 +38,9 @@ Hinweis: Diese Nachricht könnte von einer anderen Plattform stammen. Es wird empfohlen, die Nachricht auch auf der Plattform zu melden, von der sie stammt. Abbrechen Nutzungsbedingungen - Revolt ist eine der besten Möglichkeiten, überall und jederzeit mit deinen Freund:innen und deiner Community in Verbindung zu bleiben. + Peptide ist eine der besten Möglichkeiten, überall und jederzeit mit deinen Freund:innen und deiner Community in Verbindung zu bleiben. E-Mail senden - Rede auf Revolt über Dinge. + Rede auf Peptide über Dinge. Wir senden dir eine Verifizierungs-E-Mail, um deinen Account zu bestätigen. Willkommen! Andere werden dich mit diesem Namen finden, erkennen und erwähnen. @@ -54,7 +54,7 @@ Los geht\'s Datenschutzbedingungen Registrieren - Willkommen bei Revolt + Willkommen bei Peptide Lass uns alles einrichten. Deine Daten sind bei uns sicher. Wir verkaufen sie nicht und verwenden sie auch nicht, um dir Werbung anzuzeigen. Passwort @@ -204,7 +204,7 @@ Verschiedenes Erscheinungsbild Thema - Revolt + Peptide Hell Pures Schwarz Material You @@ -222,7 +222,7 @@ Wir sind den Entwickler:innen dieser Projekte dafür dankbar, dass sie ihre Arbeit der Welt verfügbar machen. Die untere Liste ist automatisch generiert. Sie könnte unvollständig oder inakkurat sein. Zuletzt aktualisiert: %1$s - Revolt wird durch diese fantastischen Open-Source-Projekte ermöglicht. + Peptide wird durch diese fantastischen Open-Source-Projekte ermöglicht. Besitzer:in geändert Das ist ein vertrauenswürdiger Kanal für Hinweise von unserem Moderationsteam. Du kannst hier keine Nachrichten senden. Nutzer:in ist beigetreten @@ -239,8 +239,8 @@ Mittlere Hautfarbe Du hat einen wichtigen Hinweis zu deinem Account von unserem Moderationsteam bekommen. Bitte lese ihn sorgfältig durch. Dieses Gerät wird angemeldet bleiben. - Revolt auf Android - Mit ❤️ vom Revolt-Team gemacht. + Peptide auf Android + Mit ❤️ vom Peptide-Team gemacht. Version Details Tippe, um die Lizenz anzuschauen @@ -255,7 +255,7 @@ Symbole Flaggen Plattform-Moderation - Revolt-Teammitglied + Peptide-Teammitglied Trete Jenvolt bei Jenvolt ist der Entwickler:innen-geführte Ort für alles, was mit der Android-App zu tun hat. Support und Feedback gehören hierhin. Vielleicht kannst du auch neue Funktionen ausprobieren! 👀 Freund:innen @@ -289,7 +289,7 @@ Du wirst gar keine Benachrichtigungen bekommen, einschließlich Nachrichten oder @Erwähnungen. Offline Unsichtbar - Du wirst Revolt wie üblich nutzen können, wirst für alle anderen aber als Offline angezeigt. + Du wirst Peptide wie üblich nutzen können, wirst für alle anderen aber als Offline angezeigt. Offizieller Server Verifizierter Server Dieser Kanal wurde möglicherweise gelöscht oder du hast nicht die nötige Berechtigung. @@ -382,7 +382,7 @@ Änderungsprotokoll für %1$s diese Version Entdecken - Entdecke Revolt + Entdecke Peptide Sag uns, was mit diesem Server nicht stimmt Sag uns, was mit diesem:dieser Nutzer:in nicht stimmt Erpressung oder Drohung @@ -412,11 +412,11 @@ Kopieren Schließen Dies ist kein gültiger Teilen-Intent. - Dieser Anhang ist zu groß für Revolt (maximal 1$s). + Dieser Anhang ist zu groß für Peptide (maximal 1$s). Kanäle suchen Bitte wähle einen Kanal zum Teilen aus. - Mit Revolt teilen - Du musst angemeldet sein, um auf Revolt etwas teilen zu können. + Mit Peptide teilen + Du musst angemeldet sein, um auf Peptide etwas teilen zu können. Du musst mindestens 18 Jahre alt sein, um diesen Kanal anzusehen. Du musst mindestens 18 Jahre alt sein, um diesen Kanal anzusehen. Dieser Kanal ist als NSFW gekennzeichnet @@ -434,7 +434,7 @@ Löschen Behalten Melden - Tritt dem Revolt-Server bei, um Feedback und Vorschläge zu geben oder Fehler zu melden. + Tritt dem Peptide-Server bei, um Feedback und Vorschläge zu geben oder Fehler zu melden. Neue Gruppe Bring deine Crew in einem Gruppenchat zusammen. Du kannst bis zu %1$d Personen hinzufügen. Das ist ein Bot. Er hat einen Plan. @@ -544,9 +544,9 @@ Status Passwort anzeigen Passwort verbergen - Revolt schläft nie, schau her, um zu entdecken, was wir gemacht haben + Peptide schläft nie, schau her, um zu entdecken, was wir gemacht haben Beim Teilen deiner Profilkarte ist ein Fehler aufgetreten. - %1$d.Nutzt Revolt Seit + %1$d.Nutzt Peptide Seit Webhook Webhooks sind automatisierte Übertragungen von anderen Diensten im Internet. Sie können nichts sagen, aber du kannst trotzdem sehen, was sie zu sagen haben. Überblick @@ -574,7 +574,7 @@ [%1$s-Snippet] [Codesnippet] Nutzt du eine Tastatur? - Revolt hat Tastenkürzel! Sieh sie dir mit %1$s an. + Peptide hat Tastenkürzel! Sieh sie dir mit %1$s an. Kürzelübersicht öffnen Alles klar Nachrichten @@ -582,19 +582,19 @@ Nachricht senden Willkommen beim Early Access! 🚀 Du gehörst zu den ersten, die unsere neue Android-App ausprobieren können. Wir freuen uns, dich hier zu haben! - Da es sich um eine Early-Access-Version handelt, kann es sein, dass noch nicht alles perfekt ist. Es kann sein, dass du gelegentlich auf einen Fehler, einen Absturz oder eine seltsame Macke stößt. Euer Feedback hilft uns, die rauen Kanten zu glätten und Revolt noch besser zu machen. + Da es sich um eine Early-Access-Version handelt, kann es sein, dass noch nicht alles perfekt ist. Es kann sein, dass du gelegentlich auf einen Fehler, einen Absturz oder eine seltsame Macke stößt. Euer Feedback hilft uns, die rauen Kanten zu glätten und Peptide noch besser zu machen. Wir freuen uns sehr darüber, dich an Bord zu haben. Lass uns gemeinsam etwas Großartiges schaffen! Alles Klar Wir lieben Feedback! - Wenn du Feedback, Vorschläge oder Fehlerberichte hast, lass es uns bitte wissen. Wir sind immer bemüht, Revolt zu verbessern. + Wenn du Feedback, Vorschläge oder Fehlerberichte hast, lass es uns bitte wissen. Wir sind immer bemüht, Peptide zu verbessern. Auf Google Play bewerten Testerserver beitreten Fertig Hinweis - Einige deiner Revolt-Einstellungen sind beschädigt. Dies kann auf die Verwendung von Drittanbieter-Clients zurückzuführen sein. Die betroffenen Einstellungen sind: + Einige deiner Peptide-Einstellungen sind beschädigt. Dies kann auf die Verwendung von Drittanbieter-Clients zurückzuführen sein. Die betroffenen Einstellungen sind: Benachrichtigungen Serverreihenfolge %1$s (unbekannt) %1$s-Einstellungen zurücksetzen - Revolt auf Android + Peptide auf Android \ No newline at end of file diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 80bfff46..4490dd4c 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -11,8 +11,8 @@ Αποστολή email Ας σε συνδέσουμε Αποστολή email επαλήθευσης ξανά - Καλωσόρισες στο Revolt - Χρησιμοποίησε το Revolt για να συζητάς διάφορα. + Καλωσόρισες στο Peptide + Χρησιμοποίησε το Peptide για να συζητάς διάφορα. Ας σε ετοιμάσουμε. Εmail Θα σου στείλουμε ένα email επαλήθευσης για την επιβεβαίωση του λογαριασμού σου. @@ -43,7 +43,7 @@ Όροι Χρήσης Πολιτική Απορρήτου Βρες την κοινότητά σου, συνδέσου με τον κόσμο. - Το Revolt είναι ένας από τους καλύτερους τρόπους για να μείνεις συνδεδεμένος με τους φίλους και την κοινότητά σου, οπουδήποτε και οποτεδήποτε. + Το Peptide είναι ένας από τους καλύτερους τρόπους για να μείνεις συνδεδεμένος με τους φίλους και την κοινότητά σου, οπουδήποτε και οποτεδήποτε. Εγγραφή Ξέχασες τον κωδικό πρόσβασης; Χρησιμοποιείς διαχειριστή κωδικών πρόσβασης; @@ -62,8 +62,8 @@ Πληκτρολόγησε τον κωδικό πρόσβασής σου για να συνεχίσεις. Λυπούμαστε, αυτή η λειτουργία δεν είναι ακόμα έτοιμη. Ελέγξτε τα mail σας! - Το Revolt δημιουργείται με τη βοήθεια έργων ανοιχτού κώδικα. - Με ❤️ από την ομάδα της Revolt. + Το Peptide δημιουργείται με τη βοήθεια έργων ανοιχτού κώδικα. + Με ❤️ από την ομάδα της Peptide. Έκδοση Λεπτομέριες Αφαίρεση απάντησης @@ -82,11 +82,11 @@ Bot Από συνδεδεμένο κανάλι Διαχείριση πλατφόρμας - Μέλος ομάδας Revolt + Μέλος ομάδας Peptide Άγνωστο Μενού Αποσύνδεση - Revolt στο Android + Peptide στο Android Όνομα ομάδας Το εικονίδιο καναλιού άλλαξε Οι %1$s επανονόμασε το κανάλι σε %2$s @@ -97,7 +97,7 @@ Επανασυνδέεστε… Εστίαση Αόρατοι - Θα μπορείτε να χρησιμοποιήσετε το Revolt ως συνήθως, αλλά δεν θα εμφανίζεστε ως συνδεδεμένοι σε άλλα άτομα. + Θα μπορείτε να χρησιμοποιήσετε το Peptide ως συνήθως, αλλά δεν θα εμφανίζεστε ως συνδεδεμένοι σε άλλα άτομα. Επικυρωμένος Server Πρόσθεσε μέλη Σύνδεσμος μηνύματος αντιγράφτηκε στο πρόχειρο @@ -185,7 +185,7 @@ Δημιούργησε νέο server Δημιούργησε νέο server Αυτό το χαρακτηριστικό είναι υπό κατασκευή. - Discover Revolt + Discover Peptide Ακύρωση Πείτε μας τι συμβαίνει με αυτό το μήνυμα Πείτε μας τι συμβαίνει με αυτόν τον server @@ -259,7 +259,7 @@ Εμφάνιση Θέμα Σύστημα - Revolt + Peptide Ανοικτόχρωμο Καθαρό Μαύρο Το Material You δεν υποστηρίζεται σε αυτή τη συσκευή. @@ -454,8 +454,8 @@ Διαγραφή καναλιού Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το κανάλι; Διατήρηση - Κοινοποίηση στο Revolt - Συνδεθείτε πριν από την κοινοποίηση στο Revolt. + Κοινοποίηση στο Peptide + Συνδεθείτε πριν από την κοινοποίηση στο Peptide. Αυτή δεν είναι μια έγκυρη πρόθεση κοινοποίησης. Επιλέξτε ένα κανάλι για κοινοποίηση. Αιτήματα φιλίας @@ -506,7 +506,7 @@ Στο Τριτογενές Οι διαδραστικές ενσωματώσεις σάς επιτρέπουν να αλληλεπιδράτε με ορισμένους τύπους συνδέσμων απευθείας μέσα στη συνομιλία. Για παράδειγμα, μπορείτε να αναπαράγετε βίντεο YouTube ή να κάνετε προεπισκόπηση άλμπουμ από το Apple Music. Apple Music - Εγγραφείτε στον server του Revolt για να κάνετε σχόλια ή προτάσεις και να αναφέρετε σφάλματα. + Εγγραφείτε στον server του Peptide για να κάνετε σχόλια ή προτάσεις και να αναφέρετε σφάλματα. Τι μαγειρεύεται ✨ Κατάλογος αλλαγών για %1$s Παρουσιάστηκε σφάλμα κατά την ενημέρωση του καναλιού. @@ -515,11 +515,11 @@ Κατάργηση σήμανσης ως NSFW Κρατήστε ως έχει Όλα τα μηνύματα και οι ρυθμίσεις για αυτό το κανάλι θα εξαφανιστούν για πάντα (πολύ καιρό!) - Αυτή η επισύναψη είναι πολύ μεγάλη για το Revolt (μέγιστο $1$s). + Αυτή η επισύναψη είναι πολύ μεγάλη για το Peptide (μέγιστο $1$s). Αυτό είναι bot. Άλλο Αναφέρθηκε - Σας ευχαριστούμε που βοηθήσατε να κρατήσουμε το Revolt ασφαλές. Θα εξετάσουμε την αναφορά σας το συντομότερο δυνατό. + Σας ευχαριστούμε που βοηθήσατε να κρατήσουμε το Peptide ασφαλές. Θα εξετάσουμε την αναφορά σας το συντομότερο δυνατό. Σφάλμα Παρουσιάστηκε σφάλμα κατά την υποβολή της αναφοράς σας. Προσπαθήστε ξανά αργότερα. Κλείσιμο diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index e7afd3ad..86527bc6 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -16,8 +16,8 @@ Resendi konfirman retpoŝton Ĉu vi uzas pasvortadministrilon\? Ĉu vi forgesis vian pasvorton\? - Bonvenon al Revolt - Uzu Revolt por babili pri aferoj. + Bonvenon al Peptide + Uzu Peptide por babili pri aferoj. Retpoŝto Pasvorto Ok aŭ pli, komunoj estas malbonaj. Simboloj kaj nombroj estas rekomenditaj. @@ -41,7 +41,7 @@ Ŝarĝante iujn informojn, restu tie… Uzokondiĉoj Privateca Politiko - Revolt estas unu el la plej bonaj manieroj resti konektita kun viaj amikoj kaj komunumo, ie ajn, iam ajn. + Peptide estas unu el la plej bonaj manieroj resti konektita kun viaj amikoj kaj komunumo, ie ajn, iam ajn. Enigu vian retpoŝton kaj ni sendos al vi instrukciojn pri kiel reagordi vian pasvorton. Ĝi estas kiel loko por malstreĉiĝi, kunveni kaj paroli pri aferoj. Plej bona parto, ĝi estas en la interreto. Ni agordu vin. @@ -56,9 +56,9 @@ Enigu realiran kodon Enigu vian pasvorton Enigu vian pasvorton por daŭrigi. - Alportis al vi kun ❤️ de la Revolt teamo. - Revolt estas konstruita per la helpo de ĉi tiuj mirindaj malfermitkodaj projektoj. - Revolt en Android + Alportis al vi kun ❤️ de la Peptide teamo. + Peptide estas konstruita per la helpo de ĉi tiuj mirindaj malfermitkodaj projektoj. + Peptide en Android Versio Detaloj Atribuo de OSS @@ -165,7 +165,7 @@ Ne Disturbi Senkonekte Nevidebla - Vi povos uzi Revolt kiel ordinare, sed vi ne aperos konektite al aliaj personoj. + Vi povos uzi Peptide kiel ordinare, sed vi ne aperos konektite al aliaj personoj. Neniu retkonekto Premu por reprovi Rulumi ĝis malsupre @@ -224,7 +224,7 @@ Aldoni servilon Krei novan servilon Tiu funciado aktuale estas sub konstruo. - Malkovri Revolt + Malkovri Peptide Raporti Nuligi Selektita mesaĝo : @@ -234,7 +234,7 @@ \@ ŝaltita \@ malŝaltita Roboto - Revolt teamo membro + Peptide teamo membro Elirantaj Petoj Alvenintaj Petoj Forigi ĉiojn alvenintajn petojn diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 22f266a8..2c729bb5 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -7,7 +7,7 @@ Otras personas te encontrarán, reconocerán y te mencionarán con este nombre. No se pudo guardar el vídeo No se pudo guardar la imagen - Revolt es una de las mejores formas de mantenerse conectado con tus amigos y la comunidad, en cualquier lugar y en cualquier momento. + Peptide es una de las mejores formas de mantenerse conectado con tus amigos y la comunidad, en cualquier lugar y en cualquier momento. Vamos Correo electrónico Contraseña @@ -20,8 +20,8 @@ Reenviar un correo electrónico de verificación ¿Usas un administrador de contraseñas\? Introduce tu correo electrónico y te enviaremos instrucciones sobre cómo restablecer tu contraseña. - Te damos la bienvenida a Revolt - Usa Revolt para chatear sobre cosas. + Te damos la bienvenida a Peptide + Usa Peptide para chatear sobre cosas. Vamos a configurarlo. Tus datos están a salvo con nosotros. No los vendemos, y tampoco los usamos para mostrarte anuncios. Correo electrónico @@ -148,7 +148,7 @@ Enviar Denunciando… Denunciado - Gracias por ayudar a mantener Revolt seguro. Revisaremos tu denuncia lo antes posible. + Gracias por ayudar a mantener Peptide seguro. Revisaremos tu denuncia lo antes posible. Error Cerrar ¿Te gustaría bloquear a este usuario\? @@ -180,7 +180,7 @@ Apariencia Temas Sistema - Revolt + Peptide Claro Material You (sin soporte) Material You no es compatible con este dispositivo. @@ -238,7 +238,7 @@ Símbolos Banderas Plataforma de moderación - Miembro del equipo de Revolt + Miembro del equipo de Peptide Unirse a Jenvolt Jenvolt es el espacio de desarrollo dedicado a la app de Android y más. El soporte y los comentarios se hacen aquí. ¡Quizás tengas la oportunidad de probar nuevas características! 👀 Amigos @@ -249,7 +249,7 @@ Bot de moderación verificado No puedes enviar mensajes en este canal. No tienes permisos para enviar mensajes en este canal. - Este es un canal de confianza para noticias de moderación de Revolt. No puedes enviar mensajes aquí. + Este es un canal de confianza para noticias de moderación de Peptide. No puedes enviar mensajes aquí. Usuario eliminado Usuario añadido Usuario baneado @@ -278,15 +278,15 @@ de %1$s desde un servidor privado Añadir miembros - Revolt en Android - Revolt está hecho con la ayuda de esos maravillosos proyectos de código abierto. + Peptide en Android + Peptide está hecho con la ayuda de esos maravillosos proyectos de código abierto. La lista de abajo ha sido generada automáticamente. Puede estar incompleta o errónea. Última actualización: %1$s %1$s ha renombrado el canal a %2$s No recibirás notificaciones de mensajes, pero recibirás notificaciones de @menciones. No recibirás ninguna notificación, incluido mensajes y @menciones. - Podrás usar Revolt como siempre, pero no aparecerás como conectado para otras personas. - Presentado con ❤️ por el equipo de Revolt. + Podrás usar Peptide como siempre, pero no aparecerás como conectado para otras personas. + Presentado con ❤️ por el equipo de Peptide. Descubrir dejar dejar @@ -327,7 +327,7 @@ Moderacion de Plataforma Partidario Activo Adoptante Temprano - Descubre Revolt + Descubre Peptide Díganos qué hay de malo en este mensaje Dinos qué esta mal con este usuario Este canal está marcado como NSFW @@ -395,10 +395,10 @@ En el Fondo Superficie Error - Compartir a Revolt - Por favor, inicia sesión antes de compartir a Revolt. + Compartir a Peptide + Por favor, inicia sesión antes de compartir a Peptide. Intento de compartir no válido. - Este archivo es muy grande para Revolt (max. $1$s). + Este archivo es muy grande para Peptide (max. $1$s). Buscar canales Por favor, elige un canal para compartir. Adjuntar un archivo @@ -434,7 +434,7 @@ Que se ha estado cocinando ✨ Registro de Cambios para %1$s esa versión - Unete al servidor de Revolt para dar una opinion o sugerencia y reportar bugs. + Unete al servidor de Peptide para dar una opinion o sugerencia y reportar bugs. Nuevo Grupo Crear un nuevo grupo Crear @@ -476,7 +476,7 @@ Webhook Registro de cambios Proporcionar comentarios - Revolt nunca duerme, echa un vistazo para ver lo que está en proceso + Peptide nunca duerme, echa un vistazo para ver lo que está en proceso Cambia tu apariencia, administra tu cuenta y más Compartir perfil Por favor, inténtelo de nuevo más tarde. @@ -560,15 +560,15 @@ ¡Bienvenido al acceso anticipado! 🚀 Eres uno de los primeros en probar nuestra nueva aplicación para Android. ¡Estamos encantados de tenerte aquí! ¡Nos encanta recibir comentarios! - Si tienes algún comentario, sugerencia o informe de errores, háznoslo saber. Siempre buscamos mejorar Revolt. + Si tienes algún comentario, sugerencia o informe de errores, háznoslo saber. Siempre buscamos mejorar Peptide. Calificar en Google Play Unirse al servidor de Testers Terminado Hint - Algunas de las configuraciones de Revolt están dañadas. Esto puede deberse al uso de clientes de terceros. Las configuraciones afectadas son: + Algunas de las configuraciones de Peptide están dañadas. Esto puede deberse al uso de clientes de terceros. Las configuraciones afectadas son: Notificaciones Pedido de servidores - Revolt para Android + Peptide para Android %1$s (desconocido) Restablecer %1$s configuraciones Mensajería @@ -583,9 +583,9 @@ Es posible que hayas cerrado sesión en otro dispositivo o que tu conexión a Internet no funcione. Finalizar la sesión ¿Utiliza un teclado? - ¡Revolt tiene atajos de teclado! Pulsa %1$s para verlos. + ¡Peptide tiene atajos de teclado! Pulsa %1$s para verlos. De acuerdo - Dado que se trata de un acceso anticipado, es posible que las cosas aún no sean perfectas. Puede que te encuentres con algún error, fallo o peculiaridad. Tus comentarios nos ayudarán a limar asperezas y a mejorar Revolt. + Dado que se trata de un acceso anticipado, es posible que las cosas aún no sean perfectas. Puede que te encuentres con algún error, fallo o peculiaridad. Tus comentarios nos ayudarán a limar asperezas y a mejorar Peptide. Estamos encantados de tenerte a bordo. ¡Hagamos algo grande juntos! Entendido [fragmento de %1$s] diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index a6a73c2d..361c2163 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -466,7 +466,7 @@ از سایر نشست ها خارج شوید این دستگاه وارد خواهد ماند. تم - ریولت + ریولت روشن مشکی خالص Material You (پشتیبانی نشده) diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 5324574c..1a1747f5 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -13,8 +13,8 @@ Lähetä vahvistussähköposti uudelleen Käytätkö salasanojen hallintasovellusta\? Unohditko salasanasi\? - Tervetuloa Revoltiin - Käytä Revoltia muiden kanssa keskustelemiseen. + Tervetuloa Peptideiin + Käytä Peptideia muiden kanssa keskustelemiseen. Sähköposti Salasana Katso sähköpostisi! @@ -123,7 +123,7 @@ Haetaan tietoa, odota hetki… Tietosuojakäytäntö Löydä yhteisösi, liity maailman kanssa. - Revolt on yksi parhaimmista tavoista pysyä yhteydessä kavereidesi ja yhteisösi kanssa, missä vain, milloin vain. + Peptide on yksi parhaimmista tavoista pysyä yhteydessä kavereidesi ja yhteisösi kanssa, missä vain, milloin vain. Kirjaudutaan sinut sisään Laita sähköpostisi tähän, ja me laitamme sinulle ohjeen salasanan vaihtamiseen. Tietosi ovat turvassa meidän kanssa. Me emme myy niitä, ja me emme myöskään käytä niitä mainostukseen. @@ -180,7 +180,7 @@ Muu Mitä tahansa lisätietoa joka saattaa auttaa meitä tutkimisessa. Vapaaehtoinen. Lähetä - Kiitoksia että pidät Revoltin turvallisena. Me katsomme raporttisi läpi mahdollisimman pian. + Kiitoksia että pidät Peptidein turvallisena. Me katsomme raporttisi läpi mahdollisimman pian. Raporttisi lähettämisessä tapahtui virhe. Yritä myöhemmin uudelleen. Sinut on kutsuttu liittymään tälle palvelimelle. Haluaisitko liittyä\? Olet jo osana tätä palvelinta. @@ -211,7 +211,7 @@ Sekalaista Ulkoasu Teema - Revolt + Peptide Vaalea Material You -teema Material You -teemaa ei tueta tällä laitteella. @@ -221,14 +221,14 @@ Viimeksi päivitetty: %1$s Sinulla ei ole oikeuksia lähettää viestejä tähän kanavaan. Älä häiritse - Revolt Androidilla + Peptide Androidilla Versio Valitse emoji Eläimet & Luonto Aktiviteetit Symbolit Liput - Revolt tiimin jäsen + Peptide tiimin jäsen Ystävät Et voi lähettää viestejä tässä kanavassa. Paikalla diff --git a/app/src/main/res/values-fil/strings.xml b/app/src/main/res/values-fil/strings.xml index c087d65d..687cfd68 100644 --- a/app/src/main/res/values-fil/strings.xml +++ b/app/src/main/res/values-fil/strings.xml @@ -12,8 +12,8 @@ Magpadala ng email Ipadala muli ang verification email Gumamit ng password manager\? - Maligayang pagdating sa Revolt - Gamitin ang Revolt para mag-chat tungkol sa iba\'t ibang bagay. + Maligayang pagdating sa Peptide + Gamitin ang Peptide para mag-chat tungkol sa iba\'t ibang bagay. I-set up ka na natin. Password Suriin ang iyong mail! @@ -68,7 +68,7 @@ Ibahagi Kumukuha ng mga impormasyon, maghintay lamang… Hanapin ang iyong komunidad, kumonekta sa buong mundo. - Ang Revolt ay isa sa mga pinakamahusay na paraan upang manatiling konektado sa iyong mga kaibigan at komunidad, kahit saan, anumang oras. + Ang Peptide ay isa sa mga pinakamahusay na paraan upang manatiling konektado sa iyong mga kaibigan at komunidad, kahit saan, anumang oras. Mag-login Nakalimutan ang password\? Nakalimutan ang password\? @@ -106,7 +106,7 @@ I-log in na kita Email Mag-reply - Revolt + Peptide Mga Opsyon Description ng Channel Mga Opsyon @@ -205,7 +205,7 @@ Salamat sa paglalaan ng oras upang iulat ang user na ito. Hindi ibabahagi ang iyong ulat sa user o sa mga moderator ng server. Hindi naaangkop na nilalaman (tulad ng NSFW) Anumang karagdagang impormasyon na maaaring makatulong sa amin sa aming pagsisiyasat. Opsyonal. - Salamat sa pagtulong na panatilihing ligtas ang Revolt. Susuriin namin ang iyong ulat sa lalong madaling panahon. + Salamat sa pagtulong na panatilihing ligtas ang Peptide. Susuriin namin ang iyong ulat sa lalong madaling panahon. Inimbitahan kang sumali sa server na ito. Gusto mo bang sumali\? Walang tinukoy na code ng imbitasyon. Ipinagbawal ka sa server na ito. @@ -221,11 +221,11 @@ On Background Tinanggal ang user Nagpapasalamat kami sa mga nag-develop ng mga proyektong ito sa paggawa ng kanilang mga gawa available sa buong mundo. - Ang Revolt ay binuo sa tulong ng mga kahanga-hangang open-source na proyektong ito. + Ang Peptide ay binuo sa tulong ng mga kahanga-hangang open-source na proyektong ito. Umalis ang user Sumali ang user - Revolt sa Android - Ibinahagi sa iyo na may ❤️ ng koponan ng Revolt. + Peptide sa Android + Ibinahagi sa iyo na may ❤️ ng koponan ng Peptide. Bersyon Mga detalye Ang listahan sa ibaba ay awtomatikong nabuo. Maaaring ito ay hindi kumpleto o hindi tumpak. @@ -241,7 +241,7 @@ Mga Bagay Mga Symbol Mga Bandila - Miyembro ng koponan ng Revolt + Miyembro ng koponan ng Peptide Mga kaibigan Mga Papasok na Kahilingan Mga Papalabas na Kahilingan @@ -276,7 +276,7 @@ Hindi ka magkakaroon ng mga abiso, kasama ang mga mensahe at @mention. Offline Invisible - Magagamit mo pa rin ang Revolt gaya ng dati, pero hindi ka lalabas ng online sa ibang tao. + Magagamit mo pa rin ang Peptide gaya ng dati, pero hindi ka lalabas ng online sa ibang tao. Opisyal na Server Naka-verify na Server Hindi mo maaring tignan ang channel @@ -369,7 +369,7 @@ Deskubrehin Hindi hinihingi na pag-advertise o pag-spam Mga override sa kulay - Deskubrehin ang Revolt + Deskubrehin ang Peptide Sabihin sa amin kung ano ang problema sa user na ito Sabihin sa amin kung ano ang problema sa server na ito Sabihin sa amin kung ano ang problema sa mensahe na ito @@ -410,10 +410,10 @@ Kopyahin Isara Ibahagi ang link na ito para imbitahan ang mga tao sa channel na ito. - Ibahagi sa Revolt - Paki-log in bago magbahagi sa Revolt. + Ibahagi sa Peptide + Paki-log in bago magbahagi sa Peptide. Hindi ito isang wastong share intent. - Masyadong malaki ang attachment na ito para sa Revolt (max. $1$s). + Masyadong malaki ang attachment na ito para sa Peptide (max. $1$s). Maghanap ng mga channel pumili ng channel na pagbabahagian. Minarkahang NSFW ang channel na ito @@ -456,7 +456,7 @@ Ito ay isang bot. Ito ay isang bot. Meron siyang plano. Gumawa - Sumali sa server ng Revolt upang makapagbigay ng puna at mag-ulat ng mga bug. + Sumali sa server ng Peptide upang makapagbigay ng puna at mag-ulat ng mga bug. Hinay-hinay lang! Madalas mong ginagawa yan sa maikling panahon. Isara Pagsama-samahin ang iyong kasama sa isang panggrupong chat. Pwede kang mag dagdag ng hanggang %1$d tao. @@ -535,22 +535,22 @@ Kami ay nasasabik na nakasakay ka. Magkasama tayong gumawa ng isang magandang bagay! Nakuha ko Gustung-gusto namin ang feedback! - Kung ikaw ay mayroong anumang puna, mungkahi, o ulat ng bug, mangyaring ipaalam sa amin. Palagi kaming naghahanap upang mapabuti ang Revolt. + Kung ikaw ay mayroong anumang puna, mungkahi, o ulat ng bug, mangyaring ipaalam sa amin. Palagi kaming naghahanap upang mapabuti ang Peptide. I-rate sa Google Play Sumali sa Testers Server Tapos na Pahiwatig - Mukhang sira ang ilan sa iyong mga setting ng Revolt. Maari itong sanhi ng paggamit ng mga third-party na client. Ang mga nakaapektong setting ay: + Mukhang sira ang ilan sa iyong mga setting ng Peptide. Maari itong sanhi ng paggamit ng mga third-party na client. Ang mga nakaapektong setting ay: Mga Abiso Pagaayos ng Server - Revolt para sa Android + Peptide para sa Android %1$s (hindi alam) I-reset ang %1$s mga setting Bagong Linya Itago ang password Ipakita ang password Nagkaroon ng error habang binabahagi ang iyong user card. - Dahil ito ay maagang pag-access, hindi perpekto ang ilang mga bagay sa ngayon. Maaari kang makaranas ng paminsan-minsang bug, pag-crash, o kakaibang quirk. Ang iyong feedback ay tumutulong sa amin na pakinisin ang mga magaspang na gilid at gawing mas mahusay ang Revolt. + Dahil ito ay maagang pag-access, hindi perpekto ang ilang mga bagay sa ngayon. Maaari kang makaranas ng paminsan-minsang bug, pag-crash, o kakaibang quirk. Ang iyong feedback ay tumutulong sa amin na pakinisin ang mga magaspang na gilid at gawing mas mahusay ang Peptide. Maligayang Pagdating sa Maagang Pag-access! 🚀 Isa ka sa mga unang sumubok ng aming bagong Android app. Nasasabik kaming makasama ka rito! Nagkaroon ng problema habang naglo-log in @@ -566,13 +566,13 @@ Ibahagi ang Profile Tignan ang iyong user card at magkaroon ng espesyal na link na ibabahagi Log ng mga binago - Hindi natutulog ang Revolt, tingnan kung ano mga ginagawa + Hindi natutulog ang Peptide, tingnan kung ano mga ginagawa Magbigay ng Puna May gustong sabihin? Kami ay nakikinig I-tap para kopyahin %1$d.Username %1$d.Pangalan - %1$d.Nasa Revolt Noong + %1$d.Nasa Peptide Noong %1$d.QR Code %1$d.Larawan [%1$s na snippet] @@ -583,7 +583,7 @@ Status %1$d° Gumagamit ng keyboard? - May mga keyboard shortcut ang Revolt! Pindutin ang %1$s para makita sila. + May mga keyboard shortcut ang Peptide! Pindutin ang %1$s para makita sila. Buksan ang mga shortcut Sige Wika diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 329d0a91..75a54097 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -32,7 +32,7 @@ Toutes informations supplémentaires susceptibles de nous aider dans notre enquête. Optionnel. Signalement… Signalé avec succès - Merci de nous aider à maintenir Revolt en sécurité. Nous examinerons votre rapport dès que possible. + Merci de nous aider à maintenir Peptide en sécurité. Nous examinerons votre rapport dès que possible. %1$s Partager l\'audio Messages directs @@ -124,8 +124,8 @@ Système Noir pur Material You n\'est pas pris en charge sur cet appareil. - Revolt - Utilisez Revolt pour discuter de tout et de rien. + Peptide + Utilisez Peptide pour discuter de tout et de rien. Ouvrir l\'application de messagerie Vous avez activé la fonction 2FA pour que votre compte soit encore plus sûr. Utiliser un mot de passe à usage unique @@ -203,13 +203,13 @@ Vous êtes banni de ce serveur. Une erreur inconnue s\'est produite. Mot de passe oublié \? - Bienvenue sur Revolt + Bienvenue sur Peptide S\'inscrire Connectez-vous E-mail Saisissez votre adresse e-mail et nous vous enverrons des instructions sur la manière de réinitialiser votre mot de passe. Se connecter - Revolt est l\'un des meilleurs moyens de rester en contact avec vos amis et votre communauté, partout et à tout moment. + Peptide est l\'un des meilleurs moyens de rester en contact avec vos amis et votre communauté, partout et à tout moment. Renvoyer Envoyer un e-mail Renvoyer un e-mail de vérification @@ -219,9 +219,9 @@ Vous avez oublié votre mot de passe \? cette version Contour - Revolt est construit avec l\'aide de ces formidables projets open source. - Revolt sur Android - "Présenté avec ❤️ par l\'équipe Revolt." + Peptide est construit avec l\'aide de ces formidables projets open source. + Peptide sur Android + "Présenté avec ❤️ par l\'équipe Peptide." Version Détails Dernière mise à jour : %1$s @@ -231,7 +231,7 @@ Activités Objets Symboles - Membre de l’équipe Revolt + Membre de l’équipe Peptide Bloqués Erreur Surface @@ -305,7 +305,7 @@ Vous ne recevrez aucune notification, y compris pour les messages et les @mentions. Hors ligne Invisible - Vous pourrez utiliser Revolt comme d\'habitude, mais vous n\'apparaîtrez pas en ligne pour les autres utilisateurs. + Vous pourrez utiliser Peptide comme d\'habitude, mais vous n\'apparaîtrez pas en ligne pour les autres utilisateurs. Serveur officiel Serveur vérifié Vous ne pouvez pas voir ce salon @@ -362,7 +362,7 @@ Copie Fermer Fondateur - Rejoins le Serveur Revolt pour nous donnez votre avis et signaler des bugs. + Rejoins le Serveur Peptide pour nous donnez votre avis et signaler des bugs. Supprimer le message \? Garder Violence extrême, sang ou violences animales @@ -390,12 +390,12 @@ Teinture de la Surface Surface Inversée Inversé sur la Surface - Découvrir Revolt - Cette pièce-jointe est trop large pour Revolt (max. $1$s). + Découvrir Peptide + Cette pièce-jointe est trop large pour Peptide (max. $1$s). Rechercher des salons M de sélectionner un salon où partager. - Partager sur Revolt - Merci de vous connecter avant de partager sur Revolt. + Partager sur Peptide + Merci de vous connecter avant de partager sur Peptide. Ce salon contient du Contenu Explicite Vous devez avoir 18 ans ou plus pour voir ce salon. Date de naissance @@ -546,7 +546,7 @@ Vous avez quelque chose à dire \? Nous sommes tous ouïes Jetez un œil à votre carte d\'utilisateur et obtenez un lien spécial à partager Journal des modifications - Revolt ne dort jamais, jetez un oeil pour voir ce qui se prépare + Peptide ne dort jamais, jetez un oeil pour voir ce qui se prépare Masquer le mot de passe Montrer le mot de passe Langage @@ -555,7 +555,7 @@ Une erreur s\'est produite lors du partage de votre carte utilisateur. %1$d.Nom %1$d.Nom d\'utilisateur - %1$d.Sur Revolt depuis + %1$d.Sur Peptide depuis %1$d.QR Code Vous avez trouvé un Webhook ! En aprendre plus @@ -573,7 +573,7 @@ Se déconnecter [%1$s extrait] Vous utilisez un clavier ? - Revolt a des raccourcis clavier ! Appuyez sur %1$s pour les voir. + Peptide a des raccourcis clavier ! Appuyez sur %1$s pour les voir. Ouvrir les raccourcis D\'accord Nouvelle Ligne diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 1be71244..9c2e9721 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -17,23 +17,23 @@ Esqueciches o teu contrasinal? Reenviar un correo electrónico de verificación Usas un xestor de contrasinais\? - Dámoste a benvida a Revolt + Dámoste a benvida a Peptide É como un lugar para pasar o rato, reunirse e falar. O mellor de todo é que está en internet. Seguinte → Política de Privacidade Busca a túa comunidade, conecta co mundo. - Revolt é unha das mellores formas de estar conectado cos teus amigos e comunidade, en calquera lugar e en calquera momento. + Peptide é unha das mellores formas de estar conectado cos teus amigos e comunidade, en calquera lugar e en calquera momento. Imos iniciar sesión Esqueciches o teu contrasinal\? Introduce o teu correo electrónico e enviarémosche instrucións para restablecer o teu contrasinal. - Usa Revolt para manter conversacións. + Usa Peptide para manter conversacións. Imos configurar todo. Enviarémosche un correo de verificación para confirmar a túa conta. Código Contrasinal Verifica o teu correo electrónico, despois elixiremos o nome de usuario. Pechouse a sesión. Inicia sesión de novo. - Traído con ❤️ polo equipo de Revolt. + Traído con ❤️ polo equipo de Peptide. Usa un contrasinal de un só uso Escribe un dos teus códigos de recuperación. Escribe o teu contrasinal @@ -62,12 +62,12 @@ Código Escribe un código de recuperación Escribe o teu contrasinal para continuar. - Revolt en Android + Peptide en Android Sobre nós Versión Detalles Atribución de código aberto - Revolt está feito coa axuda destes marabillosos proxectos de código aberto. + Peptide está feito coa axuda destes marabillosos proxectos de código aberto. A lista de embaixo xerouse automaticamente. Pode estar incompleta ou ter erros. Última actualización: %1$s Toca para ver a licenza diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index f093a6de..bb1128da 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -35,7 +35,7 @@ Podijeli sliku Tema Sistem - Revolt + Peptide Povratne informacije Vrijeme je da izabereš korisničko ime! Oprosti, ova značajka nije još spremna. @@ -87,7 +87,7 @@ Drugo Dodatne informacije Sve dodatne informacije koje bi mogle pomoći našoj istrazi. Neobavezno. - Hvala za pomoći da držimo Revolt sigurnim. Pogledati ćemo vašu prijavu u najbržem mogućem roku. + Hvala za pomoći da držimo Peptide sigurnim. Pogledati ćemo vašu prijavu u najbržem mogućem roku. Greška Zatvori Blokiraj @@ -130,7 +130,7 @@ Uvjeti pružanja usluge Polica privatnosti Pronađi svoju zajednicu, spoji se sa svijetom. - Revolt je jedan od najboljih načina da ostaneš u kontaktu sa svojim prijateljima i svojom zajednicom, bilo gdje, bilo kad. + Peptide je jedan od najboljih načina da ostaneš u kontaktu sa svojim prijateljima i svojom zajednicom, bilo gdje, bilo kad. E-pošta Lozinka Prijava @@ -146,8 +146,8 @@ Ponovo pošalji verifikacijsku e-poštu Zaboravili ste lozinku\? Unesite svoju e-poštu i poslati ćemo vam upute kako resetirati svoju lozinku. - Dobrodošli na Revolt - Koristite Revolt da razgovarate o stvarima. + Dobrodošli na Peptide + Koristite Peptide da razgovarate o stvarima. Vaši podatci su sigurni sa nama. Ne prodajemo ih, niti ih koristimo da bi vam prikazali oglase. E-pošta Poslati će mo vam verifikacijsku e-poštu da bi potvrdili vaš račun. diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 93dd663a..a9e2e483 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -8,7 +8,7 @@ Szolgáltatási feltételek Adatvédelmi szabályzat Közösségi aranyszabályok - A Revolt az egyik legjobb módja annak, hogy bárhol, bármikor tudd tartani a közösségeddel, ismerőseiddel a kapcsolatot. + A Peptide az egyik legjobb módja annak, hogy bárhol, bármikor tudd tartani a közösségeddel, ismerőseiddel a kapcsolatot. E-mail Jelszó Bejelentkezés @@ -18,8 +18,8 @@ Visszaigazoló e-mail újraküldése Használsz jelszókezelőt\? Nem emlékszel a jelszavadra\? - Üdvözöl a Revolt - A dolgaid megbeszéléséhez gyere a Revoltra. + Üdvözöl a Peptide + A dolgaid megbeszéléséhez gyere a Peptidera. Állítsuk be a dolgaidat! Regisztrálás Az adataidat biztonságban tudhatod nálunk. Nem adjuk el és nem használjuk fel, hogy reklámokat mutogassunk neked. @@ -43,9 +43,9 @@ Kód Add meg az egyik helyreállító kódod Kód - A Revolt-jelszavad helye - A folytatáshoz add meg a Revolt-jelszavad - A Revoltról + A Peptide-jelszavad helye + A folytatáshoz add meg a Peptide-jelszavad + A Peptideról Sajnáljuk, de ez a lehetőség még nem áll készen a használatra. %1$s éppen gépel… %1$s éppen gépelnek… @@ -177,7 +177,7 @@ Különféleségek Színséma Rendszer - Revolt + Peptide Világos Tisztán fekete Visszajelzés @@ -187,7 +187,7 @@ Találj rá a közösségedre, lépj kapcsolatba a világgal! Nem emlékszel a jelszavadra\? Miután megadtad az e-mail-címed, levelet küldünk a jelszó megváltoztatásának mikéntjéről. - A Revolt olyan hely, ahol össze tudtok jönni, meg tudjátok beszélni a dolgaitokat. A legjobb ebben az, hogy mindezt az Interneten lógva tudjátok csinálni. + A Peptide olyan hely, ahol össze tudtok jönni, meg tudjátok beszélni a dolgaitokat. A legjobb ebben az, hogy mindezt az Interneten lógva tudjátok csinálni. Ha meggondolnád magad, később a felhasználónevedet a beállításokban bármikor megváltoztathatod. A Material You-t nem támogatja a készüléked. Álljon nyolcból, vagy többől. A gyakoriak nem jók. Ajánlott szimbólumokat és számokat használni. @@ -212,7 +212,7 @@ Spam vagy egyéb visszaélés a platformmal Nem helyénvaló tartalom (például NSFW) Kiegészítő információ - Köszönjük, amiért segíted megőrizni a Revolt biztonságát. Amint lehetséges, felülvizsgáljuk jelentésed. + Köszönjük, amiért segíted megőrizni a Peptide biztonságát. Amint lehetséges, felülvizsgáljuk jelentésed. Meghívtak erre a szerverre. Csatlakozol\? Nem ismert hiba történt Hang megosztása @@ -224,13 +224,13 @@ Visszavonom a jelölést Egyéni háttér Aktív elsődleges - A Revoltot ezeknek a remek, nyílt foráskódú projekteknek köszönhetően készítettük el. + A Peptideot ezeknek a remek, nyílt foráskódú projekteknek köszönhetően készítettük el. Hálásak vagyunk a fejlesztőiknek, hogy elérhetővé tették munkájukat a világ számára. Az alábbi listát automatikusan hozták létre, ezért hiányos vagy pontatlan lehet. Legutóbb frissítve: %1$s Koppints a licenchez - Androidos Revolt - ❤️-tel készítette el Neked a Revolt csapata. + Androidos Peptide + ❤️-tel készítette el Neked a Peptide csapata. Verzió Részletek Válassz emodzsit @@ -242,7 +242,7 @@ Jelképek Zászlók Platformmoderáció - Revolt-csapattag + Peptide-csapattag Csatlakozz a Jenvolthoz Ismerősök Ismerősnek jelölt meg @@ -373,7 +373,7 @@ A Jenvolt a fejlesztők által vitt, androidos appal és minden mással kapcsolatos hely. Itt kérhetsz segítséget és jelezhetsz vissza nekünk. Lehet, új feature-öket is kipróbálhatsz majd! 👀 Ez egy bizalmas csatorna, ahonnan a moderáló csapatunk küld értesítéseket. Ide nem tudsz üzenetet írni. Nem kapsz értesítéseket az üzenetekről, viszont az @említésekről szólóakat megkapod. - Szokás szerint használhatod a Revoltot, viszont a többiek offlineként fognak Téged látni. + Szokás szerint használhatod a Peptideot, viszont a többiek offlineként fognak Téged látni. Végleg elhagyod ezt a helyet\? „%1$s” Vagy már törölték a tagot, vagy pedig nincs engedélyed őt megtekinteni. Közepesen sötét bőrszín @@ -382,7 +382,7 @@ A felület fordítottja Hibás ez a színsémát felülíró fájl. Fedezd fel - Fedezd fel a Revoltot + Fedezd fel a Peptideot Oszd meg velünk, mi baj van ezzel a szerverrel Oszd meg velünk, mi baj van ezzel az üzenettel Oszd meg velünk, mi baj van ezzel a taggal @@ -412,11 +412,11 @@ Bezár #%1$s meghívója Csatonák keresése - Jelentkezz be, mielőtt megosztanád a Revolton! + Jelentkezz be, mielőtt megosztanád a Peptideon! Válaszd ki, hova szeretnéd megosztani! - Megosztás a Revolton + Megosztás a Peptideon Nem oszthatsz meg érvénytelen „intentet” - A Revolttal legfeljebb $1$s méretű csatolmányt tudsz megosztani + A Peptidetal legfeljebb $1$s méretű csatolmányt tudsz megosztani Ez a csatorna NSFW-ként van jelölve 18 évnél idősebbnek kell lenned a csatorna megtekintéséhez. Születési időd @@ -434,7 +434,7 @@ Örökre el fog veszni (ami sok idő)! Törlés Mégsem törlöm - Csatlakozz a Revolt szerveréhez – itt jelezhetsz vissza nekünk és tudsz minket elérni, jelentheted a hibákat. + Csatlakozz a Peptide szerveréhez – itt jelezhetsz vissza nekünk és tudsz minket elérni, jelentheted a hibákat. Új csoport Szedd össze a csapatodat csoportos chatbe. Legfeljebb %1$d személyt adhatsz hozzá. Ez egy Robi 🤖 diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 387b02fa..658667b5 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -5,7 +5,7 @@ Kami akan mengirimkan email verifikasi untuk mengonfirmasi akunmu. ← Kembali Ketentuan Layanan - Revolt adalah salah satu cara terbaik untuk tetap terhubung dengan teman dan komunitas, di mana saja dan kapan saja. + Peptide adalah salah satu cara terbaik untuk tetap terhubung dengan teman dan komunitas, di mana saja dan kapan saja. Masukkan email-mu dan kami akan mengirimkan instruksi mengatur ulang sandimu. Seperti tempat nongkrong, berkumpul dan mengobrol. Hal kerennya, tempatnya di internet. Verifikasi email-mu, kemudian kita bisa pilih nama penggunamu. @@ -17,10 +17,10 @@ Daftar Kirim Ulang Lupa sandimu\? - Selamat datang di Revolt + Selamat datang di Peptide Memuat sejumlah informasi, tunggu sebentar… OK - Gunakan Revolt untuk mengobrol. + Gunakan Peptide untuk mengobrol. Sandi Kebijakan Privasi Data kamu aman di kami. Kami tidak menjualnya atau menggunakannya untuk menampilkan iklan. @@ -137,7 +137,7 @@ Informasi tambahan Kirim Melaporkan… - Terima kasih telah menjaga Revolt tetap aman. Kami akan meninjau laporanmu segera. + Terima kasih telah menjaga Peptide tetap aman. Kami akan meninjau laporanmu segera. Kesalahan Terjadi kesalahan ketika mengirimkan laporanmu. Silakan coba lagi nanti. Apa kamu ingin memblokir pengguna ini\? @@ -180,7 +180,7 @@ Tampilan Tema Sistem - Revolt + Peptide Cerah Material You Material You (tidak didukung) @@ -210,8 +210,8 @@ Terakhir diperbarui: %1$s Ketuk untuk melihat lisensi Mari kita siapkan. - Revolt untuk Android - Dipersembahkan dengan ❤️ oleh tim Revolt. + Peptide untuk Android + Dipersembahkan dengan ❤️ oleh tim Peptide. Versi Pilih emoji Hewan & Alam @@ -220,7 +220,7 @@ Objek Simbol Bendera - Anggota tim Revolt + Anggota tim Peptide Gabung ke Jenvolt Teman Diblokir @@ -281,7 +281,7 @@ Rincian Emosi Kamu harus berusia setidaknya 18 tahun untuk melihat saluran ini. - Revolt dibuat dengan bantuan dari proyek sumber terbuka yang luar biasa ini. + Peptide dibuat dengan bantuan dari proyek sumber terbuka yang luar biasa ini. Kami berterima kasih kepada pengembang proyek ini atas pekerjaannya. Daftar di bawah dihasilkan secara otomatis. Mungkin tidak lengkap atau akurat. Semua @@ -307,7 +307,7 @@ Tambah anggota Kamu tidak akan menerima notifikasi, termasuk pesan dan @sebutan. Kamu tidak akan menerima notifikasi pesan, namun kamu akan menerima notifikasi @sebutan. - Kamu bisa menggunakan Revolt seperti biasa, namun kamu tidak akan terlihat daring oleh orang lain. + Kamu bisa menggunakan Peptide seperti biasa, namun kamu tidak akan terlihat daring oleh orang lain. Luring Emoji bawaan yang bisa digunakan di mana saja Grup Baru diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 4906a0cf..c4f868cf 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -13,15 +13,15 @@ Codice Codice Inserisci la tua password per continuare. - Revolt su Android + Peptide su Android Versione - Revolt è stato sviluppato con l\'aiuto di questi fantastici progetti open-source. + Peptide è stato sviluppato con l\'aiuto di questi fantastici progetti open-source. Ci dispiace, ma questa funzione non è ancora pronta. Diverse persone stanno scrivendo Rimuovi risposta Persone e Corpo Oggetti - Membro del team Revolt + Membro del team Peptide Richieste in uscita Aggiungi server Non puoi essere nato nel futuro, da quando esistono le macchine del tempo\? @@ -158,8 +158,8 @@ Hai dimenticato la password\? Reinvia una email di verifica Stai usando un gestore per le password\? - Benvenuto/a su Revolt - Usa Revolt per chattare. + Benvenuto/a su Peptide + Usa Peptide per chattare. È tipo un posto dove incontrarsi, stare assieme e parlare di qualcosa, ma su internet. Facciamoti sistemare. I tuoi dati sono al sicuro qui. Non li venderemo e nemmeno noi li useremo per mostrarti pubblicità. @@ -182,7 +182,7 @@ Inserisci uno dei tuoi codici di recupero. Inserisci la tua password A riguardo - Portato fino a te con ❤️ dal team di Revolt. + Portato fino a te con ❤️ dal team di Peptide. Dettagli Attribuzioni Open Source Siamo grati agli sviluppatori di questi progetti per aver reso il loro lavoro disponibile al mondo. @@ -191,7 +191,7 @@ Inserisci la tua email e ti invieremo le istruzioni su come resettare la tua password. ← Indietro Trova la tua community, connettiti con il mondo. - Revolt è uno dei migliori modi per restare connesso con i tuoi amici e community, sempre ed ovunque. + Peptide è uno dei migliori modi per restare connesso con i tuoi amici e community, sempre ed ovunque. Registrati Facciamo l\'accesso Email @@ -274,7 +274,7 @@ Non Disturbare Non riceverai nessun messaggio, manco le @menzioni. Invisibile - Potrai usare Revolt come al solito, ma non apparirai online alle altre persone. + Potrai usare Peptide come al solito, ma non apparirai online alle altre persone. Non sei connesso/a ad internet. Per favore, controlla la tua connessione e riprova. Copia Server Verificato @@ -304,7 +304,7 @@ Inserisci un link tipo \"rvlt.gg/Testers\" o un codice invito come \"Testers\" Partecipa Crea un nuovo server - Scopri Revolt + Scopri Peptide Annulla Grazie per aver dedicato tempo per segnalare questo messaggio. La tua segnalazione non verrà condivisa con l\'utente che ha inviato il messaggio e non verrà ricevuta nemmeno dai moderatori del server. Nota: Questo messaggio può essere stato inviato da un\'altra piattaforma. È raccomandata la segnalazione anche sulla piattaforma sulla quale è stato inviato. @@ -332,7 +332,7 @@ Qualsiasi informazione aggiuntiva che possa aiutarci nella nostra indagine (opzionale). Invia Segnalato! - Grazie per aiutarci a tenere Revolt un posto sicuro. Guarderemo la tua segnalazione il prima possibile. + Grazie per aiutarci a tenere Peptide un posto sicuro. Guarderemo la tua segnalazione il prima possibile. Ci dispiace, ma c\'è stato un errore durante la segnalazione. Per favore, riprova. Vorresti anche bloccare questo utente\? No, non bloccarlo @@ -382,7 +382,7 @@ Esci Aspetto Tema - Revolt + Peptide No, non uscire Sistema Chiaro @@ -428,13 +428,13 @@ Cerca canali Lista dei cambiamenti Cosa sta bollendo in pentola ✨ - Questo allegato è troppo grande per Revolt (massimo $1$s). + Questo allegato è troppo grande per Peptide (massimo $1$s). Lista dei cambiamenti per %1$s quella versione - Condividi su Revolt - Per favore effettua l\'accesso prima di condividere su Revolt. + Condividi su Peptide + Per favore effettua l\'accesso prima di condividere su Peptide. Questa non è una funzione valida per la condivisione. - Entra nel server di Revolt per dare dei feedback, dei suggerimenti o dei bug report. + Entra nel server di Peptide per dare dei feedback, dei suggerimenti o dei bug report. Crea un nuovo gruppo Raduna il tuo gruppo in una sola chat. Puoi aggiungere fino a %1$d persone. Questo è un bot. @@ -496,7 +496,7 @@ Condividi Profilo Dai un\'occhiata al tuo profilo e ricevi un link speciale per condividerlo Registro modifiche - Revolt non dorme mai, dai un\'occhiata per vedere i cambiamenti + Peptide non dorme mai, dai un\'occhiata per vedere i cambiamenti Dacci un Feedback Hai da dire qualcosa\? Siamo tutto orecchie! Annulla modifiche @@ -538,7 +538,7 @@ Usa %1$d.Nome %1$d.Nome Utente - %1$d. Su Revolt Da + %1$d. Su Peptide Da %1$d.QR Code %1$d.Foto Testo Normale diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 90864ad0..7099d58f 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -19,8 +19,8 @@ ログインしましょう パスワードをお忘れですか? パスワードマネージャーを使用していますか? - Revoltへようこそ - Revoltを使って物事について話す。 + Peptideへようこそ + Peptideを使って物事について話す。 設定しましょう。 私たちはあなたの情報を守ります。あなたの情報を販売したり、広告を表示するために使用することはありません。 パスワード @@ -193,7 +193,7 @@ プラットフォームを使うための対象年齢未満のユーザー 調査に役立つ追加情報。オプション。 エラー - Revoltを安全に保つために手助けしていただきありがとうございます。できるだけ早くあなたのレポートを見直します。 + Peptideを安全に保つために手助けしていただきありがとうございます。できるだけ早くあなたのレポートを見直します。 このユーザーをブロックしますか? ブロック あなたはこのサーバーに招待されました。参加しますか? @@ -208,13 +208,13 @@ 画像の保存に失敗しました URLを共有 外観 - Revolt + Peptide ライト ピュアブラック マテリアル ユー (未対応) マテリアル ユーはこのデバイスでサポートされていません。 レポートの送信中にエラーが発生しました。後でやり直してください。 - Revoltは、いつでもどこでも、友人やコミュニティとのつながりを維持するための最良の方法の1つです。 + Peptideは、いつでもどこでも、友人やコミュニティとのつながりを維持するための最良の方法の1つです。 たむろしたり、集まったり、話したりするための場所のようなものです。インターネット上にあることが素晴らしいです。 %1$sにさらなる指示を送りました。 パスワードを非表示 @@ -228,11 +228,11 @@ もう一度お試し下さい ログアウト バージョン - Revoltチームが❤️を込めてお届けします。 - Revoltは、これらの素晴らしいオープンソースプロジェクトの助けを借りて構築されています。 + Peptideチームが❤️を込めてお届けします。 + Peptideは、これらの素晴らしいオープンソースプロジェクトの助けを借りて構築されています。 シンボル JenvoltはAndroidアプリなどあらゆるものを扱う開発者が運営するスペースです。サポートやフィードバックはこちらです。新しい機能を試すことができるかもしれません! 👀 - Android版 Revolt + Android版 Peptide 詳細 以下のリストは自動生成されたものです。不完全または不正確な可能性があります。 最後のアップデート:%1$s @@ -249,7 +249,7 @@ オブジェクト プラットフォームのモデレーション - Revoltチームのメンバー + Peptideチームのメンバー ウェブフック Jenvoltに参加する 概要を読み込めませんでした diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 6aee22c1..5b52ab0b 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -10,7 +10,7 @@ Registruotis Siųsti el. laišką Pamiršote slaptažodį\? - Sveiki atvykę į Revolt + Sveiki atvykę į Peptide El. paštas Sveiki! Pirmyn → @@ -27,8 +27,8 @@ Norėdami pradėti, pasirinkite serverį iš kairės. Jei jaučiatės drąsiai, galite sukurti naują serverį. Iškilo problema jus prisijungiant Keliaukime - Revolt yra vienas geriausių būdų palaikyti ryšį su draugais ir bendruomene bet kur ir bet kada. - Revolt sukurta naudojant šiuos nuostabius atvirojo kodo projektus. + Peptide yra vienas geriausių būdų palaikyti ryšį su draugais ir bendruomene bet kur ir bet kada. + Peptide sukurta naudojant šiuos nuostabius atvirojo kodo projektus. Įvesti šešiaženklį kodą Įveskite slaptažodį Iš susieto kanalo @@ -37,7 +37,7 @@ Vienu metu galite atsakyti tik į %1$d pranešimus. Raskite savo bendruomenę, susisiekite su pasauliu. Jenvolt yra kūrėjų valdoma erdvė, skirta visiems Android programėlių ir daugiau. Parama ir atsiliepimai pateikiami čia. Galbūt galėsite išbandyti naujas funkcijas! 👀 - Revolt komandos narys + Peptide komandos narys Turite ką pasakyti? Jus išklausysime Išvalyti visus gaunamus prašymus Šiek tiek nepatogu. @@ -57,7 +57,7 @@ Pakartotinai išsiųsti patvirtinimo el. laišką Naudojate slaptažodžių tvarkyklę? Įveskite savo el. pašto adresą ir mes jums atsiųsime instrukcijas, kaip iš naujo nustatyti slaptažodį. - Naudokite „Revolt“ pokalbiams apie dalykus. + Naudokite „Peptide“ pokalbiams apie dalykus. Tai tarsi vieta, kur galima pabūti kartu, susitikti ir pasikalbėti apie įvairius dalykus. Geriausia, kad tai vyksta internete. Nustatykime jus. Jūsų duomenys pas mus yra saugūs. Mes jų neparduodame ir nenaudojame, kad rodytume jums reklamas. @@ -81,8 +81,8 @@ Kodas Norėdami tęsti, įveskite slaptažodį. Apie - Revolt ant Android - Su ❤️ pristato „Revolt“ komanda. + Peptide ant Android + Su ❤️ pristato „Peptide“ komanda. Versija Išsami informacija OSS priskyrimas @@ -122,13 +122,13 @@ Dalytis profiliu Pažvelkite į savo naudotojo kortelę ir gaukite specialią nuorodą, kuria galėsite dalytis Pakeitimų sąrašas - Revolt niekada nemiega, pažiūrėkite, kas buvo kuriama + Peptide niekada nemiega, pažiūrėkite, kas buvo kuriama Pateikite atsiliepimus Bakstelėkite , kad nukopijuotumėte Dalijantis naudotojo kortele įvyko klaida. %1$d.Vardas %1$d.Vartotojo vardas - %1$d.Ant Revolt nuo + %1$d.Ant Peptide nuo %1$d.QR kodas %1$d.Nuotrauka Draugai @@ -181,7 +181,7 @@ Šlamštas ar panašus piktnaudžiavimas platforma Nepavyksta surasti šio naudotojo Dėkojame, kad skyrėte laiko pranešti apie šį serverį. Jūsų pranešimas nebus perduotas serverio moderatoriams. - Dėkojame, kad padedate užtikrinti Revolt saugumą. Mes kuo greičiau peržiūrėsime jūsų pranešimą. + Dėkojame, kad padedate užtikrinti Peptide saugumą. Mes kuo greičiau peržiūrėsime jūsų pranešimą. Atidaryti nario nustatymus Dėkojame, kad skyrėte laiko pranešti apie šia žinutę. Jūsų pranešimas nebus perduotas nei žinutę siuntusiam naudotojui, nei serverio moderatoriams. Webhooks yra automatinės transliacijos iš kitų paslaugų internete. Jos negali atsakyti į pokalbį, bet vis tiek galite matyti, ką jos nori pasakyti. @@ -259,7 +259,7 @@ Negausite jokių pranešimų, įskaitant žinutes ir @ paminėjimus. Atsijungę Nematomi - Galėsite naudotis Revolt kaip įprastai, tačiau kitiems žmonėms atrodysite neprisijungę. + Galėsite naudotis Peptide kaip įprastai, tačiau kitiems žmonėms atrodysite neprisijungę. Nėra ryšio Bakstelėkite, kad bandytumėte dar kartą Nustatymai @@ -351,7 +351,7 @@ Sukurti naują serverį Sukurti naują serverį Ši funkcija šiuo metu kuriama. - Atraskite Revolt + Atraskite Peptide Pranešti Atšaukti Pasakykite, kas šiame pranešime yra negerai @@ -474,7 +474,7 @@ Įjungti pranešimus Ne dabar Naudojate klaviatūrą? - Revolt turi sparčiuosius klavišus! Paspauskite %1$s, kad juos pamatytumėte. + Peptide turi sparčiuosius klavišus! Paspauskite %1$s, kad juos pamatytumėte. Atidaryti sparčiuosius klavišus Gerai Peržiūrėti @@ -494,7 +494,7 @@ Išvaizda Tema Sistema - Revolt + Peptide Šviesi Grynai juoda Material You @@ -521,7 +521,7 @@ YouTube Apple Music Atsiliepimai - Prisijunkite prie Revolt serverio ir pateikite atsiliepimų ar pasiūlymų bei praneškite apie klaidas. + Prisijunkite prie Peptide serverio ir pateikite atsiliepimų ar pasiūlymų bei praneškite apie klaidas. Keitimų sąrašai Kas buvo ruošiama ✨ %1$s pakeitimų sąrašas @@ -568,10 +568,10 @@ Visi šio kanalo pranešimai ir nustatymai dings visiems laikams (ilgam!) Ištrinti Laikyti - Dalytis į Revolt - Prieš dalydamiesi su Revolt, prisijunkite. + Dalytis į Peptide + Prieš dalydamiesi su Peptide, prisijunkite. Tai nėra galiojantis dalinimo ketinimas. - Šis priedas yra per didelis Revolt (ne daugiau kaip $1$s). + Šis priedas yra per didelis Peptide (ne daugiau kaip $1$s). Ieškoti kanalų m pasirinkite kanalą, į kurį norite bendrinti. Pokalbiai diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml index f493246f..a5ba7530 100644 --- a/app/src/main/res/values-lv/strings.xml +++ b/app/src/main/res/values-lv/strings.xml @@ -15,7 +15,7 @@ Uzziniet vairāk Atlaist Aizmirsāt paroli\? - Izmantojiet Revolt, lai tērzētu par lietām. + Izmantojiet Peptide, lai tērzētu par lietām. Sāksim jūs iestatīšanu. E-pasts Mēs nosūtīsim jums verifikācijas e-pastu, lai apstiprinātu jūsu kontu. @@ -35,7 +35,7 @@ Kods Ievadiet savu paroli Par - Ar ❤️ jums atnesa Revolt komanda. + Ar ❤️ jums atnesa Peptide komanda. Versija Sīkāka informācija OSS attiecinājums @@ -58,7 +58,7 @@ Ejam Turiet savus zirgus! Jūs to darāt pārāk bieži īsā laikā. Atrodiet savu kopienu, sazinieties ar pasauli. - Revolt ir viens no labākajiem veidiem, kā sazināties ar draugiem un kopienu jebkurā vietā un laikā. + Peptide ir viens no labākajiem veidiem, kā sazināties ar draugiem un kopienu jebkurā vietā un laikā. E-pasts Reģistrēties Pašlaik notiek @@ -70,11 +70,11 @@ Ievadiet sešciparu kodu no savas autentifikācijas lietotnes. Ievadiet atkopšanas kodu Lai turpinātu, ievadiet savu paroli. - Revolt operētājsistēmā Android - Revolt tiek veidots, izmantojot šos lieliskos atvērtā pirmkoda projektus. + Peptide operētājsistēmā Android + Peptide tiek veidots, izmantojot šos lieliskos atvērtā pirmkoda projektus. Mēs esam pateicīgi šo projektu izstrādātājiem par to, ka viņu darbs ir pieejams pasaulei. Tālāk esošais saraksts tiek ģenerēts automātiski. Tas var būt nepilnīgs vai neprecīzs. - Laipni lūdzam Revolt + Laipni lūdzam Peptide Tā ir kā vieta, kur pavadīt laiku, sanākt kopā un runāt par lietām. Labākā daļa, tas ir internetā. Pie mums jūsu dati ir drošībā. Mēs to nepārdodam un neizmantojam, lai rādītu jums reklāmas. Astoņi vai vairāk, parastie ir slikti. Ieteicami simboli un cipari. @@ -87,7 +87,7 @@ Aizvērt Objekti Platformas moderēšana - Revolt komandas dalībnieks + Peptide komandas dalībnieks Aizmirsāt paroli\? Ievadiet savu e-pastu, un mēs jums nosūtīsim norādījumus par paroles atiestatīšanu. Pēdējo reizi atjaunināts: %1$s @@ -212,7 +212,7 @@ Fokuss Jūs nesaņemsit paziņojumus par ziņām, bet saņemsiet paziņojumus par @minējumiem. Jūs nesaņemsit nekādus paziņojumus, tostarp ziņojumus un @minējumus. - Jūs varēsiet izmantot Revolt kā parasti, taču citiem cilvēkiem jūs neparādīsies kā tiešsaistē. + Jūs varēsiet izmantot Peptide kā parasti, taču citiem cilvēkiem jūs neparādīsies kā tiešsaistē. Jums nav izveidots savienojums ar internetu. Lūdzu, pārbaudiet savienojumu un mēģiniet vēlreiz. Ritiniet līdz apakšai Kopēts starpliktuvē @@ -254,7 +254,7 @@ Dzēst Paturēt Apskatiet savu lietotāja karti un saņemiet īpašu saiti, ko kopīgot - Revolt nekad neguļ, paskatieties, lai redzētu, kas ir bijis darbos + Peptide nekad neguļ, paskatieties, lai redzētu, kas ir bijis darbos Ziņojums ir tukšs, nav ko kopēt Ziņojuma ID ir kopēts starpliktuvē Ziņojuma saite ir kopēta starpliktuvē @@ -317,7 +317,7 @@ Agrīnais adoptētājs Ievadiet saiti, piemēram, rvlt.gg/Testers, vai ielūguma kodu, piemēram, Testētāji Izveidojiet jaunu serveri - Atklājiet Revolt + Atklājiet Peptide Atcelt Pastāstiet mums, kas ar šo ziņojumu ir nepareizi Pievienojās @@ -348,7 +348,7 @@ Koplietojot jūsu lietotāja karti, radās kļūda. %1$d.Vārds %1$d.Lietotājvārds - %1$d.Par Revolt kopš + %1$d.Par Peptide kopš %1$d.QR kods %1$d.Foto [Koda fragments] diff --git a/app/src/main/res/values-mwl/strings.xml b/app/src/main/res/values-mwl/strings.xml index 7547ae78..8ce22cf2 100644 --- a/app/src/main/res/values-mwl/strings.xml +++ b/app/src/main/res/values-mwl/strings.xml @@ -17,13 +17,13 @@ Reambiar un email de berificaçon Ousando un gerenciador de palabras passe\? Se t’olbidou la tue palabra passe\? - Bienbenido/a al Revolt + Bienbenido/a al Peptide Bamos a ampeçar la tue sesson ← Atrás Seguinte → Cancelar Cumpartir - Ousa\'l Revolt pa cumbersar subre cousas. + Ousa\'l Peptide pa cumbersar subre cousas. Ye cumo un sítio pa remansar, ajuntar-te cun outros, i falar subre cousas. Melhor parte, ye na internet. Bamos a amponer-te. La tue data stá assegurada cun nós. Nós nun la bendimos, i tamien nun la ousamos pa t’amostrar anúncios. @@ -41,7 +41,7 @@ Tenes 2FA lhigado pa mantener la tue conta extra-segura. Ousa ũa palabra passe d\'ouso único Pon un código de seis númaros - Revolt ye un de ls melhores modos de te manteneres conetado culs tous amios i quemunidade, an qualquiera sítio i hora. + Peptide ye un de ls melhores modos de te manteneres conetado culs tous amios i quemunidade, an qualquiera sítio i hora. Pon l tou email i nós t’ambiamos anstruçones an cumo redefenir la tue password. Berifica\'l tou email, i açpuis bamos a ber l tou nome d\'outelizador. Outros ban a ancuntrar, recoincer I amentar-te custe nome. @@ -58,8 +58,8 @@ Pon la tue palabra passe Pon la tue palabra passe pa acuntinar. Subre - Revolt an Android - Traído pa ti cun ❤️ pula eiquipa Revolt. + Peptide an Android + Traído pa ti cun ❤️ pula eiquipa Peptide. Verson Stamos gratos puls zambolbedores destes porjetos por çponibilizaren sou trabalho pa\'l mundo. Atualizado pula redadeira beç: %1$s @@ -86,15 +86,15 @@ Bandeiras Bot Zde un canal binculado - Nembro de l’eiquipa Revolt + Nembro de l’eiquipa Peptide Çcoincido Menu Ancerrar sesson - Ajuntar-te al Revolt + Ajuntar-te al Peptide Amios Solicitaçones Recibidas Bloqueado - Revolt ye custruido cula upa destes ancribles porjetos open-source. + Peptide ye custruido cula upa destes ancribles porjetos open-source. La lhista ambaixo ye outomaticamente generada. Puode ser ancumpleta ó ancorreta. Solo puodes arrespunder a %1$d mensaiges por beç. Moderaçon de Plataforma @@ -218,7 +218,7 @@ Ambiar Reportando… Reportado - Oubrigado por mos dares ũa upa pa mantener l Revolt assegurado. Bamos a reber l tou relatoiro\'l más temprano possible. + Oubrigado por mos dares ũa upa pa mantener l Peptide assegurado. Bamos a reber l tou relatoiro\'l más temprano possible. Arro Un arro acunteceu mentes ambiando\'l tou relatoiro. Antente outra beç açpuis fai fabor. Cerrar @@ -243,7 +243,7 @@ %1$s fui spulsado Outelizador saliu-se Nun bás a recibir qualquieras notificaçones pa mensaiges, mas bás a recibir-las pa @amentos. - Bás a poder ousar l Revolt cumo siempre, mas nun bás a aparecer online pa outras pessonas. + Bás a poder ousar l Peptide cumo siempre, mas nun bás a aparecer online pa outras pessonas. Este canal puode tener sido apagado ó tu puodes nun tener permisson pa lo ber. Apagar Seguro que quieres apagar esta mensaige\? @@ -293,7 +293,7 @@ Ajuntar Criar un nuobo serbidor Este recurso stá atualmente an custruçon. - Çcobrir l Revolt + Çcobrir l Peptide Reportar Cancelar Diç-mos l que stá arrado custa mensaige @@ -359,7 +359,7 @@ Aparença Tema Sistema - Revolt + Peptide Claro Negro Puro Material You (sien suporte) @@ -414,10 +414,10 @@ Cancelar Nun puodes tener-te nacido al feturo. Apagar mensaige\? - Cumpartir pa Revolt - Por fabor ampeça tue sesson antes de cumpartires pa Revolt. + Cumpartir pa Peptide + Por fabor ampeça tue sesson antes de cumpartires pa Peptide. Esto nun ye ũa tencion bálida pa cumpartir. - Este aneixo ye smasiado lhargo pa\'l Revolt (máss. $1$s). + Este aneixo ye smasiado lhargo pa\'l Peptide (máss. $1$s). Apercurar canales Seleciona un canal pa cumpartir. Debes tener 18 ó más anhos pa ber este canal. @@ -437,7 +437,7 @@ Criar un nuobo grupo Esto ye un bot. Ten un plano. Esto ye un bot. - Oune-te al serbidor de\'l Revolt pa dar feedback ó sugestones i reportaiges de bugs. + Oune-te al serbidor de\'l Peptide pa dar feedback ó sugestones i reportaiges de bugs. Nome de Grupo Apercurar Amios Criar @@ -544,7 +544,7 @@ Cumpartir perfil Bei la tue carta d’outelizador i obten un link special pa cumpartir Registro de demudáncias - Revolt nunca duorme, bei l que stá sendo fazido + Peptide nunca duorme, bei l que stá sendo fazido Dar feedback Tenes algo pa dezir? Somos todo oubidos Ancuntreste un Webhook! @@ -552,7 +552,7 @@ Amostrar palabra-passe %1$d.Nome %1$d.Nome d’Outelizador - %1$d.Ne l Revolt Zde + %1$d.Ne l Peptide Zde %1$d.Código QR %1$d.Fotografie Que tal? @@ -570,7 +570,7 @@ Ye possible qu’habas terminado la tue sesson n’outro çpositibo, ó puodes star sien coneçon. Ousando un teclado? [%1$s snippet] - L Revolt ten atalhos de teclado! Clica %1$s pa ls beres. + L Peptide ten atalhos de teclado! Clica %1$s pa ls beres. Ambiar mensaiges Antentar outra beç Terminar sesson @@ -583,17 +583,17 @@ Stamos ancantados por te tener a bordo. Bamos a fazer algo ancrible! Dantendi Amamos feedback! - Se tenes dalgun feedback, sugeston ó reporte de bugs, por fabor di-mos. Stamos siempre antentando melhorar l Revolt. + Se tenes dalgun feedback, sugeston ó reporte de bugs, por fabor di-mos. Stamos siempre antentando melhorar l Peptide. Culificar an Google Play Ajunta-te als Serbidores de Testers Fazido Notificaçones Pedido de serbidores - Revolt pa Android + Peptide pa Android %1$s (çcoincido) Reiniciar %1$s configuraçones Bienbenido al acesso antecipado! 🚀 - Yá que esto ye l’acesso antecipado, ye possible que cousas inda nun steian purfeitas. Puodes ancuntrar-te c’un dalgun bug, crash ó peculiaridade. L tou feedback ajuda-mos a melhorar las partes inda nó tan buonas pa fazer l Revolt inda melhor. + Yá que esto ye l’acesso antecipado, ye possible que cousas inda nun steian purfeitas. Puodes ancuntrar-te c’un dalgun bug, crash ó peculiaridade. L tou feedback ajuda-mos a melhorar las partes inda nó tan buonas pa fazer l Peptide inda melhor. Hint - Dalgues de las tues cunfiguraçones de l Revolt stán danhadas. Esto puode ser porque outelizeste clientes de terceiros. Las cunfiguraçones danhadas son: + Dalgues de las tues cunfiguraçones de l Peptide stán danhadas. Esto puode ser porque outelizeste clientes de terceiros. Las cunfiguraçones danhadas son: \ No newline at end of file diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index c622bfea..770bd663 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -23,8 +23,8 @@ Bruker du en passordbank\? Har du glemt passordet ditt\? Skriv inn e-posten din, så skal vi sende deg instruksjoner for å tilbakestille passordet ditt. - Velkommen til Revolt - Du kan bruke Revolt til å snakke om ting. + Velkommen til Peptide + Du kan bruke Peptide til å snakke om ting. Informasjonen din er trygg hos oss. Vi selger det ikke, og vi bruker det heller ikke til å vise deg reklamer. E-post Passord @@ -190,14 +190,14 @@ Utseende Drakt System - Revolt + Peptide Lys Helt Svart Material You Material You (ikke støttet) Material You er ikke støttet på denne enheten. Tilbakemelding - Revolt er en av de beste måtene å holde kontakt med vennene og felleskapene dine, fra hvor som helst, når som helst. + Peptide er en av de beste måtene å holde kontakt med vennene og felleskapene dine, fra hvor som helst, når som helst. La oss sette deg opp. Vi kommer til å sende deg en bekreftelses-e-post for å bekrefte kontoen din. Bekreft e-posten din, så kan vi begynne med å velge brukernavnet ditt. @@ -211,7 +211,7 @@ Melding er tom, det er ingenting til å kopiere Tast inn en lenke som rvlt.gg/Testers eller en invitasjonskode som Testers NB: Denne meldingen kan ha blitt sendt fra en annen tjeneste. Det er anbefalt at du rapporterer meldingen på tjenesten den ble sendt fra i tillegg. - Tusen takk for at du hjelper å holde Revolt trygt. Vi vil se igjennom rapporten din så snart som mulig. + Tusen takk for at du hjelper å holde Peptide trygt. Vi vil se igjennom rapporten din så snart som mulig. Ingen invitasjonskode ble gitt. Kunne ikke lagre lyd \ No newline at end of file diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 9f119e49..9045d2c8 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -20,13 +20,13 @@ Stuur opnieuw een verificatie-e-mail Gebruik je een wachtwoordmanager\? Je wachtwoord vergeten\? - Welkom bij Revolt - Gebruik Revolt om over dingen te praten. + Welkom bij Peptide + Gebruik Peptide om over dingen te praten. Laten we je opzetten. Uw gegevens zijn veilig bij ons. We verkopen het niet en we gebruiken het ook niet om u advertenties te laten zien. Even wat info ophalen, momentje… Vind uw gemeenschap, maak contact met de wereld. - Revolt is een van de beste manieren om altijd en overal in contact te blijven met je vrienden en de gemeenschap. + Peptide is een van de beste manieren om altijd en overal in contact te blijven met je vrienden en de gemeenschap. Voer je e-mailadres in en we sturen je instructies om je wachtwoord opnieuw in te stellen. Het is als een plek om rond te hangen, samen te komen en over dingen te praten. Het beste deel is dat het op internet staat. Email diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 50f8ddb4..fe3a7f25 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -20,8 +20,8 @@ Wyślij ponownie weryfikacyjną wiadomość na email Korzystasz z menedżera haseł\? Zapomniałeś hasła\? - Witamy na Revolt - Użyj Revolt, aby porozmawiać o różnych rzeczach. + Witamy na Peptide + Użyj Peptide, aby porozmawiać o różnych rzeczach. Skonfigurujmy twoje konto. Twoje dane są u nas bezpieczne. Nie sprzedajemy ich ani nie wykorzystujemy do wyświetlania reklam. Email @@ -147,7 +147,7 @@ Prześlij Zgłaszanie… Zgłoszono - Dziękujemy za pomoc w zapewnieniu bezpieczeństwa na Revolt. Przeanalizujemy twoje zgłoszenie tak szybko, jak to możliwe. + Dziękujemy za pomoc w zapewnieniu bezpieczeństwa na Peptide. Przeanalizujemy twoje zgłoszenie tak szybko, jak to możliwe. Błąd Wystąpił błąd podczas przesyłania zgłoszenia. Spróbuj ponownie później. Zamknij @@ -183,7 +183,7 @@ Wygląd Motyw System - Revolt + Peptide Jasny Czysta czerń Twój Materiał @@ -192,7 +192,7 @@ Opinie ← Cofnij Zbieranie informacji, poczekaj chwilę… - Revolt to jeden z najlepszych sposobów na pozostanie w kontakcie ze znajomymi i społecznością, w dowolnym miejscu i czasie. + Peptide to jeden z najlepszych sposobów na pozostanie w kontakcie ze znajomymi i społecznością, w dowolnym miejscu i czasie. Wprowadź swój adres email, a my wyślemy Ci instrukcje dotyczące resetowania hasła. To jak miejsce, w którym można spędzać czas, spotykać się i rozmawiać o różnych rzeczach. Najlepsze jest to, że jest w Internecie. Zweryfikuj swój adres email, a następnie zajmiemy się wyborem nazwy użytkownika. @@ -217,7 +217,7 @@ Złośliwe oprogramowanie lub phishing Podszywanie się Wszelkie dodatkowe informacje, które mogą nam pomóc w dochodzeniu. Opcjonalne. - Revolt na Android + Peptide na Android Ostatnia aktualizacja: %1$s Aktywność Jenvolt to przestrzeń zarządzana przez deweloperów dla wszystkich aplikacji na Androida i nie tylko. Wsparcie i opinie można znaleźć tutaj. Może będziesz mógł wypróbować nowe funkcje! 👀 @@ -227,17 +227,17 @@ %1$s wyszedł Aktywny Nie będziesz otrzymywać powiadomień o wiadomościach, ale będziesz otrzymywać powiadomienia o @wzmiankach. - Będziesz mógł normalnie korzystać z Revolt, ale nie będziesz widoczny online dla innych osób. + Będziesz mógł normalnie korzystać z Peptide, ale nie będziesz widoczny online dla innych osób. Oficjalny serwer Zweryfikowany serwer Ten kanał mógł zostać usunięty lub nie masz uprawnień do jego wyświetlania. Opuść Dopóki nie zostaniesz ponownie zaproszony, nie będziesz mógł ponownie dołączyć. Nie można pobrać biografii tego użytkownika. Sprawdź, czy dzielicie serwer lub jesteście znajomymi. - Revolt jest zbudowany przy pomocy tych niesamowitych projektów open-source. + Peptide jest zbudowany przy pomocy tych niesamowitych projektów open-source. Jesteśmy wdzięczni twórcom tych projektów za udostępnienie ich pracy światu. Poniższa lista jest generowana automatycznie. Może być niekompletna lub niedokładna. - Dostarczone z ❤️ przez zespół Revolt. + Dostarczone z ❤️ przez zespół Peptide. Wersja Szczegóły Dotknij, aby wyświetlić licencję @@ -251,7 +251,7 @@ Symbole Flagi Moderacja platformy - Członek zespołu Revolt + Członek zespołu Peptide Dołącz do Jenvolt Przyjaciele Przychodzące żądania @@ -382,7 +382,7 @@ Ten plik nie jest prawidłowym plikiem zastępującym kolor. Co tam słychać ✨ Odkrywaj - Odkrywaj Revolt + Odkrywaj Peptide Powiedz, co jest nie tak z tym użytkownikiem Ekstremalna przemoc, gore lub okrucieństwo wobec zwierząt Powiedz, co jest nie tak z tą wiadomością @@ -412,11 +412,11 @@ Zamknij Zaproszenie do #%1$s Nie jest to ważna intencja udostępniania. - Ten załącznik jest zbyt duży dla Revolt (maks. $1$s). + Ten załącznik jest zbyt duży dla Peptide (maks. $1$s). Wyszukiwanie kanałów Wybierz kanał do udostępnienia. - Udostępnij na Revolt - Zaloguj się przed udostępnieniem na Revolt. + Udostępnij na Peptide + Zaloguj się przed udostępnieniem na Peptide. Ten kanał jest oznaczony jako NSFW Musisz mieć ukończone 18 lat, aby zobaczyć ten kanał. Nie można urodzić się w przyszłości. @@ -434,7 +434,7 @@ Zniknie na zawsze (na długo!) Usuń Zachowaj - Dołącz do serwera Revolt, aby przekazywać opinie i sugestie oraz zgłaszać błędy. + Dołącz do serwera Peptide, aby przekazywać opinie i sugestie oraz zgłaszać błędy. Nowa grupa Zbierz załogę na czacie grupowym. Możesz dodać do %1$d osób. To jest bot. @@ -546,7 +546,7 @@ Stuknij, aby skopiować %1$d.Nazwa %1$d.Nazwa użytkownika - %1$d.Na Revolt od + %1$d.Na Peptide od %1$d.Zdjęcie Wystąpił błąd podczas udostępniania karty użytkownika. %1$d.Kod QR @@ -559,7 +559,7 @@ Udostępnij profil Spójrz na swoją kartę użytkownika i uzyskaj specjalny link do udostępnienia Dziennik zmian - Revolt nigdy nie śpi, spójrz, aby zobaczyć, co jest w przygotowaniu + Peptide nigdy nie śpi, spójrz, aby zobaczyć, co jest w przygotowaniu Przekazywanie opinii Masz coś do powiedzenia\? Zamieniamy się w słuch Webhook został znaleziony! @@ -569,7 +569,7 @@ Domyślny system [%1$s snippet] Używasz klawiatury? - Revolt ma skróty klawiszowe! Naciśnij %1$s, aby je zobaczyć. + Peptide ma skróty klawiszowe! Naciśnij %1$s, aby je zobaczyć. Wystąpił problem z zalogowaniem Być może wylogowałeś się z innego urządzenia lub połączenie internetowe nie działa. Spróbuj ponownie @@ -588,13 +588,13 @@ Wskazówka Powiadomienia Zamówienie Serwera - Revolt na Androida + Peptide na Androida %1$s (nieznane) Zresetuj ustawienia %1$s Witamy we wczesnej dostępie! 🚀 Jesteś jednym z pierwszych, którzy wypróbowali naszą nową aplikację na Androida. Cieszymy się, że tu jesteś! - Ponieważ jest to wczesny dostęp, wszystko może nie być jeszcze idealne. Możesz natknąć się na sporadyczne błędy, awarie lub dziwne dziwactwa. Twoja opinia pomoże nam wygładzić nierówne krawędzie i uczynić Revolt jeszcze lepszym. + Ponieważ jest to wczesny dostęp, wszystko może nie być jeszcze idealne. Możesz natknąć się na sporadyczne błędy, awarie lub dziwne dziwactwa. Twoja opinia pomoże nam wygładzić nierówne krawędzie i uczynić Peptide jeszcze lepszym. Cieszymy się, że mamy cię na pokładzie. Stwórzmy razem coś wspaniałego! - Niektóre ustawienia Revolt są uszkodzone. Może to być spowodowane korzystaniem z klientów innych firm. Dotyczy to następujących ustawień: - Jeśli masz jakieś uwagi, sugestie lub raporty o błędach, daj nam znać. Zawsze staramy się ulepszać Revolt. + Niektóre ustawienia Peptide są uszkodzone. Może to być spowodowane korzystaniem z klientów innych firm. Dotyczy to następujących ustawień: + Jeśli masz jakieś uwagi, sugestie lub raporty o błędach, daj nam znać. Zawsze staramy się ulepszać Peptide. \ No newline at end of file diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 4ccc1add..0c3f731a 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -36,7 +36,7 @@ Salvo Feedback Aparência - Revolt + Peptide Sistema Claro Material You @@ -62,7 +62,7 @@ Reenviar Reenviar e-mail de verificação %1$s estão digitando… - Bem-vindo(a) ao Revolt + Bem-vindo(a) ao Peptide Esqueceu sua senha\? Bem-vindo(a)! Nome de usuário @@ -94,11 +94,11 @@ Vamos lá Reunindo algumas informações, aguenta aí… Encontre sua comunidade, conecte-se com o mundo. - Revolt é uma das melhores maneiras de se manter conectado com seus amigos e comunidade, em qualquer lugar, a qualquer hora. + Peptide é uma das melhores maneiras de se manter conectado com seus amigos e comunidade, em qualquer lugar, a qualquer hora. Vamos logar você Usando um gerenciador de senhas\? Insira seu email e nós enviaremos instruções para redefinir sua senha. - Use o Revolt para conversar sobre coisas. + Use o Peptide para conversar sobre coisas. É como um lugar para curtir, se reunir e falar sobre qualquer coisa. E a melhor parte: é na internet. Vamos preparar as coisas para você. Seus dados estão seguros com a gente. Não vendemos e nem os utilizamos para te mostrar anúncios. @@ -207,7 +207,7 @@ Usuário selecionado: Incentivo à violência Não possui a idade mínima para usar a plataforma - Obrigado por nos ajudar a manter o Revolt seguro. Vamos analisar sua denúncia assim que possível. + Obrigado por nos ajudar a manter o Peptide seguro. Vamos analisar sua denúncia assim que possível. Esta funcionalidade está em desenvolvimento. Gostaria de bloquear este usuário\? Nenhum código de convite fornecido. @@ -216,15 +216,15 @@ Material You (não suportado) Material You não é suportado neste dispositivo. De canal vinculado - O Revolt é feito com a ajuda desses incríveis projetos de código-aberto. + O Peptide é feito com a ajuda desses incríveis projetos de código-aberto. Nós agradecemos aos desenvolvedores desses projetos por fazerem o seu trabalho disponível ao mundo. A lista abaixo é gerada automaticamente. Ela pode estar incompleta ou imprecisa. Última atualização: %1$s Toque para ver a licença O canal foi renomeado A posse foi alterada - Revolt no Android - Trazido até você com ❤️ pelo time do Revolt. + Peptide no Android + Trazido até você com ❤️ pelo time do Peptide. Versão Detalhes Escolher emoji @@ -236,7 +236,7 @@ Objetos Símbolos Bandeiras - Membro do time do Revolt + Membro do time do Peptide Junte-se ao Jenvolt Amigos Solicitações Recebidas @@ -262,7 +262,7 @@ Este canal pode ter sido deletado ou você pode não ter permissão para vê-lo. Adicionar membros A bio deste usuário não pode ser alcançada. Por favor tenha a certeza de que compartilham um servidor ou de que são amigos. - Descobrir o Revolt + Descobrir o Peptide Diga-nos o que há de errado com esta mensagem Hacking ou cracking ilegais Notícia importante tratando da sua conta @@ -308,7 +308,7 @@ Você não vai receber qualquer notificação, incluindo mensagens e @menções. Offline Invisível - Você vai poder usar o Revolt normalmente, mas não vai aparecer como online para os outros. + Você vai poder usar o Peptide normalmente, mas não vai aparecer como online para os outros. Servidor Oficial Servidor Verificado Você não pode ver este canal @@ -405,10 +405,10 @@ Envie este link para convidar pessoas para este canal. Copiar Fechar - Compartilhar para  Revolt - Por favor, faça login antes de compartilhar para  Revolt . + Compartilhar para  Peptide + Por favor, faça login antes de compartilhar para  Peptide . Esta não é uma tentativa de compartilhamento válida. - Este anexo é muito grande para  Revolt (max. $1$s). + Este anexo é muito grande para  Peptide (max. $1$s). Buscar canais Selecione um canal para compartilhar. Um emoji padrão que você pode usar em qualquer lugar @@ -438,7 +438,7 @@ Deslize para responder Resposta rápida Toque duas vezes para responder - Participe do servidor Revolt para dar feedback ou sugestões e relatar bugs. + Participe do servidor Peptide para dar feedback ou sugestões e relatar bugs. Configurações do canal #%1$s Visão geral @@ -555,7 +555,7 @@ Abrir Configurações Compartilhar Perfil Dê uma olhada no seu cartão de usuário e obtenha um link para compartilhar - Revolt nunca para, dê uma olhada no que estamos preparando + Peptide nunca para, dê uma olhada no que estamos preparando Enviar Feedback Tem algo a dizer\? Estamos aqui para ouvir Webhooks são automatizados por outros serviços na internet. Não podem paper de volta, mas você ainda pode ver o que eles tem a dizer. @@ -563,7 +563,7 @@ Ocorreu um erro ao compartilhar seu cartão de usuário. %1$d.Nome %1$d.Nome de Usuário - %1$d.No Revolt Desde + %1$d.No Peptide Desde %1$d.Código QR %1$d.Foto Ocorreu um erro ao fazer o seu login @@ -573,7 +573,7 @@ Tentar novamente Encerrar Sessão [Bloco de código] - Revolt tem atalhos! Pressione %1$s para vê-los. + Peptide tem atalhos! Pressione %1$s para vê-los. Abrir atalhos Tudo bem Mensagens @@ -581,7 +581,7 @@ Enviar Mensagem Bem-vindo(a) ao Acesso Antecipado! 🚀 Você é um dos primeiros a testar nosso novo app Android. Estamos entusiasmados em ter você aqui! - Por ser um acesso antecipado, as coisas podem não estar perfeitas ainda. Você pode encontrar um bug, crash ou peculiariedade estranha ocasionalmente. O seu feedback nos ajuda a suavizar as arestas e fazer o Revolt ainda melhor. + Por ser um acesso antecipado, as coisas podem não estar perfeitas ainda. Você pode encontrar um bug, crash ou peculiariedade estranha ocasionalmente. O seu feedback nos ajuda a suavizar as arestas e fazer o Peptide ainda melhor. Estamos emocionados por ter você a bordo. Vamos fazer algo grande juntos! Entendi Amamos feedback! @@ -590,10 +590,10 @@ Feito Notificações Ordem dos Servidores - Revolt para Android + Peptide para Android Redefinir configurações de %1$s Dica %1$s (desconhecido) - Se você tiver quaisquer feedbacks, sugestões ou reportes de bug, deixe-nos saber. Estamos sempre procurando melhorar o Revolt. - Algumas das suas configurações do Revolt estão corruptas. Isso pode ser devido ao uso de clientes de terceiros. As configurações afetadas são: + Se você tiver quaisquer feedbacks, sugestões ou reportes de bug, deixe-nos saber. Estamos sempre procurando melhorar o Peptide. + Algumas das suas configurações do Peptide estão corruptas. Isso pode ser devido ao uso de clientes de terceiros. As configurações afetadas são: \ No newline at end of file diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 2a1075f1..93c976c8 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -17,8 +17,8 @@ Vamos iniciar a tua sessão Esqueceste-te da tua palavra-passe\? A utilizar um gestor de palavras-passe\? - Bem-vindo(a) ao Revolt - Usa o Revolt para falares sobre coisas. + Bem-vindo(a) ao Peptide + Usa o Peptide para falares sobre coisas. Vamos preparar você. Os teus dados estão seguros connosco. Nós não os vendemos nem os usamos para te mostrar anúncios. E-mail @@ -152,7 +152,7 @@ Aparência Tema Sistema - Revolt + Peptide Claro Preto puro Material você @@ -160,7 +160,7 @@ ← Voltar A pedir informação, aguenta aí… Encontra a tua comunidade, liga-te ao mundo. - O Revolt é uma das melhores formas de te manteres em contacto com os teus amigos e comunidade, em qualquer lugar, a qualquer hora. + O Peptide é uma das melhores formas de te manteres em contacto com os teus amigos e comunidade, em qualquer lugar, a qualquer hora. Reenviar e-mail de verificação Esqueceste-te da tua palavra-passe\? Insere o teu e-mail e nós enviamos-te as instruções para redefinires a tua palavra-passe. @@ -203,7 +203,7 @@ Malware (vírus) ou phishing (burla) Assédio ou ciberbullying Qualquer informação adicional que possa auxiliar a nossa investigação. Opcional. - Obrigado por nos ajudares a manter o Revolt seguro. Iremos rever a tua denúncia assim que possível. + Obrigado por nos ajudares a manter o Peptide seguro. Iremos rever a tua denúncia assim que possível. Ocorreu um erro enquanto se tentava submeter a tua denúncia. Por favor, tenta novamente mais tard. Já és membro deste servidor. Não foi possível encontrar nenhum convite com o código fornecido. @@ -217,8 +217,8 @@ Mas se mudares de ideias, podes sempre mudá-lo nas tuas Definições de Utilizador. Mensagens diretas Descobrir servidores - Revolt no Android - Trazido a ti com ❤️ pela equipa do Revolt. + Peptide no Android + Trazido a ti com ❤️ pela equipa do Peptide. Versão Detalhes Última atualização: %1$s @@ -229,8 +229,8 @@ Pressione e segure para responder Resposta Rápida Bater papo - Faça login antes de compartilhar no Revolt. - Compartilhar na Revolt + Faça login antes de compartilhar no Peptide. + Compartilhar na Peptide Manter Excluir Tem certeza de que deseja excluir este canal\? @@ -262,7 +262,7 @@ Diganos o que há de errado com esta mensagem Vingança ou pornografia de menores Golpes ou fraude - Este arquivo é muito grande para o Revolt (máx. $1$s). + Este arquivo é muito grande para o Peptide (máx. $1$s). Esta não é uma intenção de compartilhamento válida. Todas as mensagens e configurações deste canal desaparecerão para sempre (muito tempo!) Tom de pele escuro @@ -278,7 +278,7 @@ Apagar mensagem\? A lista abaixo é gerada automaticamente. Pode estar incompleto ou impreciso. Toque para ver a licença - Revolt é construído com a ajuda desses incríveis projetos de código aberto. + Peptide é construído com a ajuda desses incríveis projetos de código aberto. Somos gratos aos desenvolvedores desses projetos por disponibilizarem seu trabalho para o mundo. Canal renomeado Usuário removido @@ -291,7 +291,7 @@ %1$s transferiu a propriedade para %2$s %1$s renomeou o canal para %2$s Sair silenciosamente - Descubra a revolt + Descubra a peptide Treino Escolha emoji Emoticons e Emoções @@ -304,7 +304,7 @@ Símbolos Bandeiras Moderação da plataforma - Membro da equipe Revolt + Membro da equipe Peptide Junte-se à Jenvolt Amigos Solicitações recebidas @@ -365,7 +365,7 @@ %1$s removido %2$s %1$s adicionou %2$s %1$s foi banido - Você poderá usar o Revolt normalmente, mas não aparecerá online para outras pessoas. + Você poderá usar o Peptide normalmente, mas não aparecerá online para outras pessoas. Você não pode visualizar este canal de %1$s Um emoji padrão que você pode usar em qualquer lugar @@ -446,7 +446,7 @@ Sair Importar Este arquivo não é um arquivo de substituição de cores válido. - Junte-se ao servidor Revolt para dar feedback ou sugestões e relatar bugs. + Junte-se ao servidor Peptide para dar feedback ou sugestões e relatar bugs. Variante de esboço Contorno No contêiner de erros @@ -510,14 +510,14 @@ Compartilhar Perfil Dê uma olhada no seu cartão e obtenha um link especial para compartilhar Registro de Mudanças - O Revolt nunca para, veja o que esteve sendo trabalhado + O Peptide nunca para, veja o que esteve sendo trabalhado Providenciar Feedback Tem algo a dizer? Estamos todos ouvidos Toque para copiar Um erro ocorreu ao compartilhar seu cartão. %1$d.Nome %1$d.Nome de Usuário - %1$d.No Revolt Desde + %1$d.No Peptide Desde %1$d.Foto Falha ao enviar, segure um toque para opções Toque para tocar o video do YouTube @@ -561,7 +561,7 @@ Dica Notificações Pedido de servidor - Revolt para Android + Peptide para Android %1$s (desconhecido) Redefinir configurações de %1$s Padrão do sistema @@ -572,13 +572,13 @@ Mensagens Nova linha Enviar mensagem - Como se trata de acesso antecipado, as coisas podem não estar perfeitas ainda. Você pode encontrar bugs, travamentos ou peculiaridades estranhas ocasionais. Seu feedback nos ajuda a suavizar as arestas e tornar o Revolt ainda melhor. + Como se trata de acesso antecipado, as coisas podem não estar perfeitas ainda. Você pode encontrar bugs, travamentos ou peculiaridades estranhas ocasionais. Seu feedback nos ajuda a suavizar as arestas e tornar o Peptide ainda melhor. As incorporações interativas permitem que você interaja com alguns tipos de links diretamente no chat. Por exemplo, você pode reproduzir vídeos do YouTube ou visualizar álbuns do Apple Music. - Se você tiver algum comentário, sugestão ou relatório de bug, informe-nos. Estamos sempre procurando melhorar o Revolt. + Se você tiver algum comentário, sugestão ou relatório de bug, informe-nos. Estamos sempre procurando melhorar o Peptide. Incorporações interativas Idioma Música da Apple - Algumas das configurações do Revolt estão corrompidas. Isso pode ser devido ao uso de clientes de terceiros. As configurações afetadas são: + Algumas das configurações do Peptide estão corrompidas. Isso pode ser devido ao uso de clientes de terceiros. As configurações afetadas são: %1$d.Código QR Selecionar fotos Falha ao abrir a câmera @@ -593,7 +593,7 @@ Habilitar notificações Agora não Usando um teclado? - Revolt tem atalhos de teclado! Pressione %1$s para vê-los. + Peptide tem atalhos de teclado! Pressione %1$s para vê-los. Abrir atalhos Tudo certo circular diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 97de78b7..c54a2d3c 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -6,7 +6,7 @@ Ai uitat parola\? Retrimite e-mailul de verificare Ți-ai uitat parola\? - Bun venit la Revolt + Bun venit la Peptide Hai să te pregătim. Parolă Verifică-ți e-mailul! @@ -103,7 +103,7 @@ Diverse Aspect Temă - Revolt + Peptide Luminos Material You Material You (nu este acceptat) @@ -118,7 +118,7 @@ Politica de confidențialitate Orientări comunitare Găsește-ți comunitatea, conectează-te cu lumea. - Revolt este una dintre cele mai bune modalități de a rămâne conectat cu prietenii și comunitatea ta, oriunde și oricând. + Peptide este una dintre cele mai bune modalități de a rămâne conectat cu prietenii și comunitatea ta, oriunde și oricând. E-mail Parolă Autentificare @@ -126,7 +126,7 @@ Să te autentificăm Folosești un manager de parole\? Introdu-ți adresa de e-mail și îți vom trimite instrucțiuni despre cum să-ți resetezi parola. - Folosește Revolt pentru a discuta despre lucruri. + Folosește Peptide pentru a discuta despre lucruri. Este un loc în care să stai, să te distrezi și să vorbești despre lucruri. Partea cea mai bună este că este pe internet. Datele tale sunt în siguranță cu noi. Nu le vindem și nici nu le folosim pentru a-ți arăta reclame. E-mail @@ -192,7 +192,7 @@ Orice informații suplimentare care ne pot ajuta în investigația noastră. Opțional. Trimitere Se face reclamația… - Îți mulțumi că ne ajuți să păstrăm Revolt în siguranță. Vom analiza reclamația ta cât mai curând posibil. + Îți mulțumi că ne ajuți să păstrăm Peptide în siguranță. Vom analiza reclamația ta cât mai curând posibil. S-a produs o eroare în timpul trimiterii reclamării. Te rugăm să încerci din nou mai târziu. Închidere Ai dori să blochezi acest utilizator\? @@ -217,17 +217,17 @@ Îți mulțumim pentru timpul acordat reclamării acestui utilizator. Te rugăm să precizezi motivul reclamației acestui utilizator. Promovează vătămarea Spam sau abuz de platformă similar - Revolt pe Android + Peptide pe Android Lista de mai jos este generată automat. Aceasta poate fi incompletă sau inexactă. - Oferit cu ❤️ de către echipa Revolt. - Revolt este construit cu ajutorul acestor minunate proiecte open-source. + Oferit cu ❤️ de către echipa Peptide. + Peptide este construit cu ajutorul acestor minunate proiecte open-source. Suntem recunoscători dezvoltatorilor acestor proiecte pentru că și-au pus munca la dispoziția lumii. Versiunea Detalii %1$s a adăugat %2$s Bun venit la Accesul timpuriu! 🚀 Ești unul dintre primii care au încercat noua noastră aplicație Android. Suntem încântați să te avem aici! - Deoarece suntem în faza de acces timpuriu, este posibil ca lucrurile să nu fie perfecte încă. S-ar putea să întâmpini din când în când o eroare, un accident sau o ciudățenie. Feedback-ul tău ne ajută să șlefuim și să facem Revolt mai bun. + Deoarece suntem în faza de acces timpuriu, este posibil ca lucrurile să nu fie perfecte încă. S-ar putea să întâmpini din când în când o eroare, un accident sau o ciudățenie. Feedback-ul tău ne ajută să șlefuim și să facem Peptide mai bun. Suntem încântați să te avem alături de noi. Hai să facem ceva minunat împreună! Am înțeles Iubim feedback-ul! @@ -283,7 +283,7 @@ Obiecte Simboluri Steaguri - Membru al echipei Revolt + Membru al echipei Peptide Alătură-te Jenvolt Pagina mea Nu s-a putut încărca pagina ta @@ -292,14 +292,14 @@ Schimbă-ți aspectul, gestionează-ți contul și multe altele Distribuie profilul Jurnal de schimbări - Revolt nu doarme, aruncă o privire la ceea ce am lucrat + Peptide nu doarme, aruncă o privire la ceea ce am lucrat Oferă părerea Ai ceva de zis? Suntem doar urechi Apasă pentru a copia Am întâmpinat o eroare la partajarea cardului de utilizator %1$d.Nume %1$d.Nume de utilizator - %1$d.Pe Revolt din data de + %1$d.Pe Peptide din data de %1$d.Cod QR %1$d.Fotografie Prieteni @@ -357,7 +357,7 @@ Nu vei primi nicio notificare, inclusiv mesaje și @mențiuni. Offline Invizibil - Vei putea să folosești Revolt ca de obicei, dar nu vei apărea online pentru alte persoane. + Vei putea să folosești Peptide ca de obicei, dar nu vei apărea online pentru alte persoane. Mesajul din stare va fi vizibil tuturor. Ține-l scurt și dulce. Mesajul stării Spune lumii ce pui la cale @@ -423,7 +423,7 @@ Moderarea platformei Susținător activ Utilizator timpuriu - Descoperă Revolt + Descoperă Peptide Spune-ne ce este în neregulă cu acest mesaj Spune-ne ce este în neregulă cu acest utilizator Șantaj @@ -476,7 +476,7 @@ Activează notificările Nu acum Folosești o tastatură? - Revolt are scurtături de taste! Apasă %1$s pentru a le vedea. + Peptide are scurtături de taste! Apasă %1$s pentru a le vedea. Deschide scurtăturile În regulă \ No newline at end of file diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 19b18ca5..3f874f7d 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -11,11 +11,11 @@ Правила сообщества Начнём Отправить письмо - Приветствуем в Revolt + Приветствуем в Peptide Войдём в аккаунт Используете менеджер паролей\? Забыли свой пароль\? - Используйте Revolt для общения на различные темы. + Используйте Peptide для общения на различные темы. Давайте создадим аккаунт. Проверьте свою почту! Мы отправили дальнейшие действия на %1$s. @@ -118,7 +118,7 @@ Общее Внешний вид Системная - Revolt + Peptide Отзыв ← Назад Забыли пароль\? @@ -127,7 +127,7 @@ Поделиться Получаем информацию, подождите… Найди себе сообщество, соединись с миром. - Revolt - это один из лучших способов оставаться на связи с друзями и сообществом, везде, всегда. + Peptide - это один из лучших способов оставаться на связи с друзями и сообществом, везде, всегда. Пароль Восемь или больше, те, что частые - плохие. Символы и цифры рекомендованы. Подтвердите свою почту, после чего вы перейдёте к выбору имени пользователя. @@ -195,7 +195,7 @@ Спам или подобное злоупотребление платформой Недостаточный возраст для использования платформы Любая дополнительная информация которая могла бы помочь в нашем расследовании. Не обязательно. - Спасибо за то, что помогаете поддерживать Revolt в безопасности. Мы рассмотрим вашу жалобу как можно скорее. + Спасибо за то, что помогаете поддерживать Peptide в безопасности. Мы рассмотрим вашу жалобу как можно скорее. Ошибка Возникла ошибка при получении вашей жалобы. Пожалуйста, попробуйте ещё раз позже. Вас пригласили вступить в данный сервер. Вы хотите присоединиться\? @@ -227,7 +227,7 @@ Вы не будете получать никаких уведомлений, включая сообщения и @упоминания. Версия Нажмите, чтобы просмотреть лицензию - Revolt разработан с помощью этих замечательных проектов с открытым исходным кодом. + Peptide разработан с помощью этих замечательных проектов с открытым исходным кодом. Символы Друзья Вы не можете отправлять сообщения в этом канале. @@ -252,11 +252,11 @@ Ошибка Вариант контура Этот файл не является допустимым файлом переопределения цветов. - Revolt на Android + Peptide на Android Мы благодарны разработчикам этих проектов за то, что они сделали свою работу доступной всему миру. Модерация платформы Выбрать эмодзи - Создано с ❤️ командой Revolt. + Создано с ❤️ командой Peptide. Подробности Последнее обновление: %1$s Смайлики и эмоции @@ -265,7 +265,7 @@ Еда и напитки Путешествия и места Флаги - Член команды Revolt + Член команды Peptide Активности Объекты Присоединиться к Jenvolt @@ -374,7 +374,7 @@ Возможно, этот канал был удалён или у вас нет прав на его просмотр. Вы получили важное уведомление касательно вашего аккаунта от нашей команды модераторов. Пожалуйста, прочтите его внимательно. Возможно, этот пользователь был удалён, или у вас нет прав на его просмотр. - Вы сможете использовать Revolt как обычно, но вы не будете отображаться в сети для других людей. + Вы сможете использовать Peptide как обычно, но вы не будете отображаться в сети для других людей. Проверенный сервер с приватного сервера Добавить участников @@ -384,7 +384,7 @@ Чрезмерное насилие, кровавые сцены или жестокое обращение с животными Расскажите нам, что не так с этим сообщением Исследуйте - Исследовать Revolt + Исследовать Peptide Наркотики или другие нелегальные товары Вымогательство или шантаж Порноместь или порнография с участием несовершеннолетних @@ -417,10 +417,10 @@ Пожаловаться Пожалуйста, выберите канал, в который хотите поделиться. Отправьте эту ссылку, чтобы пригласить людей к этому каналу. - Поделиться на Revolt - Пожалуйста, войдите в аккаунт, чтобы поделиться в Revolt. + Поделиться на Peptide + Пожалуйста, войдите в аккаунт, чтобы поделиться в Peptide. Это недействительное намерение. - Это вложение слишком большое для Revolt (макс. $1$s). + Это вложение слишком большое для Peptide (макс. $1$s). Поиск каналов Дата рождения День @@ -434,7 +434,7 @@ Оно исчезнет навсегда (это надолго!) Удалить Оставить - Присоединяйтесь к серверу Revolt, чтобы оставлять отзывы и предложения и сообщать об ошибках. + Присоединяйтесь к серверу Peptide, чтобы оставлять отзывы и предложения и сообщать об ошибках. Новая группа Соберите свою команду в групповом чате. Вы можете добавить до %1$d человек. Это бот. @@ -513,7 +513,7 @@ Меняйте ваш образ, управляйте аккаунтом и многое другое Поделится профилем Список изменений - Revolt никогда не спит, взгляните, над чем мы работали + Peptide никогда не спит, взгляните, над чем мы работали Есть что сказать\? Мы все во внимании Оставить отзыв Узнать больше @@ -567,11 +567,11 @@ %1$d.QR Код %1$d.Фотография Возможно, вы вышли из системы с другого устройства или у вас отключено интернет-соединение. - "В Revolt есть сочетания клавиш! Нажмите %1$s, чтобы увидеть их." + "В Peptide есть сочетания клавиш! Нажмите %1$s, чтобы увидеть их." Фрагмент кода Использовать клавиатуру? Печатать - %1$d.Появился в Revolt + %1$d.Появился в Peptide Возникла проблема при вашем входе Попробуйте снова Выйти @@ -583,7 +583,7 @@ Мы очень рады видеть вас в команде. Давайте вместе создадим нечто великое! Понятно Мы любим обратную связь! - Если у вас есть обратная связь, предложения или отчеты об ошибках, пожалуйста, дайте нам знать. Мы всегда стремимся улучшить Revolt. + Если у вас есть обратная связь, предложения или отчеты об ошибках, пожалуйста, дайте нам знать. Мы всегда стремимся улучшить Peptide. Оценить в Google Play Присоединиться к серверу тестировщиков Готово @@ -593,8 +593,8 @@ Добро пожаловать в Ранний Доступ! 🚀 Вы один из первых, кто попробовал наше Android приложение. Мы рады видеть Вас здесь! Порядок серверов - Поскольку это ранний доступ, все может быть не совсем идеально. Вы можете столкнуться со случайными ошибками, сбоями или странными причудами. Ваша обратная связь поможет нам сгладить неровности и сделать Revolt еще лучше. + Поскольку это ранний доступ, все может быть не совсем идеально. Вы можете столкнуться со случайными ошибками, сбоями или странными причудами. Ваша обратная связь поможет нам сгладить неровности и сделать Peptide еще лучше. Подсказка - Некоторые из ваших настройек Revolt повреждены. Это может быть связано с использованием сторонних клиентов. К затронутым настройкам относятся: - Revolt для Android + Некоторые из ваших настройек Peptide повреждены. Это может быть связано с использованием сторонних клиентов. К затронутым настройкам относятся: + Peptide для Android \ No newline at end of file diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 51efa331..f3c2c402 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -12,8 +12,8 @@ ส่งอีเมล ลืมรหัสผ่าน\? ส่งอีเมลยืนยันอีกครั้ง - ยินดีต้อนรับสู้ Revolt - ใช้ Revolt ในการคุยถึงเรื่องต่างๆ + ยินดีต้อนรับสู้ Peptide + ใช้ Peptide ในการคุยถึงเรื่องต่างๆ อีเมล รหัสผ่าน เช็คอีเมลของคุณ! @@ -31,7 +31,7 @@ โค้ด ใส่รหัสผ่านของคุณเพื่อจะไปต่อ เกี่ยวกับ - Revolt บน Android + Peptide บน Android เวอร์ชั่น รายละเอียด เวอร์ชั้นนั้น @@ -40,7 +40,7 @@ กำลังรับข้อมูล, รอสักพักนะ… เงื่อนไขการใช้บริการ นโยบายความเป็นส่วนตัว - Revolt คือหนึ่งในวิธีที่ดีที่สุดเพื่อเชื่อมต่อกับเพื่อนๆ และชุมชนของคุณ ทุกที่ ทุกเวลา + Peptide คือหนึ่งในวิธีที่ดีที่สุดเพื่อเชื่อมต่อกับเพื่อนๆ และชุมชนของคุณ ทุกที่ ทุกเวลา รหัสผ่าน เรามาล็องอินกัน ลืมรหัสผ่าน\? @@ -54,9 +54,9 @@ แต่ถ้าคุณเปลี่ยนใจ คุณสามารถเปลี่ยนชื่อผู้ใช้ได้ตลอดในการตั้งค่าผู้ใช้ ใส่โค้ดการกู้คืน ใส่รหัสผ่านของคุณ - ให้คุณด้วย ❤️ โดยทีมงาน Revolt + ให้คุณด้วย ❤️ โดยทีมงาน Peptide การระบุแหล่งที่มาของ OSS - Revolt ได้ถูกสร้างโดยใช้ผลงานโปรแกรมโอเพนซอร์สสุดเจ๋งมากมาย ดังนี้ + Peptide ได้ถูกสร้างโดยใช้ผลงานโปรแกรมโอเพนซอร์สสุดเจ๋งมากมาย ดังนี้ มาตรฐานชุมชน มาลงทะเบียนกันเถอะ คุณได้เปิดใช้ระบบยืนยันตัวตนแบบสองขั้นตอนเพื่อเสริมความปลอดภัยให้บัญชีแล้ว @@ -98,7 +98,7 @@ เพื่อน ถูกบล็อก ค้นพบ - สมาชิกทีม Revolt + สมาชิกทีม Peptide เมนู คำขอเป็นเพื่อนขาเข้า คำขอเป็นเพื่อนขาออก diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index d2157815..50ccc727 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -7,13 +7,13 @@ Yeniden bağlanmak için dokun Taciz veya siber zorbalık Soruşturmamızda bize yardımcı olabilecek ek bilgiler. İsteğe bağlı. - Revolt\'u güvende tutmaya yardım ettiğiniz için teşekkür ederiz. Raporunuzu en kısa sürede inceleyeceğiz. + Peptide\'u güvende tutmaya yardım ettiğiniz için teşekkür ederiz. Raporunuzu en kısa sürede inceleyeceğiz. Belirtilen koda sahip bir davet bulunamadı. Material You bu cihazda desteklenmiyor. Takılmak, bir araya gelmek ve bir şeyler hakkında konuşmak için bir yer gibi. En iyi tarafı, internette olması. Üzgünüz, bu özellik henüz hazır değil. Bu kullanıcıyı raporlamak için zaman ayırdığınız için teşekkür ederiz. Raporunuz, kullanıcıyla veya sunucunun moderatörleriyle paylaşılmayacaktır. - Revolt, arkadaşlarınız ve topluluğunuzla her yerde, her zaman bağlantıda kalmanın en iyi yollarından biridir. + Peptide, arkadaşlarınız ve topluluğunuzla her yerde, her zaman bağlantıda kalmanın en iyi yollarından biridir. Diğerleri sizi bu isimle bulacak, tanıyacak ve anacaktır. Metin Kanalı Çıkış yaptın. Lütfen tekrar giriş yap. @@ -38,7 +38,7 @@ Tekrar Gönder E-posta gönder Şifreni mi unuttun\? - Revolt\'a Hoş Geldin + Peptide\'a Hoş Geldin E-posta Şifre Mailini kontrol et! @@ -50,7 +50,7 @@ Topluluk İlkeleri Topluluğunu bul, dünyayla bağlantı kur. Hadi gidelim - Bir şeyler hakkında sohbet etmek için Revolt\'u kullan. + Bir şeyler hakkında sohbet etmek için Peptide\'u kullan. Hadi seni hazırlayalım. E-posta adresini doğrula, ardından kullanıcı adını seçmeye geçelim. Kullanıcı adı seçme zamanı! @@ -203,7 +203,7 @@ Görünüm Tema Sistem - Revolt + Peptide Aydınlık Material You Materyal You (desteklenmeyen) @@ -229,18 +229,18 @@ Hayvanlar & Doğa Semboller Jenvolt\'a Katıl - Android\'te Revolt + Android\'te Peptide Bu projelerin geliştiricilerine, projelerini dünyaya sundukları için minnettarız. İnsanlar & Haller Arkadaşlar Gelen İstekler Giden İstekler Aktif Değil - Revolt bu harika açık kaynaklı projelerin yardımı ile oluşturuldu. + Peptide bu harika açık kaynaklı projelerin yardımı ile oluşturuldu. Aşağıdaki liste otomatik olarak oluşturulmuştur. Eksik veya hatalı bilgi içeriyor olabilir. Lisansı görüntülemek için dokunun Yüzler & Duygular - Revolt ekip üyesi + Peptide ekip üyesi Arkadaşlarda Ara Gün Doğum tarihini gir @@ -251,7 +251,7 @@ Aktif Bu linki insanlara gönder ve onları bu kanala davet et. Sil - Revolt ekibi tarafından ❤️ ile geliştirildi. + Peptide ekibi tarafından ❤️ ile geliştirildi. Görünmez Odak Rahatsız Etme @@ -314,7 +314,7 @@ %1$s\'den Özel bir sunucudan %1$s kanalının adı %2$s olarak değiştirildi - Revolt\'u her zamanki gibi kullanabileceksiniz, ancak diğer insanlara çevrimiçi olarak görünmeyeceksiniz. + Peptide\'u her zamanki gibi kullanabileceksiniz, ancak diğer insanlara çevrimiçi olarak görünmeyeceksiniz. Düz Metin Bu kanal silinmiş olabilir veya görüntüleme izniniz olmayabilir. Mesajlar için herhangi bir bildirim almayacaksınız, ancak @bahsetmeler için bildirim alacaksınız. @@ -350,7 +350,7 @@ Engelle Rapor et ID\'yi Kopyala - Revolt\'u Keşfet + Peptide\'u Keşfet Tut Açık kanal eylemleri Bu sunucu için henüz bir açıklama belirlenmemiş. @@ -391,8 +391,8 @@ Kanal Ayarları bu versiyon Kanalları ara - Lütfen Revolt\'ta paylaşmadan önce oturum açın. - Revolt\'ta paylaş + Lütfen Peptide\'ta paylaşmadan önce oturum açın. + Peptide\'ta paylaş Genel Bakış Dışa aktar Hata @@ -426,10 +426,10 @@ Birincil Olarak Birincil Kapsayıcı Sohbet - Geri bildirim veya önerilerde bulunmak ve hataları bildirmek için Revolt sunucusuna katılın. + Geri bildirim veya önerilerde bulunmak ve hataları bildirmek için Peptide sunucusuna katılın. Ne pişiriyor ✨ İzinler - Bu ek, Revolt için çok büyük (maks. $1$s). + Bu ek, Peptide için çok büyük (maks. $1$s). Kanalı Sil Bu kanalı silmek istediğinize emin misiniz\? Tüm mesajlar ve ayarlar bu kanal için sonsuza dek gidecek (uzun bir süre!) @@ -541,7 +541,7 @@ Profili paylaş Kullanıcı kartına bir göz at ve paylaşmak için özel bir bağlantı edin Değişiklik Günlüğü - Revolt asla uyumaz, nelerin yapıldığını görmek için bir göz at + Peptide asla uyumaz, nelerin yapıldığını görmek için bir göz at Geri bildirim sağlayın Söyleyecek bir şeyin mi var\? Hepimizin kulakları sende Genel bakış @@ -574,9 +574,9 @@ %1$d.Fotoğraf %1$d.Ad %1$d.Soyad - Revolt\'a şu tarihten beri üye: %1$d + Peptide\'a şu tarihten beri üye: %1$d [%1$s parçası] - Revolt klavye kısayollarına sahip! Onları görmek için %1$s tuşuna basınız. + Peptide klavye kısayollarına sahip! Onları görmek için %1$s tuşuna basınız. Kısayolları aç Pekâlâ Yeni Hat @@ -586,7 +586,7 @@ Test Kullanıcıları Sunucusuna Katılın Tamam Yeni Android uygulamamızı ilk deneyenlerden birisiniz Burada olmanızdan heyecan duyuyoruz! - Bu erken erişim olduğundan, işler henüz mükemmel olmayabilir. Ara sıra hatalarla karşılaşabilirsiniz. Geri bildiriminiz hataları düzeltmemize ve Revolt\'u daha da iyi hale getirmemize yardımcı olur. + Bu erken erişim olduğundan, işler henüz mükemmel olmayabilir. Ara sıra hatalarla karşılaşabilirsiniz. Geri bildiriminiz hataları düzeltmemize ve Peptide\'u daha da iyi hale getirmemize yardımcı olur. Anladım - Herhangi bir geri bildirimin, önerin veya hata bildirimin varsa lütfen bizi bundan haberdar et. Her zaman Revolt\'u iyileştirme peşindeyiz. + Herhangi bir geri bildirimin, önerin veya hata bildirimin varsa lütfen bizi bundan haberdar et. Her zaman Peptide\'u iyileştirme peşindeyiz. \ No newline at end of file diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index f6e91c9b..3d23584d 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -11,7 +11,7 @@ Натисніть для перепідключення Недостатній вік для використання платформи Будь-яка додаткова інформація, що може допомогти нам у розслідування. Не обов\'язково. - Дякуємо за те, що допомагаєте тримати Revolt в безпеці. Ми розглянемо вашу скаргу якнайшвидше. + Дякуємо за те, що допомагаєте тримати Peptide в безпеці. Ми розглянемо вашу скаргу якнайшвидше. Ви вже учасник цього серверу. Не вдалося знайти запрошення з таким кодом. Поділитися зображенням @@ -24,7 +24,7 @@ ID повідомлення скопійовано ID каналу скопійовано ID сервера скопійовано - Revolt — це один з найкращих шляхів залишатися на зв\'язку з друзями та спільнотою будь-де та будь-коли. + Peptide — це один з найкращих шляхів залишатися на зв\'язку з друзями та спільнотою будь-де та будь-коли. Проте, якщо ви зміните свою думку, ви завжди можете змінити його у своїх налаштуваннях. Це як місце, де можна позависати, зібратися гуртом та побалакати про всеньке. Найкраще те, що це в інтернеті. На цьому сервері зовсім відсутні канали. Нема навіть каналу з вітанням. Як грубо. @@ -57,9 +57,9 @@ Забули пароль\? Використовуєте менеджер паролів\? Забули свій пароль\? - Вітаємо у Revolt + Вітаємо у Peptide Отримуємо деяку інформацію, зачекайте… - Використовуйте Revolt для спілкування про будь-що. + Використовуйте Peptide для спілкування про будь-що. Електронна пошта Пароль Перевірте свою пошту! @@ -208,7 +208,7 @@ Загальне Зовнішній вигляд Тема - Revolt + Peptide Світла Чисто чорна Material You @@ -217,7 +217,7 @@ Невідоме повідомлення Особисті повідомлення Знайти сервери - Revolt побудований за допомогою цих чудових проєктів із відкритим вихідним кодом. + Peptide побудований за допомогою цих чудових проєктів із відкритим вихідним кодом. Останнє оновлення: %1$s Ми вдячні розробникам цих проєктів за те, що вони зробили свою роботу доступною для світу. Натисніть, щоб переглянути ліцензію @@ -233,7 +233,7 @@ Користувач приєднався Системне повідомлення Невидимий - Revolt на Android + Peptide на Android Версія Подробиці Вибір емодзі @@ -243,7 +243,7 @@ Об\'єкти Символи Прапори - Член команди Revolt + Член команди Peptide Друзі Вхідні запити Вихідні запити @@ -263,7 +263,7 @@ Не турбувати Ви не отримуватимете жодних повідомлень, в тому числі @згадування. Не в мережі - Ви зможете користуватися Revolt як зазвичай, але ви не будете відображатись онлайн для інших людей. + Ви зможете користуватися Peptide як зазвичай, але ви не будете відображатись онлайн для інших людей. Офіційний сервер Перевірений сервер Ви не можете переглядати цей канал @@ -320,7 +320,7 @@ ця версія Список змін для %1$s Значок каналу змінено - Створено з ❤️ для вас командою Revolt. + Створено з ❤️ для вас командою Peptide. Смайлики та емоції Люди та тіла Подорожі та місця @@ -367,7 +367,7 @@ Основний контейнер Сесія цього пристрою недоступна. Будь ласка, **увійдіть ще раз**, щоб побачити поточну сесію. Відкрийте для себе - Відкрийте Revolt + Відкрийте Peptide Розкажіть нам, що не так із цим сервером Вимагання чи шантаж Насильство, кроваві сцени або жорстоке поводження з тваринами @@ -392,7 +392,7 @@ Зворотна поверхня Зворотна поверхня При Помилці - Приєднуйтесь до сервера Revolt, щоб залишати відгуки, пропозиції та повідомляти про помилки. + Приєднуйтесь до сервера Peptide, щоб залишати відгуки, пропозиції та повідомляти про помилки. Позначити цей канал як NSFW\? Користувачам буде запропоновано підтвердити свій вік перед тим, як приєднатися до цього каналу. Позначити як NSFW @@ -434,7 +434,7 @@ Опис каналу Цей канал призначений виключно для розмови про… Позначити як NSFW - Це вкладення занадто велике для Revolt (максимум $1$). + Це вкладення занадто велике для Peptide (максимум $1$). Скрім Чат Смайлик за замовчуванням, який можна використовувати будь-де @@ -474,7 +474,7 @@ Залишити Приєднався Значки - Поділіться на Revolt - Будь ласка, авторизуйтесь, перш ніж ділитися на Revolt. + Поділіться на Peptide + Будь ласка, авторизуйтесь, перш ніж ділитися на Peptide. Це не є дійсним наміром поділитися. \ No newline at end of file diff --git a/app/src/main/res/values-v31/themes.xml b/app/src/main/res/values-v31/themes.xml index 8ecf0af9..bfa994a3 100644 --- a/app/src/main/res/values-v31/themes.xml +++ b/app/src/main/res/values-v31/themes.xml @@ -1,7 +1,7 @@ - \ No newline at end of file diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 0896eff1..48030049 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -16,8 +16,8 @@ 忘记密码? 正在使用密码管理器? 忘记密码了吗? - 欢迎来到 Revolt - 使用 Revolt 来谈天说地。 + 欢迎来到 Peptide + 使用 Peptide 来谈天说地。 这里是闲逛、聚会和聊天的场所。最棒的一点是,一切都在互联网上。 电子邮箱 我们会给您发送一封验证邮件以确认您的账户。 @@ -135,7 +135,7 @@ 提交 正在举报… 已举报 - 感谢您协助保护 Revolt 的安全。我们将尽快审核您的举报。 + 感谢您协助保护 Peptide 的安全。我们将尽快审核您的举报。 错误 在提交您的举报时,发生了一个错误。请稍后再试。 您要屏蔽这个用户吗? @@ -164,14 +164,14 @@ 杂项 主题 系统 - Revolt + Peptide 明亮 纯黑 Material You(不支持) 此设备不支持“Material You”。 服务条款 寻找您的社区,与世界相连接。 - Revolt 是与您的朋友和社区随时随地保持联络的最佳方式之一。 + Peptide 是与您的朋友和社区随时随地保持联络的最佳方式之一。 密码 重新发送 让我们为您登录 @@ -217,7 +217,7 @@ 外观 Material You 反馈 - 由 Revolt 团队用 ❤️ 为您呈现。 + 由 Peptide 团队用 ❤️ 为您呈现。 版本 详情 下面的列表是自动生成的。可能会不完整或不准确。 @@ -231,7 +231,7 @@ 符号 旗帜 平台管理员 - Revolt 团队成员 + Peptide 团队成员 加入 Jenvolt 好友 收到的请求 @@ -294,7 +294,7 @@ 无法向此用户发送私信。 此用户可能已被删除或者您没有权限查看。 复制 ID - Revolt on Android + Peptide on Android 笑脸和表情 食品与饮料 Jenvolt 是由开发者运营的空间,包含有关 Android 应用的各种内容。也用于提供支持和反馈。也许您还能体验到新功能!👀 @@ -303,12 +303,12 @@ 用户已踢出 离开 您不会收到任何消息的通知,但可以收到 @提及 的通知。 - 您可以照常使用 Revolt,但其他人不会看到您在线。 + 您可以照常使用 Peptide,但其他人不会看到您在线。 添加成员 %1$s 更改了频道简介 此服务器还没有设置简介。 悄悄离开 - Revolt 的诞生离不开这些优秀开源项目的帮助。 + Peptide 的诞生离不开这些优秀开源项目的帮助。 我们非常感谢这些项目的开发者将他们的工作成果奉献给全世界。 最后更新:%1$s 系统消息 @@ -384,7 +384,7 @@ 发现 告诉我们这条消息有什么问题 未经允许的广告或垃圾信息 - 发现 Revolt + 发现 Peptide 告诉我们这个服务器有什么问题 告诉我们这名用户有什么问题 毒品或其他违禁品 @@ -411,11 +411,11 @@ 关闭 邀请至 #%1$s 发送此链接以邀请其他人到此频道。 - 请先登录再分享到 Revolt。 - 此附件对于 Revolt 来说过大(最大为 $1$s)。 + 请先登录再分享到 Peptide。 + 此附件对于 Peptide 来说过大(最大为 $1$s)。 搜索频道 请选择要分享到的频道。 - 分享到 Revolt + 分享到 Peptide 这不是有效的分享 Intent。 此频道被标记为工作场所不宜 继续 @@ -434,7 +434,7 @@ 您不能在 %1$d 之前出生。 删除 保留 - 加入 Revolt 服务器来提出反馈建议和报告错误。 + 加入 Peptide 服务器来提出反馈建议和报告错误。 新群组 创建新群组 这是个机器人。它很有主见。 @@ -550,7 +550,7 @@ 分享个人资料 查看您的用户卡片并获取特殊的分享链接 更新记录 - Revolt 从未停歇,看看我们更新了什么 + Peptide 从未停歇,看看我们更新了什么 提供反馈 想表达看法?我们在倾听 您发现了一个 Webhook! @@ -564,14 +564,14 @@ 分享您的用户卡片时发生了一个错误。 %1$d.名称 %1$d.用户名 - %1$d.加入 Revolt 时间 + %1$d.加入 Peptide 时间 %1$d.二维码 %1$d.照片 在您登录时出现了问题 您可能已经在另一个设备上登出,或者您的互联网连接已断开。 [%1$s 片段] 正在使用键盘? - Revolt 支持键盘快捷键!按下 %1$s 来查看。 + Peptide 支持键盘快捷键!按下 %1$s 来查看。 消息 发送消息 打开快捷键 @@ -582,19 +582,19 @@ 换行 欢迎参与抢先体验!🚀 您是第一批试用我们全新 Android 应用程序的用户。很高兴有您的参与! - 因为是抢先体验,所以一些功能还不完善。您可能会偶尔遇到错误、崩溃或奇怪的行为。您的反馈能帮助我们打磨 Revolt,让它变得更好。 + 因为是抢先体验,所以一些功能还不完善。您可能会偶尔遇到错误、崩溃或奇怪的行为。您的反馈能帮助我们打磨 Peptide,让它变得更好。 我们很荣幸有您的加入。我们可以一起取得成就! 了解 我们热爱反馈! - 如果您有任何反馈、建议或错误报告,请告诉我们。我们始终致力于改进 Revolt。 + 如果您有任何反馈、建议或错误报告,请告诉我们。我们始终致力于改进 Peptide。 在 Google Play 上评价 加入测试者服务器 完成 通知 服务器排序 - Revolt for Android + Peptide for Android %1$s(未知) 提示 - 您的部分 Revolt 设置已损坏。这可能是第三方客户端导致的。受影响的设置有: + 您的部分 Peptide 设置已损坏。这可能是第三方客户端导致的。受影响的设置有: 重置 %1$s 设置 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cee96118..a56eb6bd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ - Revolt + Peptide ← Back Next → @@ -54,8 +54,8 @@ Forgot your password? Enter your email and we\'ll send you instructions on how to reset your password. - Welcome to Revolt - Use Revolt to chat about stuff. + Welcome to Peptide + Use Peptide to chat about stuff. It\'s like a place to hang out, get together, and talk about stuff. Best part, it\'s on the internet. Make it Official! New Here? Let’s Get You Set Up! @@ -93,13 +93,13 @@ Enter your password to continue. About - Revolt on Android - Brought to you with ❤️ by the Revolt team. + Peptide on Android + Brought to you with ❤️ by the Peptide team. Version Details OSS Attribution - Revolt is built with the help of these awesome open-source projects. + Peptide is built with the help of these awesome open-source projects. We\'re grateful to the developers of these projects for making their work available to the world. The list below is automatically generated. It may be incomplete or inaccurate. Last updated: %1$s @@ -141,7 +141,7 @@ Bot From linked channel Platform moderation - Revolt team member + Peptide team member Webhook Unknown @@ -161,7 +161,7 @@ Share Profile Take a look at your user card and get a special link to share Changelog - Revolt never sleeps, take a look to see what\'s been in the works + Peptide never sleeps, take a look to see what\'s been in the works Provide Feedback Got something to say? We\'re all ears @@ -169,7 +169,7 @@ An error occurred while sharing your user card. %1$d.Name %1$d.Username - %1$d.On Revolt Since + %1$d.On Peptide Since %1$d.QR Code %1$d.Photo @@ -182,7 +182,7 @@ New group Scan QR code Invalid QR code - This is not a valid Revolt QR code. + This is not a valid Peptide QR code. Missing camera permission You need to grant the camera permission to scan QR codes. Add friend? @@ -312,7 +312,7 @@ You will not receive any notifications, including messages and @mentions. Offline Invisible - You will be able to use Revolt as usual, but you will not appear as online to other people. + You will be able to use Peptide as usual, but you will not appear as online to other people. What\'s up? Status text Your status text will be visible to everyone. Keep it short and sweet. @@ -429,7 +429,7 @@ This user\'s bio could not be fetched. Please verify you share a server or are friends. Roles Joined - Revolt + Peptide Badges Owner Could not fetch owner information @@ -475,7 +475,7 @@ Examples of invite codes include: rvlt.gg/Testers Testers - app.revolt.chat/invite/Testers + app.peptide.chat/invite/Testers Invite code or link Join Create a Server @@ -486,7 +486,7 @@ An error occurred while creating your server. Please try again later. Create - Discover Revolt + Discover Peptide Report Cancel @@ -534,7 +534,7 @@ Reporting… Reported - Thank you for helping to keep Revolt safe. We will review your report as soon as possible. + Thank you for helping to keep Peptide safe. We will review your report as soon as possible. Error An error occurred while submitting your report. Please try again later. @@ -643,13 +643,13 @@ Not now Using a keyboard? - Revolt has keyboard shortcuts! Press %1$s to see them. + Peptide has keyboard shortcuts! Press %1$s to see them. Open shortcuts Alright Welcome to Early Access! 🚀 You\'re one of the first to try out our new Android app. We\'re excited to have you here! - Since this is early access, things might not be perfect just yet. You might run into the occasional bug, crash, or weird quirk. Your feedback helps us smooth out the rough edges and make Revolt even better. + Since this is early access, things might not be perfect just yet. You might run into the occasional bug, crash, or weird quirk. Your feedback helps us smooth out the rough edges and make Peptide even better. We\'re thrilled to have you on board. Let\'s make something great together! Got it @@ -659,7 +659,7 @@ Customise Quick Reply We love feedback! - If you have any feedback, suggestions, or bug reports, please let us know. We\'re always looking to improve Revolt. + If you have any feedback, suggestions, or bug reports, please let us know. We\'re always looking to improve Peptide. Rate on Google Play Join Testers Server Done @@ -671,7 +671,7 @@ Account General Miscellaneous - Revolt v%1$s + Peptide v%1$s Profile Profile picture @@ -692,7 +692,7 @@ Appearance Theme System - Revolt + Peptide Light Pure Black Material You @@ -747,15 +747,15 @@ YouTube Apple Music Hint - Some of your Revolt settings are corrupted. This may be due to the use of third-party clients. The affected settings are: + Some of your Peptide settings are corrupted. This may be due to the use of third-party clients. The affected settings are: Notifications Server Ordering - Revolt for Android + Peptide for Android %1$s (unknown) Reset %1$s settings Feedback - Join the Revolt server to give feedback or suggestions and report bugs. + Join the Peptide server to give feedback or suggestions and report bugs. Changelogs What\'s been cooking ✨ @@ -791,10 +791,10 @@ Delete Keep - Share to Revolt - Please log in before sharing to Revolt. + Share to Peptide + Please log in before sharing to Peptide. This is not a valid share intent. - This attachment is too large for Revolt (max. $1$s). + This attachment is too large for Peptide (max. $1$s). Search channels Select a channel to share to. @@ -809,7 +809,7 @@ Not available in your region Unavailable channel - Revolt may block content in certain jurisdictions in response to legislation or legal notices + Peptide may block content in certain jurisdictions in response to legislation or legal notices This channel is not available in your region while we review options on legal compliance. Acknowledge diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 27cdad54..3b0ff957 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,27 +1,27 @@ - - - - \ No newline at end of file diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index 9d925410..5005be3d 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -4,13 +4,13 @@ import markdownIntegration from "@astropub/md" // https://astro.build/config export default defineConfig({ - site: "https://revoltchat.github.io", + site: "https://peptidechat.github.io", base: "/android", integrations: [ starlight({ - title: "Revolt on Android Technical Documentation", + title: "Peptide on Android Technical Documentation", social: { - github: "https://github.com/revoltchat/android", + github: "https://github.com/peptidechat/android", }, sidebar: [ { diff --git a/docs/src/content/changelogs/1002000.md b/docs/src/content/changelogs/1002000.md index 3ef89e73..763dcc11 100644 --- a/docs/src/content/changelogs/1002000.md +++ b/docs/src/content/changelogs/1002000.md @@ -26,7 +26,7 @@ version. You might have noticed that the good ol' grid-o-images that we used to have for picking images has suddenly disappeared by a new and confusing picker picker, something like this: -![Image Picker](https://autumn.revolt.chat/attachments/DH2pQiE_XbyUE5gpQYTIgPcUmVZ49xSaR3jrloELY9) +![Image Picker](https://autumn.peptide.chat/attachments/DH2pQiE_XbyUE5gpQYTIgPcUmVZ49xSaR3jrloELY9) Sure enough, the rightmost two buttons seem self-explanatory. **Files** lets you pick any file on your device, and **Camera** lets you take a picture. But what about the leftmost button? The big @@ -67,7 +67,7 @@ that tablets exist, and the sidebar is optimized for them too. Here's a screenshot of the new sidebar: -![Sidebar](https://autumn.revolt.chat/attachments/rqo986CIx22IE_Z6fRx-UP1rLpQQBCJX9uxqnnlhUx) +![Sidebar](https://autumn.peptide.chat/attachments/rqo986CIx22IE_Z6fRx-UP1rLpQQBCJX9uxqnnlhUx) ## Bottom Sheet Aesthetic Fix @@ -81,6 +81,6 @@ came rather than chilling at the bottom of the screen for a second. That's all for this update. We hope you enjoy the new features and improvements. As always, if you have any feedback, feel free to let us know in the channels on Jenvolt (the invite you shall find on the app's "Home" screen or [by clicking here for free](https://rvlt.gg/jen)). We're always -listening and we're always working to make Revolt on Android better. +listening and we're always working to make Peptide on Android better. We'll see you in the next update! \ No newline at end of file diff --git a/docs/src/content/changelogs/1002001.md b/docs/src/content/changelogs/1002001.md index 1cd6d841..89c2b7ad 100644 --- a/docs/src/content/changelogs/1002001.md +++ b/docs/src/content/changelogs/1002001.md @@ -15,7 +15,7 @@ This update brings you a brand new colour picker, and it's a doozy. ## Colour Picker -At Revolt, we've always been a bit more about customisation than the other guys. And what's more +At Peptide, we've always been a bit more about customisation than the other guys. And what's more customisable than colours? This is why we've been shipping Material You support since our very first internal builds. @@ -30,13 +30,13 @@ ground up, built to compete with what the iOS team has recently built into their Of course, team iOS is at an advantage here, because they have a system-wide colour picker. Android historically hasn't had one, so we had to build our own. Here's our new colour picker: -![Sliders tab](https://autumn.revolt.chat/attachments/fFmNZinvfdWroWWfLEEC5yF7G3MrIS0x09K2AN6DeT) +![Sliders tab](https://autumn.peptide.chat/attachments/fFmNZinvfdWroWWfLEEC5yF7G3MrIS0x09K2AN6DeT) The new colour picker has three tabs: **Sliders**, **Palette**, and **Hex**. The **Sliders** tab lets you pick colours using HSV sliders, which is especially helpful for picking colours that are harmonious with each other, which you probably want to do if you're customising the app's colours. -![Palette tab](https://autumn.revolt.chat/attachments/vQXKvZikyoEBN6fBGLjHj_DKQJ9XN12s_H9-7hMrB4) +![Palette tab](https://autumn.peptide.chat/attachments/vQXKvZikyoEBN6fBGLjHj_DKQJ9XN12s_H9-7hMrB4) The **Palette** tab lets you pick colours from a predefined palette. This is especially helpful if you're not sure what colours you want to use, or if you're just looking for a quick colour to use. @@ -44,7 +44,7 @@ Our palette is from the fine folks at [Tailwind CSS](https://tailwindcss.com/) a carefully curated to give you a wide range of colours to choose from. Round of applause for Team Tailwind! 👏 -![Hex tab](https://autumn.revolt.chat/attachments/-fA87N8uDyytFTDQ2eEG_22M3n9SyaBsWA_5Z63WwV) +![Hex tab](https://autumn.peptide.chat/attachments/-fA87N8uDyytFTDQ2eEG_22M3n9SyaBsWA_5Z63WwV) The **Hex** tab lets you input colours using hex codes. This is especially helpful if you have a specific colour in mind, or if you're importing a theme from elsewhere. diff --git a/docs/src/content/changelogs/1003000.md b/docs/src/content/changelogs/1003000.md index d659a33e..3143e4e4 100644 --- a/docs/src/content/changelogs/1003000.md +++ b/docs/src/content/changelogs/1003000.md @@ -19,4 +19,4 @@ Highlights include: has been fixed. For a full list of changes, see -the [complete changelog](https://revolt.chat/updates/android-january2025) on our revamped website! \ No newline at end of file +the [complete changelog](https://peptide.chat/updates/android-january2025) on our revamped website! \ No newline at end of file diff --git a/docs/src/content/docs/beta/availability-regions.md b/docs/src/content/docs/beta/availability-regions.md index 11b658b4..b065bcfa 100644 --- a/docs/src/content/docs/beta/availability-regions.md +++ b/docs/src/content/docs/beta/availability-regions.md @@ -1,10 +1,10 @@ --- title: Geographic Availability of the Beta Test -description: Find out where you can join the beta test for Revolt on Android. +description: Find out where you can join the beta test for Peptide on Android. template: doc --- -The beta test for Revolt on Android is available for testers in the following jurisdictions: +The beta test for Peptide on Android is available for testers in the following jurisdictions: - Armenia - Australia diff --git a/docs/src/content/docs/beta/joining-the-public-beta-test.md b/docs/src/content/docs/beta/joining-the-public-beta-test.md index 51770263..2f98d56b 100644 --- a/docs/src/content/docs/beta/joining-the-public-beta-test.md +++ b/docs/src/content/docs/beta/joining-the-public-beta-test.md @@ -1,20 +1,20 @@ --- title: Joining the Public Beta Test -description: Learn how to join the public beta test for Revolt for Android. +description: Learn how to join the public beta test for Peptide for Android. template: doc --- -The public beta test for Revolt for Android is available to anyone with an Android device -in [those jurisdictions](https://revoltchat.github.io/android/beta/availability-regions/) where the +The public beta test for Peptide for Android is available to anyone with an Android device +in [those jurisdictions](https://peptidechat.github.io/android/beta/availability-regions/) where the beta test is available. The beta test is open to everyone, and you can join the beta test by following these steps: -1. [Join the Revolt for Android Alpha Track on Google Groups](https://groups.google.com/g/revolt-android-alpha-track). -2. [Opt-in to the Revolt for Android Beta Test on Google Play](https://play.google.com/apps/testing/chat.peptide). -3. [Download Revolt for Android from Google Play](https://play.google.com/store/apps/details?id=chat.peptide). +1. [Join the Peptide for Android Alpha Track on Google Groups](https://groups.google.com/g/peptide-android-alpha-track). +2. [Opt-in to the Peptide for Android Beta Test on Google Play](https://play.google.com/apps/testing/chat.peptide). +3. [Download Peptide for Android from Google Play](https://play.google.com/store/apps/details?id=chat.peptide). -You're all set! You can now use Revolt on Android and help us test new features and improvements. +You're all set! You can now use Peptide on Android and help us test new features and improvements. If you encounter any issues or have any feedback, please let us know by [reporting an issue](https://androidtasks.starlightjen.com/) -or [joining the Revolt Developers server](https://rvlt.gg/api). \ No newline at end of file +or [joining the Peptide Developers server](https://rvlt.gg/api). \ No newline at end of file diff --git a/docs/src/content/docs/contributing/guidelines.md b/docs/src/content/docs/contributing/guidelines.md index faa5727c..77b6a2fe 100644 --- a/docs/src/content/docs/contributing/guidelines.md +++ b/docs/src/content/docs/contributing/guidelines.md @@ -1,21 +1,21 @@ --- title: Contribution Guidelines -description: Read the guidelines before setting out to contribute to Revolt on Android. +description: Read the guidelines before setting out to contribute to Peptide on Android. template: doc --- -This page contains the guidelines for contributing to Revolt on Android. These guidelines are +This page contains the guidelines for contributing to Peptide on Android. These guidelines are important to ensure that your contribution is accepted and merged into the main codebase. :::danger -Make sure you read these guidelines _before starting to contribute_ to Revolt on Android. +Make sure you read these guidelines _before starting to contribute_ to Peptide on Android. If you do not follow these guidelines, your contribution may be rejected! ::: ## Before You Start - Make sure you have read - the [Code of Conduct](https://github.com/revoltchat/.github/blob/master/.github/CODE_OF_CONDUCT.md) + the [Code of Conduct](https://github.com/peptidechat/.github/blob/master/.github/CODE_OF_CONDUCT.md) before contributing. You must follow it at all times. Before you start contributing, you first need to know what to contribute. Based on that, you must @@ -23,7 +23,7 @@ make a decision: :::tip[Translation] If you want to contribute to translations, you can do so by -visiting [Weblate](https://translate.revolt.chat/projects/revolt/android/). +visiting [Weblate](https://translate.peptide.chat/projects/peptide/android/). ::: #### I want to fix a bug @@ -42,13 +42,13 @@ If you are fixing a bug, you must follow these guidelines: you are adding a feature, you must follow these guidelines: - The feature must be useful to a wide variety of users. -- UI/UX is centrally managed by Revolt's design team. Make sure your feature aligns closely with the +- UI/UX is centrally managed by Peptide's design team. Make sure your feature aligns closely with the current design as well as [Material 3](https://m3.material.io/). - If you need any new UI, you are recommended to request a design from the design team and implement it as per the design. If your UI/UX is not up to the mark, your PR may be rejected by the design team. - The feature must not be a duplicate of an existing feature. -- If you are adding a new feature, you should consult with the Android team at Revolt to make sure +- If you are adding a new feature, you should consult with the Android team at Peptide to make sure that the feature is not already in development or planned for the future. Conflicting features will not be merged. diff --git a/docs/src/content/docs/contributing/setup.mdx b/docs/src/content/docs/contributing/setup.mdx index e69c28a3..d01dba45 100644 --- a/docs/src/content/docs/contributing/setup.mdx +++ b/docs/src/content/docs/contributing/setup.mdx @@ -1,10 +1,10 @@ --- title: Setting up your Development Environment -description: A guide to setting up your development environment for Revolt on Android. +description: A guide to setting up your development environment for Peptide on Android. template: doc --- -This page contains the guidelines for setting up your development environment for Revolt on Android. These guidelines are important to ensure that your development environment is set up correctly and you can start contributing to the project. +This page contains the guidelines for setting up your development environment for Peptide on Android. These guidelines are important to ensure that your development environment is set up correctly and you can start contributing to the project. If you want to compile the app for yourself, you can also follow these guidelines, however you may not need Android Studio and it may be possible to build the app using the command line, out of the scope of this guide. @@ -85,7 +85,7 @@ import { Tabs, TabItem, Steps } from "@astrojs/starlight/components" 4. Clone the repository. ```sh - git clone --recursive https://github.com/revoltchat/android.git + git clone --recursive https://github.com/peptidechat/android.git ``` Specify `--recursive` to ensure that submodules are cloned as well. @@ -105,13 +105,13 @@ import { Tabs, TabItem, Steps } from "@astrojs/starlight/components" deno run -A scripts/download_deps.ts ``` -8. Copy the `revoltbuild.properties.example` file to `revoltbuild.properties` and fill in the required values. +8. Copy the `peptidebuild.properties.example` file to `peptidebuild.properties` and fill in the required values. ```sh - cp revoltbuild.properties.example revoltbuild.properties + cp peptidebuild.properties.example peptidebuild.properties ``` - The `revoltbuild.properties` file contains the following properties: + The `peptidebuild.properties` file contains the following properties: | Property | Description | | ------------------------ | ---------------------------------------------- | @@ -142,6 +142,6 @@ import { Tabs, TabItem, Steps } from "@astrojs/starlight/components" You can build the project by clicking on the 'Run' button in Android Studio. If asked, build the `:app` module. -11. **You're all set!** You can now start contributing to Revolt on Android. +11. **You're all set!** You can now start contributing to Peptide on Android. diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx index 3acfc02a..0e50c2e1 100644 --- a/docs/src/content/docs/index.mdx +++ b/docs/src/content/docs/index.mdx @@ -1,6 +1,6 @@ --- -title: Revolt on Android — Technical Documentation -description: A guide to getting started with Revolt on Android. +title: Peptide on Android — Technical Documentation +description: A guide to getting started with Peptide on Android. template: splash hero: image: diff --git a/sentry.properties.example b/sentry.properties.example index ada0775e..fe482266 100644 --- a/sentry.properties.example +++ b/sentry.properties.example @@ -1,4 +1,4 @@ defaults.url=https://sentry.actual.tld -defaults.project=not-revolt +defaults.project=not-peptide defaults.org=generic-chat-platform-inc auth.token= \ No newline at end of file