Files
twenty/packages/twenty-front/src/modules/settings/integrations/utils/getSettingsIntegrationAll.ts
T
Félix Malfait 464a480043 Continue ESLINT9 Migration (#13795)
Might already fix #13793
2025-08-10 23:25:58 +02:00

51 lines
1.6 KiB
TypeScript

import { type SettingsIntegration } from '@/settings/integrations/types/SettingsIntegration';
import { type SettingsIntegrationCategory } from '@/settings/integrations/types/SettingsIntegrationCategory';
export const getSettingsIntegrationAll = ({
isAirtableIntegrationEnabled,
isAirtableIntegrationActive,
isPostgresqlIntegrationEnabled,
isPostgresqlIntegrationActive,
isStripeIntegrationEnabled,
isStripeIntegrationActive,
}: {
isAirtableIntegrationEnabled: boolean;
isAirtableIntegrationActive: boolean;
isPostgresqlIntegrationEnabled: boolean;
isPostgresqlIntegrationActive: boolean;
isStripeIntegrationEnabled: boolean;
isStripeIntegrationActive: boolean;
}): SettingsIntegrationCategory => ({
key: 'all',
title: 'All',
integrations: [
isAirtableIntegrationEnabled && {
from: {
key: 'airtable',
image: '/images/integrations/airtable-logo.png',
},
type: isAirtableIntegrationActive ? 'Active' : 'Add',
text: 'Airtable',
link: '/settings/integrations/airtable',
},
isPostgresqlIntegrationEnabled && {
from: {
key: 'postgresql',
image: '/images/integrations/postgresql-logo.png',
},
type: isPostgresqlIntegrationActive ? 'Active' : 'Add',
text: 'PostgreSQL',
link: '/settings/integrations/postgresql',
},
isStripeIntegrationEnabled && {
from: {
key: 'stripe',
image: '/images/integrations/stripe-logo.png',
},
type: isStripeIntegrationActive ? 'Active' : 'Add',
text: 'Stripe',
link: '/settings/integrations/stripe',
},
].filter(Boolean) as SettingsIntegration[],
});