Commit graph

207 commits

Author SHA1 Message Date
lilia
d5431a942f Simplify and correct message metadata alignment
Match left/right adjustment on Android.
Incoming to the left, outgoing to the right.
2016-10-12 10:52:34 +09:00
lilia
657fa2725f Adjust hourglass vertical alignment 2016-10-11 22:52:40 +09:00
lilia
83d285e4ab Fix style for qr code 2016-10-05 19:11:39 +09:00
lilia
790407d42e Add qr codes 2016-10-05 19:11:39 +09:00
lilia
7fe708d195 Insert keychange advisories
On click, these open a verification panel for the relevant contact,
within this conversation.

// FREEBIE
2016-10-05 19:11:39 +09:00
lilia
4cd2c03687 Add clock svg style 2016-09-28 17:20:03 -07:00
lilia
e809a0cf8b Breakout timer rendering into its own view
Make width and height constant.
2016-09-28 17:20:03 -07:00
lilia
5f92ccd524 Render animated hourglass when messages are expiring 2016-09-28 17:20:02 -07:00
lilia
96fd017890 Support for incoming expiring messages
When initialized, or when expiration-related attributes change, expiring
messages will set timers to self-destruct. On self-destruct they trigger
'expired' events so that frontend listeners can clean up any collections
and views referencing them.

At startup, load all messages pending expiration so they can start their
timers even if they haven't been loaded in the frontend yet.

Todo: Remove expired conversation snippets from the left pane.
2016-09-28 17:20:02 -07:00
lilia
6a4b720b89 Make timestamp text selectable
Previously we only declared the message body as selectable, but Chrome's
implementation of user-select is a little quirky in that it allows
unselectable text to be copied if you select elements around it. Oddly
enough, styling the entire bubble contents as selectable, including the
timestamp, actually prevents chrome from copying the timestamp text when
it's not supposed to, i.e., when triple-clicking the message body.

Fixes #887

// FREEBIE
2016-09-10 15:02:20 -07:00
lilia
d7b6e7c26b Make group updates and other control messages selectable
// FREEBIE
2016-09-07 13:04:45 -07:00
lilia
f918142742 Fix bubble selection style and toast z-index
// FREEBIE
2016-09-01 15:13:27 -07:00
lilia
65cb7c0e9c Cleanup colors and focus/active input states
// FREEBIE
2016-08-31 15:04:02 -07:00
lilia
6c05a71424 Tune up ios bubble style
// FREEBIE
2016-08-30 18:31:02 -07:00
lilia
7b9894d688 Refactor css to support theming
Move away from inline style attributes for setting contact colors.
Apply colors by name via css classes instead. Also lays groundwork
for syncing contact colors.

// FREEBIE
2016-08-30 18:31:02 -07:00
lilia
41e4154d60 Make font sizes relative
So it's easier to adjust them globally.

// FREEBIE
2016-08-24 16:08:29 -07:00
lilia
9fa7e7f462 Remove unused view
// FREEBIE
2016-08-24 16:08:29 -07:00
lilia
4f46a164ba Add voice notes
// FREEBIE
2016-08-23 16:16:31 -07:00
bitim
1a0d2595da Committing corresponding changes to the scss files 2016-07-14 11:13:00 -07:00
lilia
f34f6eedef Add min-width on video elements
Such that all the player controls are visible.

Fixes #782

// FREEBIE
2016-06-20 11:55:00 -07:00
lilia
dea8983235 Error icons only use pointer-cursor when clickable
// FREEBIE
2016-05-26 11:00:24 -07:00
lilia
58c3fe047e Make error messages clickable
// FREEBIE
2016-05-25 20:39:43 -07:00
lilia
0d47a04815 Remove unused style
// FREEBIE
2016-05-25 20:35:56 -07:00
lilia
3217f2c0b6 Hide unregistered user errors in groups
// FREEBIE
2016-05-25 20:33:40 -07:00
lilia
b6f785737c Restyle error icons, move them outside the bubble 2016-05-25 20:32:00 -07:00
lilia
b5ddd41a5e Fix error icon
// FREEBIE
2016-04-21 18:36:07 -07:00
lilia
8200780fc2 Don't let timestamps wrap
// FREEBIE
2016-04-18 19:15:35 -07:00
lilia
ba22151a31 Unpad message-container on message detail screen
// FREEBIE
2016-04-18 19:15:35 -07:00
lilia
28c602ab85 Use button for file input / paperclip
// FREEBIE
2016-04-07 12:26:21 -07:00
lilia
e5748b974f Harmonize x/close buttons
// FREEBIE
2016-04-01 15:15:02 -07:00
lilia
6faed3d9d7 Remove unused style
// FREEBIE
2016-04-01 14:54:31 -07:00
lilia
6be7b765b2 Harmonize border radii
// FREEBIE
2016-04-01 14:24:47 -07:00
lilia
d4174b94f1 Tweak button sizes and menu style
Restore previous icon size to header buttons, add padding to accomodate
positioning.

