Skip to content

Commit c117d87

Browse files
committed
add functional version gating to tab-bar and colors forms
1 parent 6217afb commit c117d87

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

src/components/forms/colors-form/colors-form.component.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Component, computed, effect, inject } from '@angular/core';
22
import { CommonModule } from '@angular/common';
33
import { FormsModule } from '@angular/forms';
44
import { ConfigStoreService } from '../../../services/config-store.service';
5+
import { KittyVersionService } from '../../../services/kitty-version.service';
56
import { ColorThemesService } from '../../../services/color-themes.service';
67
import { KittyColorConfig } from '../../../models/kitty-types';
78
import { VersionBadgeComponent } from '../../version-badge/version-badge.component';
@@ -152,7 +153,7 @@ import { VersionBadgeComponent } from '../../version-badge/version-badge.compone
152153
</div>
153154
</div>
154155
155-
<div class="border-t border-kitty-border pt-6">
156+
<div class="border-t border-kitty-border pt-6" [class.opacity-60]="!transparentBgColorsAvailable()">
156157
<div class="flex items-center gap-2 mb-1">
157158
<h3 class="text-lg font-semibold text-kitty-text">Transparent Background Colors</h3>
158159
<app-version-badge option="transparent_background_colors" />
@@ -165,6 +166,7 @@ import { VersionBadgeComponent } from '../../version-badge/version-badge.compone
165166
rows="3"
166167
class="w-full px-4 py-2 bg-kitty-bg border border-kitty-border rounded-lg text-kitty-text focus:outline-none focus:ring-2 focus:ring-kitty-primary font-mono text-sm resize-y"
167168
placeholder="#ff0000@0.5&#10;red@0.3&#10;background@0.8"
169+
[disabled]="!transparentBgColorsAvailable()"
168170
></textarea>
169171
</div>
170172
</div>
@@ -237,9 +239,11 @@ import { VersionBadgeComponent } from '../../version-badge/version-badge.compone
237239
})
238240
export class ColorsFormComponent {
239241
private readonly configStore = inject(ConfigStoreService);
242+
private readonly versionService = inject(KittyVersionService);
240243
readonly colorThemesService = inject(ColorThemesService);
241244

242245
readonly advancedMode = computed(() => this.configStore.advancedMode());
246+
readonly transparentBgColorsAvailable = computed(() => this.versionService.isOptionAvailable('transparent_background_colors'));
243247
colors: KittyColorConfig = { ...this.configStore.configState().colors };
244248
readonly colorIndices = Array.from({ length: 16 }, (_, i) => i);
245249
readonly colorNames = ['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white',

src/components/forms/tab-bar-form/tab-bar-form.component.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Component, computed, effect, inject } from '@angular/core';
22
import { CommonModule } from '@angular/common';
33
import { FormsModule } from '@angular/forms';
44
import { ConfigStoreService } from '../../../services/config-store.service';
5+
import { KittyVersionService } from '../../../services/kitty-version.service';
56
import { KittyTabBarConfig, KittyTabBarEdge } from '../../../models/kitty-types';
67
import { NumberInputComponent } from '../../shared/number-input/number-input.component';
78
import { VersionBadgeComponent } from '../../version-badge/version-badge.component';
@@ -208,7 +209,7 @@ import { VersionBadgeComponent } from '../../version-badge/version-badge.compone
208209
/>
209210
</div>
210211
211-
<div class="form-group">
212+
<div class="form-group" [class.opacity-60]="!tabTitleMaxLengthAvailable()">
212213
<label class="block text-sm font-medium text-kitty-text mb-2">
213214
Tab Title Max Length
214215
<app-version-badge option="tab_title_max_length" />
@@ -220,6 +221,7 @@ import { VersionBadgeComponent } from '../../version-badge/version-badge.compone
220221
[min]="0"
221222
[max]="100"
222223
[step]="1"
224+
[disabled]="!tabTitleMaxLengthAvailable()"
223225
/>
224226
</div>
225227
</div>
@@ -385,8 +387,10 @@ import { VersionBadgeComponent } from '../../version-badge/version-badge.compone
385387
})
386388
export class TabBarFormComponent {
387389
private readonly configStore = inject(ConfigStoreService);
390+
private readonly versionService = inject(KittyVersionService);
388391

389392
readonly advancedMode = computed(() => this.configStore.advancedMode());
393+
readonly tabTitleMaxLengthAvailable = computed(() => this.versionService.isOptionAvailable('tab_title_max_length'));
390394
tabBar: KittyTabBarConfig = { ...this.configStore.configState().tab_bar };
391395

392396
readonly tabBarEdges: KittyTabBarEdge[] = ['top', 'bottom'];

0 commit comments

Comments
 (0)