Commit graph

543 commits

Author SHA1 Message Date
J. Ryan Stinnett
2f89af4fa0 Update login header text 2019-01-23 15:50:44 -06:00
Travis Ralston
97666d39bc Bring in theme and language options 2019-01-23 14:43:45 -07:00
Travis Ralston
d55d145223 Bring over phone number management 2019-01-23 14:16:18 -07:00
David Baker
6a90625d36 Merge remote-tracking branch 'origin/experimental' into dbkr/sas 2019-01-23 17:32:18 +00:00
Travis Ralston
aa7afe819f Bring over email address management 2019-01-23 09:28:53 -07:00
Travis Ralston
fa1ce61a06 Move profile settings to a dedicated component
The tab component is getting a bit hard to navigate
2019-01-23 09:28:53 -07:00
Travis Ralston
19de6694ca Bring in the change password section
This also changes the layout slightly in the user settings, but nothing detrimental.
2019-01-23 09:28:53 -07:00
Travis Ralston
677b3ca7b5 Bring flair into the new settings
Makes the flair options in old settings look broken (cosmetic issues), but it's fine because we're ripping that out in due time.
2019-01-23 09:27:04 -07:00
Travis Ralston
f643d7a143 Finish the box for displayname/avatar changes 2019-01-23 09:27:04 -07:00
J. Ryan Stinnett
523d910c66 Use new dropdown arrow for language selector 2019-01-23 10:18:06 -06:00
J. Ryan Stinnett
05254f0e82 Tweak language selector to match design 2019-01-23 10:18:06 -06:00
J. Ryan Stinnett
f9793fa567 Extract language selector styles 2019-01-23 10:18:06 -06:00
Travis Ralston
94b1d739fb
Merge pull request #2476 from matrix-org/travis/modal-tab-settings
Basic structure for tabbed user settings
2019-01-23 07:52:44 -07:00
Travis Ralston
4c12b2c911
Merge pull request #2486 from matrix-org/travis/fix-hover
Fix AuthFooter CSS rules conflicting with anchors all over the app
2019-01-22 21:55:18 -07:00
J. Ryan Stinnett
0f3ee9c786 Extract auth header logo to new component
This will allow `riot-web` to replace only the logo, rather than the whole
header.
2019-01-22 22:41:10 -06:00
Travis Ralston
7ccf64584e Fix AuthFooter CSS rules conflicting with anchors all over the app
Fixes https://github.com/vector-im/riot-web/issues/8227
2019-01-22 21:35:36 -07:00
Travis Ralston
b83227c035
Merge pull request #2484 from matrix-org/travis/select-field
Support selects on Field
2019-01-22 20:13:06 -07:00
Travis Ralston
2b3c8c4450 Correctly form a select/input element 2019-01-22 20:03:59 -07:00
J. Ryan Stinnett
575cd1e37b Add modal look to authentication flows
This changes the auth screens to use the modal-like style of the redesign.

This does not attempt to style the actual body content of each screen.  Instead,
it covers the header area with logo, footer links, and overall modal container
only.
2019-01-22 20:44:49 -06:00
J. Ryan Stinnett
9d2bfdc0c0 Fix CSS indentation level 2019-01-22 20:44:49 -06:00
Travis Ralston
f0e8182ff3 Support selects on Field
Luckily, the styling is copy/paste capable.
2019-01-22 19:25:09 -07:00
Christopher Medlin
be94e1aebc Fix integrations error popup
Signed-off-by: Christopher Medlin <christopherjmedlin@protonmail.com>
2019-01-22 11:44:55 -08:00
Travis Ralston
0deb210fd8 Collapse DOM around tab label icon 2019-01-22 09:54:35 -07:00
Bruno Windels
5dd5f4f1dc add JumpToBottomButtom component 2019-01-22 14:49:04 +01:00
Bruno Windels
3c8bd3fc78
Merge pull request #2456 from matrix-org/bwindels/extendtypingbartiming
Avoid "jumpiness" with inline typing indicator
2019-01-22 11:04:25 +00:00
J. Ryan Stinnett
1d01ac398c Rename mx_Login_box to mx_AuthPage_modal and fold into AuthPage 2019-01-21 19:11:43 -06:00
J. Ryan Stinnett
3bd765f63f Rename LoginPage, Header, Footer views to Auth* 2019-01-21 19:11:43 -06:00
J. Ryan Stinnett
c7354f483b Rename LoginBox to AuthButtons
This component displays login and register buttons. It's currently used in the
composer when viewing a room as a guest.

