Skip to content

Refine Connect your tools visual mock to match Linear reference#17

Merged
NguyenCuong1989 merged 2 commits into
mainfrom
codex/linear-mention-www-3-connect-your-tools-3-0hldx5
May 17, 2026
Merged

Refine Connect your tools visual mock to match Linear reference#17
NguyenCuong1989 merged 2 commits into
mainfrom
codex/linear-mention-www-3-connect-your-tools-3-0hldx5

Conversation

@NguyenCuong1989
Copy link
Copy Markdown
Collaborator

@NguyenCuong1989 NguyenCuong1989 commented Mar 29, 2026

Motivation

  • Improve the static mock to more closely match the provided WWW-3 reference image for the “Connect your tools” hero visual.
  • Provide a single, consistent demo page and an examples/ entry that designers and contributors can open locally for review.
  • Make the icon lockup responsive and better balanced across viewport sizes.

Description

  • Updated connect-your-tools.html and examples/connect-your-tools.html by tuning the gradient colors, gradient angle, CSS variable names, and overall layout spacing to better match the reference image.
  • Rebuilt the left Linear-style mark using a repeating-linear-gradient stripe treatment and adjusted the right plus icon proportions with clamped sizing for responsive scaling.
  • Renamed and simplified classes to .icons / .circle and added a media query for small screens so the composition stays balanced at narrow widths.
  • Synchronized both demo files so the root connect-your-tools.html and examples/connect-your-tools.html present identical markup and styles.

Testing

  • Verified the external reference with curl -L --max-time 15 -s https://linear.app/integrations | head -n 20 and it completed successfully.
  • Validated HTML parsing for both files with a Python HTMLParser script (python3 - <<'PY' ... HTMLParser().feed(...) ... PY) and parsing succeeded.
  • Ran git diff --check and committed the changes with git commit -m "refine connect-your-tools visual to match reference" without issues.
  • Served the files locally via python3 -m http.server 4173 --bind 0.0.0.0 and confirmed curl -I --max-time 5 http://127.0.0.1:4173/connect-your-tools.html | head returned HTTP/1.0 200 OK, and captured a Playwright screenshot successfully.

Codex Task

Summary by Sourcery

Căn chỉnh hình ảnh hero “Connect your tools” với tham chiếu Linear và thống nhất phần triển khai demo ở root và examples.

Tính năng mới:

  • Cung cấp một demo examples/connect-your-tools.html được đồng bộ hóa, phản chiếu minh họa chính của “Connect your tools”.

Cải tiến:

  • Điều chỉnh gradient nền, màu biểu tượng và kiểu chữ để giống hơn với hình ảnh tham chiếu tích hợp Linear.
  • Tinh chỉnh hình dạng dấu hiệu kiểu Linear và biểu tượng dấu cộng bằng cách sử dụng kích thước responsive, clamped để cân bằng tốt hơn trên các kích thước viewport.
  • Thống nhất tên class và cấu trúc giữa trang chính và ví dụ, đồng thời thêm một tinh chỉnh bố cục cho màn hình nhỏ để giữ cụm biểu tượng ở giữa và cân đối.
Original summary in English

Summary by Sourcery

Align the Connect your tools hero visual with the Linear reference and unify the root and examples demo implementations.

New Features:

  • Provide a synchronized examples/connect-your-tools.html demo that mirrors the main Connect your tools illustration.

Enhancements:

  • Adjust background gradients, icon colors, and typography to more closely match the Linear integrations reference visual.
  • Refine the Linear-style mark and plus icon shapes using responsive, clamped sizing for better balance across viewports.
  • Unify class names and structure between the main page and example, and add a small-screen layout tweak to keep the icon lockup centered and proportional.

