mirror of
https://github.com/Lissy93/web-check.git
synced 2024-11-22 08:13:59 +01:00
Adds unique keys to itteratbles, remove react warn
This commit is contained in:
parent
d43a05a0ed
commit
2304aaf17c
@ -159,7 +159,7 @@ export const ExpandableRow = (props: RowProps) => {
|
||||
{ rowList?.map((row: RowProps, index: number) => {
|
||||
return (
|
||||
<SubRow key={`${row.lbl}-${index}`}>
|
||||
<span className="lbl" title={row.title}>{row.lbl}</span>
|
||||
<span className="lbl" title={row.title?.toString()}>{row.lbl}</span>
|
||||
<span className="val" title={row.val} onClick={() => copyToClipboard(row.val)}>
|
||||
{formatValue(row.val)}
|
||||
</span>
|
||||
@ -199,7 +199,7 @@ const Row = (props: RowProps) => {
|
||||
if (children) return <StyledRow key={`${lbl}-${val}`}>{children}</StyledRow>;
|
||||
return (
|
||||
<StyledRow key={`${lbl}-${val}`}>
|
||||
{ lbl && <span className="lbl" title={title}>{lbl}</span> }
|
||||
{ lbl && <span className="lbl" title={title?.toString()}>{lbl}</span> }
|
||||
<span className="val" title={val} onClick={() => copyToClipboard(val)}>
|
||||
{formatValue(val)}
|
||||
</span>
|
||||
|
@ -6,11 +6,13 @@ const BlockListsCard = (props: {data: any, title: string, actionButtons: any }):
|
||||
const blockLists = props.data.blocklists;
|
||||
return (
|
||||
<Card heading={props.title} actionButtons={props.actionButtons}>
|
||||
{ blockLists.map((blocklist: any) => (
|
||||
{ blockLists.map((blocklist: any, blockIndex: number) => (
|
||||
<Row
|
||||
title={blocklist.serverIp}
|
||||
lbl={blocklist.server}
|
||||
val={blocklist.isBlocked ? '❌ Blocked' : '✅ Not Blocked'} />
|
||||
val={blocklist.isBlocked ? '❌ Blocked' : '✅ Not Blocked'}
|
||||
key={`blocklist-${blockIndex}-${blocklist.serverIp}`}
|
||||
/>
|
||||
))}
|
||||
</Card>
|
||||
);
|
||||
|
@ -18,12 +18,12 @@ const DnsServerCard = (props: {data: any, title: string, actionButtons: any }):
|
||||
return (
|
||||
<Card heading={props.title} actionButtons={props.actionButtons} styles={cardStyles}>
|
||||
{dnsSecurity.dns.map((dns: any, index: number) => {
|
||||
return (<>
|
||||
return (<div key={`dns-${index}`}>
|
||||
{ dnsSecurity.dns.length > 1 && <Heading as="h4" size="small" color={colors.primary}>DNS Server #{index+1}</Heading> }
|
||||
<Row lbl="IP Address" val={dns.address} key={`ip-${index}`} />
|
||||
{ dns.hostname && <Row lbl="Hostname" val={dns.hostname} key={`host-${index}`} /> }
|
||||
<Row lbl="DoH Support" val={dns.dohDirectSupports ? '✅ Yes*' : '❌ No*'} key={`doh-${index}`} />
|
||||
</>);
|
||||
</div>);
|
||||
})}
|
||||
{dnsSecurity.dns.length > 0 && (<small>
|
||||
* DoH Support is determined by the DNS server's response to a DoH query.
|
||||
|
@ -13,7 +13,7 @@ span.val {
|
||||
const ServerStatusCard = (props: { data: any, title: string, actionButtons: any }): JSX.Element => {
|
||||
const serverStatus = props.data;
|
||||
return (
|
||||
<Card heading={props.title} actionButtons={props.actionButtons} styles={cardStyles}>
|
||||
<Card heading={props.title.toString()} actionButtons={props.actionButtons} styles={cardStyles}>
|
||||
<Row lbl="" val="">
|
||||
<span className="lbl">Is Up?</span>
|
||||
{ serverStatus.isUp ? <span className="val up">✅ Online</span> : <span className="val down">❌ Offline</span>}
|
||||
|
@ -52,7 +52,7 @@ const TlsCard = (props: {data: any, title: string, actionButtons: any }): JSX.El
|
||||
<Card heading={props.title} actionButtons={props.actionButtons}>
|
||||
{ cipherSuites.length && cipherSuites.map((cipherSuite: any, index: number) => {
|
||||
return (
|
||||
<ExpandableRow lbl={cipherSuite.title} val="" rowList={cipherSuite.fields} />
|
||||
<ExpandableRow key={`tls-${index}`} lbl={cipherSuite.title} val="" rowList={cipherSuite.fields} />
|
||||
);
|
||||
})}
|
||||
{ !cipherSuites.length && (
|
||||
|
@ -59,8 +59,15 @@ const TlsCard = (props: {data: any, title: string, actionButtons: any }): JSX.El
|
||||
const scanId = props.data?.id;
|
||||
return (
|
||||
<Card heading={props.title} actionButtons={props.actionButtons}>
|
||||
{clientSupport.map((support: any) => {
|
||||
return (<ExpandableRow lbl={support.title} val={support.value || '?'} rowList={support.fields} />)
|
||||
{clientSupport.map((support: any, index: number) => {
|
||||
return (
|
||||
<ExpandableRow
|
||||
key={`tls-client-${index}`}
|
||||
lbl={support.title}
|
||||
val={support.value || '?'}
|
||||
rowList={support.fields}
|
||||
/>
|
||||
)
|
||||
})}
|
||||
{ !clientSupport.length && (
|
||||
<div>
|
||||
|
@ -99,7 +99,13 @@ const TlsCard = (props: {data: any, title: string, actionButtons: any }): JSX.El
|
||||
<Card heading={props.title} actionButtons={props.actionButtons}>
|
||||
{ tlsResults.length > 0 && tlsResults.map((row: any, index: number) => {
|
||||
return (
|
||||
<Row lbl={row.lbl} val={row.val} plaintext={row.plaintext} listResults={row.list} />
|
||||
<Row
|
||||
lbl={row.lbl}
|
||||
val={row.val}
|
||||
plaintext={row.plaintext}
|
||||
listResults={row.list}
|
||||
key={`tls-issues-${index}`}
|
||||
/>
|
||||
);
|
||||
})}
|
||||
<Expandable>
|
||||
|
@ -7,6 +7,7 @@ import colors from 'styles/colors';
|
||||
interface Props {
|
||||
children: ReactNode;
|
||||
title?: string;
|
||||
key?: string;
|
||||
}
|
||||
|
||||
interface State {
|
||||
|
Loading…
Reference in New Issue
Block a user