diff --git a/app/Core/Widget/@form.latte b/app/Core/Widget/@form.latte
index fb1ffa5..b952f8c 100644
--- a/app/Core/Widget/@form.latte
+++ b/app/Core/Widget/@form.latte
@@ -14,15 +14,30 @@
{* General form field definition (input, select, textarea) using switch *}
{define input, string $type, string $name, int $columns = 12, string $class, int $rows = 3}
- {label $name, class: 'form-label' /}
- {switch $type}
- {case 'text'}
- {case 'select'}
- {case 'textarea'}
- {/switch}
+ {label $name, class => "form-label" /}
+ {do $inputClass = "form-control"}
+ {if $type in [text, datetime, file]}
+ {input $name, class => $class
+ ? "$inputClass $class"
+ : "$inputClass"}
+
+ {elseif $type === 'select'}
+ {do $inputClass = "form-select"}
+ {input $name, class => $class
+ ? "$inputClass $class"
+ : "$inputClass"}
+
+ {elseif $type === 'textarea'}
+ {input $name, rows => $rows, class => $class
+ ? "$inputClass $class"
+ : "$inputClass"}
+ {/if}
{/define}
{define submit, string $name, string $class}
-
+ {do $inputClass = "btn btn-primary text-white"}
+ {input $name, class => $class
+ ? "$inputClass $class"
+ : "$inputClass"}
{/define}