Commit graph

1309 commits

Author SHA1 Message Date
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
d5dfffd9da Darken the scrollbar on hover
// FREEBIE
2016-04-21 12:06:40 -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
826d4c4301 Add magnifying glass to search field // Fixes #737
// FREEBIE
2016-04-14 11:57:56 -07:00
lilia
531d1701ef Move debug log styles to their own file
// FREEBIE
2016-04-09 21:09:16 -07:00
lilia
f3de290f7c Make debug log link focusable/selectable
Add button to open in a new tab. Stye as input group.

// FREEBIE
2016-04-09 20:53:39 -07:00
lilia
544a346b10 Remove unused file, stale comments
// FREEBIE
2016-04-09 00:20:10 -07:00
lilia
fe62d86d37 Move mixins to a separate file
// FREEBIE
2016-04-09 00:17:08 -07:00
lilia
1a06ac6ead Update install copy
// FREEBIE
2016-04-08 15:41:34 -07:00
lilia
a81ab2ca6b Apply paperclip hover state on focus
// FREEBIE
2016-04-07 13:26:02 -07:00
lilia
28c602ab85 Use button for file input / paperclip
// FREEBIE
2016-04-07 12:26:21 -07:00
lilia
4bd266521a Apply button hover effect on focus as well
// FREEBIE
2016-04-07 12:23:12 -07:00
lilia
b5a399dc55 Fix up contact list height off by 4px
Add some variables so we can actually compute this height instead of
hard coding it.

// FREEBIE
2016-04-06 17:37:37 -07:00
lilia
9aa429e18a Add frontend support for expiring releases
When a release expires, it gets a persistent banner notification to
upgrade, and an ephemeral toast warning when trying to send a message.

// FREEBIE
2016-04-03 21:11:50 -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
4f57dff1e6 Use svg for paperclip icon
// FREEBIE
2016-04-01 14:48:04 -07:00
lilia
3488e86190 Remove background color from new contacts
// FREEBIE
2016-04-01 14:24:47 -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
367a62111b Tweak conversation list active state
// FREEBIE
2016-04-01 12:36:50 -07:00
lilia
6a9ec073c6 Decrease bubble radius
// FREEBIE
2016-04-01 12:36:50 -07:00
lilia
01ca6b7c3a Vertically center contact names
For contacts/conversations without any messages, center their names
vertically in the conversation list element.

// FREEBIE
2016-04-01 11:37:25 -07:00
lilia
1aa975e199 Differentiate active vs selected conversation states
// FREEBIE
2016-04-01 11:37:25 -07:00
lilia
c3a7766dd4 Use normal font size in search bar
Also update placeholder copy to be consistent with Android.

// FREEBIE
2016-04-01 10:37:50 -07:00
lilia
d081b301d8 Clean up search outline
// FREEBIE
2016-03-27 15:30:10 -07:00
lilia
ab62900e48 Simplify menu markup, tweak styles
// FREEBIE
2016-03-24 13:20:50 -07:00
lilia
76652c2622 Update style and copy on key changes
// FREEBIE
2016-03-24 13:20:50 -07:00
lilia
3d34cdcc0c Fix border-color on inactive conversation header
// FREEBIE
2016-03-23 17:56:22 -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
af1b7552f4 Fix oddly shaped disconnected icon
// FREEBIE
2016-03-22 15:38:22 -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
2e7c7ce0cc Move back button to the left
// FREEBIE
2016-03-22 11:01:04 -07:00
lilia
2c4d2b150e Fix welcome text centering
// FREEBIE
2016-03-22 10:34:54 -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
4358bdfac7 Use url xor color on avatar, never both
Combining them often leaves a crufty colored ring on the outer edge of
the avatar image.

// FREEBIE
2016-03-21 11:07:58 -07:00
lilia
d391f07c1e Change right header color
// FREEBIE
2016-03-21 11:03:50 -07:00
lilia
dd943163fe Increase message list padding
// FREEBIE
2016-03-21 00:25:06 -07:00
lilia
f81d882213 Apply 0.5s transition on header colors
// FREEBIE
2016-03-20 23:46:31 -07:00
lilia
f72c1dff13 Adjust font colors
// FREEBIE
2016-03-20 23:36:45 -07:00
lilia
b094607e0d Highlight bottom bar when focused
// FREEBIE
2016-03-20 23:15:21 -07:00
lilia
8bb8ed8151 Change left pane header color
// FREEBIE
2016-03-20 21:01:45 -07:00
lilia
85fa71b940 Make avatar letters bigger
// FREEBIE
2016-03-18 18:02:58 -07:00
lilia
928c19a476 Tighten up left pane layout style
// FREEBIE
2016-03-18 18:02:43 -07:00
lilia
7310afd1b4 Replace message list loading spinner with bar
// FREEBIE
2016-03-18 17:59:54 -07:00
lilia
647c2761e0 Move restart button into global menu
// FREEBIE
2016-03-18 16:21:55 -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
83b25c0bfa Capitalize menu items in English
Because capitalization plays differently in other languages.

