diff --git a/frontend/src/app/components/theme-selector/theme-selector.component.html b/frontend/src/app/components/theme-selector/theme-selector.component.html
new file mode 100644
index 000000000..994ade99c
--- /dev/null
+++ b/frontend/src/app/components/theme-selector/theme-selector.component.html
@@ -0,0 +1,6 @@
+
+
+
diff --git a/frontend/src/app/components/theme-selector/theme-selector.component.scss b/frontend/src/app/components/theme-selector/theme-selector.component.scss
new file mode 100644
index 000000000..e69de29bb
diff --git a/frontend/src/app/components/theme-selector/theme-selector.component.ts b/frontend/src/app/components/theme-selector/theme-selector.component.ts
new file mode 100644
index 000000000..7f38844bb
--- /dev/null
+++ b/frontend/src/app/components/theme-selector/theme-selector.component.ts
@@ -0,0 +1,31 @@
+import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
+import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
+import { ThemeService } from '../../services/theme.service';
+
+@Component({
+ selector: 'app-theme-selector',
+ templateUrl: './theme-selector.component.html',
+ styleUrls: ['./theme-selector.component.scss'],
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class ThemeSelectorComponent implements OnInit {
+ themeForm: UntypedFormGroup;
+ themes = ['default', 'contrast'];
+
+ constructor(
+ private formBuilder: UntypedFormBuilder,
+ private themeService: ThemeService,
+ ) { }
+
+ ngOnInit() {
+ this.themeForm = this.formBuilder.group({
+ theme: ['default']
+ });
+ this.themeForm.get('theme')?.setValue(this.themeService.theme);
+ }
+
+ changeTheme() {
+ const newTheme = this.themeForm.get('theme')?.value;
+ this.themeService.apply(newTheme);
+ }
+}
diff --git a/frontend/src/app/shared/components/global-footer/global-footer.component.html b/frontend/src/app/shared/components/global-footer/global-footer.component.html
index cc9cb3538..eee4756a9 100644
--- a/frontend/src/app/shared/components/global-footer/global-footer.component.html
+++ b/frontend/src/app/shared/components/global-footer/global-footer.component.html
@@ -21,6 +21,9 @@
+