Improve gradient-colored name parsing in ChannelListComponent and add scroll support in the channel list UI.
This commit is contained in:
@@ -93,3 +93,4 @@ liquibase*.properties
|
|||||||
node
|
node
|
||||||
|
|
||||||
.env
|
.env
|
||||||
|
virtual_view/*
|
||||||
|
|||||||
+2
@@ -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) ? '▼' : '▲' }}
|
||||||
@@ -24,3 +25,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|||||||
+4
@@ -45,3 +45,7 @@
|
|||||||
user-select: none;
|
user-select: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.scroll {
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|||||||
+8
-1
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user