diff --git a/app/features/navbar/components/Logo.js b/app/features/navbar/components/Logo.js new file mode 100644 index 0000000..eef932d --- /dev/null +++ b/app/features/navbar/components/Logo.js @@ -0,0 +1,27 @@ +// @flow + +import Icon from '@atlaskit/icon'; + +import React, { Component } from 'react'; + +import LogoSVG from '../../../images/logo.svg'; + +/** + * Logo component. + */ +export default class Logo extends Component<*> { + + /** + * Render function of component. + * + * @returns {ReactElement} + */ + render() { + return ( + + ); + } +} + diff --git a/app/features/navbar/components/Navbar.js b/app/features/navbar/components/Navbar.js index df6dccc..f767436 100644 --- a/app/features/navbar/components/Navbar.js +++ b/app/features/navbar/components/Navbar.js @@ -8,11 +8,21 @@ import React, { Component } from 'react'; import { isElectronMac } from '../../utils'; import HelpAction from './HelpAction'; +import Logo from './Logo'; /** * Navigation Bar component. */ class Navbar extends Component<*> { + /** + * Get the primary icon of Global Navigation. + * + * @returns {ReactElement} + */ + _getPrimaryIcon() { + return ; + } + /** * Get the array of Secondary actions of Global Navigation. * @@ -34,6 +44,7 @@ class Navbar extends Component<*> { render() { return ( + + + + + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 665c83c..a67f44d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1482,6 +1482,28 @@ "babel-runtime": "6.26.0" } }, + "babel-plugin-inline-react-svg": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-inline-react-svg/-/babel-plugin-inline-react-svg-0.5.2.tgz", + "integrity": "sha1-9MnqU4To0Ip6T5ahnyKl6rDd86k=", + "dev": true, + "requires": { + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babylon": "6.18.0", + "lodash.isplainobject": "4.0.6", + "resolve-from": "2.0.0", + "svgo": "0.7.2" + }, + "dependencies": { + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "dev": true + } + } + }, "babel-plugin-syntax-async-functions": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", @@ -7052,7 +7074,7 @@ } }, "jitsi-meet-electron-utils": { - "version": "github:jitsi/jitsi-meet-electron-utils#7d7138701b253d73e00fe16ed1b7f970525b9df2", + "version": "github:jitsi/jitsi-meet-electron-utils#1972c3bf0884ace68eb496894dabae593d6dbf49", "requires": { "nan": "2.10.0", "postis": "2.2.0", @@ -7696,6 +7718,12 @@ "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", "dev": true }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -10757,6 +10785,12 @@ "simple-concat": "1.0.0" } }, + "simple-html-tokenizer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/simple-html-tokenizer/-/simple-html-tokenizer-0.1.1.tgz", + "integrity": "sha1-BcLuxXn//+FFoDCsJs/qYbmA+r4=", + "dev": true + }, "single-line-log": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", @@ -11241,6 +11275,31 @@ "has-flag": "1.0.0" } }, + "svg-inline-loader": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/svg-inline-loader/-/svg-inline-loader-0.8.0.tgz", + "integrity": "sha512-rynplY2eXFrdNomL1FvyTFQlP+dx0WqbzHglmNtA9M4IHRC3no2aPAl3ny9lUpJzFzFMZfWRK5YIclNU+FRePA==", + "dev": true, + "requires": { + "loader-utils": "0.2.17", + "object-assign": "4.1.1", + "simple-html-tokenizer": "0.1.1" + }, + "dependencies": { + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, "svgo": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", diff --git a/package.json b/package.json index 5bc4a1a..d149d0b 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "babel-core": "6.26.3", "babel-eslint": "8.2.3", "babel-loader": "7.1.4", + "babel-plugin-inline-react-svg": "0.5.2", "babel-preset-env": "1.7.0", "babel-preset-react": "6.24.1", "babel-preset-stage-1": "6.24.1", @@ -70,6 +71,7 @@ "html-webpack-plugin": "3.2.0", "precommit-hook": "3.0.0", "style-loader": "0.21.0", + "svg-inline-loader": "0.8.0", "webpack": "4.8.1", "webpack-cli": "2.1.3" } diff --git a/webpack.config.js b/webpack.config.js index bdd0253..ab08b44 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -22,6 +22,9 @@ const commonConfig = { ], require.resolve('babel-preset-react'), require.resolve('babel-preset-stage-1') + ], + plugins: [ + require.resolve('babel-plugin-inline-react-svg') ] }, test: /\.js$/ @@ -32,6 +35,10 @@ const commonConfig = { { loader: 'css-loader' } ], test: /\.css$/ + }, + { + loader: 'svg-inline-loader', + test: /\.svg$/ } ] },