Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 30 additions & 21 deletions RestroHub-FrontEnd/src/pages/public/Landing.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ const [contactForm, setContactForm] = useState({
{
title: 'Legal',
links: [
{ label: 'Privacy Policy', href: '#' },
{ label: 'Privacy Policy', href: '/privacy-policy' },
{ label: 'Terms of Service', href: '#' },
{ label: 'Refund Policy', href: '#' },
Comment thread
bm0213 marked this conversation as resolved.
],
Expand Down Expand Up @@ -949,26 +949,35 @@ const [contactForm, setContactForm] = useState({
</p>
</div>

{/* Link Columns */}
{footerColumns.map((col) => (
<div key={col.title}>
<h4 className="mb-4 text-sm font-bold uppercase tracking-wider text-slate-300">
{col.title}
</h4>
<ul className="space-y-3">
{col.links.map((link) => (
<li key={link.label}>
<a
href={link.href}
className="text-sm text-slate-400 transition-colors hover:text-white"
>
{link.label}
</a>
</li>
))}
</ul>
</div>
))}
{/* Link Columns */}
{footerColumns.map((col) => (
<div key={col.title}>
<h4 className="mb-4 text-sm font-bold uppercase tracking-wider text-slate-300">
{col.title}
</h4>
<ul className="space-y-3">
{col.links.map((link) => (
<li key={link.label}>
{link.href.startsWith('/') ? (
<Link
to={link.href}
className="text-sm text-slate-400 transition-colors hover:text-white"
>
{link.label}
</Link>
) : (
<a
href={link.href}
className="text-sm text-slate-400 transition-colors hover:text-white"
>
{link.label}
</a>
)}
</li>
))}
</ul>
</div>
))}
</div>

{/* Bottom Bar */}
Expand Down
133 changes: 133 additions & 0 deletions RestroHub-FrontEnd/src/pages/public/PrivacyPolicy.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
import { Link } from 'react-router-dom';

const PrivacyPolicy = () => {
return (
<div className="min-h-screen bg-white dark:bg-gray-900 py-16 px-4">
<div className="max-w-4xl mx-auto">

{/* Header */}
<div className="mb-10">
<Link
to="/"
className="text-blue-600 hover:underline text-sm mb-4 inline-block"
>
← Back to Home
</Link>
<h1 className="text-4xl font-bold text-gray-900 dark:text-white mb-2">
Privacy Policy
</h1>
<p className="text-gray-500 dark:text-gray-400 text-sm">
Last updated: June 2026
</p>
</div>

{/* Content */}
<div className="space-y-8 text-gray-700 dark:text-gray-300 leading-relaxed">

{/* Section 1 */}
<section>
<h2 className="text-2xl font-semibold text-gray-900 dark:text-white mb-3">
1. Information We Collect
</h2>
<p>
We collect information you provide directly to us, such as when
you create an account, use our services, or contact us for support.
This includes your name, email address, phone number, and
restaurant details.
</p>
</section>

{/* Section 2 */}
<section>
<h2 className="text-2xl font-semibold text-gray-900 dark:text-white mb-3">
2. How We Use Your Information
</h2>
<p>We use the information we collect to:</p>
<ul className="list-disc list-inside mt-2 space-y-1">
<li>Provide, maintain, and improve our services</li>
<li>Process transactions and send related information</li>
<li>Send technical notices and support messages</li>
<li>Respond to your comments and questions</li>
<li>Monitor and analyze usage patterns and trends</li>
</ul>
</section>

{/* Section 3 */}
<section>
<h2 className="text-2xl font-semibold text-gray-900 dark:text-white mb-3">
3. Data Storage & Security
</h2>
<p>
We take reasonable measures to help protect your personal
information from loss, theft, misuse, unauthorized access,
disclosure, alteration, and destruction. Your data is stored
securely on our servers located in India.
</p>
</section>

{/* Section 4 */}
<section>
<h2 className="text-2xl font-semibold text-gray-900 dark:text-white mb-3">
4. Cookies
</h2>
<p>
We use cookies and similar tracking technologies to track activity
on our platform and hold certain information. You can instruct your
browser to refuse all cookies or to indicate when a cookie is being
sent.
</p>
</section>

{/* Section 5 */}
<section>
<h2 className="text-2xl font-semibold text-gray-900 dark:text-white mb-3">
5. Sharing of Information
</h2>
<p>
We do not sell, trade, or rent your personal identification
information to others. We may share generic aggregated demographic
information not linked to any personal identification information
with our business partners and trusted affiliates.
</p>
</section>

{/* Section 6 */}
<section>
<h2 className="text-2xl font-semibold text-gray-900 dark:text-white mb-3">
6. Your Rights
</h2>
<p>You have the right to:</p>
<ul className="list-disc list-inside mt-2 space-y-1">
<li>Access the personal data we hold about you</li>
<li>Request correction of inaccurate data</li>
<li>Request deletion of your personal data</li>
<li>Withdraw consent at any time</li>
<li>Lodge a complaint with a supervisory authority</li>
</ul>
</section>

{/* Section 7 */}
<section>
<h2 className="text-2xl font-semibold text-gray-900 dark:text-white mb-3">
7. Contact Us
</h2>
<p>
If you have any questions about this Privacy Policy, please
contact us at:
</p>
<div className="mt-3 p-4 bg-blue-50 dark:bg-gray-800 rounded-lg">
<p className="font-medium text-blue-700 dark:text-blue-400">
Restroly Support
</p>
<p>Email: support@restroly.com</p>
<p>Address: India</p>
</div>
</section>

</div>
</div>
</div>
);
};

export default PrivacyPolicy;
4 changes: 3 additions & 1 deletion RestroHub-FrontEnd/src/routes/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import Landing from '../pages/public/Landing';
import Login from '../pages/public/Login';
import Register from '../pages/public/Register';
import ForgotPassword from '../pages/public/ForgotPassword';
import PrivacyPolicy from '../pages/public/PrivacyPolicy';

// Customer Pages
import RestaurantMenu from '../pages/customer/RestaurantMenu';
Expand All @@ -36,6 +37,7 @@ const AppRoutes = () => {
<Route path="/login" element={<Login />} />
<Route path="/register" element={<Register />} />
<Route path="/forgot-password" element={<ForgotPassword />} />
<Route path="/privacy-policy" element={<PrivacyPolicy />} />
</Route>

{/* ========== CUSTOMER ROUTES ========== */}
Expand All @@ -47,7 +49,7 @@ const AppRoutes = () => {
</Route>

{/* ========== ADMIN ROUTES ========== */}
<Route path="/admin"
<Route path="/admin"
element={
<ProtectedRoute>
<AdminLayout />
Expand Down