mirror of
https://github.com/roleypoly/roleypoly.git
synced 2025-04-24 11:29:12 +00:00
56 lines
1.3 KiB
TypeScript
56 lines
1.3 KiB
TypeScript
import * as React from 'react';
|
|
import styled from 'styled-components';
|
|
import { onDesktop, onTablet } from './Breakpoints';
|
|
import { useBreakpointContext } from './Context';
|
|
|
|
const DebuggerPosition = styled.div`
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
font-family: monospace;
|
|
& > div {
|
|
display: flex;
|
|
}
|
|
`;
|
|
|
|
const OnSmallScreen = styled.div`
|
|
display: block;
|
|
`;
|
|
|
|
const OnTablet = styled.div`
|
|
display: none;
|
|
${onTablet(`display: block;`)}
|
|
`;
|
|
|
|
const OnDesktop = styled.div`
|
|
display: none;
|
|
${onDesktop`display: block;`}
|
|
`;
|
|
|
|
const CSSBreakpointDebugger = () => (
|
|
<div>
|
|
<OnSmallScreen style={{ backgroundColor: 'red' }}>S</OnSmallScreen>
|
|
<OnTablet style={{ backgroundColor: 'green' }}>T</OnTablet>
|
|
<OnDesktop style={{ backgroundColor: 'blue' }}>D</OnDesktop>
|
|
</div>
|
|
);
|
|
|
|
const JSBreakpointDebugger = () => {
|
|
const {
|
|
screenSize: { onTablet, onDesktop, onSmallScreen },
|
|
} = useBreakpointContext();
|
|
|
|
return (
|
|
<div>
|
|
{onSmallScreen && <div style={{ backgroundColor: 'red' }}>S</div>}
|
|
{onTablet && <div style={{ backgroundColor: 'green' }}>T</div>}
|
|
{onDesktop && <div style={{ backgroundColor: 'blue' }}>D</div>}
|
|
</div>
|
|
);
|
|
};
|
|
export const BreakpointDebugTool = () => (
|
|
<DebuggerPosition>
|
|
<JSBreakpointDebugger />
|
|
<CSSBreakpointDebugger />
|
|
</DebuggerPosition>
|
|
);
|