[FEAT] New Badge Indicator Feature Implementation#104
Conversation
- Add Badge Style highlight on recently uploaded notices (uploaded within 24 hours) - Necessary color system has been defined to support both dark and light theme. - Adequate business logic has been defined and tested. - Appropriate modification has been made on NoticeVO, and its corresponding consumers.
β¦ss Rule Update
* Isolate Notice Recent Validation logic to independent UseCase to enhance its reusability.
* Apply updated business logic
- 24-hours based validation to 48-hours based validation.
β¦omeDashboard * Apply Recent Notice Validation followed by New Badge UI implementation has been applied to TopThreeNotices on HomeDashboard.
There was a problem hiding this comment.
Code Review
This pull request introduces a feature to display a "recent" badge on notices published within the last 48 hours. It adds color definitions, updates the NoticeVO model with an isRecent flag, implements a CheckRecentNotice use case, and integrates this logic into the notice fetching use cases and UI components. The review feedback highlights a logical issue in CheckRecentNotice where comparing epoch milliseconds from a date-only string with system time causes inconsistent behavior; it suggests using LocalDate comparisons and caching the formatter and zone ID. Additionally, the feedback points out redundant modifiers in NotificationPreview.kt, specifically the transparent background on Surface and the combination of fillMaxWidth() with weight(9f) in a Row.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
* Mitigate Edge-case identified regarding Epoch Milliseconds based Recent Notice Validation logic.
- Utilize direct LocalDate comparison for accurate validation result.
- For efficiency, declare DateTimeFormatter and ZoneId as a part of companion object to prevent multiple instantiation of frequently used instances during validations.
- Remove unnecessary weight configuration. Let Compose engine to determine available spaces in row, and take maximum spaces (row) available.
π Summary (κ°μ)
π Related Issue (κ΄λ ¨ μ΄μ)
π Type of Change (λ³κ²½ μ¬ν)
FEAT: New feature (μλ‘μ΄ κΈ°λ₯)FIX: Bug fix (λ²κ·Έ μμ )REFACTOR: Code refactoring (no functional change) (μ½λ 리ν©ν λ§)DESIGN: UI/UX changes (λμμΈ λ³κ²½)!HOTFIX: Critical fix (μΉλͺ μ μΈ λ²κ·Έ μμ )CHORE: Build/Config/CI (λΉλ/μ€μ /CI)β¨ Key Changes (ν΅μ¬ λ³κ²½ μ¬ν)
isRecentvalue validation logic to process New Badge Indicator appearance.πΈ Screenshots / Video (μ€ν¬λ¦°μ· λλ λμμ)
HomeDashboard (
TopThreeNotices)NoticesByCategory (List of Notices in Category)
π§ͺ Test Plan (ν μ€νΈ κ³ν)
New Badgeis correctly applied to notices posted within 48 hours window.New Badgeis correctly applied to notices posted within 48 hours window.β Checklist (체ν¬λ¦¬μ€νΈ)