diff --git a/.eslintignore b/.eslintignore index 6817aa07..c95df76a 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,4 +1,6 @@ /public/ /node_modules/ /.next -/public \ No newline at end of file +/public +/utils +/providers \ No newline at end of file diff --git a/@types/global.d.ts b/@types/global.d.ts index 839c96be..086bee73 100644 --- a/@types/global.d.ts +++ b/@types/global.d.ts @@ -1,36 +1,36 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ interface Window { - __REDUX_DEVTOOLS_EXTENSION__: any; - __REDUX_DEVTOOLS_EXTENSION_COMPOSE__: any; - __REACT_DEVTOOLS_GLOBAL_HOOK__: any; + __REDUX_DEVTOOLS_EXTENSION__: any; + __REDUX_DEVTOOLS_EXTENSION_COMPOSE__: any; + __REACT_DEVTOOLS_GLOBAL_HOOK__: any; } declare module '*.png' { - const resource: string; - export = resource; + const resource: string; + export = resource; } declare module '*.svg' { - const resource: string; - export = resource; + const resource: string; + export = resource; } declare module '*.css' { - const resource: any; - export = resource; + const resource: any; + export = resource; } declare module '*.pcss' { - const resource: string; - export = resource; + const resource: string; + export = resource; } declare module '*.json' { - const resource: any; - export = resource; + const resource: any; + export = resource; } declare namespace NodeJS { - interface Process { - browser: boolean; - } - export interface Global { - window: any; - fetch: any; - } + interface Process { + browser: boolean; + } + export interface Global { + window: any; + fetch: any; + } } diff --git a/components/Authentication/context.ts b/components/Authentication/context.ts index 4af729ef..86211695 100644 --- a/components/Authentication/context.ts +++ b/components/Authentication/context.ts @@ -1,11 +1,11 @@ import React from 'react'; export interface UserSession { - initializing: boolean; - user?: any; + initializing: boolean; + user?: any; } export const UserContext = React.createContext({ - initializing: true, - user: null, + initializing: true, + user: null, }); diff --git a/components/Authentication/index.tsx b/components/Authentication/index.tsx index e660d053..83962f7f 100644 --- a/components/Authentication/index.tsx +++ b/components/Authentication/index.tsx @@ -3,6 +3,6 @@ import { useAuth } from './useAuth'; import { UserContext } from './context'; export const ProvideAuth = ({ children }) => { - const auth = useAuth(); - return {children}; + const auth = useAuth(); + return {children}; }; diff --git a/components/Authentication/useAuth.ts b/components/Authentication/useAuth.ts index f0bd9046..940391db 100644 --- a/components/Authentication/useAuth.ts +++ b/components/Authentication/useAuth.ts @@ -3,42 +3,42 @@ import firebase, { User } from 'firebase/app'; import 'firebase/auth'; export const useAuth = () => { - const [initializing, setInitializing] = useState(true); - const [user, setUser] = useState(); - // const [role, setRole] = useState(null); - // const [getUserRole, { error }] = useLazyQuery(GET_USER_ROLE, { - // onCompleted: data => { - // const role = data?.User?.role; - // setRole(role); - // setInitializing(false); - // localStorage.setItem('pmbpermissions', role); - // }, - // }); + const [initializing, setInitializing] = useState(true); + const [user, setUser] = useState(); + // const [role, setRole] = useState(null); + // const [getUserRole, { error }] = useLazyQuery(GET_USER_ROLE, { + // onCompleted: data => { + // const role = data?.User?.role; + // setRole(role); + // setInitializing(false); + // localStorage.setItem('pmbpermissions', role); + // }, + // }); - const subscribeAuthChange = (user, isSubscribed) => { - const authUserJson = user?.toJSON() as any; - const authProvider = authUserJson?.providerData[0].providerId; - console.log(authUserJson, 'from firebase'); + const subscribeAuthChange = (user, isSubscribed) => { + const authUserJson = user?.toJSON() as any; + const authProvider = authUserJson?.providerData[0].providerId; + console.log(authUserJson, 'from firebase'); - if (isSubscribed && authUserJson && authProvider === 'facebook.com') { - localStorage.setItem('token', authUserJson?.stsTokenManager?.accessToken); - setUser(authUserJson); - } else { - setUser(null); - setInitializing(false); - } - }; + if (isSubscribed && authUserJson && authProvider === 'facebook.com') { + localStorage.setItem('token', authUserJson?.stsTokenManager?.accessToken); + setUser(authUserJson); + } else { + setUser(null); + setInitializing(false); + } + }; - useEffect(() => { - let isSubscribed = true; + useEffect(() => { + let isSubscribed = true; - const unsubscribe = firebase.auth().onAuthStateChanged(user => subscribeAuthChange(user, isSubscribed)); + const unsubscribe = firebase.auth().onAuthStateChanged(user => subscribeAuthChange(user, isSubscribed)); - return () => { - isSubscribed = false; - unsubscribe(); - }; - }, []); + return () => { + isSubscribed = false; + unsubscribe(); + }; + }, []); - return { user, initializing }; + return { user, initializing }; }; diff --git a/containers/landing-page/Components/TabPaneComponent.tsx b/containers/landing-page/Components/TabPaneComponent.tsx index 6f6a6a80..b708a392 100644 --- a/containers/landing-page/Components/TabPaneComponent.tsx +++ b/containers/landing-page/Components/TabPaneComponent.tsx @@ -1,25 +1,79 @@ -import React, { FunctionComponent, Fragment } from 'react'; -import { Tabs, Icon } from 'antd'; +import React, { FunctionComponent } from 'react'; +import { Tabs } from 'antd'; +import IconHot from '../../../assets/icons/icon-hot.svg'; +import IconTime from '../../../assets/icons/icon-time.svg'; +import IconHashTag from '../../../assets/icons/icon-hastag.svg'; +import IconLike from '../../../assets/icons/icon-like.svg'; +import Styled from 'styled-components'; const { TabPane } = Tabs; +const tabLists = [ + { + icon: , + content: 'test', + title: 'กระแส', + }, + { + icon: , + content: 'test', + title: 'ล่าสุด', + }, + { + icon: , + content: 'test', + title: 'มาแรง', + }, + { + icon: , + content: 'test', + title: 'แนะนำสำหรับคุณ', + }, +]; +const Span = Styled.span` + + & path.a,& path.b{ + fill: #657786; + }, + & svg{ + color:#657786; + display:flex; + } +`; +const AddReviewBtn = Styled.button` + position: absolute; + top: 0; + right: 10px; + border-radius: 21px; + border: 0; + background: #17BF63; + color: white; + padding: 8px 35px; +`; +const TabsStyled = Styled(Tabs)` + .ant-tabs-tab-active span path{ + fill: #17BF63 !important; + } +`; export const TabPaneComponent: FunctionComponent = () => { return ( - - Tab 1} key="1"> - Tab 1 - - - - Tab 2 - - } - key="2" - > - Tab 2 - - + + + {tabLists.map(({ icon, content, title }, index) => ( + + {icon} + {title} + + } + key={String(index)} + > + {content} + + ))} + + เขียนรีวิว + ); }; diff --git "a/hooks/\340\270\265useSession.tsx" "b/hooks/\340\270\265useSession.tsx" index 8d449b8b..255161b4 100644 --- "a/hooks/\340\270\265useSession.tsx" +++ "b/hooks/\340\270\265useSession.tsx" @@ -5,5 +5,5 @@ import { UserContext, UserSession } from 'components/Authentication/context'; * you can useSession only if your component is wrapped with */ export const useSession = () => { - return useContext(UserContext); + return useContext(UserContext); }; diff --git a/next.config.js b/next.config.js index ba3351cf..f401d91a 100644 --- a/next.config.js +++ b/next.config.js @@ -15,60 +15,76 @@ const FilterWarningsPlugin = require('webpack-filter-warnings-plugin'); const themeVariables = lessToJS(fs.readFileSync(path.resolve(__dirname, './assets/antd-custom.less'), 'utf8')); module.exports = withCSS( - withLess({ - lessLoaderOptions: { - url: false, //https://github.com/zeit/next-plugins/issues/70 - javascriptEnabled: true, - // theme antd here - modifyVars: themeVariables, - }, - mozjpeg: {}, - optipng: {}, - svgo: {}, - webpack(config, { isServer }) { - //start env ======================================================================= - // Fixes npm packages that depend on `fs` module - config.node = { - fs: 'empty', - }; - /** - * Returns environment variables as an object - */ - const env = Object.keys(process.env).reduce((acc, curr) => { - acc[`process.env.${curr}`] = JSON.stringify(process.env[curr]); - return acc; - }, {}); + withLess({ + lessLoaderOptions: { + url: false, //https://github.com/zeit/next-plugins/issues/70 + javascriptEnabled: true, + // theme antd here + modifyVars: themeVariables, + }, + mozjpeg: {}, + optipng: {}, + svgo: {}, + webpack(config, { isServer }) { + //start env ======================================================================= + // Fixes npm packages that depend on `fs` module + config.node = { + fs: 'empty', + }; + /** + * Returns environment variables as an object + */ + const env = Object.keys(process.env).reduce((acc, curr) => { + acc[`process.env.${curr}`] = JSON.stringify(process.env[curr]); + return acc; + }, {}); - /** Allows you to create global constants which can be configured - * at compile time, which in our case is our environment variables - */ - config.plugins.push(new webpack.DefinePlugin(env)); - //end env ======================================================================= - if (isServer) { - const antStyles = /antd\/.*?\/style.*?/; - const origExternals = [...config.externals]; - config.externals = [ - (context, request, callback) => { - if (request.match(antStyles)) return callback(); - if (typeof origExternals[0] === 'function') { - origExternals[0](context, request, callback); - } else { - callback(); - } - }, - ...(typeof origExternals[0] === 'function' ? [] : origExternals), - ]; + /** Allows you to create global constants which can be configured + * at compile time, which in our case is our environment variables + */ + config.plugins.push(new webpack.DefinePlugin(env)); + //end env ======================================================================= + if (isServer) { + const antStyles = /antd\/.*?\/style.*?/; + const origExternals = [...config.externals]; + config.externals = [ + (context, request, callback) => { + if (request.match(antStyles)) return callback(); + if (typeof origExternals[0] === 'function') { + origExternals[0](context, request, callback); + } else { + callback(); } - config.plugins.push( - new FilterWarningsPlugin({ - // ignore ANTD chunk styles [mini-css-extract-plugin] warning - exclude: /mini-css-extract-plugin[^]*Conflicting order between:/, - }), - ); + }, + ...(typeof origExternals[0] === 'function' ? [] : origExternals), + ]; + } + config.plugins.push( + new FilterWarningsPlugin({ + // ignore ANTD chunk styles [mini-css-extract-plugin] warning + exclude: /mini-css-extract-plugin[^]*Conflicting order between:/, + }), + ); - config.resolve.alias['assets'] = path.join(__dirname, 'assets'); - config.resolve.modules.push(path.resolve('./')); - return config; - }, - }), + config.module.rules.push({ + test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, + use: [ + { + loader: 'babel-loader', + }, + { + loader: '@svgr/webpack', + options: { + babel: false, + icon: true, + }, + }, + ], + }); + + config.resolve.alias['assets'] = path.join(__dirname, 'assets'); + config.resolve.modules.push(path.resolve('./')); + return config; + }, + }), ); diff --git a/package.json b/package.json index 626f189f..175bf50f 100644 --- a/package.json +++ b/package.json @@ -1,73 +1,73 @@ { - "name": "revhere-frontend", - "version": "1.0.0", - "main": "index.js", - "repository": "git@github.com:boatnoodle/revhere-frontend.git", - "author": "boatnoodle ", - "license": "MIT", - "scripts": { - "dev": "next", - "build": "next build", - "start": "next start", - "export": "next export", - "deploy": "npm run build && npm run export", - "code-style": "yarn eslint --ext ts,tsx .", - "code-style-fix": "yarn eslint --fix --ext ts,tsx ." - }, - "dependencies": { - "@apollo/react-hooks": "^3.1.3", - "@apollo/react-ssr": "^3.1.3", - "@types/next": "^9.0.0", - "@types/react": "^16.9.19", - "@zeit/next-typescript": "^1.1.1", - "antd": "^3.26.9", - "apollo-boost": "^0.4.7", - "apollo-cache-inmemory": "^1.6.5", - "apollo-client": "^2.6.8", - "apollo-link": "^1.2.13", - "apollo-link-context": "^1.0.19", - "apollo-link-error": "^1.1.12", - "apollo-link-http": "^1.5.16", - "apollo-link-logger": "^1.2.3", - "babel-plugin-import": "^1.13.0", - "babel-plugin-inline-react-svg": "^1.1.1", - "dotenv": "^8.2.0", - "firebase": "^7.8.2", - "graphql": "^14.6.0", - "graphql-tag": "^2.10.3", - "isomorphic-unfetch": "^3.0.0", - "jsonwebtoken": "^8.5.1", - "lodash": "^4.17.15", - "next-seo": "^4.1.0", - "next-with-apollo": "^5.0.0", - "nprogress": "^0.2.0", - "react": "^16.12.0", - "react-alice-carousel": "^1.17.3", - "react-dom": "^16.12.0", - "react-firebaseui": "^4.1.0", - "styled-components": "^5.0.1", - "webpack-filter-warnings-plugin": "^1.2.1" - }, - "devDependencies": { - "@svgr/webpack": "^5.1.0", - "@types/next": "^9.0.0", - "@types/node": "^13.7.0", - "@types/react": "^16.9.19", - "@typescript-eslint/eslint-plugin": "^2.19.2", - "@typescript-eslint/parser": "^2.19.2", - "@zeit/next-css": "^1.0.1", - "@zeit/next-less": "^1.0.1", - "babel-plugin-lodash": "^3.3.4", - "babel-plugin-root-import": "^6.4.1", - "babel-plugin-styled-components": "^1.10.7", - "eslint": "^6.8.0", - "eslint-config-prettier": "^6.10.0", - "eslint-plugin-prettier": "^3.1.2", - "eslint-plugin-react": "^7.18.3", - "less": "^3.11.0", - "less-vars-to-js": "^1.3.0", - "null-loader": "^3.0.0", - "prettier": "^1.19.1", - "typescript": "^3.7.5" - } -} \ No newline at end of file + "name": "revhere-frontend", + "version": "1.0.0", + "main": "index.js", + "repository": "git@github.com:boatnoodle/revhere-frontend.git", + "author": "boatnoodle ", + "license": "MIT", + "scripts": { + "dev": "next", + "build": "next build", + "start": "next start", + "export": "next export", + "deploy": "npm run build && npm run export", + "code-style": "yarn eslint --ext ts,tsx .", + "code-style-fix": "yarn eslint --fix --ext ts,tsx ." + }, + "dependencies": { + "@apollo/react-hooks": "^3.1.3", + "@apollo/react-ssr": "^3.1.3", + "@types/next": "^9.0.0", + "@types/react": "^16.9.19", + "@zeit/next-typescript": "^1.1.1", + "antd": "^3.26.9", + "apollo-boost": "^0.4.7", + "apollo-cache-inmemory": "^1.6.5", + "apollo-client": "^2.6.8", + "apollo-link": "^1.2.13", + "apollo-link-context": "^1.0.19", + "apollo-link-error": "^1.1.12", + "apollo-link-http": "^1.5.16", + "apollo-link-logger": "^1.2.3", + "babel-plugin-import": "^1.13.0", + "babel-plugin-inline-react-svg": "^1.1.1", + "dotenv": "^8.2.0", + "firebase": "^7.8.2", + "graphql": "^14.6.0", + "graphql-tag": "^2.10.3", + "isomorphic-unfetch": "^3.0.0", + "jsonwebtoken": "^8.5.1", + "lodash": "^4.17.15", + "next-seo": "^4.1.0", + "next-with-apollo": "^5.0.0", + "nprogress": "^0.2.0", + "react": "^16.12.0", + "react-alice-carousel": "^1.17.3", + "react-dom": "^16.12.0", + "react-firebaseui": "^4.1.0", + "styled-components": "^5.0.1", + "webpack-filter-warnings-plugin": "^1.2.1" + }, + "devDependencies": { + "@svgr/webpack": "^5.1.0", + "@types/next": "^9.0.0", + "@types/node": "^13.7.0", + "@types/react": "^16.9.19", + "@typescript-eslint/eslint-plugin": "^2.19.2", + "@typescript-eslint/parser": "^2.19.2", + "@zeit/next-css": "^1.0.1", + "@zeit/next-less": "^1.0.1", + "babel-plugin-lodash": "^3.3.4", + "babel-plugin-root-import": "^6.4.1", + "babel-plugin-styled-components": "^1.10.7", + "eslint": "^6.8.0", + "eslint-config-prettier": "^6.10.0", + "eslint-plugin-prettier": "^3.1.2", + "eslint-plugin-react": "^7.18.3", + "less": "^3.11.0", + "less-vars-to-js": "^1.3.0", + "null-loader": "^3.0.0", + "prettier": "^1.19.1", + "typescript": "^3.7.5" + } +} diff --git a/pages/index.tsx b/pages/index.tsx index 58dddfa6..8c20ace2 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -7,13 +7,13 @@ import { gql } from 'apollo-boost'; import { withApollo } from 'providers/web-client/with-apollo-client'; const Index: FunctionComponent = () => { - const USERS = gql` - query { - users { - name - } - } - `; + const USERS = gql` + query { + users { + name + } + } + `; // the hook that calls the query. const { data, loading, error } = useQuery(USERS); diff --git a/yarn.lock b/yarn.lock index 8775ff38..16e82115 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2635,14 +2635,11 @@ browserslist@^4.8.5: electron-to-chromium "^1.3.349" node-releases "^1.1.49" -<<<<<<< HEAD -======= buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= ->>>>>>> 07de4c1e596b7f13cda1889f2854b27a53db86e5 buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -2974,8 +2971,6 @@ coa@^2.0.2: chalk "^2.4.1" q "^1.1.2" -<<<<<<< HEAD -======= coa@~1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" @@ -2983,7 +2978,6 @@ coa@~1.0.1: dependencies: q "^1.1.2" ->>>>>>> 07de4c1e596b7f13cda1889f2854b27a53db86e5 code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -3462,8 +3456,6 @@ csso@^4.0.2: dependencies: css-tree "1.0.0-alpha.37" -<<<<<<< HEAD -======= csso@~2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" @@ -3472,7 +3464,6 @@ csso@~2.3.1: clap "^1.0.9" source-map "^0.5.3" ->>>>>>> 07de4c1e596b7f13cda1889f2854b27a53db86e5 csstype@^2.2.0: version "2.6.8" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.8.tgz#0fb6fc2417ffd2816a418c9336da74d7f07db431" @@ -4241,14 +4232,6 @@ file-loader@4.2.0: loader-utils "^1.2.3" schema-utils "^2.0.0" -file-loader@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-2.0.0.tgz#39749c82f020b9e85901dcff98e8004e6401cfde" - integrity sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ== - dependencies: - loader-utils "^1.0.2" - schema-utils "^1.0.0" - file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" @@ -5409,8 +5392,6 @@ jsx-ast-utils@^2.2.3: array-includes "^3.0.3" object.assign "^4.1.0" -<<<<<<< HEAD -======= jwa@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" @@ -5428,7 +5409,6 @@ jws@^3.2.2: jwa "^1.4.1" safe-buffer "^5.0.1" ->>>>>>> 07de4c1e596b7f13cda1889f2854b27a53db86e5 kind-of@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" @@ -5842,7 +5822,7 @@ mime@1.6.0, mime@^1.4.1: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.0.3, mime@^2.4.2: +mime@^2.4.2: version "2.4.4" resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== @@ -6055,14 +6035,6 @@ neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== -next-fonts@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/next-fonts/-/next-fonts-1.0.3.tgz#2c1970f18eca657ac9323b496c6333cab320c3bd" - integrity sha512-0WT88wZyxdfYR2G90osx+OykVXY7uSIoTbSmimxJEv4UOQ4RUfYDxgPVZuudrqlvGYYkAXUKwLRUHI2Ql2fFoA== - dependencies: - file-loader "^2.0.0" - url-loader "^1.1.1" - next-seo@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-4.1.0.tgz#1f87a5184a81af7aab07409f40eab99ee638da8a" @@ -8378,11 +8350,7 @@ sass-loader@8.0.2: schema-utils "^2.6.1" semver "^6.3.0" -<<<<<<< HEAD -sax@^1.2.4, sax@~1.2.4: -======= sax@^1.2.4, sax@~1.2.1, sax@~1.2.4: ->>>>>>> 07de4c1e596b7f13cda1889f2854b27a53db86e5 version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -8953,8 +8921,6 @@ svg-parser@^2.0.2: resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.3.tgz#a38f2e4e5442986f7ecb554c11f1411cfcf8c2b9" integrity sha512-fnCWiifNhK8i2Z7b9R5tbNahpxrRdAaQbnoxKlT2KrSCj9Kq/yBSgulCRgBJRhy1dPnSY5slg5ehPUnzpEcHlg== -<<<<<<< HEAD -======= svgo@^0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" @@ -8968,7 +8934,6 @@ svgo@^0.7.2: sax "~1.2.1" whet.extend "~0.9.9" ->>>>>>> 07de4c1e596b7f13cda1889f2854b27a53db86e5 svgo@^1.2.2: version "1.3.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" @@ -9347,15 +9312,6 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-loader@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8" - integrity sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg== - dependencies: - loader-utils "^1.1.0" - mime "^2.0.3" - schema-utils "^1.0.0" - url-polyfill@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/url-polyfill/-/url-polyfill-1.1.7.tgz#402ee84360eb549bbeb585f4c7971e79a31de9e3"