Merge pull request #3108 from github/koesie10/compare-styled

Switch to styled-components for compare components
This commit is contained in:
Koen Vlaswinkel
2023-12-06 11:57:27 +01:00
committed by GitHub
3 changed files with 28 additions and 27 deletions

View File

@@ -1,5 +1,6 @@
import * as React from "react"; import * as React from "react";
import { useState, useEffect } from "react"; import { useState, useEffect } from "react";
import { styled } from "styled-components";
import { import {
ToCompareViewMessage, ToCompareViewMessage,
@@ -11,6 +12,18 @@ import CompareTable from "./CompareTable";
import "../results/resultsView.css"; import "../results/resultsView.css";
const Header = styled.div`
display: flex;
`;
const HeaderTitle = styled.div`
margin: 0 1.5rem;
`;
const Message = styled.div`
padding: 1.5rem;
`;
export function Compare(_: Record<string, never>): JSX.Element { export function Compare(_: Record<string, never>): JSX.Element {
const [comparison, setComparison] = useState<SetComparisonsMessage | null>( const [comparison, setComparison] = useState<SetComparisonsMessage | null>(
null, null,
@@ -49,8 +62,8 @@ export function Compare(_: Record<string, never>): JSX.Element {
try { try {
return ( return (
<> <>
<div className="vscode-codeql__compare-header"> <Header>
<div className="vscode-codeql__compare-header-item">Comparing:</div> <HeaderTitle>Comparing:</HeaderTitle>
<CompareSelector <CompareSelector
availableResultSets={comparison.commonResultSetNames} availableResultSets={comparison.commonResultSetNames}
currentResultSetName={comparison.currentResultSetName} currentResultSetName={comparison.currentResultSetName}
@@ -58,11 +71,11 @@ export function Compare(_: Record<string, never>): JSX.Element {
vscode.postMessage({ t: "changeCompare", newResultSetName }) vscode.postMessage({ t: "changeCompare", newResultSetName })
} }
/> />
</div> </Header>
{hasRows ? ( {hasRows ? (
<CompareTable comparison={comparison}></CompareTable> <CompareTable comparison={comparison}></CompareTable>
) : ( ) : (
<div className="vscode-codeql__compare-message">{message}</div> <Message>{message}</Message>
)} )}
</> </>
); );

View File

@@ -17,6 +17,15 @@ const OpenButton = styled(TextButton)`
padding: 0; padding: 0;
`; `;
const Table = styled.table`
margin: 20px 0;
width: 100%;
& > tbody {
vertical-align: top;
}
`;
export default function CompareTable(props: Props) { export default function CompareTable(props: Props) {
const comparison = props.comparison; const comparison = props.comparison;
const result = props.comparison.result!; const result = props.comparison.result!;
@@ -29,7 +38,7 @@ export default function CompareTable(props: Props) {
} }
return ( return (
<table className="vscode-codeql__compare-body"> <Table>
<thead> <thead>
<tr> <tr>
<td> <td>
@@ -74,6 +83,6 @@ export default function CompareTable(props: Props) {
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </Table>
); );
} }

View File

@@ -168,27 +168,6 @@ td.vscode-codeql__path-index-cell {
opacity: 0.6; opacity: 0.6;
} }
.vscode-codeql__compare-header {
display: flex;
}
.vscode-codeql__compare-header-item {
margin: 0 1.5rem;
}
.vscode-codeql__compare-message {
padding: 1.5rem;
}
.vscode-codeql__compare-body {
margin: 20px 0;
width: 100%;
}
.vscode-codeql__compare-body > tbody {
vertical-align: top;
}
.vscode-codeql__empty-query-message { .vscode-codeql__empty-query-message {
height: 300px; height: 300px;
display: flex; display: flex;