Skip to content

Commit ac6e95e

Browse files
committed
feat: 상단 공지 기능 추가
1 parent 27f82b3 commit ac6e95e

File tree

3 files changed

+40
-2
lines changed

3 files changed

+40
-2
lines changed

components/TopNotice.tsx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import { useState, useEffect } from 'react';
2+
import Link from 'next/link';
3+
4+
export default function TopNotice() {
5+
const [visible, setVisible] = useState(true);
6+
7+
useEffect(() => {
8+
const dismissed = localStorage.getItem('topNoticeDismissed');
9+
if (dismissed) setVisible(false);
10+
}, []);
11+
12+
const dismiss = () => {
13+
setVisible(false);
14+
localStorage.setItem('topNoticeDismissed', 'true');
15+
};
16+
17+
if (!visible) return null;
18+
19+
return (
20+
<div className="bg-blue-50 border-b border-blue-200 text-blue-800 px-4 py-3 text-sm flex justify-between items-center">
21+
<div className="flex flex-col sm:flex-row sm:items-center gap-2">
22+
<span>⚙️ 이 블로그는 현재 포팅 작업 중입니다.</span>
23+
<Link
24+
href="https://github.com/eottabom/eottabom.github.io/tree/maintenance/master/_posts"
25+
target="_blank"
26+
className="underline hover:text-blue-600"
27+
>
28+
기존 Post GitHub 에서 확인하기
29+
</Link>
30+
</div>
31+
<button onClick={dismiss} className="ml-4 text-blue-500 hover:text-blue-700">
32+
33+
</button>
34+
</div>
35+
);
36+
}

pages/index.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ import Link from 'next/link';
22
import Header from '../components/Header';
33
import Footer from '../components/Footer';
44
import { GetStaticProps } from 'next';
5-
import {getPostsMetaOnly, getSortedPostsDataWithContent} from '../lib/posts';
5+
import {getPostsMetaOnly} from '../lib/posts';
66
import AdSense from '../components/AdSense';
7+
import TopNotice from "../components/TopNotice";
78

89
const gradients = [
910
'from-pink-500 via-red-500 to-orange-400',
@@ -58,6 +59,7 @@ export default function Home({ allPostsData, gradientsForPosts }: HomeProps) {
5859

5960
return (
6061
<>
62+
<TopNotice />
6163
<div className="min-h-screen">
6264
<Header isDark={false} />
6365

pages/post.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export default function PostPage({ postsByTag, tagCounts }) {
5252
const hasMore = visibleCount < posts.length;
5353

5454
const title = selectedTag === "latest"
55-
? "Post"
55+
? "Latest Posts"
5656
: `${selectedTag.charAt(0).toUpperCase() + selectedTag.slice(1)} Posts`;
5757

5858
const description = selectedTag === "latest"

0 commit comments

Comments
 (0)