shadcn/ui - Theming Wrapped in a Tailwind Plugin/Preset

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 พ.ย. 2024

ความคิดเห็น • 168

  • @Stoney_Eagle
    @Stoney_Eagle ปีที่แล้ว +15

    I appreciate the dark mode ☺

    • @simonswiss
      @simonswiss  ปีที่แล้ว +4

      Heh, I know you're not alone. The TH-cam comments told me wassup with light theme 🤣

    • @touctouctouctouc3440
      @touctouctouctouc3440 ปีที่แล้ว +2

      Just missing the transition slides using dark as well to avoid these flashes in the middle of the night. 😅

  • @dahermora5976
    @dahermora5976 ปีที่แล้ว +17

    Thanks for this master class on improving the shadcn/ui config. I truly apreciate your content, your effort and your work 💪

  • @MithilaMalinda
    @MithilaMalinda ปีที่แล้ว +2

    I missed you dude. Thanks to your tutorials on official Tailwind channel, I'm now really confident in Tailwind

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Awwww, that's awesome to hear!

  • @Hellbending
    @Hellbending ปีที่แล้ว +3

    The level of appreciation I have for creators that make this type of content where they show the whole process, from start to finish like when things break, so as not to freak out about it. And then how to actually fix it is so so so appreciated man.
    Keep it real 💪

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Thank you! I do freak out internally when stuff doesn't go as it should while streaming/recording - but you're right, this is where a lot of the value is!

    • @Hellbending
      @Hellbending ปีที่แล้ว

      @@simonswiss relatable content can be hard to find online (as a whole) so it’s really nice to see the pivots and the “Whoooops… okay… how2fix this” type thing. Always give props to people that have the confidence to shows/demonstrate it.
      (Also speaks volumes for the audience you have, as it likely means you’ve got a positive community here)

  • @amirnoorani5017
    @amirnoorani5017 ปีที่แล้ว +1

    The God of Tailwind 🤩 I've watched most of your tutorials. Although they are professional but I can understand every bit of them

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      That's really nice to hear - thank you! 😍

  • @thegrumpydeveloper
    @thegrumpydeveloper 11 หลายเดือนก่อน +1

    I like that you call it being “nerdsniped” when you get hit doing something else nerdy to procrastinate the thing you were intending to do.

  • @nikhil182
    @nikhil182 ปีที่แล้ว +3

    I've personally used shadcn/ui for my website, it's awesome! Your tutorial is cherry on top, I'll make the components more reusable with this tutorial. Thank you so much Simon✨

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      Haha that's amazing to hear! Glad it's useful. I am yet to use shadcn/ui in a project, but I already see the value and love it 🎉

  • @tommyjames427
    @tommyjames427 10 หลายเดือนก่อน +2

    17:24 How to add @apply in TailwindCSS Config (workaround)

    • @simonswiss
      @simonswiss  10 หลายเดือนก่อน +1

      Yep that's a good trick!

  • @michaeltyiska
    @michaeltyiska 8 หลายเดือนก่อน +1

    This is pure Gold! You should definitely have more views and subscribers.

    • @simonswiss
      @simonswiss  7 หลายเดือนก่อน

      Wow, thank you! I need to be more consistent with my video output as well 😅

  • @Lucas-gt8en
    @Lucas-gt8en ปีที่แล้ว +4

    Very useful information presented in an engaging manner, you’re killing it dude

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Thank you so much - such a nice thing to say!

  •  ปีที่แล้ว +2

    Cool! This will be my new Tailwind Boilerplate :)

  • @ukeshrestha
    @ukeshrestha ปีที่แล้ว +2

    Thank you so much for this video. Your tailwind course was awesome and now this is cherry on top.

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Thank you for saying this! And thank you for your support of my course! Hoping to continue adding cherries on top 🙏

  • @Humpty0Dumpty
    @Humpty0Dumpty ปีที่แล้ว +1

    Right on time, it’s almost like you custom made this video4Me! Thankyou bro❤

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Haha glad I could read your mind!

  • @lucasfranzolin
    @lucasfranzolin ปีที่แล้ว +2

    I missed your videos my friend!! Very useful content for my turborepo! It would be nice if could teach us an approach for setting up a monorepo with shadcn, custom twcss plugins, ui packages and applications... all sharing same ui resources!!

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      That is basically the topic of my next workshop! 👀

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Not sure if you're on Twitter, but check this tweet out. I played with the idea, and it worked brilliantly :)
      twitter.com/simonswiss/status/1669489669795614721

  • @thisisfaaris5838
    @thisisfaaris5838 ปีที่แล้ว +1

    it's awesome! Thank you so much Simon 👍

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Glad you like it! 🤗

  • @zbecknell
    @zbecknell ปีที่แล้ว +1

    An excellent video, as always! I see Simon, I know it's a "thumbs up!"

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Ayyyye, thank you so much! 🙏

  • @oscarsangularchannel3956
    @oscarsangularchannel3956 หลายเดือนก่อน

    Total Genius!!! Thanks for this super video!!! 💌

    • @oscarsangularchannel3956
      @oscarsangularchannel3956 หลายเดือนก่อน +1

      Was hoping you show how to change the color pallet, is that only in your paid course ? 😊

    • @simonswiss
      @simonswiss  หลายเดือนก่อน +1

      Thank you - glad you enjoyed it!

    • @simonswiss
      @simonswiss  หลายเดือนก่อน +1

      As in, having multiple themes with different colors?

    • @oscarsangularchannel3956
      @oscarsangularchannel3956 หลายเดือนก่อน

      @@simonswiss thanks Simon I meant having an organisation color pallet and change the shadcn components to follow that color pallet and be able to apply the organisation’s color palette with tailwindcss. Thank you

  • @FamilyGuyVids11
    @FamilyGuyVids11 4 หลายเดือนก่อน +2

    great video and great channel

    • @simonswiss
      @simonswiss  4 หลายเดือนก่อน

      Thank you! 🙏

  • @navin-moorthy
    @navin-moorthy ปีที่แล้ว +1

    Very useful in making it reusable.

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      It sure is - and also opens up so many possibilities with JavaScript!

  • @anirudhcodes
    @anirudhcodes ปีที่แล้ว +1

    Thanks for the video, really like your explanation

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Awesome, thanks for watching! 🙏

  • @koralior
    @koralior ปีที่แล้ว +2

    Excellent video, as always!
    It's interesting, especially when working with a mono-repo.
    Maybe I should create an ultimate Nx plugin to generate this on my apps :D

    • @simonswiss
      @simonswiss  ปีที่แล้ว +2

      Yeah - the preset in question could (should) be a package in your monorepo, so you can import it in multiple apps ✨
      Haven't used Nx myself, but it works great with Turborepo or even just npm workspaces 👍

  • @paulopma
    @paulopma ปีที่แล้ว

    Nice video, thx for the tips.
    I didn't get the hsl colors shadcn/ui uses. I never coded a design putting colors like: "oh this is pinky, this is redish, this is greenish". No, the designers always want you to put the specific hex.

  • @therubberduckie2244
    @therubberduckie2244 ปีที่แล้ว +1

    this is beyond amazing

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Glad you found it helpful!

  • @w00t360
    @w00t360 ปีที่แล้ว

    Did you figure out the nested plugin section issue thing? I'm supercurious about the root cause and possible "proper" fix! Thanks for all the great vidz!

  • @microspacer
    @microspacer ปีที่แล้ว +1

    French accent just makes it better

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      Zis is ze best comment in ze world

    • @microspacer
      @microspacer ปีที่แล้ว

      @@simonswiss I'm sorry. I don't know what I am saying

  • @buildtheui
    @buildtheui ปีที่แล้ว +2

    Nice video, Simon! What is the reason for creating a plugin instead of doing everything inside the preset, considering that the preset can also be reused across projects?

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Do you mean defining the plugin inside the preset directly? Still need the `addBase` helper from the Plugin API to generate the CSS variable declarations..

  • @jereMIAHjoSEPH
    @jereMIAHjoSEPH ปีที่แล้ว +1

    Very helpful. Thanks Simon. Sidebar: what browser are you using?

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      Thank you! I am using the ARC browser - it's really good!

  • @LuisPerez-cb4rp
    @LuisPerez-cb4rp ปีที่แล้ว +1

    I love this so much. I have been struggling in how to do something similar to this 🙏🏼 thank you

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Nice to hear it helps! ✨

  • @psyferinc.3573
    @psyferinc.3573 10 หลายเดือนก่อน +1

    as always. epicccc

    • @simonswiss
      @simonswiss  10 หลายเดือนก่อน +1

  • @divx976
    @divx976 ปีที่แล้ว +1

    Superbe vidéo 👍

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Merci beaucoup - superbe commentaire 🙏

  • @arifurrahman9133
    @arifurrahman9133 ปีที่แล้ว +1

    Hi simon,thank for vedio

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      You're very welcome!

  • @c3ltic1
    @c3ltic1 ปีที่แล้ว +1

    really cool video :)

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Glad you liked it!

  • @AhmadAwais
    @AhmadAwais ปีที่แล้ว +1

    Hey nice video. I personally don't enjoy writing CSS in JS Objects format. Wish there was a CSX like JSX that acted and felt like CSS, same syntax. That's why I don't go creating TW Plugins.

  • @BarisPalabiyik
    @BarisPalabiyik ปีที่แล้ว +1

    You can use chrome's color picker to get hsl values of whatever color you want. Takes out the guesswork.

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      Yep good point. Guessing game is fun though 😅

    • @Stoney_Eagle
      @Stoney_Eagle ปีที่แล้ว +1

      You can also temporarily make it a valid HSL value so the editor gives you a color picker and then turn it back into numbers 😉

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      @@Stoney_Eagle very clever!

  • @themarksmith
    @themarksmith ปีที่แล้ว +1

    Love your vids!

  • @wingy3181
    @wingy3181 ปีที่แล้ว +3

    Would you create different presets for different themes? but i'm thinking you would need to create a separate plugin for each theme then which doesn't seem very DRY and ideal to me....... in short goal would be to have different presets for different themes and that is all you would need to figure in the consuming application

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Nope - I would have the theme plugin accept a theme object with multiple keys (each supporting light and dark). And then create theme scopes to redefine the CSS variables based on the theme. One plugin for all themes. Checkout protailwind.com/workshops/multi-theme-strategy - this is what we do in that workshop (without the dark/light mode) 👍

  • @OnlyJavascript
    @OnlyJavascript ปีที่แล้ว +1

    wow, this is very clean. thank you so much Simon.

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      You're very welcome!

  • @alkhamistic
    @alkhamistic ปีที่แล้ว +1

    love your vids. Are you able to do a video on your recording and editing process?

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      That's a good idea! I write a bit about it on betterdevscreencasts.com - but making a video is a good idea!

  • @DioArsya
    @DioArsya ปีที่แล้ว +1

    ah, amazing!

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Yeah it's pretty cool ✨

  • @Shubham-yc6nz
    @Shubham-yc6nz ปีที่แล้ว

    Thanks a lot. Got much understanding on shadcn and theming also some tailwind stuff.
    Could you make a ecommerce ui using shadcn? With custom theme/modifications to shadcn😊

  • @good-dev-student
    @good-dev-student ปีที่แล้ว +1

    You are really good 🎉❤

  • @thevasupodcast4561
    @thevasupodcast4561 ปีที่แล้ว +1

    Can you link to the blog you showed in the beginning. Thank you!

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      What blog post do you mean? I show the shadcn/ui docs website (introduction page) at the beginning. Or do you mean something else?

  • @MyExpByMinHtetKo
    @MyExpByMinHtetKo ปีที่แล้ว +1

    I like shadcn and your video.
    I create a new laravel project and install tailwind css and create components using shadcn and base color for "slate".
    And I changed theme primary color to desired custom HSL value from "coolors" color palette website in css variable. And primary color changed for button. But primary color not working for button hover effect.
    Please someone help me.

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Do you have some code to show? Link to a repo?

  • @GauravDLohar
    @GauravDLohar ปีที่แล้ว +1

    Good video✨✨✨
    would you tail me which theme do you using in vscode and font??

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      I'm using Dank Mono as a font, and Nigh Owl as a theme 👍

  • @vigneshs608
    @vigneshs608 ปีที่แล้ว +1

    Awesome stuff, Can you please make the video for cva

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      I am still in the process of moving into my new house and setting up the home office, but I shoudl do this video once I am set up!

  • @OnlyJavascript
    @OnlyJavascript ปีที่แล้ว

    Can you please teach us how to fix positioning the navigation menu drop-down(shadcn).

  • @stanislavvranic1745
    @stanislavvranic1745 ปีที่แล้ว +1

    How we add css className next to the buttonVariants({ variant: "outline"})? it's on 9:40

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      You can use the cn() function provided by shadcn/ui - it uses Tailwind Merge internally :)
      github.com/shadcn-ui/ui/blob/main/templates/next-template/lib/utils.ts#L4-L6

  • @basavarajpatil9821
    @basavarajpatil9821 ปีที่แล้ว +1

    I liked the font that you used in your code editor. Can anyone share the font name please.

    • @jereMIAHjoSEPH
      @jereMIAHjoSEPH ปีที่แล้ว +1

      Dank Mono

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      @@jereMIAHjoSEPH Yep, correct - Dank Mono it is!

  • @ekopurnomo9221
    @ekopurnomo9221 ปีที่แล้ว +1

    thank u, very usefull

    • @simonswiss
      @simonswiss  11 หลายเดือนก่อน

      You are welcome :)

  • @doyaltv2030
    @doyaltv2030 ปีที่แล้ว +2

    Hello, i from bangladesh i love it your video

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Hello, friend! 👋 I am glad you enjoy my videos! ✨

  • @cyberstarcritic
    @cyberstarcritic ปีที่แล้ว

    Can i use this as boilterplate to my projexcts

  • @0xmic
    @0xmic ปีที่แล้ว +1

    For some reason at 11:35 I'm getting an error in VSCode under `'tailwindcss-animate'` in the updated import line. For some reason it's not picking up from my node_modules. Any guesses? Appreciate any help. 🙏

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Hmmmm I remember seeing something like that once too - and I think I was able to resolve it by adding a .d.ts file with "declare module".
      The error/warning should tell you about it.

    • @whyrulikedis8248
      @whyrulikedis8248 ปีที่แล้ว +2

      add "declare module 'tailwindcss-animate';" to global.d.ts in root folder

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      Yes, that seems to solve this issue (and it's what the error modal suggests) @@whyrulikedis8248

  • @owenvey
    @owenvey ปีที่แล้ว

    Awesome video! Do you by chance have the final code uploaded anywhere?

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      I don't right now, but I'll put this in a public repo and share the link!

  • @m__link6499
    @m__link6499 ปีที่แล้ว +1

    I don’t why when I add shadcn in my Next js project, tailwind doesn’t work anymore … Do you know the things to do for handle this sue please? Thank you for your content …

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Perhaps a wrong setting in your content array in the config file? Got a repo to have a look at?

  • @naveeng2003
    @naveeng2003 ปีที่แล้ว +2

    Can we expect a video on cva vs tailwind variants

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      I feel like Tailwind Variants builds on CVA and adds a bit extra functionality? CVA definitely gets a shoutout in the README. I don't thinks a "vs" video will happen - but I might do a video for each library!

  • @good-dev-student
    @good-dev-student ปีที่แล้ว

    You are awesome 😎

  • @redwansikder3847
    @redwansikder3847 10 หลายเดือนก่อน +1

    Gems.

  • @mkroven
    @mkroven ปีที่แล้ว +1

    great explaination, what about react server components, css in js is a nightmare in nextjs 13+.

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      You write CSS-in-JS in a plugin, but what gets spat out is "regular" CSS. It's all just CSS and should work no problem on server (and client) components 👍

  • @sergeykostik1887
    @sergeykostik1887 ปีที่แล้ว +1

    didn't work for me. gives an error message "Error: Cannot find module"

  • @yolla_4
    @yolla_4 ปีที่แล้ว +1

    what font are you using in your vs code?

    • @simonswiss
      @simonswiss  11 หลายเดือนก่อน

      It's called Dank Mono!

  • @hakuna_matata_hakuna
    @hakuna_matata_hakuna 5 หลายเดือนก่อน +1

    i made one that merges a daiyui theme into the variables

    • @simonswiss
      @simonswiss  4 หลายเดือนก่อน +1

      Haha nice one, that's awesome!

  • @sravansuresh7460
    @sravansuresh7460 ปีที่แล้ว +1

  • @brianronin505
    @brianronin505 ปีที่แล้ว

    pra mim não funcionou 🤔 ai eu fiz isso:
    addBase({
    '*': {
    'border-color': 'hsla(var(--border))',
    },
    body: {
    background: 'hsla(var(--background))',
    color: 'hsla(var(--foreground))',
    // '@apply bg-background text-foreground':
    // {},
    },
    })

  • @WebsiteDevelopment-Uk
    @WebsiteDevelopment-Uk ปีที่แล้ว +1

    Impossible to use tailwind in visual studio code as installation is a nightmare. New install video step by step request....

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      What part is a nightmare? What can't you use? Tailwind intellisense not working?

  • @alexpanteli3651
    @alexpanteli3651 ปีที่แล้ว +1

    When I modify tailwind config and thete is some error, next.js crashes. Each time I need to restart server. How do I make it work without having to restart next.js server?

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Hmmm I don't think you can! I had to restart my server in the video too - I just hid that to not make the video any longer than it is 😅

    • @alexpanteli3651
      @alexpanteli3651 ปีที่แล้ว +1

      @@simonswiss oh I see. Thanks.

  • @joscript7846
    @joscript7846 ปีที่แล้ว +1

    What font u using?

  • @AndersonSousa33
    @AndersonSousa33 ปีที่แล้ว

    I got curious about the "fontFamily" that you're setting in this file.

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      Do you have a specific question about it?

    • @AndersonSousa33
      @AndersonSousa33 ปีที่แล้ว

      @@simonswiss Are you using it to specify another font family or something else? I've seen there is a var(--font ), but I haven't seen any var in the css file

  • @mohitpaddhariya
    @mohitpaddhariya ปีที่แล้ว +1

    which font you use in your ide please tell me I want that it is my humble request to you sir.

  • @jayantrohila
    @jayantrohila ปีที่แล้ว

    where to get this plugin

  • @roylesly9782
    @roylesly9782 ปีที่แล้ว +1

    Waoooooo Waoooo and Waooooooo

  • @cb73
    @cb73 ปีที่แล้ว +1

    I created a plugin called inception and imported it into itself. I think I created a black hole.

  • @phantazzor
    @phantazzor ปีที่แล้ว +1

    merci

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      De rien! 🤙

    • @phantazzor
      @phantazzor ปีที่แล้ว +1

      ​ @Simonswissdev pour un niveau pour un niveau intermédiaire comme moi, j'ai pas trop compris l'utilisation même si tu l'a expliqué oralement. J'ai essayé récemment de faire un truc similaire avec Shadcn et Daisy UI dans le même projet et la tu me donne l'étape d'après, juste le fait que ca soit au même endroit

  • @shakapaker
    @shakapaker ปีที่แล้ว +1

    Is it hard to rent a house and become resident of Bangladesh?

  • @EL_PANDA_742
    @EL_PANDA_742 ปีที่แล้ว +1

    so that's only for react, not pure.

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      Yeah, that's not going to work in any environment where Tailwind CSS works, unfortunately.

  • @mazwrld
    @mazwrld ปีที่แล้ว +1

    why have I not subbed until now???

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      I am glad you did now! ❤️

  • @alexpanteli3651
    @alexpanteli3651 ปีที่แล้ว +1

    Simon you have such a great content and yet very few subsribers. Why is that?

    • @simonswiss
      @simonswiss  ปีที่แล้ว +1

      Because I only "recently" started doing stuff on my channel - I poured my heart on the Tailwind Labs channel before that!

    • @alexpanteli3651
      @alexpanteli3651 ปีที่แล้ว +1

      @@simonswiss gotcha. Best of luck with your channel and keep it up

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      @@alexpanteli3651 Thank you - it's been fun creatring videos and engaging with the comments ✨

  • @knowmoredesign
    @knowmoredesign 9 หลายเดือนก่อน +1

    "calm down copilot" 😅

    • @simonswiss
      @simonswiss  9 หลายเดือนก่อน

      🤣 I say this so often 🤣

  • @Al-Misanthropic-Bundy
    @Al-Misanthropic-Bundy ปีที่แล้ว

    HSL ftw

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      OKLCH will probably be the way, takes the best bits of HSL but into the wider color spectrum 🔥

  • @alexpanteli3651
    @alexpanteli3651 ปีที่แล้ว +1

    Alway keep spelling it as shad CDN 😂😂

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      I was convinced it was that and said it "shad CDN" for a whole week!

  • @debtmoneydanger
    @debtmoneydanger ปีที่แล้ว

    Thank you, this is amazing! Any thoughts on how this encapsulated plugin might be used in a Storybook setup? I'm especially wondering about the Storybook preview file that needs the css file imported in? It would now be in the plugin.

    • @simonswiss
      @simonswiss  ปีที่แล้ว

      The plugin injects the styles in the CSS file, so... I _think_ that importing that CSS file in the Storybook preview file should just work 👍

  • @matt3441
    @matt3441 9 หลายเดือนก่อน

    Was anyone able to get this working with Remix? This doesn't seem to work in the remix root.tsx file:
    import stylesheet from '@/styles/globals.css'
    export const links: LinksFunction = () => [
    { rel: "stylesheet", href: stylesheet },
    ];
    Will result in the following error:
    ✘ [ERROR] Build failed with 1 error:
    error: Cannot find module '@/styles/shadcn-presets'
    Require stack:
    - /frontend/tailwind.config.ts [plugin css-file]
    app/root.tsx:21:34:
    21 │ import stylesheet from '@/styles/globals.css';
    ╵ ~~~~~~~~~~~~~~~~~~~~~~~
    This error came from the "onLoad" callback registered here:
    ../../node_modules/.pnpm/@remix-run+dev@2.6.0_@remix-run+serve@2.6.0_typescript@5.3.3/node_modules/@remix-run/dev/dist/compiler/plugins/cssImports.js:77:12:
    77 │ build.onLoad({
    ╵ ~~~~~~