Skip to content

Commit

Permalink
[Feat] #375 사용자가 화면 반짝임 여부 실행에 따른 화면 Blink 구현
Browse files Browse the repository at this point in the history
  • Loading branch information
l1004ga committed Jan 31, 2025
1 parent 93b0f4b commit 755a93e
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
2 changes: 1 addition & 1 deletion Macro/Domain/UseCase/MetronomeOnOffImplement.swift
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ extension MetronomeOnOffImplement: MetronomeOnOffUseCase {
// timer 카운트를 해주고, 틱마다 publish
self.updateStatePerBak()
self.tickSubject.send((currentSobak, currentDaebak, currentRow))
if self.currentSobak == 0 {
if self.isBlinkOn && self.currentSobak == 0 {
self.firstTickSubject.send()
}

Expand Down
4 changes: 2 additions & 2 deletions Macro/Screen/HomeScreen/HomeView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,10 @@ struct HomeView: View {
}
}

if self.viewModel.state.isBlinkOn {
if self.viewModel.state.isBlinking {
Color.white
.ignoresSafeArea()
.animation(.linear(duration: 0.3), value: self.viewModel.state.isBlinkOn)
.animation(.linear(duration: 0.3), value: self.viewModel.state.isBlinking)
}
}
} else {
Expand Down
6 changes: 3 additions & 3 deletions Macro/Screen/HomeScreen/ViewModel/HomeViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class HomeViewModel {

self.metronomeOnOffUseCase.firstTickPublisher.sink { [weak self] _ in
guard let self else { return }
self.state.isBlinkOn = true
self.state.isBlinking = true
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
self.state.isBlinkOn = false
self.state.isBlinking = false
}
}
.store(in: &cancelBag)
Expand All @@ -33,7 +33,7 @@ class HomeViewModel {
private(set) var state: State = .init()

struct State {
var isBlinkOn: Bool = false
var isBlinking: Bool = false
}
}

Expand Down

0 comments on commit 755a93e

Please sign in to comment.