reza created about us page

master
Reza_ashrafi 3 years ago
parent d2cd387411
commit 11dbca78b6
  1. BIN
      src/assets/images/about-lg.png
  2. BIN
      src/assets/images/about-md.png
  3. BIN
      src/assets/images/about-xs1.png
  4. BIN
      src/assets/images/about-xs2.png
  5. BIN
      src/assets/images/pic.png
  6. 1
      src/components/Menu/index.js
  7. 4
      src/router.js
  8. 453
      src/views/About/index.scss
  9. 129
      src/views/About/index.tsx
  10. 6
      src/views/Auth/Login/index.tsx
  11. 20
      src/views/Auth/Profile/index.tsx
  12. 6
      src/views/Auth/SignUp/index.tsx
  13. 12
      src/views/Contact/index.tsx
  14. 11
      src/views/Course/index.tsx
  15. 12
      src/views/Courses/index.tsx
  16. 4
      src/views/Faq/index.tsx
  17. 3
      src/views/Home/Blogs/Blog/index.scss
  18. 4
      src/views/Home/Books/Book/index.scss
  19. 4
      src/views/Home/Courses/Course/index.scss
  20. 15
      src/views/Home/Footer/index.tsx
  21. 2
      src/views/Home/Header/index.tsx
  22. 26
      src/views/Home/index.tsx
  23. 8
      src/views/Subscription/index.tsx
  24. 14
      src/views/VideoTube/index.tsx

Binary file not shown.

After

Width:  |  Height:  |  Size: 901 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

@ -31,6 +31,7 @@ function CustomizedMenus({items, selectMenu}) {
setAnchorEl(event.currentTarget);
};
const handleClose = (value) => {
localStorage.setItem('selectedGrade', value);
setAnchorEl(null);
selectMenu(value);
};

