Switched to Lexican Rich Text editor. Got editor working. Need to test signup.

This commit is contained in:
2022-10-31 08:28:20 -07:00
parent cab09e59b9
commit 8196c02b4e
8 changed files with 285 additions and 43 deletions

View File

@@ -0,0 +1,8 @@
.editor-shell
max-width: 100% !important
width: 100%
margin: 0 !important
.toolbar
overflow-y: hidden

View File

@@ -536,6 +536,15 @@ nav a + a {
height: 6rem; height: 6rem;
} }
} }
.editor-shell {
max-width: 100% !important;
width: 100%;
margin: 0 !important;
}
.editor-shell .toolbar {
overflow-y: hidden;
}
.userTable .userEditorContainer { .userTable .userEditorContainer {
width: 100%; width: 100%;
} }

View File

@@ -1 +1 @@
{"version":3,"sourceRoot":"","sources":["_simple-grid.sass","_app.sass","_material-icons.sass","_roboto.sass","_page.sass","pages/_Users.sass"],"names":[],"mappings":"AAAQ;AAER;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAEA;EACC;EACA;EACA;;;AAED;AAEA;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AAEA;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;AAEA;EAEC;EACA;EACA;;;AAED;EACC;;AAGA;EACC;EACA;EACA;;;AAEF;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;AACC;EAEA;IACC;;;AAEF;AACC;EAEA;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;;AAEF;AACC;EAEA;IACC;IACA;;;ACzLF;AACA;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAQD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAQD;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAGA;EACC;;;AAEF;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;IACC;;;AAEF;EACC;IACC;;EAED;IACC;IACA;;EAED;IACC;;EAED;IACC;;;ACpIF;EACC;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;AACA;EACA;AACA;EACA;AACA;EACA;;;AAED;EACC;;;AC7BD;EACC;EACA;EACA;EACA;;ACND;EACC;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AACD;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EAEC;AACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;IACC;IACA;IACA;IACA;IACA;IACA;;EAED;IACC;;;ACtHD;EACC;;AAED;EACC;EACA;EACA;;AAED;EACC","file":"main.css"} {"version":3,"sourceRoot":"","sources":["_simple-grid.sass","_app.sass","_material-icons.sass","_roboto.sass","_page.sass","_rich-text-editor.sass","pages/_Users.sass"],"names":[],"mappings":"AAAQ;AAER;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAEA;EACC;EACA;EACA;;;AAED;AAEA;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AAEA;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;AAEA;EAEC;EACA;EACA;;;AAED;EACC;;AAGA;EACC;EACA;EACA;;;AAEF;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;AACC;EAEA;IACC;;;AAEF;AACC;EAEA;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;EAED;IACC;;;AAEF;AACC;EAEA;IACC;IACA;;;ACzLF;AACA;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAQD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAQD;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAGA;EACC;;;AAEF;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;IACC;;;AAEF;EACC;IACC;;EAED;IACC;IACA;;EAED;IACC;;EAED;IACC;;;ACpIF;EACC;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;AACA;EACA;AACA;EACA;AACA;EACA;;;AAED;EACC;;;AC7BD;EACC;EACA;EACA;EACA;;ACND;EACC;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AACD;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EAEC;AACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;IACC;IACA;IACA;IACA;IACA;IACA;;EAED;IACC;;;ACtHF;EACC;EACA;EACA;;AAEA;EACC;;;ACND;EACC;;AAED;EACC;EACA;EACA;;AAED;EACC","file":"main.css"}

View File

@@ -4,6 +4,7 @@
@import './material-icons.sass' @import './material-icons.sass'
@import './roboto.sass' @import './roboto.sass'
@import './page.sass' @import './page.sass'
@import './rich-text-editor.sass'
@import './pages/Users.sass' @import './pages/Users.sass'

212
copied.tsconfig.json Normal file
View File

