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
|
||||
|
||||
.env
|
||||
virtual_view/*
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<div class="channel-list">
|
||||
<p>Channels</p>
|
||||
<div class="scroll">
|
||||
@for (group of groupedChannels(); track group.type) {
|
||||
<p class="channel-group-title" (click)="toggleGroup(group.type)">
|
||||
{{ group.type }} {{ collapsedGroups().has(group.type) ? '▼' : '▲' }}
|
||||
|
|
@ -24,3 +25,4 @@
|
|||
}
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -45,3 +45,7 @@
|
|||
user-select: none;
|
||||
}
|
||||
}
|
||||
|
||||
.scroll {
|
||||
overflow: scroll;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ export class ChannelListComponent {
|
|||
}
|
||||
|
||||
protected parseColoredName(name: string): ColoredNameSegment[] {
|
||||
const markerRegex = /\{#([0-9a-fA-F]{6})([<>]?)}/g;
|
||||
const markerRegex = /\{#([0-9a-fA-F]{6})(<>|[<>]?)}/g;
|
||||
const segments: ColoredNameSegment[] = [];
|
||||
let currentColor: string | undefined;
|
||||
let gradientStartColor: string | undefined;
|
||||
|
|
@ -94,6 +94,13 @@ export class ChannelListComponent {
|
|||
currentColor = markerColor;
|
||||
gradientStartColor = 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 {
|
||||
currentColor = markerColor;
|
||||
gradientStartColor = undefined;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user