瀏覽代碼

Fix legal links, remove Contact from Settings, and add site embed assets.

Point Terms of Use and StoreKit EULA at the live Google Sites terms-of-services page, drop the unused Contact settings row, and add the home page plus Google Sites support embed HTML.

Co-authored-by: Cursor <cursoragent@cursor.com>
AhtashamShahzad1 2 月之前
父節點
當前提交
9402fe43af

+ 2 - 2
App for Indeed/AppLegalURLs.swift

@@ -12,9 +12,9 @@ enum AppLegalURLs {
 
     static let marketingHome = URL(string: "\(siteRoot)/home")!
     static let privacyPolicy = URL(string: "\(siteRoot)/privacy-policy")!
-    static let termsOfUse = URL(string: "\(siteRoot)/terms-of-service")!
+    /// Google Sites page slug: `terms-of-services` (matches published site navigation).
+    static let termsOfUse = URL(string: "\(siteRoot)/terms-of-services")!
     static let support = URL(string: "\(siteRoot)/support")!
-    static let contact = URL(string: "\(siteRoot)/contact")!
 
     /// Opens the URL in Safari when available; otherwise uses the system default browser.
     static func openInSafari(_ url: URL) {

+ 1 - 1
App for Indeed/Controllers/PremiumPlansWindowController.swift

@@ -769,7 +769,7 @@ private final class PremiumPlansViewController: NSViewController {
         let entries: [(text: String, action: Selector)] = [
             ("Restore Purchase", #selector(didTapRestorePurchases)),
             ("Privacy Policy", #selector(didTapFooterPrivacyPolicy)),
-            ("Terms of Services", #selector(didTapFooterTermsOfServices)),
+            ("Terms of Use", #selector(didTapFooterTermsOfServices)),
             ("Support", #selector(didTapFooterSupport))
         ]
 

+ 1 - 1
App for Indeed/Paywall.storekit

@@ -1,6 +1,6 @@
 {
   "appPolicies" : {
-    "eula" : "https://sites.google.com/view/app-for-indeed/terms-of-service",
+    "eula" : "https://sites.google.com/view/app-for-indeed/terms-of-services",
     "policies" : [
       {
         "locale" : "en_US",

+ 0 - 5
App for Indeed/Views/DashboardView.swift

@@ -1523,7 +1523,6 @@ final class DashboardView: NSView, NSTextFieldDelegate, NSSharingServicePickerDe
         let aboutSection = makeSettingsSection(rows: [
             makeSettingsRow(title: "Website", systemImage: "globe", accessory: nil, tapAction: #selector(didTapWebsite)),
             makeSettingsRow(title: "Support", systemImage: "questionmark.circle", accessory: nil, tapAction: #selector(didTapSupport)),
-            makeSettingsRow(title: "Contact", systemImage: "envelope", accessory: nil, tapAction: #selector(didTapContact)),
             makeSettingsRow(title: "Terms of Use", systemImage: "doc.text", accessory: nil, tapAction: #selector(didTapTermsOfUse)),
             makeSettingsRow(title: "Privacy Policy", systemImage: "shield", accessory: nil, tapAction: #selector(didTapPrivacyPolicy))
         ])
@@ -1885,10 +1884,6 @@ final class DashboardView: NSView, NSTextFieldDelegate, NSSharingServicePickerDe
         AppLegalURLs.openInSafari(AppLegalURLs.support)
     }
 
-    @objc private func didTapContact() {
-        AppLegalURLs.openInSafari(AppLegalURLs.contact)
-    }
-
     @objc private func didTapTermsOfUse() {
         AppLegalURLs.openInSafari(AppLegalURLs.termsOfUse)
     }

+ 492 - 0
legal/embed-support.html

@@ -0,0 +1,492 @@
+<div id="afi-support-embed">
+  <style>
+    #afi-support-embed {
+      --brand: #2557a7;
+      --brand-dark: #1a4480;
+      --heading: #0052cc;
+      --text: #2d2d2d;
+      --secondary: #5f6368;
+      --muted: #767676;
+      --border: #e4e4e4;
+      --bg: #f4f6f9;
+      --card: #ffffff;
+      --well: #eff4fc;
+      --success: #1e8e3e;
+      --required: #d93025;
+      --shadow: 0 1px 3px rgba(60, 64, 67, 0.12), 0 4px 12px rgba(60, 64, 67, 0.08);
+      --radius: 12px;
+      --radius-sm: 8px;
+      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
+      line-height: 1.6;
+      color: var(--text);
+      background: var(--bg);
+      padding: 1.5rem 1rem 2.5rem;
+      box-sizing: border-box;
+    }
+    #afi-support-embed *,
+    #afi-support-embed *::before,
+    #afi-support-embed *::after {
+      box-sizing: border-box;
+    }
+    #afi-support-embed .wrap {
+      max-width: 880px;
+      margin: 0 auto;
+    }
+    #afi-support-embed .page-intro {
+      text-align: center;
+      margin-bottom: 1.75rem;
+    }
+    #afi-support-embed .page-intro h1 {
+      margin: 0 0 0.5rem;
+      font-size: 2rem;
+      font-weight: 700;
+      color: var(--heading);
+      letter-spacing: -0.02em;
+    }
+    #afi-support-embed .page-intro .lead {
+      margin: 0 auto;
+      max-width: 36rem;
+      font-size: 1.05rem;
+      color: var(--muted);
+    }
+    #afi-support-embed .page-intro .badge {
+      display: inline-block;
+      margin-bottom: 0.75rem;
+      padding: 0.35rem 0.75rem;
+      font-size: 0.75rem;
+      font-weight: 600;
+      text-transform: uppercase;
+      letter-spacing: 0.04em;
+      color: var(--brand);
+      background: var(--well);
+      border-radius: 999px;
+    }
+    #afi-support-embed .layout {
+      display: grid;
+      gap: 1.25rem;
+      grid-template-columns: 1fr;
+    }
+    @media (min-width: 768px) {
+      #afi-support-embed .layout {
+        grid-template-columns: 1.15fr 0.85fr;
+        align-items: start;
+      }
+    }
+    #afi-support-embed .card {
+      background: var(--card);
+      border: 1px solid var(--border);
+      border-radius: var(--radius);
+      box-shadow: var(--shadow);
+      overflow: hidden;
+    }
+    #afi-support-embed .form-card__head {
+      padding: 1.35rem 1.5rem 1rem;
+      border-bottom: 1px solid var(--border);
+      background: linear-gradient(180deg, var(--well) 0%, var(--card) 100%);
+    }
+    #afi-support-embed .form-card__head h2 {
+      margin: 0 0 0.25rem;
+      font-size: 1.25rem;
+      font-weight: 600;
+      color: var(--heading);
+    }
+    #afi-support-embed .form-card__head p {
+      margin: 0;
+      font-size: 0.9rem;
+      color: var(--muted);
+    }
+    #afi-support-embed form {
+      padding: 0.25rem 0 1rem;
+    }
+    #afi-support-embed .field {
+      padding: 1.1rem 1.5rem;
+      border-bottom: 1px solid var(--border);
+    }
+    #afi-support-embed .field:last-of-type {
+      border-bottom: none;
+    }
+    #afi-support-embed label {
+      display: block;
+      font-size: 0.95rem;
+      font-weight: 600;
+      color: var(--text);
+      margin-bottom: 0.45rem;
+    }
+    #afi-support-embed .required {
+      color: var(--required);
+      font-weight: 400;
+    }
+    #afi-support-embed .hint {
+      margin: -0.2rem 0 0.6rem;
+      font-size: 0.82rem;
+      color: var(--muted);
+      line-height: 1.45;
+    }
+    #afi-support-embed input[type="text"],
+    #afi-support-embed input[type="email"],
+    #afi-support-embed select,
+    #afi-support-embed textarea {
+      width: 100%;
+      padding: 0.7rem 0.85rem;
+      font-size: 0.95rem;
+      font-family: inherit;
+      color: var(--text);
+      background: #fafbfc;
+      border: 1px solid var(--border);
+      border-radius: var(--radius-sm);
+      transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
+    }
+    #afi-support-embed input::placeholder,
+    #afi-support-embed textarea::placeholder {
+      color: #9aa0a6;
+    }
+    #afi-support-embed input:hover,
+    #afi-support-embed select:hover,
+    #afi-support-embed textarea:hover {
+      border-color: #c6c9cc;
+    }
+    #afi-support-embed input:focus,
+    #afi-support-embed select:focus,
+    #afi-support-embed textarea:focus {
+      outline: none;
+      border-color: var(--brand);
+      background: #fff;
+      box-shadow: 0 0 0 3px rgba(37, 87, 167, 0.15);
+    }
+    #afi-support-embed select {
+      appearance: none;
+      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235f6368' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
+      background-repeat: no-repeat;
+      background-position: right 0.85rem center;
+      padding-right: 2.25rem;
+      cursor: pointer;
+    }
+    #afi-support-embed textarea {
+      min-height: 130px;
+      resize: vertical;
+    }
+    #afi-support-embed .actions {
+      display: flex;
+      flex-wrap: wrap;
+      align-items: center;
+      gap: 0.75rem 1rem;
+      padding: 1rem 1.5rem 1.25rem;
+      background: #fafbfc;
+      border-top: 1px solid var(--border);
+    }
+    #afi-support-embed button[type="submit"] {
+      display: inline-flex;
+      align-items: center;
+      justify-content: center;
+      min-width: 7.5rem;
+      padding: 0.7rem 1.75rem;
+      font-size: 0.95rem;
+      font-weight: 600;
+      font-family: inherit;
+      color: #fff;
+      background: var(--brand);
+      border: none;
+      border-radius: var(--radius-sm);
+      cursor: pointer;
+      box-shadow: 0 1px 2px rgba(37, 87, 167, 0.3);
+      transition: background 0.15s ease, transform 0.1s ease;
+    }
+    #afi-support-embed button[type="submit"]:hover {
+      background: var(--brand-dark);
+    }
+    #afi-support-embed button[type="submit"]:active {
+      transform: translateY(1px);
+    }
+    #afi-support-embed .submit-note {
+      font-size: 0.8rem;
+      color: var(--muted);
+    }
+    #afi-support-embed .sidebar-section {
+      margin-bottom: 1.25rem;
+    }
+    #afi-support-embed .sidebar-section:last-child {
+      margin-bottom: 0;
+    }
+    #afi-support-embed .sidebar-section h3 {
+      margin: 0 0 0.65rem;
+      padding: 0 0.25rem;
+      font-size: 0.8rem;
+      font-weight: 700;
+      text-transform: uppercase;
+      letter-spacing: 0.05em;
+      color: var(--secondary);
+    }
+    #afi-support-embed .info-box {
+      padding: 1rem 1.15rem;
+      border-radius: var(--radius-sm);
+      font-size: 0.88rem;
+      line-height: 1.5;
+    }
+    #afi-support-embed .info-box--apple {
+      background: #f0f4ff;
+      border: 1px solid #c5d4f0;
+      color: #3d4f5f;
+    }
+    #afi-support-embed .info-box--apple strong {
+      color: var(--heading);
+    }
+    #afi-support-embed .info-box--links {
+      background: var(--well);
+      border: 1px solid #d0dff5;
+    }
+    #afi-support-embed .info-box--links a {
+      display: block;
+      padding: 0.45rem 0;
+      color: var(--brand);
+      font-weight: 500;
+      text-decoration: none;
+      border-bottom: 1px solid rgba(37, 87, 167, 0.12);
+    }
+    #afi-support-embed .info-box--links a:last-child {
+      border-bottom: none;
+      padding-bottom: 0;
+    }
+    #afi-support-embed .info-box--links a:first-child {
+      padding-top: 0;
+    }
+    #afi-support-embed .info-box--links a:hover {
+      text-decoration: underline;
+    }
+    #afi-support-embed .faq-card {
+      padding: 0;
+    }
+    #afi-support-embed details {
+      border-bottom: 1px solid var(--border);
+    }
+    #afi-support-embed details:last-child {
+      border-bottom: none;
+    }
+    #afi-support-embed summary {
+      padding: 1rem 1.15rem;
+      font-size: 0.92rem;
+      font-weight: 600;
+      color: var(--text);
+      cursor: pointer;
+      list-style: none;
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      gap: 0.75rem;
+      transition: background 0.15s ease;
+    }
+    #afi-support-embed summary::-webkit-details-marker {
+      display: none;
+    }
+    #afi-support-embed summary::after {
+      content: "+";
+      flex-shrink: 0;
+      width: 1.5rem;
+      height: 1.5rem;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      font-size: 1.1rem;
+      font-weight: 400;
+      color: var(--brand);
+      background: var(--well);
+      border-radius: 50%;
+      transition: transform 0.2s ease;
+    }
+    #afi-support-embed details[open] summary::after {
+      content: "−";
+    }
+    #afi-support-embed summary:hover {
+      background: #fafbfc;
+    }
+    #afi-support-embed details[open] summary {
+      color: var(--heading);
+      background: var(--well);
+    }
+    #afi-support-embed .faq-answer {
+      padding: 0 1.15rem 1rem;
+      font-size: 0.88rem;
+      color: var(--muted);
+      line-height: 1.55;
+    }
+    #afi-support-embed .trouble-list {
+      margin: 0;
+      padding: 0;
+      list-style: none;
+    }
+    #afi-support-embed .trouble-list li {
+      padding: 0.85rem 1.15rem;
+      font-size: 0.88rem;
+      border-bottom: 1px solid var(--border);
+      line-height: 1.5;
+    }
+    #afi-support-embed .trouble-list li:last-child {
+      border-bottom: none;
+    }
+    #afi-support-embed .trouble-list strong {
+      display: block;
+      color: var(--heading);
+      font-size: 0.9rem;
+      margin-bottom: 0.15rem;
+    }
+    #afi-support-embed .footer-note {
+      margin-top: 1.5rem;
+      padding: 1rem 1.15rem;
+      text-align: center;
+      font-size: 0.82rem;
+      color: var(--muted);
+      background: var(--card);
+      border: 1px solid var(--border);
+      border-radius: var(--radius-sm);
+    }
+    @media (max-width: 640px) {
+      #afi-support-embed .page-intro h1 {
+        font-size: 1.65rem;
+      }
+      #afi-support-embed .actions {
+        flex-direction: column;
+        align-items: stretch;
+      }
+      #afi-support-embed button[type="submit"] {
+        width: 100%;
+      }
+    }
+  </style>
+
+  <div class="wrap">
+    <header class="page-intro">
+      <span class="badge">Support</span>
+      <h1>How can we help?</h1>
+      <p class="lead">
+        Send us a message about the app and we’ll reply within a few business days.
+        For billing, Apple handles subscriptions directly.
+      </p>
+    </header>
+
+    <div class="layout">
+      <section class="card form-card" aria-labelledby="form-heading">
+        <div class="form-card__head">
+          <h2 id="form-heading">Submit a support request</h2>
+          <p>All fields marked with <span class="required">*</span> are required.</p>
+        </div>
+
+        <form
+          action="https://docs.google.com/forms/d/e/YOUR_FORM_ID/formResponse"
+          method="POST"
+          target="_top"
+        >
+          <div class="field">
+            <label for="afi-name">Your name <span class="required">*</span></label>
+            <input type="text" id="afi-name" name="entry.111111111" required autocomplete="name" placeholder="Jane Smith">
+          </div>
+
+          <div class="field">
+            <label for="afi-email">Email address <span class="required">*</span></label>
+            <p class="hint">We’ll reply to this address.</p>
+            <input type="email" id="afi-email" name="entry.222222222" required autocomplete="email" placeholder="you@example.com">
+          </div>
+
+          <div class="field">
+            <label for="afi-topic">What do you need help with? <span class="required">*</span></label>
+            <select id="afi-topic" name="entry.333333333" required>
+              <option value="" disabled selected>Choose a topic</option>
+              <option value="Subscription / billing">Subscription / billing</option>
+              <option value="Bug report">Bug report</option>
+              <option value="Feature question">Feature question</option>
+              <option value="AI search">AI search</option>
+              <option value="Indeed browser">Indeed browser</option>
+              <option value="CV Maker">CV Maker</option>
+              <option value="Privacy">Privacy</option>
+              <option value="Other">Other</option>
+            </select>
+          </div>
+
+          <div class="field">
+            <label for="afi-macos">macOS version</label>
+            <p class="hint">Optional — helps us reproduce issues faster.</p>
+            <input type="text" id="afi-macos" name="entry.444444444" placeholder="e.g. macOS 15.4">
+          </div>
+
+          <div class="field">
+            <label for="afi-message">Describe your issue <span class="required">*</span></label>
+            <p class="hint">Steps to reproduce, error messages, and what you expected to happen.</p>
+            <textarea id="afi-message" name="entry.555555555" required placeholder="Tell us what happened…"></textarea>
+          </div>
+
+          <div class="actions">
+            <button type="submit">Submit</button>
+            <span class="submit-note">You’ll see a confirmation after sending.</span>
+          </div>
+        </form>
+      </section>
+
+      <aside class="sidebar">
+        <div class="sidebar-section">
+          <h3>Billing &amp; refunds</h3>
+          <div class="card info-box info-box--apple">
+            <strong>Managed by Apple</strong><br>
+            Open <strong>System Settings → Apple ID → Subscriptions</strong>, select <strong>App for Indeed</strong>, then change or cancel your plan. Refunds follow Apple’s policies.
+          </div>
+        </div>
+
+        <div class="sidebar-section">
+          <h3>Quick links</h3>
+          <nav class="card info-box info-box--links" aria-label="Related pages">
+            <a href="https://sites.google.com/view/app-for-indeed/home" target="_top">Home</a>
+            <a href="https://sites.google.com/view/app-for-indeed/contact" target="_top">Contact</a>
+            <a href="https://sites.google.com/view/app-for-indeed/privacy-policy" target="_top">Privacy Policy</a>
+            <a href="https://sites.google.com/view/app-for-indeed/terms-of-services" target="_top">Terms of Use</a>
+          </nav>
+        </div>
+
+        <div class="sidebar-section">
+          <h3>Common questions</h3>
+          <div class="card faq-card">
+            <details>
+              <summary>Is this app affiliated with Indeed?</summary>
+              <p class="faq-answer">No. App for Indeed is an independent tool and is not endorsed by Indeed, Inc.</p>
+            </details>
+            <details>
+              <summary>How does AI job search work?</summary>
+              <p class="faq-answer">Enter a prompt or use shortcuts on Home. The app returns job summaries you can save or open in the in-app Indeed browser.</p>
+            </details>
+            <details>
+              <summary>Where is my data stored?</summary>
+              <p class="faq-answer">Profiles, saved jobs, and preferences stay on your Mac. See the Privacy Policy for third-party processing details.</p>
+            </details>
+            <details>
+              <summary>CV Maker not loading?</summary>
+              <p class="faq-answer">Check your internet connection, pick a template, link it to a profile, then preview again.</p>
+            </details>
+          </div>
+        </div>
+
+        <div class="sidebar-section">
+          <h3>Troubleshooting</h3>
+          <ul class="card trouble-list">
+            <li>
+              <strong>App won’t launch</strong>
+              Quit completely and reopen. Restart your Mac if needed.
+            </li>
+            <li>
+              <strong>Subscription not unlocking</strong>
+              Confirm the purchase under Apple ID Subscriptions, then relaunch the app.
+            </li>
+            <li>
+              <strong>Indeed pages not loading</strong>
+              Check your network and use reload in the in-app browser.
+            </li>
+            <li>
+              <strong>AI search errors</strong>
+              Try a shorter, clearer prompt with a stable connection.
+            </li>
+          </ul>
+        </div>
+      </aside>
+    </div>
+
+    <p class="footer-note">
+      App for Indeed is not affiliated with, sponsored by, or endorsed by Indeed, Inc.
+      Indeed® is a trademark of Indeed, Inc.
+    </p>
+  </div>
+</div>

