diff --git a/scss/themes/_base.scss b/scss/themes/_base.scss index e5e5102..9558314 100644 --- a/scss/themes/_base.scss +++ b/scss/themes/_base.scss @@ -80,10 +80,12 @@ --very-deemphasized-text-color: #{rgba(#666, 0.6)}; --status-direct-background: #{darken($body-bg-color, 5%)}; + --status-active-background: #{lighten($body-bg-color, 2%)}; --main-theme-color: #{$main-theme-color}; --warning-color: #{#e01f19}; --alt-input-bg: #{rgba($main-bg-color, 0.7)}; + --muted-modal-text: #{$secondary-text-color}; --muted-modal-bg: #{transparent}; --muted-modal-focus: #{#999}; --muted-modal-hover: #{rgba(255, 255, 255, 0.2)}; diff --git a/scss/themes/_dark.scss b/scss/themes/_dark.scss index ad554cf..4aa55e3 100644 --- a/scss/themes/_dark.scss +++ b/scss/themes/_dark.scss @@ -16,6 +16,7 @@ --very-deemphasized-text-color: #{lighten($main-bg-color, 32%)}; --status-direct-background: #{darken($body-bg-color, 5%)}; + --status-active-background: #{lighten($body-bg-color, 10%)}; --main-theme-color: #{$main-theme-color}; --warning-color: #{#c7423d}; --alt-input-bg: #{rgba($main-bg-color, 0.7)}; diff --git a/src/routes/_components/DynamicPageBanner.html b/src/routes/_components/DynamicPageBanner.html index 84df219..4ab961b 100644 --- a/src/routes/_components/DynamicPageBanner.html +++ b/src/routes/_components/DynamicPageBanner.html @@ -10,8 +10,9 @@ + on:click|preventDefault="onGoBack()">Back + \ No newline at end of file + diff --git a/src/routes/_components/NavItem.html b/src/routes/_components/NavItem.html index e7e8db4..ab2ada6 100644 --- a/src/routes/_components/NavItem.html +++ b/src/routes/_components/NavItem.html @@ -156,7 +156,7 @@ diff --git a/src/routes/_components/dialog/asyncDialogs.js b/src/routes/_components/dialog/asyncDialogs.js index be9b1dc..5d66574 100644 --- a/src/routes/_components/dialog/asyncDialogs.js +++ b/src/routes/_components/dialog/asyncDialogs.js @@ -32,4 +32,8 @@ export const importShowVideoDialog = () => import( export const importShowCopyDialog = () => import( /* webpackChunkName: 'showCopyDialog' */ './creators/showCopyDialog' - ).then(mod => mod.default) \ No newline at end of file + ).then(mod => mod.default) + +export const importShowShortcutHelpDialog = () => import( + /* webpackChunkName: 'showShortcutHelpDialog' */ './creators/showShortcutHelpDialog' + ).then(mod => mod.default) diff --git a/src/routes/_components/dialog/components/ModalDialog.html b/src/routes/_components/dialog/components/ModalDialog.html index 69978cc..a8e79ce 100644 --- a/src/routes/_components/dialog/components/ModalDialog.html +++ b/src/routes/_components/dialog/components/ModalDialog.html @@ -24,6 +24,7 @@ + diff --git a/src/routes/_components/dialog/creators/showShortcutHelpDialog.js b/src/routes/_components/dialog/creators/showShortcutHelpDialog.js new file mode 100644 index 0000000..1b7effe --- /dev/null +++ b/src/routes/_components/dialog/creators/showShortcutHelpDialog.js @@ -0,0 +1,14 @@ +import ShortcutHelpDialog from '../components/ShortcutHelpDialog.html' +import { createDialogElement } from '../helpers/createDialogElement' +import { createDialogId } from '../helpers/createDialogId' + +export default function showShortcutHelpDialog (options) { + let dialog = new ShortcutHelpDialog({ + target: createDialogElement(), + data: Object.assign({ + id: createDialogId(), + label: 'shortcut help dialog' + }, options) + }) + dialog.show() +} diff --git a/src/routes/_components/list/List.html b/src/routes/_components/list/List.html index 67872ff..7b814d4 100644 --- a/src/routes/_components/list/List.html +++ b/src/routes/_components/list/List.html @@ -10,6 +10,7 @@ /> {/each} + \ No newline at end of file + diff --git a/src/routes/_components/list/ListItem.html b/src/routes/_components/list/ListItem.html index d67b63c..bea7064 100644 --- a/src/routes/_components/list/ListItem.html +++ b/src/routes/_components/list/ListItem.html @@ -4,5 +4,14 @@ virtualProps={props} virtualIndex={index} virtualLength={length} + virtualKey={key} + active={active} /> + diff --git a/src/routes/_components/list/listStore.js b/src/routes/_components/list/listStore.js index 0668c8d..2ee464a 100644 --- a/src/routes/_components/list/listStore.js +++ b/src/routes/_components/list/listStore.js @@ -8,6 +8,7 @@ class ListStore extends RealmStore { const listStore = new ListStore() +listStore.computeForRealm('activeItem', null) listStore.computeForRealm('intersectionStates', {}) if (process.browser && process.env.NODE_ENV !== 'production') { diff --git a/src/routes/_components/shortcut/ScrollListShortcuts.html b/src/routes/_components/shortcut/ScrollListShortcuts.html new file mode 100644 index 0000000..2ded318 --- /dev/null +++ b/src/routes/_components/shortcut/ScrollListShortcuts.html @@ -0,0 +1,115 @@ + diff --git a/src/routes/_components/shortcut/Shortcut.html b/src/routes/_components/shortcut/Shortcut.html new file mode 100644 index 0000000..790b6cd --- /dev/null +++ b/src/routes/_components/shortcut/Shortcut.html @@ -0,0 +1,25 @@ + diff --git a/src/routes/_components/status/Notification.html b/src/routes/_components/status/Notification.html index 6a26137..0864c66 100644 --- a/src/routes/_components/status/Notification.html +++ b/src/routes/_components/status/Notification.html @@ -1,9 +1,9 @@ {#if status} {:else} -
\ No newline at end of file + diff --git a/src/routes/_components/status/Status.html b/src/routes/_components/status/Status.html index 6d26c80..f4a6769 100644 --- a/src/routes/_components/status/Status.html +++ b/src/routes/_components/status/Status.html @@ -35,6 +35,9 @@ {/if}
+{#if shortcutScope} + +{/if} \ No newline at end of file + diff --git a/src/routes/_components/timeline/NotificationVirtualListItem.html b/src/routes/_components/timeline/NotificationVirtualListItem.html index eb96ddb..eaf1129 100644 --- a/src/routes/_components/timeline/NotificationVirtualListItem.html +++ b/src/routes/_components/timeline/NotificationVirtualListItem.html @@ -5,6 +5,7 @@ focusSelector={virtualProps.focusSelector} index={virtualIndex} length={virtualLength} + {active} on:recalculateHeight /> \ No newline at end of file + diff --git a/src/routes/_components/timeline/StatusVirtualListItem.html b/src/routes/_components/timeline/StatusVirtualListItem.html index eede316..228b47c 100644 --- a/src/routes/_components/timeline/StatusVirtualListItem.html +++ b/src/routes/_components/timeline/StatusVirtualListItem.html @@ -2,8 +2,10 @@ timelineType={virtualProps.timelineType} timelineValue={virtualProps.timelineValue} focusSelector={virtualProps.focusSelector} + shortcutScope={virtualKey} index={virtualIndex} length={virtualLength} + active={active} on:recalculateHeight /> \ No newline at end of file + diff --git a/src/routes/_components/virtualList/VirtualList.html b/src/routes/_components/virtualList/VirtualList.html index f8f759f..f82b3d0 100644 --- a/src/routes/_components/virtualList/VirtualList.html +++ b/src/routes/_components/virtualList/VirtualList.html @@ -18,6 +18,8 @@ {/if} + visibleItem.key} />