Remove blue border from menus.

// FREEBIE
2016-04-01 14:24:41 -07:00
lilia
d8d34e7afc Icon upgrade
Also remove unused images.

// FREEBIE
2016-04-01 13:59:57 -07:00
lilia
6a9ec073c6 Decrease bubble radius
// FREEBIE
2016-04-01 12:36:50 -07:00
lilia
76652c2622 Update style and copy on key changes
// FREEBIE
2016-03-24 13:20:50 -07:00
lilia
1b6eda6a8d Tighten spacing between bubbles
// FREEBIE
2016-03-23 17:54:26 -07:00
lilia
6c35f2a010 Clean up timestamp/status alignment
// FREEBIE
2016-03-23 17:54:26 -07:00
lilia
512c5bf739 Incoming bubbles have sender's color background
// FREEBIE
2016-03-23 17:41:24 -07:00
lilia
4060221b9c Make panel scrollbar track persistent
The bar is effectively invisible, but having it present means that we
don't see a jarring change in width when the content expands into the
overflow zone and triggers the scrollbar to suddenly appear.

// FREEBIE
2016-03-23 15:28:31 -07:00
lilia
1e3e730d88 Consolidate panel container styling
Special case the main panel because it is super speshul.

// FREEBIE
2016-03-23 15:05:38 -07:00
lilia
6fe9c3f964 Nest key verification inside conflict dialogs
// FREEBIE
2016-03-23 15:04:42 -07:00
lilia
9f0bcf6ae7 Add top padding to panel containers
// FREEBIE
2016-03-23 12:59:59 -07:00
lilia
3901bcb8df Style resend button as an inline link
For messages that failed to send due to network errors, this change
allows retrying them directly from the main conversation view rather
than only from the message detail view.

// FREEBIE
2016-03-22 15:38:22 -07:00
lilia
c48484e04f Add padding to right of conversation input
// FREEBIE
2016-03-22 11:30:45 -07:00
lilia
d24eaa655a Tweak styles on key verification view
// FREEBIE
2016-03-21 18:42:05 -07:00
lilia
d3b035121d Clean up bottom bar styles
// FREEBIE
2016-03-21 17:17:39 -07:00
lilia
234f937bc7 Conversation subscreens share a header
// FREEBIE
2016-03-21 15:37:53 -07:00
lilia
3e103ffde2 Add x padding on message detail container
// FREEBIE
2016-03-21 11:08:15 -07:00
lilia
dd943163fe Increase message list padding
// FREEBIE
2016-03-21 00:25:06 -07:00
lilia
b094607e0d Highlight bottom bar when focused
// FREEBIE
2016-03-20 23:15:21 -07:00
lilia
7310afd1b4 Replace message list loading spinner with bar
// FREEBIE
2016-03-18 17:59:54 -07:00
lilia
c16356084d Align header buttons and touch up styles
// FREEBIE
2016-03-18 15:54:40 -07:00
lilia
18a5ce8e54 Restyle conversation panel
// FREEBIE
2016-03-18 13:09:45 -07:00
lilia
043a3f9609 New layout
Move the global header inside the left pane only, expand conversation
panels to full bleed, restyle conversation list items and selected state.

// FREEBIE
2016-03-18 11:30:27 -07:00
lilia
78603259c1 Center conversation tile in the main pane
Also fixes a visual bug with debug log and other overlays which wouldn't
cover the right edge of a very wide window.

// FREEBIE
2016-02-19 17:34:59 -08:00
lilia
33fde3d4e7 Dedupe modal styles
// FREEBIE
2016-02-19 17:34:59 -08:00
lilia
4ab2e25df6 Refactor Contact and Conflict views
Untangle these two views into their component parts, consolidating all
the key conflict logic in the key conflict view. Contact view now simply
renders basic contact info and miscellaneous errors but not conflicts or
message errors.

// FREEBIE
2016-02-18 12:22:43 -08:00
lilia
f221921127 Tweak conflict style
// FREEBIE
2016-02-18 12:22:42 -08:00
lilia
28c763992a Move error indicators on message bubbles
// FREEBIE
2016-02-18 12:22:42 -08:00
lilia
5340791868 Display key conflict dialog inline
One less modal.

// FREEBIE
2016-02-18 12:22:42 -08:00
lilia
ad66da9fb5 Move identity conflicts to top of message detail
Also restyle them as with network errors

// FREEBIE
2016-02-18 12:22:42 -08:00
lilia
b5058e3981 Make network errors & resend button more prominent
// FREEBIE
2016-02-18 12:22:41 -08:00
lilia
f5436a5123 Clicking on message status icon opens detail view
Additionally, hovering over it will apply cursor: pointer. Previously
only the timestamp exhibited this behavior.

// FREEBIE
2016-02-18 12:22:41 -08:00
lilia
5100cd392d Remove empty css rule
// FREEBIE
2016-02-12 17:25:18 -08:00
lilia
f1335d65f5 Fix confirmation dialog z-index
The large avatar icon on conversations was being rendered on top of the
confirmation dialog.

// FREEBIE
2016-01-26 18:23:57 -08:00
lilia
2f03768abb Reduce conversation bottom padding
Revert inadvertent visual change introduced with vertical flex styling
in 0569d4c.

// FREEBIE
2016-01-25 14:59:35 -08:00
Sam Lanning
1360349156 Consolidate .message-list styling
There was some lone .message-list styling that i've brought up to the logical
place in the stylesheet.

// FREEBIE
2016-01-25 14:37:04 -08:00
Sam Lanning
0569d4c889 Replace conversation panel js resizing with flex styling.
// FREEBIE
2016-01-25 14:37:03 -08:00
Sam Lanning
496604a448 Tidied up_conversation.scss a little for the conversation view.
// FREEBIE
2016-01-25 14:37:03 -08:00
Sam Lanning
d091c6ddda Added more gray color variables (to compensate for inconsistent compiling)
// FREEBIE
2016-01-25 14:33:38 -08:00
Sam Lanning
c4a9ac94b4 Improve Confirmation Dialog
Some basic modifications to the Confirmation Dialog:
* Always attached to <body> regardless of view that called it.
* Always centered horizontally on screen.
* A black semi-transparent overlay is now displayed over everything, and under
  the dialog.
* Various other style changes.

fixes #389

// FREEBIE
2016-01-25 14:33:38 -08:00
lilia
da8472b638 Use inherited font-family on the message input
Chrome's UA stylesheet defaults font-family to monospace on textareas.

The only other textarea at the moment is the debug log, where monospace
is actually nice to have since it's more scannable.

// FREEBIE
2016-01-19 20:17:27 -08:00
lilia
05681ce35b Don't render placeholder markup unless necessary
Rather than always rendering divs for the key and placeholder, render
the placeholder only if the key is missing.

// FREEBIE
2016-01-19 19:49:27 -08:00
jakob
6c7f2cf0fc Show help text for unknown contact identity
Adds a new message string "theirIdentityUnknown".

Fixes #576

// FREEBIE
2016-01-19 18:56:33 -08:00
lilia
881aa1685d Fix up unsupported attachment rendering
Rather than simply displaying an inactionable error, render a link that
allows the user to save the unsupported attachment.

// FREEBIE
2015-12-21 17:57:35 -08:00
lilia
0009a50d4d Clean up css style
Use a variable and remove a space.

// FREEBIE
2015-12-11 13:05:38 -08:00
Wasseranomalie
2618c8095e Let container-div fit in key-verification-window
// FREEBIE
2015-12-11 21:31:06 +01:00
lilia
adf919e0fe Make fingerprints selectable
Fixes #500
Closes #501