// FREEBIE
2016-02-22 15:44:40 -08:00
lilia
a962d97bfb Fix debug log submission loading UX
This flow broke a bit with transition to modal debug log.

Restructure such that the loading class can be applied to an appropriate
element inside the modal. Ensure that the input elements are hidden when
submit is clicked, the result elements are shown when the log upload is
completed.

// FREEBIE
2016-02-22 12:48:06 -08:00
lilia
7f8c76faca Make debug log as big as possible
Tweak style to make the modal reasonably wide/tall, and use flexbox
to automatically expand the textarea.

// FREEBIE
2016-02-22 12:41:49 -08:00
lilia
de745c3ba0 Fix menu overlap issue
The button for the conversation menu was rendering on top of the global
menu since the global menu was part of a position-fixed element and thus
except from the normal document flow.

// FREEBIE
2016-02-22 11:01:47 -08:00
lilia
34d50f94a9 Make window unscrollable // Fixes #692
// FREEBIE
2016-02-22 10:47:48 -08:00
lilia
f4387cc231 Remove obsolete style rules
// FREEBIE
2016-02-19 17:34:59 -08:00
lilia
bc9436f90d Capitalize menu items
// FREEBIE
2016-02-19 17:34:59 -08:00
lilia
636c0f2a60 Put debug log in a modal
Also dedupe close-button style

// FREEBIE
2016-02-19 17:34:59 -08: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
a3c6061480 Add Notification Settings
Fixes #471

// FREEBIE
2016-02-18 12:22:43 -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
4cc8e6d2ff Remove bootstrap
Once upon a time, bootstrap was used to quickly style the registration
page, and then it wasn't. The end.

// FREEBIE
2016-02-01 15:54:23 -08:00
Sam Lanning
85d6bc7533 Fix avatar floating over debug log
bug introduced in: 0569d4c

This z-index property was previously to ensure the avatar floated above message
bubbles, but the message bubbles always have enough left margin so this
property is not needed.

fixes #650

// FREEBIE
2016-01-29 14:49:11 +00: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
José Pedro Arvela
b2948e541e Remove border around window
Remove the 1px gray border around the window. This allows to the window to integrate seamlessly with custom window managers which use the background color for the titlebar.
2016-01-20 00:06:35 +00: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
7215afb6c7 Resize paperclip.png
// FREEBIE
2015-12-13 15:46:46 -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
lilia
61a57a753b Provide user feedback when number is invalid
While typing a number, the new contact element is faded out. When the
number becomes valid it is opaque. If the element is clicked while
invalid, it displays 'Invalid number' and waits for the input to change
again. A new conversation is only opened if the number is valid.

// FREEBIE
2015-12-09 18:58:52 -08:00
Jake McGinty
d914f4affe change attachment icon
// FREEBIE
2015-12-09 18:53:04 -08:00
OdysseasKr
c1300fc014 Add styling for the file input area
The file input area has a transparent border. When a file is dragged
above that area, the border turns blue. This helps the user understand
that this is the correct drop-off area.
2015-12-07 15:34:31 -08:00
mad-de
4e416c6cbf Set textarea size to 100 % - button 2015-12-07 15:26:22 -08:00
mad-de
97d8d11ae0 Set search-cancel-pointer to hand
Nicer looking and more intuitive

// FREEBIE
2015-12-07 15:18:57 -08:00
lilia
88ec5970d5 Normalize message input font size
Fixes #465

// FREEBIE
2015-12-06 23:45:59 -08:00
lilia
ae686b3984 Style search clear element
// FREEBIE
2015-12-06 20:46:05 -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
8d214b73d9 Render conversation placeholder hint in place
// FREEBIE
2015-11-28 14:42:25 -08:00
lilia
891a5e54ad Add hint for users with no groups or contacts
If you have no contacts or groups, display a hint about phone numbers.

// FREEBIE
2015-11-27 22:26:56 -08:00
lilia
152f59cc95 Restyle first run hint
// FREEBIE
2015-11-27 22:26:55 -08:00
lilia
d4e0c11ebc Show a hint on startup if the inbox is empty
Fixes #403

// FREEBIE
2015-11-27 11:36:46 -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
987c067355 Remove unused styles
// FREEBIE
2015-11-15 14:56:57 -08:00
lilia
d8318ba9bd Remove the gradient
// FREEBIE
2015-11-12 12:58:14 -08:00
lilia
393e3e1e2b Fix unread badge for longer numbers
For 2 or more digit numbers, allow the badge to expand to fit.