@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Refine Connect your tools visual to match Linear reference

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Refined gradient colors and angles to match Linear reference design
• Simplified Linear icon from complex gradient to repeating stripe pattern
• Unified CSS variable naming and responsive sizing with clamp functions
• Synchronized both demo files with identical markup and responsive behavior
Diagram
flowchart LR
  A["Gradient Colors<br/>Updated RGB values"] --> B["Visual Refinement"]
  C["Icon Redesign<br/>Stripe pattern"] --> B
  D["CSS Simplification<br/>Clamp sizing"] --> B
  E["File Synchronization<br/>Both demos unified"] --> B
  B --> F["Improved Design<br/>Matches reference"]
Loading

Grey Divider

File Changes

1. connect-your-tools.html ✨ Enhancement +39/-35

Refine gradient colors and simplify icon patterns

• Updated CSS variables: --bg-start, --bg-mid, --bg-end to match Linear reference colors
• Renamed --icon-bg to --icon-fill for consistency
• Changed gradient angle from 125deg to 127deg with adjusted color stops
• Refactored Linear icon from complex gradient pattern to repeating-linear-gradient stripe
 treatment
• Replaced fixed sizing with clamp() functions for responsive scaling
• Renamed classes from .logos/.logo to .icons/.circle for clarity
• Added media query for screens under 680px with adjusted gap and transform
• Updated accessibility attributes from aria-label to aria-hidden="true"

connect-your-tools.html


2. examples/connect-your-tools.html ✨ Enhancement +37/-97

Synchronize with root file and simplify markup

• Synchronized with root connect-your-tools.html implementation
• Replaced complex stripe HTML structure with CSS-only repeating-linear-gradient
• Unified CSS variable names and gradient definitions
• Removed individual stripe elements and mask div, simplified to single ::before pseudo-element
• Applied responsive clamp() sizing to all dimensions
• Consolidated media query logic with unified gap and transform behavior
• Updated accessibility labels and attributes for consistency

examples/connect-your-tools.html


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review Bot commented Mar 29, 2026

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented Mar 29, 2026

Hướng dẫn dành cho người review

Tinh chỉnh hình ảnh hero “Connect your tools” để khớp với bản tham chiếu của Linear hơn bằng cách đồng bộ các file HTML gốc và ví dụ, cập nhật hiệu ứng gradient và styling icon, đồng thời đơn giản hóa markup icon và tên class để responsive tốt hơn và nhất quán hơn.

Sơ đồ lớp cho cấu trúc HTML/CSS Connect your tools đã cập nhật

classDiagram
  class RootDocument {
    +style : :root CSS variables
    +body : full viewport grid center
    +background : linear-gradient
    +font-family : system sans stack
  }

  class Icons {
    +display : flex
    +align-items : center
    +justify-content : center
    +gap : clamp(46px, 6.5vw, 100px)
    +transform : translateY(12px)
    +aria-label : Connected tools illustration
  }

  class Circle {
    +width : clamp(124px, 10.8vw, 220px)
    +aspect-ratio : 1
    +border-radius : 50%
    +background : var(--icon-fill)
    +position : relative
    +overflow : hidden
    +aria-hidden : true
  }

  class Linear {
    +pseudo : ::before
    +position : absolute
    +left : -14%
    +bottom : 0
    +width : 74%
    +height : 76%
    +background : repeating-linear-gradient(-46deg, var(--icon-accent) 0 10px, transparent 10px 24px)
    +opacity : 0.98
  }

  class Plus {
    +pseudo_before : ::before
    +pseudo_after : ::after
    +position : absolute
    +top : 50%
    +left : 50%
    +width : clamp(54px, 4.8vw, 98px)
    +height : clamp(14px, 1.2vw, 24px)
    +border-radius : 999px
    +background : var(--icon-accent)
    +transform : translate(-50%, -50%)
    +after-transform : translate(-50%, -50%) rotate(90deg)
  }

  class MediaQueryMax680 {
    +target : max-width 680px
    +icons-gap : clamp(24px, 8vw, 42px)
    +icons-transform : none
  }

  RootDocument o-- Icons : contains
  Icons o-- Circle : contains
  Circle <|-- Linear : modifier
  Circle <|-- Plus : modifier
  RootDocument .. MediaQueryMax680 : responsive_rules
Loading

Thay đổi ở cấp độ file

