Gorji 3 years ago
parent 2222c27c62
commit c8ddc578e7
  1. 2
      src/Redux/proxy.js
  2. 36
      src/Redux/reducers/chat.js
  3. 1125
      src/Redux/reducers/message.js
  4. 5
      src/views/Auth/Bio/FirstBio/FirstBio.js
  5. 5
      src/views/Auth/Bio/SecondBio/SecondBio.js
  6. 6
      src/views/Auth/Bio/ThirdBio/ThirdBio.js
  7. 9
      src/views/ChatRoom/Body/Keyboard/index.js
  8. 2
      src/views/ChatRoom/Body/Message/index.js
  9. 27
      src/views/ChatRoom/Body/index.js
  10. 1
      src/views/ChatRoom/Body/index.scss
  11. 2
      src/views/ChatRoom/Info/index.js

@ -1,6 +1,6 @@
import axios from 'axios';
import { toast } from 'react-toastify';
const baseURL = 'http://localhost:4040/api/v1'; //'https://chatstory.ir/api/v1';
const baseURL = 'https://chatstory.ir/api/v1';
const token = '';
const loginURL = 'user/otp/login';
const logoutURL = 'user/logout';

@ -1,6 +1,30 @@
const initialState = {
list: [],
info: { users: [] },
list: [
{
badge: '1',
description: null,
fileId: null,
id: 1001,
imageUrl: 'https://chatstory.ir/api/v1/file/download/null',
lastMessage: 'سلام',
name: 'شکافنده زمان',
pid: null,
price: 0,
status: 0,
type: 'chatStory',
updatedAt: '2021-04-13T23:42:12.775Z',
username: null,
},
],
info: {
fileId: null,
subTitle: 'آنلاین',
title: 'ساره',
users: [
{ id: 1, name: 'پلیر', displayName: 'پلیر' },
{ id: 2, name: 'ساره', displayName: 'ساره' },
],
},
bio: {
album: [],
images: [],
@ -13,10 +37,10 @@ const initialState = {
export default function chat(state = initialState, action) {
let { type, data } = action;
switch (type) {
case 'chat/list':
return { ...state, list: data };
case 'chat/info':
return { ...state, info: data };
// case 'chat/list':
// return { ...state, list: data };
// case 'chat/info':
// return { ...state, info: data };
case 'chat/bio':
return { ...state, bio: data };
default:

File diff suppressed because it is too large Load Diff

@ -8,9 +8,8 @@ export default class FirstBio extends Component {
<>
<img src={bioFirst} style={{ left: '-5%' }} alt="" />
<p>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک
است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی
تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی میباشد.
" ایما " چیست ؟ جایی پر از ماجراها و اتفاق های عجیب و جذاب. جایی که شما تمام این ماجراها
رو تجربه میکنید.
</p>
<div style={{ position: 'absolute', right: -5 }} onClick={() => this.props.setSection(1)}>
<NavigateNextIcon style={{ color: '#cfcfcf', width: 50, height: 50, fontWeight: 900 }} />

@ -9,9 +9,8 @@ export default class SecondBio extends Component {
<>
<img src={bioSecond} style={{ left: '-3%' }} alt="" />
<p>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک
است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی
تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی میباشد.
تجربه ی این ماجراجویی ها در دل داستان های متنوع، به صورتی هست که خود شما مستقیما در آن نقش
خواهید داشت !
</p>
<div style={{ position: 'absolute', right: -5 }} onClick={() => this.props.setSection(2)}>
<NavigateNextIcon style={{ color: '#cfcfcf', width: 50, height: 50 }} />

@ -9,9 +9,9 @@ export default class SecondBio extends Component {
<>
<img src={bioThird} style={{ left: '-2%', top: 10 }} alt="" />
<p>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک
است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی
تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی میباشد.
بله! شما نقش خودتان را خواهید داشت، سرنوشت هر ماجرا را شما با انتخاب هایتان رقم خواهید زد.
انگار که نویسنده ی داستانی خود شما باشید، یا کارگردان فیلمی، خودتان باشید. درست مثل زندگی.
به دنیای بی انتهای " ایما " خوش آمدید.
</p>
<div style={{ position: 'absolute', left: -5 }} onClick={() => this.props.setSection(1)}>
<NavigateBeforeIcon style={{ color: '#cfcfcf', width: 50, height: 50 }} />

@ -2,6 +2,7 @@ import React, { Component } from 'react';
import Carousel from 'react-elastic-carousel';
import './index.scss';
export default function Keyboard({ options, action }) {
options = options.length ? options : [[{ text: 'اشتباه' }]];
return (
<div className="chat-suggest portrait-slider d-flex flex-column">
<Carousel itemsToShow={1} isRTL={true} enableTilt={true} showArrows={false}>
@ -25,7 +26,13 @@ const Row = ({ row, action }) => {
const KeyboardItem = ({ item, action }) => {
return (
<div className="chat-suggest__row--item d-flex" onclick={() => action(item)}>
<div
className="chat-suggest__row--item d-flex"
style={{ cursor: 'pointer' }}
onClick={() => {
action(item);
}}
>
{item.text}
</div>
);

@ -15,7 +15,7 @@ const types = {
slider: Slider,
select: Select,
multiselect: MultiSelect,
tap: Tap,
//tap: Tap,
};
export default class Message extends Component {
render() {

@ -15,6 +15,7 @@ class List extends Component {
constructor(props) {
super(props);
this.state = {
messageList: props.messageList.slice(0, 1),
counter: 1,
id: window.location.href.split('/').pop() * 1,
data: {},
@ -27,8 +28,17 @@ class List extends Component {
document: null,
};
}
addcounter() {
this.setState({ counter: this.state.counter + 1 });
addcounter(item) {
let { messageList } = this.state;
const last = messageList.slice(-1)[0] || {};
console.log(item);
if (!item) {
messageList.push(this.props.messageList.find((e) => e.pid == last.id));
} else {
messageList.push(this.props.messageList.find((e) => e.id == item.id));
}
this.setState({ messageList });
}
start = () => {
this.setState({
@ -344,7 +354,8 @@ class List extends Component {
}
render() {
const { setPage, chatInfo, messageList: msaster, userId } = this.props; //last
const messageList = msaster.slice(0, this.state.counter);
const { messageList } = this.state;
// const messageList = msaster.slice(0, this.state.counter);
const last = messageList.slice(-1)[0] || {};
const userIdx = this.userIdx || {};
if (Object.keys(userIdx).length == 0) {
@ -367,6 +378,9 @@ class List extends Component {
overflowY: this.state.file !== null ? 'hidden' : 'scroll',
paddingBottom: last.action === 'keyboard' ? 150 : 75,
}}
onClick={() => {
if (last.action === 'tap') this.addcounter();
}}
>
{chatInfo.users &&
messageList.map((message, i) =>
@ -434,7 +448,12 @@ class List extends Component {
/>
) : null}
{last.action === 'keyboard' ? (
<Keyboard options={last.options} addcounter={() => this.addcounter()} />
<Keyboard
options={last.options}
action={(item) => {
this.addcounter(item);
}}
/>
) : null}
</div>
<ToastContainer

@ -31,6 +31,7 @@
border-top-right-radius: 40px;
position: relative;
margin-top: -95px;
margin-bottom: 40px;
&--preview {
position: absolute;
bottom: 0px;

@ -19,7 +19,7 @@ export default class ChatInfo extends Component {
],
name: 'محسن محمدی',
lastAct: '2 دقیقه پیش آنلاین بوده',
bio: 'لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد. کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده شناخت فراوان جامعه و متخصصان را می طلبد ',
bio: '" ایما " چیست ؟ جایی پر از ماجراها و اتفاق های عجیب و جذاب. جایی که شما تمام این ماجراها رو تجربه میکنید. ',
},
};
}

Loading…
Cancel
Save