- Expanded CourseResourceType to include "resource" and "temp". - Renamed ICourseResource to IResource and updated its properties for consistency. - Introduced ICreateResource type for resource creation. - Modified ICourseSection and ICourseChapter interfaces to use the new IResource type and updated property names for camelCase. - Implemented uploadFile function in file API for handling file uploads. - Created ResourceUploader component for uploading resources with validation and feedback. - Developed Card component for displaying course class details and managing student enrollment. - Added AlertDialog components for consistent alert dialog UI. - Enhanced table components for better data presentation and management. - Implemented preview page for displaying various resource types based on file extension.
24 lines
786 B
TypeScript
24 lines
786 B
TypeScript
import { cva, type VariantProps } from 'class-variance-authority'
|
|
|
|
export { default as Alert } from './Alert.vue'
|
|
export { default as AlertDescription } from './AlertDescription.vue'
|
|
export { default as AlertTitle } from './AlertTitle.vue'
|
|
|
|
export const alertVariants = cva(
|
|
'relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground',
|
|
{
|
|
variants: {
|
|
variant: {
|
|
default: 'bg-background text-foreground',
|
|
destructive:
|
|
'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive',
|
|
},
|
|
},
|
|
defaultVariants: {
|
|
variant: 'default',
|
|
},
|
|
},
|
|
)
|
|
|
|
export type AlertVariants = VariantProps<typeof alertVariants>
|