diff --git a/.storybook/config.js b/.storybook/config.js index 563020c245d18fe5d94ed7c6472dd9022a70187f..4394bff8ad1edae0c18e399163a87edbe8056dbc 100644 --- a/.storybook/config.js +++ b/.storybook/config.js @@ -1,4 +1,5 @@ import { configure } from '@storybook/react' import '../src/App.css' +import "font-awesome/css/font-awesome.min.css" configure(require.context('../src', true, /\.stories\.tsx/), module) diff --git a/.storybook/webpack.config.js b/.storybook/webpack.config.js index d6794e15b05e701fbb237bb73bd00f2cff7a2b41..b5aa7b69b8d0fde9729f159bca3b400d19e7340a 100644 --- a/.storybook/webpack.config.js +++ b/.storybook/webpack.config.js @@ -25,7 +25,12 @@ module.exports = async ({ config, mode }) => { ...config, module: { ...config.module, - rules: [typescriptRules, ...cssRules] + rules: [typescriptRules, ...cssRules, + { + test: /\.(png|woff|woff2|eot|ttf|svg)$/, + loaders: ['file-loader'] + } + ] } } } diff --git a/config/cssRules.js b/config/cssRules.js index 625ef748c048e9ec6cd43ddd8b31ce6b0aaef9d9..7fed30e61ac73bec245c3382e552856c862a313f 100644 --- a/config/cssRules.js +++ b/config/cssRules.js @@ -5,7 +5,6 @@ module.exports = [ // SASS support { test: /\.scss$/, - include: paths.appSrc, loaders: ["style-loader", "css-loader", "sass-loader"] }, // "postcss" loader applies autoprefixer to our CSS. diff --git a/package.json b/package.json index e76cbf07c6f0e954d910ad54946dc1c3297dff69..c952cca0adefb3ac2fcacd44086e3227525f8646 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,14 @@ { "name": "decentraplayer", - "version": "0.10.20", + "version": "0.10.21", "private": true, "dependencies": { "@babel/core": "^7.0.0", "@babel/preset-typescript": "^7.6.0", "@babel/runtime-corejs2": "^7.0.0", + "@fortawesome/fontawesome-svg-core": "^1.2.25", + "@fortawesome/free-solid-svg-icons": "^5.11.2", + "@fortawesome/react-fontawesome": "^0.1.7", "@sindresorhus/slugify": "^0.9.0", "@storybook/addon-knobs": "^5.2.5", "@storybook/react": "^5.2.4", diff --git a/src/components/ArtistView/index.tsx b/src/components/ArtistView/index.tsx index a8509c23f896935412638914b343f9a827f425ab..6d763510c3b6d51e0f69a71dab0ffa69ec41d357 100644 --- a/src/components/ArtistView/index.tsx +++ b/src/components/ArtistView/index.tsx @@ -1,11 +1,12 @@ -import * as React from 'react' import { Dispatch } from 'redux' import { Redirect } from 'react-router-dom' +import * as React from 'react' -import Song from '../../entities/Song' import Artist from '../../entities/Artist' -import SongRow from '../MusicTable/SongRow' +import Button from '../common/Button' import CoverImage from '../MusicTable/CoverImage' +import Song from '../../entities/Song' +import SongRow from '../MusicTable/SongRow' import * as types from '../../constants/ActionTypes' type Props = { @@ -100,33 +101,42 @@ export default class ArtistView extends React.Component { } return ( -
+
-

{ artist.name }

+

{ artist.name }

    { - albumsByArtist.map((albumId) => { + albumsByArtist.map((albumId: string) => { return ( -
  • -

    - - { albums[albumId].name } - -

    -
    + +
    +
    { extractSongs(albums[albumId]) }
  • diff --git a/src/components/Buttons/SearchButton.tsx b/src/components/Buttons/SearchButton.tsx index 260ae29adea70b0ee9d0cda40d9de0ab56ccf739..516defc9782b50e1cf47168943e7d2fc6e2d59f4 100644 --- a/src/components/Buttons/SearchButton.tsx +++ b/src/components/Buttons/SearchButton.tsx @@ -22,7 +22,6 @@ const SearchButton = ({dispatch, searchToggled}: Props) => { return (