diff --git a/sass/_button-mixins.scss b/sass/_button-mixins.scss index 8e4c25152..054e22c93 100644 --- a/sass/_button-mixins.scss +++ b/sass/_button-mixins.scss @@ -105,8 +105,6 @@ $focus-color: var(--shadow-focus); @mixin select($with-disabled: true) { width: 100%; - white-space: nowrap; - text-overflow: ellipsis; pointer-events: all; cursor: pointer; diff --git a/sass/base.scss b/sass/base.scss index 7cfc6673c..0491a59fb 100644 --- a/sass/base.scss +++ b/sass/base.scss @@ -57,44 +57,11 @@ samp { unicode-bidi: normal !important; } -[dir="rtl"] { - .form-select { - /* flip + diff --git a/ts/change-notetype/NotetypeSelector.svelte b/ts/change-notetype/NotetypeSelector.svelte index 69035b2cb..08f05c688 100644 --- a/ts/change-notetype/NotetypeSelector.svelte +++ b/ts/change-notetype/NotetypeSelector.svelte @@ -4,7 +4,6 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html --> - + {$info.oldNotetypeName} @@ -33,13 +36,11 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html {@html arrowRightIcon} {/if} - - - + diff --git a/ts/change-notetype/SaveButton.svelte b/ts/change-notetype/SaveButton.svelte index 7b6c74906..1c3f79d8a 100644 --- a/ts/change-notetype/SaveButton.svelte +++ b/ts/change-notetype/SaveButton.svelte @@ -29,7 +29,15 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html tooltip={getPlatformString(keyCombination)} on:click={save} --border-left-radius="5px" - --border-right-radius="5px">{tr.actionsSave()} +
{tr.actionsSave()}
+ + + diff --git a/ts/components/Select.svelte b/ts/components/Select.svelte index 0f65b1b7e..fbb67227d 100644 --- a/ts/components/Select.svelte +++ b/ts/components/Select.svelte @@ -3,25 +3,48 @@ Copyright: Ankitects Pty Ltd and contributors License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html --> (showFloating = false)} let:asReference > @@ -41,7 +65,8 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html class:hover {disabled} title={tooltip} - tabindex="-1" + tabindex="0" + on:keypress={handleKey} on:mouseenter={() => (hover = true)} on:mouseleave={() => (hover = false)} on:click={() => (showFloating = !showFloating)} @@ -49,7 +74,9 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html use:asReference bind:clientWidth > - {current} +
+
{@html label}
+
{@html chevronDown} @@ -63,26 +90,42 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html diff --git a/ts/deck-options/SettingTitle.svelte b/ts/deck-options/SettingTitle.svelte index e65e23de8..f4c6907d8 100644 --- a/ts/deck-options/SettingTitle.svelte +++ b/ts/deck-options/SettingTitle.svelte @@ -10,8 +10,7 @@ .setting-title { cursor: help; &:hover { - text-decoration: underline; - text-decoration-style: dashed; + text-decoration: underline dotted var(--fg-subtle); } } diff --git a/ts/deck-options/StepsInput.svelte b/ts/deck-options/StepsInput.svelte index 139376a9d..7f3fd42c9 100644 --- a/ts/deck-options/StepsInput.svelte +++ b/ts/deck-options/StepsInput.svelte @@ -3,7 +3,6 @@ Copyright: Ankitects Pty Ltd and contributors License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html --> - + diff --git a/ts/deck-options/deck-options-base.scss b/ts/deck-options/deck-options-base.scss index b70cc6628..1c80eae33 100644 --- a/ts/deck-options/deck-options-base.scss +++ b/ts/deck-options/deck-options-base.scss @@ -14,3 +14,8 @@ $carousel-transition: 0.2s; @import "bootstrap/scss/badge"; @import "sass/bootstrap-forms"; @import "sass/bootstrap-tooltip"; + +input[type="text"] { + padding-inline: 0.5rem; + background: var(--canvas-inset); +} diff --git a/ts/import-csv/DeckSelector.svelte b/ts/import-csv/DeckSelector.svelte index 9c97e45f0..7aad42142 100644 --- a/ts/import-csv/DeckSelector.svelte +++ b/ts/import-csv/DeckSelector.svelte @@ -8,9 +8,13 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import Col from "../components/Col.svelte"; import Row from "../components/Row.svelte"; + import Select from "../components/Select.svelte"; + import SelectOption from "../components/SelectOption.svelte"; export let deckNameIds: Decks.DeckNameId[]; export let deckId: number; + + $: label = deckNameIds.find((d) => d.id === deckId)?.name.replace(/^.+::/, "..."); @@ -18,11 +22,10 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html {tr.decksDeck()} - - {#each deckNameIds as { id, name }} - + {name} {/each} - + diff --git a/ts/import-csv/DelimiterSelector.svelte b/ts/import-csv/DelimiterSelector.svelte index b5115d7b4..2e34cd47f 100644 --- a/ts/import-csv/DelimiterSelector.svelte +++ b/ts/import-csv/DelimiterSelector.svelte @@ -8,6 +8,8 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import Col from "../components/Col.svelte"; import Row from "../components/Row.svelte"; + import Select from "../components/Select.svelte"; + import SelectOption from "../components/SelectOption.svelte"; export let delimiter: ImportExport.CsvMetadata.Delimiter; export let disabled: boolean; @@ -21,6 +23,8 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html { value: Delimiter.COMMA, label: tr.importingComma() }, { value: Delimiter.SPACE, label: tr.studyingSpace() }, ]; + + $: label = delimiters.find((d) => d.value === delimiter)?.label; @@ -28,11 +32,10 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html {tr.importingFieldSeparator()} - - {#each delimiters as { value, label }} - + {label} {/each} - + diff --git a/ts/import-csv/DupeResolutionSelector.svelte b/ts/import-csv/DupeResolutionSelector.svelte index 663c83654..a5d23ee73 100644 --- a/ts/import-csv/DupeResolutionSelector.svelte +++ b/ts/import-csv/DupeResolutionSelector.svelte @@ -8,6 +8,8 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import Col from "../components/Col.svelte"; import Row from "../components/Row.svelte"; + import Select from "../components/Select.svelte"; + import SelectOption from "../components/SelectOption.svelte"; export let dupeResolution: ImportExport.CsvMetadata.DupeResolution; @@ -25,6 +27,8 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html label: tr.importingPreserve(), }, ]; + + $: label = dupeResolutions.find((r) => r.value === dupeResolution)?.label; @@ -32,11 +36,10 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html {tr.importingExistingNotes()} - - {#each dupeResolutions as { label, value }} - + {label} {/each} - + diff --git a/ts/import-csv/ImportCsvPage.svelte b/ts/import-csv/ImportCsvPage.svelte index 544889709..b8f321f36 100644 --- a/ts/import-csv/ImportCsvPage.svelte +++ b/ts/import-csv/ImportCsvPage.svelte @@ -20,7 +20,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import { getColumnOptions, getCsvMetadata } from "./lib"; import NotetypeSelector from "./NotetypeSelector.svelte"; import Preview from "./Preview.svelte"; - import StickyFooter from "./StickyFooter.svelte"; + import StickyHeader from "./StickyHeader.svelte"; import Tags from "./Tags.svelte"; export let path: string; @@ -92,6 +92,8 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html } + + @@ -128,7 +130,6 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - diff --git a/ts/import-csv/MapperRow.svelte b/ts/import-csv/MapperRow.svelte index 98c99c0f0..dfcf58b20 100644 --- a/ts/import-csv/MapperRow.svelte +++ b/ts/import-csv/MapperRow.svelte @@ -5,23 +5,28 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - {label} + {rowLabel} - - {#each columnOptions as { label, value, disabled }} - + {label} {/each} - + diff --git a/ts/import-csv/NotetypeSelector.svelte b/ts/import-csv/NotetypeSelector.svelte index 816381eb9..9c7fa0056 100644 --- a/ts/import-csv/NotetypeSelector.svelte +++ b/ts/import-csv/NotetypeSelector.svelte @@ -8,9 +8,13 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import Col from "../components/Col.svelte"; import Row from "../components/Row.svelte"; + import Select from "../components/Select.svelte"; + import SelectOption from "../components/SelectOption.svelte"; export let notetypeNameIds: Notetypes.NotetypeNameId[]; export let notetypeId: number; + + $: label = notetypeNameIds.find((n) => n.id === notetypeId)?.name; @@ -18,11 +22,10 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html {tr.notetypesNotetype()} - - {#each notetypeNameIds as { id, name }} - + {name} {/each} - + diff --git a/ts/import-csv/StickyFooter.svelte b/ts/import-csv/StickyFooter.svelte deleted file mode 100644 index d8a6a5183..000000000 --- a/ts/import-csv/StickyFooter.svelte +++ /dev/null @@ -1,59 +0,0 @@ - - - -
- - - diff --git a/ts/import-csv/StickyHeader.svelte b/ts/import-csv/StickyHeader.svelte new file mode 100644 index 000000000..a043ae35f --- /dev/null +++ b/ts/import-csv/StickyHeader.svelte @@ -0,0 +1,56 @@ + + + + + + diff --git a/ts/import-csv/import-csv-base.scss b/ts/import-csv/import-csv-base.scss index 430efe417..2d614f22d 100644 --- a/ts/import-csv/import-csv-base.scss +++ b/ts/import-csv/import-csv-base.scss @@ -14,13 +14,8 @@ } body { + height: 100vh; width: min(100vw, 70em); margin: 0 auto; - padding: 1em; - // pad out the underside of the footer - padding-bottom: 5em; -} - -html { - overflow-x: hidden; + padding: 0 1em 1em 1em; }