// FREEBIE
2015-11-12 12:54:08 -08:00
lilia
a8e02a94be Tweak selected state
// FREEBIE
2015-11-12 12:10:54 -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
16dc7abe69 Display unreadCount badges in conversation list
// FREEBIE
2015-11-09 16:59:52 -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
86d5ac7ef9 Add missed css recompile
// FREEBIE
2015-11-09 11:41:44 -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
d607996cf8 Fixes #394
👬 // FREEBIE
2015-11-07 23:24:29 -08:00
lilia
7105307dd9 Install flow accessibility tweaks
* Make everything bigger and bolder to account for inverse (light on
  dark) text.
* Give links better hover/focus state for the sake of tab navigation.

// FREEBIE
2015-11-07 23:24:29 -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
14cb6b58a2 Create install flow
* Refactor options.js into a view
* Break up install flow into a series of screens
* Remove bootstrap
* Make installer window static size, mostly to facilitate positioning

// FREEBIE
2015-11-05 13:29:26 -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
4970cbeaed Fix overlapping name and timestamp
In the conversation list, fix long conversation names overlapping with
the right-floated timestamps.

// FREEBIE
2015-10-23 15:47:32 -07:00
lilia
65231f4864 Shorten the search box
This keeps it the same width as the conversation list items.
Also make those overflow-y: scroll so that they are consistent
width, whether or not they are currently overflowing.

// FREEBIE
2015-10-23 15:44:03 -07:00
lilia
5a8787f91a More small tweaks
Lighten last-message color for both read/unread states.
Keep bold font weight on last-message for unread state.
Bring timestamp inward a bit

// FREEBIE
2015-10-23 15:43:29 -07:00
Odysseas
cafbc0f5df Tweak conversation list style
Styled the conversation list items so that:
 - Timestamp is on the same line as the name
 - The message text on an unread conversation is ligher than the rest of
   the text

Resolves: #379
2015-10-24 00:43:51 +03:00
lilia
4b47833928 Make new-contact use cursor: pointer
// FREEBIE
2015-10-21 12:12:28 -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
b65adc14dc Restyle debug log
Fixup for new layout and add a close button.

// FREEBIE
2015-10-20 14:24:11 -07:00
lilia
bf81686c6e Remove gray background from message detail
// FREEBIE
2015-10-17 12:23:12 -07:00
lilia
f7452d2825 Conversation list style tweaks
List items are translucent normally, opaque grey/white when selected.

// FREEBIE
2015-10-17 12:07:53 -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
2f8d973366 Restore native window chrome
// FREEBIE
2015-10-16 12:52:10 -07:00
lilia
f70c22f898 Add search field to inbox
Using the search field produces a filtered view of all contacts and
groups containing the input. To make this fast and scalable, add an
index on a 'tokens' array containing words from the conversation name
and different forms of phone number.

Closes #365

// FREEBIE
2015-10-15 13:33:07 -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
lilia
a32f3ff1f6 More work on replayable errors
Expose a button that does that retries outgoing messages if possible.

// FREEBIE
2015-10-02 18:31:07 -07:00
lilia
929c16090b Move error messages to message detail view
Change how message errors are rendered. Errors associated with a number
will be shown under that number in the detail view rather than piling up
in the message bubble.

// FREEBIE
2015-09-30 14:27:18 -07:00
lilia
960754ef04 Restyle compose button
Move it to a tool bar at the top of the conversation list. This is also
where a search bar will live someday.

Fixes #357

// FREEBIE
2015-09-18 13:08:52 -07:00
lilia
93a5d01127 Delete old code
We don't have any more 'default' css classes. Default avatar data is
simply provided by a model for rendering in a view.

// FREEBIE
2015-09-16 22:19:04 -07:00
lilia
90e9216e19 Add UI for submitting debug logs
Fixes #343

// FREEBIE
2015-09-16 11:28:37 -07:00
lilia
299bd45cea Add background color on key verification screen
// FREEBIE
2015-09-15 11:01:48 -07:00
lilia
712cad352c Restyle new-contact element
Bring it into line with the style of the other contacts.

// FREEBIE
2015-09-14 15:32:47 -07:00
codedust
5378cd8602 Fix multiple spaces not beeing displayed in message bubbles
Multiple spaces ("     ") are displayed by browsers as a single
whitespace character if 'white-space: pre-wrap;' is not set.
2015-09-07 16:35:24 -07:00
codedust
ec4ef9062c Fix text color and text selection color of outgoing links
This will change the text color of outgoing links from blue
to gray to increase the contrast to the background color of the
outgoing message bubble. Also, the text selection color of these
links will be the same as for normal text.
2015-09-07 16:28:15 -07:00
codedust
01b0f96b9a Fix text selection color of outgiong message bubble contents
This will change the text color and the background color of selected
text in outgoing messages to make the selection more noticeable.

::selection and ::-moz-selection have to be seperated into two
selectors because browsers will ignore selectors with partially
unknown syntax.
2015-09-07 16:28:15 -07:00
lilia
f764445c86 Remove erroneous license file and headers
We only use GPLV3 around here.

// FREEBIE
2015-09-07 14:58:42 -07:00
lilia
24a18e91b3 Clean up shared compose/group update ui
Makes the groupupdate and recipient input fields stick to the top,
restyles the typeahead as a floating dropdown list of suggestions
rather than a full width component, fixes group avatar thumbnail
rendering.

// FREEBIE
2015-09-04 13:11:21 -07:00
lilia
7d9490e503 Add contact list view
Used by member list view. Refactored some templates for shared markup.
Fixes strange behavior where members in the list were hoverable and
selectable.

// FREEBIE
2015-09-03 14:31:05 -07:00
lilia
9566f10ca4 Add bottom border to conversation header
// FREEBIE
2015-09-02 19:00:39 -07:00
lilia
43aaf541c1 Compose flow style tweaks 2015-08-31 16:09:05 -07:00
lilia
50939d1851 Restyle conversation menu button 2015-08-31 13:59:12 -07:00
lilia
fbb50e6621 Change colors and backgrounds 2015-08-27 17:53:50 -07:00
lilia
3569050cb6 Make conversation list fill gutter 2015-08-26 17:48:18 -07:00
lilia
fbc73c0369 Add spinner for long-loading message lists 2015-08-26 17:30:20 -07:00
lilia
992dfa5b20 Bug fixes for group create flow
Fallout from layout change.

// FREEBIE
2015-08-26 17:11:01 -07:00
lilia
d07357ce9a Retool various sub-screens to fit two-column layout 2015-08-26 15:15:14 -07:00
lilia
c780713a26 Fix up socket status display 2015-08-26 10:31:16 -07:00
lilia
877b34579a Fix heade text style 2015-08-26 10:11:40 -07:00
lilia
00ef30b283 Remove css maps from git 2015-08-25 17:06:00 -07:00
lilia
d6a4e6e496 Restore two column layout
Establishes basic functionality for viewing conversations in two column
mode, including message area and message list resizing, and maintaining
scroll position.

Various subviews need to be retooled but are more or less still
functional, i.e., new message, message detail, key verification, etc...
2015-08-25 17:01:22 -07:00
lilia
001a91466b Add group member list // Closes #279 2015-08-04 12:15:37 -07:00
lilia
d808d255eb Fix bug with 0th contact color
Contact color css class wasn't being rendered because 0 is falsey.

// FREEBIE
2015-07-31 17:01:03 -07:00
lilia
2f12275cb9 Update contact colors
Make default contact color assignments consistent with
WhisperSystems/Textsecure@99d3a76b
2015-07-31 11:07:42 -07:00
lilia
815b79dc64 Cleanup 'Too many devices' dialog
Closes #263
2015-07-14 13:39:37 -07:00
lilia
a95b6165f4 Ellipsize long conversation window titles
Fixes #304
2015-07-08 14:28:09 -07:00
lilia
fa4022a4e3 Invert pending/sent model 2015-07-07 23:03:56 -07:00
lilia
90fe82a0c0 Fixes #286 Allow selection of message text
// FREEBIE
2015-06-26 16:16:13 -07:00
lilia
feb5e5b068 Display gray # instead of colored + for no-name contacts
For consistency with android.
2015-06-25 13:47:46 -07:00
lilia
3dd8056487 Add error dialog for too many devices 2015-06-25 13:24:31 -07:00
lilia
7d568b5092 Fixup auto-expand
* Fix a css bug preventing bottom bar from sticking to the bottom.
* Resize discussion container as a function of the overall window
  height. The previous difference-based method gives the wrong result
  when the window height changes but the bottom-bar height stays the
  same.

// FREEBIE
2015-06-24 12:10:53 -07:00
adambar
9c563cf080 Fix for message box auto-sizing behavior on resize; menu z-index fix 2015-06-23 22:46:27 +02:00
adambar
da1abd75bf Remove message textarea resize handle; fix resizing after submit 2015-06-23 22:46:06 +02:00
adambar
07ac0ae9cc 239 Auto-expand message area when typing 2015-06-23 22:45:41 +02:00
lilia
1696898112 Fix avatars in conversation view
// FREEBIE
2015-06-19 16:22:57 -07:00
lilia
e26b9bfbc7 Default avatar support
Fixes #264

Implement the equivalent of java's String.hashCode on the conversation model.
Change avatar template and attributes. Use css classes for colors.
2015-06-19 11:50:18 -07:00
adambar
ada8f77930 Improve behaviors around long messages display
On the conversations list, if the last message is too long, cut it with ellipsis (...) instead of going out of the screen.
On the single conversation view, if the message in the bubble contains a word that is longer than a bubble, break it anyway instead of going out of the screen.
2015-06-18 14:14:28 -07:00
lilia
72f16b94ff Polish group update ux
* Show the members list as static elements
* Style the search results as a drop down, mirroring android ux

Fixes #248 // FREEBIE
2015-06-09 16:12:21 -07:00
lilia
6bcfa84d45 Fix window border 2015-06-08 15:02:08 -07:00
lilia
e2eff893d4 Fix 'Delete messages'
Replaces window.confirm with generic promise-based confirmation dialog
functionality available to all views.

// FREEBIE
2015-05-26 16:56:05 -07:00
lilia
3e39271220 Render messages light blue until finished sending // Fixes #219 2015-05-26 13:30:51 -07:00
lilia
7bf1d41184 Render conversation titles 2015-05-22 16:54:59 -07:00
lilia
5d3a2a4cc8 Fix file inputs
As a chrome app we are obligated to use the fileSystem api, and must do
so via the window in which we want to open the dialog.
2015-05-21 18:19:10 -07:00
lilia
7d481fdc21 Style tweaks for new window chrome 2015-05-21 18:19:09 -07:00
lilia
39d11d8eb3 Apply custom chrome to conversation windows 2015-05-21 14:35:44 -07:00
lilia
95f8e3921c Keep inbox window open, but allow it to be hidden
As a chrome packaged app, we have to keep at least one window open in
order to maintain our websocket connection in the background page.

This change replaces the system window frame with custom buttons in the
inbox header, such that the 'close' button merely hides the window
rather than unloading it.

Fixes #237
FREEBIE
2015-05-21 13:08:43 -07:00
lilia
f8db7c606a Include bootstrap via sass
One less file to load on the options/register page.
2015-05-07 16:22:57 -07:00
lilia
a76fbe165b Add css transition to smooth progress bar animation
Conflicts:
	js/options.js
2015-05-05 13:55:52 -07:00
lilia
0373252901 Update stylesheet 2015-03-27 16:45:44 -07:00
lilia
13ce354ab8 Registration UX improvements
Add some nice modal dialogs instead of confirmation alerts.
2015-03-26 15:20:17 -07:00
lilia
c3d875305d Restore delivery receipt checkmarks 2015-03-25 11:40:33 -07:00
lilia
a7079206f4 Nicer looking end-session and group control messages 2015-03-23 15:49:31 -07:00
lilia
f160d1b7ad Css source maps 2015-03-23 14:11:48 -07:00
lilia
20baa795ad Fixes #198 Squished avatars
Refactor all avatar views to use a shared partial, then change it to a
background image. Requires allowing unsafe-inline styles in the CSP.
2015-03-23 14:01:18 -07:00
lilia
5ffa265559 Revert "Popout inbox"
This reverts commit 31e7d285e3.

This seemed like a nice feature, but the popup bubble isn't very
conducive to nontrivial user inputs, e.g. file inputs.

Fixes #211
2015-03-23 12:19:32 -07:00
lilia
c526dbda5f Set up production build task
`grunt copy`

Closes #191
2015-03-19 18:34:56 -07:00
lilia
897d391817 Improve identity key conflict ux
Clicking on a key conflict message opens the message detail view,
which displays the contact(s) in this conversation. If the message
contains a key conflict with any of these contacts, a button is
displayed which attempts to resolve that conflict and any other
conflicts in the conversation that are related to that contact.
2015-03-18 16:29:02 -07:00
lilia
31e7d285e3 Popout inbox
Rather than opening the inbox in its own window, let it appear as a
browser action popup by default, but allow promotion to its own window
if requested.
2015-03-18 16:29:01 -07:00
lilia
45a053b3a8 Break long links in message bubbles / Fixes #204 2015-03-16 18:08:45 -07:00
lilia
69d5a6a33c Improve group update ui/ux
Promote group update to its own screen. Add typeahead contact selector
from new conversation view. Restyle to match android (more or less).

Closes #186
2015-03-13 17:33:02 -07:00
lilia
7e3961891b Tweak menu styles 2015-03-13 17:29:28 -07:00
lilia
d20e23402d Refactor RecipientsInputView from NewConversationView
For reuse on group update screen.
2015-03-13 17:29:28 -07:00
lilia
8e54aa1401 Plumb contact avatars into conversations 2015-03-11 17:49:01 -07:00
lilia
019a9d1fbc Unread counts
Update unreadCounts per-conversation on incoming messages. Render unread
conversations with font-weigh: bold in the inbox view.

