Fix prop confirmation bug, add Wan 2.7 model, refine multiple UI details, improve prop generation quality and aspect ratio, remove text overlays from Asset Center created images, and optimize prop filtering logic

This commit is contained in:
saturn
2026-04-03 22:36:41 +08:00
parent 854b932e67
commit 78b93331b4
136 changed files with 3393 additions and 875 deletions

View File

@@ -237,7 +237,7 @@ export function EpisodeSelector({
{isOpen && (
<div className="glass-surface-modal absolute left-0 top-full mt-2 w-72 origin-top-left p-2 animate-fadeIn">
<div className="max-h-[300px] overflow-y-auto custom-scrollbar space-y-1">
<div className="max-h-[300px] overflow-y-auto app-scrollbar space-y-1">
{episodes.map(ep => {
const statusColor = ep.status?.visual === 'ready'
? 'bg-[var(--glass-tone-success-fg)]'

View File

@@ -364,7 +364,7 @@ export function SettingsModal({
</div>
</div>
<p className="text-[12px] text-[var(--glass-text-tertiary)] mb-6">{t('subtitle')}</p>
<div className="space-y-5 flex-1 min-h-0 overflow-y-auto custom-scrollbar">
<div className="space-y-5 flex-1 min-h-0 overflow-y-auto app-scrollbar">
<div className="glass-surface-soft p-5 sm:p-6 space-y-4">
<h3 className="text-sm font-semibold text-[var(--glass-text-tertiary)]">{t('visualSettings')}</h3>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">

View File

@@ -286,7 +286,7 @@ export function ModelCapabilityDropdown({
style={panelStyle}
>
{/* Model list */}
<div className="px-2 pb-2 min-h-0 flex-1 overflow-y-auto custom-scrollbar">
<div className="px-2 pb-2 min-h-0 flex-1 overflow-y-auto app-scrollbar">
{(() => {
// Group models by provider
const grouped = new Map<string, ModelCapabilityOption[]>()
@@ -340,7 +340,7 @@ export function ModelCapabilityDropdown({
<div className="text-[10px] font-bold text-[#8e8e93] uppercase tracking-wider mb-2.5">
{t('paramConfig')}
</div>
<div className="max-h-[156px] overflow-y-auto custom-scrollbar pr-1">
<div className="max-h-[156px] overflow-y-auto app-scrollbar pr-1">
<div className="space-y-3">
{visibleCapabilityFields.map((def) => {
const currentVal = capabilityOverrides[def.field] !== undefined

View File

@@ -94,7 +94,7 @@ export function WorldContextModal({ isOpen, onClose, text, onChange }: WorldCont
value={text}
onChange={(event) => handleTextChange(event.target.value)}
placeholder={t('placeholder')}
className="glass-textarea-base flex-1 text-base resize-none leading-relaxed placeholder:text-[var(--glass-text-tertiary)]/70 custom-scrollbar p-4"
className="glass-textarea-base app-scrollbar flex-1 text-base resize-none leading-relaxed placeholder:text-[var(--glass-text-tertiary)]/70 p-4"
/>
</div>

View File

@@ -70,7 +70,7 @@ export function RatioSelector({ value, onChange, options }: RatioSelectorProps)
{isOpen && (
<div
className="glass-surface-modal absolute z-50 mt-1 left-0 right-0 p-3 max-h-60 overflow-y-auto custom-scrollbar"
className="glass-surface-modal absolute z-50 mt-1 left-0 right-0 p-3 max-h-60 overflow-y-auto app-scrollbar"
style={{ minWidth: '300px' }}
>
<div className="grid grid-cols-5 gap-2">

View File

@@ -380,7 +380,7 @@ export function ModelDropdownV4(props: ModelDropdownTestProps) {
{/* Top: Models */}
<div className="px-3 pt-3 pb-2 bg-[var(--glass-bg-base)]">
<div className="text-[12px] font-bold text-[var(--glass-text-secondary)] mb-2 px-1"></div>
<div className="overflow-y-auto max-h-[160px] custom-scrollbar space-y-1 pr-1">
<div className="overflow-y-auto max-h-[160px] app-scrollbar space-y-1 pr-1">
{props.models.map(m => {
const active = m.value === props.value
return (

View File

@@ -134,7 +134,7 @@ export function SelectVariantCard({
className="glass-surface-modal z-[9999] overflow-hidden flex flex-col rounded-xl shadow-xl border border-[var(--glass-stroke-base)] py-1"
style={panelStyle}
>
<div className="overflow-y-auto custom-scrollbar px-1 py-1 max-h-full">
<div className="overflow-y-auto app-scrollbar px-1 py-1 max-h-full">
{options.map((opt) => {
const isSelected = value === opt.value
return (
@@ -279,7 +279,7 @@ export function SelectVariantMinimal({
className="glass-surface-modal z-[9999] overflow-hidden flex flex-col rounded-xl shadow-[0_8px_32px_rgba(0,0,0,0.12)] border border-[var(--glass-stroke-subtle)] py-1 bg-gradient-to-b from-[var(--glass-bg-surface-strong)] to-[var(--glass-bg-surface)] backdrop-blur-md"
style={panelStyle}
>
<div className="overflow-y-auto custom-scrollbar px-1 py-1 max-h-full">
<div className="overflow-y-auto app-scrollbar px-1 py-1 max-h-full">
{options.map((opt) => {
const isSelected = value === opt.value
return (
@@ -411,7 +411,7 @@ export function SelectVariantGhost({
className="glass-surface-modal z-[9999] overflow-hidden flex flex-col rounded-xl shadow-lg border border-[var(--glass-stroke-subtle)] py-1"
style={panelStyle}
>
<div className="overflow-y-auto custom-scrollbar p-1 max-h-full space-y-0.5">
<div className="overflow-y-auto app-scrollbar p-1 max-h-full space-y-0.5">
{options.map((opt) => {
const isSelected = value === opt.value
return (