refactor(nexus): drop soft shadows in app chrome (phase 4)

This commit is contained in:
Nexus Dev 2026-04-11 16:28:53 +00:00
parent d3141ac534
commit 547e526279
13 changed files with 16 additions and 16 deletions

View file

@ -200,7 +200,7 @@ export function ChatMessageList({
<Button
variant="outline"
size="icon"
className="h-8 w-8 rounded-full shadow-md"
className="h-8 w-8 rounded-full"
onClick={jumpToBottom}
aria-label="Scroll to latest message"
>

View file

@ -128,7 +128,7 @@ function SortableCompanyItem({
isSelected
? "rounded-[14px]"
: "rounded-[22px] group-hover:rounded-[14px]",
isDragging && "shadow-lg",
isDragging && "ring-1 ring-primary/40",
)}
/>
{hasLiveAgents && (

View file

@ -21,7 +21,7 @@ export function IconDownloadBar({ selectedCount, onDownload, onClear }: IconDown
if (selectedCount === 0) return null;
return (
<div className="sticky bottom-0 z-10 flex items-center gap-3 rounded-t-md border border-border bg-card px-4 py-3 shadow-lg">
<div className="sticky bottom-0 z-10 flex items-center gap-3 rounded-t-md border border-border bg-card px-4 py-3">
<Button
type="button"
onClick={() => onDownload(format)}

View file

@ -136,9 +136,9 @@ function KanbanCard({
style={style}
{...attributes}
{...listeners}
className={`rounded-md border bg-card p-2.5 cursor-grab active:cursor-grabbing transition-shadow ${
className={`rounded-md border bg-card p-2.5 cursor-grab active:cursor-grabbing ${
isDragging && !isOverlay ? "opacity-30" : ""
} ${isOverlay ? "shadow-lg ring-1 ring-primary/20" : "hover:shadow-sm"}`}
} ${isOverlay ? "ring-1 ring-primary/40" : ""}`}
>
<Link
to={`/issues/${issue.identifier ?? issue.id}`}

View file

@ -176,7 +176,7 @@ export function Layout() {
>
<a
href="#main-content"
className="sr-only focus:not-sr-only focus:fixed focus:left-3 focus:top-3 focus:z-[200] focus:rounded-md focus:bg-background focus:px-3 focus:py-2 focus:text-sm focus:font-medium focus:shadow-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-ring"
className="sr-only focus:not-sr-only focus:fixed focus:left-3 focus:top-3 focus:z-[200] focus:rounded-md focus:bg-background focus:px-3 focus:py-2 focus:text-sm focus:font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-ring"
>
Skip to Main Content
</a>

View file

@ -641,7 +641,7 @@ export const MarkdownEditor = forwardRef<MarkdownEditorRef, MarkdownEditorProps>
{mentionActive && filteredMentions.length > 0 &&
createPortal(
<div
className="fixed z-[9999] min-w-[180px] max-w-[calc(100vw-16px)] max-h-[200px] overflow-y-auto rounded-md border border-border bg-popover shadow-md"
className="fixed z-[9999] min-w-[180px] max-w-[calc(100vw-16px)] max-h-[200px] overflow-y-auto rounded-md border border-border bg-popover"
style={{
top: Math.min(mentionState.viewportTop + 4, window.innerHeight - 208),
left: Math.max(8, Math.min(mentionState.viewportLeft, window.innerWidth - 188)),

View file

@ -46,7 +46,7 @@ export function NotificationPermissionPrompt({ agentResponseCount }: Notificatio
};
return (
<div className="fixed bottom-20 left-4 right-4 md:bottom-auto md:top-16 md:left-auto md:right-4 md:max-w-sm z-50 bg-card border border-border rounded-lg shadow-lg p-4">
<div className="fixed bottom-20 left-4 right-4 md:bottom-auto md:top-16 md:left-auto md:right-4 md:max-w-sm z-50 bg-card border border-border rounded-lg p-4">
<p className="text-sm font-semibold">Stay in the loop</p>
<p className="text-xs text-muted-foreground mt-1">
Get notified when your agents complete tasks or need input.

View file

@ -70,7 +70,7 @@ export function ScrollToBottom() {
return (
<button
onClick={scroll}
className="fixed bottom-[calc(1.5rem+5rem+env(safe-area-inset-bottom))] right-6 z-40 flex h-9 w-9 items-center justify-center rounded-full border border-border bg-background shadow-md hover:bg-accent transition-colors md:bottom-6"
className="fixed bottom-[calc(1.5rem+5rem+env(safe-area-inset-bottom))] right-6 z-40 flex h-9 w-9 items-center justify-center rounded-full border border-border bg-background hover:bg-accent transition-colors md:bottom-6"
aria-label="Scroll to bottom"
>
<ArrowDown className="h-4 w-4" />

View file

@ -35,7 +35,7 @@ function AnimatedToast({
return (
<li
className={cn(
"pointer-events-auto rounded-sm border shadow-lg backdrop-blur-xl transition-[transform,opacity] duration-200 ease-out",
"pointer-events-auto rounded-sm border backdrop-blur-xl transition-[transform,opacity] duration-200 ease-out",
visible
? "translate-y-0 opacity-100"
: "translate-y-3 opacity-0",

View file

@ -39,7 +39,7 @@ export function ApiKeyEntryForm({ onSave, onError }: ApiKeyEntryFormProps) {
value={provider}
onChange={(e) => setProvider(e.target.value)}
disabled={saved}
className="flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50"
className="flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm transition-colors focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50"
>
{PROVIDERS.map((p) => (
<option key={p.value} value={p.value}>

View file

@ -796,7 +796,7 @@ function TranscriptCommandGroup({
<span
key={index}
className={cn(
"inline-flex h-6 w-6 items-center justify-center rounded-full border shadow-sm",
"inline-flex h-6 w-6 items-center justify-center rounded-full border",
index > 0 && "-ml-1.5",
isRunning
? "border-primary/25 bg-primary/[0.08] text-primary"
@ -919,7 +919,7 @@ function TranscriptToolGroup({
<span
key={`${item.ts}-${index}`}
className={cn(
"inline-flex h-6 w-6 items-center justify-center rounded-full border shadow-sm",
"inline-flex h-6 w-6 items-center justify-center rounded-full border",
index > 0 && "-ml-1.5",
isItemRunning
? "border-primary/25 bg-primary/[0.08] text-primary"

View file

@ -939,7 +939,7 @@ export function AgentDetail() {
: "opacity-0 pointer-events-none"
)}
>
<div className="flex items-center gap-2 bg-background/90 backdrop-blur-sm border border-border rounded-lg px-3 py-1.5 shadow-lg">
<div className="flex items-center gap-2 bg-background/90 backdrop-blur-sm border border-border rounded-lg px-3 py-1.5">
<Button
variant="ghost"
size="sm"
@ -3810,7 +3810,7 @@ function LogViewer({ run, adapterType }: { run: HeartbeatRun; adapterType: strin
className={cn(
"rounded-md px-2.5 py-1 text-[11px] font-medium capitalize transition-colors",
transcriptMode === mode
? "bg-accent text-foreground shadow-sm"
? "bg-accent text-foreground shadow-[inset_0_4px_25px_rgba(0,0,0,0.14)]"
: "text-muted-foreground hover:text-foreground",
)}
onClick={() => setTranscriptMode(mode)}

View file

@ -137,7 +137,7 @@ function ColorPicker({
aria-label="Change project color"
/>
{open && (
<div className="absolute top-full left-0 mt-2 p-2 bg-popover border border-border rounded-lg shadow-lg z-50 w-max">
<div className="absolute top-full left-0 mt-2 p-2 bg-popover border border-border rounded-lg z-50 w-max">
<div className="grid grid-cols-5 gap-1.5">
{PROJECT_COLORS.map((color) => (
<button