The name is confusing because the login flow uses are very similarly named
`mx_Login_box` as a wrapping around forms, which is totally different than these
buttons.

Additionally, the components is moved to `views/auth` since it is very simple
and auth related.
2019-01-21 19:11:43 -06:00
Travis Ralston
b678e84272 Remove extraneous TODO comment
The thing it describes actually happened
2019-01-21 17:32:25 -07:00
Travis Ralston
15a56fa90b Improve the profile section a bit and add a highlight to the temp tab 2019-01-21 17:27:43 -07:00
Travis Ralston
c3692aa9ae Use the right icons, sizing, and font families for things 2019-01-21 16:51:43 -07:00
Travis Ralston
d907647e61 Spread the tabs out a bit 2019-01-21 16:51:43 -07:00
Travis Ralston
f1e44757f0 Very early work on the "General" tab 2019-01-21 16:51:43 -07:00
Travis Ralston
22435bf8d2 Make the dialog look more like a new dialog 2019-01-21 16:51:43 -07:00
Travis Ralston
a7e3d7df28 Make the tabs look like the design 2019-01-21 16:51:43 -07:00
Travis Ralston
15709040e7 Make tabs be their own panels 2019-01-21 16:51:43 -07:00
Travis Ralston
5adfc09237 Bring in TabbedView nearly verbatim from prior work
Sourced from https://github.com/matrix-org/matrix-react-sdk/pull/1644 and related PRs.
2019-01-21 16:51:43 -07:00
J. Ryan Stinnett
29be3ee4b5 Rename login directory to auth 2019-01-21 17:45:55 -06:00
J. Ryan Stinnett
31808c23a8 Override Firefox UA style for placeholders 2019-01-21 15:01:26 -06:00
J. Ryan Stinnett
82dee37afe Fix styling regression in member list filter 2019-01-21 13:57:33 -06:00
J. Ryan Stinnett
23b3e74c1c Change to new field focused color 2019-01-21 13:47:16 -06:00
J. Ryan Stinnett
352107352e Tweak field input padding to match label position 2019-01-21 13:47:16 -06:00
J. Ryan Stinnett
1906cfd700 Tweak field label to be vertically centered 2019-01-21 13:47:16 -06:00
Bruno Windels
5aff76b49d use css scrollbar styles to make native scrollbars prettier 2019-01-21 19:06:49 +01:00
Bruno Windels
018f3d2a5c use box-sizing: border-box to make clientHeight === actual height 2019-01-21 17:30:02 +01:00
Matthew Hodgson
efcfaed335 switch to 35px high gradients 2019-01-20 14:31:06 +00:00
J. Ryan Stinnett
efd5405267 Add a form field component for the redesign
The label moves into the border on focus and after being filled. A valid color
is applied to the label and input border. Other states like invalid can be added
later as needed.

Adapted from @ara4n's experiment into a React component with a CSS only
approach.
2019-01-19 22:13:53 -06:00
David Baker
970880737e Merge remote-tracking branch 'origin/experimental' into dbkr/sas 2019-01-18 18:33:11 +00:00
David Baker
ec2d51cbbb SAS verification screen matching design 2019-01-18 16:56:49 +00:00
J. Ryan Stinnett
20e296b20e Convert image URLs in React to require calls
This allows Webpack to insert the proper image URL after builds steps like
adding a hash and so on. The path you supply to `require` is relative to the JS
source file, just like any other would be.
2019-01-17 22:06:49 -06:00
J. Ryan Stinnett
b2387f4cff Define SCSS variable for resource dir
Adds a `$res` SCSS variable set to the path from the root SCSS file to the `res`
directory.

This is a different base path than previously used in CSS URLs (it goes up 3
directories instead of 2), because Webpack will now be resolving images relative
to the root SCSS file, so the path corresponds to a source tree location,
instead of a path in the build output tree.

Defining this variable has two main goals:

