Conversation
8cea2cc to
efb56f8
Compare
|
Added some design improvements to the modal. 2 big accessibility issues:
|
|
@jancborchardt Feel free to give this another test run in terms of accessibility, that should all work nicely with keyboard navigation now. There are two things missing now before we can get this merged:
|
|
@jancborchardt As mentioned there the statuses are too close. I could add a margin in the weather status but I think it's better to add it in the dashboard to make sure it's done for all future statuses. What do you think? Other detail: I set the button background in the weather status but it could be done the same way it's done for user status. |
28e51dc to
cb3bd47
Compare
I pushed a commit here to add some spacing.
I'd say we keep this in the apps, so we stay flexible in what is displayed, some might use a button others maybe just a div without any actions. |
|
Oh and as a reminder: We should put attributions for
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
fcd8403 to
e1f9322
Compare
acc0ad0 to
0f0cec8
Compare
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Julius Härtl <jus@bitgrid.net> update images Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Jan C. Borchardt <hey@jancborchardt.net>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
03b958b to
93e671e
Compare
| @@ -0,0 +1,71 @@ | |||
| // Show Dashboard background image beneath header | |||
There was a problem hiding this comment.
I admit this is not a nice approach to overwrite the global styles like this, but it is the only way in my oppinion that we can nicely adjust header icons on bright theming colors with light and dark mode from accessibility.
There was a problem hiding this comment.
It's fine, we cannot always win on this 🤷
It's also decently straightforward
| } | ||
| } | ||
|
|
||
| body.dashboard-dark:not(.dashboard-inverted) { |
There was a problem hiding this comment.
BEM syntax? 🤷
| body.dashboard-dark:not(.dashboard-inverted) { | |
| body.dashboard--dark:not(.dashboard--inverted) { |
| <a class="background filepicker" | ||
| :class="{ active: background === 'custom' }" | ||
| tabindex="0" | ||
| @click="pickFile" | ||
| @keyup.enter="pickFile" | ||
| @keyup.space="pickFile"> | ||
| {{ t('dashboard', 'Pick from files') }} | ||
| </a> | ||
| <a class="background default" | ||
| tabindex="0" | ||
| :class="{ 'icon-loading': loading === 'default', active: background === 'default' }" | ||
| @click="setDefault" | ||
| @keyup.enter="setDefault" | ||
| @keyup.space="setDefault"> | ||
| {{ t('dashboard', 'Default images') }} | ||
| </a> | ||
| <a class="background color" | ||
| :class="{ active: background === 'custom' }" | ||
| tabindex="0" | ||
| @click="pickColor" | ||
| @keyup.enter="pickColor" | ||
| @keyup.space="pickColor"> | ||
| {{ t('dashboard', 'Plain background') }} | ||
| </a> | ||
| <a v-for="shippedBackground in shippedBackgrounds" | ||
| :key="shippedBackground.name" | ||
| v-tooltip="shippedBackground.details.attribution" | ||
| :class="{ 'icon-loading': loading === shippedBackground.name, active: background === shippedBackground.name }" | ||
| tabindex="0" | ||
| class="background" | ||
| :style="{ 'background-image': 'url(' + shippedBackground.preview + ')' }" | ||
| @click="setShipped(shippedBackground.name)" | ||
| @keyup.enter="setShipped(shippedBackground.name)" | ||
| @keyup.space="setShipped(shippedBackground.name)" /> |
There was a problem hiding this comment.
Why links instead of buttons?
Buttons already have dedicated click/enter/space handlers :)
There was a problem hiding this comment.
To be fully correct, I'd say it should be a list of radio buttons, no? That way only one can be selected and we don't need to do that handling manually.
| const background = data.type === 'custom' || data.type === 'default' ? data.type : data.value | ||
| this.backgroundImage = getBackgroundUrl(background, data.version) | ||
| if (data.type === 'color') { | ||
| this.$emit('updateBackground', data) |
There was a problem hiding this comment.
| this.$emit('updateBackground', data) | |
| this.$emit('update:background', data) |
sync modifier ?
| } | ||
| const image = new Image() | ||
| image.onload = () => { | ||
| this.$emit('updateBackground', data) |
There was a problem hiding this comment.
| this.$emit('updateBackground', data) | |
| this.$emit('update:background', data) |
sync modifier ?
|
🤖 beep boop beep 🤖 Here are the logs for the failed build: Status of 31989: failureacceptance-app-files
Show full logacceptance-app-files-sharing
Show full log |
jancborchardt
left a comment
There was a problem hiding this comment.
Apart from @skjnldsv's code review, design-wise it works nicely. :)
nickvergessen
left a comment
There was a problem hiding this comment.
🦈 LGTM time to start a follow up or fix the tiny comments from skj here too
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
|
I just added a type hint and an explicit cast from int to string to make Psalm happy. Ready to be merged. |
|
Ah now i was to slow, then I'll do a follow up ;) |

Follow up to #22143
cc @jancborchardt