Merge branch 'master' into codeclimate-76-issue-sidemenu-scss
This commit is contained in:
commit
3a01a40c26
11 changed files with 1169 additions and 1340 deletions
BIN
.github/dashboard-screen.png
vendored
Normal file
BIN
.github/dashboard-screen.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 285 KiB |
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -35,3 +35,6 @@ config/application.yml
|
||||||
|
|
||||||
public/uploads
|
public/uploads
|
||||||
public/packs
|
public/packs
|
||||||
|
|
||||||
|
# ignore jetbrains IDE files
|
||||||
|
.idea
|
131
Gemfile.lock
131
Gemfile.lock
|
@ -1,9 +1,10 @@
|
||||||
GIT
|
GIT
|
||||||
remote: git://github.com/rails/rails.git
|
remote: git://github.com/rails/rails.git
|
||||||
revision: 4a2746db1c92d0bf246e938b872b233a64f0a18b
|
revision: a4ea17f6b6c11e1b0b550a40cfd3811a56cc94d7
|
||||||
specs:
|
specs:
|
||||||
actioncable (6.1.0.alpha)
|
actioncable (6.1.0.alpha)
|
||||||
actionpack (= 6.1.0.alpha)
|
actionpack (= 6.1.0.alpha)
|
||||||
|
activesupport (= 6.1.0.alpha)
|
||||||
nio4r (~> 2.0)
|
nio4r (~> 2.0)
|
||||||
websocket-driver (>= 0.6.1)
|
websocket-driver (>= 0.6.1)
|
||||||
actionmailbox (6.1.0.alpha)
|
actionmailbox (6.1.0.alpha)
|
||||||
|
@ -17,6 +18,7 @@ GIT
|
||||||
actionpack (= 6.1.0.alpha)
|
actionpack (= 6.1.0.alpha)
|
||||||
actionview (= 6.1.0.alpha)
|
actionview (= 6.1.0.alpha)
|
||||||
activejob (= 6.1.0.alpha)
|
activejob (= 6.1.0.alpha)
|
||||||
|
activesupport (= 6.1.0.alpha)
|
||||||
mail (~> 2.5, >= 2.5.4)
|
mail (~> 2.5, >= 2.5.4)
|
||||||
rails-dom-testing (~> 2.0)
|
rails-dom-testing (~> 2.0)
|
||||||
actionpack (6.1.0.alpha)
|
actionpack (6.1.0.alpha)
|
||||||
|
@ -50,6 +52,7 @@ GIT
|
||||||
actionpack (= 6.1.0.alpha)
|
actionpack (= 6.1.0.alpha)
|
||||||
activejob (= 6.1.0.alpha)
|
activejob (= 6.1.0.alpha)
|
||||||
activerecord (= 6.1.0.alpha)
|
activerecord (= 6.1.0.alpha)
|
||||||
|
activesupport (= 6.1.0.alpha)
|
||||||
marcel (~> 0.3.1)
|
marcel (~> 0.3.1)
|
||||||
activesupport (6.1.0.alpha)
|
activesupport (6.1.0.alpha)
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||||
|
@ -81,9 +84,9 @@ GIT
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
remote: https://github.com/lynndylanhurley/devise_token_auth
|
remote: https://github.com/lynndylanhurley/devise_token_auth
|
||||||
revision: b6915aa1bd12e28236ef6e9821a29fba5c5039d2
|
revision: 2a32f18ccce15638a74e72f6cfde5cf15a808d3f
|
||||||
specs:
|
specs:
|
||||||
devise_token_auth (1.1.1)
|
devise_token_auth (1.1.3)
|
||||||
bcrypt (~> 3.0)
|
bcrypt (~> 3.0)
|
||||||
devise (> 3.5.2, < 5)
|
devise (> 3.5.2, < 5)
|
||||||
rails (>= 4.2.0, < 6.1)
|
rails (>= 4.2.0, < 6.1)
|
||||||
|
@ -97,9 +100,9 @@ GIT
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
remote: https://github.com/plataformatec/devise
|
remote: https://github.com/plataformatec/devise
|
||||||
revision: 6bb74c5abff9f75e992560b308b1f8ae926da50e
|
revision: f48b6f1651233a39c52dd70e9ac6c35f70086062
|
||||||
specs:
|
specs:
|
||||||
devise (4.7.0)
|
devise (4.7.1)
|
||||||
bcrypt (~> 3.0)
|
bcrypt (~> 3.0)
|
||||||
orm_adapter (~> 0.1)
|
orm_adapter (~> 0.1)
|
||||||
railties (>= 4.1.0)
|
railties (>= 4.1.0)
|
||||||
|
@ -109,13 +112,13 @@ GIT
|
||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
addressable (2.6.0)
|
addressable (2.7.0)
|
||||||
public_suffix (>= 2.0.2, < 4.0)
|
public_suffix (>= 2.0.2, < 5.0)
|
||||||
ast (2.4.0)
|
ast (2.4.0)
|
||||||
attr_extras (6.2.1)
|
attr_extras (6.2.1)
|
||||||
aws-eventstream (1.0.3)
|
aws-eventstream (1.0.3)
|
||||||
aws-partitions (1.206.0)
|
aws-partitions (1.220.0)
|
||||||
aws-sdk-core (3.64.0)
|
aws-sdk-core (3.68.1)
|
||||||
aws-eventstream (~> 1.0, >= 1.0.2)
|
aws-eventstream (~> 1.0, >= 1.0.2)
|
||||||
aws-partitions (~> 1.0)
|
aws-partitions (~> 1.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
|
@ -123,7 +126,7 @@ GEM
|
||||||
aws-sdk-kms (1.24.0)
|
aws-sdk-kms (1.24.0)
|
||||||
aws-sdk-core (~> 3, >= 3.61.1)
|
aws-sdk-core (~> 3, >= 3.61.1)
|
||||||
aws-sigv4 (~> 1.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-core (~> 3, >= 3.61.1)
|
||||||
aws-sdk-kms (~> 1)
|
aws-sdk-kms (~> 1)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
|
@ -135,12 +138,12 @@ GEM
|
||||||
thread_safe (~> 0.3, >= 0.3.1)
|
thread_safe (~> 0.3, >= 0.3.1)
|
||||||
bcrypt (3.1.13)
|
bcrypt (3.1.13)
|
||||||
bindex (0.8.1)
|
bindex (0.8.1)
|
||||||
bootsnap (1.4.4)
|
bootsnap (1.4.5)
|
||||||
msgpack (~> 1.0)
|
msgpack (~> 1.0)
|
||||||
brakeman (4.6.1)
|
brakeman (4.6.1)
|
||||||
builder (3.2.3)
|
builder (3.2.3)
|
||||||
byebug (11.0.1)
|
byebug (11.0.1)
|
||||||
capybara (3.28.0)
|
capybara (3.29.0)
|
||||||
addressable
|
addressable
|
||||||
mini_mime (>= 0.1.3)
|
mini_mime (>= 0.1.3)
|
||||||
nokogiri (~> 1.8)
|
nokogiri (~> 1.8)
|
||||||
|
@ -148,14 +151,17 @@ GEM
|
||||||
rack-test (>= 0.6.3)
|
rack-test (>= 0.6.3)
|
||||||
regexp_parser (~> 1.5)
|
regexp_parser (~> 1.5)
|
||||||
xpath (~> 3.2)
|
xpath (~> 3.2)
|
||||||
carrierwave (1.3.1)
|
carrierwave (2.0.2)
|
||||||
activemodel (>= 4.0.0)
|
activemodel (>= 5.0.0)
|
||||||
activesupport (>= 4.0.0)
|
activesupport (>= 5.0.0)
|
||||||
mime-types (>= 1.16)
|
addressable (~> 2.6)
|
||||||
carrierwave-aws (1.3.0)
|
image_processing (~> 1.1)
|
||||||
|
mimemagic (>= 0.3.0)
|
||||||
|
mini_mime (>= 0.1.3)
|
||||||
|
carrierwave-aws (1.4.0)
|
||||||
aws-sdk-s3 (~> 1.0)
|
aws-sdk-s3 (~> 1.0)
|
||||||
carrierwave (>= 0.7, < 2.0)
|
carrierwave (>= 0.7, < 2.1)
|
||||||
chargebee (2.6.9)
|
chargebee (2.7.1)
|
||||||
json_pure (~> 2.1)
|
json_pure (~> 2.1)
|
||||||
rest-client (>= 1.8, < 3.0)
|
rest-client (>= 1.8, < 3.0)
|
||||||
cliver (0.3.2)
|
cliver (0.3.2)
|
||||||
|
@ -178,17 +184,17 @@ GEM
|
||||||
unf (>= 0.0.5, < 1.0.0)
|
unf (>= 0.0.5, < 1.0.0)
|
||||||
dotenv (0.7.0)
|
dotenv (0.7.0)
|
||||||
equalizer (0.0.11)
|
equalizer (0.0.11)
|
||||||
erubi (1.8.0)
|
erubi (1.9.0)
|
||||||
execjs (2.7.0)
|
execjs (2.7.0)
|
||||||
facebook-messenger (0.11.1)
|
facebook-messenger (0.11.1)
|
||||||
httparty (~> 0.13, >= 0.13.7)
|
httparty (~> 0.13, >= 0.13.7)
|
||||||
rack (>= 1.6.4)
|
rack (>= 1.6.4)
|
||||||
factory_bot (5.0.2)
|
factory_bot (5.1.1)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
factory_bot_rails (5.0.2)
|
factory_bot_rails (5.1.1)
|
||||||
factory_bot (~> 5.0.2)
|
factory_bot (~> 5.1.0)
|
||||||
railties (>= 4.2.0)
|
railties (>= 4.2.0)
|
||||||
faraday (0.15.4)
|
faraday (0.16.2)
|
||||||
multipart-post (>= 1.2, < 3)
|
multipart-post (>= 1.2, < 3)
|
||||||
ffi (1.11.1)
|
ffi (1.11.1)
|
||||||
figaro (1.1.1)
|
figaro (1.1.1)
|
||||||
|
@ -202,13 +208,16 @@ GEM
|
||||||
http-accept (1.7.0)
|
http-accept (1.7.0)
|
||||||
http-cookie (1.0.3)
|
http-cookie (1.0.3)
|
||||||
domain_name (~> 0.5)
|
domain_name (~> 0.5)
|
||||||
httparty (0.17.0)
|
httparty (0.17.1)
|
||||||
mime-types (~> 3.0)
|
mime-types (~> 3.0)
|
||||||
multi_xml (>= 0.5.2)
|
multi_xml (>= 0.5.2)
|
||||||
httpclient (2.8.3)
|
httpclient (2.8.3)
|
||||||
i18n (1.6.0)
|
i18n (1.7.0)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
ice_nine (0.11.2)
|
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)
|
inflecto (0.0.2)
|
||||||
jaro_winkler (1.5.3)
|
jaro_winkler (1.5.3)
|
||||||
jbuilder (2.9.1)
|
jbuilder (2.9.1)
|
||||||
|
@ -238,11 +247,10 @@ GEM
|
||||||
letter_opener (1.7.0)
|
letter_opener (1.7.0)
|
||||||
launchy (~> 2.2)
|
launchy (~> 2.2)
|
||||||
libv8 (3.16.14.19)
|
libv8 (3.16.14.19)
|
||||||
listen (3.1.5)
|
listen (3.2.0)
|
||||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||||
rb-inotify (~> 0.9, >= 0.9.7)
|
rb-inotify (~> 0.9, >= 0.9.10)
|
||||||
ruby_dep (~> 1.2)
|
loofah (2.3.0)
|
||||||
loofah (2.2.3)
|
|
||||||
crass (~> 1.0.2)
|
crass (~> 1.0.2)
|
||||||
nokogiri (>= 1.5.9)
|
nokogiri (>= 1.5.9)
|
||||||
mail (2.7.1)
|
mail (2.7.1)
|
||||||
|
@ -250,25 +258,25 @@ GEM
|
||||||
marcel (0.3.3)
|
marcel (0.3.3)
|
||||||
mimemagic (~> 0.3.2)
|
mimemagic (~> 0.3.2)
|
||||||
method_source (0.9.2)
|
method_source (0.9.2)
|
||||||
mime-types (3.2.2)
|
mime-types (3.3)
|
||||||
mime-types-data (~> 3.2015)
|
mime-types-data (~> 3.2015)
|
||||||
mime-types-data (3.2019.0331)
|
mime-types-data (3.2019.0904)
|
||||||
mimemagic (0.3.3)
|
mimemagic (0.3.3)
|
||||||
mini_magick (4.9.5)
|
mini_magick (4.9.5)
|
||||||
mini_mime (1.0.2)
|
mini_mime (1.0.2)
|
||||||
mini_portile2 (2.4.0)
|
mini_portile2 (2.4.0)
|
||||||
minitest (5.11.3)
|
minitest (5.12.2)
|
||||||
msgpack (1.3.1)
|
msgpack (1.3.1)
|
||||||
multi_json (1.13.1)
|
multi_json (1.13.1)
|
||||||
multi_xml (0.6.0)
|
multi_xml (0.6.0)
|
||||||
multipart-post (2.1.1)
|
multipart-post (2.1.1)
|
||||||
netrc (0.11.0)
|
netrc (0.11.0)
|
||||||
nightfury (1.0.1)
|
nightfury (1.0.1)
|
||||||
nio4r (2.4.0)
|
nio4r (2.5.2)
|
||||||
nokogiri (1.10.4)
|
nokogiri (1.10.4)
|
||||||
mini_portile2 (~> 2.4.0)
|
mini_portile2 (~> 2.4.0)
|
||||||
oauth2 (1.4.1)
|
oauth2 (1.4.2)
|
||||||
faraday (>= 0.8, < 0.16.0)
|
faraday (>= 0.8, < 2.0)
|
||||||
jwt (>= 1.0, < 3.0)
|
jwt (>= 1.0, < 3.0)
|
||||||
multi_json (~> 1.3)
|
multi_json (~> 1.3)
|
||||||
multi_xml (~> 0.5)
|
multi_xml (~> 0.5)
|
||||||
|
@ -282,15 +290,15 @@ GEM
|
||||||
oauth2 (~> 1.1)
|
oauth2 (~> 1.1)
|
||||||
omniauth (~> 1.9)
|
omniauth (~> 1.9)
|
||||||
orm_adapter (0.5.0)
|
orm_adapter (0.5.0)
|
||||||
parallel (1.17.0)
|
parallel (1.18.0)
|
||||||
parser (2.6.4.0)
|
parser (2.6.5.0)
|
||||||
ast (~> 2.4.0)
|
ast (~> 2.4.0)
|
||||||
pg (1.1.4)
|
pg (1.1.4)
|
||||||
poltergeist (1.18.1)
|
poltergeist (1.18.1)
|
||||||
capybara (>= 2.1, < 4)
|
capybara (>= 2.1, < 4)
|
||||||
cliver (~> 0.3.1)
|
cliver (~> 0.3.1)
|
||||||
websocket-driver (>= 0.2.0)
|
websocket-driver (>= 0.2.0)
|
||||||
public_suffix (3.1.1)
|
public_suffix (4.0.1)
|
||||||
puma (3.12.1)
|
puma (3.12.1)
|
||||||
pundit (2.1.0)
|
pundit (2.1.0)
|
||||||
activesupport (>= 3.0.0)
|
activesupport (>= 3.0.0)
|
||||||
|
@ -312,21 +320,21 @@ GEM
|
||||||
rails-dom-testing (2.0.3)
|
rails-dom-testing (2.0.3)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
nokogiri (>= 1.6)
|
nokogiri (>= 1.6)
|
||||||
rails-html-sanitizer (1.2.0)
|
rails-html-sanitizer (1.3.0)
|
||||||
loofah (~> 2.2, >= 2.2.2)
|
loofah (~> 2.3)
|
||||||
rainbow (3.0.0)
|
rainbow (3.0.0)
|
||||||
rake (12.3.3)
|
rake (13.0.0)
|
||||||
rb-fsevent (0.10.3)
|
rb-fsevent (0.10.3)
|
||||||
rb-inotify (0.10.0)
|
rb-inotify (0.10.0)
|
||||||
ffi (~> 1.0)
|
ffi (~> 1.0)
|
||||||
redis (4.1.2)
|
redis (4.1.3)
|
||||||
redis-namespace (1.6.0)
|
redis-namespace (1.6.0)
|
||||||
redis (>= 3.0.4)
|
redis (>= 3.0.4)
|
||||||
redis-rack-cache (2.1.0)
|
redis-rack-cache (2.1.2)
|
||||||
rack-cache (>= 1.6, < 2)
|
rack-cache (>= 1.6, < 2)
|
||||||
redis-store (>= 1.6, < 2)
|
redis-store (>= 1.6, < 2)
|
||||||
redis-store (1.6.0)
|
redis-store (1.8.0)
|
||||||
redis (>= 2.2, < 5)
|
redis (>= 4, < 5)
|
||||||
ref (2.0.0)
|
ref (2.0.0)
|
||||||
regexp_parser (1.6.0)
|
regexp_parser (1.6.0)
|
||||||
responders (3.0.0)
|
responders (3.0.0)
|
||||||
|
@ -339,10 +347,10 @@ GEM
|
||||||
netrc (~> 0.8)
|
netrc (~> 0.8)
|
||||||
rspec-core (3.8.2)
|
rspec-core (3.8.2)
|
||||||
rspec-support (~> 3.8.0)
|
rspec-support (~> 3.8.0)
|
||||||
rspec-expectations (3.8.4)
|
rspec-expectations (3.8.5)
|
||||||
diff-lcs (>= 1.2.0, < 2.0)
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
rspec-support (~> 3.8.0)
|
rspec-support (~> 3.8.0)
|
||||||
rspec-mocks (3.8.1)
|
rspec-mocks (3.8.2)
|
||||||
diff-lcs (>= 1.2.0, < 2.0)
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
rspec-support (~> 3.8.0)
|
rspec-support (~> 3.8.0)
|
||||||
rspec-rails (3.8.2)
|
rspec-rails (3.8.2)
|
||||||
|
@ -353,7 +361,7 @@ GEM
|
||||||
rspec-expectations (~> 3.8.0)
|
rspec-expectations (~> 3.8.0)
|
||||||
rspec-mocks (~> 3.8.0)
|
rspec-mocks (~> 3.8.0)
|
||||||
rspec-support (~> 3.8.0)
|
rspec-support (~> 3.8.0)
|
||||||
rspec-support (3.8.2)
|
rspec-support (3.8.3)
|
||||||
rubocop (0.73.0)
|
rubocop (0.73.0)
|
||||||
jaro_winkler (~> 1.5.1)
|
jaro_winkler (~> 1.5.1)
|
||||||
parallel (~> 1.10)
|
parallel (~> 1.10)
|
||||||
|
@ -362,7 +370,8 @@ GEM
|
||||||
ruby-progressbar (~> 1.7)
|
ruby-progressbar (~> 1.7)
|
||||||
unicode-display_width (>= 1.4.0, < 1.7)
|
unicode-display_width (>= 1.4.0, < 1.7)
|
||||||
ruby-progressbar (1.10.1)
|
ruby-progressbar (1.10.1)
|
||||||
ruby_dep (1.5.0)
|
ruby-vips (2.0.15)
|
||||||
|
ffi (~> 1.9)
|
||||||
sass (3.7.4)
|
sass (3.7.4)
|
||||||
sass-listen (~> 4.0.0)
|
sass-listen (~> 4.0.0)
|
||||||
sass-listen (4.0.0)
|
sass-listen (4.0.0)
|
||||||
|
@ -377,13 +386,13 @@ GEM
|
||||||
seed_dump (3.3.1)
|
seed_dump (3.3.1)
|
||||||
activerecord (>= 4)
|
activerecord (>= 4)
|
||||||
activesupport (>= 4)
|
activesupport (>= 4)
|
||||||
sentry-raven (2.11.0)
|
sentry-raven (2.11.3)
|
||||||
faraday (>= 0.7.6, < 1.0)
|
faraday (>= 0.7.6, < 1.0)
|
||||||
sidekiq (5.2.7)
|
sidekiq (6.0.1)
|
||||||
connection_pool (~> 2.2, >= 2.2.2)
|
connection_pool (>= 2.2.2)
|
||||||
rack (>= 1.5.0)
|
rack (>= 2.0.0)
|
||||||
rack-protection (>= 1.5.0)
|
rack-protection (>= 2.0.0)
|
||||||
redis (>= 3.3.5, < 5)
|
redis (>= 4.1.0)
|
||||||
spring (2.1.0)
|
spring (2.1.0)
|
||||||
spring-watcher-listen (2.0.1)
|
spring-watcher-listen (2.0.1)
|
||||||
listen (>= 2.7, < 4.0)
|
listen (>= 2.7, < 4.0)
|
||||||
|
@ -404,19 +413,19 @@ GEM
|
||||||
ref
|
ref
|
||||||
thor (0.20.3)
|
thor (0.20.3)
|
||||||
thread_safe (0.3.6)
|
thread_safe (0.3.6)
|
||||||
tilt (2.0.9)
|
tilt (2.0.10)
|
||||||
time_diff (0.3.0)
|
time_diff (0.3.0)
|
||||||
activesupport
|
activesupport
|
||||||
i18n
|
i18n
|
||||||
tzinfo (1.2.5)
|
tzinfo (1.2.5)
|
||||||
thread_safe (~> 0.1)
|
thread_safe (~> 0.1)
|
||||||
uglifier (4.1.20)
|
uglifier (4.2.0)
|
||||||
execjs (>= 0.3.0, < 3)
|
execjs (>= 0.3.0, < 3)
|
||||||
unf (0.1.4)
|
unf (0.1.4)
|
||||||
unf_ext
|
unf_ext
|
||||||
unf_ext (0.0.7.6)
|
unf_ext (0.0.7.6)
|
||||||
unicode-display_width (1.6.0)
|
unicode-display_width (1.6.0)
|
||||||
valid_email2 (3.0.4)
|
valid_email2 (3.0.5)
|
||||||
activemodel (>= 3.2)
|
activemodel (>= 3.2)
|
||||||
mail (~> 2.5)
|
mail (~> 2.5)
|
||||||
virtus (1.0.5)
|
virtus (1.0.5)
|
||||||
|
@ -441,7 +450,7 @@ GEM
|
||||||
wisper (2.0.0)
|
wisper (2.0.0)
|
||||||
xpath (3.2.0)
|
xpath (3.2.0)
|
||||||
nokogiri (~> 1.8)
|
nokogiri (~> 1.8)
|
||||||
zeitwerk (2.1.9)
|
zeitwerk (2.1.10)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
|
|
@ -11,7 +11,8 @@ ___
|
||||||
![License](https://img.shields.io/github/license/chatwoot/chatwoot)
|
![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)
|
[![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)
|
![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
|
## Quick Setup
|
||||||
|
|
||||||
|
@ -33,7 +34,8 @@ brew install imagemagick
|
||||||
# install ruby dependencies
|
# install ruby dependencies
|
||||||
bundle
|
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/database.yml config/database.yml
|
||||||
cp shared/config/application.yml config/application.yml
|
cp shared/config/application.yml config/application.yml
|
||||||
|
|
||||||
|
|
|
@ -55,6 +55,8 @@ $color-white: #FFF;
|
||||||
$color-body: #3C4858;
|
$color-body: #3C4858;
|
||||||
$color-heading: #1F2D3D;
|
$color-heading: #1F2D3D;
|
||||||
$color-modal-header: #f1f1f1;
|
$color-modal-header: #f1f1f1;
|
||||||
|
$color-extra-light-blue: #F5F7F9;
|
||||||
|
|
||||||
// Thumbnail
|
// Thumbnail
|
||||||
$thumbnail-radius: 4rem;
|
$thumbnail-radius: 4rem;
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,42 @@
|
||||||
.billing {
|
.billing {
|
||||||
@include full-height;
|
@include full-height;
|
||||||
|
|
||||||
.row {
|
.row {
|
||||||
@include full-height;
|
@include full-height;
|
||||||
}
|
}
|
||||||
|
|
||||||
.billing__stats {
|
.billing__stats {
|
||||||
@include flex;
|
@include flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
.billing__form {
|
.billing__form {
|
||||||
@include thin-border($color-border-light);
|
@include thin-border($color-border-light);
|
||||||
@include margin($zero - $space-micro);
|
@include margin($zero - $space-micro);
|
||||||
@include full-height;
|
@include full-height;
|
||||||
background: $color-white;
|
background: $color-white;
|
||||||
|
|
||||||
iframe {
|
iframe {
|
||||||
border: 0;
|
|
||||||
@include full-height;
|
@include full-height;
|
||||||
|
border: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.account-row {
|
.account-row {
|
||||||
@include flex-grid-column(3, $space-medium);
|
@include flex-grid-column(3, $space-medium);
|
||||||
@include padding($space-normal);
|
@include padding($space-normal);
|
||||||
background: $color-white;
|
|
||||||
@include flex;
|
@include flex;
|
||||||
@include flex-direction(column);
|
@include flex-direction(column);
|
||||||
// @include thin-border($color-border-light);
|
// @include thin-border($color-border-light);
|
||||||
// @include margin(-$space-micro $zero);
|
// @include margin(-$space-micro $zero);
|
||||||
|
background: $color-white;
|
||||||
font-size: $font-size-small;
|
font-size: $font-size-small;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-weight: $font-weight-medium;
|
|
||||||
color: $color-heading;
|
color: $color-heading;
|
||||||
|
font-weight: $font-weight-medium;
|
||||||
}
|
}
|
||||||
|
|
||||||
.value {
|
.value {
|
||||||
font-size: $font-size-mega;
|
font-size: $font-size-mega;
|
||||||
font-weight: $font-weight-light;
|
font-weight: $font-weight-light;
|
||||||
|
@ -41,25 +48,29 @@
|
||||||
.account-locked {
|
.account-locked {
|
||||||
@include background-gray;
|
@include background-gray;
|
||||||
@include margin(0);
|
@include margin(0);
|
||||||
|
}
|
||||||
|
|
||||||
.lock-message {
|
.lock-message {
|
||||||
@include flex;
|
@include flex;
|
||||||
@include full-height;
|
@include full-height;
|
||||||
@include flex-direction(column);
|
@include flex-direction(column);
|
||||||
@include flex-align(center, middle);
|
@include flex-align(center, middle);
|
||||||
|
|
||||||
div {
|
div {
|
||||||
@include flex;
|
@include flex;
|
||||||
@include full-height;
|
@include full-height;
|
||||||
@include flex-direction(column);
|
@include flex-direction(column);
|
||||||
@include flex-align(center, middle);
|
@include flex-align(center, middle);
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 10rem;
|
|
||||||
@include margin($space-normal);
|
@include margin($space-normal);
|
||||||
|
width: 10rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
text-align: center;
|
|
||||||
font-size: $font-size-small;
|
font-size: $font-size-small;
|
||||||
font-weight: $font-weight-medium;
|
font-weight: $font-weight-medium;
|
||||||
}
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
.emoji-dialog {
|
.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;
|
@include elegant-card;
|
||||||
|
background: $color-white;
|
||||||
&:before {
|
border-radius: 2px;
|
||||||
|
box-sizing: content-box;
|
||||||
|
height: 20rem;
|
||||||
|
padding-bottom: $space-two;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: -$space-slab;
|
right: 0;
|
||||||
right: $space-two;
|
top: -22rem;
|
||||||
|
width: 28.6rem;
|
||||||
|
|
||||||
|
&::before {
|
||||||
@include arrow(bottom, $color-white, $space-slab);
|
@include arrow(bottom, $color-white, $space-slab);
|
||||||
|
bottom: -$space-slab;
|
||||||
|
position: absolute;
|
||||||
|
right: $space-two;
|
||||||
}
|
}
|
||||||
|
|
||||||
.emojione {
|
.emojione {
|
||||||
|
@ -23,25 +23,38 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.emoji-row {
|
.emoji-row {
|
||||||
box-sizing: border-box;
|
|
||||||
overflow-y: scroll;
|
|
||||||
height: 180px;
|
|
||||||
@include padding($space-small);
|
@include padding($space-small);
|
||||||
|
box-sizing: border-box;
|
||||||
|
height: 180px;
|
||||||
|
overflow-y: scroll;
|
||||||
padding-bottom: 0;
|
padding-bottom: 0;
|
||||||
|
|
||||||
.emoji {
|
.emoji {
|
||||||
|
border-radius: 4px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border-radius: 4px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.emojione {
|
.emojione {
|
||||||
margin: 0.6rem;
|
|
||||||
float:left;
|
|
||||||
cursor: pointer;
|
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 {
|
.emoji-dialog-header {
|
||||||
@include padding($zero $space-smaller);
|
@include padding($zero $space-smaller);
|
||||||
background-color: $light-gray;
|
background-color: $light-gray;
|
||||||
|
@ -49,58 +62,45 @@
|
||||||
border-top-right-radius: $space-small;
|
border-top-right-radius: $space-small;
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
list-style: none;
|
list-style: none;
|
||||||
padding-top: $space-smaller;
|
margin: 0;
|
||||||
|
padding: $space-smaller 0 0;
|
||||||
|
|
||||||
li {
|
> li {
|
||||||
display: inline-block;
|
@include padding($space-small $space-small);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
cursor: pointer;
|
||||||
|
display: inline-block;
|
||||||
height: 3.4rem;
|
height: 3.4rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@include padding($space-small $space-small);
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
img, svg {
|
|
||||||
-webkit-filter: grayscale(100%);
|
|
||||||
filter: grayscale(100%);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.active {
|
> .active {
|
||||||
background: #fff;
|
background: $white;
|
||||||
border-top-left-radius: $space-small;
|
border-top-left-radius: $space-small;
|
||||||
border-top-right-radius: $space-small;
|
border-top-right-radius: $space-small;
|
||||||
|
}
|
||||||
|
|
||||||
img,
|
img,
|
||||||
svg {
|
svg {
|
||||||
-webkit-filter: grayscale(0);
|
filter: grayscale(100%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.active {
|
||||||
|
img,
|
||||||
|
svg {
|
||||||
filter: grayscale(0);
|
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;
|
display: table-cell;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
.emoji-dialog .emoji-row
|
|
||||||
.emoji-dialog .emoji-row .emoji:hover {
|
.emoji-dialog .emoji-row,
|
||||||
background: #F5F7F9;
|
.emoji-dialog .emoji-row .emoji:hover {
|
||||||
|
background: $color-extra-light-blue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
.user-thumbnail-box {
|
.user-thumbnail-box {
|
||||||
position: relative;
|
|
||||||
@include flex-shrink;
|
@include flex-shrink;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
.user-thumbnail {
|
.user-thumbnail {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.source-badge {
|
.source-badge {
|
||||||
position: absolute;
|
|
||||||
height: $space-slab;
|
|
||||||
width: $space-slab;
|
|
||||||
right: $zero;
|
|
||||||
bottom: -$space-micro / 2;
|
bottom: -$space-micro / 2;
|
||||||
|
height: $space-slab;
|
||||||
|
position: absolute;
|
||||||
|
right: $zero;
|
||||||
|
width: $space-slab;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
BIN
docs/.github/dashboard-screen.png
vendored
Normal file
BIN
docs/.github/dashboard-screen.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 285 KiB |
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
<div align="center">Opensource alternative to Intercom, Zendesk, Drift, Crisp etc.</div>
|
<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* © 2017-2019, ThoughtWoot Inc - Released under the MIT License.
|
<div align="center">*Chatwoot* © 2017-2019, ThoughtWoot Inc - Released under the MIT License.
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue