adding the api

This commit is contained in:
Demi-Play 2023-12-24 09:14:33 +03:00
parent 949e186112
commit 3c109d1619
22 changed files with 714 additions and 144 deletions

12
package-lock.json generated
View File

@ -16,7 +16,11 @@
"@mui/styled-engine-sc": "^6.0.0-alpha.9",
"@mui/x-date-pickers": "^6.18.6",
"axios": "^1.6.2",
<<<<<<< Updated upstream
"dayjs": "^1.11.10",
=======
"js-cookie": "^3.0.5",
>>>>>>> Stashed changes
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.21.1",
@ -3657,6 +3661,14 @@
"set-function-name": "^2.0.1"
}
},
"node_modules/js-cookie": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
"integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
"engines": {
"node": ">=14"
}
},
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",

View File

@ -18,7 +18,11 @@
"@mui/styled-engine-sc": "^6.0.0-alpha.9",
"@mui/x-date-pickers": "^6.18.6",
"axios": "^1.6.2",
<<<<<<< Updated upstream
"dayjs": "^1.11.10",
=======
"js-cookie": "^3.0.5",
>>>>>>> Stashed changes
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.21.1",

View File

@ -1,10 +1,13 @@
import Header from "../Header";
import styles from "./style.module.scss";
import TableMeets from '../TableMeets/TableMeets'
import Home from "../Home/Home";
// import FetchUtils from "../utils/FetchUtils";
import EditForm from "../edit/EditForm";
import PostForm from "../post/PostForm";
// import EditForm from "../edit/EditMeetsForm";
import PostForm from "../post/Meets";
import Users from "../post/Users";
// import User from "../get/User";
import Questions from "../post/Questions";
import { GetQuestions } from "../get/Questions";
const APIURL = ''
@ -66,10 +69,16 @@ const HomePage = () => {
<div className={styles.cards__container}>
<div className={styles.card}></div>
</div>
<Home></Home>
{/* <Questions></Questions> */}
{/* <Home></Home> */}
{/* <FetchUtils></FetchUtils> */}
{/* <PostForm /> */}
{/* <EditForm /> */}
{/* <Users></Users> */}
{/* <User></User> */}
{/* <GetQuestions></GetQuestions> */}
<Users></Users>
</section>

View File

@ -3,10 +3,9 @@ import styles from './style.module.scss';
import clock from '../../img/MeetPage/Clock.png';
import globe from '../../img/MeetPage/Globe.png';
import avatar from '../../img/MeetPage/avatar.png';
// import { HttpApiMethods } from '../utils/FetchUtils.jsx';
import {useState} from 'react'
import { style } from "@mui/system";
import Card from "../Card";
// import Card from "../Card";
import Grid from '@mui/material/Grid';
import Box from '@mui/material/Box';

View File

@ -1,71 +1,71 @@
import React from 'react';
import './style.css'
import styled from 'styled-components';
import { HttpApiMethods } from '../utils/FetchUtils';
import {useState} from 'react'
import EditForm from '../post/PostForm';
import Grid from '@mui/material/Grid';
import Card from '../Card';
import Box from '@mui/material/Box';
// import React from 'react';
// import './style.css'
// import styled from 'styled-components';
// // import { HttpApiMethods } from '../utils/FetchUtils';
// import {useState} from 'react'
// import EditForm from '../post/Meets';
// import Grid from '@mui/material/Grid';
// import Card from '../Card';
// import Box from '@mui/material/Box';
function extractDateTime(dateString) {
const dateTime = new Date(dateString);
const date = dateTime.toLocaleDateString();
const time = dateTime.toLocaleTimeString();
// function extractDateTime(dateString) {
// const dateTime = new Date(dateString);
// const date = dateTime.toLocaleDateString();
// const time = dateTime.toLocaleTimeString();
return { date, time };
}
// return { date, time };
// }
const httpApiMethods = new HttpApiMethods()
// const httpApiMethods = new HttpApiMethods()
const meets = await httpApiMethods.GetMeetings()
// const meets = await httpApiMethods.GetMeetings()
const Home = () => {
const [count, setCount] = useState(7)
// const Home = () => {
// const [count, setCount] = useState(7)
const filterMeet = meets.filter( (item, index) => index <= count )
const allMeets = () => {
setCount(meets.length)
}
return (
<>
<Box sx={{ flexGrow: 1, display: 'flex', justifyContent: 'flex-end', alignItems:'center'}}>
<Grid container sx={{width: '96%'}}>
// const filterMeet = meets.filter( (item, index) => index <= count )
// const allMeets = () => {
// setCount(meets.length)
// }
// return (
// <>
// <Box sx={{ flexGrow: 1, display: 'flex', justifyContent: 'flex-end', alignItems:'center'}}>
// <Grid container sx={{width: '96%'}}>
{Array.isArray(meets) ? (
filterMeet.map((item, index) => (
// {Array.isArray(meets) ? (
// filterMeet.map((item, index) => (
<Grid item sm={6} xl={3} md={6} lg={4} key={index}>
<div className='event_card' >
<div className="event-card__photo"><img className='img' src={httpApiMethods.APIURL_FILES + item.speackerImage} alt="{item.speackerImage}" /></div>
<div className="taggs">
<div className='tagged'>{item.tags}</div>
<div className="feautures">{item.type}</div>
</div>
<h4 className="event-card__title">{item.title}</h4>
<p className="event-card__date">{extractDateTime(item.time).date}, в {extractDateTime(item.time).time} по Московскому времени</p>
</div>
</Grid>
// <Grid item sm={6} xl={3} md={6} lg={4} key={index}>
// <div className='event_card' >
// <div className="event-card__photo"><img className='img' src={httpApiMethods.APIURL_FILES + item.speackerImage} alt="{item.speackerImage}" /></div>
// <div className="taggs">
// <div className='tagged'>{item.tags}</div>
// <div className="feautures">{item.type}</div>
// </div>
// <h4 className="event-card__title">{item.title}</h4>
// <p className="event-card__date">{extractDateTime(item.time).date}, в {extractDateTime(item.time).time} по Московскому времени</p>
// </div>
// </Grid>
))
) : (
<p>Неверный тип данных с сервера!</p>
)}
{/* <EditForm></EditForm> */}
</Grid>
</Box>
<div className='allButton__container'>
<button onClick={allMeets} className='allButton'>Все мероприятия</button>
</div>
</>
// ))
// ) : (
// <p>Неверный тип данных с сервера!</p>
// )}
// {/* <EditForm></EditForm> */}
// </Grid>
// </Box>
// <div className='allButton__container'>
// <button onClick={allMeets} className='allButton'>Все мероприятия</button>
// </div>
// </>
);
}
// );
// }
export default Home;
// export default Home;

View File

@ -0,0 +1,11 @@
import React from 'react';
const DeleteReactions = () => {
return (
<div>
</div>
);
}
export default DeleteReactions;

View File

@ -1,7 +1,7 @@
import React, { useRef, useState, useEffect } from 'react';
import { HttpApiMethods } from '../utils/FetchUtils';
const EditForm = () => {
const EditMeetsForm = () => {
const formRef = useRef(null);
const [dataIsLoad, setDataIsLoad] = useState(false);
const httpApiMethods = new HttpApiMethods();
@ -13,14 +13,14 @@ const EditForm = () => {
const updatedMeets = await httpApiMethods.EditMeetings(formData);
};
// const handleData = (data) => {
// if (Array.isArray(data) && data.length > 0) {
// setData(data);
// } else {
// setData([]);
// console.error('Неверный тип данных с сервера!');
// }
// };
const handleData = (data) => {
if (Array.isArray(data) && data.length > 0) {
setData(data);
} else {
setData([]);
console.error('Неверный тип данных с сервера!');
}
};
const fetchData = async () => {
try {
@ -41,10 +41,9 @@ const EditForm = () => {
};
const handleChange = (event) => {
setSelectedData({
...selectedData,
[event.target.name]: event.target.value
});
setSelectedId(event.target.value);
const selected = data.find((item) => item.id === event.target.value);
setSelectedData(selected);
};
useEffect(() => {
@ -60,23 +59,30 @@ const EditForm = () => {
<h2>Edit</h2>
<div>{dataIsLoad ? "Данные успешно загружены" : ""}</div>
<ul>
{Array.isArray(data) && data.length > 0 ? (
data.map((item, index) => (
<button style={{border: '1px solid black'}} onClick={() => handleDataClick(item.id)} key={index}>
{/* {item.id} */}
<div>{item.title}</div>
</button>
))
) : (
<p>Неверный тип данных с сервера!</p>
)}
</ul>
{/* автозаполнение инпутов */}
{selectedData && (
<>
<ul>
{Array.isArray(data) && data.length > 0 ? (
data.map((item, index) => (
<button style={{ border: '1px solid black' }} onClick={() => handleDataClick(item.id)} key={index}>
{/* {item.id} */}
<div>{item.title}</div>
</button>
))
) : (
<p>Неверный тип данных с сервера!</p>
)}
</ul>
{/* автозаполнение инпутов */}
{selectedData && (
<>
<form ref={formRef}>
<input type="text" placeholder='id' name='id' value={selectedData.id} onChange={handleChange} />
<select name="id" value={selectedData.id} onChange={handleChange}>
{data.map((item) => (
<option key={item.id} value={item.id}>
{item.id}
</option>
))}
</select>
{/* <input type="text" placeholder='id' name='id' value={selectedData.id} onChange={handleChange} /> */}
<input type="text" placeholder='name' name='title' value={selectedData.title} onChange={handleChange} />
<input type="text" placeholder='time' name='time' value={selectedData.time} onChange={handleChange} />
<input type="text" placeholder='theme' name='theme' value={selectedData.theme} onChange={handleChange} />
@ -92,12 +98,12 @@ const EditForm = () => {
<input type="text" placeholder='placeAdress' name='placeAdress' value={selectedData.placeAdress} onChange={handleChange} />
<input type="text" placeholder='duration' name='duration' value={selectedData.duration} onChange={handleChange} />
<button onClick={post}>Edit</button>
</form>
</>
)}
</form>
</>
)}
</div>
);
};
export default EditForm;
export default EditMeetsForm;

View File

@ -0,0 +1,11 @@
import React from 'react';
const EditQuestions = () => {
return (
<div>
</div>
);
}
export default EditQuestions;

View File

@ -0,0 +1,11 @@
import React from 'react';
const EditReviews = () => {
return (
<div>
</div>
);
}
export default EditReviews;

View File

@ -0,0 +1,11 @@
import React from 'react';
const EditUsers = () => {
return (
<div>
</div>
);
}
export default EditUsers;

View File

@ -0,0 +1,82 @@
import React from 'react';
import './style.css'
import styled from 'styled-components';
// import { HttpApiMethods } from '../utils/FetchUtils';
import {useState} from 'react'
import EditMeetsForm from '../edit/EditMeetsForm';
import Grid from '@mui/material/Grid';
// import Card from '../Card';
import Box from '@mui/material/Box';
function extractDateTime(dateString) {
const dateTime = new Date(dateString);
const date = dateTime.toLocaleDateString();
const time = dateTime.toLocaleTimeString();
return { date, time };
}
const httpApiMethods = new HttpApiMethods()
const meets = await httpApiMethods.GetMeetings()
export const MeetsGetByID = () => {
return (
<div>
</div>
);
}
const GetMeets = () => {
const [count, setCount] = useState(7)
const filterMeet = meets.filter( (item, index) => index <= count )
const allMeets = () => {
setCount(meets.length)
}
return (
<>
<Box sx={{ flexGrow: 1, display: 'flex', justifyContent: 'flex-end', alignItems:'center'}}>
<Grid container sx={{width: '96%'}}>
{Array.isArray(meets) ? (
filterMeet.map((item, index) => (
<Grid item sm={6} xl={3} md={6} lg={4} key={index}>
<div className='event_card' >
<div className="event-card__photo"><img className='img' src={httpApiMethods.APIURL_FILES + item.speackerImage} alt="{item.speackerImage}" /></div>
<div className="taggs">
<div className='tagged'>{item.tags}</div>
<div className="feautures">{item.type}</div>
</div>
<h4 className="event-card__title">{item.title}</h4>
<p className="event-card__date">{extractDateTime(item.time).date}, в {extractDateTime(item.time).time} по Московскому времени</p>
</div>
</Grid>
))
) : (
<p>Неверный тип данных с сервера!</p>
)}
{/* <EditForm></EditForm> */}
</Grid>
</Box>
<div className='allButton__container'>
<button onClick={allMeets} className='allButton'>Все мероприятия</button>
</div>
</>
);
}
export default GetMeets;

View File

@ -0,0 +1,53 @@
import React from 'react';
import { HttpApiMethods } from '../utils/FetchUtils';
const httpApiMethods = new HttpApiMethods
export const GetQuestions = async () => {
const questions = await httpApiMethods.GetQuestions()
return (
<div>
<div>
{Array.isArray(questions) ? (
questions.map((item, index) => (
<div key={index}>
<div>{item.id}</div>
<div>{item.text}</div>
<div>{item.meetingId}</div>
<div>{item.userId}</div>
</div>
))
) : (
<p>Неверный тип данных с сервера!</p>
)}
</div>
</div>
);
}
const GetQuestionsByID = async (id) => {
const question = await httpApiMethods.GetByIDQuestions(id)
return (
<div>
{Array.isArray(question) ? (
question.map((item, index) => (
<div key={index}>
<div>{item.id}</div>
<div>{item.text}</div>
<div>{item.meetingId}</div>
<div>{item.userId}</div>
</div>
))
) : (
<p>Неверный тип данных с сервера!</p>
)}
</div>
);
}
export default GetQuestionsByID;

View File

@ -0,0 +1,19 @@
import React from 'react';
export const GetByIDReactions = () => {
return (
<div>
</div>
);
}
const getReactions = () => {
return (
<div>
</div>
);
}
export default Reactions;

View File

@ -0,0 +1,19 @@
import React from 'react';
export const GetReviews = () => {
return (
<div>
</div>
);
}
const GetReviewsByID = () => {
return (
<div>
</div>
);
}
export default GetReviewsByID;

View File

@ -0,0 +1,36 @@
import React from 'react';
import { HttpApiMethods } from '../utils/FetchUtils';
import Cookies from 'js-cookie';
const User = () => {
let id = '9c69d5e7-74ec-4f92-af3a-fef7d30c55bb'
// Cookies.set('userId')
const user = new HttpApiMethods().GetUsers(id)
if (!Array.isArray(user)) {
return <p>Неверный тип данных с сервера!</p>
}
return (
<div>
{user.map((item, index) => (
<div key={index}>
<p>{item.id}</p>
<img src={item.avatarUrl} alt={item.avatarUrl}/>
<p>{item.fio}</p>
<p>{item.specialities}</p>
<a>{item.telegramBotUrl}</a>
<p>{item.level}</p>
<p>{item.userName}</p>
<p>{item.normalizedUserName}</p>
<p>{item.email}</p>
<p>{item.phoneNumber}</p>
<p>{item.id}</p>
</div>
))}
</div>
);
}
export default User;

View File

@ -0,0 +1,13 @@
import React from 'react';
const PostReviews = () => {
return (
<div>
</div>
);
}
export default PostReviews;

View File

@ -0,0 +1,51 @@
import React, { useRef, useState } from 'react';
import { HttpApiMethods } from '../utils/FetchUtils';
import Cookies from 'js-cookie';
const Questions = () => {
const formRef = useRef(null);
const [dataIsLoad, setDataIsLoad] = useState(false);
const [curentUser, setCurentUser] = useState(null);
let post = async (event) => {
event.preventDefault();
const httpApiMethods = new HttpApiMethods();
const user_id = Cookies.get('userData')
let formData = new FormData(formRef.current);
if (!formData.get('fio') || !formData.get('avatar') || !formData.get('userId') || !formData.get('text') || !formData.get('meetingId')) {
console.error('Ошибка: Не все поля формы заполнены');
return;
}
setDataIsLoad(false);
httpApiMethods.PostQuestions(formData).then(response => {
console.log(response)
setDataIsLoad(true);
meets_id = '9c69d5e7-74ec-4f92-af3a-fef7d30c55bb'
// let user_id = response.data.id;
// console.log(response)
// console.log(user_id)
});
}
return (
<div>
<h2>Создание Questions, получение ID в Cookies</h2>
<div>{dataIsLoad ? "Данные успешно загружены" : ""}</div>
<form ref={formRef} action=''>
{/* <input type="text" placeholder='userId' name={Cookies.get('userData')} /> */}
<input type="text" placeholder='userId' name='userId' value={Cookies.get('userId')} />
<input type="text" placeholder='text' name='text' />
<input type="text" placeholder='meetingId' name='meetingId' value={'9c69d5e7-74ec-4f92-af3a-fef7d30c55bb'} />
<button onClick={post}>Create</button>
</form>
</div>
);
}
export default Questions;

View File

@ -0,0 +1,13 @@
import React from 'react';
const UserAuth = () => {
return (
<div>
</div>
);
}
export default UserAuth;

View File

@ -0,0 +1,58 @@
import React, { useRef, useState } from 'react';
import { HttpApiMethods } from '../utils/FetchUtils';
import Cookies from 'js-cookie';
export const PostUserModerator = () => {
return (
<div>
</div>
);
}
const Users = () => {
const formRef = useRef(null);
const [dataIsLoad, setDataIsLoad] = useState(false);
const [curentUser, setCurentUser] = useState(null);
let post = async (event) => {
event.preventDefault();
const httpApiMethods = new HttpApiMethods();
let formData = new FormData(formRef.current);
if (!formData.get('fio') || !formData.get('avatar') || !formData.get('username') || !formData.get('specialities') || !formData.get('telegramBotUrl')) {
console.error('Ошибка: Не все поля формы заполнены');
return;
}
setDataIsLoad(false);
httpApiMethods.PostUsers(formData).then(response => {
console.log(response)
setDataIsLoad(true);
// let user_id = response.data.id;
// console.log(response)
// console.log(user_id)
Cookies.set('userId', response.id);
Cookies.set('token', response.token)
// return user_id
});
}
return (
<div>
<h2>Создание пользователя, получение ID в Cookies</h2>
<div>{dataIsLoad ? "Данные успешно загружены" : ""}</div>
<form ref={formRef} action=''>
<input type="text" placeholder='fio' name='fio' />
<input type="file" placeholder='avatar' name='avatar' />
<input type="text" placeholder='username' name='username' />
<input type="text" placeholder='specialities' name='specialities' />
<input type="text" placeholder='telegramBotUrl' name='telegramBotUrl' />
<button onClick={post}>Create</button>
</form>
</div>
);
}
export default Users;

View File

View File

@ -2,14 +2,22 @@
import axios from "axios"
import { useState } from "react"
import './style.css'
import { Cookie } from "@mui/icons-material"
export class HttpApiMethods {
token;
HttpApiMethods()
{
token = Cookie,get('token')
}
// URL`s
user_id = '17e5fc7a-8f22-4c0b-8b33-5dc3a6937561'
APIURL = "https://cyberbloom.zetcraft.ru/api"
APIURL_FILES = "https://cyberbloom.zetcraft.ru/api/cyber-boom-files/"
// получение мероприятий по ID
// получение мероприятий по ID
GetByID = async (id) => {
let innerUrl = this.APIURL + `/meetings?id=${id}`
@ -18,7 +26,12 @@ export class HttpApiMethods {
return response.data;
}
// Получение всех мероприятий
//
// Получение всех мероприятий
//
GetMeetings = async () => {
let innerUrl = this.APIURL + `/meetings/list?offset=0&limit=20`;
@ -26,79 +39,218 @@ export class HttpApiMethods {
return response.data;
}
// Создание мероприятия
// Создание мероприятия
AddMeetings = async (data) => {
let innerUrl = this.APIURL + `/meetings`;
let response = await axios.postForm(innerUrl, data);
let response = await axios.postForm(innerUrl, data); //
return response.data;
}
// Редактирование уже существующего мероприятия
// Редактирование уже существующего мероприятия
EditMeetings = async (data) => {
let innerUrl = this.APIURL + `/meetings`;
let response = await axios.putForm(innerUrl, data);
let response = await axios.putForm(innerUrl, data); //
return response.data;
}
// Удалить мероприятие, пока что не реализовано
// Удалить мероприятие, пока что не реализовано
DeleteMeetings = async (id) => {
let innerUrl = this.APIURL + `/meetings?id=${id}`
const response = await axios.get(innerUrl) //
return response.data;
}
//
// Users
//
PostUsers = async (data) => {
let innerUrl = this.APIURL + `/users`
const responce = await axios.postForm(innerUrl, data)
return responce.data
}
PostUsersModerator = async (data) => {
let innerUrl = this.APIURL + `/users/moderator`
const responce = await axios.postForm(innerUrl, data, { headers: {"Authorization" : `Bearer ${token}`} })
return responce.data.id
}
EditUsers = async (data) => {
let innerUrl = this.APIURL + `/users`
const responce = await axios.putForm(innerUrl, data, { headers: {"Authorization" : `Bearer ${token}`} }) //
return responce.data.id
}
GetUsers = async (id) => {
let innerUrl = this.APIURL + `/users?id=${id}`
const responce = await axios.get(innerUrl) //
return responce.data
}
GetUsersStats = async (id) => {
let innerUrl = this.APIURL + `/users/stats?id=${id}`
const responce = await axios.get(innerUrl) //
return responce.data
}
//
// Questions
//
GetByIDQuestions = async (id) => {
let innerUrl = this.APIURL + `/questions?id=${id}`
const response = await axios.get(innerUrl)
return response.data;
}
// Получение всех мероприятий
GetQuestions = async () => {
let innerUrl = this.APIURL + `/questions/list?offset=0&limit=20`;
const response = await axios.get(innerUrl);
return response.data;
}
// Создание мероприятия
PostQuestions = async (data) => {
let innerUrl = this.APIURL + `/questions`;
let response = await axios.post(innerUrl, data, { headers: {"Authorization" : `Bearer ${token}`} }); //
return response.data;
}
// Редактирование уже существующего мероприятия
EditQuestions = async (data) => {
let innerUrl = this.APIURL + `/questions`;
let response = await axios.put(innerUrl, data, { headers: {"Authorization" : `Bearer ${token}`} }); //
return response.data;
}
//
// Reactions
//
GetByIDReactions = async (id) => {
let innerUrl = this.APIURL + `/reactions?id=${id}`
const response = await axios.get(innerUrl)
return response.data;
}
// Получение всех мероприятий
GetReactions = async () => {
let innerUrl = this.APIURL + `/reactions/list?offset=0&limit=20`;
const response = await axios.get(innerUrl);
return response.data;
}
// Создание мероприятия
PostReactions = async (data) => {
let innerUrl = this.APIURL + `/reactions`;
let response = await axios.post(innerUrl, data, { headers: {"Authorization" : `Bearer ${token}`} }); //
return response.data;
}
// Редактирование уже существующего мероприятия
DeleteReactions = async (id) => {
let innerUrl = this.APIURL + `/reactions?id=${id}`;
let response = await axios.delete(innerUrl, data, { headers: {"Authorization" : `Bearer ${token}`} }); //
return response.data;
}
//
// Reviews
//
GetByIDReviews = async (id) => {
let innerUrl = this.APIURL + `/reviews?id=${id}`
const response = await axios.get(innerUrl)
return response.data;
}
GetReviews = async () => {
let innerUrl = this.APIURL + `/reviews/list?offset=0&limit=20`;
const response = await axios.get(innerUrl);
return response.data;
}
// Создание мероприятия
PostReviews = async (data) => {
let innerUrl = this.APIURL + `/reviews`;
let response = await axios.post(innerUrl, data, { headers: {"Authorization" : `Bearer ${token}`} }); //
return response.data;
}
// Редактирование уже существующего мероприятия
EditReviews = async (data) => {
let innerUrl = this.APIURL + `/reviews`;
let response = await axios.put(innerUrl, data, { headers: {"Authorization" : `Bearer ${token}`} }); //
return response.data;
}
}
const httpApiMethods = new HttpApiMethods() // Создание экземпляра класса HttpApiMethods
const meets = httpApiMethods.GetMeetings()
const FetchUtils = () => {
const FetchUtils = async () => {
const httpApiMethods = new HttpApiMethods() // Создание экземпляра класса HttpApiMethods
const meets = await httpApiMethods.GetMeetings()
const [user, setUser] = useState([])
// async function getData() {
// const response = await axios.get(APIURL)
// console.log(response.data)
// setUser(response.data)
// }
// async function getData() {
// const response = await axios.get()
// console.log(response.data)
// setUser(response.data)
// }
// const removeList = () => {
// setUser([])
const removeList = () => {
setUser([])
}
// return (
// <>
// <button onClick={getData}>Click to Get Data</button>
// <button onClick={removeList}>Click to Remove Data Listing</button>
// {/* Mapping of data */}
// <div>
// {/* {Array.isArray(meets) ? (
// <ul>
// {meets.map((item) => (
// <ol key={item.id}>
// <li>{item.title}</li>
// <li>{item.time}</li>
// <li>{item.speakerName}</li>
// <li>{item.speackerImage}</li>
// <li>{item.splecializations}</li>
// <li>{item.type}</li>
// <li>{item.speakerTelephone}</li>
// <li>{item.speakerEmail}</li>
// <li>{item.tags}</li>
// <li>{item.videoUrl}</li>
// </ol>
// ))}
// </ul>
// ) : (
// <p>Bad data type from server!</p>
// )} */}
// </div>
// </>
// );
// }
// export default FetchUtils;
return (
<>
<button onClick={getData}>Click to Get Data</button>
<button onClick={removeList}>Click to Remove Data Listing</button>
{/* Mapping of data */}
<div>
{Array.isArray(meets) ? (
<ul>
{meets.map((item) => (
<ol key={item.id}>
<li>{item.title}</li>
<li>{item.time}</li>
<li>{item.speakerName}</li>
<li>{item.speackerImage}</li>
<li>{item.splecializations}</li>
<li>{item.type}</li>
<li>{item.speakerTelephone}</li>
<li>{item.speakerEmail}</li>
<li>{item.tags}</li>
<li>{item.videoUrl}</li>
</ol>
))}
</ul>
) : (
<p>Bad data type from server!</p>
)}
</div>
</>
);
}
export default FetchUtils;