fix: enable frosted glass effect by default
This commit is contained in:
@@ -75,18 +75,18 @@ describe('ApplicationSettingsStore', () => {
|
||||
}
|
||||
})
|
||||
|
||||
it.each([11, 12])('defaults missing frosted glass to off in version %s', async (version) => {
|
||||
it.each([11, 12])('defaults missing frosted glass to on in version %s', async (version) => {
|
||||
const { filePath, store } = await createStore()
|
||||
const legacy: Record<string, unknown> = { ...defaultApplicationSettings, version, lastSeenReleaseNotesVersion: null, checkUpdatesOnStartup: false }
|
||||
delete legacy.transparentFrostedEffectEnabled
|
||||
await writeFile(filePath, JSON.stringify(legacy))
|
||||
expect(await store.get()).toEqual({ ...defaultApplicationSettings, checkUpdatesOnStartup: false })
|
||||
expect(applicationSettingsSchema.parse({ ...defaultApplicationSettings, transparentFrostedEffectEnabled: undefined }).transparentFrostedEffectEnabled).toBe(false)
|
||||
expect(applicationSettingsSchema.parse({ ...defaultApplicationSettings, transparentFrostedEffectEnabled: undefined }).transparentFrostedEffectEnabled).toBe(true)
|
||||
})
|
||||
|
||||
it('persists and publishes both frosted glass choices across unrelated updates and reloads', async () => {
|
||||
const { filePath, store } = await createStore()
|
||||
expect((await store.get()).transparentFrostedEffectEnabled).toBe(false)
|
||||
expect((await store.get()).transparentFrostedEffectEnabled).toBe(true)
|
||||
const changed = vi.fn()
|
||||
store.onChanged(changed)
|
||||
for (const transparentFrostedEffectEnabled of [true, false]) {
|
||||
|
||||
@@ -251,7 +251,7 @@ export const resolveLegacyLocalToolEnvironmentPaths: LegacyLocalToolEnvironmentR
|
||||
export const defaultApplicationSettings: ApplicationSettings = {
|
||||
checkUpdatesOnStartup: true,
|
||||
desktopNotificationsEnabled: true,
|
||||
transparentFrostedEffectEnabled: false,
|
||||
transparentFrostedEffectEnabled: true,
|
||||
updateSource: 'github',
|
||||
modelDownloadSource: 'modelscope',
|
||||
localToolEnvironment: defaultLocalToolEnvironmentSettings,
|
||||
|
||||
@@ -11173,7 +11173,7 @@ function App(): React.JSX.Element {
|
||||
<Suspense fallback={null}>
|
||||
<SettingsPanel
|
||||
appearanceTheme={appearanceTheme}
|
||||
transparentFrostedEffectEnabled={applicationSettings?.transparentFrostedEffectEnabled ?? false}
|
||||
transparentFrostedEffectEnabled={applicationSettings?.transparentFrostedEffectEnabled ?? true}
|
||||
applicationSettingsPending={applicationSettingsPending}
|
||||
applicationSettingsLocked={applicationSettingsUnconfirmed || !applicationSettings}
|
||||
applicationSettingsError={applicationSettingsError}
|
||||
|
||||
@@ -1583,17 +1583,17 @@ describe('SettingsPanel runtime files', () => {
|
||||
const { rerender } = render(<SettingsPanel {...props} />)
|
||||
fireEvent.click(screen.getByRole('tab', { name: category }))
|
||||
const toggle = screen.getByRole('switch', { name: label })
|
||||
expect(toggle).not.toBeChecked()
|
||||
expect(toggle).toBeChecked()
|
||||
expect(toggle).toHaveAccessibleDescription(description)
|
||||
expect(toggle.closest('label')).toHaveClass('toggle-row')
|
||||
fireEvent.click(toggle)
|
||||
expect(onChange).toHaveBeenCalledExactlyOnceWith(true)
|
||||
rerender(<SettingsPanel {...props} transparentFrostedEffectEnabled applicationSettingsPending />)
|
||||
expect(toggle).toBeChecked()
|
||||
expect(onChange).toHaveBeenCalledExactlyOnceWith(false)
|
||||
rerender(<SettingsPanel {...props} transparentFrostedEffectEnabled={false} applicationSettingsPending />)
|
||||
expect(toggle).not.toBeChecked()
|
||||
expect(toggle).toBeDisabled()
|
||||
rerender(<SettingsPanel {...props} transparentFrostedEffectEnabled />)
|
||||
rerender(<SettingsPanel {...props} transparentFrostedEffectEnabled={false} />)
|
||||
fireEvent.click(toggle)
|
||||
expect(onChange).toHaveBeenLastCalledWith(false)
|
||||
expect(onChange).toHaveBeenLastCalledWith(true)
|
||||
})
|
||||
|
||||
it.each([
|
||||
|
||||
@@ -656,7 +656,7 @@ export function SettingsPanel({
|
||||
onClearLocalData,
|
||||
onExpertsChanged = () => {},
|
||||
appearanceTheme = 'system',
|
||||
transparentFrostedEffectEnabled = false,
|
||||
transparentFrostedEffectEnabled = true,
|
||||
applicationSettingsPending = false,
|
||||
applicationSettingsLocked = false,
|
||||
applicationSettingsError,
|
||||
|
||||
@@ -59,7 +59,7 @@ const applicationPreferencesSchema = z
|
||||
.object({
|
||||
checkUpdatesOnStartup: z.boolean(),
|
||||
desktopNotificationsEnabled: z.boolean().default(true),
|
||||
transparentFrostedEffectEnabled: z.boolean().default(false),
|
||||
transparentFrostedEffectEnabled: z.boolean().default(true),
|
||||
updateSource: updateSourceSchema,
|
||||
modelDownloadSource: modelDownloadSourceSchema,
|
||||
localToolEnvironment: localToolEnvironmentSettingsSchema,
|
||||
|
||||
Reference in New Issue
Block a user