From 6ab43c608f1b79bba51659ebdcb2ee02c655ea3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tha=C3=AFs?= Date: Mon, 25 Mar 2024 18:06:46 +0100 Subject: [PATCH] feat: create Integrations/IntegrationDetail page (#4574) * feat: create Integrations/IntegrationDetail page Closes #4546 * docs: add Settings/Integrations/Integration Detail page stories * docs: add Settings/Billing page stories * refactor: move some Settings components to @/settings * refactor: move some Settings integrations components to @/settings/integrations --- .../images/integrations/airtable-logo.png | Bin 0 -> 12120 bytes .../images/integrations/postgresql-logo.png | Bin 0 -> 70880 bytes packages/twenty-front/src/App.tsx | 5 ++ .../components}/SettingsAccountLoader.tsx | 0 .../components/SettingsApiKeysTable.tsx | 53 ++++++++++++ .../SettingsReadDocumentationButton.tsx} | 2 +- .../components/SettingsWebhooksTable.tsx | 51 +++++++++++ .../SettingsIntegrationComponent.tsx | 0 .../components}/SettingsIntegrationGroup.tsx | 2 +- .../src/modules/types/SettingsPath.ts | 1 + .../modules/workspace/types/FeatureFlagKey.ts | 4 +- .../__stories__/SettingsBilling.stories.tsx | 27 ++++++ .../settings/accounts/SettingsAccounts.tsx | 2 +- .../developers/SettingsDevelopers.tsx | 61 +++++++++++-- ...ettingsDevelopersApiKeysDetail.stories.tsx | 0 .../SettingsDevelopersApiKeysNew.stories.tsx | 0 ...ttingsDevelopersWebhooksDetail.stories.tsx | 2 +- .../SettingsDevelopersWebhooksNew.stories.tsx | 2 +- .../api-keys/SettingsDevelopersApiKeys.tsx | 80 ------------------ .../webhooks/SettingsDevelopersWebhooks.tsx | 76 ----------------- .../SettingsIntegrationDetail.tsx | 56 ++++++++++++ .../integrations/SettingsIntegrations.tsx | 2 +- .../SettingsIntegrationDetail.stories.tsx | 29 +++++++ .../SettingsIntegrations.stories.tsx | 4 +- .../constants/SettingsIntegrationAll.ts | 26 ++++++ .../SettingsIntegrationCategories.ts | 2 + .../integrations/types/SettingsIntegration.ts | 2 +- .../types/SettingsIntegrationCategory.ts | 2 +- .../typeorm-seeds/core/feature-flags.ts | 12 ++- .../feature-flag/feature-flag.entity.ts | 2 + .../commands/add-standard-id.command.ts | 4 + 31 files changed, 335 insertions(+), 174 deletions(-) create mode 100644 packages/twenty-front/public/images/integrations/airtable-logo.png create mode 100644 packages/twenty-front/public/images/integrations/postgresql-logo.png rename packages/twenty-front/src/{pages/settings/accounts => modules/settings/accounts/components}/SettingsAccountLoader.tsx (100%) create mode 100644 packages/twenty-front/src/modules/settings/developers/components/SettingsApiKeysTable.tsx rename packages/twenty-front/src/{pages/settings/developers/components/ReadDocumentationButton.tsx => modules/settings/developers/components/SettingsReadDocumentationButton.tsx} (86%) create mode 100644 packages/twenty-front/src/modules/settings/developers/components/SettingsWebhooksTable.tsx rename packages/twenty-front/src/{pages/settings/integrations => modules/settings/integrations/components}/SettingsIntegrationComponent.tsx (100%) rename packages/twenty-front/src/{pages/settings/integrations => modules/settings/integrations/components}/SettingsIntegrationGroup.tsx (93%) create mode 100644 packages/twenty-front/src/pages/settings/__stories__/SettingsBilling.stories.tsx rename packages/twenty-front/src/pages/settings/developers/__stories__/{ => api-keys}/SettingsDevelopersApiKeysDetail.stories.tsx (100%) rename packages/twenty-front/src/pages/settings/developers/__stories__/{ => api-keys}/SettingsDevelopersApiKeysNew.stories.tsx (100%) rename packages/twenty-front/src/pages/settings/developers/__stories__/{ => webhooks}/SettingsDevelopersWebhooksDetail.stories.tsx (95%) rename packages/twenty-front/src/pages/settings/developers/__stories__/{ => webhooks}/SettingsDevelopersWebhooksNew.stories.tsx (92%) delete mode 100644 packages/twenty-front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeys.tsx delete mode 100644 packages/twenty-front/src/pages/settings/developers/webhooks/SettingsDevelopersWebhooks.tsx create mode 100644 packages/twenty-front/src/pages/settings/integrations/SettingsIntegrationDetail.tsx create mode 100644 packages/twenty-front/src/pages/settings/integrations/__stories__/SettingsIntegrationDetail.stories.tsx create mode 100644 packages/twenty-front/src/pages/settings/integrations/constants/SettingsIntegrationAll.ts diff --git a/packages/twenty-front/public/images/integrations/airtable-logo.png b/packages/twenty-front/public/images/integrations/airtable-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f63243b3616daaa8566aaa43a7afe8b12b0a3288 GIT binary patch literal 12120 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 GkpBmQL!H$C literal 0 HcmV?d00001 diff --git a/packages/twenty-front/public/images/integrations/postgresql-logo.png b/packages/twenty-front/public/images/integrations/postgresql-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..08e86c06b07b896090013b8ffdbd3ee4ee73a03f GIT binary patch literal 70880 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 z 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 literal 0 HcmV?d00001 diff --git a/packages/twenty-front/src/App.tsx b/packages/twenty-front/src/App.tsx index 38b93730a..9dc41e7f7 100644 --- a/packages/twenty-front/src/App.tsx +++ b/packages/twenty-front/src/App.tsx @@ -38,6 +38,7 @@ import { SettingsDevelopersApiKeysNew } from '~/pages/settings/developers/api-ke import { SettingsDevelopers } from '~/pages/settings/developers/SettingsDevelopers'; import { SettingsDevelopersWebhooksDetail } from '~/pages/settings/developers/webhooks/SettingsDevelopersWebhookDetail'; import { SettingsDevelopersWebhooksNew } from '~/pages/settings/developers/webhooks/SettingsDevelopersWebhooksNew'; +import { SettingsIntegrationDetail } from '~/pages/settings/integrations/SettingsIntegrationDetail'; import { SettingsIntegrations } from '~/pages/settings/integrations/SettingsIntegrations'; import { SettingsAppearance } from '~/pages/settings/SettingsAppearance'; import { SettingsBilling } from '~/pages/settings/SettingsBilling.tsx'; @@ -170,6 +171,10 @@ export const App = () => { path={SettingsPath.Integrations} element={} /> + } + /> } diff --git a/packages/twenty-front/src/pages/settings/accounts/SettingsAccountLoader.tsx b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountLoader.tsx similarity index 100% rename from packages/twenty-front/src/pages/settings/accounts/SettingsAccountLoader.tsx rename to packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountLoader.tsx diff --git a/packages/twenty-front/src/modules/settings/developers/components/SettingsApiKeysTable.tsx b/packages/twenty-front/src/modules/settings/developers/components/SettingsApiKeysTable.tsx new file mode 100644 index 000000000..de55bab79 --- /dev/null +++ b/packages/twenty-front/src/modules/settings/developers/components/SettingsApiKeysTable.tsx @@ -0,0 +1,53 @@ +import { useNavigate } from 'react-router-dom'; +import styled from '@emotion/styled'; + +import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; +import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords'; +import { SettingsApiKeysFieldItemTableRow } from '@/settings/developers/components/SettingsApiKeysFieldItemTableRow'; +import { ApiFieldItem } from '@/settings/developers/types/api-key/ApiFieldItem'; +import { ApiKey } from '@/settings/developers/types/api-key/ApiKey'; +import { formatExpirations } from '@/settings/developers/utils/format-expiration'; +import { Table } from '@/spreadsheet-import/components/Table'; +import { TableBody } from '@/ui/layout/table/components/TableBody'; +import { TableHeader } from '@/ui/layout/table/components/TableHeader'; +import { TableRow } from '@/ui/layout/table/components/TableRow'; + +const StyledTableBody = styled(TableBody)` + border-bottom: 1px solid ${({ theme }) => theme.border.color.light}; +`; + +const StyledTableRow = styled(TableRow)` + grid-template-columns: 312px 132px 68px; +`; + +export const SettingsApiKeysTable = () => { + const navigate = useNavigate(); + + const { records: apiKeys } = useFindManyRecords({ + objectNameSingular: CoreObjectNameSingular.ApiKey, + filter: { revokedAt: { is: 'NULL' } }, + }); + + return ( + + + Name + Expiration + + + {!!apiKeys.length && ( + + {formatExpirations(apiKeys).map((fieldItem) => ( + { + navigate(`/settings/developers/api-keys/${fieldItem.id}`); + }} + /> + ))} + + )} +
+ ); +}; diff --git a/packages/twenty-front/src/pages/settings/developers/components/ReadDocumentationButton.tsx b/packages/twenty-front/src/modules/settings/developers/components/SettingsReadDocumentationButton.tsx similarity index 86% rename from packages/twenty-front/src/pages/settings/developers/components/ReadDocumentationButton.tsx rename to packages/twenty-front/src/modules/settings/developers/components/SettingsReadDocumentationButton.tsx index 9edacf9cd..5f92acbef 100644 --- a/packages/twenty-front/src/pages/settings/developers/components/ReadDocumentationButton.tsx +++ b/packages/twenty-front/src/modules/settings/developers/components/SettingsReadDocumentationButton.tsx @@ -1,7 +1,7 @@ import { IconBook2 } from '@/ui/display/icon'; import { Button } from '@/ui/input/button/components/Button'; -export const ReadDocumentationButton = () => { +export const SettingsReadDocumentationButton = () => { return (