CFE-1 working on call history of callers and base design completed

This commit is contained in:
2023-10-21 17:26:33 +03:30
parent 53f17f786d
commit 3286f6d0e3
9 changed files with 150 additions and 5 deletions

View File

@@ -250,5 +250,13 @@
"delete_tooltip": "حذف",
"update_tooltip": "ویرایش",
"update_expert": "ویرایش کارشناس"
},
"CallHistory": {
"topic": "موضوع",
"sub_topic": "زیر موضوع",
"operator": "اپراتور",
"date": "تاریخ",
"call_history_of": "تاریخچه تماس های",
"call_history_not_found": "تاریخچه ای برای این تماس یافت نشد"
}
}

View File

@@ -0,0 +1,28 @@
import {useTranslations} from "next-intl";
import {Avatar, Box, ListItem, ListItemAvatar, ListItemText, Typography} from "@mui/material";
import HeadsetMicIcon from '@mui/icons-material/HeadsetMic';
const PreviusOperatorData = ({tab}) => {
const t = useTranslations();
return (
<ListItem>
<ListItemAvatar>
<Avatar sx={{backgroundColor: "primary.light"}}>
<HeadsetMicIcon/>
</Avatar>
</ListItemAvatar>
<ListItemText primary={
<Box sx={{display: "flex", alignItems: "end"}}>
<Typography sx={{marginRight: 1, color: "#545151"}}>
اشکان خطیبی
</Typography>
<Typography variant="caption" sx={{color: "secondary.main"}}>
({t("CallHistory.operator")})
</Typography>
</Box>
} secondary="1379/02/03 13:50"/>
</ListItem>
)
}
export default PreviusOperatorData

View File

@@ -0,0 +1,43 @@
import {useTranslations} from "next-intl";
import {Box, List, ListItem, Typography} from "@mui/material";
const Topics = ({tab}) => {
const t = useTranslations();
return (
<Box timeout="auto" unmountOnExit>
<List component="div" disablePadding>
<ListItem sx={{px: 4}}>
<Box sx={{width: "100%", display: "flex", justifyContent: "space-between"}}>
<Typography variant="subtitle2" sx={{color: "#837e7e"}}>
{t("CallHistory.topic")}:
</Typography>
<Typography variant="subtitle2" sx={{color: "#837e7e"}}>
موضوع تست
</Typography>
</Box>
</ListItem>
</List>
<List component="div" disablePadding>
<ListItem sx={{px: 4}}>
<Box sx={{width: "100%", display: "flex", justifyContent: "space-between"}}>
<Typography variant="subtitle2" sx={{color: "#837e7e"}}>
{t("CallHistory.sub_topic")}:
</Typography>
<Typography variant="subtitle2" sx={{
width: "200px",
textOverflow: 'ellipsis',
overflow: 'hidden',
whiteSpace: "nowrap",
textAlign: "end",
color: "#837e7e"
}}>
زیر موضوع تست با متن طولانی تر از موضوع
</Typography>
</Box>
</ListItem>
</List>
</Box>
)
}
export default Topics

View File

@@ -0,0 +1,19 @@
import {useTranslations} from "next-intl";
import {Divider, List} from "@mui/material";
import PreviusOperatorData from "./PreviusOperatorData";
import Topics from "./Topics";
const ListItemOfCalls = ({tab}) => {
const t = useTranslations();
return (
<>
<List sx={{width: '100%', bgcolor: 'rgba(222,234,215,0.11)'}}>
<PreviusOperatorData/>
<Topics/>
</List>
<Divider/>
</>
)
}
export default ListItemOfCalls

View File

@@ -1,6 +1,45 @@
import {useTranslations} from "next-intl";
import {Box, Typography} from "@mui/material";
import ListItemOfCalls
from "@/components/layouts/Dashboard/CallWidget/CallWidgetDialog/CallTabs/CallTabPanel/CallHistory/ListItemOfCalls";
const CallHistory = ({tab}) => {
const t = useTranslations();
return (
<>CallHistory - {tab.id}</>
<>
<Box sx={{
display: "flex",
alignItems: "end",
justifyContent: "center",
py: 2,
backgroundColor: "primary.main",
overflow: "hidden"
}}>
<Typography variant="subtitle1" sx={{marginRight: 1, color: "#fff"}}>
.... {t("CallHistory.call_history_of")}:
</Typography>
<Typography variant="subtitle1" sx={{color: "#fff"}}>
{tab.phone_number} ....
</Typography>
</Box>
<Box sx={{height: "100%", overflow: "scroll"}}>
<ListItemOfCalls tab={tab}/>
<ListItemOfCalls tab={tab}/>
<ListItemOfCalls tab={tab}/>
<ListItemOfCalls tab={tab}/>
<ListItemOfCalls tab={tab}/>
<ListItemOfCalls tab={tab}/>
<ListItemOfCalls tab={tab}/>
{/*<Typography variant="subtitle1"*/}
{/* sx={{*/}
{/* color: "#837e7e",*/}
{/* textAlign: "center",*/}
{/* mt: "50%"*/}
{/* }}>*/}
{/* {t("CallHistory.call_history_not_found")}*/}
{/*</Typography>*/}
</Box>
</>
)
}

View File

@@ -1,15 +1,19 @@
import {Grid} from "@mui/material";
import {Divider, Grid} from "@mui/material";
import CallActions from "@/components/layouts/Dashboard/CallWidget/CallWidgetDialog/CallTabs/CallTabPanel/CallActions";
import CallHistory from "@/components/layouts/Dashboard/CallWidget/CallWidgetDialog/CallTabs/CallTabPanel/CallHistory";
const CallTabPanel = ({tab}) => {
return (
<Grid container columns={{xs: 3}} sx={{display: !tab.active && 'none'}} role="tabpanel"
<Grid container columns={{xs: 3}} sx={{display: !tab.active && 'none', height: '100%', overflow: "hidden"}}
role="tabpanel"
id={`answer-tabpanel-${tab.id}`} aria-labelledby={`answer-tab-${tab.id}`}>
<Grid item xs={2}>
<CallActions tab={tab}/>
</Grid>
<Grid item xs={1}>
<Grid item>
<Divider orientation="vertical"/>
</Grid>
<Grid item xs sx={{height: "100%", overflow: "scroll"}}>
<CallHistory tab={tab}/>
</Grid>
</Grid>

View File

@@ -17,7 +17,11 @@ export const AnswersContext = createContext()
export const AnswersProvider = ({children}) => {
const [openCallDialog, setOpenCallDialog] = useState(false)
const [activeTab, setActiveTab] = useState(0)
const [state, dispatch] = useReducer(reducer, []);
const [state, dispatch] = useReducer(reducer, [{
id: 2,
phone_number: "09036949387",
active: true
}]);
return <AnswersContext.Provider
value={{