Customize watermark labels in package comparison
This commit is contained in:
@@ -40,6 +40,22 @@ interface Package {
|
||||
branding_allowed?: boolean;
|
||||
}
|
||||
|
||||
export const resolveWatermarkFeatureKey = (pkg: Package): string => {
|
||||
if (pkg.slug === 'starter') {
|
||||
return 'watermark_base';
|
||||
}
|
||||
|
||||
if (pkg.slug === 'standard') {
|
||||
return 'no_watermark';
|
||||
}
|
||||
|
||||
if (pkg.slug === 'pro') {
|
||||
return 'watermark_custom';
|
||||
}
|
||||
|
||||
return pkg.watermark_allowed === false ? 'no_watermark' : 'watermark';
|
||||
};
|
||||
|
||||
const sortPackagesByPrice = (packages: Package[]): Package[] =>
|
||||
[...packages].sort((a, b) => Number(a.price ?? 0) - Number(b.price ?? 0));
|
||||
|
||||
@@ -64,13 +80,9 @@ const buildDisplayFeatures = (pkg: Package): string[] => {
|
||||
}
|
||||
};
|
||||
|
||||
if (pkg.watermark_allowed === false) {
|
||||
removeFeature('watermark');
|
||||
addFeature('no_watermark');
|
||||
} else {
|
||||
removeFeature('no_watermark');
|
||||
addFeature('watermark');
|
||||
}
|
||||
const watermarkFeature = resolveWatermarkFeatureKey(pkg);
|
||||
['watermark', 'no_watermark', 'watermark_base', 'watermark_custom'].forEach(removeFeature);
|
||||
addFeature(watermarkFeature);
|
||||
|
||||
if (pkg.branding_allowed) {
|
||||
addFeature('custom_branding');
|
||||
@@ -142,8 +154,7 @@ function PackageComparison({ packages, variant }: PackageComparisonProps) {
|
||||
{
|
||||
key: 'watermark',
|
||||
label: t('packages.watermark_label'),
|
||||
value: (pkg: Package) =>
|
||||
pkg.watermark_allowed === false ? t('packages.no_watermark') : t('packages.feature_watermark'),
|
||||
value: (pkg: Package) => t(`packages.feature_${resolveWatermarkFeatureKey(pkg)}`),
|
||||
},
|
||||
{
|
||||
key: 'branding',
|
||||
|
||||
Reference in New Issue
Block a user