* URLs are a bit easier to read
* The path can be overridden, which is needed for external (riot-web) themes
2019-01-17 22:06:49 -06:00
J. Ryan Stinnett
7678b9c43b Lift font SCSS partials to theme root
This means that themes which include `light/css/_base.scss` (currently Dark and
Status) won't be forced to have Light's font-faces included.  This only really
matters for Status, which uses different fonts throughout.
2019-01-17 21:50:45 -06:00
J. Ryan Stinnett
9a7a8da6c0 Use font-family from theme in all components 2019-01-17 21:50:45 -06:00
Bruno Windels
23e7811f33
Merge pull request #2454 from matrix-org/bwindels/topleftcursor
Fix: show hand cursor in topleft menu so its clear you can click it
2019-01-17 16:58:12 +00:00
Bruno Windels
2bec088591 show hand cursor in topleft menu so its clear you can click it 2019-01-17 14:07:33 +01:00
Bruno Windels
921906897f css url paths are relative to location of compiled file, not project structure 2019-01-17 13:49:52 +01:00
Bruno Windels
89b576936b
Merge pull request #2448 from matrix-org/bwindels/searchmakeover
Redesign: search makeover
2019-01-17 12:12:26 +00:00
Bruno Windels
8c30d05eb8 Revert "Merge pull request #2348 from matrix-org/bwindels/roomgridview-experimental"
This reverts commit ece5cb1fcc, reversing
changes made to 64a3d2521c.
2019-01-17 10:29:37 +01:00
J. Ryan Stinnett
859f2a8646 Show spinner while waiting on status message to commit
It can take some time to actually set the status message and see it play back as
a committed event.  This adds a spinner for immediate feedback so it's clear
that something is happening.

Fixes https://github.com/vector-im/riot-web/issues/8135.
2019-01-16 09:33:39 -06:00
Matthew Hodgson
1082f548d3 hack nunito italics for now with CSS skew
fixes https://github.com/google/fonts/issues/1726
2019-01-16 12:53:46 +00:00
Bruno Windels
0229453482
Merge pull request #2440 from matrix-org/bwindels/smarterresizer
Improve room sublist resizing
2019-01-16 10:55:53 +00:00
Bruno Windels
899ee265e3 Merge branch 'experimental' into bwindels/searchmakeover 2019-01-16 11:17:38 +01:00
Bruno Windels
924e1f9e4a don't show event search results with underline/blue 2019-01-16 11:14:30 +01:00
Bruno Windels
b14d436e98 make cancel button icon slightly larger 2019-01-16 11:14:19 +01:00
J. Ryan Stinnett
807d3aba6e Use integer padding / border for avatar
It seems fractional spacing results in different behavior across browsers,
including unbalanced spacing, making the avatar appear uncentered.

Here we avoid this by using integers that seem to closely match the comps.

Fixes https://github.com/vector-im/riot-web/issues/8134.
2019-01-15 16:37:16 -06:00
Bruno Windels
c07470be7b show a spinner while searching 2019-01-15 18:45:56 +01:00
J. Ryan Stinnett
4b13774585 Revert to avatar only when custom status disabled
This returns to the previous behavior of avatar only without a button when the
custom status feature is disabled so that you don't get pointer cursor for
something that does nothing when clicked.

The avatar ring spacing is kept consistent with and without the feature enabled
by using a different class in CSS.
2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
5b88b64950 Rework custom status context menu
This updates the custom status context menu to match the latest comps.  A single
button is used for setting / clearing, depending on what is appropriate.

The state logic is also changed to depend on events and storage from js-sdk for
the committed status message.  This makes it easy to distinguish the value being
edited from what's currently committed.
2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
6597e977c8 Update context menu styling to match custom status comps 2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
eae1e4c9aa Tweak custom status avatar ring
Adjusts the appearance of the avatar ring to match the latest comps.

In addition, we now always render the surrounding button element, which
simplifies styling since the same size is now occupied both with and without the
feature.

