Skip to content

Commit 85da54a

Browse files
committed
Revert "feat: remove legacy library migration page"
This reverts commit d649db6.
1 parent 721be46 commit 85da54a

14 files changed

Lines changed: 1647 additions & 7 deletions

src/index.jsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ import { ContentType } from './library-authoring/routes';
4444

4545
import 'react-datepicker/dist/react-datepicker.css';
4646
import './index.scss';
47+
import { LegacyLibMigrationPage } from './legacy-libraries-migration/LegacyLibMigrationPage';
48+
4749
const queryClient = new QueryClient({
4850
defaultOptions: {
4951
queries: {
@@ -73,6 +75,7 @@ const App = () => {
7375
<Route path="/home" element={<StudioHome />} />
7476
<Route path="/libraries" element={<StudioHome />} />
7577

78+
<Route path="/libraries-v1/migrate" element={<LegacyLibMigrationPage />} />
7679
<Route path="/library/create" element={<CreateLibrary />} />
7780
<Route path="/library/:libraryId/*" element={<LibraryLayout />} />
7881
<Route

src/index.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
@import "certificates/scss/Certificates";
3131
@import "group-configurations/GroupConfigurations";
3232
@import "optimizer-page/scan-results/ScanResults";
33+
@import "legacy-libraries-migration/";
3334
@import "container-comparison/";
3435

3536
// To apply the glow effect to the selected Section/Subsection, in the Course Outline
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
import { FormattedMessage } from '@edx/frontend-platform/i18n';
2+
import {
3+
Alert,
4+
Card,
5+
Container,
6+
Icon,
7+
Stack,
8+
} from '@openedx/paragon';
9+
import {
10+
AccessTime,
11+
Folder,
12+
SubdirectoryArrowRight,
13+
} from '@openedx/paragon/icons';
14+
15+
import type { ContentLibrary } from '@src/library-authoring/data/api';
16+
import { LibraryV1Data } from '@src/studio-home/data/api';
17+
import { BoldText } from '@src/utils';
18+
19+
import messages from './messages';
20+
21+
interface ConfirmationCardProps {
22+
legacyLib: LibraryV1Data;
23+
destinationName: string;
24+
}
25+
26+
const ConfirmationCard = ({
27+
legacyLib,
28+
destinationName,
29+
}: ConfirmationCardProps) => (
30+
<Card className="mb-3.5">
31+
<Card.Header
32+
title={
33+
<Stack className="h4" direction="horizontal">
34+
<Icon className="mr-1" src={Folder} />
35+
<span>{legacyLib.displayName}</span>
36+
</Stack>
37+
}
38+
subtitle={
39+
<Stack className="mb-1.5" direction="horizontal">
40+
<Icon className="mr-1.5" src={SubdirectoryArrowRight} />
41+
<span>{destinationName}</span>
42+
</Stack>
43+
}
44+
/>
45+
{legacyLib.isMigrated && (
46+
<Stack className="ml-3.5 mt-1 mb-2 text-gray-500" direction="horizontal">
47+
<Icon className="mr-1.5" src={AccessTime} />
48+
<span className="x-small">
49+
<FormattedMessage
50+
{...messages.previouslyMigratedAlert}
51+
values={{
52+
libraryName: legacyLib.migratedToTitle,
53+
b: BoldText,
54+
}}
55+
/>
56+
</span>
57+
</Stack>
58+
)}
59+
</Card>
60+
);
61+
62+
interface ConfirmationViewProps {
63+
destination: ContentLibrary;
64+
legacyLibraries: LibraryV1Data[];
65+
}
66+
67+
export const ConfirmationView = ({
68+
destination,
69+
legacyLibraries,
70+
}: ConfirmationViewProps) => (
71+
<Container className="confirmation-view">
72+
<Alert variant="info">
73+
<FormattedMessage
74+
{...messages.confirmationViewAlert}
75+
values={{
76+
count: legacyLibraries.length,
77+
libraryName: destination.title,
78+
b: BoldText,
79+
}}
80+
/>
81+
</Alert>
82+
{legacyLibraries.map((legacyLib) => (
83+
<ConfirmationCard
84+
key={legacyLib.libraryKey}
85+
legacyLib={legacyLib}
86+
destinationName={destination.title}
87+
/>
88+
))}
89+
</Container>
90+
);

0 commit comments

Comments
 (0)