diff --git a/client/src/components/Settings/Themer/ThemeBuilder/ThemeBuilder.module.css b/client/src/components/Settings/Themer/ThemeBuilder/ThemeBuilder.module.css
new file mode 100644
index 0000000..2c63e13
--- /dev/null
+++ b/client/src/components/Settings/Themer/ThemeBuilder/ThemeBuilder.module.css
@@ -0,0 +1,7 @@
+.ThemeBuilder {
+ margin-bottom: 30px;
+}
+
+.Buttons button:not(:last-child) {
+ margin-right: 10px;
+}
diff --git a/client/src/components/Settings/Themer/ThemeBuilder/ThemeBuilder.tsx b/client/src/components/Settings/Themer/ThemeBuilder/ThemeBuilder.tsx
index c95eb38..0762f13 100644
--- a/client/src/components/Settings/Themer/ThemeBuilder/ThemeBuilder.tsx
+++ b/client/src/components/Settings/Themer/ThemeBuilder/ThemeBuilder.tsx
@@ -1,3 +1,21 @@
-export const ThemeBuilder = (): JSX.Element => {
- return
theme builder
;
+import { Theme } from '../../../../interfaces';
+import { Button } from '../../../UI';
+import { ThemeGrid } from '../ThemeGrid/ThemeGrid';
+import classes from './ThemeBuilder.module.css';
+
+interface Props {
+ themes: Theme[];
+}
+
+export const ThemeBuilder = ({ themes }: Props): JSX.Element => {
+ return (
+
+
+
+
+
+ {themes.length && }
+
+
+ );
};
diff --git a/client/src/components/Settings/Themer/Themer.tsx b/client/src/components/Settings/Themer/Themer.tsx
index f8de5ec..3bcaa2e 100644
--- a/client/src/components/Settings/Themer/Themer.tsx
+++ b/client/src/components/Settings/Themer/Themer.tsx
@@ -15,13 +15,17 @@ import { ThemeGrid } from './ThemeGrid/ThemeGrid';
// Other
import { State } from '../../../store/reducers';
-import { inputHandler, themeSettingsTemplate } from '../../../utility';
+import {
+ inputHandler,
+ parseThemeToPAB,
+ themeSettingsTemplate,
+} from '../../../utility';
export const Themer = (): JSX.Element => {
const {
auth: { isAuthenticated },
config: { loading, config },
- theme: { themes },
+ theme: { themes, userThemes },
} = useSelector((state: State) => state);
const dispatch = useDispatch();
@@ -44,7 +48,7 @@ export const Themer = (): JSX.Element => {
e.preventDefault();
// Save settings
- await updateConfig(formData);
+ await updateConfig({ ...formData });
};
// Input handler
@@ -65,8 +69,14 @@ export const Themer = (): JSX.Element => {
{!themes.length ? : }
- {/*
- */}
+ {!userThemes.length ? (
+ isAuthenticated && 'auth and empty'
+ ) : (
+
+
+
+
+ )}
{isAuthenticated && (