손에 익는 Next.js
Part 3 - Next.js로 나만의 블로그 만들기
Part 3 - Next.js로 나만의 블로그 만들기
  • 블로그를 직접 만드는 이유
    • *️내 손으로 지은 집
  • 사전 지식 훑어보기
    • 1️사전 렌더링
    • 2️라우팅
    • 3️데이터 페칭
    • 4️스타일링
  • 블로그 유형 살펴보기
    • 1️일반적인 Next.js 블로그
    • 2️Vercel 리더십 블로그
  • 나만의 블로그 만들기
    • 1️블로그 아키텍처 선택하기
    • 2️블로그 템플릿 살펴보기
    • 3️블로그 설정 변경하기
  • 나만의 블로그 고도화하기
    • 1️테마 변경 기능
    • 2️게시글 조회수 기능
  • 마치며
Powered by GitBook
On this page
  1. 나만의 블로그 고도화하기

테마 변경 기능

ThemeIcon 컴포넌트

테마 변경 버튼에서 사용하는 아이콘 컴포넌트 입니다.

type Theme = "light" | "dark";

type Props = {
  theme: Theme;
};

const ThemeIcon = ({ theme }: Props) => {
  switch (theme) {
    case "light":
      return (
        <svg
          className="w-5 h-5"
          fill="none"
          viewBox="0 0 24 24"
          stroke="currentColor"
        >
          <path
            strokeLinecap="round"
            strokeLinejoin="round"
            strokeWidth={2}
            d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"
          />
        </svg>
      );
    case "dark":
      return (
        <svg
          className="w-5 h-5"
          fill="none"
          viewBox="0 0 24 24"
          stroke="currentColor"
        >
          <path
            strokeLinecap="round"
            strokeLinejoin="round"
            strokeWidth={2}
            d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"
          />
        </svg>
      );
  }
};
Previous나만의 블로그 고도화하기Next게시글 조회수 기능

Last updated 8 months ago

1️