diff --git a/src/app/components/theme-toggle/theme-toggle.html b/src/app/components/theme-toggle/theme-toggle.html
deleted file mode 100644
index 7c4a4a6..0000000
--- a/src/app/components/theme-toggle/theme-toggle.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/src/app/components/theme-toggle/theme-toggle.scss b/src/app/components/theme-toggle/theme-toggle.scss
deleted file mode 100644
index 1aa2fef..0000000
--- a/src/app/components/theme-toggle/theme-toggle.scss
+++ /dev/null
@@ -1,26 +0,0 @@
-.theme-toggle {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 40px;
- height: 40px;
- border: none;
- background: transparent;
- color: var(--text-secondary);
- border-radius: 0.5rem;
- cursor: pointer;
- transition: all 0.25s ease;
-
- &:hover {
- background: var(--bg-tertiary);
- color: var(--primary);
- }
-
- fa-icon {
- transition: transform 0.25s ease;
- }
-
- &:active fa-icon {
- transform: rotate(20deg);
- }
-}
diff --git a/src/app/components/theme-toggle/theme-toggle.spec.ts b/src/app/components/theme-toggle/theme-toggle.spec.ts
deleted file mode 100644
index 30b401d..0000000
--- a/src/app/components/theme-toggle/theme-toggle.spec.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { ThemeToggle } from './theme-toggle';
-
-describe('ThemeToggle', () => {
- let component: ThemeToggle;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- imports: [ThemeToggle]
- })
- .compileComponents();
-
- fixture = TestBed.createComponent(ThemeToggle);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/src/app/components/theme-toggle/theme-toggle.ts b/src/app/components/theme-toggle/theme-toggle.ts
deleted file mode 100644
index 45af37f..0000000
--- a/src/app/components/theme-toggle/theme-toggle.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { Component, inject } from '@angular/core';
-import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
-import { faSun, faMoon, faCircleHalfStroke } from '@fortawesome/free-solid-svg-icons';
-import { ThemeService } from '../../services/theme';
-
-@Component({
- selector: 'app-theme-toggle',
- imports: [FontAwesomeModule],
- templateUrl: './theme-toggle.html',
- styleUrl: './theme-toggle.scss'
-})
-export class ThemeToggle {
- private themeService = inject(ThemeService);
-
- protected readonly faSun = faSun;
- protected readonly faMoon = faMoon;
- protected readonly faCircleHalfStroke = faCircleHalfStroke;
-
- theme = this.themeService.theme;
-
- toggleTheme() {
- this.themeService.toggleTheme();
- }
-
- getIcon() {
- switch (this.theme()) {
- case 'light':
- return this.faSun;
- case 'dark':
- return this.faMoon;
- case 'system':
- return this.faCircleHalfStroke;
- }
- }
-}
diff --git a/src/app/services/theme.spec.ts b/src/app/services/theme.spec.ts
deleted file mode 100644
index e78dc3d..0000000
--- a/src/app/services/theme.spec.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { TestBed } from '@angular/core/testing';
-
-import { Theme } from './theme';
-
-describe('Theme', () => {
- let service: Theme;
-
- beforeEach(() => {
- TestBed.configureTestingModule({});
- service = TestBed.inject(Theme);
- });
-
- it('should be created', () => {
- expect(service).toBeTruthy();
- });
-});
diff --git a/src/app/services/theme.ts b/src/app/services/theme.ts
deleted file mode 100644
index 7616e70..0000000
--- a/src/app/services/theme.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-import { Injectable, signal, effect } from '@angular/core';
-
-export type Theme = 'light' | 'dark' | 'system';
-
-@Injectable({
- providedIn: 'root'
-})
-export class ThemeService {
- private readonly THEME_KEY = 'schuly-theme';
- theme = signal('system');
- isDark = signal(false);
-
- constructor() {
- // Load saved theme or default to system
- const savedTheme = localStorage.getItem(this.THEME_KEY) as Theme;
- if (savedTheme) {
- this.theme.set(savedTheme);
- }
-
- // Update isDark based on theme
- effect(() => {
- const theme = this.theme();
- const systemPrefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
-
- if (theme === 'system') {
- this.isDark.set(systemPrefersDark);
- } else {
- this.isDark.set(theme === 'dark');
- }
-
- this.applyTheme();
- });
-
- // Listen for system theme changes
- window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {
- if (this.theme() === 'system') {
- this.isDark.set(e.matches);
- this.applyTheme();
- }
- });
- }
-
- setTheme(theme: Theme) {
- this.theme.set(theme);
- localStorage.setItem(this.THEME_KEY, theme);
- }
-
- toggleTheme() {
- const currentTheme = this.theme();
- if (currentTheme === 'light') {
- this.setTheme('dark');
- } else if (currentTheme === 'dark') {
- this.setTheme('system');
- } else {
- this.setTheme('light');
- }
- }
-
- private applyTheme() {
- if (this.isDark()) {
- document.documentElement.classList.add('dark');
- } else {
- document.documentElement.classList.remove('dark');
- }
- }
-}