diff --git a/src/Components/Buttons/LoseButton.tsx b/src/Components/Buttons/LoseButton.tsx new file mode 100644 index 0000000..8eb0e6f --- /dev/null +++ b/src/Components/Buttons/LoseButton.tsx @@ -0,0 +1,53 @@ +import styled, { css } from 'styled-components'; +import { Skull } from '../../Icons/generated'; +import { Rotation } from '../../Types/Player'; + +export const LoseButton = styled.button<{ rotation: Rotation }>` + position: absolute; + flex-grow: 1; + border: none; + outline: none; + cursor: pointer; + top: 25%; + right: 15%; + background-color: #43434380; + border-radius: 8px; + -webkit-touch-callout: none; + -webkit-tap-highlight-color: transparent; + user-select: none; + -moz-user-select: -moz-none; + -webkit-user-select: none; + -ms-user-select: none; + z-index: 1; + + ${(props) => { + if (props.rotation === Rotation.SideFlipped) { + return css` + right: auto; + top: 15%; + left: 27%; + rotate: ${props.rotation}deg; + `; + } else if (props.rotation === Rotation.Side) { + return css` + right: auto; + top: 15%; + left: 27%; + rotate: ${props.rotation - 180}deg; + `; + } + }} +`; + +type LoseButtonProps = { + onClick: () => void; + rotation: Rotation; +}; + +export const LoseGameButton = ({ rotation, onClick }: LoseButtonProps) => { + return ( + + + + ); +}; diff --git a/src/Components/Buttons/SettingsButton.tsx b/src/Components/Buttons/SettingsButton.tsx index bb52fec..0c738a0 100644 --- a/src/Components/Buttons/SettingsButton.tsx +++ b/src/Components/Buttons/SettingsButton.tsx @@ -18,6 +18,7 @@ export const StyledSettingsButton = styled.button<{ rotation: number }>` -moz-user-select: -moz-none; -webkit-user-select: none; -ms-user-select: none; + z-index: 1; ${(props) => { if ( props.rotation === Rotation.Side || diff --git a/src/Components/LifeCounter/LifeCounter.tsx b/src/Components/LifeCounter/LifeCounter.tsx index 00b4ab7..f864ec5 100644 --- a/src/Components/LifeCounter/LifeCounter.tsx +++ b/src/Components/LifeCounter/LifeCounter.tsx @@ -3,12 +3,12 @@ import styled, { css, keyframes } from 'styled-components'; import { theme } from '../../Data/theme'; import { Player, Rotation } from '../../Types/Player'; import LifeCounterButton from '../Buttons/LifeCounterButton'; +import { LoseGameButton } from '../Buttons/LoseButton'; import SettingsButton from '../Buttons/SettingsButton'; import CommanderDamageBar from '../Counters/CommanderDamageBar'; import ExtraCountersBar from '../Counters/ExtraCountersBar'; import { OutlinedText } from '../Misc/OutlinedText'; import PlayerMenu from '../PlayerMenu/PlayerMenu'; -import { Skull } from '../../Icons/generated'; const LifeCounterContentWrapper = styled.div<{ backgroundColor: string; @@ -181,42 +181,6 @@ export const RecentDifference = styled.span` animation: ${fadeOut} 3s 1s ease-out forwards; `; -export const LoseGameButton = styled.button<{ rotation: Rotation }>` - position: absolute; - flex-grow: 1; - border: none; - outline: none; - cursor: pointer; - top: 25%; - right: 15%; - background-color: #43434380; - border-radius: 8px; - -webkit-touch-callout: none; - -webkit-tap-highlight-color: transparent; - user-select: none; - -moz-user-select: -moz-none; - -webkit-user-select: none; - -ms-user-select: none; - - ${(props) => { - if (props.rotation === Rotation.SideFlipped) { - return css` - right: auto; - top: 15%; - left: 27%; - rotate: ${props.rotation}deg; - `; - } else if (props.rotation === Rotation.Side) { - return css` - right: auto; - top: 15%; - left: 27%; - rotate: ${props.rotation - 180}deg; - `; - } - }} -`; - interface LifeCounterProps { backgroundColor: string; player: Player; @@ -359,9 +323,7 @@ const LifeCounter = ({ - - + /> )}