@shipfox/client-integrations 16.0.0 → 21.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +31 -0
- package/dist/components/callback-status-shell.js +2 -2
- package/dist/components/callback-status-shell.js.map +1 -1
- package/dist/components/integration-gallery.stories.js +1 -1
- package/dist/components/integration-gallery.stories.js.map +1 -1
- package/dist/components/provider-grid.js +4 -4
- package/dist/components/provider-grid.js.map +1 -1
- package/dist/components/repository-picker.js +1 -1
- package/dist/components/repository-picker.js.map +1 -1
- package/dist/components/webhook/webhook-modals.stories.js +1 -1
- package/dist/components/webhook/webhook-modals.stories.js.map +1 -1
- package/dist/pages/gitea-install-page.js +1 -1
- package/dist/pages/gitea-install-page.js.map +1 -1
- package/dist/pages/jira-callback-page.js +4 -4
- package/dist/pages/jira-callback-page.js.map +1 -1
- package/dist/pages/sentry-callback-page.js +4 -4
- package/dist/pages/sentry-callback-page.js.map +1 -1
- package/dist/pages/source-control-onboarding-page.js +1 -1
- package/dist/pages/source-control-onboarding-page.js.map +1 -1
- package/dist/routes/gitea.d.ts +3 -0
- package/dist/routes/gitea.js +3 -0
- package/dist/routes/gitea.js.map +1 -1
- package/dist/routes/github-callback.d.ts +3 -0
- package/dist/routes/github-callback.d.ts.map +1 -1
- package/dist/routes/github-callback.js +3 -0
- package/dist/routes/github-callback.js.map +1 -1
- package/dist/routes/github.d.ts +3 -0
- package/dist/routes/github.js +3 -0
- package/dist/routes/github.js.map +1 -1
- package/dist/routes/integrations-settings.d.ts +3 -0
- package/dist/routes/integrations-settings.js +3 -0
- package/dist/routes/integrations-settings.js.map +1 -1
- package/dist/routes/integrations.d.ts +3 -0
- package/dist/routes/integrations.js +3 -0
- package/dist/routes/integrations.js.map +1 -1
- package/dist/routes/jira-callback.d.ts +3 -0
- package/dist/routes/jira-callback.js +3 -0
- package/dist/routes/jira-callback.js.map +1 -1
- package/dist/routes/jira.d.ts +3 -0
- package/dist/routes/jira.js +3 -0
- package/dist/routes/jira.js.map +1 -1
- package/dist/routes/linear-callback.d.ts +3 -0
- package/dist/routes/linear-callback.js +3 -0
- package/dist/routes/linear-callback.js.map +1 -1
- package/dist/routes/linear.d.ts +3 -0
- package/dist/routes/linear.js +3 -0
- package/dist/routes/linear.js.map +1 -1
- package/dist/routes/sentry-callback.d.ts +3 -0
- package/dist/routes/sentry-callback.js +3 -0
- package/dist/routes/sentry-callback.js.map +1 -1
- package/dist/routes/sentry.d.ts +3 -0
- package/dist/routes/sentry.js +3 -0
- package/dist/routes/sentry.js.map +1 -1
- package/dist/routes/slack-callback.d.ts +3 -0
- package/dist/routes/slack-callback.js +3 -0
- package/dist/routes/slack-callback.js.map +1 -1
- package/dist/routes/slack.d.ts +3 -0
- package/dist/routes/slack.js +3 -0
- package/dist/routes/slack.js.map +1 -1
- package/dist/tsconfig.test.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/components/callback-status-shell.tsx +2 -2
- package/src/components/integration-gallery.stories.tsx +1 -1
- package/src/components/integration-gallery.test.tsx +1 -0
- package/src/components/provider-grid.tsx +5 -5
- package/src/components/repository-picker.tsx +1 -1
- package/src/components/webhook/webhook-modals.stories.tsx +1 -1
- package/src/pages/gitea-install-page.tsx +1 -1
- package/src/pages/jira-callback-page.tsx +5 -5
- package/src/pages/sentry-callback-page.tsx +5 -7
- package/src/pages/source-control-onboarding-page.tsx +1 -1
- package/src/routes/gitea.tsx +4 -1
- package/src/routes/github-callback.tsx +1 -0
- package/src/routes/github.tsx +4 -1
- package/src/routes/integrations-settings.tsx +4 -1
- package/src/routes/integrations.tsx +4 -1
- package/src/routes/jira-callback.tsx +1 -0
- package/src/routes/jira.tsx +4 -1
- package/src/routes/linear-callback.tsx +1 -0
- package/src/routes/linear.tsx +4 -1
- package/src/routes/sentry-callback.tsx +1 -0
- package/src/routes/sentry.tsx +4 -1
- package/src/routes/slack-callback.tsx +1 -0
- package/src/routes/slack.tsx +4 -1
- package/tsconfig.build.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shipfox/client-integrations",
|
|
3
3
|
"license": "MIT",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "21.0.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git+https://github.com/ShipfoxHQ/shipfox.git",
|
|
@@ -30,17 +30,17 @@
|
|
|
30
30
|
"@shipfox/api-integration-core-dto": "12.2.0",
|
|
31
31
|
"@shipfox/api-integration-gitea-dto": "12.2.0",
|
|
32
32
|
"@shipfox/api-integration-github-dto": "12.2.0",
|
|
33
|
-
"@shipfox/api-integration-linear-dto": "12.2.0",
|
|
34
33
|
"@shipfox/api-integration-jira-dto": "12.2.0",
|
|
34
|
+
"@shipfox/api-integration-linear-dto": "12.2.0",
|
|
35
35
|
"@shipfox/api-integration-slack-dto": "12.2.0",
|
|
36
|
-
"@shipfox/api-integration-webhook-dto": "12.2.0",
|
|
37
36
|
"@shipfox/api-integration-sentry-dto": "12.2.0",
|
|
37
|
+
"@shipfox/api-integration-webhook-dto": "12.2.0",
|
|
38
38
|
"@shipfox/client-api": "6.0.1",
|
|
39
|
-
"@shipfox/client-auth": "
|
|
40
|
-
"@shipfox/client-shell": "
|
|
41
|
-
"@shipfox/client-ui": "
|
|
42
|
-
"@shipfox/
|
|
43
|
-
"@shipfox/
|
|
39
|
+
"@shipfox/client-auth": "21.0.0",
|
|
40
|
+
"@shipfox/client-shell": "21.0.0",
|
|
41
|
+
"@shipfox/client-ui": "21.0.0",
|
|
42
|
+
"@shipfox/integration-icons": "0.3.4",
|
|
43
|
+
"@shipfox/react-ui": "2.0.0"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"@tanstack/react-query": "^5.101.0",
|
|
@@ -43,8 +43,8 @@ export function CallbackStatusShell({
|
|
|
43
43
|
: undefined;
|
|
44
44
|
|
|
45
45
|
return (
|
|
46
|
-
<main className="flex min-h-screen
|
|
47
|
-
<div className="mx-auto flex w-full
|
|
46
|
+
<main className="flex min-h-screen px-row py-frame">
|
|
47
|
+
<div className="mx-auto flex w-full flex-col justify-center gap-section">
|
|
48
48
|
<h2 ref={headingRef} tabIndex={-1} className="text-24 font-semibold outline-none">
|
|
49
49
|
{title}
|
|
50
50
|
</h2>
|
|
@@ -82,7 +82,7 @@ function IntegrationGalleryStory({scenario}: IntegrationGalleryStoryProps) {
|
|
|
82
82
|
getParentRoute: () => workspaceRoute,
|
|
83
83
|
path: 'settings/integrations',
|
|
84
84
|
component: () => (
|
|
85
|
-
<div className="mx-auto w-full max-w-[760px] bg-background-
|
|
85
|
+
<div className="mx-auto w-full max-w-[760px] bg-background-subtle-base p-24">
|
|
86
86
|
<IntegrationGallery workspaceId={WORKSPACE_ID} />
|
|
87
87
|
</div>
|
|
88
88
|
),
|
|
@@ -601,6 +601,7 @@ describe('IntegrationGallery: available section', () => {
|
|
|
601
601
|
const link = await screen.findByRole('link', {name: 'Install GitHub'});
|
|
602
602
|
|
|
603
603
|
expect(link).toHaveClass('focus-visible:shadow-button-neutral-focus');
|
|
604
|
+
expect(link).toHaveClass('shadow-button-neutral');
|
|
604
605
|
expect(link.className).not.toContain('shadow-button-secondary');
|
|
605
606
|
expect(within(link).getByText('Install')).toBeVisible();
|
|
606
607
|
expect(within(link).queryByRole('button')).not.toBeInTheDocument();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {QueryLoadError} from '@shipfox/client-ui';
|
|
2
2
|
import {IntegrationIcon} from '@shipfox/integration-icons';
|
|
3
|
-
import {Card} from '@shipfox/react-ui/card';
|
|
4
3
|
import {EmptyState} from '@shipfox/react-ui/empty-state';
|
|
5
4
|
import {Icon} from '@shipfox/react-ui/icon';
|
|
5
|
+
import {Panel} from '@shipfox/react-ui/panel';
|
|
6
6
|
import {Skeleton} from '@shipfox/react-ui/skeleton';
|
|
7
7
|
import {Text} from '@shipfox/react-ui/typography';
|
|
8
8
|
import {cn} from '@shipfox/react-ui/utils';
|
|
@@ -106,7 +106,7 @@ function ProviderCard({
|
|
|
106
106
|
type="button"
|
|
107
107
|
aria-label={`Add ${provider.displayName}`}
|
|
108
108
|
onClick={() => onOpenProvider?.(provider.provider)}
|
|
109
|
-
className="group flex h-full w-full min-w-0 items-center justify-between gap-cluster rounded-8 border border-border-neutral-base bg-background-neutral-base p-panel-compact text-left transition-colors hover:bg-background-components-hover focus-visible:shadow-button-neutral-focus focus-visible:outline-none"
|
|
109
|
+
className="group flex h-full w-full min-w-0 items-center justify-between gap-cluster rounded-8 border border-border-neutral-base bg-background-neutral-base p-panel-compact text-left shadow-button-neutral transition-colors hover:bg-background-components-hover focus-visible:shadow-button-neutral-focus focus-visible:outline-none"
|
|
110
110
|
>
|
|
111
111
|
<ProviderCardContent provider={provider} action="Add" />
|
|
112
112
|
</button>
|
|
@@ -118,7 +118,7 @@ function ProviderCard({
|
|
|
118
118
|
to={catalog.setupPath}
|
|
119
119
|
params={{workspaceSlug}}
|
|
120
120
|
aria-label={`Install ${provider.displayName}`}
|
|
121
|
-
className="group flex h-full min-w-0 items-center justify-between gap-cluster rounded-8 border border-border-neutral-base bg-background-neutral-base p-panel-compact transition-colors hover:bg-background-components-hover focus-visible:shadow-button-neutral-focus focus-visible:outline-none"
|
|
121
|
+
className="group flex h-full min-w-0 items-center justify-between gap-cluster rounded-8 border border-border-neutral-base bg-background-neutral-base p-panel-compact shadow-button-neutral transition-colors hover:bg-background-components-hover focus-visible:shadow-button-neutral-focus focus-visible:outline-none"
|
|
122
122
|
>
|
|
123
123
|
<ProviderCardContent provider={provider} action="Install" />
|
|
124
124
|
</Link>
|
|
@@ -159,7 +159,7 @@ function ProviderGridSkeleton({label}: {label: string}) {
|
|
|
159
159
|
<ul role="status" aria-label={label} className={PROVIDER_GRID_CLASS}>
|
|
160
160
|
{[0, 1, 2, 3].map((tile) => (
|
|
161
161
|
<li key={tile}>
|
|
162
|
-
<
|
|
162
|
+
<Panel className="h-full p-panel-compact">
|
|
163
163
|
<div className="flex items-center justify-between gap-cluster">
|
|
164
164
|
<div className="flex min-w-0 items-center gap-cluster">
|
|
165
165
|
<Skeleton className="size-24 shrink-0" />
|
|
@@ -167,7 +167,7 @@ function ProviderGridSkeleton({label}: {label: string}) {
|
|
|
167
167
|
</div>
|
|
168
168
|
<Skeleton className="h-16 w-64 shrink-0" />
|
|
169
169
|
</div>
|
|
170
|
-
</
|
|
170
|
+
</Panel>
|
|
171
171
|
</li>
|
|
172
172
|
))}
|
|
173
173
|
</ul>
|
|
@@ -60,7 +60,7 @@ export function RepositoryPicker({
|
|
|
60
60
|
{isLoading ? <RepositoryLoadingState /> : null}
|
|
61
61
|
|
|
62
62
|
{!isLoading && repositories.length === 0 ? (
|
|
63
|
-
<div className="rounded-8 border border-border-neutral-base bg-background-
|
|
63
|
+
<div className="rounded-8 border border-border-neutral-base bg-background-neutral-base p-panel-compact">
|
|
64
64
|
<Text size="sm">{emptyMessage}</Text>
|
|
65
65
|
</div>
|
|
66
66
|
) : null}
|
|
@@ -126,7 +126,7 @@ export const CopyableValueState: Story = {
|
|
|
126
126
|
|
|
127
127
|
function StorySurface({scenario}: {scenario: Scenario}) {
|
|
128
128
|
return (
|
|
129
|
-
<div className="min-h-screen bg-background-
|
|
129
|
+
<div className="min-h-screen bg-background-subtle-base p-24">
|
|
130
130
|
{scenario === 'create-form' ? (
|
|
131
131
|
<WebhookCreateModal
|
|
132
132
|
workspaceId={WORKSPACE_ID}
|
|
@@ -40,7 +40,7 @@ export function GiteaInstallPage() {
|
|
|
40
40
|
});
|
|
41
41
|
|
|
42
42
|
return (
|
|
43
|
-
<div className="mx-auto flex w-full
|
|
43
|
+
<div className="mx-auto flex w-full flex-col gap-section">
|
|
44
44
|
<header className="flex flex-col gap-inline">
|
|
45
45
|
<Header variant="h1">Install Gitea</Header>
|
|
46
46
|
<Text size="md" className="text-foreground-neutral-muted">
|
|
@@ -3,8 +3,8 @@ import {useRouteSearch} from '@shipfox/client-shell/runtime';
|
|
|
3
3
|
import {sessionStorageOrUndefined} from '@shipfox/client-ui';
|
|
4
4
|
import {Button, ButtonLink} from '@shipfox/react-ui/button';
|
|
5
5
|
import {Callout} from '@shipfox/react-ui/callout';
|
|
6
|
-
import {Card} from '@shipfox/react-ui/card';
|
|
7
6
|
import {FullPageLoader} from '@shipfox/react-ui/loader';
|
|
7
|
+
import {Panel} from '@shipfox/react-ui/panel';
|
|
8
8
|
import {toast} from '@shipfox/react-ui/toast';
|
|
9
9
|
import {Header, Text} from '@shipfox/react-ui/typography';
|
|
10
10
|
import {useQueryClient} from '@tanstack/react-query';
|
|
@@ -300,8 +300,8 @@ function JiraSiteSelectionPage({
|
|
|
300
300
|
onSelect: (site: JiraSite) => void;
|
|
301
301
|
}) {
|
|
302
302
|
return (
|
|
303
|
-
<main className="flex min-h-screen
|
|
304
|
-
<div className="mx-auto flex w-full
|
|
303
|
+
<main className="flex min-h-screen px-row py-frame">
|
|
304
|
+
<div className="mx-auto flex w-full flex-col justify-center gap-section">
|
|
305
305
|
<header className="flex flex-col gap-inline">
|
|
306
306
|
<Header variant="h2">Choose a Jira site</Header>
|
|
307
307
|
<Text size="sm" className="text-foreground-neutral-muted">
|
|
@@ -317,7 +317,7 @@ function JiraSiteSelectionPage({
|
|
|
317
317
|
|
|
318
318
|
<section className="flex flex-col gap-inline" aria-label="Choose a Jira site">
|
|
319
319
|
{sites.map((site) => (
|
|
320
|
-
<
|
|
320
|
+
<Panel key={site.cloudId} className="p-panel-compact">
|
|
321
321
|
<div className="flex items-center justify-between gap-cluster">
|
|
322
322
|
<div className="min-w-0">
|
|
323
323
|
<Text size="md" bold className="truncate">
|
|
@@ -336,7 +336,7 @@ function JiraSiteSelectionPage({
|
|
|
336
336
|
Connect
|
|
337
337
|
</Button>
|
|
338
338
|
</div>
|
|
339
|
-
</
|
|
339
|
+
</Panel>
|
|
340
340
|
))}
|
|
341
341
|
</section>
|
|
342
342
|
|
|
@@ -3,8 +3,8 @@ import {useRouteSearch} from '@shipfox/client-shell/runtime';
|
|
|
3
3
|
import {createSingleFlight, sessionStorageOrUndefined} from '@shipfox/client-ui';
|
|
4
4
|
import {Button, ButtonLink} from '@shipfox/react-ui/button';
|
|
5
5
|
import {Callout} from '@shipfox/react-ui/callout';
|
|
6
|
-
import {Card} from '@shipfox/react-ui/card';
|
|
7
6
|
import {FullPageLoader} from '@shipfox/react-ui/loader';
|
|
7
|
+
import {Panel} from '@shipfox/react-ui/panel';
|
|
8
8
|
import {toast} from '@shipfox/react-ui/toast';
|
|
9
9
|
import {Header, Text} from '@shipfox/react-ui/typography';
|
|
10
10
|
import {useQueryClient} from '@tanstack/react-query';
|
|
@@ -212,7 +212,7 @@ export function SentryCallbackPage() {
|
|
|
212
212
|
|
|
213
213
|
<section className="flex flex-col gap-inline" aria-label="Choose a workspace">
|
|
214
214
|
{orderedWorkspaces.map((workspace) => (
|
|
215
|
-
<
|
|
215
|
+
<Panel key={workspace.id} className="p-panel-compact">
|
|
216
216
|
<div className="flex items-center justify-between gap-cluster">
|
|
217
217
|
<Text size="md" bold className="truncate">
|
|
218
218
|
{workspace.name}
|
|
@@ -226,7 +226,7 @@ export function SentryCallbackPage() {
|
|
|
226
226
|
Install
|
|
227
227
|
</Button>
|
|
228
228
|
</div>
|
|
229
|
-
</
|
|
229
|
+
</Panel>
|
|
230
230
|
))}
|
|
231
231
|
</section>
|
|
232
232
|
|
|
@@ -246,10 +246,8 @@ export function SentryCallbackPage() {
|
|
|
246
246
|
|
|
247
247
|
function CallbackColumn({children}: {children: React.ReactNode}) {
|
|
248
248
|
return (
|
|
249
|
-
<main className="flex min-h-screen
|
|
250
|
-
<div className="mx-auto flex w-full
|
|
251
|
-
{children}
|
|
252
|
-
</div>
|
|
249
|
+
<main className="flex min-h-screen px-row py-frame">
|
|
250
|
+
<div className="mx-auto flex w-full flex-col justify-center gap-section">{children}</div>
|
|
253
251
|
</main>
|
|
254
252
|
);
|
|
255
253
|
}
|
|
@@ -8,7 +8,7 @@ export function SourceControlOnboardingPage() {
|
|
|
8
8
|
const providersQuery = useIntegrationProvidersQuery({capability: 'source_control'});
|
|
9
9
|
|
|
10
10
|
return (
|
|
11
|
-
<div className="mx-auto flex w-full
|
|
11
|
+
<div className="mx-auto flex w-full flex-col gap-section">
|
|
12
12
|
<header className="flex flex-col gap-inline">
|
|
13
13
|
<Header variant="h1">Install source control</Header>
|
|
14
14
|
<Text size="md" className="text-foreground-neutral-muted">
|
package/src/routes/gitea.tsx
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import {defineRoute} from '@shipfox/client-shell/runtime';
|
|
2
2
|
import {GiteaInstallPage} from '#pages/gitea-install-page.js';
|
|
3
3
|
|
|
4
|
-
export default defineRoute({
|
|
4
|
+
export default defineRoute({
|
|
5
|
+
staticData: {frame: 'focused'},
|
|
6
|
+
component: GiteaInstallPage,
|
|
7
|
+
});
|
|
@@ -29,6 +29,7 @@ const callbackRequests = createSingleFlight<string, void>({maxTerminalResults: 3
|
|
|
29
29
|
const toastedCallbacks = new Set<string>();
|
|
30
30
|
|
|
31
31
|
export default defineRoute({
|
|
32
|
+
staticData: {frame: 'focused'},
|
|
32
33
|
validateSearch: validateGithubCallbackSearch,
|
|
33
34
|
component: GithubCallbackRoute,
|
|
34
35
|
});
|
package/src/routes/github.tsx
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import {defineRoute} from '@shipfox/client-shell/runtime';
|
|
2
2
|
import {GithubInstallPage} from '#pages/github-install-page.js';
|
|
3
3
|
|
|
4
|
-
export default defineRoute({
|
|
4
|
+
export default defineRoute({
|
|
5
|
+
staticData: {frame: 'focused'},
|
|
6
|
+
component: GithubInstallPage,
|
|
7
|
+
});
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import {defineRoute} from '@shipfox/client-shell/runtime';
|
|
2
2
|
import {IntegrationGallery} from '#index.js';
|
|
3
3
|
|
|
4
|
-
export default defineRoute({
|
|
4
|
+
export default defineRoute({
|
|
5
|
+
staticData: {frame: 'content'},
|
|
6
|
+
component: IntegrationGallery,
|
|
7
|
+
});
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import {defineRoute} from '@shipfox/client-shell/runtime';
|
|
2
2
|
import {SourceControlOnboardingPage} from '#pages/source-control-onboarding-page.js';
|
|
3
3
|
|
|
4
|
-
export default defineRoute({
|
|
4
|
+
export default defineRoute({
|
|
5
|
+
staticData: {frame: 'focused'},
|
|
6
|
+
component: SourceControlOnboardingPage,
|
|
7
|
+
});
|
|
@@ -3,6 +3,7 @@ import {JiraCallbackPage} from '#pages/jira-callback-page.js';
|
|
|
3
3
|
import {parseJiraCallbackQuery} from '../jira-callback.js';
|
|
4
4
|
|
|
5
5
|
export default defineRoute({
|
|
6
|
+
staticData: {frame: 'focused'},
|
|
6
7
|
validateSearch: parseJiraCallbackQuery,
|
|
7
8
|
component: JiraCallbackPage,
|
|
8
9
|
});
|
package/src/routes/jira.tsx
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import {defineRoute} from '@shipfox/client-shell/runtime';
|
|
2
2
|
import {JiraInstallPage} from '#pages/jira-install-page.js';
|
|
3
3
|
|
|
4
|
-
export default defineRoute({
|
|
4
|
+
export default defineRoute({
|
|
5
|
+
staticData: {frame: 'focused'},
|
|
6
|
+
component: JiraInstallPage,
|
|
7
|
+
});
|
|
@@ -3,6 +3,7 @@ import {LinearCallbackPage} from '#pages/linear-callback-page.js';
|
|
|
3
3
|
import {parseLinearCallbackQuery} from '../linear-callback.js';
|
|
4
4
|
|
|
5
5
|
export default defineRoute({
|
|
6
|
+
staticData: {frame: 'focused'},
|
|
6
7
|
validateSearch: parseLinearCallbackQuery,
|
|
7
8
|
component: LinearCallbackPage,
|
|
8
9
|
});
|
package/src/routes/linear.tsx
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import {defineRoute} from '@shipfox/client-shell/runtime';
|
|
2
2
|
import {LinearInstallPage} from '#pages/linear-install-page.js';
|
|
3
3
|
|
|
4
|
-
export default defineRoute({
|
|
4
|
+
export default defineRoute({
|
|
5
|
+
staticData: {frame: 'focused'},
|
|
6
|
+
component: LinearInstallPage,
|
|
7
|
+
});
|
|
@@ -3,6 +3,7 @@ import {SentryCallbackPage} from '#pages/sentry-callback-page.js';
|
|
|
3
3
|
import {parseSentryCallbackParams} from '../sentry-callback.js';
|
|
4
4
|
|
|
5
5
|
export default defineRoute({
|
|
6
|
+
staticData: {frame: 'focused'},
|
|
6
7
|
validateSearch: parseSentryCallbackParams,
|
|
7
8
|
component: SentryCallbackPage,
|
|
8
9
|
});
|
package/src/routes/sentry.tsx
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import {defineRoute} from '@shipfox/client-shell/runtime';
|
|
2
2
|
import {SentryInstallPage} from '#pages/sentry-install-page.js';
|
|
3
3
|
|
|
4
|
-
export default defineRoute({
|
|
4
|
+
export default defineRoute({
|
|
5
|
+
staticData: {frame: 'focused'},
|
|
6
|
+
component: SentryInstallPage,
|
|
7
|
+
});
|
|
@@ -3,6 +3,7 @@ import {SlackCallbackPage} from '#pages/slack-callback-page.js';
|
|
|
3
3
|
import {parseSlackCallbackQuery} from '../slack-callback.js';
|
|
4
4
|
|
|
5
5
|
export default defineRoute({
|
|
6
|
+
staticData: {frame: 'focused'},
|
|
6
7
|
validateSearch: parseSlackCallbackQuery,
|
|
7
8
|
component: SlackCallbackPage,
|
|
8
9
|
});
|
package/src/routes/slack.tsx
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import {defineRoute} from '@shipfox/client-shell/runtime';
|
|
2
2
|
import {SlackInstallPage} from '#pages/slack-install-page.js';
|
|
3
|
-
export default defineRoute({
|
|
3
|
+
export default defineRoute({
|
|
4
|
+
staticData: {frame: 'focused'},
|
|
5
|
+
component: SlackInstallPage,
|
|
6
|
+
});
|