Skip to content

refactor(DesignSystem): public event를 extension으로 옮기기 #7

@dodo849

Description

@dodo849

🔄 Reason for Refactoring

public event(public interface)에 대한 명확한 분리

♻️ Refactoring Plans

모든 컴포넌트에 대해 아래와 같이 구성

public extension BaseCalendar {
    var onChangeSelectedDate: Observable<Date> {
        return _onChangeSelectedDate.asObservable()
    }
    
    var selectedDate: Binder<Date> {
        return Binder(self) { [weak self] calendar, date in
            guard let self = self else { return }
            
            self.selectedDay = self.days.first { $0.date == date }
            self.updateSelectedDay()
        }
    }
}

public class BaseCalendar: UIView {
    // MARK: Event
    private let _onChangeSelectedDate = PublishSubject<Date>()
    ```

## 📚 Remarks

- x

Metadata

Metadata

Assignees

No one assigned

    Labels

    🔨 RefactorThis task focuses on code refactoring.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions