+
+ {icon && {icon} }
+
+ {_getLabel(feature.label, language)}
+
+
+
+
+
+ {_getDescription(feature.featureCode, language)}
+
+
+
+
+
+
+ {feature.isActive
+ ? (language === 'de' ? 'Aktiv' : language === 'fr' ? 'Actif' : 'Active')
+ : (language === 'de' ? 'Verfuegbar' : language === 'fr' ? 'Disponible' : 'Available')}
+
+
+
+
+ {feature.isActive ? (
+ onDeactivate(feature.featureCode)}
+ disabled={isProcessing}
+ >
+ {isProcessing
+ ? (language === 'de' ? 'Wird deaktiviert...' : 'Deactivating...')
+ : (language === 'de' ? 'Deaktivieren' : language === 'fr' ? 'Desactiver' : 'Deactivate')}
+
+ ) : (
+ onActivate(feature.featureCode)}
+ disabled={isProcessing || !feature.canActivate}
+ >
+ {isProcessing
+ ? (language === 'de' ? 'Wird aktiviert...' : 'Activating...')
+ : (language === 'de' ? 'Aktivieren' : language === 'fr' ? 'Activer' : 'Activate')}
+
+ )}
+
+
+ );
+};
+
+const StorePage: React.FC = () => {
+ const { currentLanguage } = useLanguage();
+ const { features, loading, actionLoading, error, activate, deactivate } = useStore();
+
+ return (
+
+
+
{currentLanguage === 'de' ? 'Feature Store' : currentLanguage === 'fr' ? 'Feature Store' : 'Feature Store'}
+
+ {currentLanguage === 'de'
+ ? 'Aktiviere Features fuer dein Konto. Deine Daten sind isoliert und nur fuer dich sichtbar.'
+ : currentLanguage === 'fr'
+ ? 'Activez des fonctionnalites pour votre compte. Vos donnees sont isolees et visibles uniquement par vous.'
+ : 'Activate features for your account. Your data is isolated and only visible to you.'}
+
+
+
+ {error &&
{error}
}
+
+ {loading ? (
+
+ {currentLanguage === 'de' ? 'Lade Features...' : 'Loading features...'}
+
+ ) : features.length === 0 ? (
+
+ {currentLanguage === 'de'
+ ? 'Keine Features im Store verfuegbar.'
+ : 'No features available in the store.'}
+
+ ) : (
+
+ {features.map((feature) => (
+
+ ))}
+
+ )}
+
+ );
+};
+
+export default StorePage;