update on timeline on portfolio view + some corrections
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
import { useLanguage } from '../i18n/LanguageContext'
|
||||
|
||||
export default function EmptyState({
|
||||
icon: Icon,
|
||||
title,
|
||||
description,
|
||||
actionLabel,
|
||||
onAction,
|
||||
secondaryActionLabel,
|
||||
onSecondaryAction,
|
||||
compact = false
|
||||
}) {
|
||||
const { t } = useLanguage()
|
||||
|
||||
if (compact) {
|
||||
return (
|
||||
<div className="py-8 text-center">
|
||||
{Icon && <Icon className="w-8 h-8 text-text-tertiary mx-auto mb-2" />}
|
||||
<p className="text-sm text-text-secondary">{title}</p>
|
||||
{description && <p className="text-xs text-text-tertiary mt-1">{description}</p>}
|
||||
{actionLabel && (
|
||||
<button
|
||||
onClick={onAction}
|
||||
className="mt-3 text-sm text-brand-primary hover:text-brand-primary-light font-medium"
|
||||
>
|
||||
{actionLabel}
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="py-16 text-center">
|
||||
{Icon && (
|
||||
<div className="inline-flex items-center justify-center w-16 h-16 rounded-full bg-surface-tertiary mb-4">
|
||||
<Icon className="w-8 h-8 text-text-tertiary" />
|
||||
</div>
|
||||
)}
|
||||
<h3 className="text-lg font-semibold text-text-primary mb-2">{title}</h3>
|
||||
{description && <p className="text-sm text-text-secondary max-w-md mx-auto mb-6">{description}</p>}
|
||||
|
||||
<div className="flex items-center justify-center gap-3">
|
||||
{actionLabel && (
|
||||
<button
|
||||
onClick={onAction}
|
||||
className="px-5 py-2.5 bg-brand-primary text-white rounded-lg text-sm font-medium hover:bg-brand-primary-light shadow-sm transition-all hover:-translate-y-0.5"
|
||||
>
|
||||
{actionLabel}
|
||||
</button>
|
||||
)}
|
||||
{secondaryActionLabel && (
|
||||
<button
|
||||
onClick={onSecondaryAction}
|
||||
className="px-5 py-2.5 bg-white border border-border text-text-primary rounded-lg text-sm font-medium hover:bg-surface-secondary transition-colors"
|
||||
>
|
||||
{secondaryActionLabel}
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user