Thay đổi Chi tiết File
Căn chỉnh các gradient nền, màu icon và typography với bản tham chiếu của Linear đồng thời giữ hai file demo đồng bộ.
  • Chuẩn hóa các CSS custom properties cho màu nền và màu icon giữa cả hai file HTML
  • Điều chỉnh góc và vị trí điểm dừng của background linear-gradient để khớp với hình tham chiếu hơn
  • Đảm bảo cả connect-your-tools.htmlexamples/connect-your-tools.html dùng cùng một markup và style
connect-your-tools.html
examples/connect-your-tools.html
Đơn giản hóa và thống nhất các class container icon và semantics cho hero illustration.
  • Đổi tên class wrapper từ .logos thành .icons và class card từ .logo thành .circle trong cả hai file
  • Cập nhật aria-label chính và loại bỏ aria-label trên từng icon, thay bằng aria-hidden cho các vòng tròn mang tính trang trí
  • Tinh chỉnh layout base để dùng căn giữa full-height (html/body cao 100% trong examples) và hành vi translate/gap nhất quán
connect-your-tools.html
examples/connect-your-tools.html
Xây dựng lại dấu Linear-style và icon dấu cộng để chính xác hơn và responsive tốt hơn.
  • Thay thế nhiều phần tử stripe được định vị riêng bằng một pseudo-element ::before duy nhất dùng repeating-linear-gradient trên vòng tròn .linear
  • Tinh chỉnh kích thước pseudo-element của icon dấu cộng bằng clamp() cho width và height để scale theo kích thước viewport
  • Thêm một media query cho màn hình nhỏ để điều chỉnh gap và loại bỏ dịch chuyển theo trục dọc, giúp cân bằng hơn trên viewport hẹp
connect-your-tools.html
examples/connect-your-tools.html

Mẹo và câu lệnh

Tương tác với Sourcery

  • Gọi một lượt review mới: Comment @sourcery-ai review trên pull request.
  • Tiếp tục thảo luận: Trả lời trực tiếp vào các comment review của Sourcery.
  • Tạo GitHub issue từ một comment review: Yêu cầu Sourcery tạo issue từ một comment review bằng cách trả lời comment đó. Bạn cũng có thể trả lời comment review với @sourcery-ai issue để tạo issue từ comment đó.
  • Tạo tiêu đề pull request: Viết @sourcery-ai ở bất kỳ đâu trong tiêu đề pull request để tạo tiêu đề bất kỳ lúc nào. Bạn cũng có thể comment
    @sourcery-ai title trên pull request để (tái) tạo tiêu đề bất kỳ lúc nào.
  • Tạo tóm tắt pull request: Viết @sourcery-ai summary ở bất kỳ đâu trong nội dung pull request để tạo tóm tắt PR ngay tại vị trí bạn muốn. Bạn cũng có thể comment @sourcery-ai summary trên pull request để (tái) tạo tóm tắt bất kỳ lúc nào.
  • Tạo reviewer's guide: Comment @sourcery-ai guide trên pull request để (tái) tạo reviewer's guide bất kỳ lúc nào.
  • Resolve tất cả comment của Sourcery: Comment @sourcery-ai resolve trên pull request để resolve tất cả comment của Sourcery. Hữu ích khi bạn đã xử lý xong tất cả comment và không muốn thấy chúng nữa.
  • Dismiss tất cả review của Sourcery: Comment @sourcery-ai dismiss trên pull request để dismiss tất cả review hiện có của Sourcery. Đặc biệt hữu ích nếu bạn muốn bắt đầu lại với một lượt review mới – đừng quên comment
    @sourcery-ai review để gọi review mới!

Tùy chỉnh trải nghiệm của bạn

Truy cập dashboard để:

  • Bật hoặc tắt các tính năng review như tóm tắt pull request do Sourcery tạo, reviewer's guide và các tính năng khác.
  • Thay đổi ngôn ngữ review.
  • Thêm, xóa hoặc chỉnh sửa các hướng dẫn review tùy chỉnh.
  • Điều chỉnh các thiết lập review khác.

Nhận hỗ trợ

Original review guide in English

Reviewer's Guide

Refines the "Connect your tools" hero visual to more closely match Linear’s reference by synchronizing the root and examples HTML files, updating gradient and icon styling, and simplifying the icon markup and class naming for better responsiveness and consistency.

Class diagram for updated Connect your tools HTML/CSS structure

classDiagram
  class RootDocument {
    +style : :root CSS variables
    +body : full viewport grid center
    +background : linear-gradient
    +font-family : system sans stack
  }

  class Icons {
    +display : flex
    +align-items : center
    +justify-content : center
    +gap : clamp(46px, 6.5vw, 100px)
    +transform : translateY(12px)
    +aria-label : Connected tools illustration
  }

  class Circle {
    +width : clamp(124px, 10.8vw, 220px)
    +aspect-ratio : 1
    +border-radius : 50%
    +background : var(--icon-fill)
    +position : relative
    +overflow : hidden
    +aria-hidden : true
  }

  class Linear {
    +pseudo : ::before
    +position : absolute
    +left : -14%
    +bottom : 0
    +width : 74%
    +height : 76%
    +background : repeating-linear-gradient(-46deg, var(--icon-accent) 0 10px, transparent 10px 24px)
    +opacity : 0.98
  }

  class Plus {
    +pseudo_before : ::before
    +pseudo_after : ::after
    +position : absolute
    +top : 50%
    +left : 50%
    +width : clamp(54px, 4.8vw, 98px)
    +height : clamp(14px, 1.2vw, 24px)
    +border-radius : 999px
    +background : var(--icon-accent)
    +transform : translate(-50%, -50%)
    +after-transform : translate(-50%, -50%) rotate(90deg)
  }

  class MediaQueryMax680 {
    +target : max-width 680px
    +icons-gap : clamp(24px, 8vw, 42px)
    +icons-transform : none
  }

  RootDocument o-- Icons : contains
  Icons o-- Circle : contains
  Circle <|-- Linear : modifier
  Circle <|-- Plus : modifier
  RootDocument .. MediaQueryMax680 : responsive_rules
Loading

File-Level Changes

Change Details Files
Align background gradients, icon colors, and typography with the Linear reference while keeping both demo files in sync.
  • Standardized CSS custom properties for background and icon colors across both HTML files
  • Adjusted background linear-gradient angles and stop positions to better match the reference visual
  • Ensured both connect-your-tools.html and examples/connect-your-tools.html share identical markup and styles
connect-your-tools.html
examples/connect-your-tools.html
Simplify and unify icon container classes and semantics for the hero illustration.
  • Renamed wrapper class from .logos to .icons and card class from .logo to .circle for both files
  • Updated main aria-labels and removed per-icon aria-labels in favor of aria-hidden on decorative circles
  • Tweaked base layout to use full-height centering (html/body 100% height in examples) and consistent translate/gap behavior
connect-your-tools.html
examples/connect-your-tools.html
Rebuild the Linear-style mark and plus icon for a more accurate, responsive treatment.
  • Replaced multiple positioned stripe elements with a single ::before pseudo-element using repeating-linear-gradient on the .linear circle
  • Refined the plus icon’s pseudo-elements sizing using clamp() for width and height to scale across viewport sizes
  • Introduced a small-screen media query to adjust gap and remove vertical translation for better balance on narrow viewports
connect-your-tools.html
examples/connect-your-tools.html

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

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

Hey - mình đã để lại một vài phản hồi tổng quan:

  • connect-your-tools.htmlexamples/connect-your-tools.html được dự định luôn đồng bộ với nhau, hãy cân nhắc trích xuất phần style/markup dùng chung ra một nguồn duy nhất (hoặc CSS dùng chung) để tránh những sai khác nhỏ trong tương lai giữa hai file.
  • Bạn đã chuyển các vòng tròn riêng lẻ từ các phần tử có nhãn sang aria-hidden="true"; nếu các icon Linear và dấu cộng được dùng để thể hiện ý nghĩa về thương hiệu/tích hợp hơn là chỉ mang tính trang trí, hãy cân nhắc khôi phục phần nhãn cụ thể, hỗ trợ truy cập thay vì ẩn chúng khỏi các công nghệ hỗ trợ.
