master
Gorji 3 years ago
parent abaa0c00e8
commit ba0f1125b9
  1. 7
      src/Redux/reducers/book.js
  2. BIN
      src/assets/icons/logo.png
  3. BIN
      src/assets/icons/logo2.png
  4. BIN
      src/assets/icons/logoMobile.png
  5. BIN
      src/assets/icons/logoMobile2.png
  6. 3
      src/views/Activation/index.js
  7. 8
      src/views/Activation/index.scss
  8. 62
      src/views/Auth/Profile/index.js
  9. 8
      src/views/Cart/Table/index.js
  10. 2
      src/views/Cart/Table/index.scss
  11. 48
      src/views/ChatRoom/Body/Message/Comment/index.js
  12. 176
      src/views/ChatRoom/Body/Message/Normal/index.js
  13. 2
      src/views/Contact/index.js
  14. 46
      src/views/Home/HomeSearch/Select/index.js
  15. 2
      src/views/Home/HomeSearch/index.js
  16. 5
      src/views/Home/HomeStatic/Flex/index.js
  17. 2
      src/views/Home/HomeStatic/Simple/index.js
  18. 15
      src/views/Home/HomeStatic/Vitrin/index.js
  19. 5
      src/views/Home/HomeStatic/index.js
  20. 8
      src/views/Home/HomeStatic/index.scss
  21. 32
      src/views/Home/Membership/index.js
  22. 2
      src/views/Home/Navbar/Laptop/index.js
  23. 19
      src/views/Home/Navbar/Mobile/NavbarDrawer/NavbarDrawer.js
  24. 6
      src/views/Home/Navbar/Mobile/NavbarDrawer/NavbarDrawer.scss
  25. 4
      src/views/Home/Navbar/Mobile/index.js
  26. 11
      src/views/Home/index.scss
  27. 62
      src/views/NewProfile/index.js
  28. 8
      src/views/Product/AddToCart/index.js
  29. 27
      src/views/Product/index.js
  30. 10
      src/views/Products/Product/index.scss
  31. 30
      src/views/Products/index.js
  32. 8
      src/views/Products/index.scss
  33. 6
      src/views/Support/index.js

