Files
musicshare/apps/web/src/app/layout.tsx
T
chrisandClaude Opus 5.5 864ab88627 New look: slate-indigo panels, pink accent, Poppins, and a gradient card for your song
Inspired by a dashboard design the user shared.
- App: new palette and fonts, borderless rounded panels with soft shadows, a pink-to-blue
  gradient card for your own song (text and controls switch to white on it), flat cards for
  friends, a 'Hi Chris, welcome back' header, an outline bell, and a pink pill on the active tab.
- Website: the same look, plus a wide-screen layout with a sidebar, the page in a rounded panel,
  and a right column with your profile, recent activity and recent plays. Phones keep the top
  bar and bottom tabs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011Y2iUsKEWDuRGjK5FPmcUP
2026-10-15 15:01:20 -04:00

48 lines
1.6 KiB
TypeScript

import type { Metadata, Viewport } from 'next';
import { Poppins } from 'next/font/google';
import Link from 'next/link';
import { Shell } from '@/components/Shell';
import { Providers } from '@/components/Providers';
import './globals.css';
const poppins = Poppins({ subsets: ['latin'], weight: ['400', '500', '600', '700'], variable: '--font-poppins', display: 'swap' });
// Previews need absolute image URLs. In production the API lives at <site>/api, so its origin is the site's.
const siteUrl = process.env.SITE_URL ?? new URL(process.env.NEXT_PUBLIC_API_URL ?? 'http://localhost:3737').origin;
export const metadata: Metadata = {
metadataBase: new URL(siteUrl),
title: 'musicshare',
description: "See what your friends are listening to, and play it on your own service.",
applicationName: 'musicshare',
// iOS "Add to Home Screen": open full-screen with a dark status bar.
appleWebApp: { capable: true, title: 'musicshare', statusBarStyle: 'black-translucent' },
};
export const viewport: Viewport = {
themeColor: '#2a2942',
viewportFit: 'cover',
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en" className={poppins.variable}>
<body>
<Providers>
<Shell
footer={
<footer className="footer">
<Link href="/privacy">Privacy</Link>
<Link href="/terms">Terms</Link>
<a href="mailto:app@musicshare.binarygnome.com">Contact</a>
</footer>
}
>
{children}
</Shell>
</Providers>
</body>
</html>
);
}