mirror of
https://github.com/DI0IK/homepage-plus.git
synced 2025-07-10 15:28:47 +00:00
Allow widget field visibility to be configurable
This commit is contained in:
parent
756f6310af
commit
9b7d6b196f
30 changed files with 246 additions and 219 deletions
|
@ -1,6 +1,9 @@
|
|||
import { useTranslation } from "next-i18next";
|
||||
import classNames from "classnames";
|
||||
|
||||
export default function Block({ value, label }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<div
|
||||
className={classNames(
|
||||
|
@ -9,7 +12,7 @@ export default function Block({ value, label }) {
|
|||
)}
|
||||
>
|
||||
<div className="font-thin text-sm">{value === undefined || value === null ? "-" : value}</div>
|
||||
<div className="font-bold text-xs uppercase">{label}</div>
|
||||
<div className="font-bold text-xs uppercase">{t(label)}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export default function Container({ error = false, children }) {
|
||||
export default function Container({ error = false, children, service }) {
|
||||
if (error) {
|
||||
return (
|
||||
<div className="bg-theme-200/50 dark:bg-theme-900/20 rounded m-1 flex-1 flex flex-col items-center justify-center p-1">
|
||||
|
@ -7,5 +7,16 @@ export default function Container({ error = false, children }) {
|
|||
);
|
||||
}
|
||||
|
||||
return <div className="relative flex flex-row w-full">{children}</div>;
|
||||
let visibleChildren = children;
|
||||
const fields = service?.widget?.fields;
|
||||
const type = service?.widget?.type;
|
||||
if (fields && type) {
|
||||
visibleChildren = children.filter(child => fields.some(field => `${type}.${field}` === child.props?.label));
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="relative flex flex-row w-full">
|
||||
{visibleChildren}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue