{"path":"NexusReader.UI.Shared/Services/IThemeService.cs","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.","classification":{"role":"service","layer":"frontend","confidence":0.8,"evidence":["Service naming pattern","Application/service path heuristic","Namespace NexusReader.UI.Shared.Services","Interface named IThemeService with theme-related members (IsLightMode, OnThemeChanged, ToggleTheme)"]},"className":"IThemeService","methods":[{"name":"IsLightMode","line":5,"endLine":5,"signature":"() -> bool (property getter)","purpose":"Exposes whether the UI is currently in light mode.","calls":[],"actions":[{"id":"property_5","kind":"mapping","label":"read-only theme mode","line":5,"detail":"bool getter indicating light/dark mode","visibility":"detail-only","confidence":0.7}]},{"name":"OnThemeChanged","line":6,"endLine":6,"signature":"event Func<Task>? -> event","purpose":"Event invoked when the theme changes to notify subscribers.","calls":[],"actions":[{"id":"event-declaration_6","kind":"mapping","label":"Theme change notification","line":6,"detail":"Event of type Func<Task>? intended for subscribers to react to theme changes","visibility":"detail-only","confidence":0.7}]},{"name":"ToggleTheme","line":7,"endLine":7,"signature":"() -> Task","purpose":"Toggles the current theme between light and dark modes (declaration only).","calls":[],"actions":[]}],"types":[{"name":"IThemeService","kind":"interface","line":3,"purpose":"Abstraction for UI theme management exposing current mode, a change event, and a toggle operation.","fields":[{"name":"IsLightMode","type":"bool","required":true,"line":5,"description":"Read-only property indicating whether light theme is active"},{"name":"OnThemeChanged","type":"Func<Task>?","required":false,"line":6,"description":"Event that subscribers can register to be notified when the theme changes"}]}],"serviceRegistrations":[],"startupActions":[],"dependencies":[],"patterns":["Service","Observer (event)"],"domainConcepts":["Theme","Light/Dark mode"],"keyDetails":"Interface-only file; no implementation or external calls present. It defines a small UI-facing contract for toggling and observing theme state.","orchestrationMethods":[],"typedContracts":[{"name":"IThemeService","kind":"interface","line":3,"fieldCount":2,"evidencePaths":["NexusReader.UI.Shared/Services/IThemeService.cs"]}],"persistenceInteractions":[],"externalInteractions":[],"evidenceAnchors":[{"kind":"typed-contract","label":"IThemeService","line":3,"summary":"interface with 2 fields.","confidence":0.8,"evidencePaths":["NexusReader.UI.Shared/Services/IThemeService.cs"]}],"cacheMetadata":{"schemaVersion":2,"analysisVersion":"2026-05-23.cache-v1","contentChecksum":"e34484a0fca7076ca7f0c9f45dd4001258c48cb80e24395faa06783a2700a98c","sourceByteSize":178,"analyzedAt":"2026-05-23T16:22:15.005Z","technology":"dotnet"}}