Initial commit
21
.gitignore
vendored
Executable file
@ -0,0 +1,21 @@
|
||||
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
|
||||
#
|
||||
# If you find yourself ignoring temporary files generated by your text editor
|
||||
# or operating system, you probably want to add a global ignore instead:
|
||||
# git config --global core.excludesfile '~/.gitignore_global'
|
||||
|
||||
# Ignore bundler config.
|
||||
/.bundle
|
||||
|
||||
# Ignore the default SQLite database.
|
||||
/db/*.sqlite3
|
||||
/db/*.sqlite3-journal
|
||||
|
||||
# Ignore all logfiles and tempfiles.
|
||||
/log/*
|
||||
/tmp/*
|
||||
!/log/.keep
|
||||
!/tmp/.keep
|
||||
|
||||
# Ignore Byebug command history file.
|
||||
.byebug_history
|
57
Gemfile
Executable file
@ -0,0 +1,57 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
|
||||
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
||||
gem 'rails', '~> 5.0.0', '>= 5.0.0.1'
|
||||
# Use sqlite3 as the database for Active Record
|
||||
gem 'sqlite3'
|
||||
# Use Puma as the app server
|
||||
gem 'puma', '~> 3.0'
|
||||
# Use SCSS for stylesheets
|
||||
gem 'sass-rails', '~> 5.0'
|
||||
# Use Uglifier as compressor for JavaScript assets
|
||||
gem 'uglifier', '>= 1.3.0'
|
||||
# Use CoffeeScript for .coffee assets and views
|
||||
gem 'coffee-rails', '~> 4.2'
|
||||
# See https://github.com/rails/execjs#readme for more supported runtimes
|
||||
# gem 'therubyracer', platforms: :ruby
|
||||
|
||||
# Use jquery as the JavaScript library
|
||||
gem 'jquery-rails'
|
||||
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
|
||||
gem 'turbolinks', '~> 5'
|
||||
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
||||
gem 'jbuilder', '~> 2.5'
|
||||
# Use Redis adapter to run Action Cable in production
|
||||
# gem 'redis', '~> 3.0'
|
||||
# Use ActiveModel has_secure_password
|
||||
# gem 'bcrypt', '~> 3.1.7'
|
||||
|
||||
# Use Capistrano for deployment
|
||||
# gem 'capistrano-rails', group: :development
|
||||
|
||||
gem 'haml'
|
||||
gem 'bootstrap-sass'
|
||||
gem 'font-awesome-sass'
|
||||
gem 'gmaps4rails'
|
||||
gem 'underscore-rails'
|
||||
source 'https://rails-assets.org/' do
|
||||
gem 'rails-assets-adminlte'
|
||||
end
|
||||
|
||||
group :development, :test do
|
||||
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
|
||||
gem 'byebug', platform: :mri
|
||||
end
|
||||
|
||||
group :development do
|
||||
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
|
||||
gem 'web-console'
|
||||
gem 'listen', '~> 3.0.5'
|
||||
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
|
||||
gem 'spring'
|
||||
gem 'spring-watcher-listen', '~> 2.0.0'
|
||||
end
|
||||
|
||||
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
193
Gemfile.lock
Executable file
@ -0,0 +1,193 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
remote: https://rails-assets.org/
|
||||
specs:
|
||||
actioncable (5.0.0.1)
|
||||
actionpack (= 5.0.0.1)
|
||||
nio4r (~> 1.2)
|
||||
websocket-driver (~> 0.6.1)
|
||||
actionmailer (5.0.0.1)
|
||||
actionpack (= 5.0.0.1)
|
||||
actionview (= 5.0.0.1)
|
||||
activejob (= 5.0.0.1)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
actionpack (5.0.0.1)
|
||||
actionview (= 5.0.0.1)
|
||||
activesupport (= 5.0.0.1)
|
||||
rack (~> 2.0)
|
||||
rack-test (~> 0.6.3)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
||||
actionview (5.0.0.1)
|
||||
activesupport (= 5.0.0.1)
|
||||
builder (~> 3.1)
|
||||
erubis (~> 2.7.0)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
||||
activejob (5.0.0.1)
|
||||
activesupport (= 5.0.0.1)
|
||||
globalid (>= 0.3.6)
|
||||
activemodel (5.0.0.1)
|
||||
activesupport (= 5.0.0.1)
|
||||
activerecord (5.0.0.1)
|
||||
activemodel (= 5.0.0.1)
|
||||
activesupport (= 5.0.0.1)
|
||||
arel (~> 7.0)
|
||||
activesupport (5.0.0.1)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (~> 0.7)
|
||||
minitest (~> 5.1)
|
||||
tzinfo (~> 1.1)
|
||||
arel (7.1.4)
|
||||
autoprefixer-rails (6.5.1.1)
|
||||
execjs
|
||||
bootstrap-sass (3.3.7)
|
||||
autoprefixer-rails (>= 5.2.1)
|
||||
sass (>= 3.3.4)
|
||||
builder (3.2.2)
|
||||
byebug (9.0.6)
|
||||
coffee-rails (4.2.1)
|
||||
coffee-script (>= 2.2.0)
|
||||
railties (>= 4.0.0, < 5.2.x)
|
||||
coffee-script (2.4.1)
|
||||
coffee-script-source
|
||||
execjs
|
||||
coffee-script-source (1.10.0)
|
||||
concurrent-ruby (1.0.2)
|
||||
debug_inspector (0.0.2)
|
||||
erubis (2.7.0)
|
||||
execjs (2.7.0)
|
||||
ffi (1.9.14)
|
||||
font-awesome-sass (4.7.0)
|
||||
sass (>= 3.2)
|
||||
globalid (0.3.7)
|
||||
activesupport (>= 4.1.0)
|
||||
gmaps4rails (2.1.2)
|
||||
haml (4.0.7)
|
||||
tilt
|
||||
i18n (0.7.0)
|
||||
jbuilder (2.6.0)
|
||||
activesupport (>= 3.0.0, < 5.1)
|
||||
multi_json (~> 1.2)
|
||||
jquery-rails (4.2.1)
|
||||
rails-dom-testing (>= 1, < 3)
|
||||
railties (>= 4.2.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
listen (3.0.8)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
loofah (2.0.3)
|
||||
nokogiri (>= 1.5.9)
|
||||
mail (2.6.4)
|
||||
mime-types (>= 1.16, < 4)
|
||||
method_source (0.8.2)
|
||||
mime-types (3.1)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2016.0521)
|
||||
mini_portile2 (2.1.0)
|
||||
minitest (5.9.1)
|
||||
multi_json (1.12.1)
|
||||
nio4r (1.2.1)
|
||||
nokogiri (1.6.8.1)
|
||||
mini_portile2 (~> 2.1.0)
|
||||
puma (3.6.0)
|
||||
rack (2.0.1)
|
||||
rack-test (0.6.3)
|
||||
rack (>= 1.0)
|
||||
rails (5.0.0.1)
|
||||
actioncable (= 5.0.0.1)
|
||||
actionmailer (= 5.0.0.1)
|
||||
actionpack (= 5.0.0.1)
|
||||
actionview (= 5.0.0.1)
|
||||
activejob (= 5.0.0.1)
|
||||
activemodel (= 5.0.0.1)
|
||||
activerecord (= 5.0.0.1)
|
||||
activesupport (= 5.0.0.1)
|
||||
bundler (>= 1.3.0, < 2.0)
|
||||
railties (= 5.0.0.1)
|
||||
sprockets-rails (>= 2.0.0)
|
||||
rails-assets-adminlte (2.3.7)
|
||||
rails-dom-testing (2.0.1)
|
||||
activesupport (>= 4.2.0, < 6.0)
|
||||
nokogiri (~> 1.6.0)
|
||||
rails-html-sanitizer (1.0.3)
|
||||
loofah (~> 2.0)
|
||||
railties (5.0.0.1)
|
||||
actionpack (= 5.0.0.1)
|
||||
activesupport (= 5.0.0.1)
|
||||
method_source
|
||||
rake (>= 0.8.7)
|
||||
thor (>= 0.18.1, < 2.0)
|
||||
rake (11.3.0)
|
||||
rb-fsevent (0.9.8)
|
||||
rb-inotify (0.9.7)
|
||||
ffi (>= 0.5.0)
|
||||
sass (3.4.22)
|
||||
sass-rails (5.0.6)
|
||||
railties (>= 4.0.0, < 6)
|
||||
sass (~> 3.1)
|
||||
sprockets (>= 2.8, < 4.0)
|
||||
sprockets-rails (>= 2.0, < 4.0)
|
||||
tilt (>= 1.1, < 3)
|
||||
spring (2.0.0)
|
||||
activesupport (>= 4.2)
|
||||
spring-watcher-listen (2.0.1)
|
||||
listen (>= 2.7, < 4.0)
|
||||
spring (>= 1.2, < 3.0)
|
||||
sprockets (3.7.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
rack (> 1, < 3)
|
||||
sprockets-rails (3.2.0)
|
||||
actionpack (>= 4.0)
|
||||
activesupport (>= 4.0)
|
||||
sprockets (>= 3.0.0)
|
||||
sqlite3 (1.3.12)
|
||||
thor (0.19.1)
|
||||
thread_safe (0.3.5)
|
||||
tilt (2.0.5)
|
||||
turbolinks (5.0.1)
|
||||
turbolinks-source (~> 5)
|
||||
turbolinks-source (5.0.0)
|
||||
tzinfo (1.2.2)
|
||||
thread_safe (~> 0.1)
|
||||
uglifier (3.0.3)
|
||||
execjs (>= 0.3.0, < 3)
|
||||
underscore-rails (1.8.3)
|
||||
web-console (3.4.0)
|
||||
actionview (>= 5.0)
|
||||
activemodel (>= 5.0)
|
||||
debug_inspector
|
||||
railties (>= 5.0)
|
||||
websocket-driver (0.6.4)
|
||||
websocket-extensions (>= 0.1.0)
|
||||
websocket-extensions (0.1.2)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
bootstrap-sass
|
||||
byebug
|
||||
coffee-rails (~> 4.2)
|
||||
font-awesome-sass
|
||||
gmaps4rails
|
||||
haml
|
||||
jbuilder (~> 2.5)
|
||||
jquery-rails
|
||||
listen (~> 3.0.5)
|
||||
puma (~> 3.0)
|
||||
rails (~> 5.0.0, >= 5.0.0.1)
|
||||
rails-assets-adminlte!
|
||||
sass-rails (~> 5.0)
|
||||
spring
|
||||
spring-watcher-listen (~> 2.0.0)
|
||||
sqlite3
|
||||
turbolinks (~> 5)
|
||||
tzinfo-data
|
||||
uglifier (>= 1.3.0)
|
||||
underscore-rails
|
||||
web-console
|
||||
|
||||
BUNDLED WITH
|
||||
1.13.5
|
24
README.md
Executable file
@ -0,0 +1,24 @@
|
||||
# README
|
||||
|
||||
This README would normally document whatever steps are necessary to get the
|
||||
application up and running.
|
||||
|
||||
Things you may want to cover:
|
||||
|
||||
* Ruby version
|
||||
|
||||
* System dependencies
|
||||
|
||||
* Configuration
|
||||
|
||||
* Database creation
|
||||
|
||||
* Database initialization
|
||||
|
||||
* How to run the test suite
|
||||
|
||||
* Services (job queues, cache servers, search engines, etc.)
|
||||
|
||||
* Deployment instructions
|
||||
|
||||
* ...
|
6
Rakefile
Executable file
@ -0,0 +1,6 @@
|
||||
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
||||
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
||||
|
||||
require_relative 'config/application'
|
||||
|
||||
Rails.application.load_tasks
|
3
app/assets/config/manifest.js
Executable file
@ -0,0 +1,3 @@
|
||||
//= link_tree ../images
|
||||
//= link_directory ../javascripts .js
|
||||
//= link_directory ../stylesheets .css
|
0
app/assets/images/.keep
Executable file
BIN
app/assets/images/avatar-placeholder-large.png
Executable file
After Width: | Height: | Size: 37 KiB |
BIN
app/assets/images/avatar-placeholder-medium.png
Executable file
After Width: | Height: | Size: 25 KiB |
BIN
app/assets/images/avatar-placeholder-small.png
Executable file
After Width: | Height: | Size: 18 KiB |
BIN
app/assets/images/logo.png
Executable file
After Width: | Height: | Size: 25 KiB |
48
app/assets/images/titre-bleu.svg
Executable file
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 321.1 130.1" style="enable-background:new 0 0 321.1 130.1;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#3C6A82;}
|
||||
</style>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st0" d="M52.1,67.8C51.4,75,51.3,87,51.3,94.1c0,1.1,0.9,2.2,0.6,3.3c-0.4,1.6-4.7,4.8-6.5,4.8
|
||||
c-3.7,0-4.9-4.1-6.2-5.9c-5.7-9.1-13.3-19.1-25.4-22.9c-0.7,10.9,0.9,20.4-0.1,24.4c-0.7,3-8.3,4.4-10.1,4.4
|
||||
c-5.4,0-3.1-21.1-3.1-25.3c0-21.2-0.1-46.5,0.7-67.6C1.4,6,2,4.9,4.2,4.2C5.8,3.6,10.6,2.8,14.4,3c3.2,0.1,2.5,2.5,3.7,5.1
|
||||
c-2.2,15.7-4.2,39.8-3.8,55.8c8.5,0.2,16-1.4,24.5-1.2c-0.6-13.9,0.6-31.9,0.6-45.8c0-13.2,5.3-11.7,14.4-13.6
|
||||
c3,1,2.5,2.3,3.7,5.1c-1.7,11.5-5.2,42.2-5.1,54.1c4.9-0.4,8.3-1,13.4-1c2.7,0,3.3,5.6,0,5.6C61.8,67,56.1,67.7,52.1,67.8z
|
||||
M39,68.8c0,0-12,0.1-17.4,1c6.5,2.7,14.8,9.9,17.6,16.8C39.2,81.7,39,73.8,39,68.8z"/>
|
||||
<path class="st0" d="M82.7,95.3c-11.5,0-18.9-12.7-18.9-22.8c0-13.2,5.1-37.4,21.7-37.4c8,0,13,10.4,13,17.4
|
||||
c0,7.9-6.2,18.5-15.3,18.5c-2.1,0-5.7-0.2-7.8-0.6c-0.5,6.5,2.8,17.5,9.3,17.5c7,0,14.8-9.7,16.8-15.2c0.7-2,7.3-3.2,5.6,2.2
|
||||
C103.7,85.4,94.1,95.3,82.7,95.3z M84.9,41.2c-4.2,0-7.5,13.3-8.6,22.2c1.7,0.1,6.3,0.6,8,0.6c2.8,0,7.5-4.9,7.5-9.7
|
||||
C91.8,50.7,90.7,41.2,84.9,41.2z"/>
|
||||
<path class="st0" d="M165.7,118.4c-1,0-2.1-0.5-2.6-1.5c-5.9-10.7-11.6-11.8-18.9-14.7c0.1,4.9,1,7.3,1,12.2
|
||||
c0,9.7-10.5,15.7-21.8,15.7c-10.1,0-17.6-6.5-17.6-13.1c0-13.8,14.8-18.1,29.8-22.2c0-3.3-1-18-1.9-20.8
|
||||
c-1.1,3.8-6.3,15.5-14.6,15.5c-14.9,0-17-18.3-17-29.5c0-3.7,2-25.7,4.9-27.4c0.7-0.4,1.2-0.7,3.2-0.6c3.7,0.2,8.6,0.2,8.3,5.4
|
||||
c-1,11.2-3.7,19.2-3.7,33.9c0,4.9,0.5,11,7,11c4.8,0,8.1-8.9,10-14.8c-1.7-7.8-7.8-23.4-7.8-27.4c0-0.2,0.1-0.5,0.1-0.6
|
||||
c1-3.2,5.2-5.8,7.6-5.8c0.4,0,0.6,0,0.9,0.1c5.8,2.5,10,45,10.7,60.7c7.4,0,23.8,12.1,25.2,19.1c0.1,0.5,0.1,0.9,0.1,1.2
|
||||
C168.8,117.3,167.3,118.4,165.7,118.4z M135.9,102c-9.7,2.2-16.2,8.3-16.2,14.1c0,3.3,2,7.3,6,7.3c6.7,0,10.9-2.3,10.9-7.6
|
||||
C136.7,110.6,136.4,106.9,135.9,102z"/>
|
||||
<path class="st0" d="M182,67.8c0,8.6-10,27.6-20.1,27.6c-11.3,0-13-17.8-13-26.8c0-19.9,4.1-45,6-65.5C155.2,1,156,0,158.4,0
|
||||
c1.5,0,2.3,0.2,5.4,0.2c2.2,0,3.5,1.4,3.3,3.2c-0.6,20.5-6.5,40.3-6.5,60.9c0,10.2,1.2,20.4,5.2,20.1c7.6-0.4,9.4-13.1,12.1-19.6
|
||||
c0.4-0.9,1.5-1.1,2.2-1.1c1,0,1.9,1,1.9,3.8V67.8z"/>
|
||||
<path class="st0" d="M185.3,94.6c-5.8,0-10.2-5.8-10.2-14.3c0-11.7,1.2-21.7,1.2-34.7v-3.7c0-2.3,1-3.7,3.2-3.7
|
||||
c1.5,0,5.6,0.4,6.9,0.6c1.5,0.1,2,1.5,1.9,2.7c-0.9,11-1.9,25.3-1.9,35.6c0,5.7,1.2,8.1,3,8.1c5.4,0,8.9-15.8,10.6-22.1
|
||||
c0.2-1.1,1.6-1.6,2.6-1.6c1.1,0,1.9,1,1.9,3.7C204.4,74,197.5,94.6,185.3,94.6z M184.2,23.3c-3.5,0-6.5-2.5-6.7-6.7v-0.2
|
||||
c-0.1-3.1,2.6-6.3,7-6.3c4.2,0,6.5,2.6,6.5,6.4C191.1,21.2,187.5,23.3,184.2,23.3z"/>
|
||||
<path class="st0" d="M234.7,98.2c-4.3,0-4.9-7.2-6.4-11c-4.6,6.8-6.8,9.7-14.1,9.7c-13.4,0-17.1-14.4-17.1-28.9
|
||||
c0-9,1.5-18,2.8-23.4c1.2-4.7,3-5.4,11.6-5.7c2.2,0,2.5,0.5,2.5,2.6c0,1.1-2.3,9.6-3,11.6c-0.9,3.2-2.2,12.3-2.2,19.7
|
||||
c0,8.1,2.6,15.7,8.1,15.7c5.9,0,9.3-7,9.9-12.6c0.4-3.5,0.4-30.2,0.4-32.1c0-4.4,0.7-7.5,6.2-7.5c1.2,0,2-0.9,3.3-0.9
|
||||
c1.7,0,3.1,0.5,3.1,2.5c0,4.6-1,9.3-1,14.7c0,4.1-3.6,23.6-3.6,30.5c0,3.9,0.4,6.9,1.5,6.9c7.3,0,12.2-23.8,13.4-29.1
|
||||
c0.2-1.1,1.4-2,2.5-2c0.9,0,1.7,0.9,1.7,3C254.4,71,246.8,98.2,234.7,98.2z"/>
|
||||
<path class="st0" d="M302,99.8c-8.3,0-9.6-10.5-9.3-19.2c0.1-6.4,1.4-13.6,2-20c0.4-3.5,0.9-7,0.9-10.6c0-1.2-0.1-3.2-1.9-3.2
|
||||
c-2.2,0-5.4,3.5-6.3,5.3c-3.8,7.8-5.4,28.1-5.4,37c-2,1.4-5.1,2.7-7.4,2.7c-2.1,0-3.1-1.2-3.1-3.3c0-13.9,5.3-28.5,5.3-40.8
|
||||
c0-1.6-0.1-5.3-2.5-5.3c-4.4,0-14.1,14.1-14.9,18.1c-0.2,1-0.1,2.2-0.1,3.1c0,7.2,0.2,14.3,0.2,21.5c0,1.9,0,3.7-0.1,5.6
|
||||
c-1.4,1.4-4.7,2.1-6.7,2.1c-1.6,0-3.7-0.5-3.7-2.5c0-11.3-1-22.7-1-33.9c0-2.8-0.5-18.3,3.2-18.3c2.6,0,5.1,0,7.6,0.5l1.4,1.7
|
||||
c-0.1,3.8-0.1,7.6-0.5,11.5c2.8-5.6,10.6-18.5,17.6-18.5c5.6,0,7.8,8.5,8.6,12.6c3.9-4.3,8.6-8.5,14.9-8.5c6.2,0,7,6.2,7,11.1
|
||||
c0,11.3-3.9,22.6-3.9,33.9c0,2.3,0.4,4.4,2.2,6.2c5.4-0.1,8.8-19.7,10.7-23.9c0.4-0.9,0.9-1.6,1.9-1.6c1.6,0,2.5,1.9,2.2,3.1
|
||||
C320.2,73.6,312.3,99.8,302,99.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.2 KiB |
65
app/assets/images/titre-white.svg
Executable file
@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="595.281px" height="245.095px" viewBox="0 296.445 595.281 245.095" enable-background="new 0 296.445 595.281 245.095"
|
||||
xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M96.587,426.043c-1.297,13.349-1.482,35.595-1.482,48.757c0,2.04,1.668,4.079,1.112,6.118
|
||||
c-0.742,2.966-8.714,8.898-12.051,8.898c-6.859,0-9.084-7.601-11.494-10.938c-10.566-16.87-24.656-35.409-47.088-42.454
|
||||
c-1.298,20.207,1.668,37.819-0.186,45.234c-1.298,5.562-15.388,8.157-18.725,8.157c-10.011,0-5.747-39.116-5.747-46.903
|
||||
c0-39.302-0.185-86.205,1.298-125.322c0.371-6.118,1.483-8.157,5.562-9.455c2.967-1.112,11.865-2.596,18.91-2.225
|
||||
c5.933,0.185,4.635,4.635,6.859,9.455c-4.079,29.106-7.786,73.784-7.045,103.446c15.758,0.371,29.662-2.595,45.42-2.225
|
||||
c-1.112-25.769,1.112-59.139,1.112-84.908c0-24.471,9.825-21.69,26.696-25.212c5.562,1.854,4.635,4.264,6.859,9.455
|
||||
c-3.152,21.32-9.641,78.234-9.455,100.295c9.084-0.742,15.387-1.854,24.842-1.854c5.006,0,6.118,10.381,0,10.381
|
||||
C114.57,424.561,104.003,425.857,96.587,426.043z M72.302,427.897c0,0-22.247,0.185-32.258,1.854
|
||||
c12.05,5.006,27.438,18.354,32.628,31.146C72.672,451.813,72.302,437.166,72.302,427.897z"/>
|
||||
<path fill="#FFFFFF" d="M153.316,477.024c-21.32,0-35.039-23.544-35.039-42.268c0-24.472,9.455-69.335,40.229-69.335
|
||||
c14.831,0,24.101,19.28,24.101,32.257c0,14.646-11.494,34.297-28.364,34.297c-3.894,0-10.567-0.371-14.461-1.112
|
||||
c-0.927,12.05,5.191,32.443,17.241,32.443c12.978,0,27.438-17.983,31.146-28.18c1.298-3.707,13.533-5.932,10.382,4.079
|
||||
C192.247,458.672,174.45,477.024,153.316,477.024z M157.394,376.73c-7.786,0-13.904,24.657-15.943,41.156
|
||||
c3.151,0.185,11.68,1.112,14.831,1.112c5.19,0,13.904-9.084,13.904-17.983C170.186,394.342,168.147,376.73,157.394,376.73z"/>
|
||||
<path fill="#FFFFFF" d="M307.188,519.85c-1.854,0-3.894-0.927-4.82-2.781c-10.938-19.836-21.506-21.875-35.039-27.252
|
||||
c0.186,9.084,1.854,13.533,1.854,22.617c0,17.983-19.466,29.106-40.415,29.106c-18.724,0-32.628-12.051-32.628-24.286
|
||||
c0-25.583,27.438-33.555,55.245-41.156c0-6.117-1.854-33.369-3.522-38.561c-2.039,7.045-11.679,28.735-27.066,28.735
|
||||
c-27.622,0-31.516-33.926-31.516-54.689c0-6.859,3.708-47.645,9.084-50.796c1.298-0.742,2.225-1.298,5.933-1.112
|
||||
c6.859,0.371,15.943,0.371,15.387,10.011c-1.854,20.763-6.859,35.594-6.859,62.847c0,9.084,0.927,20.393,12.978,20.393
|
||||
c8.898,0,15.017-16.5,18.539-27.438c-3.152-14.46-14.461-43.381-14.461-50.796c0-0.371,0.186-0.927,0.186-1.112
|
||||
c1.854-5.933,9.641-10.752,14.09-10.752c0.741,0,1.112,0,1.668,0.185c10.753,4.635,18.539,83.424,19.837,112.531
|
||||
c13.719,0,44.122,22.432,46.718,35.409c0.186,0.927,0.186,1.668,0.186,2.225C312.935,517.811,310.154,519.85,307.188,519.85z
|
||||
M251.942,489.446c-17.982,4.078-30.033,15.387-30.033,26.14c0,6.117,3.708,13.533,11.124,13.533
|
||||
c12.421,0,20.207-4.265,20.207-14.09C253.426,505.39,252.869,498.53,251.942,489.446z"/>
|
||||
<path fill="#FFFFFF" d="M337.406,426.043c0,15.943-18.539,51.167-37.263,51.167c-20.949,0-24.101-32.999-24.101-49.684
|
||||
c0-36.892,7.601-83.425,11.123-121.429c0.556-3.893,2.039-5.747,6.488-5.747c2.781,0,4.265,0.371,10.012,0.371
|
||||
c4.078,0,6.488,2.595,6.117,5.932c-1.112,38.005-12.05,74.711-12.05,112.901c0,18.909,2.225,37.819,9.64,37.263
|
||||
c14.09-0.741,17.427-24.285,22.433-36.336c0.741-1.668,2.78-2.039,4.078-2.039c1.854,0,3.522,1.854,3.522,7.045V426.043
|
||||
L337.406,426.043z"/>
|
||||
<path fill="#FFFFFF" d="M343.524,475.728c-10.753,0-18.91-10.753-18.91-26.511c0-21.69,2.225-40.229,2.225-64.33v-6.859
|
||||
c0-4.264,1.854-6.859,5.933-6.859c2.781,0,10.382,0.742,12.792,1.112c2.78,0.186,3.708,2.781,3.522,5.005
|
||||
c-1.669,20.393-3.522,46.903-3.522,65.998c0,10.567,2.225,15.017,5.562,15.017c10.011,0,16.5-29.291,19.651-40.971
|
||||
c0.37-2.04,2.966-2.966,4.82-2.966c2.039,0,3.521,1.854,3.521,6.859C378.933,437.537,366.141,475.728,343.524,475.728z
|
||||
M341.484,343.546c-6.488,0-12.05-4.635-12.421-12.421v-0.371c-0.185-5.747,4.82-11.68,12.978-11.68
|
||||
c7.786,0,12.05,4.82,12.05,11.865C354.276,339.652,347.602,343.546,341.484,343.546z"/>
|
||||
<path fill="#FFFFFF" d="M435.105,482.401c-7.972,0-9.084-13.349-11.864-20.393c-8.528,12.606-12.606,17.982-26.14,17.982
|
||||
c-24.843,0-31.702-26.696-31.702-53.577c0-16.685,2.781-33.37,5.191-43.381c2.225-8.713,5.562-10.011,21.505-10.567
|
||||
c4.078,0,4.635,0.927,4.635,4.82c0,2.04-4.264,17.797-5.562,21.505c-1.669,5.933-4.079,22.803-4.079,36.521
|
||||
c0,15.017,4.82,29.105,15.017,29.105c10.938,0,17.241-12.977,18.354-23.358c0.741-6.488,0.741-55.987,0.741-59.509
|
||||
c0-8.157,1.298-13.904,11.494-13.904c2.225,0,3.708-1.668,6.118-1.668c3.151,0,5.747,0.927,5.747,4.635
|
||||
c0,8.528-1.854,17.241-1.854,27.252c0,7.601-6.675,43.752-6.675,56.543c0,7.23,0.742,12.792,2.781,12.792
|
||||
c13.533,0,22.617-44.122,24.842-53.948c0.371-2.039,2.596-3.708,4.635-3.708c1.669,0,3.151,1.668,3.151,5.562
|
||||
C471.627,431.976,457.538,482.401,435.105,482.401z"/>
|
||||
<path fill="#FFFFFF" d="M559.872,485.367c-15.388,0-17.798-19.466-17.241-35.595c0.186-11.864,2.596-25.212,3.707-37.077
|
||||
c0.742-6.489,1.669-12.977,1.669-19.651c0-2.225-0.186-5.932-3.522-5.932c-4.078,0-10.011,6.489-11.68,9.826
|
||||
c-7.044,14.46-10.011,52.094-10.011,68.594c-3.708,2.595-9.454,5.005-13.719,5.005c-3.893,0-5.747-2.225-5.747-6.117
|
||||
c0-25.77,9.826-52.836,9.826-75.639c0-2.966-0.186-9.826-4.635-9.826c-8.157,0-26.14,26.14-27.623,33.555
|
||||
c-0.371,1.854-0.186,4.079-0.186,5.747c0,13.348,0.371,26.511,0.371,39.858c0,3.522,0,6.859-0.186,10.382
|
||||
c-2.596,2.596-8.713,3.894-12.421,3.894c-2.966,0-6.859-0.928-6.859-4.635c0-20.949-1.854-42.083-1.854-62.847
|
||||
c0-5.191-0.928-33.926,5.932-33.926c4.82,0,9.455,0,14.09,0.927l2.596,3.151c-0.186,7.045-0.186,14.089-0.927,21.32
|
||||
c5.19-10.382,19.65-34.297,32.628-34.297c10.382,0,14.46,15.758,15.943,23.359c7.229-7.972,15.943-15.758,27.623-15.758
|
||||
c11.493,0,12.977,11.494,12.977,20.578c0,20.949-7.229,41.898-7.229,62.846c0,4.265,0.741,8.157,4.078,11.494
|
||||
c10.011-0.185,16.314-36.521,19.837-44.307c0.741-1.668,1.668-2.966,3.522-2.966c2.966,0,4.634,3.522,4.078,5.747
|
||||
C593.612,436.796,578.967,485.367,559.872,485.367z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.3 KiB |
45
app/assets/images/titre.svg
Executable file
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 321.1 130.1" style="enable-background:new 0 0 321.1 130.1;" xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M52.1,67.8C51.4,75,51.3,87,51.3,94.1c0,1.1,0.9,2.2,0.6,3.3c-0.4,1.6-4.7,4.8-6.5,4.8c-3.7,0-4.9-4.1-6.2-5.9
|
||||
c-5.7-9.1-13.3-19.1-25.4-22.9c-0.7,10.9,0.9,20.4-0.1,24.4c-0.7,3-8.3,4.4-10.1,4.4c-5.4,0-3.1-21.1-3.1-25.3
|
||||
c0-21.2-0.1-46.5,0.7-67.6C1.4,6,2,4.9,4.2,4.2C5.8,3.6,10.6,2.8,14.4,3c3.2,0.1,2.5,2.5,3.7,5.1c-2.2,15.7-4.2,39.8-3.8,55.8
|
||||
c8.5,0.2,16-1.4,24.5-1.2c-0.6-13.9,0.6-31.9,0.6-45.8c0-13.2,5.3-11.7,14.4-13.6c3,1,2.5,2.3,3.7,5.1
|
||||
c-1.7,11.5-5.2,42.2-5.1,54.1c4.9-0.4,8.3-1,13.4-1c2.7,0,3.3,5.6,0,5.6C61.8,67,56.1,67.7,52.1,67.8z M39,68.8c0,0-12,0.1-17.4,1
|
||||
c6.5,2.7,14.8,9.9,17.6,16.8C39.2,81.7,39,73.8,39,68.8z"/>
|
||||
<path d="M82.7,95.3c-11.5,0-18.9-12.7-18.9-22.8c0-13.2,5.1-37.4,21.7-37.4c8,0,13,10.4,13,17.4c0,7.9-6.2,18.5-15.3,18.5
|
||||
c-2.1,0-5.7-0.2-7.8-0.6c-0.5,6.5,2.8,17.5,9.3,17.5c7,0,14.8-9.7,16.8-15.2c0.7-2,7.3-3.2,5.6,2.2
|
||||
C103.7,85.4,94.1,95.3,82.7,95.3z M84.9,41.2c-4.2,0-7.5,13.3-8.6,22.2c1.7,0.1,6.3,0.6,8,0.6c2.8,0,7.5-4.9,7.5-9.7
|
||||
C91.8,50.7,90.7,41.2,84.9,41.2z"/>
|
||||
<path d="M165.7,118.4c-1,0-2.1-0.5-2.6-1.5c-5.9-10.7-11.6-11.8-18.9-14.7c0.1,4.9,1,7.3,1,12.2c0,9.7-10.5,15.7-21.8,15.7
|
||||
c-10.1,0-17.6-6.5-17.6-13.1c0-13.8,14.8-18.1,29.8-22.2c0-3.3-1-18-1.9-20.8c-1.1,3.8-6.3,15.5-14.6,15.5
|
||||
c-14.9,0-17-18.3-17-29.5c0-3.7,2-25.7,4.9-27.4c0.7-0.4,1.2-0.7,3.2-0.6c3.7,0.2,8.6,0.2,8.3,5.4c-1,11.2-3.7,19.2-3.7,33.9
|
||||
c0,4.9,0.5,11,7,11c4.8,0,8.1-8.9,10-14.8c-1.7-7.8-7.8-23.4-7.8-27.4c0-0.2,0.1-0.5,0.1-0.6c1-3.2,5.2-5.8,7.6-5.8
|
||||
c0.4,0,0.6,0,0.9,0.1c5.8,2.5,10,45,10.7,60.7c7.4,0,23.8,12.1,25.2,19.1c0.1,0.5,0.1,0.9,0.1,1.2
|
||||
C168.8,117.3,167.3,118.4,165.7,118.4z M135.9,102c-9.7,2.2-16.2,8.3-16.2,14.1c0,3.3,2,7.3,6,7.3c6.7,0,10.9-2.3,10.9-7.6
|
||||
C136.7,110.6,136.4,106.9,135.9,102z"/>
|
||||
<path d="M182,67.8c0,8.6-10,27.6-20.1,27.6c-11.3,0-13-17.8-13-26.8c0-19.9,4.1-45,6-65.5C155.2,1,156,0,158.4,0
|
||||
c1.5,0,2.3,0.2,5.4,0.2c2.2,0,3.5,1.4,3.3,3.2c-0.6,20.5-6.5,40.3-6.5,60.9c0,10.2,1.2,20.4,5.2,20.1c7.6-0.4,9.4-13.1,12.1-19.6
|
||||
c0.4-0.9,1.5-1.1,2.2-1.1c1,0,1.9,1,1.9,3.8V67.8z"/>
|
||||
<path d="M185.3,94.6c-5.8,0-10.2-5.8-10.2-14.3c0-11.7,1.2-21.7,1.2-34.7v-3.7c0-2.3,1-3.7,3.2-3.7c1.5,0,5.6,0.4,6.9,0.6
|
||||
c1.5,0.1,2,1.5,1.9,2.7c-0.9,11-1.9,25.3-1.9,35.6c0,5.7,1.2,8.1,3,8.1c5.4,0,8.9-15.8,10.6-22.1c0.2-1.1,1.6-1.6,2.6-1.6
|
||||
c1.1,0,1.9,1,1.9,3.7C204.4,74,197.5,94.6,185.3,94.6z M184.2,23.3c-3.5,0-6.5-2.5-6.7-6.7v-0.2c-0.1-3.1,2.6-6.3,7-6.3
|
||||
c4.2,0,6.5,2.6,6.5,6.4C191.1,21.2,187.5,23.3,184.2,23.3z"/>
|
||||
<path d="M234.7,98.2c-4.3,0-4.9-7.2-6.4-11c-4.6,6.8-6.8,9.7-14.1,9.7c-13.4,0-17.1-14.4-17.1-28.9c0-9,1.5-18,2.8-23.4
|
||||
c1.2-4.7,3-5.4,11.6-5.7c2.2,0,2.5,0.5,2.5,2.6c0,1.1-2.3,9.6-3,11.6c-0.9,3.2-2.2,12.3-2.2,19.7c0,8.1,2.6,15.7,8.1,15.7
|
||||
c5.9,0,9.3-7,9.9-12.6c0.4-3.5,0.4-30.2,0.4-32.1c0-4.4,0.7-7.5,6.2-7.5c1.2,0,2-0.9,3.3-0.9c1.7,0,3.1,0.5,3.1,2.5
|
||||
c0,4.6-1,9.3-1,14.7c0,4.1-3.6,23.6-3.6,30.5c0,3.9,0.4,6.9,1.5,6.9c7.3,0,12.2-23.8,13.4-29.1c0.2-1.1,1.4-2,2.5-2
|
||||
c0.9,0,1.7,0.9,1.7,3C254.4,71,246.8,98.2,234.7,98.2z"/>
|
||||
<path d="M302,99.8c-8.3,0-9.6-10.5-9.3-19.2c0.1-6.4,1.4-13.6,2-20c0.4-3.5,0.9-7,0.9-10.6c0-1.2-0.1-3.2-1.9-3.2
|
||||
c-2.2,0-5.4,3.5-6.3,5.3c-3.8,7.8-5.4,28.1-5.4,37c-2,1.4-5.1,2.7-7.4,2.7c-2.1,0-3.1-1.2-3.1-3.3c0-13.9,5.3-28.5,5.3-40.8
|
||||
c0-1.6-0.1-5.3-2.5-5.3c-4.4,0-14.1,14.1-14.9,18.1c-0.2,1-0.1,2.2-0.1,3.1c0,7.2,0.2,14.3,0.2,21.5c0,1.9,0,3.7-0.1,5.6
|
||||
c-1.4,1.4-4.7,2.1-6.7,2.1c-1.6,0-3.7-0.5-3.7-2.5c0-11.3-1-22.7-1-33.9c0-2.8-0.5-18.3,3.2-18.3c2.6,0,5.1,0,7.6,0.5l1.4,1.7
|
||||
c-0.1,3.8-0.1,7.6-0.5,11.5c2.8-5.6,10.6-18.5,17.6-18.5c5.6,0,7.8,8.5,8.6,12.6c3.9-4.3,8.6-8.5,14.9-8.5c6.2,0,7,6.2,7,11.1
|
||||
c0,11.3-3.9,22.6-3.9,33.9c0,2.3,0.4,4.4,2.2,6.2c5.4-0.1,8.8-19.7,10.7-23.9c0.4-0.9,0.9-1.6,1.9-1.6c1.6,0,2.5,1.9,2.2,3.1
|
||||
C320.2,73.6,312.3,99.8,302,99.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.1 KiB |
20
app/assets/javascripts/application.js
Executable file
@ -0,0 +1,20 @@
|
||||
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
||||
// listed below.
|
||||
//
|
||||
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
||||
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
|
||||
//
|
||||
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
||||
// compiled file. JavaScript code in this file should be added after the last require_* statement.
|
||||
//
|
||||
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
|
||||
// about supported directives.
|
||||
//
|
||||
//= require jquery
|
||||
//= require jquery_ujs
|
||||
//= require turbolinks
|
||||
//= require adminlte
|
||||
//= require underscore
|
||||
//= require gmaps/google
|
||||
//= require progressBar.js
|
||||
//= require_tree .
|
13
app/assets/javascripts/cable.js
Executable file
@ -0,0 +1,13 @@
|
||||
// Action Cable provides the framework to deal with WebSockets in Rails.
|
||||
// You can generate new channels where WebSocket features live using the rails generate channel command.
|
||||
//
|
||||
//= require action_cable
|
||||
//= require_self
|
||||
//= require_tree ./channels
|
||||
|
||||
(function() {
|
||||
this.App || (this.App = {});
|
||||
|
||||
App.cable = ActionCable.createConsumer();
|
||||
|
||||
}).call(this);
|
0
app/assets/javascripts/channels/.keep
Executable file
17
app/assets/stylesheets/application.css
Executable file
@ -0,0 +1,17 @@
|
||||
/*
|
||||
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
||||
* listed below.
|
||||
*
|
||||
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
||||
* or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
|
||||
*
|
||||
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
||||
* compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
|
||||
* files in this directory. Styles in this file should be added after the last require_* statement.
|
||||
* It is generally better to create a new file per style scope.
|
||||
*
|
||||
*= require_tree .
|
||||
*= require_self
|
||||
*= require adminlte
|
||||
*= require skin-blue
|
||||
*/
|
4
app/assets/stylesheets/custom.css.scss
Executable file
@ -0,0 +1,4 @@
|
||||
@import "bootstrap-sprockets";
|
||||
@import "bootstrap";
|
||||
@import "font-awesome-sprockets";
|
||||
@import "font-awesome";
|
4
app/channels/application_cable/channel.rb
Executable file
@ -0,0 +1,4 @@
|
||||
module ApplicationCable
|
||||
class Channel < ActionCable::Channel::Base
|
||||
end
|
||||
end
|
4
app/channels/application_cable/connection.rb
Executable file
@ -0,0 +1,4 @@
|
||||
module ApplicationCable
|
||||
class Connection < ActionCable::Connection::Base
|
||||
end
|
||||
end
|
10
app/controllers/application_controller.rb
Executable file
@ -0,0 +1,10 @@
|
||||
class ApplicationController < ActionController::Base
|
||||
protect_from_forgery with: :exception
|
||||
|
||||
def balloon_not_found
|
||||
|
||||
render "not_found"
|
||||
|
||||
end
|
||||
|
||||
end
|
22
app/controllers/balloons_controller.rb
Executable file
@ -0,0 +1,22 @@
|
||||
class BalloonsController< ApplicationController
|
||||
|
||||
def show
|
||||
|
||||
|
||||
url = URI.parse("http://api.heylium.io/public/v1/balloons/#{params[:id]}")
|
||||
req = Net::HTTP::Get.new(url.to_s)
|
||||
res = Net::HTTP.start(url.host, url.port) {|http|http.request(req) }
|
||||
if res.code == "200"
|
||||
@balloon = JSON.parse(res.body, {:symbolize_names => true})
|
||||
|
||||
url = URI.parse("http://api.heylium.io/public/v1/balloons/#{params[:id]}/comments")
|
||||
req = Net::HTTP::Get.new(url.to_s)
|
||||
res = Net::HTTP.start(url.host, url.port) {|http|http.request(req)}
|
||||
@comments = JSON.parse(res.body, {:symbolize_names => true})
|
||||
else
|
||||
balloon_not_found
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
end
|
0
app/controllers/concerns/.keep
Executable file
2
app/helpers/application_helper.rb
Executable file
@ -0,0 +1,2 @@
|
||||
module ApplicationHelper
|
||||
end
|
22
app/helpers/avatar_helper.rb
Executable file
@ -0,0 +1,22 @@
|
||||
module AvatarHelper
|
||||
|
||||
|
||||
|
||||
|
||||
def avatar_tag (user, size, options={})
|
||||
|
||||
if user[:color] == nil
|
||||
color = "#3c6a80"
|
||||
else
|
||||
color = user[:color]
|
||||
end
|
||||
|
||||
if user[:current_avatar] == nil
|
||||
image = image_url("avatar-placeholder-#{size}.png")
|
||||
else
|
||||
image = user[:current_avatar][size]
|
||||
end
|
||||
|
||||
"<img style=\"background-color:#{color};#{options[:style]}\" src=\"#{image}\" class=\"avatar #{options[:class]}\">".html_safe
|
||||
end
|
||||
end
|
2
app/jobs/application_job.rb
Executable file
@ -0,0 +1,2 @@
|
||||
class ApplicationJob < ActiveJob::Base
|
||||
end
|
4
app/mailers/application_mailer.rb
Executable file
@ -0,0 +1,4 @@
|
||||
class ApplicationMailer < ActionMailer::Base
|
||||
default from: 'from@example.com'
|
||||
layout 'mailer'
|
||||
end
|
3
app/models/application_record.rb
Executable file
@ -0,0 +1,3 @@
|
||||
class ApplicationRecord < ActiveRecord::Base
|
||||
self.abstract_class = true
|
||||
end
|
0
app/models/concerns/.keep
Executable file
4
app/views/balloons/not_found.html.haml
Executable file
@ -0,0 +1,4 @@
|
||||
%section.content
|
||||
.container{style: "margin-top:30px"}
|
||||
%h1
|
||||
Ce ballon n'existe pas ou est expiré, vous arrivez trop tard !
|
138
app/views/balloons/show.html.haml
Executable file
@ -0,0 +1,138 @@
|
||||
%section.content
|
||||
.container{style: "margin-top:30px"}
|
||||
.col-md-4
|
||||
.box.box-body.box-profile{style: "border-top-color: #{@balloon[:user][:color]}"}
|
||||
%h4.text-center
|
||||
Auteur du ballon
|
||||
= avatar_tag @balloon[:user], :large, {class: "profile-user-img img-responsive img-circle"}
|
||||
|
||||
%h3.profile-username.text-center
|
||||
=@balloon[:user][:display_name]
|
||||
%p.text-muted.text-center
|
||||
=@balloon[:user][:about_me]
|
||||
.box.box-body{style: "border-top-color: #{@balloon[:user][:color]}"}
|
||||
%h4.text-center
|
||||
Emplacement du ballon
|
||||
%div{:style => "width: 100%;"}
|
||||
#map{:style => "width: 100%; height: 300px;"}
|
||||
|
||||
.col-md-8
|
||||
.box{style: "border-top-color: #{@balloon[:user][:color]}"}
|
||||
.post
|
||||
.user-block{style: "padding:20px"}
|
||||
= avatar_tag @balloon[:user], :medium, {class: "img-circle img-bordered-sm"}
|
||||
|
||||
%span.username
|
||||
= @balloon[:user][:display_name]
|
||||
|
||||
%span.description
|
||||
Créé il y a
|
||||
=time_ago_in_words(DateTime.parse(@balloon[:created_at]))
|
||||
\/ Expire dans
|
||||
=time_ago_in_words(DateTime.parse(@balloon[:expire_at]))
|
||||
|
||||
-if @balloon[:category]
|
||||
%img{style:"position:absolute; right:20px; top:20px;",src: @balloon[:category][:flat_icon_url]}
|
||||
|
||||
%p{style:"font-size:18px; padding-left:30px;padding-right:30px;"}
|
||||
= @balloon[:content]
|
||||
|
||||
|
||||
-if @balloon[:image]
|
||||
.image-content{style:"padding:30px"}
|
||||
%img#balloon_image{style:"width:100%", :alt => "balloon image", :src => @balloon[:image][:original]}/
|
||||
|
||||
|
||||
-if @balloon[:likes_count] == 1
|
||||
%span.likes{style:"font-size:20px;position:absolute;bottom:20px;right:20px;"}
|
||||
%i.fa.fa-heart{style:"color:#d9534f"}
|
||||
= "Une personne aime ce ballon"
|
||||
-elsif @balloon[:likes_count] > 1
|
||||
%span.likes{style:"font-size:20px;position:absolute;bottom:20px;right:20px;"}
|
||||
%i.fa.fa-heart{style:"color:#d9534f"}
|
||||
= "#{@balloon[:likes_count] } personnes aiment ce ballon"
|
||||
|
||||
= "#{@comments.count} Commentaire(s)"
|
||||
-if @comments.count > 0
|
||||
.box
|
||||
#chat-box.box-body.chat
|
||||
- @comments.each do |comment|
|
||||
.item
|
||||
= avatar_tag comment[:user], :large, {style: "border-color:#{comment[:user][:color]}", class: "offline"}
|
||||
|
||||
%p.message
|
||||
%span.name
|
||||
%small.text-muted.pull-right
|
||||
%i.fa.fa-clock-o
|
||||
=time_ago_in_words(DateTime.parse(comment[:created_at]))
|
||||
= comment[:user][:display_name]
|
||||
= comment[:content]
|
||||
|
||||
-if comment[:image]
|
||||
.image-content{style:"padding:30px"}
|
||||
%img#balloon_image{style:"width:100%", :alt => "comment image", :src => comment[:image][:original]}/
|
||||
%a.btn.btn-primary{style:"width:100%;", href:"http://heylium.io"}
|
||||
Pour participer, téléchargez l'application Heylium sur iOS ou Android
|
||||
|
||||
:javascript
|
||||
|
||||
|
||||
handler = Gmaps.build('Google');
|
||||
handler.buildMap({ provider: {}, internal: {id: 'map',zoom:10}}, function(){
|
||||
var shape = {
|
||||
coords: [1, 1, 1, 20, 18, 20, 18, 1],
|
||||
type: 'poly'
|
||||
};
|
||||
|
||||
markers = handler.addMarkers([
|
||||
{
|
||||
"lat": "#{@balloon[:location][:latitude]}",
|
||||
"lng": "#{@balloon[:location][:longitude]}",
|
||||
"shape": shape,
|
||||
"infowindow": "hello!"
|
||||
}
|
||||
]);
|
||||
handler.bounds.extendWith(markers);
|
||||
handler.fitMapToBounds();
|
||||
handler.getMap().setZoom(12)
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
- content_for :javascript do
|
||||
%script{:src => "//maps.google.com/maps/api/js"}
|
||||
%script{:src => "//cdn.rawgit.com/mahnunchik/markerclustererplus/master/dist/markerclusterer.min.js"}
|
||||
%script{:src => "//cdn.rawgit.com/printercu/google-maps-utility-library-v3-read-only/master/infobox/src/infobox_packed.js", :type => "text/javascript"}
|
||||
|
||||
- content_for :header do
|
||||
/ Schema.org markup for Google+
|
||||
%meta{:content => "Ballon de #{@balloon[:user][:display_name]}", :itemprop => "name"}/
|
||||
%meta{:content => @balloon[:content].to_s.truncate(200), :itemprop => "description"}/
|
||||
-if @balloon[:image]
|
||||
%meta{:content => @balloon[:image][:large], :itemprop => "image"}/
|
||||
/ Twitter Card data
|
||||
-if @balloon[:image]
|
||||
%meta{:content => "balloon_image", :name => "twitter:card"}/
|
||||
/ Twitter summary card with large image must be at least 280x150px
|
||||
%meta{:content => @balloon[:image][:large], :name => "twitter:image:src"}/
|
||||
%meta{:content => "@publisher_handle", :name => "twitter:site"}/
|
||||
%meta{:content => "Ballon de #{@balloon[:user][:display_name]}", :name => "twitter:title"}/
|
||||
%meta{:content => @balloon[:content].to_s.truncate(200), :name => "twitter:description"}/
|
||||
%meta{:content => @balloon[:user][:display_name], :name => "twitter:creator"}/
|
||||
/ Open Graph data
|
||||
%meta{:content => "Ballon de #{@balloon[:user][:display_name]}", :property => "og:title"}/
|
||||
%meta{:content => "article", :property => "og:type"}/
|
||||
%meta{:content => "1675468199365503", :property => "fb:app_id"}
|
||||
-if @balloon[:image]
|
||||
%meta{:content => request.original_url, :property => "og:url"}/
|
||||
%meta{:content => @balloon[:image][:large], :property => "og:image"}/
|
||||
%meta{:content => @balloon[:content].to_s.truncate(200), :property => "og:description"}/
|
||||
%meta{:content => "Heylium Webapp", :property => "og:site_name"}/
|
||||
%meta{:content => DateTime.parse(@balloon[:created_at]), :property => "article:published_time"}/
|
||||
-# %meta{:content => "2013-09-16T19:08:47+01:00", :property => "article:modified_time"}/
|
||||
-# %meta{:content => "Article Section", :property => "article:section"}/
|
||||
-# %meta{:content => "Article Tag", :property => "article:tag"}/
|
||||
-# %meta{:content => "Facebook numberic ID", :property => "fb:admins"}/
|
42
app/views/layouts/application.html.haml
Executable file
@ -0,0 +1,42 @@
|
||||
!!!
|
||||
%html
|
||||
%head
|
||||
%meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
|
||||
= yield :header
|
||||
%title HeyliumApp
|
||||
= csrf_meta_tags
|
||||
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
|
||||
= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
|
||||
= yield :javascript
|
||||
%body.skin-blue.layout-top-nav{"cz-shortcut-listen" => "true"}
|
||||
.wrapper
|
||||
%header.main-header
|
||||
%nav.navbar.navbar-static-top
|
||||
.container
|
||||
.navbar-header
|
||||
|
||||
%a{:href => "http://heylium.io"}
|
||||
=image_tag "titre-white.svg", style:"height:30px;margin-top:10px;", class:"nav-logo"
|
||||
|
||||
#navbar-collapse.collapse.navbar-collapse.pull-left
|
||||
%ul.nav.navbar-nav
|
||||
%li
|
||||
%a{:href => "http://heylium.io"}
|
||||
Télécharger l'application Heylium pour iOS et Android
|
||||
|
||||
|
||||
|
||||
/ Full Width Column
|
||||
.content-wrapper{:style => "min-height: 849px;"}
|
||||
= yield
|
||||
%footer.main-footer
|
||||
.container
|
||||
.pull-right.hidden-xs
|
||||
%b Version
|
||||
1.0.0
|
||||
%strong
|
||||
Copyright © 2016
|
||||
= succeed "." do
|
||||
%a{:href => "http://heylium.io"} Heylium
|
||||
All rights
|
||||
reserved.
|
13
app/views/layouts/mailer.html.erb
Executable file
@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<style>
|
||||
/* Email styles need to be inline */
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%= yield %>
|
||||
</body>
|
||||
</html>
|
1
app/views/layouts/mailer.text.erb
Executable file
@ -0,0 +1 @@
|
||||
<%= yield %>
|
3
bin/bundle
Executable file
@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env ruby
|
||||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
|
||||
load Gem.bin_path('bundler', 'bundle')
|
9
bin/rails
Executable file
@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env ruby
|
||||
begin
|
||||
load File.expand_path('../spring', __FILE__)
|
||||
rescue LoadError => e
|
||||
raise unless e.message.include?('spring')
|
||||
end
|
||||
APP_PATH = File.expand_path('../config/application', __dir__)
|
||||
require_relative '../config/boot'
|
||||
require 'rails/commands'
|
9
bin/rake
Executable file
@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env ruby
|
||||
begin
|
||||
load File.expand_path('../spring', __FILE__)
|
||||
rescue LoadError => e
|
||||
raise unless e.message.include?('spring')
|
||||
end
|
||||
require_relative '../config/boot'
|
||||
require 'rake'
|
||||
Rake.application.run
|
34
bin/setup
Executable file
@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env ruby
|
||||
require 'pathname'
|
||||
require 'fileutils'
|
||||
include FileUtils
|
||||
|
||||
# path to your application root.
|
||||
APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
|
||||
|
||||
def system!(*args)
|
||||
system(*args) || abort("\n== Command #{args} failed ==")
|
||||
end
|
||||
|
||||
chdir APP_ROOT do
|
||||
# This script is a starting point to setup your application.
|
||||
# Add necessary setup steps to this file.
|
||||
|
||||
puts '== Installing dependencies =='
|
||||
system! 'gem install bundler --conservative'
|
||||
system('bundle check') || system!('bundle install')
|
||||
|
||||
# puts "\n== Copying sample files =="
|
||||
# unless File.exist?('config/database.yml')
|
||||
# cp 'config/database.yml.sample', 'config/database.yml'
|
||||
# end
|
||||
|
||||
puts "\n== Preparing database =="
|
||||
system! 'bin/rails db:setup'
|
||||
|
||||
puts "\n== Removing old logs and tempfiles =="
|
||||
system! 'bin/rails log:clear tmp:clear'
|
||||
|
||||
puts "\n== Restarting application server =="
|
||||
system! 'bin/rails restart'
|
||||
end
|
16
bin/spring
Executable file
@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
# This file loads spring without using Bundler, in order to be fast.
|
||||
# It gets overwritten when you run the `spring binstub` command.
|
||||
|
||||
unless defined?(Spring)
|
||||
require 'rubygems'
|
||||
require 'bundler'
|
||||
|
||||
lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
|
||||
if spring = lockfile.specs.detect { |spec| spec.name == "spring" }
|
||||
Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
|
||||
gem 'spring', spring.version
|
||||
require 'spring/binstub'
|
||||
end
|
||||
end
|
29
bin/update
Executable file
@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env ruby
|
||||
require 'pathname'
|
||||
require 'fileutils'
|
||||
include FileUtils
|
||||
|
||||
# path to your application root.
|
||||
APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
|
||||
|
||||
def system!(*args)
|
||||
system(*args) || abort("\n== Command #{args} failed ==")
|
||||
end
|
||||
|
||||
chdir APP_ROOT do
|
||||
# This script is a way to update your development environment automatically.
|
||||
# Add necessary update steps to this file.
|
||||
|
||||
puts '== Installing dependencies =='
|
||||
system! 'gem install bundler --conservative'
|
||||
system('bundle check') || system!('bundle install')
|
||||
|
||||
puts "\n== Updating database =="
|
||||
system! 'bin/rails db:migrate'
|
||||
|
||||
puts "\n== Removing old logs and tempfiles =="
|
||||
system! 'bin/rails log:clear tmp:clear'
|
||||
|
||||
puts "\n== Restarting application server =="
|
||||
system! 'bin/rails restart'
|
||||
end
|
5
config.ru
Executable file
@ -0,0 +1,5 @@
|
||||
# This file is used by Rack-based servers to start the application.
|
||||
|
||||
require_relative 'config/environment'
|
||||
|
||||
run Rails.application
|
18
config/application.rb
Executable file
@ -0,0 +1,18 @@
|
||||
require_relative 'boot'
|
||||
|
||||
require 'rails/all'
|
||||
require 'net/http'
|
||||
|
||||
# Require the gems listed in Gemfile, including any gems
|
||||
# you've limited to :test, :development, or :production.
|
||||
Bundler.require(*Rails.groups)
|
||||
|
||||
module HeyliumApp
|
||||
class Application < Rails::Application
|
||||
config.i18n.available_locales = :fr
|
||||
config.i18n.default_locale = :fr
|
||||
# Settings in config/environments/* take precedence over those specified here.
|
||||
# Application configuration should go into files in config/initializers
|
||||
# -- all .rb files in that directory are automatically loaded.
|
||||
end
|
||||
end
|
3
config/boot.rb
Executable file
@ -0,0 +1,3 @@
|
||||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
|
||||
|
||||
require 'bundler/setup' # Set up gems listed in the Gemfile.
|
9
config/cable.yml
Executable file
@ -0,0 +1,9 @@
|
||||
development:
|
||||
adapter: async
|
||||
|
||||
test:
|
||||
adapter: async
|
||||
|
||||
production:
|
||||
adapter: redis
|
||||
url: redis://localhost:6379/1
|
25
config/database.yml
Executable file
@ -0,0 +1,25 @@
|
||||
# SQLite version 3.x
|
||||
# gem install sqlite3
|
||||
#
|
||||
# Ensure the SQLite 3 gem is defined in your Gemfile
|
||||
# gem 'sqlite3'
|
||||
#
|
||||
default: &default
|
||||
adapter: sqlite3
|
||||
pool: 5
|
||||
timeout: 5000
|
||||
|
||||
development:
|
||||
<<: *default
|
||||
database: db/development.sqlite3
|
||||
|
||||
# Warning: The database defined as "test" will be erased and
|
||||
# re-generated from your development database when you run "rake".
|
||||
# Do not set this db to the same as development or production.
|
||||
test:
|
||||
<<: *default
|
||||
database: db/test.sqlite3
|
||||
|
||||
production:
|
||||
<<: *default
|
||||
database: db/production.sqlite3
|
5
config/environment.rb
Executable file
@ -0,0 +1,5 @@
|
||||
# Load the Rails application.
|
||||
require_relative 'application'
|
||||
|
||||
# Initialize the Rails application.
|
||||
Rails.application.initialize!
|
54
config/environments/development.rb
Executable file
@ -0,0 +1,54 @@
|
||||
Rails.application.configure do
|
||||
# Settings specified here will take precedence over those in config/application.rb.
|
||||
|
||||
# In the development environment your application's code is reloaded on
|
||||
# every request. This slows down response time but is perfect for development
|
||||
# since you don't have to restart the web server when you make code changes.
|
||||
config.cache_classes = false
|
||||
|
||||
# Do not eager load code on boot.
|
||||
config.eager_load = false
|
||||
|
||||
# Show full error reports.
|
||||
config.consider_all_requests_local = true
|
||||
|
||||
# Enable/disable caching. By default caching is disabled.
|
||||
if Rails.root.join('tmp/caching-dev.txt').exist?
|
||||
config.action_controller.perform_caching = true
|
||||
|
||||
config.cache_store = :memory_store
|
||||
config.public_file_server.headers = {
|
||||
'Cache-Control' => 'public, max-age=172800'
|
||||
}
|
||||
else
|
||||
config.action_controller.perform_caching = false
|
||||
|
||||
config.cache_store = :null_store
|
||||
end
|
||||
|
||||
# Don't care if the mailer can't send.
|
||||
config.action_mailer.raise_delivery_errors = false
|
||||
|
||||
config.action_mailer.perform_caching = false
|
||||
|
||||
# Print deprecation notices to the Rails logger.
|
||||
config.active_support.deprecation = :log
|
||||
|
||||
# Raise an error on page load if there are pending migrations.
|
||||
config.active_record.migration_error = :page_load
|
||||
|
||||
# Debug mode disables concatenation and preprocessing of assets.
|
||||
# This option may cause significant delays in view rendering with a large
|
||||
# number of complex assets.
|
||||
config.assets.debug = true
|
||||
|
||||
# Suppress logger output for asset requests.
|
||||
config.assets.quiet = true
|
||||
|
||||
# Raises error for missing translations
|
||||
# config.action_view.raise_on_missing_translations = true
|
||||
|
||||
# Use an evented file watcher to asynchronously detect changes in source code,
|
||||
# routes, locales, etc. This feature depends on the listen gem.
|
||||
config.file_watcher = ActiveSupport::EventedFileUpdateChecker
|
||||
end
|
86
config/environments/production.rb
Executable file
@ -0,0 +1,86 @@
|
||||
Rails.application.configure do
|
||||
# Settings specified here will take precedence over those in config/application.rb.
|
||||
|
||||
# Code is not reloaded between requests.
|
||||
config.cache_classes = true
|
||||
|
||||
# Eager load code on boot. This eager loads most of Rails and
|
||||
# your application in memory, allowing both threaded web servers
|
||||
# and those relying on copy on write to perform better.
|
||||
# Rake tasks automatically ignore this option for performance.
|
||||
config.eager_load = true
|
||||
|
||||
# Full error reports are disabled and caching is turned on.
|
||||
config.consider_all_requests_local = false
|
||||
config.action_controller.perform_caching = true
|
||||
|
||||
# Disable serving static files from the `/public` folder by default since
|
||||
# Apache or NGINX already handles this.
|
||||
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
|
||||
|
||||
# Compress JavaScripts and CSS.
|
||||
config.assets.js_compressor = :uglifier
|
||||
# config.assets.css_compressor = :sass
|
||||
|
||||
# Do not fallback to assets pipeline if a precompiled asset is missed.
|
||||
config.assets.compile = false
|
||||
|
||||
# `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
|
||||
|
||||
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
||||
# config.action_controller.asset_host = 'http://assets.example.com'
|
||||
|
||||
# Specifies the header that your server uses for sending files.
|
||||
# config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
|
||||
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
|
||||
|
||||
# Mount Action Cable outside main process or domain
|
||||
# config.action_cable.mount_path = nil
|
||||
# config.action_cable.url = 'wss://example.com/cable'
|
||||
# config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
|
||||
|
||||
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
||||
# config.force_ssl = true
|
||||
|
||||
# Use the lowest log level to ensure availability of diagnostic information
|
||||
# when problems arise.
|
||||
config.log_level = :debug
|
||||
|
||||
# Prepend all log lines with the following tags.
|
||||
config.log_tags = [ :request_id ]
|
||||
|
||||
# Use a different cache store in production.
|
||||
# config.cache_store = :mem_cache_store
|
||||
|
||||
# Use a real queuing backend for Active Job (and separate queues per environment)
|
||||
# config.active_job.queue_adapter = :resque
|
||||
# config.active_job.queue_name_prefix = "heylium-app_#{Rails.env}"
|
||||
config.action_mailer.perform_caching = false
|
||||
|
||||
# Ignore bad email addresses and do not raise email delivery errors.
|
||||
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
||||
# config.action_mailer.raise_delivery_errors = false
|
||||
|
||||
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
||||
# the I18n.default_locale when a translation cannot be found).
|
||||
config.i18n.fallbacks = true
|
||||
|
||||
# Send deprecation notices to registered listeners.
|
||||
config.active_support.deprecation = :notify
|
||||
|
||||
# Use default logging formatter so that PID and timestamp are not suppressed.
|
||||
config.log_formatter = ::Logger::Formatter.new
|
||||
|
||||
# Use a different logger for distributed setups.
|
||||
# require 'syslog/logger'
|
||||
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
|
||||
|
||||
if ENV["RAILS_LOG_TO_STDOUT"].present?
|
||||
logger = ActiveSupport::Logger.new(STDOUT)
|
||||
logger.formatter = config.log_formatter
|
||||
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
||||
end
|
||||
|
||||
# Do not dump schema after migrations.
|
||||
config.active_record.dump_schema_after_migration = false
|
||||
end
|
42
config/environments/test.rb
Executable file
@ -0,0 +1,42 @@
|
||||
Rails.application.configure do
|
||||
# Settings specified here will take precedence over those in config/application.rb.
|
||||
|
||||
# The test environment is used exclusively to run your application's
|
||||
# test suite. You never need to work with it otherwise. Remember that
|
||||
# your test database is "scratch space" for the test suite and is wiped
|
||||
# and recreated between test runs. Don't rely on the data there!
|
||||
config.cache_classes = true
|
||||
|
||||
# Do not eager load code on boot. This avoids loading your whole application
|
||||
# just for the purpose of running a single test. If you are using a tool that
|
||||
# preloads Rails for running tests, you may have to set it to true.
|
||||
config.eager_load = false
|
||||
|
||||
# Configure public file server for tests with Cache-Control for performance.
|
||||
config.public_file_server.enabled = true
|
||||
config.public_file_server.headers = {
|
||||
'Cache-Control' => 'public, max-age=3600'
|
||||
}
|
||||
|
||||
# Show full error reports and disable caching.
|
||||
config.consider_all_requests_local = true
|
||||
config.action_controller.perform_caching = false
|
||||
|
||||
# Raise exceptions instead of rendering exception templates.
|
||||
config.action_dispatch.show_exceptions = false
|
||||
|
||||
# Disable request forgery protection in test environment.
|
||||
config.action_controller.allow_forgery_protection = false
|
||||
config.action_mailer.perform_caching = false
|
||||
|
||||
# Tell Action Mailer not to deliver emails to the real world.
|
||||
# The :test delivery method accumulates sent emails in the
|
||||
# ActionMailer::Base.deliveries array.
|
||||
config.action_mailer.delivery_method = :test
|
||||
|
||||
# Print deprecation notices to the stderr.
|
||||
config.active_support.deprecation = :stderr
|
||||
|
||||
# Raises error for missing translations
|
||||
# config.action_view.raise_on_missing_translations = true
|
||||
end
|
6
config/initializers/application_controller_renderer.rb
Executable file
@ -0,0 +1,6 @@
|
||||
# Be sure to restart your server when you modify this file.
|
||||
|
||||
# ApplicationController.renderer.defaults.merge!(
|
||||
# http_host: 'example.org',
|
||||
# https: false
|
||||
# )
|
11
config/initializers/assets.rb
Executable file
@ -0,0 +1,11 @@
|
||||
# Be sure to restart your server when you modify this file.
|
||||
|
||||
# Version of your assets, change this if you want to expire all your assets.
|
||||
Rails.application.config.assets.version = '1.0'
|
||||
|
||||
# Add additional assets to the asset load path
|
||||
# Rails.application.config.assets.paths << Emoji.images_path
|
||||
|
||||
# Precompile additional assets.
|
||||
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
|
||||
# Rails.application.config.assets.precompile += %w( search.js )
|
7
config/initializers/backtrace_silencers.rb
Executable file
@ -0,0 +1,7 @@
|
||||
# Be sure to restart your server when you modify this file.
|
||||
|
||||
# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
|
||||
# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
|
||||
|
||||
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
|
||||
# Rails.backtrace_cleaner.remove_silencers!
|
5
config/initializers/cookies_serializer.rb
Executable file
@ -0,0 +1,5 @@
|
||||
# Be sure to restart your server when you modify this file.
|
||||
|
||||
# Specify a serializer for the signed and encrypted cookie jars.
|
||||
# Valid options are :json, :marshal, and :hybrid.
|
||||
Rails.application.config.action_dispatch.cookies_serializer = :json
|
4
config/initializers/filter_parameter_logging.rb
Executable file
@ -0,0 +1,4 @@
|
||||
# Be sure to restart your server when you modify this file.
|
||||
|
||||
# Configure sensitive parameters which will be filtered from the log file.
|
||||
Rails.application.config.filter_parameters += [:password]
|
16
config/initializers/inflections.rb
Executable file
@ -0,0 +1,16 @@
|
||||
# Be sure to restart your server when you modify this file.
|
||||
|
||||
# Add new inflection rules using the following format. Inflections
|
||||
# are locale specific, and you may define rules for as many different
|
||||
# locales as you wish. All of these examples are active by default:
|
||||
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
||||
# inflect.plural /^(ox)$/i, '\1en'
|
||||
# inflect.singular /^(ox)en/i, '\1'
|
||||
# inflect.irregular 'person', 'people'
|
||||
# inflect.uncountable %w( fish sheep )
|
||||
# end
|
||||
|
||||
# These inflection rules are supported but not enabled by default:
|
||||
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
||||
# inflect.acronym 'RESTful'
|
||||
# end
|
4
config/initializers/mime_types.rb
Executable file
@ -0,0 +1,4 @@
|
||||
# Be sure to restart your server when you modify this file.
|
||||
|
||||
# Add new mime types for use in respond_to blocks:
|
||||
# Mime::Type.register "text/richtext", :rtf
|
24
config/initializers/new_framework_defaults.rb
Executable file
@ -0,0 +1,24 @@
|
||||
# Be sure to restart your server when you modify this file.
|
||||
#
|
||||
# This file contains migration options to ease your Rails 5.0 upgrade.
|
||||
#
|
||||
# Read the Rails 5.0 release notes for more info on each option.
|
||||
|
||||
# Enable per-form CSRF tokens. Previous versions had false.
|
||||
Rails.application.config.action_controller.per_form_csrf_tokens = true
|
||||
|
||||
# Enable origin-checking CSRF mitigation. Previous versions had false.
|
||||
Rails.application.config.action_controller.forgery_protection_origin_check = true
|
||||
|
||||
# Make Ruby 2.4 preserve the timezone of the receiver when calling `to_time`.
|
||||
# Previous versions had false.
|
||||
ActiveSupport.to_time_preserves_timezone = true
|
||||
|
||||
# Require `belongs_to` associations by default. Previous versions had false.
|
||||
Rails.application.config.active_record.belongs_to_required_by_default = true
|
||||
|
||||
# Do not halt callback chains when a callback returns false. Previous versions had true.
|
||||
ActiveSupport.halt_callback_chains_on_return_false = false
|
||||
|
||||
# Configure SSL options to enable HSTS with subdomains. Previous versions had false.
|
||||
Rails.application.config.ssl_options = { hsts: { subdomains: true } }
|
3
config/initializers/session_store.rb
Executable file
@ -0,0 +1,3 @@
|
||||
# Be sure to restart your server when you modify this file.
|
||||
|
||||
Rails.application.config.session_store :cookie_store, key: '_heylium-app_session'
|
14
config/initializers/wrap_parameters.rb
Executable file
@ -0,0 +1,14 @@
|
||||
# Be sure to restart your server when you modify this file.
|
||||
|
||||
# This file contains settings for ActionController::ParamsWrapper which
|
||||
# is enabled by default.
|
||||
|
||||
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
|
||||
ActiveSupport.on_load(:action_controller) do
|
||||
wrap_parameters format: [:json]
|
||||
end
|
||||
|
||||
# To enable root element in JSON for ActiveRecord objects.
|
||||
# ActiveSupport.on_load(:active_record) do
|
||||
# self.include_root_in_json = true
|
||||
# end
|
23
config/locales/en.yml
Executable file
@ -0,0 +1,23 @@
|
||||
# Files in the config/locales directory are used for internationalization
|
||||
# and are automatically loaded by Rails. If you want to use locales other
|
||||
# than English, add the necessary files in this directory.
|
||||
#
|
||||
# To use the locales, use `I18n.t`:
|
||||
#
|
||||
# I18n.t 'hello'
|
||||
#
|
||||
# In views, this is aliased to just `t`:
|
||||
#
|
||||
# <%= t('hello') %>
|
||||
#
|
||||
# To use a different locale, set it with `I18n.locale`:
|
||||
#
|
||||
# I18n.locale = :es
|
||||
#
|
||||
# This would use the information in config/locales/es.yml.
|
||||
#
|
||||
# To learn more, please read the Rails Internationalization guide
|
||||
# available at http://guides.rubyonrails.org/i18n.html.
|
||||
|
||||
en:
|
||||
hello: "Hello world"
|
211
config/locales/fr.yml
Executable file
@ -0,0 +1,211 @@
|
||||
fr:
|
||||
activerecord:
|
||||
errors:
|
||||
messages:
|
||||
record_invalid: 'La validation a échoué : %{errors}'
|
||||
restrict_dependent_destroy:
|
||||
has_one: "Vous ne pouvez pas supprimer l'enregistrement car une personne à charge %{record} existe"
|
||||
has_many: "Vous ne pouvez pas supprimer l'enregistrement parce que les %{record} dépendants existent"
|
||||
date:
|
||||
abbr_day_names:
|
||||
- dim
|
||||
- lun
|
||||
- mar
|
||||
- mer
|
||||
- jeu
|
||||
- ven
|
||||
- sam
|
||||
abbr_month_names:
|
||||
-
|
||||
- jan.
|
||||
- fév.
|
||||
- mar.
|
||||
- avr.
|
||||
- mai
|
||||
- juin
|
||||
- juil.
|
||||
- août
|
||||
- sept.
|
||||
- oct.
|
||||
- nov.
|
||||
- déc.
|
||||
day_names:
|
||||
- dimanche
|
||||
- lundi
|
||||
- mardi
|
||||
- mercredi
|
||||
- jeudi
|
||||
- vendredi
|
||||
- samedi
|
||||
formats:
|
||||
default: "%d/%m/%Y"
|
||||
short: "%e %b"
|
||||
long: "%e %B %Y"
|
||||
month_names:
|
||||
-
|
||||
- janvier
|
||||
- février
|
||||
- mars
|
||||
- avril
|
||||
- mai
|
||||
- juin
|
||||
- juillet
|
||||
- août
|
||||
- septembre
|
||||
- octobre
|
||||
- novembre
|
||||
- décembre
|
||||
order:
|
||||
- :day
|
||||
- :month
|
||||
- :year
|
||||
datetime:
|
||||
distance_in_words:
|
||||
about_x_hours:
|
||||
one: environ une heure
|
||||
other: environ %{count} heures
|
||||
about_x_months:
|
||||
one: environ un mois
|
||||
other: environ %{count} mois
|
||||
about_x_years:
|
||||
one: environ un an
|
||||
other: environ %{count} ans
|
||||
almost_x_years:
|
||||
one: presqu'un an
|
||||
other: presque %{count} ans
|
||||
half_a_minute: une demi-minute
|
||||
less_than_x_minutes:
|
||||
zero: moins d'une minute
|
||||
one: moins d'une minute
|
||||
other: moins de %{count} minutes
|
||||
less_than_x_seconds:
|
||||
zero: moins d'une seconde
|
||||
one: moins d'une seconde
|
||||
other: moins de %{count} secondes
|
||||
over_x_years:
|
||||
one: plus d'un an
|
||||
other: plus de %{count} ans
|
||||
x_days:
|
||||
one: 1 jour
|
||||
other: "%{count} jours"
|
||||
x_minutes:
|
||||
one: 1 minute
|
||||
other: "%{count} minutes"
|
||||
x_months:
|
||||
one: 1 mois
|
||||
other: "%{count} mois"
|
||||
x_seconds:
|
||||
one: 1 seconde
|
||||
other: "%{count} secondes"
|
||||
prompts:
|
||||
day: Jour
|
||||
hour: Heure
|
||||
minute: Minute
|
||||
month: Mois
|
||||
second: Seconde
|
||||
year: Année
|
||||
errors:
|
||||
format: "%{attribute} %{message}"
|
||||
messages:
|
||||
accepted: doit être accepté(e)
|
||||
blank: doit être rempli(e)
|
||||
present: doit être vide
|
||||
confirmation: ne concorde pas avec %{attribute}
|
||||
empty: doit être rempli(e)
|
||||
equal_to: doit être égal à %{count}
|
||||
even: doit être pair
|
||||
exclusion: n'est pas disponible
|
||||
greater_than: doit être supérieur à %{count}
|
||||
greater_than_or_equal_to: doit être supérieur ou égal à %{count}
|
||||
inclusion: n'est pas inclus(e) dans la liste
|
||||
invalid: n'est pas valide
|
||||
less_than: doit être inférieur à %{count}
|
||||
less_than_or_equal_to: doit être inférieur ou égal à %{count}
|
||||
model_invalid: "Validation échouée: %{errors}"
|
||||
not_a_number: n'est pas un nombre
|
||||
not_an_integer: doit être un nombre entier
|
||||
odd: doit être impair
|
||||
required: doit exister
|
||||
taken: n'est pas disponible
|
||||
too_long:
|
||||
one: est trop long (pas plus d'un caractère)
|
||||
other: est trop long (pas plus de %{count} caractères)
|
||||
too_short:
|
||||
one: est trop court (au moins un caractère)
|
||||
other: est trop court (au moins %{count} caractères)
|
||||
wrong_length:
|
||||
one: ne fait pas la bonne longueur (doit comporter un seul caractère)
|
||||
other: ne fait pas la bonne longueur (doit comporter %{count} caractères)
|
||||
other_than: doit être différent de %{count}
|
||||
template:
|
||||
body: 'Veuillez vérifier les champs suivants : '
|
||||
header:
|
||||
one: 'Impossible d''enregistrer ce(tte) %{model} : 1 erreur'
|
||||
other: 'Impossible d''enregistrer ce(tte) %{model} : %{count} erreurs'
|
||||
helpers:
|
||||
select:
|
||||
prompt: Veuillez sélectionner
|
||||
submit:
|
||||
create: Créer un(e) %{model}
|
||||
submit: Enregistrer ce(tte) %{model}
|
||||
update: Modifier ce(tte) %{model}
|
||||
number:
|
||||
currency:
|
||||
format:
|
||||
delimiter: " "
|
||||
format: "%n %u"
|
||||
precision: 2
|
||||
separator: ","
|
||||
significant: false
|
||||
strip_insignificant_zeros: false
|
||||
unit: "€"
|
||||
format:
|
||||
delimiter: " "
|
||||
precision: 3
|
||||
separator: ","
|
||||
significant: false
|
||||
strip_insignificant_zeros: false
|
||||
human:
|
||||
decimal_units:
|
||||
format: "%n %u"
|
||||
units:
|
||||
billion: milliard
|
||||
million: million
|
||||
quadrillion: million de milliards
|
||||
thousand: millier
|
||||
trillion: billion
|
||||
unit: ''
|
||||
format:
|
||||
delimiter: ''
|
||||
precision: 3
|
||||
significant: true
|
||||
strip_insignificant_zeros: true
|
||||
storage_units:
|
||||
format: "%n %u"
|
||||
units:
|
||||
byte:
|
||||
one: octet
|
||||
other: octets
|
||||
gb: Go
|
||||
kb: ko
|
||||
mb: Mo
|
||||
tb: To
|
||||
percentage:
|
||||
format:
|
||||
delimiter: ''
|
||||
format: "%n%"
|
||||
precision:
|
||||
format:
|
||||
delimiter: ''
|
||||
support:
|
||||
array:
|
||||
last_word_connector: " et "
|
||||
two_words_connector: " et "
|
||||
words_connector: ", "
|
||||
time:
|
||||
am: am
|
||||
formats:
|
||||
default: "%d %B %Y %Hh %Mmin %Ss"
|
||||
long: "%A %d %B %Y %Hh%M"
|
||||
short: "%d %b %Hh%M"
|
||||
pm: pm
|
47
config/puma.rb
Executable file
@ -0,0 +1,47 @@
|
||||
# Puma can serve each request in a thread from an internal thread pool.
|
||||
# The `threads` method setting takes two numbers a minimum and maximum.
|
||||
# Any libraries that use thread pools should be configured to match
|
||||
# the maximum value specified for Puma. Default is set to 5 threads for minimum
|
||||
# and maximum, this matches the default thread size of Active Record.
|
||||
#
|
||||
threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }.to_i
|
||||
threads threads_count, threads_count
|
||||
|
||||
# Specifies the `port` that Puma will listen on to receive requests, default is 3000.
|
||||
#
|
||||
port ENV.fetch("PORT") { 3000 }
|
||||
|
||||
# Specifies the `environment` that Puma will run in.
|
||||
#
|
||||
environment ENV.fetch("RAILS_ENV") { "development" }
|
||||
|
||||
# Specifies the number of `workers` to boot in clustered mode.
|
||||
# Workers are forked webserver processes. If using threads and workers together
|
||||
# the concurrency of the application would be max `threads` * `workers`.
|
||||
# Workers do not work on JRuby or Windows (both of which do not support
|
||||
# processes).
|
||||
#
|
||||
# workers ENV.fetch("WEB_CONCURRENCY") { 2 }
|
||||
|
||||
# Use the `preload_app!` method when specifying a `workers` number.
|
||||
# This directive tells Puma to first boot the application and load code
|
||||
# before forking the application. This takes advantage of Copy On Write
|
||||
# process behavior so workers use less memory. If you use this option
|
||||
# you need to make sure to reconnect any threads in the `on_worker_boot`
|
||||
# block.
|
||||
#
|
||||
# preload_app!
|
||||
|
||||
# The code in the `on_worker_boot` will be called if you are using
|
||||
# clustered mode by specifying a number of `workers`. After each worker
|
||||
# process is booted this block will be run, if you are using `preload_app!`
|
||||
# option you will want to use this block to reconnect to any threads
|
||||
# or connections that may have been created at application boot, Ruby
|
||||
# cannot share connections between processes.
|
||||
#
|
||||
# on_worker_boot do
|
||||
# ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
|
||||
# end
|
||||
|
||||
# Allow puma to be restarted by `rails restart` command.
|
||||
plugin :tmp_restart
|
5
config/routes.rb
Executable file
@ -0,0 +1,5 @@
|
||||
Rails.application.routes.draw do
|
||||
|
||||
resources :balloons
|
||||
|
||||
end
|
22
config/secrets.yml
Executable file
@ -0,0 +1,22 @@
|
||||
# Be sure to restart your server when you modify this file.
|
||||
|
||||
# Your secret key is used for verifying the integrity of signed cookies.
|
||||
# If you change this key, all old signed cookies will become invalid!
|
||||
|
||||
# Make sure the secret is at least 30 characters and all random,
|
||||
# no regular words or you'll be exposed to dictionary attacks.
|
||||
# You can use `rails secret` to generate a secure secret key.
|
||||
|
||||
# Make sure the secrets in this file are kept private
|
||||
# if you're sharing your code publicly.
|
||||
|
||||
development:
|
||||
secret_key_base: 8cdc069f727d6a14a195d6289736a7c0a5621b17e0033a87bb01d9b2d760300541eb5f1a75c2e9b0648d3d013307b8079eaca1b12c8399fcd12c5cedbe90feb5
|
||||
|
||||
test:
|
||||
secret_key_base: 0898f521e2c294454b9eb43b863e6418b1d5dc15667309c14db1ef89bbe6d2015f36ade0d0fd087880276decd6d1100c23a4e00bdd31ec023d4f88ee9c286136
|
||||
|
||||
# Do not keep production secrets in the repository,
|
||||
# instead read values from the environment.
|
||||
production:
|
||||
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
|
6
config/spring.rb
Executable file
@ -0,0 +1,6 @@
|
||||
%w(
|
||||
.ruby-version
|
||||
.rbenv-vars
|
||||
tmp/restart.txt
|
||||
tmp/caching-dev.txt
|
||||
).each { |path| Spring.watch(path) }
|
7
db/seeds.rb
Executable file
@ -0,0 +1,7 @@
|
||||
# This file should contain all the record creation needed to seed the database with its default values.
|
||||
# The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup).
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
# movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])
|
||||
# Character.create(name: 'Luke', movie: movies.first)
|
0
lib/assets/.keep
Executable file
0
lib/tasks/.keep
Executable file
67
public/404.html
Executable file
@ -0,0 +1,67 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The page you were looking for doesn't exist (404)</title>
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<style>
|
||||
body {
|
||||
background-color: #EFEFEF;
|
||||
color: #2E2F30;
|
||||
text-align: center;
|
||||
font-family: arial, sans-serif;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.dialog {
|
||||
width: 95%;
|
||||
max-width: 33em;
|
||||
margin: 4em auto 0;
|
||||
}
|
||||
|
||||
div.dialog > div {
|
||||
border: 1px solid #CCC;
|
||||
border-right-color: #999;
|
||||
border-left-color: #999;
|
||||
border-bottom-color: #BBB;
|
||||
border-top: #B00100 solid 4px;
|
||||
border-top-left-radius: 9px;
|
||||
border-top-right-radius: 9px;
|
||||
background-color: white;
|
||||
padding: 7px 12% 0;
|
||||
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 100%;
|
||||
color: #730E15;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
div.dialog > p {
|
||||
margin: 0 0 1em;
|
||||
padding: 1em;
|
||||
background-color: #F7F7F7;
|
||||
border: 1px solid #CCC;
|
||||
border-right-color: #999;
|
||||
border-left-color: #999;
|
||||
border-bottom-color: #999;
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
border-top-color: #DADADA;
|
||||
color: #666;
|
||||
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- This file lives in public/404.html -->
|
||||
<div class="dialog">
|
||||
<div>
|
||||
<h1>The page you were looking for doesn't exist.</h1>
|
||||
<p>You may have mistyped the address or the page may have moved.</p>
|
||||
</div>
|
||||
<p>If you are the application owner check the logs for more information.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
67
public/422.html
Executable file
@ -0,0 +1,67 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The change you wanted was rejected (422)</title>
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<style>
|
||||
body {
|
||||
background-color: #EFEFEF;
|
||||
color: #2E2F30;
|
||||
text-align: center;
|
||||
font-family: arial, sans-serif;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.dialog {
|
||||
width: 95%;
|
||||
max-width: 33em;
|
||||
margin: 4em auto 0;
|
||||
}
|
||||
|
||||
div.dialog > div {
|
||||
border: 1px solid #CCC;
|
||||
border-right-color: #999;
|
||||
border-left-color: #999;
|
||||
border-bottom-color: #BBB;
|
||||
border-top: #B00100 solid 4px;
|
||||
border-top-left-radius: 9px;
|
||||
border-top-right-radius: 9px;
|
||||
background-color: white;
|
||||
padding: 7px 12% 0;
|
||||
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 100%;
|
||||
color: #730E15;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
div.dialog > p {
|
||||
margin: 0 0 1em;
|
||||
padding: 1em;
|
||||
background-color: #F7F7F7;
|
||||
border: 1px solid #CCC;
|
||||
border-right-color: #999;
|
||||
border-left-color: #999;
|
||||
border-bottom-color: #999;
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
border-top-color: #DADADA;
|
||||
color: #666;
|
||||
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- This file lives in public/422.html -->
|
||||
<div class="dialog">
|
||||
<div>
|
||||
<h1>The change you wanted was rejected.</h1>
|
||||
<p>Maybe you tried to change something you didn't have access to.</p>
|
||||
</div>
|
||||
<p>If you are the application owner check the logs for more information.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
66
public/500.html
Executable file
@ -0,0 +1,66 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>We're sorry, but something went wrong (500)</title>
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<style>
|
||||
body {
|
||||
background-color: #EFEFEF;
|
||||
color: #2E2F30;
|
||||
text-align: center;
|
||||
font-family: arial, sans-serif;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.dialog {
|
||||
width: 95%;
|
||||
max-width: 33em;
|
||||
margin: 4em auto 0;
|
||||
}
|
||||
|
||||
div.dialog > div {
|
||||
border: 1px solid #CCC;
|
||||
border-right-color: #999;
|
||||
border-left-color: #999;
|
||||
border-bottom-color: #BBB;
|
||||
border-top: #B00100 solid 4px;
|
||||
border-top-left-radius: 9px;
|
||||
border-top-right-radius: 9px;
|
||||
background-color: white;
|
||||
padding: 7px 12% 0;
|
||||
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 100%;
|
||||
color: #730E15;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
div.dialog > p {
|
||||
margin: 0 0 1em;
|
||||
padding: 1em;
|
||||
background-color: #F7F7F7;
|
||||
border: 1px solid #CCC;
|
||||
border-right-color: #999;
|
||||
border-left-color: #999;
|
||||
border-bottom-color: #999;
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
border-top-color: #DADADA;
|
||||
color: #666;
|
||||
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- This file lives in public/500.html -->
|
||||
<div class="dialog">
|
||||
<div>
|
||||
<h1>We're sorry, but something went wrong.</h1>
|
||||
</div>
|
||||
<p>If you are the application owner check the logs for more information.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
0
public/apple-touch-icon-precomposed.png
Executable file
0
public/apple-touch-icon.png
Executable file
0
public/favicon.ico
Executable file
5
public/robots.txt
Executable file
@ -0,0 +1,5 @@
|
||||
# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
|
||||
#
|
||||
# To ban all spiders from the entire site uncomment the next two lines:
|
||||
# User-agent: *
|
||||
# Disallow: /
|
0
test/controllers/.keep
Executable file
0
test/fixtures/.keep
vendored
Executable file
0
test/fixtures/files/.keep
vendored
Executable file
0
test/helpers/.keep
Executable file
0
test/integration/.keep
Executable file
0
test/mailers/.keep
Executable file
0
test/models/.keep
Executable file
10
test/test_helper.rb
Executable file
@ -0,0 +1,10 @@
|
||||
ENV['RAILS_ENV'] ||= 'test'
|
||||
require File.expand_path('../../config/environment', __FILE__)
|
||||
require 'rails/test_help'
|
||||
|
||||
class ActiveSupport::TestCase
|
||||
# Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
|
||||
fixtures :all
|
||||
|
||||
# Add more helper methods to be used by all tests here...
|
||||
end
|
0
vendor/assets/javascripts/.keep
vendored
Executable file
6
vendor/assets/javascripts/progressBar.js
vendored
Executable file
0
vendor/assets/stylesheets/.keep
vendored
Executable file
1770
vendor/assets/stylesheets/_all-skins.css
vendored
Normal file
1
vendor/assets/stylesheets/_all-skins.min.css
vendored
Normal file
173
vendor/assets/stylesheets/skin-black-light.css
vendored
Normal file
@ -0,0 +1,173 @@
|
||||
/*
|
||||
* Skin: Black
|
||||
* -----------
|
||||
*/
|
||||
/* skin-black navbar */
|
||||
.skin-black-light .main-header {
|
||||
-webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
|
||||
box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
.skin-black-light .main-header .navbar-toggle {
|
||||
color: #333;
|
||||
}
|
||||
.skin-black-light .main-header .navbar-brand {
|
||||
color: #333;
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
.skin-black-light .main-header .navbar {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.skin-black-light .main-header .navbar .nav > li > a {
|
||||
color: #333333;
|
||||
}
|
||||
.skin-black-light .main-header .navbar .nav > li > a:hover,
|
||||
.skin-black-light .main-header .navbar .nav > li > a:active,
|
||||
.skin-black-light .main-header .navbar .nav > li > a:focus,
|
||||
.skin-black-light .main-header .navbar .nav .open > a,
|
||||
.skin-black-light .main-header .navbar .nav .open > a:hover,
|
||||
.skin-black-light .main-header .navbar .nav .open > a:focus,
|
||||
.skin-black-light .main-header .navbar .nav > .active > a {
|
||||
background: #ffffff;
|
||||
color: #999999;
|
||||
}
|
||||
.skin-black-light .main-header .navbar .sidebar-toggle {
|
||||
color: #333333;
|
||||
}
|
||||
.skin-black-light .main-header .navbar .sidebar-toggle:hover {
|
||||
color: #999999;
|
||||
background: #ffffff;
|
||||
}
|
||||
.skin-black-light .main-header .navbar > .sidebar-toggle {
|
||||
color: #333;
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
.skin-black-light .main-header .navbar .navbar-nav > li > a {
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
.skin-black-light .main-header .navbar .navbar-custom-menu .navbar-nav > li > a,
|
||||
.skin-black-light .main-header .navbar .navbar-right > li > a {
|
||||
border-left: 1px solid #eee;
|
||||
border-right-width: 0;
|
||||
}
|
||||
.skin-black-light .main-header > .logo {
|
||||
background-color: #ffffff;
|
||||
color: #333333;
|
||||
border-bottom: 0 solid transparent;
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
.skin-black-light .main-header > .logo:hover {
|
||||
background-color: #fcfcfc;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.skin-black-light .main-header > .logo {
|
||||
background-color: #222222;
|
||||
color: #ffffff;
|
||||
border-bottom: 0 solid transparent;
|
||||
border-right: none;
|
||||
}
|
||||
.skin-black-light .main-header > .logo:hover {
|
||||
background-color: #1f1f1f;
|
||||
}
|
||||
}
|
||||
.skin-black-light .main-header li.user-header {
|
||||
background-color: #222;
|
||||
}
|
||||
.skin-black-light .content-header {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
.skin-black-light .wrapper,
|
||||
.skin-black-light .main-sidebar,
|
||||
.skin-black-light .left-side {
|
||||
background-color: #f9fafc;
|
||||
}
|
||||
.skin-black-light .content-wrapper,
|
||||
.skin-black-light .main-footer {
|
||||
border-left: 1px solid #d2d6de;
|
||||
}
|
||||
.skin-black-light .user-panel > .info,
|
||||
.skin-black-light .user-panel > .info > a {
|
||||
color: #444444;
|
||||
}
|
||||
.skin-black-light .sidebar-menu > li {
|
||||
-webkit-transition: border-left-color 0.3s ease;
|
||||
-o-transition: border-left-color 0.3s ease;
|
||||
transition: border-left-color 0.3s ease;
|
||||
}
|
||||
.skin-black-light .sidebar-menu > li.header {
|
||||
color: #848484;
|
||||
background: #f9fafc;
|
||||
}
|
||||
.skin-black-light .sidebar-menu > li > a {
|
||||
border-left: 3px solid transparent;
|
||||
font-weight: 600;
|
||||
}
|
||||
.skin-black-light .sidebar-menu > li:hover > a,
|
||||
.skin-black-light .sidebar-menu > li.active > a {
|
||||
color: #000000;
|
||||
background: #f4f4f5;
|
||||
}
|
||||
.skin-black-light .sidebar-menu > li.active {
|
||||
border-left-color: #ffffff;
|
||||
}
|
||||
.skin-black-light .sidebar-menu > li.active > a {
|
||||
font-weight: 600;
|
||||
}
|
||||
.skin-black-light .sidebar-menu > li > .treeview-menu {
|
||||
background: #f4f4f5;
|
||||
}
|
||||
.skin-black-light .sidebar a {
|
||||
color: #444444;
|
||||
}
|
||||
.skin-black-light .sidebar a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
.skin-black-light .treeview-menu > li > a {
|
||||
color: #777777;
|
||||
}
|
||||
.skin-black-light .treeview-menu > li.active > a,
|
||||
.skin-black-light .treeview-menu > li > a:hover {
|
||||
color: #000000;
|
||||
}
|
||||
.skin-black-light .treeview-menu > li.active > a {
|
||||
font-weight: 600;
|
||||
}
|
||||
.skin-black-light .sidebar-form {
|
||||
border-radius: 3px;
|
||||
border: 1px solid #d2d6de;
|
||||
margin: 10px 10px;
|
||||
}
|
||||
.skin-black-light .sidebar-form input[type="text"],
|
||||
.skin-black-light .sidebar-form .btn {
|
||||
box-shadow: none;
|
||||
background-color: #fff;
|
||||
border: 1px solid transparent;
|
||||
height: 35px;
|
||||
}
|
||||
.skin-black-light .sidebar-form input[type="text"] {
|
||||
color: #666;
|
||||
border-top-left-radius: 2px;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
border-bottom-left-radius: 2px;
|
||||
}
|
||||
.skin-black-light .sidebar-form input[type="text"]:focus,
|
||||
.skin-black-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
|
||||
background-color: #fff;
|
||||
color: #666;
|
||||
}
|
||||
.skin-black-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
|
||||
border-left-color: #fff;
|
||||
}
|
||||
.skin-black-light .sidebar-form .btn {
|
||||
color: #999;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.skin-black-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
|
||||
border-left: 1px solid #d2d6de;
|
||||
}
|
||||
}
|
1
vendor/assets/stylesheets/skin-black-light.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
.skin-black-light .main-header{-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.skin-black-light .main-header .navbar-toggle{color:#333}.skin-black-light .main-header .navbar-brand{color:#333;border-right:1px solid #eee}.skin-black-light .main-header .navbar{background-color:#fff}.skin-black-light .main-header .navbar .nav>li>a{color:#333}.skin-black-light .main-header .navbar .nav>li>a:hover,.skin-black-light .main-header .navbar .nav>li>a:active,.skin-black-light .main-header .navbar .nav>li>a:focus,.skin-black-light .main-header .navbar .nav .open>a,.skin-black-light .main-header .navbar .nav .open>a:hover,.skin-black-light .main-header .navbar .nav .open>a:focus,.skin-black-light .main-header .navbar .nav>.active>a{background:#fff;color:#999}.skin-black-light .main-header .navbar .sidebar-toggle{color:#333}.skin-black-light .main-header .navbar .sidebar-toggle:hover{color:#999;background:#fff}.skin-black-light .main-header .navbar>.sidebar-toggle{color:#333;border-right:1px solid #eee}.skin-black-light .main-header .navbar .navbar-nav>li>a{border-right:1px solid #eee}.skin-black-light .main-header .navbar .navbar-custom-menu .navbar-nav>li>a,.skin-black-light .main-header .navbar .navbar-right>li>a{border-left:1px solid #eee;border-right-width:0}.skin-black-light .main-header>.logo{background-color:#fff;color:#333;border-bottom:0 solid transparent;border-right:1px solid #eee}.skin-black-light .main-header>.logo:hover{background-color:#fcfcfc}@media (max-width:767px){.skin-black-light .main-header>.logo{background-color:#222;color:#fff;border-bottom:0 solid transparent;border-right:none}.skin-black-light .main-header>.logo:hover{background-color:#1f1f1f}}.skin-black-light .main-header li.user-header{background-color:#222}.skin-black-light .content-header{background:transparent;box-shadow:none}.skin-black-light .wrapper,.skin-black-light .main-sidebar,.skin-black-light .left-side{background-color:#f9fafc}.skin-black-light .content-wrapper,.skin-black-light .main-footer{border-left:1px solid #d2d6de}.skin-black-light .user-panel>.info,.skin-black-light .user-panel>.info>a{color:#444}.skin-black-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-black-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-black-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-black-light .sidebar-menu>li:hover>a,.skin-black-light .sidebar-menu>li.active>a{color:#000;background:#f4f4f5}.skin-black-light .sidebar-menu>li.active{border-left-color:#fff}.skin-black-light .sidebar-menu>li.active>a{font-weight:600}.skin-black-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-black-light .sidebar a{color:#444}.skin-black-light .sidebar a:hover{text-decoration:none}.skin-black-light .treeview-menu>li>a{color:#777}.skin-black-light .treeview-menu>li.active>a,.skin-black-light .treeview-menu>li>a:hover{color:#000}.skin-black-light .treeview-menu>li.active>a{font-weight:600}.skin-black-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-black-light .sidebar-form input[type="text"],.skin-black-light .sidebar-form .btn{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-black-light .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-black-light .sidebar-form input[type="text"]:focus,.skin-black-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-black-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-black-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-black-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}
|
158
vendor/assets/stylesheets/skin-black.css
vendored
Normal file
@ -0,0 +1,158 @@
|
||||
/*
|
||||
* Skin: Black
|
||||
* -----------
|
||||
*/
|
||||
/* skin-black navbar */
|
||||
.skin-black .main-header {
|
||||
-webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
|
||||
box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
.skin-black .main-header .navbar-toggle {
|
||||
color: #333;
|
||||
}
|
||||
.skin-black .main-header .navbar-brand {
|
||||
color: #333;
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
.skin-black .main-header .navbar {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.skin-black .main-header .navbar .nav > li > a {
|
||||
color: #333333;
|
||||
}
|
||||
.skin-black .main-header .navbar .nav > li > a:hover,
|
||||
.skin-black .main-header .navbar .nav > li > a:active,
|
||||
.skin-black .main-header .navbar .nav > li > a:focus,
|
||||
.skin-black .main-header .navbar .nav .open > a,
|
||||
.skin-black .main-header .navbar .nav .open > a:hover,
|
||||
.skin-black .main-header .navbar .nav .open > a:focus,
|
||||
.skin-black .main-header .navbar .nav > .active > a {
|
||||
background: #ffffff;
|
||||
color: #999999;
|
||||
}
|
||||
.skin-black .main-header .navbar .sidebar-toggle {
|
||||
color: #333333;
|
||||
}
|
||||
.skin-black .main-header .navbar .sidebar-toggle:hover {
|
||||
color: #999999;
|
||||
background: #ffffff;
|
||||
}
|
||||
.skin-black .main-header .navbar > .sidebar-toggle {
|
||||
color: #333;
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
.skin-black .main-header .navbar .navbar-nav > li > a {
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
.skin-black .main-header .navbar .navbar-custom-menu .navbar-nav > li > a,
|
||||
.skin-black .main-header .navbar .navbar-right > li > a {
|
||||
border-left: 1px solid #eee;
|
||||
border-right-width: 0;
|
||||
}
|
||||
.skin-black .main-header > .logo {
|
||||
background-color: #ffffff;
|
||||
color: #333333;
|
||||
border-bottom: 0 solid transparent;
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
.skin-black .main-header > .logo:hover {
|
||||
background-color: #fcfcfc;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.skin-black .main-header > .logo {
|
||||
background-color: #222222;
|
||||
color: #ffffff;
|
||||
border-bottom: 0 solid transparent;
|
||||
border-right: none;
|
||||
}
|
||||
.skin-black .main-header > .logo:hover {
|
||||
background-color: #1f1f1f;
|
||||
}
|
||||
}
|
||||
.skin-black .main-header li.user-header {
|
||||
background-color: #222;
|
||||
}
|
||||
.skin-black .content-header {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
.skin-black .wrapper,
|
||||
.skin-black .main-sidebar,
|
||||
.skin-black .left-side {
|
||||
background-color: #222d32;
|
||||
}
|
||||
.skin-black .user-panel > .info,
|
||||
.skin-black .user-panel > .info > a {
|
||||
color: #fff;
|
||||
}
|
||||
.skin-black .sidebar-menu > li.header {
|
||||
color: #4b646f;
|
||||
background: #1a2226;
|
||||
}
|
||||
.skin-black .sidebar-menu > li > a {
|
||||
border-left: 3px solid transparent;
|
||||
}
|
||||
.skin-black .sidebar-menu > li:hover > a,
|
||||
.skin-black .sidebar-menu > li.active > a {
|
||||
color: #ffffff;
|
||||
background: #1e282c;
|
||||
border-left-color: #ffffff;
|
||||
}
|
||||
.skin-black .sidebar-menu > li > .treeview-menu {
|
||||
margin: 0 1px;
|
||||
background: #2c3b41;
|
||||
}
|
||||
.skin-black .sidebar a {
|
||||
color: #b8c7ce;
|
||||
}
|
||||
.skin-black .sidebar a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
.skin-black .treeview-menu > li > a {
|
||||
color: #8aa4af;
|
||||
}
|
||||
.skin-black .treeview-menu > li.active > a,
|
||||
.skin-black .treeview-menu > li > a:hover {
|
||||
color: #ffffff;
|
||||
}
|
||||
.skin-black .sidebar-form {
|
||||
border-radius: 3px;
|
||||
border: 1px solid #374850;
|
||||
margin: 10px 10px;
|
||||
}
|
||||
.skin-black .sidebar-form input[type="text"],
|
||||
.skin-black .sidebar-form .btn {
|
||||
box-shadow: none;
|
||||
background-color: #374850;
|
||||
border: 1px solid transparent;
|
||||
height: 35px;
|
||||
}
|
||||
.skin-black .sidebar-form input[type="text"] {
|
||||
color: #666;
|
||||
border-top-left-radius: 2px;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
border-bottom-left-radius: 2px;
|
||||
}
|
||||
.skin-black .sidebar-form input[type="text"]:focus,
|
||||
.skin-black .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
|
||||
background-color: #fff;
|
||||
color: #666;
|
||||
}
|
||||
.skin-black .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
|
||||
border-left-color: #fff;
|
||||
}
|
||||
.skin-black .sidebar-form .btn {
|
||||
color: #999;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
.skin-black .pace .pace-progress {
|
||||
background: #222;
|
||||
}
|
||||
.skin-black .pace .pace-activity {
|
||||
border-top-color: #222;
|
||||
border-left-color: #222;
|
||||
}
|
1
vendor/assets/stylesheets/skin-black.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
.skin-black .main-header{-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.skin-black .main-header .navbar-toggle{color:#333}.skin-black .main-header .navbar-brand{color:#333;border-right:1px solid #eee}.skin-black .main-header .navbar{background-color:#fff}.skin-black .main-header .navbar .nav>li>a{color:#333}.skin-black .main-header .navbar .nav>li>a:hover,.skin-black .main-header .navbar .nav>li>a:active,.skin-black .main-header .navbar .nav>li>a:focus,.skin-black .main-header .navbar .nav .open>a,.skin-black .main-header .navbar .nav .open>a:hover,.skin-black .main-header .navbar .nav .open>a:focus,.skin-black .main-header .navbar .nav>.active>a{background:#fff;color:#999}.skin-black .main-header .navbar .sidebar-toggle{color:#333}.skin-black .main-header .navbar .sidebar-toggle:hover{color:#999;background:#fff}.skin-black .main-header .navbar>.sidebar-toggle{color:#333;border-right:1px solid #eee}.skin-black .main-header .navbar .navbar-nav>li>a{border-right:1px solid #eee}.skin-black .main-header .navbar .navbar-custom-menu .navbar-nav>li>a,.skin-black .main-header .navbar .navbar-right>li>a{border-left:1px solid #eee;border-right-width:0}.skin-black .main-header>.logo{background-color:#fff;color:#333;border-bottom:0 solid transparent;border-right:1px solid #eee}.skin-black .main-header>.logo:hover{background-color:#fcfcfc}@media (max-width:767px){.skin-black .main-header>.logo{background-color:#222;color:#fff;border-bottom:0 solid transparent;border-right:none}.skin-black .main-header>.logo:hover{background-color:#1f1f1f}}.skin-black .main-header li.user-header{background-color:#222}.skin-black .content-header{background:transparent;box-shadow:none}.skin-black .wrapper,.skin-black .main-sidebar,.skin-black .left-side{background-color:#222d32}.skin-black .user-panel>.info,.skin-black .user-panel>.info>a{color:#fff}.skin-black .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-black .sidebar-menu>li>a{border-left:3px solid transparent}.skin-black .sidebar-menu>li:hover>a,.skin-black .sidebar-menu>li.active>a{color:#fff;background:#1e282c;border-left-color:#fff}.skin-black .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-black .sidebar a{color:#b8c7ce}.skin-black .sidebar a:hover{text-decoration:none}.skin-black .treeview-menu>li>a{color:#8aa4af}.skin-black .treeview-menu>li.active>a,.skin-black .treeview-menu>li>a:hover{color:#fff}.skin-black .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-black .sidebar-form input[type="text"],.skin-black .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-black .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-black .sidebar-form input[type="text"]:focus,.skin-black .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-black .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-black .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-black .pace .pace-progress{background:#222}.skin-black .pace .pace-activity{border-top-color:#222;border-left-color:#222}
|
164
vendor/assets/stylesheets/skin-blue-light.css
vendored
Normal file
@ -0,0 +1,164 @@
|
||||
/*
|
||||
* Skin: Blue
|
||||
* ----------
|
||||
*/
|
||||
.skin-blue-light .main-header .navbar {
|
||||
background-color: #3c8dbc;
|
||||
}
|
||||
.skin-blue-light .main-header .navbar .nav > li > a {
|
||||
color: #ffffff;
|
||||
}
|
||||
.skin-blue-light .main-header .navbar .nav > li > a:hover,
|
||||
.skin-blue-light .main-header .navbar .nav > li > a:active,
|
||||
.skin-blue-light .main-header .navbar .nav > li > a:focus,
|
||||
.skin-blue-light .main-header .navbar .nav .open > a,
|
||||
.skin-blue-light .main-header .navbar .nav .open > a:hover,
|
||||
.skin-blue-light .main-header .navbar .nav .open > a:focus,
|
||||
.skin-blue-light .main-header .navbar .nav > .active > a {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
color: #f6f6f6;
|
||||
}
|
||||
.skin-blue-light .main-header .navbar .sidebar-toggle {
|
||||
color: #ffffff;
|
||||
}
|
||||
.skin-blue-light .main-header .navbar .sidebar-toggle:hover {
|
||||
color: #f6f6f6;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.skin-blue-light .main-header .navbar .sidebar-toggle {
|
||||
color: #fff;
|
||||
}
|
||||
.skin-blue-light .main-header .navbar .sidebar-toggle:hover {
|
||||
background-color: #367fa9;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.skin-blue-light .main-header .navbar .dropdown-menu li.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
.skin-blue-light .main-header .navbar .dropdown-menu li a {
|
||||
color: #fff;
|
||||
}
|
||||
.skin-blue-light .main-header .navbar .dropdown-menu li a:hover {
|
||||
background: #367fa9;
|
||||
}
|
||||
}
|
||||
.skin-blue-light .main-header .logo {
|
||||
background-color: #3c8dbc;
|
||||
color: #ffffff;
|
||||
border-bottom: 0 solid transparent;
|
||||
}
|
||||
.skin-blue-light .main-header .logo:hover {
|
||||
background-color: #3b8ab8;
|
||||
}
|
||||
.skin-blue-light .main-header li.user-header {
|
||||
background-color: #3c8dbc;
|
||||
}
|
||||
.skin-blue-light .content-header {
|
||||
background: transparent;
|
||||
}
|
||||
.skin-blue-light .wrapper,
|
||||
.skin-blue-light .main-sidebar,
|
||||
.skin-blue-light .left-side {
|
||||
background-color: #f9fafc;
|
||||
}
|
||||
.skin-blue-light .content-wrapper,
|
||||
.skin-blue-light .main-footer {
|
||||
border-left: 1px solid #d2d6de;
|
||||
}
|
||||
.skin-blue-light .user-panel > .info,
|
||||
.skin-blue-light .user-panel > .info > a {
|
||||
color: #444444;
|
||||
}
|
||||
.skin-blue-light .sidebar-menu > li {
|
||||
-webkit-transition: border-left-color 0.3s ease;
|
||||
-o-transition: border-left-color 0.3s ease;
|
||||
transition: border-left-color 0.3s ease;
|
||||
}
|
||||
.skin-blue-light .sidebar-menu > li.header {
|
||||
color: #848484;
|
||||
background: #f9fafc;
|
||||
}
|
||||
.skin-blue-light .sidebar-menu > li > a {
|
||||
border-left: 3px solid transparent;
|
||||
font-weight: 600;
|
||||
}
|
||||
.skin-blue-light .sidebar-menu > li:hover > a,
|
||||
.skin-blue-light .sidebar-menu > li.active > a {
|
||||
color: #000000;
|
||||
background: #f4f4f5;
|
||||
}
|
||||
.skin-blue-light .sidebar-menu > li.active {
|
||||
border-left-color: #3c8dbc;
|
||||
}
|
||||
.skin-blue-light .sidebar-menu > li.active > a {
|
||||
font-weight: 600;
|
||||
}
|
||||
.skin-blue-light .sidebar-menu > li > .treeview-menu {
|
||||
background: #f4f4f5;
|
||||
}
|
||||
.skin-blue-light .sidebar a {
|
||||
color: #444444;
|
||||
}
|
||||
.skin-blue-light .sidebar a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
.skin-blue-light .treeview-menu > li > a {
|
||||
color: #777777;
|
||||
}
|
||||
.skin-blue-light .treeview-menu > li.active > a,
|
||||
.skin-blue-light .treeview-menu > li > a:hover {
|
||||
color: #000000;
|
||||
}
|
||||
.skin-blue-light .treeview-menu > li.active > a {
|
||||
font-weight: 600;
|
||||
}
|
||||
.skin-blue-light .sidebar-form {
|
||||
border-radius: 3px;
|
||||
border: 1px solid #d2d6de;
|
||||
margin: 10px 10px;
|
||||
}
|
||||
.skin-blue-light .sidebar-form input[type="text"],
|
||||
.skin-blue-light .sidebar-form .btn {
|
||||
box-shadow: none;
|
||||
background-color: #fff;
|
||||
border: 1px solid transparent;
|
||||
height: 35px;
|
||||
}
|
||||
.skin-blue-light .sidebar-form input[type="text"] {
|
||||
color: #666;
|
||||
border-top-left-radius: 2px;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
border-bottom-left-radius: 2px;
|
||||
}
|
||||
.skin-blue-light .sidebar-form input[type="text"]:focus,
|
||||
.skin-blue-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
|
||||
background-color: #fff;
|
||||
color: #666;
|
||||
}
|
||||
.skin-blue-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
|
||||
border-left-color: #fff;
|
||||
}
|
||||
.skin-blue-light .sidebar-form .btn {
|
||||
color: #999;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.skin-blue-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
|
||||
border-left: 1px solid #d2d6de;
|
||||
}
|
||||
}
|
||||
.skin-blue-light .main-footer {
|
||||
border-top-color: #d2d6de;
|
||||
}
|
||||
.skin-blue.layout-top-nav .main-header > .logo {
|
||||
background-color: #3c8dbc;
|
||||
color: #ffffff;
|
||||
border-bottom: 0 solid transparent;
|
||||
}
|
||||
.skin-blue.layout-top-nav .main-header > .logo:hover {
|
||||
background-color: #3b8ab8;
|
||||
}
|
1
vendor/assets/stylesheets/skin-blue-light.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
.skin-blue-light .main-header .navbar{background-color:#3c8dbc}.skin-blue-light .main-header .navbar .nav>li>a{color:#fff}.skin-blue-light .main-header .navbar .nav>li>a:hover,.skin-blue-light .main-header .navbar .nav>li>a:active,.skin-blue-light .main-header .navbar .nav>li>a:focus,.skin-blue-light .main-header .navbar .nav .open>a,.skin-blue-light .main-header .navbar .nav .open>a:hover,.skin-blue-light .main-header .navbar .nav .open>a:focus,.skin-blue-light .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-blue-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue-light .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-blue-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue-light .main-header .navbar .sidebar-toggle:hover{background-color:#367fa9}@media (max-width:767px){.skin-blue-light .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-blue-light .main-header .navbar .dropdown-menu li a{color:#fff}.skin-blue-light .main-header .navbar .dropdown-menu li a:hover{background:#367fa9}}.skin-blue-light .main-header .logo{background-color:#3c8dbc;color:#fff;border-bottom:0 solid transparent}.skin-blue-light .main-header .logo:hover{background-color:#3b8ab8}.skin-blue-light .main-header li.user-header{background-color:#3c8dbc}.skin-blue-light .content-header{background:transparent}.skin-blue-light .wrapper,.skin-blue-light .main-sidebar,.skin-blue-light .left-side{background-color:#f9fafc}.skin-blue-light .content-wrapper,.skin-blue-light .main-footer{border-left:1px solid #d2d6de}.skin-blue-light .user-panel>.info,.skin-blue-light .user-panel>.info>a{color:#444}.skin-blue-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-blue-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-blue-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-blue-light .sidebar-menu>li:hover>a,.skin-blue-light .sidebar-menu>li.active>a{color:#000;background:#f4f4f5}.skin-blue-light .sidebar-menu>li.active{border-left-color:#3c8dbc}.skin-blue-light .sidebar-menu>li.active>a{font-weight:600}.skin-blue-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-blue-light .sidebar a{color:#444}.skin-blue-light .sidebar a:hover{text-decoration:none}.skin-blue-light .treeview-menu>li>a{color:#777}.skin-blue-light .treeview-menu>li.active>a,.skin-blue-light .treeview-menu>li>a:hover{color:#000}.skin-blue-light .treeview-menu>li.active>a{font-weight:600}.skin-blue-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-blue-light .sidebar-form input[type="text"],.skin-blue-light .sidebar-form .btn{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-blue-light .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-blue-light .sidebar-form input[type="text"]:focus,.skin-blue-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-blue-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-blue-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-blue-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}.skin-blue-light .main-footer{border-top-color:#d2d6de}.skin-blue.layout-top-nav .main-header>.logo{background-color:#3c8dbc;color:#fff;border-bottom:0 solid transparent}.skin-blue.layout-top-nav .main-header>.logo:hover{background-color:#3b8ab8}
|
139
vendor/assets/stylesheets/skin-blue.css
vendored
Normal file
@ -0,0 +1,139 @@
|
||||
/*
|
||||
* Skin: Blue
|
||||
* ----------
|
||||
*/
|
||||
.skin-blue .main-header .navbar {
|
||||
background-color: #3c8dbc;
|
||||
}
|
||||
.skin-blue .main-header .navbar .nav > li > a {
|
||||
color: #ffffff;
|
||||
}
|
||||
.skin-blue .main-header .navbar .nav > li > a:hover,
|
||||
.skin-blue .main-header .navbar .nav > li > a:active,
|
||||
.skin-blue .main-header .navbar .nav > li > a:focus,
|
||||
.skin-blue .main-header .navbar .nav .open > a,
|
||||
.skin-blue .main-header .navbar .nav .open > a:hover,
|
||||
.skin-blue .main-header .navbar .nav .open > a:focus,
|
||||
.skin-blue .main-header .navbar .nav > .active > a {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
color: #f6f6f6;
|
||||
}
|
||||
.skin-blue .main-header .navbar .sidebar-toggle {
|
||||
color: #ffffff;
|
||||
}
|
||||
.skin-blue .main-header .navbar .sidebar-toggle:hover {
|
||||
color: #f6f6f6;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.skin-blue .main-header .navbar .sidebar-toggle {
|
||||
color: #fff;
|
||||
}
|
||||
.skin-blue .main-header .navbar .sidebar-toggle:hover {
|
||||
background-color: #367fa9;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.skin-blue .main-header .navbar .dropdown-menu li.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
.skin-blue .main-header .navbar .dropdown-menu li a {
|
||||
color: #fff;
|
||||
}
|
||||
.skin-blue .main-header .navbar .dropdown-menu li a:hover {
|
||||
background: #367fa9;
|
||||
}
|
||||
}
|
||||
.skin-blue .main-header .logo {
|
||||
background-color: #367fa9;
|
||||
color: #ffffff;
|
||||
border-bottom: 0 solid transparent;
|
||||
}
|
||||
.skin-blue .main-header .logo:hover {
|
||||
background-color: #357ca5;
|
||||
}
|
||||
.skin-blue .main-header li.user-header {
|
||||
background-color: #3c8dbc;
|
||||
}
|
||||
.skin-blue .content-header {
|
||||
background: transparent;
|
||||
}
|
||||
.skin-blue .wrapper,
|
||||
.skin-blue .main-sidebar,
|
||||
.skin-blue .left-side {
|
||||
background-color: #222d32;
|
||||
}
|
||||
.skin-blue .user-panel > .info,
|
||||
.skin-blue .user-panel > .info > a {
|
||||
color: #fff;
|
||||
}
|
||||
.skin-blue .sidebar-menu > li.header {
|
||||
color: #4b646f;
|
||||
background: #1a2226;
|
||||
}
|
||||
.skin-blue .sidebar-menu > li > a {
|
||||
border-left: 3px solid transparent;
|
||||
}
|
||||
.skin-blue .sidebar-menu > li:hover > a,
|
||||
.skin-blue .sidebar-menu > li.active > a {
|
||||
color: #ffffff;
|
||||
background: #1e282c;
|
||||
border-left-color: #3c8dbc;
|
||||
}
|
||||
.skin-blue .sidebar-menu > li > .treeview-menu {
|
||||
margin: 0 1px;
|
||||
background: #2c3b41;
|
||||
}
|
||||
.skin-blue .sidebar a {
|
||||
color: #b8c7ce;
|
||||
}
|
||||
.skin-blue .sidebar a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
.skin-blue .treeview-menu > li > a {
|
||||
color: #8aa4af;
|
||||
}
|
||||
.skin-blue .treeview-menu > li.active > a,
|
||||
.skin-blue .treeview-menu > li > a:hover {
|
||||
color: #ffffff;
|
||||
}
|
||||
.skin-blue .sidebar-form {
|
||||
border-radius: 3px;
|
||||
border: 1px solid #374850;
|
||||
margin: 10px 10px;
|
||||
}
|
||||
.skin-blue .sidebar-form input[type="text"],
|
||||
.skin-blue .sidebar-form .btn {
|
||||
box-shadow: none;
|
||||
background-color: #374850;
|
||||
border: 1px solid transparent;
|
||||
height: 35px;
|
||||
}
|
||||
.skin-blue .sidebar-form input[type="text"] {
|
||||
color: #666;
|
||||
border-top-left-radius: 2px;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
border-bottom-left-radius: 2px;
|
||||
}
|
||||
.skin-blue .sidebar-form input[type="text"]:focus,
|
||||
.skin-blue .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
|
||||
background-color: #fff;
|
||||
color: #666;
|
||||
}
|
||||
.skin-blue .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
|
||||
border-left-color: #fff;
|
||||
}
|
||||
.skin-blue .sidebar-form .btn {
|
||||
color: #999;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
.skin-blue.layout-top-nav .main-header > .logo {
|
||||
background-color: #3c8dbc;
|
||||
color: #ffffff;
|
||||
border-bottom: 0 solid transparent;
|
||||
}
|
||||
.skin-blue.layout-top-nav .main-header > .logo:hover {
|
||||
background-color: #3b8ab8;
|
||||
}
|
1
vendor/assets/stylesheets/skin-blue.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
.skin-blue .main-header .navbar{background-color:#3c8dbc}.skin-blue .main-header .navbar .nav>li>a{color:#fff}.skin-blue .main-header .navbar .nav>li>a:hover,.skin-blue .main-header .navbar .nav>li>a:active,.skin-blue .main-header .navbar .nav>li>a:focus,.skin-blue .main-header .navbar .nav .open>a,.skin-blue .main-header .navbar .nav .open>a:hover,.skin-blue .main-header .navbar .nav .open>a:focus,.skin-blue .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{background-color:#367fa9}@media (max-width:767px){.skin-blue .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-blue .main-header .navbar .dropdown-menu li a{color:#fff}.skin-blue .main-header .navbar .dropdown-menu li a:hover{background:#367fa9}}.skin-blue .main-header .logo{background-color:#367fa9;color:#fff;border-bottom:0 solid transparent}.skin-blue .main-header .logo:hover{background-color:#357ca5}.skin-blue .main-header li.user-header{background-color:#3c8dbc}.skin-blue .content-header{background:transparent}.skin-blue .wrapper,.skin-blue .main-sidebar,.skin-blue .left-side{background-color:#222d32}.skin-blue .user-panel>.info,.skin-blue .user-panel>.info>a{color:#fff}.skin-blue .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-blue .sidebar-menu>li>a{border-left:3px solid transparent}.skin-blue .sidebar-menu>li:hover>a,.skin-blue .sidebar-menu>li.active>a{color:#fff;background:#1e282c;border-left-color:#3c8dbc}.skin-blue .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-blue .sidebar a{color:#b8c7ce}.skin-blue .sidebar a:hover{text-decoration:none}.skin-blue .treeview-menu>li>a{color:#8aa4af}.skin-blue .treeview-menu>li.active>a,.skin-blue .treeview-menu>li>a:hover{color:#fff}.skin-blue .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-blue .sidebar-form input[type="text"],.skin-blue .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-blue .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-blue .sidebar-form input[type="text"]:focus,.skin-blue .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-blue .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-blue .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-blue.layout-top-nav .main-header>.logo{background-color:#3c8dbc;color:#fff;border-bottom:0 solid transparent}.skin-blue.layout-top-nav .main-header>.logo:hover{background-color:#3b8ab8}
|
153
vendor/assets/stylesheets/skin-green-light.css
vendored
Normal file
@ -0,0 +1,153 @@
|
||||
/*
|
||||
* Skin: Green
|
||||
* -----------
|
||||
*/
|
||||
.skin-green-light .main-header .navbar {
|
||||
background-color: #00a65a;
|
||||
}
|
||||
.skin-green-light .main-header .navbar .nav > li > a {
|
||||
color: #ffffff;
|
||||
}
|
||||
.skin-green-light .main-header .navbar .nav > li > a:hover,
|
||||
.skin-green-light .main-header .navbar .nav > li > a:active,
|
||||
.skin-green-light .main-header .navbar .nav > li > a:focus,
|
||||
.skin-green-light .main-header .navbar .nav .open > a,
|
||||
.skin-green-light .main-header .navbar .nav .open > a:hover,
|
||||
.skin-green-light .main-header .navbar .nav .open > a:focus,
|
||||
.skin-green-light .main-header .navbar .nav > .active > a {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
color: #f6f6f6;
|
||||
}
|
||||
.skin-green-light .main-header .navbar .sidebar-toggle {
|
||||
color: #ffffff;
|
||||
}
|
||||
.skin-green-light .main-header .navbar .sidebar-toggle:hover {
|
||||
color: #f6f6f6;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.skin-green-light .main-header .navbar .sidebar-toggle {
|
||||
color: #fff;
|
||||
}
|
||||
.skin-green-light .main-header .navbar .sidebar-toggle:hover {
|
||||
background-color: #008d4c;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.skin-green-light .main-header .navbar .dropdown-menu li.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
.skin-green-light .main-header .navbar .dropdown-menu li a {
|
||||
color: #fff;
|
||||
}
|
||||
.skin-green-light .main-header .navbar .dropdown-menu li a:hover {
|
||||
background: #008d4c;
|
||||
}
|
||||
}
|
||||
.skin-green-light .main-header .logo {
|
||||
background-color: #00a65a;
|
||||
color: #ffffff;
|
||||
border-bottom: 0 solid transparent;
|
||||
}
|
||||
.skin-green-light .main-header .logo:hover {
|
||||
background-color: #00a157;
|
||||
}
|
||||
.skin-green-light .main-header li.user-header {
|
||||
background-color: #00a65a;
|
||||
}
|
||||
.skin-green-light .content-header {
|
||||
background: transparent;
|
||||
}
|
||||
.skin-green-light .wrapper,
|
||||
.skin-green-light .main-sidebar,
|
||||
.skin-green-light .left-side {
|
||||
background-color: #f9fafc;
|
||||
}
|
||||
.skin-green-light .content-wrapper,
|
||||
.skin-green-light .main-footer {
|
||||
border-left: 1px solid #d2d6de;
|
||||
}
|
||||
.skin-green-light .user-panel > .info,
|
||||
.skin-green-light .user-panel > .info > a {
|
||||
color: #444444;
|
||||
}
|
||||
.skin-green-light .sidebar-menu > li {
|
||||
-webkit-transition: border-left-color 0.3s ease;
|
||||
-o-transition: border-left-color 0.3s ease;
|
||||
transition: border-left-color 0.3s ease;
|
||||
}
|
||||
.skin-green-light .sidebar-menu > li.header {
|
||||
color: #848484;
|
||||
background: #f9fafc;
|
||||
}
|
||||
.skin-green-light .sidebar-menu > li > a {
|
||||
border-left: 3px solid transparent;
|
||||
font-weight: 600;
|
||||
}
|
||||
.skin-green-light .sidebar-menu > li:hover > a,
|
||||
.skin-green-light .sidebar-menu > li.active > a {
|
||||
color: #000000;
|
||||
background: #f4f4f5;
|
||||
}
|
||||
.skin-green-light .sidebar-menu > li.active {
|
||||
border-left-color: #00a65a;
|
||||
}
|
||||
.skin-green-light .sidebar-menu > li.active > a {
|
||||
font-weight: 600;
|
||||
}
|
||||
.skin-green-light .sidebar-menu > li > .treeview-menu {
|
||||
background: #f4f4f5;
|
||||
}
|
||||
.skin-green-light .sidebar a {
|
||||
color: #444444;
|
||||
}
|
||||
.skin-green-light .sidebar a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
.skin-green-light .treeview-menu > li > a {
|
||||
color: #777777;
|
||||
}
|
||||
.skin-green-light .treeview-menu > li.active > a,
|
||||
.skin-green-light .treeview-menu > li > a:hover {
|
||||
color: #000000;
|
||||
}
|
||||
.skin-green-light .treeview-menu > li.active > a {
|
||||
font-weight: 600;
|
||||
}
|
||||
.skin-green-light .sidebar-form {
|
||||
border-radius: 3px;
|
||||
border: 1px solid #d2d6de;
|
||||
margin: 10px 10px;
|
||||
}
|
||||
.skin-green-light .sidebar-form input[type="text"],
|
||||
.skin-green-light .sidebar-form .btn {
|
||||
box-shadow: none;
|
||||
background-color: #fff;
|
||||
border: 1px solid transparent;
|
||||
height: 35px;
|
||||
}
|
||||
.skin-green-light .sidebar-form input[type="text"] {
|
||||
color: #666;
|
||||
border-top-left-radius: 2px;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
border-bottom-left-radius: 2px;
|
||||
}
|
||||
.skin-green-light .sidebar-form input[type="text"]:focus,
|
||||
.skin-green-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
|
||||
background-color: #fff;
|
||||
color: #666;
|
||||
}
|
||||
.skin-green-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
|
||||
border-left-color: #fff;
|
||||
}
|
||||
.skin-green-light .sidebar-form .btn {
|
||||
color: #999;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.skin-green-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
|
||||
border-left: 1px solid #d2d6de;
|
||||
}
|
||||
}
|