diff --git a/components/classes/index.ts b/components/classes/index.ts
new file mode 100644
index 0000000..d76c4e6
--- /dev/null
+++ b/components/classes/index.ts
@@ -0,0 +1,12 @@
+/**
+ * Class Management Components and Utilities
+ * Centralized exports for all class-related UI components and utility functions
+ */
+
+// Re-export core types for convenience (only if they exist)
+// export type { Class, CreateClassRequest, UpdateClassRequest, ClassValidationResult } from '../../src/types/class';
+
+// Note: Class management UI components and utilities are not yet implemented
+// This file serves as a placeholder for future class management exports
+
+export {}; // Empty export to make this a valid module
\ No newline at end of file
diff --git a/components/ui/ConfirmButton.tsx b/components/ui/ConfirmButton.tsx
index 8e3a4ad..d1b0b7b 100644
--- a/components/ui/ConfirmButton.tsx
+++ b/components/ui/ConfirmButton.tsx
@@ -332,6 +332,7 @@ ConfirmButton.Danger = (props: Omit
);
+ConfirmButton.Danger.displayName = 'ConfirmButton.Danger';
/**
* ConfirmButton.Delete - Delete-specific button
@@ -346,5 +347,6 @@ ConfirmButton.Delete = (props: Omit
);
+ConfirmButton.Delete.displayName = 'ConfirmButton.Delete';
export default ConfirmButton;
\ No newline at end of file
diff --git a/components/ui/RequiredFieldLabel.tsx b/components/ui/RequiredFieldLabel.tsx
index 84e086e..6726798 100644
--- a/components/ui/RequiredFieldLabel.tsx
+++ b/components/ui/RequiredFieldLabel.tsx
@@ -205,6 +205,7 @@ RequiredFieldLabel.Asterisk = ({
*
);
+RequiredFieldLabel.Asterisk.displayName = 'RequiredFieldLabel.Asterisk';
/**
* RequiredFieldLabel.Text - Standalone required text component
@@ -220,6 +221,7 @@ RequiredFieldLabel.Text = ({
({children})
);
+RequiredFieldLabel.Text.displayName = 'RequiredFieldLabel.Text';
/**
* RequiredFieldLabel.Optional - Optional field indicator
@@ -235,5 +237,6 @@ RequiredFieldLabel.Optional = ({
({children})
);
+RequiredFieldLabel.Optional.displayName = 'RequiredFieldLabel.Optional';
export default RequiredFieldLabel;
\ No newline at end of file
diff --git a/components/ui/StudentAvatar.tsx b/components/ui/StudentAvatar.tsx
index d066852..cd12548 100644
--- a/components/ui/StudentAvatar.tsx
+++ b/components/ui/StudentAvatar.tsx
@@ -1,4 +1,5 @@
import React from 'react';
+import Image from 'next/image';
import {
formatStudentName,
generateStudentInitials,
@@ -187,10 +188,11 @@ const StudentAvatar: React.FC = ({
>
{/* Avatar Image */}
{avatarUrl && (
-
)}
diff --git a/components/ui/StudentBadge.tsx b/components/ui/StudentBadge.tsx
index 25518c4..0fae829 100644
--- a/components/ui/StudentBadge.tsx
+++ b/components/ui/StudentBadge.tsx
@@ -307,6 +307,7 @@ const StudentBadge: React.FC & {
StudentBadge.Status = (props: Omit & { status: NonNullable }) => (
);
+StudentBadge.Status.displayName = 'StudentBadge.Status';
/**
* StudentBadge.Grade - Grade-specific badge
@@ -314,6 +315,7 @@ StudentBadge.Status = (props: Omit & { status: NonN
StudentBadge.Grade = (props: Omit & { grade: NonNullable }) => (
);
+StudentBadge.Grade.displayName = 'StudentBadge.Grade';
/**
* StudentBadge.Attendance - Attendance-specific badge
@@ -321,5 +323,6 @@ StudentBadge.Grade = (props: Omit & { grade: NonNull
StudentBadge.Attendance = (props: Omit & { attendance: NonNullable }) => (
);
+StudentBadge.Attendance.displayName = 'StudentBadge.Attendance';
export default StudentBadge;
\ No newline at end of file
diff --git a/components/ui/ValidationMessage.tsx b/components/ui/ValidationMessage.tsx
index 0b640fa..0cbe2d9 100644
--- a/components/ui/ValidationMessage.tsx
+++ b/components/ui/ValidationMessage.tsx
@@ -258,6 +258,7 @@ const ValidationMessage: React.FC & {
ValidationMessage.Error = (props: Omit) => (
);
+ValidationMessage.Error.displayName = 'ValidationMessage.Error';
/**
* ValidationMessage.Success - Shorthand for success messages
@@ -265,6 +266,7 @@ ValidationMessage.Error = (props: Omit) => (
ValidationMessage.Success = (props: Omit) => (
);
+ValidationMessage.Success.displayName = 'ValidationMessage.Success';
/**
* ValidationMessage.Warning - Shorthand for warning messages
@@ -272,6 +274,7 @@ ValidationMessage.Success = (props: Omit) => (
ValidationMessage.Warning = (props: Omit) => (
);
+ValidationMessage.Warning.displayName = 'ValidationMessage.Warning';
/**
* ValidationMessage.Info - Shorthand for info messages
@@ -279,5 +282,6 @@ ValidationMessage.Warning = (props: Omit) => (
ValidationMessage.Info = (props: Omit) => (
);
+ValidationMessage.Info.displayName = 'ValidationMessage.Info';
export default ValidationMessage;
\ No newline at end of file