refactor: add themed form components for consistent shop styling
Adds reusable Phoenix components (shop_input, shop_textarea, shop_select, shop_button, shop_card) backed by semantic CSS classes (.themed-input, .themed-button, etc.) to eliminate repeated inline styles across templates. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -240,6 +240,57 @@
|
||||
color: var(--t-text-inverse);
|
||||
}
|
||||
}
|
||||
|
||||
/* Themed Form Controls */
|
||||
& .themed-input {
|
||||
background-color: var(--t-surface-base);
|
||||
color: var(--t-text-primary);
|
||||
border: 1px solid var(--t-border-default);
|
||||
border-radius: var(--t-radius-input);
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
border-color: hsl(var(--t-accent-h) var(--t-accent-s) var(--t-accent-l));
|
||||
}
|
||||
|
||||
&::placeholder {
|
||||
color: var(--t-text-tertiary);
|
||||
}
|
||||
}
|
||||
|
||||
& .themed-select {
|
||||
background-color: var(--t-surface-raised);
|
||||
color: var(--t-text-primary);
|
||||
border: 1px solid var(--t-border-default);
|
||||
border-radius: var(--t-radius-input);
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
border-color: hsl(var(--t-accent-h) var(--t-accent-s) var(--t-accent-l));
|
||||
}
|
||||
}
|
||||
|
||||
& .themed-button {
|
||||
background-color: hsl(var(--t-accent-h) var(--t-accent-s) var(--t-accent-l));
|
||||
color: var(--t-text-inverse);
|
||||
border-radius: var(--t-radius-button);
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
& .themed-button-outline {
|
||||
background-color: transparent;
|
||||
color: var(--t-text-primary);
|
||||
border: 1px solid var(--t-border-default);
|
||||
border-radius: var(--t-radius-button);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
& .themed-card {
|
||||
background-color: var(--t-surface-raised);
|
||||
border: 1px solid var(--t-border-default);
|
||||
border-radius: var(--t-radius-card);
|
||||
}
|
||||
}
|
||||
|
||||
/* Shop nav display - hidden on mobile, flex on md+ (via Tailwind classes in component) */
|
||||
|
||||
Reference in New Issue
Block a user