Skip to content

Commit e8319a8

Browse files
committed
ui/#125 : 결석, 조퇴, 공결에 따른 AttendanceStatusChip 구현
1 parent 3790698 commit e8319a8

File tree

2 files changed

+34
-5
lines changed

2 files changed

+34
-5
lines changed

core/ui/src/main/java/com/yapp/core/ui/component/AttendanceStatusChip.kt

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,36 +9,50 @@ import androidx.compose.foundation.shape.RoundedCornerShape
99
import androidx.compose.material3.Text
1010
import androidx.compose.runtime.Composable
1111
import androidx.compose.ui.Modifier
12+
import androidx.compose.ui.res.stringResource
1213
import androidx.compose.ui.tooling.preview.Preview
1314
import androidx.compose.ui.unit.dp
1415
import com.yapp.core.designsystem.theme.YappTheme
16+
import com.yapp.core.ui.R
1517

1618
enum class AttendanceStatus {
1719
SCHEDULED,
1820
ATTENDED,
19-
LATE
21+
LATE,
22+
ABSENT,
23+
EARLY_LEAVE,
24+
EXCUSED,
2025
}
2126

2227
@Composable
2328
fun AttendanceStatusChip(
2429
status: AttendanceStatus,
2530
) {
2631
val text = when (status) {
27-
AttendanceStatus.SCHEDULED -> "예정"
28-
AttendanceStatus.ATTENDED -> "출석"
29-
AttendanceStatus.LATE -> "지각"
32+
AttendanceStatus.SCHEDULED -> stringResource(id = R.string.attendance_status_scheduled)
33+
AttendanceStatus.ATTENDED -> stringResource(id = R.string.attendance_status_attended)
34+
AttendanceStatus.LATE -> stringResource(id = R.string.attendance_status_late)
35+
AttendanceStatus.ABSENT -> stringResource(id = R.string.attendance_status_absent)
36+
AttendanceStatus.EARLY_LEAVE -> stringResource(id = R.string.attendance_status_early_leave)
37+
AttendanceStatus.EXCUSED -> stringResource(id = R.string.attendance_status_excused)
3038
}
3139

3240
val backgroundColor = when (status) {
3341
AttendanceStatus.SCHEDULED -> YappTheme.colorScheme.yellow95
3442
AttendanceStatus.ATTENDED -> YappTheme.colorScheme.accentLightBlueWeak
35-
AttendanceStatus.LATE -> YappTheme.colorScheme.coolNeutral50.copy(alpha = 0.05f)
43+
AttendanceStatus.LATE -> YappTheme.colorScheme.semanticFillAlternative
44+
AttendanceStatus.ABSENT -> YappTheme.colorScheme.accentRedWeak
45+
AttendanceStatus.EARLY_LEAVE -> YappTheme.colorScheme.accentVioletWeak
46+
AttendanceStatus.EXCUSED -> YappTheme.colorScheme.neutral95
3647
}
3748

3849
val textColor = when (status) {
3950
AttendanceStatus.SCHEDULED -> YappTheme.colorScheme.secondaryNormal
4051
AttendanceStatus.ATTENDED -> YappTheme.colorScheme.accentLightBlue
4152
AttendanceStatus.LATE -> YappTheme.colorScheme.coolNeutral50
53+
AttendanceStatus.ABSENT -> YappTheme.colorScheme.accentRed
54+
AttendanceStatus.EARLY_LEAVE -> YappTheme.colorScheme.accentViolet
55+
AttendanceStatus.EXCUSED -> YappTheme.colorScheme.neutral40
4256
}
4357

4458
Box(
@@ -80,6 +94,18 @@ private fun AttendanceStatusChipPreview() {
8094
AttendanceStatusChip(
8195
status = AttendanceStatus.LATE
8296
)
97+
98+
AttendanceStatusChip(
99+
status = AttendanceStatus.ABSENT
100+
)
101+
102+
AttendanceStatusChip(
103+
status = AttendanceStatus.EARLY_LEAVE
104+
)
105+
106+
AttendanceStatusChip(
107+
status = AttendanceStatus.EXCUSED
108+
)
83109
}
84110
}
85111
}

core/ui/src/main/res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,7 @@
33
<string name="attendance_status_scheduled">예정</string>
44
<string name="attendance_status_attended">출석</string>
55
<string name="attendance_status_late">지각</string>
6+
<string name="attendance_status_absent">결석</string>
7+
<string name="attendance_status_early_leave">조퇴</string>
8+
<string name="attendance_status_excused">공결</string>
69
</resources>

0 commit comments

Comments
 (0)