To ensure that the inbox and conversation views remain in sync, the
background page now ensures that the same models objects are used for
both views.
2015-03-11 15:13:36 -07:00
lilia
254131488e Render emoji in conversation and inbox views. 2015-03-10 18:15:31 -07:00
lilia
c73f4d71a7 DRY up scrollable pattern
Switch to using gutter class instead of id since there is potentially
more than one usage on the page.
2015-03-09 16:05:06 -07:00
lilia
fd6e2954f7 Curtail over-zealous websocket reconnects
Closes #173

Previously, in the event of a failed websocket auth, we would attempt to
reconnect once a second ad infinitum. This changeset ensures that we
only reconnect automatically if the socket closed 'normally' as
indicated by the code on the socket's CloseEvent. Otherwise, show a
'Websocket closed' error on the inbox view.

Ideally we would show a more contextual error (ie, 'Unauthorized'), but
unfortunately the actual server response code is not available to our
code. It can be observed in the console output from the background page,
but programmatically, we only receive the WebSocket CloseEvent codes
listed here:
https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent#Status_codes

The websocket error message is displayed by a normally-hidden but ever
present socket status element. Clicking this element will immediately
refresh the background page, which will try again to open the websocket
connection.
2015-03-09 16:04:26 -07:00
lilia
8ee282b1aa Restyle registration page
When first intalling, users will no longer be presented with the option
to register as a standalone client.

For developer convenience, the standalone form can still be found at
chrome-extension://.../register.html

Closes #159
2015-03-06 15:27:49 -08:00
lilia
7a03c26849 Adjust message bubble tail position
It should align with the center of the avatar.
2015-03-05 17:47:32 -08:00
lilia
e2bd55c171 Tweak delivery receipt and timestamp display
Checkmark is no longer underlined when hovering over the timestamp.
2015-03-05 16:29:12 -08:00
lilia
441167ab35 Tighten up send btn icon size 2015-03-05 15:49:00 -08:00
lilia
567a48e82b Adjust widths of bubbles and chat window
With these changes, message bubbles in the default-sized chat popup are
just wide enough to display the full complement of html5 media player
controls.
2015-03-04 15:59:28 -08:00
lilia
1311f7c9ae Fix attachment previews for audio/video files 2015-03-02 18:27:14 -08:00
lilia
c8274d7bc7 Give video elements black backgrounds 2015-03-02 17:53:44 -08:00
lilia
db7dee9a8a Fixup file size warning
Add contentType-specific limits, switch to lazy-init iff we encounter an
oversized file, and restyle as a toast, factoring out a generic
ToastView along the way.
2015-03-02 17:50:03 -08:00
lilia
ddc0ed1b9a Add audio and video players
Basic implementation using html5 audio/video tags and data URIs.
2015-03-02 15:49:14 -08:00
lilia
dcc1588219 Add key verification screen
Accessible from the menu on private conversations.
2015-02-26 22:26:46 -08:00
lilia
33b9a11e65 Always overflow: auto 2015-02-26 22:19:06 -08:00
lilia
fd30dc6f1a Add message detail view 2015-02-23 14:03:35 -08:00
lilia
368cd2f79a Refactor back button style
Make it easier to reuse these styles.
2015-02-23 12:52:15 -08:00
lilia
d0392a3e04 Refactor title bar text style 2015-02-23 12:07:06 -08:00
lilia
4945180c12 Constrain .end-session style to the .message-list
It was incorrectly being applied to the End Session menu item.
2015-02-19 11:53:33 -08:00
lilia
3292177a96 Remove resize logic in favor of pure css 2015-02-18 23:09:34 -08:00
lilia
7231bcd5ce Flesh out font faces 2015-02-18 16:25:39 -08:00
lilia
4716754209 Refactor content message class names 2015-02-18 00:11:35 -08:00
lilia
367421d40a Style end session messages
Also add a missing call to render()
2015-02-13 16:21:39 -08:00
lilia
eddf4164fa Hide sender names in private conversations 2015-02-13 11:05:31 -08:00
lilia
96af6b56ef Handle incoming sync messages
Assign them to the correct conversation and mark them outgoing with the
correct timestamp.

Closes #150
2015-02-12 18:17:08 -08:00
lilia
746e6530b9 WIP pill view for selected recipients 2015-02-12 13:21:16 -08:00
lilia
eaf3d46c1f Make 'New Message' view match new title bar style
Make text blue and light weight. Update back button colors to match.
2015-02-12 13:21:15 -08:00
lilia
bebe47eacd Hide our own avatar for consistency with Android 2015-02-12 13:21:15 -08:00
lilia
29bf70b76f Shrink more styles
Shrink font and image size
Shrink converation avatars
Shrink fab
2015-02-12 13:21:08 -08:00
lilia
bffdaf9ceb Restyle menu icon 2015-02-11 17:38:03 -08:00
lilia
db5e7fd6b6 Fix list view scrolling
Resize handlers are ugly. But not as ugly as scroll handlers. :p
Normalized some whitespace along the way.
2015-02-11 17:38:03 -08:00
lilia
ec01d33b50 Reorganize stylesheets and global styles
Simplifies the grunt watch task for sass. Renames sass partials with
leading underscores. Flattens stylesheet directory. The only remaining
raw css file is options.css.

