2024-03-18 13:58:05 +01:00
|
|
|
import type { ReactNode } from 'react';
|
2024-03-13 16:21:40 +01:00
|
|
|
|
2023-10-24 17:26:44 +02:00
|
|
|
export type BannerVariant = 'info' | 'warning' | 'error' | 'success';
|
2023-10-18 11:32:19 +02:00
|
|
|
|
2023-10-19 14:18:25 +02:00
|
|
|
export interface IBanner {
|
2023-10-18 11:32:19 +02:00
|
|
|
message: string;
|
|
|
|
variant?: BannerVariant;
|
|
|
|
sticky?: boolean;
|
|
|
|
icon?: string;
|
|
|
|
link?: string;
|
2024-03-19 11:09:09 +01:00
|
|
|
linkClicked?: () => void;
|
2023-10-18 11:32:19 +02:00
|
|
|
linkText?: string;
|
|
|
|
plausibleEvent?: string;
|
|
|
|
dialogTitle?: string;
|
2024-03-13 16:21:40 +01:00
|
|
|
dialog?: ReactNode;
|
2023-10-18 11:32:19 +02:00
|
|
|
}
|
|
|
|
|
2023-10-24 17:26:44 +02:00
|
|
|
export interface IInternalBanner extends Omit<IBanner, 'plausibleEvent'> {
|
2023-10-18 11:32:19 +02:00
|
|
|
id: number;
|
|
|
|
enabled: boolean;
|
|
|
|
createdAt: string;
|
|
|
|
}
|