feat(audit): Batch 20 — Windows/main-process (UI23, W12, W15, L131)
UI23: cookie sign-in + PO-token windows open with the app's resolved theme background (passed from the IPC layer), no more white flash. W12: multi-resolution fallback tray icon (16/24/32/48 via addRepresentation dataURL, embedded in trayFallbackIcons.ts); decode + scale factors verified in an Electron probe. W15: hardwareAcceleration setting (default false = software rendering); index.ts gates disableHardwareAcceleration on it after the portable redirect; Appearance card switch with restart note; boot path verified. L131: resolved by-design — clearing the queue acknowledges failures; flashFrame (W10) covers attention, Diagnostics persists the record. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -62,7 +62,11 @@ type CardComponent = () => React.JSX.Element
|
||||
* state instead of mutating the card's own DOM `style` (M14).
|
||||
*/
|
||||
const SECTIONS: { id: string; title: string; cards: CardComponent[] }[] = [
|
||||
{ id: 'downloads', title: 'Downloads', cards: [DownloadsCard, PostProcessingCard, FilenamesCard] },
|
||||
{
|
||||
id: 'downloads',
|
||||
title: 'Downloads',
|
||||
cards: [DownloadsCard, PostProcessingCard, FilenamesCard]
|
||||
},
|
||||
{ id: 'appearance', title: 'Appearance', cards: [AppearanceCard] },
|
||||
{ id: 'network', title: 'Network & accounts', cards: [NetworkCard, CookiesCard] },
|
||||
{ id: 'advanced', title: 'Advanced', cards: [CustomCommandsCard] },
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
import { useRef } from 'react'
|
||||
import { Field, Button, Card, Subtitle2, Caption1, mergeClasses } from '@fluentui/react-components'
|
||||
import {
|
||||
Field,
|
||||
Button,
|
||||
Card,
|
||||
Subtitle2,
|
||||
Caption1,
|
||||
Switch,
|
||||
mergeClasses
|
||||
} from '@fluentui/react-components'
|
||||
import { PaintBucketRegular, AccessibilityRegular } from '@fluentui/react-icons'
|
||||
import { type ThemeMode, type AccentColor } from '@shared/ipc'
|
||||
import { useSettings } from '../../store/settings'
|
||||
@@ -20,6 +28,7 @@ export function AppearanceCard(): React.JSX.Element {
|
||||
const focus = useFocusStyles()
|
||||
const theme = useSettings((s) => s.theme)
|
||||
const accentColor = useSettings((s) => s.accentColor)
|
||||
const hardwareAcceleration = useSettings((s) => s.hardwareAcceleration)
|
||||
const highContrast = useSystemTheme((s) => s.shouldUseHighContrastColors)
|
||||
const update = useSettings((s) => s.update)
|
||||
// Store action wraps the IPC call (L93/CC13: no window.api in components).
|
||||
@@ -91,6 +100,16 @@ export function AppearanceCard(): React.JSX.Element {
|
||||
</div>
|
||||
</Field>
|
||||
|
||||
<Field
|
||||
label="Hardware acceleration"
|
||||
hint="Uses the GPU to draw the window (takes effect after you restart AeroFetch). Off by default: some older GPUs render the window blank with this on — turn it back off if that happens."
|
||||
>
|
||||
<Switch
|
||||
checked={hardwareAcceleration}
|
||||
onChange={(_, d) => update({ hardwareAcceleration: d.checked })}
|
||||
/>
|
||||
</Field>
|
||||
|
||||
<Caption1 className={styles.hint}>
|
||||
{highContrast
|
||||
? 'A Windows high-contrast theme is active -- AeroFetch follows your system colors.'
|
||||
|
||||
Reference in New Issue
Block a user