Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,10 @@ class AndroidFileService(
return@launch
}

println(bitmap.toString())

uri = saveImageToMediaStore(
context,
generateUniqueName(name, false, context),
bitmap!!
bitmap
)
if (uri == null) {
cancel("an error occured when saving the image")
Expand Down
413 changes: 99 additions & 314 deletions app/src/commonMain/kotlin/com/daniebeler/pfpixelix/App.kt

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.daniebeler.pfpixelix.domain.service.search

import androidx.datastore.core.DataStore
import co.touchlab.kermit.Logger
import com.daniebeler.pfpixelix.domain.model.Account
import com.daniebeler.pfpixelix.domain.model.SavedSearchItem
import com.daniebeler.pfpixelix.domain.model.SavedSearchType
Expand Down Expand Up @@ -38,7 +39,7 @@ class SavedSearchesService(
}
}
} catch (e: Exception) {
println(e)
Logger.e("Add item error", e)
}
}

Expand All @@ -50,7 +51,7 @@ class SavedSearchesService(
)
}
} catch (e: Exception) {
println(e)
Logger.e("deleteElement error", e)
}
}

Expand All @@ -59,7 +60,7 @@ class SavedSearchesService(
try {
dataStore.updateData { SavedSearches() }
} catch (e: Exception) {
println(e)
Logger.e("clearSavedSearches error", e)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.navigation.NavController
import com.daniebeler.pfpixelix.domain.model.Tag
import com.daniebeler.pfpixelix.utils.Navigate
import com.daniebeler.pfpixelix.ui.navigation.Destination

@Composable
fun CustomHashtag(hashtag: Tag, navController: NavController) {
Expand All @@ -43,7 +43,7 @@ private fun CustomHashtagPrivate(hashtag: Tag, onClick: () -> Unit, navControlle
.fillMaxWidth()
.clickable {
onClick()
Navigate.navigate("hashtag_timeline_screen/${hashtag.name}", navController)
navController.navigate(Destination.HashtagTimeline(hashtag.name))
}, verticalAlignment = Alignment.CenterVertically
) {
Box(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ import androidx.compose.ui.unit.dp
import androidx.navigation.NavController
import coil3.compose.AsyncImage
import com.daniebeler.pfpixelix.domain.model.Post
import com.daniebeler.pfpixelix.ui.navigation.Destination
import com.daniebeler.pfpixelix.utils.BlurHashDecoder
import com.daniebeler.pfpixelix.utils.Navigate
import org.jetbrains.compose.resources.vectorResource
import pixelix.app.generated.resources.Res
import pixelix.app.generated.resources.stack
Expand Down Expand Up @@ -64,7 +64,7 @@ fun CustomPost(
.aspectRatio(1f)
.clickable(onClick = {
if (!edit && onClick == null) {
Navigate.navigate("single_post_screen/" + post.id, navController)
navController.navigate(Destination.Post(post.id))
} else if (onClick != null){
onClick(post.id)
}
Expand All @@ -83,7 +83,7 @@ fun CustomPost(
customModifier
.clickable(onClick = {
if (!edit && onClick == null) {
Navigate.navigate("single_post_screen/" + post.id, navController)
navController.navigate(Destination.Post(post.id))
} else if (onClick != null){
onClick(post.id)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,10 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.WindowInsetsSides
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.only
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.systemBars
import androidx.compose.foundation.layout.windowInsetsPadding
import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.rememberPagerState
Expand Down Expand Up @@ -41,7 +38,7 @@ import androidx.navigation.NavController
import com.daniebeler.pfpixelix.ui.composables.timelines.global_timeline.GlobalTimelineComposable
import com.daniebeler.pfpixelix.ui.composables.timelines.home_timeline.HomeTimelineComposable
import com.daniebeler.pfpixelix.ui.composables.timelines.local_timeline.LocalTimelineComposable
import com.daniebeler.pfpixelix.utils.Navigate
import com.daniebeler.pfpixelix.ui.navigation.Destination
import kotlinx.coroutines.launch
import org.jetbrains.compose.resources.stringResource
import org.jetbrains.compose.resources.vectorResource
Expand Down Expand Up @@ -81,10 +78,7 @@ fun HomeComposable(navController: NavController, openPreferencesDrawer: () -> Un
Row {

IconButton(onClick = {
Navigate.navigate(
"conversations",
navController
)
navController.navigate(Destination.Conversations)
}) {
Icon(
imageVector = vectorResource(Res.drawable.mail_outline),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,10 @@ import com.daniebeler.pfpixelix.di.injectViewModel
import com.daniebeler.pfpixelix.domain.model.Account
import com.daniebeler.pfpixelix.domain.model.Relationship
import com.daniebeler.pfpixelix.ui.composables.FollowButton
import com.daniebeler.pfpixelix.utils.Navigate
import com.daniebeler.pfpixelix.ui.navigation.Destination
import com.daniebeler.pfpixelix.utils.StringFormat
import org.jetbrains.compose.resources.painterResource
import org.jetbrains.compose.resources.pluralStringResource
import org.jetbrains.compose.resources.stringResource
import pixelix.app.generated.resources.Res
import pixelix.app.generated.resources.default_avatar
import pixelix.app.generated.resources.follower
Expand Down Expand Up @@ -124,7 +123,7 @@ private fun CustomAccountPrivate(
Row(modifier = Modifier
.clickable {
onClick()
Navigate.navigate("profile_screen/" + account.id, navController)
navController.navigate(Destination.Profile(account.id))
}
.padding(horizontal = 12.dp, vertical = 8.dp)
.fillMaxWidth(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ import com.daniebeler.pfpixelix.di.injectViewModel
import com.daniebeler.pfpixelix.ui.composables.InfiniteListHandler
import com.daniebeler.pfpixelix.ui.composables.states.EndOfListComposable
import com.daniebeler.pfpixelix.ui.composables.states.ErrorComposable
import com.daniebeler.pfpixelix.utils.Navigate
import com.daniebeler.pfpixelix.ui.navigation.Destination
import com.daniebeler.pfpixelix.utils.imeAwareInsets
import org.jetbrains.compose.resources.painterResource
import org.jetbrains.compose.resources.stringResource
Expand Down Expand Up @@ -82,7 +82,7 @@ fun ChatComposable(
if (viewModel.chatState.chat != null) {
Row(
modifier = Modifier.clickable {
Navigate.navigate("profile_screen/$accountId", navController)
navController.navigate(Destination.Profile(accountId))
}, verticalAlignment = Alignment.CenterVertically
) {
AsyncImage(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.daniebeler.pfpixelix.domain.service.utils.Resource
import co.touchlab.kermit.Logger
import com.daniebeler.pfpixelix.domain.model.Message
import com.daniebeler.pfpixelix.domain.model.NewMessage
import com.daniebeler.pfpixelix.domain.service.dm.DirectMessagesService
import com.daniebeler.pfpixelix.domain.service.utils.Resource
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import me.tatarka.inject.annotations.Inject
Expand Down Expand Up @@ -131,11 +132,11 @@ class ChatViewModel @Inject constructor(
}

is Resource.Error -> {
println(result.message)
Logger.e(result.message)
}

is Resource.Loading -> {
println("is loading")
Logger.v("is loading")
}
}
}.launchIn(viewModelScope)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import androidx.compose.ui.unit.dp
import androidx.navigation.NavController
import coil3.compose.AsyncImage
import com.daniebeler.pfpixelix.domain.model.Conversation
import com.daniebeler.pfpixelix.utils.Navigate
import com.daniebeler.pfpixelix.ui.navigation.Destination
import org.jetbrains.compose.resources.painterResource
import pixelix.app.generated.resources.Res
import pixelix.app.generated.resources.default_avatar
Expand All @@ -33,7 +33,7 @@ fun ConversationElementComposable(conversation: Conversation, navController: Nav
Modifier
.fillMaxWidth()
.clickable {
Navigate.navigate("chat/" + conversation.accounts.first().id, navController)
navController.navigate(Destination.Chat(conversation.accounts.first().id))
}
.padding(horizontal = 12.dp, vertical = 14.dp),
verticalAlignment = Alignment.CenterVertically) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ import com.daniebeler.pfpixelix.ui.composables.states.EndOfListComposable
import com.daniebeler.pfpixelix.ui.composables.states.ErrorComposable
import com.daniebeler.pfpixelix.ui.composables.states.FullscreenEmptyStateComposable
import com.daniebeler.pfpixelix.ui.composables.states.LoadingComposable
import com.daniebeler.pfpixelix.utils.Navigate
import com.daniebeler.pfpixelix.ui.navigation.Destination
import org.jetbrains.compose.resources.stringResource
import org.jetbrains.compose.resources.vectorResource
import pixelix.app.generated.resources.Res
Expand Down Expand Up @@ -263,9 +263,7 @@ private fun CreateNewConversation(
}, confirmButton = {
TextButton(enabled = viewModel.newConversationSelectedAccount != null, onClick = {
if (viewModel.newConversationSelectedAccount != null) {
Navigate.navigate(
"chat/" + viewModel.newConversationSelectedAccount!!.id, navController
)
navController.navigate(Destination.Chat(viewModel.newConversationSelectedAccount!!.id))
close()
}
}) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ import com.daniebeler.pfpixelix.ui.composables.CustomHashtag
import com.daniebeler.pfpixelix.ui.composables.custom_account.CustomAccount
import com.daniebeler.pfpixelix.ui.composables.explore.trending.TrendingComposable
import com.daniebeler.pfpixelix.ui.composables.states.FullscreenLoadingComposable
import com.daniebeler.pfpixelix.utils.Navigate
import com.daniebeler.pfpixelix.ui.navigation.Destination
import com.daniebeler.pfpixelix.utils.imeAwareInsets
import kotlinx.coroutines.launch
import org.jetbrains.compose.resources.painterResource
Expand Down Expand Up @@ -292,13 +292,9 @@ private fun PastSearchItem(
.fillMaxWidth()
.clickable {
when (item.savedSearchType) {
SavedSearchType.Account -> Navigate.navigate(
"profile_screen/" + item.account!!.id, navController
)
SavedSearchType.Account -> navController.navigate(Destination.Profile(item.account!!.id))

SavedSearchType.Hashtag -> Navigate.navigate(
"hashtag_timeline_screen/${item.value}", navController
)
SavedSearchType.Hashtag -> navController.navigate(Destination.HashtagTimeline(item.value))

SavedSearchType.Search -> setSearchText(item.value)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import com.daniebeler.pfpixelix.domain.model.Account
import com.daniebeler.pfpixelix.ui.composables.CustomPost
import com.daniebeler.pfpixelix.ui.composables.custom_account.CustomAccount
import com.daniebeler.pfpixelix.ui.composables.hashtagMentionText.HashtagsMentionsTextView
import com.daniebeler.pfpixelix.utils.Navigate
import com.daniebeler.pfpixelix.ui.navigation.Destination

@Composable
fun TrendingAccountElement(
Expand All @@ -37,7 +37,7 @@ fun TrendingAccountElement(
.padding(12.dp)
.fillMaxWidth()
.clickable {
Navigate.navigate("profile_screen/" + account.id, navController)
navController.navigate(Destination.Profile(account.id))
}) {

CustomAccount(account = account)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import androidx.navigation.NavController
import com.daniebeler.pfpixelix.di.injectViewModel
import com.daniebeler.pfpixelix.domain.model.Tag
import com.daniebeler.pfpixelix.ui.composables.CustomPost
import com.daniebeler.pfpixelix.utils.Navigate
import com.daniebeler.pfpixelix.ui.navigation.Destination
import com.daniebeler.pfpixelix.utils.StringFormat
import org.jetbrains.compose.resources.stringResource
import pixelix.app.generated.resources.Res
Expand All @@ -52,7 +52,7 @@ fun TrendingHashtagElement(
.padding(vertical = 8.dp)
.fillMaxWidth()
.clickable {
Navigate.navigate("hashtag_timeline_screen/${hashtag.name}", navController)
navController.navigate(Destination.HashtagTimeline(hashtag.name))
}) {

Row(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import androidx.compose.ui.unit.sp
import androidx.navigation.NavController
import coil3.compose.AsyncImage
import com.daniebeler.pfpixelix.domain.model.Account
import com.daniebeler.pfpixelix.utils.Navigate
import com.daniebeler.pfpixelix.ui.navigation.Destination
import org.jetbrains.compose.resources.painterResource
import pixelix.app.generated.resources.Res
import pixelix.app.generated.resources.default_avatar
Expand All @@ -32,7 +32,7 @@ fun FollowerElementComposable(
Row(
modifier = Modifier
.clickable {
Navigate.navigate("profile_screen/" + account.id, navController, false)
navController.navigate(Destination.Profile(account.id))
}
.padding(horizontal = 12.dp, vertical = 8.dp)
.fillMaxWidth()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.sp
import androidx.navigation.NavController
import co.touchlab.kermit.Logger
import com.daniebeler.pfpixelix.di.injectViewModel
import kotlinx.coroutines.launch
import org.jetbrains.compose.resources.stringResource
Expand All @@ -47,7 +46,7 @@ import pixelix.app.generated.resources.following
fun FollowersMainComposable(
navController: NavController,
accountId: String,
page: String,
isFollowers: Boolean,
viewModel: FollowersViewModel = injectViewModel(key = "followers-viewmodel-key") { followersViewModel }
) {

Expand All @@ -59,7 +58,7 @@ fun FollowersMainComposable(
viewModel.setLoggedInAccountIdValue()
}

val pageId = if (page == "followers") 0 else 1
val pageId = if (isFollowers) 0 else 1
val pagerState = rememberPagerState(initialPage = pageId, pageCount = { 2 })

val scope = rememberCoroutineScope()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,19 @@ import androidx.compose.material.ExperimentalMaterialApi
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Groups
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.input.key.Key.Companion.R
import androidx.compose.ui.unit.dp
import androidx.navigation.NavController
import co.touchlab.kermit.Logger
import com.daniebeler.pfpixelix.di.injectViewModel
import com.daniebeler.pfpixelix.ui.composables.InfiniteListHandler
import com.daniebeler.pfpixelix.ui.composables.states.EmptyState
import com.daniebeler.pfpixelix.ui.composables.states.EndOfListComposable
import com.daniebeler.pfpixelix.ui.composables.states.ErrorComposable
import com.daniebeler.pfpixelix.ui.composables.states.FullscreenEmptyStateComposable
import com.daniebeler.pfpixelix.ui.composables.states.LoadingComposable
import com.daniebeler.pfpixelix.utils.Navigate
import com.daniebeler.pfpixelix.ui.navigation.Destination
import org.jetbrains.compose.resources.stringResource
import pixelix.app.generated.resources.Res
import pixelix.app.generated.resources.empty
Expand Down Expand Up @@ -80,7 +76,7 @@ fun FollowingComposable(
message = message,
buttonText = stringResource(Res.string.explore_trending_profiles),
onClick = {
Navigate.navigate("search_screen/1", navController)
navController.navigate(Destination.Search(1))
})
)
}
Expand Down
Loading