This workflow uses the GitHub CLI to keep a forked repo in sync with the upstream repo. Add it to your repo as .github/workflows/sync-fork.yaml.
It runs daily to sync the default branch and can be triggered manually for any branch.
| import androidx.compose.foundation.Canvas | |
| import androidx.compose.foundation.Image | |
| import androidx.compose.foundation.background | |
| import androidx.compose.foundation.border | |
| import androidx.compose.foundation.gestures.detectDragGestures | |
| import androidx.compose.foundation.layout.* | |
| import androidx.compose.foundation.shape.RoundedCornerShape | |
| import androidx.compose.material3.Text | |
| import androidx.compose.runtime.* | |
| import androidx.compose.ui.Alignment |
| // add this to your commonMain.dependencies | |
| // implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.7.1") | |
| @OptIn(ExperimentalTime::class) | |
| @Composable | |
| fun CarouselCalendar() { | |
| //// Clock.System.now() -> Output: 2025-11-15T14:30:45.123456789Z | |
| //// (Year-Month-Day T Hour:Minute:Second.Nanoseconds Z for UTC) | |
| sealed interface UserProfileEvent { | |
| data object DeleteAccount : UserProfileEvent | |
| data object ConsumeEffect : UserProfileEvent | |
| } | |
| sealed interface UserProfileEffect { | |
| data class ShowError(val message: String) : UserProfileEffect | |
| data object NavigateToLogin : UserProfileEffect | |
| } |
| fun <T, B> createJsonRpcService(service: Class<T>, | |
| client: JsonRpcClient<B>, | |
| resultDeserializer: Deserializer<B>, | |
| logger: (String) -> Unit = {}): T { | |
| val classLoader = service.classLoader | |
| val interfaces = arrayOf<Class<*>>(service) | |
| val invocationHandler = createInvocationHandler(service, client, resultDeserializer, logger) | |
| @Suppress("UNCHECKED_CAST") |
| import androidx.compose.animation.core.RepeatMode | |
| import androidx.compose.animation.core.VectorConverter | |
| import androidx.compose.animation.core.animateValue | |
| import androidx.compose.animation.core.infiniteRepeatable | |
| import androidx.compose.animation.core.keyframesWithSpline | |
| import androidx.compose.animation.core.rememberInfiniteTransition | |
| import androidx.compose.foundation.Image | |
| import androidx.compose.foundation.layout.Box | |
| import androidx.compose.foundation.layout.BoxWithConstraints |
| package de.halfbit.seventysix | |
| import androidx.compose.foundation.layout.Column | |
| import androidx.compose.foundation.layout.fillMaxWidth | |
| import androidx.compose.material.Button | |
| import androidx.compose.material.MaterialTheme | |
| import androidx.compose.material.Text | |
| import androidx.compose.runtime.* | |
| import androidx.compose.ui.Alignment | |
| import androidx.compose.ui.Modifier |
| import androidx.compose.runtime.* | |
| import androidx.compose.ui.platform.LocalLifecycleOwner | |
| import androidx.lifecycle.* | |
| import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner | |
| import androidx.lifecycle.viewmodel.compose.viewModel | |
| import kotlinx.coroutines.* | |
| import kotlinx.coroutines.flow.* | |
| @Composable | |
| fun rememberViewModelStoreOwner( |
| import android.os.Bundle | |
| import androidx.compose.runtime.Composable | |
| import androidx.compose.runtime.RememberObserver | |
| import androidx.compose.runtime.remember | |
| import androidx.lifecycle.* | |
| import androidx.lifecycle.viewmodel.CreationExtras | |
| import androidx.lifecycle.viewmodel.MutableCreationExtras | |
| import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner | |
| import androidx.lifecycle.viewmodel.compose.viewModel |
| package io.github.darvld.utils | |
| import androidx.compose.animation.* | |
| import androidx.compose.animation.core.ExperimentalTransitionApi | |
| import androidx.compose.animation.core.MutableTransitionState | |
| import androidx.compose.foundation.lazy.LazyListScope | |
| import androidx.compose.foundation.lazy.items | |
| import androidx.compose.runtime.* | |
| import androidx.recyclerview.widget.AsyncListDiffer | |
| import androidx.recyclerview.widget.DiffUtil |