Skip to content

Commit 6bb8396

Browse files
committed
Move WorktreesEnabled to own file
This fixes the lint error
1 parent 9049e5d commit 6bb8396

2 files changed

Lines changed: 43 additions & 25 deletions

File tree

app/src/ui/banners/render-banner.tsx

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ import * as React from 'react'
33
import { assertNever } from '../../lib/fatal-error'
44

55
import { Banner, BannerType } from '../../models/banner'
6-
import { PopupType } from '../../models/popup'
7-
import { PreferencesTab } from '../../models/preferences'
86

97
import { Dispatcher } from '../dispatcher'
108
import { MergeConflictsBanner } from './merge-conflicts-banner'
@@ -21,7 +19,7 @@ import { SuccessfulSquash } from './successful-squash'
2119
import { SuccessBanner } from './success-banner'
2220
import { ConflictsFoundBanner } from './conflicts-found-banner'
2321
import { OSVersionNoLongerSupportedBanner } from './os-version-no-longer-supported-banner'
24-
import { LinkButton } from '../lib/link-button'
22+
import { WorktreesEnabledBanner } from './worktrees-enabled-banner'
2523

2624
export function renderBanner(
2725
banner: Banner,
@@ -174,31 +172,14 @@ export function renderBanner(
174172
)
175173
case BannerType.OSVersionNoLongerSupported:
176174
return <OSVersionNoLongerSupportedBanner onDismissed={onDismissed} />
177-
case BannerType.WorktreesEnabled: {
178-
const label = __DARWIN__
179-
? 'Appearance Settings'
180-
: 'Appearance Options'
175+
case BannerType.WorktreesEnabled:
181176
return (
182-
<SuccessBanner
183-
key="worktrees-enabled"
184-
timeout={8000}
177+
<WorktreesEnabledBanner
178+
dispatcher={dispatcher}
185179
onDismissed={onDismissed}
186-
>
187-
Worktrees enabled. You can change this in{' '}
188-
<LinkButton
189-
onClick={() =>
190-
dispatcher.showPopup({
191-
type: PopupType.Preferences,
192-
initialSelectedTab: PreferencesTab.Appearance,
193-
})
194-
}
195-
>
196-
{label}
197-
</LinkButton>
198-
.
199-
</SuccessBanner>
180+
key={'worktrees-enabled'}
181+
/>
200182
)
201-
}
202183
default:
203184
return assertNever(banner, `Unknown popup type: ${banner}`)
204185
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import * as React from 'react'
2+
import { Dispatcher } from '../dispatcher'
3+
import { PopupType } from '../../models/popup'
4+
import { PreferencesTab } from '../../models/preferences'
5+
import { LinkButton } from '../lib/link-button'
6+
import { SuccessBanner } from './success-banner'
7+
8+
interface IWorktreesEnabledBannerProps {
9+
readonly dispatcher: Dispatcher
10+
readonly onDismissed: () => void
11+
}
12+
13+
export class WorktreesEnabledBanner extends React.Component<IWorktreesEnabledBannerProps> {
14+
private onOpenAppearanceSettings = () => {
15+
this.props.dispatcher.showPopup({
16+
type: PopupType.Preferences,
17+
initialSelectedTab: PreferencesTab.Appearance,
18+
})
19+
}
20+
21+
public render() {
22+
const label = __DARWIN__ ? 'Appearance Settings' : 'Appearance Options'
23+
24+
return (
25+
<SuccessBanner
26+
timeout={8000}
27+
onDismissed={this.props.onDismissed}
28+
>
29+
Worktrees enabled. You can change this in{' '}
30+
<LinkButton onClick={this.onOpenAppearanceSettings}>
31+
{label}
32+
</LinkButton>
33+
.
34+
</SuccessBanner>
35+
)
36+
}
37+
}

0 commit comments

Comments
 (0)