import { MapOverlayPage } from './MapOverlayPage' import { useItems } from '../Map/hooks/useItems' import { useAssetApi } from '../AppShell/hooks/useAssets' import { EmojiPicker } from './EmojiPicker'; import { Link, useNavigate } from 'react-router-dom'; import { useRef, useState } from 'react'; import { Item, ItemsApi } from '../../types'; import { useEffect } from 'react'; export const AttestationForm = ({api}:{api?:ItemsApi}) => { const items = useItems(); const assetsApi = useAssetApi(); const [users, setUsers] = useState>(); const navigate = useNavigate(); useEffect(() => { let params = new URLSearchParams(location.search); let to_user_ids = params.get("to"); setUsers(items.filter(i => to_user_ids?.includes(i.id))) }, [items, location]) const [inputValue, setInputValue] = useState(''); const inputRef = useRef(null); useEffect(() => { if (inputRef.current) { inputRef.current.style.width = 'auto'; inputRef.current.style.width = `${inputRef.current.scrollWidth+20}px`; } }, [inputValue]); const handleChange = (event: React.ChangeEvent) => { setInputValue(event.target.value); }; const sendAttestation = async () => { const to : Array = []; users?.map(u => to.push({ directus_users_id: u.user_created.id })); console.log(to); api?.createItem && api.createItem({ text: inputValue, emoji: selectedEmoji, color: selectedColor, shape: selectedShape, to: to }).then(()=> navigate("/")) } const [selectedEmoji, setSelectedEmoji] = useState('select badge'); const [selectedShape, setSelectedShape] = useState('circle'); const [selectedColor, setSelectedColor] = useState('#fff0d6'); return (
Gratitude
to
{users && users.map((u, k) => (
{u.image ?
Avatar
:
}
{u.name}
), ", ")}
) }