Back to Zitadel

Login App Theme Customization Guide

apps/login/THEME_CUSTOMIZATION.md

5.0.0-base4.0 KB
Original Source

Login App Theme Customization Guide

This guide helps you customize the appearance of your ZITADEL login application for a personalized user experience.

Quick Start

  1. Copy the theme variables you want to customize from .env.theme.example to your .env.local file
  2. Restart your application
  3. Your theme changes will be applied automatically

Theme Options

🔄 Roundness (NEXT_PUBLIC_THEME_ROUNDNESS)

Controls how rounded the UI elements appear:

  • edgy - Sharp, rectangular corners (modern tech, corporate)
  • mid - Medium rounded corners (balanced, professional)
  • full - Fully rounded corners (friendly, approachable)

📱 Layout (NEXT_PUBLIC_THEME_LAYOUT)

Controls the overall page structure:

  • side-by-side - Brand section on left, form on right (desktop view)
  • top-to-bottom - Brand section on top, form below (mobile-first)

📏 Spacing (NEXT_PUBLIC_THEME_SPACING)

Controls spacing and padding throughout the interface:

  • regular - Standard spacing with comfortable padding (p-6, space-y-6)
  • compact - Tighter spacing for information-dense layouts (p-4, space-y-4)

🎨 Appearance (NEXT_PUBLIC_THEME_APPEARANCE)

Complete design philosophies:

  • flat - Minimal flat design with cards matching background color, subtle borders, and normal typography
  • material - Material Design inspired with elevated cards, proper contrast, and medium typography

🖼️ Background Image (NEXT_PUBLIC_THEME_BACKGROUND_IMAGE)

Add a custom background image:

  • Use local images: /images/my-background.jpg (place in public/images/)
  • Use external URLs: https://example.com/background.jpg
  • Leave empty for solid color backgrounds

Example Settings

Tech Startup

env
NEXT_PUBLIC_THEME_ROUNDNESS=full
NEXT_PUBLIC_THEME_LAYOUT=side-by-side
NEXT_PUBLIC_THEME_SPACING=regular
NEXT_PUBLIC_THEME_APPEARANCE=material
NEXT_PUBLIC_THEME_BACKGROUND_IMAGE=/images/tech-gradient.jpg

Corporate Bank

env
NEXT_PUBLIC_THEME_ROUNDNESS=edgy
NEXT_PUBLIC_THEME_LAYOUT=top-to-bottom
NEXT_PUBLIC_THEME_SPACING=regular
NEXT_PUBLIC_THEME_APPEARANCE=material

Minimal SaaS

env
NEXT_PUBLIC_THEME_ROUNDNESS=mid
NEXT_PUBLIC_THEME_LAYOUT=side-by-side
NEXT_PUBLIC_THEME_SPACING=compact
NEXT_PUBLIC_THEME_APPEARANCE=flat

Creative Agency

env
NEXT_PUBLIC_THEME_ROUNDNESS=full
NEXT_PUBLIC_THEME_LAYOUT=top-to-bottom
NEXT_PUBLIC_THEME_SPACING=regular
NEXT_PUBLIC_THEME_APPEARANCE=material
NEXT_PUBLIC_THEME_BACKGROUND_IMAGE=/images/creative-workspace.jpg

Flat Design App

env
NEXT_PUBLIC_THEME_ROUNDNESS=mid
NEXT_PUBLIC_THEME_LAYOUT=side-by-side
NEXT_PUBLIC_THEME_SPACING=compact
NEXT_PUBLIC_THEME_APPEARANCE=flat

Material Design System

env
NEXT_PUBLIC_THEME_ROUNDNESS=mid
NEXT_PUBLIC_THEME_LAYOUT=side-by-side
NEXT_PUBLIC_THEME_SPACING=regular
NEXT_PUBLIC_THEME_APPEARANCE=material

Advanced Customization

For more detailed customization beyond these presets, you can:

  1. Custom CSS: Add your own CSS files in the src/styles/ directory
  2. Component Override: Modify the theme settings in src/lib/theme.ts
  3. Custom Appearances: Add new appearance options to the APPEARANCE_STYLES or SPACING_STYLES objects

Troubleshooting

Theme not applying

  • Ensure you're using NEXT_PUBLIC_ prefix for all theme variables (NEXT_PUBLIC_THEME_ROUNDNESS, NEXT_PUBLIC_THEME_SPACING, NEXT_PUBLIC_THEME_APPEARANCE, etc.)
  • Restart your development server after changing environment variables
  • Check that your .env.local file is in the root of the login app directory

Background image not loading

  • Verify the image path is correct
  • For external URLs, ensure the domain is accessible
  • Check browser console for any loading errors

Layout issues on mobile

  • Test your theme on different screen sizes
  • The top-to-bottom layout is generally more mobile-friendly
  • Some combinations work better on certain screen sizes

Support

For additional customization needs or questions, please refer to the ZITADEL documentation or community forums.