This improves alignment between text in the composer and text in the message
history (https://github.com/vector-im/riot-web/issues/8111).
2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
7d6b996952 Tweak composer button padding so it won't affect status 2019-01-15 10:54:29 -06:00
Bruno Windels
77a62b9174 style search bar 2019-01-15 16:20:04 +01:00
Bruno Windels
1bbf1502ec Merge branch 'experimental' into bwindels/smarterresizer 2019-01-15 10:23:50 +01:00
Bruno Windels
961e0d24df flex-basis to 0 so sublists shrink/grow not-relative to their content 2019-01-14 14:41:31 +01:00
Bruno Windels
a413f358f7 normalize sizes when starting drag operation 2019-01-11 17:17:58 +01:00
J. Ryan Stinnett
35af3fc6f7 Add separate dialog for recovery method removed
The "New Recovery Method" dialog would show if either the recovery method had
been changed or removed, but the dialog text didn't make much sense for the
removed case.

This adds a separate dialog customized for the removed case.

Fixes https://github.com/vector-im/riot-web/issues/8046.
2019-01-10 15:18:57 -06:00
Erik Johnston
cbf9ff6aee Merge branch 'experimental' of github.com:matrix-org/matrix-react-sdk into erikj/state_counters 2019-01-10 16:56:47 +00:00
Bruno Windels
1a2727f0af sized items cannot grow, unsized items start with their content size and shrink from there 2019-01-10 14:03:55 +01:00
Bruno Windels
40e8e48e08 fix grid growing wider than viewport 2019-01-09 19:05:21 +01:00
Bruno Windels
ece5cb1fcc
Merge pull request #2348 from matrix-org/bwindels/roomgridview-experimental
Tiled room UI
2019-01-09 17:25:08 +00:00
J. Ryan Stinnett
79df843a6e Fix path to New Recovery Method icon 2019-01-09 06:25:35 -06:00
Bruno Windels
254427461d fix PR feedback 2019-01-09 12:48:13 +01:00
Bruno Windels
0c364510ef trying to make the left panel not grow taller than available space 2019-01-08 18:16:37 +01:00
Bruno Windels
b4197059a0 change min size to exactly one room tile + header 2019-01-08 18:16:09 +01:00
Bruno Windels
4bd6ce8e2c WIP2 for making smart resizer work, sort of works now but shows big scrollbar 2019-01-08 16:47:47 +01:00
Bruno Windels
9e67dbf008 change icon 2019-01-08 14:35:26 +01:00
Bruno Windels
7227049c2a add right panel toggle button to room header when in grid 2019-01-08 12:05:39 +01:00
David Baker
e5f74957cb
Merge pull request #2408 from matrix-org/dbkr/fix_gif_icon_on_stickers
Fix black-on-black GIF icon for stickers
2019-01-08 09:35:06 +00:00
J. Ryan Stinnett
2ff532621c Remove unbalanced padding in create key backup dialog
This padding only one side made it impossible to center things in the dialog.
Since the dialog also has nice spacing without the padding, this change removes
it.

Fixes https://github.com/vector-im/riot-web/issues/7862.
2019-01-07 17:48:10 -06:00
J. Ryan Stinnett
a1daecc249 Remove empty CSS rule 2019-01-07 14:12:32 -06:00
J. Ryan Stinnett
f60a865727 Restore room name ellipsis on overflow
Fixes vector-im/riot-web#8037.
2019-01-07 14:12:32 -06:00
J. Ryan Stinnett
7a1008f1fe Fix color for @room pills in HTML messages 2019-01-07 09:56:40 -06:00
J. Ryan Stinnett
bf87547f88 Remove unexpected underline from pills
Fixes vector-im/riot-web#8031.
2019-01-07 09:56:40 -06:00
Erik Johnston
9a5f17d0b1 Change CSS to match experimental 2019-01-07 15:21:00 +00:00
Erik Johnston
8a6e7382ae Missing newline 2019-01-07 13:52:13 +00:00
Erik Johnston
712241d710 Add simple state counters to room heading 2019-01-07 13:52:13 +00:00
David Baker
54898a6c35 Fix black-on-black GIF icon for stickers
Text colour ended up being the link colour on images because the
whole image is in an `a`, but stickers are not so it got the default
font colour, which might be black. Define an explicit colour.

Also set pointer-events: none so you can hover over the gif icon
too (I managed to make the message panel small which made the icon
cover most the image, so this prevented the gif from animating
at all).

Fixes https://github.com/vector-im/riot-web/issues/8004
2019-01-07 13:49:01 +00:00
Bruno Windels
290dc9d8fb Merge branch 'experimental' into bwindels/roomgridview-experimental 2019-01-07 14:17:57 +01:00
J. Ryan Stinnett
a7c9d4ea1f Use same link style in HTML messages
Links in HTML messages were missing the usual underline style, making them
look different from links in text messages (which already do this).

Fixes vector-im/riot-web#4655.
2019-01-04 18:32:43 -06:00
J. Ryan Stinnett
2769e68169 Give the create key backup title more space 2019-01-04 17:14:10 -06:00
J. Ryan Stinnett
97747640bb Record keys button styling tweak 2019-01-04 17:14:10 -06:00
Travis Ralston
93ea9d3617 Condense .mx_RoomTile_avatar properties
Looks like the develop->experimental merge duplicated the definition. We'll take the best of both and make it work.
2019-01-03 18:07:34 -07:00
Travis Ralston
852d6df580 Fix composer avatar being an oval when a custom status is set
Fixes this: https://t2l.io/_matrix/media/v1/download/t2l.io/0d5c7fa9a4b5bf226a020def8480a887
2019-01-03 18:06:37 -07:00
Travis Ralston
51dc1fe9bf Fix badges on room tiles not being right aligned
Thanks to Ryan for fixing this!

Problem: https://t2l.io/_matrix/media/v1/download/t2l.io/da6fccb60969da1c455630faae990881
2019-01-03 18:05:59 -07:00
J. Ryan Stinnett
920911c0a1 Room list fixes for custom status 2019-01-03 18:49:15 -06:00
Travis Ralston
ff2faf7996 Add missing CSS to dharma theme 2019-01-03 16:32:52 -07:00
Travis Ralston
8017f0a4a1 Merge remote-tracking branch 'origin/experimental' into travis/develop-for-real 2019-01-03 16:00:23 -07:00
Travis Ralston
6447a60e1f Revert "Merge pull request #2336 from matrix-org/travis/notif-button"
This reverts commit 96300b45b7.
2019-01-03 15:44:07 -07:00
David Baker
f928be6f59 Revert "Merge pull request #2395 from matrix-org/dbkr/merge_develop_experimental"
This reverts commit ad47144355.
2019-01-03 15:37:03 -07:00
David Baker
982e037822 Fix merge 2019-01-03 18:05:38 +00:00
David Baker
7d161de35b Partial merge of develop to experimental
Does not include #2336 as the file has been moved out from underneath it:
will do this separately
2019-01-03 15:02:58 +00:00
J. Ryan Stinnett
00405e7f22 Use Nunito font from the server only
There are various versions of Nunito in circulation, and some have errors in
their metrics or smaller supported character sets. To ensure all users get the
expected experience, don't allow local copies of Nunito to be used.

Fixes vector-im/riot-web#7959.
2018-12-31 12:26:35 -06:00
Nad Chishtie
5723ae6040 Defined $accent-color-alt in all themes 2018-12-20 16:06:02 +00:00
Nad Chishtie
09bf68b1bd Improved colours. 2018-12-20 12:46:43 +00:00
Nad Chishtie
42c8d43065 Lint. 2018-12-20 11:35:58 +00:00
Nad Chishtie
9b8f07c19f Don't override text colour of selected room in room list. 2018-12-20 11:35:43 +00:00
Nad Chishtie
d7473c4f4d Various colour, contrast and legibility improvements. 2018-12-20 11:35:21 +00:00
Nad Chishtie
6c2d2f60cf Polished left left panel. 2018-12-20 11:34:20 +00:00
Nad Chishtie
b61aa33e99 Tint input icon. 2018-12-20 11:33:53 +00:00
Travis Ralston
2e1e536d5c
Merge pull request #2347 from matrix-org/travis/custom-status
Custom status messages
2018-12-19 11:11:15 -07:00
J. Ryan Stinnett
24f0123ded Convert pass phrase entry to flexbox
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-19 17:46:37 +00:00
J. Ryan Stinnett
9c4ff4048a Convert show recovery key to flexbox
This allows the buttons to fit on a single line and flows a bit better at low
widths.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-19 17:46:37 +00:00
J. Ryan Stinnett
a22a9492a0 Remove duplicate CSS file for CreateKeyBackupDialog
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-19 17:46:37 +00:00
Travis Ralston
a1347add95 Merge branch 'develop' into travis/custom-status 2018-12-19 10:33:34 -07:00
Bruno Windels
f7ed1ff046 avoid buttons being deformed in collapsed state
unsure what this was doing before,
I suspect the BottomLeftMenu which is gone now.
2018-12-19 12:59:03 +01:00
Bruno Windels
b3a12867a6 remove extra blank lines 2018-12-19 12:56:08 +01:00
Bruno Windels
b826b0d998 Add redesign feedback dialog + button in tag panel 2018-12-19 12:27:05 +01:00
Bruno Windels
8b406eab3b
Merge pull request #2371 from matrix-org/bwindels/rmdot
Redesign: add badge with dot to rm button, to see it catches your eye better
2018-12-19 09:49:19 +00:00
Nad Chishtie
e09121556d Use a more sane SVG. 2018-12-19 09:28:33 +00:00
Nad Chishtie
a829bc901c Updated CSS syntax to avoid 'transparent black'. 2018-12-18 17:59:46 +00:00
Travis Ralston
ef60a34180 Clean up and follow code style 2018-12-18 10:53:37 -07:00
Bruno Windels
1d43712a8f Merge branch 'experimental' into nadonomy/icons 2018-12-18 18:22:24 +01:00
Bruno Windels
2ad9f45655 add badge with dot to rm button, so it catches your eye better 2018-12-18 17:56:05 +01:00
Nad Chishtie
074c96cd3e First pass of normalising icons. 2018-12-18 16:48:20 +00:00
Bruno Windels
6653236543
Merge pull request #2368 from matrix-org/bwindels/fixloginfield
Redesign:  Fix login field looking inline
2018-12-18 16:19:52 +00:00
Bruno Windels
c917b4038b scope default input style rules to MatrixChat 2018-12-18 17:02:48 +01:00
Bruno Windels
f0a412e721 fix docs 2018-12-18 14:32:46 +01:00
Bruno Windels
12a339fe10 change subroomlist min height, as roomtiles are smaller now 2018-12-18 14:32:26 +01:00
Bruno Windels
affe75fd3f make scroll indicator gradient smaller (40px->30px) 2018-12-18 14:31:59 +01:00
J. Ryan Stinnett
acc2e98355 Add New Recovery Method dialog
Adds a New Recovery Method dialog which is shown when key backup fails because
of a version mismatch / version not found error.

The set up button in the dialog currently only marks a device as verified (via a
verification prompt) instead of the eventual restore and cross-sign flow, since
those pieces don't exist yet.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-18 10:20:12 +00:00
Bruno Windels
0496ed535c have a bit more space between rooms 2018-12-17 14:35:11 +01:00
Bruno Windels
242b0c21ac make avatar 24px and tile height 32px 2018-12-17 14:03:48 +01:00
Bruno Windels
6c1639b2ce dont hardcode avatar container dimensions 2018-12-17 14:03:28 +01:00
Travis Ralston
7b0766a303 Apply 50% opacity to the checkmark when there is no status 2018-12-14 13:49:35 -07:00
Bruno Windels
e4d2b6f2b7 fix resize handles being too thick on edge (hopefully) 2018-12-14 17:06:00 +01:00
Bruno Windels
2afdb04db5 prevent jumping on when hovering over invited section 2018-12-14 17:05:01 +01:00
Travis Ralston
c6f35428d7 Update checkmark icon 2018-12-13 09:37:54 -07:00
J. Ryan Stinnett
15366fbb0a Change room recovery reminder button style
Change the button to a transparent background so that it's less prominent and
you focus on the primary button instead.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-13 16:36:55 +00:00
Travis Ralston
96300b45b7
Merge pull request #2336 from matrix-org/travis/notif-button
Show the number of unread notifications above the bell on the right
2018-12-13 08:16:48 -07:00
Bruno Windels
0ffd77762a make menu option look somewhat better 2018-12-13 13:02:35 +01:00