feat(dashboard): focus on member/group banner modal
This commit is contained in:
parent
08ead3d549
commit
0a048cdc32
@ -1,4 +1,5 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import { tick } from 'svelte';
|
||||||
import { Row, Col, Modal, Image, Button, CardBody, ModalHeader, ModalBody, ModalFooter, Spinner } from 'sveltestrap';
|
import { Row, Col, Modal, Image, Button, CardBody, ModalHeader, ModalBody, ModalFooter, Spinner } from 'sveltestrap';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import { toHTML } from 'discord-markdown';
|
import { toHTML } from 'discord-markdown';
|
||||||
@ -44,6 +45,10 @@
|
|||||||
let privacyOpen = false;
|
let privacyOpen = false;
|
||||||
const togglePrivacyModal = () => (privacyOpen = !privacyOpen);
|
const togglePrivacyModal = () => (privacyOpen = !privacyOpen);
|
||||||
|
|
||||||
|
async function focus(el) {
|
||||||
|
await tick();
|
||||||
|
el.focus();
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<CardBody style="border-left: 4px solid #{settings && settings.appearance.color_background ? isPage ? "" : group.color : group.color }; margin: -1rem -1.25rem">
|
<CardBody style="border-left: 4px solid #{settings && settings.appearance.color_background ? isPage ? "" : group.color : group.color }; margin: -1rem -1.25rem">
|
||||||
@ -79,7 +84,7 @@
|
|||||||
<b>Banner:</b> <Button size="sm" color="secondary" on:click={toggleBannerModal} aria-label="view group banner">View</Button>
|
<b>Banner:</b> <Button size="sm" color="secondary" on:click={toggleBannerModal} aria-label="view group banner">View</Button>
|
||||||
<Modal isOpen={bannerOpen} toggle={toggleBannerModal}>
|
<Modal isOpen={bannerOpen} toggle={toggleBannerModal}>
|
||||||
<div slot="external" on:click={toggleBannerModal} style="height: 100%; width: max-content; max-width: 100%; margin-left: auto; margin-right: auto; display: flex;">
|
<div slot="external" on:click={toggleBannerModal} style="height: 100%; width: max-content; max-width: 100%; margin-left: auto; margin-right: auto; display: flex;">
|
||||||
<Image style="display: block; margin: auto;" src={group.banner} thumbnail alt="group banner" />
|
<img class="img-thumbnail d-block m-auto" src={group.banner} tabindex={0} alt={`Group ${group.name} banner (full size)`} use:focus/>
|
||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
</Col>
|
</Col>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import { tick } from 'svelte';
|
||||||
import { Row, Col, Modal, Image, Button, CardBody, ModalHeader, ModalBody } from 'sveltestrap';
|
import { Row, Col, Modal, Image, Button, CardBody, ModalHeader, ModalBody } from 'sveltestrap';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import { toHTML } from 'discord-markdown';
|
import { toHTML } from 'discord-markdown';
|
||||||
@ -61,6 +62,10 @@
|
|||||||
|
|
||||||
$: trimmedBirthday = birthday && birthday.endsWith(', 0004') ? trimmedBirthday = birthday.replace(', 0004', '') : birthday;
|
$: trimmedBirthday = birthday && birthday.endsWith(', 0004') ? trimmedBirthday = birthday.replace(', 0004', '') : birthday;
|
||||||
|
|
||||||
|
async function focus(el) {
|
||||||
|
await tick();
|
||||||
|
el.focus();
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<CardBody style="border-left: 4px solid #{settings && settings.appearance.color_background ? isPage ? "" : member.color : member.color }; margin: -1rem -1.25rem">
|
<CardBody style="border-left: 4px solid #{settings && settings.appearance.color_background ? isPage ? "" : member.color : member.color }; margin: -1rem -1.25rem">
|
||||||
@ -106,7 +111,7 @@
|
|||||||
<b>Banner:</b> <Button size="sm" color="secondary" on:click={toggleBannerModal} aria-label="view member banner">View</Button>
|
<b>Banner:</b> <Button size="sm" color="secondary" on:click={toggleBannerModal} aria-label="view member banner">View</Button>
|
||||||
<Modal isOpen={bannerOpen} toggle={toggleBannerModal}>
|
<Modal isOpen={bannerOpen} toggle={toggleBannerModal}>
|
||||||
<div slot="external" on:click={toggleBannerModal} style="height: 100%; width: max-content; max-width: 100%; margin-left: auto; margin-right: auto; display: flex;">
|
<div slot="external" on:click={toggleBannerModal} style="height: 100%; width: max-content; max-width: 100%; margin-left: auto; margin-right: auto; display: flex;">
|
||||||
<Image style="display: block; margin: auto;" src={member.banner} thumbnail alt="Your system banner" />
|
<img class="img-thumbnail d-block m-auto" src={member.banner} tabindex={0} alt={`Member ${member.name} banner (full size)`} use:focus/>
|
||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
</Col>
|
</Col>
|
||||||
|
Loading…
Reference in New Issue
Block a user