diff --git a/view/package.json b/view/package.json index 776d991..11170d0 100644 --- a/view/package.json +++ b/view/package.json @@ -52,7 +52,7 @@ "lodash.get": "^4.4.2", "lodash.uniqby": "^4.7.0", "macaca-cli": "2", - "macaca-electron": "7", + "macaca-electron": "18", "macaca-wd": "3", "mini-css-extract-plugin": "^0.4.0", "postcss-loader": "^2.1.6", @@ -69,6 +69,9 @@ "react-router-dom": "^4.2.2", "style-loader": "^0.21.0", "stylelint": "^9.3.0", + "svg-sprite-loader": "^6.0.11", + "svgo": "^2.8.0", + "svgo-loader": "^3.0.0", "url-loader": "^1.1.2", "url-parse": "^1.4.3", "webpack": "^4.10.0", @@ -80,6 +83,5 @@ }, "dependencies": { "dayjs": "^1.7.7" - }, - "licenses": "MIT" + } } diff --git a/view/src/assets/logo.svg b/view/src/assets/logo.svg new file mode 100644 index 0000000..c4b1c59 --- /dev/null +++ b/view/src/assets/logo.svg @@ -0,0 +1,41 @@ + + + + logo-color-1 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + reliable + + + + + + \ No newline at end of file diff --git a/view/src/components/Icon.js b/view/src/components/Icon.js new file mode 100644 index 0000000..b3bfe51 --- /dev/null +++ b/view/src/components/Icon.js @@ -0,0 +1,22 @@ +import React from 'react'; +import classnames from 'classnames'; + +function Icon(props) { + const { className, type, width, height, fill, radius, style = {} } = props; + return ( + + + + ); +} + +export default Icon; diff --git a/view/src/components/SiderBar.js b/view/src/components/SiderBar.js index 1757eee..aa61a84 100644 --- a/view/src/components/SiderBar.js +++ b/view/src/components/SiderBar.js @@ -12,6 +12,7 @@ import { SettingOutlined, } from '@ant-design/icons'; import { FormattedMessage } from 'react-intl'; +import Icon from './Icon'; const Sider = Layout.Sider; @@ -32,7 +33,10 @@ export default class SiderBar extends React.Component { >
- logo +

Reliable

diff --git a/view/src/index.js b/view/src/index.js index d3a05b2..7a367cf 100644 --- a/view/src/index.js +++ b/view/src/index.js @@ -43,6 +43,12 @@ const chooseLocale = () => { }; } }; + +const importAll = (r) => { + return r.keys().forEach(r); +}; +importAll(require.context('./assets', false, /\.svg$/)); + const lang = chooseLocale(); window.addEventListener('load', () => { diff --git a/view/webpack.config.js b/view/webpack.config.js index 3f73358..bf2e51a 100644 --- a/view/webpack.config.js +++ b/view/webpack.config.js @@ -74,7 +74,18 @@ module.exports = (env, argv) => { ], }, { test: /\.svg$/, - loader: 'url-loader', + use: [ + { + loader: 'svg-sprite-loader', + options: { + symbolId: '[name]', + }, + }, + { + loader: 'svgo-loader', + }, + ], + include: [path.resolve(__dirname, 'src', 'assets')], }, ], },