Skip to content

chore: search landing#2012

Open
Josebaseba wants to merge 28 commits into
masterfrom
search
Open

chore: search landing#2012
Josebaseba wants to merge 28 commits into
masterfrom
search

Conversation

@Josebaseba
Copy link
Copy Markdown
Collaborator

@Josebaseba Josebaseba commented Apr 23, 2026

Summary by CodeRabbit

  • New Features

    • Launched Search API for querying public web surfaces including news, images, video, maps, shopping, and more as structured data.
  • Documentation

    • Added comprehensive Search guide covering installation, query options, pagination, and lazy expansion features.
    • Enhanced site navigation with Search links across homepage, toolbar, and guides.

Review Change Stack

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 23, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
design Ready Ready Preview, Comment May 26, 2026 2:00pm
www Ready Ready Preview, Comment May 26, 2026 2:00pm

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 26, 2026

📝 Walkthrough

Walkthrough

This PR introduces a complete Search API feature with documentation and landing page support, plus enhancements to the Terminal component. The Search API integration includes a comprehensive guide, data-driven landing page with structured metadata, and navigation wiring across the site. Terminal gains flexible UI gating to conditionally show/hide visual elements.

Changes

Search API Feature Introduction

Layer / File(s) Summary
Search landing page data and structured data generation
src/helpers/search-landing.js, data/git-timestamps-*
New helper exports 700+ lines of constants, examples, and schema generation for the Search API landing page, including service descriptors, vertical metadata, code/payload examples, installation steps, FAQs, and computed JSON-LD structures for SoftwareApplication, ItemList, HowTo, FAQPage, and BreadcrumbList.
Search guide documentation
src/content/docs/guides/search/index.md
New comprehensive guide covering installation of @microlink/google, core query patterns using type/location/period options, surface selection, result localization, pagination, lazy expansion helpers, agent/copilot workflows, and fair-use guidance with links to related resources.
Navigation and UI wiring for Search API
src/components/patterns/Aside/constants.js, src/components/patterns/Toolbar/ToolbarLinks.js, src/components/pages/home/hero.js, src/content/docs/guides/index.md
Integrates Search API across navigation: adds "Search" to guides routes, adds "Search API" item to toolbar products with icon, adds "Search API" card to home grid, and updates guides index with new search row and dedicated section.

Terminal Component Flexibility

Layer / File(s) Summary
Terminal component conditional rendering support
src/components/elements/Terminal/Terminal.js
Introduces boolean props (showFade, showHeader, showWindowButtons, showTitle, showAction) to TerminalProvider for feature-gating terminal UI elements independently. Adds styled spacer and button wrapper components. Refactors fromString helper with equivalent block-bodied implementation.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 A search API blooms, with guides that glow bright,
Structured data dancing in JSON-LD light,
Terminal's toggles let builders take flight,
New vertical examples show every delight! 🔍✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: search landing' accurately describes the primary change: adding a new search landing page feature with supporting documentation, navigation, and helper modules.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch search

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

src/components/elements/Terminal/Terminal.js

Parsing error: Unexpected token <

src/components/pages/home/hero.js

Parsing error: Unexpected token <

src/components/patterns/Toolbar/ToolbarLinks.js

Parsing error: Unexpected token <


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
src/components/elements/Terminal/Terminal.js (1)

145-152: 💤 Low value

Consider using theme() for styled-system-supported properties.

These styled components use raw CSS for properties that styled-system supports (flex, display, alignItems). Per the coding guidelines, prefer theme({...}) for any styled-system-supported property before using raw CSS declarations.

♻️ Refactor to use theme()
-const TerminalHeaderSpacer = styled('div')`
-  flex: 1;
-`
+const TerminalHeaderSpacer = styled('div')(
+  theme({
+    flex: 1
+  })
+)

-const TerminalWindowButtons = styled('div')`
-  display: flex;
-  align-items: center;
-`
+const TerminalWindowButtons = styled('div')(
+  theme({
+    display: 'flex',
+    alignItems: 'center'
+  })
+)

As per coding guidelines: "Use theme({...}) for any styled-system-supported property before using raw CSS declarations" and "Decompose raw CSS declarations into styled-system keys (e.g., use py/px instead of padding, mt/mb instead of margin)".

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/elements/Terminal/Terminal.js` around lines 145 - 152, The
TerminalHeaderSpacer and TerminalWindowButtons styled components are using raw
CSS for styled-system-supported props; replace those raw declarations with
theme() usage so the props come from styled-system. Update TerminalHeaderSpacer
to use theme({ flex: 1 }) (or the equivalent styled-system flex key) instead of
"flex: 1", and update TerminalWindowButtons to use theme({ display: 'flex',
alignItems: 'center' }) (or the equivalent display/alignItems keys) instead of
raw CSS; ensure you import and call the project's theme helper consistently
where other components use theme().
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@src/components/elements/Terminal/Terminal.js`:
- Around line 145-152: The TerminalHeaderSpacer and TerminalWindowButtons styled
components are using raw CSS for styled-system-supported props; replace those
raw declarations with theme() usage so the props come from styled-system. Update
TerminalHeaderSpacer to use theme({ flex: 1 }) (or the equivalent styled-system
flex key) instead of "flex: 1", and update TerminalWindowButtons to use theme({
display: 'flex', alignItems: 'center' }) (or the equivalent display/alignItems
keys) instead of raw CSS; ensure you import and call the project's theme helper
consistently where other components use theme().

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 66f2aa90-315b-4338-bd19-8e03f4ff8560

📥 Commits

Reviewing files that changed from the base of the PR and between 5189dc0 and 3e61723.

📒 Files selected for processing (11)
  • data/git-timestamps-created.json
  • data/git-timestamps-modified.json
  • src/components/elements/Terminal/Terminal.js
  • src/components/pages/home/hero.js
  • src/components/patterns/Aside/constants.js
  • src/components/patterns/Toolbar/ToolbarLinks.js
  • src/content/docs/guides/index.md
  • src/content/docs/guides/search/index.md
  • src/helpers/google-examples.js
  • src/helpers/search-landing.js
  • src/pages/search.js

@github-actions
Copy link
Copy Markdown

@microlink/difftool visual comparison

workflow run · base microlink.io · head 33fa1ur95-5msod9ffl-microlink.vercel.app

✅ 1/1 routes pass

Route Changes Production Preview Difference Compare Verdict
/styleguide 0.00% open open open compare
configuration
{
  "base": "https://microlink.io",
  "head": "https://33fa1ur95-5msod9ffl-microlink.vercel.app",
  "threshold": 0.005,
  "warningThreshold": 0.05,
  "pixelThreshold": 0.1,
  "verdict": "pass",
  "passed": true,
  "routes": [
    {
      "route": "/styleguide",
      "baseUrl": "https://microlink.io/styleguide",
      "headUrl": "https://33fa1ur95-5msod9ffl-microlink.vercel.app/styleguide",
      "diffPixels": 0,
      "totalPixels": 31882240,
      "diffRatio": 0,
      "verdict": "pass",
      "passed": true,
      "outDir": "."
    }
  ]
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants