Sections
Getting Started
Components
- DocTabs
- Callout
- ComponentPreview
- CommandMenu
- CopyButton
- DocsSidebar
- DocsTableOfContents
- PageHeader
- SiteHeader
- CopyCodeButton
- DocsCopyPage
- CodeBlockCommand
- CommandMenuItem
- CommandMenuKbd
- GitHubLink
- LucideIcon
- MainNav
- MobileNav
- ModeSwitcher
- PageHeaderDescription
- PageHeaderHeading
- SiteBody
- SiteConfig
- SiteFooter
- OgImage (Custom)
The ModeSwitcher component provides a simple way to toggle between light and dark color modes.
Usage
<script setup lang="ts">
import { ModeSwitcher } from '@/components/ModeSwitcher'
</script>
<template>
<ModeSwitcher />
</template>Features
- Cycles between light and dark modes
- Uses Nuxt Color Mode module
- Custom theme icon
- Accessible with screen reader text
API Reference
ModeSwitcher
No props. Automatically uses useColorMode() composable.
Behavior
- Click to cycle: light → dark → light
- Persists preference in localStorage
- Updates immediately on click
- Uses system preference as default
Customization
The component uses a custom SVG icon. To customize:
- Replace the SVG path in
ModeSwitcher.vue - Or use a Lucide icon instead
Integration
Requires @nuxtjs/color-mode module to be installed and configured in nuxt.config.ts.