Skip to content

Commit

Permalink
Merge pull request #60 from dnd-side-project/seo
Browse files Browse the repository at this point in the history
seo, style : 최종 배포 관련 변경사항
  • Loading branch information
seondal authored Sep 19, 2023
2 parents 0803074 + 39e6125 commit 47ab4d8
Show file tree
Hide file tree
Showing 41 changed files with 93 additions and 89 deletions.
8 changes: 8 additions & 0 deletions public/icons/bookmark_black.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 12 additions & 22 deletions public/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,47 +8,37 @@
"start_url": "/",
"icons": [
{
"src": "/pwa-icons/icon-48x48.png",
"sizes": "48x48",
"src": "/pwa-icons/favicon-16-square.png",
"sizes": "16x16",
"type": "image/png"
},
{
"src": "/pwa-icons/icon-72x72.png",
"sizes": "72x72",
"src": "/pwa-icons/favicon-32-square.png",
"sizes": "32x32",
"type": "image/png"
},
{
"src": "/pwa-icons/icon-96x96.png",
"sizes": "96x96",
"src": "/pwa-icons/favicon-64-square.png",
"sizes": "64x64",
"type": "image/png"
},
{
"src": "/pwa-icons/icon-128x128.png",
"sizes": "128x128",
"src": "/pwa-icons/favicon-180-square.png",
"sizes": "180x180",
"type": "image/png"
},
{
"src": "/pwa-icons/icon-144x144.png",
"sizes": "144x144",
"type": "image/png"
},
{
"src": "/pwa-icons/icon-152x152.png",
"sizes": "152x152",
"type": "image/png"
},
{
"src": "/pwa-icons/icon-192x192.png",
"src": "/pwa-icons/favicon-192-square.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/pwa-icons/icon-384x384.png",
"sizes": "384x384",
"src": "/pwa-icons/favicon-256-square.png",
"sizes": "256x256",
"type": "image/png"
},
{
"src": "/pwa-icons/icon-512x512.png",
"src": "/pwa-icons/favicon-512-square.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any maskable"
Expand Down
Binary file removed public/meta/apple_touch_icon.png
Binary file not shown.
Binary file modified public/meta/favicon.ico
Binary file not shown.
Binary file added public/pwa-icons/favicon-16-round.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pwa-icons/favicon-16-square.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pwa-icons/favicon-180-round.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pwa-icons/favicon-180-square.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pwa-icons/favicon-192-round.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pwa-icons/favicon-192-square.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pwa-icons/favicon-256-round.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pwa-icons/favicon-256-square.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pwa-icons/favicon-32-round.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pwa-icons/favicon-32-square.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pwa-icons/favicon-512-round.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pwa-icons/favicon-512-square.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pwa-icons/favicon-64-round.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pwa-icons/favicon-64-square.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed public/pwa-icons/icon-128x128.png
Binary file not shown.
Binary file removed public/pwa-icons/icon-144x144.png
Binary file not shown.
Binary file removed public/pwa-icons/icon-152x152.png
Binary file not shown.
Binary file removed public/pwa-icons/icon-192x192.png
Binary file not shown.
Binary file removed public/pwa-icons/icon-384x384.png
Binary file not shown.
Binary file removed public/pwa-icons/icon-48x48.png
Binary file not shown.
Binary file removed public/pwa-icons/icon-512x512.png
Binary file not shown.
Binary file removed public/pwa-icons/icon-72x72.png
Binary file not shown.
Binary file removed public/pwa-icons/icon-96x96.png
Binary file not shown.
28 changes: 15 additions & 13 deletions src/app/(Main)/feed/FeedSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,22 @@ export default function FeedSection() {
<FilterTab />
<Spacing size={50} />
<div>
{data.pages[0].recommendation ? (
{data.pages[0].filteredContents.empty ? (
<EmptyCase
title={'신비한 포즈를 찾으시는군요!'}
text={'찾고 싶은 포즈를 저희에게 알려주세요.'}
button={'문의사항 남기기'}
path={URL.inquiry}
/>
) : (
<div className="columns-2 py-16">
{data.pages.map((page) => (
<PhotoList key={page.filteredContents.number} data={page.filteredContents.content} />
))}
</div>
)}
{data.pages[0].recommendation && (
<>
<EmptyCase
title={'신비한 포즈를 찾으시는군요!'}
text={'찾고 싶은 포즈를 저희에게 알려주세요.'}
button={'문의사항 남기기'}
path={URL.inquiry}
/>
<h4 className="mb-16">이런 포즈는 어때요?</h4>
<div className="columns-2 py-16">
{data.pages.map((page) => (
Expand All @@ -45,12 +53,6 @@ export default function FeedSection() {
))}
</div>
</>
) : (
<div className="columns-2 py-16">
{data.pages.map((page) => (
<PhotoList key={page.filteredContents.number} data={page.filteredContents.content} />
))}
</div>
)}
<div ref={ref} />
</div>
Expand Down
2 changes: 1 addition & 1 deletion src/app/(Main)/feed/components/EmptyCase.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export default function EmptyCase(props: EmptyCase) {
<Spacing size={32} />
<div className="flex justify-center">
<Link href={path}>
<PrimaryButton text={button} type="secondary" />
<PrimaryButton text={button} type="fill" />
</Link>
</div>
</div>
Expand Down
7 changes: 0 additions & 7 deletions src/app/(Main)/feed/page.tsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
import { QueryAsyncBoundary } from '@suspensive/react-query';
import { Metadata } from 'next';

import FeedSection from './FeedSection';
import { RejectedFallback } from '@/components/ErrorBoundary';
import { Loading } from '@/components/Loading';
import { PageAnimation } from '@/components/PageAnimation';
import { META_STRING } from '@/constants/meta';

export const metadata: Metadata = {
title: '포즈피드',
description: META_STRING.description.feed,
};

export default function Feed() {
return (
Expand Down
8 changes: 0 additions & 8 deletions src/app/(Main)/pick/page.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,4 @@
import { Metadata } from 'next';

import PickSection from './components/PickSection';
import { META_STRING } from '@/constants/meta';

export const metadata: Metadata = {
title: '포즈픽',
description: META_STRING.description.pick,
};

export default function Pick() {
return <PickSection />;
Expand Down
8 changes: 0 additions & 8 deletions src/app/(Main)/talk/page.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,7 @@
import { Metadata } from 'next';

import TalkSection from './components/TalkSection';
import TitleSection from './components/TitleSection';
import { PageAnimation } from '@/components/PageAnimation';
import { Spacing } from '@/components/Spacing';
import { META_STRING } from '@/constants/meta';

export const metadata: Metadata = {
title: '포즈톡',
description: META_STRING.description.talk,
};

export default function Talk() {
return (
Expand Down
16 changes: 9 additions & 7 deletions src/app/(Sub)/detail/[id]/components/DetailHeader.tsx
Original file line number Diff line number Diff line change
@@ -1,29 +1,31 @@
'use client';
import Image from 'next/image';
import { useRouter } from 'next/navigation';

import Image from 'next/image';
import IconButton from '@/components/Button/IconButton';
import { Header } from '@/components/Header';
import { PreparingModal } from '@/components/Modal';
import { useOverlay } from '@/components/Overlay/useOverlay';
import Link from 'next/link';
import { ICON } from '@/constants/icon';

export default function DetailHeader() {
const { open } = useOverlay();
const router = useRouter();

return (
<Header
leftNode={
<IconButton size="large" onClick={() => router.back()}>
<Image src="/icons/close.svg" width={24} height={24} alt="back" />
</IconButton>
<Link href={'/feed'}>
<IconButton size="large">
<Image src="/icons/close.svg" width={24} height={24} alt="back" />
</IconButton>
</Link>
}
rightNode={
<IconButton
size="large"
onClick={() => open(({ exit }) => <PreparingModal onClose={exit} />)}
>
<Image src="/icons/bookmark.svg" width={24} height={24} alt="bookmark" />
<Image src={ICON.bookmark.black} width={24} height={24} alt="bookmark" />
</IconButton>
}
className="px-4"
Expand Down
34 changes: 27 additions & 7 deletions src/app/(Sub)/detail/[id]/components/DetailSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export default function DetailSection({ poseId }: DetailSectionProps) {
const pathname = usePathname();

if (!data) return null;
const { imageKey, tagAttributes, sourceUrl } = data.poseInfo;
const { imageKey, tagAttributes, sourceUrl, peopleCount, frameCount } = data.poseInfo;

const handleShareLink = async () => {
await copy(BASE_SITE_URL + pathname);
Expand Down Expand Up @@ -57,6 +57,8 @@ export default function DetailSection({ poseId }: DetailSectionProps) {
</div>
</div>
<div className="flex flex-wrap gap-10 px-20 py-12">
<Tag type="people" value={peopleCount} name={`${peopleCount}인`} />
<Tag type="frame" value={frameCount} name={`${frameCount}컷`} />
{tagAttributes?.split(',').map((tag, index) => <Tag key={index} name={tag} />)}
</div>

Expand All @@ -75,17 +77,35 @@ export default function DetailSection({ poseId }: DetailSectionProps) {
);
}
interface TagProps {
type?: 'people' | 'frame' | 'tag';
value?: number;
name: string;
}

function Tag({ name }: TagProps) {
function Tag({ type = 'tag', value, name }: TagProps) {
const { updateFilterState } = useFilterState();
const handleTag = () => {
updateFilterState({
tags: new Array(name),
frameCount: 0,
peopleCount: 0,
});
let filterState;
if (type === 'people') {
filterState = {
tags: [],
frameCount: 0,
peopleCount: value || 0,
};
} else if (type === 'frame') {
filterState = {
tags: [],
frameCount: value || 0,
peopleCount: 0,
};
} else {
filterState = {
tags: new Array(name),
frameCount: 0,
peopleCount: 0,
};
}
updateFilterState(filterState);
};

return (
Expand Down
17 changes: 10 additions & 7 deletions src/app/(Sub)/menu/components/MenuListSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,22 @@ export default function MenuListSection() {
));
};

const handleLogoutClick = () => {
open(({ exit }) => (
<MenuModal onClose={exit} onConfirm={() => console.log('로그아웃')}>
<LogoutModalContent />
</MenuModal>
));
};
// const handleLogoutClick = () => {
// open(({ exit }) => (
// <MenuModal onClose={exit} onConfirm={() => console.log('로그아웃')}>
// <LogoutModalContent />
// </MenuModal>
// ));
// };

return (
<section className="flex flex-col">
<button className="flex flex-col py-12" onClick={handleInquiryClick}>
서비스 이용 문의
</button>
<button className="flex flex-col py-12" onClick={() => window.open(URL.information)}>
서비스 정보
</button>
{/* <button className="flex flex-col py-12 text-tertiary" onClick={handleLogoutClick}>
로그아웃
</button> */}
Expand Down
2 changes: 1 addition & 1 deletion src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export const metadata: Metadata = {
google: 'MB7qV_Oa4G4gR0jHgjtnE6S4g4blocE2mjo7z-z2f6Q',
},
other: {
'naver-site-verification': '65f3aba9349cce28018ac7a97d4f87ff00709aa3',
'naver-site-verification': 'eb9f471cae26de34e6bc71849e73f04cb8b00d83',
},
openGraph: {
title: META_STRING.title,
Expand Down
2 changes: 1 addition & 1 deletion src/app/robots.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
User-Agent: *
User-agent: *
Allow: /

Sitemap: https://www.posepicker.site/sitemap.xml
2 changes: 1 addition & 1 deletion src/components/BottomFixedDiv/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export default function BottomFixedDiv({
}: StrictPropsWithChildren<BottomFixedDivProps>) {
return (
<div
className={`fixed inset-x-0 bottom-0 mx-auto max-w-440 bg-white px-20 pb-20 pt-10 ${className}`}
className={`fixed inset-x-0 bottom-0 mx-auto max-w-440 bg-white px-20 pb-25 pt-10 ${className}`}
>
{children}
</div>
Expand Down
1 change: 1 addition & 0 deletions src/constants/icon.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ export const ICON = {
bookmark: {
fill: '/icons/bookmark_fill.svg',
empty: '/icons/bookmark.svg',
black: '/icons/bookmark_black.svg',
},
arrow: {
back: '/icons/arrow_back.svg',
Expand Down
12 changes: 6 additions & 6 deletions src/constants/meta.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
export const META_STRING = {
title: 'PosePicker',
title: 'PosePicker | 포즈피커',
description: {
main: '포토부스에서 고민하는 당신을 위한 포즈 추천 서비스',
sub: '포즈가 고민될 땐? 포즈피커!',
pick: '시간 없을 땐 포즈픽으로 빠르게 랜덤 포즈를 추천받아보세요.',
talk: '포즈톡에서 뽑은 랜덤 제시어로 나만의 개성있는 포즈를 완성해보세요.',
feed: '포즈피드에서 조건에 맞는 포즈를 찾고, 친구한테 공유해보세요',
// pick: '시간 없을 땐 포즈픽으로 빠르게 랜덤 포즈를 추천받아보세요.',
// talk: '포즈톡에서 뽑은 랜덤 제시어로 나만의 개성있는 포즈를 완성해보세요.',
// feed: '포즈피드에서 조건에 맞는 포즈를 찾고, 친구한테 공유해보세요',
},
image: {
og: '/meta/og_main.png',
detail: '/meta/og_detail.png',
kakao_share: '/meta/og_kakao.png',
kakao_share: 'https://www.posepicker.site/meta/og_kakao.png',
},
favicon: '/meta/favicon.ico',
appleIcon: '/meta/apple_touch_icon.png',
appleIcon: '/pwa-icons/favicon-192-rounded.png',
};
1 change: 1 addition & 0 deletions src/constants/url.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ export const URL = {
site: 'https://www.posepicker.site',
inquiry:
'https://docs.google.com/forms/d/e/1FAIpQLSeZuPZTXnO4rZ4k39SzXv96PWAW4gLcTYBrsRUrgRHSVV9Ldg/viewform?usp=sf_link',
information: 'https://shineshine.notion.site/a668d9eba61f48e584df2ad3a946c313',
};

0 comments on commit 47ab4d8

Please sign in to comment.