feat: change package name
This commit is contained in:
@@ -6,13 +6,13 @@ plugins {
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "com.approagency.drug"
|
||||
namespace = "com.approagency.pharmacy"
|
||||
compileSdk {
|
||||
version = release(36)
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "com.approagency.drug"
|
||||
applicationId = "com.approagency.pharmacy"
|
||||
minSdk = 24
|
||||
targetSdk = 36
|
||||
versionCode = 1
|
||||
@@ -23,7 +23,7 @@ android {
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
isMinifyEnabled = false
|
||||
isMinifyEnabled = true
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||
"proguard-rules.pro"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"type": "APK",
|
||||
"kind": "Directory"
|
||||
},
|
||||
"applicationId": "com.approagency.drug",
|
||||
"applicationId": "com.approagency.pharmacy",
|
||||
"variantName": "release",
|
||||
"elements": [
|
||||
{
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.approagency.drug
|
||||
package com.approagency.pharmacy
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
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 com.approagency.drug.data.local.database.LabDatabase
|
||||
import com.approagency.drug.di.appModule
|
||||
import com.approagency.pharmacy.data.local.database.LabDatabase
|
||||
import com.approagency.pharmacy.di.appModule
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
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(
|
||||
val success : String,
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.approagency.drug.data.dto
|
||||
package com.approagency.pharmacy.data.dto
|
||||
|
||||
data class DrugModels(
|
||||
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.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
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
|
||||
|
||||
@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.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
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
|
||||
|
||||
@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 androidx.room.Database
|
||||
import androidx.room.Room
|
||||
import androidx.room.RoomDatabase
|
||||
import com.approagency.drug.data.local.dao.TestGroupDao
|
||||
import com.approagency.drug.data.local.dao.TestItemDao
|
||||
import com.approagency.drug.data.local.entities.TestGroupEntity
|
||||
import com.approagency.drug.data.local.entities.TestItemEntity
|
||||
import com.approagency.pharmacy.data.local.dao.TestGroupDao
|
||||
import com.approagency.pharmacy.data.local.dao.TestItemDao
|
||||
import com.approagency.pharmacy.data.local.entities.TestGroupEntity
|
||||
import com.approagency.pharmacy.data.local.entities.TestItemEntity
|
||||
|
||||
@Database(
|
||||
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.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.Entity
|
||||
import androidx.room.ForeignKey
|
||||
import androidx.room.Index
|
||||
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.FormUrlEncoded
|
||||
@@ -6,7 +6,6 @@ import retrofit2.http.GET
|
||||
import retrofit2.http.Headers
|
||||
import retrofit2.http.POST
|
||||
import retrofit2.http.Path
|
||||
import retrofit2.http.Query
|
||||
import retrofit2.http.Url
|
||||
|
||||
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.drug.data.dto.DrugListResponse
|
||||
import com.approagency.drug.data.dto.DrugModels
|
||||
import com.approagency.pharmacy.data.dto.DarmanModel
|
||||
import com.approagency.pharmacy.data.dto.DrugListResponse
|
||||
import com.approagency.pharmacy.data.dto.DrugModels
|
||||
import retrofit2.http.GET
|
||||
import retrofit2.http.Headers
|
||||
import retrofit2.http.Path
|
||||
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.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import org.jsoup.select.Evaluator
|
||||
|
||||
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.drug.domain.model.DrugSearchResult
|
||||
import com.approagency.pharmacy.domain.model.DaroYabSearchResult
|
||||
import com.approagency.pharmacy.domain.model.DrugSearchResult
|
||||
import org.jsoup.Jsoup
|
||||
import org.jsoup.nodes.Document
|
||||
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
// 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.drug.domain.model.PharmacyItem
|
||||
import com.approagency.pharmacy.domain.model.PharmacyDetail
|
||||
import com.approagency.pharmacy.domain.model.PharmacyItem
|
||||
import org.jsoup.Jsoup
|
||||
|
||||
object PharmacyHtmlParser {
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.approagency.drug.data.remote
|
||||
package com.approagency.pharmacy.data.remote
|
||||
|
||||
import okhttp3.ResponseBody
|
||||
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.drug.data.dto.DrugListResponse
|
||||
import com.approagency.drug.data.dto.DrugModels
|
||||
import com.approagency.drug.data.remote.DarooyabApiService
|
||||
import com.approagency.drug.data.remote.DrugApiService
|
||||
import com.approagency.drug.data.remote.DrugDetailParser
|
||||
import com.approagency.drug.data.remote.DrugHtmlParser
|
||||
import com.approagency.drug.data.remote.PharmacyHtmlParser
|
||||
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
|
||||
import com.approagency.drug.domain.repository.DrugRepository
|
||||
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.data.remote.DarooyabApiService
|
||||
import com.approagency.pharmacy.data.remote.DrugApiService
|
||||
import com.approagency.pharmacy.data.remote.DrugDetailParser
|
||||
import com.approagency.pharmacy.data.remote.DrugHtmlParser
|
||||
import com.approagency.pharmacy.data.remote.PharmacyHtmlParser
|
||||
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
|
||||
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
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.drug.data.local.dao.TestItemDao
|
||||
import com.approagency.drug.data.local.entities.TestGroupEntity
|
||||
import com.approagency.drug.data.local.entities.TestItemEntity
|
||||
import com.approagency.pharmacy.data.local.dao.TestGroupDao
|
||||
import com.approagency.pharmacy.data.local.dao.TestItemDao
|
||||
import com.approagency.pharmacy.data.local.entities.TestGroupEntity
|
||||
import com.approagency.pharmacy.data.local.entities.TestItemEntity
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
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.drug.data.local.database.LabDatabase
|
||||
import com.approagency.drug.data.remote.DarooyabApiService
|
||||
import com.approagency.drug.data.remote.DrugApiService
|
||||
import com.approagency.drug.data.remote.DrugDetailParser
|
||||
import com.approagency.drug.data.remote.DrugHtmlParser
|
||||
import com.approagency.drug.data.repository.DrugRepositoryImpl
|
||||
import com.approagency.drug.data.repository.LabRepositoryImpl
|
||||
import com.approagency.drug.domain.repository.DrugRepository
|
||||
import com.approagency.drug.domain.usecase.DrugDetailYabUseCase
|
||||
import com.approagency.drug.domain.usecase.GetDarmanUseCase
|
||||
import com.approagency.drug.domain.usecase.GetDrugDetailUseCase
|
||||
import com.approagency.drug.domain.usecase.GetDrugSearchUseCase
|
||||
import com.approagency.drug.domain.usecase.GetPharmaciesUseCase
|
||||
import com.approagency.drug.domain.usecase.GetPharmacyDetailUseCase
|
||||
import com.approagency.drug.domain.usecase.GetTestGroupUseCase
|
||||
import com.approagency.drug.domain.usecase.GetTestItemByGroupId
|
||||
import com.approagency.drug.domain.usecase.SearchDrugsYabUseCase
|
||||
import com.approagency.drug.domain.usecase.SearchTestsUseCase
|
||||
import com.approagency.drug.presentation.viewModel.DrugDetailViewModel
|
||||
import com.approagency.drug.presentation.viewModel.HomeViewModel
|
||||
import com.approagency.drug.presentation.viewModel.LabViewModel
|
||||
import com.approagency.drug.presentation.viewModel.PharmacyViewModel
|
||||
import com.approagency.drug.utils.Config
|
||||
import com.approagency.pharmacy.data.local.database.LabDatabase
|
||||
import com.approagency.pharmacy.data.remote.DarooyabApiService
|
||||
import com.approagency.pharmacy.data.remote.DrugApiService
|
||||
import com.approagency.pharmacy.data.remote.DrugDetailParser
|
||||
import com.approagency.pharmacy.data.remote.DrugHtmlParser
|
||||
import com.approagency.pharmacy.data.repository.DrugRepositoryImpl
|
||||
import com.approagency.pharmacy.data.repository.LabRepositoryImpl
|
||||
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||
import com.approagency.pharmacy.domain.usecase.DrugDetailYabUseCase
|
||||
import com.approagency.pharmacy.domain.usecase.GetDarmanUseCase
|
||||
import com.approagency.pharmacy.domain.usecase.GetDrugDetailUseCase
|
||||
import com.approagency.pharmacy.domain.usecase.GetDrugSearchUseCase
|
||||
import com.approagency.pharmacy.domain.usecase.GetPharmaciesUseCase
|
||||
import com.approagency.pharmacy.domain.usecase.GetPharmacyDetailUseCase
|
||||
import com.approagency.pharmacy.domain.usecase.GetTestGroupUseCase
|
||||
import com.approagency.pharmacy.domain.usecase.GetTestItemByGroupId
|
||||
import com.approagency.pharmacy.domain.usecase.SearchDrugsYabUseCase
|
||||
import com.approagency.pharmacy.domain.usecase.SearchTestsUseCase
|
||||
import com.approagency.pharmacy.presentation.viewModel.DrugDetailViewModel
|
||||
import com.approagency.pharmacy.presentation.viewModel.HomeViewModel
|
||||
import com.approagency.pharmacy.presentation.viewModel.LabViewModel
|
||||
import com.approagency.pharmacy.presentation.viewModel.PharmacyViewModel
|
||||
import com.approagency.pharmacy.utils.Config
|
||||
import com.approgency.drug.presentation.viewModel.SearchViewModel
|
||||
import okhttp3.OkHttpClient
|
||||
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(
|
||||
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(
|
||||
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(
|
||||
val genericId: String,
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.approagency.drug.domain.model
|
||||
package com.approagency.pharmacy.domain.model
|
||||
|
||||
data class DrugSearchParams(
|
||||
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(
|
||||
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(
|
||||
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(
|
||||
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(
|
||||
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.drug.domain.repository.DrugRepository
|
||||
import com.approagency.pharmacy.data.dto.DarmanModel
|
||||
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||
|
||||
class GetDarmanUseCase (
|
||||
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.drug.domain.repository.DrugRepository
|
||||
import com.approagency.pharmacy.data.dto.DrugModels
|
||||
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||
|
||||
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.drug.domain.repository.DrugRepository
|
||||
import com.approagency.pharmacy.domain.model.PharmacyItem
|
||||
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||
|
||||
class GetPharmaciesUseCase(
|
||||
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.drug.domain.repository.DrugRepository
|
||||
import com.approagency.pharmacy.domain.model.PharmacyDetail
|
||||
import com.approagency.pharmacy.domain.repository.DrugRepository
|
||||
|
||||
class GetPharmacyDetailUseCase(
|
||||
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.drug.domain.model.TestGroup
|
||||
import com.approagency.pharmacy.data.repository.LabRepositoryImpl
|
||||
import com.approagency.pharmacy.domain.model.TestGroup
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
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.drug.data.repository.LabRepositoryImpl
|
||||
import com.approagency.drug.domain.model.TestItem
|
||||
import com.approagency.pharmacy.data.repository.LabRepositoryImpl
|
||||
import com.approagency.pharmacy.domain.model.TestItem
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
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.drug.domain.model.TestGroup
|
||||
import com.approagency.drug.domain.model.TestItem
|
||||
import com.approagency.drug.domain.model.toTestGroup
|
||||
import com.approagency.drug.domain.model.toTestItem
|
||||
import com.approagency.pharmacy.data.repository.LabRepositoryImpl
|
||||
import com.approagency.pharmacy.domain.model.TestGroup
|
||||
import com.approagency.pharmacy.domain.model.TestItem
|
||||
import com.approagency.pharmacy.domain.model.toTestGroup
|
||||
import com.approagency.pharmacy.domain.model.toTestItem
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
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 androidx.compose.runtime.Composable
|
||||
@@ -8,10 +8,10 @@ import androidx.navigation.compose.NavHost
|
||||
import androidx.navigation.compose.composable
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import androidx.navigation.navArgument
|
||||
import com.approagency.drug.presentation.screens.DrugDetailScreen
|
||||
import com.approagency.drug.presentation.screens.HomeScreen
|
||||
import com.approagency.drug.presentation.screens.LabScreen
|
||||
import com.approagency.drug.presentation.screens.SearchScreen
|
||||
import com.approagency.pharmacy.presentation.screens.DrugDetailScreen
|
||||
import com.approagency.pharmacy.presentation.screens.HomeScreen
|
||||
import com.approagency.pharmacy.presentation.screens.LabScreen
|
||||
import com.approagency.pharmacy.presentation.screens.SearchScreen
|
||||
|
||||
@Composable
|
||||
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.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxHeight
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.navigationBarsPadding
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
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.Science
|
||||
import androidx.compose.material.icons.filled.Search
|
||||
import androidx.compose.material.icons.rounded.Refresh
|
||||
import androidx.compose.material3.Icon
|
||||
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.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -35,8 +26,6 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.Color
|
||||
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.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.padding
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.navigation.NavHostController
|
||||
import androidx.navigation.compose.NavHost
|
||||
import androidx.navigation.compose.currentBackStackEntryAsState
|
||||
|
||||
@Composable
|
||||
fun MainContainer(
|
||||
navController: NavHostController,
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.approagency.drug.navigation
|
||||
package com.approagency.pharmacy.navigation
|
||||
|
||||
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.fillMaxWidth
|
||||
@@ -7,10 +7,8 @@ import androidx.compose.material3.*
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.vada.caller.ui.theme.dime
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@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.layout.Box
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.ModalBottomSheet
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
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.Column
|
||||
import androidx.compose.foundation.layout.ColumnScope
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.wrapContentHeight
|
||||
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.border
|
||||
@@ -29,7 +29,6 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.focus.onFocusChanged
|
||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||
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.dp
|
||||
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.Column
|
||||
@@ -10,7 +10,6 @@ import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
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
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.approagency.drug.presentation.common
|
||||
package com.approagency.pharmacy.presentation.common
|
||||
|
||||
import androidx.compose.material3.SnackbarHostState
|
||||
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.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.wrapContentHeight
|
||||
import androidx.compose.material3.CircularProgressIndicator
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.vada.caller.ui.theme.dime
|
||||
|
||||
@Composable
|
||||
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.height
|
||||
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.interaction.MutableInteractionSource
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.twotone.KeyboardArrowLeft
|
||||
import androidx.compose.material.icons.filled.Search
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
@@ -23,15 +19,10 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.AbsoluteAlignment
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.approagency.drug.data.dto.DarmanList
|
||||
import com.approagency.drug.data.dto.DarmanModel
|
||||
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.approagency.pharmacy.data.dto.DarmanList
|
||||
import com.approagency.pharmacy.data.dto.DarmanModel
|
||||
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||
import com.vada.caller.ui.theme.dime
|
||||
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.layout.Arrangement
|
||||
@@ -6,20 +6,15 @@ import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
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.Text
|
||||
import androidx.compose.material3.TextButton
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
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 com.approagency.drug.domain.model.DaroYabSearchResult
|
||||
import com.approagency.drug.domain.model.DrugSearchResult
|
||||
import com.approagency.drug.presentation.common.CustomBox
|
||||
import com.approagency.pharmacy.domain.model.DrugSearchResult
|
||||
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||
import com.vada.caller.ui.theme.LocalDime
|
||||
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.interaction.MutableInteractionSource
|
||||
@@ -23,9 +23,9 @@ import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import com.approagency.drug.data.dto.DrugDetail
|
||||
import com.approagency.drug.data.dto.DrugListResponse
|
||||
import com.approagency.drug.presentation.common.CustomBox
|
||||
import com.approagency.pharmacy.data.dto.DrugDetail
|
||||
import com.approagency.pharmacy.data.dto.DrugListResponse
|
||||
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||
import com.vada.caller.ui.theme.dime
|
||||
|
||||
@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.Column
|
||||
@@ -13,7 +13,7 @@ import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
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
|
||||
|
||||
@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.clickable
|
||||
+9
-11
@@ -1,4 +1,4 @@
|
||||
package com.approagency.drug.presentation.components
|
||||
package com.approagency.pharmacy.presentation.components
|
||||
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
@@ -13,23 +13,21 @@ import androidx.compose.material3.*
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalConfiguration
|
||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.LayoutDirection
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.approagency.drug.domain.model.PharmacyItem
|
||||
import com.approagency.drug.presentation.common.CustomBox
|
||||
import com.approagency.drug.presentation.common.CustomModalBottomSheet
|
||||
import com.approagency.drug.presentation.common.Loading
|
||||
import com.approagency.drug.presentation.viewModel.PharmacyDetailState
|
||||
import com.approagency.drug.presentation.viewModel.PharmacyState
|
||||
import com.approagency.drug.presentation.viewModel.PharmacyViewModel
|
||||
import com.approagency.drug.utils.provinces
|
||||
import com.approagency.pharmacy.domain.model.PharmacyItem
|
||||
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||
import com.approagency.pharmacy.presentation.common.CustomModalBottomSheet
|
||||
import com.approagency.pharmacy.presentation.common.Loading
|
||||
import com.approagency.pharmacy.presentation.viewModel.PharmacyDetailState
|
||||
import com.approagency.pharmacy.presentation.viewModel.PharmacyState
|
||||
import com.approagency.pharmacy.presentation.viewModel.PharmacyViewModel
|
||||
import com.approagency.pharmacy.utils.provinces
|
||||
import com.vada.caller.ui.theme.LocalDime
|
||||
import com.vada.caller.ui.theme.dime
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@SuppressLint("ConfigurationScreenWidthHeight")
|
||||
@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.padding
|
||||
@@ -8,8 +8,8 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.approagency.drug.presentation.common.CustomBox
|
||||
import com.approagency.drug.presentation.common.PrimaryButton
|
||||
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||
import com.approagency.pharmacy.presentation.common.PrimaryButton
|
||||
import com.vada.caller.ui.theme.dime
|
||||
|
||||
@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.Column
|
||||
@@ -18,18 +18,17 @@ import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.approagency.drug.domain.model.TestGroup
|
||||
import com.approagency.drug.domain.model.TestItem
|
||||
import com.approagency.drug.presentation.common.CustomBox
|
||||
import com.approagency.drug.presentation.common.Loading
|
||||
import com.approagency.drug.presentation.viewModel.SearchResult
|
||||
import com.approagency.pharmacy.domain.model.TestGroup
|
||||
import com.approagency.pharmacy.domain.model.TestItem
|
||||
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||
import com.approagency.pharmacy.presentation.common.Loading
|
||||
import com.approagency.pharmacy.presentation.viewModel.SearchResult
|
||||
import com.vada.caller.ui.theme.dime
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
import androidx.compose.ui.AbsoluteAlignment
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.text.style.TextDirection
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
|
||||
@Composable
|
||||
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.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
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.HorizontalDivider
|
||||
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.style.TextAlign
|
||||
import androidx.compose.ui.unit.LayoutDirection
|
||||
import com.approagency.drug.data.dto.DrugDetail // Import DrugDetail directly
|
||||
import com.approagency.drug.data.dto.DrugModels
|
||||
import com.approagency.drug.presentation.common.CustomModalBottomSheet
|
||||
import com.approagency.drug.presentation.viewModel.DrugDetailState
|
||||
import com.approagency.drug.presentation.viewModel.HomeViewModel
|
||||
import com.approagency.pharmacy.data.dto.DrugDetail // Import DrugDetail directly
|
||||
import com.approagency.pharmacy.presentation.common.CustomModalBottomSheet
|
||||
import com.approagency.pharmacy.presentation.viewModel.DrugDetailState
|
||||
import com.approagency.pharmacy.presentation.viewModel.HomeViewModel
|
||||
import com.vada.caller.ui.theme.dime // Assuming this is your custom spacing/dimension object
|
||||
|
||||
@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.PaddingValues
|
||||
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.unit.LayoutDirection
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.approagency.drug.domain.model.TestGroup
|
||||
import com.approagency.drug.presentation.common.CustomModalBottomSheet
|
||||
import com.approagency.drug.presentation.viewModel.LabViewModel
|
||||
import com.approagency.drug.presentation.viewModel.TestItemState
|
||||
import com.approagency.pharmacy.domain.model.TestGroup
|
||||
import com.approagency.pharmacy.presentation.common.CustomModalBottomSheet
|
||||
import com.approagency.pharmacy.presentation.viewModel.TestItemState
|
||||
import com.vada.caller.ui.theme.dime
|
||||
import kotlinx.coroutines.flow.collect
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
@@ -84,7 +81,7 @@ fun TestDetailSheet(state: TestItemState, testGroup: TestGroup, onDismiss: () ->
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun TestItemDetailCard(testItem: com.approagency.drug.domain.model.TestItem) {
|
||||
fun TestItemDetailCard(testItem: com.approagency.pharmacy.domain.model.TestItem) {
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.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.interaction.MutableInteractionSource
|
||||
@@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.text.style.TextDirection
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import com.approagency.drug.domain.model.TestGroup
|
||||
import com.approagency.drug.presentation.common.CustomBox
|
||||
import com.approagency.pharmacy.domain.model.TestGroup
|
||||
import com.approagency.pharmacy.presentation.common.CustomBox
|
||||
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.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material3.Card
|
||||
import androidx.compose.material3.CardDefaults
|
||||
import androidx.compose.material3.CircularProgressIndicator
|
||||
import androidx.compose.material3.Divider
|
||||
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.Surface
|
||||
import androidx.compose.material3.Text
|
||||
@@ -33,23 +26,18 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.approagency.drug.R
|
||||
import com.approagency.drug.domain.model.DrugDetail
|
||||
import com.approagency.drug.presentation.common.CustomModalBottomSheet
|
||||
import com.approagency.drug.presentation.common.ErrorState
|
||||
import com.approagency.drug.presentation.viewModel.DrugDetailViewModel
|
||||
import com.approagency.drug.presentation.viewModel.DrugDetailYabState
|
||||
import com.approagency.pharmacy.domain.model.DrugDetail
|
||||
import com.approagency.pharmacy.presentation.common.CustomModalBottomSheet
|
||||
import com.approagency.pharmacy.presentation.common.ErrorState
|
||||
import com.approagency.pharmacy.presentation.viewModel.DrugDetailViewModel
|
||||
import com.approagency.pharmacy.presentation.viewModel.DrugDetailYabState
|
||||
import com.vada.caller.ui.theme.LocalDime
|
||||
import com.vada.caller.ui.theme.dime
|
||||
import kotlinx.coroutines.delay
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
@@ -421,7 +409,7 @@ fun InfoSection(
|
||||
}
|
||||
|
||||
@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
|
||||
|
||||
Column {
|
||||
@@ -477,7 +465,7 @@ fun DosageFormsSection(dosageForms: List<com.approagency.drug.domain.model.Dosag
|
||||
}
|
||||
|
||||
@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
|
||||
|
||||
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.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
@@ -26,7 +24,6 @@ import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.SecondaryTabRow
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.TabRow
|
||||
import androidx.compose.material3.Text
|
||||
@@ -50,12 +47,11 @@ import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.navigation.NavController
|
||||
import com.approagency.drug.domain.model.DrugDetail
|
||||
import com.approagency.drug.presentation.common.ErrorState
|
||||
import com.approagency.drug.presentation.viewModel.DrugDetailViewModel
|
||||
import com.approagency.drug.presentation.viewModel.DrugDetailYabState
|
||||
import com.approagency.pharmacy.domain.model.DrugDetail
|
||||
import com.approagency.pharmacy.presentation.common.ErrorState
|
||||
import com.approagency.pharmacy.presentation.viewModel.DrugDetailViewModel
|
||||
import com.approagency.pharmacy.presentation.viewModel.DrugDetailYabState
|
||||
import com.vada.caller.ui.theme.LocalDime
|
||||
import com.vada.caller.ui.theme.dime
|
||||
import org.koin.androidx.compose.koinViewModel
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@@ -231,7 +227,7 @@ fun DrugDetailScreen(
|
||||
@Composable
|
||||
fun ManufacturerInfoCard(
|
||||
manufacturer: String,
|
||||
genericInfo: com.approagency.drug.domain.model.GenericInfo?,
|
||||
genericInfo: com.approagency.pharmacy.domain.model.GenericInfo?,
|
||||
modifier: Modifier = Modifier
|
||||
) {
|
||||
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.Box
|
||||
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.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
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.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.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.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.OutlinedTextField
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TextButton
|
||||
import androidx.compose.material3.TextField
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.CompositionLocalProvider
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
@@ -54,32 +26,19 @@ import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalFocusManager
|
||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
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 com.approagency.drug.data.dto.DrugDetail
|
||||
import com.approagency.drug.data.dto.DrugListResponse
|
||||
import com.approagency.drug.domain.model.DrugSearchParams
|
||||
import com.approagency.drug.presentation.common.CustomBox
|
||||
import com.approagency.drug.presentation.common.CustomModalBottomSheet
|
||||
import com.approagency.drug.presentation.common.CustomModalDialog
|
||||
import com.approagency.drug.presentation.common.CustomTextFilled
|
||||
import com.approagency.drug.presentation.common.Loading
|
||||
import com.approagency.drug.presentation.common.PrimaryButton
|
||||
import com.approagency.drug.presentation.components.DarmanContent
|
||||
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.approagency.pharmacy.domain.model.DrugSearchParams
|
||||
import com.approagency.pharmacy.presentation.common.CustomModalDialog
|
||||
import com.approagency.pharmacy.presentation.common.Loading
|
||||
import com.approagency.pharmacy.presentation.components.DarmanContent
|
||||
import com.approagency.pharmacy.presentation.components.DrugDetailSheet
|
||||
import com.approagency.pharmacy.presentation.components.DrugListContent
|
||||
import com.approagency.pharmacy.presentation.components.EmptyStateContent
|
||||
import com.approagency.pharmacy.presentation.viewModel.CombineState
|
||||
import com.approagency.pharmacy.presentation.viewModel.HomeEvent
|
||||
import com.approagency.pharmacy.presentation.viewModel.HomeViewModel
|
||||
import com.vada.caller.ui.theme.dime
|
||||
import kotlinx.coroutines.flow.SharedFlow
|
||||
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.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
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.Text
|
||||
import androidx.compose.material3.TextButton
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.AbsoluteAlignment
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.text.style.TextDirection
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.approagency.drug.domain.model.TestGroup
|
||||
import com.approagency.drug.domain.model.TestItem
|
||||
import com.approagency.drug.presentation.common.CustomBox
|
||||
import com.approagency.drug.presentation.common.CustomModalDialog
|
||||
import com.approagency.drug.presentation.common.CustomTextFilled
|
||||
import com.approagency.drug.presentation.common.Loading
|
||||
import com.approagency.drug.presentation.common.PrimaryButton
|
||||
import com.approagency.drug.presentation.components.RetryContent
|
||||
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.approagency.pharmacy.domain.model.TestGroup
|
||||
import com.approagency.pharmacy.domain.model.TestItem
|
||||
import com.approagency.pharmacy.presentation.common.CustomModalDialog
|
||||
import com.approagency.pharmacy.presentation.common.CustomTextFilled
|
||||
import com.approagency.pharmacy.presentation.common.Loading
|
||||
import com.approagency.pharmacy.presentation.common.PrimaryButton
|
||||
import com.approagency.pharmacy.presentation.components.RetryContent
|
||||
import com.approagency.pharmacy.presentation.components.SearchResultsContent
|
||||
import com.approagency.pharmacy.presentation.components.TestDetailSheet
|
||||
import com.approagency.pharmacy.presentation.components.TestGroupItemContent
|
||||
import com.approagency.pharmacy.presentation.viewModel.LabViewModel
|
||||
import com.vada.caller.ui.theme.dime
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.count
|
||||
import org.koin.androidx.compose.koinViewModel
|
||||
|
||||
@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.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.Column
|
||||
@@ -24,19 +24,19 @@ import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
|
||||
import androidx.navigation.NavController
|
||||
import com.approagency.drug.domain.model.DrugSearchResult
|
||||
import com.approagency.drug.navigation.Screen
|
||||
import com.approagency.drug.presentation.common.CustomTextFilled
|
||||
import com.approagency.drug.presentation.common.EmptySearchState
|
||||
import com.approagency.drug.presentation.common.EndOfListIndicator
|
||||
import com.approagency.drug.presentation.common.ErrorState
|
||||
import com.approagency.drug.presentation.common.LoadingMoreIndicator
|
||||
import com.approagency.drug.presentation.common.PrimaryButton
|
||||
import com.approagency.drug.presentation.components.DaroYabSearchResult
|
||||
import com.approagency.drug.presentation.components.DrugDetailBottomSheet
|
||||
import com.approagency.drug.presentation.components.PharmacyBottomSheet
|
||||
import com.approagency.drug.presentation.viewModel.DrugDetailViewModel
|
||||
import com.approagency.drug.presentation.viewModel.PharmacyViewModel
|
||||
import com.approagency.pharmacy.domain.model.DrugSearchResult
|
||||
import com.approagency.pharmacy.navigation.Screen
|
||||
import com.approagency.pharmacy.presentation.common.CustomTextFilled
|
||||
import com.approagency.pharmacy.presentation.common.EmptySearchState
|
||||
import com.approagency.pharmacy.presentation.common.EndOfListIndicator
|
||||
import com.approagency.pharmacy.presentation.common.ErrorState
|
||||
import com.approagency.pharmacy.presentation.common.LoadingMoreIndicator
|
||||
import com.approagency.pharmacy.presentation.common.PrimaryButton
|
||||
import com.approagency.pharmacy.presentation.components.DaroYabSearchResult
|
||||
import com.approagency.pharmacy.presentation.components.DrugDetailBottomSheet
|
||||
import com.approagency.pharmacy.presentation.components.PharmacyBottomSheet
|
||||
import com.approagency.pharmacy.presentation.viewModel.DrugDetailViewModel
|
||||
import com.approagency.pharmacy.presentation.viewModel.PharmacyViewModel
|
||||
import com.approgency.drug.presentation.viewModel.SearchState
|
||||
import com.approgency.drug.presentation.viewModel.SearchViewModel
|
||||
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.viewModelScope
|
||||
import com.approagency.drug.domain.model.DrugDetail
|
||||
import com.approagency.drug.domain.usecase.DrugDetailYabUseCase
|
||||
import com.approagency.pharmacy.domain.model.DrugDetail
|
||||
import com.approagency.pharmacy.domain.usecase.DrugDetailYabUseCase
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
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.viewModelScope
|
||||
import com.approagency.drug.data.dto.DarmanModel
|
||||
import com.approagency.drug.data.dto.DrugDetail
|
||||
import com.approagency.drug.data.dto.DrugListResponse
|
||||
import com.approagency.drug.data.dto.DrugModels
|
||||
import com.approagency.drug.domain.model.DrugSearchParams
|
||||
import com.approagency.drug.domain.usecase.GetDarmanUseCase
|
||||
import com.approagency.drug.domain.usecase.GetDrugDetailUseCase
|
||||
import com.approagency.drug.domain.usecase.GetDrugSearchUseCase
|
||||
import com.approagency.drug.presentation.screens.HomeScreen
|
||||
import com.approagency.drug.utils.retryWithBackoff
|
||||
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.DrugSearchParams
|
||||
import com.approagency.pharmacy.domain.usecase.GetDarmanUseCase
|
||||
import com.approagency.pharmacy.domain.usecase.GetDrugDetailUseCase
|
||||
import com.approagency.pharmacy.domain.usecase.GetDrugSearchUseCase
|
||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
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 androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.approagency.drug.data.dto.DrugListResponse
|
||||
import com.approagency.drug.data.dto.DrugModels
|
||||
import com.approagency.drug.domain.model.TestGroup
|
||||
import com.approagency.drug.domain.model.TestItem
|
||||
import com.approagency.drug.domain.usecase.GetTestGroupUseCase
|
||||
import com.approagency.drug.domain.usecase.GetTestItemByGroupId
|
||||
import com.approagency.drug.domain.usecase.SearchTestsUseCase
|
||||
import com.approagency.pharmacy.domain.model.TestGroup
|
||||
import com.approagency.pharmacy.domain.model.TestItem
|
||||
import com.approagency.pharmacy.domain.usecase.GetTestGroupUseCase
|
||||
import com.approagency.pharmacy.domain.usecase.GetTestItemByGroupId
|
||||
import com.approagency.pharmacy.domain.usecase.SearchTestsUseCase
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
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.viewModelScope
|
||||
import com.approagency.drug.domain.model.PharmacyDetail
|
||||
import com.approagency.drug.domain.model.PharmacyItem
|
||||
import com.approagency.drug.domain.usecase.GetPharmaciesUseCase
|
||||
import com.approagency.drug.domain.usecase.GetPharmacyDetailUseCase
|
||||
import com.approagency.pharmacy.domain.model.PharmacyDetail
|
||||
import com.approagency.pharmacy.domain.model.PharmacyItem
|
||||
import com.approagency.pharmacy.domain.usecase.GetPharmaciesUseCase
|
||||
import com.approagency.pharmacy.domain.usecase.GetPharmacyDetailUseCase
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
+2
-3
@@ -5,9 +5,8 @@ import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.approagency.drug.domain.model.DrugSearchResult
|
||||
import com.approagency.drug.domain.usecase.SearchDrugsYabUseCase
|
||||
import kotlinx.coroutines.delay
|
||||
import com.approagency.pharmacy.domain.model.DrugSearchResult
|
||||
import com.approagency.pharmacy.domain.usecase.SearchDrugsYabUseCase
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
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
|
||||
|
||||
+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 androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Shapes
|
||||
import androidx.compose.material3.darkColorScheme
|
||||
import androidx.compose.material3.dynamicDarkColorScheme
|
||||
import androidx.compose.material3.dynamicLightColorScheme
|
||||
+2
-4
@@ -1,7 +1,5 @@
|
||||
package com.approagency.drug.ui.theme
|
||||
import android.content.res.Resources
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import com.approagency.drug.R
|
||||
package com.approagency.pharmacy.ui.theme
|
||||
import com.approagency.pharmacy.R
|
||||
import androidx.compose.material3.Typography
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
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 {
|
||||
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(
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.approagency.drug.utils
|
||||
package com.approagency.pharmacy.utils
|
||||
|
||||
import kotlinx.coroutines.delay
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<resources>
|
||||
<string name="app_name">drug</string>
|
||||
<string name="app_name">داروخانه همراه</string>
|
||||
</resources>
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.approagency.drug
|
||||
package com.approagency.pharmacy
|
||||
|
||||
import org.junit.Test
|
||||
|
||||
Reference in New Issue
Block a user