Merge branch 'master' into codeclimate-76-issue-sidemenu-scss

This commit is contained in:
Nithin David Thomas 2019-10-07 20:34:17 +05:30 committed by GitHub
commit 3a01a40c26
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 1169 additions and 1340 deletions

BIN
.github/dashboard-screen.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

3
.gitignore vendored
View file

@ -35,3 +35,6 @@ config/application.yml
public/uploads
public/packs
# ignore jetbrains IDE files
.idea

View file

@ -1,9 +1,10 @@
GIT
remote: git://github.com/rails/rails.git
revision: 4a2746db1c92d0bf246e938b872b233a64f0a18b
revision: a4ea17f6b6c11e1b0b550a40cfd3811a56cc94d7
specs:
actioncable (6.1.0.alpha)
actionpack (= 6.1.0.alpha)
activesupport (= 6.1.0.alpha)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (6.1.0.alpha)
@ -17,6 +18,7 @@ GIT
actionpack (= 6.1.0.alpha)
actionview (= 6.1.0.alpha)
activejob (= 6.1.0.alpha)
activesupport (= 6.1.0.alpha)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (6.1.0.alpha)
@ -50,6 +52,7 @@ GIT
actionpack (= 6.1.0.alpha)
activejob (= 6.1.0.alpha)
activerecord (= 6.1.0.alpha)
activesupport (= 6.1.0.alpha)
marcel (~> 0.3.1)
activesupport (6.1.0.alpha)
concurrent-ruby (~> 1.0, >= 1.0.2)
@ -81,9 +84,9 @@ GIT
GIT
remote: https://github.com/lynndylanhurley/devise_token_auth
revision: b6915aa1bd12e28236ef6e9821a29fba5c5039d2
revision: 2a32f18ccce15638a74e72f6cfde5cf15a808d3f
specs:
devise_token_auth (1.1.1)
devise_token_auth (1.1.3)
bcrypt (~> 3.0)
devise (> 3.5.2, < 5)
rails (>= 4.2.0, < 6.1)
@ -97,9 +100,9 @@ GIT
GIT
remote: https://github.com/plataformatec/devise
revision: 6bb74c5abff9f75e992560b308b1f8ae926da50e
revision: f48b6f1651233a39c52dd70e9ac6c35f70086062
specs:
devise (4.7.0)
devise (4.7.1)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0)
@ -109,13 +112,13 @@ GIT
GEM
remote: https://rubygems.org/
specs:
addressable (2.6.0)
public_suffix (>= 2.0.2, < 4.0)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
ast (2.4.0)
attr_extras (6.2.1)
aws-eventstream (1.0.3)
aws-partitions (1.206.0)
aws-sdk-core (3.64.0)
aws-partitions (1.220.0)
aws-sdk-core (3.68.1)
aws-eventstream (~> 1.0, >= 1.0.2)
aws-partitions (~> 1.0)
aws-sigv4 (~> 1.1)
@ -123,7 +126,7 @@ GEM
aws-sdk-kms (1.24.0)
aws-sdk-core (~> 3, >= 3.61.1)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.46.0)
aws-sdk-s3 (1.48.0)
aws-sdk-core (~> 3, >= 3.61.1)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
@ -135,12 +138,12 @@ GEM
thread_safe (~> 0.3, >= 0.3.1)
bcrypt (3.1.13)
bindex (0.8.1)
bootsnap (1.4.4)
bootsnap (1.4.5)
msgpack (~> 1.0)
brakeman (4.6.1)
builder (3.2.3)
byebug (11.0.1)
capybara (3.28.0)
capybara (3.29.0)
addressable
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
@ -148,14 +151,17 @@ GEM
rack-test (>= 0.6.3)
regexp_parser (~> 1.5)
xpath (~> 3.2)
carrierwave (1.3.1)
activemodel (>= 4.0.0)
activesupport (>= 4.0.0)
mime-types (>= 1.16)
carrierwave-aws (1.3.0)
carrierwave (2.0.2)
activemodel (>= 5.0.0)
activesupport (>= 5.0.0)
addressable (~> 2.6)
image_processing (~> 1.1)
mimemagic (>= 0.3.0)
mini_mime (>= 0.1.3)
carrierwave-aws (1.4.0)
aws-sdk-s3 (~> 1.0)
carrierwave (>= 0.7, < 2.0)
chargebee (2.6.9)
carrierwave (>= 0.7, < 2.1)
chargebee (2.7.1)
json_pure (~> 2.1)
rest-client (>= 1.8, < 3.0)
cliver (0.3.2)
@ -178,17 +184,17 @@ GEM
unf (>= 0.0.5, < 1.0.0)
dotenv (0.7.0)
equalizer (0.0.11)
erubi (1.8.0)
erubi (1.9.0)
execjs (2.7.0)
facebook-messenger (0.11.1)
httparty (~> 0.13, >= 0.13.7)
rack (>= 1.6.4)
factory_bot (5.0.2)
factory_bot (5.1.1)
activesupport (>= 4.2.0)
factory_bot_rails (5.0.2)
factory_bot (~> 5.0.2)
factory_bot_rails (5.1.1)
factory_bot (~> 5.1.0)
railties (>= 4.2.0)
faraday (0.15.4)
faraday (0.16.2)
multipart-post (>= 1.2, < 3)
ffi (1.11.1)
figaro (1.1.1)
@ -202,13 +208,16 @@ GEM
http-accept (1.7.0)
http-cookie (1.0.3)
domain_name (~> 0.5)
httparty (0.17.0)
httparty (0.17.1)
mime-types (~> 3.0)
multi_xml (>= 0.5.2)
httpclient (2.8.3)
i18n (1.6.0)
i18n (1.7.0)
concurrent-ruby (~> 1.0)
ice_nine (0.11.2)
image_processing (1.9.3)
mini_magick (>= 4.9.5, < 5)
ruby-vips (>= 2.0.13, < 3)
inflecto (0.0.2)
jaro_winkler (1.5.3)
jbuilder (2.9.1)
@ -238,11 +247,10 @@ GEM
letter_opener (1.7.0)
launchy (~> 2.2)
libv8 (3.16.14.19)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
loofah (2.2.3)
listen (3.2.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.3.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
@ -250,25 +258,25 @@ GEM
marcel (0.3.3)
mimemagic (~> 0.3.2)
method_source (0.9.2)
mime-types (3.2.2)
mime-types (3.3)
mime-types-data (~> 3.2015)
mime-types-data (3.2019.0331)
mime-types-data (3.2019.0904)
mimemagic (0.3.3)
mini_magick (4.9.5)
mini_mime (1.0.2)
mini_portile2 (2.4.0)
minitest (5.11.3)
minitest (5.12.2)
msgpack (1.3.1)
multi_json (1.13.1)
multi_xml (0.6.0)
multipart-post (2.1.1)
netrc (0.11.0)
nightfury (1.0.1)
nio4r (2.4.0)
nio4r (2.5.2)
nokogiri (1.10.4)
mini_portile2 (~> 2.4.0)
oauth2 (1.4.1)
faraday (>= 0.8, < 0.16.0)
oauth2 (1.4.2)
faraday (>= 0.8, < 2.0)
jwt (>= 1.0, < 3.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
@ -282,15 +290,15 @@ GEM
oauth2 (~> 1.1)
omniauth (~> 1.9)
orm_adapter (0.5.0)
parallel (1.17.0)
parser (2.6.4.0)
parallel (1.18.0)
parser (2.6.5.0)
ast (~> 2.4.0)
pg (1.1.4)
poltergeist (1.18.1)
capybara (>= 2.1, < 4)
cliver (~> 0.3.1)
websocket-driver (>= 0.2.0)
public_suffix (3.1.1)
public_suffix (4.0.1)
puma (3.12.1)
pundit (2.1.0)
activesupport (>= 3.0.0)
@ -312,21 +320,21 @@ GEM
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.2.0)
loofah (~> 2.2, >= 2.2.2)
rails-html-sanitizer (1.3.0)
loofah (~> 2.3)
rainbow (3.0.0)
rake (12.3.3)
rake (13.0.0)
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
ffi (~> 1.0)
redis (4.1.2)
redis (4.1.3)
redis-namespace (1.6.0)
redis (>= 3.0.4)
redis-rack-cache (2.1.0)
redis-rack-cache (2.1.2)
rack-cache (>= 1.6, < 2)
redis-store (>= 1.6, < 2)
redis-store (1.6.0)
redis (>= 2.2, < 5)
redis-store (1.8.0)
redis (>= 4, < 5)
ref (2.0.0)
regexp_parser (1.6.0)
responders (3.0.0)
@ -339,10 +347,10 @@ GEM
netrc (~> 0.8)
rspec-core (3.8.2)
rspec-support (~> 3.8.0)
rspec-expectations (3.8.4)
rspec-expectations (3.8.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.8.0)
rspec-mocks (3.8.1)
rspec-mocks (3.8.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.8.0)
rspec-rails (3.8.2)
@ -353,7 +361,7 @@ GEM
rspec-expectations (~> 3.8.0)
rspec-mocks (~> 3.8.0)
rspec-support (~> 3.8.0)
rspec-support (3.8.2)
rspec-support (3.8.3)
rubocop (0.73.0)
jaro_winkler (~> 1.5.1)
parallel (~> 1.10)
@ -362,7 +370,8 @@ GEM
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 1.7)
ruby-progressbar (1.10.1)
ruby_dep (1.5.0)
ruby-vips (2.0.15)
ffi (~> 1.9)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
@ -377,13 +386,13 @@ GEM
seed_dump (3.3.1)
activerecord (>= 4)
activesupport (>= 4)
sentry-raven (2.11.0)
sentry-raven (2.11.3)
faraday (>= 0.7.6, < 1.0)
sidekiq (5.2.7)
connection_pool (~> 2.2, >= 2.2.2)
rack (>= 1.5.0)
rack-protection (>= 1.5.0)
redis (>= 3.3.5, < 5)
sidekiq (6.0.1)
connection_pool (>= 2.2.2)
rack (>= 2.0.0)
rack-protection (>= 2.0.0)
redis (>= 4.1.0)
spring (2.1.0)
spring-watcher-listen (2.0.1)
listen (>= 2.7, < 4.0)
@ -404,19 +413,19 @@ GEM
ref
thor (0.20.3)
thread_safe (0.3.6)
tilt (2.0.9)
tilt (2.0.10)
time_diff (0.3.0)
activesupport
i18n
tzinfo (1.2.5)
thread_safe (~> 0.1)
uglifier (4.1.20)
uglifier (4.2.0)
execjs (>= 0.3.0, < 3)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.6)
unicode-display_width (1.6.0)
valid_email2 (3.0.4)
valid_email2 (3.0.5)
activemodel (>= 3.2)
mail (~> 2.5)
virtus (1.0.5)
@ -441,7 +450,7 @@ GEM
wisper (2.0.0)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.1.9)
zeitwerk (2.1.10)
PLATFORMS
ruby

