'use client' import React from 'react' import { Form, Formik } from 'formik' import { updateOrganization } from '@services/settings/org' import { revalidateTags } from '@services/utils/ts/requests' import { useOrg } from '@components/Contexts/OrgContext' import { useLHSession } from '@components/Contexts/LHSessionContext' import { toast } from 'react-hot-toast' import { Input } from "@components/ui/input" import { Button } from "@components/ui/button" import { Label } from "@components/ui/label" import { SiX, SiFacebook, SiInstagram, SiYoutube } from '@icons-pack/react-simple-icons' import { Plus, X as XIcon } from "lucide-react" import { useRouter } from 'next/navigation' import { mutate } from 'swr' import { getAPIUrl } from '@services/config/config' interface OrganizationValues { socials: { twitter?: string facebook?: string instagram?: string linkedin?: string youtube?: string } links: { [key: string]: string } } export default function OrgEditSocials() { const session = useLHSession() as any const access_token = session?.data?.tokens?.access_token const org = useOrg() as any const router = useRouter() const initialValues: OrganizationValues = { socials: org?.socials || {}, links: org?.links || {} } const updateOrg = async (values: OrganizationValues) => { const loadingToast = toast.loading('Updating organization...') try { await updateOrganization(org.id, values, access_token) await revalidateTags(['organizations'], org.slug) mutate(`${getAPIUrl()}orgs/slug/${org.slug}`) toast.success('Organization Updated', { id: loadingToast }) } catch (err) { toast.error('Failed to update organization', { id: loadingToast }) } } return (