Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโ€™ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

๐Ÿ”€ :: (#416) - update expocreatescreen location input #422

Merged
merged 39 commits into from
Feb 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
231ce3a
:fire: :: ExpoCreateRoute ์—์„œ ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์‚ญ์ œ
answad Feb 7, 2025
f6ba337
:fire: :: ExpoViewModel ์—์„œ ์ฃผ์†Œ๊ฒ€์ƒ‰, ๋ณ€ํ™˜ ๊ธฐ๋Šฅ ์‚ญ์ œ
answad Feb 7, 2025
62c891c
:sparkles: :: ExpoAddressSearchViewModel ์ƒ์„ฑ
answad Feb 8, 2025
1dcf8a6
:sparkles: :: coordinateX ์ถ”๊ฐ€, coordinateY ์ถ”๊ฐ€
answad Feb 9, 2025
c48fce7
:sparkles: :: convertJibunToXY ์œผ๋กœ ๋ฐ›์•„์˜จ xy ๊ฐ’์„ ์†Œ์ˆ˜์  6์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ €์žฅํ•˜๋„๋ก ๋ณ€ํ™˜๋กœ์ง ์ถ”๊ฐ€
answad Feb 9, 2025
6f78226
:fire: :: ExpoAddressSearchViewModel ์—์„œ x, y ๊ฐ’์„ ๋ณ€ํ™˜ํ•จ์œผ๋กœ ๋ณ€ํ™˜๋กœ์ง ์‚ญ์ œ
answad Feb 9, 2025
74da6d9
:lipstick: :: ์œ„์น˜๋ฅผ ์•Œ๋ ค์ฃผ์„ธ์š” ํ…์ŠคํŠธํ•„๋“œ ์œ„์— ์žฅ์†Œ text ์ถ”๊ฐ€
answad Feb 9, 2025
b4996ad
:lipstick: :: ExpoSearchIconTextField ํผ๋ธ”๋ฆฌ์‹ฑ
answad Feb 9, 2025
29a4d35
:lipstick: :: ExpoAddressSearchScreen ํผ๋ธ”๋ฆฌ์‹ฑ
answad Feb 9, 2025
d25422b
:sparkles: :: ExpoAddressSearchRoute viewModel๊ณผ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ
answad Feb 9, 2025
33e56a1
:sparkles: :: ExpoAddressSearchRoute์˜ navigation ํ•จ์ˆ˜ ์ƒ์„ฑ
answad Feb 9, 2025
36bc022
:sparkles: :: ExpoAddressSearchRoute navHost์— ๋“ฑ๋ก
answad Feb 9, 2025
d96f433
:sparkles: :: navigateToExpoAddressSearchRoute ํ•จ์ˆ˜์˜ ์ด๋ฆ„์„ navigateToExpoโ€ฆ
answad Feb 9, 2025
01f5512
:sparkles: :: ExpoCreateRoute ์— navigateToExpoAddressSearch ์ „๋‹ฌ
answad Feb 9, 2025
470db80
:recycle: :: ์œ„์น˜๋ฅผ ์•Œ๋ ค์ฃผ์„ธ์š”. textField ์˜ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„๋•Œ ExpoAddressSearchRoute๋กœ โ€ฆ
answad Feb 9, 2025
cda4994
:lipstick: :: ExpoAddressSearchScreen ์˜ ์ตœ์ƒ์œ„ column์— padding 16.dp ์ถ”๊ฐ€
answad Feb 9, 2025
9312c92
:sparkles: :: searchLocation ์‹คํ–‰์‹œ xy ์ขŒํ‘œ๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜๊ณ  convertJibunToXY ์‹คํ–‰์‹œ _โ€ฆ
answad Feb 9, 2025
a7005ca
:fire: :: _getCoordinatesUiState, _getAddressUiState์‚ญ์ œ
answad Feb 9, 2025
0247df7
:fire: :: ExpoAddressSearchViewModel ์‚ญ์ œ
answad Feb 9, 2025
b8f8903
:recycle: ::viewModel์„ ExpoViewModel๋กœ ๋ณ€๊ฒฝ
answad Feb 9, 2025
5e35789
:recycle: :: ExpoAddressSearchViewModel๊ณผ ExpoViewModel ๋ณ‘ํ•ฉ
answad Feb 9, 2025
9ee6094
:recycle: :: ExpoAddressSearchRoute ๊ณผ ExpoAddressSearchRoute ์ด ๊ฐ™์€ vieโ€ฆ
answad Feb 9, 2025
1450b52
:recycle: :: ํ•˜๋‹จ๋ฒ„ํŠผ์˜ ํƒ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ -> ์™„๋ฃŒ๋กœ ๋ณ€๊ฒฝ
answad Feb 9, 2025
780ad34
:recycle: :: expoModifyScreen ์— navigateToExpoAddressSearch ์ „๋‹ฌ
answad Feb 9, 2025
ee2e985
:recycle: :: ExpoLocationIconTextField ์—์„œ navigateToExpoAddressSearchโ€ฆ
answad Feb 9, 2025
63519d4
:recycle: :: SEARCHED_COORDINATEX, SEARCHED_COORDINATEY, SEARCHED_LOCโ€ฆ
answad Feb 9, 2025
11356b7
:recycle: :: Searched ํ•จ์ˆ˜๋กœ ๋ณ€๊ฒฝ
answad Feb 9, 2025
4f56426
:recycle: :: DisposableEffect ์— resetExpoInformation ์ถ”๊ฐ€
answad Feb 9, 2025
b6217bd
:recycle: :: searchedState๋กœ location ๊ณผ coordinate ์ƒํƒœ๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜๋Š” launchedโ€ฆ
answad Feb 9, 2025
9b6f9b1
:recycle: :: ExpoAddressSearchRoute ์—์„œ location๊ณผ xy ์ขŒํ‘œ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” Launcheโ€ฆ
answad Feb 9, 2025
e2d41c3
:recycle: :: searched_location ์ƒํƒœ์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’์„ ๋‹ค๋ฅด๊ฒŒ ํ•˜๋„๋ก ์ˆ˜์ •
answad Feb 9, 2025
88fa06b
:recycle: :: getCoordinatesUiState, getAddressUiState ์ƒํƒœ์— ๋”ฐ๋ผ์„œ successโ€ฆ
answad Feb 11, 2025
d035e2d
:recycle: :: unfocus ๋ฅผ ํ•˜๊ธฐ ์‰ฝ๋„๋ก pointerInput ์ถ”๊ฐ€
answad Feb 11, 2025
6cb4dbb
:sparkles: :: SearchedLocation๊ณผ SearchedCoordinate๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜๋Š” initSearcโ€ฆ
answad Feb 11, 2025
0f8a47c
:sparkles: :: _getAddressUiState์™€ _getCoordinatesUiState ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” iniโ€ฆ
answad Feb 11, 2025
f9208a7
:sparkles: :: initSearchedUiState ํ•จ์ˆ˜์™€ initSearchedData ํ•จ์ˆ˜๊ฐ€ ์ ์ ˆํ•œ ํƒ€์ด๋ฐ์— ์ž‘โ€ฆ
answad Feb 11, 2025
7c33397
:sparkles: :: searched ๊ฐ’์œผ๋กœ Coordinate ๊ณผ location์„ ์ดˆ๊ธฐํ™” ํ•˜๋Š” ํ•จ์ˆ˜
answad Feb 11, 2025
e8b6a9f
:recycle: :: initializeWithSearchedData ํ•จ์ˆ˜ ์ ์šฉ
answad Feb 11, 2025
a09ff41
Merge remote-tracking branch 'origin/develop' into feature/416-updateโ€ฆ
answad Feb 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ import androidx.compose.ui.platform.LocalContext
import androidx.navigation.compose.NavHost
import com.school_of_company.common.exception.*
import com.school_of_company.design_system.R
import com.school_of_company.expo.navigation.expoAddressSearchScreen
import com.school_of_company.expo.navigation.expoCreateScreen
import com.school_of_company.expo.navigation.expoCreatedScreen
import com.school_of_company.expo.navigation.expoDetailScreen
import com.school_of_company.expo.navigation.expoModifyScreen
import com.school_of_company.expo.navigation.expoScreen
import com.school_of_company.expo.navigation.navigateToExpoAddressSearch
import com.school_of_company.expo.navigation.navigateToExpoDetail
import com.school_of_company.expo.navigation.navigateToExpoModify
import com.school_of_company.expo.navigation.navigateToHome
Expand Down Expand Up @@ -139,18 +141,25 @@ fun ExpoNavHost(
)

expoModifyScreen(
navigateToExpoAddressSearch = navController::navigateToExpoAddressSearch,
onErrorToast = makeErrorToast,
onBackClick = navController::popBackStack,
)

expoCreateScreen(
navigateToExpoAddressSearch = navController::navigateToExpoAddressSearch,
onErrorToast = makeErrorToast
)

expoCreatedScreen(
onErrorToast = makeErrorToast
)

expoAddressSearchScreen(
popUpBackStack = navController::popBackStack,
onErrorToast = makeErrorToast
)

qrScannerScreen(
onBackClick = navController::popBackStack,
onPermissionBlock = navController::popBackStack,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.school_of_company.design_system.icon.LocationIcon
import com.school_of_company.design_system.icon.SearchIcon
import com.school_of_company.design_system.theme.ExpoAndroidTheme

@Composable
Expand Down Expand Up @@ -440,6 +441,62 @@ fun ExpoLocationIconTextField(
}


@Composable
fun ExpoSearchIconTextField(
modifier: Modifier = Modifier,
value: String,
onValueChange: (String) -> Unit,
placeholder: String,
isDisabled: Boolean,
onButtonClicked: () -> Unit,
) {
ExpoAndroidTheme { colors, typography ->
Box {
OutlinedTextField(
placeholder = {
Text(
text = placeholder,
style = typography.captionRegular1,
color = colors.gray300
)
},
value = value,
onValueChange = { newState ->
onValueChange(newState)
},
modifier = modifier
.height(50.dp)
.border(
width = 1.dp,
shape = RoundedCornerShape(6.dp),
color = colors.gray100
)
.background(color = Color.Transparent)
.fillMaxWidth(),
textStyle = typography.captionRegular1.copy(color = colors.black),
colors = OutlinedTextFieldDefaults.colors(
focusedTextColor = colors.black,
unfocusedTextColor = colors.black,
cursorColor = colors.main,
focusedBorderColor = Color.Transparent,
unfocusedBorderColor = Color.Transparent,
),
enabled = !isDisabled,
maxLines = 1,
singleLine = true,
trailingIcon = {
IconButton(onClick = onButtonClicked) {
SearchIcon(
tint = colors.gray500,
modifier = Modifier.size(24.dp)
)
}
}
)
}
}
}

@Preview
@Composable
fun ExpoOutlinedTextFieldPreview() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavOptions
import androidx.navigation.compose.composable
import com.school_of_company.expo.view.ExpoAddressSearchRoute
import com.school_of_company.expo.view.ExpoCreateRoute
import com.school_of_company.expo.view.ExpoCreatedRoute
import com.school_of_company.expo.view.ExpoDetailRoute
Expand All @@ -15,6 +16,7 @@ const val expoDetailRoute = "expo_detail_route"
const val expoModifyRoute = "expo_modify_route"
const val expoCreateRoute = "expo_create_route"
const val expoCreatedRoute = "expo_created_route"
const val expoAddressSearchRoute = "expo_address_search_route"

fun NavController.navigateToHome(navOptions: NavOptions? = null) {
this.navigate(homeRoute, navOptions)
Expand Down Expand Up @@ -48,6 +50,10 @@ fun NavController.navigateToExpoCreated(navOptions: NavOptions? = null) {
this.navigate(expoCreatedRoute, navOptions)
}

fun NavController.navigateToExpoAddressSearch(navOptions: NavOptions? = null) {
this.navigate(expoAddressSearchRoute, navOptions)
}

fun NavGraphBuilder.expoScreen(
navigationToDetail: (String) -> Unit
) {
Expand Down Expand Up @@ -82,23 +88,27 @@ fun NavGraphBuilder.expoDetailScreen(

fun NavGraphBuilder.expoModifyScreen(
onBackClick: () -> Unit,
navigateToExpoAddressSearch: () -> Unit,
onErrorToast: (throwable: Throwable?, message: Int?) -> Unit
) {
composable(route = "$expoModifyRoute/{id}") { backStackEntry ->
val id = backStackEntry.arguments?.getString("id") ?: ""
ExpoModifyRoute(
id = id,
navigateToExpoAddressSearch = navigateToExpoAddressSearch,
onBackClick = onBackClick,
onErrorToast = onErrorToast
)
}
}

fun NavGraphBuilder.expoCreateScreen(
onErrorToast: (throwable: Throwable?, message: Int?) -> Unit
navigateToExpoAddressSearch: () -> Unit,
onErrorToast: (throwable: Throwable?, message: Int?) -> Unit,
) {
composable(route = expoCreateRoute) {
ExpoCreateRoute(
navigateToExpoAddressSearch = navigateToExpoAddressSearch,
onErrorToast = onErrorToast
)
}
Expand All @@ -111,3 +121,17 @@ fun NavGraphBuilder.expoCreatedScreen(
ExpoCreatedRoute(onErrorToast = onErrorToast)
}
}

fun NavGraphBuilder.expoAddressSearchScreen(
popUpBackStack: () -> Unit,
onErrorToast: (throwable: Throwable?, message: Int?) -> Unit
) {
composable(route = expoAddressSearchRoute) {
ExpoAddressSearchRoute(
popUpBackStack = popUpBackStack,
onErrorToast = onErrorToast,
)
}
}


Loading
Loading