update 16 files

master
amir hosein gorji 3 years ago
parent 13e4e7144e
commit 7b52626919
  1. 2
      src/components/HomeSearchBox/index.tsx
  2. 39
      src/components/JolPlayer/index.js
  3. 2
      src/redux/reducers/book.tsx
  4. 6
      src/views/Course/Lesson/index.tsx
  5. 16
      src/views/Course/index.tsx
  6. 6
      src/views/Faq/index.tsx
  7. 3
      src/views/Home/AppDownload/index.tsx
  8. 2
      src/views/Home/Blogs/index.tsx
  9. 11
      src/views/Home/Books/Book/index.tsx
  10. 12
      src/views/Home/Courses/index.tsx
  11. 6
      src/views/Home/Footer/index.tsx
  12. 6
      src/views/Subscription/index.tsx
  13. 13
      src/views/VideoTube/Book/index.tsx
  14. 8
      src/views/VideoTube/index.tsx

@ -52,7 +52,7 @@ function HomeSearchBox({
</button>
</form>
<footer className="desktop">
<strong>جدیدترینها</strong>
{/* <strong>جدیدترینها</strong> */}
<ul className="d-flex">
{lastItems.map((item: any, i: any) => (
<li

@ -1,28 +1,31 @@
import JoLPlayer from 'jol-player';
import JoLPlayer from "jol-player";
const Video = ({fileIds, posterId}) => {
const Video = ({ fileIds, posterId }) => {
return (
<div style={{direction: 'ltr', textAlign: 'left', marginBottom: 10,}}>
<div style={{ direction: "ltr", textAlign: "left", marginBottom: 10 }}>
<JoLPlayer
option={{
videoSrc: `https://dnvn.ir/api/v1/file/${fileIds}`,
width: '100%',
width: "100%",
height: window.innerWidth > 1000 ? 450 : 250,
theme : '#4dd35b',
language : 'en',
theme: "#4dd35b",
language: "en",
isShowMultiple: window.innerWidth > 700,
hideMouseTime : 10000,
isShowPicture : true,
isShowFullScreen : false,
isShowSet : false,
isShowScreenshot : window.innerWidth > 700,
isShowSet : false,
isShowPauseButton : false,
poster:`https://dnvn.ir/api/v1/file/${posterId}`,
quality: [{
name: "SD", url : `https://dnvn.ir/api/v1/file/${fileIds}`,
}],
isShowWebFullScreen : false,
hideMouseTime: 10000,
isShowPicture: true,
isShowFullScreen: false,
isShowSet: false,
isShowScreenshot: window.innerWidth > 700,
// isShowSet : false,
isShowPauseButton: false,
poster: `https://dnvn.ir/api/v1/file/${posterId}`,
quality: [
{
name: "SD",
url: `https://dnvn.ir/api/v1/file/${fileIds}`,
},
],
isShowWebFullScreen: false,
}}
/>
</div>

@ -17,7 +17,7 @@ const initialState = {
gradeFilterBooks: null,
sortFilterCourse: null,
selectedGrade: null,
selectedSort: "تمامی دورهها",
selectedSort: "پربازدید ترین ها",
};
const grades = [

@ -21,9 +21,9 @@ function Lesson({
const hour = Math.round(value / 60);
return (hour > 0 ? hour + " " + "ساعت" : "") + " " + minute + " " + "دقیقه";
};
const setCategory = (catId : any, videoId: any) => {
const setCategory = (catId: any, videoId: any) => {
localStorage.removeItem("bookId");
localStorage.setItem("category", location.getId() + "," + catId + "," + videoId );
localStorage.setItem("category", location.getId() + "," + catId + "," + videoId);
};
return (
<div className="lesson d-flex flex-column">
@ -117,7 +117,7 @@ function Lesson({
{/* <li>{data.download ? "دانلود" : <img src={lock} alt="" />}</li> */}
</ul>
</li>
{selectedLesson === data.id && <p>سلام</p>}
{selectedLesson === data.id && <p style={{ fontSize: 11, padding: "10px 60px 10px 20px" }}>توضیحات مرتبط با این درس</p>}
</div>
))}
</ul>

@ -59,21 +59,21 @@ function Course({ getInfo, info, categories, loading }: any) {
<p>{info?.text}</p>
<i>{info?.vodTeacher}</i>
</div>
<div className="d-flex justify-content-between">
<div className="course-info-items d-flex align-items-center justify-content-around">
<div className="d-flex " style={{ minWidth: 150 }}>
<div className="course-info-items d-flex align-items-center justify-content-around" style={{ minWidth: 150 }}>
<img src={slide} alt="" />
<div className="d-flex flex-column">
<div className="d-flex flex-column" style={{ minWidth: 100 }}>
<i>{info?.vodDuration} ساعت درس </i>
<p>در این قسمت توضیحی</p>
{/* <p>در این قسمت توضیحی</p> */}
</div>
</div>
<div className="course-info-items d-flex align-items-center justify-content-around">
{/* <div className="course-info-items d-flex align-items-center justify-content-around">
<img src={chat} alt="" />
<div className="d-flex flex-column">
<i>ارتباط با استاد</i>
<p>در این قسمت توضیحی</p>
</div>
</div>
</div> */}
</div>
</div>
</div>
@ -153,8 +153,8 @@ function Course({ getInfo, info, categories, loading }: any) {
<section className="course__list d-flex flex-column">
<header className="course__list--header">
<h2>سر فصل دوره</h2>
<p>در این قسمت شاید یک متن جهت زیباسازی قرار بگیرد </p>
{/* <h2>سر فصل دوره</h2> */}
{/* <p>در این قسمت شاید یک متن جهت زیباسازی قرار بگیرد </p> */}
</header>
{categories?.map((lesson: any, i: any) => (
<Lesson key={i} lesson={lesson} />

@ -27,15 +27,15 @@ function Faq({
<main className="d-flex flex-column">
<header className="d-flex flex-column">
<h1>پرسش های متداول</h1>
<p>
{/* <p>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با
استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در
ستون و سطرآنچنان که لازم است و برای شرایط{" "}
</p>
</p> */}
<div className="d-flex">
<input
type="search"
placeholder="سوال خود را جستجو کنید"
placeholder="پرسش خود را جستجو کنید"
onChange={(e) => searchFaq(e.target.value)}
/>
<button>

@ -7,8 +7,7 @@ export default function AppDownload() {
return (
<section className="app-download desktop justify-content-between align-items-center">
<h1>
اینجا جایگاه یک <br /> متن ویژه است که باید در این <br /> قسمت قرار
بگیرد.
دریافت اپلیکیشن دانوین
</h1>
<figure className="app-download__figure d-flex flex-column align-items-center">
<div className="app-download__figure--screen"></div>

@ -26,7 +26,7 @@ function Blogs(props: any) {
return (
<section className="home-blogs d-flex flex-column">
<header className="d-flex flex-column">
<h1>پیشنهادی برای شما</h1>
<h1>پیشنهادهای داغ برای شما</h1>
</header>
{window.innerWidth > 1007 ? (
<Carousell

@ -1,16 +1,23 @@
import React from "react";
import {Link} from 'react-router-dom';
import { Link } from 'react-router-dom';
import "./index.scss";
export default function Book(props: any) {
const { data } = props;
const desc: any = {
"ریاضی": 'ریاضی از ریاضت میاد ولی دانوین آسون و لذت بخشش کرده',
'علوم تجربی': "علوم تجربی تو دانوین واقعا تجربی و محسوس میشه",
'زیست': "زیست را در دانوین باید زیست",
'شیمی': 'شیمی اینجا می فهمه کیمیا یعنی چی',
'فیزیک': "با دانوین فیزیکو با یه لنز جدید ببنید"
}
return (
<Link to={`/courses/${data.id}`} className="home-books-book d-flex flex-column" draggable={'false'}>
<img src={`https://dnvn.ir/api/v1/file/${data.fileIds}`} alt={data.name} draggable={'false'} />
<footer className="d-flex">
<div className="home-books-book__info d-flex flex-column">
<h2>{data.name}</h2>
<p>{'لورم ایپسوم و اینجور چیزا'}</p>
<p>{desc[data.name] || ""}</p>
</div>
</footer>
</Link>

@ -1,12 +1,12 @@
import React, {useEffect} from "react";
import React, { useEffect } from "react";
import Carousel from "react-elastic-carousel";
import Course from "./Course/index";
import { Link } from "react-router-dom";
import ExpandMoreRoundedIcon from "@mui/icons-material/ExpandMoreRounded";
import {connect} from 'react-redux';
import { connect } from 'react-redux';
import "./index.scss";
function Courses({number, courses, selectedSort} : any) {
function Courses({ number, courses, selectedSort }: any) {
const slideNumberHandler = () => {
if (window.innerWidth >= 1440) {
return 5;
@ -23,7 +23,7 @@ function Courses({number, courses, selectedSort} : any) {
<header className="d-flex justify-content-between">
<div className="d-flex flex-column">
<h1>{selectedSort}</h1>
<span>در این قسمت شاید یک متن جهت زیباسازی قرار بگیرد.</span>
{/* <span>در این قسمت شاید یک متن جهت زیباسازی قرار بگیرد.</span> */}
</div>
<Link to="/">
بیشتر
@ -60,6 +60,6 @@ function Courses({number, courses, selectedSort} : any) {
);
}
export default connect((state : any) => ({
selectedSort : state.book.selectedSort,
export default connect((state: any) => ({
selectedSort: state.book.selectedSort,
}))(Courses)

@ -1,4 +1,4 @@
import React, {useEffect} from "react";
import React, { useEffect } from "react";
import { Link } from "react-router-dom";
import "./index.scss";
import scroll from "../../../util/scroll";
@ -8,7 +8,7 @@ export default function Footer(props: any) {
const { links } = props;
useEffect(() => {
scroll.goToTop()
},[]);
}, []);
return (
<footer className="footer desktop">
<div className="footer__container d-flex justify-content-between align-items-center">
@ -25,7 +25,7 @@ export default function Footer(props: any) {
)
)}
</ul>
<p>تمامی حقوق این سایت متلعق به دانوین میباشد 1400</p>
<p>تمامی حقوق این سایت متعلق به دانوین میباشد 1400</p>
</div>
</footer>
);

@ -20,16 +20,14 @@ function Subscription({ listVOD, getList, loading, selectedVOD, payment, verify
<main className={"d-flex flex-column" + " " + (loading && "blur")}>
<h1>خرید اشتراک دانوین</h1>
<p>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده
از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و
سطرآنچنان که لازم است و برای شرایط{" "}
اینجا هم برای هر کتاب امکان خرید اشتراک جداگانه هست و هم اشتراک های مدت دار. با خرید اشتراک های مدت دار دانوین می تونید در هزینه هاتون صرفه جویی کنید.
</p>
{listVOD?.map((subscribe: any, i: any) => (
<SubscribeRadio data={subscribe} key={i} />
))}
<DiscountCode />
<div className="d-flex justify-content-end py-4">
<button className="submit submit-large" onClick={() => payment({productId : selectedVOD.id }) }>تایید و پرداخت</button>
<button className="submit submit-large" onClick={() => payment({ productId: selectedVOD.id })}>تایید و پرداخت</button>
</div>
</main>
<Footer />

@ -1,13 +1,20 @@
import React from 'react';
import {Link} from 'react-router-dom';
import { Link } from 'react-router-dom';
import './index.scss';
export default function Book({data} : any) {
export default function Book({ data }: any) {
const desc: any = {
"ریاضی": 'ریاضی از ریاضت میاد ولی دانوین آسون و لذت بخشش کرده',
'علوم': "علوم تجربی تو دانوین واقعا تجربی و محسوس میشه",
'زیست شناسی': "زیست را در دانوین باید زیست",
'شیمی': 'شیمی اینجا می فهمه کیمیا یعنی چی',
'فیزیک': "با دانوین فیزیکو با یه لنز جدید ببنید"
}
return (
<Link to={'/courses/' + data.id} className="video-tube-suggest d-flex flex-column">
<img src={`https://dnvn.ir/api/v1/file/${data.fileIds}`} alt="" />
<h4>{data.name}</h4>
<p>{'لورم ایپسوم و اینجور چیزا'}</p>
<p>{desc[data.name] || ""}</p>
</Link>
)
}

@ -60,7 +60,7 @@ function VodTube({
fileIds={selectedVideo?.fileIds}
posterId={selectedVideo?.posterId}
/>
<span className="desktop">درس دوم / بیست و یکم</span>
{/* <span className="desktop">درس دوم / بیست و یکم</span> */}
<h1 className="desktop">{selectedVideo?.name}</h1>
{/* <p className="desktop">{selectedVideo.text}</p> */}
</section>
@ -87,7 +87,7 @@ function VodTube({
{localStorage.getItem("category")?.split(",")[1] ||
"لیست فیلمها"}
</h2>
<p>در این قسمت توضیحی کوتاه قرار می گیرد</p>
{/* <p>در این قسمت توضیحی کوتاه قرار می گیرد</p> */}
</div>
<img src={listIcon} alt="" />
</header>
@ -110,7 +110,7 @@ function VodTube({
<header className="d-flex align-items-center">
<div className="d-flex flex-column">
<h2>فایل پیوست تمارین این فصل</h2>
<p>در این قسمت توضیحی کوتاه قرار می گیرد</p>
{/* <p>در این قسمت توضیحی کوتاه قرار می گیرد</p> */}
</div>
</header>
<div className="video-tube__sidebar--attachments___list d-flex flex-column">
@ -126,7 +126,7 @@ function VodTube({
<span>تا 50% تخفیف </span>
</header>
<div className="video-tube__sidebar--suggests___list d-flex justify-content-between align-items-center">
{info?.related.slice(0,3).map((item: any, i: any) => (
{info?.related.slice(0, 3).map((item: any, i: any) => (
<Book data={item} key={i} />
))}
</div>

Loading…
Cancel
Save