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
228 changes: 120 additions & 108 deletions public/sitemap.xml

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions scripts/generate-sitemap.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ const urls = [
{ loc: '/reels', changefreq: 'weekly', priority: '0.8' },
{ loc: '/watch', changefreq: 'weekly', priority: '0.75' },
{ loc: '/why', changefreq: 'monthly', priority: '0.7' },
{ loc: '/privacy', changefreq: 'yearly', priority: '0.3' },
{ loc: '/terms', changefreq: 'yearly', priority: '0.3' },
]

for (const slug of giftSlugs) {
Expand Down
10 changes: 10 additions & 0 deletions scripts/route-meta.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,16 @@ export function buildRouteMeta(): RouteMetaFile {
routes['/reels'] = finalizeRouteMeta(reelsSeo())
routes['/watch'] = finalizeRouteMeta(watchSeo())
routes['/why'] = finalizeRouteMeta(whySeo())
routes['/privacy'] = finalizeRouteMeta({
title: 'Privacy Policy',
description: 'Privacy Policy for Adazo.',
path: '/privacy',
} as any)
routes['/terms'] = finalizeRouteMeta({
title: 'Terms of Use',
description: 'Terms of Use for Adazo.',
path: '/terms',
} as any)
routes['/gifts'] = finalizeRouteMeta(giftsHubSeo())
for (const g of giftGuides) {
routes[`/gifts/${g.slug}`] = finalizeRouteMeta(giftGuideSeo(g))
Expand Down
4 changes: 4 additions & 0 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ import { GiftsHubPage } from './pages/Gifts'
import { GiftGuidePage } from './pages/GiftGuide'
import { BuyerGuidesHubPage } from './pages/BuyerGuides'
import { BuyerGuidePage } from './pages/BuyerGuide'
import { Privacy } from './pages/Privacy'
import { Terms } from './pages/Terms'

export default function App() {
return (
Expand All @@ -34,6 +36,8 @@ export default function App() {
<Route path="reels" element={<ReelsPage />} />
<Route path="watch" element={<WatchPage />} />
<Route path="vibe/:vibeId" element={<VibePage />} />
<Route path="privacy" element={<Privacy />} />
<Route path="terms" element={<Terms />} />
<Route path="*" element={<Navigate to="/" replace />} />
</Route>
</Routes>
Expand Down
18 changes: 18 additions & 0 deletions src/components/Layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,16 @@ export function Layout() {
Our story
</Link>
</li>
<li>
<Link to="/privacy" className="hover:text-bamboo">
Privacy
</Link>
</li>
<li>
<Link to="/terms" className="hover:text-bamboo">
Terms
</Link>
</li>
</ul>
<p className="text-xs text-muted mt-6 leading-relaxed">
{BRAND.affiliateDisclosure}
Expand All @@ -245,6 +255,14 @@ export function Layout() {
</div>
<div className="border-t border-line py-4 text-center text-xs text-muted">
© {new Date().getFullYear()} Adazo · Since {BRAND.founded} · adazo.com
{' · '}
<Link to="/privacy" className="underline hover:text-ink">
Privacy
</Link>
{' · '}
<Link to="/terms" className="underline hover:text-ink">
Terms
</Link>
</div>
</footer>
</div>
Expand Down
86 changes: 86 additions & 0 deletions src/pages/Privacy.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
import { Link } from 'react-router-dom'
import { Seo } from '../components/Seo'

const HTML = `<p><strong>Effective date:</strong> August 6, 2026</p>
<p>This Privacy Policy describes how <strong>Adazo</strong> (“we,” “us”), operated by SYMO, LLC (Sheridan, Wyoming, USA), handles information when you visit <strong>https://adazo.com</strong> (the “Site”).</p>

<h2>1. Who we are</h2>
<p>Adazo is an Amazon Associates editorial storefront. We publish product information, guides, and links so you can discover fashion and lifestyle Amazon catalog editorial. We are <strong>not</strong> the seller of record for products linked on the Site. Purchases are completed on Amazon or another third-party retailer.</p>

<h2>2. Information we collect</h2>
<ul>
<li><strong>Information you provide.</strong> If you use a contact form, waitlist, quiz, or similar feature, we may collect your name, email address, message content, and any other fields you submit.</li>
<li><strong>Automatic technical data.</strong> Servers and security providers (including Cloudflare) may log IP address, browser type, device type, referring URL, and timestamps for security, reliability, and basic operations.</li>
<li><strong>Cookies and similar tech.</strong> We may use analytics tools (for example Google Analytics or similar) to understand aggregate traffic and page performance. Those tools may set cookies or similar identifiers. You can control cookies through your browser settings.</li>
</ul>
<p>If you complete a quiz or profile tool, we may store your answers and any contact details you provide so we can return results and improve the experience.</p>

<h2>3. How we use information</h2>
<ul>
<li>To respond to inquiries and operate the Site</li>
<li>To improve content, performance, and security</li>
<li>To send follow-up only when you requested it (for example a quiz result or support reply)</li>
<li>To comply with law and enforce our Terms</li>
</ul>
<p>Contact and lead information may be processed through our CRM provider (Parsimony Automate / LeadConnector infrastructure) on our behalf. We do not sell your personal information for money.</p>

<h2>4. Amazon and other third parties</h2>
<p>Links on the Site may send you to Amazon.com or other retailers. Those sites have their own privacy policies and cookie practices. We do not control Amazon’s data collection after you leave our Site. As an Amazon Associate, we may earn commissions on qualifying purchases.</p>

<h2>5. Sharing</h2>
<p>We may share information with service providers who help us run the Site (hosting, security, CRM, email infrastructure), when required by law, or in connection with a business transfer. We do not sell personal information as defined under California law (CCPA/CPRA).</p>

<h2>6. Retention</h2>
<p>We keep information only as long as needed for the purposes above, unless a longer period is required by law.</p>

<h2>7. Security</h2>
<p>We use reasonable administrative and technical measures appropriate to a small editorial site. No method of transmission or storage is 100% secure.</p>

<h2>8. Children</h2>
<p>The Site is not directed to children under 13. We do not knowingly collect personal information from children under 13.</p>

<h2>9. Your choices</h2>
<ul>
<li>You may request access, correction, or deletion of contact information we hold by contacting us (see below).</li>
<li>You can block or delete cookies in your browser.</li>
<li>California residents may have additional rights under the CCPA/CPRA; contact us to exercise them. We will not discriminate for exercising privacy rights.</li>
</ul>

<h2>10. International visitors</h2>
<p>The Site is operated from the United States. If you visit from elsewhere, you understand information may be processed in the U.S.</p>

<h2>11. Changes</h2>
<p>We may update this policy from time to time. The effective date above will change when we do. Continued use of the Site after changes means you accept the updated policy.</p>

<h2>12. Contact</h2>
<p>Privacy questions: contact us via the contact options on this website. Operator: SYMO, LLC, Sheridan, Wyoming, USA.</p>`

/** Minimum Privacy Policy for Adazo Amazon Associates site. Not a substitute for legal counsel. */
export function Privacy() {
return (
<div className="pb-24">
<Seo
title="Privacy Policy"
description="Privacy Policy for Adazo (adazo.com)."
path="/privacy"
/>
<article className="mx-auto max-w-3xl px-4 sm:px-6 py-16 sm:py-20">
<p className="text-xs uppercase tracking-widest text-muted mb-3">Legal</p>
<h1 className="font-display text-4xl sm:text-5xl font-extrabold mb-8">Privacy Policy</h1>
<div
className="legal-prose space-y-4 text-sm sm:text-base text-ink-soft leading-relaxed [&_h2]:text-ink [&_h2]:font-display [&_h2]:text-xl [&_h2]:font-bold [&_h2]:mt-8 [&_h2]:mb-3 [&_ul]:list-disc [&_ul]:pl-5 [&_ul]:space-y-2 [&_a]:underline"
dangerouslySetInnerHTML={{ __html: HTML }}
/>
<p className="mt-10 text-sm text-muted">
<Link to="/" className="hover:underline">
Home
</Link>
{' · '}
<Link to="/terms" className="hover:underline">
Terms of Use
</Link>
</p>
</article>
</div>
)
}
76 changes: 76 additions & 0 deletions src/pages/Terms.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
import { Link } from 'react-router-dom'
import { Seo } from '../components/Seo'

const HTML = `<p><strong>Effective date:</strong> August 6, 2026</p>
<p>These Terms of Use (“Terms”) govern your use of <strong>https://adazo.com</strong> (the “Site”), operated by SYMO, LLC (“Adazo,” “we,” “us”). By using the Site, you agree to these Terms.</p>

<h2>1. What this Site is</h2>
<p>Adazo is an <strong>editorial Amazon Associates</strong> website. We curate and describe products related to fashion and lifestyle Amazon catalog editorial. We provide information and outbound shopping links. We do <strong>not</strong> warehouse, sell, ship, or process payment for the products featured here.</p>

<h2>2. Amazon Associates</h2>
<p>We are a participant in the Amazon Services LLC Associates Program. We may earn a commission on qualifying purchases made through links on the Site. Amazon and the Amazon logo are trademarks of Amazon.com, Inc. or its affiliates. Product prices, availability, shipping, taxes, and returns are controlled by Amazon (or the listed seller) and may change without notice.</p>

<h2>3. No purchase contract with us</h2>
<p>Any purchase you make is solely between you and Amazon (or the third-party seller). Their terms, privacy policy, and customer service apply to your order.</p>

<h2>4. Informational content only</h2>
<p>Guides, FAQs, product notes, and recommendations are for general information and shopping convenience. They are not professional advice (including medical, legal, financial, or engineering advice). Always verify product fit, safety, and installation requirements with the manufacturer and qualified professionals where appropriate.</p>

<h2>5. Acceptable use</h2>
<p>You agree not to misuse the Site, attempt unauthorized access, scrape in a way that harms service, or use the Site for unlawful purposes.</p>

<h2>6. Intellectual property</h2>
<p>Site design, branding, and original written content are owned by us or our licensors. You may not copy the Site for commercial republication without permission. Product names and images may be trademarks of their respective owners.</p>

<h2>7. Disclaimer of warranties</h2>
<p>THE SITE AND ALL CONTENT ARE PROVIDED “AS IS” AND “AS AVAILABLE” WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. WE DO NOT WARRANT THAT THE SITE WILL BE UNINTERRUPTED OR ERROR-FREE.</p>

<h2>8. Limitation of liability</h2>
<p>TO THE MAXIMUM EXTENT PERMITTED BY LAW, SYMO, LLC AND ADAZO SHALL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, OR ANY LOSS OF PROFITS OR DATA, ARISING FROM YOUR USE OF THE SITE OR RELIANCE ON CONTENT. OUR TOTAL LIABILITY FOR ANY CLAIM RELATED TO THE SITE SHALL NOT EXCEED ONE HUNDRED U.S. DOLLARS (US \$100).</p>

<h2>9. Indemnity</h2>
<p>You agree to indemnify and hold harmless SYMO, LLC and its officers and agents from claims arising out of your misuse of the Site or violation of these Terms.</p>

<h2>10. Links</h2>
<p>Outbound links are provided for convenience. We are not responsible for third-party sites or services.</p>

<h2>11. Changes</h2>
<p>We may modify these Terms at any time by posting an updated version on the Site. Continued use after changes constitutes acceptance.</p>

<h2>12. Governing law</h2>
<p>These Terms are governed by the laws of the State of Wyoming, USA, without regard to conflict-of-law rules. Exclusive venue for disputes shall be state or federal courts located in Wyoming, unless applicable law requires otherwise.</p>

<h2>13. Contact</h2>
<p>Questions about these Terms: the contact options on this website. Operator: SYMO, LLC, Sheridan, Wyoming, USA.</p>

<p class="muted tiny">© 2026 SYMO, LLC. All rights reserved.</p>`

/** Minimum Terms of Use for Adazo Amazon Associates site. Not a substitute for legal counsel. */
export function Terms() {
return (
<div className="pb-24">
<Seo
title="Terms of Use"
description="Terms of Use for Adazo (adazo.com)."
path="/terms"
/>
<article className="mx-auto max-w-3xl px-4 sm:px-6 py-16 sm:py-20">
<p className="text-xs uppercase tracking-widest text-muted mb-3">Legal</p>
<h1 className="font-display text-4xl sm:text-5xl font-extrabold mb-8">Terms of Use</h1>
<div
className="legal-prose space-y-4 text-sm sm:text-base text-ink-soft leading-relaxed [&_h2]:text-ink [&_h2]:font-display [&_h2]:text-xl [&_h2]:font-bold [&_h2]:mt-8 [&_h2]:mb-3 [&_ul]:list-disc [&_ul]:pl-5 [&_ul]:space-y-2 [&_a]:underline"
dangerouslySetInnerHTML={{ __html: HTML }}
/>
<p className="mt-10 text-sm text-muted">
<Link to="/" className="hover:underline">
Home
</Link>
{' · '}
<Link to="/privacy" className="hover:underline">
Privacy Policy
</Link>
</p>
</article>
</div>
)
}
2 changes: 1 addition & 1 deletion worker/generated/routeMeta.json

Large diffs are not rendered by default.

Loading