Transfers now send the new holder a link (to the email/phone typed) and only complete once they accept; they can decline and the sender can cancel. No response reveals whether contact details belong to an account, and attendee account links are no longer sent to payers. Terms of Use and Privacy Policy are updated for all features since 1.12, with a full cookie policy and a "Cookie settings" control. The /docs route list now covers every mounted route, and account activation auto-login is fixed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CP62L9JxHomA36aYP1ekCe
30 lines
1.2 KiB
TypeScript
30 lines
1.2 KiB
TypeScript
"use client";
|
|
|
|
import Link from "next/link";
|
|
import { appName } from "@/lib/siteConfig";
|
|
import { useSiteSettings } from "@/contexts/SiteSettingsContext";
|
|
import { CookieSettingsButton } from "@/components/shared/CookieSettingsButton";
|
|
|
|
export const Footer = () => {
|
|
const { settings } = useSiteSettings();
|
|
const displayName = settings.org_name || appName;
|
|
|
|
return (
|
|
<>
|
|
<footer className="bg-gray-900 text-white py-6 text-center text-sm">
|
|
<p>© {new Date().getFullYear()} {displayName}. All rights reserved.</p>
|
|
<div className="mt-2 space-x-4">
|
|
<Link href="/legal/terms" className="hover:underline text-gray-300">
|
|
Terms of Use
|
|
</Link>
|
|
<Link href="/legal/privacy" className="hover:underline text-gray-300">
|
|
Privacy Policy
|
|
</Link>
|
|
<CookieSettingsButton className="hover:underline text-gray-300" />
|
|
</div>
|
|
</footer>
|
|
{/* Spacer so content isn't hidden behind the fixed mobile bottom nav */}
|
|
<div className="h-16 md:hidden" aria-hidden="true" />
|
|
</>
|
|
);
|
|
}; |