@@ -0,0 +1,212 @@
{
"compilerOptions": {
"target": "ES2019",
"lib": ["esnext", "dom", "dom.iterable"],
"jsx": "react-jsx",
"moduleResolution": "node",
"downlevelIteration": true,
"noEmit": true,
"strict": true,
"baseUrl": ".",
"typeRoots": ["node_modules/@types", "libdefs/globals"],
"skipLibCheck": true,
"paths": {
"lexical": ["./packages/lexical/src/"],
"@lexical/clipboard": ["./packages/lexical-clipboard/src/"],
"@lexical/list": ["./packages/lexical-list/src/"],
"@lexical/table": ["./packages/lexical-table/src/"],
"@lexical/file": ["./packages/lexical-file/src/"],
"@lexical/hashtag": ["./packages/lexical-hashtag/src/"],
"@lexical/selection": ["./packages/lexical-selection/src/"],
"@lexical/text": ["./packages/lexical-text/src/"],
"@lexical/offset": ["./packages/lexical-offset/src/"],
"@lexical/history": ["./packages/lexical-history/src/"],
"@lexical/headless": ["./packages/lexical-headless/src/"],
"@lexical/html": ["./packages/lexical-html/src/"],
"@lexical/utils": ["./packages/lexical-utils/src/"],
"@lexical/code": ["./packages/lexical-code/src/"],
"@lexical/plain-text": ["./packages/lexical-plain-text/src/"],
"@lexical/rich-text": ["./packages/lexical-rich-text/src/"],
"@lexical/dragon": ["./packages/lexical-dragon/src/"],
"@lexical/link": ["./packages/lexical-link/src/"],
"@lexical/overflow": ["./packages/lexical-overflow/src/"],
"@lexical/markdown": ["./packages/lexical-markdown/src/"],
"@lexical/mark": ["./packages/lexical-mark/src/"],
"@lexical/react/DEPRECATED_useLexicalEditor": [
"./packages/lexical-react/src/DEPRECATED_useLexicalEditor.ts"
],
"@lexical/react/DEPRECATED_useLexicalRichText": [
"./packages/lexical-react/src/DEPRECATED_useLexicalRichText.ts"
],
"@lexical/react/DEPRECATED_useLexicalPlainText": [
"./packages/lexical-react/src/DEPRECATED_useLexicalPlainText.ts"
],
"@lexical/react/DEPRECATED_useLexicalEditorEvents": [
"./packages/lexical-react/src/DEPRECATED_useLexicalEditorEvents.ts"
],
"@lexical/react/DEPRECATED_useLexicalAutoFormatter": [
"./packages/lexical-react/src/DEPRECATED_useLexicalAutoFormatter.ts"
],
"@lexical/react/DEPRECATED_useLexicalDecorators": [
"./packages/lexical-react/src/DEPRECATED_useLexicalDecorators.ts"
],
"@lexical/react/DEPRECATED_useLexicalList": [
"./packages/lexical-react/src/DEPRECATED_useLexicalList.ts"
],
"@lexical/react/DEPRECATED_useLexicalCanShowPlaceholder": [
"./packages/lexical-react/src/DEPRECATED_useLexicalCanShowPlaceholder.ts"
],
"@lexical/react/DEPRECATED_useLexicalCharacterLimit": [
"./packages/lexical-react/src/DEPRECATED_useLexicalCharacterLimit.ts"
],
"@lexical/react/DEPRECATED_useLexicalHistory": [
"./packages/lexical-react/src/DEPRECATED_useLexicalHistory.ts"
],
"@lexical/react/LexicalComposer": [
"./packages/lexical-react/src/LexicalComposer.tsx"
],
"@lexical/react/LexicalComposerContext": [
"./packages/lexical-react/src/LexicalComposerContext.ts"
],
"@lexical/react/LexicalNestedComposer": [
"./packages/lexical-react/src/LexicalNestedComposer.tsx"
],
"@lexical/react/LexicalContentEditable": [
"./packages/lexical-react/src/LexicalContentEditable.tsx"
],
"@lexical/react/LexicalTreeView": [
"./packages/lexical-react/src/LexicalTreeView.tsx"
],
"@lexical/react/LexicalHorizontalRuleNode": [
"./packages/lexical-react/src/LexicalHorizontalRuleNode.tsx"
],
"@lexical/react/LexicalDecoratorBlockNode": [
"./packages/lexical-react/src/LexicalDecoratorBlockNode.ts"
],
"@lexical/react/LexicalBlockWithAlignableContents": [
"./packages/lexical-react/src/LexicalBlockWithAlignableContents.tsx"
],
"@lexical/react/useLexicalIsTextContentEmpty": [
"./packages/lexical-reactsrc//useLexicalIsTextContentEmpty.ts"
],
"@lexical/react/useLexicalNodeSelection": [
"./packages/lexical-react/src/useLexicalNodeSelection.ts"
],
"@lexical/react/useLexicalTextEntity": [
"./packages/lexical-react/src/useLexicalTextEntity.ts"
],
"@lexical/react/LexicalPlainTextPlugin": [
"./packages/lexical-react/src/LexicalPlainTextPlugin.tsx"
],
"@lexical/react/LexicalRichTextPlugin": [
"./packages/lexical-react/src/LexicalRichTextPlugin.tsx"
],
"@lexical/react/LexicalTypeaheadMenuPlugin": [
"packages/lexical-react/src/LexicalTypeaheadMenuPlugin.tsx"
],
"@lexical/react/LexicalHistoryPlugin": [
"./packages/lexical-react/src/LexicalHistoryPlugin.ts"
],
"@lexical/react/LexicalOnChangePlugin": [
"./packages/lexical-react/src/LexicalOnChangePlugin.ts"
],
"@lexical/react/LexicalHashtagPlugin": [
"./packages/lexical-react/src/LexicalHashtagPlugin.ts"
],
"@lexical/react/LexicalMarkdownShortcutPlugin": [
"./packages/lexical-react/src/LexicalMarkdownShortcutPlugin.tsx"
],
"@lexical/react/LexicalAutoFocusPlugin": [
"./packages/lexical-react/src/LexicalAutoFocusPlugin.ts"
],
"@lexical/react/LexicalTableOfContents__EXPERIMENTAL": [
"./packages/lexical-react/src/LexicalTableOfContents__EXPERIMENTAL.tsx"
],
"@lexical/react/LexicalAutoFormatterPlugin": [
"./packages/lexical-react/src/LexicalAutoFormatterPlugin.ts"
],
"@lexical/react/LexicalCharacterLimitPlugin": [
"./packages/lexical-react/src/LexicalCharacterLimitPlugin.tsx"
],
"@lexical/react/LexicalClearEditorPlugin": [
"./packages/lexical-react/src/LexicalClearEditorPlugin.ts"
],
"@lexical/react/LexicalCollaborationContext": [
"./packages/lexical-react/src/LexicalCollaborationContext.ts"
],
"@lexical/react/LexicalCollaborationPlugin": [
"./packages/lexical-react/src/LexicalCollaborationPlugin.ts"
],
"@lexical/react/LexicalTablePlugin": [
"./packages/lexical-react/src/LexicalTablePlugin.ts"
],
"@lexical/react/LexicalLinkPlugin": [
"./packages/lexical-react/src/LexicalLinkPlugin.ts"
],
"@lexical/react/LexicalAutoLinkPlugin": [
"./packages/lexical-react/src/LexicalAutoLinkPlugin.ts"
],
"@lexical/react/LexicalAutoEmbedPlugin": [
"./packages/lexical-react/src/LexicalAutoEmbedPlugin.tsx"
],
"@lexical/react/LexicalListPlugin": [
"./packages/lexical-react/src/LexicalListPlugin.ts"
],
"@lexical/react/LexicalCheckListPlugin": [
"./packages/lexical-react/src/LexicalCheckListPlugin.tsx"
],
"@lexical/react/LexicalAutoScrollPlugin": [
"./packages/lexical-react/src/LexicalAutoScrollPlugin.ts"
],
"@lexical/dragon/LexicalDragon": ["./packages/lexical-dragon/src/"],
"@lexical/history/LexicalHistory": ["./packages/lexical-history/src/"],
"@lexical/link/LexicalLink": ["./packages/lexical-link/src/"],
"@lexical/markdown/LexicalMarkdown": ["./packages/lexical-markdown/src/"],
"@lexical/headless/LexicalHeadless": ["./packages/lexical-markdown/src/"],
"@lexical/offset/LexicalOffset": ["./packages/lexical-offset/src/"],
"@lexical/overflow/LexicalOverflow": ["./packages/lexical-overflow/src/"],
"@lexical/plain-text/LexicalPlainText": [
"./packages/lexical-plain-text/src/"
],
"@lexical/rich-text/LexicalRichText": [
"./packages/lexical-rich-text/src/"
],
"@lexical/selection/LexicalSelection": [
"./packages/lexical-selection/src/"
],
"@lexical/text/LexicalText": ["./packages/lexical-text/src/"],
"@lexical/utils/LexicalUtils": ["./packages/lexical-utils/src/"],
"@lexical/yjs": ["./packages/lexical-yjs/src/"],
"shared/canUseDOM": ["./packages/shared/src/canUseDOM.ts"],
"shared/getDOMSelection": ["./packages/shared/src/getDOMSelection.ts"],
"shared/simpleDiffWithCursor": [
"packages/shared/src/simpleDiffWithCursor.ts"
],
"shared/invariant": ["./packages/shared/src/invariant.ts"],
"shared/warnOnlyOnce": ["./packages/shared/src/warnOnlyOnce.ts"],
"shared/environment": ["./packages/shared/src/environment.ts"],
"shared/useLayoutEffect": ["./packages/shared/src/useLayoutEffect.ts"]
}
},
"include": ["./libdefs", "./packages"],
"exclude": [
"**/__tests__/**",
"**/dist/**",
"**/npm/**",
"**/node_modules/**",
"./packages/playwright-core/**"
],
"typedocOptions": {
"logLevel": "Verbose"
},
"ts-node": {
"require": ["tsconfig-paths/register"],
"transpileOnly": true
}
}

View File

@@ -28,6 +28,9 @@ Meteor.methods({
'workshops.add'(name, description, signupLimit) { 'workshops.add'(name, description, signupLimit) {
let signupSheet = []; let signupSheet = [];
console.log(name)
console.log(description)
console.log(signupLimit)
check(name, String); check(name, String);
check(description, Match.Maybe(String)); check(description, Match.Maybe(String));
// Match a positive integer or undefined/null. // Match a positive integer or undefined/null.

View File

@@ -117,54 +117,63 @@ export const WorkshopList = () => {
const lexicalComposerTheme = { const lexicalComposerTheme = {
} }
const lexicalComposerChanged = (e) => { const editorChanged = (content, editor) => {
console.log(e) console.log(content)
console.log(editor)
} }
const descriptionEditorNodes = [LinkNode] const descriptionEditorNodes = [LinkNode]
return ( return (
<> <>
<Dialog open={openWorkshopEditor} onClose={workshopEditorClosed}> {openWorkshopEditor ? (
<DialogTitle>Workshop Editor</DialogTitle> <>
<DialogContent style={{display: 'flex', flexDirection: 'column'}}> <h1>Workshop Editor</h1>
<TextField style={{marginTop: '1rem',minWidth: '30rem'}} variant="standard" label="Name" value={editedName} onChange={(e) => {setEditedName(e.target.value)}}/> <Box style={{display: 'flex', flexDirection: 'column'}}>
<Editor config={{namespace: 'WorkshopDescriptionEditor', state: selectedWorkshop ? selectedWorkshop.description : "", theme: lexicalComposerTheme}}></Editor> <TextField style={{marginTop: '1rem',minWidth: '30rem', maxWidth: '50rem'}} variant="standard" label="Name" value={editedName} onChange={(e) => {setEditedName(e.target.value)}}/>
<TextField style={{marginTop: '1rem',minWidth: '30rem'}} variant="standard" type="number" label="Signup Limit" value={editedSignupLimit} onChange={(e) => {setEditedSignupLimit(e.target.value)}}/> <TextField style={{marginTop: '1rem',minWidth: '30rem', maxWidth: '50rem'}} variant="standard" type="number" label="Signup Limit" value={editedSignupLimit} onChange={(e) => {setEditedSignupLimit(e.target.value)}}/>
</DialogContent>
<DialogActions> <Box style={{marginTop: '2rem'}}>
<InputLabel>Description</InputLabel>
<Box style={{border: "1px solid black"}}>
<Editor namespace='WorkshopDescriptionEditor' state={selectedWorkshop ? selectedWorkshop.description : ""} theme={lexicalComposerTheme} onChange={editorChanged}/>
</Box>
</Box>
</Box>
<Button onClick={() => workshopEditorClosed(true)}>Save</Button> <Button onClick={() => workshopEditorClosed(true)}>Save</Button>
<Button onClick={() => workshopEditorClosed(false)}>Cancel</Button> <Button onClick={() => workshopEditorClosed(false)}>Cancel</Button>
</DialogActions> </>
</Dialog> ) : (
<>
<Box style={{marginTop: '1rem',...cssTwoColumnContainer}}>
{isAdmin && <Button onClick={() => newWorkshop()}>New...</Button>}
<List>
{workshops.map((next, i) => {
return (
<ListItemButton key={next._id} onDoubleClick={editWorkshop} style={getListItemStyle(next)} selected={selectedWorkshop === next} onClick={(e) => {setSelectedWorkshop(next)}}>
<ListItemText primary={next.name}/>
</ListItemButton>
)
})}
</List>
</Box>
<Box style={{marginTop: '1rem',...cssTwoColumnContainer}}> <Box style={{...cssTwoColumnContainer}}>
{isAdmin && <Button onClick={() => newWorkshop()}>New...</Button>} <Paper>
<List> {/*<Editor editorState={selectedWorkshop.description} toolbarClassName="editorToolbar" wrapperClassName="editorWrapper" editorClassName="editor" onEditorStateChange={(e) => {selectedWorkshop.description = ""}}/>*/}
{workshops.map((next, i) => { {selectedWorkshop && `${selectedWorkshop.description}`}
return ( </Paper>
<ListItemButton key={next._id} onDoubleClick={editWorkshop} style={getListItemStyle(next)} selected={selectedWorkshop === next} onClick={(e) => {setSelectedWorkshop(next)}}> <List>
<ListItemText primary={next.name}/> {selectedWorkshop && selectedWorkshop.signupSheet.map((next, i) => {
</ListItemButton> return (
) <ListItem key={next._id}>
})} <ListItemText primary={next.data.firstName + " " + next.data.lastName} secondary={next.data.email}/>
</List> </ListItem>
</Box> )
})}
<Box style={{...cssTwoColumnContainer}}> </List>
<Paper> </Box>
{/*<Editor editorState={selectedWorkshop.description} toolbarClassName="editorToolbar" wrapperClassName="editorWrapper" editorClassName="editor" onEditorStateChange={(e) => {selectedWorkshop.description = ""}}/>*/} </>
{selectedWorkshop && `${selectedWorkshop.description}`} )}
</Paper>
<List>
{selectedWorkshop && selectedWorkshop.signupSheet.map((next, i) => {
return (
<ListItem key={next._id}>
<ListItemText primary={next.data.firstName + " " + next.data.lastName} secondary={next.data.email}/>
</ListItem>
)
})}
</List>
</Box>
</> </>
) )
} }