Skip to content

Commit 17b13d2

Browse files
committed
feat: update Layout and PrivacyPolicy components with ShieldCheck icon for enhanced security representation
1 parent 2a1819b commit 17b13d2

2 files changed

Lines changed: 19 additions & 40 deletions

File tree

src/components/Layout.tsx

Lines changed: 17 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* All pages/tools are rendered inside `children`.
77
*/
88

9-
import { ChevronLeft, Lock } from "lucide-react";
9+
import { ChevronLeft, Lock, ShieldCheck } from "lucide-react";
1010
import type { ReactNode } from "react";
1111

1212
interface LayoutProps {
@@ -98,46 +98,25 @@ export function Layout({ children, onHome, showBack, onPrivacy, badgeAccent }: L
9898

9999
<main className="flex-1 max-w-6xl mx-auto px-4 sm:px-6 py-8 w-full">{children}</main>
100100

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">
103103
{/* 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>
122107

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"
129116
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>
141120
</div>
142121
</footer>
143122
</div>

src/components/PrivacyPolicy.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
* All processing is client-side, so the policy is intentionally brief.
66
*/
77

8-
import { Lock } from "lucide-react";
8+
import { ShieldCheck } from "lucide-react";
99

1010
export function PrivacyPolicy() {
1111
return (
1212
<div className="max-w-2xl mx-auto">
1313
<div className="flex items-center gap-4 mb-8">
1414
<div className="w-12 h-12 bg-primary-50 dark:bg-primary-900/30 rounded-xl flex items-center justify-center shrink-0">
15-
<Lock className="w-6 h-6 text-primary-600 dark:text-primary-400" />
15+
<ShieldCheck className="w-6 h-6 text-primary-600 dark:text-primary-400" />
1616
</div>
1717
<div>
1818
<h1 className="text-2xl font-bold text-slate-800 dark:text-dark-text">Privacy Policy</h1>

0 commit comments

Comments
 (0)