feat: 남은 연차 표시 및 달력 UI 개선 (넓은 화면, 큰 근무 표시)

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-03-12 21:26:14 +09:00
parent 639b22948b
commit 8e7f212352
3 changed files with 29 additions and 17 deletions

View File

@@ -99,7 +99,7 @@ class CalendarAdapter(
holder.shiftChar.background = null
holder.shiftChar.text = ""
holder.holidayNameSmall.visibility = View.GONE
holder.shiftChar.textSize = 13f
holder.shiftChar.textSize = 15f
// "반월", "반년" (Half-Monthly, Half-Yearly) Special Logic
// These are overrides or specific shifts that user sets.
@@ -111,7 +111,7 @@ class CalendarAdapter(
// Holiday Mode (Priority): Show full holiday name, no circle
holder.shiftChar.text = fullHolidayName
holder.shiftChar.setTextColor(Color.parseColor("#FF5252"))
holder.shiftChar.textSize = 10f
holder.shiftChar.textSize = 11f
holder.shiftChar.background = null
} else if (item.shift != null && item.shift != "비번") {
// Shift Mode
@@ -120,7 +120,7 @@ class CalendarAdapter(
if (item.shift == "반월" || item.shift == "반년") {
holder.shiftChar.text = if (item.shift == "반월") "" else ""
holder.shiftChar.setTextColor(ContextCompat.getColor(context, R.color.black)) // Black for contrast on Half Red/Transparent
holder.shiftChar.textSize = 13f
holder.shiftChar.textSize = 15f
holder.shiftChar.background = ContextCompat.getDrawable(context, R.drawable.bg_shift_half_red)
} else {
// Standard Logic
@@ -137,7 +137,7 @@ class CalendarAdapter(
else -> item.shift.take(1)
}
holder.shiftChar.text = shiftAbbreviation
holder.shiftChar.textSize = 15f
holder.shiftChar.textSize = 17f
holder.shiftChar.setTypeface(null, android.graphics.Typeface.BOLD)
val shiftColorRes = when (item.shift) {
@@ -205,7 +205,7 @@ class CalendarAdapter(
// holder.holidayNameSmall.text = HolidayManager.getLunarDateString(item.date)
holder.shiftChar.text = HolidayManager.getLunarDateString(item.date)
holder.shiftChar.textSize = 10f
holder.shiftChar.textSize = 11f
holder.shiftChar.setTextColor(ContextCompat.getColor(context, R.color.text_tertiary))
holder.shiftChar.background = null
}

View File

@@ -58,12 +58,12 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- Maximized Calendar Card -->
<!-- Maximized Calendar Card - Reduced margins for wider calendar -->
<androidx.cardview.widget.CardView
android:id="@+id/calendarCard"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginHorizontal="12dp"
android:layout_marginHorizontal="4dp"
android:layout_marginBottom="8dp"
app:cardCornerRadius="28dp"
app:cardElevation="0dp"
@@ -160,7 +160,20 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/btnTideLocation"/>
app:layout_constraintEnd_toStartOf="@id/tvAnnualLeave"/>
<TextView
android:id="@+id/tvAnnualLeave"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="연차: 0.0"
android:textSize="12sp"
android:textStyle="bold"
android:textColor="@color/primary"
android:layout_marginEnd="8dp"
app:layout_constraintEnd_toStartOf="@id/btnTideLocation"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/btnTideLocation"
@@ -227,7 +240,7 @@
android:id="@+id/otherTeamsCard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="12dp"
android:layout_marginHorizontal="4dp"
android:layout_marginBottom="16dp"
app:cardCornerRadius="20dp"
app:cardElevation="0dp"
@@ -261,5 +274,4 @@
</LinearLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/dayRoot"
android:layout_width="match_parent"
android:layout_height="92dp"
android:layout_height="108dp"
android:background="@drawable/bg_grid_cell_v4">
<!-- Day Number (top-left) -->
@@ -16,7 +16,7 @@
android:layout_marginTop="4dp"
android:text="12"
android:textColor="@color/text_primary"
android:textSize="14sp"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -35,21 +35,21 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<!-- Shift Abbreviation Circular Indicator (Center) -->
<!-- Shift Abbreviation Circular Indicator (Center) - Larger size -->
<TextView
android:id="@+id/shiftChar"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:gravity="center"
android:text="주"
android:textSize="15sp"
android:textSize="17sp"
android:textStyle="bold"
android:textColor="@color/text_primary"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintVertical_bias="0.45"/>
app:layout_constraintVertical_bias="0.42"/>
<!-- Memo Content Text (Below Shift) - Replacing icon logic for visibility -->
<TextView