pinafore/src/routes/_components/compose/ComposeButton.html

79 lines
1.9 KiB
HTML
Raw Normal View History

<div class="compose-box-button-halo {sticky ? 'compose-box-button-halo-sticky' : ''}">
2018-03-27 09:02:55 +02:00
<button class="primary compose-box-button"
{disabled}
aria-label={sticky ? 'Compose' : 'Toot!'}
2018-03-27 09:02:55 +02:00
on:click>
<span class={$postingStatus || sticky ? 'hidden' : ''}>
2018-03-27 09:02:55 +02:00
Toot!
</span>
2018-03-28 17:45:58 +02:00
<div class="compose-box-button-spinner"
2018-03-27 09:02:55 +02:00
aria-hidden="true">
<SvgIcon className="compose-box-button-svg {$postingStatus ? 'spin' : 'hidden'}"
href="#fa-spinner" />
2018-03-27 09:02:55 +02:00
</div>
<div class="compose-box-button-compose {sticky ? '' : 'hidden'}"
2018-03-27 09:02:55 +02:00
aria-hidden="true">
<SvgIcon className="compose-box-button-svg"
href="#fa-pencil" />
2018-03-27 09:02:55 +02:00
</div>
</button>
</div>
2018-02-27 07:22:56 +01:00
<style>
2018-03-27 09:02:55 +02:00
.compose-box-button-halo {
border-radius: 2px;
margin: 5px 15px 15px 5px;
2018-03-27 18:38:19 +02:00
pointer-events: auto;
2018-03-27 09:02:55 +02:00
}
.compose-box-button-halo-sticky {
background-color: var(--compose-button-halo);
}
2018-02-27 07:22:56 +01:00
.compose-box-button {
grid-area: button;
justify-self: right;
text-transform: uppercase;
2018-03-05 01:27:15 +01:00
position: relative;
2018-03-27 09:02:55 +02:00
margin: 5px;
2018-03-27 18:38:19 +02:00
pointer-events: auto;
2018-03-05 01:27:15 +01:00
}
2018-03-27 09:02:55 +02:00
.compose-box-button-spinner, .compose-box-button-compose {
2018-03-05 01:27:15 +01:00
position: absolute;
display: flex;
justify-content: center;
align-items: center;
z-index: 10;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
:global(.compose-box-button-svg) {
2018-03-05 01:27:15 +01:00
width: 24px;
height: 24px;
fill: var(--button-primary-text);
2018-02-27 07:22:56 +01:00
}
2018-03-27 09:02:55 +02:00
@media (max-width: 767px) {
.compose-box-button-halo {
margin: 5px;
}
.compose-box-button {
margin: 5px;
}
}
2018-02-27 07:22:56 +01:00
</style>
<script>
import SvgIcon from '../SvgIcon.html'
2018-02-27 07:22:56 +01:00
import { store } from '../../_store/store'
export default {
store: () => store,
computed: {
disabled: ({ $postingStatus, overLimit }) => $postingStatus || overLimit
},
components: {
SvgIcon
2018-02-27 07:22:56 +01:00
}
}
</script>