Files
Plushealthtech/task/12-navigation-footer-cta-links.md
T
Clive e5d1446791
Gitea CI/CD / build (push) Successful in 1m40s
Site pages and AI tasks.
2026-08-20 14:58:52 +10:00

70 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Task 12 — Navigation, footer & CTA link wiring
- **Status:** Done
- **Depends on:** 02, 03, 04, 05, 06, 07, 08, 09, 10, 11 (all routes must exist first)
- **Size:** M
## Goal
Point every navbar, footer, and Index CTA at the real pages; remove the `#contact` anchor pattern and the dead `#` links; make the (currently non-functional) mobile menu work.
## Files
- Modify: `plushealthtech/Pages/Shared/_Layout.cshtml`
- Modify: `plushealthtech/Pages/Index.cshtml`
- (Optional, if JS approach chosen) `plushealthtech/wwwroot/js/mobile-menu.js` or an inline `<script>` in the layout's `Scripts` section.
## Steps
### 1. Desktop nav (`_Layout.cshtml`, the `hidden md:flex` nav)
Replace the current anchor links with:
| Label | href |
|---|---|
| CDS | `/ClinicalDecisionSupport` |
| Patient Management | `/PatientManagement` |
| Veterinary | `/Veterinary` |
| About | `/About` |
| Careers | `/Careers` |
| Contact | `/Contact` |
| Blog | `https://blog.plushealthtech.com` (keep, external) |
(Removes the `#solutions` / `#interoperability` / `#veterinary` / `#about` anchors from the nav — those sections remain reachable by scrolling on the Index page.)
### 2. CTA buttons (`_Layout.cshtml`)
- `Sign In` → `/SignIn` (was `#contact`).
- `Request Demo` → `/RequestDemo` (was `#contact`).
### 3. Footer (`_Layout.cshtml`)
- **Remove `id="contact"` from the `<footer>`** — nothing may target it anymore.
- Solutions column → `/ClinicalDecisionSupport`, `/PatientManagement`, `/Veterinary` (labels: Clinical Decision Support / Patient Management / Veterinarian Solutions).
- Company column → `/About`, `/Careers`, `/Contact`.
- **New Legal column** → `/Privacy` (Privacy Policy), `/Terms` (Terms & Conditions). Grid becomes `md:grid-cols-5` (or 4 + legal under Company — keep it tidy at md width).
- Newsletter input block: leave as-is (decorative, no endpoint specified — plan §3.8).
### 4. Index page (`Index.cshtml`)
- Hero primary CTA "Explore Platform" (`#contact`) → `/RequestDemo`.
- Hero secondary CTA "View Solutions" — keep `#solutions` (valid in-page anchor).
- Solution cards "Learn more" / "Explore Vet Tech" links (`#`) → `/ClinicalDecisionSupport`, `/PatientManagement`, `/Veterinary` respectively.
- Keep `id="solutions"`, `id="interoperability"`, `id="veterinary"` anchors on the sections (still used by the hero CTA and any deep links).
### 5. Mobile menu (currently a no-op `<button>`)
Add a minimal toggle so the desktop nav is reachable below `md`:
- Simplest robust option: `<details>`/`<summary>` wrapper around the nav, or a 5–10 line vanilla JS toggle (`classList.toggle('hidden')`) in the layout's `Scripts` section.
- Close the menu when a link is tapped (optional nicety).
- No framework, no new dependency.
## Acceptance criteria
- [x] Build green.
- [x] Desktop nav has 7 working links; CTAs point at `/SignIn` and `/RequestDemo`.
- [x] Footer columns link to all pages incl. new Legal column; footer no longer carries `id="contact"`.
- [x] Index: zero `href="#"` left (grep to confirm); hero CTA lands on `/RequestDemo`.
- [x] Mobile menu opens/closes and all links are reachable at 375px width. (verified via rendered markup, CSS class presence, and JS review — not a live browser click-through)
- [x] No new utility classes required → `wwwroot/css/tailwind.css` rebuild **not** needed (verify; if any new class slips in, run `npm run build:css`). (`pb-6` was new — rebuilt with `npm run build:css`.)