From 6ee249b60f8fcf453a7aed4e6bb23b7d4834f93f Mon Sep 17 00:00:00 2001 From: ykohata Date: Fri, 20 Nov 2015 00:42:43 +0900 Subject: [PATCH 01/11] initial commit --- .gitignore | 10 + bower.json | 38 + config.json | 30 + e2e/main.po.js | 15 + e2e/main.spec.js | 21 + gulp/build.js | 92 + gulp/e2e-tests.js | 35 + gulp/inject.js | 40 + gulp/ng-config.js | 14 + gulp/proxy.js | 65 + gulp/publish.js | 42 + gulp/server.js | 58 + gulp/styles.js | 53 + gulp/unit-tests.js | 35 + gulp/watch.js | 14 + gulpfile.js | 16 + karma.conf.js | 17 + package.json | 48 + protractor.conf.js | 25 + src/app/app.js | 62 + src/app/directives.js | 40 + src/app/index.less | 2 + src/app/inspinia.js | 52 + src/app/less/badgets_labels.less | 67 + src/app/less/base.less | 1293 ++++++++++ src/app/less/buttons.less | 308 +++ src/app/less/chat.less | 126 + src/app/less/custom.less | 6 + src/app/less/elements.less | 2284 +++++++++++++++++ src/app/less/landing.less | 636 +++++ src/app/less/md-skin.less | 388 +++ src/app/less/media.less | 122 + src/app/less/metismenu.less | 81 + src/app/less/mixins.less | 15 + src/app/less/navigation.less | 506 ++++ src/app/less/pages.less | 1321 ++++++++++ src/app/less/rtl.less | 267 ++ src/app/less/sidebar.less | 195 ++ src/app/less/skins.less | 465 ++++ src/app/less/spinners.less | 760 ++++++ src/app/less/style.less | 60 + src/app/less/theme-config.less | 113 + src/app/less/top_navigation.less | 127 + src/app/less/typography.less | 32 + src/app/less/variables.less | 39 + src/app/login/login.controller.js | 34 + src/app/login/login.html | 11 + src/app/main/main.controller.js | 11 + src/app/main/main.html | 26 + src/app/users/user-edit-dialog.html | 34 + src/app/users/users.controller.js | 159 ++ src/app/users/users.html | 116 + src/app/users/users.service.js | 93 + src/app/vendor.less | 10 + src/assets/images/asp-logo.svg | 47 + src/assets/images/loading.gif | Bin 0 -> 4178 bytes src/assets/images/patterns/1.png | Bin 0 -> 5352 bytes src/assets/images/patterns/2.png | Bin 0 -> 5048 bytes src/assets/images/patterns/3.png | Bin 0 -> 6562 bytes src/assets/images/patterns/4.png | Bin 0 -> 11104 bytes src/assets/images/patterns/5.png | Bin 0 -> 10843 bytes src/assets/images/patterns/6.png | Bin 0 -> 9983 bytes src/assets/images/patterns/7.png | Bin 0 -> 10543 bytes .../images/patterns/congruent_pentagon.png | Bin 0 -> 28934 bytes .../images/patterns/header-profile-skin-1.png | Bin 0 -> 26278 bytes .../images/patterns/header-profile-skin-2.png | Bin 0 -> 28211 bytes .../images/patterns/header-profile-skin-3.png | Bin 0 -> 33032 bytes src/assets/images/patterns/header-profile.png | Bin 0 -> 5877 bytes src/assets/images/patterns/otis_redding.png | Bin 0 -> 10849 bytes src/assets/images/patterns/shattered.png | Bin 0 -> 137733 bytes src/assets/images/patterns/triangular.png | Bin 0 -> 210 bytes src/components/alert/alert.controller.js | 20 + src/components/alert/alert.html | 9 + src/components/common/content.html | 24 + src/components/common/footer.html | 10 + src/components/common/ibox_tools.html | 13 + src/components/common/navigation.html | 16 + src/components/common/topnavbar.html | 38 + src/favicon.ico | Bin 0 -> 1150 bytes src/index.html | 60 + 80 files changed, 10766 insertions(+) create mode 100644 .gitignore create mode 100755 bower.json create mode 100644 config.json create mode 100755 e2e/main.po.js create mode 100755 e2e/main.spec.js create mode 100755 gulp/build.js create mode 100755 gulp/e2e-tests.js create mode 100755 gulp/inject.js create mode 100644 gulp/ng-config.js create mode 100755 gulp/proxy.js create mode 100644 gulp/publish.js create mode 100755 gulp/server.js create mode 100755 gulp/styles.js create mode 100755 gulp/unit-tests.js create mode 100755 gulp/watch.js create mode 100755 gulpfile.js create mode 100755 karma.conf.js create mode 100755 package.json create mode 100755 protractor.conf.js create mode 100755 src/app/app.js create mode 100755 src/app/directives.js create mode 100755 src/app/index.less create mode 100755 src/app/inspinia.js create mode 100755 src/app/less/badgets_labels.less create mode 100755 src/app/less/base.less create mode 100755 src/app/less/buttons.less create mode 100755 src/app/less/chat.less create mode 100755 src/app/less/custom.less create mode 100755 src/app/less/elements.less create mode 100755 src/app/less/landing.less create mode 100755 src/app/less/md-skin.less create mode 100755 src/app/less/media.less create mode 100755 src/app/less/metismenu.less create mode 100755 src/app/less/mixins.less create mode 100755 src/app/less/navigation.less create mode 100755 src/app/less/pages.less create mode 100755 src/app/less/rtl.less create mode 100755 src/app/less/sidebar.less create mode 100755 src/app/less/skins.less create mode 100755 src/app/less/spinners.less create mode 100755 src/app/less/style.less create mode 100755 src/app/less/theme-config.less create mode 100755 src/app/less/top_navigation.less create mode 100755 src/app/less/typography.less create mode 100755 src/app/less/variables.less create mode 100644 src/app/login/login.controller.js create mode 100755 src/app/login/login.html create mode 100755 src/app/main/main.controller.js create mode 100755 src/app/main/main.html create mode 100644 src/app/users/user-edit-dialog.html create mode 100644 src/app/users/users.controller.js create mode 100644 src/app/users/users.html create mode 100644 src/app/users/users.service.js create mode 100755 src/app/vendor.less create mode 100644 src/assets/images/asp-logo.svg create mode 100644 src/assets/images/loading.gif create mode 100755 src/assets/images/patterns/1.png create mode 100755 src/assets/images/patterns/2.png create mode 100755 src/assets/images/patterns/3.png create mode 100755 src/assets/images/patterns/4.png create mode 100755 src/assets/images/patterns/5.png create mode 100755 src/assets/images/patterns/6.png create mode 100755 src/assets/images/patterns/7.png create mode 100755 src/assets/images/patterns/congruent_pentagon.png create mode 100755 src/assets/images/patterns/header-profile-skin-1.png create mode 100755 src/assets/images/patterns/header-profile-skin-2.png create mode 100755 src/assets/images/patterns/header-profile-skin-3.png create mode 100755 src/assets/images/patterns/header-profile.png create mode 100755 src/assets/images/patterns/otis_redding.png create mode 100755 src/assets/images/patterns/shattered.png create mode 100755 src/assets/images/patterns/triangular.png create mode 100644 src/components/alert/alert.controller.js create mode 100644 src/components/alert/alert.html create mode 100755 src/components/common/content.html create mode 100755 src/components/common/footer.html create mode 100755 src/components/common/ibox_tools.html create mode 100755 src/components/common/navigation.html create mode 100755 src/components/common/topnavbar.html create mode 100644 src/favicon.ico create mode 100755 src/index.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ebce6d7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +dist +node_modules +bower_components +src/app/config.js +.tmp +.idea +.awspublish* +.DS_Store +/.project +/.settings diff --git a/bower.json b/bower.json new file mode 100755 index 0000000..e77943b --- /dev/null +++ b/bower.json @@ -0,0 +1,38 @@ +{ + "name": "support-admin-app", + "version": "2.3.0", + "dependencies": { + "jquery": "~2.1.1", + "angular-animate": "~1.4.4", + "angular-cookies": "~1.4.4", + "angular-touch": "~1.4.4", + "angular-sanitize": "~1.4.4", + "angular-resource": "~1.4.4", + "angular-ui-router": "~0.2.13", + "bootstrap": "~3.3.5", + "angular-bootstrap": "0.12.x", + "angular": "~1.4.4", + "PACE": "https://github.com/HubSpot/pace.git#~1.0.2", + "metisMenu": "~2.0.2", + "font-awesome": "~4.3.0", + "footable": "~2.0.3", + "icheck": "1.0.2", + "auth0-lock": "~7.6.2", + "auth0.js": "~6.4.2", + "auth0-angular": "~4.0.5", + "a0-angular-storage": "~0.0.11", + "angular-jwt": "~0.0.9", + "angular-footable": "~1.0.3", + "appirio-tech-ng-auth": "3.x.x", + "appirio-tech-ng-login-reg": "0.x.x", + "appirio-tech-ng-api-services": "0.x.x" + }, + "devDependencies": { + "angular-mocks": "~1.4.4" + }, + "resolutions": { + "jquery": "~2.1.1", + "angular": "1.4.7", + "angular-resource": "1.4.x" + } +} diff --git a/config.json b/config.json new file mode 100644 index 0000000..90240a1 --- /dev/null +++ b/config.json @@ -0,0 +1,30 @@ +{ + "local": { + "API_URL" : "http://localhost:8080", + "AUTH0_CLIENT_ID" : "JFDo7HMkf0q2CkVFHojy3zHWafziprhT", + "AUTH0_DOMAIN" : "topcoder-dev.auth0.com", + "AUTH0_TOKEN_NAME" : "userJWTToken", + "AUTH0_REFRESH_TOKEN_NAME" : "userRefreshJWTToken" + }, + "dev": { + "API_URL" : "https://api.topcoder-dev.com", + "AUTH0_CLIENT_ID" : "JFDo7HMkf0q2CkVFHojy3zHWafziprhT", + "AUTH0_DOMAIN" : "topcoder-dev.auth0.com", + "AUTH0_TOKEN_NAME" : "userJWTToken", + "AUTH0_REFRESH_TOKEN_NAME" : "userRefreshJWTToken" + }, + "qa": { + "API_URL" : "https://api.topcoder-qa.com", + "AUTH0_CLIENT_ID" : "EVOgWZlCtIFlbehkq02treuRRoJk12UR", + "AUTH0_DOMAIN" : "topcoder-dev.auth0.com", + "AUTH0_TOKEN_NAME" : "userJWTToken", + "AUTH0_REFRESH_TOKEN_NAME" : "userRefreshJWTToken" + }, + "prod": { + "API_URL" : "https://api.topcoder.com", + "AUTH0_CLIENT_ID" : "6ZwZEUo2ZK4c50aLPpgupeg5v2Ffxp9P", + "AUTH0_DOMAIN" : "topcoder.auth0.com", + "AUTH0_TOKEN_NAME" : "userJWTToken", + "AUTH0_REFRESH_TOKEN_NAME" : "userRefreshJWTToken" + } +} diff --git a/e2e/main.po.js b/e2e/main.po.js new file mode 100755 index 0000000..6b88871 --- /dev/null +++ b/e2e/main.po.js @@ -0,0 +1,15 @@ +/** + * This file uses the Page Object pattern to define the main page for tests + * https://docs.google.com/presentation/d/1B6manhG0zEXkC-H-tPo2vwU06JhL8w9-XCF9oehXzAQ + */ + +'use strict'; + +var MainPage = function() { + this.jumbEl = element(by.css('.jumbotron')); + this.h1El = this.jumbEl.element(by.css('h1')); + this.imgEl = this.jumbEl.element(by.css('img')); + this.thumbnailEls = element(by.css('body')).all(by.repeater('awesomeThing in awesomeThings')); +}; + +module.exports = new MainPage(); diff --git a/e2e/main.spec.js b/e2e/main.spec.js new file mode 100755 index 0000000..da89d22 --- /dev/null +++ b/e2e/main.spec.js @@ -0,0 +1,21 @@ +'use strict'; + +describe('The main view', function () { + var page; + + beforeEach(function () { + browser.get('http://localhost:3000/index.html'); + page = require('./main.po'); + }); + + it('should include jumbotron with correct data', function() { + expect(page.h1El.getText()).toBe('\'Allo, \'Allo!'); + expect(page.imgEl.getAttribute('src')).toMatch(/assets\/images\/yeoman.png$/); + expect(page.imgEl.getAttribute('alt')).toBe('I\'m Yeoman'); + }); + + it('list more than 5 awesome things', function () { + expect(page.thumbnailEls.count()).toBeGreaterThan(5); + }); + +}); diff --git a/gulp/build.js b/gulp/build.js new file mode 100755 index 0000000..870f890 --- /dev/null +++ b/gulp/build.js @@ -0,0 +1,92 @@ +'use strict'; + +var gulp = require('gulp'); + +var paths = gulp.paths; + +var $ = require('gulp-load-plugins')({ + pattern: ['gulp-*', 'main-bower-files', 'uglify-save-license', 'del'] +}); + +gulp.task('partials', function () { + return gulp.src([ + paths.src + '/{app,components}/**/*.html', + paths.tmp + '/{app,components}/**/*.html' + ]) + .pipe($.minifyHtml({ + empty: true, + spare: true, + quotes: true + })) + .pipe($.angularTemplatecache('templateCacheHtml.js', { + module: 'supportAdminApp' + })) + .pipe(gulp.dest(paths.tmp + '/partials/')); +}); + +gulp.task('html', ['inject', 'partials'], function () { + var partialsInjectFile = gulp.src(paths.tmp + '/partials/templateCacheHtml.js', { read: false }); + var partialsInjectOptions = { + starttag: '', + ignorePath: paths.tmp + '/partials', + addRootSlash: false + }; + + var htmlFilter = $.filter('*.html'); + var jsFilter = $.filter('**/*.js'); + var cssFilter = $.filter('**/*.css'); + var assets; + + return gulp.src(paths.tmp + '/serve/*.html') + .pipe($.inject(partialsInjectFile, partialsInjectOptions)) + .pipe(assets = $.useref.assets()) + .pipe($.rev()) + .pipe(jsFilter) + .pipe($.ngAnnotate()) + .pipe($.uglify({preserveComments: $.uglifySaveLicense})) + .pipe(jsFilter.restore()) + .pipe(cssFilter) + .pipe($.replace('../bootstrap/fonts', 'fonts')) + .pipe($.csso()) + .pipe(cssFilter.restore()) + .pipe(assets.restore()) + .pipe($.useref()) + .pipe($.revReplace()) + .pipe(htmlFilter) + .pipe($.minifyHtml({ + empty: true, + spare: true, + quotes: true + })) + .pipe(htmlFilter.restore()) + .pipe(gulp.dest(paths.dist + '/')) + .pipe($.size({ title: paths.dist + '/', showFiles: true })); +}); + +gulp.task('images', function () { + return gulp.src(paths.src + '/assets/images/**/*') + .pipe(gulp.dest(paths.dist + '/assets/images/')); +}); + +gulp.task('fonts', function () { + return gulp.src($.mainBowerFiles()) + .pipe($.filter('**/*.{eot,svg,ttf,woff}')) + .pipe($.flatten()) + .pipe(gulp.dest(paths.dist + '/fonts/')); +}); + +gulp.task('fontawesome', function () { + return gulp.src('bower_components/font-awesome/fonts/*.{eot,svg,ttf,woff}') + .pipe(gulp.dest(paths.dist + '/fonts/')); +}); + +gulp.task('misc', function () { + return gulp.src(paths.src + '/**/*.ico') + .pipe(gulp.dest(paths.dist + '/')); +}); + +gulp.task('clean', function (done) { + $.del([paths.dist + '/', paths.tmp + '/'], done); +}); + +gulp.task('build', ['ng-config', 'html', 'images', 'fonts', 'fontawesome', 'misc']); diff --git a/gulp/e2e-tests.js b/gulp/e2e-tests.js new file mode 100755 index 0000000..99ab2c5 --- /dev/null +++ b/gulp/e2e-tests.js @@ -0,0 +1,35 @@ +'use strict'; + +var gulp = require('gulp'); + +var $ = require('gulp-load-plugins')(); + +var browserSync = require('browser-sync'); + +var paths = gulp.paths; + +// Downloads the selenium webdriver +gulp.task('webdriver-update', $.protractor.webdriver_update); + +gulp.task('webdriver-standalone', $.protractor.webdriver_standalone); + +function runProtractor (done) { + + gulp.src(paths.e2e + '/**/*.js') + .pipe($.protractor.protractor({ + configFile: 'protractor.conf.js', + })) + .on('error', function (err) { + // Make sure failed tests cause gulp to exit non-zero + throw err; + }) + .on('end', function () { + // Close browser sync server + browserSync.exit(); + done(); + }); +} + +gulp.task('protractor', ['protractor:src']); +gulp.task('protractor:src', ['serve:e2e', 'webdriver-update'], runProtractor); +gulp.task('protractor:dist', ['serve:e2e-dist', 'webdriver-update'], runProtractor); diff --git a/gulp/inject.js b/gulp/inject.js new file mode 100755 index 0000000..12fc664 --- /dev/null +++ b/gulp/inject.js @@ -0,0 +1,40 @@ +'use strict'; + +var gulp = require('gulp'); + +var paths = gulp.paths; + +var $ = require('gulp-load-plugins')(); + +var wiredep = require('wiredep').stream; + +gulp.task('inject', ['styles'], function () { + + var injectStyles = gulp.src([ + paths.tmp + '/serve/{app,components}/**/*.css', + '!' + paths.tmp + '/serve/app/vendor.css' + ], { read: false }); + + var injectScripts = gulp.src([ + paths.src + '/{app,components}/**/*.js', + '!' + paths.src + '/{app,components}/**/*.spec.js', + '!' + paths.src + '/{app,components}/**/*.mock.js' + ]).pipe($.angularFilesort()); + + var injectOptions = { + ignorePath: [paths.src, paths.tmp + '/serve'], + addRootSlash: false + }; + + var wiredepOptions = { + directory: 'bower_components', + exclude: [/bootstrap\.js/, /bootstrap\.css/, /bootstrap\.css/, /foundation\.css/] + }; + + return gulp.src(paths.src + '/*.html') + .pipe($.inject(injectStyles, injectOptions)) + .pipe($.inject(injectScripts, injectOptions)) + .pipe(wiredep(wiredepOptions)) + .pipe(gulp.dest(paths.tmp + '/serve')); + +}); diff --git a/gulp/ng-config.js b/gulp/ng-config.js new file mode 100644 index 0000000..7e3292a --- /dev/null +++ b/gulp/ng-config.js @@ -0,0 +1,14 @@ +'use strict'; + +var gulp = require('gulp'); + +var gulpNgConfig = require('gulp-ng-config'); + +gulp.task('ng-config', function () { + gulp.src('config.json') + .pipe( + gulpNgConfig('app.constants', { + environment: process.env.BUILD_ENV || 'local' + })) + .pipe(gulp.dest('src/app')) +}); diff --git a/gulp/proxy.js b/gulp/proxy.js new file mode 100755 index 0000000..2fcd734 --- /dev/null +++ b/gulp/proxy.js @@ -0,0 +1,65 @@ + /*jshint unused:false */ + +/*************** + + This file allow to configure a proxy system plugged into BrowserSync + in order to redirect backend requests while still serving and watching + files from the web project + + IMPORTANT: The proxy is disabled by default. + + If you want to enable it, watch at the configuration options and finally + change the `module.exports` at the end of the file + +***************/ + +'use strict'; + +var httpProxy = require('http-proxy'); +var chalk = require('chalk'); + +/* + * Location of your backend server + */ +var proxyTarget = 'http://server/context/'; + +var proxy = httpProxy.createProxyServer({ + target: proxyTarget +}); + +proxy.on('error', function(error, req, res) { + res.writeHead(500, { + 'Content-Type': 'text/plain' + }); + + console.error(chalk.red('[Proxy]'), error); +}); + +/* + * The proxy middleware is an Express middleware added to BrowserSync to + * handle backend request and proxy them to your backend. + */ +function proxyMiddleware(req, res, next) { + /* + * This test is the switch of each request to determine if the request is + * for a static file to be handled by BrowserSync or a backend request to proxy. + * + * The existing test is a standard check on the files extensions but it may fail + * for your needs. If you can, you could also check on a context in the url which + * may be more reliable but can't be generic. + */ + if (/\.(html|css|js|png|jpg|jpeg|gif|ico|xml|rss|txt|eot|svg|ttf|woff|cur)(\?((r|v|rel|rev)=[\-\.\w]*)?)?$/.test(req.url)) { + next(); + } else { + proxy.web(req, res); + } +} + +/* + * This is where you activate or not your proxy. + * + * The first line activate if and the second one ignored it + */ + +//module.exports = [proxyMiddleware]; +module.exports = []; diff --git a/gulp/publish.js b/gulp/publish.js new file mode 100644 index 0000000..2bb54ba --- /dev/null +++ b/gulp/publish.js @@ -0,0 +1,42 @@ +'use strict'; + +var gulp = require('gulp'); + +var awspublish = require('gulp-awspublish'); + +gulp.task('publish', function() { + + // create a new publisher using S3 options + // http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#constructor-property + var publisher = awspublish.create({ + params: { + //Bucket: "support-admin.topcoder-dev.com" + Bucket: process.env.AWS_BUCKET + } + //, + //"accessKeyId": process.env.AWS_KEY, + //"secretAccessKey": process.env.AWS_SECRET + }); + + // define custom headers + var headers = { + 'Cache-Control': 'max-age=0, no-transform, public' + }; + + return gulp.src(['./dist/**/*','./dist/*']) + // gzip, Set Content-Encoding headers and add .gz extension + .pipe(awspublish.gzip()) + + // publisher will add Content-Length, Content-Type and headers specified above + // If not specified it will set x-amz-acl to public-read by default + .pipe(publisher.publish(headers)) + + // create a cache file to speed up consecutive uploads + .pipe(publisher.cache()) + + // remove old files from the destination + .pipe(publisher.sync()) + + // print upload updates to console + .pipe(awspublish.reporter()); +}); diff --git a/gulp/server.js b/gulp/server.js new file mode 100755 index 0000000..5740a54 --- /dev/null +++ b/gulp/server.js @@ -0,0 +1,58 @@ +'use strict'; + +var gulp = require('gulp'); + +var paths = gulp.paths; + +var util = require('util'); + +var browserSync = require('browser-sync'); + +var middleware = require('./proxy'); + +function browserSyncInit(baseDir, files, browser) { + browser = browser === undefined ? 'default' : browser; + + var routes = null; + if(baseDir === paths.src || (util.isArray(baseDir) && baseDir.indexOf(paths.src) !== -1)) { + routes = { + '/bower_components': 'bower_components' + }; + } + + browserSync.instance = browserSync.init(files, { + startPath: '/', + server: { + baseDir: baseDir, + middleware: middleware, + routes: routes + }, + browser: browser + }); +} + +gulp.task('serve', ['watch'], function () { + browserSyncInit([ + paths.tmp + '/serve', + paths.src + ], [ + paths.tmp + '/serve/{app,components}/**/*.css', + paths.src + '/{app,components}/**/*.js', + paths.src + 'src/assets/images/**/*', + paths.tmp + '/serve/*.html', + paths.tmp + '/serve/{app,components}/**/*.html', + paths.src + '/{app,components}/**/*.html' + ]); +}); + +gulp.task('serve:dist', ['build'], function () { + browserSyncInit(paths.dist); +}); + +gulp.task('serve:e2e', ['inject'], function () { + browserSyncInit([paths.tmp + '/serve', paths.src], null, []); +}); + +gulp.task('serve:e2e-dist', ['build'], function () { + browserSyncInit(paths.dist, null, []); +}); diff --git a/gulp/styles.js b/gulp/styles.js new file mode 100755 index 0000000..a033b26 --- /dev/null +++ b/gulp/styles.js @@ -0,0 +1,53 @@ +'use strict'; + +var gulp = require('gulp'); + +var paths = gulp.paths; + +var $ = require('gulp-load-plugins')(); + +gulp.task('styles', function () { + + var lessOptions = { + paths: [ + 'bower_components', + paths.src + '/app', + paths.src + '/components' + ] + }; + + var injectFiles = gulp.src([ + paths.src + '/{app,components}/**/*.less', + '!' + paths.src + '/app/index.less', + '!' + paths.src + '/app/vendor.less' + ], { read: false }); + + var injectOptions = { + transform: function(filePath) { + filePath = filePath.replace(paths.src + '/app/', ''); + filePath = filePath.replace(paths.src + '/components/', '../components/'); + return '@import \'' + filePath + '\';'; + }, + starttag: '// injector', + endtag: '// endinjector', + addRootSlash: false + }; + + var indexFilter = $.filter('index.less'); + + return gulp.src([ + paths.src + '/app/index.less', + paths.src + '/app/vendor.less' + ]) + .pipe(indexFilter) + .pipe($.inject(injectFiles, injectOptions)) + .pipe(indexFilter.restore()) + .pipe($.less()) + + .pipe($.autoprefixer()) + .on('error', function handleError(err) { + console.error(err.toString()); + this.emit('end'); + }) + .pipe(gulp.dest(paths.tmp + '/serve/app/')); +}); diff --git a/gulp/unit-tests.js b/gulp/unit-tests.js new file mode 100755 index 0000000..f13a9c0 --- /dev/null +++ b/gulp/unit-tests.js @@ -0,0 +1,35 @@ +'use strict'; + +var gulp = require('gulp'); + +var $ = require('gulp-load-plugins')(); + +var wiredep = require('wiredep'); + +var paths = gulp.paths; + +function runTests (singleRun, done) { + var bowerDeps = wiredep({ + directory: 'bower_components', + exclude: ['bootstrap-sass-official'], + dependencies: true, + devDependencies: true + }); + + var testFiles = bowerDeps.js.concat([ + paths.src + '/{app,components}/**/*.js' + ]); + + gulp.src(testFiles) + .pipe($.karma({ + configFile: 'karma.conf.js', + action: (singleRun)? 'run': 'watch' + })) + .on('error', function (err) { + // Make sure failed tests cause gulp to exit non-zero + throw err; + }); +} + +gulp.task('test', function (done) { runTests(true /* singleRun */, done) }); +gulp.task('test:auto', function (done) { runTests(false /* singleRun */, done) }); diff --git a/gulp/watch.js b/gulp/watch.js new file mode 100755 index 0000000..61c90a2 --- /dev/null +++ b/gulp/watch.js @@ -0,0 +1,14 @@ +'use strict'; + +var gulp = require('gulp'); + +var paths = gulp.paths; + +gulp.task('watch', ['inject'], function () { + gulp.watch([ + paths.src + '/*.html', + paths.src + '/{app,components}/**/*.less', + paths.src + '/{app,components}/**/*.js', + 'bower.json' + ], ['inject']); +}); diff --git a/gulpfile.js b/gulpfile.js new file mode 100755 index 0000000..19e88c5 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,16 @@ +'use strict'; + +var gulp = require('gulp'); + +gulp.paths = { + src: 'src', + dist: 'dist', + tmp: '.tmp', + e2e: 'e2e' +}; + +require('require-dir')('./gulp'); + +gulp.task('default', ['clean'], function () { + gulp.start('build'); +}); diff --git a/karma.conf.js b/karma.conf.js new file mode 100755 index 0000000..12e3ff3 --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,17 @@ +'use strict'; + +module.exports = function(config) { + + config.set({ + autoWatch : false, + + frameworks: ['jasmine'], + + browsers : ['PhantomJS'], + + plugins : [ + 'karma-phantomjs-launcher', + 'karma-jasmine' + ] + }); +}; diff --git a/package.json b/package.json new file mode 100755 index 0000000..5628322 --- /dev/null +++ b/package.json @@ -0,0 +1,48 @@ +{ + "name": "support-admin-app", + "version": "2.3.0", + "dependencies": {}, + "devDependencies": { + "bower": "~1.4.1", + "browser-sync": "~1.7.1", + "chalk": "~0.5.1", + "del": "~0.1.3", + "gulp": "~3.8.10", + "gulp-angular-filesort": "~1.0.4", + "gulp-angular-templatecache": "~1.4.2", + "gulp-autoprefixer": "~2.0.0", + "gulp-awspublish": "^3.0.1", + "gulp-consolidate": "~0.1.2", + "gulp-csso": "~0.2.9", + "gulp-filter": "~1.0.2", + "gulp-flatten": "~0.0.4", + "gulp-inject": "~1.0.2", + "gulp-jshint": "~1.9.0", + "gulp-karma": "~0.0.4", + "gulp-less": "~1.3.6", + "gulp-load-plugins": "~0.7.1", + "gulp-minify-html": "~0.1.7", + "gulp-ng-annotate": "~1.0.0", + "gulp-protractor": "~0.0.11", + "gulp-rename": "~1.2.0", + "gulp-replace": "~0.5.0", + "gulp-rev": "~2.0.1", + "gulp-rev-replace": "~0.3.1", + "gulp-size": "~1.1.0", + "gulp-uglify": "~1.0.1", + "gulp-useref": "~1.0.2", + "gulp-ng-config": "~1.2.1", + "http-proxy": "~1.7.0", + "jshint-stylish": "~1.0.0", + "karma-jasmine": "~0.3.1", + "karma-phantomjs-launcher": "~0.1.4", + "main-bower-files": "~2.4.0", + "protractor": "~1.4.0", + "require-dir": "~0.1.0", + "uglify-save-license": "~0.4.1", + "wiredep": "~2.2.0" + }, + "engines": { + "node": ">=0.10.0" + } +} diff --git a/protractor.conf.js b/protractor.conf.js new file mode 100755 index 0000000..0f43a9e --- /dev/null +++ b/protractor.conf.js @@ -0,0 +1,25 @@ +'use strict'; + +var paths = require('./.yo-rc.json')['generator-gulp-angular'].props.paths; + +// An example configuration file. +exports.config = { + // The address of a running selenium server. + //seleniumAddress: 'http://localhost:4444/wd/hub', + //seleniumServerJar: deprecated, this should be set on node_modules/protractor/config.json + + // Capabilities to be passed to the webdriver instance. + capabilities: { + 'browserName': 'chrome' + }, + + // Spec patterns are relative to the current working directly when + // protractor is called. + specs: [paths.e2e + '/**/*.js'], + + // Options to be passed to Jasmine-node. + jasmineNodeOpts: { + showColors: true, + defaultTimeoutInterval: 30000 + } +}; diff --git a/src/app/app.js b/src/app/app.js new file mode 100755 index 0000000..1950168 --- /dev/null +++ b/src/app/app.js @@ -0,0 +1,62 @@ +'use strict'; + +/** + * support-admin-app + */ +angular.module('supportAdminApp', [ + 'ngAnimate', + 'ngCookies', + 'ngTouch', + 'ngSanitize', + 'ngResource', + 'ui.router', + 'ui.bootstrap', + 'app.constants', + 'appirio-tech-ng-api-services', + 'appirio-tech-ng-auth', + 'ui.footable']) + // In the run phase of your Angular application + .run(function($rootScope, AuthService, $state, UserV3Service) { + // Listen to '$locationChangeSuccess', not '$stateChangeStart' + $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) { + if(toState.name === "login") { + return; + } + if(!AuthService.isLoggedIn()) { + $state.go('login'); + } else { + UserV3Service.loadUser().then(function(currentUser) { + $rootScope.currentUser = currentUser; + $state.go(toState) + }); + } + }) + }) + .config(function ($stateProvider, $urlRouterProvider, $locationProvider) { + $stateProvider + .state('login', { + url: "/login", + templateUrl: "app/login/login.html", + data: { pageTitle: 'Login' } + }) + .state('index', { + abstract: true, + url: "/index", + templateUrl: "components/common/content.html", + }) + .state('index.main', { + url: "/main", + templateUrl: "app/main/main.html", + data: { pageTitle: 'Dashboard' } + }) + .state('index.users', { + url: "/users", + templateUrl: "app/users/users.html", + data: { pageTitle: 'User Management' } + }); + + $urlRouterProvider.otherwise('/login'); + + //$locationProvider.html5Mode(true).hashPrefix('!'); + }) +; diff --git a/src/app/directives.js b/src/app/directives.js new file mode 100755 index 0000000..d22b310 --- /dev/null +++ b/src/app/directives.js @@ -0,0 +1,40 @@ +'use strict'; + +//Directive used to set metisMenu and minimalize button +angular.module('supportAdminApp') + .directive('sideNavigation', function ($timeout) { + return { + restrict: 'A', + link: function (scope, element) { + // Call metsi to build when user signup + scope.$watch('authentication.user', function() { + $timeout(function() { + element.metisMenu(); + }); + }); + + } + }; + }) + .directive('minimalizaSidebar', function ($timeout) { + return { + restrict: 'A', + template: '', + controller: function ($scope, $element) { + $scope.minimalize = function () { + angular.element('body').toggleClass('mini-navbar'); + if (!angular.element('body').hasClass('mini-navbar') || angular.element('body').hasClass('body-small')) { + // Hide menu in order to smoothly turn on when maximize menu + angular.element('#side-menu').hide(); + // For smoothly turn on menu + $timeout(function () { + angular.element('#side-menu').fadeIn(500); + }, 100); + } else { + // Remove all inline style from jquery fadeIn function to reset menu state + angular.element('#side-menu').removeAttr('style'); + } + }; + } + }; + }); diff --git a/src/app/index.less b/src/app/index.less new file mode 100755 index 0000000..508b38f --- /dev/null +++ b/src/app/index.less @@ -0,0 +1,2 @@ +@import '/less/style.less'; +@nav-profil-pattern: url("../assets/images/patterns/header-profile.png") no-repeat; \ No newline at end of file diff --git a/src/app/inspinia.js b/src/app/inspinia.js new file mode 100755 index 0000000..5fed843 --- /dev/null +++ b/src/app/inspinia.js @@ -0,0 +1,52 @@ +/** + * INSPINIA - Responsive Admin Theme + * 2.3 + * + * Custom scripts + */ + +$(document).ready(function () { + + + // Full height + function fix_height() { + var heightWithoutNavbar = $("body > #wrapper").height() - 61; + $(".sidebard-panel").css("min-height", heightWithoutNavbar + "px"); + + var navbarHeigh = $('nav.navbar-default').height(); + var wrapperHeigh = $('#page-wrapper').height(); + + if (navbarHeigh > wrapperHeigh) { + $('#page-wrapper').css("min-height", navbarHeigh + "px"); + } + + if (navbarHeigh < wrapperHeigh) { + $('#page-wrapper').css("min-height", $(window).height() + "px"); + } + + if ($('body').hasClass('fixed-nav')) { + $('#page-wrapper').css("min-height", $(window).height() - 60 + "px"); + } + } + + $(window).bind("load resize scroll", function () { + if (!$("body").hasClass('body-small')) { + fix_height(); + } + }) + + setTimeout(function () { + fix_height(); + }) +}); + +// Minimalize menu when screen is less than 768px +$(function () { + $(window).bind("load resize", function () { + if ($(this).width() < 769) { + $('body').addClass('body-small') + } else { + $('body').removeClass('body-small') + } + }) +}); diff --git a/src/app/less/badgets_labels.less b/src/app/less/badgets_labels.less new file mode 100755 index 0000000..b7a729e --- /dev/null +++ b/src/app/less/badgets_labels.less @@ -0,0 +1,67 @@ + +.label { + background-color: @light-gray; + color: @label-badget-color; + font-family: 'Open Sans'; + font-size: 10px; + font-weight: 600; + padding: 3px 8px; + text-shadow: none; +} + +.badge { + background-color: @light-gray; + color: @label-badget-color; + font-family: 'Open Sans'; + font-size: 11px; + font-weight: 600; + padding-bottom: 4px; + padding-left: 6px; + padding-right: 6px; + text-shadow: none; +} + +.label-primary, .badge-primary { + background-color: @navy; + color: #FFFFFF; +} + +.label-success, .badge-success { + background-color: @blue; + color: #FFFFFF; +} + +.label-warning, .badge-warning { + background-color: @yellow; + color: #FFFFFF; +} + +.label-warning-light, .badge-warning-light { + background-color: @yellow; + color: #ffffff; +} + +.label-danger, .badge-danger { + background-color: @red; + color: #FFFFFF; +} + +.label-info, .badge-info { + background-color: @lazur; + color: #FFFFFF; +} + +.label-inverse, .badge-inverse { + background-color: #262626; + color: #FFFFFF; +} + +.label-white, .badge-white { + background-color: #FFFFFF; + color: #5E5E5E; +} + +.label-white, .badge-disable { + background-color: #2A2E36; + color: #8B91A0; +} diff --git a/src/app/less/base.less b/src/app/less/base.less new file mode 100755 index 0000000..1dc85b4 --- /dev/null +++ b/src/app/less/base.less @@ -0,0 +1,1293 @@ +body { + font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif; + background-color: #2f4050; + font-size: 13px; + color: @text-color; + overflow-x: hidden; + +} + +html,body { + height: 100%; + +} + +body.full-height-layout #wrapper, +body.full-height-layout #page-wrapper { + height: 100%; +} + +#page-wrapper { + min-height: auto; +} + +body.boxed-layout { + background: @boxed-backgound; +} + +body.boxed-layout #wrapper { + background-color: #2f4050; + max-width: @boxed-width; + margin: 0 auto; + -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.75); + -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.75); + box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.75); +} + +.top-navigation.boxed-layout #wrapper, +.boxed-layout #wrapper.top-navigation { + max-width: 1300px !important; +} + +.block { + display: block; +} + +.clear { + display: block; + overflow: hidden; +} + +a { + cursor: pointer; +} + +a:hover, a:focus { + text-decoration: none; +} + +.border-bottom { + border-bottom: 1px solid @border-color !important; +} + +.font-bold { + font-weight: 600; +} + +.font-noraml { + font-weight: 400; +} + + + +.text-uppercase { + text-transform: uppercase; +} + +.b-r { + border-right: 1px solid @border-color; +} + +.hr-line-dashed { + border-top: 1px dashed @border-color; + color: #ffffff; + background-color: #ffffff; + height: 1px; + margin: 20px 0; +} + +.hr-line-solid { + border-bottom: 1px solid @border-color; + background-color: rgba(0, 0, 0, 0); + border-style: solid !important; + margin-top: 15px; + margin-bottom: 15px; +} + +video { + width: 100% !important; + height: auto !important; +} + +/* GALLERY */ +.gallery > .row > div { + margin-bottom: 15px; +} + +.fancybox img { + margin-bottom: 5px; + /* Only for demo */ + width: 24%; +} + +/* Summernote text editor */ +.note-editor { + height: auto !important; + min-height: 300px; +} + +/* MODAL */ +.modal-content { + background-clip: padding-box; + background-color: #FFFFFF; + border: 1px solid rgba(0, 0, 0, 0); + border-radius: 4px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); + outline: 0 none; + position: relative; +} + +.modal-dialog { + z-index: 2200; +} + +.modal-body { + padding: 20px 30px 30px 30px; +} + + +.inmodal .modal-body { + background: #f8fafb; +} + +.inmodal .modal-header { + padding: 30px 15px; + text-align: center; +} + +.animated.modal.fade .modal-dialog { + -webkit-transform: none; + -ms-transform: none; + -o-transform: none; + transform: none; +} + +.inmodal .modal-title { + font-size: 26px; +} + +.inmodal .modal-icon { + font-size: 84px; + color: #e2e3e3; +} + +.modal-footer { + margin-top: 0; +} + + +/* WRAPPERS */ + +#wrapper { + width: 100%; + overflow-x: hidden; +} + +.wrapper { + padding: 0 20px; +} + +.wrapper-content { + padding: 20px 10px 40px; +} + +#page-wrapper { + padding: 0 15px; + min-height: 568px; + position: relative !important; +} + +@media (min-width: 768px) { + #page-wrapper { + position: inherit; + margin: 0 0 0 240px; + min-height: 1000px; + } +} + +.title-action { + text-align: right; + padding-top: 30px; +} + +.ibox-content h1, .ibox-content h2, .ibox-content h3, .ibox-content h4, .ibox-content h5, +.ibox-title h1, .ibox-title h2, .ibox-title h3, .ibox-title h4, .ibox-title h5 { + margin-top: 5px; +} + +ul.unstyled, ol.unstyled { + list-style: none outside none; + margin-left: 0; +} + +.big-icon { + font-size: 160px !important; + color: #e5e6e7; +} + + +/* FOOTER */ + +.footer { + + background: none repeat scroll 0 0 white; + border-top: 1px solid @border-color; + bottom: 0; + left: 0; + padding: 10px 20px; + position: absolute; + right: 0; +} + +.footer.fixed_full { + position: fixed; + bottom: 0; + left: 0; + right: 0; + z-index: 1000; + padding:10px 20px; + background: white; + border-top: 1px solid @border-color; +} + +.footer.fixed { + position: fixed; + bottom: 0; + left: 0; + right: 0; + z-index: 1000; + padding:10px 20px; + background: white; + border-top: 1px solid @border-color; + margin-left: @sidebar-width; +} + +body.mini-navbar .footer.fixed, +body.body-small.mini-navbar .footer.fixed { + margin: 0 0 0 70px; +} + +body.mini-navbar.canvas-menu .footer.fixed, +body.canvas-menu .footer.fixed { + margin: 0 !important; +} + +body.fixed-sidebar.body-small.mini-navbar .footer.fixed { + margin: 0 0 0 @sidebar-width; +} + +body.body-small .footer.fixed { + margin-left: 0px; +} + +/* PANELS */ + +.page-heading { + border-top: 0; + padding: 0px 10px 20px 10px; +} + +.panel-heading h1, .panel-heading h2 { + margin-bottom: 5px; +} + +/* TABLES */ + +.table-bordered { + border: 1px solid #EBEBEB; +} + +.table-bordered > thead > tr > th, .table-bordered > thead > tr > td { + background-color: #F5F5F6; + border-bottom-width: 1px; +} + +.table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { + border: 1px solid #e7e7e7; +} + +.table > thead > tr > th { + border-bottom: 1px solid #DDDDDD; + vertical-align: bottom; +} + +.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { + border-top: 1px solid @border-color; + line-height: 1.42857; + padding: 8px; + vertical-align: top; +} + +/* PANELS */ + +.panel.blank-panel { + background: none; + margin: 0; +} + +.blank-panel .panel-heading { + padding-bottom: 0; +} + +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + -moz-border-bottom-colors: none; + -moz-border-left-colors: none; + -moz-border-right-colors: none; + -moz-border-top-colors: none; + background: none; + border-color: #DDDDDD #DDDDDD rgba(0, 0, 0, 0); + border-bottom: @gray; + border-image: none; + border-style: solid; + border-width: 1px; + color: #555555; + cursor: default; +} + +.nav.nav-tabs li { + background: none; + border: none; +} + +.nav-tabs > li > a { + color: #A7B1C2; + font-weight: 600; + padding: 10px 20px 10px 25px; +} + +.nav-tabs > li > a:hover, .nav-tabs > li > a:focus { + background-color: #e6e6e6; + color: @text-color; +} + +.ui-tab .tab-content { + padding: 20px 0px; +} + +/* GLOBAL */ + +.no-padding { + padding: 0 !important; +} + +.no-borders { + border: none !important; +} + +.no-margins { + margin: 0 !important; +} + +.no-top-border { + border-top: 0 !important; +} + +.ibox-content.text-box { + padding-bottom: 0px; + padding-top: 15px; +} + +.border-left-right { + border-left: 1px solid @border-color; + border-right: 1px solid @border-color; + border-top: none; + border-bottom: none; +} + +.border-left{ + border-left: 1px solid @border-color; + border-right: none; + border-top: none; + border-bottom: none; +} + +.border-right { + border-left: none; + border-right: 1px solid @border-color; + border-top: none; + border-bottom: none; +} + +.full-width { + width: 100% !important; +} + +.link-block { + font-size: 12px; + padding: 10px; +} + +.nav.navbar-top-links .link-block a { + font-size: 12px; +} + +.link-block a { + font-size: 10px; + color: inherit; + +} + +body.mini-navbar .branding { + display: none; +} + +img.circle-border { + border: 6px solid #FFFFFF; + border-radius: 50%; +} + +.branding { + float: left; + color: #FFFFFF; + font-size: 18px; + font-weight: 600; + padding: 17px 20px; + text-align: center; + background-color: @navy; +} + +.login-panel { + margin-top: 25%; +} + +.icons-box h3 { + margin-top: 10px; + margin-bottom: 10px; +} + +.icons-box .infont a i { + font-size: 25px; + display: block; + color: @text-color; +} + +.icons-box .infont a { + color: #a6a8a9; +} + +.icons-box .infont a { + padding: 10px; + + margin: 1px; + display: block; +} + +.ui-draggable .ibox-title { + cursor: move; +} + +.breadcrumb { + background-color: #ffffff; + padding: 0; + margin-bottom: 0; +} + +.breadcrumb > li a { + color: inherit; +} + +.breadcrumb > .active { + color: inherit; +} + +code { + background-color: #F9F2F4; + border-radius: 4px; + color: #ca4440; + font-size: 90%; + padding: 2px 4px; + white-space: nowrap; +} + +.ibox { + clear: both; + margin-bottom: 25px; + margin-top: 0; + padding: 0; +} + +.ibox.collapsed .ibox-content{ + display: none; +} +.ibox.collapsed .fa.fa-chevron-up:before { + content: "\f078"; +} +.ibox.collapsed .fa.fa-chevron-down:before { + content: "\f077"; +} + +.ibox:after, .ibox:before { + display: table; +} + +.ibox-title { + -moz-border-bottom-colors: none; + -moz-border-left-colors: none; + -moz-border-right-colors: none; + -moz-border-top-colors: none; + background-color: @ibox-title-bg; + border-color: @border-color; + border-image: none; + border-style: solid solid none; + border-width: 3px 0 0; + color: inherit; + margin-bottom: 0; + padding: 14px 15px 7px; + min-height: 48px; +} + +.ibox-content { + background-color: @ibox-content-bg; + color: inherit; + padding: 15px 20px 20px 20px; + + border-color: @border-color; + border-image: none; + border-style: solid solid none; + border-width: 1px 0px; +} + +.ibox-footer { + color: inherit; + border-top: 1px solid @border-color; + font-size: 90%; + background: #ffffff; + padding: 10px 15px; +} + +table.table-mail tr td { + padding: 12px; +} + +.table-mail .check-mail { + padding-left: 20px; +} + +.table-mail .mail-date { + padding-right: 20px; +} + +.star-mail, .check-mail { + width: 40px; +} + +.unread td a, .unread td { + font-weight: 600; + color: inherit; +} + +.read td a, .read td { + font-weight: normal; + color: inherit; +} + +.unread td { + background-color: #f9f8f8; +} + +.ibox-content { + clear: both; +} + +.ibox-heading { + background-color: #f3f6fb; + border-bottom: none; +} + +.ibox-heading h3 { + font-weight: 200; + font-size: 24px; +} + +.ibox-title h5 { + display: inline-block; + font-size: 14px; + margin: 0 0 7px; + padding: 0; + text-overflow: ellipsis; + float: left; +} + +.ibox-title .label { + float: left; + margin-left: 4px; +} + +.ibox-tools { + display: block; + float: none; + margin-top: 0; + position: relative; + padding: 0; + text-align: right; +} + +.ibox-tools a { + cursor: pointer; + margin-left: 5px; + color: #c4c4c4; +} + +.ibox-tools a.btn-primary { + color: #fff; +} + +.ibox-tools .dropdown-menu > li > a { + padding: 4px 10px; + font-size: 12px; +} + +.ibox .ibox-tools.open > .dropdown-menu { + left: auto; + right: 0; +} + +/* BACKGROUNDS */ + +.gray-bg { + background-color: @gray; +} + +.white-bg { + background-color: #ffffff; +} + +.navy-bg { + background-color: @navy; + color: #ffffff; +} + +.blue-bg { + background-color: @blue; + color: #ffffff; +} + +.lazur-bg { + background-color: @lazur; + color: #ffffff; +} + +.yellow-bg { + background-color: @yellow; + color: #ffffff; +} + +.red-bg { + background-color: @red; + color: #ffffff; +} + +.black-bg { + background-color: #262626; +} + +.panel-primary { + border-color: @navy; +} + +.panel-primary > .panel-heading { + background-color: @navy; + border-color: @navy; +} + +.panel-success { + border-color: @blue; +} + +.panel-success > .panel-heading { + background-color: @blue; + border-color: @blue; + color: #ffffff; +} + +.panel-info { + border-color: @lazur; +} + +.panel-info > .panel-heading { + background-color: @lazur; + border-color: @lazur; + color: #ffffff; +} + +.panel-warning { + border-color: @yellow; +} + +.panel-warning > .panel-heading { + background-color: @yellow; + border-color: @yellow; + color: #ffffff; +} + +.panel-danger { + border-color: @red; +} + +.panel-danger > .panel-heading { + background-color: @red; + border-color: @red; + color: #ffffff; +} + +.progress-bar { + background-color: @navy; +} + +.progress-small, .progress-small .progress-bar { + height: 10px; +} + +.progress-small, .progress-mini { + margin-top: 5px; +} + +.progress-mini, .progress-mini .progress-bar { + height: 5px; + margin-bottom: 0px; +} + +.progress-bar-navy-light { + background-color: #3dc7ab; +} + +.progress-bar-success { + background-color: @blue; +} + +.progress-bar-info { + background-color: @lazur; +} + +.progress-bar-warning { + background-color: @yellow; +} + +.progress-bar-danger { + background-color: @red; +} + +.panel-title { + font-size: inherit; +} + +.jumbotron { + border-radius: 6px; + padding: 40px; +} + +.jumbotron h1 { + margin-top: 0; +} + +/* COLORS */ + +.text-navy { + color: @navy; +} + +.text-primary { + color: inherit; +} + +.text-success { + color: @blue; +} + +.text-info { + color: @lazur; +} + +.text-warning { + color: @yellow; +} + +.text-danger { + color: @red; +} + +.text-muted { + color: #888888; +} + +.text-white { + color: #ffffff; +} + +.simple_tag { + background-color: #f3f3f4; + border: 1px solid #e7eaec; + border-radius: 2px; + color: inherit; + font-size: 10px; + margin-right: 5px; + margin-top: 5px; + padding: 5px 12px; + display: inline-block; +} + +.img-shadow { + -webkit-box-shadow: 0px 0px 3px 0px rgba(145,145,145,1); + -moz-box-shadow: 0px 0px 3px 0px rgba(145,145,145,1); + box-shadow: 0px 0px 3px 0px rgba(145,145,145,1); +} + +/* For handle diferent bg color in AngularJS version */ +.dashboards\.dashboard_2 nav.navbar, +.dashboards\.dashboard_3 nav.navbar, +.mailbox\.inbox nav.navbar, +.mailbox\.email_view nav.navbar, +.mailbox\.email_compose nav.navbar, +.dashboards\.dashboard_4_1 nav.navbar, +.metrics nav.navbar, .metrics\.index nav.navbar, +.dashboards\.dashboard_5 nav.navbar +{ + background: #fff; +} + +/* For handle diferent bg color in MVC version */ +.Dashboard_2 .navbar.navbar-static-top, +.Dashboard_3 .navbar.navbar-static-top, +.Dashboard_4_1 .navbar.navbar-static-top, +.ComposeEmail .navbar.navbar-static-top, +.EmailView .navbar.navbar-static-top, +.Inbox .navbar.navbar-static-top, +.Metrics .navbar.navbar-static-top, +.Dashboard_5 .navbar.navbar-static-top +{ + background: #fff; +} + + +a.close-canvas-menu { + position: absolute; + top:10px; + right: 15px; + z-index: 1011; + color: #a7b1c2; +} + +a.close-canvas-menu:hover { + color: #fff; +} + +/* FULL HEIGHT */ + + +.full-height { + height: 100%; +} + +.fh-breadcrumb { + height: calc(~"100% - 196px"); + margin: 0 -15px; + position: relative +} + +.fh-no-breadcrumb { + height: calc(~"100% - 99px"); + margin: 0 -15px; + position: relative +} + +.fh-column { + background: #fff; + height: 100%; + width: 240px; + float: left +} + +.modal-backdrop { + z-index: 2040 !important; +} + +.modal { + z-index: 2050 !important; +} + +.spiner-example { + height: 200px; + padding-top: 70px; +} + +/* MARGINS & PADDINGS */ + +.p-xxs { + padding: 5px; +} + +.p-xs { + padding: 10px; +} + +.p-sm { + padding: 15px; +} + +.p-m { + padding: 20px; +} + +.p-md { + padding: 25px; +} + +.p-lg { + padding: 30px; +} + +.p-xl { + padding: 40px; +} + +.p-w-xs { + padding: 0 10px; +} + +.p-w-sm { + padding: 0 15px; + +} + +.p-w-m { + padding: 0 20px; + +} + +.p-w-md { + padding: 0 25px; + +} + +.p-w-lg { + padding: 0 30px; + +} + +.p-w-xl { + padding: 0 40px; + +} + +.m-xxs { + margin: 2px 4px; +} + +.m-xs { + margin: 5px; +} + +.m-sm { + margin: 10px; +} + +.m { + margin: 15px; +} + +.m-md { + margin: 20px; +} + +.m-lg { + margin: 30px; +} + +.m-xl { + margin: 50px; +} + +.m-n { + margin: 0 !important; +} + +.m-l-none { + margin-left: 0; +} + +.m-l-xs { + margin-left: 5px; +} + +.m-l-sm { + margin-left: 10px; +} + +.m-l { + margin-left: 15px; +} + +.m-l-md { + margin-left: 20px; +} + +.m-l-lg { + margin-left: 30px; +} + +.m-l-xl { + margin-left: 40px; +} + +.m-l-n-xxs { + margin-left: -1px; +} + +.m-l-n-xs { + margin-left: -5px; +} + +.m-l-n-sm { + margin-left: -10px; +} + +.m-l-n { + margin-left: -15px; +} + +.m-l-n-md { + margin-left: -20px; +} + +.m-l-n-lg { + margin-left: -30px; +} + +.m-l-n-xl { + margin-left: -40px; +} + +.m-t-none { + margin-top: 0; +} + +.m-t-xxs { + margin-top: 1px; +} + +.m-t-xs { + margin-top: 5px; +} + +.m-t-sm { + margin-top: 10px; +} + +.m-t { + margin-top: 15px; +} + +.m-t-md { + margin-top: 20px; +} + +.m-t-lg { + margin-top: 30px; +} + +.m-t-xl { + margin-top: 40px; +} + +.m-t-n-xxs { + margin-top: -1px; +} + +.m-t-n-xs { + margin-top: -5px; +} + +.m-t-n-sm { + margin-top: -10px; +} + +.m-t-n { + margin-top: -15px; +} + +.m-t-n-md { + margin-top: -20px; +} + +.m-t-n-lg { + margin-top: -30px; +} + +.m-t-n-xl { + margin-top: -40px; +} + +.m-r-none { + margin-right: 0; +} + +.m-r-xxs { + margin-right: 1px; +} + +.m-r-xs { + margin-right: 5px; +} + +.m-r-sm { + margin-right: 10px; +} + +.m-r { + margin-right: 15px; +} + +.m-r-md { + margin-right: 20px; +} + +.m-r-lg { + margin-right: 30px; +} + +.m-r-xl { + margin-right: 40px; +} + +.m-r-n-xxs { + margin-right: -1px; +} + +.m-r-n-xs { + margin-right: -5px; +} + +.m-r-n-sm { + margin-right: -10px; +} + +.m-r-n { + margin-right: -15px; +} + +.m-r-n-md { + margin-right: -20px; +} + +.m-r-n-lg { + margin-right: -30px; +} + +.m-r-n-xl { + margin-right: -40px; +} + +.m-b-none { + margin-bottom: 0; +} + +.m-b-xxs { + margin-bottom: 1px; +} + +.m-b-xs { + margin-bottom: 5px; +} + +.m-b-sm { + margin-bottom: 10px; +} + +.m-b { + margin-bottom: 15px; +} + +.m-b-md { + margin-bottom: 20px; +} + +.m-b-lg { + margin-bottom: 30px; +} + +.m-b-xl { + margin-bottom: 40px; +} + +.m-b-n-xxs { + margin-bottom: -1px; +} + +.m-b-n-xs { + margin-bottom: -5px; +} + +.m-b-n-sm { + margin-bottom: -10px; +} + +.m-b-n { + margin-bottom: -15px; +} + +.m-b-n-md { + margin-bottom: -20px; +} + +.m-b-n-lg { + margin-bottom: -30px; +} + +.m-b-n-xl { + margin-bottom: -40px; +} + +.space-15 { + margin: 15px 0; +} + +.space-20 { + margin: 20px 0; +} + +.space-25 { + margin: 25px 0; +} + +.space-30 { + margin: 30px 0; +} + +// Fullscreen functions + +.fullscreen-ibox-mode .animated { + animation: none; +} + +body.fullscreen-ibox-mode { + overflow-y: hidden; +} + +.ibox.fullscreen { + z-index: 2030; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: auto; + margin-bottom: 0; +} + +.ibox.fullscreen .collapse-link { + display: none; +} + +.ibox.fullscreen .ibox-content { + min-height: calc(~"100% - 48px"); +} + +// Bootstrap issue in 3.3.0 with modal https://github.com/twbs/bootstrap/issues/9855 +// Fix +body.modal-open { padding-right:inherit !important; } + +// Fix for modal backdrop with animate.css +body.modal-open .animated { animation-fill-mode: initial; } + +/* Show profile dropdown on fixed sidebar */ +body.mini-navbar.fixed-sidebar .profile-element, .block { + display: block !important; +} + +body.mini-navbar.fixed-sidebar .nav-header { + padding: 33px 25px; +} + +body.mini-navbar.fixed-sidebar .logo-element{ + display: none; +} \ No newline at end of file diff --git a/src/app/less/buttons.less b/src/app/less/buttons.less new file mode 100755 index 0000000..246b24a --- /dev/null +++ b/src/app/less/buttons.less @@ -0,0 +1,308 @@ + +.btn { + border-radius: @btn-border-radius; +} + +.float-e-margins .btn { + margin-bottom: 5px; +} + +.btn-w-m { + min-width: 120px; +} + +.btn-primary.btn-outline { + color: @navy; +} + +.btn-success.btn-outline { + color: @blue; +} + +.btn-info.btn-outline { + color: @lazur; +} + +.btn-warning.btn-outline { + color: @yellow; +} + +.btn-danger.btn-outline { + color: @red; +} + +.btn-primary.btn-outline:hover, +.btn-success.btn-outline:hover, +.btn-info.btn-outline:hover, +.btn-warning.btn-outline:hover, +.btn-danger.btn-outline:hover { + color: #fff; +} + +.btn-primary { + background-color: @navy; + border-color: @navy; + color: #FFFFFF; +} + +.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary, .btn-primary:active:focus, .btn-primary:active:hover, .btn-primary.active:hover, .btn-primary.active:focus { + background-color: darken(@navy, 3%); + border-color: darken(@navy, 3%); + color: #FFFFFF; +} + +.btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary { + background-image: none; +} + +.btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled]:active, .btn-primary.active[disabled], fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active { + background-color: lighten(@navy, 4%); + border-color: lighten(@navy, 4%); +} + +.btn-success { + background-color: @blue; + border-color: @blue; + color: #FFFFFF; +} + +.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success, .btn-success:active:focus, .btn-success:active:hover, .btn-success.active:hover, .btn-success.active:focus { + background-color: darken(@blue, 3%); + border-color: darken(@blue, 3%); + color: #FFFFFF; +} + +.btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success { + background-image: none; +} + +.btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled]:active, .btn-success.active[disabled], fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active { + background-color: lighten(@blue, 4%); + border-color: lighten(@blue, 4%); +} + +.btn-info { + background-color: @lazur; + border-color: @lazur; + color: #FFFFFF; +} + +.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info, .btn-info:active:focus, .btn-info:active:hover, .btn-info.active:hover, .btn-info.active:focus { + background-color: darken(@lazur, 3%); + border-color: darken(@lazur, 3%); + color: #FFFFFF; +} + +.btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info { + background-image: none; +} + +.btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled]:active, .btn-info.active[disabled], fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active { + background-color: lighten(@lazur, 4%); + border-color: lighten(@lazur, 4%); +} + +.btn-default { + background-color: @dark-gray; + border-color: @dark-gray; + color: #FFFFFF; +} + +.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default, .btn-default:active:focus, .btn-default:active:hover, .btn-default.active:hover, .btn-default.active:focus { + background-color: darken(@dark-gray, 3%); + border-color: darken(@dark-gray, 3%); + color: #FFFFFF; +} + +.btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default { + background-image: none; +} + +.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled]:active, .btn-default.active[disabled], fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { + background-color: lighten(@dark-gray, 4%); + border-color: lighten(@dark-gray, 4%); +} + +.btn-warning { + background-color: @yellow; + border-color: @yellow; + color: #FFFFFF; +} + +.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning, .btn-warning:active:focus, .btn-warning:active:hover, .btn-warning.active:hover, .btn-warning.active:focus { + background-color: darken(@yellow, 3%); + border-color: darken(@yellow, 3%); + color: #FFFFFF; +} + +.btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning { + background-image: none; +} + +.btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled]:active, .btn-warning.active[disabled], fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active { + background-color: lighten(@yellow, 4%); + border-color: lighten(@yellow, 4%); +} + +.btn-danger { + background-color: @red; + border-color: @red; + color: #FFFFFF; +} + +.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger, .btn-danger:active:focus, .btn-danger:active:hover, .btn-danger.active:hover, .btn-danger.active:focus { + background-color: darken(@red, 3%); + border-color: darken(@red, 3%); + color: #FFFFFF; +} + +.btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger { + background-image: none; +} + +.btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled]:active, .btn-danger.active[disabled], fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active { + background-color: lighten(@red, 4%); + border-color: lighten(@red, 4%); +} + +.btn-link { + color: inherit; +} + +.btn-link:hover, .btn-link:focus, .btn-link:active, .btn-link.active, .open .dropdown-toggle.btn-link { + color: @navy; + text-decoration: none; +} + +.btn-link:active, .btn-link.active, .open .dropdown-toggle.btn-link { + background-image: none; +} + +.btn-link.disabled, .btn-link.disabled:hover, .btn-link.disabled:focus, .btn-link.disabled:active, .btn-link.disabled.active, .btn-link[disabled], .btn-link[disabled]:hover, .btn-link[disabled]:focus, .btn-link[disabled]:active, .btn-link.active[disabled], fieldset[disabled] .btn-link, fieldset[disabled] .btn-link:hover, fieldset[disabled] .btn-link:focus, fieldset[disabled] .btn-link:active, fieldset[disabled] .btn-link.active { + color: #cacaca; +} + +.btn-white { + color: inherit; + background: white; + border: 1px solid @border-color; +} + +.btn-white:hover, .btn-white:focus, .btn-white:active, .btn-white.active, .open .dropdown-toggle.btn-white, .btn-white:active:focus, .btn-white:active:hover, .btn-white.active:hover, .btn-white.active:focus{ + color: inherit; + border: 1px solid #d2d2d2; +} + +.btn-white:active, .btn-white.active { + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset; +} + +.btn-white:active, .btn-white.active, .open .dropdown-toggle.btn-white { + background-image: none; +} + +.btn-white.disabled, .btn-white.disabled:hover, .btn-white.disabled:focus, .btn-white.disabled:active, .btn-white.disabled.active, .btn-white[disabled], .btn-white[disabled]:hover, .btn-white[disabled]:focus, .btn-white[disabled]:active, .btn-white.active[disabled], fieldset[disabled] .btn-white, fieldset[disabled] .btn-white:hover, fieldset[disabled] .btn-white:focus, fieldset[disabled] .btn-white:active, fieldset[disabled] .btn-white.active { + color: #cacaca; +} + +.form-control, .form-control:focus, .has-error .form-control:focus, .has-success .form-control:focus, .has-warning .form-control:focus, .navbar-collapse, .navbar-form, .navbar-form-custom .form-control:focus, .navbar-form-custom .form-control:hover, .open .btn.dropdown-toggle, .panel, .popover, .progress, .progress-bar { + box-shadow: none; +} + +.btn-outline { + color: inherit; + background-color: transparent; + transition: all .5s; +} + +.btn-rounded { + border-radius: 50px; +} + +.btn-large-dim { + width: 90px; + height: 90px; + font-size: 42px; +} + +button.dim { + display: inline-block; + color: #fff; + text-decoration: none; + text-transform: uppercase; + text-align: center; + padding-top: 6px; + margin-right: 10px; + position: relative; + cursor: pointer; + border-radius: 5px; + font-weight: 600; + margin-bottom: 20px !important; +} + +button.dim:active { + top: 3px; +} + +button.btn-primary.dim { + box-shadow: inset 0px 0px 0px darken(@navy,6%), 0px 5px 0px 0px darken(@navy,6%), 0px 10px 5px #999; +} + +button.btn-primary.dim:active { + box-shadow: inset 0px 0px 0px darken(@navy,6%), 0px 2px 0px 0px darken(@navy,6%), 0px 5px 3px #999; +} + +button.btn-default.dim { + box-shadow: inset 0px 0px 0px darken(@dark-gray,6%), 0px 5px 0px 0px darken(@dark-gray,6%), 0px 10px 5px #999; +} + +button.btn-default.dim:active { + box-shadow: inset 0px 0px 0px darken(@dark-gray,6%), 0px 2px 0px 0px darken(@dark-gray,6%), 0px 5px 3px #999; +} + +button.btn-warning.dim { + box-shadow: inset 0px 0px 0px darken(@yellow,6%), 0px 5px 0px 0px darken(@yellow,6%), 0px 10px 5px #999; +} + +button.btn-warning.dim:active { + box-shadow: inset 0px 0px 0px darken(@yellow,6%), 0px 2px 0px 0px darken(@yellow,6%), 0px 5px 3px #999; +} + +button.btn-info.dim { + box-shadow: inset 0px 0px 0px darken(@lazur,6%), 0px 5px 0px 0px darken(@lazur,6%), 0px 10px 5px #999; +} + +button.btn-info.dim:active { + box-shadow: inset 0px 0px 0px darken(@lazur,6%), 0px 2px 0px 0px darken(@lazur,6%), 0px 5px 3px #999; +} + +button.btn-success.dim { + box-shadow: inset 0px 0px 0px darken(@blue,6%), 0px 5px 0px 0px darken(@blue,6%), 0px 10px 5px #999; +} + +button.btn-success.dim:active { + box-shadow: inset 0px 0px 0px darken(@blue,6%), 0px 2px 0px 0px darken(@blue,6%), 0px 5px 3px #999; +} + +button.btn-danger.dim { + box-shadow: inset 0px 0px 0px darken(@red,6%), 0px 5px 0px 0px darken(@red,6%), 0px 10px 5px #999; +} + +button.btn-danger.dim:active { + box-shadow: inset 0px 0px 0px darken(@red,6%), 0px 2px 0px 0px darken(@red,6%), 0px 5px 3px #999; +} + +button.dim:before { + font-size: 50px; + line-height: 1em; + font-weight: normal; + color: #fff; + display: block; + padding-top: 10px; + +} + +button.dim:active:before { + top: 7px; + font-size: 50px; +} diff --git a/src/app/less/chat.less b/src/app/less/chat.less new file mode 100755 index 0000000..65804c3 --- /dev/null +++ b/src/app/less/chat.less @@ -0,0 +1,126 @@ +#small-chat { + position: fixed; + bottom: 20px; + right: 20px; + z-index: 100; +} + +#small-chat .badge { + position: absolute; + top: -3px; + right: -4px; +} + +.open-small-chat { + height: 38px; + width: 38px; + display: block; + background: #1ab394; + padding: 9px 8px; + text-align: center; + color: #fff; + border-radius: 50%; +} + +.open-small-chat:hover { + color: white; + background: #1ab394; +} + + +.small-chat-box { + display: none; + position: fixed; + bottom: 20px; + right: 75px; + background: #fff; + border: 1px solid @border-color; + width: 230px; + height: 320px; + border-radius: 4px; +} + +.small-chat-box.ng-small-chat { + display: block; +} + +.body-small { + .small-chat-box { + bottom: 70px; + right: 20px; + } +} + +.small-chat-box.active { + display: block; +} + +.small-chat-box { + + .heading { + background: @nav-bg; + padding: 8px 15px; + font-weight: bold; + color: #fff; + } + + .chat-date { + opacity: 0.6; + font-size: 10px; + font-weight: normal; + } + + .content { + padding: 15px 15px; + + .author-name { + font-weight: bold; + margin-bottom: 3px; + font-size: 11px; + } + + > div { + padding-bottom: 20px; + } + + .chat-message { + padding: 5px 10px; + border-radius: 6px; + font-size: 11px; + line-height: 14px; + max-width: 80%; + background: #f3f3f4; + margin-bottom: 10px; + } + + .chat-message.active { + background: #1ab394; + color: #fff; + } + + .left { + text-align: left; + clear: both; + + .chat-message { + float: left; + } + } + + .right { + text-align: right; + clear: both; + + .chat-message { + float: right; + } + + } + + } + + .form-chat { + padding: 10px 10px; + } + +} \ No newline at end of file diff --git a/src/app/less/custom.less b/src/app/less/custom.less new file mode 100755 index 0000000..89f8f14 --- /dev/null +++ b/src/app/less/custom.less @@ -0,0 +1,6 @@ +/* Only demo */ +@media (max-width: 1000px) { + .welcome-message { + display: none; + } +} \ No newline at end of file diff --git a/src/app/less/elements.less b/src/app/less/elements.less new file mode 100755 index 0000000..bb071e5 --- /dev/null +++ b/src/app/less/elements.less @@ -0,0 +1,2284 @@ +/* TOOGLE SWICH */ + +.onoffswitch { + position: relative; + width: 64px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; +} + +.onoffswitch-checkbox { + display: none; +} + +.onoffswitch-label { + display: block; + overflow: hidden; + cursor: pointer; + border: 2px solid @navy; + border-radius: 2px; +} + +.onoffswitch-inner { + width: 200%; + margin-left: -100%; + -moz-transition: margin 0.3s ease-in 0s; + -webkit-transition: margin 0.3s ease-in 0s; + -o-transition: margin 0.3s ease-in 0s; + transition: margin 0.3s ease-in 0s; +} + +.onoffswitch-inner:before, .onoffswitch-inner:after { + float: left; + width: 50%; + height: 20px; + padding: 0; + line-height: 20px; + font-size: 12px; + color: white; + font-family: Trebuchet, Arial, sans-serif; + font-weight: bold; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.onoffswitch-inner:before { + content: "ON"; + padding-left: 10px; + background-color: @navy; + color: #FFFFFF; +} + +.onoffswitch-inner:after { + content: "OFF"; + padding-right: 10px; + background-color: #FFFFFF; + color: #999999; + text-align: right; +} + +.onoffswitch-switch { + width: 20px; + margin: 0px; + background: #FFFFFF; + border: 2px solid @navy; + border-radius: 2px; + position: absolute; + top: 0; + bottom: 0; + right: 44px; + -moz-transition: all 0.3s ease-in 0s; + -webkit-transition: all 0.3s ease-in 0s; + -o-transition: all 0.3s ease-in 0s; + transition: all 0.3s ease-in 0s; +} + +.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner { + margin-left: 0; +} + +.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch { + right: 0px; +} + +/* CHOSEN PLUGIN */ + +.chosen-container-single .chosen-single { + background: #ffffff; + box-shadow: none; + -moz-box-sizing: border-box; + background-color: #FFFFFF; + border: 1px solid #CBD5DD; + border-radius: 2px; + cursor: text; + height: auto !important; + margin: 0; + min-height: 30px; + overflow: hidden; + padding: 4px 12px; + position: relative; + width: 100%; +} + +.chosen-container-multi .chosen-choices li.search-choice { + background: #f1f1f1; + border: 1px solid #ededed; + border-radius: 2px; + box-shadow: none; + color: #333333; + cursor: default; + line-height: 13px; + margin: 3px 0 3px 5px; + padding: 3px 20px 3px 5px; + position: relative; +} + +/* PAGINATIN */ + +.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { + background-color: #f4f4f4; + border-color: #DDDDDD; + color: inherit; + cursor: default; + z-index: 2; +} + +.pagination > li > a, .pagination > li > span { + background-color: #FFFFFF; + border: 1px solid #DDDDDD; + color: inherit; + float: left; + line-height: 1.42857; + margin-left: -1px; + padding: 4px 10px; + position: relative; + text-decoration: none; +} + +/* TOOLTIPS */ + +.tooltip-inner { + background-color: #2F4050; +} + +.tooltip.top .tooltip-arrow { + border-top-color: #2F4050; +} + +.tooltip.right .tooltip-arrow { + border-right-color: #2F4050; +} + +.tooltip.bottom .tooltip-arrow { + border-bottom-color: #2F4050; +} + +.tooltip.left .tooltip-arrow { + border-left-color: #2F4050; +} + +/* EASY PIE CHART*/ + +.easypiechart { + position: relative; + text-align: center; +} + +.easypiechart .h2 { + margin-left: 10px; + margin-top: 10px; + display: inline-block; +} + +.easypiechart canvas { + top: 0; + left: 0; +} + +.easypiechart .easypie-text { + line-height: 1; + position: absolute; + top: 33px; + width: 100%; + z-index: 1; +} + +.easypiechart img { + margin-top: -4px; +} + +.jqstooltip { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +/* FULLCALENDAR */ + +.fc-state-default { + background-color: #ffffff; + background-image: none; + background-repeat: repeat-x; + box-shadow: none; + color: #333333; + text-shadow: none; +} + +.fc-state-default { + border: 1px solid; +} + +.fc-button { + color: inherit; + border: 1px solid @border-color; + cursor: pointer; + display: inline-block; + height: 1.9em; + line-height: 1.9em; + overflow: hidden; + padding: 0 0.6em; + position: relative; + white-space: nowrap; +} + +.fc-state-active { + background-color: @navy; + border-color: @navy; + color: #ffffff; +} + +.fc-header-title h2 { + font-size: 16px; + font-weight: 600; + color: inherit; +} + +.fc-content .fc-widget-header, .fc-content .fc-widget-content { + border-color: @border-color; + font-weight: normal; +} + +.fc-border-separate tbody { + background-color: #F8F8F8; +} + +.fc-state-highlight { + background: none repeat scroll 0 0 #FCF8E3; +} + +.external-event { + padding: 5px 10px; + border-radius: 2px; + cursor: pointer; + margin-bottom: 5px; +} + +.fc-ltr .fc-event-hori.fc-event-end, .fc-rtl .fc-event-hori.fc-event-start { + border-radius: 2px; +} + +.fc-event, +.fc-agenda .fc-event-time, +.fc-event a { + padding: 4px 6px; + background-color: @navy; /* background color */ + border-color: @navy; /* border color */ +} + +.fc-event-time, .fc-event-title { + color: #717171; + padding: 0 1px; +} + +.ui-calendar .fc-event-time, .ui-calendar .fc-event-title { + color: #fff; +} + + +/* Chat */ +.chat-activity-list .chat-element { + border-bottom: 1px solid @border-color; +} + +.chat-element:first-child { + margin-top: 0; +} + +.chat-element { + padding-bottom: 15px; +} + +.chat-element, .chat-element .media { + margin-top: 15px; +} + +.chat-element, .media-body { + overflow: hidden; +} + +.media-body { + display: block; + width: auto; +} + +.chat-element > .pull-left { + margin-right: 10px; +} + +.chat-element img.img-circle, .dropdown-messages-box img.img-circle { + width: 38px; + height: 38px; +} + +.chat-element .well { + border: 1px solid @border-color; + box-shadow: none; + margin-top: 10px; + margin-bottom: 5px; + padding: 10px 20px; + font-size: 11px; + line-height: 16px; +} + +.chat-element .actions { + margin-top: 10px; +} + +.chat-element .photos { + margin: 10px 0; + +} + +.right.chat-element > .pull-right { + margin-left: 10px; +} + +.chat-photo { + max-height: 180px; + border-radius: 4px; + overflow: hidden; + margin-right: 10px; + margin-bottom: 10px; +} + +.chat { + margin: 0; + padding: 0; + list-style: none; +} + +.chat li { + margin-bottom: 10px; + padding-bottom: 5px; + border-bottom: 1px dotted #B3A9A9; +} + +.chat li.left .chat-body { + margin-left: 60px; +} + +.chat li.right .chat-body { + margin-right: 60px; +} + +.chat li .chat-body p { + margin: 0; + color: #777777; +} + +.panel .slidedown .glyphicon, +.chat .glyphicon { + margin-right: 5px; +} + +.chat-panel .panel-body { + height: 350px; + overflow-y: scroll; +} + +/* LIST GROUP */ + +a.list-group-item.active, a.list-group-item.active:hover, a.list-group-item.active:focus { + background-color: @navy; + border-color: @navy; + color: #FFFFFF; + z-index: 2; +} + +.list-group-item-heading { + margin-top: 10px; +} + +.list-group-item-text { + margin: 0 0 10px; + color: inherit; + font-size: 12px; + line-height: inherit; +} + +.no-padding .list-group-item { + border-left: none; + border-right: none; + border-bottom: none; +} + +.no-padding .list-group-item:first-child { + border-left: none; + border-right: none; + border-bottom: none; + border-top: none; +} + +.no-padding .list-group { + margin-bottom: 0; +} + +.list-group-item { + background-color: inherit; + border: 1px solid @border-color; + display: block; + margin-bottom: -1px; + padding: 10px 15px; + position: relative; +} + +.elements-list .list-group-item { + border-left: none; + border-right: none; + /*border-top: none;*/ + + padding: 15px 25px; + +} + +.elements-list .list-group-item:first-child { + border-left: none; + border-right: none; + border-top: none !important; +} + +.elements-list .list-group { + margin-bottom: 0; +} + +.elements-list a { + color: inherit; +} + +.elements-list .list-group-item.active, +.elements-list .list-group-item:hover { + background: #f3f3f4; + color: inherit; + border-color: #e7eaec; + /*border-bottom: 1px solid #e7eaec;*/ + /*border-top: 1px solid #e7eaec;*/ + border-radius: 0; +} + +.elements-list li.active { + transition: none; +} + +.element-detail-box { + padding: 25px; +} + +/* FLOT CHART */ + +.flot-chart { + display: block; + height: 200px; +} + +.widget .flot-chart.dashboard-chart { + display: block; + height: 120px; + margin-top: 40px; +} + +.flot-chart.dashboard-chart { + display: block; + height: 180px; + margin-top: 40px; +} + +.flot-chart-content { + width: 100%; + height: 100%; +} + +.flot-chart-pie-content { + width: 200px; + height: 200px; + margin: auto; +} + +.jqstooltip { + position: absolute; + display: block; + left: 0px; + top: 0px; + visibility: hidden; + background: rgb(43, 48, 58); + background-color: rgba(43, 48, 58, 0.8); + color: white; + text-align: left; + white-space: nowrap; + z-index: 10000; + padding: 5px 5px 5px 5px; + min-height: 22px; + border-radius: 3px; +} + +.jqsfield { + color: white; + text-align: left; +} + +.h-200 { + min-height: 200px; +} + +.legendLabel { + padding-left: 5px; +} + +.stat-list li:first-child { + margin-top: 0; +} + +.stat-list { + list-style: none; + padding: 0; + margin: 0; +} + +.stat-percent { + float: right; +} + +.stat-list li { + margin-top: 15px; + position: relative; +} + +/* DATATABLES */ + +table.dataTable thead .sorting, +table.dataTable thead .sorting_asc:after, +table.dataTable thead .sorting_desc, +table.dataTable thead .sorting_asc_disabled, +table.dataTable thead .sorting_desc_disabled { + background: transparent; +} + +.dataTables_wrapper { + padding-bottom: 30px; +} + +.dataTables_length { + float: left; +} + +body.DTTT_Print { + background: #fff; + +} +.DTTT_Print #page-wrapper { + margin: 0; + background:#fff; +} + +button.DTTT_button, div.DTTT_button, a.DTTT_button { + border: 1px solid #e7eaec; + background: #fff; + color: #676a6c; + box-shadow: none; + padding: 6px 8px; +} +button.DTTT_button:hover, div.DTTT_button:hover, a.DTTT_button:hover { + border: 1px solid #d2d2d2; + background: #fff; + color: #676a6c; + box-shadow: none; + padding: 6px 8px; +} + +button.DTTT_button:hover:not(.DTTT_disabled), div.DTTT_button:hover:not(.DTTT_disabled), a.DTTT_button:hover:not(.DTTT_disabled) { + border: 1px solid #d2d2d2; + background: #fff; + box-shadow: none; +} + +.dataTables_filter label { + margin-right: 5px; + +} + +/* CIRCLE */ + +.img-circle { + border-radius: 50%; +} + +.btn-circle { + width: 30px; + height: 30px; + padding: 6px 0; + border-radius: 15px; + text-align: center; + font-size: 12px; + line-height: 1.428571429; +} + +.btn-circle.btn-lg { + width: 50px; + height: 50px; + padding: 10px 16px; + border-radius: 25px; + font-size: 18px; + line-height: 1.33; +} + +.btn-circle.btn-xl { + width: 70px; + height: 70px; + padding: 10px 16px; + border-radius: 35px; + font-size: 24px; + line-height: 1.33; +} + +.show-grid [class^="col-"] { + padding-top: 10px; + padding-bottom: 10px; + border: 1px solid #ddd; + background-color: #eee !important; +} + +.show-grid { + margin: 15px 0; +} + +/* ANIMATION */ + +.css-animation-box h1 { + font-size: 44px; +} + +.animation-efect-links a { + padding: 4px 6px; + font-size: 12px; +} + +#animation_box { + background-color: #f9f8f8; + border-radius: 16px; + width: 80%; + margin: 0 auto; + padding-top: 80px; +} + +.animation-text-box { + position: absolute; + margin-top: 40px; + left: 50%; + margin-left: -100px; + width: 200px; +} + +.animation-text-info { + position: absolute; + margin-top: -60px; + left: 50%; + margin-left: -100px; + width: 200px; + font-size: 10px; +} + +.animation-text-box h2 { + font-size: 54px; + font-weight: 600; + margin-bottom: 5px; +} + +.animation-text-box p { + font-size: 12px; + text-transform: uppercase; +} + +/* PEACE */ + +.pace { + -webkit-pointer-events: none; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.pace-inactive { + display: none; +} + +.pace .pace-progress { + background: @navy; + position: fixed; + z-index: 2000; + top: 0; + right: 100%; + width: 100%; + height: 2px; +} + +.pace-inactive { + display: none; +} + +/* WIDGETS */ + +.widget { + border-radius: 5px; + padding: 15px 20px; + margin-bottom: 10px; + margin-top: 10px; +} + +.widget.style1 h2 { + font-size: 30px; +} + +.widget h2, .widget h3 { + margin-top: 5px; + margin-bottom: 0; +} + +.widget-text-box { + padding: 20px; + border: 1px solid @border-color; + background: #ffffff; +} + +.widget-head-color-box { + border-radius: 5px 5px 0px 0px; + margin-top: 10px; + +} + +.widget .flot-chart { + height: 100px; +} + +.vertical-align div { + display: inline-block; + vertical-align: middle; +} + +.vertical-align h2, .vertical-align h3 { + margin: 0; +} + +.todo-list { + list-style: none outside none; + margin: 0; + padding: 0; + font-size: 14px; +} + +.todo-list.small-list { + font-size: 12px; +} + +.todo-list.small-list > li { + background: @gray; + border-left: none; + border-right: none; + border-radius: 4px; + color: inherit; + margin-bottom: 2px; + padding: 6px 6px 6px 12px; +} + +.todo-list.small-list .btn-xs, .todo-list.small-list .btn-group-xs > .btn { + border-radius: 5px; + font-size: 10px; + line-height: 1.5; + padding: 1px 2px 1px 5px; +} + +.todo-list > li { + background: @gray; + border-left: 6px solid @border-color; + border-right: 6px solid @border-color; + border-radius: 4px; + color: inherit; + margin-bottom: 2px; + padding: 10px; +} + +.todo-list .handle { + cursor: move; + display: inline-block; + font-size: 16px; + margin: 0 5px; +} + +.todo-list > li .label { + font-size: 9px; + margin-left: 10px; +} + +.check-link { + font-size: 16px; +} + +.todo-completed { + text-decoration: line-through; +} + +.geo-statistic h1 { + font-size: 36px; + margin-bottom: 0; +} + +.glyphicon.fa { + font-family: "FontAwesome"; +} +/* INPUTS */ +.inline { + display: inline-block !important; +} + +.input-s-sm { + width: 120px; +} + +.input-s { + width: 200px; +} + +.input-s-lg { + width: 250px; +} + +.i-checks { + padding-left: 0; +} + +.form-control, .single-line { + background-color: #FFFFFF; + background-image: none; + border: 1px solid #e5e6e7; + border-radius: 1px; + color: inherit; + display: block; + padding: 6px 12px; + transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s; + width: 100%; + font-size:14px +} + +.form-control:focus, .single-line:focus { + border-color: @navy !important; +} + +.has-success .form-control { + border-color: @navy; +} + +.has-warning .form-control { + border-color: @yellow; +} + +.has-error .form-control { + border-color: @red; +} + +.has-success .control-label { + color: @navy; +} + +.has-warning .control-label { + color: @yellow; +} + +.has-error .control-label { + color: @red; +} + +.input-group-addon { + background-color: #fff; + border: 1px solid #E5E6E7; + border-radius: 1px; + color: inherit; + font-size: 14px; + font-weight: 400; + line-height: 1; + padding: 6px 12px; + text-align: center; +} + +.spinner-buttons.input-group-btn .btn-xs { + line-height: 1.13; +} + +.spinner-buttons.input-group-btn { + width: 20%; +} + +.noUi-connect { + background: none repeat scroll 0 0 @navy; + box-shadow: none; +} + +.slider_red .noUi-connect { + background: none repeat scroll 0 0 @red; + box-shadow: none; +} + +/* UI Sortable */ + +.ui-sortable .ibox-title { + cursor: move; +} + +.ui-sortable-placeholder { + border: 1px dashed #cecece !important; + visibility: visible !important; + background: #e7eaec; +} + +.ibox.ui-sortable-placeholder { + margin: 0px 0px 23px !important; +} + +/* SWITCHES */ +.onoffswitch { + position: relative; width: 54px; + -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none; +} +.onoffswitch-checkbox { + display: none; +} +.onoffswitch-label { + display: block; overflow: hidden; cursor: pointer; + border: 2px solid #1AB394; border-radius: 3px; +} +.onoffswitch-inner { + display: block; width: 200%; margin-left: -100%; + -moz-transition: margin 0.3s ease-in 0s; -webkit-transition: margin 0.3s ease-in 0s; + -o-transition: margin 0.3s ease-in 0s; transition: margin 0.3s ease-in 0s; +} +.onoffswitch-inner:before, .onoffswitch-inner:after { + display: block; float: left; width: 50%; height: 16px; padding: 0; line-height: 16px; + font-size: 10px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold; + -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; +} +.onoffswitch-inner:before { + content: "ON"; + padding-left: 7px; + background-color: #1AB394; color: #FFFFFF; +} +.onoffswitch-inner:after { + content: "OFF"; + padding-right: 7px; + background-color: #FFFFFF; color: #919191; + text-align: right; +} +.onoffswitch-switch { + display: block; width: 18px; margin: 0px; + background: #FFFFFF; + border: 2px solid #1AB394; border-radius: 3px; + position: absolute; top: 0; bottom: 0; right: 36px; + -moz-transition: all 0.3s ease-in 0s; -webkit-transition: all 0.3s ease-in 0s; + -o-transition: all 0.3s ease-in 0s; transition: all 0.3s ease-in 0s; +} +.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner { + margin-left: 0; +} +.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch { + right: 0px; +} + +/* jqGrid */ + + +.ui-jqgrid{ + -moz-box-sizing: content-box; +} +.ui-jqgrid-btable{ + border-collapse: separate; +} +.ui-jqgrid-htable{ + border-collapse: separate; +} +.ui-jqgrid-titlebar{ + height: 40px; + line-height: 15px; + color: #676a6c; + background-color: #F9F9F9; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} +.ui-jqgrid .ui-jqgrid-title { + float: left; + margin: 1.1em 1em 0.2em; +} +.ui-jqgrid .ui-jqgrid-titlebar { + position: relative; + border-left: 0px solid; + border-right: 0px solid; + border-top: 0px solid; +} +.ui-widget-header{ + background: none; + background-image: none; + background-color: #f5f5f6; + text-transform: uppercase; + border-top-left-radius: 0px; + border-top-right-radius: 0px; +} +.ui-jqgrid tr.ui-row-ltr td { + border-right-color: inherit; + border-right-style: solid; + border-right-width: 1px; + text-align: left; + border-color: #DDDDDD; + background-color: inherit; +} +.ui-search-toolbar input[type="text"]{ + font-size: 12px; + height: 15px; + border: 1px solid #CCCCCC; + border-radius: 0px; +} +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { + background: #F9F9F9; + border: 1px solid #DDDDDD; + line-height: 15px; + font-weight: bold; + color: #676a6c; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} +.ui-widget-content { + box-sizing: content-box; +} +.ui-icon-triangle-1-n { + background-position: 1px -16px; +} +.ui-jqgrid tr.ui-search-toolbar th { + border-top-width: 0px !important; + border-top-color: inherit !important; + border-top-style: ridge !important +} +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { + background: #f5f5f5; + border-collapse: separate; +} + +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { + background: #f2fbff; +} + +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { + border: 1px solid #dddddd; + background: #ffffff; + font-weight: normal; + color: #212121; +} +.ui-jqgrid .ui-pg-input { + font-size: inherit; + width: 50px; + border: 1px solid #CCCCCC; + height: 15px; +} +.ui-jqgrid .ui-pg-selbox { + display: block; + font-size: 1em; + height: 25px; + line-height: 18px; + margin: 0; + width: auto; +} +.ui-jqgrid .ui-pager-control { + position: relative; +} +.ui-jqgrid .ui-jqgrid-pager { + height: 32px; + position: relative; +} +.ui-pg-table .navtable .ui-corner-all{ + border-radius: 0px; +} +.ui-jqgrid .ui-pg-button:hover { + padding: 1px; + border: 0px; +} +.ui-jqgrid .loading { + position: absolute; + top: 45%; + left: 45%; + width: auto; + height: auto; + z-index:101; + padding: 6px; + margin: 5px; + text-align: center; + font-weight: bold; + display: none; + border-width: 2px !important; + font-size:11px; +} +.ui-jqgrid .form-control { + height: 10px; + width: auto; + display: inline; + padding: 10px 12px; +} +.ui-jqgrid-pager { + height: 32px; +} + +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { + border-top-left-radius: 0; +} + +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { + border-top-right-radius: 0; +} + +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { + border-bottom-left-radius: 0; +} + +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { + border-bottom-right-radius: 0; +} + +.ui-widget-content { + border:1px solid #ddd; +} + +.ui-jqgrid .ui-jqgrid-titlebar { + padding: 0; +} + +.ui-jqgrid .ui-jqgrid-titlebar { + border-bottom: 1px solid #ddd; +} + +.ui-jqgrid tr.jqgrow td { + padding: 6px; +} + +.ui-jqdialog .ui-jqdialog-titlebar { + padding: 10px 10px; + +} + +.ui-jqdialog .ui-jqdialog-title { + float: none !important; +} + +.ui-jqdialog > .ui-resizable-se { + position: absolute; +} + + + + +/* Nestable list */ + +.dd { + position: relative; + display: block; + margin: 0; + padding: 0; + list-style: none; + font-size: 13px; + line-height: 20px; +} + +.dd-list { + display: block; + position: relative; + margin: 0; + padding: 0; + list-style: none; +} + +.dd-list .dd-list { + padding-left: 30px; +} + +.dd-collapsed .dd-list { + display: none; +} + +.dd-item, +.dd-empty, +.dd-placeholder { + display: block; + position: relative; + margin: 0; + padding: 0; + min-height: 20px; + font-size: 13px; + line-height: 20px; +} + +.dd-handle { + display: block; + margin: 5px 0; + padding: 5px 10px; + color: #333; + text-decoration: none; + border: 1px solid #e7eaec; + background: #f5f5f5; + -webkit-border-radius: 3px; + border-radius: 3px; + box-sizing: border-box; + -moz-box-sizing: border-box; +} + +.dd-handle span { + font-weight: bold; +} + +.dd-handle:hover { + background: #f0f0f0; + cursor: pointer; + font-weight: bold; +} + +.dd-item > button { + display: block; + position: relative; + cursor: pointer; + float: left; + width: 25px; + height: 20px; + margin: 5px 0; + padding: 0; + text-indent: 100%; + white-space: nowrap; + overflow: hidden; + border: 0; + background: transparent; + font-size: 12px; + line-height: 1; + text-align: center; + font-weight: bold; +} + +.dd-item > button:before { + content: '+'; + display: block; + position: absolute; + width: 100%; + text-align: center; + text-indent: 0; +} + +.dd-item > button[data-action="collapse"]:before { + content: '-'; +} + +#nestable2 .dd-item > button { + font-family: FontAwesome; + height: 34px; + width: 33px; + color: #c1c1c1; + +} + +#nestable2 .dd-item > button:before { + content: "\f067"; +} + +#nestable2 .dd-item > button[data-action="collapse"]:before { + content: "\f068"; +} + +.dd-placeholder, +.dd-empty { + margin: 5px 0; + padding: 0; + min-height: 30px; + background: #f2fbff; + border: 1px dashed #b6bcbf; + box-sizing: border-box; + -moz-box-sizing: border-box; +} + +.dd-empty { + border: 1px dashed #bbb; + min-height: 100px; + background-color: #e5e5e5; + background-image: -webkit-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff), -webkit-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff); + background-image: -moz-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff), -moz-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff); + background-image: linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff), linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff); + background-size: 60px 60px; + background-position: 0 0, 30px 30px; +} + +.dd-dragel { + position: absolute; + z-index: 9999; + pointer-events: none; +} + +.dd-dragel > .dd-item .dd-handle { + margin-top: 0; +} + +.dd-dragel .dd-handle { + -webkit-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, .1); + box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, .1); +} + +/** +* Nestable Extras +*/ +.nestable-lists { + display: block; + clear: both; + padding: 30px 0; + width: 100%; + border: 0; + border-top: 2px solid #ddd; + border-bottom: 2px solid #ddd; +} + +#nestable-menu { + padding: 0; + margin: 10px 0 20px 0; +} + +#nestable-output, +#nestable2-output { + width: 100%; + font-size: 0.75em; + line-height: 1.333333em; + font-family: open sans, lucida grande, lucida sans unicode, helvetica, arial, sans-serif; + padding: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; +} + +#nestable2 .dd-handle { + color: inherit; + border: 1px dashed #e7eaec; + background: #f3f3f4; + padding: 10px; +} + +#nestable2 .dd-handle:hover { + /*background: #bbb;*/ +} + + +#nestable2 span.label { + margin-right: 10px; +} + +#nestable-output, +#nestable2-output { + font-size: 12px; + padding: 25px; + box-sizing: border-box; + -moz-box-sizing: border-box; +} + +/* CodeMirror */ +.CodeMirror { + border: 1px solid #eee; + height: auto; +} +.CodeMirror-scroll { + overflow-y: hidden; + overflow-x: auto; +} + +/* Google Maps */ +.google-map { + height: 300px; +} + +/* Validation */ +label.error { + color: #cc5965; + display: inline-block; + margin-left: 5px; +} + +.form-control.error { + border: 1px dotted #cc5965; +} + +/* ngGrid */ +.gridStyle { + border: 1px solid rgb(212, 212, 212); + width: 100%; + height: 400px +} +.gridStyle2 { + border: 1px solid rgb(212,212,212); + width: 500px; + height: 300px; +} +.ngH eaderCell { + border-right: none; + border-bottom: 1px solid #e7eaec; +} +.ngCell { + border-right: none; +} +.ngTopPanel { + background: #F5F5F6; +} +.ngRow.even { + background: #f9f9f9; +} +.ngRow.selected { + background: #EBF2F1; +} +.ngRow { + border-bottom: 1px solid #e7eaec; +} +.ngCell { + background-color: transparent; +} +.ngHeaderCell { + border-right: none; +} + +/* Toastr custom style */ + +#toast-container > .toast { + background-image: none !important; +} + +#toast-container > .toast:before { + position: fixed; + font-family: FontAwesome; + font-size: 24px; + line-height: 24px; + float: left; + color: #FFF; + padding-right: 0.5em; + margin: auto 0.5em auto -1.5em; +} +#toast-container > .toast-warning:before { + content: "\f0e7"; +} +#toast-container > .toast-error:before { + content: "\f071"; +} +#toast-container > .toast-info:before { + content: "\f005"; +} +#toast-container > .toast-success:before { + content: "\f00C"; +} + +#toast-container > div { + -moz-box-shadow: 0 0 3px #999; + -webkit-box-shadow: 0 0 3px #999; + box-shadow: 0 0 3px #999; + opacity: .9; + -ms-filter: alpha(Opacity=90); + filter: alpha(opacity=90) +} + +#toast-container > :hover { + -moz-box-shadow: 0 0 4px #999; + -webkit-box-shadow: 0 0 4px #999; + box-shadow: 0 0 4px #999; + opacity: 1; + -ms-filter: alpha(Opacity=100); + filter: alpha(opacity=100); + cursor: pointer +} + +.toast { + background-color: @navy +} + +.toast-success { + background-color: @navy +} + +.toast-error { + background-color: @red +} + +.toast-info { + background-color: @lazur +} + +.toast-warning { + background-color: @yellow +} + +.toast-top-full-width { + margin-top: 20px; +} + +.toast-bottom-full-width { + margin-bottom: 20px; +} + +/* Notifie */ +.cg-notify-message.inspinia-notify { + background: #fff; + padding: 0; + box-shadow: 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.2); + -webkit-box-shadow : 0 0 1 px rgba(0, 0, 0, 0.1), 0 2 px 4 px rgba(0, 0, 0, 0.2); + -moz-box-shadow : 0 0 1 px rgba(0, 0, 0, 0.1), 0 2 px 4 px rgba(0, 0, 0, 0.2); + border:none ; + margin-top: 30px; + color: inherit; +} + +.inspinia-notify.alert-warning { + border-left: 6px solid @yellow; +} +.inspinia-notify.alert-success { + border-left: 6px solid @blue; +} + +.inspinia-notify.alert-danger { + border-left: 6px solid @red; +} + +.inspinia-notify.alert-info { + border-left: 6px solid @navy; +} + +/* Image cropper style */ +.img-container, .img-preview { + overflow: hidden; + text-align: center; + width: 100%; +} +.img-preview-sm { + height: 130px; + width: 200px; +} + +/* Forum styles */ +.forum-post-container .media { + margin: 10px 10px 10px 10px; + padding: 20px 10px 20px 10px; + border-bottom: 1px solid #f1f1f1; +} + +.forum-avatar { + float: left; + margin-right: 20px; + text-align: center; + width: 110px; +} + +.forum-avatar .img-circle { + height: 48px; + width: 48px; +} + +.author-info { + color: #676a6c; + font-size: 11px; + margin-top: 5px; + text-align: center; +} + +.forum-post-info { + padding: 9px 12px 6px 12px; + background:#f9f9f9; + border: 1px solid #f1f1f1; +} + +.media-body > .media { + background: #f9f9f9; + border-radius: 3px; + border: 1px solid #f1f1f1; +} + +.forum-post-container .media-body .photos { + margin: 10px 0; +} + +.forum-photo { + max-width: 140px; + border-radius: 3px; + +} + +.media-body > .media .forum-avatar { + width: 70px; + margin-right: 10px; +} +.media-body > .media .forum-avatar .img-circle { + height: 38px; + width: 38px; +} + +.mid-icon { + font-size: 66px; +} + +.forum-item { + margin: 10px 0; + padding: 10px 0 20px; + border-bottom: 1px solid #f1f1f1; +} + +.views-number { + font-size: 24px; + line-height: 18px; + font-weight: 400; +} + +.forum-container, .forum-post-container { + padding: 30px !important; +} + +.forum-item small { + color: #999; +} + +.forum-item .forum-sub-title{ + color: #999; + margin-left: 50px; +} + +.forum-title { + margin: 15px 0 15px 0; +} + +.forum-info { + text-align: center; +} + +.forum-desc { + color: #999; +} + +.forum-icon { + float: left; + width: 30px; + margin-right: 20px; + text-align: center; +} + +a.forum-item-title { + color: inherit; + display: block; + font-size: 18px; + font-weight: 600; +} + +a.forum-item-title:hover { + color: inherit; +} + +.forum-icon .fa { + + font-size: 30px; + margin-top: 8px; + color: #9b9b9b; +} +.forum-item.active .fa { + color: @navy; +} + +.forum-item.active a.forum-item-title { + color: @navy; +} + +@media (max-width: 992px) { + + .forum-info { + margin: 15px 0 10px 0px; + + /* Comment this is you want to show forum info in small devices */ + display: none; + } + + .forum-desc { + float: none !important; + } + +} + +/* New Timeline style */ + +.vertical-container { + /* this class is used to give a max-width to the element it is applied to, and center it horizontally when it reaches that max-width */ + width: 90%; + max-width: 1170px; + margin: 0 auto; +} +.vertical-container::after { + /* clearfix */ + content: ''; + display: table; + clear: both; +} + +#vertical-timeline { + position: relative; + padding:0; + margin-top: 2em; + margin-bottom: 2em; +} +#vertical-timeline::before { + content: ''; + position: absolute; + top: 0; + left: 18px; + height: 100%; + width: 4px; + background: #f1f1f1; +} + + +.vertical-timeline-content .btn { + float: right; +} + +#vertical-timeline.light-timeline:before { + background: #e7eaec; +} + + +.dark-timeline .vertical-timeline-content:before +{ + border-color: transparent #f5f5f5 transparent transparent ; +} + +.dark-timeline.center-orientation .vertical-timeline-content:before +{ + border-color: transparent transparent transparent #f5f5f5; +} + +.dark-timeline .vertical-timeline-block:nth-child(2n) .vertical-timeline-content:before, +.dark-timeline.center-orientation .vertical-timeline-block:nth-child(2n) .vertical-timeline-content:before +{ + border-color: transparent #f5f5f5 transparent transparent; +} + +.dark-timeline .vertical-timeline-content, +.dark-timeline.center-orientation .vertical-timeline-content +{ + background: #f5f5f5; +} + +@media only screen and (min-width: 1170px) { + #vertical-timeline.center-orientation { + margin-top: 3em; + margin-bottom: 3em; + } + #vertical-timeline.center-orientation:before { + left: 50%; + margin-left: -2px; + } +} + +@media only screen and (max-width: 1170px) { + .center-orientation.dark-timeline .vertical-timeline-content:before { + border-color: transparent #f5f5f5 transparent transparent; + } +} + +.vertical-timeline-block { + position: relative; + margin: 2em 0; +} +.vertical-timeline-block:after { + content: ""; + display: table; + clear: both; +} +.vertical-timeline-block:first-child { + margin-top: 0; +} +.vertical-timeline-block:last-child { + margin-bottom: 0; +} +@media only screen and (min-width: 1170px) { + .center-orientation .vertical-timeline-block { + margin: 4em 0; + } + .center-orientation .vertical-timeline-block:first-child { + margin-top: 0; + } + .center-orientation .vertical-timeline-block:last-child { + margin-bottom: 0; + } +} + +.vertical-timeline-icon { + position: absolute; + top: 0; + left: 0; + width: 40px; + height: 40px; + border-radius: 50%; + font-size: 16px; + border: 3px solid #f1f1f1; + text-align: center; +} +.vertical-timeline-icon i { + display: block; + width: 24px; + height: 24px; + position: relative; + left: 50%; + top: 50%; + margin-left: -12px; + margin-top: -9px; +} + +@media only screen and (min-width: 1170px) { + .center-orientation .vertical-timeline-icon { + width: 50px; + height: 50px; + left: 50%; + margin-left: -25px; + -webkit-transform: translateZ(0); + -webkit-backface-visibility: hidden; + font-size: 19px; + } + .center-orientation .vertical-timeline-icon i { + margin-left: -12px; + margin-top: -10px; + } + .center-orientation .cssanimations .vertical-timeline-icon.is-hidden { + visibility: hidden; + } +} + + +.vertical-timeline-content { + position: relative; + margin-left: 60px; + background: white; + border-radius: 0.25em; + padding: 1em; +} +.vertical-timeline-content:after { + content: ""; + display: table; + clear: both; +} +.vertical-timeline-content h2 { + font-weight: 400; + margin-top: 4px; +} + + +.vertical-timeline-content p { + margin: 1em 0; + line-height: 1.6; +} + + +.vertical-timeline-content .vertical-date { + float: left; + font-weight: 500; +} + +.vertical-date small { + color: @navy; + font-weight: 400; +} + +.vertical-timeline-content::before { + content: ''; + position: absolute; + top: 16px; + right: 100%; + height: 0; + width: 0; + border: 7px solid transparent; + border-right: 7px solid white; +} +@media only screen and (min-width: 768px) { + .vertical-timeline-content h2 { + font-size: 18px; + } + .vertical-timeline-content p { + font-size: 13px; + } + +} +@media only screen and (min-width: 1170px) { + .center-orientation .vertical-timeline-content { + margin-left: 0; + padding: 1.6em; + width: 45%; + } + .center-orientation .vertical-timeline-content::before { + top: 24px; + left: 100%; + border-color: transparent; + border-left-color: white; + } + + .center-orientation .vertical-timeline-content .btn { + float: left; + } + .center-orientation .vertical-timeline-content .vertical-date { + position: absolute; + width: 100%; + left: 122%; + top: 2px; + font-size: 14px; + } + .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content { + float: right; + } + .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content::before { + top: 24px; + left: auto; + right: 100%; + border-color: transparent; + border-right-color: white; + } + .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content .btn { + float: right; + } + .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content .vertical-date { + left: auto; + right: 122%; + text-align: right; + } + .center-orientation .cssanimations .vertical-timeline-content.is-hidden { + visibility: hidden; + } +} + +/* Tabs */ + +.tabs-container { + + .panel-body { + background: #fff; + border: 1px solid @border-color; + border-radius: 2px; + padding: 20px; + position: relative; + } + + .nav-tabs > li.active > a, + .nav-tabs > li.active > a:hover, + .nav-tabs > li.active > a:focus { + border: 1px solid @border-color; + border-bottom-color: transparent; + background-color: #fff; + } + + .nav-tabs > li { + float: left; + margin-bottom: -1px; + } + + .tab-pane .panel-body { + border-top: none; + } + + .nav-tabs>li.active>a, .nav-tabs>li.active>a:hover, .nav-tabs>li.active>a:focus { + border: 1px solid @border-color; + border-bottom-color: transparent; + } + + .nav-tabs { + border-bottom: 1px solid @border-color; + } + + .tab-pane .panel-body { + border-top: none; + } + + .tabs-left .tab-pane .panel-body, .tabs-right .tab-pane .panel-body { + border-top: 1px solid @border-color; + } + + .nav-tabs > li a:hover { + background: transparent; + border-color: transparent; + } + + .tabs-below > .nav-tabs, + .tabs-right > .nav-tabs, + .tabs-left > .nav-tabs { + border-bottom: 0; + } + + .tabs-left .panel-body { + position: static; + } + + .tabs-left > .nav-tabs, .tabs-right > .nav-tabs { + width: 20%; + } + + .tabs-left .panel-body { + width: 80%; + margin-left: 20%; + } + + .tabs-right .panel-body { + width: 80%; + margin-right: 20%; + } + + .tab-content > .tab-pane, + .pill-content > .pill-pane { + display: none; + } + + .tab-content > .active, + .pill-content > .active { + display: block; + } + + .tabs-below > .nav-tabs { + border-top: 1px solid @border-color; + } + + .tabs-below > .nav-tabs > li { + margin-top: -1px; + margin-bottom: 0; + } + + .tabs-below > .nav-tabs > li > a { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; + } + + .tabs-below > .nav-tabs > li > a:hover, + .tabs-below > .nav-tabs > li > a:focus { + border-top-color: @border-color; + border-bottom-color: transparent; + } + + + .tabs-left > .nav-tabs > li, + .tabs-right > .nav-tabs > li { + float: none; + } + + .tabs-left > .nav-tabs > li > a, + .tabs-right > .nav-tabs > li > a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; + } + + .tabs-left > .nav-tabs { + float: left; + margin-right: 19px; + } + + .tabs-left > .nav-tabs > li > a { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; + } + + .tabs-left > .nav-tabs .active > a, + .tabs-left > .nav-tabs .active > a:hover, + .tabs-left > .nav-tabs .active > a:focus { + border-color: @border-color transparent @border-color @border-color; + *border-right-color: #ffffff; + } + + .tabs-right > .nav-tabs { + float: right; + margin-left: 19px; + } + + .tabs-right > .nav-tabs > li > a { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; + } + + .tabs-right > .nav-tabs .active > a, + .tabs-right > .nav-tabs .active > a:hover, + .tabs-right > .nav-tabs .active > a:focus { + border-color: @border-color @border-color @border-color transparent; + *border-left-color: #ffffff; + z-index: 1; + } + +} + +/* jsvectormap */ +.jvectormap-container { + width: 100%; + height: 100%; + position: relative; + overflow: hidden; +} + +.jvectormap-tip { + position: absolute; + display: none; + border: solid 1px #CDCDCD; + border-radius: 3px; + background: #292929; + color: white; + font-family: sans-serif, Verdana; + font-size: smaller; + padding: 5px; +} + +.jvectormap-zoomin, .jvectormap-zoomout, .jvectormap-goback { + position: absolute; + left: 10px; + border-radius: 3px; + background: @navy; + padding: 3px; + color: white; + cursor: pointer; + line-height: 10px; + text-align: center; + box-sizing: content-box; +} + +.jvectormap-zoomin, .jvectormap-zoomout { + width: 10px; + height: 10px; +} + +.jvectormap-zoomin { + top: 10px; +} + +.jvectormap-zoomout { + top: 30px; +} + +.jvectormap-goback { + bottom: 10px; + z-index: 1000; + padding: 6px; +} + +.jvectormap-spinner { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + background: center no-repeat url(data:image/gif;base64,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); +} + +.jvectormap-legend-title { + font-weight: bold; + font-size: 14px; + text-align: center; +} + +.jvectormap-legend-cnt { + position: absolute; +} + +.jvectormap-legend-cnt-h { + bottom: 0; + right: 0; +} + +.jvectormap-legend-cnt-v { + top: 0; + right: 0; +} + +.jvectormap-legend { + background: black; + color: white; + border-radius: 3px; +} + +.jvectormap-legend-cnt-h .jvectormap-legend { + float: left; + margin: 0 10px 10px 0; + padding: 3px 3px 1px 3px; +} + +.jvectormap-legend-cnt-h .jvectormap-legend .jvectormap-legend-tick { + float: left; +} + +.jvectormap-legend-cnt-v .jvectormap-legend { + margin: 10px 10px 0 0; + padding: 3px; +} + +.jvectormap-legend-cnt-h .jvectormap-legend-tick { + width: 40px; +} + +.jvectormap-legend-cnt-h .jvectormap-legend-tick-sample { + height: 15px; +} + +.jvectormap-legend-cnt-v .jvectormap-legend-tick-sample { + height: 20px; + width: 20px; + display: inline-block; + vertical-align: middle; +} + +.jvectormap-legend-tick-text { + font-size: 12px; +} + +.jvectormap-legend-cnt-h .jvectormap-legend-tick-text { + text-align: center; +} + +.jvectormap-legend-cnt-v .jvectormap-legend-tick-text { + display: inline-block; + vertical-align: middle; + line-height: 20px; + padding-left: 3px; +} + +/*Slick Carousel */ + +.slick-prev:before, +.slick-next:before +{ + color: @navy !important; +} + +/* Payments */ + +.payment-card { + background: #ffffff; + padding: 20px; + margin-bottom: 25px; + border: 1px solid @border-color; +} + +.payment-icon-big { + font-size: 60px; + color: @light-gray; +} + +.payments-method.panel-group .panel+.panel { + margin-top: -1px; +} + +.payments-method .panel-heading { + padding: 15px; +} + +.payments-method .panel{ + border-radius: 0; +} + +.payments-method .panel-heading h5 { + margin-bottom: 5px; +} + +.payments-method .panel-heading i { + font-size: 26px; +} + +/* Select2 custom styles */ + +.select2-container--default .select2-selection--single, +.select2-container--default .select2-selection--multiple { + border-color: @border-color; +} diff --git a/src/app/less/landing.less b/src/app/less/landing.less new file mode 100755 index 0000000..1a6776e --- /dev/null +++ b/src/app/less/landing.less @@ -0,0 +1,636 @@ +/* + * + * INSPINIA Landing Page - Responsive Admin Theme + * Copyright 2014 Webapplayers.com + * +*/ +/* GLOBAL STYLES +-------------------------------------------------- */ + +/* PACE PLUGIN +-------------------------------------------------- */ +.landing-page.pace .pace-progress { + background: #fff; + position: fixed; + z-index: 2000; + top: 0; + left: 0; + height: 2px; + -webkit-transition: width 1s; + -moz-transition: width 1s; + -o-transition: width 1s; + transition: width 1s; + +} +.pace-inactive { + display: none; +} + +body.landing-page { + color: @text-color; + font-family: 'Open Sans', helvetica, arial, sans-serif; + background-color: #fff; +} + +.landing-page { + + span.navy { + color: @navy; + } + p.text-color { + color: @text-color; + } + a.navy-link { + color: @navy; + text-decoration: none; + } + a.navy-link:hover { + color: darken(@navy, 5%); + } + section p { + color: #aeaeae; + font-size: 13px; + } + address { + font-size: 13px; + } + h1 { + margin-top: 10px; + font-size: 30px; + font-weight: 200; + } + .navy-line { + width: 60px; + height: 1px; + margin: 60px auto 0; + border-bottom: 2px solid @navy; + } + /* CUSTOMIZE THE NAVBAR + -------------------------------------------------- */ + .navbar-wrapper { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 200; + } + /* Flip around the padding for proper display in narrow viewports */ + .navbar-wrapper > .container { + padding-right: 0; + padding-left: 0; + } + .navbar-wrapper .navbar { + padding-right: 15px; + padding-left: 15px; + } + .navbar-default.navbar-scroll { + background-color: #fff; + border-color: #fff; + padding: 15px 0; + } + .navbar-default { + background-color: transparent; + border-color: transparent; + transition: all 0.3s ease-in-out 0s; + } + .navbar-default .nav li a { + color: #fff; + font-family: 'Open Sans', helvetica, arial, sans-serif; + font-weight: 700; + letter-spacing: 1px; + text-transform: uppercase; + font-size: 14px; + } + .navbar-nav > li > a { + padding-top: 25px; + border-top: 6px solid transparent; + } + .navbar-default .navbar-nav > .active > a, + .navbar-default .navbar-nav > .active > a:hover { + background: transparent; + color: #fff; + border-top: 6px solid @navy; + } + .navbar-default .navbar-nav > li > a:hover, + .navbar-default .navbar-nav > li > a:focus { + color: @navy; + background: inherit; + } + .navbar-default .navbar-nav > .active > a:focus { + background: transparent; + color: #fff; + } + + .navbar-default .navbar-nav > .active > a:focus { + background: transparent; + color: #ffffff; + } + + .navbar-default.navbar-scroll .navbar-nav > .active > a:focus { + background: transparent; + color: inherit; + } + .navbar-default .navbar-brand:hover, + .navbar-default .navbar-brand:focus { + background: darken(@navy, 5%); + color: #fff; + } + .navbar-default .navbar-brand { + color: #fff; + height: auto; + display: block; + font-size: 14px; + background: @navy; + padding: 15px 20px 15px 20px; + border-radius: 0 0 5px 5px; + font-weight: 700; + transition: all 0.3s ease-in-out 0s; + } + .navbar-scroll.navbar-default .nav li a { + color: @text-color; + } + .navbar-scroll.navbar-default .nav li a:hover { + color: @navy; + } + .navbar-wrapper .navbar.navbar-scroll { + padding-top: 0; + padding-bottom: 0px; + border-bottom: 1px solid @border-color; + border-radius: 0; + } + + .nav > li.active { + border: none; + background: inherit; + } + + .nav > li > a { + padding: 25px 10px 15px 10px; + } + .navbar-scroll .navbar-nav > li > a { + padding: 20px 10px; + } + + .navbar-default .navbar-nav > .active > a, + .navbar-default .navbar-nav > .active > a:hover { + border-top: 6px solid @navy ; + } + + .navbar-fixed-top { + border: none !important; + } + + .navbar-fixed-top.navbar-scroll { + border-bottom: 1px solid @border-color !important; + } + + .navbar.navbar-scroll .navbar-brand { + margin-top: 15px; + border-radius: 5px; + font-size: 12px; + padding: 10px; + height: auto; + } + /* BACKGROUNDS SLIDER + -------------------------------------------------- */ + .header-back { + height: 470px; + width: 100%; + } + .header-back.one { + background: url('../img/landing/header_one.jpg') 50% 0 no-repeat; + } + .header-back.two { + background: url('../img/landing/header_two.jpg') 50% 0 no-repeat; + } + /* CUSTOMIZE THE CAROUSEL + -------------------------------------------------- */ + /* Carousel base class */ + .carousel { + height: 470px; + } + /* Since positioning the image, we need to help out the caption */ + .carousel-caption { + z-index: 10; + } + /* Declare heights because of positioning of img element */ + .carousel .item { + height: 470px; + background-color: #777; + } + .carousel-inner > .item > img { + position: absolute; + top: 0; + left: 0; + min-width: 100%; + height: 470px; + } + .carousel-fade .carousel-inner .item { + opacity: 0; + -webkit-transition-property: opacity; + transition-property: opacity; + } + .carousel-fade .carousel-inner .active { + opacity: 1; + } + .carousel-fade .carousel-inner .active.left, + .carousel-fade .carousel-inner .active.right { + left: 0; + opacity: 0; + z-index: 1; + } + .carousel-fade .carousel-inner .next.left, + .carousel-fade .carousel-inner .prev.right { + opacity: 1; + } + .carousel-fade .carousel-control { + z-index: 2; + } + .carousel-control.left, + .carousel-control.right { + background: none; + } + .carousel-control { + width: 6%; + } + .carousel-inner .container { + position: relative; + } + .carousel-inner { + overflow: visible; + } + .carousel-caption { + position: absolute; + top: 100px; + left: 0; + bottom: auto; + right: auto; + text-align: left; + } + .carousel-caption { + position: absolute; + top: 100px; + left: 0; + bottom: auto; + right: auto; + text-align: left; + } + .carousel-caption.blank { + top: 140px; + } + .carousel-image { + position: absolute; + right: 10px; + top: 150px; + } + .carousel-indicators { + padding-right: 60px; + } + .carousel-caption h1 { + font-weight: 700; + font-size: 38px; + text-transform: uppercase; + text-shadow: none; + letter-spacing: -1.5px; + } + .carousel-caption p { + font-weight: 700; + text-transform: uppercase; + text-shadow: none; + } + .caption-link { + color: #fff; + margin-left: 10px; + text-transform: capitalize; + font-weight: 400; + } + .caption-link:hover { + text-decoration: none; + color: inherit; + } + /* Sections + ------------------------- */ + .services { + padding-top: 60px; + } + .services h2 { + font-size: 20px; + letter-spacing: -1px; + font-weight: 600; + text-transform: uppercase; + } + .features-block { + margin-top: 40px; + } + .features-text { + margin-top: 40px; + } + .features small { + color: @navy; + } + .features h2 { + font-size: 18px; + margin-top: 5px; + } + .features-text-alone { + margin: 40px 0; + } + .features-text-alone h1 { + font-weight: 200; + } + .features-icon { + color: @navy; + font-size: 40px; + } + .navy-section { + margin-top: 60px; + background: @navy; + color: #fff; + padding: 20px 0; + } + .gray-section { + background: #f4f4f4; + margin-top: 60px; + } + .team-member { + text-align: center; + } + .team-member img { + margin: auto; + } + .social-icon a { + background: @navy; + color: #fff; + padding: 4px 8px; + height: 28px; + width: 28px; + display: block; + border-radius: 50px; + } + .social-icon a:hover { + background: darken(@navy, 5%); + } + .img-small { + height: 88px; + width: 88px; + } + .pricing-plan { + margin: 20px 30px 0 30px; + border-radius: 4px; + } + .pricing-plan.selected { + transform: scale(1.1); + background: #f4f4f4 ; + } + .pricing-plan li { + padding: 10px 16px; + border-top: 1px solid @border-color; + text-align: center; + color: #aeaeae; + } + .pricing-plan .pricing-price span { + font-weight: 700; + color: @navy; + } + li.pricing-desc { + font-size: 13px; + border-top: none; + padding: 20px 16px ; + } + li.pricing-title { + background: @navy; + color: #fff; + padding: 10px; + border-radius: 4px 4px 0 0; + font-size: 22px; + font-weight: 600; + } + .testimonials { + padding-top: 80px; + padding-bottom: 90px; + background-color: @navy; + background-image: url('../img/landing/avatar_all.png'); + } + .big-icon { + font-size: 56px !important; + } + .features .big-icon { + color: @navy !important; + } + .contact { + background-image: url('../img/landing/word_map.png'); + background-position: 50% 50%; + background-repeat: no-repeat; + margin-top: 60px; + } + + section.timeline { + padding-bottom: 30px; + } + section.comments { + padding-bottom: 80px; + } + + .comments-avatar { + margin-top: 25px; + margin-left: 22px; + } + + .comments-avatar .commens-name { + font-weight: 600; + font-size: 14px; + } + + .comments-avatar img { + width: 42px; + height: 42px; + border-radius: 50%; + margin-right: 10px; + } + + .bubble { + position: relative; + height: 120px; + padding: 20px; + background: #FFFFFF; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; + font-style: italic; + font-size: 14px; + } + + .bubble:after { + content: ''; + position: absolute; + border-style: solid; + border-width: 15px 14px 0; + border-color: #FFFFFF transparent; + display: block; + width: 0; + z-index: 1; + bottom: -15px; + left: 30px; + } + + /* Buttons - only primary custom button + ------------------------- */ + .btn-primary.btn-outline:hover, + .btn-success.btn-outline:hover, + .btn-info.btn-outline:hover, + .btn-warning.btn-outline:hover, + .btn-danger.btn-outline:hover { + color: #fff; + } + .btn-primary { + background-color: @navy; + border-color: @navy; + color: #FFFFFF; + font-size: 14px; + padding: 10px 20px; + font-weight: 600; + } + .btn-primary:hover, + .btn-primary:focus, + .btn-primary:active, + .btn-primary.active, + .open .dropdown-toggle.btn-primary { + background-color: darken(@navy, 5%); + border-color: darken(@navy, 5%); + color: #FFFFFF; + } + .btn-primary:active, + .btn-primary.active, + .open .dropdown-toggle.btn-primary { + background-image: none; + } + .btn-primary.disabled, + .btn-primary.disabled:hover, + .btn-primary.disabled:focus, + .btn-primary.disabled:active, + .btn-primary.disabled.active, + .btn-primary[disabled], + .btn-primary[disabled]:hover, + .btn-primary[disabled]:focus, + .btn-primary[disabled]:active, + .btn-primary.active[disabled], + fieldset[disabled] .btn-primary, + fieldset[disabled] .btn-primary:hover, + fieldset[disabled] .btn-primary:focus, + fieldset[disabled] .btn-primary:active, + fieldset[disabled] .btn-primary.active { + background-color: #1dc5a3; + border-color: #1dc5a3; + } + /* RESPONSIVE CSS + -------------------------------------------------- */ + @media (min-width: 768px) { + /* Navbar positioning foo */ + .navbar-wrapper { + margin-top: 20px; + } + .navbar-wrapper .container { + padding-right: 15px; + padding-left: 15px; + } + .navbar-wrapper .navbar { + padding-right: 0; + padding-left: 0; + } + /* The navbar becomes detached from the top, so we round the corners */ + .navbar-wrapper .navbar { + border-radius: 4px; + } + /* Bump up size of carousel content */ + .carousel-caption p { + margin-bottom: 20px; + font-size: 14px; + line-height: 1.4; + } + .featurette-heading { + font-size: 50px; + } + } + @media (max-width: 992px) { + .carousel-image { + display: none; + } + } + @media (max-width: 768px) { + .carousel-caption, + .carousel-caption.blank { + left: 5%; + top: 80px; + } + .carousel-caption h1 { + font-size: 28px; + } + .navbar.navbar-scroll .navbar-brand { + margin-top: 6px; + } + .navbar-default { + background-color: #fff; + border-color: #fff; + padding: 15px 0; + } + .navbar-default .navbar-nav > .active > a:focus { + background: transparent; + color: inherit; + } + .navbar-default .nav li a { + color: @text-color; + } + .navbar-default .nav li a:hover { + color: @navy; + } + .navbar-wrapper .navbar { + padding-top: 0; + padding-bottom: 5px; + border-bottom: 1px solid @border-color; + border-radius: 0; + } + .nav > li > a { + padding: 25px 10px 15px 10px; + } + .navbar-nav > li > a { + padding: 20px 10px; + } + .navbar .navbar-brand { + margin-top: 6px; + border-radius: 5px; + font-size: 12px; + padding: 10px; + height: auto; + } + .navbar-wrapper .navbar { + padding-left: 15px; + padding-right: 5px; + } + .navbar-default .navbar-nav > .active > a, + .navbar-default .navbar-nav > .active > a:hover { + color: inherit; + } + .carousel-control { + display: none; + } + } + @media (min-width: 992px) { + .featurette-heading { + margin-top: 120px; + } + } + + @media (max-width: 768px) { + .navbar .navbar-header { + display: block; + float: none; + } + .navbar .navbar-header .navbar-toggle { + background-color: #ffffff; + padding: 9px 10px; + border: none; + } + } + + +} diff --git a/src/app/less/md-skin.less b/src/app/less/md-skin.less new file mode 100755 index 0000000..da6751d --- /dev/null +++ b/src/app/less/md-skin.less @@ -0,0 +1,388 @@ +@import url("https://fonts.googleapis.com/css?family=Roboto:400,300,500,700"); + +@md-color-primary: #1AB394; +@md-shadow-main: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12); + +body.md-skin { + font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; + background-color: #ffffff; +} + +.md-skin { + + .nav-header { + background: url("patterns/4.png") no-repeat; + + } + + .label, .badge { + font-family: 'Roboto'; + } + + .font-bold { + font-weight: 500; + } + + .wrapper-content { + padding: 30px 20px 40px; + } + + @media (max-width: 768px) { + .wrapper-content { + padding: 30px 0 40px; + } + } + + .page-heading { + border-bottom: none !important; + border-top: 0; + padding: 0 10px 20px 10px; + box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.34), 0 0px 6px 0px rgba(0, 0, 0, 0.14); + } + + .full-height-layout .page-heading { + border-bottom: 1px solid @border-color !important; + } + + .ibox { + clear: both; + margin-bottom: 25px; + margin-top: 0; + padding: 0; + box-shadow: @md-shadow-main; + } + + .ibox.border-bottom { + border-bottom: none !important; + } + + .ibox-title, .ibox-content { + border-style: none; + } + + .ibox-title h5 { + font-size: 16px; + font-weight: 400; + } + + a.close-canvas-menu { + color: #ffffff; + } + + .welcome-message { + color: #ffffff; + font-weight: 300; + } + + #top-search::-moz-placeholder { + color: #ffffff; + } + + #top-search::-webkit-input-placeholder { + color: #ffffff; + } + + #nestable-output, + #nestable2-output { + font-family: 'Roboto', lucida grande, lucida sans unicode, helvetica, arial, sans-serif; + } + + .landing-page { + font-family: 'Roboto', helvetica, arial, sans-serif; + } + + .landing-page.navbar-default.navbar-scroll { + background-color: #fff !important; + } + .landing-page.navbar-default { + background-color: transparent !important; + box-shadow: none; + } + .landing-page.navbar-default .nav li a { + font-family: 'Roboto', helvetica, arial, sans-serif; + } + + .nav > li > a { + color: @text-color; + padding: 14px 20px 14px 25px; + } + + .nav.navbar-right > li > a { + color: #ffffff; + } + + .nav > li.active > a { + color: darken(@text-color, 5%); + font-weight: 700; + } + + .navbar-default .nav > li > a:hover, .navbar-default .nav > li > a:focus { + font-weight: 700; + color: darken(@text-color, 5%); + } + + .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { + background: @navy; + } + + .navbar-top-links li { + display: inline-table; + } + + .navbar-top-links .dropdown-menu li { + display: block; + } + + .pace-done .nav-header { + transition: all 0.4s; + } + + .nav > li.active { + background: lighten(@gray, 2%); + } + + .nav-second-level li a { + padding: 7px 10px 7px 52px; + } + + .navbar-top-links li a { + padding: 20px 10px; + min-height: 50px; + } + + .nav > li > a { + font-weight: 400; + } + + .navbar-static-side .nav > li > a:focus, .navbar-static-side .nav > li > a:hover { + background-color: inherit; + } + + .navbar-top-links .dropdown-menu li a { + padding: 3px 20px; + min-height: inherit; + } + + .nav-header a { + color: #ffffff; + } + + .nav-header .text-muted { + color: #ffffff; + } + + .navbar-form-custom .form-control { + font-weight: 300; + } + + .mini-navbar .nav-second-level { + background-color: inherit; + } + + .mini-navbar li.active .nav-second-level { + left: 65px + } + + .canvas-menu.mini-navbar .nav-second-level { + background: inherit; + } + + .pace-done .navbar-static-side, .pace-done .nav-header, .pace-done li.active, .pace-done #page-wrapper, .pace-done .footer { + -webkit-transition: all 0.4s; + -moz-transition: all 0.4s; + -o-transition: all 0.4s; + transition: all 0.4s; + } + + .navbar-fixed-top { + background: #fff; + transition-duration: 0.4s; + z-index: 2030; + border-bottom: none !important; + } + + .navbar-fixed-top, .navbar-static-top { + background-color: @md-color-primary !important; + box-shadow: @md-shadow-main; + } + + .navbar-static-side { + box-shadow: @md-shadow-main; + } + + // Right sidebar + + #right-sidebar { + box-shadow: @md-shadow-main; + border: none; + z-index: 900; + } + + .white-bg .navbar-fixed-top, .white-bg .navbar-static-top { + background: #fff !important; + } + + .contact-box { + box-shadow: @md-shadow-main; + border: none; + } + + .dashboard-header { + border-bottom: none !important; + border-top: 0; + padding: 20px 20px 20px 20px; + margin: 30px 20px 0 20px; + box-shadow: @md-shadow-main; + } + + @media (max-width: 768px) { + .dashboard-header { + margin: 20px 0 0 0; + } + } + + ul.notes li div { + + box-shadow: @md-shadow-main; + } + + .file { + border: none; + box-shadow: @md-shadow-main; + } + + .mail-box { + background-color: #ffffff; + box-shadow: @md-shadow-main; + padding: 0; + margin-bottom: 20px; + border: none; + } + + .mail-box-header { + border: none; + background-color: #ffffff; + box-shadow: @md-shadow-main; + padding: 30px 20px 20px 20px; + } + + .mailbox-content { + border: none; + padding: 20px; + background: #ffffff; + } + + .social-feed-box { + border: none; + background: #fff; + margin-bottom: 15px; + box-shadow: @md-shadow-main; + } + + &.landing-page .navbar-default { + background-color: transparent !important; + border-color: transparent; + transition: all 0.3s ease-in-out 0s; + box-shadow: none; + } + + &.landing-page .navbar-default.navbar-scroll, + &.landing-page.body-small .navbar-default, + { + background-color: #ffffff !important; + } + + &.landing-page .nav > li.active { + background: inherit; + } + + &.landing-page .navbar-scroll .navbar-nav > li > a { + padding: 20px 10px; + } + + &.landing-page .navbar-default .nav li a { + font-family: 'Roboto', helvetica, arial, sans-serif; + } + + &.landing-page .nav > li > a { + padding: 25px 10px 15px 10px; + } + + &.landing-page .navbar-default .navbar-nav > li > a:hover, + &.landing-page .navbar-default .navbar-nav > li > a:focus { + background: inherit; + color: @navy; + } + + &.landing-page.body-small .nav.navbar-right > li > a { + color: @text-color; + } + + .landing_link a, .special_link a { + color: #ffffff !important; + } + + &.canvas-menu.mini-navbar .nav-second-level { + background: lighten(@gray, 2%); + } + + &.mini-navbar .nav-second-level { + background-color: #ffffff; + box-shadow: @md-shadow-main; + } + + &.mini-navbar .nav-second-level li a { + padding-left: 0px; + } + + &.top-navigation .nav.navbar-right > li > a { + padding: 15px 20px; + color: @text-color; + } + + &.top-navigation .nav > li a:hover, .top-navigation .nav > li a:focus, + &.top-navigation .nav .open > a, + &.top-navigation .nav .open > a:hover, + &.top-navigation .nav .open > a:focus { + color: @navy; + background: #ffffff; + } + + &.top-navigation .nav > li.active a { + color: @navy; + background: #ffffff; + } + + &.fixed-nav #wrapper.top-navigation #page-wrapper { + margin-top: 0; + } + + &.fixed-sidebar.mini-navbar .navbar-static-side { + width: 0; + } + + &.fixed-sidebar.mini-navbar #page-wrapper { + margin: 0 0 0 0; + } + + &.body-small.fixed-sidebar.mini-navbar #page-wrapper { + margin: 0 0 0 0; + } + + &.body-small.fixed-sidebar.mini-navbar .navbar-static-side { + width: @sidebar-width; + background-color: #ffffff; + } + + &.canvas-menu nav.navbar-static-side { + z-index: 2001; + background: #ffffff; + height: 100%; + position: fixed; + display: none; + } + +} + + + diff --git a/src/app/less/media.less b/src/app/less/media.less new file mode 100755 index 0000000..5c27f41 --- /dev/null +++ b/src/app/less/media.less @@ -0,0 +1,122 @@ +@media (min-width: 768px) { + #page-wrapper { + position: inherit; + margin: 0 0 0 @sidebar-width; + min-height: 1200px; + } + + .navbar-static-side { + z-index: 2001; + position: absolute; + width: @sidebar-width; + } + + .navbar-top-links .dropdown-messages, + .navbar-top-links .dropdown-tasks, + .navbar-top-links .dropdown-alerts { + margin-left: auto; + } +} + +@media (max-width: 768px) { + + #page-wrapper { + position: inherit; + margin: 0 0 0 0px; + min-height: 1000px; + } + + .body-small .navbar-static-side { + display: none; + z-index: 2001; + position: absolute; + width: 70px; + } + + .body-small.mini-navbar .navbar-static-side { + display: block; + } + + .lock-word { + display: none; + } + + .navbar-form-custom { + display: none; + } + + .navbar-header { + display: inline; + float: left; + } + + .sidebard-panel { + z-index: 2; + position: relative; + width: auto; + min-height: 100% !important; + } + + .sidebar-content .wrapper { + padding-right: 0px; + z-index: 1; + } + + .fixed-sidebar.body-small .navbar-static-side { + display: none; + z-index: 2001; + position: fixed; + width: @sidebar-width; + } + + .fixed-sidebar.body-small.mini-navbar .navbar-static-side { + display: block; + } + + .ibox-tools { + float: none; + text-align: right; + display: block; + } + +} + +@media (max-width: 350px) { + + .timeline-item .date { + text-align: left; + width: 110px; + position: relative; + padding-top: 30px; + } + + .timeline-item .date i { + position: absolute; + top: 0; + left: 15px; + padding: 5px; + width: 30px; + text-align: center; + border: 1px solid @border-color; + background: #f8f8f8; + } + + .timeline-item .content { + border-left: none; + border-top: 1px solid @border-color; + padding-top: 10px; + min-height: 100px; + } + + .nav.navbar-top-links li.dropdown { + display: none; + } + + .ibox-tools { + float: none; + text-align: left; + display: inline-block; + } + +} + diff --git a/src/app/less/metismenu.less b/src/app/less/metismenu.less new file mode 100755 index 0000000..0c27f5d --- /dev/null +++ b/src/app/less/metismenu.less @@ -0,0 +1,81 @@ +/* + * metismenu - v2.0.2 + * A jQuery menu plugin + * https://github.com/onokumus/metisMenu + * + * Made by Osman Nuri Okumus + * Under MIT License + */ + +.metismenu .plus-minus, .metismenu .plus-times { + float: right +} + +.metismenu .arrow { + float: right; + line-height: 1.42857 +} + +.metismenu .glyphicon.arrow:before { + content: "\e079" +} + +.metismenu .active > a > .glyphicon.arrow:before { + content: "\e114" +} + +.metismenu .fa.arrow:before { + content: "\f104" +} + +.metismenu .active > a > .fa.arrow:before { + content: "\f107" +} + +.metismenu .ion.arrow:before { + content: "\f3d2" +} + +.metismenu .active > a > .ion.arrow:before { + content: "\f3d0" +} + +.metismenu .fa.plus-minus:before, .metismenu .fa.plus-times:before { + content: "\f067" +} + +.metismenu .active > a > .fa.plus-times { + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg) +} + +.metismenu .active > a > .fa.plus-minus:before { + content: "\f068" +} + +.metismenu .collapse { + display: none +} + +.metismenu .collapse.in { + display: block +} + +.metismenu .collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; + -webkit-transition-duration: .35s; + transition-duration: .35s; + -webkit-transition-property: height, visibility; + transition-property: height, visibility +} + + + + + + diff --git a/src/app/less/mixins.less b/src/app/less/mixins.less new file mode 100755 index 0000000..e0ee517 --- /dev/null +++ b/src/app/less/mixins.less @@ -0,0 +1,15 @@ +.border-radius (@radius: 3px) { + -webkit-border-radius: @radius; + -moz-border-radius: @radius; + border-radius: @radius; + + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} + +.opacity (@opacity: 0.5) { + -webkit-opacity: @opacity; + -moz-opacity: @opacity; + opacity: @opacity; +} \ No newline at end of file diff --git a/src/app/less/navigation.less b/src/app/less/navigation.less new file mode 100755 index 0000000..3e4e56f --- /dev/null +++ b/src/app/less/navigation.less @@ -0,0 +1,506 @@ +.nav > li > a { + color: @nav-text-color; + font-weight: 600; + padding: 14px 20px 14px 25px; +} + +.nav.navbar-right > li > a { + color: #999c9e; +} + +.nav > li.active > a { + color: #ffffff; +} + +.navbar-default .nav > li > a:hover, .navbar-default .nav > li > a:focus { + background-color: darken(@nav-bg, 3%); + color: white; +} + +.nav .open > a, .nav .open > a:hover, .nav .open > a:focus { + background: #fff; +} + +.nav.navbar-top-links > li > a:hover, .nav.navbar-top-links > li > a:focus { + background-color: transparent; +} + +.nav > li > a i { + margin-right: 6px; +} + +.navbar { + border: 0; +} + +.navbar-default { + background-color: transparent; + border-color: @nav-bg; +} + +.navbar-top-links li { + display: inline-block; +} + +.navbar-top-links li:last-child { + margin-right: 40px; +} + +.body-small .navbar-top-links li:last-child { + margin-right: 0; +} + +.navbar-top-links li a { + padding: 20px 10px; + min-height: 50px; +} + +.dropdown-menu { + border: medium none; + border-radius: 3px; + box-shadow: 0 0 3px rgba(86, 96, 117, 0.7); + display: none; + float: left; + font-size: 12px; + left: 0; + list-style: none outside none; + padding: 0; + position: absolute; + text-shadow: none; + top: 100%; + z-index: 1000; +} + +.dropdown-menu > li > a { + border-radius: 3px; + color: inherit; + line-height: 25px; + margin: 4px; + text-align: left; + font-weight: normal; +} + +.dropdown-menu > li > a.font-bold { + font-weight: 600; +} + +.navbar-top-links .dropdown-menu li { + display: block; +} + +.navbar-top-links .dropdown-menu li:last-child { + margin-right: 0; +} + +.navbar-top-links .dropdown-menu li a { + padding: 3px 20px; + min-height: 0; +} + +.navbar-top-links .dropdown-menu li a div { + white-space: normal; +} + +.navbar-top-links .dropdown-messages, +.navbar-top-links .dropdown-tasks, +.navbar-top-links .dropdown-alerts { + width: 310px; + min-width: 0; +} + +.navbar-top-links .dropdown-messages { + margin-left: 5px; +} + +.navbar-top-links .dropdown-tasks { + margin-left: -59px; +} + +.navbar-top-links .dropdown-alerts { + margin-left: -123px; +} + +.navbar-top-links .dropdown-user { + right: 0; + left: auto; +} + +.dropdown-messages, .dropdown-alerts { + padding: 10px 10px 10px 10px; +} + +.dropdown-messages li a, .dropdown-alerts li a { + font-size: 12px; +} + +.dropdown-messages li em, .dropdown-alerts li em { + font-size: 10px; +} + +.nav.navbar-top-links .dropdown-alerts a { + font-size: 12px; +} + +.nav-header { + padding: 33px 25px; + background: @nav-profil-pattern; + +} + +.pace-done .nav-header { + transition:all 0.5s; +} + +.nav > li.active { + border-left: 4px solid darken(@navy, 2%); + background: darken(@nav-bg, 3%); +} + + +.nav.nav-second-level > li.active { + border: none; +} + +.nav.nav-second-level.collapse[style] { + height: auto !important; +} + +.nav-header a { + color: #DFE4ED; +} + +.nav-header .text-muted { + color: #8095a8; +} + +.minimalize-styl-2 { + padding: 4px 12px; + margin: 14px 5px 5px 20px; + font-size: 14px; + float: left; +} + +.navbar-form-custom { + float: left; + height: 50px; + padding: 0; + width: 200px; + display: inline-table; +} + +.navbar-form-custom .form-group { + margin-bottom: 0; +} + +.nav.navbar-top-links a { + font-size: 14px; +} + +.navbar-form-custom .form-control { + background: none repeat scroll 0 0 rgba(0, 0, 0, 0); + border: medium none; + font-size: 14px; + height: 60px; + margin: 0; + z-index: 2000; +} + +.count-info .label { + line-height: 12px; + padding: 2px 5px; + position: absolute; + right: 6px; + top: 12px; +} + +.arrow { + float: right; +} + +.fa.arrow:before { + content: "\f104"; +} + +.active > a > .fa.arrow:before { + content: "\f107"; +} + +.nav-second-level li, +.nav-third-level li { + border-bottom: none !important; +} + +.nav-second-level li a { + padding: 7px 10px 7px 10px; + padding-left: 52px; +} + +.nav-third-level li a { + padding-left: 62px; +} + +.nav-second-level li:last-child { + margin-bottom: 10px; +} + +body:not(.fixed-sidebar):not(.canvas-menu).mini-navbar .nav li:hover > .nav-second-level, +.mini-navbar .nav li:focus > .nav-second-level { + display: block; + border-radius: 0 2px 2px 0; + min-width: 140px; + height: auto; +} + +body.mini-navbar .navbar-default .nav > li > .nav-second-level li a { + font-size: 12px; + border-radius: 3px; +} + +.fixed-nav .slimScrollDiv #side-menu { + padding-bottom: 60px; +} + +.mini-navbar .nav-second-level li a { + padding: 10px 10px 10px 15px; +} + +.mini-navbar .nav-second-level { + position: absolute; + left: 70px; + top: 0px; + background-color: @nav-bg; + padding: 10px 10px 10px 10px; + font-size: 12px; +} + +.canvas-menu.mini-navbar .nav-second-level { + background: darken(@nav-bg, 3%); +} + +.mini-navbar li.active .nav-second-level { + left: 65px +} + +.navbar-default .special_link a { + background: @navy; + color: white; +} +.navbar-default .special_link a:hover { + background: #17987e !important; + color: white; +} +.navbar-default .special_link a span.label{ + background: #fff; + color: @navy; +} + +.navbar-default .landing_link a { + background: lighten(@navy, 3%); + color: white; +} +.navbar-default .landing_link a:hover { + background: @navy !important; + color: white; +} +.navbar-default .landing_link a span.label{ + background: #fff; + color: lighten(@navy, 3%); +} + +.logo-element { + text-align: center; + font-size: 18px; + font-weight: 600; + color: white; + display: none; + padding: 18px 0; +} + +.pace-done .navbar-static-side, .pace-done .nav-header, .pace-done li.active, .pace-done #page-wrapper, .pace-done .footer { + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -o-transition: all 0.5s; + transition: all 0.5s; +} + +.navbar-fixed-top { + background: #fff; + transition-duration: 0.5s; + border-bottom: 1px solid #e7eaec !important; + z-index: 2030; +} + +.navbar-fixed-top, .navbar-static-top { + background: @gray; +} + +.fixed-nav #wrapper { + margin-top: 0; +} + +body.fixed-nav #wrapper .navbar-static-side, +body.fixed-nav #wrapper #page-wrapper +{ + margin-top: 60px; +} + +body.top-navigation.fixed-nav #wrapper #page-wrapper { + margin-top: 0; +} + +.fixed-nav .minimalize-styl-2 { + margin: 14px 5px 5px 15px; +} + +.body-small .navbar-fixed-top { + margin-left: 0px; +} + +body.mini-navbar .navbar-static-side { + width: 70px; +} + +body.mini-navbar .profile-element, body.mini-navbar .nav-label, body.mini-navbar .navbar-default .nav li a span { + display: none; +} + +body.canvas-menu .profile-element { + display: block; +} + +body:not(.fixed-sidebar):not(.canvas-menu).mini-navbar .nav-second-level { + display: none; +} + +body.mini-navbar .navbar-default .nav > li > a { + font-size: 16px; +} + +body.mini-navbar .logo-element { + display: block; +} + +body.canvas-menu .logo-element { + display: none; +} + +body.mini-navbar .nav-header { + padding: 0; + background-color: @navy; +} + +body.canvas-menu .nav-header { + padding: 33px 25px; +} + +body.mini-navbar #page-wrapper { + margin: 0 0 0 70px; +} + +body.fixed-sidebar.mini-navbar .footer, +body.canvas-menu.mini-navbar .footer{ + margin: 0 0 0 0 !important; +} + +body.canvas-menu.mini-navbar #page-wrapper, +body.canvas-menu.mini-navbar .footer { + margin: 0 0 0 0; +} + +body.fixed-sidebar .navbar-static-side, +body.canvas-menu .navbar-static-side { + position: fixed; + width: @sidebar-width; + z-index: 2001; + height: 100%; +} + +body.fixed-sidebar.mini-navbar .navbar-static-side { + width: 0px; +} + +body.fixed-sidebar.mini-navbar #page-wrapper { + margin: 0 0 0 0px; +} + +body.body-small.fixed-sidebar.mini-navbar #page-wrapper { + margin: 0 0 0 @sidebar-width; +} + +body.body-small.fixed-sidebar.mini-navbar .navbar-static-side { + width: @sidebar-width; +} + +.fixed-sidebar.mini-navbar .nav li:focus > .nav-second-level, +.canvas-menu.mini-navbar .nav li:focus > .nav-second-level { + display: block; + height: auto; +} + +body.fixed-sidebar.mini-navbar .navbar-default .nav > li > .nav-second-level li a { + font-size: 12px; + border-radius: 3px; +} + +body.canvas-menu.mini-navbar .navbar-default .nav > li > .nav-second-level li a { + font-size: 13px; + border-radius: 3px; +} + +.fixed-sidebar.mini-navbar .nav-second-level li a, +.canvas-menu.mini-navbar .nav-second-level li a { + padding: 10px 10px 10px 15px; +} + +.fixed-sidebar.mini-navbar .nav-second-level, +.canvas-menu.mini-navbar .nav-second-level { + position: relative; + padding: 0; + font-size: 13px; +} + +.fixed-sidebar.mini-navbar li.active .nav-second-level, +.canvas-menu.mini-navbar li.active .nav-second-level { + left: 0px +} + +body.fixed-sidebar.mini-navbar .navbar-default .nav > li > a, +body.canvas-menu.mini-navbar .navbar-default .nav > li > a { + font-size: 13px; +} + +body.fixed-sidebar.mini-navbar .nav-label, +body.fixed-sidebar.mini-navbar .navbar-default .nav li a span, +body.canvas-menu.mini-navbar .nav-label, +body.canvas-menu.mini-navbar .navbar-default .nav li a span { + display: inline; +} + +body.canvas-menu.mini-navbar .navbar-default .nav li .profile-element a span { + display: block; +} + +.canvas-menu.mini-navbar .nav-second-level li a, +.fixed-sidebar.mini-navbar .nav-second-level li a { + padding: 7px 10px 7px 52px +} + +.fixed-sidebar.mini-navbar .nav-second-level, +.canvas-menu.mini-navbar .nav-second-level { + left: 0px +} + + +body.canvas-menu nav.navbar-static-side { + z-index: 2001; + background: #2f4050; + height: 100%; + position: fixed; + display: none; +} + + +body.canvas-menu.mini-navbar nav.navbar-static-side { + display: block; + width: 220px; +} diff --git a/src/app/less/pages.less b/src/app/less/pages.less new file mode 100755 index 0000000..057dc4b --- /dev/null +++ b/src/app/less/pages.less @@ -0,0 +1,1321 @@ +/* SEARCH PAGE */ + +.search-form { + margin-top: 10px; +} + +.search-result h3 { + margin-bottom: 0; + color: #1E0FBE; +} + +.search-result .search-link { + color: #006621; +} + +.search-result p { + font-size: 12px; + margin-top: 5px; +} + +/* CONTACTS */ + +.contact-box { + background-color: #ffffff; + border: 1px solid @border-color; + padding: 20px; + margin-bottom: 20px; +} + +.contact-box > a { + color: inherit; +} + +.contact-box.center-version { + + border: 1px solid @border-color; + padding: 0; +} + +.contact-box.center-version > a { + display: block; + background-color: #ffffff; + padding: 20px; + text-align: center; +} + +.contact-box.center-version > a img { + width: 80px; + height: 80px; + margin-top: 10px; + margin-bottom: 10px; +} + +.contact-box.center-version address { + margin-bottom: 0; +} + +.contact-box .contact-box-footer { + text-align: center; + background-color: #ffffff; + border-top: 1px solid @border-color; + padding: 15px 20px; +} + +/* INVOICE */ + +.invoice-table tbody > tr > td:last-child, .invoice-table tbody > tr > td:nth-child(4), .invoice-table tbody > tr > td:nth-child(3), .invoice-table tbody > tr > td:nth-child(2) { + text-align: right; +} + +.invoice-table thead > tr > th:last-child, .invoice-table thead > tr > th:nth-child(4), .invoice-table thead > tr > th:nth-child(3), .invoice-table thead > tr > th:nth-child(2) { + text-align: right; +} + +.invoice-total > tbody > tr > td:first-child { + text-align: right; +} + +.invoice-total > tbody > tr > td { + border: 0 none; +} + +.invoice-total > tbody > tr > td:last-child { + border-bottom: 1px solid #DDDDDD; + text-align: right; + width: 15%; +} + +/* ERROR & LOGIN & LOCKSCREEN*/ + +.middle-box { + max-width: 400px; + z-index: 100; + margin: 0 auto; + padding-top: 40px; +} + +.lockscreen.middle-box { + width: 200px; + padding-top: 110px; +} + +.loginscreen.middle-box { + width: 300px; +} + +.loginColumns { + max-width: 800px; + margin: 0 auto; + padding: 100px 20px 20px 20px; +} + +.passwordBox { + max-width: 460px; + margin: 0 auto; + padding: 100px 20px 20px 20px; +} + +.logo-name { + color: #e6e6e6; + font-size: 180px; + font-weight: 800; + letter-spacing: -10px; + margin-bottom: 0px; +} + +.middle-box h1 { + font-size: 170px; +} + +.wrapper .middle-box { + margin-top: 140px; +} + +.lock-word { + z-index: 10; + position: absolute; + top: 110px; + left: 50%; + margin-left: -470px; +} + +.lock-word span { + font-size: 100px; + font-weight: 600; + color: #e9e9e9; + display: inline-block; +} + +.lock-word .first-word { + margin-right: 160px; +} + +/* DASBOARD */ + +.dashboard-header { + border-top: 0; + padding: 20px 20px 20px 20px; +} + +.dashboard-header h2 { + margin-top: 10px; + font-size: 26px; +} + +.fist-item { + border-top: none !important; +} + +.statistic-box { + margin-top: 40px; + +} + +.dashboard-header .list-group-item span.label { + margin-right: 10px; +} + +.list-group.clear-list .list-group-item { + border-top: 1px solid @border-color; + border-bottom: 0; + border-right: 0; + border-left: 0; + padding: 10px 0; +} + +ul.clear-list:first-child { + border-top: none !important; +} + +/* Intimeline */ + +.timeline-item .date i { + position: absolute; + top: 0; + right: 0; + padding: 5px; + width: 30px; + text-align: center; + border-top: 1px solid @border-color; + border-bottom: 1px solid @border-color; + border-left: 1px solid @border-color; + background: #f8f8f8; +} + +.timeline-item .date { + text-align: right; + width: 110px; + position: relative; + padding-top: 30px; +} + +.timeline-item .content { + border-left: 1px solid @border-color; + border-top: 1px solid @border-color; + padding-top: 10px; + min-height: 100px; +} + +.timeline-item .content:hover { + background: #f6f6f6; +} + +/* PIN BOARD */ +ul.notes li, ul.tag-list li { + list-style: none; +} + +ul.notes li h4 { + margin-top: 20px; + font-size: 16px; +} + +ul.notes li div { + text-decoration: none; + color: #000; + background: #ffc; + display: block; + height: 140px; + width: 140px; + padding: 1em; + position: relative; +} + +ul.notes li div small { + position: absolute; + top: 5px; + right: 5px; + font-size: 10px +} + +ul.notes li div a { + position: absolute; + right: 10px; + bottom: 10px; + color: inherit; +} + +ul.notes li { + margin: 10px 40px 50px 0px; + float: left; +} + +ul.notes li div p { + font-size: 12px; +} + +ul.notes li div { + text-decoration: none; + color: #000; + background: #ffc; + display: block; + height: 140px; + width: 140px; + padding: 1em; + /* Firefox */ + -moz-box-shadow: 5px 5px 2px rgba(33, 33, 33, 1); + /* Safari+Chrome */ + -webkit-box-shadow: 5px 5px 2px rgba(33, 33, 33, .7); + /* Opera */ + box-shadow: 5px 5px 2px rgba(33, 33, 33, .7); +} + +ul.notes li div { + -webkit-transform: rotate(-6deg); + -o-transform: rotate(-6deg); + -moz-transform: rotate(-6deg); +} + +ul.notes li:nth-child(even) div { + -o-transform: rotate(4deg); + -webkit-transform: rotate(4deg); + -moz-transform: rotate(4deg); + position: relative; + top: 5px; +} + +ul.notes li:nth-child(3n) div { + -o-transform: rotate(-3deg); + -webkit-transform: rotate(-3deg); + -moz-transform: rotate(-3deg); + position: relative; + top: -5px; +} + +ul.notes li:nth-child(5n) div { + -o-transform: rotate(5deg); + -webkit-transform: rotate(5deg); + -moz-transform: rotate(5deg); + position: relative; + top: -10px; +} + +ul.notes li div:hover, ul.notes li div:focus { + + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + position: relative; + z-index: 5; +} + +ul.notes li div { + text-decoration: none; + color: #000; + background: #ffc; + display: block; + height: 210px; + width: 210px; + padding: 1em; + -moz-box-shadow: 5px 5px 7px rgba(33, 33, 33, 1); + -webkit-box-shadow: 5px 5px 7px rgba(33, 33, 33, .7); + box-shadow: 5px 5px 7px rgba(33, 33, 33, .7); + -moz-transition: -moz-transform .15s linear; + -o-transition: -o-transform .15s linear; + -webkit-transition: -webkit-transform .15s linear; +} + +/* FILE MANAGER */ + +.file-box { + float: left; + width: 220px; +} + +.file-manager h5 { + text-transform: uppercase; +} + +.file-manager { + list-style: none outside none; + margin: 0; + padding: 0; +} + +.folder-list li a { + color: #666666; + display: block; + padding: 5px 0; +} + +.folder-list li { + border-bottom: 1px solid @border-color; + display: block; +} + +.folder-list li i { + margin-right: 8px; + color: #3d4d5d; +} + +.category-list li a { + color: #666666; + display: block; + padding: 5px 0; +} + +.category-list li { + display: block; +} + +.category-list li i { + margin-right: 8px; + color: #3d4d5d; +} + +.category-list li a .text-navy { + color: @navy; +} + +.category-list li a .text-primary { + color: @blue; +} + +.category-list li a .text-info { + color: @lazur; +} + +.category-list li a .text-danger { + color: #EF5352; +} + +.category-list li a .text-warning { + color: #F8AC59; +} + +.file-manager h5.tag-title { + margin-top: 20px; +} + +.tag-list li { + float: left; +} + +.tag-list li a { + font-size: 10px; + background-color: @gray; + padding: 5px 12px; + color: inherit; + border-radius: 2px; + border: 1px solid @border-color; + margin-right: 5px; + margin-top: 5px; + display: block; +} + +.file { + border: 1px solid @border-color; + padding: 0; + background-color: #ffffff; + position: relative; + margin-bottom: 20px; + margin-right: 20px; +} + +.file-manager .hr-line-dashed { + margin: 15px 0; +} + +.file .icon, .file .image { + height: 100px; + overflow: hidden; +} + +.file .icon { + padding: 15px 10px; + text-align: center; +} + +.file-control { + color: inherit; + font-size: 11px; + margin-right: 10px; +} + +.file-control.active { + text-decoration: underline; +} + +.file .icon i { + font-size: 70px; + color: #dadada; +} + +.file .file-name { + padding: 10px; + background-color: #f8f8f8; + border-top: 1px solid @border-color; +} + +.file-name small { + color: @text-color; +} + +.corner { + position: absolute; + display: inline-block; + width: 0; + height: 0; + line-height: 0; + border: 0.6em solid transparent; + border-right: 0.6em solid #f1f1f1; + border-bottom: 0.6em solid #f1f1f1; + right: 0em; + bottom: 0em +} + +a.compose-mail { + padding: 8px 10px; +} + +.mail-search { + max-width: 300px; +} + +/* PROFILE */ + +.profile-content { + border-top: none !important; +} + +.profile-stats { + margin-right: 10px; +} + +.profile-image { + width: 120px; + float: left; +} + +.profile-image img { + width: 96px; + height: 96px; +} + +.profile-info { + margin-left: 120px; +} + +.feed-activity-list .feed-element { + border-bottom: 1px solid @border-color; +} + +.feed-element:first-child { + margin-top: 0; +} + +.feed-element { + padding-bottom: 15px; +} + +.feed-element, .feed-element .media { + margin-top: 15px; +} + +.feed-element, .media-body { + overflow: hidden; +} + +.feed-element > .pull-left { + margin-right: 10px; +} + +.feed-element img.img-circle, .dropdown-messages-box img.img-circle { + width: 38px; + height: 38px; +} + +.feed-element .well { + border: 1px solid @border-color; + box-shadow: none; + margin-top: 10px; + margin-bottom: 5px; + padding: 10px 20px; + font-size: 11px; + line-height: 16px; +} + +.feed-element .actions { + margin-top: 10px; +} + +.feed-element .photos { + margin: 10px 0; + +} + +.feed-photo { + max-height: 180px; + border-radius: 4px; + overflow: hidden; + margin-right: 10px; + margin-bottom: 10px; +} + + +.file-list li { + padding: 5px 10px; + font-size: 11px; + border-radius: 2px; + border: 1px solid @border-color; + margin-bottom: 5px; + +} + +.file-list li a { + color: inherit; +} + +.file-list li a:hover { + color: @navy; +} + +.user-friends img { + width: 42px; + height: 42px; + margin-bottom: 5px; + margin-right: 5px; + +} + + +/* MAILBOX */ + +.mail-box { + background-color: #ffffff; + border: 1px solid @border-color; + border-top: 0; + padding: 0px; + margin-bottom: 20px; +} + +.mail-box-header { + background-color: #ffffff; + border: 1px solid @border-color; + border-bottom: 0; + padding: 30px 20px 20px 20px; +} + +.mail-box-header h2 { + margin-top: 0px; +} + +.mailbox-content .tag-list li a { + background: #ffffff; +} + +.mail-body { + border-top: 1px solid @border-color; + padding: 20px; +} + +.mail-text { + border-top: 1px solid @border-color; +} + +.mail-text .note-toolbar { + padding: 10px 15px; +} + +.mail-body .form-group { + margin-bottom: 5px; +} + +.mail-text .note-editor .note-toolbar { + background-color: #F9F8F8; +} + +.mail-attachment { + border-top: 1px solid @border-color; + padding: 20px; + font-size: 12px; +} + +.mailbox-content { + background: none; + border: none; + padding: 10px; +} + +.mail-ontact { + width: 23%; +} + +/* PROJECTS */ +.project-people, .project-actions { + text-align: right; + vertical-align: middle; +} + +dd.project-people { + text-align: left; + margin-top: 5px; +} + +.project-people img { + width: 32px; + height: 32px; +} + +.project-title a { + font-size: 14px; + color: @text-color; + font-weight: 600; +} + +.project-list table tr td { + border-top: none; + border-bottom: 1px solid @border-color; + padding: 15px 10px; + vertical-align: middle; +} + +.project-manager .tag-list li a { + font-size: 10px; + background-color: white; + padding: 5px 12px; + color: inherit; + border-radius: 2px; + border: 1px solid @border-color; + margin-right: 5px; + margin-top: 5px; + display: block; +} + +.project-files li a { + font-size: 11px; + color: @text-color; + margin-left: 10px; + line-height: 22px; +} + +/* FAQ */ + +.faq-item { + padding: 20px; + margin-bottom: 2px; + background: #fff; +} + +.faq-question { + font-size: 18px; + font-weight: 600; + color: @navy; + display: block; +} + +.faq-question:hover { + color: darken(@navy, 5%); +} + +.faq-answer { + margin-top: 10px; + background: @gray; + border: 1px solid @border-color; + border-radius: 3px; + padding: 15px; +} + +.faq-item .tag-item { + background: @gray; + padding: 2px 6px; + font-size: 10px; + text-transform: uppercase; +} + +/* Chat view */ +.message-input { + height: 90px !important; +} + +.chat-avatar { + white: 36px; + height: 36px; + float: left; + margin-right: 10px; +} + +.chat-user-name { + padding: 10px; +} + +.chat-user { + padding: 8px 10px; + border-bottom: 1px solid #e7eaec; +} + +.chat-user a { + color: inherit; +} + +.chat-view { + z-index: 20012; +} + +.chat-users, .chat-statistic { + margin-left: -30px; +} + +@media (max-width: 992px) { + .chat-users,.chat-statistic { + margin-left: 0px; + } +} +.chat-view .ibox-content { + padding: 0; +} + +.chat-message { + padding: 10px 20px; +} + +.message-avatar { + height: 48px; + width: 48px; + border: 1px solid #e7eaec; + border-radius: 4px; + margin-top: 1px; +} + +.chat-discussion .chat-message.left .message-avatar { + float: left; + margin-right: 10px; +} + +.chat-discussion .chat-message.right .message-avatar { + float: right; + margin-left: 10px; +} + +.message { + background-color: #fff; + border: 1px solid #e7eaec; + text-align: left; + display: block; + padding: 10px 20px; + position: relative; + border-radius: 4px; +} + +.chat-discussion .chat-message.left .message-date { + float: right; +} + +.chat-discussion .chat-message.right .message-date { + float: left; +} + +.chat-discussion .chat-message.left .message { + text-align: left; + margin-left: 55px; +} + +.chat-discussion .chat-message.right .message { + text-align: right; + margin-right: 55px; +} + +.message-date { + font-size: 10px; + color: #888888; +} + +.message-content { + display: block; +} + +.chat-discussion { + background: #eee; + padding: 15px; + height: 400px; + overflow-y: auto; +} + +.chat-users { + overflow-y: auto; + height: 400px; +} + +.chat-message-form .form-group { + margin-bottom: 0; +} + +/* jsTree */ +.jstree-open > .jstree-anchor > .fa-folder:before { + content: "\f07c"; +} + +.jstree-default .jstree-icon.none { + width: 0; +} + +/* CLIENTS */ + +.clients-list { + margin-top: 20px; +} + +.clients-list .tab-pane { + position: relative; + height: 600px; +} + +.client-detail { + position: relative; + height: 620px; +} + +.clients-list table tr td { + height: 46px; + vertical-align: middle; + border: none ; +} + +.client-link { + font-weight: 600; + color: inherit; +} + +.client-link:hover { + color: inherit; +} + +.client-avatar { + width: 42px; +} + +.client-avatar img { + width: 28px; + height: 28px; + border-radius: 50%; +} + +.contact-type { + width: 20px; + color: lighten(@text-color, 35%); +} + +.client-status { + text-align: left; +} + +.client-detail .vertical-timeline-content p { + margin: 0; +} + +.client-detail .vertical-timeline-icon.gray-bg { + color: lighten(@text-color, 25px); +} + +.clients-list { + .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + border-bottom: 1px solid #fff; + } +} + +/* BLOG ARTICLE */ +.blog h2 { + font-weight: 700; +} + +.blog h5 { + margin: 0 0 5px 0; +} + +.blog .btn{ + margin: 0 0 5px 0; +} + +.article h1 { + font-size: 48px; + font-weight: 700; + color: #2F4050; +} + +.article p { + font-size: 15px; + line-height: 26px; +} + +.article-title { + text-align: center; + margin: 40px 0 100px 0; +} + +.article .ibox-content { + padding: 40px; +} + +/* ISSUE TRACKER */ + +.issue-tracker .btn-link { + color: @navy; +} + +table.issue-tracker tbody tr td { + vertical-align: middle; + height: 50px; +} + +.issue-info { + width: 50%; +} + +.issue-info a { + font-weight: 600; + color: @text-color; +} + +.issue-info small { + display: block; +} + +/* TEAMS */ +.team-members { + margin: 10px 0; +} + +.team-members img.img-circle { + width: 42px; + height: 42px; + margin-bottom: 5px; +} + +/* AGILE BOARD */ + +.sortable-list { + padding: 10px 0; +} +.agile-list { + list-style: none; + margin: 0; +} +.agile-list li { + + background: #FAFAFB; + border: 1px solid #e7eaec; + margin: 0px 0 10px 0; + padding: 10px; + border-radius: 2px; +} +.agile-list li:hover { + cursor: pointer; + background: #fff; +} +.agile-list li.warning-element { + border-left: 3px solid @yellow; +} +.agile-list li.danger-element { + border-left: 3px solid @red; +} +.agile-list li.info-element { + border-left: 3px solid @blue; +} +.agile-list li.success-element { + border-left: 3px solid @navy; +} +.agile-detail { + margin-top: 5px; + font-size: 12px; +} + +/* DIFF */ +ins { + background-color: #c6ffc6; + text-decoration: none; +} + +del { + background-color: #ffc6c6; +} + +/* E-commerce */ +.product-box { + padding: 0; + + border: 1px solid @border-color; +} + + + +.product-box:hover, +.product-box.active { + border: 1px solid transparent; + -webkit-box-shadow: 0px 3px 7px 0px rgba(168,168,168,1); + -moz-box-shadow: 0px 3px 7px 0px rgba(168,168,168,1); + box-shadow: 0px 3px 7px 0px rgba(168,168,168,1); +} + +.product-imitation { + text-align: center; + padding: 90px 0; + background-color: lighten(@gray, 2%); + color: darken(@gray, 20%); + font-weight: 600; +} + +.product-imitation.xl { + padding: 120px 0; +} + +.product-desc { + padding: 20px; + position: relative; +} + +.ecommerce .tag-list { + padding: 0; +} + +.ecommerce .fa-star { + color: @light-gray; +} + +.ecommerce .fa-star.active { + color: @yellow; +} + +.ecommerce .note-editor { + border: 1px solid @border-color; +} + +.product-name { + font-size: 16px; + font-weight: 600; + color: @text-color; + display: block; + margin: 2px 0 5px 0; +} + +.product-name:hover, +.product-name:focus { + color: @navy; +} + +.product-price { + font-size: 14px; + font-weight: 600; + color: #ffffff; + background-color: @navy; + padding: 6px 12px; + + position: absolute; + top: -32px; + right: 0; +} + +.product-detail .ibox-content{ + padding: 30px 30px 50px 30px; +} + +.image-imitation { + background-color: lighten(@gray, 2%); + text-align: center; + padding: 200px 0; + +} + +.product-main-price small { + font-size: 10px; + +} + +.product-images { + margin: 0 20px; +} + +/* Social feed */ +.social-feed-separated .social-feed-box { + margin-left: 62px; +} + +.social-feed-separated .social-avatar { + float: left; + padding: 0; +} + +.social-feed-separated .social-avatar img { + width: 52px; + height: 52px; + border: 1px solid #e7eaec; +} + +.social-feed-separated .social-feed-box .social-avatar { + padding: 15px 15px 0 15px; + float: none; +} + +.social-feed-box { + /*padding: 15px;*/ + border: 1px solid #e7eaec; + background: #fff; + margin-bottom: 15px; +} + +.article .social-feed-box { + margin-bottom: 0; + border-bottom: none; +} + +.article .social-feed-box:last-child{ + margin-bottom: 0; + border-bottom: 1px solid @border-color; +} + +.article .social-feed-box p { + font-size: 13px; + line-height: 18px; +} + +.social-action { + margin: 15px; +} + +.social-avatar { + padding: 15px 15px 0 15px; +} + +.social-comment .social-comment { + margin-left: 45px; +} + +.social-avatar img { + height: 40px; + width: 40px; + margin-right: 10px; +} + +.social-avatar .media-body a { + font-size: 14px; + display: block; +} + +.social-body { + padding: 15px; +} + +.social-body img { + margin-bottom: 10px; +} + +.social-footer { + border-top: 1px solid #e7eaec; + padding: 10px 15px; + background: #f9f9f9; +} + +.social-footer .social-comment img { + width: 32px; + margin-right: 10px; +} + +.social-comment:first-child { + margin-top: 0; +} + +.social-comment { + margin-top: 15px; +} + +.social-comment textarea { + font-size: 12px; +} + +/* Vote list */ + +.vote-item { + padding: 20px 25px; + background: #ffffff; + border-top: 1px solid @border-color; +} + +.vote-item:last-child { + border-bottom: 1px solid @border-color; +} + +.vote-item:hover { + background: lighten(@gray, 3%); +} + +.vote-actions { + float: left; + width: 30px; + margin-right: 15px; + text-align: center; + +} + +.vote-actions a { + color: @navy; + font-weight: 600; +} +.vote-actions { + font-weight: 600; +} + +.vote-title { + display: block; + color: inherit; + font-size: 18px; + font-weight: 600; + margin-top: 5px; + margin-bottom: 2px; +} + +.vote-title:hover,.vote-title:focus{ + color: inherit; +} + +.vote-info, .vote-title { + margin-left: 45px; +} + +.vote-info, .vote-info a { + color: lighten(@text-color, 30%); + font-size: 12px; +} + +.vote-info a { + margin-right: 10px; +} + +.vote-info a:hover { + color: @navy; +} + +.vote-icon { + text-align: right; + font-size: 38px; + display: block; + color: lighten(@text-color, 50%); +} + +.vote-icon.active { + color: @navy; +} + +body.body-small .vote-icon { + display: none; +} + diff --git a/src/app/less/rtl.less b/src/app/less/rtl.less new file mode 100755 index 0000000..3aaf4e8 --- /dev/null +++ b/src/app/less/rtl.less @@ -0,0 +1,267 @@ +//RTL Support +body.rtls { + + #page-wrapper { + margin: 0 220px 0 0; + } + + .nav-second-level li a { + padding: 7px 35px 7px 10px; + } + + .ibox-title h5 { + float: right; + } + + .pull-right { + float: left !important; + } + + .pull-left { + float: right !important; + } + + .ibox-tools { + float: left; + } + + .stat-percent { + float: left; + } + + .navbar-right { + float: left !important; + } + + .navbar-top-links li:last-child { + margin-left: 40px; + margin-right: 0; + } + + .minimalize-styl-2 { + float: right; + margin: 14px 20px 5px 5px; + } + + .feed-element > .pull-left { + margin-left: 10px; + margin-right: 0; + } + + .timeline-item .date { + text-align: left; + } + + .timeline-item .date i { + left: 0; + right: auto; + } + + .timeline-item .content { + border-right: 1px solid #e7eaec; + border-left: none; + } + + .theme-config { + left: 0; + right: auto; + } + + .spin-icon { + border-radius: 0 20px 20px 0; + } + + .toast-close-button { + float: left; + } + + #toast-container > .toast:before { + margin: auto -1.5em auto 0.5em; + } + + #toast-container > div { + padding: 15px 50px 15px 15px; + } + + .center-orientation .vertical-timeline-icon i { + margin-left: 0; + margin-right: -12px; + } + + .vertical-timeline-icon i { + right: 50%; + left: auto; + margin-left: auto; + margin-right: -12px; + } + + .file-box { + float: right; + } + + ul.notes li { + float: right; + } + + .chat-users, .chat-statistic { + margin-right: -30px; + margin-left: auto; + } + + .dropdown-menu > li > a { + text-align: right; + } + + .b-r { + border-left: 1px solid #e7eaec; + border-right: none; + } + + .dd-list .dd-list { + padding-right: 30px; + padding-left: 0; + } + + .dd-item > button { + float: right + } + + /* Theme config */ + .theme-config-box { + margin-left: -220px; + margin-right: 0; + } + + .theme-config-box.show { + margin-left: 0; + margin-right: 0; + } + + .spin-icon { + right: 0; + left: auto; + } + + .skin-setttings { + margin-right: 40px; + margin-left: 0; + } + + .skin-setttings { + direction: ltr; + } + + .footer.fixed { + margin-right: 220px; + margin-left: 0; + } + +} + +@media (max-width: 992px) { + body.rtls { + .chat-users,.chat-statistic { + margin-right: 0px; + } + } +} + +body.rtls.mini-navbar .footer.fixed, body.body-small.mini-navbar .footer.fixed { + margin: 0 70px 0 0; +} + +body.rtls.mini-navbar.fixed-sidebar .footer.fixed, body.body-small.mini-navbar .footer.fixed { + margin: 0 0 0 0; +} + + +body.rtls.top-navigation .navbar-toggle { + float: right; + margin-left: 15px; + margin-right: 15px; +} + +.body-small.rtls.top-navigation .navbar-header { + float: none; +} + +body.rtls.top-navigation #page-wrapper { + margin: 0; +} + +body.rtls.mini-navbar #page-wrapper { + margin: 0 70px 0 0; +} + +body.rtls.mini-navbar.fixed-sidebar #page-wrapper { + margin: 0 0 0 0; +} + +body.rtls.body-small.fixed-sidebar.mini-navbar #page-wrapper { + margin: 0 @sidebar-width 0 0; +} + +body.rtls.body-small.fixed-sidebar.mini-navbar .navbar-static-side { + width: @sidebar-width; +} + +.body-small.rtls .navbar-fixed-top { + margin-right: 0px; +} + +.body-small.rtls .navbar-header { + float: right; +} + +body.rtls .navbar-top-links li:last-child { + margin-left: 20px; +} + +body.rtls .top-navigation #page-wrapper, body.rtls.mini-navbar .top-navigation #page-wrapper, body.rtls.mini-navbar.top-navigation #page-wrapper { + margin: 0; +} + +body.rtls .top-navigation .footer.fixed, body.rtls.top-navigation .footer.fixed { + margin: 0; +} + +@media (max-width: 768px) { + + body.rtls .navbar-top-links li:last-child { + margin-left: 20px; + } + + .body-small.rtls #page-wrapper { + position: inherit; + margin: 0 0 0 0px; + min-height: 1000px; + } + + .body-small.rtls .navbar-static-side { + display: none; + z-index: 2001; + position: absolute; + width: 70px; + } + + .body-small.rtls.mini-navbar .navbar-static-side { + display: block; + } + + .rtls.fixed-sidebar.body-small .navbar-static-side { + display: none; + z-index: 2001; + position: fixed; + width: @sidebar-width; + } + + .rtls.fixed-sidebar.body-small.mini-navbar .navbar-static-side { + display: block; + } + +} + +// For special ltr supporting plugin +.rtls .ltr-support { + direction: ltr; +} diff --git a/src/app/less/sidebar.less b/src/app/less/sidebar.less new file mode 100755 index 0000000..a799da8 --- /dev/null +++ b/src/app/less/sidebar.less @@ -0,0 +1,195 @@ +.sidebard-panel { + width: 220px; + background: darken(@gray, 3%); + padding: 10px 20px; + position: absolute; + right: 0; +} + +.sidebard-panel .feed-element img.img-circle { + width: 32px; + height: 32px; +} + +.sidebard-panel .feed-element, .media-body, .sidebard-panel p { + font-size: 12px; +} + +.sidebard-panel .feed-element { + margin-top: 20px; + padding-bottom: 0; +} +.sidebard-panel .list-group { + margin-bottom: 10px; +} +.sidebard-panel .list-group .list-group-item { + padding: 5px 0; + font-size: 12px; + border: 0; +} + +.sidebar-content .wrapper, .wrapper.sidebar-content { + padding-right: 230px !important; +} + +.body-small .sidebar-content .wrapper, .body-small .wrapper.sidebar-content { + padding-right: 20px !important; +} + +// Right sidebar + +#right-sidebar { + background-color: #fff; + border-left: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; + overflow: hidden; + position: fixed; + top: 60px; + width: 260px !important; + z-index: 1009; + bottom: 0; + right: -260px; +} + + +#right-sidebar.sidebar-open { + right: 0; +} + +#right-sidebar.sidebar-open.sidebar-top { + top: 0; + border-top: none; +} + +.sidebar-container { + + ul.nav-tabs { + border: none; + } + + ul.nav-tabs.navs-4 li { + width: 25%; + } + ul.nav-tabs.navs-3 li { + width: 33.3333%; + } + ul.nav-tabs.navs-2 li { + width: 50%; + } + + ul.nav-tabs li { + border: none; + } + + ul.nav-tabs li a { + border: none; + padding: 12px 10px; + margin: 0; + border-radius: 0; + background: @nav-bg; + color: #fff; + text-align: center; + + border-right:1px solid lighten(@nav-bg, 2%) ; + } + + ul.nav-tabs li.active a { + border: none; + background: #f9f9f9; + color: @text-color; + font-weight: bold; + + } + + .nav-tabs > li.active > a:hover, + .nav-tabs > li.active > a:focus { + + border: none; + + } + + ul.sidebar-list { + margin: 0; + padding: 0; + } + + ul.sidebar-list li { + border-bottom: 1px solid @border-color; + padding: 15px 20px; + list-style: none; + + font-size: 12px; + } + + ul.sidebar-list li:nth-child(2n+2) { +// background: #f9f9f9; + } + + .sidebar-message:nth-child(2n+2) { + background: #f9f9f9; + } + + ul.sidebar-list li a { + text-decoration: none; + color: inherit; + } + + .sidebar-content { + padding: 15px 20px ; + font-size: 12px; + } + + .date-item { + + } + + .sidebar-title { + background: #f9f9f9; + padding: 20px; + border-bottom: 1px solid @border-color; + + + h3 { + margin-bottom: 3px; + padding-left: 2px; + } + } + + .tab-content { + + h4 { + margin-bottom: 5px; + } + + } + + .sidebar-message > a > .pull-left { + margin-right: 10px; + } + + .sidebar-message > a { + text-decoration: none; + color: inherit; + } + + .sidebar-message { + padding: 15px 20px; + } + + .sidebar-message:hover { +// background: #f9f9f9; + } + + .sidebar-message .message-avatar { + height: 38px; + width: 38px; + border-radius: 50%; + } + + .setings-item { + padding: 15px 20px; + border-bottom: 1px solid @border-color; + } + +} + diff --git a/src/app/less/skins.less b/src/app/less/skins.less new file mode 100755 index 0000000..8297d03 --- /dev/null +++ b/src/app/less/skins.less @@ -0,0 +1,465 @@ +/* + * + * SKIN 1 - INSPINIA - Responsive Admin Theme + * NAME - Blue light + * +*/ + +// Main colors +@skin-1-color: #0e9aef; +@skin-1-nav-bg: #3e495f; +@skin-1-a-color: #9ea6b9; +@skin-1-page-bg: #f4f6fa; + +// Custom style +.skin-1 .minimalize-styl-2 { + margin: 14px 5px 5px 30px; +} + +.skin-1 .navbar-top-links li:last-child { + margin-right: 30px; +} + +.skin-1.fixed-nav .minimalize-styl-2 { + margin: 14px 5px 5px 15px; +} + +.skin-1 .spin-icon { + background: @skin-1-color !important; +} + +.skin-1 .nav-header { + background: @skin-1-color; + background: url('patterns/header-profile-skin-1.png'); +} + +.skin-1.mini-navbar .nav-second-level { + background: @skin-1-nav-bg; +} + +.skin-1 .breadcrumb { + background: transparent; +} + +.skin-1 .page-heading { + border: none; +} + +.skin-1 .nav > li.active { + background: darken(@skin-1-nav-bg, 2%); +} + +.skin-1 .nav > li > a { + color: @skin-1-a-color; +} + +.skin-1 .nav > li.active > a { + color: #fff; +} + +.skin-1 .navbar-minimalize { + background: @skin-1-color; + border-color: @skin-1-color; +} + +body.skin-1 { + background: @skin-1-nav-bg; +} + +.skin-1 .navbar-static-top { + background: #ffffff; +} + +.skin-1 .dashboard-header { + background: transparent; + border-bottom: none !important; + border-top: none; + padding: 20px 30px 10px 30px; +} + +.fixed-nav.skin-1 .navbar-fixed-top { + background: #fff; +} + +.skin-1 .wrapper-content { + padding: 30px 15px; +} + +.skin-1 #page-wrapper { + background: @skin-1-page-bg; +} + +.skin-1 .ibox-title, .skin-1 .ibox-content { + border-width: 1px; +} + +.skin-1 .ibox-content:last-child { + border-style: solid solid solid solid; +} + +.skin-1 .nav > li.active { + border: none; +} + +.skin-1 .nav-header { + padding: 35px 25px 25px 25px; +} + +.skin-1 .nav-header a.dropdown-toggle { + color: #fff; + margin-top: 10px; +} + +.skin-1 .nav-header a.dropdown-toggle .text-muted { + color: #fff; + opacity: 0.8; +} + +.skin-1 .profile-element { + text-align: center; +} + +.skin-1 .img-circle { + border-radius: 5px; +} + +.skin-1 .navbar-default .nav > li > a:hover, .skin-1 .navbar-default .nav > li > a:focus { + background: darken(@skin-1-nav-bg, 2%); + color: #fff; +} + +.skin-1 .nav.nav-tabs > li.active > a { + color: #555; +} +.skin-1 .nav.nav-tabs > li.active { + background: transparent; +} + +/* + * + * SKIN 2 - INSPINIA - Responsive Admin Theme + * NAME - Inspinia Ultra + * +*/ + +// Main colors +@skin-2-color: #23c6c8; +@skin-2-nav-bg: #ededed; +@skin-2-nav-top-bg: #213a53; + +// Custom style + +body.skin-2 { + color: #565758 !important; +} + +.skin-2 .minimalize-styl-2 { + margin: 14px 5px 5px 25px; +} + +.skin-2 .navbar-top-links li:last-child { + margin-right: 25px; +} + +.skin-2 .spin-icon { + background: @skin-2-color !important; +} + +.skin-2 .nav-header { + background: @skin-2-color; + background: url('patterns/header-profile-skin-2.png'); +} + +.skin-2.mini-navbar .nav-second-level { + background: @skin-2-nav-bg; +} + +.skin-2 .breadcrumb { + background: transparent; +} + +.skin-2.fixed-nav .minimalize-styl-2 { + margin: 14px 5px 5px 15px; +} + +.skin-2 .page-heading { + border: none; + background: rgba(255, 255, 255, 0.7); +} + +.skin-2 .nav > li.active { + background: #e0e0e0; +} + +.skin-2 .logo-element { + padding: 17px 0; +} + +.skin-2 .nav > li > a, .skin-2 .welcome-message { + color: #edf6ff; +} + +.skin-2 #top-search::-moz-placeholder { + color: #edf6ff; + opacity: 0.5; +} + +.skin-2 #side-menu > li > a, .skin-2 .nav.nav-second-level > li > a { + color: #586b7d; +} + +.skin-2 .nav > li.active > a { + color: @skin-2-nav-top-bg; +} + +.skin-2.mini-navbar .nav-header { + background: @skin-2-nav-top-bg; +} + +.skin-2 .navbar-minimalize { + background: @skin-2-color; + border-color: @skin-2-color; +} + +.skin-2 .border-bottom { + border-bottom: none !important; +} + +.skin-2 #top-search { + color: #fff; +} + +body.skin-2 #wrapper { + background-color: @skin-2-nav-bg; +} + +.skin-2 .navbar-static-top { + background: @skin-2-nav-top-bg; +} + +.fixed-nav.skin-2 .navbar-fixed-top { + background: @skin-2-nav-top-bg; + border-bottom: none !important; +} + +.skin-2 .nav-header { + padding: 30px 25px 30px 25px; +} + +.skin-2 .dashboard-header { + background: rgba(255, 255, 255, 0.4); + border-bottom: none !important; + border-top: none; + padding: 20px 30px 20px 30px; +} + +.skin-2 .wrapper-content { + padding: 30px 15px; +} + +.skin-2 .dashoard-1 .wrapper-content { + padding: 0px 30px 25px 30px; +} + +.skin-2 .ibox-title { + background: rgba(255, 255, 255, 0.7); + border: none; + margin-bottom: 1px; +} + +.skin-2 .ibox-content { + background: rgba(255, 255, 255, 0.4); + border: none !important; +} + +.skin-2 #page-wrapper { + background: rgba(246, 246, 246, 1); + background: -webkit-radial-gradient(center, ellipse cover, rgba(246, 246, 246, 1) 20%, rgba(213, 213, 213, 1) 100%); + background: -o-radial-gradient(center, ellipse cover, rgba(246, 246, 246, 1) 20%, rgba(213, 213, 213, 1) 100%); + background: -ms-radial-gradient(center, ellipse cover, rgba(246, 246, 246, 1) 20%, rgba(213, 213, 213, 1) 100%); + background: radial-gradient(ellipse at center, rgba(246, 246, 246, 1) 20%, rgba(213, 213, 213, 1) 100%); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f6f6f6, endColorstr=#d5d5d5)"; +} + +.skin-2 .ibox-title, .skin-2 .ibox-content { + border-width: 1px; +} + +.skin-2 .ibox-content:last-child { + border-style: solid solid solid solid; +} + +.skin-2 .nav > li.active { + border: none; +} + +.skin-2 .nav-header a.dropdown-toggle { + color: #edf6ff; + margin-top: 10px; +} + +.skin-2 .nav-header a.dropdown-toggle .text-muted { + color: #edf6ff; + opacity: 0.8; +} + +.skin-2 .img-circle { + border-radius: 10px; +} + +.skin-2 .nav.navbar-top-links > li > a:hover, .skin-2 .nav.navbar-top-links > li > a:focus { + background: darken(@skin-2-nav-top-bg, 5%); +} + +.skin-2 .navbar-default .nav > li > a:hover, .skin-2 .navbar-default .nav > li > a:focus { + background: #e0e0e0; + color: #213a53; +} + +.skin-2 .nav.nav-tabs > li.active > a { + color: #555; +} +.skin-2 .nav.nav-tabs > li.active { + background: transparent; +} + +/* + * + * SKIN 3 - INSPINIA - Responsive Admin Theme + * NAME - Yellow/purple + * +*/ + +// Main colors +@skin-3-color: #ecba52; +@skin-3-nav-bg: #3e2c42; +@skin-3-a-color: #948b96; +@skin-3-page-bg: #f4f6fa; + +// Custom style +.skin-3 .minimalize-styl-2 { + margin: 14px 5px 5px 30px; +} + +.skin-3 .navbar-top-links li:last-child { + margin-right: 30px; +} + +.skin-3.fixed-nav .minimalize-styl-2 { + margin: 14px 5px 5px 15px; +} + +.skin-3 .spin-icon { + background: @skin-3-color !important; +} + +body.boxed-layout.skin-3 #wrapper { + background: @skin-3-nav-bg; +} + +.skin-3 .nav-header { + background: @skin-3-color; + background: url('patterns/header-profile-skin-3.png'); +} + +.skin-3.mini-navbar .nav-second-level { + background: @skin-3-nav-bg; +} + +.skin-3 .breadcrumb { + background: transparent; +} + +.skin-3 .page-heading { + border: none; +} + +.skin-3 .nav > li.active { + background: darken(@skin-3-nav-bg, 2%); +} + +.fixed-nav.skin-3 .navbar-fixed-top { + background: #fff; +} + +.skin-3 .nav > li > a { + color: @skin-3-a-color; +} + +.skin-3 .nav > li.active > a { + color: #fff; +} + +.skin-3 .navbar-minimalize { + background: @skin-3-color; + border-color: @skin-3-color; +} + +body.skin-3 { + background: @skin-3-nav-bg; +} + +.skin-3 .navbar-static-top { + background: #ffffff; +} + +.skin-3 .dashboard-header { + background: transparent; + border-bottom: none !important; + border-top: none; + padding: 20px 30px 10px 30px; +} + +.skin-3 .wrapper-content { + padding: 30px 15px; +} + +.skin-3 #page-wrapper { + background: @skin-3-page-bg; +} + +.skin-3 .ibox-title, .skin-3 .ibox-content { + border-width: 1px; +} + +.skin-3 .ibox-content:last-child { + border-style: solid solid solid solid; +} + +.skin-3 .nav > li.active { + border: none; +} + +.skin-3 .nav-header { + padding: 35px 25px 25px 25px; +} + +.skin-3 .nav-header a.dropdown-toggle { + color: #fff; + margin-top: 10px; +} + +.skin-3 .nav-header a.dropdown-toggle .text-muted { + color: #fff; + opacity: 0.8; +} + +.skin-3 .profile-element { + text-align: center; +} + +.skin-3 .img-circle { + border-radius: 5px; +} + +.skin-3 .navbar-default .nav > li > a:hover, .skin-3 .navbar-default .nav > li > a:focus { + background: darken(@skin-3-nav-bg, 2%); + color: #fff; +} + +.skin-3 .nav.nav-tabs > li.active > a { + color: #555; +} +.skin-3 .nav.nav-tabs > li.active { + background: transparent; +} \ No newline at end of file diff --git a/src/app/less/spinners.less b/src/app/less/spinners.less new file mode 100755 index 0000000..e4f0a10 --- /dev/null +++ b/src/app/less/spinners.less @@ -0,0 +1,760 @@ +/* + * Usage: + * + *
+ * + */ + +.sk-spinner-rotating-plane.sk-spinner { + width: 30px; + height: 30px; + background-color: @spin-color; + margin: @spin-margin; + -webkit-animation: sk-rotatePlane 1.2s infinite ease-in-out; + animation: sk-rotatePlane 1.2s infinite ease-in-out; } + +@-webkit-keyframes sk-rotatePlane { + 0% { + -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); + transform: perspective(120px) rotateX(0deg) rotateY(0deg); } + + 50% { + -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); } + + 100% { + -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); + transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); } } + +@keyframes sk-rotatePlane { + 0% { + -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); + transform: perspective(120px) rotateX(0deg) rotateY(0deg); } + + 50% { + -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); } + + 100% { + -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); + transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); } } + +/* + * Usage: + * + *
+ *
+ *
+ *
+ * + */ +.sk-spinner-double-bounce.sk-spinner { + width: 40px; + height: 40px; + position: relative; + margin: @spin-margin; } +.sk-spinner-double-bounce .sk-double-bounce1, .sk-spinner-double-bounce .sk-double-bounce2 { + width: 100%; + height: 100%; + border-radius: 50%; + background-color: @spin-color; + opacity: 0.6; + position: absolute; + top: 0; + left: 0; + -webkit-animation: sk-doubleBounce 2s infinite ease-in-out; + animation: sk-doubleBounce 2s infinite ease-in-out; } +.sk-spinner-double-bounce .sk-double-bounce2 { + -webkit-animation-delay: -1s; + animation-delay: -1s; } + +@-webkit-keyframes sk-doubleBounce { + 0%, 100% { + -webkit-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1); + transform: scale(1); } } + +@keyframes sk-doubleBounce { + 0%, 100% { + -webkit-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1); + transform: scale(1); } } + +/* + * Usage: + * + *
+ *
+ *
+ *
+ *
+ *
+ *
+ * + */ +.sk-spinner-wave.sk-spinner { + margin: @spin-margin; + width: 50px; + height: 30px; + text-align: center; + font-size: 10px; } +.sk-spinner-wave div { + background-color: @spin-color; + height: 100%; + width: 6px; + display: inline-block; + -webkit-animation: sk-waveStretchDelay 1.2s infinite ease-in-out; + animation: sk-waveStretchDelay 1.2s infinite ease-in-out; } +.sk-spinner-wave .sk-rect2 { + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; } +.sk-spinner-wave .sk-rect3 { + -webkit-animation-delay: -1s; + animation-delay: -1s; } +.sk-spinner-wave .sk-rect4 { + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; } +.sk-spinner-wave .sk-rect5 { + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; } + +@-webkit-keyframes sk-waveStretchDelay { + 0%, 40%, 100% { + -webkit-transform: scaleY(0.4); + transform: scaleY(0.4); } + + 20% { + -webkit-transform: scaleY(1); + transform: scaleY(1); } } + +@keyframes sk-waveStretchDelay { + 0%, 40%, 100% { + -webkit-transform: scaleY(0.4); + transform: scaleY(0.4); } + + 20% { + -webkit-transform: scaleY(1); + transform: scaleY(1); } } + +/* + * Usage: + * + *
+ *
+ *
+ *
+ * + */ +.sk-spinner-wandering-cubes.sk-spinner { + margin: @spin-margin; + width: 32px; + height: 32px; + position: relative; } +.sk-spinner-wandering-cubes .sk-cube1, .sk-spinner-wandering-cubes .sk-cube2 { + background-color: @spin-color; + width: 10px; + height: 10px; + position: absolute; + top: 0; + left: 0; + -webkit-animation: sk-wanderingCubeMove 1.8s infinite ease-in-out; + animation: sk-wanderingCubeMove 1.8s infinite ease-in-out; } +.sk-spinner-wandering-cubes .sk-cube2 { + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; } + +@-webkit-keyframes sk-wanderingCubeMove { + 25% { + -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5); + transform: translateX(42px) rotate(-90deg) scale(0.5); } + + 50% { + /* Hack to make FF rotate in the right direction */ + -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg); + transform: translateX(42px) translateY(42px) rotate(-179deg); } + + 50.1% { + -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg); + transform: translateX(42px) translateY(42px) rotate(-180deg); } + + 75% { + -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); + transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); } + + 100% { + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); } } + +@keyframes sk-wanderingCubeMove { + 25% { + -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5); + transform: translateX(42px) rotate(-90deg) scale(0.5); } + + 50% { + /* Hack to make FF rotate in the right direction */ + -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg); + transform: translateX(42px) translateY(42px) rotate(-179deg); } + + 50.1% { + -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg); + transform: translateX(42px) translateY(42px) rotate(-180deg); } + + 75% { + -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); + transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); } + + 100% { + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); } } + +/* + * Usage: + * + *
+ * + */ +.sk-spinner-pulse.sk-spinner { + width: 40px; + height: 40px; + margin: @spin-margin; + background-color: @spin-color; + border-radius: 100%; + -webkit-animation: sk-pulseScaleOut 1s infinite ease-in-out; + animation: sk-pulseScaleOut 1s infinite ease-in-out; } + +@-webkit-keyframes sk-pulseScaleOut { + 0% { + -webkit-transform: scale(0); + transform: scale(0); } + + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 0; } } + +@keyframes sk-pulseScaleOut { + 0% { + -webkit-transform: scale(0); + transform: scale(0); } + + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 0; } } + +/* + * Usage: + * + *
+ *
+ *
+ *
+ * + */ +.sk-spinner-chasing-dots.sk-spinner { + margin: @spin-margin; + width: 40px; + height: 40px; + position: relative; + text-align: center; + -webkit-animation: sk-chasingDotsRotate 2s infinite linear; + animation: sk-chasingDotsRotate 2s infinite linear; } +.sk-spinner-chasing-dots .sk-dot1, .sk-spinner-chasing-dots .sk-dot2 { + width: 60%; + height: 60%; + display: inline-block; + position: absolute; + top: 0; + background-color: @spin-color; + border-radius: 100%; + -webkit-animation: sk-chasingDotsBounce 2s infinite ease-in-out; + animation: sk-chasingDotsBounce 2s infinite ease-in-out; } +.sk-spinner-chasing-dots .sk-dot2 { + top: auto; + bottom: 0px; + -webkit-animation-delay: -1s; + animation-delay: -1s; } + +@-webkit-keyframes sk-chasingDotsRotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes sk-chasingDotsRotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@-webkit-keyframes sk-chasingDotsBounce { + 0%, 100% { + -webkit-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1); + transform: scale(1); } } + +@keyframes sk-chasingDotsBounce { + 0%, 100% { + -webkit-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1); + transform: scale(1); } } + +/* + * Usage: + * + *
+ *
+ *
+ *
+ *
+ * + */ +.sk-spinner-three-bounce.sk-spinner { + margin: @spin-margin; + width: 70px; + text-align: center; } +.sk-spinner-three-bounce div { + width: 18px; + height: 18px; + background-color: @spin-color; + border-radius: 100%; + display: inline-block; + -webkit-animation: sk-threeBounceDelay 1.4s infinite ease-in-out; + animation: sk-threeBounceDelay 1.4s infinite ease-in-out; + /* Prevent first frame from flickering when animation starts */ + -webkit-animation-fill-mode: both; + animation-fill-mode: both; } +.sk-spinner-three-bounce .sk-bounce1 { + -webkit-animation-delay: -0.32s; + animation-delay: -0.32s; } +.sk-spinner-three-bounce .sk-bounce2 { + -webkit-animation-delay: -0.16s; + animation-delay: -0.16s; } + +@-webkit-keyframes sk-threeBounceDelay { + 0%, 80%, 100% { + -webkit-transform: scale(0); + transform: scale(0); } + + 40% { + -webkit-transform: scale(1); + transform: scale(1); } } + +@keyframes sk-threeBounceDelay { + 0%, 80%, 100% { + -webkit-transform: scale(0); + transform: scale(0); } + + 40% { + -webkit-transform: scale(1); + transform: scale(1); } } + +/* + * Usage: + * + *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * + */ +.sk-spinner-circle.sk-spinner { + margin: @spin-margin; + width: 22px; + height: 22px; + position: relative; } +.sk-spinner-circle .sk-circle { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; } +.sk-spinner-circle .sk-circle:before { + content: ''; + display: block; + margin: @spin-margin; + width: 20%; + height: 20%; + background-color: @spin-color; + border-radius: 100%; + -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out; + animation: sk-circleBounceDelay 1.2s infinite ease-in-out; + /* Prevent first frame from flickering when animation starts */ + -webkit-animation-fill-mode: both; + animation-fill-mode: both; } +.sk-spinner-circle .sk-circle2 { + -webkit-transform: rotate(30deg); + -ms-transform: rotate(30deg); + transform: rotate(30deg); } +.sk-spinner-circle .sk-circle3 { + -webkit-transform: rotate(60deg); + -ms-transform: rotate(60deg); + transform: rotate(60deg); } +.sk-spinner-circle .sk-circle4 { + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } +.sk-spinner-circle .sk-circle5 { + -webkit-transform: rotate(120deg); + -ms-transform: rotate(120deg); + transform: rotate(120deg); } +.sk-spinner-circle .sk-circle6 { + -webkit-transform: rotate(150deg); + -ms-transform: rotate(150deg); + transform: rotate(150deg); } +.sk-spinner-circle .sk-circle7 { + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.sk-spinner-circle .sk-circle8 { + -webkit-transform: rotate(210deg); + -ms-transform: rotate(210deg); + transform: rotate(210deg); } +.sk-spinner-circle .sk-circle9 { + -webkit-transform: rotate(240deg); + -ms-transform: rotate(240deg); + transform: rotate(240deg); } +.sk-spinner-circle .sk-circle10 { + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); } +.sk-spinner-circle .sk-circle11 { + -webkit-transform: rotate(300deg); + -ms-transform: rotate(300deg); + transform: rotate(300deg); } +.sk-spinner-circle .sk-circle12 { + -webkit-transform: rotate(330deg); + -ms-transform: rotate(330deg); + transform: rotate(330deg); } +.sk-spinner-circle .sk-circle2:before { + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; } +.sk-spinner-circle .sk-circle3:before { + -webkit-animation-delay: -1s; + animation-delay: -1s; } +.sk-spinner-circle .sk-circle4:before { + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; } +.sk-spinner-circle .sk-circle5:before { + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; } +.sk-spinner-circle .sk-circle6:before { + -webkit-animation-delay: -0.7s; + animation-delay: -0.7s; } +.sk-spinner-circle .sk-circle7:before { + -webkit-animation-delay: -0.6s; + animation-delay: -0.6s; } +.sk-spinner-circle .sk-circle8:before { + -webkit-animation-delay: -0.5s; + animation-delay: -0.5s; } +.sk-spinner-circle .sk-circle9:before { + -webkit-animation-delay: -0.4s; + animation-delay: -0.4s; } +.sk-spinner-circle .sk-circle10:before { + -webkit-animation-delay: -0.3s; + animation-delay: -0.3s; } +.sk-spinner-circle .sk-circle11:before { + -webkit-animation-delay: -0.2s; + animation-delay: -0.2s; } +.sk-spinner-circle .sk-circle12:before { + -webkit-animation-delay: -0.1s; + animation-delay: -0.1s; } + +@-webkit-keyframes sk-circleBounceDelay { + 0%, 80%, 100% { + -webkit-transform: scale(0); + transform: scale(0); } + + 40% { + -webkit-transform: scale(1); + transform: scale(1); } } + +@keyframes sk-circleBounceDelay { + 0%, 80%, 100% { + -webkit-transform: scale(0); + transform: scale(0); } + + 40% { + -webkit-transform: scale(1); + transform: scale(1); } } + +/* + * Usage: + * + *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * + */ +.sk-spinner-cube-grid { + /* + * Spinner positions + * 1 2 3 + * 4 5 6 + * 7 8 9 + */ } +.sk-spinner-cube-grid.sk-spinner { + width: 30px; + height: 30px; + margin: @spin-margin; } +.sk-spinner-cube-grid .sk-cube { + width: 33%; + height: 33%; + background-color: @spin-color; + float: left; + -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; + animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; } +.sk-spinner-cube-grid .sk-cube:nth-child(1) { + -webkit-animation-delay: 0.2s; + animation-delay: 0.2s; } +.sk-spinner-cube-grid .sk-cube:nth-child(2) { + -webkit-animation-delay: 0.3s; + animation-delay: 0.3s; } +.sk-spinner-cube-grid .sk-cube:nth-child(3) { + -webkit-animation-delay: 0.4s; + animation-delay: 0.4s; } +.sk-spinner-cube-grid .sk-cube:nth-child(4) { + -webkit-animation-delay: 0.1s; + animation-delay: 0.1s; } +.sk-spinner-cube-grid .sk-cube:nth-child(5) { + -webkit-animation-delay: 0.2s; + animation-delay: 0.2s; } +.sk-spinner-cube-grid .sk-cube:nth-child(6) { + -webkit-animation-delay: 0.3s; + animation-delay: 0.3s; } +.sk-spinner-cube-grid .sk-cube:nth-child(7) { + -webkit-animation-delay: 0s; + animation-delay: 0s; } +.sk-spinner-cube-grid .sk-cube:nth-child(8) { + -webkit-animation-delay: 0.1s; + animation-delay: 0.1s; } +.sk-spinner-cube-grid .sk-cube:nth-child(9) { + -webkit-animation-delay: 0.2s; + animation-delay: 0.2s; } + +@-webkit-keyframes sk-cubeGridScaleDelay { + 0%, 70%, 100% { + -webkit-transform: scale3D(1, 1, 1); + transform: scale3D(1, 1, 1); } + + 35% { + -webkit-transform: scale3D(0, 0, 1); + transform: scale3D(0, 0, 1); } } + +@keyframes sk-cubeGridScaleDelay { + 0%, 70%, 100% { + -webkit-transform: scale3D(1, 1, 1); + transform: scale3D(1, 1, 1); } + + 35% { + -webkit-transform: scale3D(0, 0, 1); + transform: scale3D(0, 0, 1); } } + +/* + * Usage: + * + *
+ * + *
+ * + */ +.sk-spinner-wordpress.sk-spinner { + background-color: @spin-color; + width: 30px; + height: 30px; + border-radius: 30px; + position: relative; + margin: @spin-margin; + -webkit-animation: sk-innerCircle 1s linear infinite; + animation: sk-innerCircle 1s linear infinite; } +.sk-spinner-wordpress .sk-inner-circle { + display: block; + background-color: #fff; + width: 8px; + height: 8px; + position: absolute; + border-radius: 8px; + top: 5px; + left: 5px; } + +@-webkit-keyframes sk-innerCircle { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes sk-innerCircle { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +/* + * Usage: + * + *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * + */ +.sk-spinner-fading-circle.sk-spinner { + margin: @spin-margin; + width: 22px; + height: 22px; + position: relative; } +.sk-spinner-fading-circle .sk-circle { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; } +.sk-spinner-fading-circle .sk-circle:before { + content: ''; + display: block; + margin: @spin-margin; + width: 18%; + height: 18%; + background-color: @spin-color; + border-radius: 100%; + -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out; + animation: sk-circleFadeDelay 1.2s infinite ease-in-out; + /* Prevent first frame from flickering when animation starts */ + -webkit-animation-fill-mode: both; + animation-fill-mode: both; } +.sk-spinner-fading-circle .sk-circle2 { + -webkit-transform: rotate(30deg); + -ms-transform: rotate(30deg); + transform: rotate(30deg); } +.sk-spinner-fading-circle .sk-circle3 { + -webkit-transform: rotate(60deg); + -ms-transform: rotate(60deg); + transform: rotate(60deg); } +.sk-spinner-fading-circle .sk-circle4 { + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } +.sk-spinner-fading-circle .sk-circle5 { + -webkit-transform: rotate(120deg); + -ms-transform: rotate(120deg); + transform: rotate(120deg); } +.sk-spinner-fading-circle .sk-circle6 { + -webkit-transform: rotate(150deg); + -ms-transform: rotate(150deg); + transform: rotate(150deg); } +.sk-spinner-fading-circle .sk-circle7 { + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.sk-spinner-fading-circle .sk-circle8 { + -webkit-transform: rotate(210deg); + -ms-transform: rotate(210deg); + transform: rotate(210deg); } +.sk-spinner-fading-circle .sk-circle9 { + -webkit-transform: rotate(240deg); + -ms-transform: rotate(240deg); + transform: rotate(240deg); } +.sk-spinner-fading-circle .sk-circle10 { + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); } +.sk-spinner-fading-circle .sk-circle11 { + -webkit-transform: rotate(300deg); + -ms-transform: rotate(300deg); + transform: rotate(300deg); } +.sk-spinner-fading-circle .sk-circle12 { + -webkit-transform: rotate(330deg); + -ms-transform: rotate(330deg); + transform: rotate(330deg); } +.sk-spinner-fading-circle .sk-circle2:before { + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; } +.sk-spinner-fading-circle .sk-circle3:before { + -webkit-animation-delay: -1s; + animation-delay: -1s; } +.sk-spinner-fading-circle .sk-circle4:before { + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; } +.sk-spinner-fading-circle .sk-circle5:before { + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; } +.sk-spinner-fading-circle .sk-circle6:before { + -webkit-animation-delay: -0.7s; + animation-delay: -0.7s; } +.sk-spinner-fading-circle .sk-circle7:before { + -webkit-animation-delay: -0.6s; + animation-delay: -0.6s; } +.sk-spinner-fading-circle .sk-circle8:before { + -webkit-animation-delay: -0.5s; + animation-delay: -0.5s; } +.sk-spinner-fading-circle .sk-circle9:before { + -webkit-animation-delay: -0.4s; + animation-delay: -0.4s; } +.sk-spinner-fading-circle .sk-circle10:before { + -webkit-animation-delay: -0.3s; + animation-delay: -0.3s; } +.sk-spinner-fading-circle .sk-circle11:before { + -webkit-animation-delay: -0.2s; + animation-delay: -0.2s; } +.sk-spinner-fading-circle .sk-circle12:before { + -webkit-animation-delay: -0.1s; + animation-delay: -0.1s; } + +@-webkit-keyframes sk-circleFadeDelay { + 0%, 39%, 100% { + opacity: 0; } + + 40% { + opacity: 1; } } + +@keyframes sk-circleFadeDelay { + 0%, 39%, 100% { + opacity: 0; } + + 40% { + opacity: 1; } } + diff --git a/src/app/less/style.less b/src/app/less/style.less new file mode 100755 index 0000000..22b42b1 --- /dev/null +++ b/src/app/less/style.less @@ -0,0 +1,60 @@ +/* + * + * INSPINIA - Responsive Admin Theme + * version 2.3 + * +*/ + +// Google Fonts +@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&lang=en"); + +// Variables, Mixins +@import "variables.less"; +@import "mixins.less"; + +// INSPINIA Theme Elements +@import "typography.less"; +@import "navigation.less"; +@import "top_navigation.less"; +@import "buttons.less"; +@import "badgets_labels.less"; +@import "elements.less"; +@import "sidebar.less"; +@import "base.less"; +@import "pages.less"; +@import "chat.less"; +@import "metismenu.less"; +@import "spinners.less"; + +// Landing page styles +@import "landing.less"; + +// RTL Support +@import "rtl.less"; + +// For demo only - config box style +@import "theme-config.less"; + +// INSPINIA Skins +@import "skins.less"; +@import "md-skin.less"; + +// Media query style +@import "media.less"; + +// Custom style +// Your custom style to override base style +@import "custom.less"; + + + + + + + + + + + + + diff --git a/src/app/less/theme-config.less b/src/app/less/theme-config.less new file mode 100755 index 0000000..86905e1 --- /dev/null +++ b/src/app/less/theme-config.less @@ -0,0 +1,113 @@ +/* + * + * This is style for skin config + * Use only in demo theme + * +*/ + +.theme-config { + position: absolute; + top: 90px; + right: 0px; + overflow: hidden; +} + +.theme-config-box { + margin-right: -220px; + position: relative; + z-index: 2000; + transition-duration: 0.8s; +} + +.theme-config-box.show { + margin-right: 0px; +} + +.spin-icon { + background: @navy; + position: absolute; + padding: 7px 10px 7px 13px; + border-radius: 20px 0px 0px 20px; + font-size: 16px; + top: 0; + left: 0px; + width: 40px; + color: #fff; + cursor: pointer; +} + +.skin-setttings { + width: 220px; + margin-left: 40px; + background: @gray; +} + +.skin-setttings .title { + background: #efefef; + text-align: center; + text-transform: uppercase; + font-weight: 600; + display: block; + padding: 10px 15px; + font-size: 12px; +} + +.setings-item { + padding: 10px 30px; +} + +.setings-item.skin { + text-align: center; +} + +.setings-item .switch { + float: right; +} + +.skin-name a { + text-transform: uppercase; +} + +.setings-item a { + color: #fff; +} + +.default-skin, .blue-skin, .ultra-skin, .yellow-skin { + text-align: center; +} + +.default-skin { + font-weight: 600; + background: #1ab394; +} + +.default-skin:hover { + background: #199d82; +} + +.blue-skin { + font-weight: 600; + background: url("patterns/header-profile-skin-1.png") repeat scroll 0 0; +} + +.blue-skin:hover { + background: #0d8ddb; +} + +.yellow-skin { + font-weight: 600; + background: url("patterns/header-profile-skin-3.png") repeat scroll 0 100%; +} + +.yellow-skin:hover { + background: #ce8735; +} + +.ultra-skin { + font-weight: 600; + background: url("patterns/header-profile-skin-2.png") repeat scroll 0 0; +} + +.ultra-skin:hover { + background: #1a2d40; +} \ No newline at end of file diff --git a/src/app/less/top_navigation.less b/src/app/less/top_navigation.less new file mode 100755 index 0000000..bf6f886 --- /dev/null +++ b/src/app/less/top_navigation.less @@ -0,0 +1,127 @@ +.top-navigation #page-wrapper { + margin-left: 0; +} + +.top-navigation .navbar-nav .dropdown-menu > .active > a { + background: white; + color: @navy; + font-weight: bold; +} + +.white-bg .navbar-fixed-top, .white-bg .navbar-static-top { + background: #fff; +} + +.top-navigation .navbar { + margin-bottom: 0; +} + +.top-navigation .nav > li > a { + padding: 15px 20px; + color: #676a6c; +} + +.top-navigation .nav > li a:hover, .top-navigation .nav > li a:focus { + background: #fff; + color: @navy; +} + +.top-navigation .nav > li.active { + background: #fff; + border: none; +} +.top-navigation .nav > li.active > a { + color: @navy; +} +.top-navigation .navbar-right { + margin-right: 10px; +} + +.top-navigation .navbar-nav .dropdown-menu { + box-shadow: none; + border: 1px solid #e7eaec; +} + +.top-navigation .dropdown-menu > li > a { + margin: 0; + padding: 7px 20px; +} + +.navbar .dropdown-menu { + margin-top: 0px; +} + +.top-navigation .navbar-brand { + background: @navy; + color: #fff; + padding: 15px 25px; +} + +.top-navigation .navbar-top-links li:last-child { + margin-right: 0; +} + +.top-navigation.mini-navbar #page-wrapper, +.top-navigation.body-small.fixed-sidebar.mini-navbar #page-wrapper, +.mini-navbar .top-navigation #page-wrapper, +.body-small.fixed-sidebar.mini-navbar .top-navigation #page-wrapper, +.canvas-menu #page-wrapper { + margin: 0; +} + +.top-navigation.fixed-nav #wrapper, .fixed-nav #wrapper.top-navigation { + margin-top: 50px; +} + +.top-navigation .footer.fixed { + margin-left: 0 !important; +} + +.top-navigation .wrapper.wrapper-content { + padding: 40px; +} +.top-navigation.body-small .wrapper.wrapper-content, .body-small .top-navigation .wrapper.wrapper-content { + padding: 40px 0px 40px 0px; +} + +.navbar-toggle { + background-color: @navy; + color: #fff; + padding: 6px 12px; + font-size: 14px; +} + +.top-navigation .navbar-nav .open .dropdown-menu > li > a, .top-navigation .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 10px 15px 10px 20px; +} + +@media (max-width: 768px) { + .top-navigation .navbar-header { + display: block; + float: none; + } +} + +.menu-visible-lg, .menu-visible-md { + display: none !important; +} + +@media (min-width: 1200px) { + .menu-visible-lg { + display: block !important; + } +} +@media (min-width: 992px) { + .menu-visible-md { + display: block !important; + } +} + +@media (max-width: 767px) { + .menu-visible-md { + display: block !important; + } + .menu-visible-lg { + display: block !important; + } +} \ No newline at end of file diff --git a/src/app/less/typography.less b/src/app/less/typography.less new file mode 100755 index 0000000..6110d06 --- /dev/null +++ b/src/app/less/typography.less @@ -0,0 +1,32 @@ +h1, h2, h3, h4, h5, h6 { + font-weight: 100; +} + +h1 { + font-size: 30px; +} + +h2 { + font-size: 24px; +} + +h3 { + font-size: 16px; +} + +h4 { + font-size: 14px; +} + +h5 { + font-size: 12px; +} + +h6 { + font-size: 10px; +} + +h3, h4, h5 { + margin-top: 5px; + font-weight: 600; +} \ No newline at end of file diff --git a/src/app/less/variables.less b/src/app/less/variables.less new file mode 100755 index 0000000..8ac0d0e --- /dev/null +++ b/src/app/less/variables.less @@ -0,0 +1,39 @@ +// Basic Colors +@navy: #1ab394; // Primary color +@dark-gray: #c2c2c2; // Default color +@blue: #1c84c6; // Success color +@lazur: #23c6c8; // Info color +@yellow: #f8ac59; // Warrning color +@red: #ED5565; // Danger color + +// Various colors +@text-color: #676a6c; // Body text +@gray: #f3f3f4; // Background wrapper color +@light-gray: #D1DADE; // Default label, badget +@label-badget-color: #5E5E5E; +@light-blue:#f3f6fb; + +// Spiner color and margin +@spin-color: @navy; +@spin-margin: 0 auto; + + +// IBOX colors ( default panel colors) +@border-color: #e7eaec; // IBox border +@ibox-title-bg:#ffffff; // IBox Background header +@ibox-content-bg:#ffffff; // IBox Background content + +//Sidebar width +@sidebar-width: 220px; + +// Boxed layout width +@boxed-width: 1200px; +@boxed-backgound: url('patterns/shattered.png'); + +//Border radius for buttons +@btn-border-radius: 3px; + +//Navigation +@nav-bg: #2F4050; +@nav-profil-pattern: url("patterns/header-profile.png") no-repeat; +@nav-text-color: #a7b1c2; \ No newline at end of file diff --git a/src/app/login/login.controller.js b/src/app/login/login.controller.js new file mode 100644 index 0000000..202f2f4 --- /dev/null +++ b/src/app/login/login.controller.js @@ -0,0 +1,34 @@ +'use strict'; + +angular.module('supportAdminApp') + .controller('LoginCtrl', [ + '$scope', '$rootScope', '$location', '$state', 'AuthService', 'TokenService', 'UserV3Service', + function ($scope, $rootScope, $location, $state, $authService, $tokenService, $userV3Service) { + + $scope.submit = function() { + var loginSuccess = function() { + var token = $tokenService.decodeToken(); + // TODO: check permission + console.log('**** token ****'); + console.log(token); + $userV3Service.loadUser().then(function(currentUser) { + console.log('Login Success'); + $rootScope.currentUser = currentUser; + $state.go('index.main') + }); + }; + + var loginFailure = function() { + console.log('Login Failed') + }; + + var options = { + username:$scope.username, + password:$scope.password, + success: loginSuccess, + error: loginFailure + }; + + $authService.login(options); + }; + }]); diff --git a/src/app/login/login.html b/src/app/login/login.html new file mode 100755 index 0000000..0f9364e --- /dev/null +++ b/src/app/login/login.html @@ -0,0 +1,11 @@ +
+
+
+

+
+
+ +
+

+
+
diff --git a/src/app/main/main.controller.js b/src/app/main/main.controller.js new file mode 100755 index 0000000..db7d34a --- /dev/null +++ b/src/app/main/main.controller.js @@ -0,0 +1,11 @@ +'use strict'; + +angular.module('supportAdminApp') + .controller('MainController', ['$scope', '$rootScope', '$timeout', '$state', 'AuthService', + function ($scope, $rootScope, $timeout, $state, $authService) { + + $scope.logout = function() { + $authService.logout(); + $state.go('login'); + }; +}]); diff --git a/src/app/main/main.html b/src/app/main/main.html new file mode 100755 index 0000000..ff16238 --- /dev/null +++ b/src/app/main/main.html @@ -0,0 +1,26 @@ +
+
+

Dashboard

+ +
+
+
+
+ +
+
+
+
+
+
+
+
diff --git a/src/app/users/user-edit-dialog.html b/src/app/users/user-edit-dialog.html new file mode 100644 index 0000000..eea6daf --- /dev/null +++ b/src/app/users/user-edit-dialog.html @@ -0,0 +1,34 @@ +
+ + + +
+ +
+
diff --git a/src/app/users/users.controller.js b/src/app/users/users.controller.js new file mode 100644 index 0000000..9132e06 --- /dev/null +++ b/src/app/users/users.controller.js @@ -0,0 +1,159 @@ +'use strict'; + +var module = angular.module('supportAdminApp'); + +module.controller('users.UserSearchController', [ + '$scope', '$rootScope', '$timeout', '$state', '$modal', 'AuthService','UserService', + function ($scope, $rootScope, $timeout, $state, $modal, $authService, $userService) { + + // search + $scope.formSearch = { + handle : "", + email : "", + status : "", + isLoading: false, + getActive: function() { + return this.status === "active" ? true : + this.status === "inactive" ? false : + null; + }, + setLoading: function(loading) { + this.isLoading = loading; + } + }; + + $scope.search = function() { + + var handle = $scope.formSearch.handle, + email = $scope.formSearch.email, + active = $scope.formSearch.getActive(), + like = false; + + var filter = ''; + if(handle) { + like = handle.indexOf('*')>=0; + filter += "handle="+handle; + } + if(email) { + like = email.indexOf('*')>=0; + if(filter.length>0) + filter += '&'; + filter += "email="+email; + } + if(!(active === null) && !(active === undefined)) { + if(filter.length>0) + filter += '&'; + filter += "active="+active; + } + if(like) { + filter += "&like="+like; + } + + $scope.formSearch.setLoading(true); + $userService.find( + {filter : filter} + ).then( + function(users) { + $scope.users = users; + $scope.formSearch.setLoading(false); + }, + function(error) { + $scope.$broadcast('AlertIssued', {type:'danger', message:error.error}); + $scope.formSearch.setLoading(false); + } + ); + }; + + // list + $scope.users = []; + + $scope.format = function(isoDateText) { + return isoDateText && isoDateText.replace("T"," ").replace(".000Z",""); + }; + + $scope.activate = function(index) { + var user = $scope.users[index]; + if(!user.credential || !user.credential.activationCode) { + $scope.$broadcast('AlertIssued', + {type:'danger', message:'The user \'' + user.handle + '\' is invalid. Unable to activate it.'}); + return; + }; + if(window.confirm('Are you sure you want to activate user \'' + user.handle + '\'?')) { + $scope.formSearch.setLoading(true); + $userService.activate(user.credential.activationCode).then( + function(responseUser) { + user.active = responseUser.active; + $scope.formSearch.setLoading(false); + }, + function(error) { + $scope.$broadcast('AlertIssued', {type:'danger', message:error.error}); + $scope.formSearch.setLoading(false); + } + ); + } + }; + + $scope.deactivate = function(index) { + var user = $scope.users[index]; + if(window.confirm('Are you sure you want to deactivate user \'' + user.handle + '\'?')) { + // dummy + user.active = false; + } + }; + + $scope.openDialog = function(index) { + var modalInstance = $modal.open({ + size: 'sm', + templateUrl: 'app/users/user-edit-dialog.html', + controller: 'users.UserEditDialogController', + resolve: { + user: function(){ return $scope.users[index]; } + } + }); + }; + } +]); + +module.controller('users.UserEditDialogController', [ + '$scope', '$rootScope', '$timeout', '$state', '$modalInstance', 'AuthService', 'UserService', 'user', + function ($scope, $rootScope, $timeout, $state, $modalInstance, $authService, $userService, user) { + + $scope.form = { + id : user.id, + handle : user.handle, + email : user.email, + active : user.active, + firstName : user.firstName, + lastName : user.lastName, + isLoading : false, + setLoading: function(loading) { + this.isLoading = loading; + } + }; + + $scope.cancel = function() { + $modalInstance.close(); + }; + + $scope.save = function() { + if(window.confirm('Are you sure you want to save changes?')) { + $scope.form.setLoading(true); + // dummy + setTimeout(function() { + $scope.form.setLoading(false); + user.handle = $scope.form.handle; + user.email = $scope.form.email; + user.firstName = $scope.form.firstName; + user.lastName = $scope.form.lastName; + $modalInstance.close(); + }, 1200); + } + } + + $scope.addAlert = function(index) { + //$scope.alerts.push({message: 'Another alert!'}); + $scope.$broadcast('AlertIssued', {type:'danger', message:'TEST!!!'}); + } + + } +]); diff --git a/src/app/users/users.html b/src/app/users/users.html new file mode 100644 index 0000000..6e0da36 --- /dev/null +++ b/src/app/users/users.html @@ -0,0 +1,116 @@ + + + + + + + +
+
+

Members

+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+

+ Tips:
+ - Wildcard(*) is available for partial matching. (e.g. ChrisB*, chris*@appirio.com)
+ - Maximum number of searched results is 500. +

+
+
+ +
+
+ +
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
User IDHandleEmailRegistred atActivation CodeActiveAction
{{user.id}}{{user.handle}}{{user.email}}{{format(user.createdAt)}}{{user.credential.activationCode}} + + + + EDIT + + + Activate + + + Deactivate + +
+
    +
    +
    +
    +
    +
    +
    diff --git a/src/app/users/users.service.js b/src/app/users/users.service.js new file mode 100644 index 0000000..66ecabe --- /dev/null +++ b/src/app/users/users.service.js @@ -0,0 +1,93 @@ +'use strict'; + +angular.module('supportAdminApp') + .factory('UserService', ['$q','$http', 'API_URL', + function ($q, $http, API_URL) { + // local dev + //API_URL = 'http://local.topcoder-dev.com:8080'; + return ({ + + /** find users */ + find: function(options) { + var opts = options || {}; + var query = ""; + angular.forEach({ + "fields": opts.fields || "id,handle,email,active,credential,firstName,lastName,createdAt,modifiedAt", + "filter": opts.filter + //"limit" : null, + //"offset": null, + //"orderBy": null, + }, function(value, key) { + query += ('&' + key + '=' + encodeURIComponent(value)); + }); + + var request = $http({ + method: 'GET', + url: API_URL + '/v3/users?' + query, + headers: { + "Content-Type":"application/json" + } + }); + + return request.then( + function(response) { + console.log(response); + return response.data.result.content; + }, + function(error) { + console.log(error); + var err; + if(error && error.data && error.data.result) { + err = { + status: error.status, + error : error.data.result.content + }; + } + if(!err) { + err = { + status: error.status, + error : error.statusText + }; + } + return $q.reject(err); + } + ); + }, // find() + + activate: function(activationCode) { + + var request = $http({ + method: 'PUT', + url: API_URL + '/v3/users/activate?code=' + activationCode, + headers: { + "Content-Type":"application/json" + }, + data: {} + }); + + return request.then( + function(response) { + console.log(response); + return response.data.result.content; + }, + function(error) { + console.log(error); + var err; + if(error && error.data && error.data.result) { + err = { + status: error.status, + error : error.data.result.content + }; + } + if(!err) { + err = { + status: error.status, + error : error.statusText + }; + } + return $q.reject(err); + } + ); + } // activate() + }); + }]); diff --git a/src/app/vendor.less b/src/app/vendor.less new file mode 100755 index 0000000..b2745f7 --- /dev/null +++ b/src/app/vendor.less @@ -0,0 +1,10 @@ +@import '../../bower_components/font-awesome/less/font-awesome.less'; +@import '../../bower_components/bootstrap/less/bootstrap.less'; + +// SERVE +@icon-font-path: '/bower_components/bootstrap/fonts/'; +@fa-font-path: '/bower_components/font-awesome/fonts'; + +// SERVE:DIST +//@icon-font-path: '/fonts/'; +//@fa-font-path: '/fonts'; \ No newline at end of file diff --git a/src/assets/images/asp-logo.svg b/src/assets/images/asp-logo.svg new file mode 100644 index 0000000..1b1642b --- /dev/null +++ b/src/assets/images/asp-logo.svg @@ -0,0 +1,47 @@ + + + + ASP-logo-full + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/loading.gif b/src/assets/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..b9ac8093c9d76bd89cc803d7da3283eef62a4e2b GIT binary patch literal 4178 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 XRw#~?qq_)rl?1fa4b*B?>|Xs3H{S=t literal 0 HcmV?d00001 diff --git a/src/assets/images/patterns/2.png b/src/assets/images/patterns/2.png new file mode 100755 index 0000000000000000000000000000000000000000..ecb1fbea43a207088e28fd51a8273f93781cfc8e GIT binary patch literal 5048 zcmYjTWn5HWw7ml;El7u;bayCl$)Q21K~iO?L6H)a!9Wm@8o;4zMnLIOP>}ASK|s3x zI)o_U&`Q0_dtcs%d(S@Sp1b#2YwxpvC))g$0X+>D4FCZ2MuxhU&^QM@*;HiEJIl$k z9vY~94ek5^fR_3EfdQG>8~{LLb{`HmH}~)f@bUNX@x5jQhhOu32Q?^pkr5Y+&D231!>+oLw zFRZ(h@O?>IE0jji7ht5ScIERw5r6@Q!5}EX-%8mGz|do~R6y&^tXA18k!K9QbTS-a zA>pvr0PGDDst^`H>uJ1B0idN13&EueTLC!~fK$JVGZ8SC0-Qu%u8aX8xWkNRFu)<1 zj}?}K1+Fo>Md<<_YCzfW?HE14Ru*7!H|bOXrlbH_BO7-^;6p9YI>bm@1yIoevKCPh zVgSW6z^O+-01bp^04)03HXuo&f^k(GQYxbgtP@nx3w5B9@}sn|k>(X0GGdotQAUy> zGqt4KgEBbfLlqhR+Zh0W94srucIN~=bg5!!NIAad(mknPEf>%Dot=rN%fqFTJp3CB9v|%e*Ze~;RQ^t=0mb2e?E|}}`B#P$sl%P;RuT-3YiZAp zdB*rVjhyRj#aW0JOn&jYnV224!3Q8mTsx`Z*06;e< zRQ!WB_ih`9Wb4H%Z5QU+Xpfzg!*v8Z+jSUqXk0_CJaQ5%d!-}#dhi2}xRcB`Egr>I z3y;@HzL%uit-oAS_htBpq{6p}HilADX!lStBl%{cV9qhN0`XMr84-tkZH5#~v4Yon zqgX8XO|VLaa+WcOYu1K5+v<#=G*fc&fD*Np~p$)Qyi>fh)-!|RH!bA{{Y z(SCIekjqS9%gOrs=o6PZMmcx&YpDmrOo9fyTekHl2c<&iLs@A;ht9_vlGI5q{U7D(A8wbCH$?Bb41WxyU<%c1rBwY@cESaj`*pyK5j>g&|x;TG*8 z{7FS7pM>i#|Lx>(mY0jPHIx*XU`k+?VSE+^@4PO^6b+Xbse40a^zl7nlxb9d)Z0>E zO|m#k(U40ZsdvWJvx-tBS@N1hPs9>#sbfiDiF=7}+kpn>tmXIq(CUY%W#0p1&Sl1B z#pR1`>GImv?=mgti*gZ{l@jcA%5!ThD=i|6m=zyqstks)8JXml=cSBsd9ZsN+^_r@ zP=9$oh4)t4SDVrPHG`jNKgo9k>F8gxhIL1wL^-oKC^=A^fgF|TrUjg1v7Frq+3Rw@ z(^oSXGJLFU#cRZ$vts*bQjAlCQ@F)t5XB`0B?~3A);reyh=k(1Rxc{_tre_@#nj(Y zORYAy&PlI9CO(V60$MZMl=|u1QHu_dCoExJA7xT9~#I9J9c( zCH6y%yFk&jPR`BIvm`Yw)wa~I)S}ejcaw6(Mj@`CNw2}~DD;wcx3P$$hyf~L=mKul zYT9bPkfxCBrn>50g>;E$K6h?|ZeWXd;buC%`ECf_)TeMEsA=`zl@~H6h!d}Wg?k2c zwim1E1TW6g4RL^7N`5{dk4*P0$pU_-LkpgdOhKl7569MxfbYijN8C5OW7uapqGi9sa>8&ZQ z<@~Tbb#b<$#;fK966MT}s_m-i*i33ldQtx(?nIrEK63g}DUUr*u>Yq=EULFv7cz&k zH#J{$?WV5DplpX3ho=;XHO&2Do%eB8Sz`t$c2u2z*iKYzw8^V}=`;=LEN;SlPt%fd zz@Fco?@vefa9Pz^?Hfh2m7B_&_ctTw-VP|f6~o&p_xTH90GZ`R?1zZbCx ze<^V0diL~e1Skvzt)|Dx_c z-BjI$ER>v?N~M&slDI~R^aF6_dc9)3CPCWWZeZLNXKVD(tW)2jJrwMB3X-DzP zj3|#pO~D<-d2ekSir;*ixQ=a93KHy6$d_EM3l}MV(`ZU>I-jMAXUlwY%}ZWgwMi~4 z5&OnZr-bijQVr@CYQ_CYf05Lqus zyuN+04Ez#PBknbBR=Q!6RuSAJ{Pd=0=-sxyS8bnRp1*0WX_g~i{GOZKxMOB3W4HJj z`R_H3TZ1(^rh;XbJ&pC{l;|9KnLE;_uO(wH`BQOeXPxV?`>6Zc%7PT$;ZkZz+Dh6b zZ~Ez(PxOnoKW*&o>&?of4T{b-gw??7-nD>V8r=$ehX&O&5$_SZh<^y>&C&VK$jL+R zkxlMrjr)r0zm{5<8DVrN7V>D^QAFncg}soA5)xS2t*B?SOjmfR|o%<_YFm z*>}pZt50}PJTeb-GPg7Jv#c_Y9Go5M%?30^CVnkEJvNxV%8;!H+65W!AbRi5ti2jb zLTwLYa4EPK!P0-{oM!WCo~^nJEk0oI*{Wv@_&%z47Q3p}s5a!d{Uu<#YId2~=8H{c zrRqJeUje_s)1)!8?uP7!%!)ck&$`X0O`o5+AFOfXuMf@dHU*K`&L+n3D(dr1J5PNM zx(@ah+2(^EiJT1eH%teLY?e2gHQw9R+R&bc&qt1HI-Jf;ZOy%W&>EPtGcspza4{lm z_!PUBzyQCHkde^;n*Q}~{0$8il^>dqPS%bK;lr-O!g%)6ywm;)b~c&d!|~sfLnG-U zxoO*JNiAN_^G|-Y{^qQlCA1TGn|sj;a(8!cA8oV+&IR&py<223TY7%&rRbT*-;aA% zUki_tIFpjjD9F=yj$IU_W}*A$H5Wt6n*i`s2mnID0O0Q#G_C=_V_5+BWj) zlX$O79{{L`M!MPv^vpVL&2rX|CBmn_=EFy~Y7R0xs$PKs=HYh(CZ??LL?dAZ$!X!) z|8SdsL)}btl&ktJ7iU!qMcGsS2(W6{|1({?^7weR60!OG@5$Sd!8c$+GXJoE8J0#f z%DGaHkp736Uw+KStDutbM(+LIt~Iy((|@b>lr4>An~KZ92B7#0RT+kHIx-jMt5(AN zQ7oyQ3868~`oT_{8jaHuSj(mz6WTK;t-3Y@ckoUTobYCZFJ6HSg_!9{Zlp@IqFKAt z{KsGEr1TH1x6kX2*q5;U^-uV9>ynf|Rp>zJ%(c?44*9+G>|o`Fwy5l6Y(xBMmZ$m^ za^p4&R+$^q367ry0)~9n*6(({ixkq+*u2x1!k>>(KAD^hv3$Zc-|90C50%Bz2JVjk z7#`%ovNTv)9fxGUh_ihE?Po`AZ!Nc$nA*lz*q;)qIdt+vA}o35Tc*R{J6sg$4T5M< z6-Q}KVCuwle{lkRG}B2^IpHK{sH*F9jw(n3SlBxMUldF zs(;4i){(OB!HhY~z7ybn#ORl%&5M|d7MSrgHGbn6p1t{{bQ>Bmhu+Mce)hO)4h<~B z&$P#lkAl)Z;j2aa(M&eJ`2$O-btIsVj^NLDSpM{of(}LGyN;nWuXhFe=plZkTnV8N zByWOCwj3VP(!Ugz|Bwjz@4e2O+4O6~_0Oh2PBLzzBYts)$r~J5OdR`fYq<70xt5qp z%uHb<877jcHYM2`#Ph?Os!g=0iM@+xL^~Q$Phzx!{0k}bCKN*e9>k=!0vXr1N?Mt6+HF1jW1=M(M) z$7`Me$+Gx7j0maX>pI1rGiHBCMumeRM>2s_6d8x=X@~f)U{-@a3PJSj|5ntRF(l?G zH1vl<^dv}OgnjKd?x21qiIEwCl_iT$s<82EMX&U8G}+j^r_W*W2F;ea7`n`i`SW+3 zK=c{4dA%37zx9HhJ0Z<}NB;145-$dp-$8Kc#l zB#v7IxCH0$os^afP!R5u#WHIce%BpZY)bpb6JMq*LBdr{QH2mFO3ilH0n z%-hkHaU%Ol7ZTE7eU41o0V#z`oMyXE6p$c_J%W=VXF!Oxg$u-bfDf>wxqXBGU6O#R z(!OKW3#2VM_Tq;2jHBxt;|xfOyjpg~M5AW)WMpHR7K9>S5wAq(Z~U>633J;djHxc9 z_<%dipF&9TS{W@QaH060HJ0FVAA-T=D_A_#562R!(G@C_t5E6k5yqNPpx^`=u?caM z;!I%k1jPd(rx&<}iF5=P;=Z#IvG-*Kr#YJk*v*Nd^dAhVaw6W>+!DUpfxEPBq=W|v z{eWBU^o*DH;~Ih56c!mY76k@jAf|a^8tUe{Yg>#)ioAIX)32e!#fE#(Gy(q7m0r|e zK-(R!XCJS7O`w7Ni2v&W5d;Ch#)t19C|=LUB<>z{g*p+9GCUXFLn&4(j+MjrAnm?6 zD&)92f#G%TTD^m4OzH#h?|>4yF~_ie9EzFf7BX5zq7XTf=1kzd`LD7P$X{2i4_z$j zKm$T*#LKdG3#tZ{e4tXwKha&uR9Yley(cZ*n4}Z66TBiLaPCN&RFblPKkXBn=46?& zEc7LVGhw&ReWn%733Y=q5AahfTGXp?eVxo))dgf)$z&!F^RHwOE6>W$dq5$HgO30Y zg6h^41y&3yReD2XRs7~s*7flE*Mn$jjV_Mv>;SB_PzZM zPxurM&3Xv}MJo}v(>*UHC&oou5BAd#;QgzauzXh{U*dg`;apKHL7;MKJGXA7?PwV4 z(o3ukL$Ete;FiV^bYS`vdF#4Tp~^Bhj>~rLrz5)gLBy)!40JxaWs)RukmFZYp5CA1 zpMA{f@0L zw`h!k@kgN?NsBKweq8QcRp{}$b+u}kSd*Vk?WefRH7zcpqTY3U5pgWZ8|OzdG7u(e^)Bz z9F00OCCNb@X5Tbc>hp@#4w>lXnc#0EhrP8~IP}+-=K_tG?sg=#C^nolRS8LB*okK9 zN=@Z`N^x#hu{e+!zc(kUtbgNb-izdg2{A?I?H8Y9vTH?mCR#q^#J|DXWG5T85vq$; s@{8_8ksAwU#N6}JsQUYrct#E=md~E$8pl^bS0lhk@0M#C6wF%SU&K&qh*H^k5d%*ZCd#(cA^4L@TDp{KgJ z4*(ET{~K69W;Q(l5a~I?VEXz_9=;wvP9B~t8Za1(r?&^f`I!R%_|N4SIT{=7(8^yd zok6vbp~+evhW7|q454pAX%aYjSqUjLk*o!?_YAryRa8KX{rO0o`1sJcdj|X@u|zZY z8?1%#5k<(@!RytRMXpnA7e7aC8>SVuDo=Cj$M8D|NK)0s3?xEH%AgR+m54rc@9Ku2 zQWz1tCqO|^Z_ny;!-fT12FuCuJ?O;m0I>YO6B7WPI$52<_oMH~ccB@Nu|gxUI(-u! zY7vCe07`-J&=NpN6)Q9+ozn=&2LaYYcDCz)z5rm&74q{t5SnwD@e&KLOlG}@m7f5x zP&**ufRijxIrb=41uzo^Xb@UxX<$YG5Y{k7r~@CHfX-10;yQqU1Q0erzUBcyF9GX* zHa34CG6SGdJu#I#=BuXI;>AQNqfV}cU0Nl~l0d)<-_%qP!ab@%$44V+gKd+kB-kC0 z0TvAtCto=o27vs8dl+v|Z~RBesz*m9;~UAI3haKtyL(`3yMDVlR^h1x0IR;id2KEfc%{~(^JoXu~8{_*D^c1xv?>$iH2I*44MYr zI(9$pG`)HDCs^+9#raCd8heIA zT)O~(lU9$eAKU~up-vI2V}5ssiZ^Qc96%^SBhd>0p1|1!jR)%$`v?F4o*%~hQJL|q zi=Mv|?|v8VLKpF0Ysp9`JGvW60VT2zz3*+!QyC8BjvD#M#A_||Ly1Ye)4(Yz$&*a5 z+oYLH-jn>wh9I|#yDf|mq})$HZNoZ;#IlVwV~Z!C%Xods+NBPndc)2#fTS^app_t@ zE@BvK%wnR>bRzGKEgk(>^>c!3KOh?ZH>yodBsr|kK>i0w1FYqP6howHA@MhRUy)1{ zZGP4_?@tW!agqgF-zuEQ=THi;KH<)7dVDeTGhxBr9%$`De!?WXq1p$PBo)03A0JiX zw8osrsKQh_2_->(P!=1AvbveJneL4G2bTNn;*@iQQiM2>2Hji_l0ImC;`~hc z2TgA)DiUp`&d)YQg`yUsc!`9erP!%rV4_?t@31v$-y2U*O{h+|8?x>2mt~2oGq5EM z%-Orv;Y%m;v+(u5-pJYL*$~@c++aPiB+9W>@_K)1w8m{X=%NYUq}UYS#B)d&RW>Qg zG+g{pU`#22vVc|Ra{k=@}0qn&gsIrX505OH>*{`x(2enp+g0hg8i^TRJqbJBJjp1% z+*b)N4>=~GzWHMVm{pGwtk@>SCT%q`p=DgIXj1j9DtVl9@8fm$b+=x(-XcysPF7AW zon4)SOhcWP5}p!SZCUNUk>QcTk*N%cEP0V>(XFhltm&-fCTk0S3;xCrjm-`kbsH8X z<_C>!?yoJR&5O-UEUfBPt8%J1rdq37ODRiRbdz)|a;F@7J{~s?G?q1iKW@(8%~v8jx9bBr^q)kTH!;2X$pc_jJ=Ef?HiiD=U!H;ffMIB zS@l`n`yb|O4kQnp526?HhQ;%Ea?QnjzV-CORtz@B6^Zjwgk6^_gY{r~VU7)3Y(jQI z38q!kADfE($}emV=@fn|c;~GvtjkF)i7uHx9hT~B>Tep->+#5a`g$1_!ggnW7kD=g zl!kI(IpV~GDTi5NUtb2kV*L`YC^PTyyKZ)0IWE6N`JOT=yefRNtBTdB|JS=J){Cw5 z(S%WFve){-+f(20ZGPIk=?Ny`dL8}RG)ghv6KTdUE|MnUH@*P#S%zQ1Q{hWljv{)} zH3FIvyb9%lE^>2HpT$2b_6j1*hbPT)%ru^9-Io^Rt(J6u*0KC||1^3nXN`FMC0)8u zzm;b|!D#o{>r&b>K`MTkR3&Ys?!)9GWeVO8v~e6K)P5ZCL;>AQ-Hs20#wEv*GqA_J z5Zx1XUY)?iUkPmz0qkGJiupHNBDu=mwP}-TFJ{T)(q_J3aTAr7X%~q|OnB!7Eoaq9 zYINLn{E2umRO#@#?)Izun!UIFt&>-TW^q8{N@$~DI} z^14mxRqUIlRR_0o2I{zmJ?R<@?`ptu-6J+3+I$_fw=lhLrDrB&zT9AQ6_vxNa4#md znr5CZ?OwW3 z33+2f)D+*I8d)E6$8FA`p8%;Osma^y-ZeH)c)-Ta1>y1qgj8nkMcm8ERs8SFFPI#e zgj}GRCz+~QMw!=^ww9muh84!Ac9#PGs?9T#XN$|32WXxe4>-^5gnv(RJQ<72Ny!Nc z7W}hdJzv=Pa?5UX*@fKW@H2()>V(SOn=RQk+0n-*&Aumf^PAMB&8C?(GEd!heRt(< zlfLWqwPv?wR<}HMZ8->RZ+MBg*kR0-8eKeV4>+d1o0`m(mS1c?4fMG9dU3u?yBO@v zbu&8DI_t-EP}Qc__Vi3?UwIa`7(J6d>xzMyu2_c~(iHsKsa4#P!d zpoXGIqxNziDo9JODSF@R{4Irz*^hDN(%lx`4pr093I$(I?oE%5r;it;ounmwaeGyK zv)j1`u9@%c?uB#=_=|}=IeT=y-{rU9$8=bxzV@M>m+be(j5pV z{q(P$n7};dy~$#yZm0tQfgAu38UX-*?l5!*0GFhdR+BOIAb0E=V| z7yiSd{&Z@pYCq%#92W-1zMSX~9lEvWf9Z(_3F=%=i~CbFu(2*piswwIullGD`1s&W z{}+1|K{X-8ewO#gECO9TK1QCAY&fuA@uzL6Nl0ciw4J`zGyFM zG29FH28%y&NPRWM52jB8GB{#{{_JgyB#vZq;BW2JQN`)$UKbvI>!e85k{qfOHg3cc zy5eALe^?U6%ANKsbw@0#tT=7IPi479ZvXoXW|hRyp9bIDCXGq{qHl?CeZkj5;SQsj zo7zVYnO?46NFI@VseuKf1h1%El9if;JQVUTR}8YG!m!_z(12qQWJPGfq1c|CM+h(^SDITv=*gTm+LPX zTB7%pMSs>o>$UUhIUya*F@3U(-&W++anrghPp-xAc)EarPJ6-i1W`+)aAi@?&5YXB zH|t!ojK1fc_}FW3WXF0A`B&@v{@szF^hkR!QN@;F7^Ss!UHUN^?yU|El6x-Hcc>_p zcQ}DmAfc$Y9upo;k8nv5(*hp`8`krSAG1G}@zDL%fkHn8Dx9qsEWAQCy+&L{zriLM4stBaUU zIdKsh&&|OS$CW{?j*ZW{3$ZD3v}&ZNg49SBzU2jzB6pt}X+lM#izN{;!~B$B`wyN2 zUEP?_9VmX`fFb)^Hf>BhttQ{>>YRy z*|JrGYalI(Cq~x6*ECRQK1vRGBceCFy}eo6u-p3fReSTlW6aBTBz*f*S%i%y! z8Poh}JM?PjWdt|)nj31Nh;{}}q?*qbo4EFtnJ64hHAxGq=V)bZkfp&%={vQ)bCLXh@_;C?h>OVW=-4vErC6Ye!VbvbO8yLL|fP@exBtQO? zo3b$;q$FsD^2V#NF0N^b0fahr+1U-#;%@Mb7beJ_&YKGfR3+$T`E4spgJT+H5%D3o zcjHl2?e`M}RQ@CW=L8VPA(-fwsnHAvOhWCMpZ-g=~wQh`4QOzipa#1Yd zB+F~YB=VsCnS|uSD%YcQCVf==SZNnqUiR5^$8(pgJ@Skm{VN=`Gb@jkOFCX82_7H5 z2%C05Kp)Gft)CUe8+~l2U+(^S(FM#uZ{J2WoQeBK8WW{fQXt7gWR|X0QRL+Cag^;n zQ<8;eTYg3qbc&`RTf*cxvFnd}9oJN)vY#^?uC5c5F#rqbvh(GFxYqa_DwA~kmrnSh zzdke#Um+(#Q*mScXqpll6AX{ZYfgUDwf;8CUsWi+YH{Rx2F(^BT)jwwIb9!v!5-Y& z`xn=+w5P2uHFr6x^-H!yp6LRbtu!nR{_58Al^aD(Inxt-c#2rN z@?(&LeX7?HQo6x+F}$xbHCHi>jI-xkz>V{I&2r`C7m2gdW9-_k%TfClmefPz12EE5 zX<)CUVZK9-QBYKi)OBa~KvqE>Bpj!hi>YKk=0@&?&G^9cl-gXmvCOWsmOP3s`8CSS zA6aVUxveRC3(61Y>EgqX;}xjIkiYIcEU{(C#FW!<-&YyrHxM>hkhPJwm+s{@llxH2IGL%reR=QRH?xcw*(o);f0_) zDOx(w)vAQh#N~h?}eI>UIQ6qa{1l% zh-bVoXnh5M3dieX^B>_{+@zg*yohB9?AVqq#MDPWnPbsJcPv|JpJ^vEEQmBxDs!(z!3>HTICW zaRhL;0`biAKtHRq1(k*~B2uyIMRgC61O~^*l1Te^BAK@{5g-x;yEbm!K~Q0%KK4hH zOz?8b93E=7i;@h!nJ=tDouC6{7_b$;F|bci$3E`BAO&IP_~ht=S^$zmMD&{__RFu(TuXF0|w+sx~`$qnDY zgrUD%>wl~ef8NI;SZmoS4k?qZhZW|0L#FuswOw~yhLds|wapXyb-k18yr1_Fg?(U6 zR%&lO$RR7WD=;{EIK*N9qF+?PCw1OsOvI7`DYM<%^r$iKMUqa$Rb1@haeAu-)(|sl z{2??UOhP{WS0xmA^NG!Is~Kn1)1kG0*f*r(XX8v3a-cJ5QD_1}LF z&vU7@De7X*XBUXoDM_;5ltP>6yx}pGP+s#S5u-aZb(heM_YWx${}pK0nu2B@hZWW_ zMhn5Ii&^SUWaFrj7j&AyR2Qcf--Ja5hr0^q#rOUtK1WT~+x8bEw&VOpsuHK8xa1Q! zp;Vy_Ogk30=(z-^Ll*=IazNnVrq<(n8 zpHE3Od3=bnf%xdN=6sM#j)c#mrlgF05<6)=+*oT`*q>b_qZq@_WdFZf#u1D8l9hz_l*vfJ z1|p1P8D(ejJ@dYz_n1kndlcitk}|L%st*~&22ka(V9ADf04_ei7F{4?4te^z4f0{Y}}Mj#Pmq-XxmD{APnT7Qb(4!lHhKsIswu| zcwUEQ`m4(*|I3TP#m2bd#Qe%z0bvBQ+rL;5YUVFlNli2SCxdFd#TVn7g|c&FW!*}G z5<7Q=#8A=fN`lJ{$e~#D9|~2v*kWAI-76zT_%QMj8v4~&i$6wspU9dUVZ`aX*rvW@ zT-czIqe^Co0WZkp&!~9E#t2FqA*SSo}xDL1tvCpzA zm%SMjYS7$d4X=Y{2vkftPq+;cXtw{5)2xQ5cd;p#4Q184yxo8PIgmxUY;o`;b|nGR zewYo5SKhp}*U`WTGbESz2d1)^==>i8{G{&tMi_H;5vh7}Q9Azwq*-<=6k^&2L$OK8 zER7>|Nez9MqW>TSDt;o0fzSa1E(*iek;@LqBx1S_!=xtH|G|h*b7c4=zvtn<|GKuE tO}}><9YDnhmtXEjpOw4TVUu_GKxgBkSOTld7fcfjXsGDItD)B6{|8d=L&*RD literal 0 HcmV?d00001 diff --git a/src/assets/images/patterns/4.png b/src/assets/images/patterns/4.png new file mode 100755 index 0000000000000000000000000000000000000000..11fac9a826262079cac382b38621010ec38fde33 GIT binary patch literal 11104 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/patterns/5.png b/src/assets/images/patterns/5.png new file mode 100755 index 0000000000000000000000000000000000000000..a00521e982ef3626d6e0bc9d09e64d136d588820 GIT binary patch literal 10843 zcma)hcT`hN_wGS?DN+Ok0U<~y^e)mnApwB|klv&!(vd1f1wncVy{JH>2}o~J6=?zz z1f@$8LRAPL{T}fBzWcjt-F4UfBkP=*bI#1{XFvPddnPaRbYK)$Zd?HXfC8?mh5`VB z2Jm;AbN(Oh7@^Vs|Sp9810-xQYL?&MSt5x0|& zr)r8LB}2)JRamHhJnR1WX>L(S>B$vNcYund+K$cZgo6P16D%jk&)!bl3J~~>kdXlG zce2_=m?O@vuBv316NH8lw0kGs)*=a|1(X8fRNeqe8U&#^>D>CjD?-4!-}c@DpeG1e z^Mw2y0YY>BWCRibW@t7#f>((E>oxmGHNZ(0csq1AN*yp30cahxK1u`M1pyJbk%K1i zt{!L~q#~;VNXP*ZWMnumKo|&E_i%9d0bv;ct;V*I+;9GJs%1V9sf;SQMowwhjQLM+fhI6Xh@Et^X=nMy*P{uzv7Pb9AX*!c_quM+7%Yj;lk1}V!22XDpIQCbPE zwh^7N-@CVPx-?Ykt^@#c-oeAC0>afdLS>0UT~713HVK_9$zDC$k9MfKs#FWS!c7?M zxSwOA{yL#?e0*tf@jK$9ikVHHQP8Plr&YVr$-{$Sx#RuaAFcD8PsA*qzzF~R==_Y= z#xM^hk%rxy`WX*9t|vP?hK#U(gx_m4=A&Ie(s;zFWyb7?Vc1`&B=L4}VbAR5X9bQf zE6hp)?;a=+1SSd=S=e6Q)8e5r_HLiw2Y~Hnw~nt+lFOk^&*p}F&$bj#V6V7AaS9pqRV#Lr0D#)7Cw%XeneZJ90_{Z19sf*qkR4m!3RB_y*r`ILa>Xu`+0&Z$ z?Nb%#^MQ8|K5OBxN)U;5q|@_ccS@m7!v;!u_p66CB)J{X_fJR(m3v68*|1GS65NY2 z=7=Mq&j|m+)}cvA6V1um8%c{~*GiPs6h%cDuo`MYw&gu9Nk^D#G$qRR0Af#%pTCER zqMuYD<-d~Gsx}r$-3ZgjBl}|KEt(mB{Z-Z%&zc+ZF}GeXe<^jkIuWm++AY$)!aywk z@u7&&rw=NXw*^R(ZTlZwP8`#G}boO z`L0>S%FHQ2JwYl(dN~Z)$-|ypq*cS+M1Am);hvaigt4Xo#~4lgHDRj2NY#&0oHQ>~ z#dsPMF2O4c46rm<4Xi7Q11C_NC82qPBe{3N&bf+M8ZE%e-xI!=v-n|Ae35C9ZQJZh z&OIfMfa$8&332`}ZqWyql<}Q&@D;z8GQqaj=!NmCJZva*F44&$=TWp^RA!#0-v% zz6=%V+HV*~q8YmlM5IL5(w8%?X1Ey|^VRV^rc3O*l7dL#PGRB`HYhH6Q!-ORX1HV6 zZxCN>sUK9XVJNP@P)zzYwbZaAM{iA^N#C(pwkV>+vB=Fpu^`ywv!a3cFToIoH0zVo7H^VTnjhTb6YJ#bG6+H zXZ%~151E66PYh064hwf-DXZ6lzChAV(8{Rjv+Opc+1D^--2F5ZZ zv*bm;i7jU>XMM|>t+zJyGZm;Ss%x-^S1p>pG1;tp?;36@ZGtg2G_|PKD9b718fz|V zE~GAO)JfJU%^h?6@a}hAZ(VUc$}Q7Y$mrP2Q>x7p2!nZ zM2u6GLQEmSUNxSyGIwQWG6%Ca6@$9)sW@Rr;~}b{@8Sz}*ZO%s-p|p`8i6^|J2rYf z+lh>Rq4l(1C`~~qi|NyJPs<|0d)LEaE&#imlU1G7xluG(v3YCr{$|9~%g+)od2>y~ zy}o?tQT>5j8dfBGnIhsm`!-ltRriTw?J|e3t#G1I*|&G~7~hh8n=N{UJq6E~3knNz zQZr&RCRU%N+UtAj`*lCK*9%@5`$BB<(tFGYKLm6YBO1mqPo%*f(S`Ig%Y6$auZTb5>1Mqgd9vh zj~eF~!yjrfOAGOp-*SD}I(xja6EUANPqq+9pDx^E;qL!>uoE9%c)eJNMnEQ2Njp;K zHu{$`6<^Wy7_RMWzFcuv{5v6?j_kt2w}vCXtD5t%=xl59-3drqPkb-w&)Fr85m;&r z<0(#fuT7ynoh6fdJ=2HPMND3%Mf6!xVuFWC3EQ3II>%MVpAJ6#Z|%dYPP<&A>xEfT zh(5jnCD6lL=DUTQAQxXgX=; zlIk$ewTuKI#y?x$K9H`G^YEX%vOxC_|MR;iAqnbxSvl(#nHdxC8DuKe6oS zd)iS;;Jij=cx5R(Xl?4-hJ~)Nu*qz#&EfMLCIz||QRTFg^l5Y<-=R}}OH2`NeQg<2 z=$hivkBxRi4p;}=&l$m7Gs@JGw4Z5|t`y@FH59XVYc_WG)F*}02B4G8&+1eg^V{Sa z-rE=U4i3mF8Wb4d4Gs-%ZDOZuZNB|+9o}RLe7`5LK00ake*Z+Fw{_Bx!0^tf!>Iic z{HS_gvHV2|?oaBGi$$4^i^oRyW$fh>Vh+l>Z;f9^Ay|0>RQwqK8jQ00X6tFrmaibi zEegZf>`(I??rQ#vxP8*ueHIFt37?q2w{yfJH+>+E5a9de6NNt;I!)Y-zpDCAd`5i#bBgC{xwjRhrRNnrPjJVD zszY`|+`06pd8hs5^w))h|BSAE8yrp_ex0_RmfYs@7<01PzQ$NF`Kj|0OKY#6xTq!m z?$Jhv@02fOD}VN??&4$C5a^lHLFKOgm%^iD#^mHP!prG9$F|~vlVH8cYO9I50{{VB z01)~N01nQ;D-Hl2i2%T=H2}z@0|32Sl2w-m0Ni{IS5r3dn^@0TGh+JI7%?lac}d`7 zSLKV>Iu;LPTMOV>5-0Ah+2xP!4nA>*+#De?z4 zQ0n`1eB(TdnO%GpTA{yR`{><1c3AtG#4}sgw-)iet+<(T15xb^FI80)EH+Oy;G;}k zkHQ8kQ*a?_*UHw7)?%N@Rp^9j!Ll}v4|RfrV7@YSZr}BdZaBI{TfCab7JZjkg>shN z^e__(4!29=Jy;02y>|c6o-6Fzo|lGLqG{$r$`yALiJg@E!pVVqqiqQ_LM?(?p7AQ! zdBm0qYMick-dxiM?ibX7DDVn!sS#3`yrngIFnf$(j7k$|55JxSu?X00txA5B5@van z6bFHOY$2o0;tIag!P#(vh@gNB86Gz#_NJrg64?j`Oe=mVh$G`iEt$J$`qJU=!#EQc zzqgss4sUJ74JZXM(cbTP=i;teU*cQmn+d~AB|AD`2K(uMTq;_(tDbFhH^Ht&*o1sQ zYRY6TY+gY_dW-TT-ez_5RkYaNWoqOZ%4}p8z85+?>{{cg_+FsZuTcHc(XBq)#*N9- zJ$_CL*(77E8Jb5nK6sgYy}1ig9faQ>m>6WMa0o@}1-?`~b|^I|qQn7u)@;1YKomkn zZCr}8d1Xejy0!SxDNd`}d`RvvvY%K)pk`d?xW-Br`lr6SGRPPg>%}hC*U-lhEcc>HI<{5a*)z&)cTBl+t+E221y1c;6YYQ)GZg`OQ~0PQ~-xWu>UgO8M89UYPk0i3oU-JyLha zI&c|(Z+}7-GXSYJxBBxiwtzzksNFy4)OCB*3}Jzzp+Q;gV|99(ly}gpHRyG$mPnHY zBij4zhW%tM5gZ2Sf&k0SmO`#e1Kvv_a-TvDPu=T%HDxZT<@uW{fPQl9eU-e(x6Ubj zEmTMy-I|{?%>;d3p#hh<-E=BrA$ zA*jZ;3EthN;QZ}|xpO2b2*HOf%P?I4^&uT7NC&({^Stpc%x0V{W$tGM`MP6q(*%IUzPG zWW73t_<4)p%k@q95&l3AQqvPy5#vWlJ9k2Z4y}Ga*utC6fxHShkJM@@huF(X$!+-5 zTrPQYTs6a0O&L?8C2$;15E!W2O;5mSUi9Hvr1Y6Q+Gzt~#BUx}z@dF>!&H3#LqE3k z*=zYrF{DbiR>;*EYE8^K@t|&0ceO%%{@g<2`dxO&RyA%+1`m1#zjX4IcxQ^J!Sw6Q zGTG3+V3`Z!93ktK-b$*aUPGUzsx`HZ_0Psv^OC*8(q9kw1bfxz3g#SfO80N@b0eae zG0n36++CU*5NStjrD4(M5YLDs3R_Cz(E0cHxWo7ZE*ffg3MLp5uWGh=K3aBT#8pHy2w&a5CJz z9PRUU_)XW_xu<6j`>_=*;!y<)KB=(mm(xa0M^ap22s<3s z@K{E$`q$$vF-kxb;rUq|w}$W#`T$GwHsFNJZO;Kze)k&2I{Fr-f9%D@+{PJ~d%U#% zx}sC~XXkXd&C-m8;7vL}xEF=xgSiy*bEyOt?wgLx)bBlpcdsWqYFSNXSz0c-c0@X* zJUG~ea05@;pt|HMdd9xff_s8mS^SuK{N4kb{h5`rHQ72Z+-Yu2Fw68NbI{Sq@q#R_ z_G+Vz$U2D2EVCE^3A+J$rX2llPp1tIi@s5771%9{gPPL6bgAc;Oo|gxo2YdF)2qoM zK&56L;G2ehU5*~+fiz=yKyVpreY?Y7&VZxjSrbn4#qSL!B*pQG;GiI+Vcw=cf5%ts zWCf-!`TT(Po-+`cl+4x#Eyv5b%(!8}G}5{B}Iwtg%I_m>NpdlKE33)mSmM>9huYz zWG~B#d7lN6Dx`1{hgy5*p;yY>ak97~i}+}U+qj08;{3a7A%DK7>v+m`C^wINc3YQ- zmZSta{3G=u!|OYjJd@+fRJe{7Vb#VAU zfiZIp^lKU$BJsD5OjKk7*uDY793NVCOJo3q^g;;6(t`ZzpX+sU6YV6&jW z&jhRua>%}LE(ql1)J9+Rl^TxC%;W-Fx%+gb2eH%C+CUXUf{Iu-LZObOZmMw}SXZ=6wS?S;tseeUum1Rs4BD~x9z1ns z(C7mwDHe_*Ee~Qw3Kopk$X=EY1bZjT$|oA^$48lM9cBTGzDeew4f#|U{P>JVeW$L} zP1Q-+RNa+H!hIII;@UyQp!=z78L*ok)jThB`UM_tj(RZzPk+;6Via&IEOz4|*vjMW zGLvHA;NY}^1-majDcelo3(>X=^X|(O8d5zdl{#)gM#&FNf`%a>*+&8SBTgRu6%tL; zymGU$hx=sdZlqVZRO zEqX65k^^TvF(ul+8$L9K?%)r83r4zj5p?NZavZ@kfy>EpwJi^u$BYlRTNAZ^$uOwO z2#U8=PTuD80!V~%kSuA8$p!gmto=Wcy!(q8CdE543{tD(^K-NH0jZ1B)*_X8=--+$ zhe6MBI3cC6V0kuRo|x8|?hYo7KiyIwh;XX_SxY*L*j}*PJXYg1;>LaFySsezENLrNtAz8>{i9dMGHWu;A2`}sx%1E-Ix?n2 zCa!H#{f~%DEamntY7!AwbL+i>?c}&88xXLU28_b>dSUZa^2dbf9USe}D0SSy)!lY@ zHz;eqSR{j;^j%N|hDSC!b&pJI+-5)NDOlWSYrTVBs=L=nVcUqOG=45SAxr%d$1pL2 z``$+J@G5crMr@$dr7WxAr!WD8lvebY*pdPYs zkfqx+jcE>v{a#=6mMLw};_=bV2Pd4S-}b%wL{Q(v-y@z!yZS~cZlzhaelrD8E`lBv z^J88X*g6F|zAMOgPO!i4)h%$BKKRI)$b>TbZe_sn!@}tw02OOr>uMhx4F4Ny_$KsM_xk^=j|0MC!Iqap~477;L^_?k>{N{&XU=#8{814LnKR@6A zlkawxDhmOT0b14cdGi{A)M?B3YIgtq7Y|&HjH3}twNsmat~$w<3hNS?2nBh#1^6e@ z-)S@0_v|X$Hx(x!p<4Q4!F$33fe3jss~PPnr%qda8Di}}==Q}r-`s9`p;>tUr<4y< zw>EG|O`6@PFOt|KH~8r(k;(OQ0k1vK-TZZO{R(j?fQ3 z@U}}>N)RcH1@}p%=8l&@e6=27VsNZ~i+bpwaDJa_IsWNorBG-^7=QDP=1Aq#mIB*@ zC9`Uj)$y?_d2-x_M(Ml8ZUWZyhvl78dkqv-wEZ9Js)zLdiiCyRr`1t?MFEGlpy6uH zc;K>{|3MSE2S)9|R%Ets0%lIWr^>L%?rhsuo5*C5f3)(yr=<;HX73mRs zz&1X-WJDakeAF}ohPocoGN%cpk?kFWo$(mW`%n3OhcS7_<>6hX14lR06ryuqfUkKj z!n?%>G#Kr0GR6jz{dLZ<7~w5l4QypqmSD?mkbxhQOCM+3FP8nMo&j_TptInNF^z5yzTh=?H;RPGV^l~rsn~wclg%%7@q{pg2h@R z9twvg^2_$1>Se=U?mgHdv*GClQ%>YIUlZz3S4QK(mSzYX*3H_#`_0HHfeTzDw+`Bq z5f0l@PQ9)w^RQ&Mm$m<*Oe_8^$f?Uhuy^>y2ayd6ReqoG>f!c3JP=|AyJ7f9d*LQ7f9lIDtZKon(>^KN5*^B}kwT!Q+lf&jPdPOh4r|+sv(K2hpV`>vBJ|kP z5p*S(Wm$vs&}58u_rHTOawq|tWb_+` zL_k}T;}8W4l`LB_M(~qqkMcT?lm7Tv+@iWA6D2^P#zSO$KS%uGXE}q_iRN&)k+vSb~Hv+_uMn7Tc_use)#o!U? zDPYkLF>;ozaa*Vr<^}gFVeBAy75tDjS5oIKKW>PimPfyaopoUMnP@^ðehwAUHE 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 g?lin)(nWXh3nQSRqN|Kiw0-jb05YnP<^TWy literal 0 HcmV?d00001 diff --git a/src/assets/images/patterns/7.png b/src/assets/images/patterns/7.png new file mode 100755 index 0000000000000000000000000000000000000000..3e1f57fda4b5781fc8e63d6e777221ed297d54cd GIT binary patch literal 10543 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/patterns/congruent_pentagon.png b/src/assets/images/patterns/congruent_pentagon.png new file mode 100755 index 0000000000000000000000000000000000000000..c7126603280255eec0b7784b461f4e4c3f6a9d8d GIT binary patch literal 28934 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 VKS%rozu)kVs-otz3I&Vs{{j5Cbi@Dv literal 0 HcmV?d00001 diff --git a/src/assets/images/patterns/header-profile-skin-1.png b/src/assets/images/patterns/header-profile-skin-1.png new file mode 100755 index 0000000000000000000000000000000000000000..41c5c089bbf7ea03e71b19fe86d590d9e5e9f471 GIT binary patch literal 26278 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/patterns/header-profile-skin-2.png b/src/assets/images/patterns/header-profile-skin-2.png new file mode 100755 index 0000000000000000000000000000000000000000..df46d46e5869cace338e54a38ed5442eea9dd4e2 GIT binary patch literal 28211 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%0A%BW7ZR}F^`k0WT5}i2)fKqGBP(Qq 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 LNkvXXu0mjf-K0Pr literal 0 HcmV?d00001 diff --git a/src/assets/images/patterns/otis_redding.png b/src/assets/images/patterns/otis_redding.png new file mode 100755 index 0000000000000000000000000000000000000000..7fa3533a0098920edc0dc06518f8f6d49d13960c GIT binary patch literal 10849 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 M6*b=%zx(>*f4_F4NdN!< literal 0 HcmV?d00001 diff --git a/src/assets/images/patterns/shattered.png b/src/assets/images/patterns/shattered.png new file mode 100755 index 0000000000000000000000000000000000000000..90ed42b85b7bdc8bd3147b9b21f53d3c57fdac26 GIT binary patch literal 137733 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

    YWl9y`;K)zj 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

    =Q8sO0wWEuL4*j_O7+qC@+(OC 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/patterns/triangular.png b/src/assets/images/patterns/triangular.png new file mode 100755 index 0000000000000000000000000000000000000000..7f41795c8878b914d43732f6cc995b4a7c154c16 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKz3?$tr89oG3JOMr-uG_co-Mo3%jvf1U?K<#z z+tFn}@kUP<$B+uf*y9VQGBNVFUNr4qxUbWbea3xp)r3ppYI6=7JlgyE-Tm|bKZaJl zzSzG0X>`9`jqd%bFAuYSUR%r`e|o!I?T@H^Utb)){%Nhd{J(8~{{AYgvhlwjU$YmR mf_>BSZGU~(S_3od5BpV~E$uupm0N+1VeoYIb6Mw<&;$Te17r~Z literal 0 HcmV?d00001 diff --git a/src/components/alert/alert.controller.js b/src/components/alert/alert.controller.js new file mode 100644 index 0000000..57a0e55 --- /dev/null +++ b/src/components/alert/alert.controller.js @@ -0,0 +1,20 @@ +var module = angular.module('supportAdminApp'); + +module.controller('AlertController', ['$scope', '$rootScope', + function ($scope, $rootScope) { + + $scope.alerts = []; + + $scope.closeAlert = function(index) { + $scope.alerts.splice(index, 1); + } + + $scope.addAlert = function(alert) { + $scope.alerts.push(alert); + } + + $scope.$on('AlertIssued', function(event, alert){ + $scope.addAlert(alert); + }); + } + ]); diff --git a/src/components/alert/alert.html b/src/components/alert/alert.html new file mode 100644 index 0000000..5accbcc --- /dev/null +++ b/src/components/alert/alert.html @@ -0,0 +1,9 @@ +

    + +
    diff --git a/src/components/common/content.html b/src/components/common/content.html new file mode 100755 index 0000000..cf5f827 --- /dev/null +++ b/src/components/common/content.html @@ -0,0 +1,24 @@ + +
    + + +
    + + + +
    + + +
    + + +
    + + +
    + +
    + + +
    + diff --git a/src/components/common/footer.html b/src/components/common/footer.html new file mode 100755 index 0000000..7276167 --- /dev/null +++ b/src/components/common/footer.html @@ -0,0 +1,10 @@ + diff --git a/src/components/common/ibox_tools.html b/src/components/common/ibox_tools.html new file mode 100755 index 0000000..977cbff --- /dev/null +++ b/src/components/common/ibox_tools.html @@ -0,0 +1,13 @@ +
    \ No newline at end of file diff --git a/src/components/common/navigation.html b/src/components/common/navigation.html new file mode 100755 index 0000000..d539dd6 --- /dev/null +++ b/src/components/common/navigation.html @@ -0,0 +1,16 @@ + diff --git a/src/components/common/topnavbar.html b/src/components/common/topnavbar.html new file mode 100755 index 0000000..141ff1b --- /dev/null +++ b/src/components/common/topnavbar.html @@ -0,0 +1,38 @@ +
    + +
    + + diff --git a/src/favicon.ico b/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f71b2c6bda9f099d06e69583299c85b9d5db9de6 GIT binary patch literal 1150 zcmc(cze^io9LC>JK>`h)Ln|4CJBi7W3@&xZlw|FHAVudoX@rjA(4keM#oizy7Ghhl zaS#-#36#?6WlN>llB8+O589;_?2?31!sGLXUO2>G;NTsfd*8eFKF|04-U;F0sVIVn zDjs$SahEfl$VV!1w5~#gxpw*h;J9f%8|vs)_n?=uF3-zfE1J>hmQFR{ANaD^_itys zD|A_gUd}u9Qtqwi#S!Sw{r49NaW9hNU76H`(s^D6T^HHX53}eq{z$*3J+Hf~Z~WOx zA^^HbMU^LK`K;-tyGx)SKgVIzdC*8{3N}G_4;n=Dz#{>FK@_;=&9(z5Ky`P#wC_RU;IfGy(4u5eU zR*rA)5ZbeL@6w;L_ZmvahQjF>A{OQ> + + + + + Appirio Platform - Support App + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + From f5a583f73fd4812c9d43ec75710130c64ee58aa7 Mon Sep 17 00:00:00 2001 From: ykohata Date: Fri, 20 Nov 2015 01:52:11 +0900 Subject: [PATCH 02/11] test --- gulp/publish.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulp/publish.js b/gulp/publish.js index 2bb54ba..3898546 100644 --- a/gulp/publish.js +++ b/gulp/publish.js @@ -25,7 +25,7 @@ gulp.task('publish', function() { return gulp.src(['./dist/**/*','./dist/*']) // gzip, Set Content-Encoding headers and add .gz extension - .pipe(awspublish.gzip()) + //.pipe(awspublish.gzip()) // publisher will add Content-Length, Content-Type and headers specified above // If not specified it will set x-amz-acl to public-read by default From be92ff192d8cb2a109b8969502c5b448e09db71c Mon Sep 17 00:00:00 2001 From: ykohata Date: Fri, 20 Nov 2015 02:21:03 +0900 Subject: [PATCH 03/11] Test --- gulp/publish.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gulp/publish.js b/gulp/publish.js index 3898546..d9f06e1 100644 --- a/gulp/publish.js +++ b/gulp/publish.js @@ -13,9 +13,9 @@ gulp.task('publish', function() { //Bucket: "support-admin.topcoder-dev.com" Bucket: process.env.AWS_BUCKET } - //, - //"accessKeyId": process.env.AWS_KEY, - //"secretAccessKey": process.env.AWS_SECRET + , + "accessKeyId": process.env.AWS_KEY, + "secretAccessKey": process.env.AWS_SECRET }); // define custom headers From ad7843d57b4c0c3db8a538aa293c5b49cbdd0643 Mon Sep 17 00:00:00 2001 From: ykohata Date: Fri, 20 Nov 2015 02:30:34 +0900 Subject: [PATCH 04/11] changed default config "local" -> "dev" --- gulp/ng-config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulp/ng-config.js b/gulp/ng-config.js index 7e3292a..b29f478 100644 --- a/gulp/ng-config.js +++ b/gulp/ng-config.js @@ -8,7 +8,7 @@ gulp.task('ng-config', function () { gulp.src('config.json') .pipe( gulpNgConfig('app.constants', { - environment: process.env.BUILD_ENV || 'local' + environment: process.env.BUILD_ENV || 'dev' })) .pipe(gulp.dest('src/app')) }); From 2f73d275b795036873466245b60d98335c2fd0ab Mon Sep 17 00:00:00 2001 From: ykohata Date: Fri, 20 Nov 2015 02:37:06 +0900 Subject: [PATCH 05/11] added a comment --- gulp/publish.js | 1 + 1 file changed, 1 insertion(+) diff --git a/gulp/publish.js b/gulp/publish.js index d9f06e1..03a6f25 100644 --- a/gulp/publish.js +++ b/gulp/publish.js @@ -25,6 +25,7 @@ gulp.task('publish', function() { return gulp.src(['./dist/**/*','./dist/*']) // gzip, Set Content-Encoding headers and add .gz extension + // kohata: commented out to avoid the issue (https://github.com/pgherveou/gulp-awspublish/issues/86) //.pipe(awspublish.gzip()) // publisher will add Content-Length, Content-Type and headers specified above From 9e33ea2d4ea98cb5d2770353025e1acd93259b28 Mon Sep 17 00:00:00 2001 From: ykohata Date: Fri, 20 Nov 2015 10:16:44 +0900 Subject: [PATCH 06/11] Changed logo --- src/app/login/login.html | 2 +- src/assets/images/appirio-logo.png | Bin 0 -> 1853 bytes src/components/common/navigation.html | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 src/assets/images/appirio-logo.png diff --git a/src/app/login/login.html b/src/app/login/login.html index 0f9364e..e49704e 100755 --- a/src/app/login/login.html +++ b/src/app/login/login.html @@ -1,7 +1,7 @@
    -

    +

    diff --git a/src/assets/images/appirio-logo.png b/src/assets/images/appirio-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b55ac756ed55975d1ca9f4dee7406d5232619caa GIT binary patch literal 1853 zcmV-D2g3M?P) z%=^AG*NVtEV@$aTm0T{j(ptO56i`TBXN>7&jJX9sb7M>+V~jP%oXzEO$Bi+Ej4{7k zYpV(wM?|JsYsW=A+Mdhh?l7g|4cue^wGnoJWStECH77X^z!m@(9esywC&`H(R3N(g5oMN0rRQDBjL(uWKp@+p9GDTxqe7er(Z$(udK9Unyq0LMtyD?aFB+DWI=?|dtG7=(hr$`Qt7{3{S6AqR5vV>@H z)S_>US_})d9R}ch8Xp0`&mD-OC-mKw!HTpDj_60ln^bR zTDZ1?!z3FjA;zQtu~Lc9G6fm0*J$NPLZ9mc@7(B$H~@U>u@HKS$R`PNaw1>{0c;kL z&q=n)+BW~2BHphEIO>%ocZj-wAtKWqVQe+YP63se?I6TOlI=Yl>^T6A$A#Y7?{N{CBO>zv z?9#f^Bzt9P8$*g(0RM={VgTO*_(SVXlkA$76sqL40QQNRxSM;nG6C_ejdQd(aqDVT@T9@obARrqWt_ zZv5sU@ zJuc`4;1^x_ebOj}CK0#BDBm^!RarrJEP)UQ(nJ?UB19|oprZ%@lJ|LLaNh%Pfn*bs zW!m@B7*ZS(k*Ol`F@WVt&I=@aW@(#1il|8L`Lxl8rU6#RkYWvhnyf%{)B#*+=x$et z5RCzBcMu|031b% zN|L){-q{P_corba0Bnp2PX}KiLevAWHii&++fTB7%0Bz+cJXYWZlKnUbO8OUN_x{2 z;cH^sG>#@o3t+XX%)U@GM)zTQ(WdYP9+vN2yu?& zZGm>5C9K*lB>Q@v&~8bg1oM?VaR*}Gm5w%xw~u#m9d?Px)DU@QrIhrYB;O#}gJh$? zSdFx9Lg3ISi4b#w-n=?guDnIp5~4*YdXg5U68{FB%K)&GV=|1zG?1L^$X^_D5NJUO z(ZW@tt?SYZ$(Li^>*E5ZNOmkLy&D++#TehBeF@pZRN@1NN*qeM5v_z;ei;byBgwW2 zW7pMV_9(TOUP3mzN;GucwIn&tqo08Q_7#B)`$#_SG45-Qeom0Qri5@dQatBSi7JxU zdiGU^wm(LO4Uw+c;4X$43Q{t%cqLT&Veh6Cv9n rA`3~5Alah8?Qe#IY#U1m`
    - +
    - +
    diff --git a/src/app/users/users.controller.js b/src/app/users/users.controller.js index 9132e06..e845055 100644 --- a/src/app/users/users.controller.js +++ b/src/app/users/users.controller.js @@ -6,6 +6,11 @@ module.controller('users.UserSearchController', [ '$scope', '$rootScope', '$timeout', '$state', '$modal', 'AuthService','UserService', function ($scope, $rootScope, $timeout, $state, $modal, $authService, $userService) { + // auth + $scope.authorized = function() { + return $authService.isLoggedIn(); + } + // search $scope.formSearch = { handle : "", @@ -95,6 +100,7 @@ module.controller('users.UserSearchController', [ $scope.deactivate = function(index) { var user = $scope.users[index]; + if(window.confirm('Are you sure you want to deactivate user \'' + user.handle + '\'?')) { // dummy user.active = false; diff --git a/src/app/users/users.html b/src/app/users/users.html index 6e0da36..9f75941 100644 --- a/src/app/users/users.html +++ b/src/app/users/users.html @@ -17,7 +17,7 @@

    Members

    -
    +
    @@ -94,7 +94,7 @@

    Members

    Activate - + Deactivate diff --git a/src/components/common/topnavbar.html b/src/components/common/topnavbar.html index 141ff1b..bccdc3c 100755 --- a/src/components/common/topnavbar.html +++ b/src/components/common/topnavbar.html @@ -1,18 +1,23 @@
    - +