Prompt cho AI Agents
Please address the comments from this code review:

## Overall Comments
- Since `connect-your-tools.html` and `examples/connect-your-tools.html` are intended to stay in sync, consider extracting the shared styles/markup into a single source (or shared CSS) to avoid subtle future drift between the two files.
- You’ve switched the individual circles from labeled elements to `aria-hidden="true"`; if the Linear and plus icons are intended to convey brand/integration meaning rather than being purely decorative, consider restoring more specific, accessible labeling instead of hiding them from assistive technologies.

Sourcery miễn phí cho mã nguồn mở - nếu bạn thấy các review này hữu ích, hãy cân nhắc chia sẻ chúng ✨
Hãy giúp mình hữu ích hơn! Vui lòng bấm 👍 hoặc 👎 trên từng bình luận và mình sẽ sử dụng phản hồi đó để cải thiện các review cho bạn.
Original comment in English

Hey - I've left some high level feedback:

  • Since connect-your-tools.html and examples/connect-your-tools.html are intended to stay in sync, consider extracting the shared styles/markup into a single source (or shared CSS) to avoid subtle future drift between the two files.
  • You’ve switched the individual circles from labeled elements to aria-hidden="true"; if the Linear and plus icons are intended to convey brand/integration meaning rather than being purely decorative, consider restoring more specific, accessible labeling instead of hiding them from assistive technologies.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Since `connect-your-tools.html` and `examples/connect-your-tools.html` are intended to stay in sync, consider extracting the shared styles/markup into a single source (or shared CSS) to avoid subtle future drift between the two files.
- You’ve switched the individual circles from labeled elements to `aria-hidden="true"`; if the Linear and plus icons are intended to convey brand/integration meaning rather than being purely decorative, consider restoring more specific, accessible labeling instead of hiding them from assistive technologies.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copilot AI review requested due to automatic review settings May 17, 2026 16:07
@NguyenCuong1989 NguyenCuong1989 merged commit 152293c into main May 17, 2026
2 checks passed
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Refines the “Connect your tools” static hero visual to better match Linear’s reference and keeps the root and examples/ demo pages in sync.

Changes:

  • Updates gradient colors/angles and introduces shared CSS variables for background and icon styling.
  • Rebuilds the Linear-style mark with a repeating-linear-gradient stripe treatment and adjusts plus icon sizing with clamp().
  • Renames the icon lockup structure/classes to .icons / .circle and adds a small-screen media query for balance.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
examples/connect-your-tools.html Updates the example demo’s CSS/markup to match the refined visual and new .icons / .circle structure.
connect-your-tools.html Applies the refined visual/layout and class renames to the root demo page.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 200 to 202
<main class="logos" aria-label="Connected tools illustration">
<div class="logo linear" aria-label="Linear logo"></div>
<div class="logo plus" aria-label="Add integration"></div>

.plus::before,
.plus::after {
.logo.linear::before {
Comment on lines +9 to 16
--bg-start: #6646da;
--bg-mid: #9d54b2;
--bg-end: #ec6f69;
--icon-fill: #f2f2f3;
--icon-accent: #b4579f;
--bg-start: #6544dc;
--bg-mid: #9a54b5;
--bg-end: #ec6d74;
Comment thread connect-your-tools.html
Comment on lines 142 to 144
.logo.plus::after {
width: 10%;
height: 46%;
Comment thread connect-your-tools.html
Comment on lines +81 to 96
.linear::before {
content: "";
position: absolute;
left: -14%;
bottom: 0;
width: 74%;
height: 76%;
background: repeating-linear-gradient(
-46deg,
var(--icon-accent) 0 10px,
transparent 10px 24px
);
opacity: 0.98;
inset: 0;
border-radius: 50%;
background: linear-gradient(
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants