import { Fragment } from 'react';

export type FooterProps = {
    legalEntity?: {
        name: string;
        address: string;
    };
    links?: Record<string, { name: string; url: string }[]>;
};

export function Footer(props: FooterProps) {
    return (
        <div className="flex flex-col items-center gap-2.5">
            {props.legalEntity && (
                <div className="text-center text-12">
                    <div data-testid="legal-entity-name">
                        {props.legalEntity.name}
                    </div>
                    <div data-testid="legal-entity-address">
                        {props.legalEntity.address}
                    </div>
                </div>
            )}

            {props.links &&
                Object.entries(props.links).map(([lang, links]) => {
                    if (links.length === 0) return null;

                    return (
                        <div className="text-center text-12" key={lang}>
                            {links.map((item, i, arr) => {
                                return (
                                    <Fragment key={item.url}>
                                        <a
                                            data-testid="footer-link"
                                            href={item.url}
                                            target="_blank"
                                        >
                                            {item.name}
                                        </a>
                                        {i !== arr.length - 1 && (
                                            <span> • </span>
                                        )}
                                    </Fragment>
                                );
                            })}
                        </div>
                    );
                })}
        </div>
    );
}
