+ {/* Validation field alerts (#324) */}
+ {fields.length > 0 && (
+
+ {fields.map((field) => {
+ const hasError = Boolean(field.error);
+ return (
+
+
+
+ {field.label}
+
+
+ {hasError ? "Invalid" : "Valid"}
+
+
+ {hasError && (
+
+ {field.error}
+
+ )}
+
+ );
+ })}
+
+ )}
+
+ {/* Notifications */}
+ {notifications.length === 0 && fields.length === 0 && (
+
You're all caught up.
+ )}
+ {notifications.map((notice) => (
+
+
+
{TYPE_ICON[notice.type]}
+
+
{notice.title}
+ {notice.message && (
+
{notice.message}
+ )}
+
+
+
+ ))}
+