Fix SearchModal styling
Brings it more in line with other modals
This commit is contained in:
parent
210b30ac2b
commit
d66bdc07f6
2 changed files with 44 additions and 48 deletions
|
|
@ -1,15 +1,18 @@
|
||||||
.Modal.Search {
|
.Search.Dialog {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
min-height: 420px;
|
min-height: 431px;
|
||||||
min-width: 600px;
|
width: 600px;
|
||||||
|
gap: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
#ModalHeader {
|
#Header {
|
||||||
background: $grey-90;
|
border-top-left-radius: $unit;
|
||||||
gap: $unit;
|
border-top-right-radius: $unit;
|
||||||
|
display: flex;
|
||||||
|
gap: $unit * 2.5;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: ($unit * 3) ($unit * 3) ($unit * 1.5) ($unit * 3);
|
padding: ($unit * 3) ($unit * 3) ($unit * 2) ($unit * 3);
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
|
||||||
|
|
@ -18,12 +21,6 @@
|
||||||
border: none;
|
border: none;
|
||||||
height: 42px;
|
height: 42px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
svg {
|
|
||||||
height: 24px;
|
|
||||||
width: 24px;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
label {
|
label {
|
||||||
|
|
@ -40,15 +37,16 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#Results {
|
||||||
|
margin: 0;
|
||||||
|
max-height: 330px;
|
||||||
|
padding: $unit ($unit * 1.5);
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.Search.Modal #results_container {
|
.Search.Dialog #NoResults {
|
||||||
margin: 0;
|
|
||||||
max-height: 330px;
|
|
||||||
padding: 0 12px 12px 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.Search.Modal #NoResults {
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -56,7 +54,7 @@
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.Search.Modal #NoResults h2 {
|
.Search.Dialog #NoResults h2 {
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: $font-large;
|
font-size: $font-large;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ import WeaponResult from '~components/WeaponResult'
|
||||||
import SummonResult from '~components/SummonResult'
|
import SummonResult from '~components/SummonResult'
|
||||||
|
|
||||||
import './index.scss'
|
import './index.scss'
|
||||||
import PlusIcon from '~public/icons/Add.svg'
|
import CrossIcon from '~public/icons/Cross.svg'
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
send: (object: Character | Weapon | Summon, position: number) => any
|
send: (object: Character | Weapon | Summon, position: number) => any
|
||||||
|
|
@ -115,7 +115,7 @@ const SearchModal = (props: Props) => {
|
||||||
/>
|
/>
|
||||||
})
|
})
|
||||||
|
|
||||||
return (<ul id="results_container">{elements}</ul>)
|
return (<ul id="Results">{elements}</ul>)
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderSummonSearchResults(results: { [key: string]: any }) {
|
function renderSummonSearchResults(results: { [key: string]: any }) {
|
||||||
|
|
@ -127,7 +127,7 @@ const SearchModal = (props: Props) => {
|
||||||
/>
|
/>
|
||||||
})
|
})
|
||||||
|
|
||||||
return (<ul id="results_container">{elements}</ul>)
|
return (<ul id="Results">{elements}</ul>)
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderCharacterSearchResults(results: { [key: string]: any }) {
|
function renderCharacterSearchResults(results: { [key: string]: any }) {
|
||||||
|
|
@ -139,7 +139,7 @@ const SearchModal = (props: Props) => {
|
||||||
/>
|
/>
|
||||||
})
|
})
|
||||||
|
|
||||||
return (<ul id="results_container">{elements}</ul>)
|
return (<ul id="Results">{elements}</ul>)
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderEmptyState() {
|
function renderEmptyState() {
|
||||||
|
|
@ -172,29 +172,27 @@ const SearchModal = (props: Props) => {
|
||||||
{props.children}
|
{props.children}
|
||||||
</Dialog.Trigger>
|
</Dialog.Trigger>
|
||||||
<Dialog.Portal>
|
<Dialog.Portal>
|
||||||
<div className="ModalContainer">
|
<Dialog.Content className="Search Dialog">
|
||||||
<Dialog.Content className="Search Modal">
|
<div id="Header">
|
||||||
<div id="ModalHeader">
|
<label className="search_label" htmlFor="search_input">
|
||||||
<label className="search_label" htmlFor="search_input">
|
<input
|
||||||
<input
|
autoComplete="off"
|
||||||
autoComplete="off"
|
type="text"
|
||||||
type="text"
|
name="query"
|
||||||
name="query"
|
className="Input"
|
||||||
className="Input"
|
id="search_input"
|
||||||
id="search_input"
|
ref={searchInput}
|
||||||
ref={searchInput}
|
value={query}
|
||||||
value={query}
|
placeholder={props.placeholderText}
|
||||||
placeholder={props.placeholderText}
|
onChange={inputChanged}
|
||||||
onChange={inputChanged}
|
/>
|
||||||
/>
|
</label>
|
||||||
</label>
|
<Dialog.Close className="DialogClose" onClick={resetAndClose}>
|
||||||
<Dialog.Close onClick={resetAndClose}>
|
<CrossIcon />
|
||||||
<PlusIcon />
|
</Dialog.Close>
|
||||||
</Dialog.Close>
|
</div>
|
||||||
</div>
|
{ ((Object.entries(results).length == 0) ? renderEmptyState() : renderResults()) }
|
||||||
{ ((Object.entries(results).length == 0) ? renderEmptyState() : renderResults()) }
|
</Dialog.Content>
|
||||||
</Dialog.Content>
|
|
||||||
</div>
|
|
||||||
<Dialog.Overlay className="Overlay" />
|
<Dialog.Overlay className="Overlay" />
|
||||||
</Dialog.Portal>
|
</Dialog.Portal>
|
||||||
</Dialog.Root>
|
</Dialog.Root>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue