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 AboutPage from '@/components/AboutPage';
|
||||||
import HomePage from '@/components/HomePage';
|
import HomePage from '@/components/HomePage';
|
||||||
import AnsweredPrayers from '@/components/AnsweredPrayers';
|
import AnsweredPrayers from '@/components/AnsweredPrayers';
|
||||||
|
import PublicHome from './public-home';
|
||||||
import { db } from '@/lib/firebase';
|
import { db } from '@/lib/firebase';
|
||||||
import { collection, addDoc, getDocs, updateDoc, query, where, doc, setDoc, getDoc } from 'firebase/firestore';
|
import { collection, addDoc, getDocs, updateDoc, query, where, doc, setDoc, getDoc } from 'firebase/firestore';
|
||||||
import { Loader2 } from 'lucide-react';
|
import { Loader2 } from 'lucide-react';
|
||||||
@@ -319,7 +320,7 @@ export default function Home() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!user) {
|
if (!user) {
|
||||||
return <Login />;
|
return <PublicHome />;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
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