@ -15,6 +15,7 @@ import Contact from "./views/Contact";
import Faq from "./views/Faq";
import PrivateRouter from "./components/PrivateRouter";
import Courses from "./views/Courses";
import About from './views/About';
// import proxy from "./redux/proxy";
function router({ status }) {
@ -38,6 +39,9 @@ function router({ status }) {
<Route exact path={"/grades/:id"}>
<Courses />
</Route>
<Route exact path={"/about"}>
<About />
</Route>
<PrivateRouter
restricted={false}
component={Course}

@ -0,0 +1,453 @@
.about {
main {
li::before {
color: #aaa;
content: "\2022";
font-weight: bold;
display: inline-block;
width: 1em;
margin-left: -1em;
}
ul {
list-style: circle !important;
margin-top: 10px !important;
}
p,
li {
color: #aaa;
margin-top: 2px;
line-height: 1.5;
}
}
header {
margin-top: 30px;
width: 70%;
h1 {
display: inline;
color: #00cc69;
}
p {
margin-top: 10px;
text-align: justify;
margin-bottom: 20px;
}
}
&__fury {
margin-top: 30px;
margin-bottom: 30px;
justify-content: space-between;
&--right {
align-items: center;
width: 48%;
.right-top {
h1 {
display: inline;
letter-spacing: -1px;
color: #00cc69;
}
p {
margin-top: 10px;
text-align: justify;
}
}
.right-bottom {
margin: 20px 30px 20px 0px;
h2 {
display: inline;
color: #00cc69;
}
ul {
margin: 0px;
// list-style: none;
padding: 0px;
margin-top: 5px;
}
}
}
&--left {
width: 48%;
height: 100%;
position: relative;
& img {
border-radius: 15px;
// position: absolute;
}
}
}
&__advantages {
width: 100%;
height: 300px;
margin-top: 10px;
margin-bottom: 10px;
justify-content: space-around;
&--right {
width: 48%;
height: 100%;
& img {
border-radius: 15px;
width: 100%;
}
}
&--left {
padding-right: 20px;
padding-top: 0px;
width: 48%;
height: 100%;
align-items: flex-end;
margin-top: 5px;
h1 {
display: inline;
color: #00cc69;
}
ul {
margin: 0px;
padding: 0px;
margin-top: 5px;
li {
text-align: justify;
}
}
}
}
}
@media screen and (min-width: 1441px) {
.about {
header {
h1 {
font-size: 24px;
}
p {
font-size: 14px;
}
}
&__fury {
margin-top: 30px;
width: 100%;
margin-bottom: 30px;
justify-content: space-between;
&--right {
align-items: center;
.right-top {
h1 {
font-size: 23px;
}
p {
font-size: 14px;
}
}
.right-bottom {
margin: 20px 30px 20px 0px;
h2 {
font-size: 18px;
}
ul {
li {
font-size: 14px;
}
}
}
}
&--left {
& img {
width: 100%;
}
&__1 {
top: 100px;
left: 00px;
z-index: 100;
width: 100%;
}
}
}
&__advantages {
&--right {
& img {
}
}
&--left {
h1 {
font-size: 18px;
}
ul {
li {
font-size: 14px;
}
}
}
}
}
}
@media screen and (min-width: 1008px) and (max-width: 1440px) {
.about {
main {
padding: 0px 10px;
}
header {
h1 {
font-size: calc(100vw / 65);
}
p {
font-size: calc(100vw / 100);
}
}
&__fury {
margin-top: 30px;
width: 100%;
margin-bottom: 30px;
justify-content: space-between;
&--right {
align-items: center;
.right-top {
h1 {
font-size: calc(100vw / 60);
}
p {
font-size: calc(100vw / 100);
}
}
.right-bottom {
margin: 20px 30px 20px 0px;
h2 {
font-size: 18px;
}
ul {
li {
font-size: calc(100vw / 100);
}
}
}
}
&--left {
& img {
width: 100%;
}
&__1 {
top: 100px;
left: 00px;
z-index: 100;
width: 100%;
}
}
}
&__advantages {
&--right {
& img {
}
}
&--left {
h1 {
font-size:calc(100vw / 65);
}
ul {
li {
font-size: calc(100vw / 100);
}
}
}
}
}
}
@media screen and (min-width : 641px) and (max-width: 1007px) {
.about {
main {
padding: 0px 30px;
}
header {
margin: 0px;
width: 100%;
h1 {
font-size: calc(100vw / 35);
}
p {
font-size: calc(100vw / 50);
}
}
&__fury {
flex-direction: column-reverse;
margin-top: 30px;
&--right {
align-items: center;
width : 100%;
margin-top: 20px;
.right-top {
h1 {
font-size: calc(100vw / 38);
}
p {
font-size: calc(100vw / 55);
}
}
.right-bottom {
margin: 20px 30px 0px 0px;
h2 {
font-size: calc(100vw / 48);
}
ul {
li {
font-size: calc(100vw / 55);
}
}
}
}
&--left {
width: 100%;
position: static;
margin-bottom: 0px;
& img {
height: 300px;
margin: 0px auto;
// width: 100%;
}
&__1 {
top: 100px;
left: 00px;
z-index: 100;
width: 100%;
}
}
}
&__advantages {
position: static;
flex-direction: column;
height: auto;
margin-bottom: 0px;
&--right {
width: 100%;
& img{
margin: 0px auto;
width: auto;
height: 300px;
}
}
&--left {
margin-top: 20px;
width: 100%;
h1 {
font-size: calc(100vw / 40);
}
ul {
li {
font-size: calc(100vw / 55);
}
}
}
}
}
}
@media screen and (max-width: 640px) {
.about {
main {
padding: 0px 10px;
}
header {
margin: 0px;
width: 100%;
h1 {
font-size: calc(100vw / 22);
}
p {
font-size: calc(100vw / 35);
}
}
&__fury {
flex-direction: column-reverse;
margin-top: 30px;
&--right {
align-items: center;
width : 100%;
margin-top: 20px;
.right-top {
h1 {
font-size: calc(100vw / 24);
}
p {
font-size: calc(100vw / 35);
}
}
.right-bottom {
margin: 20px 30px 0px 0px;
h2 {
font-size: calc(100vw / 30);
}
ul {
li {
font-size: calc(100vw / 38);
}
}
}
}
&--left {
width: 100%;
position: static;
margin-bottom: 0px;
& img {
width: 100%;
}
&__1 {
top: 100px;
left: 00px;
z-index: 100;
width: 100%;
}
}
}
&__advantages {
position: static;
flex-direction: column;
height: auto;
margin-bottom: 0px;
&--right {
width: 100%;
}
&--left {
margin-top: 20px;
width: 100%;
h1 {
font-size: calc(100vw / 26);
}
ul {
li {
font-size: calc(100vw / 35);
}
}
}
}
}
}
.linegr {
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+49,000000+100&0+0,0.65+49,0+100 */
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+1,000000+49,000000+100&0+0,0.51+49,0+100 */
background: -moz-linear-gradient(
left,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.01) 1%,
rgba(255, 255, 255, 0.51) 49%,
rgba(255, 255, 255, 0) 100%
); /* FF3.6-15 */
background: -webkit-linear-gradient(
left,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.01) 1%,
rgba(255, 255, 255, 0.51) 49%,
rgba(255, 255, 255, 0) 100%
); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(
to right,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.01) 1%,
rgba(255, 255, 255, 0.51) 49%,
rgba(255, 255, 255, 0) 100%
); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffffff', endColorstr='#ffffffff',GradientType=1 ); /* IE6-9 */
}

