diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 9fa5e35e..0f7f4396 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -8,11 +8,12 @@
+
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index a74ebba4..12731b42 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -5,10 +5,16 @@
+
+
+
+
+
+
@@ -21,6 +27,9 @@
+
+
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 3b6776a9..14532751 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -10,7 +10,7 @@
-
+
diff --git a/README.md b/README.md
index 51d1c5a1..216046c0 100644
--- a/README.md
+++ b/README.md
@@ -6,10 +6,10 @@ This is the official Android app for the [Revolt](https://revolt.chat) chat plat
The codebase includes the app itself, as well as an internal library for interacting with the Revolt
API.
-| Module | Description |
-|----------------|-----------------------------------------|
-| `:app` | The main app module. |
-| `:lettertrees` | A library for parsing text into an AST. |
+| Module | Package | Description |
+|-------------|------------------------|----------------------|
+| `:app` | `chat.revolt` | The main app module. |
+| `:markdown` | `chat.revolt.markdown` | Markdown library. |
The API library is part of the `app` module, and is not intended to be used as a standalone library,
as it makes liberal use of Android-specific APIs for reactivity.
diff --git a/app/build.gradle b/app/build.gradle
index db9bc21a..0eed5313 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,8 +105,8 @@ dependencies {
implementation "androidx.datastore:datastore-preferences:1.1.0-alpha01"
implementation "androidx.datastore:datastore:1.1.0-alpha01"
- // Lettertrees
- implementation project(':lettertrees')
+ // Markdown
+ implementation project(':markdown')
}
kapt {
diff --git a/app/src/main/java/chat/revolt/components/chat/Message.kt b/app/src/main/java/chat/revolt/components/chat/Message.kt
index 04a9d88e..a2781b49 100644
--- a/app/src/main/java/chat/revolt/components/chat/Message.kt
+++ b/app/src/main/java/chat/revolt/components/chat/Message.kt
@@ -25,7 +25,7 @@ import chat.revolt.api.RevoltAPI
import chat.revolt.api.internals.ULID
import chat.revolt.api.schemas.AutumnResource
import chat.revolt.components.generic.RemoteImage
-import chat.revolt.lettertrees.Renderer
+import chat.revolt.markdown.Renderer
import chat.revolt.api.schemas.Message as MessageSchema
fun viewAttachmentInBrowser(ctx: android.content.Context, attachment: AutumnResource) {
diff --git a/app/src/main/java/chat/revolt/screens/chat/views/ChannelScreen.kt b/app/src/main/java/chat/revolt/screens/chat/views/ChannelScreen.kt
index 2b07b87f..a52656e9 100644
--- a/app/src/main/java/chat/revolt/screens/chat/views/ChannelScreen.kt
+++ b/app/src/main/java/chat/revolt/screens/chat/views/ChannelScreen.kt
@@ -487,7 +487,17 @@ fun ChannelScreen(
}
}
- androidx.compose.animation.AnimatedVisibility(!isScrolledToBottom.value) {
+ androidx.compose.animation.AnimatedVisibility(
+ !isScrolledToBottom.value,
+ enter = slideInHorizontally(
+ animationSpec = RevoltTweenInt,
+ initialOffsetX = { -it },
+ ) + fadeIn(animationSpec = RevoltTweenFloat),
+ exit = slideOutHorizontally(
+ animationSpec = RevoltTweenInt,
+ targetOffsetX = { -it },
+ ) + fadeOut(animationSpec = RevoltTweenFloat)
+ ) {
ExtendedFloatingActionButton(
modifier = Modifier
.align(Alignment.BottomEnd)
@@ -506,8 +516,8 @@ fun ChannelScreen(
lazyListState.animateScrollToItem(viewModel.renderableMessages.size)
}
},
- contentColor = MaterialTheme.colorScheme.onSecondary,
- containerColor = MaterialTheme.colorScheme.secondary
+ contentColor = MaterialTheme.colorScheme.onPrimary,
+ containerColor = MaterialTheme.colorScheme.primary
)
}
}
diff --git a/lettertrees/src/main/java/chat/revolt/lettertrees/parser/Parser.kt b/lettertrees/src/main/java/chat/revolt/lettertrees/parser/Parser.kt
deleted file mode 100644
index 164260c4..00000000
--- a/lettertrees/src/main/java/chat/revolt/lettertrees/parser/Parser.kt
+++ /dev/null
@@ -1,4 +0,0 @@
-package chat.revolt.lettertrees.parser
-
-class Parser {
-}
diff --git a/lettertrees/.gitignore b/markdown/.gitignore
similarity index 100%
rename from lettertrees/.gitignore
rename to markdown/.gitignore
diff --git a/lettertrees/build.gradle b/markdown/build.gradle
similarity index 96%
rename from lettertrees/build.gradle
rename to markdown/build.gradle
index 57ac653e..87c7d51f 100644
--- a/lettertrees/build.gradle
+++ b/markdown/build.gradle
@@ -4,7 +4,7 @@ plugins {
}
android {
- namespace 'chat.revolt.lettertrees'
+ namespace 'chat.revolt.markdown'
compileSdk 33
defaultConfig {
diff --git a/lettertrees/consumer-rules.pro b/markdown/consumer-rules.pro
similarity index 100%
rename from lettertrees/consumer-rules.pro
rename to markdown/consumer-rules.pro
diff --git a/lettertrees/proguard-rules.pro b/markdown/proguard-rules.pro
similarity index 100%
rename from lettertrees/proguard-rules.pro
rename to markdown/proguard-rules.pro
diff --git a/lettertrees/src/main/AndroidManifest.xml b/markdown/src/main/AndroidManifest.xml
similarity index 100%
rename from lettertrees/src/main/AndroidManifest.xml
rename to markdown/src/main/AndroidManifest.xml
diff --git a/lettertrees/src/main/java/chat/revolt/lettertrees/Renderer.kt b/markdown/src/main/java/chat/revolt/markdown/Renderer.kt
similarity index 95%
rename from lettertrees/src/main/java/chat/revolt/lettertrees/Renderer.kt
rename to markdown/src/main/java/chat/revolt/markdown/Renderer.kt
index 689481c1..362d8a19 100644
--- a/lettertrees/src/main/java/chat/revolt/lettertrees/Renderer.kt
+++ b/markdown/src/main/java/chat/revolt/markdown/Renderer.kt
@@ -1,4 +1,4 @@
-package chat.revolt.lettertrees
+package chat.revolt.markdown
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.SpanStyle
diff --git a/lettertrees/src/main/java/chat/revolt/lettertrees/ast/MdAst.kt b/markdown/src/main/java/chat/revolt/markdown/ast/MdAst.kt
similarity index 97%
rename from lettertrees/src/main/java/chat/revolt/lettertrees/ast/MdAst.kt
rename to markdown/src/main/java/chat/revolt/markdown/ast/MdAst.kt
index af6032ff..0b15a5a6 100644
--- a/lettertrees/src/main/java/chat/revolt/lettertrees/ast/MdAst.kt
+++ b/markdown/src/main/java/chat/revolt/markdown/ast/MdAst.kt
@@ -1,4 +1,4 @@
-package chat.revolt.lettertrees.ast
+package chat.revolt.markdown.ast
/*
* SPECS:
diff --git a/lettertrees/src/main/java/chat/revolt/lettertrees/ast/UniSt.kt b/markdown/src/main/java/chat/revolt/markdown/ast/UniSt.kt
similarity index 97%
rename from lettertrees/src/main/java/chat/revolt/lettertrees/ast/UniSt.kt
rename to markdown/src/main/java/chat/revolt/markdown/ast/UniSt.kt
index 8e2c4ed2..325b6458 100644
--- a/lettertrees/src/main/java/chat/revolt/lettertrees/ast/UniSt.kt
+++ b/markdown/src/main/java/chat/revolt/markdown/ast/UniSt.kt
@@ -1,4 +1,4 @@
-package chat.revolt.lettertrees.ast
+package chat.revolt.markdown.ast
/*
* SPECS:
diff --git a/markdown/src/main/java/chat/revolt/markdown/parser/Parser.kt b/markdown/src/main/java/chat/revolt/markdown/parser/Parser.kt
new file mode 100644
index 00000000..e18fad61
--- /dev/null
+++ b/markdown/src/main/java/chat/revolt/markdown/parser/Parser.kt
@@ -0,0 +1,4 @@
+package chat.revolt.markdown.parser
+
+class Parser {
+}
diff --git a/lettertrees/src/test/java/chat/revolt/lettertrees/ExampleUnitTest.kt b/markdown/src/test/java/chat/revolt/markdown/ExampleUnitTest.kt
similarity index 90%
rename from lettertrees/src/test/java/chat/revolt/lettertrees/ExampleUnitTest.kt
rename to markdown/src/test/java/chat/revolt/markdown/ExampleUnitTest.kt
index f93f9fc5..bd772617 100644
--- a/lettertrees/src/test/java/chat/revolt/lettertrees/ExampleUnitTest.kt
+++ b/markdown/src/test/java/chat/revolt/markdown/ExampleUnitTest.kt
@@ -1,4 +1,4 @@
-package chat.revolt.lettertrees
+package chat.revolt.markdown
import org.junit.Test
diff --git a/settings.gradle b/settings.gradle
index 7e2e4366..bd43743c 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -14,4 +14,4 @@ dependencyResolutionManagement {
}
rootProject.name = "Revolt"
include ':app'
-include ':lettertrees'
+include ':markdown'