|
6 | 6 | * All pages/tools are rendered inside `children`. |
7 | 7 | */ |
8 | 8 |
|
9 | | -import { ChevronLeft, Lock } from "lucide-react"; |
| 9 | +import { ChevronLeft, Lock, ShieldCheck } from "lucide-react"; |
10 | 10 | import type { ReactNode } from "react"; |
11 | 11 |
|
12 | 12 | interface LayoutProps { |
@@ -98,46 +98,25 @@ export function Layout({ children, onHome, showBack, onPrivacy, badgeAccent }: L |
98 | 98 |
|
99 | 99 | <main className="flex-1 max-w-6xl mx-auto px-4 sm:px-6 py-8 w-full">{children}</main> |
100 | 100 |
|
101 | | - <footer className="border-t border-slate-200 dark:border-dark-border bg-white/50 dark:bg-dark-surface/50"> |
102 | | - <div className="max-w-6xl mx-auto px-4 sm:px-6 py-4 flex flex-col sm:flex-row items-center justify-between gap-3"> |
| 101 | + <footer className="border-t border-slate-200/60 dark:border-dark-border bg-linear-to-b from-white/60 to-slate-50/80 dark:from-dark-surface/60 dark:to-dark-bg/80"> |
| 102 | + <div className="max-w-6xl mx-auto px-4 sm:px-6 py-4 flex flex-col-reverse sm:flex-row items-center justify-between gap-3"> |
103 | 103 | {/* Brand + copyright */} |
104 | | - <div className="flex items-center gap-2"> |
105 | | - <img |
106 | | - src="/icons/logo.svg" |
107 | | - alt="" |
108 | | - aria-hidden="true" |
109 | | - className="w-5 h-5 opacity-60 transition-[filter] duration-300" |
110 | | - style={badgeAccent?.logoFilter ? { filter: badgeAccent.logoFilter } : undefined} |
111 | | - /> |
112 | | - <span className="text-xs font-medium text-slate-500 dark:text-dark-text-muted"> |
113 | | - CloakPDF |
114 | | - </span> |
115 | | - <span className="text-slate-300 dark:text-dark-border text-xs" aria-hidden="true"> |
116 | | - · |
117 | | - </span> |
118 | | - <span className="text-xs text-slate-400 dark:text-dark-text-muted"> |
119 | | - © {new Date().getFullYear()} Sumit Sahoo |
120 | | - </span> |
121 | | - </div> |
| 104 | + <p className="text-[11px] text-slate-400 dark:text-dark-text-muted"> |
| 105 | + © {new Date().getFullYear()} CloakPDF by Sumit Sahoo |
| 106 | + </p> |
122 | 107 |
|
123 | | - {/* Right side: privacy note + privacy policy link */} |
124 | | - <div className="flex items-center gap-2 text-xs text-slate-400 dark:text-dark-text-muted"> |
125 | | - <Lock className="w-3.5 h-3.5 shrink-0 hidden sm:block" aria-hidden="true" /> |
126 | | - <span className="hidden sm:inline">Files never leave your device</span> |
127 | | - <span |
128 | | - className="text-slate-300 dark:text-dark-border hidden sm:inline" |
| 108 | + {/* Privacy link */} |
| 109 | + <button |
| 110 | + type="button" |
| 111 | + onClick={onPrivacy} |
| 112 | + className="group flex items-center gap-1.5 px-3 py-1.5 rounded-full border border-slate-200/80 dark:border-dark-border text-[11px] font-medium text-slate-400 dark:text-dark-text-muted hover:text-primary-600 dark:hover:text-primary-400 hover:border-primary-200 dark:hover:border-primary-700/60 hover:bg-primary-50/50 dark:hover:bg-primary-900/20 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-400/50" |
| 113 | + > |
| 114 | + <ShieldCheck |
| 115 | + className="w-3.5 h-3.5 shrink-0 text-slate-300 dark:text-dark-border group-hover:text-primary-500 dark:group-hover:text-primary-400 transition-colors duration-200" |
129 | 116 | aria-hidden="true" |
130 | | - > |
131 | | - · |
132 | | - </span> |
133 | | - <button |
134 | | - type="button" |
135 | | - onClick={onPrivacy} |
136 | | - className="flex items-center gap-1.5 px-2.5 py-1 rounded-full border border-slate-200 dark:border-dark-border hover:bg-slate-100 dark:hover:bg-dark-surface-alt hover:border-slate-300 dark:hover:border-dark-border transition-all duration-200 text-xs font-medium text-slate-500 dark:text-dark-text-muted hover:text-slate-700 dark:hover:text-dark-text focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-400/50" |
137 | | - > |
138 | | - Privacy Policy |
139 | | - </button> |
140 | | - </div> |
| 117 | + /> |
| 118 | + Privacy Policy |
| 119 | + </button> |
141 | 120 | </div> |
142 | 121 | </footer> |
143 | 122 | </div> |
|
0 commit comments