@ -0,0 +1,129 @@
import React, { Component, Fragment } from "react";
import Navbar from "../../components/Navbar/index";
import Footer from "../Home/Footer/index";
import pic from "../../assets/images/pic.png";
import aboutLg from "../../assets/images/about-lg.png";
import "./index.scss";
export default function About({
fury,
advantages,
keywords,
keywords2,
first,
}: any) {
return (
<div className="about main d-flex flex-column">
<Navbar />
<main className="d-flex flex-column align-items-center">
<header>
<h1>{first.title}</h1>
<p
style={{
lineHeight: 2,
}}
>
{first.text}
</p>
</header>
<div className="linegr" style={{ width: "100%", height: "4px" }}></div>
<div className="about__fury d-flex">
<div className="about__fury--right d-flex flex-column justify-content-center">
<div className="right-top align-self-start">
<h1>{fury.title}</h1>
<p>{fury.text}</p>
</div>
<div className="right-bottom align-self-start">
<h2>{keywords.title}</h2>
<ul>
{keywords.list.map((item: any, i: any) => (
<Fragment key={i}>
<li style={{ padding: 5 }}>{item}</li>
</Fragment>
))}
</ul>
</div>
<div className="right-bottom align-self-start">
<h2>{keywords2.title}</h2>
<ul>
{keywords2.list.map((item: any, i: any) => (
<Fragment key={i}>
<li
style={{
padding: 5,
}}
>
{item}
</li>
</Fragment>
))}
</ul>
</div>
</div>
<div className="about__fury--left d-flex align-items-center">
<img src={aboutLg} alt="عکس" />
{/* {this.props.absoluteImages.map((item, i) => (
<img src={item.imageUrl} className={item.class} alt="عکس" />
))} */}
</div>
</div>
<div className="about__advantages d-flex">
<div className="about__advantages--right d-flex">
<img src={pic} alt={"عکس"} />
</div>
<div className="about__advantages--left">
<h1>{advantages.title}</h1>
<ul>
{advantages.list.map((item: any, i: any) => (
<Fragment key={i}>
<li style={{ padding: 5 }}>{item}</li>
</Fragment>
))}
</ul>
</div>
</div>
</main>
<Footer />
</div>
);
}
About.defaultProps = {
first: {
title: "درباره ما",
text: "ما در دانوین با هدف ایجاد زیرساخت تعاملی و آموزشی با تولید محتوایی جذاب بصورت کتاب با کمک پلتفرم دانوین، قصد تغییراتی بنیادین در نظام آموزش و پرورش کشور داریم. دانوین پلتفرمی شامل کتاب، محتوای الکترونیکی، رویه های آموزشی، پشتیبانی علمی و نرم افزار ارائه خدمات با رویکرد مخاطب محور است.",
},
fury: {
title: " ماموریت ما در دانوین چیست ؟",
text: "ارتقای سطح کیفیت و جذابیت آموزش در مدارس بصورت سازگار با نظام رسمی و کنونی آ.پ در راستای نیل به اهداف سند تحول",
},
keywords: {
title: "کیفیت آموزش را بالا میبریم",
list: [
"شایستگی در ایجاد فهم علمی در موضوع هدف و در موضوعات وابسته به آن",
"شایستگی در ایجاد زمینه ی معرفتی- ارزشی موثر برای محتواهای آموزشی",
],
},
keywords2: {
title: "جذابیت کلید بهبود یادگیری",
list: [
"بکارگیری عوامل متنوع سازگار با ارزشها برای علاقمندی دانش آموز و معلم به استفاده از محتوای دانوین",
"سازگار با نظام آ.پ : بطوریکه بتواند در مدارس فعلی مورد استفاده قرار گرفته و با نظام رسمی فعلی در تضاد نباشد",
"در راستای نیل به سند تحول : تلاش برای نزدیکی گام به گام به آرمانها و اهداف سند تحول",
],
},
advantages: {
title: " مزیت رقابتی دانوین",
list: [
"بکارگیری بروز ترین تکنولوژی های تولید و مدیریت محتوای آموزشی-تربیتی (مانند واقعیت افزوده)",
"دارای رویکرد آموزش سرگرم کننده ",
"بستر تعاملی و اشتراک گذاری فیلم و محتوای آموزشی",
"رویکرد معرفتی-ارزشی",
"ویدئو های منحصر بفرد",
"متن گفتگو محور ، روایی ، قابل فهم ،جذاب و سرگرم کننده",
],
},
};

