([]);
- console.log(123, userData)
const workspaceId = router.query.id as string;
// Delete the row in the table (e.g. a user)
@@ -198,15 +197,15 @@ const UserTable = ({ userData, changeData, myUser, filter, resendInvite, isOrg }
|
- |
- {userProjectMemberships[row.userId]
- ? userProjectMemberships[row.userId]?.map((project: any) => (
-
- {project.name}
-
- ))
- : This user isn't part of any projects yet.}
- |
+
+ {userProjectMemberships[row.userId]
+ ? userProjectMemberships[row.userId]?.map((project: any) => (
+
+ {project.name}
+
+ ))
+ :
This user isn't part of any projects yet.}
+
{myUser !== row.email &&
diff --git a/frontend/src/components/integrations/CloudIntegration.tsx b/frontend/src/components/integrations/CloudIntegration.tsx
index cc06bdd8e..9536957ce 100644
--- a/frontend/src/components/integrations/CloudIntegration.tsx
+++ b/frontend/src/components/integrations/CloudIntegration.tsx
@@ -44,9 +44,9 @@ const CloudIntegration = ({
tabIndex={0}
className={`relative ${
cloudIntegrationOption.isAvailable
- ? 'hover:bg-white/10 duration-200 cursor-pointer'
+ ? 'cursor-pointer duration-200 hover:bg-white/10'
: 'opacity-50'
- } flex flex-row bg-white/5 h-32 rounded-md p-4 items-center`}
+ } flex h-32 flex-row items-center rounded-md bg-white/5 p-4`}
onClick={() => {
if (!cloudIntegrationOption.isAvailable) return;
setSelectedIntegrationOption(cloudIntegrationOption);
@@ -61,22 +61,22 @@ const CloudIntegration = ({
alt="integration logo"
/>
{cloudIntegrationOption.name.split(' ').length > 2 ? (
-
+
{cloudIntegrationOption.name.split(' ')[0]}
{cloudIntegrationOption.name.split(' ')[1]} {cloudIntegrationOption.name.split(' ')[2]}
) : (
-
+
{cloudIntegrationOption.name}
)}
{cloudIntegrationOption.isAvailable &&
integrationAuths
- .map((authorization) => authorization.integration)
+ .map((authorization) => authorization?.integration)
.includes(cloudIntegrationOption.slug) && (
-
+
null}
role="button"
@@ -86,8 +86,7 @@ const CloudIntegration = ({
const deletedIntegrationAuth = await deleteIntegrationAuth({
integrationAuthId: integrationAuths
.filter(
- (authorization) =>
- authorization.integration === cloudIntegrationOption.slug
+ (authorization) => authorization.integration === cloudIntegrationOption.slug
)
.map((authorization) => authorization._id)[0]
});
@@ -96,20 +95,20 @@ const CloudIntegration = ({
integrationAuth: deletedIntegrationAuth
});
}}
- className="cursor-pointer w-max bg-red py-0.5 px-2 rounded-b-md text-xs flex flex-row items-center opacity-0 group-hover:opacity-100 duration-200"
+ className="flex w-max cursor-pointer flex-row items-center rounded-b-md bg-red py-0.5 px-2 text-xs opacity-0 duration-200 group-hover:opacity-100"
>
-
+
Revoke
-
)}
{!cloudIntegrationOption.isAvailable && (
-
-
+
diff --git a/frontend/src/components/integrations/Integration.tsx b/frontend/src/components/integrations/Integration.tsx
index 5dbb3f11e..e01c31e2b 100644
--- a/frontend/src/components/integrations/Integration.tsx
+++ b/frontend/src/components/integrations/Integration.tsx
@@ -45,8 +45,8 @@ type Props = {
handleDeleteIntegration: (args: { integration: Integration }) => void;
};
-const IntegrationTile = ({
- integration,
+const IntegrationTile = ({
+ integration,
integrations,
bot,
setBot,
@@ -57,7 +57,7 @@ const IntegrationTile = ({
// set initial environment. This find will only execute when component is mounting
const [integrationEnvironment, setIntegrationEnvironment] = useState (
- environments.find(({ slug }) => slug === integration.environment) || {
+ environments.find(({ slug }) => slug === integration?.environment) || {
name: '',
slug: ''
}
@@ -69,11 +69,10 @@ const IntegrationTile = ({
useEffect(() => {
const loadIntegration = async () => {
-
const tempApps: [IntegrationApp] = await getIntegrationApps({
- integrationAuthId: integration.integrationAuth
+ integrationAuthId: integration?.integrationAuth
});
-
+
setApps(tempApps);
if (integration?.app) {
@@ -90,15 +89,16 @@ const IntegrationTile = ({
case 'vercel':
setIntegrationTargetEnvironment(
integration?.targetEnvironment
- ? integration.targetEnvironment.charAt(0).toUpperCase() + integration.targetEnvironment.substring(1)
- : 'Development'
+ ? integration.targetEnvironment.charAt(0).toUpperCase() +
+ integration.targetEnvironment.substring(1)
+ : 'Development'
);
break;
case 'netlify':
setIntegrationTargetEnvironment(
- integration?.targetEnvironment
- ? contextNetlifyMapping[integration.targetEnvironment]
- : 'Local development'
+ integration?.targetEnvironment
+ ? contextNetlifyMapping[integration.targetEnvironment]
+ : 'Local development'
);
break;
default:
@@ -108,7 +108,7 @@ const IntegrationTile = ({
loadIntegration();
}, []);
-
+
const handleStartIntegration = async () => {
const reformatTargetEnvironment = (targetEnvironment: string) => {
switch (integration.integration) {
@@ -119,13 +119,13 @@ const IntegrationTile = ({
default:
return null;
}
- }
+ };
try {
const siteApp = apps.find((app) => app.name === integrationApp); // obj or undefined
const appId = siteApp?.appId ?? null;
const owner = siteApp?.owner ?? null;
-
+
// return updated integration
const updatedIntegration = await updateIntegration({
integrationId: integration._id,
@@ -136,15 +136,15 @@ const IntegrationTile = ({
targetEnvironment: reformatTargetEnvironment(integrationTargetEnvironment),
owner
});
-
+
setIntegrations(
- integrations.map((i) => i._id === updatedIntegration._id ? updatedIntegration : i)
+ integrations.map((i) => (i._id === updatedIntegration._id ? updatedIntegration : i))
);
} catch (err) {
console.error(err);
}
- }
-
+ };
+
// eslint-disable-next-line @typescript-eslint/no-shadow
const renderIntegrationSpecificParams = (integration: Integration) => {
try {
@@ -152,7 +152,7 @@ const IntegrationTile = ({
case 'vercel':
return (
- ENVIRONMENT
+ ENVIRONMENT
- CONTEXT
+ CONTEXT
;
return (
-
+
- ENVIRONMENT
+ ENVIRONMENT
name) : null}
isSelected={integrationEnvironment.name}
@@ -208,7 +208,7 @@ const IntegrationTile = ({
/>
-
+
INTEGRATION
@@ -218,7 +218,7 @@ const IntegrationTile = ({
- APP
+ APP
app.name) : null}
isSelected={integrationApp}
@@ -231,9 +231,9 @@ const IntegrationTile = ({
{integration.isActive ? (
-
-
- In Sync
+
) : (
)}
-
+
|