diff --git a/src/pages/digitalId/ProfileId.jsx b/src/pages/digitalId/ProfileId.jsx index 99faca9..04cc9ce 100644 --- a/src/pages/digitalId/ProfileId.jsx +++ b/src/pages/digitalId/ProfileId.jsx @@ -16,6 +16,34 @@ function Profile () { const [toggle, setToggle] = useState(true); const [addPanelOpen, setAddPanelOpen] = useState(false); const [selectedItems, setSelectedItems] = useState([]); + + const defaultValues = { + property: '', + value: '', + seed: Math.floor(Math.random() * 90000000000000000000) + }; + + const initialPropertyValues = ['First name', 'Second name', 'Birthdate', 'Gender', 'Residence', 'Document type', 'Document ID', 'Issue date', 'Expiry date']; + const [propertyValues, setPropertyValues] = useState([]); + const [currentValues, setCurrentValues] = useState(defaultValues); + + const openHint = () => { + if (!currentValues.property) { + setPropertyValues(initialPropertyValues); + } + } + + const changeCurrentValues = (value, field) => { + setCurrentValues((prevState)=> ({ + ...prevState, + [field]: value.charAt(0).toUpperCase()+value.slice(1), + })) + } + + const closeHint = (element) => { + changeCurrentValues(element, 'property'); + setPropertyValues([]); + } const handleSelectedItems = (selectedItems) => { setSelectedItems([...selectedItems]); @@ -39,7 +67,16 @@ function Profile () { setButtonPanelOpen(false); } + const sendValues = () => { + if (!userData.some((element) => element.property === currentValues.property) && (currentValues.seed.toString().length === 20)) { + setAddPanelOpen(false); + setButtonPanelOpen(true); + setCurrentValues(defaultValues); + } + } + const cancelAddPanel = () => { + setCurrentValues(defaultValues); setAddPanelOpen(false); setButtonPanelOpen(true); } @@ -54,6 +91,15 @@ function Profile () { setButtonPanelOpen(true); } + const handleInput = (text, field) => { + changeCurrentValues(text, field); + setPropertyValues(initialPropertyValues); + if (text) { + let reg = new RegExp(`^${text}`, 'img'); + setPropertyValues((prevState) => prevState.filter((element) => element.match(reg))); + } + }; + const userData = [ { id: '0', @@ -246,22 +292,56 @@ function Profile () {