Cập nhật tab Nhật ký ( CRUD chuyến đi, CRUD thuyền viên trong chuyến đi )
This commit is contained in:
@@ -14,15 +14,32 @@ export default function AlertsSection({ alerts = [] }: AlertsSectionProps) {
|
||||
const { colors } = useThemeContext();
|
||||
|
||||
const getAlertLevelColor = (level?: number) => {
|
||||
const isDark =
|
||||
colors.background === "#1C1C1E" ||
|
||||
colors.background === "#000000" ||
|
||||
colors.background?.toLowerCase().includes("1c1c1e");
|
||||
|
||||
switch (level) {
|
||||
case 0:
|
||||
return { bg: "#FEF3C7", text: "#92400E" }; // Warning - Yellow
|
||||
case 1:
|
||||
return { bg: "#FEE2E2", text: "#991B1B" }; // Error - Red
|
||||
case 2:
|
||||
return { bg: "#DBEAFE", text: "#1E40AF" }; // Info - Blue
|
||||
default:
|
||||
return { bg: "#F3F4F6", text: "#4B5563" }; // Default - Gray
|
||||
case 0: // Bình thường - Blue/Info
|
||||
return isDark
|
||||
? { bg: "#172554", text: "#93C5FD" } // Dark blue
|
||||
: { bg: "#DBEAFE", text: "#1E40AF" };
|
||||
case 1: // Warning - Yellow
|
||||
return isDark
|
||||
? { bg: "#422006", text: "#FCD34D" } // Dark amber
|
||||
: { bg: "#FEF3C7", text: "#92400E" };
|
||||
case 2: // Error - Red
|
||||
return isDark
|
||||
? { bg: "#450A0A", text: "#FCA5A5" } // Dark red
|
||||
: { bg: "#FEE2E2", text: "#991B1B" };
|
||||
case 3: // SOS - Critical Red
|
||||
return isDark
|
||||
? { bg: "#7F1D1D", text: "#FFFFFF" } // Dark critical
|
||||
: { bg: "#DC2626", text: "#FFFFFF" };
|
||||
default: // Default - Gray
|
||||
return isDark
|
||||
? { bg: "#374151", text: "#D1D5DB" } // Dark gray
|
||||
: { bg: "#F3F4F6", text: "#4B5563" };
|
||||
}
|
||||
};
|
||||
|
||||
@@ -38,11 +55,16 @@ export default function AlertsSection({ alerts = [] }: AlertsSectionProps) {
|
||||
icon="warning-outline"
|
||||
count={alerts.length}
|
||||
collapsible
|
||||
defaultExpanded={alerts.length > 0}
|
||||
//defaultExpanded={alerts.length > 0}
|
||||
defaultExpanded
|
||||
>
|
||||
{alerts.length === 0 ? (
|
||||
<View style={styles.emptyContainer}>
|
||||
<Ionicons name="checkmark-circle-outline" size={40} color={colors.success || "#22C55E"} />
|
||||
<Ionicons
|
||||
name="checkmark-circle-outline"
|
||||
size={40}
|
||||
color={colors.success || "#22C55E"}
|
||||
/>
|
||||
<Text style={[styles.emptyText, { color: colors.textSecondary }]}>
|
||||
{t("diary.tripDetail.noAlerts")}
|
||||
</Text>
|
||||
@@ -63,13 +85,22 @@ export default function AlertsSection({ alerts = [] }: AlertsSectionProps) {
|
||||
size={18}
|
||||
color={levelColor.text}
|
||||
/>
|
||||
<Text style={[styles.alertName, { color: levelColor.text }]}>
|
||||
<Text
|
||||
style={[styles.alertName, { color: levelColor.text }]}
|
||||
>
|
||||
{alert.name || t("diary.tripDetail.unknownAlert")}
|
||||
</Text>
|
||||
</View>
|
||||
{alert.confirmed && (
|
||||
<View style={[styles.confirmedBadge, { backgroundColor: colors.success || "#22C55E" }]}>
|
||||
<Text style={styles.confirmedText}>{t("diary.tripDetail.confirmed")}</Text>
|
||||
<View
|
||||
style={[
|
||||
styles.confirmedBadge,
|
||||
{ backgroundColor: colors.success || "#22C55E" },
|
||||
]}
|
||||
>
|
||||
<Text style={styles.confirmedText}>
|
||||
{t("diary.tripDetail.confirmed")}
|
||||
</Text>
|
||||
</View>
|
||||
)}
|
||||
</View>
|
||||
|
||||
Reference in New Issue
Block a user