Skip to content
Snippets Groups Projects
Footer.tsx 10.6 KiB
Newer Older
/* Copyright 2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH.
SPDX-License-Identifier: MIT */

const navigation = {
    officialBadges: [
        {
            name: 'Maintained Badge',
            href: '/concepts/official-badges/active-maintained-badge',
            external: false,
        },
        {
            name: 'Reuse Badge',
            href: '/concepts/official-badges/reuse-badge',
            external: false,
        },
        {
            name: 'Open Source Badge',
            href: '/concepts/official-badges/open-source-badge',
            external: false,
        },
        {
            name: 'Security Badge',
            href: '/concepts/official-badges/security-badge',
            external: false,
        },
    ],
    community: [
        {
            name: 'Project on openCode',
            href: 'https://gitlab.opencode.de/open-code/badgebackend',
            external: true,
        },
        {
            name: 'Contribute',
            href: 'https://gitlab.opencode.de/open-code/badgebackend/badge-api/-/blob/main/CONTRIBUTING.md',
            external: true,
        },
        {
            name: 'Open issue',
            href: 'https://gitlab.opencode.de/open-code/badgebackend/badge-api/-/issues/new',
            external: true,
        },
    ],
    legal: [
        {
            name: 'Imprint',
            href: 'https://opencode.de/de/impressum',
            external: true,
        },
        {
            name: 'Privacy policy',
            href: 'https://opencode.de/de/datenschutz',
            external: true,
        },
        {
            name: 'License',
            href: 'https://gitlab.opencode.de/open-code/badgebackend/badge-api/-/blob/main/LICENSE',
            external: true,
        },
    ],
    accessibility: [
        {
            name: 'Declaration on Accessibility',
            href: '/declaration-on-accessibility',
            external: false,
        },
        {
            name: 'Barriere melden',
            href: 'mailto:info@opencode.de',
            external: false,
        },
    ],
}

export default function Footer() {
    return (
        <div className="mx-auto max-w-7xl px-6 pb-8 pt-16 sm:pt-24 lg:px-8">
            <div className="xl:grid xl:grid-cols-3 xl:gap-8">
                <div className="space-y-8">
                    <a
                        href="https://opencode.de/"
                        target="_blank"
                        rel="noopener noreferrer"
                    >
                        <img
                            alt="openCode Logo"
                            src="/assets/opencode-logo.svg"
                            className="h-8"
                        />
                    </a>
                    <p className="text-balance text-sm/6 text-gray-600">
                        The Badge Programm is an{' '}
                        <a
                            href="https://opencode.de/"
                            target="_blank"
                            rel="noopener noreferrer"
                            className="text-blue-500 hover:text-blue-600"
                        >
                            openCode
                        </a>{' '}
                        service by{' '}
                        <a
                            href="https://zendis.de/"
                            target="_blank"
                            rel="noopener noreferrer"
                            className="text-blue-500 hover:text-blue-600"
                        >
                            ZenDiS
                        </a>{' '}
                        maintained by{' '}
                        <a
                            href="https://l3montree.com"
                            target="_blank"
                            rel="noopener noreferrer"
                            className="text-blue-500 hover:text-blue-600"
                        >
                            L3montree
                        </a>
                        .
                    </p>
                    <div className="flex items-center gap-x-8">
                        <a
                            href="https://zendis.de/"
                            target="_blank"
                            rel="noopener noreferrer"
                        >
                            <img
                                alt="Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) Logo"
                                src="/assets/zendis.png"
                                className="h-9"
                            />
                        </a>
                        <a
                            href="https://l3montree.com"
                            target="_blank"
                            rel="noopener noreferrer"
                        >
                            <img
                                alt="L3montree Cybersecurity Logo"
                                src="/assets/l3montree-logo.svg"
                                className="h-7"
                            />
                        </a>
                    </div>
                </div>
                <div className="mt-16 grid grid-cols-2 gap-8 xl:col-span-2 xl:mt-0">
                    <div className="md:grid md:grid-cols-2 md:gap-8">
                        <div>
                            <h3 className="text-sm/6 font-semibold text-gray-900">
                                Official Badges
                            </h3>
                            <ul role="list" className="mt-6 space-y-4">
                                {navigation.officialBadges.map((item) => (
                                    <li key={item.name}>
                                        <a
                                            href={item.href}
                                            target={
                                                item.external
                                                    ? '_blank'
                                                    : '_self'
                                            }
                                            rel="noopener noreferrer"
                                            className="text-sm/6 text-gray-600 hover:text-gray-900"
                                        >
                                            {item.name}
                                        </a>
                                    </li>
                                ))}
                            </ul>
                        </div>
                        <div className="mt-10 md:mt-0">
                            <h3 className="text-sm/6 font-semibold text-gray-900">
                                Community
                            </h3>
                            <ul role="list" className="mt-6 space-y-4">
                                {navigation.community.map((item) => (
                                    <li key={item.name}>
                                        <a
                                            href={item.href}
                                            target={
                                                item.external
                                                    ? '_blank'
                                                    : '_self'
                                            }
                                            rel="noopener noreferrer"
                                            className="text-sm/6 text-gray-600 hover:text-gray-900"
                                        >
                                            {item.name}
                                        </a>
                                    </li>
                                ))}
                            </ul>
                        </div>
                    </div>
                    <div className="md:grid md:grid-cols-2 md:gap-8">
                        <div>
                            <h3 className="text-sm/6 font-semibold text-gray-900">
                                Legal
                            </h3>
                            <ul role="list" className="mt-6 space-y-4">
                                {navigation.legal.map((item) => (
                                    <li key={item.name}>
                                        <a
                                            href={item.href}
                                            target={
                                                item.external
                                                    ? '_blank'
                                                    : '_self'
                                            }
                                            rel="noopener noreferrer"
                                            className="text-sm/6 text-gray-600 hover:text-gray-900"
                                        >
                                            {item.name}
                                        </a>
                                    </li>
                                ))}
                            </ul>
                        </div>
                        <div className="mt-10 md:mt-0">
                            <h3 className="text-sm/6 font-semibold text-gray-900">
                                Accessibility
                            </h3>
                            <ul role="list" className="mt-6 space-y-4">
                                {navigation.accessibility.map((item) => (
                                    <li key={item.name}>
                                        <a
                                            href={item.href}
                                            target={
                                                item.external
                                                    ? '_blank'
                                                    : '_self'
                                            }
                                            rel="noopener noreferrer"
                                            className="text-sm/6 text-gray-600 hover:text-gray-900"
                                        >
                                            {item.name}
                                        </a>
                                    </li>
                                ))}
                            </ul>
                        </div>
                    </div>
                </div>
            </div>
            <div className="mt-16 border-t border-gray-900/10 pt-8 sm:mt-20 lg:mt-24">
                <p className="text-sm/6 text-gray-600">
                    © {new Date().getFullYear()} Zentrum für Digitale
                    Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
                </p>
            </div>
        </div>
    )
}

Consent

On this website, we use the web analytics service Matomo to analyze and review the use of our website. Through the collected statistics, we can improve our offerings and make them more appealing for you. Here, you can decide whether to allow us to process your data and set corresponding cookies for these purposes, in addition to technically necessary cookies. Further information on data protection—especially regarding "cookies" and "Matomo"—can be found in our privacy policy. You can withdraw your consent at any time.