Skip to content

Commit

Permalink
[AN/USER] feat: 홈화면 필터링 기능을 제공한다 (#600) (#606)
Browse files Browse the repository at this point in the history
* feat: 축제 목록 필터 이름 상수화

* feat: 축제 목록 칩 색깔 및 텍스트 스타일 작성

* feat: 축제 목록 칩으로 필터링하기 화면 그리기

* feat: 축제 필터 분류 정의

* feat: FestivalRepository 필터링 요청 가능하도록 재정의

* feat: 축제 목록 ViewModel 에 축제 필터링 기능 적용

* feat: 축제 목록 Fragment 에 필터링 기능 적용

* feat: 축제 목록 필터링 API 연동 작업

* feat: 페스타고 홈화면 아이콘 추가

* refactor: 칩 색깔 selector 네이밍 수정

* refactor: 축제 목록 칩 색깔 네이밍 변경

* feat: 필터링 칩 다크모드 적용

* feat: 필터링 상태를 ViewModel 에서 관리하지 않는다

* feat: 현재 선택된 칩의 필터링에 해당하는 리스트를 요청한다

* fix: Loading 이 아니면 구성 변경 시 축제 목록을 재요청하지 않는다
  • Loading branch information
SeongHoonC authored and seokjin8678 committed Nov 16, 2023
1 parent 5e1f8df commit 53f574b
Show file tree
Hide file tree
Showing 14 changed files with 126 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,18 @@ import com.festago.festago.data.service.FestivalRetrofitService
import com.festago.festago.data.util.onSuccessOrCatch
import com.festago.festago.data.util.runCatchingResponse
import com.festago.festago.model.Festival
import com.festago.festago.model.FestivalFilter
import com.festago.festago.model.Reservation
import com.festago.festago.repository.FestivalRepository
import javax.inject.Inject

class FestivalDefaultRepository @Inject constructor(
private val festivalRetrofitService: FestivalRetrofitService,
) : FestivalRepository {
override suspend fun loadFestivals(): Result<List<Festival>> =
runCatchingResponse { festivalRetrofitService.getFestivals() }
.onSuccessOrCatch { it.toDomain() }
override suspend fun loadFestivals(festivalFilter: FestivalFilter): Result<List<Festival>> =
runCatchingResponse {
festivalRetrofitService.getFestivals(festivalFilter.name)
}.onSuccessOrCatch { it.toDomain() }

override suspend fun loadFestivalDetail(festivalId: Long): Result<Reservation> =
runCatchingResponse { festivalRetrofitService.getFestivalDetail(festivalId) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,13 @@ import com.festago.festago.data.dto.ReservationFestivalResponse
import retrofit2.Response
import retrofit2.http.GET
import retrofit2.http.Path
import retrofit2.http.Query

interface FestivalRetrofitService {
@GET("/festivals")
suspend fun getFestivals(): Response<FestivalsResponse>
suspend fun getFestivals(
@Query("festivalFilter") festivalFilter: String,
): Response<FestivalsResponse>

@GET("/festivals/{festivalId}")
suspend fun getFestivalDetail(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.GridLayoutManager
import com.festago.festago.R
import com.festago.festago.databinding.FragmentFestivalListBinding
import com.festago.festago.model.FestivalFilter
import com.festago.festago.presentation.ui.home.ticketlist.TicketListFragment
import com.festago.festago.presentation.ui.ticketreserve.TicketReserveActivity
import com.festago.festago.presentation.util.repeatOnStarted
Expand Down Expand Up @@ -59,6 +60,15 @@ class FestivalListFragment : Fragment(R.layout.fragment_festival_list) {
adapter = FestivalListAdapter()
binding.rvFestivalList.adapter = adapter

initFestivalListSpanSize()
initRefresh()
initFestivalFilters()
if (vm.uiState.value is FestivalListUiState.Loading) {
loadFestivalsBy(binding.cgFilterOption.checkedChipId)
}
}

private fun initFestivalListSpanSize() {
binding.rvFestivalList.layoutManager.apply {
if (this is GridLayoutManager) {
val spanSize = (resources.displayMetrics.widthPixels.dp / 160)
Expand All @@ -69,15 +79,29 @@ class FestivalListFragment : Fragment(R.layout.fragment_festival_list) {
}
}
}
}

vm.loadFestivals()

private fun initRefresh() {
binding.srlFestivalList.setOnRefreshListener {
vm.loadFestivals()
loadFestivalsBy(binding.cgFilterOption.checkedChipId)
binding.srlFestivalList.isRefreshing = false
}
}

private fun initFestivalFilters() {
binding.cgFilterOption.setOnCheckedStateChangeListener { group, _ ->
loadFestivalsBy(checkedChipId = group.checkedChipId)
}
}

private fun loadFestivalsBy(checkedChipId: Int) {
when (checkedChipId) {
R.id.chipProgress -> vm.loadFestivals(FestivalFilter.PROGRESS)
R.id.chipPlanned -> vm.loadFestivals(FestivalFilter.PLANNED)
R.id.chipEnd -> vm.loadFestivals(FestivalFilter.END)
}
}

private fun updateUi(uiState: FestivalListUiState) {
when (uiState) {
is FestivalListUiState.Loading,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sealed interface FestivalListUiState {
object Loading : FestivalListUiState

data class Success(
val festivals: List<FestivalItemUiState>
val festivals: List<FestivalItemUiState>,
) : FestivalListUiState {
val hasFestival get() = festivals.isNotEmpty()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.festago.festago.analytics.AnalyticsHelper
import com.festago.festago.analytics.logNetworkFailure
import com.festago.festago.model.FestivalFilter
import com.festago.festago.presentation.ui.home.festivallist.FestivalListEvent.ShowTicketReserve
import com.festago.festago.repository.FestivalRepository
import dagger.hilt.android.lifecycle.HiltViewModel
Expand All @@ -28,9 +29,9 @@ class FestivalListViewModel @Inject constructor(
private val _event = MutableSharedFlow<FestivalListEvent>()
val event: SharedFlow<FestivalListEvent> = _event.asSharedFlow()

fun loadFestivals() {
fun loadFestivals(festivalFilter: FestivalFilter) {
viewModelScope.launch {
festivalRepository.loadFestivals()
festivalRepository.loadFestivals(festivalFilter)
.onSuccess {
_uiState.value = FestivalListUiState.Success(
festivals = it.map { festival ->
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorPrimary" android:state_selected="true" />
<item android:color="?attr/colorOnPrimarySurface" />
</selector>
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<vector android:height="78.100266dp" android:viewportHeight="148"
android:viewportWidth="758" android:width="400dp"
xmlns:aapt="http://schemas.android.com/aapt" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#3377FF" android:pathData="M342.33,131.46C319.68,137.59 295.11,140.66 268.62,140.66C265.26,140.66 263.58,139.03 263.58,135.77V126.56C263.58,122.82 265.31,120.9 268.77,120.81L272.37,120.67V23.12H267.9C265.02,23.12 263.58,21.44 263.58,18.08V8.01C263.58,4.65 265.26,2.97 268.62,2.97H330.67C334.03,2.97 335.71,4.65 335.71,8.01V18.51C335.71,21.58 333.93,23.12 330.38,23.12H324.19V114.77C330.24,113.61 336.29,112.27 342.33,110.74V62.25H336.14C332.21,62.25 330.24,60.38 330.24,56.64V45.85C330.24,42.11 332.11,40.24 335.86,40.24H342.33V5.56C342.33,1.82 344.11,0.05 347.66,0.24H358.46C361.72,0.24 363.35,2.02 363.35,5.56V137.79C363.35,141.62 361.34,143.59 357.3,143.68H349.24C344.64,143.68 342.33,141.91 342.33,138.36V131.46ZM369.54,5.56C369.54,1.82 371.37,0.05 375.01,0.24H385.67C388.93,0.24 390.56,2.02 390.56,5.56V137.79C390.56,141.62 388.59,143.59 384.66,143.68H375.73C371.61,143.68 369.54,141.86 369.54,138.22V5.56ZM302.74,118.22V23.12H293.96V119.23L302.74,118.22ZM452.89,8.73C452.79,11.8 452.7,14.77 452.6,17.65C499.63,9.11 520.89,38.46 516.38,105.7C516.18,109.15 514.22,110.88 510.47,110.88H496.8C493.24,110.88 491.71,109.06 492.19,105.41C496.89,55.25 483.21,33.72 451.16,40.81C448.38,68.92 442.47,90.79 433.45,106.42C431.82,109.39 428.85,110.88 424.53,110.88H412.72C410.03,110.88 408.5,110.16 408.11,108.72C407.73,107.19 407.97,105.56 408.83,103.83C421.98,81.87 428.7,50.02 428.99,8.3C428.99,4.75 430.67,2.97 434.03,2.97H447.56C451.02,2.97 452.79,4.89 452.89,8.73ZM510.62,119.51C515.13,119.51 517.38,121.43 517.38,125.27V135.63C517.38,139.18 515.66,141 512.2,141.1H413.87C409.55,141.1 407.39,138.84 407.39,134.33V125.7C407.39,121.58 409.46,119.51 413.58,119.51H510.62ZM642.03,39.66C645.68,39.66 647.51,41.29 647.51,44.55V56.21C647.51,60.14 645.63,62.11 641.89,62.11H634.41V137.93C634.41,141.86 632.39,143.83 628.36,143.83H617.13C613.29,143.83 611.37,142.01 611.37,138.36V134.19C583.06,138.51 559.83,140.71 541.69,140.81C537.09,140.81 534.78,138.51 534.78,133.9V9.02C534.78,5.08 536.8,3.12 540.83,3.12H594.38C598.22,3.12 600.14,4.94 600.14,8.59V17.94C600.14,21.68 598.13,23.55 594.09,23.55H556.81V40.24H591.94C595.58,40.24 597.41,42.01 597.41,45.56V54.77C597.41,58.51 595.39,60.38 591.36,60.38H556.81V120.09C575.81,119.99 594,117.79 611.37,113.47V5.42C611.37,1.97 613.15,0.24 616.7,0.24H628.5C632.44,0.24 634.41,1.97 634.41,5.42V39.66H642.03ZM751.56,119.37C755.59,119.37 757.6,121.43 757.6,125.56V134.91C757.6,138.74 755.59,140.66 751.56,140.66H661.87C657.55,140.66 655.39,138.55 655.39,134.33V125.56C655.39,121.43 657.46,119.37 661.58,119.37H685.05V61.24C685.05,57.02 687.3,54.91 691.81,54.91H701.46C705.87,54.91 708.08,57.02 708.08,61.24V119.37H751.56ZM752.28,3.12C755.83,3.12 757.6,5.13 757.6,9.16C757.6,44.17 754.92,75.63 749.54,103.54C748.87,107.19 746.42,109.01 742.2,109.01H732.56C729.96,109.01 728.33,108.34 727.66,107C726.99,105.65 726.89,103.88 727.37,101.67C731.21,78.46 733.42,53.67 733.99,27.29C734.28,24.89 733.28,23.69 730.97,23.69H660.14C656.97,23.69 655.39,22.06 655.39,18.8V8.15C655.39,4.8 656.97,3.12 660.14,3.12H752.28Z"/>
<path android:pathData="M25.68,145.89C25.73,145.45 25.71,145.02 25.64,144.59L25.59,144.32L25.59,144.33C25.27,142.44 24.23,140.75 22.67,139.56C21.11,138.37 19.14,137.77 17.12,137.86L17.08,137.87L15.04,125.33C16.99,124.79 18.68,123.59 19.78,121.96C20.89,120.34 21.34,118.39 21.05,116.5C20.73,114.61 19.69,112.91 18.13,111.72C16.57,110.53 14.6,109.93 12.58,110.03L12.54,110.04L10.5,97.49C12.45,96.95 14.14,95.76 15.25,94.13C16.35,92.5 16.8,90.56 16.51,88.66C16.19,86.78 15.15,85.08 13.59,83.89C12.03,82.7 10.06,82.1 8.04,82.2L8,82.2L5.96,69.66C7.91,69.12 9.6,67.92 10.71,66.29C11.81,64.67 12.27,62.72 11.97,60.83C11.65,58.94 10.61,57.25 9.05,56.06C7.49,54.87 5.52,54.26 3.5,54.36L3.46,54.37L1.42,41.83C3.37,41.28 5.06,40.09 6.17,38.46C7.27,36.83 7.73,34.89 7.44,32.99C7.39,32.69 7.18,32.41 7.12,32.1L194.84,1.43C194.78,1.66 194.76,1.93 194.81,2.2L194.85,2.38L194.84,2.37L194.85,2.45C195.02,3.44 195.38,4.39 195.93,5.25C196.49,6.1 197.21,6.84 198.07,7.42C198.93,8 199.9,8.42 200.93,8.64C201.97,8.86 203.04,8.89 204.09,8.72L204.17,8.7C204.49,8.65 204.63,8.47 204.96,8.42L207,20.97C206.78,20.9 206.54,20.89 206.3,20.93L206.16,20.96C205.01,21.19 203.91,21.65 202.94,22.3C201.97,22.95 201.15,23.78 200.53,24.74C199.91,25.7 199.5,26.77 199.33,27.88C199.16,28.98 199.23,30.11 199.53,31.18L199.53,31.14L199.54,31.22C199.7,32.22 200.07,33.17 200.62,34.02C201.17,34.88 201.9,35.61 202.76,36.2C203.61,36.78 204.59,37.19 205.62,37.41C206.65,37.64 207.73,37.66 208.77,37.49L208.86,37.48C209.18,37.42 209.32,37.24 209.64,37.19L211.69,49.73C211.46,49.66 211.22,49.65 210.99,49.69L210.85,49.72C208.7,50.07 206.78,51.21 205.5,52.89C204.22,54.58 203.68,56.66 204.01,58.69C204.35,60.72 205.51,62.53 207.26,63.72C209.01,64.9 211.2,65.37 213.34,65.02C213.67,64.97 213.8,64.79 214.13,64.74L216.17,77.28C215.94,77.21 215.7,77.2 215.46,77.24L215.33,77.27C214.27,77.44 213.25,77.81 212.34,78.36C211.42,78.9 210.62,79.61 209.98,80.44C209.35,81.28 208.89,82.22 208.64,83.21C208.38,84.21 208.34,85.23 208.5,86.24C208.66,87.24 209.04,88.21 209.59,89.07C210.15,89.93 210.88,90.68 211.75,91.26C212.62,91.85 213.6,92.27 214.64,92.49C215.68,92.72 216.77,92.74 217.83,92.57C218.15,92.52 218.29,92.34 218.61,92.29L220.66,104.83C220.43,104.76 220.19,104.74 219.96,104.79L219.82,104.82L219.74,104.83C218.69,105 217.68,105.36 216.77,105.9C215.86,106.44 215.07,107.14 214.44,107.97C213.81,108.79 213.36,109.73 213.11,110.71C212.85,111.7 212.81,112.72 212.97,113.71L212.98,113.77L213.02,114.03C213.09,114.47 213.22,114.9 213.41,115.31L213.4,115.28L25.68,145.89ZM67.47,114.25L70.86,109.61L113.01,102.72L117.7,106.04L67.47,114.25ZM71.54,93.47C70.29,93.67 69.03,93.4 68.01,92.71C67,92.02 66.32,90.98 66.13,89.8L63.81,75.58L107.11,68.51L109.43,82.72C109.61,83.9 109.3,85.11 108.56,86.08C107.82,87.06 106.71,87.72 105.46,87.93L71.54,93.47ZM90.63,81.4C90.85,82.8 91.51,84.08 92.51,85.11C93.52,86.13 94.83,86.85 96.27,87.16C97.72,87.47 99.23,87.36 100.63,86.86C102.03,86.35 103.24,85.46 104.12,84.31C105,83.16 105.5,81.79 105.57,80.37C105.63,78.96 105.25,77.57 104.48,76.38C103.71,75.18 102.58,74.24 101.23,73.67C99.88,73.09 98.38,72.92 96.91,73.16C94.95,73.5 93.19,74.56 92.02,76.1C90.85,77.64 90.35,79.54 90.63,81.4ZM68.34,85.05L68.34,85.06C68.49,85.99 68.83,86.87 69.34,87.66C69.85,88.45 70.52,89.14 71.32,89.68C72.11,90.22 73.01,90.6 73.97,90.8C74.93,91.01 75.92,91.03 76.9,90.87L76.91,90.87C80.98,90.16 83.77,86.5 83.19,82.63C82.61,78.75 83.19,82.61 83.19,82.61C83.04,81.69 82.7,80.81 82.19,80.02C81.68,79.22 81,78.54 80.21,78C79.41,77.46 78.51,77.08 77.55,76.87C76.6,76.67 75.6,76.64 74.63,76.8L74.62,76.81C72.66,77.15 70.9,78.2 69.73,79.74C68.56,81.29 68.06,83.19 68.34,85.05ZM95.45,80.46C95.38,79.98 95.45,79.48 95.67,79.04C95.89,78.59 96.24,78.21 96.69,77.95C97.13,77.69 97.64,77.56 98.15,77.57C98.67,77.58 99.17,77.74 99.58,78.02C100,78.31 100.32,78.7 100.5,79.16C100.67,79.62 100.7,80.12 100.58,80.59C100.46,81.07 100.19,81.51 99.81,81.85C99.43,82.19 98.96,82.41 98.45,82.5L98.41,82.5C97.73,82.61 97.04,82.46 96.49,82.09C95.94,81.72 95.57,81.15 95.47,80.51L95.45,80.46ZM73.16,84.1C73.08,83.61 73.15,83.11 73.37,82.66C73.59,82.21 73.94,81.83 74.39,81.57C74.83,81.3 75.35,81.17 75.87,81.18C76.38,81.19 76.89,81.35 77.3,81.63C77.72,81.92 78.04,82.32 78.22,82.78C78.4,83.24 78.43,83.74 78.3,84.22C78.18,84.7 77.91,85.14 77.53,85.48C77.14,85.82 76.66,86.05 76.15,86.13L76.11,86.14C75.43,86.24 74.74,86.1 74.19,85.72C73.64,85.35 73.27,84.78 73.17,84.14L73.16,84.1ZM63.05,70.99L61.06,58.75L61.04,58.68C60.82,57.28 60.88,55.85 61.23,54.47C61.59,53.08 62.23,51.77 63.11,50.62C63.99,49.46 65.1,48.47 66.38,47.71C67.65,46.96 69.07,46.44 70.54,46.2L70.61,46.19L91.28,42.81L91.36,42.8C97.56,41.79 103.37,45.73 104.33,51.6L104.34,51.67L106.34,63.91L63.05,70.99Z">
<aapt:attr name="android:fillColor">
<gradient android:endX="206.2" android:endY="73.61"
android:startX="18.65" android:startY="102.34" android:type="linear">
<item android:color="#FF1563FF" android:offset="0"/>
<item android:color="#BF3377FF" android:offset="0.99"/>
</gradient>
</aapt:attr>
</path>
</vector>
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorOnPrimary" android:state_selected="true" />
<item android:color="?attr/colorPrimarySurface" />
</selector>
50 changes: 38 additions & 12 deletions android/festago/app/src/main/res/layout/fragment_festival_list.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,44 +15,65 @@
android:layout_height="match_parent"
tools:context=".presentation.ui.home.festivallist.FestivalListFragment">

<ImageView
android:id="@+id/imgFestagoLogo"
android:layout_width="160dp"
android:layout_height="45dp"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
android:src="@drawable/img_festago_home_logo"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<com.google.android.material.chip.ChipGroup
android:id="@+id/cgFilterOption"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:paddingTop="12dp"
android:visibility="gone"
app:checkedChip="@+id/chipOngoing"
app:layout_constraintTop_toTopOf="parent"
app:checkedChip="@+id/chipProgress"
app:layout_constraintTop_toBottomOf="@id/imgFestagoLogo"
app:selectionRequired="true"
app:singleSelection="true">

<com.google.android.material.chip.Chip
android:id="@+id/chipOngoing"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:id="@+id/chipProgress"
style="@style/chipFesta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/festival_list_chip_ongoing" />
android:text="@string/festival_list_chip_progress" />

<com.google.android.material.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Choice"
android:id="@+id/chipPlanned"
style="@style/chipFesta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/festival_list_chip_past" />
android:text="@string/festival_list_chip_planned" />

<com.google.android.material.chip.Chip
android:id="@+id/chipEnd"
style="@style/chipFesta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/festival_list_chip_end" />
</com.google.android.material.chip.ChipGroup>

<ProgressBar
android:id="@+id/pbLoading"
visibility="@{uiState.shouldShowLoading}"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/srlFestivalList"
app:layout_constraintTop_toBottomOf="@id/cgFilterOption"
tools:visibility="gone" />

<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/srlFestivalList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="0dp"
android:layout_marginTop="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
Expand All @@ -73,10 +94,15 @@
<TextView
android:id="@+id/tvErrorOrEmpty"
visibility="@{uiState.shouldShowError || uiState.shouldShowSuccessAndEmpty}"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@{uiState.shouldShowError ? @string/festival_list_tv_error: @string/festival_list_tv_empty}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cgFilterOption"
tools:text="조회된 축제가 없습니다"
tools:visibility="gone" />

</androidx.constraintlayout.widget.ConstraintLayout>
Expand Down
5 changes: 3 additions & 2 deletions android/festago/app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,9 @@

<!-- Strings related to festival list -->
<string name="festival_list_tv_date_format">yyyy.MM.dd</string>
<string name="festival_list_chip_ongoing">진행중</string>
<string name="festival_list_chip_past">지난축제</string>
<string name="festival_list_chip_progress">진행중</string>
<string name="festival_list_chip_planned">진행 예정</string>
<string name="festival_list_chip_end">지난 축제</string>
<string name="festival_list_tv_error">축제 조회에 실패했습니다.</string>
<string name="festival_list_tv_empty">조회된 축제가 없습니다.</string>
<string name="festival_list_tv_date_range_format">%s - %s</string>
Expand Down
6 changes: 6 additions & 0 deletions android/festago/app/src/main/res/values/style.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,10 @@
<item name="cornerSize">50%</item>
</style>

<style name="chipFesta">
<item name="android:checkable">true</item>
<item name="chipBackgroundColor">@drawable/bg_chip_festival_list_selected</item>"
<item name="android:textColor">@drawable/text_chip_festival_list_selected</item>
</style>

</resources>
Loading

0 comments on commit 53f574b

Please sign in to comment.