Skip to content

Commit

Permalink
Merge pull request #180 from DimensionDev/feature/platform_xqt
Browse files Browse the repository at this point in the history
add xQt platform
  • Loading branch information
Tlaster committed Jan 25, 2024
2 parents f3943db + f0b289a commit 70ced4c
Show file tree
Hide file tree
Showing 311 changed files with 15,548 additions and 2,814 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
![badge-Mastodon](https://img.shields.io/badge/Social-Mastodon-5d52ea)
![badge-Misskey](https://img.shields.io/badge/Social-Misskey-acea31)
![badge-Bluesky](https://img.shields.io/badge/Social-Bluesky-blue)
![badge-xQt](https://img.shields.io/badge/Social-xQt-black)

The ultimate next generation open-sourced AI powered decentralized social network client for Android/iOS.
The ultimate next generation open-sourced AI powered decentralized social network client for Android/iOS/macOS.
2 changes: 2 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,8 @@ dependencies {

implementation(projects.shared)

implementation("io.github.kevinnzou:compose-webview:0.33.3")

if (project.file("google-services.json").exists()) {
implementation(platform(libs.firebase.bom))
implementation(libs.firebase.crashlytics.ktx)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ data class AppearanceSettings(
val mastodon: Mastodon = Mastodon(),
val misskey: Misskey = Misskey(),
val bluesky: Bluesky = Bluesky(),
val xqt: XQT = XQT(),
) {
@Serializable
data class Mastodon(
Expand Down Expand Up @@ -74,7 +75,7 @@ data class AppearanceSettings(
NONE(R.string.swipe_action_nothing, Icons.Default.HideSource),
REPLY(R.string.swipe_action_reply, Icons.AutoMirrored.Filled.Reply),
RENOTE(R.string.swipe_action_renote, Icons.Default.SyncAlt),
FAVOURITE(R.string.swipe_action_favourite, Icons.Default.Favorite),
ADDREACTION(R.string.swipe_action_favourite, Icons.Default.Favorite),
}
}

Expand All @@ -93,6 +94,22 @@ data class AppearanceSettings(
FAVOURITE(R.string.swipe_action_favourite, Icons.Default.Favorite),
}
}

@Serializable
data class XQT(
val swipeLeft: SwipeActions = SwipeActions.REPLY,
val swipeRight: SwipeActions = SwipeActions.NONE,
) {
enum class SwipeActions(
@StringRes val id: Int,
val icon: ImageVector,
) {
NONE(R.string.swipe_action_nothing, Icons.Default.HideSource),
REPLY(R.string.swipe_action_reply, Icons.AutoMirrored.Filled.Reply),
REBLOG(R.string.swipe_action_reblog, Icons.Default.SyncAlt),
FAVOURITE(R.string.swipe_action_favourite, Icons.Default.Favorite),
}
}
}

enum class Theme {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import androidx.annotation.RequiresPermission
import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
import dev.dimension.flare.R
import dev.dimension.flare.data.datasource.ComposeData
import dev.dimension.flare.data.datasource.microblog.ComposeData
import dev.dimension.flare.ui.presenter.compose.ComposeProgressState
import dev.dimension.flare.ui.presenter.compose.ComposeUseCase
import kotlinx.coroutines.CoroutineScope
Expand Down
26 changes: 13 additions & 13 deletions app/src/main/java/dev/dimension/flare/di/AndroidModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,31 @@ package dev.dimension.flare.di
import dev.dimension.flare.common.PlayerPoll
import dev.dimension.flare.data.repository.ComposeNotifyUseCase
import dev.dimension.flare.data.repository.SettingsRepository
import dev.dimension.flare.ui.component.status.DefaultStatusEvent
import dev.dimension.flare.ui.component.status.StatusEvent
import dev.dimension.flare.ui.component.status.bluesky.BlueskyStatusEvent
import dev.dimension.flare.ui.component.status.bluesky.DefaultBlueskyStatusEvent
import dev.dimension.flare.ui.component.status.mastodon.DefaultMastodonStatusEvent
import dev.dimension.flare.ui.component.status.mastodon.MastodonStatusEvent
import dev.dimension.flare.ui.component.status.misskey.DefaultMisskeyStatusEvent
import dev.dimension.flare.ui.component.status.misskey.MisskeyStatusEvent
import dev.dimension.flare.ui.component.status.xqt.XQTStatusEvent
import org.koin.core.module.dsl.binds
import org.koin.core.module.dsl.singleOf
import org.koin.core.module.dsl.withOptions
import org.koin.dsl.module

val androidModule =
module {
singleOf(::DefaultBlueskyStatusEvent) withOptions {
binds(listOf(BlueskyStatusEvent::class))
}
singleOf(::DefaultMisskeyStatusEvent) withOptions {
binds(listOf(MisskeyStatusEvent::class))
}
singleOf(::DefaultMastodonStatusEvent) withOptions {
binds(listOf(MastodonStatusEvent::class))
}
singleOf(::ComposeNotifyUseCase)
singleOf(::StatusEvent)
singleOf(::DefaultStatusEvent) withOptions {
binds(
listOf(
MastodonStatusEvent::class,
MisskeyStatusEvent::class,
BlueskyStatusEvent::class,
XQTStatusEvent::class,
StatusEvent::class,
),
)
}
singleOf(::SettingsRepository)
singleOf(::PlayerPoll)
}
5 changes: 3 additions & 2 deletions app/src/main/java/dev/dimension/flare/ui/AppContainer.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,16 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import com.ramcosta.composedestinations.DestinationsNavHost
import dev.dimension.flare.data.model.AppearanceSettings
import dev.dimension.flare.data.model.LocalAppearanceSettings
import dev.dimension.flare.data.repository.SettingsRepository
import dev.dimension.flare.molecule.producePresenter
import dev.dimension.flare.ui.presenter.invoke
import dev.dimension.flare.ui.presenter.splash.SplashPresenter
import dev.dimension.flare.ui.presenter.splash.SplashType
import dev.dimension.flare.ui.screen.NavGraphs
import dev.dimension.flare.ui.screen.home.HomeScreen
import dev.dimension.flare.ui.screen.serviceselect.ServiceSelectScreen
import dev.dimension.flare.ui.screen.splash.SplashScreen
import org.koin.compose.koinInject

Expand All @@ -32,7 +33,7 @@ fun AppContainer() {
AnimatedContent(targetState = state, label = "AppContainer") {
when (it) {
SplashType.Splash -> SplashScreen()
SplashType.Login -> ServiceSelectScreen()
SplashType.Login -> DestinationsNavHost(NavGraphs.entry)
SplashType.Home -> HomeScreen()
}
}
Expand Down
Loading

0 comments on commit 70ced4c

Please sign in to comment.