feat: The Big One UI #47
@@ -38,6 +38,10 @@
|
|||||||
border: 2px solid currentColor;
|
border: 2px solid currentColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.warning-group-header {
|
||||||
|
background: ButtonFace;
|
||||||
|
}
|
||||||
|
|
||||||
.warnings-list {
|
.warnings-list {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ export function WarningsSidebar() {
|
|||||||
? warnings
|
? warnings
|
||||||
: warnings.filter(w => w.severity === severityFilter);
|
: warnings.filter(w => w.severity === severityFilter);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<aside className={styles.warningsSidebar}>
|
<aside className={styles.warningsSidebar}>
|
||||||
<WarningsHeader
|
<WarningsHeader
|
||||||
@@ -67,6 +70,11 @@ function WarningsHeader({
|
|||||||
|
|
||||||
|
|
||||||
function WarningsList(props: { warnings: EditorWarning[] }) {
|
function WarningsList(props: { warnings: EditorWarning[] }) {
|
||||||
|
const splitWarnings = {
|
||||||
|
global: props.warnings.filter(w => w.scope.id === globalWarning),
|
||||||
|
other: props.warnings.filter(w => w.scope.id !== globalWarning),
|
||||||
|
}
|
||||||
|
|
||||||
if (props.warnings.length === 0) {
|
if (props.warnings.length === 0) {
|
||||||
return (
|
return (
|
||||||
<div className={styles.warningsEmpty}>
|
<div className={styles.warningsEmpty}>
|
||||||
@@ -74,11 +82,44 @@ function WarningsList(props: { warnings: EditorWarning[] }) {
|
|||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
if (splitWarnings.global.length === 0) {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<div className={"warningGroup"}>
|
||||||
|
<div className={styles.warningGroupHeader}>global:</div>
|
||||||
|
<div className={styles.warningsEmpty}>
|
||||||
|
No global warnings!
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className={"warningGroup"}>
|
||||||
|
<div className={styles.warningGroupHeader}>other:</div>
|
||||||
|
<div className={styles.warningsList}>
|
||||||
|
{splitWarnings.other.map((warning) => (
|
||||||
|
<WarningListItem warning={warning} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<div className={styles.warningsList}>
|
<div>
|
||||||
{props.warnings.map((warning) => (
|
<div className={"warningGroup"}>
|
||||||
<WarningListItem warning={warning} />
|
<div className={styles.warningGroupHeader}>global:</div>
|
||||||
))}
|
<div className={styles.warningsList}>
|
||||||
|
{splitWarnings.global.map((warning) => (
|
||||||
|
<WarningListItem warning={warning} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className={"warningGroup"}>
|
||||||
|
<div className={styles.warningGroupHeader}>other:</div>
|
||||||
|
<div className={styles.warningsList}>
|
||||||
|
{splitWarnings.other.map((warning) => (
|
||||||
|
<WarningListItem warning={warning} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user