refactor(nexus): drop soft shadows in app chrome (phase 4)
This commit is contained in:
parent
d3141ac534
commit
547e526279
13 changed files with 16 additions and 16 deletions
|
|
@ -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"
|
||||
>
|
||||
|
|
|
|||
|
|
@ -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 && (
|
||||
|
|
|
|||
|
|
@ -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)}
|
||||
|
|
|
|||
|
|
@ -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}`}
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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)),
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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" />
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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}>
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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)}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue