Commit Graph

452 Commits (7301b94ed303af90316ea71a4233127ab01b290b)

Author SHA1 Message Date
Unknown d79ed69c21 Forgot & 8 years ago
Unknown 235ac03775 Hover-effect for new messages 8 years ago
Unknown 6f0de2cd72 Effect for Android-dark theme 8 years ago
Unknown 416359d4ad Add scroll-down-button hover-effect
Normal Android & iOS Theme
8 years ago
Ikarulus 752ebde7ff add hover event 8 years ago
Ikarulus fcbf569317 changes due to feedback 8 years ago
Scott Nonnenberg 0e96d086c5 Move to overlay scroll bars for the conversation list
Note that we're removing position: relative for the contact class, and
there might be some unexpected layout impacts. Thus far I haven't seen
any.

FREEBIE
8 years ago
Scott Nonnenberg 0d722a3186 Last seen indicator visual refresh
- Last seen indicator now spans the full conversation, with subtle
shadow highlights above and below
- Scrollbars now overlap the content of the conversation, allowing last
seen indicator to touch the right edge of the window.
- The iOS and Android conversation background is now #eee instead of
white, which meant that the outgoing messages (Android) and incoming
messages (iOS) had to be updated for contrast. They now have white
backgrounds.
- Similarly, the scroll down button needed more contrast, and its
background is now white in light themes.

FREEBIE
8 years ago
Scott Nonnenberg d294cc96a5 A few tweaks to safety number-related UI
* Show a pointer cursor on safety number change notification
* Add 'click to verify' to the text shown there
* Add ':' to the text shown on the safety number screen
* Limit the width of the safety number box, to force 3x4 layout
* Center the safety number box

FREEBIE
8 years ago
Ivan Markin 931441a057 Fix duplicate x icon (cancel) on active search field.
Fixes #1136.
// FREEBIE
8 years ago
Scott Nonnenberg 1839efd535 Move margin-top back to inner last seen indicator element
FREEBIE
8 years ago
lilia 681418cf6b Restyle last seen indicator
Add horizontal line behind text.

// FREEBIE
8 years ago
lilia 4921ef1b9d Tweak scroll to bottom bottom color
And add drop shadow

// FREEBIE
8 years ago
Scott Nonnenberg 4c7bfbe9ff Scroll down button: when scrolled up, or new non-visible message
FREEBIE
8 years ago
Scott Nonnenberg f6c62e4822 Android: Make last seen indicator margin consistent top/bottom
FREEBIE
8 years ago
Scott Nonnenberg fed26c36ca Add new Last Seen Indicator with unread count, scroll to it
This is to ensure that when there are a lot of unread messages, the user
is given the chance to see all of them by being scrolled to the oldest
new message.

When a new message comes in, the indicator will be incremented.

When the user sends a message or switches away from the conversation,
the last seen indicator will be removed.

FREEBIE
8 years ago
lilia 3ea5c0435b Update attachment style
Add names and sizes for all attachments except images, and (as with
arbitrary attachments), clicking on the text will open a save dialog.
In the absence of a filename, choose something that makes sense.

Display different icons for different media types, including distinct icons
for voice notes and audio files.

In iOS theme, audio, video, voice, and files are all encapsulated in bubbles.

Closes #804
Closes #842
Closes #836

// FREEBIE
8 years ago
lilia 56d1ce75ac Enable voice notes
And fix recorder background color in dark theme

// FREEBIE
8 years ago
Scott Nonnenberg 423a0fef67 Jumbomoji support matching Android support
FREEBIE
8 years ago
Scott Nonnenberg e7f41be464 Change android/android-dark file attachments to be on-theme
FREEBIE
8 years ago
Scott Nonnenberg 42195acfb1 Reduce empty space to the left of the larger file icon
FREEBIE
8 years ago
Scott Nonnenberg ae6e6da44b Change iOS file attachment bubbles to be on-theme
FREEBIE
8 years ago
Scott Nonnenberg cd1569e57a Android themes: Add space between file attachment, message text
FREEBIE
8 years ago
Scott Nonnenberg ee00ad0e15 File attachments: show file size, bold filename, make icon bigger
FREEBIE
8 years ago
lilia 935941e31e Brighten dark theme microphone icon 8 years ago
lilia a27ea20f3e Improve unsupported file type handling
Make arbitrary files look nicer and display the filename.

If an audio or video element fails to load for any reason, timeout after
a few seconds and render it as an arbitrary file. Also short circuit to
this treatment for common audio and video file types that we know are
going to fail, e.g., proprietary formats from apple.

// FREEBIE
8 years ago
lilia d3492960a6 Display info in network status when unlinked
When we can't connect due to being unlinked, network status indicator
will show an appropriate informational message and a button to open the
installer window to relink.

// FREEBIE
8 years ago
lilia 5d1e770307 Tweak network status styles
Remove inline styles
Use flexbox in the left pane

// FREEBIE
8 years ago
Sam Vevang ed4991974b set up a new view for displaying the network status
// FREEBIE
8 years ago
alecglassford ef4b4da2a3 Make search clear button ("x") persist w/o hover
This makes the "x" in the search bar always visible when there is
text in the search box, even if the mouse is not hovering, hopefully
making for a clearer UI around search and resolving issue #741

The implementation adds the "x.svg" as a background image to the search
box when it is classed with .active, in addition to the
-webkit-search-cancel-button, which is still there for the actual
functionality but only appears on mouse hover (one tiny snag is that
coloring appears slightly different on hover, at least on my screen -
don't know if this is a problem).

I accounted for both ltr and rtl text-direction by using
getComputedStyle(...).direction to detect from the input's dir="auto"
- if there's a more elegant way to do this, please suggest. An ideal
solution would use the :dir pseudo-class but it's not implemented
in Chrome yet - https://developer.mozilla.org/en-US/docs/Web/CSS/:dir

For now, I added the direction-checking to inbox_view.js. I see that
input.search is also used in new_group_update_view.js and
recipient_input_view.js but neither of these views seem to be in use (?)
and they don't set the .active class anyway, so I ignored them.

Update: Amended version a few hours later - fixed and manually tested
color and spacing for iOS and Android Dark themes. Also made some new
SASS variables to make things DRYer and fixed my tab size.
8 years ago
Jon Long d0d3f80291 Improve Responsiveness on Install Screen
Handles the edge case where images in the Install steps can obscure the text below them at certain window dimensions.

In most cases, it's not possible to replicate this behavior due to minimum dimension settings in `chromium.js`. However, some window managers (such as i3) can ignore those settings, producing this bug.

This fix introduces a flexible, responsive layout to the Install steps, with the goal of keeping the action buttons in a consistent position while adapting the rest of the content to the remaining available space. The result is a clean, usable screen at any window size.

In the rare instance that a window's dimensions are less than that of the minimums set in `chromium.js`, scrollbars will appear to keep the smallest acceptable layout intact.

Potential side effects:

- Each `.step` element contains an`.inner` flexbox wrapper, which arranges its children in a column. The layout works best when each `flex-item` is an element that wraps the content inside of it. I think I accounted for all the possibilities on the Install screen, but any future `.step` items might want to keep that pattern in mind.

Resolves #1059
FREEBIE
8 years ago
lilia 7a7739a3f6 Add text-security css class
Adding the class `.text-security` to the body element will (should) turn
all names, phone numbers, and message bodies into unreadable squares.
Nice to have when you want to screenshot without leaking too much info.
Note that emojis and images are not obscured.

This isn't fully baked or exposed as a feature. You have manually
inspect and tweak the DOM to enable it, but I leave it here for the
benefit of devs and other "frequent flyers" of our issue tracker.

// FREEBIE
8 years ago
Ikarulus c9939c8da8 Moving the error badge to the right corner in ios theme
// FREEBIE
8 years ago
lilia 030c5a403f Fix key change advisory style in dark theme
Override the light font color which is the default in dark mode.
For regular android theme this should cause no change.
8 years ago
Ikarulus 59c684db8a Removes orange borders glitch (visible in dark design)
FREEBIE
8 years ago
Ikarulus bb5ebf39bd Changed debug log color in dark theme
Fixes #990
8 years ago
lilia 33dc9ca3a3 Make dark theme links lighter and less saturated
10% lighter and 10% lower saturation than traditional signal blue
8 years ago
lilia 46254e3c23 Use shades of gray for left pane focus effect
Also remove extraneous rule. It is repeated further down the stylesheet,
and overruled by !important.
8 years ago
lilia 09b582bb2b Darken material colors in dark theme
Dark theme uses material colors with value 700 from
https://material.google.com/style/color.html
8 years ago
lilia ee334d3fcb Dark theme tweaks
* Fixes hourglasses
* Fix delivered status icon
* Other changes aiming for more consistency of visual structure
  between light and dark themes.
* Restores left pane header focus/transition effect.
8 years ago
Ikarulus 53cd3af78b Added a dark theme
I added a dark theme in order to solve #328.
This may fix #328 at least partially.
8 years ago
lilia 35270dbbb4 Use timeout-based animation for hourglasses
CSS animations are convenient but costly if you have hundreds of them.

Fixes #945
9 years ago
lilia 9c00a27081 Bump video min-width to include all controls
Fixes #960
9 years ago
lilia 7256fe9b6f Reduce CPU load from css animations
On osx this cuts the load in half. We can probably do better with
js-based animations but let this be a quick fix for now.
9 years ago
lilia e47868129e Remove unneeded rule
No longer needed thanks to previous commit.
9 years ago
lilia d5431a942f Simplify and correct message metadata alignment
Match left/right adjustment on Android.
Incoming to the left, outgoing to the right.
9 years ago
lilia 657fa2725f Adjust hourglass vertical alignment 9 years ago
lilia d6f714defc Improve capitalization consistency in menus
Android uses sentence case. iOS uses title case.
9 years ago
lilia dddeed8e8f Split up themes into separate files 9 years ago
lilia 83d285e4ab Fix style for qr code 9 years ago
lilia 790407d42e Add qr codes 9 years ago
lilia 7fe708d195 Insert keychange advisories
On click, these open a verification panel for the relevant contact,
within this conversation.

// FREEBIE
9 years ago
lilia 1fe90ecdcb Add frontend for safety numbers approval setting
Adds the checkbox under settings.

// FREEBIE
9 years ago
lilia 2b2c6ab040 Frontend for timer updates and timer indicator 9 years ago
lilia 8f76548a53 Invert button styles
Make buttons dark by default, and let the android theme styles apply the
inversion.
9 years ago
lilia 4cd2c03687 Add clock svg style 9 years ago
lilia e809a0cf8b Breakout timer rendering into its own view
Make width and height constant.
9 years ago
lilia bd713352e3 Hourglass can start at any percentage
This breaks the css-purity of our mixin but is necessary in order to
apply the initial offset of the hourglass animation dynamically, since
jquery can't manipulate arbitrary css on psuedo elements.
9 years ago
lilia 5f92ccd524 Render animated hourglass when messages are expiring 9 years ago
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.
9 years ago
lilia 2fec5ee867 Fix text wrapping on long urls in ios theme
// FREEBIE
9 years ago
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
9 years ago
lilia 7ed6a1c4f8 Fix sender name color on android
// FREEBIE
9 years ago
lilia 1afe50b1db Make contact sync button quieter
// FREEBIE
9 years ago
lilia d7b6e7c26b Make group updates and other control messages selectable
// FREEBIE
9 years ago
lilia ab0083f341 Simplify invert-text-color mixin
// FREEBIE
9 years ago
lilia 43ccb90a92 Fix size of microphone icon
// FREEBIE
9 years ago
lilia 9f034fb698 Fix padding on key-conflicts
Error message contents need padding too.
Also make control messages and error message text selectable.

// FREEBIE
9 years ago
lilia 4652c2cff3 Fix selection style
// FREEBIE
9 years ago
lilia f918142742 Fix bubble selection style and toast z-index
// FREEBIE
9 years ago
lilia 1c89142752 Customize emoji conversion
Use image tags with :emoji: in a title attribute for an optimal
copy/paste ux.

// FREEBIE
9 years ago
lilia f042378a37 Upgrade emoji support and switch to apple emoji
Use emojijs for replacing unicode with image tags for display. We were
already using it to replace colons with unicode. Additionally it has
a companion data repo that is kept up to date with images from all
the common image sets.

// FREEBIE
9 years ago
lilia 262f9d135f Add subtle border to ios attachments
// FREEBIE
9 years ago
lilia 6d0a535f4a iOS bubble tails
// FREEBIE
9 years ago
lilia 65cb7c0e9c Cleanup colors and focus/active input states
// FREEBIE
9 years ago
lilia b5191e78c3 More themeing
Restyle message input and welcome screen
Cleanup search, headers

// FREEBIE
9 years ago
lilia 2e3db91b30 Theme-ify header colors and styles
Remove the Signal banner and restyle the search field for ios theme.

// FREEBIE
9 years ago
lilia 6e2ca331a3 Fix ios control messages
i.e., session reset messages.

// FREEBIE
9 years ago
lilia 6c05a71424 Tune up ios bubble style
// FREEBIE
9 years ago
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
9 years ago
lilia 3aa72d2244 Address large font size edge cases
Fix some visual bugs occuring at large font size:
  * Contact names break onto the next line after their avatars in
    message detail screen
  * Settings menu font-size failed to scale
  * Handle Content overflow in modals.

// FREEBIE
9 years ago
lilia 41e4154d60 Make font sizes relative
So it's easier to adjust them globally.

// FREEBIE
9 years ago
lilia 9fa7e7f462 Remove unused view
// FREEBIE
9 years ago
lilia 4f46a164ba Add voice notes
// FREEBIE
9 years ago
bitim 1a0d2595da Committing corresponding changes to the scss files 9 years ago
bitim a1eccc2c49 Better RTL languages support:
- Fixed text alignment in RTL messages.
- Added support for search box.
- Added support for conversation name.
- Added support for contact name.
- Added support for last message timestamp and last message preview.

//FREEBIE
9 years ago
lilia 61e7b685e6 Make welcome screen prettier
// FREEBIE
9 years ago
lilia c1b8ff9e54 Fix _lightbox.scss
// FREEBIE
9 years ago
lilia 9091233950 Open images in a lightbox
Adds file-write permission for saving to disk from lightbox.

Fixes #810

// FREEBIE
9 years ago
lilia f34f6eedef Add min-width on video elements
Such that all the player controls are visible.

Fixes #782

// FREEBIE
9 years ago
lilia f131505d28 Display numbers in group member list
// FREEBIE
9 years ago
lilia 8e1d884a10 Add button for re-importing contacts from phone
Add a section under settings for performing a contact sync from your
mobile device. This just re-runs the same import operation that occurs
at install/link time.

// FREEBIE
9 years ago
lilia dea8983235 Error icons only use pointer-cursor when clickable
// FREEBIE
9 years ago
lilia 58c3fe047e Make error messages clickable
// FREEBIE
9 years ago
lilia 0d47a04815 Remove unused style
// FREEBIE
9 years ago
lilia 3217f2c0b6 Hide unregistered user errors in groups
// FREEBIE
9 years ago
lilia b6f785737c Restyle error icons, move them outside the bubble 9 years ago
lilia b5ddd41a5e Fix error icon
// FREEBIE
9 years ago
lilia d5dfffd9da Darken the scrollbar on hover
// FREEBIE
9 years ago
lilia 8200780fc2 Don't let timestamps wrap
// FREEBIE
9 years ago