View file

@ -11,7 +11,8 @@ ___
![License](https://img.shields.io/github/license/chatwoot/chatwoot)
[![Maintainability](https://api.codeclimate.com/v1/badges/80f9e1a7c72d186289ad/maintainability)](https://codeclimate.com/github/chatwoot/chatwoot/maintainability)
![Commits-per-month](https://img.shields.io/github/commit-activity/m/chatwoot/chatwoot)
![ChatUI progess](https://chatwoot.com/images/dashboard-screen.png)
![ChatUI progess](./.github/dashboard-screen.png)
## Quick Setup
@ -33,7 +34,8 @@ brew install imagemagick
# install ruby dependencies
bundle
# copy config
# copy config & update the values in database and application ymls accordingly
# ref docs for detailed instructions
cp shared/config/database.yml config/database.yml
cp shared/config/application.yml config/application.yml

View file

@ -55,6 +55,8 @@ $color-white: #FFF;
$color-body: #3C4858;
$color-heading: #1F2D3D;
$color-modal-header: #f1f1f1;
$color-extra-light-blue: #F5F7F9;
// Thumbnail
$thumbnail-radius: 4rem;

View file

@ -1,35 +1,42 @@
.billing {
@include full-height;
.row {
@include full-height;
}
.billing__stats {
@include flex;
}
.billing__form {
@include thin-border($color-border-light);
@include margin($zero - $space-micro);
@include full-height;
background: $color-white;
iframe {
border: 0;
@include full-height;
border: 0;
width: 100%;
}
}
.account-row {
@include flex-grid-column(3, $space-medium);
@include padding($space-normal);
background: $color-white;
@include flex;
@include flex-direction(column);
// @include thin-border($color-border-light);
// @include margin(-$space-micro $zero);
background: $color-white;
font-size: $font-size-small;
.title {
font-weight: $font-weight-medium;
color: $color-heading;
font-weight: $font-weight-medium;
}
.value {
font-size: $font-size-mega;
font-weight: $font-weight-light;
@ -41,25 +48,29 @@
.account-locked {
@include background-gray;
@include margin(0);
}
.lock-message {
@include flex;
@include full-height;
@include flex-direction(column);
@include flex-align(center, middle);
div {
@include flex;
@include full-height;
@include flex-direction(column);
@include flex-align(center, middle);
img {
width: 10rem;
@include margin($space-normal);
width: 10rem;
}
span {
text-align: center;
font-size: $font-size-small;
font-weight: $font-weight-medium;
}
text-align: center;
}
}
}

View file

@ -1,20 +1,20 @@
.emoji-dialog {
width: 28.6rem;
height: 20rem;
background: $color-white;
box-sizing: content-box;
border-radius: 2px;
position: absolute;
top: -22rem;
right: 0;
padding-bottom: $space-two;
@include elegant-card;
&:before {
background: $color-white;
border-radius: 2px;
box-sizing: content-box;
height: 20rem;
padding-bottom: $space-two;
position: absolute;
bottom: -$space-slab;
right: $space-two;
right: 0;
top: -22rem;
width: 28.6rem;
&::before {
@include arrow(bottom, $color-white, $space-slab);
bottom: -$space-slab;
position: absolute;
right: $space-two;
}
.emojione {
@ -23,25 +23,38 @@
}
.emoji-row {
box-sizing: border-box;
overflow-y: scroll;
height: 180px;
@include padding($space-small);
box-sizing: border-box;
height: 180px;
overflow-y: scroll;
padding-bottom: 0;
.emoji {
border-radius: 4px;
display: inline-block;
padding: 5px;
border-radius: 4px;
}
.emojione {
margin: 0.6rem;
float:left;
cursor: pointer;
float: left;
margin: .6rem;
}
}
.emoji-category-title {
color: $color-heading;
font-size: $font-size-small;
font-weight: $font-weight-medium;
margin: 0;
text-transform: capitalize;
}
.emoji-category-heading-decoration {
text-align: right;
}
}
.emoji-dialog-header {
@include padding($zero $space-smaller);
background-color: $light-gray;
@ -49,58 +62,45 @@
border-top-right-radius: $space-small;
ul {
padding: 0;
margin: 0;
list-style: none;
padding-top: $space-smaller;
margin: 0;
padding: $space-smaller 0 0;
li {
display: inline-block;
> li {
@include padding($space-small $space-small);
box-sizing: border-box;
cursor: pointer;
display: inline-block;
height: 3.4rem;
text-align: center;
@include padding($space-small $space-small);
cursor: pointer;
img, svg {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
&.active {
background: #fff;
> .active {
background: $white;
border-top-left-radius: $space-small;
border-top-right-radius: $space-small;
}
img,
svg {
-webkit-filter: grayscale(0);
filter: grayscale(100%);
}
}
.active {
img,
svg {
filter: grayscale(0);
}
}
}
}
}
.emoji-category-title {
font-size: $font-size-small;
font-weight: $font-weight-medium;
color: $color-heading;
text-transform: capitalize;
margin: 0;
}
.emoji-category-heading-decoration {
text-align: right;
}
}
.emoji-dialog .emoji-category-header > * {
> * {
display: table-cell;
vertical-align: middle;
}
.emoji-dialog .emoji-row
.emoji-dialog .emoji-row .emoji:hover {
background: #F5F7F9;
}
.emoji-dialog .emoji-row,
.emoji-dialog .emoji-row .emoji:hover {
background: $color-extra-light-blue;
}

View file

@ -1,14 +1,16 @@
.user-thumbnail-box {
position: relative;
@include flex-shrink;
position: relative;
.user-thumbnail {
border-radius: 50%;
}
.source-badge {
position: absolute;
height: $space-slab;
width: $space-slab;
right: $zero;
bottom: -$space-micro / 2;
height: $space-slab;
position: absolute;
right: $zero;
width: $space-slab;
}
}

BIN
docs/.github/dashboard-screen.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

View file

@ -3,7 +3,7 @@
<div align="center">Opensource alternative to Intercom, Zendesk, Drift, Crisp etc.</div>
![ChatUI progess](https://chatwoot.com/images/dashboard-screen.png)
![ChatUI progess](.github/dashboard-screen.png)
<div align="center">*Chatwoot* &copy; 2017-2019, ThoughtWoot Inc - Released under the MIT License.
</div>

2168
yarn.lock

File diff suppressed because it is too large Load diff