diff --git a/src/common/apis/member.tsx b/src/common/apis/member.tsx index bb2da6e..9277926 100644 --- a/src/common/apis/member.tsx +++ b/src/common/apis/member.tsx @@ -37,6 +37,9 @@ export const handleKakaoLogin = () => export const getProfile = async () => await axiosApi.get("/member/profile"); +export const getProfileByUsername = async (username: string) => + await axiosApi.get(`/member/profile/${username}`); + export const updateUsername = async (username: string) => await axiosApi.post("/member/username", { username: username, diff --git a/src/common/types/member.tsx b/src/common/types/member.tsx index 304894d..f39d9a2 100644 --- a/src/common/types/member.tsx +++ b/src/common/types/member.tsx @@ -4,7 +4,7 @@ export interface MemberProfileSearchRequest { size: number, } -export interface MemberProfileSearchResponse { +export interface MemberProfileResponse { username: string, profileUrl: string | null, } \ No newline at end of file diff --git a/src/components/blog/BlogSideBar.tsx b/src/components/blog/BlogSideBar.tsx index 5565336..d7b67cd 100644 --- a/src/components/blog/BlogSideBar.tsx +++ b/src/components/blog/BlogSideBar.tsx @@ -7,9 +7,10 @@ import BlogTagCard from "./BlogTagCard.tsx"; import {getFolderTitle} from "../../common/util/string.tsx"; import ProfileImageCircle from "../common/ProfileImageCircle.tsx"; -function BlogSideBar({folders, username, addTag, setSelectedFolder, bgColor, side}: { +function BlogSideBar({folders, username, profileUrl, addTag, setSelectedFolder, bgColor, side}: { folders: FolderType[], username: string | undefined, + profileUrl: string | null, addTag: (tagName: string) => void, setSelectedFolder: (folder: FolderType) => void, bgColor?: string, @@ -21,7 +22,7 @@ function BlogSideBar({folders, username, addTag, setSelectedFolder, bgColor, sid return (
- +
{username}
diff --git a/src/components/common/Header.tsx b/src/components/common/Header.tsx index 52b63a1..90317bd 100644 --- a/src/components/common/Header.tsx +++ b/src/components/common/Header.tsx @@ -78,7 +78,7 @@ function Header() { } - onClick={() => navigate("/search?word=&option=TITLE&sort=createdAt&isDescending=false&tab=post")}/> + onClick={() => navigate("/search?word=&option=ALL&sort=createdAt&isDescending=true&tab=post")}/> {loginState.isLogin ?
void, addStyle?: string, @@ -18,12 +18,12 @@ function ProfileImageCircle({profileUrl, size, onClick, addStyle}: { } if (profileUrl) { - return user_image; } - return ; } diff --git a/src/pages/blog/BlogPage.tsx b/src/pages/blog/BlogPage.tsx index d3b6c94..aa4c984 100644 --- a/src/pages/blog/BlogPage.tsx +++ b/src/pages/blog/BlogPage.tsx @@ -11,6 +11,8 @@ import IconButton from "../../components/common/IconButton.tsx"; import {PageResponse} from "../../common/types/common.tsx"; import {getMemberPosts} from "../../common/apis/blog.tsx"; import {PostResponse} from "../../common/types/post.tsx"; +import {MemberProfileResponse} from "../../common/types/member.tsx"; +import {getProfileByUsername} from "../../common/apis/member.tsx"; function BlogPage() { @@ -25,6 +27,7 @@ function BlogPage() { totalPages: 0 }); const [posts, setPosts] = useState([]); + const [member, setMember] = useState({username: username || "", profileUrl: null}); const folderData: FolderType[] = [ { id: crypto.randomUUID(), @@ -149,6 +152,12 @@ function BlogPage() { return; } + getProfileByUsername(username) + .then((res) => { + setMember(res.data); + }) + .catch(error => alert(error.response.data.message)); + getMemberPosts({ username: username, folderId: null, @@ -191,6 +200,7 @@ function BlogPage() {
@@ -206,6 +216,7 @@ function BlogPage() { ([]); - const [blogs, setBlogs] = useState([]); + const [blogs, setBlogs] = useState([]); const [trigger, setTrigger] = useState(false); const [refresh, setRefresh] = useState(true); const [postPage, setPostPage] = useState(0); const [blogPage, setBlogPage] = useState(0); - const pageSize = 1; + const pageSize = 10; const [postPageInfo, setPostPageInfo] = useState({ number: 0, size: pageSize, @@ -292,7 +292,7 @@ function SearchTab({selectedTab, setSelectedTab}: { function SearchResults({posts, blogs, postPageInfo, blogPageInfo, handlePostPage, handleBlogPage, selectedTab}: { posts: PostResponse[], - blogs: MemberProfileSearchResponse[], + blogs: MemberProfileResponse[], postPageInfo: PageResponse, blogPageInfo: PageResponse, handlePostPage: () => void, @@ -320,7 +320,7 @@ function SearchResults({posts, blogs, postPageInfo, blogPageInfo, handlePostPage {blogs.map((blog) => ( - +
{blog.username}