// FREEBIE
2015-12-11 11:13:01 -08:00
mad-de
4e416c6cbf Set textarea size to 100 % - button 2015-12-07 15:26:22 -08:00
lilia
88ec5970d5 Normalize message input font size
Fixes #465

// FREEBIE
2015-12-06 23:45:59 -08:00
lilia
68f2505996 Display phone number in conversation header
Fixes #436

// FREEBIE
2015-12-04 12:15:12 -08:00
lilia
77623dde87 Tweak breakpoint width for conversation avatar
This is the threshold window size where we toggle between large and
small avatar display in the conversation header.

// FREEBIE
2015-11-29 18:42:04 -08:00
lilia
1892eeafe0 Simplify meta/timestamp styles
// FREEBIE
2015-11-20 13:21:13 -08:00
lilia
2fc78ddd7d Fix scroll position jumping when images load
Messages with images or media were causing the scroll position to jump
around when they loaded, because rendering them changed the height of their
elements from 0 to full-height sometime after they were inserted into
the DOM.

Now when rendering attachments, we wait for them to load so they can
render at full height immediately, then warn our parent message list
before and after a potential height change, so the scroll position can
be saved and reset.

// FREEBIE
2015-11-15 15:32:35 -08:00
lilia
2861fa26a7 Implement infinite scrolling message lists
Only load the most recent messages when initially rendering a
conversation. Scrolling to the top of a message list loads older
messages.

This required some slight refactoring of how we insert message elements
into the dom. If the message is added to the end of the collection,
append it at the end. Otherwise, assume it is an older message and
prepend it.

When adding elements to the top, reset the scrollPosition to its
previous distance from scrollHeight. This keeps the current set of
elements fixed in the viewport.

// FREEBIE
2015-11-15 14:56:58 -08:00
lilia
832f7ab643 Limit max widths of various elements
Bubbles are limited to 30em to facilitate comfortable reading length.
The width of the message list is limited to aid visual threading
of the conversation. The overall layout is restricted to 1300px and
centered if the window is much wider.

The header avatar resizes responsively to save room when the window
gets narrow

// FREEBIE
2015-11-12 11:05:22 -08:00
lilia
f860278b89 Add avatars to conversation headers
So as not to look repetitive, hide the per-message avatars in one-on-one
conversations.

// FREEBIE
2015-11-09 11:48:14 -08:00
lilia
0d5291acad Replace sinewave with ellipse
Also make sure status indicator matches timestamp color.

Fixes #393

// FREEBIE
2015-11-08 14:50:34 -08:00
lilia
334e26af13 Fix invisible message detail scrollbar
// FREEBIE
2015-11-07 23:24:28 -08:00
lilia
8a73706512 Fix container height in message detail screen
// FREEBIE
2015-11-05 14:33:01 -08:00
lilia
78a2b74297 Restyle attachment previews
Closes #380

// FREEBIE
2015-10-29 18:19:51 -07:00
lilia
cbc82a95f7 Refactor pending/sent/delivered state markup & css
No need for separate elements since we only ever display one of these
states at a time.

// FREEBIE
2015-10-28 14:13:15 -07:00
lilia
c77391b3f2 Sinewave animation for pending requests
Tryin it on for size.

// FREEBIE
2015-10-28 13:57:32 -07:00
lilia
c9e01390a7 Use check/double check for sent/delivered
// FREEBIE
2015-10-28 13:01:36 -07:00
lilia
47befdbf61 Messages bubbles with errors are clickable
For messages with errors, clicking anywhere inside the bubble takes you
to the message detail view.

// FREEBIE
2015-10-23 17:43:51 -07:00
lilia
4a9fcc38df Use cursor: pointer on image attachments
Because clicking on an image now opens it in a new browser window.

// FREEBIE
2015-10-21 10:27:17 -07:00
lilia
bf81686c6e Remove gray background from message detail
// FREEBIE
2015-10-17 12:23:12 -07:00
lilia
389b9a026d Initial restyle
Added background gradient and restyled conversation elements as floating
panels and cards.

// FREEBIE
2015-10-16 18:14:50 -07:00
lilia
a93b8cea72 Collapse multiple retry buttons
If you're going to retry one, you might as well retry everyone.

// FREEBIE
2015-10-10 16:59:52 -07:00