diff --git a/app/components/Avatar.js b/app/components/Avatar.js index 7ceeda4..2a877d8 100644 --- a/app/components/Avatar.js +++ b/app/components/Avatar.js @@ -5,10 +5,10 @@ export default function Avatar({ className = "", ...props }) { - // Size styles - avatars scale to fit inside the 60px container const sizeStyles = { - small: "w-4 h-4", // 16px x 16px to fit in 60px container - // Add more sizes as needed: medium, large, xlarge + small: "w-5 h-5", + medium: "w-[18px] h-[18px]", + xlarge: "w-[32px] h-[32px]", }; const baseStyles = `rounded-[var(--radius-measures-radius-full)] object-cover ${sizeStyles[size]} ${className}`; diff --git a/app/components/AvatarContainer.js b/app/components/AvatarContainer.js index 608b4d2..b5c7932 100644 --- a/app/components/AvatarContainer.js +++ b/app/components/AvatarContainer.js @@ -4,10 +4,10 @@ export default function AvatarContainer({ className = "", ...props }) { - // Size styles - container sizes to fit content, not fixed dimensions const sizeStyles = { - small: "flex -space-x-2", // Just flex with -8px spacing, no fixed width/height - // Add more sizes as needed: medium, large, xlarge + small: "flex -space-x-2", + medium: "flex -space-x-[var(--spacing-scale-009)]", + xlarge: "flex -space-x-[13px]", }; const baseStyles = `items-center ${sizeStyles[size]} ${className}`; diff --git a/app/components/Button.js b/app/components/Button.js index 1294952..408e6f0 100644 --- a/app/components/Button.js +++ b/app/components/Button.js @@ -12,56 +12,52 @@ export default function Button({ ariaLabel, ...props }) { - // Size styles const sizeStyles = { xsmall: "px-[var(--spacing-scale-006)] py-[var(--spacing-scale-004)] gap-[var(--spacing-scale-001)]", small: "px-[var(--spacing-measures-spacing-008)] py-[var(--spacing-measures-spacing-008)] gap-[var(--spacing-scale-004)]", - // Add more sizes as needed: medium, large, xlarge + large: + "px-[var(--spacing-scale-012)] py-[var(--spacing-scale-010)] gap-[var(--spacing-scale-004)]", }; - // Font styles based on size const fontStyles = { xsmall: "font-['Inter'] text-[10px] leading-[12px] font-medium tracking-[0%]", small: "font-['Inter'] text-[10px] leading-[12.5px] font-medium tracking-[0%]", + large: + "font-['Inter'] text-[16px] leading-[20px] font-medium tracking-[0%]", }; - // Variant styles const variantStyles = { default: "bg-[var(--color-surface-inverse-primary)] text-[var(--color-content-inverse-primary)] border-2 border-transparent hover:bg-[var(--color-surface-inverse-primary)] hover:text-[var(--color-content-inverse-brand-primary)] hover:border-[var(--border-color-default-brandprimary)] active:bg-[var(--color-surface-inverse-brand-primary)] active:text-[var(--color-content-inverse-primary)] active:border-[var(--border-color-default-brandprimary)] focus:bg-[var(--color-surface-inverse-primary)] focus:text-[var(--color-content-inverse-primary)] focus:shadow-[0_0_10px_#FFFDD2] focus:outline-none disabled:bg-[var(--color-surface-default-secondary)] disabled:text-[var(--color-content-inverse-tertiary)] disabled:cursor-not-allowed disabled:opacity-50", secondary: - "bg-transparent text-[var(--color-content-default-primary)] border-2 border-[var(--color-content-default-primary)] hover:bg-[var(--color-surface-default-tertiary)] hover:text-[var(--color-content-default-primary)] active:bg-[var(--color-surface-default-secondary)] active:text-[var(--color-content-default-primary)] focus:bg-transparent focus:text-[var(--color-content-default-primary)] focus:shadow-[0_0_10px_#FFFDD2] focus:outline-none disabled:bg-[var(--color-surface-default-tertiary)] disabled:text-[var(--color-content-default-tertiary)] disabled:border-[var(--color-content-default-tertiary)] disabled:cursor-not-allowed disabled:opacity-50", + "bg-[var(--color-surface-default-primary)] text-[var(--color-content-default-primary)] border-2 border-[var(--border-color-default-primary)] hover:bg-[var(--color-surface-default-secondary)] hover:text-[var(--color-content-default-primary)] hover:border-[var(--border-color-default-primary)] active:bg-[var(--color-surface-default-tertiary)] active:text-[var(--color-content-default-primary)] active:border-[var(--border-color-default-primary)] focus:bg-[var(--color-surface-default-primary)] focus:text-[var(--color-content-default-primary)] focus:shadow-[0_0_10px_#FFFDD2] focus:outline-none disabled:bg-[var(--color-surface-default-secondary)] disabled:text-[var(--color-content-default-tertiary)] disabled:border-[var(--color-content-default-tertiary)] disabled:cursor-not-allowed disabled:opacity-50", }; - const baseStyles = `inline-flex items-center justify-start ${sizeStyles[size]} rounded-[var(--radius-measures-radius-full)] ${fontStyles[size]} transition-all duration-200 cursor-pointer`; + const baseStyles = `inline-flex items-center justify-start ${sizeStyles[size]} rounded-[var(--radius-measures-radius-full)] ${fontStyles[size]} transition-all duration-200 cursor-pointer ${variantStyles[variant]}`; - // Determine which variant to use let finalVariant = variant; if (disabled) { - finalVariant = "default"; // The disabled state is handled by disabled: utilities + finalVariant = "default"; } - const combinedStyles = `${baseStyles} ${variantStyles[finalVariant]} ${className}`; + const combinedStyles = `${baseStyles} ${className}`; - // Accessibility attributes const accessibilityProps = { ...(ariaLabel && { "aria-label": ariaLabel }), - ...(disabled && { "aria-disabled": true }), - ...(onClick && { role: "button", tabIndex: 0 }), + ...(target && { target }), + ...(rel && { rel }), }; - // If href is provided, render as anchor tag if (href && !disabled) { return ( @@ -70,7 +66,6 @@ export default function Button({ ); } - // Render as button return ( + + +
+ + Log in + +