Browse Source

make fixes

unknown 1 year ago
parent
commit
b2a196ec65

File diff suppressed because it is too large
+ 1 - 1
.eslintcache


+ 1 - 1
.gitignore

@@ -4,7 +4,7 @@
 /node_modules
 /.pnp
 .pnp.js
-
+.env
 # testing
 /coverage
 

+ 120 - 0
package-lock.json

@@ -27,7 +27,9 @@
         "axios": "^0.21.1",
         "bootstrap": "^4.6.0",
         "canvas": "^2.8.0",
+        "cross-env": "^7.0.3",
         "date-fns": "^2.28.0",
+        "dotenv": "^8.2.0",
         "emoji-picker-react": "^3.5.1",
         "file-saver": "^2.0.5",
         "formik": "^2.2.6",
@@ -6352,6 +6354,78 @@
         "sha.js": "^2.4.8"
       }
     },
+    "node_modules/cross-env": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
+      "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
+      "license": "MIT",
+      "dependencies": {
+        "cross-spawn": "^7.0.1"
+      },
+      "bin": {
+        "cross-env": "src/bin/cross-env.js",
+        "cross-env-shell": "src/bin/cross-env-shell.js"
+      },
+      "engines": {
+        "node": ">=10.14",
+        "npm": ">=6",
+        "yarn": ">=1"
+      }
+    },
+    "node_modules/cross-env/node_modules/cross-spawn": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+      "dependencies": {
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/cross-env/node_modules/path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cross-env/node_modules/shebang-command": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+      "dependencies": {
+        "shebang-regex": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cross-env/node_modules/shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cross-env/node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
     "node_modules/cross-spawn": {
       "version": "6.0.5",
       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
@@ -29018,6 +29092,52 @@
         "sha.js": "^2.4.8"
       }
     },
+    "cross-env": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
+      "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
+      "requires": {
+        "cross-spawn": "^7.0.1"
+      },
+      "dependencies": {
+        "cross-spawn": {
+          "version": "7.0.3",
+          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+          "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+          "requires": {
+            "path-key": "^3.1.0",
+            "shebang-command": "^2.0.0",
+            "which": "^2.0.1"
+          }
+        },
+        "path-key": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
+        },
+        "shebang-command": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+          "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+          "requires": {
+            "shebang-regex": "^3.0.0"
+          }
+        },
+        "shebang-regex": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
+        },
+        "which": {
+          "version": "2.0.2",
+          "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+          "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+          "requires": {
+            "isexe": "^2.0.0"
+          }
+        }
+      }
+    },
     "cross-spawn": {
       "version": "6.0.5",
       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",

+ 2 - 0
package.json

@@ -23,7 +23,9 @@
     "axios": "^0.21.1",
     "bootstrap": "^4.6.0",
     "canvas": "^2.8.0",
+    "cross-env": "^7.0.3",
     "date-fns": "^2.28.0",
+    "dotenv": "^8.2.0",
     "emoji-picker-react": "^3.5.1",
     "file-saver": "^2.0.5",
     "formik": "^2.2.6",

+ 1 - 1
src/api-data/index.ts

@@ -1,6 +1,6 @@
 import { toast } from 'react-toastify';
 const axios = require('axios');
-axios.defaults.baseURL = 'http://localhost:3000/api';
+axios.defaults.baseURL = 'https://w-telegram.herokuapp.com/api';
 
 const error = (message:string) =>
   toast.error(`🔥 ${message}!`, {

+ 7 - 5
src/components/HomePage/LeftBar/ChatsList/index.tsx

@@ -43,10 +43,11 @@ const useStyles = makeStyles({
 
 interface IChatsList {
   sort: boolean,
-  date:any,
+  date: any,
+  value: string
 }
 
-const ChatsList = ({sort,date}:IChatsList) => {
+const ChatsList = ({sort,date,value}:IChatsList) => {
   const classes = useStyles()
   const dispatch = useDispatch()
   const ref = useRef<any>(null)
@@ -108,10 +109,11 @@ const ChatsList = ({sort,date}:IChatsList) => {
   return total !== '0' ? (
     <List className={classes.list} component="nav"
       aria-label="main mailbox folders">
-      {sortedChats.map((el) => <ChatItem key={el.number} chat={el}  
-       handleListItemClick={handleListItemClick} handleNewMsgs={handleNewMsgs}/>)}
+      {sortedChats.length > 0 ? sortedChats.map((el) => <ChatItem key={el.number} chat={el}  
+        handleListItemClick={handleListItemClick} handleNewMsgs={handleNewMsgs} />):
+       <AlertInfo name={`Can not find Chats by request : ${value}`} />}
     </List>
-  ):<AlertInfo name='You do not have any chats yet!' />;
+  ):<AlertInfo name='You do not have any Chats yet!' />;
 }
 
 export default ChatsList

+ 2 - 2
src/components/HomePage/LeftBar/ContactsList/index.tsx

@@ -81,9 +81,9 @@ const  ContactsList = ({value,handleClick,sort,date} : IContactList) => {
       aria-label="main mailbox folders">
       {arr.length > 0 ? arr.map((contact) => <ContactItem key={contact.number}
         contact={contact} handleListItemClick={handleListItemClick} isOpen={isOpen}/>) :
-        <AlertInfo name={`Can not find contact by request : ${value}`} />}
+        <AlertInfo name={`Can not find Contact by request : ${value}`} />}
       </List>
-  ):<AlertInfo name='You do not have any contact yet!' />;
+  ):<AlertInfo name='You do not have any Contact yet!' />;
 }
 
 export default ContactsList

+ 2 - 2
src/components/HomePage/LeftBar/MenuBar/index.tsx

@@ -69,13 +69,13 @@ const MenuBar = ({handleSelectedMenu,nightMode}:IContactsList) => {
        <MenuList className={classes.list}>
         <MenuItem  onClick={() => handleSelectedMenu(3)}>
           <ListItemIcon className={classes.listIcon}>
-            <PermContactCalendarIcon fontSize="medium" />
+            <PersonAddAltIcon fontSize="medium" />
           </ListItemIcon>
           <ListItemText>New Contact</ListItemText>
           </MenuItem>          
         <MenuItem  onClick={() => handleSelectedMenu(1)}>
           <ListItemIcon className={classes.listIcon}>
-            <PersonAddAltIcon fontSize="medium" />
+            <PermContactCalendarIcon fontSize="medium" />
           </ListItemIcon>
           <ListItemText>Contacts</ListItemText>
         </MenuItem>

+ 3 - 3
src/components/HomePage/LeftBar/SearchBar/StaticDatePicker/index.tsx

@@ -2,9 +2,9 @@ import { DatePicker } from "@material-ui/pickers";
 import { makeStyles } from '@material-ui/core'
 
 interface IStaticDatePicker {
-   date: Date,
-   changeDate: React.Dispatch<React.SetStateAction<any>>,
-   handleOnOpen: () => void
+  date: Date,
+  changeDate: React.Dispatch<React.SetStateAction<any>>,
+  handleOnOpen: () => void
 }
 
 const useStyles = makeStyles({

+ 1 - 1
src/components/HomePage/LeftBar/SearchBar/index.tsx

@@ -108,7 +108,7 @@ const SearchBar = ({ handleClick, handleFocus, handleSearch, isSearch,
               />
         </Search>
         <IconButton aria-label="delete" size="medium">
-          <StaticDatePicker  date={date}
+          <StaticDatePicker  date={date} 
            changeDate={setDate} handleOnOpen={handleOnOpen} />        
           <CalendarTodayIcon fontSize='medium'
            style={{color:date?'#2184f7':'#b1aeae'}}/>

+ 4 - 0
src/components/HomePage/LeftBar/SearchLists/index.tsx

@@ -118,6 +118,10 @@ const SearchLists = ({ value,setValue,sort,date,setDate }: ISearchLists) => {
     const idInterval = setInterval(handleReset, 5000);
     return () => clearInterval(idInterval);
     }, [dispatch]);
+    
+    useEffect(() => {
+       setDate('')
+    },[setDate])
   
     const filteredAndSorted = filteredChats(sortByRecent(chats,sort))
     const allMessagesMemo = filteredMessages(handleSort('createdAt',messagesMemo,sort))

+ 3 - 2
src/components/HomePage/LeftBar/SmallMenuBar/index.tsx

@@ -5,6 +5,7 @@ import Avatar from '@mui/material/Avatar';
 import Menu from '@mui/material/Menu';
 import MenuItem from '@mui/material/MenuItem';
 import ChatIcon from '@mui/icons-material/Chat';
+import PermContactCalendarIcon from '@mui/icons-material/PermContactCalendar';
 import ModeEditOutlineOutlinedIcon from '@mui/icons-material/ModeEditOutlineOutlined';
 import CloseIcon from '@mui/icons-material/Close';
 import PersonAddAltIcon from '@mui/icons-material/PersonAddAlt';
@@ -96,8 +97,8 @@ const  SmallMenuBar = ({handleSelectedMenu,setIsMenuSm}:ISmallMenuBar) => {
           handleClose();
           handleSelectedMenu(1)
         }}>
-            <ChatIcon/>
-            New Message
+            <PermContactCalendarIcon/>
+            Contacts
         </MenuItem>      
        </StyledMenu>    
     </div>

+ 1 - 1
src/components/HomePage/LeftBar/index.tsx

@@ -78,7 +78,7 @@ const LeftBar = () => {
             value={value} setDate={setDate} date={date}/>}
         {!selectedIndex && isSearch && <SearchLists value={value} setValue={setValue}
           sort={sort} date={date} setDate={setDate}/>}
-        {!selectedIndex&&!isSearch &&<ChatsList sort={sort} date={date}/>}
+        {!selectedIndex&&!isSearch &&<ChatsList sort={sort} date={date} value={value}/>}
         {!selectedIndex && isMenuSm && !isSearch && <SmallMenuBar
           handleSelectedMenu={handleSelectedMenu} setIsMenuSm={setIsMenuSm} />}
         {isMenu && modalRoot.current &&