mirror of
https://github.com/voideditor/void
synced 2026-05-24 09:58:23 +00:00
sync fast apply to chat
This commit is contained in:
parent
fa43a9f937
commit
8f3a752562
3 changed files with 31 additions and 6 deletions
|
|
@ -444,11 +444,11 @@ export const FeaturesTab = () => {
|
||||||
|
|
||||||
<h2 className={`text-3xl mt-12`}>Feature Options</h2>
|
<h2 className={`text-3xl mt-12`}>Feature Options</h2>
|
||||||
<ErrorBoundary>
|
<ErrorBoundary>
|
||||||
<div className='flex gap-x-4 items-start justify-around mt-4 mb-16'>
|
<div className='flex items-start justify-around mt-4 mb-16 gap-x-8'>
|
||||||
<div className='w-full'>
|
<div className='w-full'>
|
||||||
<h4 className={`text-base`}>{displayInfoOfFeatureName('Autocomplete')}</h4>
|
<h4 className={`text-base`}>{displayInfoOfFeatureName('Autocomplete')}</h4>
|
||||||
<div className='text-sm italic text-void-fg-3 my-1'>Experimental. Only works with models that support FIM.</div>
|
<div className='text-sm italic text-void-fg-3 my-1'>Experimental. Only works with models that support FIM.</div>
|
||||||
<div className='flex items-center gap-x-2'>
|
<div className='flex items-center gap-x-2 my-1'>
|
||||||
<VoidSwitch
|
<VoidSwitch
|
||||||
size='xs'
|
size='xs'
|
||||||
value={voidSettingsState.globalSettings.enableAutocomplete}
|
value={voidSettingsState.globalSettings.enableAutocomplete}
|
||||||
|
|
@ -457,15 +457,27 @@ export const FeaturesTab = () => {
|
||||||
<span className='text-void-fg-3 text-xs pointer-events-none'>{voidSettingsState.globalSettings.enableAutocomplete ? 'Enabled' : 'Disabled'}</span>
|
<span className='text-void-fg-3 text-xs pointer-events-none'>{voidSettingsState.globalSettings.enableAutocomplete ? 'Enabled' : 'Disabled'}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className={!voidSettingsState.globalSettings.enableAutocomplete ? 'hidden' : ''}>
|
<div className={`my-1 ${!voidSettingsState.globalSettings.enableAutocomplete ? 'hidden' : ''}`}>
|
||||||
<ModelDropdown featureName={'Autocomplete'} />
|
<ModelDropdown featureName={'Autocomplete'} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className='w-full'>
|
<div className='w-full'>
|
||||||
<h4 className={`text-base`}>{displayInfoOfFeatureName('Apply')}</h4>
|
<h4 className={`text-base`}>{displayInfoOfFeatureName('Apply')}</h4>
|
||||||
<div className='text-sm italic text-void-fg-3 my-1'>We recommend using Claude 3.7 or GPT 4o.</div>
|
<div className='text-sm italic text-void-fg-3 my-1'>If you customize this, we recommend using Claude 3.7 or DeepSeek R1.</div>
|
||||||
<ModelDropdown featureName={'Apply'} />
|
<div className='flex items-center gap-x-2 my-1'>
|
||||||
|
<VoidSwitch
|
||||||
|
size='xs'
|
||||||
|
value={!voidSettingsState.globalSettings.syncFastApplyToChat}
|
||||||
|
onChange={(newVal) => voidSettingsService.setGlobalSetting('syncFastApplyToChat', !newVal)}
|
||||||
|
/>
|
||||||
|
<span className='text-void-fg-3 text-xs pointer-events-none'>{voidSettingsState.globalSettings.syncFastApplyToChat ? 'Sync with Chat' : 'Use Another Model'}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={`my-1 ${voidSettingsState.globalSettings.syncFastApplyToChat ? 'hidden' : ''}`}>
|
||||||
|
<ModelDropdown featureName={'Apply'} />
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -273,6 +273,13 @@ class VoidSettingsService extends Disposable implements IVoidSettingsService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private _onUpdate_syncFastApplyToChat() {
|
||||||
|
// if sync is turned on, sync (call this whenever Chat model or !!sync changes)
|
||||||
|
if (this.state.globalSettings.syncFastApplyToChat) {
|
||||||
|
this.setModelSelectionOfFeature('Apply', deepClone(this.state.modelSelectionOfFeature['Chat']))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
setGlobalSetting: SetGlobalSettingFn = async (settingName, newVal) => {
|
setGlobalSetting: SetGlobalSettingFn = async (settingName, newVal) => {
|
||||||
const newState: VoidSettingsState = {
|
const newState: VoidSettingsState = {
|
||||||
...this.state,
|
...this.state,
|
||||||
|
|
@ -285,6 +292,8 @@ class VoidSettingsService extends Disposable implements IVoidSettingsService {
|
||||||
await this._storeState()
|
await this._storeState()
|
||||||
this._onDidChangeState.fire()
|
this._onDidChangeState.fire()
|
||||||
|
|
||||||
|
// hooks
|
||||||
|
this._onUpdate_syncFastApplyToChat()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -301,6 +310,9 @@ class VoidSettingsService extends Disposable implements IVoidSettingsService {
|
||||||
|
|
||||||
await this._storeState()
|
await this._storeState()
|
||||||
this._onDidChangeState.fire()
|
this._onDidChangeState.fire()
|
||||||
|
|
||||||
|
// hooks
|
||||||
|
if (featureName === 'Chat') { this._onUpdate_syncFastApplyToChat() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -385,13 +385,14 @@ export type GlobalSettings = {
|
||||||
autoRefreshModels: boolean;
|
autoRefreshModels: boolean;
|
||||||
aiInstructions: string;
|
aiInstructions: string;
|
||||||
enableAutocomplete: boolean;
|
enableAutocomplete: boolean;
|
||||||
|
syncFastApplyToChat: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const defaultGlobalSettings: GlobalSettings = {
|
export const defaultGlobalSettings: GlobalSettings = {
|
||||||
autoRefreshModels: true,
|
autoRefreshModels: true,
|
||||||
aiInstructions: '',
|
aiInstructions: '',
|
||||||
enableAutocomplete: false,
|
enableAutocomplete: false,
|
||||||
|
syncFastApplyToChat: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
export type GlobalSettingName = keyof GlobalSettings
|
export type GlobalSettingName = keyof GlobalSettings
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue