• Blog
  • Documentation
  • Courses
  • Changelog
  • AI Starters
  • UI Kit
  • FAQ
  • Supamode
    New
  • Pricing

Launch your next SaaS in record time with Makerkit, a React SaaS Boilerplate for Next.js and Supabase.

Makerkit is a product of Makerkit Pte Ltd (registered in the Republic of Singapore)Company Registration No: 202407149CFor support or inquiries, please contact us

About
  • FAQ
  • Contact
  • Verify your Discord
  • Consultation
  • Open Source
  • Become an Affiliate
Product
  • Documentation
  • Blog
  • Changelog
  • UI Blocks
  • Figma UI Kit
  • AI SaaS Starters
License
  • Activate License
  • Upgrade License
  • Invite Member
Legal
  • Terms of License
    • Adding API Routes
    • Change Authentication strategy
    • Fetching the signed in User
    • Reading a Document
    • Creating a Document
    • Configuring Plans
    • Project Configuration
    • Updating the Navigation menu
    • Adding a new translation string
    • Guarding an API Route
    • Adding Pages
    • Updating the Sidebar menu
    • Require Email Verification
    • Fetching the selected Organization
    • Reading a list of Documents
    • Updating a Document
    • Running the Stripe Webhook locally
    • Branding
    • Setting a Default Language
    • Dark Theme
    • Theming
    • Calling API Routes from the client
    • Deleting a Document
    • Updating the Logo
    • Adding a new language in the Next.js Firebase SaaS Kit
    • Checking CSRF Tokens
    • Passing data from server to client
    • Updating the Fonts
    • Adding Pages
    • Guarding Pages
    • Using Lemon Squeezy instead of Stripe
    • Updating the Favicons
    • Using the Language Switcher
    • Environment variables
    • Detect current Locale
    • Setting up Emails

Setting up the dark theme in Next.js Firebase

How to set up the dark theme in Next.js Firebase SaaS Kit

Makerkit supports by default a dark theme. With that said, you can decide to opt-out of the dark theme and use the light theme only instead using the configuration below.

Using the dark theme by default

To use the dark theme by default, you need to edit the following configuration to your src/configuration.ts file:

src/configuration.ts
{
features: {
enableThemeSwitcher: true,
},
theme: Themes.Dark,
}

Users can still opt-out of the dark theme by using the theme switcher in the top right corner of the page.

Using only the dark theme

To switch to the dark theme, you need to edit the following configuration to your src/configuration.ts file:

src/configuration.ts
{
features: {
enableThemeSwitcher: false,
},
theme: Themes.Dark,
}

Disabling the dark theme

To disable the dark theme and only use the light theme - you need to edit the following configuration to your src/configuration.ts file:

src/configuration.ts
{
features: {
enableThemeSwitcher: false,
},
theme: Themes.Light,
}

In the above, we flipped the features.enableThemeSwitcher flag to false and set the theme to Themes.Light.

Detecting the current theme

To detect the currently selected theme, you can use the following snippet:

tsx
import { ThemeContext } from '~/core/contexts/theme';
<ThemeContext.Consumer>
{(theme) => {
const isDark = theme === 'dark';
}
</ThemContext.Consumer>
On this page
  1. Using the dark theme by default
    1. Using only the dark theme
      1. Disabling the dark theme
        1. Detecting the current theme