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 && ( - {accessibilityLabel} )} 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