From f34c4f49d604e732e49aa825ef4b7db059f2c726 Mon Sep 17 00:00:00 2001 From: urec56 Date: Wed, 7 Feb 2024 22:30:23 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D1=84=D1=80=D0=BE=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- front/src/chat/App.jsx | 2 +- front/src/chat/api.js | 45 ++++++++++++++----- .../src/chat/components/layout/AppContent.jsx | 29 ++++++++++-- .../src/chat/components/layout/AppFooter.jsx | 2 +- .../src/chat/components/layout/AppHeader.jsx | 2 +- .../src/chat/components/layout/AppZalupa.jsx | 2 +- 6 files changed, 62 insertions(+), 20 deletions(-) diff --git a/front/src/chat/App.jsx b/front/src/chat/App.jsx index e7595a4..e06c02f 100644 --- a/front/src/chat/App.jsx +++ b/front/src/chat/App.jsx @@ -8,7 +8,7 @@ import AppZalupa from "./components/layout/AppZalupa.jsx"; export default function App() { return - + {/**/} diff --git a/front/src/chat/api.js b/front/src/chat/api.js index 07a7938..1007113 100644 --- a/front/src/chat/api.js +++ b/front/src/chat/api.js @@ -1,13 +1,34 @@ -export const users= await fetch('http://localhost:8000/api/users', { - method: "GET" +import {cryptoData, cryptoAssets} from "./data.js"; + +export function fakeFetchCrypto() { + return new Promise(resolve => { + setTimeout(() => { + resolve(cryptoData) + }, 2000) }) - .then(function (response) { - return response.json(); - }) - .then(function (data) { - console.log(data); - return data; - }) - .catch(function (error) { - console.log('Ошибка:', error); - }); +} + +export function fetchAssets() { + return new Promise(resolve => { + setTimeout(() => { + resolve(cryptoAssets) + }, 2000) + }) +} + +export async function fetchUsers() { + return (fetch('http://localhost:8000/api/users', { + method: "GET" +}) + .then(function (res) { + return res.json(); + }) + .then(function (data) { + console.log(data); + return data; + }) + .catch(function (err) { + console.log('Ошибка:', err); + }) + ) +} \ No newline at end of file diff --git a/front/src/chat/components/layout/AppContent.jsx b/front/src/chat/components/layout/AppContent.jsx index c8ba012..c24df99 100644 --- a/front/src/chat/components/layout/AppContent.jsx +++ b/front/src/chat/components/layout/AppContent.jsx @@ -1,5 +1,6 @@ -import {Layout} from "antd"; -import {users} from "../../api.js"; +import {Layout, Spin} from "antd"; +import {fakeFetchCrypto, fetchAssets, fetchUsers} from "../../api.js"; +import {useEffect, useState} from "react"; @@ -12,6 +13,26 @@ const contentStyle = { padding: '1rem', }; -export default function () { - return (users) + + +export default function AppContent() { + const [loading, setLoading] = useState(true) + const [users, setUsers] = useState([]) + const [assets, setAssets] = useState([]) + + + useEffect(() => { + async function preload() { + const result = await fetchUsers() + + setUsers(result) + setLoading(false) + } + preload() + }, []); + + if (loading) { + return + } + return ({users[0].email}) } diff --git a/front/src/chat/components/layout/AppFooter.jsx b/front/src/chat/components/layout/AppFooter.jsx index 7a6e5a9..226e499 100644 --- a/front/src/chat/components/layout/AppFooter.jsx +++ b/front/src/chat/components/layout/AppFooter.jsx @@ -6,6 +6,6 @@ const footerStyle = { backgroundColor: '#4096ff', }; -export default function () { +export default function AppFooter() { return (Footer) } \ No newline at end of file diff --git a/front/src/chat/components/layout/AppHeader.jsx b/front/src/chat/components/layout/AppHeader.jsx index 8dddf7d..a5d91ed 100644 --- a/front/src/chat/components/layout/AppHeader.jsx +++ b/front/src/chat/components/layout/AppHeader.jsx @@ -8,6 +8,6 @@ const headerStyle = { backgroundColor: '#4096ff', }; -export default function () { +export default function AppHeader() { return (Header) } diff --git a/front/src/chat/components/layout/AppZalupa.jsx b/front/src/chat/components/layout/AppZalupa.jsx index 9da1c44..a3e6ad6 100644 --- a/front/src/chat/components/layout/AppZalupa.jsx +++ b/front/src/chat/components/layout/AppZalupa.jsx @@ -5,7 +5,7 @@ import { Avatar, Button, Skeleton, List} from 'antd'; const count = 3; const fakeDataUrl = `http://localhost:8000/api/users`; -export default function () { +export default function AppZalupa() { const [initLoading, setInitLoading] = useState(true); const [loading, setLoading] = useState(false); const [data, setData] = useState([]);