From aeb04a3a4465831253eeda32eee8ded41926a70b Mon Sep 17 00:00:00 2001 From: Vincent Date: Fri, 31 Jan 2020 13:31:25 +1100 Subject: [PATCH] onboarding messageview --- _locales/en/messages.json | 15 +++ background.html | 16 +-- images/loki/loki_icon.png | Bin 0 -> 134181 bytes images/session/chat-bubbles.svg | 17 +++ js/background.js | 2 +- stylesheets/_emoji.scss | 3 +- stylesheets/_session.scss | 98 +++++++++++++++++- stylesheets/_session_left_pane.scss | 2 +- stylesheets/_theme_dark.scss | 2 +- .../conversation/ConversationHeader.tsx | 4 +- .../session/LeftPaneMessageSection.tsx | 84 +++++++++++++-- 11 files changed, 218 insertions(+), 25 deletions(-) create mode 100644 images/loki/loki_icon.png create mode 100644 images/session/chat-bubbles.svg diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 05f0a4c5e..7f38dd7da 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -967,6 +967,15 @@ "continue": { "message": "Continue" }, + "noThankyou": { + "message": "No, thank you" + }, + "noMessagesTitle": { + "message": "You don't have any messages, yet." + }, + "noMessagesSubtitle": { + "message": "Would you like to join Session's public chat?" + }, "pairNewDevice": { "message": "Pair New Device" }, @@ -2580,6 +2589,9 @@ "beginYourSession": { "message": "Begin
your
Session." }, + "welcomeToSession": { + "message": "Welcome to Session" + }, "welcomeToYourSession": { "message": "Welcome to your Session" }, @@ -2707,6 +2719,9 @@ "joinChannel": { "message": "Join Open Group" }, + "joinPublicChat": { + "message": "Join Public Chat" + }, "next": { "message": "Next" }, diff --git a/background.html b/background.html index 7a137b73c..18e485aef 100644 --- a/background.html +++ b/background.html @@ -108,17 +108,17 @@
- +
+ + +
+
+ +
-
- -
-
- - -
+
diff --git a/images/loki/loki_icon.png b/images/loki/loki_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..71e3de339836540ef904c5a708638d0117d0aee5 GIT binary patch literal 134181 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 z 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 Dj5L|K literal 0 HcmV?d00001 diff --git a/images/session/chat-bubbles.svg b/images/session/chat-bubbles.svg new file mode 100644 index 000000000..0f06f1f53 --- /dev/null +++ b/images/session/chat-bubbles.svg @@ -0,0 +1,17 @@ + + + + Combined Shape + Created with Sketch. + + + + + + + + + + + + \ No newline at end of file diff --git a/js/background.js b/js/background.js index 737355de4..db5284657 100644 --- a/js/background.js +++ b/js/background.js @@ -918,7 +918,7 @@ }, }); } - }; + }; window.generateID = () => Math.random() diff --git a/stylesheets/_emoji.scss b/stylesheets/_emoji.scss index 1e43e7de1..f1e2a1032 100644 --- a/stylesheets/_emoji.scss +++ b/stylesheets/_emoji.scss @@ -86,7 +86,8 @@ button.emoji { opacity: 0.5; border: none; background: transparent; - margin-left: 15px; + margin: 0px 10px 0px 15px; + &:before { content: ''; diff --git a/stylesheets/_session.scss b/stylesheets/_session.scss index 957e416cb..bd8c2b830 100644 --- a/stylesheets/_session.scss +++ b/stylesheets/_session.scss @@ -76,7 +76,7 @@ $session-color-dark-grey: #353535; $session-color-black: #000; $session-color-danger: #ff453a; $session-color-primary: $session-shade-13; -$session-color-secondary: $session-shade-16; +$session-color-secondary: $session-shade-6; $session-background-overlay: #212121; $session-background: #121212; @@ -102,6 +102,11 @@ $session-font-md: 15px; $session-font-lg: 18px; $session-font-xl: 24px; +$session-font-h1: 30px; +$session-font-h2: 24px; +$session-font-h3: 20px; +$session-font-h4: 16px; + $session-search-input-height: 34px; $main-view-header-height: 85px; @@ -480,6 +485,7 @@ $session-element-border-green: 4px solid $session-color-green; @include session-color-subtle($session-color-white); font-family: 'SF Pro Text'; font-weight: 300; + font-size: $session-font-xs; } .module-contact-name { @@ -524,8 +530,18 @@ label { border-bottom-right-radius: $session_message-container-border-radius; } -.conversation-header .session-icon-button { - @include standard-icon-button(); +.conversation-header { + .module-avatar img { + box-shadow: 0px 0px 5px 0px rgba(255,255,255,0.20); + } + + .search-icon { + margin-right: 10px; + } + + .session-icon-button { + @include standard-icon-button(); + } } .module-conversation-header { @@ -712,6 +728,11 @@ label { .message { text-align: center; } + + .session-id-editable { + width: 30vw; + max-width: 700px; + } } &__centered { @@ -807,7 +828,7 @@ label { align-items: center; height: 25px; - padding: 0px 10px; + padding: $session-margin-md $session-margin-sm; background-color: $session-shade-4; @@ -1258,6 +1279,7 @@ label { display: flex; flex-grow: 1; min-height: 60px; + margin-bottom: -5px; } textarea.send-message { @@ -1566,3 +1588,71 @@ input { } } } + +.onboarding-message-section { + display: flex; + flex-grow: 1; + align-items: flex-start; + position: relative; + padding: $session-margin-lg 2 * $session-margin-lg; + background: linear-gradient(180deg, rgba(29,28,28,1) 0%, rgba(18,18,18,1) 100%); + + &__exit { + position: absolute; + top: $session-margin-lg; + left: $session-margin-lg; + } + + &__container { + display: flex; + flex-grow: 1; + flex-direction: column; + align-items: center; + justify-content: space-between; + padding-top: 3 * $session-margin-lg; + + height: 400px; + + text-align: center; + font-family: "SF Pro Text"; + + } + + &__title h1{ + color: $session-color-white; + font-size: $session-font-h1; + font-weight: bold; + margin-bottom: 2 * $session-margin-lg; + } + + &__icons img { + width: 180px; + margin-bottom: 2 * $session-margin-lg; + } + + &__info { + font-family: "Wasa"; + margin-bottom: 2 * $session-margin-lg; + + &--title { + font-size: $session-font-h3; + line-height: $session-font-h2; + margin-bottom: $session-margin-md; + } + + &--subtitle { + font-family: "SF Pro Text"; + font-weight: 300; + line-height: $session-font-md; + opacity: 0.8; + } + } + + &__buttons { + width: 100%; + + .session-button:first-child { + margin-bottom: $session-margin-md; + } + } +} \ No newline at end of file diff --git a/stylesheets/_session_left_pane.scss b/stylesheets/_session_left_pane.scss index 8379fa2d7..fa593b10b 100644 --- a/stylesheets/_session_left_pane.scss +++ b/stylesheets/_session_left_pane.scss @@ -413,7 +413,7 @@ $session-compose-margin: 20px; border: 1px solid $session-shade-15; } @at-root .dark-theme #{&} { - border: 1px solid $session-shade-7; + border: 1px solid $session-shade-6; } } } diff --git a/stylesheets/_theme_dark.scss b/stylesheets/_theme_dark.scss index 7703ac099..52de9723a 100644 --- a/stylesheets/_theme_dark.scss +++ b/stylesheets/_theme_dark.scss @@ -189,7 +189,7 @@ body.dark-theme { button.emoji { &:before { - margin-top: 4px; + margin-top: 7px; @include color-svg('../images/smile.svg', $color-dark-30); } } diff --git a/ts/components/conversation/ConversationHeader.tsx b/ts/components/conversation/ConversationHeader.tsx index 28cf868ba..fe89cbc85 100644 --- a/ts/components/conversation/ConversationHeader.tsx +++ b/ts/components/conversation/ConversationHeader.tsx @@ -191,7 +191,7 @@ export class ConversationHeader extends React.Component { if (name) { title = `${name}`; } else { - title = phoneNumber; + title = `User ${window.shortenPubkey(phoneNumber)}`; } } @@ -232,7 +232,7 @@ export class ConversationHeader extends React.Component { profileName={profileName} size={28} borderColor={borderColor} - borderWidth={2} + borderWidth={0} onAvatarClick={() => { this.onAvatarClickBound(phoneNumber); }} diff --git a/ts/components/session/LeftPaneMessageSection.tsx b/ts/components/session/LeftPaneMessageSection.tsx index 16bc9871c..3978f5b39 100644 --- a/ts/components/session/LeftPaneMessageSection.tsx +++ b/ts/components/session/LeftPaneMessageSection.tsx @@ -18,6 +18,8 @@ import { SearchOptions } from '../../types/Search'; import { validateNumber } from '../../types/PhoneNumber'; import { LeftPane, RowRendererParamsType } from '../LeftPane'; import { SessionClosableOverlay } from './SessionClosableOverlay'; +import { SessionIconButton, SessionIconType, SessionIconSize } from './icon'; +import { SessionButton, SessionButtonType, SessionButtonColor } from './SessionButton'; export interface Props { searchTerm: string; @@ -39,13 +41,19 @@ export class LeftPaneMessageSection extends React.Component { public constructor(props: Props) { super(props); + + const conversations = this.getCurrentConversations(); + const length = conversations ? conversations.length : 0; + this.state = { showComposeView: false, pubKeyPasted: '', + shouldRenderMessageOnboarding: length === 0, }; this.updateSearchBound = this.updateSearch.bind(this); this.handleToggleOverlay = this.handleToggleOverlay.bind(this); + this.handleCloseOnboarding = this.handleCloseOnboarding.bind(this); this.handleOnPasteSessionID = this.handleOnPasteSessionID.bind(this); this.handleMessageButtonClick = this.handleMessageButtonClick.bind(this); this.debouncedSearch = debounce(this.search.bind(this), 20); @@ -164,7 +172,7 @@ export class LeftPaneMessageSection extends React.Component { ); } - public render(): JSX.Element { + public render(): JSX.Element {5 return (
{this.renderHeader()} @@ -176,18 +184,80 @@ export class LeftPaneMessageSection extends React.Component { } public renderConversations() { + return (
- - {this.renderList()} + {this.state.shouldRenderMessageOnboarding + ? (<>{this.renderMessageOnboarding()}) + : ( + <> + + {this.renderList()} + + )}
); } + public renderMessageOnboarding() { + + return ( +
+
+ +
+ +
+
+

{window.i18n('welcomeToSession')}

+
+ +
+ +
+ +
+
+ {window.i18n('noMessagesTitle')} +
+
+ {window.i18n('noMessagesSubtitle')} +
+
+ +
+ + +
+
+ +
+ ) + } + + public handleCloseOnboarding() { + this.setState({ + shouldRenderMessageOnboarding: false, + }); + } + public updateSearch(searchTerm: string) { const { updateSearchTerm, clearSearch } = this.props;