Move globally-relevant styles to _global. Shrink overall font size.
2015-02-11 17:38:03 -08:00
lilia
33c0f5b274 Change title bar color 2015-02-11 17:38:03 -08:00
lilia
374fa044af Shrink some styles
Group update font and sender names should be smaller.
2015-02-11 17:38:03 -08:00
lilia
1334032a89 Add hidden group update form to new conversation view 2015-02-11 17:38:01 -08:00
lilia
d7436aaebe Adjust conversation menu styles 2015-02-11 17:38:00 -08:00
lilia
b1ad04298f Add title bar label to new conversation view 2015-02-11 17:38:00 -08:00
lilia
b13e36a11c Style conversation menu 2015-02-11 17:38:00 -08:00
lilia
eacca80a7d Don't let contact details wrap in skinny windows 2015-02-11 17:38:00 -08:00
lilia
6d81011f6a Add back button to compose view 2015-02-11 17:38:00 -08:00
lilia
fedfdcdd7e Style elements for compose flow 2015-02-11 17:37:59 -08:00
lilia
e52c7a3e2c Remove stubborn width calculation
It's making my typeahead contact details wrap onto the next line and
doesn't seem to be adding much value.
2015-02-11 17:37:59 -08:00
lilia
19ee28209d Restore delivery receipt checkmark 2015-02-11 17:37:59 -08:00
lilia
00e9e3b757 Setup loading gif on conversation list
TODO: get actual gif asset in there.
2015-02-11 17:37:59 -08:00
lilia
ee34e446e6 Label new-contact block 2015-02-11 17:37:59 -08:00
lilia
f504087603 Move index styles to their own file 2015-02-11 17:37:59 -08:00
lilia
613dc3bedd Start on support for messaging a brand new contact 2015-02-11 17:37:59 -08:00
lilia
c6a19afd29 Tweak contact style in typeahead
Remove message snippets and dates.
Add checkboxes.
2015-02-11 17:37:58 -08:00
lilia
79b4c89ce4 Fixup attachment preview 2015-02-11 17:37:58 -08:00
lilia
a2f5f734b3 Set up index.scss
This file is for index page styles. Start by offsetting the gutter so
the title bar doesn't obscure the first entry.
2015-02-11 17:37:58 -08:00
lilia
58e7f3c7e1 Fix file input click zone
Previously, the ugly file input was hidden with opacity, and styled as a
square paperclip icon, but its drop and click zones were not constrained
to the visible square. They remained active across the whole 'Choose
File' button, which overlapped with the textarea. Instead, hide the file
input complete (display: none) and transmit click events from the
paperclip to the input programmatically.

Eventually, we'll need to address drag and drop events, but I want to do
that at the window level. Otherwise dropping a file outside the file
input drop zone causes the browser to navigate to the file://... url.
2015-02-11 17:37:57 -08:00
lilia
8498d7ad1f Fixup conversation page styles and functionality
Render the entire conversation from a template, because some parts of it
must be rendered conditionally if it is a group vs private conversation.

Also apply some style fixes and restore lost functionality:
  * Make conversation title bar fixed.
  * Widens message bubbles.
  * Unhide message list.
  * Restore attachment rendering.
  * Restore message sending and attachment file selection.
  * Style attachments file input as a paperclip.
  * Style send button like on Android and make it a submit input.
