Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: 구글, 네이버 사이트 등록 메타태그 추가 #129

Merged
merged 6 commits into from
Oct 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 25 additions & 11 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,14 +1,28 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Field Passer</title>
</head>

<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
<head>
<meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="체육구장 양도 플랫폼 필드패서 Field Passer" />
<meta name="robots" content="index,follow">
<meta name="og:site_name" content="필드패서 Field Passer" />
<meta name="og:title" content="필드패서 Field Passer" />
<meta name="og:description" content="체육구장 양도 플랫폼 필드패서 Field Passer" />
<meta name="google-site-verification" content="4Kb1QAr7yFwUfo-hykxjkM3iFI96IRWwx1SvvFy4kgQ" />
<meta name="naver-site-verification" content="6ed246b01bc5f5682614dfdd4ec76949f371e064" />
<meta property="og:url" content="https://fieldpasser.netlify.app/">
<meta property="og:image" content="https://i.ibb.co/2PVHzbh/Group-1-1.png">
<meta property="og:type" content="website" />
<meta property="og:image:width" content="1100">
<meta property="og:image:height" content="740">
<title>필드패서 Field Passer</title>
</head>

<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>

</html>
Binary file modified public/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions public/robots.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow: /mypage/
Disallow: /board-list/blind/
Disallow: /profile/
16 changes: 16 additions & 0 deletions public/sitemap.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<!-- created with Free Online Sitemap Generator www.xml-sitemaps.com -->


<url>
<loc>https://fieldpasser.netlify.app/</loc>
<lastmod>2023-10-30T11:38:03+00:00</lastmod>
</url>


</urlset>
50 changes: 32 additions & 18 deletions src/components/Main/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,26 @@ const Footer = () => {
<span onClick={() => navigate(PATH.HELP)}>이용약관 및 운영정책</span>
</div>
</div>
<a
href="https://github.com/Field-Passer/newFieldPasser-BE"
target="_blank"
rel="noopener noreferrer"
className="link"
>
<GithubIcon />
Backend Repository
</a>
<a
href="https://github.com/Field-Passer/newFieldPasser-FE"
target="_blank"
rel="noopener noreferrer"
className="link"
>
<GithubIcon />
Frontend Repository
</a>
<div className="repo">
<a
href="https://github.com/Field-Passer/newFieldPasser-BE"
target="_blank"
rel="noopener noreferrer"
className="link"
>
<GithubIcon />
Backend Repository
</a>
<a
href="https://github.com/Field-Passer/newFieldPasser-FE"
target="_blank"
rel="noopener noreferrer"
className="link"
>
<GithubIcon />
Frontend Repository
</a>
</div>
<div className="alert">
필드패서는 통신판매중개자이며 통신판매의 당사자가 아닙니다. 따라서 필드패서는 공간 거래정보 및 거래에 대해
책임지지 않습니다.
Expand Down Expand Up @@ -73,6 +75,7 @@ const FooterContainer = styled.footer`

img {
width: 144px;
height: 21.59px;
right: 0;
}

Expand All @@ -84,6 +87,17 @@ const FooterContainer = styled.footer`
}
}

.repo {
display: flex;
gap: 15px;
flex-direction: column;
font-size: 15px;

@media (min-width: 834px) {
font-size: 13px;
}
}

