chore: ui fixes
This commit is contained in:
@@ -75,10 +75,10 @@
|
|||||||
"vite:build": "bun -F @autumn/vite build:bun",
|
"vite:build": "bun -F @autumn/vite build:bun",
|
||||||
"t": "ENV_FILE=.env infisical run --env=dev --recursive -- bun scripts/testScripts/testDispatcher.ts",
|
"t": "ENV_FILE=.env infisical run --env=dev --recursive -- bun scripts/testScripts/testDispatcher.ts",
|
||||||
"cm": "cd server && bun cm",
|
"cm": "cd server && bun cm",
|
||||||
"d": "lsof -ti:8080 -ti:3000 | xargs kill -9 2>/dev/null || true; ENV_FILE=.env infisical run --env=dev --recursive -- bun scripts/dev.ts",
|
"d": "ENV_FILE=.env infisical run --env=dev --recursive -- bun scripts/dev.ts",
|
||||||
"d:prod": "lsof -ti:8080 -ti:3000 | xargs kill -9 2>/dev/null || true; ENV_FILE=.env infisical run --env=dev --recursive -- bun scripts/dev.ts --production",
|
"d:prod": "ENV_FILE=.env infisical run --env=dev --recursive -- bun scripts/dev.ts --production",
|
||||||
"dx": "bun scripts/dx.ts",
|
"dx": "bun scripts/dx.ts",
|
||||||
"d:test": "lsof -ti:8080 -ti:3000 | xargs kill -9 2>/dev/null || true; ENV_FILE=.env infisical run --env=test --recursive -- bun scripts/dev.ts",
|
"d:test": "ENV_FILE=.env infisical run --env=test --recursive -- bun scripts/dev.ts",
|
||||||
"p": "ENV_FILE=.env.prod infisical run --env=prod --recursive -- bun scripts/dev.ts",
|
"p": "ENV_FILE=.env.prod infisical run --env=prod --recursive -- bun scripts/dev.ts",
|
||||||
"s": "ENV_FILE=.env.staging infisical run --env=staging --recursive -- bun scripts/dev.ts",
|
"s": "ENV_FILE=.env.staging infisical run --env=staging --recursive -- bun scripts/dev.ts",
|
||||||
"l": "bash ./scripts/dev-local.sh",
|
"l": "bash ./scripts/dev-local.sh",
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/autumn-logo-bg.png" />
|
<link rel="icon" type="image/svg+xml" href="/autumn-logo.svg" />
|
||||||
<!-- <link
|
<!-- <link
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
href="https://esm.sh/@wooorm/starry-night@3/style/both"
|
href="https://esm.sh/@wooorm/starry-night@3/style/both"
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 466 KiB After Width: | Height: | Size: 14 KiB |
4
vite/public/autumn-logo.svg
Normal file
4
vite/public/autumn-logo.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect width="28" height="28" rx="6" fill="white"/>
|
||||||
|
<path d="M10.7139 9.06887C9.77726 11.211 8.84052 13.3532 7.90386 15.4953C8.63795 16.4465 9.37205 17.3984 10.1061 18.3496C12.2827 15.537 14.4599 12.7244 16.637 9.91183L9.27077 22.9514C12.9161 20.7518 16.5615 18.5529 20.2069 16.3534V4.85034L10.7139 9.06887Z" fill="black"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 426 B |
Binary file not shown.
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 14 KiB |
@@ -128,7 +128,13 @@ export const SignIn = () => {
|
|||||||
<div className="w-full max-w-[350px] space-y-4">
|
<div className="w-full max-w-[350px] space-y-4">
|
||||||
{/* Logo */}
|
{/* Logo */}
|
||||||
<div className="flex justify-center">
|
<div className="flex justify-center">
|
||||||
<img src="/logo_hd.png" alt="Autumn" className="w-12 h-12" />
|
<svg width="48" height="48" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<mask id="icon-cutout">
|
||||||
|
<rect width="28" height="28" fill="white"/>
|
||||||
|
<path d="M10.7139 9.06887C9.77726 11.211 8.84052 13.3532 7.90386 15.4953C8.63795 16.4465 9.37205 17.3984 10.1061 18.3496C12.2827 15.537 14.4599 12.7244 16.637 9.91183L9.27077 22.9514C12.9161 20.7518 16.5615 18.5529 20.2069 16.3534V4.85034L10.7139 9.06887Z" fill="black"/>
|
||||||
|
</mask>
|
||||||
|
<rect width="28" height="28" fill="currentColor" mask="url(#icon-cutout)"/>
|
||||||
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Title */}
|
{/* Title */}
|
||||||
|
|||||||
@@ -57,7 +57,13 @@ export const PasswordSignIn = () => {
|
|||||||
<div className="w-full max-w-[350px] space-y-4">
|
<div className="w-full max-w-[350px] space-y-4">
|
||||||
{/* Logo */}
|
{/* Logo */}
|
||||||
<div className="flex justify-center">
|
<div className="flex justify-center">
|
||||||
<img src="/logo_hd.png" alt="Autumn" className="w-12 h-12" />
|
<svg width="48" height="48" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<mask id="icon-cutout">
|
||||||
|
<rect width="28" height="28" fill="white"/>
|
||||||
|
<path d="M10.7139 9.06887C9.77726 11.211 8.84052 13.3532 7.90386 15.4953C8.63795 16.4465 9.37205 17.3984 10.1061 18.3496C12.2827 15.537 14.4599 12.7244 16.637 9.91183L9.27077 22.9514C12.9161 20.7518 16.5615 18.5529 20.2069 16.3534V4.85034L10.7139 9.06887Z" fill="black"/>
|
||||||
|
</mask>
|
||||||
|
<rect width="28" height="28" fill="currentColor" mask="url(#icon-cutout)"/>
|
||||||
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Title */}
|
{/* Title */}
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ function useSuggestionsForField(
|
|||||||
.map((c) => ({
|
.map((c) => ({
|
||||||
value: c.id,
|
value: c.id,
|
||||||
label: c.name ?? c.email ?? c.id,
|
label: c.name ?? c.email ?? c.id,
|
||||||
|
secondaryLabel: c.id,
|
||||||
icon: <UserIcon size={14} className="text-t3" />,
|
icon: <UserIcon size={14} className="text-t3" />,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ const MAX_VISIBLE_CHIPS = 3;
|
|||||||
export type ValuePickerOption = {
|
export type ValuePickerOption = {
|
||||||
value: string;
|
value: string;
|
||||||
label: string;
|
label: string;
|
||||||
|
secondaryLabel?: string;
|
||||||
icon?: ReactNode;
|
icon?: ReactNode;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -112,6 +113,7 @@ export function ValuePicker({
|
|||||||
<CommandItem
|
<CommandItem
|
||||||
key={suggestion.value}
|
key={suggestion.value}
|
||||||
value={suggestion.value}
|
value={suggestion.value}
|
||||||
|
keywords={[suggestion.label]}
|
||||||
onSelect={() => onToggle(suggestion.value)}
|
onSelect={() => onToggle(suggestion.value)}
|
||||||
className="text-sm"
|
className="text-sm"
|
||||||
>
|
>
|
||||||
@@ -121,6 +123,11 @@ export function ValuePicker({
|
|||||||
<span className="flex-1 truncate">
|
<span className="flex-1 truncate">
|
||||||
{suggestion.label}
|
{suggestion.label}
|
||||||
</span>
|
</span>
|
||||||
|
{(suggestion.secondaryLabel ?? (suggestion.value !== suggestion.label ? suggestion.value : null)) && (
|
||||||
|
<span className="text-t4 text-xs truncate shrink-0">
|
||||||
|
{suggestion.secondaryLabel ?? suggestion.value}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
{isSelected && (
|
{isSelected && (
|
||||||
<CheckIcon size={14} className="shrink-0" />
|
<CheckIcon size={14} className="shrink-0" />
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ export function buildFeatureSuggestions(
|
|||||||
return features.map((f) => ({
|
return features.map((f) => ({
|
||||||
value: f.id,
|
value: f.id,
|
||||||
label: f.name || f.id,
|
label: f.name || f.id,
|
||||||
|
secondaryLabel: f.id,
|
||||||
icon: getFeatureIcon({ feature: f }),
|
icon: getFeatureIcon({ feature: f }),
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ export function buildPlanSuggestions(
|
|||||||
.map((p) => ({
|
.map((p) => ({
|
||||||
value: p.id,
|
value: p.id,
|
||||||
label: p.name || p.id,
|
label: p.name || p.id,
|
||||||
|
secondaryLabel: p.id,
|
||||||
icon: <PackageIcon size={14} weight="duotone" className="text-t3" />,
|
icon: <PackageIcon size={14} weight="duotone" className="text-t3" />,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user