Refactor proxy routing and installer flows

This commit is contained in:
2026-07-08 11:05:52 +03:00
parent e745633d91
commit 88d5b94133
14 changed files with 1899 additions and 487 deletions
+5 -4
View File
@@ -2,11 +2,12 @@ import type { ButtonHTMLAttributes, ReactNode } from 'react';
export type IconButtonVariant = 'neutral' | 'add' | 'danger';
export interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
export interface IconButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'title'> {
label: string;
icon: ReactNode;
variant?: IconButtonVariant;
loading?: boolean;
tooltip?: string;
}
export function IconButton({
@@ -14,12 +15,12 @@ export function IconButton({
icon,
variant = 'neutral',
loading = false,
tooltip,
className,
disabled,
title,
...props
}: IconButtonProps) {
const tooltip = title === '' ? undefined : title ?? label;
const tooltipText = tooltip === '' ? undefined : tooltip ?? label;
const classes = [
'ui-icon-button',
`ui-icon-button--${variant}`,
@@ -33,7 +34,7 @@ export function IconButton({
type={props.type ?? 'button'}
className={classes}
aria-label={label}
data-tooltip={tooltip}
data-tooltip={tooltipText}
disabled={disabled || loading}
>
{loading ? <span className="ui-button-spinner" aria-hidden="true" /> : icon}