How to Setup Shadcn UI + Themes in NextJs 14

Sdílet
Vložit
  • čas přidán 5. 07. 2024
  • In this video, we'll set up shadcn/ui in our NextJs 14 app from scratch. We'll add light, dark, and a custom theme using CSS variables and build an example admin dashboard.
    👉🏼 The Ultimate NextJs 14 Course
    → www.hamedbahram.io/courses/ne...
    👉🏼 Project source code
    → github.com/HamedBahram/next-s...
    👉🏼 NextJs starter template
    → github.com/HamedBahram/next-ts
    👉🏼 Work with me
    → www.hamedbahram.io/hire
    Chapters
    0:00 Intro
    0:45 Project setup
    2:00 Installing shadcn
    7:20 Adding components
    10:20 Dark theme
    12:50 Adding next-themes
    17:50 Extending the themes
    22:00 Admin dashboard
    24:40 Recap
  • Věda a technologie

Komentáře • 54

  • @alexdin1565
    @alexdin1565 Před 4 měsíci +7

    woow amazing you are the first one on youtube who cover theming topic thakns

    • @hamedbahram
      @hamedbahram  Před 4 měsíci +1

      My pleasure! Glad to hear that.

  • @BooleanOperator
    @BooleanOperator Před 4 měsíci +2

    Another great tutorial, Thanks Hamed.

  • @neoTriny
    @neoTriny Před měsícem +1

    Awesome ! Just discovered this channel. Thanks for the nice explanations @hamed. Go ahead Next js 💥

  • @harirasamir2436
    @harirasamir2436 Před měsícem +1

    Waw bravo high-quality content and excellent courses. Thanks Hamed well done

    • @hamedbahram
      @hamedbahram  Před měsícem +1

      Thank you! welcome to the channel 🙌🏼

  • @uixmat
    @uixmat Před 4 měsíci +2

    Been using Radix Primitives and more recently shadcn ui for a while now. frickin love em!

  • @Anshumantiwarianstiwar
    @Anshumantiwarianstiwar Před 4 měsíci +1

    amazing high-quality content, thanks !!!!

  • @user-bq7hq8th2j
    @user-bq7hq8th2j Před 4 měsíci +2

    Well done Hamed Jan, thanks.

  • @teacookie-wynn
    @teacookie-wynn Před 3 dny

    Finally someone talking about custom themes...

  • @fakhrulislamfuad8072
    @fakhrulislamfuad8072 Před 4 měsíci +1

    nice video bro.. keep this good work up😃😃

  • @Elliot-Dx
    @Elliot-Dx Před 4 měsíci +1

    Now that's some proper explanation, appreciate it... just 1 query though, how do you make multi-layer navbar menu with active state of parent & child ?

    • @hamedbahram
      @hamedbahram  Před 4 měsíci

      I'll have that in mind for future videos.

  • @zvinzv
    @zvinzv Před 4 měsíci +2

    i love it ❤‍🔥, can i know what is the font name used in vscode?

    • @hamedbahram
      @hamedbahram  Před 4 měsíci +1

      My pleasure! My font is Operator mono

  • @sayedalisinasadat2908
    @sayedalisinasadat2908 Před 2 měsíci +1

    it was useful for me and if you have time please make video Radix UI 😍.

    • @hamedbahram
      @hamedbahram  Před 2 měsíci

      For sure! Thanks for the suggestions.

  • @sivadhanushuppalapati4041
    @sivadhanushuppalapati4041 Před 4 měsíci +1

    Hi sir, Installing this UI library increases the project/ application size?
    If so is this to be concerned sir?

    • @hamedbahram
      @hamedbahram  Před 4 měsíci

      This is not a UI library to install, you can copy paste only the components you're using. With or without this you're going to need to write your components.

  • @emmanuelmantilla1465
    @emmanuelmantilla1465 Před 2 měsíci +2

    Hello, just want to add something if you add more themes then tailwind will have problems to know which are dark and which don't, imagine you add 'darkgreen', then TW will treat it as a regular theme, that would be troublesome because if you use (dark:text-white) then that will only be applied to the default dark theme not to the 'darkgreen', in order to tell TW about it you need to specify it in the config file.
    if someone needs to know the code to let tailwind know to which colors apply dark mode just let me know.

    • @hamedbahram
      @hamedbahram  Před 2 měsíci +1

      Wouldn't it be easier with css variables?

  • @dolapoajayi2156
    @dolapoajayi2156 Před 4 měsíci +1

    Nice video man❤..but what if I wanna use a custom orange shade and not Shadcn orange shade?any idea??

    • @hamedbahram
      @hamedbahram  Před 4 měsíci

      Thank you! you can change the css variable values to whatever color you wish.

    • @dolapoajayi2156
      @dolapoajayi2156 Před 4 měsíci +1

      @@hamedbahram yeah I know I can change it but I don’t wanna mess things up that’s why I needed to be sure how to do it..any tips please🙏..I wished you covered that in your video or just guide me🙏🙏

    • @hamedbahram
      @hamedbahram  Před 4 měsíci

      @@dolapoajayi2156 go to the `globals.css` where we have the css variables and change the value to your colors. shadcn uses hsl colors, so you can just replace the values:
      ```
      --foreground: 50 80% 40%;
      ```

  • @fabouwes9240
    @fabouwes9240 Před 3 měsíci

    I've been trying to create another plugging (next to dark/light plugging) which gonna change the color theme, but I haven't succeed so far. I can only have one color more than dark/light. Any ideas?

    • @hamedbahram
      @hamedbahram  Před 3 měsíci

      You have to separate the theming from the light/dark mode.

  • @raymondmichael4987
    @raymondmichael4987 Před 4 měsíci +1

    How to enable both light and dark mode on a particular color, like orange in dark and light mode. ❤😊😊

    • @hamedbahram
      @hamedbahram  Před 4 měsíci

      You can have next-themes control the light and dark and create another theme toggle for the other colors. Then in your CSS you'd have light and dark class for every other theme. Does that make sense?

    • @d4rzk252
      @d4rzk252 Před 4 měsíci +1

      @@hamedbahramSo I will just do .orange.dark {...}, .orange.light {...} in css?

    • @raymondmichael4987
      @raymondmichael4987 Před 4 měsíci +2

      @@hamedbahram
      For light
      .orange{}
      For dark
      .dark .orange {}
      Right?

    • @hamedbahram
      @hamedbahram  Před 4 měsíci +1

      @@raymondmichael4987 Exactly!

    • @hamedbahram
      @hamedbahram  Před 4 měsíci

      @@d4rzk252 Exactly!

  • @MeenaVlogs1313
    @MeenaVlogs1313 Před 2 měsíci

    How can change js html css into next.js ?

  • @MichaelHofweller
    @MichaelHofweller Před 2 dny

    The theme provider adds the dark or light class that then throws this error: Prop `className` did not match. Server: "__className_3a0388 dark" Client: "__className_3a0388" Any help with a fix?

    • @hamedbahram
      @hamedbahram  Před 2 dny +1

      Clone my code and see what you're doing differently. For additional resource read here → github.com/pacocoursey/next-themes?tab=readme-ov-file#avoid-hydration-mismatch

    • @MichaelHofweller
      @MichaelHofweller Před 2 dny

      @@hamedbahram Cool I'll check it out. Thank you! Great videos.

    • @MichaelHofweller
      @MichaelHofweller Před 2 dny

      @@hamedbahram The solution as far as I can tell was the use of supressHydrationWarning in the