@ -1,7 +1,7 @@
import React, { useState, useRef, useEffect } from "react";
import Navbar from "../../../components/Navbar/index";
import Footer from "../../../views/Home/Footer/index";
import Input from "../../../components/Input/index";
import Navbar from "../../../components/Navbar";
import Footer from "../../Home/Footer";
import Input from "../../../components/Input";
import CustomCheckbox from "../../../components/CustomCheckbox/index";
import CheckBoxOutlineBlankTwoToneIcon from "@mui/icons-material/CheckBoxOutlineBlankTwoTone";
import CheckBoxRoundedIcon from "@mui/icons-material/CheckBoxRounded";

@ -3,18 +3,18 @@ import onInput from "../../../util/onInput";
import { user, file, publicApi } from "../../../redux/actions";
import { connect } from "react-redux";
import Select from "../../../components/Select/index";
import Input from "../../../components/Input/index";
import TextArea from "../../../components/Textarea/index";
import Upload from "./Upload/index";
import Gender from "./GenderSwitch/index";
import Birthdate from "./Birthdate/index";
import MultipleSelector from "./MultipleSelector/index";
import Document from "./Document/index";
import Select from "../../../components/Select";
import Input from "../../../components/Input";
import TextArea from "../../../components/Textarea";
import Upload from "./Upload";
import Gender from "./GenderSwitch";
import Birthdate from "./Birthdate";
import MultipleSelector from "./MultipleSelector";
import Document from "./Document";
import "./index.scss";
import { useHistory } from "react-router-dom";
import Navbar from "../../../components/Navbar/index";
import Footer from "../../Home/Footer/index";
import Navbar from "../../../components/Navbar";
import Footer from "../../Home/Footer";
function Profile({
profile,

@ -1,7 +1,7 @@
import React, { useState, useRef, useEffect } from "react";
import Navbar from "../../../components/Navbar/index";
import Footer from "../../../views/Home/Footer/index";
import Timer from "../../../components/Timer/index";
import Navbar from "../../../components/Navbar";
import Footer from "../../Home/Footer";
import Timer from "../../../components/Timer";
import onInput from "../../../util/onInput";
import { Link } from "react-router-dom";
import arrow from "../../../assets/icons/dropdown.png";

@ -1,12 +1,12 @@
import React, { useState, useEffect } from "react";
import "./index.scss";
import Navbar from "../../components/Navbar/index";
import Footer from "../../views/Home/Footer/index";
import Input from "../../components/Input/index";
import Navbar from "../../components/Navbar";
import Footer from "../Home/Footer";
import Input from "../../components/Input";
import onInput from "../../util/onInput";
import Textarea from "../../components/Textarea/index";
import Select from "../../components/Select/index";
import Location from "../../components/Location/index";
import Textarea from "../../components/Textarea";
import Select from "../../components/Select";
import Location from "../../components/Location";
import { connect } from "react-redux";
import scroll from "../../util/scroll";
import { publicApi } from "../../redux/actions";

@ -1,20 +1,19 @@
import React, { useState, useEffect } from "react";
import axios from "axios";
import Navbar from "../../components/Navbar/index";
import Footer from "../../views/Home/Footer/index";
import "./index.scss";
import Navbar from "../../components/Navbar";
import Footer from "../Home/Footer";
import BreadCrumbs from "../../components/BreadCrumbs";
import Lesson from "./Lesson/index";
import Lesson from "./Lesson";
import { Link } from "react-router-dom";
import chat from "../../assets/icons/chat.png";
import slide from "../../assets/icons/slide.png";
import play from "../../assets/icons/play.png";
import bookmark from "../../assets/icons/bookmark.png";
import StyledRating from "../../components/StyledRating/index";
import StyledRating from "../../components/StyledRating";
import { connect } from "react-redux";
import { book } from "../../redux/actions";
import scroll from "../../util/scroll";
import "./index.scss";
function Course({ lessons, getInfo, info }: any) {
const [links, setLinks] = useState([

@ -1,6 +1,6 @@
import React, { useState, useEffect } from "react";
import Navbar from "../../components/Navbar";
import Footer from "../../views/Home/Footer";
import Footer from "../Home/Footer";
import "./index.scss";
import { book } from "../../redux/actions";
import { connect } from "react-redux";
@ -8,7 +8,7 @@ import location from "../../util/location";
import Course from "./Course";
import BreadCrumbs from "../../components/BreadCrumbs";
function Courses({ getList, list,selectedMenu }: any) {
function Courses({ getList, list, selectedMenu }: any) {
const [links, setLinks] = useState([
{ link: "/", name: "صفحه اصلی" },
{ link: "/courses", name: "دورهها" },
@ -26,7 +26,11 @@ function Courses({ getList, list,selectedMenu }: any) {
<BreadCrumbs links={links} />
</header>
{list
.filter((item: any) => item.gradeId === selectedMenu)
?.filter(
(item: any) =>
item.gradeId ===
(selectedMenu || Number(localStorage.getItem("selectedGrade")))
)
.map((item: any, i: any) => (
<Course data={item} key={i} />
))}
@ -39,7 +43,7 @@ function Courses({ getList, list,selectedMenu }: any) {
export default connect(
(state: any) => ({
list: state.book.list,
selectedMenu : state.publicApi.selectedMenu,
selectedMenu: state.publicApi.selectedMenu,
}),
{ getList: book.list }
)(Courses);

@ -1,6 +1,6 @@
import React, { useEffect } from "react";
import Navbar from "../../components/Navbar/index";
import Footer from "../../views/Home/Footer/index";
import Navbar from "../../components/Navbar";
import Footer from "../Home/Footer";
import searchIcon from "../../assets/icons/search.png";
import dropdown from "../../assets/icons/dropdown.png";
import whiteDropdown from "../../assets/icons/white-dropdown.png";

@ -56,6 +56,9 @@
.home-blogs-blog {
height: 220px;
width: 100%;
&:hover{
transform : scale(0.9);
}
h2 {
font-size: calc(100vw / 80);
}

@ -56,6 +56,10 @@
@media screen and (min-width : 1008px) and (max-width : 1440px){
.home-books-book{
&:hover{
transform : scale(0.95);
background-color: #86868628;
}
img{
height: 250px;
// width: 100%;

@ -56,6 +56,10 @@
@media screen and (min-width : 1008px) and (max-width : 1440px){
.home-courses-course{
&:hover{
background-color: #86868628;
transform: scale(0.95);
}
img{
height: 280px;
}

@ -1,6 +1,6 @@
import React from "react";
import { Link } from "react-router-dom";
import './index.scss';
import "./index.scss";
export default function Footer(props: any) {
const { links } = props;
@ -8,11 +8,17 @@ export default function Footer(props: any) {
<footer className="footer desktop">
<div className="footer__container d-flex justify-content-between align-items-center">
<ul className="d-flex">
{links.map((item: any, i: any) => (
{links.map((item: any, i: any) =>
item.name === "فروشگاه" ? (
<li key={i}>
<a href={item.link}>{item.name}</a>
</li>
) : (
<li key={i}>
<Link to={item.link}>{item.name}</Link>
</li>
))}
)
)}
</ul>
<p>تمامی حقوق این سایت متلعق به دانوین میباشد 1400</p>
</div>
@ -25,8 +31,7 @@ Footer.defaultProps = {
{ name: "تعرفهها", link: "/subscribe" },
{ name: "سوالات متداول", link: "/faq" },
{ name: "درباره ما", link: "/contact" },
{ name: "فروشگاه", link: "/" },
{ name: "اپلیکیشن", link: "/" },
{ name: "فروشگاه", link: "https://dnvn.ir/products" },
{ name: "تماس با ما", link: "/contact" },
],
};

@ -38,7 +38,7 @@ export default function Header(props: any) {
<li
className="d-flex align-items-center"
data-target="#myCarousel"
data-slide-to={item1.id}
data-slide-to={i}
key={i}
>
<span className={i === 0 ? "active" : ""}></span>

@ -1,27 +1,19 @@
import React, { useState, useEffect } from "react";
import "./index.scss";
import Navbar from "../../components/Navbar/index";
import HomeSearchBox from "../../components/HomeSearchBox/index";
import Courses from "./Courses/index";
import GradeFilter from "../../components/GradeFilter/index";
import Books from "./Books/index";
import Blogs from "./Blogs/index";
import Footer from "./Footer/index";
import Header from "./Header/index";
import AppDownload from "./AppDownload/index";
import Navbar from "../../components/Navbar";
import HomeSearchBox from "../../components/HomeSearchBox";
import Courses from "./Courses";
import GradeFilter from "../../components/GradeFilter";
import Books from "./Books";
import Blogs from "./Blogs";
import Footer from "./Footer";
import Header from "./Header";
import AppDownload from "./AppDownload";
import Vocal from "../../components/Vocal/Vocal";
import scroll from "../../util/scroll";
import { connect } from "react-redux";
import { book, publicApi } from "../../redux/actions";
import olum7 from "../../assets/images/olum7.jpg";
import olum8 from "../../assets/images/olum8.jpg";
import olum9 from "../../assets/images/olum9.jpg";
import header from "../../assets/images/header.png";
import blog1 from "../../assets/images/blog1.png";
import blog2 from "../../assets/images/blog2.png";
import blog3 from "../../assets/images/blog3.png";
function Home({
courseList,
getCourseList,

@ -1,8 +1,8 @@
import React, { useEffect } from "react";
import Navbar from "../../components/Navbar/index";
import Footer from "../../views/Home/Footer/index";
import SubscribeRadio from "./SubscribeRadio/index";
import DiscountCode from "./DiscountCode/index";
import Navbar from "../../components/Navbar";
import Footer from "../Home/Footer";
import SubscribeRadio from "./SubscribeRadio";
import DiscountCode from "./DiscountCode";
import { connect } from "react-redux";
import { product } from "../../redux/actions";
import scroll from "../../util/scroll";

@ -1,11 +1,11 @@
import React, { useEffect } from "react";
import Navbar from "../../components/Navbar/index";
import Footer from "../../views/Home/Footer/index";
import LessonPlayList from "./LessonPlayList/index";
import Attachments from "./Attachments/index";
import Book from "./Book/index";
import Comment from "./Comment/index";
import AddComment from "./AddComment/index";
import Navbar from "../../components/Navbar";
import Footer from "../Home/Footer";
import LessonPlayList from "./LessonPlayList";
import Attachments from "./Attachments";
import Book from "./Book";
import Comment from "./Comment";
import AddComment from "./AddComment";
import Video from "../../components/JolPlayer";
import "./index.scss";

Loading…
Cancel
Save