svelte-runes Svelte Themes

Svelte Runes

Svelte Runes Todo App

A modern, animated todo application built with Svelte 5 (Runes), SvelteKit, and Tailwind CSS v4. Features a beautiful dark/light theme toggle, smooth animations, and internationalization support.

๐Ÿ“ธ Screenshot

โœจ Features

  • ๐ŸŽฏ Todo Management - Add, complete, filter, and delete todos
  • ๐ŸŒ“ Dark/Light Theme - Smooth theme switching with system preference detection
  • ๐ŸŽจ Beautiful Animations - Smooth transitions and micro-interactions
  • ๐ŸŒ Internationalization - Multi-language support (English/Portuguese) with Paraglide
  • ๐Ÿ“ฑ Responsive Design - Works perfectly on all device sizes
  • โšก Modern Stack - Svelte 5 Runes, SvelteKit, Tailwind CSS v4
  • ๐ŸŽญ Accessibility - ARIA labels and keyboard navigation
  • ๐Ÿงช Testing - Unit tests with Vitest and E2E tests with Playwright

๐Ÿš€ Quick Start

# Clone the repository
git clone <your-repo-url>
cd svelte-runes

# Install dependencies
pnpm install

# Start development server
pnpm dev

# Open in browser
open http://localhost:5173

๐Ÿ› ๏ธ Development

Available Scripts

# Development
pnpm dev              # Start dev server
pnpm build            # Build for production
pnpm preview          # Preview production build

# Code Quality
pnpm lint             # Run linter
pnpm format           # Format code with Prettier
pnpm check            # Type check with svelte-check

# Testing
pnpm test:unit        # Run unit tests
pnpm test:e2e         # Run E2E tests
pnpm test             # Run all tests

Project Structure

src/
โ”œโ”€โ”€ lib/
โ”‚   โ”œโ”€โ”€ components/           # Svelte components
โ”‚   โ”‚   โ”œโ”€โ”€ ThemeToggle.svelte   # Dark/light theme switcher
โ”‚   โ”‚   โ”œโ”€โ”€ TodoApp.svelte       # Main todo application
โ”‚   โ”‚   โ”œโ”€โ”€ TodoInput.svelte     # Todo input form
โ”‚   โ”‚   โ”œโ”€โ”€ TodoList.svelte      # Todo list container
โ”‚   โ”‚   โ”œโ”€โ”€ TodoItem.svelte      # Individual todo item
โ”‚   โ”‚   โ”œโ”€โ”€ TodoFilters.svelte   # Filter and actions
โ”‚   โ”‚   โ””โ”€โ”€ TodoStats.svelte     # Statistics display
โ”‚   โ”œโ”€โ”€ stores/
โ”‚   โ”‚   โ””โ”€โ”€ theme.ts          # Theme management store
โ”‚   โ”œโ”€โ”€ types/
โ”‚   โ”‚   โ””โ”€โ”€ todo.ts           # TypeScript types
โ”‚   โ””โ”€โ”€ paraglide/            # Internationalization
โ”œโ”€โ”€ routes/
โ”‚   โ”œโ”€โ”€ +layout.svelte        # App layout
โ”‚   โ”œโ”€โ”€ +page.svelte          # Home page
โ”‚   โ””โ”€โ”€ demo/                 # Demo pages
โ”œโ”€โ”€ app.css                   # Global styles & animations
โ””โ”€โ”€ app.html                  # HTML template

๐ŸŽจ Animations & Interactions

The app features smooth, performant animations built with CSS transforms:

  • Fade In - Components smoothly appear on load
  • Scale Effects - Interactive elements scale on hover/focus
  • Bounce Animations - Celebration effects for completed todos
  • Slide Transitions - Smooth movement for dynamic content
  • Icon Animations - Rotating sun icon and interactive moon icon

๐ŸŒ™ Theme System

The theme system uses Tailwind CSS v4's new configuration approach:

  • System Detection - Automatically detects user's preferred color scheme
  • Local Storage - Remembers theme preference across sessions
  • CSS Classes - Uses .dark class on <html> element
  • Smooth Transitions - All theme changes are animated

๐ŸŒ Internationalization

Built with Paraglide for type-safe i18n:

  • English (en) - Default language
  • Portuguese (pt) - Secondary language
  • Type Safety - Compile-time checks for translation keys
  • Dynamic Loading - Efficient bundle splitting per locale

๐Ÿงช Testing

Unit Tests (Vitest)

pnpm test:unit

E2E Tests (Playwright)

pnpm test:e2e

๐Ÿ—๏ธ Tech Stack

๐Ÿ“ License

This project is open source and available under the MIT License.

Top categories

Loading Svelte Themes