.link {
padding: 0 4px;
display: flex;
Expand Down
86 changes: 56 additions & 30 deletions src/components/Main/Header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -49,34 +49,64 @@ const Header = () => {
>
<HamburgerIcon />
</div>
<img src="/logo.png" alt="logo" onClick={() => navigate(PATH.HOME)} />
<img src="/logo.png" alt="logo" onClick={() => navigate(PATH.HOME)} className="logo" />
</MContainer>
</Mobile>
<PC>
<Container>
<PCContainer>
<Inner>
<Link to="/" className="logo">
<Link to={PATH.HOME} className="logo">
<img src="/logo.png" alt="logo" />
</Link>
<div className="menu">
{authenticated && userRole === '관리자' && <Link to={PATH.BOARD_BLIND}>게시글 관리</Link>}
<Link to="/help">고객센터</Link>
{authenticated && <Link to={PATH.MYPAGE}>마이페이지</Link>}
{!authenticated && <Link to={PATH.JOIN}>회원가입</Link>}
{authenticated && <Link to={PATH.ASK}>1:1 문의</Link>}
{authenticated ? <a onClick={logoutHandler}>로그아웃</a> : <Link to="/login">로그인</Link>}
<button
onClick={() => {
{
authenticated ? navigate(PATH.WRITE_POST) : accessAfterLoginAlert()
}
}}
>
양도하기
</button>
</div>
<nav className="menu">
<ul>
{authenticated && userRole === '관리자' && (
<li>
<Link to={PATH.BOARD_BLIND}>게시글 관리</Link>
</li>
)}
<li>
<Link to={PATH.HELP}>고객센터</Link>
</li>
{authenticated && (
<li>
<Link to={PATH.MYPAGE}>마이페이지</Link>
</li>
)}
{!authenticated && (
<li>
<Link to={PATH.JOIN}>회원가입</Link>
</li>
)}
{authenticated && (
<li>
<Link to={PATH.ASK}>1:1 문의</Link>
</li>
)}
{authenticated ? (
<li>
<a onClick={logoutHandler}>로그아웃</a>
</li>
) : (
<li>
<Link to={PATH.LOGIN}>로그인</Link>
</li>
)}
<li>
<button
onClick={() => {
{
authenticated ? navigate(PATH.WRITE_POST) : accessAfterLoginAlert()
}
}}
>
양도하기
</button>
</li>
</ul>
</nav>
</Inner>
</Container>
</PCContainer>
</PC>
</>
)
Expand All @@ -93,6 +123,8 @@ const MContainer = styled.header`
.logo {
width: 160px;
height: 24px;
margin: auto auto;
cursor: pointer;
}

.sidebar {
Expand All @@ -105,15 +137,9 @@ const MContainer = styled.header`
cursor: pointer;
}
}

img {
width: 160px;
margin: auto auto;
cursor: pointer;
}
`

const Container = styled.header`
const PCContainer = styled.header`
padding: 12px 20px;
height: 60px;
box-sizing: border-box;
Expand All @@ -126,11 +152,11 @@ const Inner = styled.div`
margin: 0 auto;

.logo {
margin: auto 0;
cursor: pointer;
img {
width: 160px;
height: 24px;
margin: auto 0;
cursor: pointer;
}
}

Expand Down
3 changes: 2 additions & 1 deletion src/components/Main/Sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,8 @@ const FirstSection = styled.section`
}

.logo {
width: 116px;
width: 132px;
height: 20px;
}

.close {
Expand Down
8 changes: 7 additions & 1 deletion src/hooks/useInfinityScroll.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import { getMainPostList } from '@src/api/boardApi'
import { useCallback, useEffect, useState } from 'react'
import { useInView } from 'react-intersection-observer'
import useModal from './useModal'

const useInfinityScroll = ({ payload, page, setPostList, setPage }: IInfinityScrollProps) => {
const [ref, inView] = useInView()
const [isLoading, setIsLoading] = useState(false)
const [lastPage, setLastPage] = useState(false)
const { openModal } = useModal()

const getPostList = useCallback(
async (payload: IMainListPayload, page: number) => {
Expand All @@ -20,7 +22,11 @@ const useInfinityScroll = ({ payload, page, setPostList, setPage }: IInfinityScr
setPostList((prevList) => [...prevList, ...postData.content])
postData.last ? setLastPage(true) : setLastPage(false)
} catch (error) {
alert(error)
openModal({
isModalOpen: true,
isConfirm: false,
content: ['게시글 정보를 불러올 수 없습니다. 잠시 후 다시 시도해주세요.'],
})
} finally {
setIsLoading(false)
}
Expand Down