From 34424b5448f25274edb7dd9e15206041b4d1fd83 Mon Sep 17 00:00:00 2001 From: "Juan Picado @jotadeveloper" Date: Wed, 23 Jan 2019 22:09:49 +0100 Subject: [PATCH] chore: fix router issue with scope packages --- src/webui/pages/version/index.js | 12 +++--------- src/webui/utils/package.js | 10 ++++++++++ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/webui/pages/version/index.js b/src/webui/pages/version/index.js index 655e17021..5f4672ba6 100644 --- a/src/webui/pages/version/index.js +++ b/src/webui/pages/version/index.js @@ -9,6 +9,7 @@ import Loading from '../../components/Loading'; import DetailContainer from '../../components/DetailContainer'; import DetailSidebar from '../../components/DetailSidebar'; import { callDetailPage } from '../../utils/calls'; +import { getRouterPackageName } from '../../utils/package'; export const DetailContext = React.createContext(); @@ -21,7 +22,7 @@ class VersionPage extends Component { this.state = { readMe: '', - packageName: this.getPackageName(props), + packageName: getRouterPackageName(props.match), packageMeta: null, isLoading: true, notFound: false, @@ -32,13 +33,6 @@ class VersionPage extends Component { await this.loadPackageInfo(); } - getPackageName(props: any = this.props): string { - const { match } = props; - const packageName = match.params.package; - - return packageName; - } - /* eslint no-unused-vars: 0 */ async componentDidUpdate(nextProps: any, prevState: any) { const { packageName } = this.state; @@ -56,7 +50,7 @@ class VersionPage extends Component { static getDerivedStateFromProps(nextProps: any, prevState: any) { const { match } = nextProps; - const packageName = match.params.package; + const packageName = getRouterPackageName(match); if (packageName !== prevState.packageName) { try { diff --git a/src/webui/utils/package.js b/src/webui/utils/package.js index fce17eb2c..b3d18e1fb 100644 --- a/src/webui/utils/package.js +++ b/src/webui/utils/package.js @@ -106,3 +106,13 @@ export function formatDate(lastUpdate) { export function formatDateDistance(lastUpdate) { return distanceInWordsToNow(new Date(lastUpdate)); } + +export function getRouterPackageName(match) { + const packageName = match.params.package; + const scope = match.params.scope; + if (scope) { + return `@${scope}/${packageName}`; + } + + return packageName; +}