import { FormEvent, useState } from 'react'; import { Navbar } from './components/Navbar'; import { useTolgee } from './basicTolgee'; const getInitialItems = () => { let items: string[] | undefined = undefined; try { items = JSON.parse(localStorage.getItem('tolgee-example-app-items') || ''); } catch (e) { // eslint-disable-next-line no-console console.error( 'Something went wrong while parsing stored items. Items are reset.' ); if (typeof localStorage !== 'undefined') { localStorage.removeItem('tolgee-example-app-items'); } } return items?.length ? items : ['Passport', 'Maps and directions', 'Travel guide']; }; export const Todos = () => { const { t } = useTolgee(['update']); const [newItemValue, setNewItemValue] = useState(''); const [items, setItems] = useState(getInitialItems()); const updateLocalstorage = (items: string[]) => { localStorage.setItem('tolgee-example-app-items', JSON.stringify(items)); }; const onAdd = (e: FormEvent) => { e.preventDefault(); const newItems = [...items, newItemValue]; setItems(newItems); updateLocalstorage(newItems); setNewItemValue(''); }; const onDelete = (index: number) => () => { const newItems = items.filter((_, i) => i !== index); setItems(newItems); updateLocalstorage(newItems); }; const onAction = (action: string) => () => { alert('action: ' + action); }; return (
{t('menu-item-translation-methods')}

{t('app-title')}

setNewItemValue(e.target.value)} placeholder={t({ key: 'add-item-input-placeholder', defaultValue: 'New list item', })} />
{items.map((item, i) => (
{item}
))}
); };