[PULSE-59] Design consistency audit fixes #34

Merged
uz1mani merged 15 commits from staging into main 2026-02-21 23:09:41 +00:00
26 changed files with 159 additions and 207 deletions
Showing only changes of commit 0b68db58be - Show all commits

View File

@@ -158,7 +158,7 @@ export default function IntegrationsPage() {
</button> </button>
) : ( ) : (
<div className="absolute inset-y-0 right-0 flex items-center pr-4 pointer-events-none"> <div className="absolute inset-y-0 right-0 flex items-center pr-4 pointer-events-none">
<kbd className="hidden sm:inline-flex items-center px-1.5 py-0.5 rounded text-[11px] font-mono font-medium bg-neutral-200/80 dark:bg-neutral-700/80 text-neutral-500 dark:text-neutral-400 border border-neutral-300 dark:border-neutral-600"> <kbd className="hidden sm:inline-flex items-center px-1.5 py-0.5 rounded text-xs font-mono font-medium bg-neutral-200/80 dark:bg-neutral-700/80 text-neutral-500 dark:text-neutral-400 border border-neutral-300 dark:border-neutral-600">
/ /
</kbd> </kbd>
</div> </div>

View File

@@ -189,7 +189,7 @@ function StatusBarTooltip({
className="fixed z-50 pointer-events-none" className="fixed z-50 pointer-events-none"
style={{ left: position.x, top: position.y - 10, transform: 'translate(-50%, -100%)' }} style={{ left: position.x, top: position.y - 10, transform: 'translate(-50%, -100%)' }}
> >
<div className="bg-white dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-700 rounded-xl shadow-lg px-3 py-2.5 text-xs min-w-[160px]"> <div className="bg-white dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-700 rounded-xl shadow-lg px-3 py-2.5 text-xs min-w-40">
<div className="font-semibold text-neutral-900 dark:text-white mb-1.5">{formattedDate}</div> <div className="font-semibold text-neutral-900 dark:text-white mb-1.5">{formattedDate}</div>
{stat && stat.total_checks > 0 ? ( {stat && stat.total_checks > 0 ? (
<div className="space-y-1"> <div className="space-y-1">
@@ -256,7 +256,7 @@ function UptimeStatusBar({
className="relative" className="relative"
onMouseLeave={() => setHoveredDay(null)} onMouseLeave={() => setHoveredDay(null)}
> >
<div className="flex items-center gap-[2px] w-full"> <div className="flex items-center gap-0.5 w-full">
{dateRange.map((date) => { {dateRange.map((date) => {
const stat = statsMap.get(date) const stat = statsMap.get(date)
const barColor = getDayBarColor(stat) const barColor = getDayBarColor(stat)
@@ -264,7 +264,7 @@ function UptimeStatusBar({
return ( return (
<div <div
key={date} key={date}
className={`flex-1 h-8 rounded-[2px] ${barColor} transition-all duration-150 hover:opacity-80 cursor-pointer min-w-[3px]`} className={`flex-1 h-8 rounded-sm ${barColor} transition-all duration-150 hover:opacity-80 cursor-pointer min-w-[3px]`}
onMouseEnter={(e) => handleMouseEnter(e, date, stat)} onMouseEnter={(e) => handleMouseEnter(e, date, stat)}
onMouseLeave={() => setHoveredDay(null)} onMouseLeave={() => setHoveredDay(null)}
/> />

View File

@@ -152,10 +152,10 @@ export default function NewSitePage() {
</div> </div>
<div className="mt-8 flex flex-col sm:flex-row gap-3 justify-center"> <div className="mt-8 flex flex-col sm:flex-row gap-3 justify-center">
<Button variant="primary" onClick={goToDashboard} className="min-w-[160px]"> <Button variant="primary" onClick={goToDashboard} className="min-w-40">
Back to dashboard Back to dashboard
</Button> </Button>
<Button variant="secondary" onClick={() => router.push(`/sites/${createdSite.id}`)} className="min-w-[160px]"> <Button variant="secondary" onClick={() => router.push(`/sites/${createdSite.id}`)} className="min-w-40">
View {createdSite.name} View {createdSite.name}
</Button> </Button>
</div> </div>

View File

@@ -759,11 +759,11 @@ function WelcomeContent() {
)} )}
<div className="mt-8 flex flex-col sm:flex-row gap-3 justify-center"> <div className="mt-8 flex flex-col sm:flex-row gap-3 justify-center">
<Button variant="primary" onClick={goToDashboard} className="min-w-[160px]"> <Button variant="primary" onClick={goToDashboard} className="min-w-40">
Go to dashboard Go to dashboard
</Button> </Button>
{createdSite && ( {createdSite && (
<Button variant="secondary" onClick={goToSite} className="min-w-[160px]"> <Button variant="secondary" onClick={goToSite} className="min-w-40">
View {createdSite.name} View {createdSite.name}
</Button> </Button>
)} )}

View File

@@ -259,7 +259,7 @@ export default function PricingSection() {
</div> </div>
<div className="flex flex-col items-end gap-2 shrink-0"> <div className="flex flex-col items-end gap-2 shrink-0">
<span className="text-[10px] text-neutral-500 dark:text-neutral-400 font-medium uppercase tracking-wide"> <span className="text-xs text-neutral-500 dark:text-neutral-400 font-medium uppercase tracking-wide">
Get 1 month free with yearly Get 1 month free with yearly
</span> </span>
<div className="bg-neutral-200 dark:bg-neutral-800 p-1 rounded-lg flex" role="radiogroup" aria-label="Billing interval"> <div className="bg-neutral-200 dark:bg-neutral-800 p-1 rounded-lg flex" role="radiogroup" aria-label="Billing interval">

View File

@@ -570,7 +570,7 @@ export default function Chart({
</div> </div>
{!hasData ? ( {!hasData ? (
<div className="flex h-[320px] flex-col items-center justify-center gap-3 rounded-lg border border-dashed border-neutral-200 dark:border-neutral-700 bg-neutral-50/50 dark:bg-neutral-800/30"> <div className="flex h-80 flex-col items-center justify-center gap-3 rounded-lg border border-dashed border-neutral-200 dark:border-neutral-700 bg-neutral-50/50 dark:bg-neutral-800/30">
<BarChartIcon className="h-12 w-12 text-neutral-300 dark:text-neutral-600" aria-hidden /> <BarChartIcon className="h-12 w-12 text-neutral-300 dark:text-neutral-600" aria-hidden />
<p className="text-sm font-medium text-neutral-500 dark:text-neutral-400"> <p className="text-sm font-medium text-neutral-500 dark:text-neutral-400">
No data for this period No data for this period
@@ -578,7 +578,7 @@ export default function Chart({
<p className="text-xs text-neutral-400 dark:text-neutral-500">Try a different date range</p> <p className="text-xs text-neutral-400 dark:text-neutral-500">Try a different date range</p>
</div> </div>
) : !hasAnyNonZero ? ( ) : !hasAnyNonZero ? (
<div className="flex h-[320px] flex-col items-center justify-center gap-3 rounded-lg border border-dashed border-neutral-200 dark:border-neutral-700 bg-neutral-50/50 dark:bg-neutral-800/30"> <div className="flex h-80 flex-col items-center justify-center gap-3 rounded-lg border border-dashed border-neutral-200 dark:border-neutral-700 bg-neutral-50/50 dark:bg-neutral-800/30">
<BarChartIcon className="h-12 w-12 text-neutral-300 dark:text-neutral-600" aria-hidden /> <BarChartIcon className="h-12 w-12 text-neutral-300 dark:text-neutral-600" aria-hidden />
<p className="text-sm font-medium text-neutral-500 dark:text-neutral-400"> <p className="text-sm font-medium text-neutral-500 dark:text-neutral-400">
No {metricLabel.toLowerCase()} data for this period No {metricLabel.toLowerCase()} data for this period

View File

@@ -97,7 +97,7 @@ const WorldMap = ({ data }: WorldMapProps) => {
</ComposableMap> </ComposableMap>
{tooltipContent && ( {tooltipContent && (
<div <div
className="fixed z-50 px-2 py-1 text-xs font-medium text-white bg-black/80 backdrop-blur-sm rounded shadow pointer-events-none transform -translate-x-1/2 -translate-y-full mt-[-10px]" className="fixed z-50 px-2 py-1 text-xs font-medium text-white bg-black/80 backdrop-blur-sm rounded shadow pointer-events-none transform -translate-x-1/2 -translate-y-full -mt-2.5"
style={{ left: tooltipContent.x, top: tooltipContent.y }} style={{ left: tooltipContent.x, top: tooltipContent.y }}
> >
{tooltipContent.content} {tooltipContent.content}

View File

@@ -1502,7 +1502,7 @@ export default function OrganizationSettings() {
</span> </span>
<span className="block text-xs text-neutral-500 mt-0.5">{plan.sites}</span> <span className="block text-xs text-neutral-500 mt-0.5">{plan.sites}</span>
{isCurrentPlan && ( {isCurrentPlan && (
<span className="absolute -top-2 right-2 px-1.5 py-0.5 text-[10px] font-medium bg-neutral-100 dark:bg-neutral-800 text-neutral-600 dark:text-neutral-400 rounded-full border border-neutral-200 dark:border-neutral-700"> <span className="absolute -top-2 right-2 px-1.5 py-0.5 text-xs font-medium bg-neutral-100 dark:bg-neutral-800 text-neutral-600 dark:text-neutral-400 rounded-full border border-neutral-200 dark:border-neutral-700">
Current Current
</span> </span>
)} )}