anki/ts/change-notetype/ChangeNotetypePage.svelte
Matthias Metelka 23e6b2123e
Redesign deck options inputs (#2082)
* Create _input-mixins.scss

* Use button-mixins on more elements

* Replace <select> tag with custom Select component

* Fix RevertButton causing cursor: pointer when hidden

* Increase SaveButton chevron width

* Hide floating component box-shadow when inactive

* Rework SpinBox and move it into components

* Run eslint and prettier

* Remove leftover options prop

* Pass disabled array to EnumSelector again

* Update MapperRow.svelte

* Darken QHeaderView border color

Slipping this in without an extra PR.

* Adjust disabled color, border and cursor

* Remove redundant icon definition from stylesheets

* Fix deck options initial config

* Fix z-index issues in change notetype screen

It might be best to handle z-index locally in each user component instead of hard-coded component values.

* Give web SpinBox a horizontal design

* Give QRadioButton the same treatment as QCheckBox in #2079

* Fix unused CSS selector warning with base button-mixin

* Remove redundant import

* Fix deck options save button

* Delete input-mixins and remove unused down-arrow

* Run eslint on change-notetype

* Run eslint on components
2022-09-27 12:16:45 +10:00

62 lines
1.9 KiB
Svelte

<!--
Copyright: Ankitects Pty Ltd and contributors
License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
-->
<script lang="ts">
import { marked } from "marked";
import Col from "../components/Col.svelte";
import Container from "../components/Container.svelte";
import Row from "../components/Row.svelte";
import StickyContainer from "../components/StickyContainer.svelte";
import * as tr from "../lib/ftl";
import { ChangeNotetypeState, MapContext } from "./lib";
import Mapper from "./Mapper.svelte";
import NotetypeSelector from "./NotetypeSelector.svelte";
import StickyHeader from "./StickyHeader.svelte";
export let state: ChangeNotetypeState;
$: info = state.info;
let offset: number;
</script>
<div bind:offsetHeight={offset}>
<StickyContainer
--gutter-block="0.1rem"
--gutter-inline="0.25rem"
--sticky-borders="0 0 1px"
--z-index="4"
>
<NotetypeSelector {state} />
</StickyContainer>
</div>
<div id="scrollArea" style="--offset: {offset}px; --gutter-inline: 0.25rem;">
<Row class="gx-0" --cols={2}>
<Col --col-size={1} breakpoint="md">
<Container>
<StickyHeader {state} ctx={MapContext.Field} --z-index="2" />
<Mapper {state} ctx={MapContext.Field} />
</Container>
</Col>
<Col --col-size={1} breakpoint="md">
<Container>
<StickyHeader {state} ctx={MapContext.Template} --z-index="2" />
{#if $info.templates}
<Mapper {state} ctx={MapContext.Template} />
{:else}
<div>{@html marked(tr.changeNotetypeToFromCloze())}</div>
{/if}
</Container>
</Col>
</Row>
</div>
<style>
#scrollArea {
padding: 0;
overflow: hidden auto;
height: calc(100% - var(--offset));
}
</style>