@ -11,6 +11,7 @@ const initialState = {
}; };
const grades = [ const grades = [
"پیش دبستان",
"اول", "اول",
"دوم", "دوم",
"سوم", "سوم",
@ -32,7 +33,11 @@ export default function book(state = initialState, action) {
if (window.innerWidth < 1000) { if (window.innerWidth < 1000) {
itemsSubject.unshift("نام کتاب"); itemsSubject.unshift("نام کتاب");
} }
let itemsLevel = data.map((item) => grades[item.gradeId]); let itemsLevel = data
.map((item) => item.gradeId * 1)
.sort((a, b) => a - b)
.map((e) => grades[e]);
console.log(itemsLevel);
if (window.innerWidth < 1000) { if (window.innerWidth < 1000) {
itemsLevel.unshift("پایه تحصیلی"); itemsLevel.unshift("پایه تحصیلی");
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

@ -112,8 +112,7 @@ export default class Activation extends Component {
<div className="mobile-activation__description d-flex"> <div className="mobile-activation__description d-flex">
<span>.</span> <span>.</span>
<p style={{ fontSize: fontSize.mobile.p }}> <p style={{ fontSize: fontSize.mobile.p }}>
کد فعال سازی در اختیار شما قرار گرفته است را در قسمت زیر وارد برای خدمات هوشمند کتاب کد فعال سازی را اینجا وارد نمایید
وارد تا کتاب الکترونیک آن فعالسازی شود
</p> </p>
</div> </div>
<form <form

@ -6,6 +6,7 @@
direction: rtl; direction: rtl;
padding-top: 70px; padding-top: 70px;
overflow-x: hidden; overflow-x: hidden;
&__back { &__back {
width: 100%; width: 100%;
justify-content: flex-end; justify-content: flex-end;
@ -23,7 +24,7 @@
} }
} }
&__header { &__header {
margin-top: 30px; margin: auto;
h1 { h1 {
font-family: numeralBold; font-family: numeralBold;
margin-top: 15px; margin-top: 15px;
@ -36,7 +37,7 @@
} }
&__description { &__description {
width: 100%; width: 100%;
margin-top: 30px; margin-top: 10px;
span { span {
font-size: 50px; font-size: 50px;
color: #00cc69; color: #00cc69;
@ -55,6 +56,7 @@
font-family: numeralMedium; font-family: numeralMedium;
position: fixed; position: fixed;
bottom: 20px; bottom: 20px;
background-color: white !important;
input { input {
width: 100%; width: 100%;
background-color: #f6f6f6; background-color: #f6f6f6;
@ -80,7 +82,7 @@
border-radius: 10px; border-radius: 10px;
color: white; color: white;
border: 0px; border: 0px;
margin-top: 20px; margin-top: 10px;
letter-spacing: -1px; letter-spacing: -1px;
&:focus:enabled { &:focus:enabled {
text-decoration: none; text-decoration: none;

@ -120,6 +120,21 @@ class Profile extends Component {
}; };
render() { render() {
const grades = [
"پیش دبستان",
"اول",
"دوم",
"سوم",
"چهارم",
"پنجم",
"ششم",
"هفتم",
"هشتم",
"نهم",
"دهم",
"یازدهم",
"دوازدهم",
];
const { user, profile } = this.props; const { user, profile } = this.props;
return ( return (
<> <>
@ -203,20 +218,7 @@ class Profile extends Component {
<div className="mb-2"> <div className="mb-2">
<Select <Select
parent={this} parent={this}
options={[ options={grades}
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
]}
name="gradeId" name="gradeId"
label={"پایه تحصیلی"} label={"پایه تحصیلی"}
/> />
@ -226,7 +228,7 @@ class Profile extends Component {
<div className="mb-2"> <div className="mb-2">
<MultipleSelector <MultipleSelector
parent={this} parent={this}
options={[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]} options={grades}
name="gradeId" name="gradeId"
label={"پایه تحصیلی"} label={"پایه تحصیلی"}
selectedOptions={this.state.gradeId} selectedOptions={this.state.gradeId}
@ -392,20 +394,7 @@ class Profile extends Component {
{this.state.userRoleId === "دانش آموز" ? ( {this.state.userRoleId === "دانش آموز" ? (
<Select <Select
parent={this} parent={this}
options={[ options={grades}
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
]}
name="gradeId" name="gradeId"
label={"پایه تحصیلی"} label={"پایه تحصیلی"}
/> />
@ -413,20 +402,7 @@ class Profile extends Component {
{this.state.userRoleId === "معلم" ? ( {this.state.userRoleId === "معلم" ? (
<MultipleSelector <MultipleSelector
parent={this} parent={this}
options={[ options={grades}
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
]}
name="gradeId" name="gradeId"
label={"پایه تحصیلی"} label={"پایه تحصیلی"}
selectedOptions={this.state.gradeId} selectedOptions={this.state.gradeId}

@ -63,9 +63,10 @@ function BasicTable(props) {
const classes = useStyles(); const classes = useStyles();
const { list, handleCounter, handleDelete, route } = props; const { list, handleCounter, handleDelete, route } = props;
const sum = () => { const sum = () => {
console.log(list);
let total = 0; let total = 0;
for (let i = 0; i < list.length; i++) { for (let i = 0; i < list.length; i++) {
total += list[i].number; total += list[i].count * 1;
} }
return total; return total;
}; };
@ -108,11 +109,6 @@ function BasicTable(props) {
))} ))}
{route === "cart" ? ( {route === "cart" ? (
<TableRow> <TableRow>
<TableCell
align="right"
component="th"
scope="row"
></TableCell>
<TableCell align="center"> <TableCell align="center">
<span style={{ color: "grey" }}> <span style={{ color: "grey" }}>
مبلغ کل {props.payPrice} مبلغ کل {props.payPrice}

@ -3,7 +3,7 @@
font-family: numeralLight; font-family: numeralLight;
img { img {
height: 100px; height: 100px;
width: 70px; // width: 70px;
border-radius: 10px; border-radius: 10px;
} }
&__info { &__info {

@ -1,25 +1,25 @@
import React, { Component } from 'react'; import React, { Component } from "react";
import DoneIcon from '@material-ui/icons/Done'; import DoneIcon from "@material-ui/icons/Done";
import DoneAllIcon from '@material-ui/icons/DoneAll'; import DoneAllIcon from "@material-ui/icons/DoneAll";
import EditIcon from '@material-ui/icons/Edit'; import EditIcon from "@material-ui/icons/Edit";
import ExpandMoreIcon from '@material-ui/icons/ExpandMore'; import ExpandMoreIcon from "@material-ui/icons/ExpandMore";
import './index.scss'; import "./index.scss";
import Menu from '@material-ui/core/Menu'; import Menu from "@material-ui/core/Menu";
import MenuItem from '@material-ui/core/MenuItem'; import MenuItem from "@material-ui/core/MenuItem";
import ReplyIcon from '@material-ui/icons/Reply'; import ReplyIcon from "@material-ui/icons/Reply";
import ForwardIcon from '@material-ui/icons/Forward'; import ForwardIcon from "@material-ui/icons/Forward";
import DeleteIcon from '@material-ui/icons/Delete'; import DeleteIcon from "@material-ui/icons/Delete";
import ScheduleIcon from '@material-ui/icons/Schedule'; import ScheduleIcon from "@material-ui/icons/Schedule";
const menu = [ const menu = [
{ text: 'پسند', icon: FavoriteIcon, onClick: () => {} }, { text: "پسند", icon: FavoriteIcon, onClick: () => {} },
{ text: 'تبادل نظر', icon: TextsmsIcon, onClick: () => {} }, { text: "تبادل نظر", icon: TextsmsIcon, onClick: () => {} },
{ text: 'پاسخ', icon: ReplyIcon, onClick: () => {} }, { text: "پاسخ", icon: ReplyIcon, onClick: () => {} },
{ text: 'باز ارسال', icon: ForwardIcon, onClick: () => {} }, { text: "باز ارسال", icon: ForwardIcon, onClick: () => {} },
]; ];
const selfMenu = [ const selfMenu = [
{ text: 'باز ارسال', icon: ForwardIcon, onClick: () => {} }, { text: "باز ارسال", icon: ForwardIcon, onClick: () => {} },
{ text: 'ویرایش', icon: EditIcon, onClick: () => {} }, { text: "ویرایش", icon: EditIcon, onClick: () => {} },
{ text: 'حذف', icon: DeleteIcon, onClick: () => {} }, { text: "حذف", icon: DeleteIcon, onClick: () => {} },
]; ];
export default class Comment extends Component { export default class Comment extends Component {
state = { messageMenu: null }; state = { messageMenu: null };
@ -42,14 +42,12 @@ export default class Comment extends Component {
<div <div
className="comment-message d-flex flex-column d-flex" className="comment-message d-flex flex-column d-flex"
style={{ style={{
filter: document !== null ? 'blur(16px)' : 'blur(0px)', filter: document !== null ? "blur(4px)" : "blur(0px)",
}} }}
> >
<div className={`comment-message__box`}> <div className={`comment-message__box`}>
<div <div className="comment-message__box--detail d-flex">
className="comment-message__box--detail d-flex" <div onClick={() => addcounter("nothing")}>
>
<div onClick={() => addcounter('nothing')}>
<ExpandMoreIcon fontSize="small" onClick={this.handleClick} /> <ExpandMoreIcon fontSize="small" onClick={this.handleClick} />
</div> </div>
<Menu <Menu
@ -65,7 +63,7 @@ export default class Comment extends Component {
onClick={() => { onClick={() => {
this.handleClose(); this.handleClose();
e.onClick(); e.onClick();
addcounter('nothing'); addcounter("nothing");
}} }}
> >
<e.icon fontSize="small" /> <e.icon fontSize="small" />

@ -1,33 +1,33 @@
import React, { Component } from 'react'; import React, { Component } from "react";
import ReactAudioPlayer from 'react-audio-player'; import ReactAudioPlayer from "react-audio-player";
import ReactPlayer from 'react-player'; import ReactPlayer from "react-player";
import CloudDownloadIcon from '@material-ui/icons/CloudDownload'; import CloudDownloadIcon from "@material-ui/icons/CloudDownload";
import Avatar from '@material-ui/core/Avatar'; import Avatar from "@material-ui/core/Avatar";
import moment from 'jalali-moment'; import moment from "jalali-moment";
import DoneIcon from '@material-ui/icons/Done'; import DoneIcon from "@material-ui/icons/Done";
import DoneAllIcon from '@material-ui/icons/DoneAll'; import DoneAllIcon from "@material-ui/icons/DoneAll";
import EditIcon from '@material-ui/icons/Edit'; import EditIcon from "@material-ui/icons/Edit";
import ExpandMoreIcon from '@material-ui/icons/ExpandMore'; import ExpandMoreIcon from "@material-ui/icons/ExpandMore";
import './index.scss'; import "./index.scss";
import Menu from '@material-ui/core/Menu'; import Menu from "@material-ui/core/Menu";
import MenuItem from '@material-ui/core/MenuItem'; import MenuItem from "@material-ui/core/MenuItem";
import ReplyIcon from '@material-ui/icons/Reply'; import ReplyIcon from "@material-ui/icons/Reply";
import ForwardIcon from '@material-ui/icons/Forward'; import ForwardIcon from "@material-ui/icons/Forward";
import DeleteIcon from '@material-ui/icons/Delete'; import DeleteIcon from "@material-ui/icons/Delete";
import FavoriteIcon from '@material-ui/icons/Favorite'; import FavoriteIcon from "@material-ui/icons/Favorite";
import TextsmsIcon from '@material-ui/icons/Textsms'; import TextsmsIcon from "@material-ui/icons/Textsms";
import ScheduleIcon from '@material-ui/icons/Schedule'; import ScheduleIcon from "@material-ui/icons/Schedule";
const file = (fileId) => `${window.baseURL}/file/download/${fileId}`; const file = (fileId) => `${window.baseURL}/file/download/${fileId}`;
const menu = [ const menu = [
{ text: 'پسند', icon: FavoriteIcon, onClick: () => {} }, { text: "پسند", icon: FavoriteIcon, onClick: () => {} },
{ text: 'تبادل نظر', icon: TextsmsIcon, onClick: () => {} }, { text: "تبادل نظر", icon: TextsmsIcon, onClick: () => {} },
{ text: 'پاسخ', icon: ReplyIcon, onClick: () => {} }, { text: "پاسخ", icon: ReplyIcon, onClick: () => {} },
{ text: 'باز ارسال', icon: ForwardIcon, onClick: () => {} }, { text: "باز ارسال", icon: ForwardIcon, onClick: () => {} },
]; ];
const selfMenu = [ const selfMenu = [
{ text: 'باز ارسال', icon: ForwardIcon, onClick: () => {} }, { text: "باز ارسال", icon: ForwardIcon, onClick: () => {} },
{ text: 'ویرایش', icon: EditIcon, onClick: () => {} }, { text: "ویرایش", icon: EditIcon, onClick: () => {} },
{ text: 'حذف', icon: DeleteIcon, onClick: () => {} }, { text: "حذف", icon: DeleteIcon, onClick: () => {} },
]; ];
export default class NormalMessage extends Component { export default class NormalMessage extends Component {
state = { messageMenu: null }; state = { messageMenu: null };
@ -42,7 +42,15 @@ export default class NormalMessage extends Component {
}); });
}; };
render() { render() {
const { message, user, document, isSelf, prevUserId, children,addcounter } = this.props; const {
message,
user,
document,
isSelf,
prevUserId,
children,
addcounter,
} = this.props;
const { messageMenu } = this.state; const { messageMenu } = this.state;
const hasavatar = prevUserId != message.userId; const hasavatar = prevUserId != message.userId;
@ -50,41 +58,44 @@ export default class NormalMessage extends Component {
<div <div
className="normal-message d-flex flex-column d-flex" className="normal-message d-flex flex-column d-flex"
style={{ style={{
filter: document !== null ? 'blur(16px)' : 'blur(0px)', filter: document !== null ? "blur(4px)" : "blur(0px)",
}} }}
> >
{hasavatar && false && ( {hasavatar && false && (
<Avatar <Avatar
alt={user.name} alt={user.name}
src={window.baseURL + '/file/download/' + user.fileId} src={window.baseURL + "/file/download/" + user.fileId}
className="" className=""
style={{ style={{
marginTop: -5, marginTop: -5,
backgroundColor: user.color, backgroundColor: user.color,
alignSelf: isSelf ? 'flex-end' : 'flex-start', alignSelf: isSelf ? "flex-end" : "flex-start",
}} }}
> >
{user.name {user.name
.split(' ') .split(" ")
.map((e) => e.slice(0, 1)) .map((e) => e.slice(0, 1))
.join(' ')} .join(" ")}
</Avatar> </Avatar>
)} )}
<div <div
className="d-flex" className="d-flex"
style={{ direction: isSelf ? 'rtl' : 'ltr', marginTop: hasavatar ? 0 : 0 }} style={{
direction: isSelf ? "rtl" : "ltr",
marginTop: hasavatar ? 0 : 0,
}}
> >
<div <div
className={ className={
message.type == 'text' message.type == "text"
? `normal-message__box ` ? `normal-message__box `
: `normal-message__box normal-message__box--file` : `normal-message__box normal-message__box--file`
} }
style={{ style={{
paddingTop: hasavatar ? 25 : 15, paddingTop: hasavatar ? 25 : 15,
backgroundColor: isSelf ? 'white' : 'rgb(220, 248, 198)', backgroundColor: isSelf ? "white" : "rgb(220, 248, 198)",
width: 'calc(100%-70px)', width: "calc(100%-70px)",
}} }}
> >
<div <div
@ -92,12 +103,15 @@ export default class NormalMessage extends Component {
style={{ style={{
top: 0, top: 0,
direction: isSelf ? 'ltr' : 'rtl', direction: isSelf ? "ltr" : "rtl",
paddingRight: isSelf ? 20 : 20, paddingRight: isSelf ? 20 : 20,
paddingLeft: isSelf ? 0 : 0, paddingLeft: isSelf ? 0 : 0,
}} }}
> >
<div style={{ color: isSelf ? '#aaa' : 'gray' }} onClick={() => addcounter('nothing')}> <div
style={{ color: isSelf ? "#aaa" : "gray" }}
onClick={() => addcounter("nothing")}
>
<ExpandMoreIcon fontSize="small" onClick={this.handleClick} /> <ExpandMoreIcon fontSize="small" onClick={this.handleClick} />
</div> </div>
<Menu <Menu
@ -113,7 +127,7 @@ export default class NormalMessage extends Component {
onClick={() => { onClick={() => {
this.handleClose(); this.handleClose();
e.onClick(); e.onClick();
addcounter('nothing'); addcounter("nothing");
}} }}
> >
{e.text} {e.text}
@ -121,50 +135,67 @@ export default class NormalMessage extends Component {
</MenuItem> </MenuItem>
))} ))}
</Menu> </Menu>
{hasavatar && <div style={{ color: isSelf ? '#aaa' : 'gray' }}>{user.name}</div>} {hasavatar && (
<div style={{ color: isSelf ? "#aaa" : "gray" }}>
{user.name}
</div>
)}
</div> </div>
{message.type == 'text' ? ( {message.type == "text" ? (
<p style={{ color: isSelf ? 'black' : 'black' }}>{message.text}</p> <p style={{ color: isSelf ? "black" : "black" }}>
{message.text}
</p>
) : null} ) : null}
{message.type == 'voice' ? ( {message.type == "voice" ? (
<ReactAudioPlayer src={file(message.fileId)} controls /> <ReactAudioPlayer src={file(message.fileId)} controls />
) : null} ) : null}
{message.type == 'image' ? ( {message.type == "image" ? (
<div className="normal-message__box--caption"> <div className="normal-message__box--caption">
<a href={file(message.fileId)} download> <a href={file(message.fileId)} download>
<img src={file(message.fileId)} download alt="" /> <img src={file(message.fileId)} download alt="" />
</a> </a>
<p style={{ color: isSelf ? 'black' : 'black' }}>{message.text}</p> <p style={{ color: isSelf ? "black" : "black" }}>
{message.text}
</p>
</div> </div>
) : null} ) : null}
{message.type == 'video' ? ( {message.type == "video" ? (
<div className="normal-message__box--caption"> <div className="normal-message__box--caption">
<a href={file(message.fileId)} download> <a href={file(message.fileId)} download>
<ReactPlayer url={file(message.fileId)} controls width={'100%'} height={250} /> <ReactPlayer
url={file(message.fileId)}
controls
width={"100%"}
height={250}
/>
</a> </a>
<p style={{ color: isSelf ? 'black' : 'black' }}>{message.text}</p> <p style={{ color: isSelf ? "black" : "black" }}>
{message.text}
</p>
</div> </div>
) : null} ) : null}
{message.type == 'audio' ? ( {message.type == "audio" ? (
<div className="normal-message__box--caption"> <div className="normal-message__box--caption">
<ReactAudioPlayer src={file(message.fileId)} controls /> <ReactAudioPlayer src={file(message.fileId)} controls />
<p style={{ color: isSelf ? 'black' : 'black' }}>{message.text}</p> <p style={{ color: isSelf ? "black" : "black" }}>
{message.text}
</p>
</div> </div>
) : null} ) : null}
{message.type == 'document' ? ( {message.type == "document" ? (
<a <a
href={file(message.fileId)} href={file(message.fileId)}
download download
className="normal-message__box--document d-flex" className="normal-message__box--document d-flex"
style={{ style={{
backgroundColor: isSelf ? 'rgb(15, 93, 190)' : 'white', backgroundColor: isSelf ? "rgb(15, 93, 190)" : "white",
color: isSelf ? 'black' : 'black', color: isSelf ? "black" : "black",
}} }}
> >
<CloudDownloadIcon <CloudDownloadIcon
style={{ style={{
color: isSelf ? 'black' : 'black', color: isSelf ? "black" : "black",
width: 32, width: 32,
height: 32, height: 32,
marginRight: 10, marginRight: 10,
@ -174,41 +205,52 @@ export default class NormalMessage extends Component {
</a> </a>
) : null} ) : null}
<div className={'normal-message__box--date d-flex ' + (isSelf ? 'self' : '')}> <div
<span style={{ color: isSelf ? '#aaa' : 'gray' }}> className={
"normal-message__box--date d-flex " + (isSelf ? "self" : "")
}
>
<span style={{ color: isSelf ? "#aaa" : "gray" }}>
{message.updatedAt != message.createdAt ? ( {message.updatedAt != message.createdAt ? (
<> <>
<span> ویرایش در</span> <span> ویرایش در</span>
{moment(message.updatedAt).format(' hh:mm jMM/jDD')} {moment(message.updatedAt).format(" hh:mm jMM/jDD")}
</> </>
) : ( ) : (
moment(message.createdAt).format('hh:mm') moment(message.createdAt).format("hh:mm")
)} )}
</span> </span>
<span <span
style={{ style={{
color: isSelf ? '#aaa' : 'gray', color: isSelf ? "#aaa" : "gray",
padding: '0 2px', padding: "0 2px",
}} }}
> >
{isSelf && message.status == 0 && <ScheduleIcon fontSize="small" />} {isSelf && message.status == 0 && (
<ScheduleIcon fontSize="small" />
)}
{isSelf && message.status == 2 && <DoneIcon fontSize="small" />} {isSelf && message.status == 2 && <DoneIcon fontSize="small" />}
{isSelf && message.status == 1 && ( {isSelf && message.status == 1 && (
<DoneAllIcon fontSize="small" style={{ color: '#00afea', fontSize: '17px' }} /> <DoneAllIcon
fontSize="small"
style={{ color: "#00afea", fontSize: "17px" }}
/>
)} )}
</span> </span>
</div> </div>
</div> </div>
<div className={isSelf ? 'icons self' : 'icons'} onClick={() => addcounter('nothing')}> <div
className={isSelf ? "icons self" : "icons"}
onClick={() => addcounter("nothing")}
>
{!isSelf ? ( {!isSelf ? (
<> <>
{' '} {" "}
<div> <div>
<span> {10}</span> <span> {10}</span>
<FavoriteIcon fontSize="samall" color="primary" /> <FavoriteIcon fontSize="samall" color="primary" />
</div> </div>
<div> <div>
<span> {10}</span> <span> {10}</span>
@ -231,10 +273,10 @@ export default class NormalMessage extends Component {
<div <div
className="f-flex keys" className="f-flex keys"
style={{ style={{
width: 'calc(100% - 70px)', width: "calc(100% - 70px)",
marginRight: isSelf ? 0 : 70, marginRight: isSelf ? 0 : 70,
marginLeft: isSelf ? 70 : 0, marginLeft: isSelf ? 70 : 0,
alignSelf: isSelf ? 'flex-end' : 'flex-start', alignSelf: isSelf ? "flex-end" : "flex-start",
}} }}
> >
{children} {children}

@ -64,7 +64,7 @@ class Contact extends Component {
کنید و پس از انتخاب دپارتمان مد نظر پیام خود را ارسال کنید و پس از انتخاب دپارتمان مد نظر پیام خود را ارسال
کنید. کنید.
</p> </p>
<Input label={"نامونام خانوادگی"} name={"name"} /> <Input label={"نام و نام خانوادگی"} name={"name"} />
<Input label={"شماره تماس"} name={"mobile"} /> <Input label={"شماره تماس"} name={"mobile"} />
<Select options={["واحد فروش", "واحد محتوا", "واحد فنی"]} /> <Select options={["واحد فروش", "واحد محتوا", "واحد فنی"]} />
<Input label={"موضوع پیام"} name={"subject"} /> <Input label={"موضوع پیام"} name={"subject"} />

@ -1,37 +1,37 @@
import React from 'react'; import React from "react";
import { makeStyles, withStyles } from '@material-ui/core/styles'; import { makeStyles, withStyles } from "@material-ui/core/styles";
import FormControl from '@material-ui/core/FormControl'; import FormControl from "@material-ui/core/FormControl";
import NativeSelect from '@material-ui/core/NativeSelect'; import NativeSelect from "@material-ui/core/NativeSelect";
import InputBase from '@material-ui/core/InputBase'; import InputBase from "@material-ui/core/InputBase";
const BootstrapInput = withStyles((theme) => ({ const BootstrapInput = withStyles((theme) => ({
root: { root: {
'label + &': { "label + &": {
marginTop: theme.spacing(3), marginTop: theme.spacing(3),
}, },
}, },
input: { input: {
borderRadius: 4, borderRadius: 4,
position: 'relative', position: "relative",
backgroundColor: theme.palette.background.paper, backgroundColor: theme.palette.background.paper,
border: '1px solid #ced4da', border: "1px solid #ced4da",
fontSize: 16, fontSize: 16,
padding: '10px 26px 10px 12px', padding: "10px 26px 10px 12px",
transition: theme.transitions.create(['border-color', 'box-shadow']), transition: theme.transitions.create(["border-color", "box-shadow"]),
// Use the system font instead of the default Roboto font. // Use the system font instead of the default Roboto font.
fontFamily: [ fontFamily: [
'-apple-system', "-apple-system",
'BlinkMacSystemFont', "BlinkMacSystemFont",
'"Segoe UI"', '"Segoe UI"',
'Roboto', "Roboto",
'"Helvetica Neue"', '"Helvetica Neue"',
'Arial', "Arial",
'sans-serif', "sans-serif",
'"Apple Color Emoji"', '"Apple Color Emoji"',
'"Segoe UI Emoji"', '"Segoe UI Emoji"',
'"Segoe UI Symbol"', '"Segoe UI Symbol"',
].join(','), ].join(","),
'&:focus': { "&:focus": {
borderRadius: 4, borderRadius: 4,
}, },
}, },
@ -45,7 +45,7 @@ const useStyles = makeStyles((theme) => ({
export default function CustomizedSelects(props) { export default function CustomizedSelects(props) {
const classes = useStyles(); const classes = useStyles();
const [age, setAge] = React.useState(''); const [age, setAge] = React.useState("");
const handleChange = (event) => { const handleChange = (event) => {
setAge(event.target.value); setAge(event.target.value);
}; };
@ -58,11 +58,11 @@ export default function CustomizedSelects(props) {
onChange={handleChange} onChange={handleChange}
input={<BootstrapInput />} input={<BootstrapInput />}
> >
{ {props.options.map((item, i) => (
props.options.map(item => ( <option value={item} key={i}>
<option value={item}>{item}</option> {item}
)) </option>
} ))}
</NativeSelect> </NativeSelect>
</FormControl> </FormControl>
</div> </div>

@ -17,7 +17,7 @@ export default class HomeSearch extends Component {
/> />
<div className="home-search__select"> <div className="home-search__select">
<Select options={data} /> <Select options={data} />
<img src={dropdown} alt='فلش' /> <img src={dropdown} alt="فلش" />
</div> </div>
<button className="home-search__submit">جستجو</button> <button className="home-search__submit">جستجو</button>
</div> </div>

@ -4,7 +4,7 @@ import { Link } from "react-router-dom";
const maxMobileSize = 550; const maxMobileSize = 550;
const fontSize = { const fontSize = {
h1: window.innerWidth > maxMobileSize ? 20 : window.innerWidth / 25, h1: window.innerWidth > maxMobileSize ? 19 : window.innerWidth / 25,
span: window.innerWidth > maxMobileSize ? 12 : window.innerWidth / 35, span: window.innerWidth > maxMobileSize ? 12 : window.innerWidth / 35,
}; };
@ -16,7 +16,8 @@ export default function Flex(props) {
margin: 5, margin: 5,
borderRadius: 10, borderRadius: 10,
color: data.color, color: data.color,
filter: data.link === "/chatroom" ? "blur(1.5px) grayscale(100%)" : "", opacity: data.link === "/chatroom" ? 0.5 : 1,
filter: data.link === "/chatroom" ? "blur(1px) grayscale(100%)" : "",
}; };
return ( return (
<Link <Link

@ -4,7 +4,7 @@ import { Link } from "react-router-dom";
const maxMobileSize = 550; const maxMobileSize = 550;
const fontSize = { const fontSize = {
h1: window.innerWidth > maxMobileSize ? 20 : window.innerWidth / 28, h1: window.innerWidth > maxMobileSize ? 19 : window.innerWidth / 28,
span: window.innerWidth > maxMobileSize ? 12 : window.innerWidth / 32, span: window.innerWidth > maxMobileSize ? 12 : window.innerWidth / 32,
}; };

@ -4,7 +4,7 @@ import { Link } from "react-router-dom";
const maxMobileSize = 550; const maxMobileSize = 550;
const fontSize = { const fontSize = {
h1: window.innerWidth > maxMobileSize ? 20 : window.innerWidth / 25, h1: window.innerWidth > maxMobileSize ? 19 : window.innerWidth / 25,
span: window.innerWidth > maxMobileSize ? 12 : window.innerWidth / 34, span: window.innerWidth > maxMobileSize ? 12 : window.innerWidth / 34,
}; };
@ -23,21 +23,24 @@ export default function Vitrin(props) {
}; };
return ( return (
<Link <div
to={data.link}
className="mobile-home-static__vitrin d-flex flex-column" className="mobile-home-static__vitrin d-flex flex-column"
style={style} style={style}
> >
<h1 style={{ fontSize: fontSize.h1 }}>{data.title}</h1> <Link to={data.link}>
<div className="d-flex align-items-end"> <h1 style={{ fontSize: fontSize.h1 }}>{data.title}</h1>
</Link>
<div className="d-flex align-items-end" style={{ margin: "auto" }}>
{data.books.map((item, i) => ( {data.books.map((item, i) => (
<Item data={item} key={i} /> <Item data={item} key={i} />
))} ))}
<Link to={data.link} style={{ fontSize: fontSize.span }}> <Link to={data.link} style={{ fontSize: fontSize.span }}>
مشاهده بیشتر مشاهده بیشتر
</Link> </Link>
</div> </div>
</Link> </div>
); );
} }

@ -47,7 +47,10 @@ export default class HomeStatic extends Component {
</section> </section>
) : null} ) : null}
{window.innerWidth < 1000 ? ( {window.innerWidth < 1000 ? (
<section className="mobile-home-static d-flex"> <section
className="mobile-home-static d-flex"
style={{ height: height }}
>
{data.map((item, i) => ( {data.map((item, i) => (
<Identifier data={item} key={i} /> <Identifier data={item} key={i} />
))} ))}

@ -33,7 +33,8 @@
text-decoration: none; text-decoration: none;
img { img {
// margin-right: 20px; // margin-right: 20px;
width: 30%; // width: 30%;
margin: 0 10px;
height: 70%; height: 70%;
transform: scale(1.3); transform: scale(1.3);
} }
@ -58,11 +59,12 @@
} }
&--product { &--product {
width: 24%; width: 24%;
margin: 3px; margin: 2px;
border-radius: 10px; border-radius: 10px;
img { img {
width: 100%; width: 100%;
height: 70px;
max-height: 90px;
border-radius: 10px; border-radius: 10px;
} }
} }

@ -1,43 +1,45 @@
import React, { Component } from "react"; import React, { Component } from "react";
import Input from './Input/index'; import Input from "./Input/index";
import "./index.scss"; import "./index.scss";
export default class Membership extends Component { export default class Membership extends Component {
render() { render() {
return ( return (
<> <>
{ {window.innerWidth > 1000 ? (
window.innerWidth > 1000 ?
<div className="membership d-flex"> <div className="membership d-flex">
<div className="d-flex flex-column"> <div className="d-flex flex-column">
<h1><strong>دانوینی</strong> شو</h1> <h1>
<strong>دانوینی</strong> شو
</h1>
<p>مشخصات خودت رو وارد کنید و امتیاز هدیه بگیرید</p> <p>مشخصات خودت رو وارد کنید و امتیاز هدیه بگیرید</p>
</div> </div>
<div className="d-flex"> <div className="d-flex">
<Input label={'نامونام خانوادگی'} name={'name'} /> <Input label={"نام و نام خانوادگی"} name={"name"} />
<Input label={'شماره تماس'} name={'mobile'} /> <Input label={"شماره تماس"} name={"mobile"} />
<button className="membership__submit">دریافت هدیه</button> <button className="membership__submit">دریافت هدیه</button>
</div> </div>
</div> : null </div>
} ) : null}
{ {window.innerWidth < 1000 ? (
window.innerWidth < 1000 ?
<div className="mobile-membership d-flex"> <div className="mobile-membership d-flex">
<div className="d-flex flex-column"> <div className="d-flex flex-column">
<h1><strong>دانوینی</strong> شو</h1> <h1>
<strong>دانوینی</strong> شو
</h1>
<p>مشخصات خودت رو وارد کنید و امتیاز هدیه بگیرید</p> <p>مشخصات خودت رو وارد کنید و امتیاز هدیه بگیرید</p>
</div> </div>
<div className="d-flex flex-column align-items-center"> <div className="d-flex flex-column align-items-center">
<div> <div>
<Input label={'نامونام خانوادگی'} name={'name'} /> <Input label={"نامونام خانوادگی"} name={"name"} />
</div> </div>
<div> <div>
<Input label={'شماره تماس'} name={'mobile'} /> <Input label={"شماره تماس"} name={"mobile"} />
</div> </div>
<button className="mobile-membership__submit">دریافت هدیه</button> <button className="mobile-membership__submit">دریافت هدیه</button>
</div> </div>
</div> : null </div>
} ) : null}
</> </>
); );
} }

@ -72,7 +72,7 @@ export default class LaptopNavbar extends Component {
LaptopNavbar.defaultProps = { LaptopNavbar.defaultProps = {
links: [ links: [
{ name: "صفحه اصلی", to: "/", page: "home" }, { name: "صفحه اصلی", to: "/", page: "home" },
{ name: "فروشگاه ", to: "/products", page: "products" }, { name: "سبد خرید ", to: "/cart", page: "cart" },
{ name: "سوالات متداول", to: "/faq", page: "faq" }, { name: "سوالات متداول", to: "/faq", page: "faq" },
{ name: "درباره ما", to: "/about", page: "about" }, { name: "درباره ما", to: "/about", page: "about" },
{ name: "تماس با ما", to: "/contact", page: "contact" }, { name: "تماس با ما", to: "/contact", page: "contact" },

@ -29,6 +29,7 @@ class NavbarDrawer extends Component {
render() { render() {
const { status } = this.props; const { status } = this.props;
let score = 2;
return ( return (
<div className="navbar-drawer d-flex flex-column"> <div className="navbar-drawer d-flex flex-column">
<div className="navbar-drawer__header d-flex align-items-center"> <div className="navbar-drawer__header d-flex align-items-center">
@ -52,16 +53,16 @@ class NavbarDrawer extends Component {
className="navbar-drawer__header--dropdown" className="navbar-drawer__header--dropdown"
onClick={() => this.setState({ dropdown: false })} onClick={() => this.setState({ dropdown: false })}
> >
<span>25 امتیاز</span> {score ? <span>{score} امتیاز</span> : null}
<KeyboardArrowUpIcon style={{ color: "grey", fontSize: 45 }} /> <KeyboardArrowUpIcon style={{ color: "grey", fontSize: 30 }} />
</div> </div>
) : ( ) : (
<div <div
className="navbar-drawer__header--dropdown" className="navbar-drawer__header--dropdown"
onClick={() => this.setState({ dropdown: true })} onClick={() => this.setState({ dropdown: true })}
> >
<span>25 امتیاز</span> {score ? <span>{score} امتیاز</span> : null}{" "}
<KeyboardArrowDownIcon style={{ color: "grey", fontSize: 45 }} /> <KeyboardArrowDownIcon style={{ color: "grey", fontSize: 30 }} />
</div> </div>
)} )}
</div> </div>
@ -148,8 +149,8 @@ NavbarDrawer.defaultProps = {
message: "", message: "",
}, },
{ {
name: "فروشگاه", name: "سبد خرید",
link: "/products", link: "/cart",
icon: <img src={mobileBasket} alt="فروشگاه" />, icon: <img src={mobileBasket} alt="فروشگاه" />,
toast: "", toast: "",
message: "", message: "",
@ -165,8 +166,8 @@ NavbarDrawer.defaultProps = {
name: "دانوینیها", name: "دانوینیها",
link: "/", link: "/",
icon: <img src={mobileProfile} alt="دانوینیها" />, icon: <img src={mobileProfile} alt="دانوینیها" />,
toast: "", toast: "به زودی این بخش فعال می شود",
message: "", message: "به زودی",
}, },
{ {
name: "پشتیبانی", name: "پشتیبانی",
@ -181,7 +182,7 @@ NavbarDrawer.defaultProps = {
link: "/profile", link: "/profile",
icon: <img src={mobileMail} alt="ویرایش مشخصات" />, icon: <img src={mobileMail} alt="ویرایش مشخصات" />,
toast: "", toast: "",
message: "4 پیام", // message: "4 پیام",
}, },
{ {
name: "خروج", name: "خروج",

@ -25,7 +25,7 @@
margin-right: 10px; margin-right: 10px;
& h1 { & h1 {
margin-bottom: 0px; margin-bottom: 0px;
font-size: calc(100vw / 22); font-size: 17px;
color: #4d4d4f; color: #4d4d4f;
letter-spacing: -1px; letter-spacing: -1px;
} }
@ -41,10 +41,11 @@
top: 10px; top: 10px;
span { span {
background-color: #6cbe44; background-color: #6cbe44;
color: white; color: white;
padding: 2px 4px; padding: 2px 4px;
border-radius: 7px; border-radius: 7px;
font-size: calc(100vw / 27); font-size: 15px;
} }
} }
& img { & img {
@ -57,6 +58,7 @@
&__dropdown { &__dropdown {
width: calc(100vw * 0.8); width: calc(100vw * 0.8);
margin: 10px auto; margin: 10px auto;
background-color: #eee;
.navbar-drawer-user { .navbar-drawer-user {
padding: 10px 10px; padding: 10px 10px;
width: 100%; width: 100%;

@ -79,7 +79,9 @@ export default function MobileNavbar(props) {
</Link> </Link>
<div className="mobile-navbar__left"> <div className="mobile-navbar__left">
{page === "home" ? ( {page === "home" ? (
<img src={search} alt="جستجو" /> <Link to={"/products"}>
<img src={search} alt="جستجو" />
</Link>
) : ( ) : (
<div className="d-flex align-items-center"> <div className="d-flex align-items-center">
<Link to={"/products"}> <Link to={"/products"}>

@ -16,3 +16,14 @@
overflow-x: hidden; overflow-x: hidden;
padding-top: 70px; padding-top: 70px;
} }
body::-webkit-scrollbar,
.no-scroll::-webkit-scrollbar {
display: none !important;
}
body,
.no-scroll {
-ms-overflow-style: none !important; /* IE and Edge */
scrollbar-width: none !important; /* Firefox */
}

@ -194,6 +194,21 @@ class NewProfile extends Component {
render() { render() {
const { user, profile } = this.props; const { user, profile } = this.props;
const grades = [
"پیش دبستان",
"اول",
"دوم",
"سوم",
"چهارم",
"پنجم",
"ششم",
"هفتم",
"هشتم",
"نهم",
"دهم",
"یازدهم",
"دوازدهم",
];
return ( return (
<> <>
{window.innerWidth > 1000 ? ( {window.innerWidth > 1000 ? (
@ -275,20 +290,7 @@ class NewProfile extends Component {
<div className="mb-2"> <div className="mb-2">
<Select <Select
parent={this} parent={this}
options={[ options={grades}
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
]}
name="gradeId" name="gradeId"
label={"پایه تحصیلی"} label={"پایه تحصیلی"}
/> />
@ -298,7 +300,7 @@ class NewProfile extends Component {
<div className="mb-2"> <div className="mb-2">
<MultipleSelector <MultipleSelector
parent={this} parent={this}
options={[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]} options={grades}
name="gradeId" name="gradeId"
label={"پایه تحصیلی"} label={"پایه تحصیلی"}
selectedOptions={this.state.gradeId} selectedOptions={this.state.gradeId}
@ -444,20 +446,7 @@ class NewProfile extends Component {
{this.state.userRoleId === "دانش آموز" ? ( {this.state.userRoleId === "دانش آموز" ? (
<Select <Select
parent={this} parent={this}
options={[ options={grades}
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
]}
name="gradeId" name="gradeId"
label={"پایه تحصیلی"} label={"پایه تحصیلی"}
/> />
@ -465,20 +454,7 @@ class NewProfile extends Component {
{this.state.userRoleId === "معلم" ? ( {this.state.userRoleId === "معلم" ? (
<MultipleSelector <MultipleSelector
parent={this} parent={this}
options={[ options={grades}
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
]}
name="gradeId" name="gradeId"
label={"پایه تحصیلی"} label={"پایه تحصیلی"}
selectedOptions={this.state.gradeId} selectedOptions={this.state.gradeId}

@ -37,9 +37,11 @@ function AddToCart(props) {
</strong>{" "} </strong>{" "}
تومان تومان
</div> </div>
<span style={{ fontSize: fontSize.desktop.span }}> {off ? (
{off} نخفیف <span style={{ fontSize: fontSize.desktop.span }}>
</span> {off} تومان تخفیف
</span>
) : null}
</div> </div>
<button <button
style={{ fontSize: fontSize.desktop.button }} style={{ fontSize: fontSize.desktop.button }}

@ -256,6 +256,33 @@ class Product extends Component {
</div> </div>
</div> </div>
</div> </div>
<div
className="d-flex"
style={{
// position: "fixed",
// bottom: 1,
width: "100%",
height: "40px",
}}
>
<Link
to={"/cart"}
style={{
width: "100%",
color: "white",
backgroundColor: "#7fc75d",
cursor: "pointer",
borderRadius: 8,
textDecoration: "none",
padding: "5px 10px",
margin: "5px 10px 1px",
textAlign: "center",
}}
>
رفتن به سبد خرید
</Link>
</div>
<MaterialModal <MaterialModal
openComment={this.state.openComment} openComment={this.state.openComment}
handleOpenComment={this.handleOpenComment} handleOpenComment={this.handleOpenComment}

@ -62,7 +62,7 @@
} }
width: 100%; width: 100%;
background-color: #fafafa; background-color: #fafafa;
margin: 20px; margin: 15px 10px 0;
border-radius: 0.5rem; border-radius: 0.5rem;
box-shadow: 0 3px 8px 0 rgb(0 0 0 / 16%); box-shadow: 0 3px 8px 0 rgb(0 0 0 / 16%);
img { img {
@ -124,21 +124,23 @@
} }
width: calc(50% - 20px); width: calc(50% - 20px);
background-color: #fafafa; background-color: #fafafa;
margin: 10px; margin: 8px;
border-radius: 0.5rem; border-radius: 0.5rem;
box-shadow: 0 3px 8px 0 rgb(0 0 0 / 16%); box-shadow: 0 3px 8px 0 rgb(0 0 0 / 16%);
img { img {
width: 80%; width: 80%;
margin: 10px auto; margin: 5px auto;
border-radius: 8px; border-radius: 8px;
} }
&__info { &__info {
width: 80%; width: 80%;
margin: 10px auto; margin: 0px auto;
h1 { h1 {
font-family: NumeralLight; font-family: NumeralLight;
color: #4d4d4d; color: #4d4d4d;
letter-spacing: -1px; letter-spacing: -1px;
margin: 0px;
text-align: center;
} }
a { a {
width: 48%; width: 48%;

@ -2,7 +2,7 @@ import React, { Component } from "react";
import FilterListIcon from "@material-ui/icons/FilterList"; import FilterListIcon from "@material-ui/icons/FilterList";
import { connect } from "react-redux"; import { connect } from "react-redux";
import { book } from "~/Redux/actions"; import { book } from "~/Redux/actions";
import { Link } from "react-router-dom";
import Navbar from "../Home/Navbar/index"; import Navbar from "../Home/Navbar/index";
import Footer from "../Home/Footer/index"; import Footer from "../Home/Footer/index";
import Select from "./Select/index"; import Select from "./Select/index";
@ -86,6 +86,7 @@ class Products extends Component {
<> <>
<div className="mobile-products d-flex flex-column"> <div className="mobile-products d-flex flex-column">
<Navbar page={"products"} /> <Navbar page={"products"} />
<div className="mobile-products__search d-flex"> <div className="mobile-products__search d-flex">
<input <input
type="search" type="search"
@ -104,6 +105,33 @@ class Products extends Component {
<FilterListIcon style={{ fontSize: 40, color: "#a5a5a5" }} /> <FilterListIcon style={{ fontSize: 40, color: "#a5a5a5" }} />
</div> </div>
<List search={this.state.search} /> <List search={this.state.search} />
<div
className="d-flex"
style={{
position: "fixed",
bottom: 1,
width: "100%",
height: "40px",
}}
>
<Link
to={"/cart"}
style={{
width: "100%",
color: "white",
backgroundColor: "#7fc75d",
cursor: "pointer",
borderRadius: 8,
textDecoration: "none",
padding: "5px 10px",
margin: "5px 10px 1px",
textAlign: "center",
}}
>
سبد خرید
</Link>
</div>
</div> </div>
</> </>
) : null} ) : null}

@ -14,11 +14,13 @@
} }
} }
} }
.MuiMenuItem-root {
font-family: numeralLight !important;
}
.mobile-products { .mobile-products {
width: 100vw; width: 100vw;
max-width: 600px; max-width: 600px;
margin: 0px auto; margin: 0px auto 40px;
padding: 0px; padding: 0px;
direction: rtl; direction: rtl;
overflow-x: hidden; overflow-x: hidden;
@ -41,7 +43,7 @@
&__search { &__search {
// width: 100%; // width: 100%;
position: relative; position: relative;
margin: 15px 10px; margin: 5px 10px;
height: 35px; height: 35px;
img { img {
position: absolute; position: absolute;

@ -44,8 +44,8 @@ class Support extends Component {
<Navbar page={"contact"} /> <Navbar page={"contact"} />
<div className="mobile-contact__form d-flex flex-column"> <div className="mobile-contact__form d-flex flex-column">
<h1 style={{ fontSize: fontSize.mobile.h1 }}>پشتیبانی</h1> <h1 style={{ fontSize: fontSize.mobile.h1 }}>پشتیبانی</h1>
<Input label={"نامونام خانوادگی"} name={"name"} parent={this} /> {/* <Input label={"نام و نام خانوادگی"} name={"name"} parent={this} />
<Input label={"شماره تماس"} name={"cellphone"} parent={this} /> <Input label={"شماره تماس"} name={"cellphone"} parent={this} /> */}
<Select <Select
name="unit" name="unit"
options={[ options={[
@ -68,7 +68,7 @@ class Support extends Component {
/> />
) : null} ) : null}
<Input label={"موضوع پیام"} name={"subject"} parent={this} /> <Input label={"موضوع پیام"} name={"subject"} parent={this} />
<textarea placeholder="متن پیام" name="text" rows="5"></textarea> <textarea placeholder="متن پیام" name="text" rows="8"></textarea>
<button>ارسال</button> <button>ارسال</button>
</div> </div>
</div> </div>

Loading…
Cancel
Save