From ec0578c64cb7a082e75e59905162342b18df9ba4 Mon Sep 17 00:00:00 2001
From: Christophe <christophe.misc+git@protonmail.ch>
Date: Sun, 17 Sep 2023 13:40:52 +0200
Subject: [PATCH] fix(template): fix not using select input

---
 frontend/components/template/Form.tsx        | 19 ++++++++++---------
 frontend/components/template/SelectInput.tsx |  2 +-
 frontend/components/template/TextInput.tsx   |  2 +-
 3 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/frontend/components/template/Form.tsx b/frontend/components/template/Form.tsx
index 71d3ea8..089b64c 100644
--- a/frontend/components/template/Form.tsx
+++ b/frontend/components/template/Form.tsx
@@ -7,19 +7,20 @@ import { CutterField } from 'lib/client';
 
 type FormFieldProps = { field: CutterField; flagged: boolean };
 const Formfield: FC<FormFieldProps> = ({ field, flagged }) => {
-    // TODO: type assertion because API schema issues
-    const defaultValue = field.default as string | boolean;
-
     return (
         <div className={field.default === BLANK_FIELD ? '-mb-3' : ''}>
             <label htmlFor={field.name}>{field.prompt ?? field.name}</label>{' '}
             {flagged && <Badge type="warning">Missing</Badge>}
-            {field.default != BLANK_FIELD &&
-                (typeof defaultValue == 'string' ? (
-                    <TextInput field={field} flagged={flagged} className="mt-1" />
-                ) : Array.isArray(defaultValue) ? (
-                    <SelectInput field={field} flagged={flagged} className="mt-1" />
-                ) : undefined)}
+            {field.default != BLANK_FIELD && (
+                <>
+                    {field.type === 'text' && (
+                        <TextInput field={field} flagged={flagged} className="mt-1" />
+                    )}
+                    {field.type === 'select' && (
+                        <SelectInput field={field} flagged={flagged} className="mt-1" />
+                    )}
+                </>
+            )}
         </div>
     );
 };
diff --git a/frontend/components/template/SelectInput.tsx b/frontend/components/template/SelectInput.tsx
index 2e10149..4ea8eb5 100644
--- a/frontend/components/template/SelectInput.tsx
+++ b/frontend/components/template/SelectInput.tsx
@@ -12,7 +12,7 @@ const SelectInput: FC<SelectInputProps> = ({ field, flagged = false, className }
         <select
             name={field.name}
             id={field.name}
-            className={clsx('selectpicker form-control', flagged && 'border-warning', className)}
+            className={clsx('rounded', flagged && 'border-warning', className)}
         >
             {field.options?.map((option) => (
                 <option value={option.name} key={option.name}>
diff --git a/frontend/components/template/TextInput.tsx b/frontend/components/template/TextInput.tsx
index 98f9813..06f0901 100644
--- a/frontend/components/template/TextInput.tsx
+++ b/frontend/components/template/TextInput.tsx
@@ -10,7 +10,7 @@ type TextInputProps = {
 const TextInput: FC<TextInputProps> = ({ field, flagged = false, className }) => {
     return (
         <input
-            className={clsx('input', flagged && 'border-warning', className)}
+            className={clsx('rounded input', flagged && 'border-warning', className)}
             type="text"
             name={field.name}
             id={field.name}
-- 
GitLab