Informational Pages
All platform-facing informational pages linked from the footer, user menu, and navigation. These are static content pages that establish the platform's brand, legal compliance, and support infrastructure.
Footer Pages Status
All 17 footer destination routes are implemented.
| Route | Page | Sections |
|---|---|---|
/about |
About Mallnline | Hero, Mission, Features, Stats, Values, Architecture, CTA |
/discover |
Discover | Search hero, Curated collections, Verticals browser, Search CTA |
/blog |
Platform Blog | Hero, Featured posts, Category filters, Post archive grid |
/careers |
Careers | Job listings, company culture, open positions |
/press |
Press / Newsroom | Press releases timeline, Media coverage quotes, Assets grid |
/investors |
Investor Relations | Key metrics banner, Competitive advantages, Milestones timeline |
/help |
Help Center | Support categories, FAQ links, contact options |
/contact |
Contact Us | Contact form, support channels, location info |
/faq |
FAQ | Categorized question-answer accordion |
/shipping |
Shipping Info | Shipping policies, delivery estimates, carrier info |
/returns |
Returns & Refunds | Return policies, refund process, exceptions |
/privacy |
Privacy Policy | Data handling, GDPR compliance, user rights |
/terms |
Terms of Service | Platform terms, user obligations, liability |
/cookies |
Cookie Policy | Cookie usage, categories, opt-out instructions |
/accessibility |
Accessibility | WCAG 2.1 statement, feedback channels, assistive tech support |
/licenses |
Open Source Licenses | Frontend, backend, and infrastructure dependency attributions |
Architecture
Design Patterns
All informational pages follow consistent patterns:
- Hero Section: Badge icon + headline with gradient accent text + subtitle
- Content Sections: Card grids, timelines, or text blocks with
data-revealscroll animations - CTA Footer: Dark gradient background with call-to-action buttons
- Dark Mode: Full support via
:global(.dark-mode)selectors and$malltokens - Responsive: Breakpoints at 768px and 480px
Scroll Reveal Animation
Pages use IntersectionObserver for scroll-triggered reveal animations:
<section data-reveal="hero" class:revealed={isRevealed('hero')}>
[data-reveal] {
opacity: 0;
transform: translateY(24px);
transition:
opacity 0.6s ease,
transform 0.6s ease;
}
[data-reveal].revealed {
opacity: 1;
transform: translateY(0);
}
CSS Token Usage
All pages use $mall design tokens โ no hardcoded colors:
background: var(--mall-light-bg);
color: var(--mall-light-text);
border-radius: var(--mall-radius-xl);
padding: var(--mall-space-lg);
transition: all var(--mall-transition-base);
Blog Data Module
The platform blog uses a typed data module at src/lib/data/blogPosts.ts:
import { z } from 'zod';
export const BlogPostSchema = z.object({
slug: z.string(),
title: z.string(),
excerpt: z.string(),
category: z.enum(['Product', 'Engineering', 'Company', 'Community']),
author: z.string(),
date: z.string(),
readTime: z.number(),
featured: z.boolean()
});
Utility Functions
| Function | Purpose |
|---|---|
getBlogCategories() |
Returns unique category list |
getFeaturedPosts() |
Returns posts with featured: true |
getPostsByCategory() |
Filters posts by category string |
formatBlogDate() |
ISO date โ human-readable format |
getCategoryGradient() |
Category โ CSS gradient string |
Testing
| Test File | Type | Tests | Coverage |
|---|---|---|---|
tests/blogPosts.test.ts |
Unit | 14 | Schema, filters, formatting |
e2e/platformBlog.test.ts |
E2E | 6 | Render, filters, SEO, cards |
e2e/ghost-routes.test.ts |
E2E | N/A | Route accessibility checks |
File Reference
| File | Purpose |
|---|---|
src/routes/about/+page.svelte |
About page (7 sections) |
src/routes/blog/+page.svelte |
Blog listing with category filters |
src/routes/discover/+page.svelte |
Curated browsing experience |
src/routes/press/+page.svelte |
Newsroom with press releases |
src/routes/investors/+page.svelte |
Investor relations & metrics |
src/routes/careers/+page.svelte |
Job listings & culture |
src/routes/help/+page.svelte |
Help center categories |
src/routes/contact/+page.svelte |
Contact form & channels |
src/routes/faq/+page.svelte |
FAQ accordion |
src/routes/shipping/+page.svelte |
Shipping policies |
src/routes/returns/+page.svelte |
Returns & refund policy |
src/routes/privacy/+page.svelte |
Privacy policy |
src/routes/terms/+page.svelte |
Terms of service |
src/routes/cookies/+page.svelte |
Cookie policy |
src/routes/accessibility/+page.svelte |
WCAG 2.1 statement |
src/routes/licenses/+page.svelte |
OSS attributions |
src/lib/data/blogPosts.ts |
Blog post data & utilities |
src/routes/lobby/SoleContent.svelte |
Footer with all page links |
Related
- Documentation Portal Architecture โ Standalone Astro doc portals that the Help and About pages link out to
- Corporate Identity โ Design system and terminology standards used across all pages
- Onboarding UX โ First-run experience that drives visitors to these pages