diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index b5336a4..0000000 Binary files a/public/favicon.ico and /dev/null differ diff --git a/public/icons/android/icon-144x144.png b/public/icons/android/icon-144x144.png new file mode 100644 index 0000000..187c044 Binary files /dev/null and b/public/icons/android/icon-144x144.png differ diff --git a/public/icons/android/icon-192x192.png b/public/icons/android/icon-192x192.png new file mode 100644 index 0000000..7408263 Binary files /dev/null and b/public/icons/android/icon-192x192.png differ diff --git a/public/icons/android/icon-36x36.png b/public/icons/android/icon-36x36.png new file mode 100644 index 0000000..bbd8914 Binary files /dev/null and b/public/icons/android/icon-36x36.png differ diff --git a/public/icons/android/icon-48x48.png b/public/icons/android/icon-48x48.png new file mode 100644 index 0000000..6db830c Binary files /dev/null and b/public/icons/android/icon-48x48.png differ diff --git a/public/icons/android/icon-72x72.png b/public/icons/android/icon-72x72.png new file mode 100644 index 0000000..2367d35 Binary files /dev/null and b/public/icons/android/icon-72x72.png differ diff --git a/public/icons/android/icon-96x96.png b/public/icons/android/icon-96x96.png new file mode 100644 index 0000000..5d6cf2f Binary files /dev/null and b/public/icons/android/icon-96x96.png differ diff --git a/public/icons/apple/icon-114x114.png b/public/icons/apple/icon-114x114.png new file mode 100644 index 0000000..7475cb4 Binary files /dev/null and b/public/icons/apple/icon-114x114.png differ diff --git a/public/icons/apple/icon-120x120.png b/public/icons/apple/icon-120x120.png new file mode 100644 index 0000000..a33f26b Binary files /dev/null and b/public/icons/apple/icon-120x120.png differ diff --git a/public/icons/apple/icon-144x144.png b/public/icons/apple/icon-144x144.png new file mode 100644 index 0000000..187c044 Binary files /dev/null and b/public/icons/apple/icon-144x144.png differ diff --git a/public/icons/apple/icon-152x152.png b/public/icons/apple/icon-152x152.png new file mode 100644 index 0000000..b3a443f Binary files /dev/null and b/public/icons/apple/icon-152x152.png differ diff --git a/public/icons/apple/icon-180x180.png b/public/icons/apple/icon-180x180.png new file mode 100644 index 0000000..923b067 Binary files /dev/null and b/public/icons/apple/icon-180x180.png differ diff --git a/public/icons/apple/icon-57x57.png b/public/icons/apple/icon-57x57.png new file mode 100644 index 0000000..aff4912 Binary files /dev/null and b/public/icons/apple/icon-57x57.png differ diff --git a/public/icons/apple/icon-60x60.png b/public/icons/apple/icon-60x60.png new file mode 100644 index 0000000..fd67414 Binary files /dev/null and b/public/icons/apple/icon-60x60.png differ diff --git a/public/icons/apple/icon-72x72.png b/public/icons/apple/icon-72x72.png new file mode 100644 index 0000000..2367d35 Binary files /dev/null and b/public/icons/apple/icon-72x72.png differ diff --git a/public/icons/apple/icon-76x76.png b/public/icons/apple/icon-76x76.png new file mode 100644 index 0000000..081ad81 Binary files /dev/null and b/public/icons/apple/icon-76x76.png differ diff --git a/public/icons/apple/icon-precomposed.png b/public/icons/apple/icon-precomposed.png new file mode 100644 index 0000000..d207f2a Binary files /dev/null and b/public/icons/apple/icon-precomposed.png differ diff --git a/public/icons/apple/icon.png b/public/icons/apple/icon.png new file mode 100644 index 0000000..d207f2a Binary files /dev/null and b/public/icons/apple/icon.png differ diff --git a/public/icons/favicon-16x16.png b/public/icons/favicon-16x16.png new file mode 100644 index 0000000..4d1b150 Binary files /dev/null and b/public/icons/favicon-16x16.png differ diff --git a/public/icons/favicon-32x32.png b/public/icons/favicon-32x32.png new file mode 100644 index 0000000..d4465d4 Binary files /dev/null and b/public/icons/favicon-32x32.png differ diff --git a/public/icons/favicon-96x96.png b/public/icons/favicon-96x96.png new file mode 100644 index 0000000..5ab4c75 Binary files /dev/null and b/public/icons/favicon-96x96.png differ diff --git a/public/icons/favicon.ico b/public/icons/favicon.ico new file mode 100644 index 0000000..c7be833 Binary files /dev/null and b/public/icons/favicon.ico differ diff --git a/public/icons/microsoft/icon-144x144.png b/public/icons/microsoft/icon-144x144.png new file mode 100644 index 0000000..187c044 Binary files /dev/null and b/public/icons/microsoft/icon-144x144.png differ diff --git a/public/icons/microsoft/icon-150x150.png b/public/icons/microsoft/icon-150x150.png new file mode 100644 index 0000000..8a201b6 Binary files /dev/null and b/public/icons/microsoft/icon-150x150.png differ diff --git a/public/icons/microsoft/icon-310x310.png b/public/icons/microsoft/icon-310x310.png new file mode 100644 index 0000000..8cd49de Binary files /dev/null and b/public/icons/microsoft/icon-310x310.png differ diff --git a/public/icons/microsoft/icon-70x70.png b/public/icons/microsoft/icon-70x70.png new file mode 100644 index 0000000..932a057 Binary files /dev/null and b/public/icons/microsoft/icon-70x70.png differ diff --git a/src/app/(auth-pages)/forgot-password/page.tsx b/src/app/(auth-pages)/forgot-password/page.tsx index d197eff..d7d5eed 100644 --- a/src/app/(auth-pages)/forgot-password/page.tsx +++ b/src/app/(auth-pages)/forgot-password/page.tsx @@ -2,7 +2,6 @@ import Link from 'next/link'; import { forgotPassword } from '@/lib/actions'; import { FormMessage, type Message, SubmitButton } from '@/components/default'; import { Input, Label } from '@/components/ui'; -import { SmtpMessage } from '@/app/(auth-pages)/smtp-message'; const ForgotPassword = async (props: { searchParams: Promise }) => { const searchParams = await props.searchParams; @@ -30,7 +29,6 @@ const ForgotPassword = async (props: { searchParams: Promise }) => { - ); }; diff --git a/src/app/(auth-pages)/smtp-message.tsx b/src/app/(auth-pages)/smtp-message.tsx deleted file mode 100644 index f63dbce..0000000 --- a/src/app/(auth-pages)/smtp-message.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { ArrowUpRight, InfoIcon } from 'lucide-react'; -import Link from 'next/link'; - -export const SmtpMessage = () => { - return ( -
- -
- - Note: Emails are rate limited. Enable Custom SMTP to - increase the rate limit. - -
- - Learn more - -
-
-
- ); -}; diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 189ea84..c41caea 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -9,24 +9,169 @@ import Footer from '@/components/default/footer'; import { Toaster } from '@/components/ui'; export const metadata: Metadata = { - title: 'T3 Template with Supabase', - description: 'Generated by create-t3-app', - icons: [ - { - rel: 'icon', - url: '/images/favicon.ico', + title: { + template: '%s | T3 Template', + default: 'T3 Template with Supabase', + }, + description: 'Created by Gib with T3!', + applicationName: 'T3 Template', + keywords: 'T3 Template, Next.js, Supabase, Tailwind, TypeScript, React, T3, Gib, Theo', + authors: [{name: 'Gib', url: 'https://gbrown.org'}], + creator: 'Gib Brown', + publisher: 'Gib Brown', + formatDetection: { + email: false, + address: false, + telephone: false, + }, + robots: { + index: true, + follow: true, + nocache: false, + googleBot: { + index: true, + follow: true, + noimageindex: false, + 'max-video-preview': -1, + 'max-image-preview': 'large', + 'max-snippet': -1, }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - url: '/images/favicon.png', + }, + icons: { + icon: [ + { url: '/icons/favicon.ico', type: 'image/x-icon', sizes: 'any' }, + { url: '/icons/favicon-16x16.png', type: 'image/png', sizes: '16x16'}, + { url: '/icons/favicon-32x32.png', type: 'image/png', sizes: '32x32'}, + { url: '/icons/favicon-96x96.png', type: 'image/png', sizes: '96x96'}, + { url: '/icons/favicon.ico', type: 'image/x-icon', sizes: 'any', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/favicon-16x16.png', type: 'image/png', sizes: '16x16', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/favicon-32x32.png', type: 'image/png', sizes: '32x32', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/favicon-96x96.png', type: 'image/png', sizes: '96x96', media: '(prefers-color-scheme: dark)' }, + + { url: '/icons/android/icon-36x36', type: 'image/png', sizes: '36x36'}, + { url: '/icons/android/icon-48x48', type: 'image/png', sizes: '48x48'}, + { url: '/icons/android/icon-72x72', type: 'image/png', sizes: '72x72'}, + { url: '/icons/android/icon-96x96', type: 'image/png', sizes: '96x96'}, + { url: '/icons/android/icon-144x144', type: 'image/png', sizes: '144x144'}, + { url: '/icons/android/icon-192x192', type: 'image/png', sizes: '192x192'}, + { url: '/icons/android/icon-36x36', type: 'image/png', sizes: '36x36', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/android/icon-48x48', type: 'image/png', sizes: '48x48', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/android/icon-72x72', type: 'image/png', sizes: '72x72', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/android/icon-96x96', type: 'image/png', sizes: '96x96', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/android/icon-144x144', type: 'image/png', sizes: '144x144', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/android/icon-192x192', type: 'image/png', sizes: '192x192', media: '(prefers-color-scheme: dark)' }, + ], + shortcut: [ + { url: '/icons/android/icon-36x36', type: 'image/png', sizes: '36x36'}, + { url: '/icons/android/icon-48x48', type: 'image/png', sizes: '48x48'}, + { url: '/icons/android/icon-72x72', type: 'image/png', sizes: '72x72'}, + { url: '/icons/android/icon-96x96', type: 'image/png', sizes: '96x96'}, + { url: '/icons/android/icon-144x144', type: 'image/png', sizes: '144x144'}, + { url: '/icons/android/icon-192x192', type: 'image/png', sizes: '192x192'}, + { url: '/icons/android/icon-36x36', type: 'image/png', sizes: '36x36', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/android/icon-48x48', type: 'image/png', sizes: '48x48', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/android/icon-72x72', type: 'image/png', sizes: '72x72', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/android/icon-96x96', type: 'image/png', sizes: '96x96', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/android/icon-144x144', type: 'image/png', sizes: '144x144', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/android/icon-192x192', type: 'image/png', sizes: '192x192', media: '(prefers-color-scheme: dark)' }, + ], + apple: [ + { url: '/icons/apple/icon.png', type: 'image/png', sizes: '192x192' }, + { url: '/icons/apple/icon-57x57.png', type: 'image/png', sizes: '57x57' }, + { url: '/icons/apple/icon-60x60.png', type: 'image/png', sizes: '60x60' }, + { url: '/icons/apple/icon-72x72.png', type: 'image/png', sizes: '72x72' }, + { url: '/icons/apple/icon-76x76.png', type: 'image/png', sizes: '76x76' }, + { url: '/icons/apple/icon-114x114.png', type: 'image/png', sizes: '114x114' }, + { url: '/icons/apple/icon-120x120.png', type: 'image/png', sizes: '120x120' }, + { url: '/icons/apple/icon-144x144.png', type: 'image/png', sizes: '144x144' }, + { url: '/icons/apple/icon-152x152.png', type: 'image/png', sizes: '152x152' }, + { url: '/icons/apple/icon-180x180.png', type: 'image/png', sizes: '180x180' }, + { url: '/icons/apple/icon.png', type: 'image/png', sizes: '192x192', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/apple/icon-57x57.png', type: 'image/png', sizes: '57x57', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/apple/icon-60x60.png', type: 'image/png', sizes: '60x60', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/apple/icon-72x72.png', type: 'image/png', sizes: '72x72', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/apple/icon-76x76.png', type: 'image/png', sizes: '76x76', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/apple/icon-114x114.png', type: 'image/png', sizes: '114x114', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/apple/icon-120x120.png', type: 'image/png', sizes: '120x120', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/apple/icon-144x144.png', type: 'image/png', sizes: '144x144', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/apple/icon-152x152.png', type: 'image/png', sizes: '152x152', media: '(prefers-color-scheme: dark)' }, + { url: '/icons/apple/icon-180x180.png', type: 'image/png', sizes: '180x180', media: '(prefers-color-scheme: dark)' }, + ], + other: [ + { + rel: 'apple-touch-icon-precomposed', + url: '/icons/apple/icon-precomposed.png', + type: 'image/png', + sizes: '180x180' + }, + ], + }, + twitter: { + card: 'app', + title: 'T3 Template', + description: 'Created by Gib with T3!', + siteId: '', + creator: '@cs_gib', + creatorId: '', + images: { + url: 'https://git.gbrown.org/gib/T3-Template/raw/main/public/icons/apple/icon.png', + alt: 'T3 Template', }, - { - rel: 'apple-touch-icon', - url: '/images/appicon.png', + app: { + name: 'T3 Template', + id: { + iphone: '', + ipad: '', + googleplay: '', + }, + url: { + iphone: '', + ipad: '', + googleplay: '', + }, }, - ], + }, + verification: { + google: 'google', + yandex: 'yandex', + yahoo: 'yahoo', + }, + itunes: { + appId: '', + appArgument: '', + }, + appleWebApp: { + title: 'T3 Template', + statusBarStyle: 'black-translucent', + startupImage: [ + '/icons/apple/splash-768x1004.png', + { + url: '/icons/apple/splash-1536x2008.png', + media: '(device-width: 768px) and (device-height: 1024px)', + }, + ], + }, + appLinks: { + ios: { + url: 'https://t3-template.gbrown.org/ios', + app_store_id: 't3_template', + }, + android: { + package: 'org.gbrown.android/t3-template', + app_name: 'app_t3_template', + }, + web: { + url: 'https://t3-template.gbrown.org/web', + should_fallback: true, + }, + }, + facebook: { + appId: '', + }, + pinterest: { + richPin: true, + }, + category: 'technology', }; const geist = Geist({ diff --git a/src/components/default/navigation/index.tsx b/src/components/default/navigation/index.tsx index c3206fd..949985a 100644 --- a/src/components/default/navigation/index.tsx +++ b/src/components/default/navigation/index.tsx @@ -4,6 +4,7 @@ import Link from 'next/link'; import { Button } from '@/components/ui'; import NavigationAuth from './auth'; import { ThemeToggle } from '@/components/context/theme'; +import Image from 'next/image'; const Navigation = () => { return ( @@ -16,7 +17,10 @@ const Navigation = () => { items-center p-3 px-5 text-sm' >
- T3 Supabase Template + + T3 Logo +

T3 Supabase Template

+