Files
calendar/apps/web/modules/integration-attribute-sync/components/EditIntegrationAttributeSyncCard.tsx
T
Eunjae LeeGitHubClaude Opus 4.5Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
81e4241f85 refactor: apply biome formatting to apps/web (#27692)
* refactor: apply biome formatting to apps/web (batch 1)

Formats apps/web non-modules directories:
- apps/web/app
- apps/web/lib
- apps/web/pages
- apps/web/styles
- apps/web/server
- apps/web/test
- Root-level .ts and .mjs files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: apply biome formatting to apps/web/modules (batch 2)

Formats smaller apps/web/modules directories:
- onboarding, data-table, users, apps, auth
- integration-attribute-sync, shell, availability
- feature-flags, team, webhooks, getting-started
- feature-opt-in, troubleshooter, schedules, notifications
- signup-view.tsx

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: apply biome formatting to apps/web/modules (batch 3)

Formats medium apps/web/modules directories:
- bookings
- event-types
- insights
- embed

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: apply biome formatting to apps/web/modules/ee (batch 4)

Formats apps/web/modules/ee directory.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: apply biome formatting to apps/web (batch 5)

Formats remaining apps/web directories:
- apps/web/modules/settings
- apps/web/modules/booking-audit
- apps/web/playwright

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: apply biome formatting to apps/web/components (batch 6)

Formats remaining apps/web/components files.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: apply biome formatting to new apps/web files from main

Formats newly added/modified files from main merge:
- WorkflowStepContainer.tsx (resolved merge conflicts)
- Newly moved files (blocklist, form-builder, schedules, etc.)
- Other files modified in main

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: apply biome formatting to new apps/web files from main

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-02-10 23:25:24 +05:30

61 lines
1.9 KiB
TypeScript

import { useLocale } from "@calcom/lib/hooks/useLocale";
import { trpc } from "@calcom/trpc/react";
import { showToast } from "@calcom/ui/components/toast";
import type {
IntegrationAttributeSync,
ISyncFormData,
} from "@calcom/features/ee/integration-attribute-sync/repositories/IIntegrationAttributeSyncRepository";
import IntegrationAttributeSyncCard from "./IntegrationAttributeSyncCard";
import type { IIntegrationAttributeSyncCardProps } from "./IntegrationAttributeSyncCard";
type IEditIntegrationAttributeSyncCardProps = Pick<
IIntegrationAttributeSyncCardProps,
"credentialOptions" | "teamOptions" | "attributes" | "organizationId" | "attributeOptions"
> & {
sync: IntegrationAttributeSync;
};
const EditIntegrationAttributeSyncCard = (props: IEditIntegrationAttributeSyncCardProps) => {
const { t } = useLocale();
const utils = trpc.useUtils();
const updateMutation = trpc.viewer.attributeSync.updateAttributeSync.useMutation({
onSuccess: () => {
utils.viewer.attributeSync.getAllAttributeSyncs.invalidate();
showToast(t("attribute_sync_updated_successfully"), "success");
},
onError: (error) => {
showToast(error.message, "error");
},
});
const deleteMutation = trpc.viewer.attributeSync.deleteAttributeSync.useMutation({
onSuccess: () => {
utils.viewer.attributeSync.getAllAttributeSyncs.invalidate();
showToast(t("attribute_sync_deleted_successfully"), "success");
},
onError: (error) => {
showToast(error.message, "error");
},
});
const onSubmit = (data: ISyncFormData) => {
updateMutation.mutate({ ...data });
};
const onDelete = () => {
deleteMutation.mutate({ id: props.sync.id });
};
return (
<IntegrationAttributeSyncCard
{...props}
onSubmit={onSubmit}
onDelete={onDelete}
isSubmitting={updateMutation.isPending}
/>
);
};
export default EditIntegrationAttributeSyncCard;