Skip to content

Commit e5bee54

Browse files
fredrikekelundbgrgicak
authored andcommitted
Refactor preview site updating to depend on CLI (#1223)
* [WIP] Refactor Studio to depend on CLI for preview site creation * More changes * Fix * Use node's child_process module to fork CLI process * Tests * useGetSnapshotUsage * Build CLI before starting dev version of app * Tweaks * Fixes * preview ➡️ snapshot * Improved progress bar * Display notice when operation completes * Update zod * Remove useArchiveSite hook * Fix test * Modify exitCode in Logger::reportError * Set exit code on error and fix outputFormat parsing * Shorten * Fix outputFormat parsing * Clarify naming * Refactor preview site updating to depend on CLI * Clean up * Tweak * Tweaks
1 parent aa536cc commit e5bee54

15 files changed

+307
-571
lines changed

src/components/content-tab-previews.tsx

+2-7
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import {
1818
import { useAuth } from 'src/hooks/use-auth';
1919
import { useOffline } from 'src/hooks/use-offline';
2020
import { useSiteSize } from 'src/hooks/use-site-size';
21-
import { useUpdateDemoSite } from 'src/hooks/use-update-demo-site';
2221
import { getIpcApi } from 'src/lib/get-ipc-api';
2322
import { CreatePreviewButton } from 'src/modules/preview-site/components/create-preview-button';
2423
import { PreviewSiteRow } from 'src/modules/preview-site/components/preview-site-row';
@@ -171,17 +170,13 @@ export function ContentTabPreviews( { selectedSite }: ContentTabPreviewsProps )
171170
const { data: snapshotUsage } = useGetSnapshotUsage();
172171
const { isAuthenticated, user } = useAuth();
173172
const { isOverLimit } = useSiteSize( selectedSite.id );
174-
const { isDemoSiteUpdating } = useUpdateDemoSite();
175173
const activeOperation = useRootSelector( ( state ) =>
176-
snapshotSelectors.selectActiveOperationForSite( state, selectedSite.id )
174+
snapshotSelectors.selectActiveCreateOperationForSite( state, selectedSite.id )
177175
);
178-
const snapshots = useRootSelector( ( state ) => snapshotSelectors.selectSnapshots( state ) );
179176
const snapshotsOnSite = useRootSelector( ( state ) =>
180177
snapshotSelectors.selectSnapshotsBySiteAndUser( state, selectedSite.id, user?.id ?? 0 )
181178
);
182-
const isAnySnapshotUpdating = snapshots.some( ( snapshot ) =>
183-
isDemoSiteUpdating( snapshot.atomicSiteId )
184-
);
179+
const isAnySnapshotUpdating = useRootSelector( snapshotSelectors.selectIsAnySnapshotUpdating );
185180
const isOffline = useOffline();
186181

187182
const isUpdateDisabled =

src/components/root.tsx

+15-18
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import { PromptUsageProvider } from 'src/hooks/use-prompt-usage';
1414
import { SiteDetailsProvider } from 'src/hooks/use-site-details';
1515
import { SnapshotProvider } from 'src/hooks/use-snapshots';
1616
import { ThemeDetailsProvider } from 'src/hooks/use-theme-details';
17-
import { DemoSiteUpdateProvider } from 'src/hooks/use-update-demo-site';
1817
import { store } from 'src/stores';
1918

2019
const Root = () => {
@@ -27,23 +26,21 @@ const Root = () => {
2726
<SnapshotProvider>
2827
<SiteDetailsProvider>
2928
<FeatureFlagsProvider>
30-
<DemoSiteUpdateProvider>
31-
<ThemeDetailsProvider>
32-
<InstalledAppsProvider>
33-
<OnboardingProvider>
34-
<PromptUsageProvider>
35-
<ImportExportProvider>
36-
<ContentTabsProvider>
37-
<SyncSitesProvider>
38-
<App />
39-
</SyncSitesProvider>
40-
</ContentTabsProvider>
41-
</ImportExportProvider>
42-
</PromptUsageProvider>
43-
</OnboardingProvider>
44-
</InstalledAppsProvider>
45-
</ThemeDetailsProvider>
46-
</DemoSiteUpdateProvider>
29+
<ThemeDetailsProvider>
30+
<InstalledAppsProvider>
31+
<OnboardingProvider>
32+
<PromptUsageProvider>
33+
<ImportExportProvider>
34+
<ContentTabsProvider>
35+
<SyncSitesProvider>
36+
<App />
37+
</SyncSitesProvider>
38+
</ContentTabsProvider>
39+
</ImportExportProvider>
40+
</PromptUsageProvider>
41+
</OnboardingProvider>
42+
</InstalledAppsProvider>
43+
</ThemeDetailsProvider>
4744
</FeatureFlagsProvider>
4845
</SiteDetailsProvider>
4946
</SnapshotProvider>

src/hooks/tests/use-update-demo-site.test.tsx

-255
This file was deleted.

0 commit comments

Comments
 (0)