'use client'; import { FC } from 'react'; import clsx from 'clsx'; import SafeImage from '@gitroom/react/helpers/safe.image'; import { useLaunchStore } from '@gitroom/frontend/components/new-launch/store'; import { useShallow } from 'zustand/react/shallow'; import { useExistingData } from '@gitroom/frontend/components/launches/helpers/use.existing.data'; import { makeId } from '@gitroom/nestjs-libraries/services/make.is'; import ImageWithFallback from '@gitroom/react/helpers/image.with.fallback'; export const PicksSocialsComponent: FC<{ toolTip?: boolean }> = ({ toolTip, }) => { const exising = useExistingData(); const { locked, addOrRemoveSelectedIntegration, integrations, selectedIntegrations, } = useLaunchStore( useShallow((state) => ({ integrations: state.integrations, selectedIntegrations: state.selectedIntegrations, addOrRemoveSelectedIntegration: state.addOrRemoveSelectedIntegration, locked: state.locked, })) ); return (
{integrations .filter((f) => { if (exising.integration) { return f.id === exising.integration; } return !f.inBetweenSteps && !f.disabled; }) .map((integration) => (
{ if (exising.integration) { return; } addOrRemoveSelectedIntegration(integration, {}); }} className={clsx( 'cursor-pointer border-[2px] relative rounded-full flex justify-center items-center bg-fifth filter transition-all duration-500', selectedIntegrations.findIndex( (p) => p.integration.id === integration.id ) === -1 ? 'grayscale border-transparent' : 'border-[#622FF6]' )} > p.integration.id === integration.id ) === -1 ? 'border-transparent' : 'border-[#000]' )} alt={integration.identifier} width={42} height={42} /> {integration.identifier === 'youtube' ? ( ) : ( )}
))}
); };