Improve gradient-colored name parsing in ChannelListComponent and add scroll support in the channel list UI.
This commit is contained in:
parent
73ea715b01
commit
6a52d27c09
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -93,3 +93,4 @@ liquibase*.properties
|
||||||
node
|
node
|
||||||
|
|
||||||
.env
|
.env
|
||||||
|
virtual_view/*
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
<div class="channel-list">
|
<div class="channel-list">
|
||||||
<p>Channels</p>
|
<p>Channels</p>
|
||||||
|
<div class="scroll">
|
||||||
@for (group of groupedChannels(); track group.type) {
|
@for (group of groupedChannels(); track group.type) {
|
||||||
<p class="channel-group-title" (click)="toggleGroup(group.type)">
|
<p class="channel-group-title" (click)="toggleGroup(group.type)">
|
||||||
{{ group.type }} {{ collapsedGroups().has(group.type) ? '▼' : '▲' }}
|
{{ group.type }} {{ collapsedGroups().has(group.type) ? '▼' : '▲' }}
|
||||||
|
|
@ -23,4 +24,5 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -45,3 +45,7 @@
|
||||||
user-select: none;
|
user-select: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.scroll {
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ export class ChannelListComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected parseColoredName(name: string): ColoredNameSegment[] {
|
protected parseColoredName(name: string): ColoredNameSegment[] {
|
||||||
const markerRegex = /\{#([0-9a-fA-F]{6})([<>]?)}/g;
|
const markerRegex = /\{#([0-9a-fA-F]{6})(<>|[<>]?)}/g;
|
||||||
const segments: ColoredNameSegment[] = [];
|
const segments: ColoredNameSegment[] = [];
|
||||||
let currentColor: string | undefined;
|
let currentColor: string | undefined;
|
||||||
let gradientStartColor: string | undefined;
|
let gradientStartColor: string | undefined;
|
||||||
|
|
@ -94,6 +94,13 @@ export class ChannelListComponent {
|
||||||
currentColor = markerColor;
|
currentColor = markerColor;
|
||||||
gradientStartColor = undefined;
|
gradientStartColor = undefined;
|
||||||
gradientStartSegmentIndex = undefined;
|
gradientStartSegmentIndex = undefined;
|
||||||
|
} else if (markerType === '<>') {
|
||||||
|
if (gradientStartColor !== undefined && gradientStartSegmentIndex !== undefined) {
|
||||||
|
this.applyGradient(segments, gradientStartSegmentIndex, gradientStartColor, markerColor);
|
||||||
|
}
|
||||||
|
currentColor = markerColor;
|
||||||
|
gradientStartColor = markerColor;
|
||||||
|
gradientStartSegmentIndex = segments.length;
|
||||||
} else {
|
} else {
|
||||||
currentColor = markerColor;
|
currentColor = markerColor;
|
||||||
gradientStartColor = undefined;
|
gradientStartColor = undefined;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user