Skip to content

Commit dbaab4e

Browse files
authored
Merge pull request #380 from frankcalise/fix/373
2 parents 3ebded0 + 94290df commit dbaab4e

File tree

3 files changed

+35
-2
lines changed

3 files changed

+35
-2
lines changed

Diff for: src/components/common/VersionSelector.tsx

+6
Original file line numberDiff line numberDiff line change
@@ -229,12 +229,16 @@ const VersionSelector = ({
229229
isPackageNameDefinedInURL,
230230
showDiff,
231231
showReleaseCandidates,
232+
appPackage,
233+
appName,
232234
}: {
233235
packageName: string
234236
language: string
235237
isPackageNameDefinedInURL: boolean
236238
showDiff: (args: { fromVersion: string; toVersion: string }) => void
237239
showReleaseCandidates: boolean
240+
appPackage: string
241+
appName: string
238242
}) => {
239243
const { isLoading, isDone, releaseVersions } = useFetchReleaseVersions({
240244
packageName,
@@ -363,6 +367,8 @@ const VersionSelector = ({
363367
isPackageNameDefinedInURL,
364368
fromVersion: localFromVersion,
365369
toVersion: localToVersion,
370+
appPackage,
371+
appName,
366372
})
367373
}
368374

Diff for: src/components/pages/Home.tsx

+19-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { Card, Input, Typography, ConfigProvider, theme } from 'antd'
55
import GitHubButton, { ReactGitHubButtonProps } from 'react-github-btn'
66
import ReactGA from 'react-ga'
77
import createPersistedState from 'use-persisted-state'
8+
import queryString from 'query-string'
89
import VersionSelector from '../common/VersionSelector'
910
import DiffViewer from '../common/DiffViewer'
1011
import Settings from '../common/Settings'
@@ -107,6 +108,19 @@ const SettingsContainer = styled.div`
107108
flex: 1;
108109
`
109110

111+
const getAppInfoInURL = (): {
112+
appPackage: string
113+
appName: string
114+
} => {
115+
// Parses `/?name=RnDiffApp&package=com.rndiffapp` from URL
116+
const { name, package: pkg } = queryString.parse(window.location.search)
117+
118+
return {
119+
appPackage: pkg as string,
120+
appName: name as string,
121+
}
122+
}
123+
110124
interface StarButtonProps extends ReactGitHubButtonProps {
111125
className?: string
112126
}
@@ -138,8 +152,9 @@ const Home = () => {
138152
[`${SHOW_LATEST_RCS}`]: false,
139153
})
140154

141-
const [appName, setAppName] = useState<string>('')
142-
const [appPackage, setAppPackage] = useState<string>('')
155+
const appInfoInURL = getAppInfoInURL()
156+
const [appName, setAppName] = useState<string>(appInfoInURL.appName)
157+
const [appPackage, setAppPackage] = useState<string>(appInfoInURL.appPackage)
143158

144159
// Avoid UI lag when typing.
145160
const deferredAppName = useDeferredValue(appName)
@@ -303,6 +318,8 @@ const Home = () => {
303318
packageName={packageName}
304319
language={language}
305320
isPackageNameDefinedInURL={isPackageNameDefinedInURL}
321+
appPackage={appPackage}
322+
appName={appName}
306323
/>
307324
</Container>
308325
{/*

Diff for: src/utils/update-url.ts

+10
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,16 @@ export function updateURL({
66
isPackageNameDefinedInURL,
77
fromVersion,
88
toVersion,
9+
appPackage,
10+
appName,
911
}: {
1012
packageName: string
1113
language: string
1214
isPackageNameDefinedInURL: boolean
1315
fromVersion: string
1416
toVersion: string
17+
appPackage: string
18+
appName: string
1519
}) {
1620
const url = new URL(window.location.origin)
1721
url.pathname = window.location.pathname
@@ -29,6 +33,12 @@ export function updateURL({
2933
if (packageName === PACKAGE_NAMES.RNW) {
3034
url.searchParams.set('language', language)
3135
}
36+
if (appPackage) {
37+
url.searchParams.set('package', appPackage)
38+
}
39+
if (appName) {
40+
url.searchParams.set('name', appName)
41+
}
3242

3343
window.history.replaceState(null, '', url.toString())
3444
}

0 commit comments

Comments
 (0)