Skip to content

Instantly share code, notes, and snippets.

View codingwitharul's full-sized avatar
🎯
Focusing

Arul codingwitharul

🎯
Focusing
View GitHub Profile
@codingwitharul
codingwitharul / ImageCaptureView.kt
Last active July 18, 2025 11:03
Common ImageCaptureView Includes with custom camera design
@Preview
@Composable
fun ImageCaptureView(onImageCaptured: (Path?) -> Unit, onClose: () -> Unit = {}) {
val scope = rememberCoroutineScope()
val callback = remember {
object : CameraCallback() {
override fun onCaptureImage(image: Path?, error: String?) {
showToast("Image Captured $image")
onImageCaptured(image)
@codingwitharul
codingwitharul / GoogleAuthProvider.kt
Last active August 7, 2025 12:52
GoogleAuthProvider.kt Used inside Jetpack Composable and GoogleAuthenticator used for trigger action
package com.codingwitharul.bill_it.common.auth
import androidx.compose.runtime.Composable
import com.codingwitharul.bill_it.common.auth.GoogleAuthenticator
expect class GoogleAuthProvider {
@Composable
fun getUiProvider(): GoogleAuthenticator
package com.codingwitharul.bill_it.common.auth
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import androidx.credentials.CredentialManager
import com.google.firebase.auth.FirebaseAuth
actual class GoogleAuthProvider(val credentialManager: CredentialManager) {
@Composable
actual fun getUiProvider(): GoogleAuthenticator {
package com.codingwitharul.bill_it.common.auth
import androidx.compose.runtime.Composable
actual class GoogleAuthProvider() {
@Composable
actual fun getUiProvider(): GoogleAuthenticator = GoogleAuthenticator()
actual suspend fun signOut() {
package com.codingwitharul.bill_it.common.auth
import androidx.compose.runtime.Composable
actual class GoogleAuthProvider(val oauth: GoogleOAuthDesktop) {
@Composable
actual fun getUiProvider(): GoogleAuthenticator {
return GoogleAuthenticator(oauth)
}
package com.codingwitharul.bill_it.common.auth
import com.codingwitharul.bill_it.common.model.GoogleUser
import com.codingwitharul.bill_it.data.networking.ApiClientHelper
import com.codingwitharul.bill_it.utils.toThrowable
import io.ktor.http.*
import io.ktor.server.cio.*
import io.ktor.server.engine.*
import io.ktor.client.request.*
import io.ktor.client.statement.*