headplane/app/components/Footer.tsx

50 lines
1.2 KiB
TypeScript
Raw Normal View History

2024-12-31 10:30:14 +05:30
import Link from '~/components/Link';
2025-01-28 17:46:16 -05:00
import cn from '~/utils/cn';
2024-12-08 13:27:51 -05:00
interface FooterProps {
2024-12-31 10:30:14 +05:30
url: string;
debug: boolean;
2024-12-08 13:27:51 -05:00
}
export default function Footer({ url, debug }: FooterProps) {
2024-12-08 13:27:51 -05:00
return (
2024-12-31 10:30:14 +05:30
<footer
className={cn(
'fixed bottom-0 left-0 z-40 w-full h-14',
2025-01-18 18:42:49 +00:00
'flex flex-col justify-center gap-1 shadow-inner',
'bg-headplane-100 dark:bg-headplane-950',
'text-headplane-800 dark:text-headplane-200',
'dark:border-t dark:border-headplane-800',
2024-12-31 10:30:14 +05:30
)}
>
2024-12-08 13:27:51 -05:00
<p className="container text-xs">
2024-12-31 10:30:14 +05:30
Headplane is entirely free to use. If you find it useful, consider{' '}
2024-12-08 13:27:51 -05:00
<Link
to="https://github.com/sponsors/tale"
name="Aarnav's GitHub Sponsors"
>
donating
2024-12-31 10:30:14 +05:30
</Link>{' '}
to support development.{' '}
2024-12-08 13:27:51 -05:00
</p>
<p className="container text-xs opacity-75">
Version: {__VERSION__}
2025-01-18 18:42:49 +00:00
{' — '}
Connecting to{' '}
<button
type="button"
tabIndex={0} // Allows keyboard focus
className={cn(
'blur-sm hover:blur-none focus:blur-none transition',
'focus:outline-none focus:ring-2 rounded-sm',
)}
>
{url}
</button>
{/* Connecting to <strong className="blur-xs hover:blur-none">{url}</strong> */}
2025-01-06 08:31:49 +05:30
{debug && ' (Debug mode enabled)'}
2024-12-08 13:27:51 -05:00
</p>
</footer>
2024-12-31 10:30:14 +05:30
);
2024-12-08 13:27:51 -05:00
}