import {useState} from '@wordpress/element'; import {Spinner} from '@wordpress/components'; import {__, _n, sprintf} from '@wordpress/i18n'; import './AssignmentTargetColumn.scss'; import EditableLinkedItem from './EditableLinkItem'; import TextInput from './TextInput'; import Checkbox from './Checkbox'; const PlacementCard = ( {placement, isAssigned, onAssignmentChange, activeContext} ) => { const [isReplacing, setIsReplacing] = useState( false ); const isOccupiedByOther = placement.item_id !== 0 && placement.item_id !== activeContext?.id; const isOccupied = placement.item_id !== 0 && placement.id !== activeContext.id && !isAssigned; const showReplaceLink = isOccupiedByOther && !isAssigned; const isDisabled = showReplaceLink; const handleCheckboxChange = ( isChecked ) => { const action = isChecked ? 'assign_to_placement' : 'unassign_from_placement'; onAssignmentChange( {action, placementId: placement.id} ); if ( !isChecked ) { setIsReplacing( false ); } }; const handleReplaceClick = ( e ) => { e.preventDefault(); setIsReplacing( true ); onAssignmentChange( {action: 'assign_to_placement', placementId: placement.id} ); }; return (
{__( 'Select an option on the left.', 'adpresso' )}
{__( 'No placements available.', 'adpresso' )}
)} {placements.map( ( placement ) => (