+ 168 - 0
legal/home/index.html

@@ -0,0 +1,168 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>App for Indeed</title>
+  <meta name="description" content="App for Indeed — AI-assisted job search, embedded Indeed browsing, saved jobs, CV Maker, and profiles for macOS.">
+  <link rel="stylesheet" href="../styles.css">
+</head>
+<body>
+  <header class="site-header">
+    <div class="site-header__inner">
+      <a class="brand" href="../index.html">
+        <span class="brand__mark" aria-hidden="true">Ai</span>
+        App for Indeed
+      </a>
+      <nav class="site-nav" aria-label="Main">
+        <a href="../index.html" aria-current="page">Home</a>
+        <a href="../support.html">Support</a>
+        <a href="../contact.html">Contact</a>
+        <a href="../terms-of-service.html">Terms of Use</a>
+        <a href="../privacy-policy.html">Privacy Policy</a>
+      </nav>
+    </div>
+  </header>
+
+  <main class="home">
+    <section class="hero">
+      <h1>Your job hunt, in one Mac app</h1>
+      <p class="hero__lead">
+        App for Indeed brings together AI-powered search, an in-app Indeed browser, saved listings,
+        résumé templates, and multiple career profiles—so you spend less time switching tabs and more
+        time applying.
+      </p>
+    </section>
+
+    <section class="highlights" aria-labelledby="why-heading">
+      <h2 id="why-heading">Why professionals use it</h2>
+      <ul class="highlights__list">
+        <li>Search smarter with conversational AI and quick Role, Company, and Skill shortcuts.</li>
+        <li>Keep Indeed open inside the app while you review, save, and apply to roles.</li>
+        <li>Build tailored CVs from templates tied to profiles you control on your Mac.</li>
+        <li>Upgrade on your terms with weekly, monthly, or yearly plans billed through Apple.</li>
+      </ul>
+    </section>
+
+    <section class="features" aria-labelledby="workspace-heading">
+      <h2 id="workspace-heading">Everything in one workspace</h2>
+      <p class="features__intro">
+        Whether you are actively applying or building a shortlist for later, the app keeps discovery,
+        organization, and résumé work together instead of scattered across browser windows.
+      </p>
+
+      <div class="feature-grid">
+        <article class="feature-card">
+          <h3>AI search assistant</h3>
+          <p>
+            Describe what you want on Home—or tap a shortcut—and get readable job summaries you can save
+            or open on Indeed in one click.
+          </p>
+        </article>
+
+        <article class="feature-card">
+          <h3>In-app Indeed browser</h3>
+          <p>
+            Read listings and walk through application steps without leaving the app. Navigate with back,
+            forward, and reload, then return to your dashboard when you are done.
+          </p>
+        </article>
+
+        <article class="feature-card">
+          <h3>Saved Jobs</h3>
+          <p>
+            Bookmark roles from search results and manage them in a dedicated list so nothing slips through
+            while you compare options.
+          </p>
+        </article>
+
+        <article class="feature-card">
+          <h3>CV Maker</h3>
+          <p>
+            Pick from profession- and style-based templates, preview layouts, and link a template to a profile
+            to produce a ready-to-edit résumé.
+          </p>
+        </article>
+
+        <article class="feature-card">
+          <h3>Profiles</h3>
+          <p>
+            Maintain separate profiles with contact info, experience, education, and skills—ideal when you are
+            targeting different roles or industries.
+          </p>
+        </article>
+
+        <article class="feature-card">
+          <h3>Premium via Apple</h3>
+          <p>
+            Unlock advanced capabilities with auto-renewing subscriptions managed in your Apple ID settings.
+            Cancel anytime before the next billing period.
+          </p>
+        </article>
+      </div>
+    </section>
+
+    <section class="link-hub" aria-labelledby="links-heading">
+      <h2 id="links-heading">Quick links</h2>
+      <p class="link-hub__intro">The same pages linked from the app Settings screen.</p>
+      <ul class="link-list">
+        <li class="link-list__item">
+          <a class="link-list__link" href="../support.html">
+            <span class="link-list__icon" aria-hidden="true">
+              <svg viewBox="0 0 24 24" role="img"><path d="M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm1 15h-2v-2h2zm0-4h-2V7h2z"/></svg>
+            </span>
+            <span class="link-list__label">Support</span>
+            <span class="link-list__chevron" aria-hidden="true">›</span>
+          </a>
+        </li>
+        <li class="link-list__item">
+          <a class="link-list__link" href="../contact.html">
+            <span class="link-list__icon" aria-hidden="true">
+              <svg viewBox="0 0 24 24" role="img"><path d="M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5L4 8V6l8 5 8-5z"/></svg>
+            </span>
+            <span class="link-list__label">Contact</span>
+            <span class="link-list__chevron" aria-hidden="true">›</span>
+          </a>
+        </li>
+        <li class="link-list__item">
+          <a class="link-list__link" href="../terms-of-service.html">
+            <span class="link-list__icon" aria-hidden="true">
+              <svg viewBox="0 0 24 24" role="img"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zm2 16H8v-2h8zm0-4H8v-2h8zm-3-5V3.5L18.5 9z"/></svg>
+            </span>
+            <span class="link-list__label">Terms of Use</span>
+            <span class="link-list__chevron" aria-hidden="true">›</span>
+          </a>
+        </li>
+        <li class="link-list__item">
+          <a class="link-list__link" href="../privacy-policy.html">
+            <span class="link-list__icon" aria-hidden="true">
+              <svg viewBox="0 0 24 24" role="img"><path d="M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5zm0 10.99h7c-.53 4.12-3.28 7.79-7 8.94V12H5V6.3l7-3.43z"/></svg>
+            </span>
+            <span class="link-list__label">Privacy Policy</span>
+            <span class="link-list__chevron" aria-hidden="true">›</span>
+          </a>
+        </li>
+      </ul>
+    </section>
+
+    <aside class="disclaimer">
+      <p>
+        <strong>Independent app.</strong> App for Indeed is not affiliated with, sponsored by, or endorsed by
+        Indeed, Inc. Indeed® is a trademark of Indeed, Inc.
+      </p>
+    </aside>
+  </main>
+
+  <footer class="page-footer">
+    <div class="page-footer__inner">
+      <nav class="footer-nav" aria-label="Footer">
+        <a href="../support.html">Support</a>
+        <a href="../contact.html">Contact</a>
+        <a href="../terms-of-service.html">Terms of Use</a>
+        <a href="../privacy-policy.html">Privacy Policy</a>
+      </nav>
+      <p>© 2026 App for Indeed. All rights reserved.</p>
+    </div>
+  </footer>
+</body>
+</html>