feat: add component for footer
This commit is contained in:
parent
dbe12845b0
commit
216a579564
|
|
@ -61,11 +61,9 @@ export default function VtCountrySelectClient({
|
||||||
const selectedItem = useMemo(() => {
|
const selectedItem = useMemo(() => {
|
||||||
return items.find((i) => i.text === value)
|
return items.find((i) => i.text === value)
|
||||||
}, [items, value])
|
}, [items, value])
|
||||||
|
|
||||||
if (!triggerText && items.length === 0) {
|
if (!triggerText && items.length === 0) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Select value={value} onValueChange={handleChange}>
|
<Select value={value} onValueChange={handleChange}>
|
||||||
<Select.Trigger
|
<Select.Trigger
|
||||||
|
|
@ -87,7 +85,7 @@ export default function VtCountrySelectClient({
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
{selectedItem?.text.toUpperCase() || value} <ChevronDown />
|
{props.trigger?.isDisplayFullname ? (selectedItem?.label || value) : (selectedItem?.text.toUpperCase() || value)} <ChevronDown />
|
||||||
</Select.Trigger>
|
</Select.Trigger>
|
||||||
<Select.Content>
|
<Select.Content>
|
||||||
{items.length > 0 &&
|
{items.length > 0 &&
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
import { LayoutComponentDefinition, LayoutContext } from "@vibentec/component-map"
|
||||||
|
import { DynamicLayoutRenderer } from "@vibentec/renderer"
|
||||||
|
|
||||||
|
export default function VtSocialLinks({
|
||||||
|
nodes,
|
||||||
|
context,
|
||||||
|
}: {
|
||||||
|
nodes: LayoutComponentDefinition
|
||||||
|
context: LayoutContext
|
||||||
|
}) {
|
||||||
|
const props = nodes.config ?? {}
|
||||||
|
return (
|
||||||
|
<div className={props.className ?? ""}>
|
||||||
|
{nodes.children && <DynamicLayoutRenderer nodes={nodes.children} context={context} />}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
@ -22,6 +22,7 @@ import VtInput from "@modules/layout/templates/vt-input"
|
||||||
import VtCurrencySelect from "@modules/layout/templates/vt-currency-select"
|
import VtCurrencySelect from "@modules/layout/templates/vt-currency-select"
|
||||||
import VtMenuItem from "@modules/layout/templates/vt-menu-item"
|
import VtMenuItem from "@modules/layout/templates/vt-menu-item"
|
||||||
import VtCountryCodeSelect from "@modules/layout/templates/vt-country-select/server"
|
import VtCountryCodeSelect from "@modules/layout/templates/vt-country-select/server"
|
||||||
|
import VtSocialLinks from "@modules/layout/templates/vt-social-link"
|
||||||
|
|
||||||
type ComponentConfig = Record<string, any>;
|
type ComponentConfig = Record<string, any>;
|
||||||
|
|
||||||
|
|
@ -69,6 +70,7 @@ export const componentMap: Record<string, ComponentRenderer> = {
|
||||||
VtCartButton: nodesContextRenderer(VtCartButton),
|
VtCartButton: nodesContextRenderer(VtCartButton),
|
||||||
VtCurrencySelect: nodesContextRenderer(VtCurrencySelect),
|
VtCurrencySelect: nodesContextRenderer(VtCurrencySelect),
|
||||||
VtCountryCodeSelect: nodesContextRenderer(VtCountryCodeSelect),
|
VtCountryCodeSelect: nodesContextRenderer(VtCountryCodeSelect),
|
||||||
|
VtSocialLinks: nodesContextRenderer(VtSocialLinks),
|
||||||
Link: nodesContextRenderer(VtLink),
|
Link: nodesContextRenderer(VtLink),
|
||||||
Input: nodesContextRenderer(VtInput),
|
Input: nodesContextRenderer(VtInput),
|
||||||
Image: nodesContextRenderer(VtImage),
|
Image: nodesContextRenderer(VtImage),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue