feat: change package name
This commit is contained in:
@@ -6,13 +6,13 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "com.approagency.drug"
|
namespace = "com.approagency.pharmacy"
|
||||||
compileSdk {
|
compileSdk {
|
||||||
version = release(36)
|
version = release(36)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "com.approagency.drug"
|
applicationId = "com.approagency.pharmacy"
|
||||||
minSdk = 24
|
minSdk = 24
|
||||||
targetSdk = 36
|
targetSdk = 36
|
||||||
versionCode = 1
|
versionCode = 1
|
||||||
@@ -23,7 +23,7 @@ android {
|
|||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
isMinifyEnabled = false
|
isMinifyEnabled = true
|
||||||
proguardFiles(
|
proguardFiles(
|
||||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||||
"proguard-rules.pro"
|
"proguard-rules.pro"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"type": "APK",
|
"type": "APK",
|
||||||
"kind": "Directory"
|
"kind": "Directory"
|
||||||
},
|
},
|
||||||
"applicationId": "com.approagency.drug",
|
"applicationId": "com.approagency.pharmacy",
|
||||||
"variantName": "release",
|
"variantName": "release",
|
||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug
|
package com.approagency.pharmacy
|
||||||
|
|
||||||
import androidx.test.platform.app.InstrumentationRegistry
|
import androidx.test.platform.app.InstrumentationRegistry
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
Binary file not shown.
@@ -1,54 +0,0 @@
|
|||||||
package com.approagency.drug
|
|
||||||
|
|
||||||
import android.os.Bundle
|
|
||||||
import androidx.activity.ComponentActivity
|
|
||||||
import androidx.activity.compose.setContent
|
|
||||||
import androidx.activity.enableEdgeToEdge
|
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
|
||||||
import androidx.compose.foundation.layout.padding
|
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
|
||||||
import androidx.compose.material3.MaterialTheme
|
|
||||||
import androidx.compose.material3.Scaffold
|
|
||||||
import androidx.compose.material3.SnackbarHostState
|
|
||||||
import androidx.compose.material3.Text
|
|
||||||
import androidx.compose.material3.TopAppBar
|
|
||||||
import androidx.compose.material3.TopAppBarDefaults
|
|
||||||
import androidx.compose.runtime.Composable
|
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
|
||||||
import androidx.compose.runtime.remember
|
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
|
||||||
import androidx.compose.ui.Modifier
|
|
||||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
|
||||||
import androidx.compose.ui.unit.LayoutDirection
|
|
||||||
import androidx.navigation.compose.rememberNavController
|
|
||||||
import com.approagency.drug.navigation.AppNavGraph
|
|
||||||
import com.approagency.drug.presentation.screens.HomeScreen
|
|
||||||
import com.approagency.drug.ui.theme.DrugTheme
|
|
||||||
import com.vada.caller.ui.theme.dime
|
|
||||||
|
|
||||||
class MainActivity : ComponentActivity() {
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
enableEdgeToEdge()
|
|
||||||
setContent {
|
|
||||||
DrugTheme {
|
|
||||||
|
|
||||||
AppNavGraph(
|
|
||||||
// navController = navController,
|
|
||||||
// modifier = Modifier.padding(innerPadding)
|
|
||||||
)
|
|
||||||
// Scaffold(modifier = Modifier.fillMaxSize(),
|
|
||||||
// ) { innerPadding ->
|
|
||||||
// AppNavGraph(
|
|
||||||
//// navController = navController,
|
|
||||||
//// modifier = Modifier.padding(innerPadding)
|
|
||||||
// )
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
package com.approagency.drug.domain.repository
|
|
||||||
|
|
||||||
import com.approagency.drug.data.dto.DarmanModel
|
|
||||||
import com.approagency.drug.data.dto.DrugListResponse
|
|
||||||
import com.approagency.drug.data.dto.DrugModels
|
|
||||||
import com.approagency.drug.domain.model.DaroYabParams
|
|
||||||
import com.approagency.drug.domain.model.DaroYabSearchResult
|
|
||||||
import com.approagency.drug.domain.model.DrugDetail
|
|
||||||
import com.approagency.drug.domain.model.DrugSearchParams
|
|
||||||
import com.approagency.drug.domain.model.DrugSearchResult
|
|
||||||
import com.approagency.drug.domain.model.PharmacyDetail
|
|
||||||
import com.approagency.drug.domain.model.PharmacyItem
|
|
||||||
|
|
||||||
interface DrugRepository {
|
|
||||||
suspend fun searchDrug(params: DrugSearchParams): Result<DrugListResponse>
|
|
||||||
suspend fun drugDetail(cod:Int): Result<DrugModels>
|
|
||||||
suspend fun getGorohDaroei(): Result<DarmanModel>
|
|
||||||
suspend fun searchDrugs(params:DaroYabParams):Result<DaroYabSearchResult>
|
|
||||||
suspend fun getDrugDetailFromYab(detailUrl: String):Result<DrugDetail>
|
|
||||||
suspend fun searchPharmacies(genericDrugId: String,provId: String): List<PharmacyItem>
|
|
||||||
|
|
||||||
suspend fun getPharmacyDetail(pharmacyUrl: String): PharmacyDetail
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package com.approagency.drug.domain.usecase
|
|
||||||
|
|
||||||
import com.approagency.drug.domain.model.DaroYabParams
|
|
||||||
import com.approagency.drug.domain.model.DaroYabSearchResult
|
|
||||||
import com.approagency.drug.domain.model.DrugDetail
|
|
||||||
import com.approagency.drug.domain.repository.DrugRepository
|
|
||||||
|
|
||||||
class DrugDetailYabUseCase (
|
|
||||||
private val repository: DrugRepository
|
|
||||||
) {
|
|
||||||
suspend operator fun invoke(detailUrl: String):Result<DrugDetail> {
|
|
||||||
return repository.getDrugDetailFromYab(detailUrl)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
package com.approagency.drug.domain.usecase
|
|
||||||
|
|
||||||
import com.approagency.drug.data.dto.DrugListResponse
|
|
||||||
import com.approagency.drug.domain.model.DrugSearchParams
|
|
||||||
import com.approagency.drug.domain.repository.DrugRepository
|
|
||||||
|
|
||||||
class GetDrugSearchUseCase (
|
|
||||||
private val repository: DrugRepository
|
|
||||||
){
|
|
||||||
suspend operator fun invoke(params: DrugSearchParams): Result<DrugListResponse> {
|
|
||||||
return repository.searchDrug(params)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
package com.approagency.drug.domain.usecase
|
|
||||||
|
|
||||||
import com.approagency.drug.data.repository.DrugRepositoryImpl
|
|
||||||
import com.approagency.drug.domain.model.DaroYabParams
|
|
||||||
import com.approagency.drug.domain.model.DaroYabSearchResult
|
|
||||||
import com.approagency.drug.domain.model.DrugSearchParams
|
|
||||||
import com.approagency.drug.domain.model.DrugSearchResult
|
|
||||||
import com.approagency.drug.domain.repository.DrugRepository
|
|
||||||
|
|
||||||
class SearchDrugsYabUseCase (
|
|
||||||
private val repository: DrugRepository
|
|
||||||
) {
|
|
||||||
suspend operator fun invoke(query: String, pageNumber: Int = 1): Result<DaroYabSearchResult> {
|
|
||||||
val params = DaroYabParams(query = query, pageNumber = pageNumber)
|
|
||||||
return repository.searchDrugs(params)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+3
-3
@@ -1,8 +1,8 @@
|
|||||||
package com.approagency.drug
|
package com.approagency.pharmacy
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import com.approagency.drug.data.local.database.LabDatabase
|
import com.approagency.pharmacy.data.local.database.LabDatabase
|
||||||
import com.approagency.drug.di.appModule
|
import com.approagency.pharmacy.di.appModule
|
||||||
import kotlinx.coroutines.GlobalScope
|
import kotlinx.coroutines.GlobalScope
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.koin.android.ext.koin.androidContext
|
import org.koin.android.ext.koin.androidContext
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package com.approagency.pharmacy
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.activity.ComponentActivity
|
||||||
|
import androidx.activity.compose.setContent
|
||||||
|
import androidx.activity.enableEdgeToEdge
|
||||||
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
|
import com.approagency.pharmacy.navigation.AppNavGraph
|
||||||
|
import com.approagency.pharmacy.ui.theme.DrugTheme
|
||||||
|
|
||||||
|
class MainActivity : ComponentActivity() {
|
||||||
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
enableEdgeToEdge()
|
||||||
|
setContent {
|
||||||
|
DrugTheme {
|
||||||
|
|
||||||
|
AppNavGraph(
|
||||||
|
// navController = navController,
|
||||||
|
// modifier = Modifier.padding(innerPadding)
|
||||||
|
)
|
||||||
|
// Scaffold(modifier = Modifier.fillMaxSize(),
|
||||||
|
// ) { innerPadding ->
|
||||||
|
// AppNavGraph(
|
||||||
|
//// navController = navController,
|
||||||
|
//// modifier = Modifier.padding(innerPadding)
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.data.dto
|
package com.approagency.pharmacy.data.dto
|
||||||
|
|
||||||
data class DarmanModel(
|
data class DarmanModel(
|
||||||
val success : String,
|
val success : String,
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.data.dto
|
package com.approagency.pharmacy.data.dto
|
||||||
|
|
||||||
data class DrugModels(
|
data class DrugModels(
|
||||||
val success: Boolean,
|
val success: Boolean,
|
||||||
+2
-2
@@ -1,10 +1,10 @@
|
|||||||
package com.approagency.drug.data.local.dao
|
package com.approagency.pharmacy.data.local.dao
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Insert
|
import androidx.room.Insert
|
||||||
import androidx.room.OnConflictStrategy
|
import androidx.room.OnConflictStrategy
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import com.approagency.drug.data.local.entities.TestGroupEntity
|
import com.approagency.pharmacy.data.local.entities.TestGroupEntity
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
+2
-2
@@ -1,10 +1,10 @@
|
|||||||
package com.approagency.drug.data.local.dao
|
package com.approagency.pharmacy.data.local.dao
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Insert
|
import androidx.room.Insert
|
||||||
import androidx.room.OnConflictStrategy
|
import androidx.room.OnConflictStrategy
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import com.approagency.drug.data.local.entities.TestItemEntity
|
import com.approagency.pharmacy.data.local.entities.TestItemEntity
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
+5
-5
@@ -1,13 +1,13 @@
|
|||||||
package com.approagency.drug.data.local.database
|
package com.approagency.pharmacy.data.local.database
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.room.Database
|
import androidx.room.Database
|
||||||
import androidx.room.Room
|
import androidx.room.Room
|
||||||
import androidx.room.RoomDatabase
|
import androidx.room.RoomDatabase
|
||||||
import com.approagency.drug.data.local.dao.TestGroupDao
|
import com.approagency.pharmacy.data.local.dao.TestGroupDao
|
||||||
import com.approagency.drug.data.local.dao.TestItemDao
|
import com.approagency.pharmacy.data.local.dao.TestItemDao
|
||||||
import com.approagency.drug.data.local.entities.TestGroupEntity
|
import com.approagency.pharmacy.data.local.entities.TestGroupEntity
|
||||||
import com.approagency.drug.data.local.entities.TestItemEntity
|
import com.approagency.pharmacy.data.local.entities.TestItemEntity
|
||||||
|
|
||||||
@Database(
|
@Database(
|
||||||
entities = [
|
entities = [
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.data.local.entities
|
package com.approagency.pharmacy.data.local.entities
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
import androidx.room.ColumnInfo
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
+1
-2
@@ -1,8 +1,7 @@
|
|||||||
package com.approagency.drug.data.local.entities
|
package com.approagency.pharmacy.data.local.entities
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
import androidx.room.ColumnInfo
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
import androidx.room.ForeignKey
|
|
||||||
import androidx.room.Index
|
import androidx.room.Index
|
||||||
import androidx.room.PrimaryKey
|
import androidx.room.PrimaryKey
|
||||||
|
|
||||||
+1
-2
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.data.remote
|
package com.approagency.pharmacy.data.remote
|
||||||
|
|
||||||
import retrofit2.http.Field
|
import retrofit2.http.Field
|
||||||
import retrofit2.http.FormUrlEncoded
|
import retrofit2.http.FormUrlEncoded
|
||||||
@@ -6,7 +6,6 @@ import retrofit2.http.GET
|
|||||||
import retrofit2.http.Headers
|
import retrofit2.http.Headers
|
||||||
import retrofit2.http.POST
|
import retrofit2.http.POST
|
||||||
import retrofit2.http.Path
|
import retrofit2.http.Path
|
||||||
import retrofit2.http.Query
|
|
||||||
import retrofit2.http.Url
|
import retrofit2.http.Url
|
||||||
|
|
||||||
interface DarooyabApiService {
|
interface DarooyabApiService {
|
||||||
+4
-5
@@ -1,10 +1,9 @@
|
|||||||
package com.approagency.drug.data.remote
|
package com.approagency.pharmacy.data.remote
|
||||||
|
|
||||||
import com.approagency.drug.data.dto.DarmanModel
|
import com.approagency.pharmacy.data.dto.DarmanModel
|
||||||
import com.approagency.drug.data.dto.DrugListResponse
|
import com.approagency.pharmacy.data.dto.DrugListResponse
|
||||||
import com.approagency.drug.data.dto.DrugModels
|
import com.approagency.pharmacy.data.dto.DrugModels
|
||||||
import retrofit2.http.GET
|
import retrofit2.http.GET
|
||||||
import retrofit2.http.Headers
|
|
||||||
import retrofit2.http.Path
|
import retrofit2.http.Path
|
||||||
import retrofit2.http.Query
|
import retrofit2.http.Query
|
||||||
|
|
||||||
+2
-3
@@ -1,10 +1,9 @@
|
|||||||
package com.approagency.drug.data.remote
|
package com.approagency.pharmacy.data.remote
|
||||||
|
|
||||||
import com.approagency.drug.domain.model.*
|
import com.approagency.pharmacy.domain.model.*
|
||||||
import org.jsoup.Jsoup
|
import org.jsoup.Jsoup
|
||||||
import org.jsoup.nodes.Document
|
import org.jsoup.nodes.Document
|
||||||
import org.jsoup.nodes.Element
|
import org.jsoup.nodes.Element
|
||||||
import org.jsoup.select.Evaluator
|
|
||||||
|
|
||||||
class DrugDetailParser {
|
class DrugDetailParser {
|
||||||
|
|
||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
package com.approagency.drug.data.remote
|
package com.approagency.pharmacy.data.remote
|
||||||
|
|
||||||
import com.approagency.drug.domain.model.DaroYabSearchResult
|
import com.approagency.pharmacy.domain.model.DaroYabSearchResult
|
||||||
import com.approagency.drug.domain.model.DrugSearchResult
|
import com.approagency.pharmacy.domain.model.DrugSearchResult
|
||||||
import org.jsoup.Jsoup
|
import org.jsoup.Jsoup
|
||||||
import org.jsoup.nodes.Document
|
import org.jsoup.nodes.Document
|
||||||
|
|
||||||
+3
-3
@@ -1,8 +1,8 @@
|
|||||||
// data/remote/PharmacyHtmlParser.kt
|
// data/remote/PharmacyHtmlParser.kt
|
||||||
package com.approagency.drug.data.remote
|
package com.approagency.pharmacy.data.remote
|
||||||
|
|
||||||
import com.approagency.drug.domain.model.PharmacyDetail
|
import com.approagency.pharmacy.domain.model.PharmacyDetail
|
||||||
import com.approagency.drug.domain.model.PharmacyItem
|
import com.approagency.pharmacy.domain.model.PharmacyItem
|
||||||
import org.jsoup.Jsoup
|
import org.jsoup.Jsoup
|
||||||
|
|
||||||
object PharmacyHtmlParser {
|
object PharmacyHtmlParser {
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.data.remote
|
package com.approagency.pharmacy.data.remote
|
||||||
|
|
||||||
import okhttp3.ResponseBody
|
import okhttp3.ResponseBody
|
||||||
import retrofit2.Converter
|
import retrofit2.Converter
|
||||||
+16
-17
@@ -1,21 +1,20 @@
|
|||||||
package com.approagency.drug.data.repository
|
package com.approagency.pharmacy.data.repository
|
||||||
|
|
||||||
import com.approagency.drug.data.dto.DarmanModel
|
import com.approagency.pharmacy.data.dto.DarmanModel
|
||||||
import com.approagency.drug.data.dto.DrugListResponse
|
import com.approagency.pharmacy.data.dto.DrugListResponse
|
||||||
import com.approagency.drug.data.dto.DrugModels
|
import com.approagency.pharmacy.data.dto.DrugModels
|
||||||
import com.approagency.drug.data.remote.DarooyabApiService
|
import com.approagency.pharmacy.data.remote.DarooyabApiService
|
||||||
import com.approagency.drug.data.remote.DrugApiService
|
import com.approagency.pharmacy.data.remote.DrugApiService
|
||||||
import com.approagency.drug.data.remote.DrugDetailParser
|
import com.approagency.pharmacy.data.remote.DrugDetailParser
|
||||||
import com.approagency.drug.data.remote.DrugHtmlParser
|
import com.approagency.pharmacy.data.remote.DrugHtmlParser
|
||||||
import com.approagency.drug.data.remote.PharmacyHtmlParser
|
import com.approagency.pharmacy.data.remote.PharmacyHtmlParser
|
||||||
import com.approagency.drug.domain.model.DaroYabParams
|
import com.approagency.pharmacy.domain.model.DaroYabParams
|
||||||
import com.approagency.drug.domain.model.DaroYabSearchResult
|
import com.approagency.pharmacy.domain.model.DaroYabSearchResult
|
||||||
import com.approagency.drug.domain.model.DrugDetail
|
import com.approagency.pharmacy.domain.model.DrugDetail
|
||||||
import com.approagency.drug.domain.model.DrugSearchParams
|
import com.approagency.pharmacy.domain.model.DrugSearchParams
|
||||||
import com.approagency.drug.domain.model.DrugSearchResult
|
import com.approagency.pharmacy.domain.model.PharmacyDetail
|
||||||
import com.approagency.drug.domain.model.PharmacyDetail
|
import com.approagency.pharmacy.domain.model.PharmacyItem
|
||||||
import com.approagency.drug.domain.model.PharmacyItem
|
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||||
import com.approagency.drug.domain.repository.DrugRepository
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
+5
-5
@@ -1,9 +1,9 @@
|
|||||||
package com.approagency.drug.data.repository
|
package com.approagency.pharmacy.data.repository
|
||||||
|
|
||||||
import com.approagency.drug.data.local.dao.TestGroupDao
|
import com.approagency.pharmacy.data.local.dao.TestGroupDao
|
||||||
import com.approagency.drug.data.local.dao.TestItemDao
|
import com.approagency.pharmacy.data.local.dao.TestItemDao
|
||||||
import com.approagency.drug.data.local.entities.TestGroupEntity
|
import com.approagency.pharmacy.data.local.entities.TestGroupEntity
|
||||||
import com.approagency.drug.data.local.entities.TestItemEntity
|
import com.approagency.pharmacy.data.local.entities.TestItemEntity
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.combine
|
import kotlinx.coroutines.flow.combine
|
||||||
|
|
||||||
+24
-25
@@ -1,30 +1,29 @@
|
|||||||
package com.approagency.drug.di
|
package com.approagency.pharmacy.di
|
||||||
|
|
||||||
|
|
||||||
import android.app.Application
|
import com.approagency.pharmacy.data.local.database.LabDatabase
|
||||||
import com.approagency.drug.data.local.database.LabDatabase
|
import com.approagency.pharmacy.data.remote.DarooyabApiService
|
||||||
import com.approagency.drug.data.remote.DarooyabApiService
|
import com.approagency.pharmacy.data.remote.DrugApiService
|
||||||
import com.approagency.drug.data.remote.DrugApiService
|
import com.approagency.pharmacy.data.remote.DrugDetailParser
|
||||||
import com.approagency.drug.data.remote.DrugDetailParser
|
import com.approagency.pharmacy.data.remote.DrugHtmlParser
|
||||||
import com.approagency.drug.data.remote.DrugHtmlParser
|
import com.approagency.pharmacy.data.repository.DrugRepositoryImpl
|
||||||
import com.approagency.drug.data.repository.DrugRepositoryImpl
|
import com.approagency.pharmacy.data.repository.LabRepositoryImpl
|
||||||
import com.approagency.drug.data.repository.LabRepositoryImpl
|
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||||
import com.approagency.drug.domain.repository.DrugRepository
|
import com.approagency.pharmacy.domain.usecase.DrugDetailYabUseCase
|
||||||
import com.approagency.drug.domain.usecase.DrugDetailYabUseCase
|
import com.approagency.pharmacy.domain.usecase.GetDarmanUseCase
|
||||||
import com.approagency.drug.domain.usecase.GetDarmanUseCase
|
import com.approagency.pharmacy.domain.usecase.GetDrugDetailUseCase
|
||||||
import com.approagency.drug.domain.usecase.GetDrugDetailUseCase
|
import com.approagency.pharmacy.domain.usecase.GetDrugSearchUseCase
|
||||||
import com.approagency.drug.domain.usecase.GetDrugSearchUseCase
|
import com.approagency.pharmacy.domain.usecase.GetPharmaciesUseCase
|
||||||
import com.approagency.drug.domain.usecase.GetPharmaciesUseCase
|
import com.approagency.pharmacy.domain.usecase.GetPharmacyDetailUseCase
|
||||||
import com.approagency.drug.domain.usecase.GetPharmacyDetailUseCase
|
import com.approagency.pharmacy.domain.usecase.GetTestGroupUseCase
|
||||||
import com.approagency.drug.domain.usecase.GetTestGroupUseCase
|
import com.approagency.pharmacy.domain.usecase.GetTestItemByGroupId
|
||||||
import com.approagency.drug.domain.usecase.GetTestItemByGroupId
|
import com.approagency.pharmacy.domain.usecase.SearchDrugsYabUseCase
|
||||||
import com.approagency.drug.domain.usecase.SearchDrugsYabUseCase
|
import com.approagency.pharmacy.domain.usecase.SearchTestsUseCase
|
||||||
import com.approagency.drug.domain.usecase.SearchTestsUseCase
|
import com.approagency.pharmacy.presentation.viewModel.DrugDetailViewModel
|
||||||
import com.approagency.drug.presentation.viewModel.DrugDetailViewModel
|
import com.approagency.pharmacy.presentation.viewModel.HomeViewModel
|
||||||
import com.approagency.drug.presentation.viewModel.HomeViewModel
|
import com.approagency.pharmacy.presentation.viewModel.LabViewModel
|
||||||
import com.approagency.drug.presentation.viewModel.LabViewModel
|
import com.approagency.pharmacy.presentation.viewModel.PharmacyViewModel
|
||||||
import com.approagency.drug.presentation.viewModel.PharmacyViewModel
|
import com.approagency.pharmacy.utils.Config
|
||||||
import com.approagency.drug.utils.Config
|
|
||||||
import com.approgency.drug.presentation.viewModel.SearchViewModel
|
import com.approgency.drug.presentation.viewModel.SearchViewModel
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
import okhttp3.logging.HttpLoggingInterceptor
|
import okhttp3.logging.HttpLoggingInterceptor
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.domain.model
|
package com.approagency.pharmacy.domain.model
|
||||||
|
|
||||||
data class DaroYabParams(
|
data class DaroYabParams(
|
||||||
val query: String? = null,
|
val query: String? = null,
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.domain.model
|
package com.approagency.pharmacy.domain.model
|
||||||
|
|
||||||
data class DaroYabSearchResult(
|
data class DaroYabSearchResult(
|
||||||
val drugs: List<DrugSearchResult>,
|
val drugs: List<DrugSearchResult>,
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.domain.model
|
package com.approagency.pharmacy.domain.model
|
||||||
|
|
||||||
data class DrugDetail(
|
data class DrugDetail(
|
||||||
val genericId: String,
|
val genericId: String,
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.domain.model
|
package com.approagency.pharmacy.domain.model
|
||||||
|
|
||||||
data class DrugSearchParams(
|
data class DrugSearchParams(
|
||||||
val query: String? = null,
|
val query: String? = null,
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.domain.model
|
package com.approagency.pharmacy.domain.model
|
||||||
|
|
||||||
data class DrugSearchResult(
|
data class DrugSearchResult(
|
||||||
val genericId: String, // e.g., "2556" from "/G-2556/Casanthranol"
|
val genericId: String, // e.g., "2556" from "/G-2556/Casanthranol"
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.domain.model
|
package com.approagency.pharmacy.domain.model
|
||||||
|
|
||||||
data class PharmacySearchRequest(
|
data class PharmacySearchRequest(
|
||||||
val brandIrc: String = "0", // برای صفحات برند
|
val brandIrc: String = "0", // برای صفحات برند
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package com.approagency.drug.domain.model
|
package com.approagency.pharmacy.domain.model
|
||||||
|
|
||||||
import com.approagency.drug.data.local.entities.TestGroupEntity
|
import com.approagency.pharmacy.data.local.entities.TestGroupEntity
|
||||||
|
|
||||||
data class TestGroup(
|
data class TestGroup(
|
||||||
val id: Int,
|
val id: Int,
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package com.approagency.drug.domain.model
|
package com.approagency.pharmacy.domain.model
|
||||||
|
|
||||||
import com.approagency.drug.data.local.entities.TestItemEntity
|
import com.approagency.pharmacy.data.local.entities.TestItemEntity
|
||||||
|
|
||||||
data class TestItem(
|
data class TestItem(
|
||||||
val id: Int,
|
val id: Int,
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package com.approagency.pharmacy.domain.repository
|
||||||
|
|
||||||
|
import com.approagency.pharmacy.data.dto.DarmanModel
|
||||||
|
import com.approagency.pharmacy.data.dto.DrugListResponse
|
||||||
|
import com.approagency.pharmacy.data.dto.DrugModels
|
||||||
|
import com.approagency.pharmacy.domain.model.DaroYabParams
|
||||||
|
import com.approagency.pharmacy.domain.model.DaroYabSearchResult
|
||||||
|
import com.approagency.pharmacy.domain.model.DrugDetail
|
||||||
|
import com.approagency.pharmacy.domain.model.DrugSearchParams
|
||||||
|
import com.approagency.pharmacy.domain.model.PharmacyDetail
|
||||||
|
import com.approagency.pharmacy.domain.model.PharmacyItem
|
||||||
|
|
||||||
|
interface DrugRepository {
|
||||||
|
suspend fun searchDrug(params: DrugSearchParams): Result<DrugListResponse>
|
||||||
|
suspend fun drugDetail(cod:Int): Result<DrugModels>
|
||||||
|
suspend fun getGorohDaroei(): Result<DarmanModel>
|
||||||
|
suspend fun searchDrugs(params:DaroYabParams):Result<DaroYabSearchResult>
|
||||||
|
suspend fun getDrugDetailFromYab(detailUrl: String):Result<DrugDetail>
|
||||||
|
suspend fun searchPharmacies(genericDrugId: String,provId: String): List<PharmacyItem>
|
||||||
|
|
||||||
|
suspend fun getPharmacyDetail(pharmacyUrl: String): PharmacyDetail
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.approagency.pharmacy.domain.usecase
|
||||||
|
|
||||||
|
import com.approagency.pharmacy.domain.model.DrugDetail
|
||||||
|
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||||
|
|
||||||
|
class DrugDetailYabUseCase (
|
||||||
|
private val repository: DrugRepository
|
||||||
|
) {
|
||||||
|
suspend operator fun invoke(detailUrl: String):Result<DrugDetail> {
|
||||||
|
return repository.getDrugDetailFromYab(detailUrl)
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
package com.approagency.drug.domain.usecase
|
package com.approagency.pharmacy.domain.usecase
|
||||||
|
|
||||||
import com.approagency.drug.data.dto.DarmanModel
|
import com.approagency.pharmacy.data.dto.DarmanModel
|
||||||
import com.approagency.drug.domain.repository.DrugRepository
|
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||||
|
|
||||||
class GetDarmanUseCase (
|
class GetDarmanUseCase (
|
||||||
private val repository: DrugRepository
|
private val repository: DrugRepository
|
||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
package com.approagency.drug.domain.usecase
|
package com.approagency.pharmacy.domain.usecase
|
||||||
|
|
||||||
import com.approagency.drug.data.dto.DrugModels
|
import com.approagency.pharmacy.data.dto.DrugModels
|
||||||
import com.approagency.drug.domain.repository.DrugRepository
|
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||||
|
|
||||||
class GetDrugDetailUseCase
|
class GetDrugDetailUseCase
|
||||||
(
|
(
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package com.approagency.pharmacy.domain.usecase
|
||||||
|
|
||||||
|
import com.approagency.pharmacy.data.dto.DrugListResponse
|
||||||
|
import com.approagency.pharmacy.domain.model.DrugSearchParams
|
||||||
|
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||||
|
|
||||||
|
class GetDrugSearchUseCase (
|
||||||
|
private val repository: DrugRepository
|
||||||
|
){
|
||||||
|
suspend operator fun invoke(params: DrugSearchParams): Result<DrugListResponse> {
|
||||||
|
return repository.searchDrug(params)
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
package com.approagency.drug.domain.usecase
|
package com.approagency.pharmacy.domain.usecase
|
||||||
|
|
||||||
import com.approagency.drug.domain.model.PharmacyItem
|
import com.approagency.pharmacy.domain.model.PharmacyItem
|
||||||
import com.approagency.drug.domain.repository.DrugRepository
|
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||||
|
|
||||||
class GetPharmaciesUseCase(
|
class GetPharmaciesUseCase(
|
||||||
private val repository: DrugRepository
|
private val repository: DrugRepository
|
||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
package com.approagency.drug.domain.usecase
|
package com.approagency.pharmacy.domain.usecase
|
||||||
|
|
||||||
import com.approagency.drug.domain.model.PharmacyDetail
|
import com.approagency.pharmacy.domain.model.PharmacyDetail
|
||||||
import com.approagency.drug.domain.repository.DrugRepository
|
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||||
|
|
||||||
class GetPharmacyDetailUseCase(
|
class GetPharmacyDetailUseCase(
|
||||||
private val repository: DrugRepository
|
private val repository: DrugRepository
|
||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
package com.approagency.drug.domain.usecase
|
package com.approagency.pharmacy.domain.usecase
|
||||||
|
|
||||||
import com.approagency.drug.data.repository.LabRepositoryImpl
|
import com.approagency.pharmacy.data.repository.LabRepositoryImpl
|
||||||
import com.approagency.drug.domain.model.TestGroup
|
import com.approagency.pharmacy.domain.model.TestGroup
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
|
|
||||||
+3
-4
@@ -1,8 +1,7 @@
|
|||||||
package com.approagency.drug.domain.usecase
|
package com.approagency.pharmacy.domain.usecase
|
||||||
|
|
||||||
import com.approagency.drug.data.local.entities.TestItemEntity
|
import com.approagency.pharmacy.data.repository.LabRepositoryImpl
|
||||||
import com.approagency.drug.data.repository.LabRepositoryImpl
|
import com.approagency.pharmacy.domain.model.TestItem
|
||||||
import com.approagency.drug.domain.model.TestItem
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
|
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.approagency.pharmacy.domain.usecase
|
||||||
|
|
||||||
|
import com.approagency.pharmacy.domain.model.DaroYabParams
|
||||||
|
import com.approagency.pharmacy.domain.model.DaroYabSearchResult
|
||||||
|
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||||
|
|
||||||
|
class SearchDrugsYabUseCase (
|
||||||
|
private val repository: DrugRepository
|
||||||
|
) {
|
||||||
|
suspend operator fun invoke(query: String, pageNumber: Int = 1): Result<DaroYabSearchResult> {
|
||||||
|
val params = DaroYabParams(query = query, pageNumber = pageNumber)
|
||||||
|
return repository.searchDrugs(params)
|
||||||
|
}
|
||||||
|
}
|
||||||
+6
-6
@@ -1,11 +1,11 @@
|
|||||||
package com.approagency.drug.domain.usecase
|
package com.approagency.pharmacy.domain.usecase
|
||||||
|
|
||||||
|
|
||||||
import com.approagency.drug.data.repository.LabRepositoryImpl
|
import com.approagency.pharmacy.data.repository.LabRepositoryImpl
|
||||||
import com.approagency.drug.domain.model.TestGroup
|
import com.approagency.pharmacy.domain.model.TestGroup
|
||||||
import com.approagency.drug.domain.model.TestItem
|
import com.approagency.pharmacy.domain.model.TestItem
|
||||||
import com.approagency.drug.domain.model.toTestGroup
|
import com.approagency.pharmacy.domain.model.toTestGroup
|
||||||
import com.approagency.drug.domain.model.toTestItem
|
import com.approagency.pharmacy.domain.model.toTestItem
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
|
|
||||||
+5
-5
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.navigation
|
package com.approagency.pharmacy.navigation
|
||||||
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
@@ -8,10 +8,10 @@ import androidx.navigation.compose.NavHost
|
|||||||
import androidx.navigation.compose.composable
|
import androidx.navigation.compose.composable
|
||||||
import androidx.navigation.compose.rememberNavController
|
import androidx.navigation.compose.rememberNavController
|
||||||
import androidx.navigation.navArgument
|
import androidx.navigation.navArgument
|
||||||
import com.approagency.drug.presentation.screens.DrugDetailScreen
|
import com.approagency.pharmacy.presentation.screens.DrugDetailScreen
|
||||||
import com.approagency.drug.presentation.screens.HomeScreen
|
import com.approagency.pharmacy.presentation.screens.HomeScreen
|
||||||
import com.approagency.drug.presentation.screens.LabScreen
|
import com.approagency.pharmacy.presentation.screens.LabScreen
|
||||||
import com.approagency.drug.presentation.screens.SearchScreen
|
import com.approagency.pharmacy.presentation.screens.SearchScreen
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun AppNavGraph() {
|
fun AppNavGraph() {
|
||||||
+1
-12
@@ -1,31 +1,22 @@
|
|||||||
package com.approagency.drug.navigation
|
package com.approagency.pharmacy.navigation
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.fillMaxHeight
|
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.navigationBarsPadding
|
import androidx.compose.foundation.layout.navigationBarsPadding
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.layout.width
|
import androidx.compose.foundation.layout.width
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.Build
|
|
||||||
import androidx.compose.material.icons.filled.LocalPharmacy
|
import androidx.compose.material.icons.filled.LocalPharmacy
|
||||||
import androidx.compose.material.icons.filled.Science
|
import androidx.compose.material.icons.filled.Science
|
||||||
import androidx.compose.material.icons.filled.Search
|
import androidx.compose.material.icons.filled.Search
|
||||||
import androidx.compose.material.icons.rounded.Refresh
|
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.NavigationBar
|
|
||||||
import androidx.compose.material3.NavigationBarItem
|
|
||||||
import androidx.compose.material3.NavigationBarItemDefaults
|
|
||||||
import androidx.compose.material3.Surface
|
import androidx.compose.material3.Surface
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
@@ -35,8 +26,6 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.navigation.NavDestination.Companion.hierarchy
|
|
||||||
import androidx.navigation.NavGraph.Companion.findStartDestination
|
|
||||||
import androidx.navigation.NavHostController
|
import androidx.navigation.NavHostController
|
||||||
import androidx.navigation.compose.currentBackStackEntryAsState
|
import androidx.navigation.compose.currentBackStackEntryAsState
|
||||||
|
|
||||||
+2
-4
@@ -1,14 +1,12 @@
|
|||||||
package com.approagency.drug.navigation
|
package com.approagency.pharmacy.navigation
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.material3.Scaffold
|
import androidx.compose.material3.Scaffold
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.getValue
|
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.navigation.NavHostController
|
import androidx.navigation.NavHostController
|
||||||
import androidx.navigation.compose.NavHost
|
|
||||||
import androidx.navigation.compose.currentBackStackEntryAsState
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MainContainer(
|
fun MainContainer(
|
||||||
navController: NavHostController,
|
navController: NavHostController,
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.navigation
|
package com.approagency.pharmacy.navigation
|
||||||
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
|
||||||
+1
-3
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.common
|
package com.approagency.pharmacy.presentation.common
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
@@ -7,10 +7,8 @@ import androidx.compose.material3.*
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.unit.dp
|
|
||||||
import com.vada.caller.ui.theme.dime
|
import com.vada.caller.ui.theme.dime
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.launch
|
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@Composable
|
@Composable
|
||||||
+1
-2
@@ -1,8 +1,7 @@
|
|||||||
package com.approagency.drug.presentation.common
|
package com.approagency.pharmacy.presentation.common
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.ModalBottomSheet
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
+1
-2
@@ -1,9 +1,8 @@
|
|||||||
package com.approagency.drug.presentation.common
|
package com.approagency.pharmacy.presentation.common
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.ColumnScope
|
import androidx.compose.foundation.layout.ColumnScope
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.wrapContentHeight
|
import androidx.compose.foundation.layout.wrapContentHeight
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
+1
-2
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.common
|
package com.approagency.pharmacy.presentation.common
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.border
|
import androidx.compose.foundation.border
|
||||||
@@ -29,7 +29,6 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.focus.onFocusChanged
|
import androidx.compose.ui.focus.onFocusChanged
|
||||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||||
import androidx.compose.ui.text.input.ImeAction
|
import androidx.compose.ui.text.input.ImeAction
|
||||||
import androidx.compose.ui.text.input.VisualTransformation
|
|
||||||
import androidx.compose.ui.unit.LayoutDirection
|
import androidx.compose.ui.unit.LayoutDirection
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.vada.caller.ui.theme.dime
|
import com.vada.caller.ui.theme.dime
|
||||||
+1
-2
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.common
|
package com.approagency.pharmacy.presentation.common
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
@@ -10,7 +10,6 @@ import androidx.compose.material3.Text
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.unit.dp
|
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import com.vada.caller.ui.theme.LocalDime
|
import com.vada.caller.ui.theme.LocalDime
|
||||||
|
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.common
|
package com.approagency.pharmacy.presentation.common
|
||||||
|
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
|
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.common
|
package com.approagency.pharmacy.presentation.common
|
||||||
|
|
||||||
import androidx.compose.material3.SnackbarHostState
|
import androidx.compose.material3.SnackbarHostState
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
+1
-6
@@ -1,16 +1,11 @@
|
|||||||
package com.approagency.drug.presentation.common
|
package com.approagency.pharmacy.presentation.common
|
||||||
|
|
||||||
import android.content.res.Resources.Theme
|
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.foundation.layout.height
|
|
||||||
import androidx.compose.foundation.layout.size
|
|
||||||
import androidx.compose.foundation.layout.wrapContentHeight
|
|
||||||
import androidx.compose.material3.CircularProgressIndicator
|
import androidx.compose.material3.CircularProgressIndicator
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.vada.caller.ui.theme.dime
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun Loading(
|
fun Loading(
|
||||||
+1
-2
@@ -1,6 +1,5 @@
|
|||||||
package com.approagency.drug.presentation.common
|
package com.approagency.pharmacy.presentation.common
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Box
|
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
+4
-13
@@ -1,19 +1,15 @@
|
|||||||
package com.approagency.drug.presentation.components
|
package com.approagency.pharmacy.presentation.components
|
||||||
|
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.Spacer
|
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.height
|
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.width
|
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.automirrored.twotone.KeyboardArrowLeft
|
import androidx.compose.material.icons.automirrored.twotone.KeyboardArrowLeft
|
||||||
import androidx.compose.material.icons.filled.Search
|
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
@@ -23,15 +19,10 @@ import androidx.compose.runtime.remember
|
|||||||
import androidx.compose.ui.AbsoluteAlignment
|
import androidx.compose.ui.AbsoluteAlignment
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.unit.dp
|
import com.approagency.pharmacy.data.dto.DarmanList
|
||||||
import com.approagency.drug.data.dto.DarmanList
|
import com.approagency.pharmacy.data.dto.DarmanModel
|
||||||
import com.approagency.drug.data.dto.DarmanModel
|
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||||
import com.approagency.drug.data.dto.DrugDetail
|
|
||||||
import com.approagency.drug.data.dto.DrugListResponse
|
|
||||||
import com.approagency.drug.presentation.common.CustomBox
|
|
||||||
import com.approagency.drug.presentation.common.PrimaryButton
|
|
||||||
import com.vada.caller.ui.theme.dime
|
import com.vada.caller.ui.theme.dime
|
||||||
import kotlin.collections.emptyList
|
import kotlin.collections.emptyList
|
||||||
|
|
||||||
+3
-8
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.components
|
package com.approagency.pharmacy.presentation.components
|
||||||
|
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
@@ -6,20 +6,15 @@ import androidx.compose.foundation.layout.Column
|
|||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.material3.Card
|
|
||||||
import androidx.compose.material3.CardDefaults
|
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.material3.TextButton
|
import androidx.compose.material3.TextButton
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
|
||||||
import androidx.compose.ui.unit.dp
|
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import com.approagency.drug.domain.model.DaroYabSearchResult
|
import com.approagency.pharmacy.domain.model.DrugSearchResult
|
||||||
import com.approagency.drug.domain.model.DrugSearchResult
|
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||||
import com.approagency.drug.presentation.common.CustomBox
|
|
||||||
import com.vada.caller.ui.theme.LocalDime
|
import com.vada.caller.ui.theme.LocalDime
|
||||||
import com.vada.caller.ui.theme.dime
|
import com.vada.caller.ui.theme.dime
|
||||||
|
|
||||||
+4
-4
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.components
|
package com.approagency.pharmacy.presentation.components
|
||||||
|
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
@@ -23,9 +23,9 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import com.approagency.drug.data.dto.DrugDetail
|
import com.approagency.pharmacy.data.dto.DrugDetail
|
||||||
import com.approagency.drug.data.dto.DrugListResponse
|
import com.approagency.pharmacy.data.dto.DrugListResponse
|
||||||
import com.approagency.drug.presentation.common.CustomBox
|
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||||
import com.vada.caller.ui.theme.dime
|
import com.vada.caller.ui.theme.dime
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.components
|
package com.approagency.pharmacy.presentation.components
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
@@ -13,7 +13,7 @@ import androidx.compose.material3.Text
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import com.approagency.drug.presentation.common.CustomBox
|
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||||
import com.vada.caller.ui.theme.dime
|
import com.vada.caller.ui.theme.dime
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.components
|
package com.approagency.pharmacy.presentation.components
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
+9
-11
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.components
|
package com.approagency.pharmacy.presentation.components
|
||||||
|
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
@@ -13,23 +13,21 @@ import androidx.compose.material3.*
|
|||||||
import androidx.compose.runtime.*
|
import androidx.compose.runtime.*
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.LocalConfiguration
|
|
||||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.unit.LayoutDirection
|
import androidx.compose.ui.unit.LayoutDirection
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import com.approagency.drug.domain.model.PharmacyItem
|
import com.approagency.pharmacy.domain.model.PharmacyItem
|
||||||
import com.approagency.drug.presentation.common.CustomBox
|
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||||
import com.approagency.drug.presentation.common.CustomModalBottomSheet
|
import com.approagency.pharmacy.presentation.common.CustomModalBottomSheet
|
||||||
import com.approagency.drug.presentation.common.Loading
|
import com.approagency.pharmacy.presentation.common.Loading
|
||||||
import com.approagency.drug.presentation.viewModel.PharmacyDetailState
|
import com.approagency.pharmacy.presentation.viewModel.PharmacyDetailState
|
||||||
import com.approagency.drug.presentation.viewModel.PharmacyState
|
import com.approagency.pharmacy.presentation.viewModel.PharmacyState
|
||||||
import com.approagency.drug.presentation.viewModel.PharmacyViewModel
|
import com.approagency.pharmacy.presentation.viewModel.PharmacyViewModel
|
||||||
import com.approagency.drug.utils.provinces
|
import com.approagency.pharmacy.utils.provinces
|
||||||
import com.vada.caller.ui.theme.LocalDime
|
import com.vada.caller.ui.theme.LocalDime
|
||||||
import com.vada.caller.ui.theme.dime
|
import com.vada.caller.ui.theme.dime
|
||||||
import kotlinx.coroutines.launch
|
|
||||||
|
|
||||||
@SuppressLint("ConfigurationScreenWidthHeight")
|
@SuppressLint("ConfigurationScreenWidthHeight")
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
+3
-3
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.components
|
package com.approagency.pharmacy.presentation.components
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
@@ -8,8 +8,8 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.approagency.drug.presentation.common.CustomBox
|
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||||
import com.approagency.drug.presentation.common.PrimaryButton
|
import com.approagency.pharmacy.presentation.common.PrimaryButton
|
||||||
import com.vada.caller.ui.theme.dime
|
import com.vada.caller.ui.theme.dime
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
+6
-7
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.components
|
package com.approagency.pharmacy.presentation.components
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
@@ -18,18 +18,17 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.approagency.drug.domain.model.TestGroup
|
import com.approagency.pharmacy.domain.model.TestGroup
|
||||||
import com.approagency.drug.domain.model.TestItem
|
import com.approagency.pharmacy.domain.model.TestItem
|
||||||
import com.approagency.drug.presentation.common.CustomBox
|
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||||
import com.approagency.drug.presentation.common.Loading
|
import com.approagency.pharmacy.presentation.common.Loading
|
||||||
import com.approagency.drug.presentation.viewModel.SearchResult
|
import com.approagency.pharmacy.presentation.viewModel.SearchResult
|
||||||
import com.vada.caller.ui.theme.dime
|
import com.vada.caller.ui.theme.dime
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
import androidx.compose.ui.AbsoluteAlignment
|
import androidx.compose.ui.AbsoluteAlignment
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.text.style.TextDirection
|
import androidx.compose.ui.text.style.TextDirection
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SearchResultsContent(
|
fun SearchResultsContent(
|
||||||
+5
-8
@@ -1,14 +1,12 @@
|
|||||||
package com.approagency.drug.presentation.components
|
package com.approagency.pharmacy.presentation.components
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.lazy.items // Import items if you were to use it for lists within LazyColumn
|
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.HorizontalDivider
|
import androidx.compose.material3.HorizontalDivider
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
@@ -20,11 +18,10 @@ import androidx.compose.ui.platform.LocalLayoutDirection
|
|||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.unit.LayoutDirection
|
import androidx.compose.ui.unit.LayoutDirection
|
||||||
import com.approagency.drug.data.dto.DrugDetail // Import DrugDetail directly
|
import com.approagency.pharmacy.data.dto.DrugDetail // Import DrugDetail directly
|
||||||
import com.approagency.drug.data.dto.DrugModels
|
import com.approagency.pharmacy.presentation.common.CustomModalBottomSheet
|
||||||
import com.approagency.drug.presentation.common.CustomModalBottomSheet
|
import com.approagency.pharmacy.presentation.viewModel.DrugDetailState
|
||||||
import com.approagency.drug.presentation.viewModel.DrugDetailState
|
import com.approagency.pharmacy.presentation.viewModel.HomeViewModel
|
||||||
import com.approagency.drug.presentation.viewModel.HomeViewModel
|
|
||||||
import com.vada.caller.ui.theme.dime // Assuming this is your custom spacing/dimension object
|
import com.vada.caller.ui.theme.dime // Assuming this is your custom spacing/dimension object
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
+5
-8
@@ -1,6 +1,5 @@
|
|||||||
package com.approagency.drug.presentation.components
|
package com.approagency.pharmacy.presentation.components
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
@@ -20,12 +19,10 @@ import androidx.compose.ui.platform.LocalLayoutDirection
|
|||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.unit.LayoutDirection
|
import androidx.compose.ui.unit.LayoutDirection
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.approagency.drug.domain.model.TestGroup
|
import com.approagency.pharmacy.domain.model.TestGroup
|
||||||
import com.approagency.drug.presentation.common.CustomModalBottomSheet
|
import com.approagency.pharmacy.presentation.common.CustomModalBottomSheet
|
||||||
import com.approagency.drug.presentation.viewModel.LabViewModel
|
import com.approagency.pharmacy.presentation.viewModel.TestItemState
|
||||||
import com.approagency.drug.presentation.viewModel.TestItemState
|
|
||||||
import com.vada.caller.ui.theme.dime
|
import com.vada.caller.ui.theme.dime
|
||||||
import kotlinx.coroutines.flow.collect
|
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@Composable
|
@Composable
|
||||||
@@ -84,7 +81,7 @@ fun TestDetailSheet(state: TestItemState, testGroup: TestGroup, onDismiss: () ->
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun TestItemDetailCard(testItem: com.approagency.drug.domain.model.TestItem) {
|
fun TestItemDetailCard(testItem: com.approagency.pharmacy.domain.model.TestItem) {
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
+3
-3
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.components
|
package com.approagency.pharmacy.presentation.components
|
||||||
|
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
@@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.text.style.TextDirection
|
import androidx.compose.ui.text.style.TextDirection
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import com.approagency.drug.domain.model.TestGroup
|
import com.approagency.pharmacy.domain.model.TestGroup
|
||||||
import com.approagency.drug.presentation.common.CustomBox
|
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||||
import com.vada.caller.ui.theme.dime
|
import com.vada.caller.ui.theme.dime
|
||||||
|
|
||||||
|
|
||||||
+8
-20
@@ -1,27 +1,20 @@
|
|||||||
package com.approagency.drug.presentation.components
|
package com.approagency.pharmacy.presentation.components
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.width
|
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.lazy.items
|
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.material3.Card
|
import androidx.compose.material3.Card
|
||||||
import androidx.compose.material3.CardDefaults
|
import androidx.compose.material3.CardDefaults
|
||||||
import androidx.compose.material3.CircularProgressIndicator
|
import androidx.compose.material3.CircularProgressIndicator
|
||||||
import androidx.compose.material3.Divider
|
import androidx.compose.material3.Divider
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.FilterChip
|
|
||||||
import androidx.compose.material3.Icon
|
|
||||||
import androidx.compose.material3.IconButton
|
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Surface
|
import androidx.compose.material3.Surface
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
@@ -33,23 +26,18 @@ import androidx.compose.runtime.remember
|
|||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.approagency.drug.R
|
import com.approagency.pharmacy.domain.model.DrugDetail
|
||||||
import com.approagency.drug.domain.model.DrugDetail
|
import com.approagency.pharmacy.presentation.common.CustomModalBottomSheet
|
||||||
import com.approagency.drug.presentation.common.CustomModalBottomSheet
|
import com.approagency.pharmacy.presentation.common.ErrorState
|
||||||
import com.approagency.drug.presentation.common.ErrorState
|
import com.approagency.pharmacy.presentation.viewModel.DrugDetailViewModel
|
||||||
import com.approagency.drug.presentation.viewModel.DrugDetailViewModel
|
import com.approagency.pharmacy.presentation.viewModel.DrugDetailYabState
|
||||||
import com.approagency.drug.presentation.viewModel.DrugDetailYabState
|
|
||||||
import com.vada.caller.ui.theme.LocalDime
|
import com.vada.caller.ui.theme.LocalDime
|
||||||
import com.vada.caller.ui.theme.dime
|
|
||||||
import kotlinx.coroutines.delay
|
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@Composable
|
@Composable
|
||||||
@@ -421,7 +409,7 @@ fun InfoSection(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun DosageFormsSection(dosageForms: List<com.approagency.drug.domain.model.DosageForm>) {
|
fun DosageFormsSection(dosageForms: List<com.approagency.pharmacy.domain.model.DosageForm>) {
|
||||||
val dime = LocalDime.current
|
val dime = LocalDime.current
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
@@ -477,7 +465,7 @@ fun DosageFormsSection(dosageForms: List<com.approagency.drug.domain.model.Dosag
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun BrandNamesSection(brandNames: List<com.approagency.drug.domain.model.BrandName>) {
|
fun BrandNamesSection(brandNames: List<com.approagency.pharmacy.domain.model.BrandName>) {
|
||||||
val dime = LocalDime.current
|
val dime = LocalDime.current
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
+6
-10
@@ -1,7 +1,5 @@
|
|||||||
package com.approagency.drug.presentation.screens
|
package com.approagency.pharmacy.presentation.screens
|
||||||
|
|
||||||
import android.R
|
|
||||||
import androidx.compose.foundation.background
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
@@ -26,7 +24,6 @@ import androidx.compose.material3.Icon
|
|||||||
import androidx.compose.material3.IconButton
|
import androidx.compose.material3.IconButton
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Scaffold
|
import androidx.compose.material3.Scaffold
|
||||||
import androidx.compose.material3.SecondaryTabRow
|
|
||||||
import androidx.compose.material3.Tab
|
import androidx.compose.material3.Tab
|
||||||
import androidx.compose.material3.TabRow
|
import androidx.compose.material3.TabRow
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
@@ -50,12 +47,11 @@ import androidx.compose.ui.unit.dp
|
|||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import com.approagency.drug.domain.model.DrugDetail
|
import com.approagency.pharmacy.domain.model.DrugDetail
|
||||||
import com.approagency.drug.presentation.common.ErrorState
|
import com.approagency.pharmacy.presentation.common.ErrorState
|
||||||
import com.approagency.drug.presentation.viewModel.DrugDetailViewModel
|
import com.approagency.pharmacy.presentation.viewModel.DrugDetailViewModel
|
||||||
import com.approagency.drug.presentation.viewModel.DrugDetailYabState
|
import com.approagency.pharmacy.presentation.viewModel.DrugDetailYabState
|
||||||
import com.vada.caller.ui.theme.LocalDime
|
import com.vada.caller.ui.theme.LocalDime
|
||||||
import com.vada.caller.ui.theme.dime
|
|
||||||
import org.koin.androidx.compose.koinViewModel
|
import org.koin.androidx.compose.koinViewModel
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@@ -231,7 +227,7 @@ fun DrugDetailScreen(
|
|||||||
@Composable
|
@Composable
|
||||||
fun ManufacturerInfoCard(
|
fun ManufacturerInfoCard(
|
||||||
manufacturer: String,
|
manufacturer: String,
|
||||||
genericInfo: com.approagency.drug.domain.model.GenericInfo?,
|
genericInfo: com.approagency.pharmacy.domain.model.GenericInfo?,
|
||||||
modifier: Modifier = Modifier
|
modifier: Modifier = Modifier
|
||||||
) {
|
) {
|
||||||
val dime = LocalDime.current
|
val dime = LocalDime.current
|
||||||
+11
-52
@@ -1,13 +1,5 @@
|
|||||||
package com.approagency.drug.presentation.screens
|
package com.approagency.pharmacy.presentation.screens
|
||||||
|
|
||||||
import android.R
|
|
||||||
import android.R.attr.fontWeight
|
|
||||||
import android.content.res.Resources
|
|
||||||
import androidx.compose.foundation.background
|
|
||||||
import androidx.compose.foundation.border
|
|
||||||
import androidx.compose.foundation.clickable
|
|
||||||
import androidx.compose.foundation.gestures.snapping.SnapPosition
|
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
@@ -17,35 +9,15 @@ import androidx.compose.foundation.layout.fillMaxSize
|
|||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
|
||||||
import androidx.compose.foundation.layout.width
|
import androidx.compose.foundation.layout.width
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
|
||||||
import androidx.compose.foundation.lazy.LazyListScope
|
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
|
||||||
import androidx.compose.foundation.text.BasicTextField
|
|
||||||
import androidx.compose.foundation.text.KeyboardActions
|
|
||||||
import androidx.compose.foundation.text.KeyboardOptions
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.automirrored.twotone.KeyboardArrowLeft
|
|
||||||
import androidx.compose.material.icons.filled.Info
|
|
||||||
import androidx.compose.material.icons.filled.KeyboardArrowLeft
|
|
||||||
import androidx.compose.material.icons.filled.KeyboardArrowRight
|
import androidx.compose.material.icons.filled.KeyboardArrowRight
|
||||||
import androidx.compose.material.icons.filled.Search
|
|
||||||
import androidx.compose.material.icons.twotone.Info
|
|
||||||
import androidx.compose.material.icons.twotone.KeyboardArrowLeft
|
|
||||||
import androidx.compose.material.icons.twotone.KeyboardArrowRight
|
|
||||||
import androidx.compose.material3.Button
|
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.IconButton
|
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.OutlinedTextField
|
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.material3.TextButton
|
import androidx.compose.material3.TextButton
|
||||||
import androidx.compose.material3.TextField
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
|
||||||
import androidx.compose.runtime.collectAsState
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
@@ -54,32 +26,19 @@ import androidx.compose.runtime.setValue
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.LocalFocusManager
|
import androidx.compose.ui.platform.LocalFocusManager
|
||||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
|
||||||
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
|
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.unit.LayoutDirection
|
|
||||||
import androidx.compose.ui.unit.TextUnit
|
|
||||||
import androidx.compose.ui.unit.dp
|
|
||||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import com.approagency.drug.data.dto.DrugDetail
|
import com.approagency.pharmacy.domain.model.DrugSearchParams
|
||||||
import com.approagency.drug.data.dto.DrugListResponse
|
import com.approagency.pharmacy.presentation.common.CustomModalDialog
|
||||||
import com.approagency.drug.domain.model.DrugSearchParams
|
import com.approagency.pharmacy.presentation.common.Loading
|
||||||
import com.approagency.drug.presentation.common.CustomBox
|
import com.approagency.pharmacy.presentation.components.DarmanContent
|
||||||
import com.approagency.drug.presentation.common.CustomModalBottomSheet
|
import com.approagency.pharmacy.presentation.components.DrugDetailSheet
|
||||||
import com.approagency.drug.presentation.common.CustomModalDialog
|
import com.approagency.pharmacy.presentation.components.DrugListContent
|
||||||
import com.approagency.drug.presentation.common.CustomTextFilled
|
import com.approagency.pharmacy.presentation.components.EmptyStateContent
|
||||||
import com.approagency.drug.presentation.common.Loading
|
import com.approagency.pharmacy.presentation.viewModel.CombineState
|
||||||
import com.approagency.drug.presentation.common.PrimaryButton
|
import com.approagency.pharmacy.presentation.viewModel.HomeEvent
|
||||||
import com.approagency.drug.presentation.components.DarmanContent
|
import com.approagency.pharmacy.presentation.viewModel.HomeViewModel
|
||||||
import com.approagency.drug.presentation.components.DrugDetailSheet
|
|
||||||
import com.approagency.drug.presentation.components.DrugListContent
|
|
||||||
import com.approagency.drug.presentation.components.EmptyStateContent
|
|
||||||
import com.approagency.drug.presentation.viewModel.CombineState
|
|
||||||
import com.approagency.drug.presentation.viewModel.HomeEvent
|
|
||||||
import com.approagency.drug.presentation.viewModel.HomeViewModel
|
|
||||||
import com.vada.caller.ui.theme.Dime
|
|
||||||
import com.vada.caller.ui.theme.dime
|
import com.vada.caller.ui.theme.dime
|
||||||
import kotlinx.coroutines.flow.SharedFlow
|
import kotlinx.coroutines.flow.SharedFlow
|
||||||
import org.koin.androidx.compose.koinViewModel
|
import org.koin.androidx.compose.koinViewModel
|
||||||
+12
-29
@@ -1,54 +1,37 @@
|
|||||||
package com.approagency.drug.presentation.screens
|
package com.approagency.pharmacy.presentation.screens
|
||||||
|
|
||||||
import android.R.attr.onClick
|
|
||||||
import androidx.compose.foundation.clickable
|
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.lazy.items
|
import androidx.compose.foundation.lazy.items
|
||||||
import androidx.compose.material.icons.Icons
|
|
||||||
import androidx.compose.material.icons.automirrored.twotone.KeyboardArrowLeft
|
|
||||||
import androidx.compose.material3.CircularProgressIndicator
|
|
||||||
import androidx.compose.material3.Icon
|
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.material3.TextButton
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.collectAsState
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.AbsoluteAlignment
|
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.text.style.TextDirection
|
import com.approagency.pharmacy.domain.model.TestGroup
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import com.approagency.pharmacy.domain.model.TestItem
|
||||||
import androidx.compose.ui.unit.dp
|
import com.approagency.pharmacy.presentation.common.CustomModalDialog
|
||||||
import com.approagency.drug.domain.model.TestGroup
|
import com.approagency.pharmacy.presentation.common.CustomTextFilled
|
||||||
import com.approagency.drug.domain.model.TestItem
|
import com.approagency.pharmacy.presentation.common.Loading
|
||||||
import com.approagency.drug.presentation.common.CustomBox
|
import com.approagency.pharmacy.presentation.common.PrimaryButton
|
||||||
import com.approagency.drug.presentation.common.CustomModalDialog
|
import com.approagency.pharmacy.presentation.components.RetryContent
|
||||||
import com.approagency.drug.presentation.common.CustomTextFilled
|
import com.approagency.pharmacy.presentation.components.SearchResultsContent
|
||||||
import com.approagency.drug.presentation.common.Loading
|
import com.approagency.pharmacy.presentation.components.TestDetailSheet
|
||||||
import com.approagency.drug.presentation.common.PrimaryButton
|
import com.approagency.pharmacy.presentation.components.TestGroupItemContent
|
||||||
import com.approagency.drug.presentation.components.RetryContent
|
import com.approagency.pharmacy.presentation.viewModel.LabViewModel
|
||||||
import com.approagency.drug.presentation.components.SearchResultsContent
|
|
||||||
import com.approagency.drug.presentation.components.TestDetailSheet
|
|
||||||
import com.approagency.drug.presentation.components.TestGroupItemContent
|
|
||||||
import com.approagency.drug.presentation.viewModel.LabViewModel
|
|
||||||
import com.vada.caller.ui.theme.dime
|
import com.vada.caller.ui.theme.dime
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.count
|
|
||||||
import org.koin.androidx.compose.koinViewModel
|
import org.koin.androidx.compose.koinViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.screens
|
package com.approagency.pharmacy.presentation.screens
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
+14
-14
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.presentation.screens
|
package com.approagency.pharmacy.presentation.screens
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
@@ -24,19 +24,19 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
|
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import com.approagency.drug.domain.model.DrugSearchResult
|
import com.approagency.pharmacy.domain.model.DrugSearchResult
|
||||||
import com.approagency.drug.navigation.Screen
|
import com.approagency.pharmacy.navigation.Screen
|
||||||
import com.approagency.drug.presentation.common.CustomTextFilled
|
import com.approagency.pharmacy.presentation.common.CustomTextFilled
|
||||||
import com.approagency.drug.presentation.common.EmptySearchState
|
import com.approagency.pharmacy.presentation.common.EmptySearchState
|
||||||
import com.approagency.drug.presentation.common.EndOfListIndicator
|
import com.approagency.pharmacy.presentation.common.EndOfListIndicator
|
||||||
import com.approagency.drug.presentation.common.ErrorState
|
import com.approagency.pharmacy.presentation.common.ErrorState
|
||||||
import com.approagency.drug.presentation.common.LoadingMoreIndicator
|
import com.approagency.pharmacy.presentation.common.LoadingMoreIndicator
|
||||||
import com.approagency.drug.presentation.common.PrimaryButton
|
import com.approagency.pharmacy.presentation.common.PrimaryButton
|
||||||
import com.approagency.drug.presentation.components.DaroYabSearchResult
|
import com.approagency.pharmacy.presentation.components.DaroYabSearchResult
|
||||||
import com.approagency.drug.presentation.components.DrugDetailBottomSheet
|
import com.approagency.pharmacy.presentation.components.DrugDetailBottomSheet
|
||||||
import com.approagency.drug.presentation.components.PharmacyBottomSheet
|
import com.approagency.pharmacy.presentation.components.PharmacyBottomSheet
|
||||||
import com.approagency.drug.presentation.viewModel.DrugDetailViewModel
|
import com.approagency.pharmacy.presentation.viewModel.DrugDetailViewModel
|
||||||
import com.approagency.drug.presentation.viewModel.PharmacyViewModel
|
import com.approagency.pharmacy.presentation.viewModel.PharmacyViewModel
|
||||||
import com.approgency.drug.presentation.viewModel.SearchState
|
import com.approgency.drug.presentation.viewModel.SearchState
|
||||||
import com.approgency.drug.presentation.viewModel.SearchViewModel
|
import com.approgency.drug.presentation.viewModel.SearchViewModel
|
||||||
import com.vada.caller.ui.theme.LocalDime
|
import com.vada.caller.ui.theme.LocalDime
|
||||||
+3
-3
@@ -1,9 +1,9 @@
|
|||||||
package com.approagency.drug.presentation.viewModel
|
package com.approagency.pharmacy.presentation.viewModel
|
||||||
|
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.approagency.drug.domain.model.DrugDetail
|
import com.approagency.pharmacy.domain.model.DrugDetail
|
||||||
import com.approagency.drug.domain.usecase.DrugDetailYabUseCase
|
import com.approagency.pharmacy.domain.usecase.DrugDetailYabUseCase
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
import kotlinx.coroutines.flow.asStateFlow
|
import kotlinx.coroutines.flow.asStateFlow
|
||||||
+8
-12
@@ -1,18 +1,14 @@
|
|||||||
package com.approagency.drug.presentation.viewModel
|
package com.approagency.pharmacy.presentation.viewModel
|
||||||
|
|
||||||
import android.net.http.HttpException
|
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.approagency.drug.data.dto.DarmanModel
|
import com.approagency.pharmacy.data.dto.DarmanModel
|
||||||
import com.approagency.drug.data.dto.DrugDetail
|
import com.approagency.pharmacy.data.dto.DrugListResponse
|
||||||
import com.approagency.drug.data.dto.DrugListResponse
|
import com.approagency.pharmacy.data.dto.DrugModels
|
||||||
import com.approagency.drug.data.dto.DrugModels
|
import com.approagency.pharmacy.domain.model.DrugSearchParams
|
||||||
import com.approagency.drug.domain.model.DrugSearchParams
|
import com.approagency.pharmacy.domain.usecase.GetDarmanUseCase
|
||||||
import com.approagency.drug.domain.usecase.GetDarmanUseCase
|
import com.approagency.pharmacy.domain.usecase.GetDrugDetailUseCase
|
||||||
import com.approagency.drug.domain.usecase.GetDrugDetailUseCase
|
import com.approagency.pharmacy.domain.usecase.GetDrugSearchUseCase
|
||||||
import com.approagency.drug.domain.usecase.GetDrugSearchUseCase
|
|
||||||
import com.approagency.drug.presentation.screens.HomeScreen
|
|
||||||
import com.approagency.drug.utils.retryWithBackoff
|
|
||||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
+6
-8
@@ -1,15 +1,13 @@
|
|||||||
package com.approagency.drug.presentation.viewModel
|
package com.approagency.pharmacy.presentation.viewModel
|
||||||
|
|
||||||
import android.net.http.HttpException
|
import android.net.http.HttpException
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.approagency.drug.data.dto.DrugListResponse
|
import com.approagency.pharmacy.domain.model.TestGroup
|
||||||
import com.approagency.drug.data.dto.DrugModels
|
import com.approagency.pharmacy.domain.model.TestItem
|
||||||
import com.approagency.drug.domain.model.TestGroup
|
import com.approagency.pharmacy.domain.usecase.GetTestGroupUseCase
|
||||||
import com.approagency.drug.domain.model.TestItem
|
import com.approagency.pharmacy.domain.usecase.GetTestItemByGroupId
|
||||||
import com.approagency.drug.domain.usecase.GetTestGroupUseCase
|
import com.approagency.pharmacy.domain.usecase.SearchTestsUseCase
|
||||||
import com.approagency.drug.domain.usecase.GetTestItemByGroupId
|
|
||||||
import com.approagency.drug.domain.usecase.SearchTestsUseCase
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
+5
-5
@@ -1,12 +1,12 @@
|
|||||||
package com.approagency.drug.presentation.viewModel
|
package com.approagency.pharmacy.presentation.viewModel
|
||||||
|
|
||||||
|
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.approagency.drug.domain.model.PharmacyDetail
|
import com.approagency.pharmacy.domain.model.PharmacyDetail
|
||||||
import com.approagency.drug.domain.model.PharmacyItem
|
import com.approagency.pharmacy.domain.model.PharmacyItem
|
||||||
import com.approagency.drug.domain.usecase.GetPharmaciesUseCase
|
import com.approagency.pharmacy.domain.usecase.GetPharmaciesUseCase
|
||||||
import com.approagency.drug.domain.usecase.GetPharmacyDetailUseCase
|
import com.approagency.pharmacy.domain.usecase.GetPharmacyDetailUseCase
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
import kotlinx.coroutines.flow.asStateFlow
|
import kotlinx.coroutines.flow.asStateFlow
|
||||||
+2
-3
@@ -5,9 +5,8 @@ import androidx.compose.runtime.mutableStateOf
|
|||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.approagency.drug.domain.model.DrugSearchResult
|
import com.approagency.pharmacy.domain.model.DrugSearchResult
|
||||||
import com.approagency.drug.domain.usecase.SearchDrugsYabUseCase
|
import com.approagency.pharmacy.domain.usecase.SearchDrugsYabUseCase
|
||||||
import kotlinx.coroutines.delay
|
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
import kotlinx.coroutines.flow.asStateFlow
|
import kotlinx.coroutines.flow.asStateFlow
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.ui.theme
|
package com.approagency.pharmacy.ui.theme
|
||||||
|
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
|
|
||||||
+1
-3
@@ -1,10 +1,8 @@
|
|||||||
package com.approagency.drug.ui.theme
|
package com.approagency.pharmacy.ui.theme
|
||||||
|
|
||||||
import android.app.Activity
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import androidx.compose.foundation.isSystemInDarkTheme
|
import androidx.compose.foundation.isSystemInDarkTheme
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Shapes
|
|
||||||
import androidx.compose.material3.darkColorScheme
|
import androidx.compose.material3.darkColorScheme
|
||||||
import androidx.compose.material3.dynamicDarkColorScheme
|
import androidx.compose.material3.dynamicDarkColorScheme
|
||||||
import androidx.compose.material3.dynamicLightColorScheme
|
import androidx.compose.material3.dynamicLightColorScheme
|
||||||
+2
-4
@@ -1,7 +1,5 @@
|
|||||||
package com.approagency.drug.ui.theme
|
package com.approagency.pharmacy.ui.theme
|
||||||
import android.content.res.Resources
|
import com.approagency.pharmacy.R
|
||||||
import androidx.compose.material3.MaterialTheme
|
|
||||||
import com.approagency.drug.R
|
|
||||||
import androidx.compose.material3.Typography
|
import androidx.compose.material3.Typography
|
||||||
import androidx.compose.ui.text.TextStyle
|
import androidx.compose.ui.text.TextStyle
|
||||||
import androidx.compose.ui.text.font.Font
|
import androidx.compose.ui.text.font.Font
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.utils
|
package com.approagency.pharmacy.utils
|
||||||
|
|
||||||
object Config {
|
object Config {
|
||||||
const val BASE_URL = "https://drug.approagency.ir/api/"
|
const val BASE_URL = "https://drug.approagency.ir/api/"
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.utils
|
package com.approagency.pharmacy.utils
|
||||||
|
|
||||||
|
|
||||||
val provinces = listOf(
|
val provinces = listOf(
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug.utils
|
package com.approagency.pharmacy.utils
|
||||||
|
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
|
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">drug</string>
|
<string name="app_name">داروخانه همراه</string>
|
||||||
</resources>
|
</resources>
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.approagency.drug
|
package com.approagency.pharmacy
|
||||||
|
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
||||||
Reference in New Issue
Block a user