diff --git a/src/components/templates/classic/sections/BaseInfo.tsx b/src/components/templates/classic/sections/BaseInfo.tsx index 966478e..1453fac 100644 --- a/src/components/templates/classic/sections/BaseInfo.tsx +++ b/src/components/templates/classic/sections/BaseInfo.tsx @@ -23,7 +23,7 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const getIcon = (iconName: string | undefined) => { const IconComponent = Icons[iconName as keyof typeof Icons] as React.ElementType; - return IconComponent ? : null; + return IconComponent ? : null; }; const getOrderedFields = React.useMemo(() => { @@ -59,9 +59,9 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf ); const layoutStyles = { - left: { container: "flex items-center justify-between gap-6", leftContent: "flex items-center gap-6 flex-1 min-w-0", fields: "grid grid-cols-2 gap-x-8 gap-y-2 justify-start shrink-0", nameTitle: "text-left min-w-0" }, - right: { container: "flex items-center justify-between gap-6 flex-row-reverse", leftContent: "flex flex-row-reverse justify-start items-center gap-6 flex-1 min-w-0", fields: "grid grid-cols-2 gap-x-8 gap-y-2 justify-start shrink-0", nameTitle: "text-right min-w-0" }, - center: { container: "flex flex-col items-center gap-3", leftContent: "flex flex-col items-center gap-4", fields: "w-full flex justify-center items-center flex-wrap gap-3", nameTitle: "text-center min-w-0" }, + left: { container: "flex items-center justify-between gap-6", leftContent: "flex items-center gap-6 shrink-0 min-w-0 max-w-[42%]", fields: "grid flex-1 min-w-0 grid-cols-2 gap-x-6 gap-y-2 justify-start", nameTitle: "text-left min-w-0 max-w-[16rem] flex-1" }, + right: { container: "flex items-center justify-between gap-6 flex-row-reverse", leftContent: "flex flex-row-reverse justify-start items-center gap-6 shrink-0 min-w-0 max-w-[42%]", fields: "grid flex-1 min-w-0 grid-cols-2 gap-x-6 gap-y-2 justify-start", nameTitle: "text-right min-w-0 max-w-[16rem] flex-1" }, + center: { container: "flex flex-col items-center gap-3", leftContent: "flex flex-col items-center gap-4", fields: "w-full flex justify-center items-center flex-wrap gap-3", nameTitle: "text-center min-w-0 max-w-full" }, }; const styles = layoutStyles[layout as keyof typeof layoutStyles] || layoutStyles.left; @@ -73,10 +73,10 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf {PhotoComponent}
{nameField.visible !== false && basic[nameField.key] && ( - {basic[nameField.key] as string} + {basic[nameField.key] as string} )} {titleField.visible !== false && basic[titleField.key] && ( - {basic[titleField.key] as string} + {basic[titleField.key] as string} )}
@@ -85,17 +85,17 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const customFieldHref = item.custom && "href" in item && typeof item.href === "string" ? item.href : null; return ( - + {useIconMode ? ( -
+
{getIcon(item.icon)} - {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}} + {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}}
) : ( -
- {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} - {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} - {customFieldHref ? {item.value} : {item.value}} +
+ {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} + {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} + {customFieldHref ? {item.value} : {item.value}}
)} diff --git a/src/components/templates/creative/sections/BaseInfo.tsx b/src/components/templates/creative/sections/BaseInfo.tsx index 8b7cd59..4229990 100644 --- a/src/components/templates/creative/sections/BaseInfo.tsx +++ b/src/components/templates/creative/sections/BaseInfo.tsx @@ -25,7 +25,7 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const getIcon = (iconName: string | undefined) => { const IconComponent = Icons[iconName as keyof typeof Icons] as React.ElementType; - return IconComponent ? : null; + return IconComponent ? : null; }; const getOrderedFields = React.useMemo(() => { @@ -61,9 +61,9 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf ); const layoutStyles = { - left: { container: "flex items-center justify-between gap-6", leftContent: "flex items-center gap-6 flex-1 min-w-0", fields: "grid grid-cols-2 gap-x-8 gap-y-2 justify-start shrink-0", nameTitle: "text-left min-w-0" }, - right: { container: "flex items-center justify-between gap-6 flex-row-reverse", leftContent: "flex flex-row-reverse justify-start items-center gap-6 flex-1 min-w-0", fields: "grid grid-cols-2 gap-x-8 gap-y-2 justify-start shrink-0", nameTitle: "text-right min-w-0" }, - center: { container: "flex flex-col items-center gap-3", leftContent: "flex flex-col items-center gap-4", fields: "w-full flex justify-center items-center flex-wrap gap-3", nameTitle: "text-center min-w-0" }, + left: { container: "flex items-center justify-between gap-6", leftContent: "flex items-center gap-6 shrink-0 min-w-0 max-w-[42%]", fields: "grid flex-1 min-w-0 grid-cols-2 gap-x-6 gap-y-2 justify-start", nameTitle: "text-left min-w-0 max-w-[16rem] flex-1" }, + right: { container: "flex items-center justify-between gap-6 flex-row-reverse", leftContent: "flex flex-row-reverse justify-start items-center gap-6 shrink-0 min-w-0 max-w-[42%]", fields: "grid flex-1 min-w-0 grid-cols-2 gap-x-6 gap-y-2 justify-start", nameTitle: "text-right min-w-0 max-w-[16rem] flex-1" }, + center: { container: "flex flex-col items-center gap-3", leftContent: "flex flex-col items-center gap-4", fields: "w-full flex justify-center items-center flex-wrap gap-3", nameTitle: "text-center min-w-0 max-w-full" }, }; const styles = layoutStyles[layout as keyof typeof layoutStyles] || layoutStyles.left; @@ -75,10 +75,10 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf {PhotoComponent}
{nameField.visible !== false && basic[nameField.key] && ( - {basic[nameField.key] as string} + {basic[nameField.key] as string} )} {titleField.visible !== false && basic[titleField.key] && ( - {basic[titleField.key] as string} + {basic[titleField.key] as string} )}
@@ -88,17 +88,17 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const customFieldHref = item.custom && "href" in item && typeof item.href === "string" ? item.href : null; return ( - + {useIconMode ? ( -
+
{getIcon(item.icon)} - {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}} + {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}}
) : ( -
- {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} - {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} - {customFieldHref ? {item.value} : {item.value}} +
+ {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} + {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} + {customFieldHref ? {item.value} : {item.value}}
)} diff --git a/src/components/templates/editorial/sections/BaseInfo.tsx b/src/components/templates/editorial/sections/BaseInfo.tsx index 699bfcc..65a6773 100644 --- a/src/components/templates/editorial/sections/BaseInfo.tsx +++ b/src/components/templates/editorial/sections/BaseInfo.tsx @@ -58,7 +58,7 @@ const BaseInfo: React.FC = ({ basic, globalSettings }) => { const getIcon = (iconName: string | undefined) => { const IconComponent = Icons[iconName as keyof typeof Icons] as React.ElementType; - return IconComponent ? : null; + return IconComponent ? : null; }; const showPhoto = basic.photo && basic.photoConfig?.visible; @@ -71,7 +71,7 @@ const BaseInfo: React.FC = ({ basic, globalSettings }) => { {basic.name && nameField.visible !== false && ( {basic.name} @@ -101,7 +101,7 @@ const BaseInfo: React.FC = ({ basic, globalSettings }) => {
{basic.title} @@ -117,29 +117,29 @@ const BaseInfo: React.FC = ({ basic, globalSettings }) => { : null; return ( -
+
{globalSettings?.useIconMode && ( - + {getIcon(item.custom ? (item as any).icon : basic.icons?.[item.key as keyof typeof basic.icons])} )} -
+
{item.key === "email" ? ( - + {globalSettings?.useIconMode ? "" : `${t(`basicPanel.basicFields.${item.key}`)}: `} {item.value} ) : item.key === "website" || item.key === "github" ? ( - + {globalSettings?.useIconMode ? "" : `${item.label}: `} {item.value.replace(/^https?:\/\//, "")} ) : customFieldHref ? ( - + {item.value} ) : ( - + {globalSettings?.useIconMode ? "" : item.custom diff --git a/src/components/templates/elegant/sections/BaseInfo.tsx b/src/components/templates/elegant/sections/BaseInfo.tsx index 966478e..1453fac 100644 --- a/src/components/templates/elegant/sections/BaseInfo.tsx +++ b/src/components/templates/elegant/sections/BaseInfo.tsx @@ -23,7 +23,7 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const getIcon = (iconName: string | undefined) => { const IconComponent = Icons[iconName as keyof typeof Icons] as React.ElementType; - return IconComponent ? : null; + return IconComponent ? : null; }; const getOrderedFields = React.useMemo(() => { @@ -59,9 +59,9 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf ); const layoutStyles = { - left: { container: "flex items-center justify-between gap-6", leftContent: "flex items-center gap-6 flex-1 min-w-0", fields: "grid grid-cols-2 gap-x-8 gap-y-2 justify-start shrink-0", nameTitle: "text-left min-w-0" }, - right: { container: "flex items-center justify-between gap-6 flex-row-reverse", leftContent: "flex flex-row-reverse justify-start items-center gap-6 flex-1 min-w-0", fields: "grid grid-cols-2 gap-x-8 gap-y-2 justify-start shrink-0", nameTitle: "text-right min-w-0" }, - center: { container: "flex flex-col items-center gap-3", leftContent: "flex flex-col items-center gap-4", fields: "w-full flex justify-center items-center flex-wrap gap-3", nameTitle: "text-center min-w-0" }, + left: { container: "flex items-center justify-between gap-6", leftContent: "flex items-center gap-6 shrink-0 min-w-0 max-w-[42%]", fields: "grid flex-1 min-w-0 grid-cols-2 gap-x-6 gap-y-2 justify-start", nameTitle: "text-left min-w-0 max-w-[16rem] flex-1" }, + right: { container: "flex items-center justify-between gap-6 flex-row-reverse", leftContent: "flex flex-row-reverse justify-start items-center gap-6 shrink-0 min-w-0 max-w-[42%]", fields: "grid flex-1 min-w-0 grid-cols-2 gap-x-6 gap-y-2 justify-start", nameTitle: "text-right min-w-0 max-w-[16rem] flex-1" }, + center: { container: "flex flex-col items-center gap-3", leftContent: "flex flex-col items-center gap-4", fields: "w-full flex justify-center items-center flex-wrap gap-3", nameTitle: "text-center min-w-0 max-w-full" }, }; const styles = layoutStyles[layout as keyof typeof layoutStyles] || layoutStyles.left; @@ -73,10 +73,10 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf {PhotoComponent}
{nameField.visible !== false && basic[nameField.key] && ( - {basic[nameField.key] as string} + {basic[nameField.key] as string} )} {titleField.visible !== false && basic[titleField.key] && ( - {basic[titleField.key] as string} + {basic[titleField.key] as string} )}
@@ -85,17 +85,17 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const customFieldHref = item.custom && "href" in item && typeof item.href === "string" ? item.href : null; return ( - + {useIconMode ? ( -
+
{getIcon(item.icon)} - {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}} + {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}}
) : ( -
- {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} - {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} - {customFieldHref ? {item.value} : {item.value}} +
+ {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} + {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} + {customFieldHref ? {item.value} : {item.value}}
)} diff --git a/src/components/templates/left-right/sections/BaseInfo.tsx b/src/components/templates/left-right/sections/BaseInfo.tsx index 966478e..1453fac 100644 --- a/src/components/templates/left-right/sections/BaseInfo.tsx +++ b/src/components/templates/left-right/sections/BaseInfo.tsx @@ -23,7 +23,7 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const getIcon = (iconName: string | undefined) => { const IconComponent = Icons[iconName as keyof typeof Icons] as React.ElementType; - return IconComponent ? : null; + return IconComponent ? : null; }; const getOrderedFields = React.useMemo(() => { @@ -59,9 +59,9 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf ); const layoutStyles = { - left: { container: "flex items-center justify-between gap-6", leftContent: "flex items-center gap-6 flex-1 min-w-0", fields: "grid grid-cols-2 gap-x-8 gap-y-2 justify-start shrink-0", nameTitle: "text-left min-w-0" }, - right: { container: "flex items-center justify-between gap-6 flex-row-reverse", leftContent: "flex flex-row-reverse justify-start items-center gap-6 flex-1 min-w-0", fields: "grid grid-cols-2 gap-x-8 gap-y-2 justify-start shrink-0", nameTitle: "text-right min-w-0" }, - center: { container: "flex flex-col items-center gap-3", leftContent: "flex flex-col items-center gap-4", fields: "w-full flex justify-center items-center flex-wrap gap-3", nameTitle: "text-center min-w-0" }, + left: { container: "flex items-center justify-between gap-6", leftContent: "flex items-center gap-6 shrink-0 min-w-0 max-w-[42%]", fields: "grid flex-1 min-w-0 grid-cols-2 gap-x-6 gap-y-2 justify-start", nameTitle: "text-left min-w-0 max-w-[16rem] flex-1" }, + right: { container: "flex items-center justify-between gap-6 flex-row-reverse", leftContent: "flex flex-row-reverse justify-start items-center gap-6 shrink-0 min-w-0 max-w-[42%]", fields: "grid flex-1 min-w-0 grid-cols-2 gap-x-6 gap-y-2 justify-start", nameTitle: "text-right min-w-0 max-w-[16rem] flex-1" }, + center: { container: "flex flex-col items-center gap-3", leftContent: "flex flex-col items-center gap-4", fields: "w-full flex justify-center items-center flex-wrap gap-3", nameTitle: "text-center min-w-0 max-w-full" }, }; const styles = layoutStyles[layout as keyof typeof layoutStyles] || layoutStyles.left; @@ -73,10 +73,10 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf {PhotoComponent}
{nameField.visible !== false && basic[nameField.key] && ( - {basic[nameField.key] as string} + {basic[nameField.key] as string} )} {titleField.visible !== false && basic[titleField.key] && ( - {basic[titleField.key] as string} + {basic[titleField.key] as string} )}
@@ -85,17 +85,17 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const customFieldHref = item.custom && "href" in item && typeof item.href === "string" ? item.href : null; return ( - + {useIconMode ? ( -
+
{getIcon(item.icon)} - {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}} + {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}}
) : ( -
- {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} - {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} - {customFieldHref ? {item.value} : {item.value}} +
+ {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} + {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} + {customFieldHref ? {item.value} : {item.value}}
)} diff --git a/src/components/templates/minimalist/sections/BaseInfo.tsx b/src/components/templates/minimalist/sections/BaseInfo.tsx index 966478e..1453fac 100644 --- a/src/components/templates/minimalist/sections/BaseInfo.tsx +++ b/src/components/templates/minimalist/sections/BaseInfo.tsx @@ -23,7 +23,7 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const getIcon = (iconName: string | undefined) => { const IconComponent = Icons[iconName as keyof typeof Icons] as React.ElementType; - return IconComponent ? : null; + return IconComponent ? : null; }; const getOrderedFields = React.useMemo(() => { @@ -59,9 +59,9 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf ); const layoutStyles = { - left: { container: "flex items-center justify-between gap-6", leftContent: "flex items-center gap-6 flex-1 min-w-0", fields: "grid grid-cols-2 gap-x-8 gap-y-2 justify-start shrink-0", nameTitle: "text-left min-w-0" }, - right: { container: "flex items-center justify-between gap-6 flex-row-reverse", leftContent: "flex flex-row-reverse justify-start items-center gap-6 flex-1 min-w-0", fields: "grid grid-cols-2 gap-x-8 gap-y-2 justify-start shrink-0", nameTitle: "text-right min-w-0" }, - center: { container: "flex flex-col items-center gap-3", leftContent: "flex flex-col items-center gap-4", fields: "w-full flex justify-center items-center flex-wrap gap-3", nameTitle: "text-center min-w-0" }, + left: { container: "flex items-center justify-between gap-6", leftContent: "flex items-center gap-6 shrink-0 min-w-0 max-w-[42%]", fields: "grid flex-1 min-w-0 grid-cols-2 gap-x-6 gap-y-2 justify-start", nameTitle: "text-left min-w-0 max-w-[16rem] flex-1" }, + right: { container: "flex items-center justify-between gap-6 flex-row-reverse", leftContent: "flex flex-row-reverse justify-start items-center gap-6 shrink-0 min-w-0 max-w-[42%]", fields: "grid flex-1 min-w-0 grid-cols-2 gap-x-6 gap-y-2 justify-start", nameTitle: "text-right min-w-0 max-w-[16rem] flex-1" }, + center: { container: "flex flex-col items-center gap-3", leftContent: "flex flex-col items-center gap-4", fields: "w-full flex justify-center items-center flex-wrap gap-3", nameTitle: "text-center min-w-0 max-w-full" }, }; const styles = layoutStyles[layout as keyof typeof layoutStyles] || layoutStyles.left; @@ -73,10 +73,10 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf {PhotoComponent}
{nameField.visible !== false && basic[nameField.key] && ( - {basic[nameField.key] as string} + {basic[nameField.key] as string} )} {titleField.visible !== false && basic[titleField.key] && ( - {basic[titleField.key] as string} + {basic[titleField.key] as string} )}
@@ -85,17 +85,17 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const customFieldHref = item.custom && "href" in item && typeof item.href === "string" ? item.href : null; return ( - + {useIconMode ? ( -
+
{getIcon(item.icon)} - {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}} + {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}}
) : ( -
- {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} - {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} - {customFieldHref ? {item.value} : {item.value}} +
+ {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} + {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} + {customFieldHref ? {item.value} : {item.value}}
)} diff --git a/src/components/templates/modern/sections/BaseInfo.tsx b/src/components/templates/modern/sections/BaseInfo.tsx index 5fee121..c4d5bc6 100644 --- a/src/components/templates/modern/sections/BaseInfo.tsx +++ b/src/components/templates/modern/sections/BaseInfo.tsx @@ -25,7 +25,7 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const getIcon = (iconName: string | undefined) => { const IconComponent = Icons[iconName as keyof typeof Icons] as React.ElementType; - return IconComponent ? : null; + return IconComponent ? : null; }; const getOrderedFields = React.useMemo(() => { @@ -61,9 +61,9 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf ); const layoutStyles = { - left: { container: "flex flex-col gap-3", header: "flex items-center gap-4", nameTitle: "text-left min-w-0", fields: "w-full flex flex-col gap-2" }, - right: { container: "flex flex-col gap-3", header: "flex flex-row-reverse items-center gap-4", nameTitle: "text-right min-w-0", fields: "w-full flex flex-col gap-2" }, - center: { container: "flex flex-col items-center gap-3", header: "flex flex-col items-center gap-4", nameTitle: "text-center min-w-0", fields: "w-full flex flex-col gap-2" }, + left: { container: "flex flex-col gap-3", header: "flex items-center gap-4", nameTitle: "text-left min-w-[10rem] max-w-full flex-1", fields: "w-full flex flex-col gap-2" }, + right: { container: "flex flex-col gap-3", header: "flex flex-row-reverse items-center gap-4", nameTitle: "text-right min-w-[10rem] max-w-full flex-1", fields: "w-full flex flex-col gap-2" }, + center: { container: "flex flex-col items-center gap-3", header: "flex flex-col items-center gap-4", nameTitle: "text-center min-w-0 max-w-full", fields: "w-full flex flex-col gap-2" }, }; const styles = layoutStyles[layout as keyof typeof layoutStyles] || layoutStyles.left; @@ -75,10 +75,10 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf {PhotoComponent}
{nameField.visible !== false && basic[nameField.key] && ( - {basic[nameField.key] as string} + {basic[nameField.key] as string} )} {titleField.visible !== false && basic[titleField.key] && ( - {basic[titleField.key] as string} + {basic[titleField.key] as string} )}
@@ -88,17 +88,17 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const customFieldHref = item.custom && "href" in item && typeof item.href === "string" ? item.href : null; return ( - + {useIconMode ? ( -
+
{getIcon(item.icon)} - {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}} + {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}}
) : ( -
- {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} - {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} - {customFieldHref ? {item.value} : {item.value}} +
+ {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} + {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} + {customFieldHref ? {item.value} : {item.value}}
)} diff --git a/src/components/templates/timeline/sections/BaseInfo.tsx b/src/components/templates/timeline/sections/BaseInfo.tsx index 966478e..1453fac 100644 --- a/src/components/templates/timeline/sections/BaseInfo.tsx +++ b/src/components/templates/timeline/sections/BaseInfo.tsx @@ -23,7 +23,7 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const getIcon = (iconName: string | undefined) => { const IconComponent = Icons[iconName as keyof typeof Icons] as React.ElementType; - return IconComponent ? : null; + return IconComponent ? : null; }; const getOrderedFields = React.useMemo(() => { @@ -59,9 +59,9 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf ); const layoutStyles = { - left: { container: "flex items-center justify-between gap-6", leftContent: "flex items-center gap-6 flex-1 min-w-0", fields: "grid grid-cols-2 gap-x-8 gap-y-2 justify-start shrink-0", nameTitle: "text-left min-w-0" }, - right: { container: "flex items-center justify-between gap-6 flex-row-reverse", leftContent: "flex flex-row-reverse justify-start items-center gap-6 flex-1 min-w-0", fields: "grid grid-cols-2 gap-x-8 gap-y-2 justify-start shrink-0", nameTitle: "text-right min-w-0" }, - center: { container: "flex flex-col items-center gap-3", leftContent: "flex flex-col items-center gap-4", fields: "w-full flex justify-center items-center flex-wrap gap-3", nameTitle: "text-center min-w-0" }, + left: { container: "flex items-center justify-between gap-6", leftContent: "flex items-center gap-6 shrink-0 min-w-0 max-w-[42%]", fields: "grid flex-1 min-w-0 grid-cols-2 gap-x-6 gap-y-2 justify-start", nameTitle: "text-left min-w-0 max-w-[16rem] flex-1" }, + right: { container: "flex items-center justify-between gap-6 flex-row-reverse", leftContent: "flex flex-row-reverse justify-start items-center gap-6 shrink-0 min-w-0 max-w-[42%]", fields: "grid flex-1 min-w-0 grid-cols-2 gap-x-6 gap-y-2 justify-start", nameTitle: "text-right min-w-0 max-w-[16rem] flex-1" }, + center: { container: "flex flex-col items-center gap-3", leftContent: "flex flex-col items-center gap-4", fields: "w-full flex justify-center items-center flex-wrap gap-3", nameTitle: "text-center min-w-0 max-w-full" }, }; const styles = layoutStyles[layout as keyof typeof layoutStyles] || layoutStyles.left; @@ -73,10 +73,10 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf {PhotoComponent}
{nameField.visible !== false && basic[nameField.key] && ( - {basic[nameField.key] as string} + {basic[nameField.key] as string} )} {titleField.visible !== false && basic[titleField.key] && ( - {basic[titleField.key] as string} + {basic[titleField.key] as string} )}
@@ -85,17 +85,17 @@ const BaseInfo = ({ basic = {} as BasicInfo, globalSettings, template }: BaseInf const customFieldHref = item.custom && "href" in item && typeof item.href === "string" ? item.href : null; return ( - + {useIconMode ? ( -
+
{getIcon(item.icon)} - {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}} + {item.key === "email" ? {item.value} : customFieldHref ? {item.value} : {item.value}}
) : ( -
- {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} - {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} - {customFieldHref ? {item.value} : {item.value}} +
+ {!item.custom && {t(`basicPanel.basicFields.${item.key}`)}:} + {item.custom && shouldShowCustomFieldLabelPrefix(item) && {item.label}:} + {customFieldHref ? {item.value} : {item.value}}
)}