45 lines
756 B
TypeScript
45 lines
756 B
TypeScript
|
|
|
||
|
|
export interface SectionProps {
|
||
|
|
id?: string;
|
||
|
|
className?: string;
|
||
|
|
onOpenModal?: (data: ModalData) => void;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface MetricItem {
|
||
|
|
value: string;
|
||
|
|
label: string;
|
||
|
|
subtext: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface TeamMember {
|
||
|
|
name: string;
|
||
|
|
role: string;
|
||
|
|
image: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export type ModalType = 'article' | 'table' | 'list' | 'form';
|
||
|
|
|
||
|
|
export interface ModalData {
|
||
|
|
title: string;
|
||
|
|
type: ModalType;
|
||
|
|
theme: 'dark' | 'light';
|
||
|
|
content: {
|
||
|
|
text?: string;
|
||
|
|
headers?: string[];
|
||
|
|
rows?: string[][];
|
||
|
|
items?: string[];
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
declare global {
|
||
|
|
namespace JSX {
|
||
|
|
interface IntrinsicElements {
|
||
|
|
points: any;
|
||
|
|
bufferGeometry: any;
|
||
|
|
bufferAttribute: any;
|
||
|
|
pointsMaterial: any;
|
||
|
|
ambientLight: any;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|