Skip to content

Conversation

@marvinoffers
Copy link

After getting started with Umami I noticed a small, but annoying UX issue I want to fix with this PR.

Problem
When navigating between the projects on /websites or settings/websites it is more intuitive to click on the row, the name or the domain to open the dashboard vs only being able to click on the "View" button.

Solution
Wrapped the name and domain in Link to make the cell clickable.

@vercel
Copy link

vercel bot commented Oct 28, 2025

@marvinoffers is attempting to deploy a commit to the umami-software Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

Made website table name and domain cells clickable by wrapping them in Next.js Link components, improving navigation UX.

  • Wrapped name and domain text in Link components when allowView is enabled
  • Added CSS module for link styling with color: inherit and flexbox layout
  • Links navigate to /websites/{id} using the existing renderTeamUrl helper
  • Maintains backward compatibility by only showing links when allowView prop is true

Confidence Score: 4/5

  • This PR is safe to merge with minimal risk - straightforward UX improvement
  • Simple, focused change that adds clickable links to table cells. Logic is straightforward and respects existing allowView permission flag. Minor style improvement suggested for better user feedback.
  • The CSS file could benefit from hover states for better visual feedback

Important Files Changed

File Analysis

Filename Score Overview
src/app/(main)/settings/websites/WebsitesTable.tsx 4/5 Added clickable links to name and domain cells when allowView is enabled, improving UX by making table rows navigable
src/app/(main)/settings/websites/WebsitesTable.module.css 3/5 Added link styling but missing hover states for visual feedback

Sequence Diagram

sequenceDiagram
    participant User
    participant WebsitesTable
    participant LinkComponent
    participant Router

    User->>WebsitesTable: "Click on name or domain cell"
    WebsitesTable->>WebsitesTable: "Check allowView flag"
    alt allowView is true
        WebsitesTable->>LinkComponent: "Render Next.js Link"
        User->>LinkComponent: "Click link"
        LinkComponent->>Router: "Navigate to /websites/{id}"
        Router-->>User: "Display website dashboard"
    else allowView is false
        WebsitesTable->>WebsitesTable: "Render plain text"
        Note over User,WebsitesTable: Cell is not clickable
    end
Loading

2 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

Comment on lines +1 to +11
.row {
color: inherit;
display: flex;
align-items: center;
width: 100%;
height: 100%;
}

.row:visited {
color: inherit;
}
Copy link
Contributor

Choose a reason for hiding this comment

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

style: Missing hover state and text decoration for links. Without visual feedback, users won't know the cells are clickable.

Suggested change
.row {
color: inherit;
display: flex;
align-items: center;
width: 100%;
height: 100%;
}
.row:visited {
color: inherit;
}
.row {
color: inherit;
display: flex;
align-items: center;
width: 100%;
height: 100%;
text-decoration: none;
}
.row:hover {
text-decoration: underline;
}
.row:visited {
color: inherit;
}
Prompt To Fix With AI
This is a comment left during a code review.
Path: src/app/(main)/settings/websites/WebsitesTable.module.css
Line: 1:11

Comment:
**style:** Missing hover state and text decoration for links. Without visual feedback, users won't know the cells are clickable.

```suggestion
.row {
  color: inherit;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.row:hover {
  text-decoration: underline;
}

.row:visited {
  color: inherit;
}
```

How can I resolve this? If you propose a fix, please make it concise.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant