diff --git a/ui/.eslintrc.js b/ui/.eslintrc.js
index f519918..e06986a 100644
--- a/ui/.eslintrc.js
+++ b/ui/.eslintrc.js
@@ -1,29 +1,31 @@
-module.exports = {
- env: {
- browser: true,
- es2021: true,
- },
- extends: [
- 'eslint:recommended',
- 'plugin:react/recommended',
- 'plugin:@typescript-eslint/recommended',
- 'plugin:prettier/recommended',
- ],
- overrides: [],
- parser: '@typescript-eslint/parser',
- parserOptions: {
- ecmaVersion: 'latest',
- sourceType: 'module',
- },
- plugins: ['react', '@typescript-eslint', 'simple-import-sort'],
- rules: {
- '@typescript-eslint/explicit-function-return-type': [
- 'error',
- { allowExpressions: true },
- ],
- '@typescript-eslint/no-namespace': 'off',
- 'simple-import-sort/imports': 2,
- '@typescript-eslint/explicit-function-return-type': 'off',
- 'no-console': 'error',
- },
-};
+module.exports = {
+ env: {
+ browser: true,
+ es2021: true,
+ },
+ extends: [
+ 'eslint:recommended',
+ 'plugin:react/recommended',
+ 'plugin:@typescript-eslint/recommended',
+ 'plugin:prettier/recommended',
+ ],
+ overrides: [],
+ parser: '@typescript-eslint/parser',
+ parserOptions: {
+ ecmaVersion: 'latest',
+ sourceType: 'module',
+ },
+ plugins: ['react', '@typescript-eslint', 'simple-import-sort'],
+ rules: {
+ '@typescript-eslint/explicit-function-return-type': [
+ 'error',
+ {
+ allowExpressions: true,
+ },
+ ],
+ '@typescript-eslint/no-namespace': 'off',
+ 'simple-import-sort/imports': 2,
+ '@typescript-eslint/explicit-function-return-type': 'off',
+ 'no-console': 'error',
+ },
+};
diff --git a/ui/.storybook/main.js b/ui/.storybook/main.js
new file mode 100644
index 0000000..e5e078f
--- /dev/null
+++ b/ui/.storybook/main.js
@@ -0,0 +1,16 @@
+module.exports = {
+ stories: ['../src/**/*.stories.@(js|jsx|ts|tsx)'],
+ addons: [
+ '@storybook/addon-links',
+ '@storybook/addon-essentials',
+ '@storybook/addon-interactions',
+ 'storybook-dark-mode',
+ ],
+ framework: '@storybook/react',
+ core: {
+ builder: '@storybook/builder-vite',
+ },
+ features: {
+ storyStoreV7: true,
+ },
+};
diff --git a/ui/.storybook/preview-head.html b/ui/.storybook/preview-head.html
new file mode 100644
index 0000000..05da1e9
--- /dev/null
+++ b/ui/.storybook/preview-head.html
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/ui/.storybook/preview.js b/ui/.storybook/preview.js
new file mode 100644
index 0000000..b774878
--- /dev/null
+++ b/ui/.storybook/preview.js
@@ -0,0 +1,9 @@
+export const parameters = {
+ actions: { argTypesRegex: '^on[A-Z].*' },
+ controls: {
+ matchers: {
+ color: /(background|color)$/i,
+ date: /Date$/,
+ },
+ },
+};
diff --git a/ui/index.html b/ui/index.html
index 395cbfb..8a7863a 100644
--- a/ui/index.html
+++ b/ui/index.html
@@ -7,6 +7,10 @@
type="image/svg+xml"
href="https://lh3.googleusercontent.com/a-/ACNPEu94rLyADmAJ80HamM8yp4ddV3AzoaMz3whdBH0D=s80-p"
/>
+