Add public landing page and privacy policy for Google OAuth verification
- Create public home page accessible without login - Add comprehensive privacy policy page at /privacy - Add privacy policy link to home page and footer - Clearly explain app purpose: prayer journal and tracker - Show app name 'Haver' prominently on home page - Addresses Google OAuth verification requirements: - Home page not behind login - Separate privacy policy URL - App purpose clearly explained - Privacy policy link visible
This commit is contained in:
1 parent
b7c9593c13
commit
149cfa5790
3 files changed
+307
-1
No files matched your search
+2
-1
@@ -12,6 +12,7 @@ import ThingsToPrayFor from '@/components/ThingsToPrayFor';
|
||||
import AboutPage from '@/components/AboutPage';
|
||||
import HomePage from '@/components/HomePage';
|
||||
import AnsweredPrayers from '@/components/AnsweredPrayers';
|
||||
import PublicHome from './public-home';
|
||||
import { db } from '@/lib/firebase';
|
||||
import { collection, addDoc, getDocs, updateDoc, query, where, doc, setDoc, getDoc } from 'firebase/firestore';
|
||||
import { Loader2 } from 'lucide-react';
|
||||
@@ -319,7 +320,7 @@ export default function Home() {
|
||||
}
|
||||
|
||||
if (!user) {
|
||||
return <Login />;
|
||||
return <PublicHome />;
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -0,0 +1,161 @@
|
||||
import Link from 'next/link';
|
||||
|
||||
export default function PrivacyPolicy() {
|
||||
return (
|
||||
<div className="min-h-screen bg-gradient-to-br from-slate-900 via-purple-900 to-slate-900">
|
||||
{/* Header */}
|
||||
<header className="border-b border-slate-700/50 sticky top-0 z-50 backdrop-blur-xl bg-slate-900/80">
|
||||
<div className="max-w-6xl mx-auto px-4 py-4 flex justify-between items-center">
|
||||
<Link href="/" className="flex items-center gap-2 hover:opacity-80 transition-opacity">
|
||||
<span className="text-3xl">🙏</span>
|
||||
<h1 className="text-2xl font-bold text-white">Haver</h1>
|
||||
</Link>
|
||||
<Link href="/" className="text-slate-300 hover:text-white transition-colors">Back to Home</Link>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{/* Content */}
|
||||
<div className="max-w-4xl mx-auto px-4 py-12">
|
||||
<h1 className="text-4xl font-bold text-white mb-8">Privacy Policy</h1>
|
||||
|
||||
<div className="prose prose-invert max-w-none space-y-6">
|
||||
<section>
|
||||
<h2 className="text-2xl font-bold text-white mb-4">1. Introduction</h2>
|
||||
<p className="text-slate-300">
|
||||
Haver ("we", "our", or "us") is committed to protecting your privacy. This Privacy Policy explains
|
||||
how we collect, use, disclose, and safeguard your information when you use our prayer journal application
|
||||
and website.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-bold text-white mb-4">2. Information We Collect</h2>
|
||||
<h3 className="text-xl font-semibold text-slate-200 mb-2">2.1 Account Information</h3>
|
||||
<p className="text-slate-300">
|
||||
When you create an account, we collect your email address and authentication information to maintain
|
||||
your account and provide services.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-semibold text-slate-200 mb-2 mt-4">2.2 Prayer Data</h3>
|
||||
<p className="text-slate-300">
|
||||
All prayers, prayer requests, and related entries you create in Haver are stored in your account.
|
||||
This data is essential to the functionality of the application.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-semibold text-slate-200 mb-2 mt-4">2.3 Calendar Integration Data</h3>
|
||||
<p className="text-slate-300">
|
||||
If you connect your Google Calendar, we store your Google authentication token to sync recurring
|
||||
prayer reminders. We do not store your Google password.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-semibold text-slate-200 mb-2 mt-4">2.4 Device Information</h3>
|
||||
<p className="text-slate-300">
|
||||
We may collect information about your device, including device type, operating system, and browser
|
||||
type for analytics and debugging purposes.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-bold text-white mb-4">3. How We Use Your Information</h2>
|
||||
<ul className="list-disc list-inside text-slate-300 space-y-2">
|
||||
<li>To provide and maintain the Haver service</li>
|
||||
<li>To sync your prayers and prayer requests across devices</li>
|
||||
<li>To sync recurring prayer reminders to your Google Calendar</li>
|
||||
<li>To send notifications and reminders (if enabled)</li>
|
||||
<li>To improve and optimize the application</li>
|
||||
<li>To comply with legal obligations</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-bold text-white mb-4">4. Data Security</h2>
|
||||
<p className="text-slate-300 mb-4">
|
||||
Haver uses Firebase, a Google Cloud service, to securely store all your data. We implement industry-standard
|
||||
security measures including:
|
||||
</p>
|
||||
<ul className="list-disc list-inside text-slate-300 space-y-2">
|
||||
<li>Encryption of data in transit (HTTPS)</li>
|
||||
<li>Secure authentication (Firebase Authentication)</li>
|
||||
<li>Regular security updates and patches</li>
|
||||
<li>Firestore security rules to control data access</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-bold text-white mb-4">5. Third-Party Services</h2>
|
||||
<p className="text-slate-300 mb-4">
|
||||
Haver uses the following third-party services:
|
||||
</p>
|
||||
<ul className="list-disc list-inside text-slate-300 space-y-2">
|
||||
<li><strong>Firebase:</strong> For data storage, authentication, and analytics</li>
|
||||
<li><strong>Google Calendar API:</strong> For syncing recurring prayer reminders (if enabled)</li>
|
||||
<li><strong>Google Analytics:</strong> For anonymous usage statistics</li>
|
||||
</ul>
|
||||
<p className="text-slate-300 mt-4">
|
||||
Please review the privacy policies of these services for more information about their data practices.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-bold text-white mb-4">6. Your Rights and Choices</h2>
|
||||
<h3 className="text-xl font-semibold text-slate-200 mb-2">6.1 Access and Portability</h3>
|
||||
<p className="text-slate-300">
|
||||
You can access, download, or export your prayer data from your account at any time.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-semibold text-slate-200 mb-2 mt-4">6.2 Deletion</h3>
|
||||
<p className="text-slate-300">
|
||||
You can delete individual prayers or your entire account. When you delete your account, all associated
|
||||
data is permanently removed.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-semibold text-slate-200 mb-2 mt-4">6.3 Notifications</h3>
|
||||
<p className="text-slate-300">
|
||||
You can control reminder notifications and calendar sync settings within the application.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-bold text-white mb-4">7. Children's Privacy</h2>
|
||||
<p className="text-slate-300">
|
||||
Haver is not intended for children under 13. We do not knowingly collect personal information from
|
||||
children under 13. If we become aware that we have collected such information, we will delete it promptly.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-bold text-white mb-4">8. Changes to This Privacy Policy</h2>
|
||||
<p className="text-slate-300">
|
||||
We may update this Privacy Policy from time to time. We will notify you of any changes by updating
|
||||
the "Last Updated" date below. Your continued use of Haver after such modifications constitutes your
|
||||
acceptance of the updated Privacy Policy.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-bold text-white mb-4">9. Contact Us</h2>
|
||||
<p className="text-slate-300">
|
||||
If you have any questions about this Privacy Policy or our privacy practices, please contact us at
|
||||
privacy@haverprayerapp.com or visit our website at https://prayer.necloud.us.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section className="bg-slate-800/50 backdrop-blur rounded-lg p-6 border border-slate-700/50">
|
||||
<p className="text-slate-400 text-sm">
|
||||
<strong>Last Updated:</strong> January 19, 2026
|
||||
</p>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Footer */}
|
||||
<footer className="border-t border-slate-700/50 bg-slate-900/50 mt-20 py-12">
|
||||
<div className="max-w-6xl mx-auto px-4 text-center">
|
||||
<Link href="/" className="text-slate-400 hover:text-white transition-colors">
|
||||
Back to Haver
|
||||
</Link>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
import Link from 'next/link';
|
||||
|
||||
export default function PublicHome() {
|
||||
return (
|
||||
<div className="min-h-screen bg-gradient-to-br from-slate-900 via-purple-900 to-slate-900">
|
||||
{/* Header */}
|
||||
<header className="border-b border-slate-700/50 sticky top-0 z-50 backdrop-blur-xl bg-slate-900/80">
|
||||
<div className="max-w-6xl mx-auto px-4 py-4 flex justify-between items-center">
|
||||
<div className="flex items-center gap-2">
|
||||
<span className="text-3xl">🙏</span>
|
||||
<h1 className="text-2xl font-bold text-white">Haver</h1>
|
||||
</div>
|
||||
<Link
|
||||
href="/settings"
|
||||
className="px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white rounded-lg font-semibold transition-colors"
|
||||
>
|
||||
Sign In
|
||||
</Link>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{/* Hero Section */}
|
||||
<section className="max-w-6xl mx-auto px-4 py-20 text-center">
|
||||
<h2 className="text-5xl md:text-6xl font-bold text-white mb-6">
|
||||
A Prayer Journal for Your Daily Practice
|
||||
</h2>
|
||||
<p className="text-xl text-slate-300 mb-8 max-w-2xl mx-auto">
|
||||
Haver is a beautiful, minimalist app designed to help you journal your prayers, track prayer requests,
|
||||
and celebrate when God answers. Stay connected to your prayer life, anytime, anywhere.
|
||||
</p>
|
||||
<Link
|
||||
href="/settings"
|
||||
className="inline-block px-8 py-3 bg-blue-600 hover:bg-blue-700 text-white rounded-lg font-semibold transition-colors text-lg"
|
||||
>
|
||||
Get Started
|
||||
</Link>
|
||||
</section>
|
||||
|
||||
{/* Features Section */}
|
||||
<section className="max-w-6xl mx-auto px-4 py-20">
|
||||
<h3 className="text-3xl font-bold text-white mb-12 text-center">Why Use Haver?</h3>
|
||||
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
|
||||
<div className="bg-slate-800/50 backdrop-blur rounded-xl p-6 border border-slate-700/50">
|
||||
<div className="text-4xl mb-4">✍️</div>
|
||||
<h4 className="text-xl font-semibold text-white mb-2">Daily Prayer Composer</h4>
|
||||
<p className="text-slate-300">Write prayers with dates and prayer request categories to organize your spiritual life.</p>
|
||||
</div>
|
||||
|
||||
<div className="bg-slate-800/50 backdrop-blur rounded-xl p-6 border border-slate-700/50">
|
||||
<div className="text-4xl mb-4">📊</div>
|
||||
<h4 className="text-xl font-semibold text-white mb-2">Prayer Dashboard</h4>
|
||||
<p className="text-slate-300">See your unique prayers and total prayer taps for each day at a glance.</p>
|
||||
</div>
|
||||
|
||||
<div className="bg-slate-800/50 backdrop-blur rounded-xl p-6 border border-slate-700/50">
|
||||
<div className="text-4xl mb-4">🙏</div>
|
||||
<h4 className="text-xl font-semibold text-white mb-2">Prayer Requests</h4>
|
||||
<p className="text-slate-300">Track active prayer requests and mark them as you pray for them throughout the week.</p>
|
||||
</div>
|
||||
|
||||
<div className="bg-slate-800/50 backdrop-blur rounded-xl p-6 border border-slate-700/50">
|
||||
<div className="text-4xl mb-4">✅</div>
|
||||
<h4 className="text-xl font-semibold text-white mb-2">Answered Prayers</h4>
|
||||
<p className="text-slate-300">Celebrate God's faithfulness by recording and reflecting on answered prayers.</p>
|
||||
</div>
|
||||
|
||||
<div className="bg-slate-800/50 backdrop-blur rounded-xl p-6 border border-slate-700/50">
|
||||
<div className="text-4xl mb-4">📅</div>
|
||||
<h4 className="text-xl font-semibold text-white mb-2">Prayer Calendar</h4>
|
||||
<p className="text-slate-300">Visualize your prayer journey with a beautiful calendar view of your activity.</p>
|
||||
</div>
|
||||
|
||||
<div className="bg-slate-800/50 backdrop-blur rounded-xl p-6 border border-slate-700/50">
|
||||
<div className="text-4xl mb-4">📱</div>
|
||||
<h4 className="text-xl font-semibold text-white mb-2">Works Offline</h4>
|
||||
<p className="text-slate-300">Access your prayers anywhere with offline support and cross-device sync via Firebase.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Calendar Sync Section */}
|
||||
<section className="max-w-6xl mx-auto px-4 py-20">
|
||||
<div className="bg-slate-800/50 backdrop-blur rounded-xl p-8 border border-slate-700/50">
|
||||
<h3 className="text-2xl font-bold text-white mb-4">📅 Calendar Integration</h3>
|
||||
<p className="text-slate-300 mb-4">
|
||||
Create recurring prayer reminders and automatically sync them to your Google Calendar.
|
||||
Never forget to pray for what matters most.
|
||||
</p>
|
||||
<ul className="text-slate-300 space-y-2">
|
||||
<li>✓ Sync recurring prayers to Google Calendar</li>
|
||||
<li>✓ Automatic reminders at your preferred time</li>
|
||||
<li>✓ Set daily, weekly, biweekly, or monthly reminders</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* CTA Section */}
|
||||
<section className="max-w-6xl mx-auto px-4 py-20 text-center">
|
||||
<h3 className="text-3xl font-bold text-white mb-6">Ready to Start Your Prayer Journey?</h3>
|
||||
<Link
|
||||
href="/settings"
|
||||
className="inline-block px-8 py-3 bg-blue-600 hover:bg-blue-700 text-white rounded-lg font-semibold transition-colors text-lg"
|
||||
>
|
||||
Sign In Now
|
||||
</Link>
|
||||
</section>
|
||||
|
||||
{/* Footer */}
|
||||
<footer className="border-t border-slate-700/50 bg-slate-900/50 mt-20 py-12">
|
||||
<div className="max-w-6xl mx-auto px-4">
|
||||
<div className="grid md:grid-cols-4 gap-8 mb-8">
|
||||
<div>
|
||||
<h4 className="text-white font-semibold mb-4">Haver</h4>
|
||||
<p className="text-slate-400 text-sm">A prayer app for your daily practice.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h4 className="text-white font-semibold mb-4">Quick Links</h4>
|
||||
<ul className="space-y-2">
|
||||
<li><Link href="/privacy" className="text-slate-400 hover:text-white transition-colors">Privacy Policy</Link></li>
|
||||
<li><Link href="#" className="text-slate-400 hover:text-white transition-colors">Terms of Service</Link></li>
|
||||
<li><Link href="/settings" className="text-slate-400 hover:text-white transition-colors">Sign In</Link></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h4 className="text-white font-semibold mb-4">Contact</h4>
|
||||
<p className="text-slate-400 text-sm">Questions? We'd love to hear from you.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h4 className="text-white font-semibold mb-4">Version</h4>
|
||||
<p className="text-slate-400 text-sm">v0.4.0</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="border-t border-slate-700/50 pt-8 flex flex-col md:flex-row justify-between items-center">
|
||||
<p className="text-slate-400 text-sm mb-4 md:mb-0">© 2026 Haver. All rights reserved.</p>
|
||||
<div className="flex gap-4">
|
||||
<Link href="/privacy" className="text-slate-400 hover:text-white text-sm transition-colors">Privacy</Link>
|
||||
<Link href="#" className="text-slate-400 hover:text-white text-sm transition-colors">Terms</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in new issue
Block a user