diff --git a/components/lists.tsx b/components/lists.tsx index f4f8a48..6f9837a 100644 --- a/components/lists.tsx +++ b/components/lists.tsx @@ -107,7 +107,7 @@ export default function Lists(props) { e.target.reset(); let newListForm: any = document.querySelector(`#${newListID} form input`); newListForm.focus(); - setSystemStatus(`Created List ${newList.name}.`); + setSystemStatus(`Created List #${lists.length + 1} ${newList.name}.`); setTimeout(() => setLoading(false), 1500); // setTimeout(() => setAnimComplete(true), 3500); } @@ -135,13 +135,13 @@ export default function Lists(props) { localStorage.setItem(`lists`, JSON.stringify(updatedLists)); await setLists(updatedLists); e.target.reset(); - setSystemStatus(`Created Item.`); + setSystemStatus(`Created Item ${list.items.length + 1}.`); setTimeout(() => setLoading(false), 1500); // setTimeout(() => setAnimComplete(true), 3500); return listItems.scrollTop = listItems.scrollHeight; } - const deleteList = async (e: any, list: List) => { + const deleteList = async (e: any, list: List, index) => { e.preventDefault(); let isButton = e.target.classList.contains(`iconButton`); if (isButton) { @@ -150,12 +150,12 @@ export default function Lists(props) { let updatedLists = lists.filter((lis: List) => lis.id != list.id); localStorage.setItem(`lists`, JSON.stringify(updatedLists)); await setLists(updatedLists); - setSystemStatus(`Deleted List ${list.name}.`); + setSystemStatus(`Deleted List #${index + 1} - ${list.name}.`); setTimeout(() => setLoading(false), 1500); } } - const deleteItem = async (e: any, item: Item, list: List) => { + const deleteItem = async (e: any, item: Item, list: List, lists: List[], index) => { e.preventDefault(); let isButton = e.target.classList.contains(`iconButton`); if (isButton) { @@ -164,7 +164,7 @@ export default function Lists(props) { let updatedItems: Item[] = [...list.items.filter(itm => itm.id != item.id)]; let updatedLists = lists.map((lis: List, index) => { if (lis.id == list.id) { - setSystemStatus(`Deleted Item ${item.content}.`); + setSystemStatus(`Deleted Item ${index + 1}.`); return {...list, items: updatedItems, updated: formatDate(new Date())}; } else { return lis; @@ -176,47 +176,20 @@ export default function Lists(props) { } } - const setItemComplete = async (e: any, item: Item, list: List) => { + const setItemComplete = async (e: any, item: Item, list: List, index) => { let isButton = e.target.classList.contains(`iconButton`); if (!isButton) { setLoading(true); - setSystemStatus(`Marking Item as Complete.`); + setSystemStatus(`Marking Item ${index + 1} as Complete.`); list.items[list.items.indexOf(item)].complete = !list.items[list.items.indexOf(item)].complete; list.items[list.items.indexOf(item)].updated = formatDate(new Date()); localStorage.setItem(`lists`, JSON.stringify(lists)); await setLists(lists); setTimeout(() => setLoading(false), 1500); - setSystemStatus(`Marked Item as Complete.`); + setSystemStatus(`Marked Item ${index + 1} as Complete.`); } } - const showAlert = async (alertTitle: any, alertMessage?: any, additionalInfo?:any) => { - if (alertOpen) return; - setAlertOpen(true); - let alertDialog = document.createElement(`div`); - alertDialog.className = `alert`; - if ((!alertMessage && !additionalInfo) || (additionalInfo && additionalInfo?.length == 0)) alertDialog.classList.add(`slim`); - alertDialog.innerHTML = `
${index+1}. ${alertMessage} ${info}
`); - alertDialog.append(element); - }); - } - document.body.appendChild(alertDialog); - let closeButton = document.createElement(`button`); - closeButton.classList.add(`iconButton`); - closeButton.classList.add(`alertButton`); - closeButton.innerHTML = `X`; - closeButton.onclick = () => { - document.body.removeChild(alertDialog); - setAlertOpen(false); - }; - alertDialog.appendChild(closeButton); - } - const onDragEnd = (result, list) => { setLoading(true); console.log(`Drag`, result); @@ -277,8 +250,8 @@ export default function Lists(props) {${index+1}. ${alertMessage} ${info}
`); + alertDialog.append(element); + }); + } + document.body.appendChild(alertDialog); + let closeButton = document.createElement(`button`); + closeButton.classList.add(`iconButton`); + closeButton.classList.add(`alertButton`); + closeButton.innerHTML = `X`; + closeButton.onclick = () => { + document.body.removeChild(alertDialog); + setAlertOpen(false); }; - - export const defaultLists = [ - {id: `list-1`, name: `ProductIVF Features`, created: formatDate(new Date()), items: [ - {id: `item-1`, content: `Corner Draggable`, complete: false, created: formatDate(new Date())}, - {id: `item-2`, content: `Switch to User`, complete: false, created: formatDate(new Date())}, - ]}, - ]; + alertDialog.appendChild(closeButton); +} export default function MyApp({ Component, pageProps }) { let loaded = useRef(false); diff --git a/pages/lists.mdx b/pages/lists.mdx index cfdd3dc..0e19cee 100644 --- a/pages/lists.mdx +++ b/pages/lists.mdx @@ -2,8 +2,6 @@ import Lists from '../components/lists' # Your Lists -***Sortable Draggable and Droppable Lists*** (Work in Progress). -