mirror of
https://github.com/k1tbyte/Wand-Enhancer.git
synced 2026-09-04 09:13:26 +00:00
feat: ship 1.0.8.0 release automation and runtime overhaul
- reduce ASAR IO overhead with streamed archive reads, buffered copies, faster relative-path handling and placeholder integrity records - fix in-place app.asar.unpacked packing/extraction self-copy cases that caused locked-file failures - tighten JS patch discovery with candidate bundle filters and search hints - require prebuilt remote-panel dist artifacts and clean up embedded bridge/script packaging - add unified build entrypoints for PowerShell, cmd and bash and move native CMake output under .tmp - add release metadata validation, changelog section extraction, pre-commit hook and GitHub Actions validation/release pipelines - make CHANGELOG the source of truth for release notes and document the tag-driven release flow - add updater release notes UI with latest/full changelog loading and localize the new update strings - modularize bridge renderer scripts, add installed apps and game status sync, and support remote launch/stop commands - centralize bridge protocol, IPC and WebSocket constants and improve LAN IP selection for QR pairing - refactor remote panel controls/state enums, persist accent color, polish library/session UI and refresh assets
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import { type FormEvent } from 'react';
|
||||
|
||||
import { cn } from '@/lib/utils';
|
||||
|
||||
import { formatInputNumber, numericValue, stripNumberGrouping } from './format-number';
|
||||
import { StepButton, type ControlInternalProps } from './shared';
|
||||
|
||||
const NUMBER_STEP_GRID = 'grid-cols-[48px_minmax(0,1fr)_48px]';
|
||||
|
||||
export const NumberControl = ({ cheat, value, disabled, onChange }: ControlInternalProps) => {
|
||||
const step = cheat.args.step ?? 1;
|
||||
const currentValue = numericValue(value, 0);
|
||||
const handleInput = (event: FormEvent<HTMLInputElement>) => onChange(stripNumberGrouping(event.currentTarget.value));
|
||||
const decrement = () => onChange(Math.max(cheat.args.min ?? Number.NEGATIVE_INFINITY, currentValue - step));
|
||||
const increment = () => onChange(Math.min(cheat.args.max ?? Number.POSITIVE_INFINITY, currentValue + step));
|
||||
|
||||
return (
|
||||
<div className={cn('grid h-[38px] w-full items-stretch overflow-hidden rounded-[10px] border border-white/10 bg-white/[0.055] shadow-[inset_0_1px_0_rgba(255,255,255,0.05)] backdrop-blur-xl', NUMBER_STEP_GRID)}>
|
||||
<StepButton border="right" disabled={disabled} icon="minus" onClick={decrement} />
|
||||
<input
|
||||
type="text"
|
||||
value={formatInputNumber(value)}
|
||||
disabled={disabled}
|
||||
className="min-w-0 bg-transparent px-2 text-center font-mono text-[15px] font-semibold tabular-nums text-(--deck-fg) outline-none disabled:opacity-50"
|
||||
onInput={handleInput}
|
||||
/>
|
||||
<StepButton border="left" disabled={disabled} icon="plus" onClick={increment} />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
Reference in New Issue
Block a user