diff --git a/src/client/HelpModal.ts b/src/client/HelpModal.ts index 0dec60f7f..e49513845 100644 --- a/src/client/HelpModal.ts +++ b/src/client/HelpModal.ts @@ -1,500 +1,290 @@ -import { LitElement, css, html } from "lit"; -import { customElement, state } from "lit/decorators.js"; +import { LitElement, html } from "lit"; +import { customElement, query } from "lit/decorators.js"; import "./components/Difficulties"; import "./components/Maps"; @customElement("help-modal") export class HelpModal extends LitElement { - @state() private isModalOpen = false; - - // Added #helpModal infront of everything to prevent leaks of css in other elements outside this one - private styles = css` - .radial-menu-image { - width: 211px; - height: 200px; - } - - #helpModal.modal-overlay { - display: none; - position: fixed; - z-index: 1000; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.5); - overflow-y: auto; - display: flex; - align-items: center; - justify-content: center; - } - - #helpModal .modal-content { - background-color: rgb(35 35 35 / 0.8); - -webkit-backdrop-filter: blur(12px); - backdrop-filter: blur(12px); - color: white; - padding: 20px; - border-radius: 8px; - width: 80%; - max-width: 1280px; - max-height: 80vh; - overflow-y: auto; - box-shadow: 0 0 40px rgba(0, 0, 0, 0.5); - border: 1px solid rgba(255, 255, 255, 0.2); - backdrop-filter: blur(8px); - position: relative; - } - - #helpModal .title { - font-size: 28px; - color: #fff; - font-weight: 600; - display: flex; - align-items: center; - justify-content: center; - padding: 0 0 0 20px; - } - - #helpModal .close { - position: sticky; - top: 0px; - right: 0px; - color: #aaa; - float: right; - font-size: 28px; - font-weight: bold; - cursor: pointer; - } - - #helpModal .close:hover, - #helpModal .close:focus { - color: white; - text-decoration: none; - cursor: pointer; - } - - #helpModal table { - border-collapse: collapse; - } - - #helpModal table, - #helpModal table th, - #helpModal table td { - border: 1px solid rgb(255 255 255 / 0.2); - } - - #helpModal table th, - #helpModal table td { - padding: 8px 16px; - } - - #helpModal table td:first-of-type { - text-align: center; - } - - #helpModal .icon { - background-color: white; - width: 32px; - height: 32px; - } - - #helpModal .city-icon { - -webkit-mask: url(/images/CityIconWhite.svg) no-repeat center / cover; - mask: url(/images/CityIconWhite.svg) no-repeat center / cover; - } - - #helpModal .defense-post-icon { - -webkit-mask: url(/images/ShieldIconWhite.svg) no-repeat center / cover; - mask: url(/images/ShieldIconWhite.svg) no-repeat center / cover; - } - - #helpModal .port-icon { - -webkit-mask: url(/images/PortIcon.svg) no-repeat center / cover; - mask: url(/images/PortIcon.svg) no-repeat center / cover; - } - - #helpModal .warship-icon { - -webkit-mask: url(/images/BattleshipIconWhite.svg) no-repeat center / - cover; - mask: url(/images/BattleshipIconWhite.svg) no-repeat center / cover; - } - - #helpModal .missile-silo-icon { - -webkit-mask: url(/images/MissileSiloIconWhite.svg) no-repeat center / - cover; - mask: url(/images/MissileSiloIconWhite.svg) no-repeat center / cover; - } - - #helpModal .sam-launcher-icon { - -webkit-mask: url(/images/SamLauncherIconWhite.svg) no-repeat center / - cover; - mask: url(/images/SamLauncherIconWhite.svg) no-repeat center / cover; - } - - #helpModal .atom-bomb-icon { - -webkit-mask: url(/images/NukeIconWhite.svg) no-repeat center / cover; - mask: url(/images/NukeIconWhite.svg) no-repeat center / cover; - } - - #helpModal .hydrogen-bomb-icon { - -webkit-mask: url(/images/MushroomCloudIconWhite.svg) no-repeat center / - cover; - mask: url(/images/MushroomCloudIconWhite.svg) no-repeat center / cover; - } - - #helpModal .mirv-icon { - -webkit-mask: url(/images/MIRVIcon.svg) no-repeat center / cover; - mask: url(/images/MIRVIcon.svg) no-repeat center / cover; - } - - #helpModal .target-icon { - -webkit-mask: url(/images/TargetIcon.svg) no-repeat center / cover; - mask: url(/images/TargetIcon.svg) no-repeat center / cover; - } - - #helpModal .alliance-icon { - -webkit-mask: url(/images/AllianceIconWhite.svg) no-repeat center / cover; - mask: url(/images/AllianceIconWhite.svg) no-repeat center / cover; - } - - #helpModal .emoji-icon { - -webkit-mask: url(/images/EmojiIconWhite.svg) no-repeat center / cover; - mask: url(/images/EmojiIconWhite.svg) no-repeat center / cover; - } - - #helpModal .betray-icon { - -webkit-mask: url(/images/TraitorIconWhite.svg) no-repeat center / cover; - mask: url(/images/TraitorIconWhite.svg) no-repeat center / cover; - } - - #helpModal .donate-icon { - -webkit-mask: url(/images/DonateIconWhite.svg) no-repeat center / cover; - mask: url(/images/DonateIconWhite.svg) no-repeat center / cover; - } - - #helpModal .build-icon { - -webkit-mask: url(/images/BuildIconWhite.svg) no-repeat center / cover; - mask: url(/images/BuildIconWhite.svg) no-repeat center / cover; - } - - #helpModal .info-icon { - -webkit-mask: url(/images/InfoIcon.svg) no-repeat center / cover; - mask: url(/images/InfoIcon.svg) no-repeat center / cover; - } - - #helpModal .boat-icon { - -webkit-mask: url(/images/BoatIcon.svg) no-repeat center / cover; - mask: url(/images/BoatIcon.svg) no-repeat center / cover; - } - - #helpModal .cancel-icon { - -webkit-mask: url(/images/XIcon.svg) no-repeat center / cover; - mask: url(/images/XIcon.svg) no-repeat center / cover; - } - - @media screen and (max-width: 768px) { - #helpModal .modal-content { - max-height: 90vh; - max-width: 100vw; - width: 100%; - } - `; + @query("o-modal") private modalEl!: HTMLElement & { + open: () => void; + close: () => void; + }; createRenderRoot() { - // Disable shadow DOM to allow Tailwind classes to work return this; } render() { return html` - -