diff --git a/src/components/Pages.jsx b/src/components/Pages.jsx index ab26502..baebef3 100644 --- a/src/components/Pages.jsx +++ b/src/components/Pages.jsx @@ -13,6 +13,7 @@ import Posts from './Posts'; import About from './About'; import Blogs from '../pages/Blogs'; import Peoples from '../pages/Peoples'; +import Services from '../pages/Services'; export default function Pages(props, auth, setAuth) { return ( @@ -22,11 +23,8 @@ export default function Pages(props, auth, setAuth) { }> }> }> - - - - }> + }> + }> {/* }> */} }> {/* }> */} diff --git a/src/components/Post.jsx b/src/components/Post.jsx index 2ca3329..d3b39eb 100644 --- a/src/components/Post.jsx +++ b/src/components/Post.jsx @@ -18,7 +18,7 @@ export default function Post(props) { {/* data.blogsCate.title */} - Buraya Kategori eklenecek + (props.changeMenu) && props.changeMenu(props.data.category.id)}>{props.data.category.title} - 01.01.2024 diff --git a/src/components/ProfileDetail.jsx b/src/components/ProfileDetail.jsx index 52975a3..175bc16 100644 --- a/src/components/ProfileDetail.jsx +++ b/src/components/ProfileDetail.jsx @@ -21,7 +21,12 @@ export default function ProfileDetail(props) { setData(false); }; }); - },[]); + + return () => { + setData([]); + setLoading(true); + }; + },[username]); if(loading) { return (<>>) diff --git a/src/menus.js b/src/menus.js index a158512..12cff36 100644 --- a/src/menus.js +++ b/src/menus.js @@ -10,6 +10,10 @@ export const menus = [{ id: 3, title: "Kişiler", path: "/peoples" +},{ + id: 4, + title: "Servisler", + path: "/services" }]; export const profileMenus = [{ diff --git a/src/pages/Blogs.jsx b/src/pages/Blogs.jsx index 59a8424..5ffdbf8 100644 --- a/src/pages/Blogs.jsx +++ b/src/pages/Blogs.jsx @@ -14,28 +14,46 @@ export default function Blogs(props) { useEffect(() => { props.setSelectedMenu(2); - FetchPOST({ - port: 3001, - pathname: "/page/blogs" - }).then(res => { - setPageData(res); - res.categories.filter(get => get.title.toLowerCase() === cate && setSelectedMenu(get.id)); - setLoading(false); - }); + if(cate === undefined){ + FetchPOST({ + port: 3001, + pathname: "/page/blogs" + }).then(res => { + setData(res.blogs) + setPageData(res); + setLoading(false); + }); + }else if(cate){ + FetchPOST({ + port: 3001, + pathname: "/page/blogs/" + cate + }).then(res => { + const categoriesIds = res.categories.map(get => get.id); + + setPageData(res); + setLoading(false); + changeCategory(res.currentCategory.id, categoriesIds, setData); + setSelectedMenu(res.currentCategory.id); + }); + } + },[]); const changeMenu = (id) => { + const categoriesIds = pageData.categories.map(get => get.id); + setSelectedMenu(id); - } + changeCategory(id, categoriesIds, setData); + }; if(loading){ return (<>>) - } + }; return ( - {setSelectedMenu(0)}} className={'flex h-20 rounded-2xl bg-gray-200 aspect-square items-center justify-center cursor-pointer hover:bg-pc hover:bg-opacity-50 ' + ((selectedMenu === 0) && "bg-pc")}> + {changeMenu(0)}} className={'flex h-20 rounded-2xl bg-gray-200 aspect-square items-center justify-center cursor-pointer hover:bg-pc hover:bg-opacity-50 ' + ((selectedMenu === 0) && "bg-pc")}> Genel { @@ -50,7 +68,7 @@ export default function Blogs(props) { { (data) && data.map(get => - + ) } @@ -58,14 +76,18 @@ export default function Blogs(props) { }; -function changeCategory() { - if(cate === undefined){ +function changeCategory(id, categoriesIds, setData) { + if(id === 0){ FetchPOST({ port: 3001, pathname: "/get/blogs/all" }).then(res => setData(res)); - }else{ - setData([]); - console.log(data); - }; + }else if(categoriesIds.includes(id)){ + FetchPOST({ + port: 3001, + pathname: "/get/blogs/" + id + }).then(res => setData(res)); + }else { + setData([]) + } }; \ No newline at end of file diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx index 81eab2a..96ce12e 100644 --- a/src/pages/Home.jsx +++ b/src/pages/Home.jsx @@ -1,6 +1,10 @@ -import React from 'react' +import React, { useEffect } from 'react' export default function Home(props) { + useEffect(() => { + props.setSelectedMenu(1); + },[]); + return ( Anasayfa diff --git a/src/pages/Profile.jsx b/src/pages/Profile.jsx index 7102479..4fbbdbd 100644 --- a/src/pages/Profile.jsx +++ b/src/pages/Profile.jsx @@ -1,16 +1,24 @@ -import React, { useEffect } from 'react'; +import React, { useEffect, useState } from 'react'; import { useParams } from 'react-router-dom'; +import { FetchPOST } from '../middlewares/Fetch'; +import ProfileDetail from '../components/ProfileDetail'; -export default function Profile({children, setSelectedMenu}) { - const {username} = useParams(); +export default function Profile({setSelectedMenu}) { + const { username } = useParams(); useEffect(() => { - setSelectedMenu(0); + FetchPOST({ + port: 3001, + pathname: "/get/user/my" + }).then(get => { + (get.username === username) && setSelectedMenu(0); + }); },[]); + console.log(username) return ( - {children} + ) } \ No newline at end of file diff --git a/src/pages/Services.jsx b/src/pages/Services.jsx new file mode 100644 index 0000000..43dbffc --- /dev/null +++ b/src/pages/Services.jsx @@ -0,0 +1,15 @@ +import React, { useEffect } from 'react' +import { Link } from 'react-router-dom' + +export default function Services(props) { + useEffect(() => { + props.setSelectedMenu(4); + },[]); + return ( + + + İmmich + + + ) +}
Buraya Kategori eklenecek
-
01.01.2024