2015-02-11 17:37:57 -08:00
lilia
7827c4c591 Restore default avatars on the index 2015-02-11 17:37:57 -08:00
lilia
5821e0ddee Add fonts so we don't have to hit googlefonts 2015-02-11 17:37:57 -08:00
Riley Shaw
94ce4d4b91 Simplify panel state management and message passing 2015-02-11 17:37:56 -08:00
Riley Shaw
9071d98395 Update styles to material design to match Android client (first pass) 2015-02-11 17:37:56 -08:00
Riley Shaw
2cbcb28ee3 Start on panels 2015-02-11 17:37:56 -08:00
lilia
ed06161ee7 Quick fix for phone input style 2015-01-17 22:32:47 -10:00
Emily Chao
bb2b53035e Restyled message attachments
Added a size limit, added functionality to delete the attachments before sending in a more user-friendly way
2015-01-16 13:06:49 -10:00
Emily Chao
e74cba8a92 Restyled country dropdown
Added jquery plugin that allows for flags and country codes to be
displayed in a user-friendly way, on top of the existing phone view
2015-01-15 15:24:36 -10:00
Emily Chao
5d3020b9ed Refactor phone number input view
Moves validation logic to its own view to be shared on index and options
pages.
2015-01-15 11:51:32 -10:00
Matt Corallo
e7f3e52b6c Remove NaCL! 2015-01-14 11:39:36 -10:00
lilia
3d6c251fd1 Group avatars 2015-01-11 01:27:22 -10:00
Matt Corallo
b070c6ccb0 s/\t/ /g in stylesheets/options.css 2015-01-06 14:49:04 -08:00
Dave Sescleifer
2462aba24b Fixed timestamps and added last message to the gutter 2014-12-22 23:38:26 -08:00
Dave Sescleifer
1c47fb7ed8 Contact name now overflows into ellipsis 2014-12-22 23:38:26 -08:00
Dave Sescleifer
893fffdad8 Added ✓ to delivered messages
Closes #100
Closes #101
2014-12-22 16:39:35 -08:00
lilia
8c93101989 Don't store conversationType on messages
This was used to conditionally render messages in the group style, but
it's actually unnecessary. We can render the same markup in both cases
and change the appearance with css.
2014-12-18 19:45:53 -08:00
lilia
99a2685f93 Store attachments as binary blobs
Move base64 encoding of attachments to an AttachmentView. This makes
image rendering an asynchronous task so we fire an update event to
indicate to the parent MessageListView that its content has changed
height and it is time to scroll down.
2014-11-25 12:42:44 -08:00
lilia
28290477f4 Nicer timestamps with momentjs
This dependency may be a little heavy for our current use case, but we can
roll with it for now and find something slimmer if it turns out yagni.

Closes #77
Closes #40
2014-11-12 11:45:58 -08:00
lilia
4119c13ba2 Registration ux tweaks 2014-11-10 16:24:00 -08:00
lilia
054f027786 Remove unused stylesheets
Move the remaining to /stylesheets
2014-11-07 00:34:28 -08:00
lilia
cd888f66ef Build unminified manifest.css from sources 2014-11-07 00:32:58 -08:00
lilia
349e7e18f6 Add sass stylesheets 2014-11-07 00:17:27 -08:00
lilia
0cc0b8cc72 Switch tagsinput to bower 2014-10-31 00:40:00 -07:00
lilia
c8ad65efe0 Switch to bower dependencies
Checks in only the files we actually need from bower_components.
2014-10-29 20:50:51 -07:00
lilia
987744cd79 Default avatars
Someday you'll be able to edit your avatar. Until then, put a bird on
it.
2014-10-29 16:05:51 -07:00
lilia
3334504eff render attachments 2014-10-26 00:30:20 -07:00
lilia
229007040c Basic frontend support for image attachments 2014-10-24 18:53:55 -07:00
lilia
c6aae62151 Small message form tweaks 2014-10-22 18:28:40 -07:00
lilia
d67b723f4f Highlight the selected thread 2014-10-22 17:26:37 -07:00
lilia
19dac1f3df Decorate incoming group messages
with numbers and image placeholders, so you know who's saying what.
2014-10-22 16:30:27 -07:00
lilia
e8399f98df Quickfix for wonky tagsinput 2014-10-17 16:39:35 -07:00
lilia
2bd77693e1 Refactor options page and style using bootstrap 2014-10-14 13:59:43 -07:00
lilia
40c3bc8640 Fix nacl not loading
HEADDESK HEADDESK HEADDESK
2014-09-13 22:46:38 -04:00
lilia
806693ac1c use new index page for popup 2014-08-25 19:01:18 -07:00
lilia
2f0b0f7a1b Get overflow scrolls working
Had to resort to a resize event handler.
A bit slow at times, but it works.
2014-08-25 19:01:13 -07:00
lilia
546cdf82cb Fix some markup issues
* Remove spurious search div
* Fix nested uls
* Use class name selected, not closed (the inverse)
* Restor nacl div
2014-08-25 18:59:22 -07:00
lilia
c2beda8e40 Get single recipient message composition working again 2014-08-25 18:55:51 -07:00
lilia
c034ac8267 Refactor components for the main content section
Each conversation views now manages its own separate elements
rather than all binding to a shared #conversation element, and
similarly for message composition ui.

Also includes the beginnings of group creation UI (not working yet),
featuring bootstrap-tagsinput field for entering group recipients
2014-08-25 18:54:55 -07:00
lilia
28e16aaae8 bootstrap tags input 2014-08-25 18:48:12 -07:00
lilia
518bdb2056 with love from tyler 2014-07-27 11:36:03 -10:00