Add Store & Cold Storage pages and components - #358
Conversation
Introduce Store and Cold Storage sections: new /store and /cold-storage-service pages, SEO constants, structured-data generators, and supporting data (offerings, features, audience, faqs). Add ComparisonTable component, warm-storage integrations and why-FOC comparison; update homepage to show comparison and integrations. Add footer SiteLinksSection and update navigation/paths (STORE, COLD_STORAGE_SERVICE; relabel Warm Storage). Tweak warm-storage client and remove Filecoin Pin from running list.
|
@martapiekarska is attempting to deploy a commit to the FilOz Team on Vercel. A member of the Team first needs to authorize it. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
I'm putting @jennijuju on this one rather than me as she has been in the "Storage Product" conversations. |
There was a problem hiding this comment.
Pull request overview
Adds new marketing/product pages for the Storage Marketplace (“Store”) and Cold Storage Service, plus shared comparison-table UI and updated navigation/footer/homepage content to surface the new IA.
Changes:
- Introduce
/storeand/cold-storage-servicepages with SEO metadata and structured data generation. - Add a reusable
ComparisonTablecomponent and new comparison datasets used on the homepage and product pages. - Update navigation, footer links, and homepage sections to highlight Store, integrations, and comparisons.
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/constants/warm-vs-cold-comparison.ts | Adds shared warm-vs-cold comparison labels/rows for reuse across pages. |
| src/constants/site-metadata.ts | Adds FCSS external client URL and Filecoin Pin URL constant. |
| src/constants/paths.ts | Adds new routes for Store and Cold Storage Service; relabels warm storage nav label. |
| src/components/Navigation/constants/navigation.ts | Switches primary nav link to Store. |
| src/components/Footer/SiteLinksSection.tsx | Adds footer site links columns for product/resources/company navigation. |
| src/components/Footer/Footer.tsx | Renders new footer site links section. |
| src/components/ComparisonTable.tsx | Introduces a generic 3-column comparison table component. |
| src/app/warm-storage-service/components/WarmStorageServicesClient.tsx | Updates hero copy and adds links/CTAs to cold storage and contact. |
| src/app/store/utils/generate-structured-data.ts | Generates structured data for the Store page. |
| src/app/store/page.tsx | Implements the Store landing page using offerings + comparison + CTAs. |
| src/app/store/data/store-offerings.ts | Defines Store offering cards for warm vs cold. |
| src/app/store/constants/seo.ts | Defines SEO copy for Store page. |
| src/app/cold-storage-service/utils/generate-structured-data.ts | Generates structured data for the Cold Storage Service page (with Service details). |
| src/app/cold-storage-service/page.tsx | Implements the Cold Storage Service landing page with features, audience, FAQ, comparison, and CTAs. |
| src/app/cold-storage-service/data/faqs.tsx | Adds FCSS FAQ content. |
| src/app/cold-storage-service/data/cold-storage-features.tsx | Adds FCSS feature card content. |
| src/app/cold-storage-service/data/cold-storage-audience.tsx | Adds FCSS audience card content. |
| src/app/cold-storage-service/constants/seo.ts | Defines SEO copy for Cold Storage Service page. |
| src/app/(homepage)/page.tsx | Adds “Why FOC” comparison + warm-storage integration section; updates “Running on FOC” copy. |
| src/app/(homepage)/data/why-foc-comparison.ts | Adds homepage comparison content (traditional cloud vs FOC). |
| src/app/(homepage)/data/warm-storage-integrations.ts | Adds homepage warm-storage integrations card content. |
| src/app/(homepage)/data/running-on-filecoin-onchain-cloud.ts | Removes Filecoin Pin entry from the “running on” list. |
| src/app/(homepage)/data/filecoin-onchain-cloud-products.ts | Updates homepage product card to point to Store and reframes Pay description. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| type ComparisonTableProps = { | ||
| caption?: string | ||
| columnLabels: [dimension: string, first: string, second: string] | ||
| rows: ReadonlyArray<{ |
| <th className="p-5 font-medium text-(--color-paragraph-text)"> | ||
| {dimensionLabel} | ||
| </th> | ||
| <th className="p-5 font-medium text-(--color-paragraph-text)"> | ||
| {firstLabel} | ||
| </th> | ||
| <th className="p-5 font-medium text-(--color-paragraph-text)"> | ||
| {secondLabel} | ||
| </th> |
| { label: 'Warm Storage', href: PATHS.WARM_STORAGE_SERVICE.path }, | ||
| { label: 'Cold Storage', href: PATHS.COLD_STORAGE_SERVICE.path }, |
| export const warmVsColdComparison = [ | ||
| { |
📝 Description
Please include a summary of the changes. Provide context and motivation for the change, and describe what problem it solves.
🛠️ Key Changes
📌 To-Do Before Merging
n/a
🧪 How to Test
n/a
📸 Screenshots
Attach if there are UI changes.
🔖 Resources
Feel free to share any references to documentation, libraries, blog posts, or other resources that you consulted or used during the implementation of the changes.