# IThemeService

- File ID: file:vbuljf:ithemeservice-cs
- Path: NexusReader.UI.Shared/Services/IThemeService.cs
- Role: service
- Layer: frontend

## Purpose

Defines an abstraction for a UI theme service that exposes current theme mode, an event for theme changes, and a toggle operation for switching themes.

## Key Details

Interface-only file; no implementation or external calls present. It defines a small UI-facing contract for toggling and observing theme state.

## Symbols

- IThemeService: Defines an abstraction for a UI theme service that exposes current theme mode, an event for theme changes, and a toggle operation for switching themes.
- IsLightMode(): Exposes whether the UI is currently in light mode.
- OnThemeChanged(): Event invoked when the theme changes to notify subscribers.
- ToggleTheme(): Toggles the current theme between light and dark modes (declaration only).
- IThemeService: Abstraction for UI theme management exposing current mode, a change event, and a toggle operation.

## Dependencies

- No resolved dependencies.

## Calls

- No resolved calls.

## Coverage

- Symbols: 5
- Executable symbols: 3
- Executable symbols with control flow: 3
- Grounded edges: 5
- Unresolved references: 0
- Control-flow fragments: 3
- Unresolved jumps: 0
- Unsupported constructs: 0
- Control-flow coverage: 100%
- Required diagrams: 2
- Generated diagrams: 2

## Control Flow Fragments

- IsLightMode: 3 nodes, 2 edges, 0 jumps, 0 unsupported constructs
- OnThemeChanged: 3 nodes, 2 edges, 0 jumps, 0 unsupported constructs
- ToggleTheme: 3 nodes, 2 edges, 0 jumps, 0 unsupported constructs

## Diagrams

### IThemeService Neighborhood

```mermaid
flowchart LR
    class_1a23wve_ithemeservice("IThemeService")
    file_vbuljf_ithemeservice_cs("IThemeService")
    method_1fw96o1_onthemechanged[["OnThemeChanged()"]]
    method_1xxkfgr_islightmode[["IsLightMode()"]]
    method_dw3sqb_toggletheme[["ToggleTheme()"]]
    type_5dm37d_ithemeservice[/"IThemeService"/]
```

### IThemeService Execution Overview

```mermaid
flowchart TD
    class_1a23wve_ithemeservice("IThemeService")
    method_1fw96o1_onthemechanged[["OnThemeChanged()"]]
    method_1xxkfgr_islightmode[["IsLightMode()"]]
    method_dw3sqb_toggletheme[["ToggleTheme()"]]
    class_1a23wve_ithemeservice -->|contains| method_1fw96o1_onthemechanged
    class_1a23wve_ithemeservice -->|contains| method_1xxkfgr_islightmode
    class_1a23wve_ithemeservice -->|contains| method_dw3sqb_toggletheme
```

## Diagram Validation

- Status: pass
