From d272b96e539dddf58ca1beaee0bad18647cabb74 Mon Sep 17 00:00:00 2001 From: amaliadwiy Date: Tue, 19 May 2026 14:47:37 +0800 Subject: [PATCH] fix: ganti warna desc diskusi dan pindahkan inline styles ke styles.ts - Ganti warna teks deskripsi dari dimmed ke text pada list diskusi umum dan divisi - Tambah class discussionHeaderPadding, discussionListPadding, discussionTitleCol, discussionDescMargin, discussionEmptyText ke component.styles.ts - Ganti semua inline style dengan themed object (warna dinamis) dan Styles.* (statis) --- app/(application)/discussion/index.tsx | 43 ++++++++++++------- .../(fitur-division)/discussion/index.tsx | 37 ++++++++++------ constants/styles/component.styles.ts | 5 +++ 3 files changed, 57 insertions(+), 28 deletions(-) diff --git a/app/(application)/discussion/index.tsx b/app/(application)/discussion/index.tsx index 8320d0e..fe1a002 100644 --- a/app/(application)/discussion/index.tsx +++ b/app/(application)/discussion/index.tsx @@ -87,11 +87,24 @@ export default function Discussion() { const isOpen = (item: Props) => item.status === 1 + const themed = { + background: { backgroundColor: colors.background }, + card: { backgroundColor: colors.card, borderColor: colors.icon + '20' }, + cardPressed: { backgroundColor: colors.icon + '10' }, + iconCircle: { backgroundColor: colors.icon + '20' }, + title: { color: colors.text }, + dimmed: { color: colors.dimmed }, + statusOpen: { borderColor: '#10B981' as const }, + statusClosed: { borderColor: colors.dimmed + '80' }, + statusTextOpen: { color: '#10B981' as const }, + statusTextClosed: { color: colors.dimmed }, + } + return ( - + {/* Header controls */} - + {entityUser.role != "user" && entityUser.role != "coadmin" && ( {/* List */} - + {isLoading ? ( [0, 1, 2, 3, 4].map((_, i) => ) ) : flatData.length === 0 ? ( - + Tidak ada diskusi @@ -154,27 +167,25 @@ export default function Discussion() { onPress={() => router.push(`/discussion/${item.id}`)} style={({ pressed }) => [ Styles.discussionCard, - { - backgroundColor: pressed ? colors.icon + '10' : colors.card, - borderColor: colors.icon + '20', - } + themed.card, + pressed && themed.cardPressed, ]} > {/* Top row: icon + title + status badge */} {/* Discussion icon */} - + {/* Title + status badge */} - - + + {item.title} {status !== "false" && ( - - + + {isOpen(item) ? 'Buka' : 'Tutup'} @@ -185,7 +196,7 @@ export default function Discussion() { {/* Description */} {item.desc ? ( {item.desc.replace(/<[^>]*>?/gm, ' ').replace(/\r?\n|\r/g, ' ')} @@ -196,11 +207,11 @@ export default function Discussion() { - + {item.total_komentar} Komentar - + {item.createdAt} diff --git a/app/(application)/division/[id]/(fitur-division)/discussion/index.tsx b/app/(application)/division/[id]/(fitur-division)/discussion/index.tsx index 41f7445..a8faaa2 100644 --- a/app/(application)/division/[id]/(fitur-division)/discussion/index.tsx +++ b/app/(application)/division/[id]/(fitur-division)/discussion/index.tsx @@ -98,11 +98,23 @@ export default function DiscussionDivision() { const isOpen = (item: Props) => item.status === 1 + const themed = { + background: { backgroundColor: colors.background }, + card: { backgroundColor: colors.card, borderColor: colors.icon + '20' }, + cardPressed: { backgroundColor: colors.icon + '10' }, + title: { color: colors.text }, + dimmed: { color: colors.dimmed }, + statusOpen: { borderColor: '#10B981' as const }, + statusClosed: { borderColor: colors.dimmed + '80' }, + statusTextOpen: { color: '#10B981' as const }, + statusTextClosed: { color: colors.dimmed }, + } + return ( - + {((entityUser.role != "user" && entityUser.role != "coadmin") || isAdminDivision) && ( - + )} - + {loading ? ( arrSkeleton.map((_, i) => ) ) : data.length === 0 ? ( - + Tidak ada diskusi @@ -151,18 +163,19 @@ export default function DiscussionDivision() { onPress={() => router.push(`./discussion/${item.id}`)} style={({ pressed }) => [ Styles.discussionCard, - { backgroundColor: pressed ? colors.icon + '10' : colors.card, borderColor: colors.icon + '20' } + themed.card, + pressed && themed.cardPressed, ]} > - - + + {item.user_name} {status === "true" && ( - - + + {isOpen(item) ? 'Buka' : 'Tutup'} @@ -171,7 +184,7 @@ export default function DiscussionDivision() { {item.desc ? ( - + {item.desc} ) : null} @@ -179,11 +192,11 @@ export default function DiscussionDivision() { - + {item.total_komentar} Komentar - + {item.createdAt} diff --git a/constants/styles/component.styles.ts b/constants/styles/component.styles.ts index 1fc0369..4851fa9 100644 --- a/constants/styles/component.styles.ts +++ b/constants/styles/component.styles.ts @@ -86,6 +86,11 @@ const ComponentStyles = StyleSheet.create({ discussionDateText: { fontSize: 11 }, discussionCommentCard: { borderRadius: 10, borderWidth: 1, padding: 12, marginBottom: 8, flexDirection: 'row' }, discussionEditedText: { fontSize: 10, fontStyle: 'italic' }, + discussionHeaderPadding: { paddingTop: 12 }, + discussionListPadding: { paddingTop: 8 }, + discussionTitleCol: { marginLeft: 10 }, + discussionDescMargin: { marginBottom: 10 }, + discussionEmptyText: { fontSize: 14 }, // guide overlay guideOverlay: { flex: 1, backgroundColor: 'rgba(0,0,0,0.6)', justifyContent: 'center', alignItems: 'center' },