forked from github/plane
4c2cb2368a
* chore: store various shades of accent color * refactor: custom theme selector * refactor: custom theme selector * chore: update custom theme input labels * fix: color generator function logic * fix: accent color preloaded data * chore: new theming structure * chore: update shades calculation logic * refactor: variable names * chore: update color scheming * chore: new color scheming * refactor: themes folder structure * chore: update classnames to the new ones * chore: update static colors * chore: sidebar link colors * chore: placeholder color * chore: update border classnames
33 lines
824 B
TypeScript
33 lines
824 B
TypeScript
import React from "react";
|
|
|
|
type IssueLabelsListProps = {
|
|
labels?: (string | undefined)[];
|
|
length?: number;
|
|
showLength?: boolean;
|
|
};
|
|
|
|
export const IssueLabelsList: React.FC<IssueLabelsListProps> = ({
|
|
labels,
|
|
length = 5,
|
|
showLength = true,
|
|
}) => (
|
|
<>
|
|
{labels && (
|
|
<>
|
|
{labels.slice(0, length).map((color, index) => (
|
|
<div className={`flex h-4 w-4 rounded-full ${index ? "-ml-3.5" : ""}`}>
|
|
<span
|
|
className={`h-4 w-4 flex-shrink-0 rounded-full border border-custom-border-100
|
|
`}
|
|
style={{
|
|
backgroundColor: color && color !== "" ? color : "#000000",
|
|
}}
|
|
/>
|
|
</div>
|
|
))}
|
|
{labels.length > length ? <span>+{labels.length - length}</span> : null}
|
|
</>
|
|
)}
|
|
</>
|
|
);
|