Skip to content

Commit 3a9d37f

Browse files
committed
refactor(app): remove files from app/learn for files in app/quiz
1 parent b364e75 commit 3a9d37f

File tree

14 files changed

+44
-160
lines changed

14 files changed

+44
-160
lines changed

src/app/bounties/page.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ import { Suspense } from 'react';
1818

1919
import { Filter } from '@/components/Filter';
2020

21-
import { StartOnOpenBuild } from '../learn/StartOnOpenBuild';
21+
import StartOnOpenBuild from '#/entry/components/StartOnOpenBuild';
22+
2223
import { Title } from '../learn/Title';
2324
import { Container } from './Container';
2425
import { BountyFilter } from './Filter';

src/app/home/Main.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ import HomeTopBg from 'public/images/home-top-bg.png';
2323
import { useEffect } from 'react';
2424
import Typed from 'react-typed';
2525

26-
import { StartOnOpenBuild } from '../learn/StartOnOpenBuild';
26+
import StartOnOpenBuild from '#/entry/components/StartOnOpenBuild';
27+
2728
import { BuilderWay } from './BuilderWay';
2829
import { BuildWith } from './BuildWith';
2930
import { Contributor } from './Contributor';

src/app/layout.js

-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import { getAppConfig } from '@/utils/app';
3131
import { nunito_sans } from '#/lib/font';
3232
import { siteConfig } from '#/lib/site';
3333
import { getConfigs } from '#/services/common';
34-
// import { StartOnOpenBuild } from '@/components/StartOnOpenBuild'
3534

3635
import ClientEntry from '../entry';
3736
import DefaultLayout from '../entry/layouts/default';

src/app/learn/[type]/CourseCard.js

-119
This file was deleted.

src/app/learn/[type]/List.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,21 @@
1818

1919
import clsx from 'clsx';
2020

21-
import ChallengeListView from '#/domain/challenge/views/challenge-list';
22-
import CourseListView from '#/domain/course/views/course-list';
23-
import RoadmapListView from '#/domain/roadmap/views/roadmap-list';
21+
import { ChallengeListViewWidget } from '#/domain/challenge';
22+
import { CourseListViewWidget } from '#/domain/course';
23+
import { RoadmapListViewWidget } from '#/domain/roadmap';
2424
import { useOpenFilter } from '#/state/application/hooks';
2525

2626
const viewMap = {
2727
courses: {
28-
widget: CourseListView,
28+
widget: CourseListViewWidget,
2929
className: 'mb-9 mt-6 gap-5 md:grid-cols-3',
3030
},
3131
challenges: {
32-
widget: ChallengeListView,
32+
widget: ChallengeListViewWidget,
3333
},
3434
career_path: {
35-
widget: RoadmapListView,
35+
widget: RoadmapListViewWidget,
3636
},
3737
};
3838

src/app/learn/[type]/[id]/GrowPath.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import { Share } from '@/components/Share';
2020

21-
import RoadmapDetailView from '#/domain/roadmap/views/roadmap-detail';
21+
import { RoadmapDetailViewWidget } from '#/domain/roadmap';
2222

2323
import { growPathEnrollAction } from './actions';
2424
import { Back } from './Back';
@@ -32,7 +32,7 @@ function GrowPath({ params, data, permission }) {
3232
);
3333

3434
return (
35-
<RoadmapDetailView id={params.id} data={data} permission={permission} headerExtra={headerExtra} executeEnroll={growPathEnrollAction} />
35+
<RoadmapDetailViewWidget id={params.id} data={data} permission={permission} headerExtra={headerExtra} executeEnroll={growPathEnrollAction} />
3636
);
3737
}
3838

src/app/learn/[type]/page.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ import { Suspense } from 'react';
1818

1919
import { Filter } from '@/components/Filter';
2020

21+
import StartOnOpenBuild from '#/entry/components/StartOnOpenBuild';
22+
2123
import { ChallengesFilter } from '../ChallengesFilter';
22-
import { StartOnOpenBuild } from '../StartOnOpenBuild';
2324
import { Title } from '../Title';
2425
import { Container } from './Container';
2526
import { ListSkeleton } from './ListSkeleton';

src/app/quiz/[id]/page.js

+2-4
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ import { HistoryIcon } from '@/components/Icons';
2929
import { OViewer } from '@/components/MarkDown';
3030
import { fetcher } from '@/utils/request';
3131

32+
import { CourseListViewWidget } from '#/domain/course';
3233
import QuizLimiterWidget from '#/domain/quiz/widgets/quiz-limiter';
3334
import { useMediaUrl } from '#/state/application/hooks';
3435

35-
import { CourseCard } from '../../learn/[type]/CourseCard';
3636
import RankList from './RankList';
3737
import { RankListModal } from './RankListModal';
3838
import { Record } from './Record';
@@ -101,9 +101,7 @@ export default function Quiz({params}) {
101101
coursesList?.count > 0 && (
102102
<div className="max-w-[800px] max-md:mt-9 mx-6 md:mx-auto relative md:top-[-105px] max-md:pb-14">
103103
<h3 className="text-[18px] max-md:leading-[24px] md:text-lg mb-6">Related courses</h3>
104-
<div className="grid gap-y-6 md:gap-4 md:grid-cols-2">
105-
{coursesList?.list?.map(i => <CourseCard data={i} key={`open-courses-${i.base.course_series_id}`} />)}
106-
</div>
104+
<CourseListViewWidget className="gap-y-6 md:gap-4 md:grid-cols-2" data={coursesList?.list} />
107105
</div>)
108106
}
109107
<RankListModal quizId={params.id} shown={openRankList} onClose={() => setOpenRankList(false)} rank={data?.my_rank}/>

src/app/quiz/page.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ import { useEffect,useState } from 'react';
2626

2727
import { ArrowRightIcon } from '@/components/Icons';
2828

29-
import { StartOnOpenBuild } from '../learn/StartOnOpenBuild';
29+
import StartOnOpenBuild from '#/entry/components/StartOnOpenBuild';
30+
3031
import { QuizList } from './List';
3132

3233
const Steps = [

src/app/learn/CardProgress.js src/domain/challenge/index.js

+1-21
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,4 @@
1414
* limitations under the License.
1515
*/
1616

17-
'use client';
18-
19-
import { ArrowRightIcon } from '@/components/Icons';
20-
import { ProgressBar } from '@/components/ProgressBar';
21-
22-
export function CardProgress({ value }) {
23-
return (
24-
<div className="flex items-center justify-between p-6">
25-
<div>
26-
<h6 className="mb-3 text-sm font-bold">
27-
Progress
28-
<span className="ml-2 font-normal">{value}%</span>
29-
</h6>
30-
<div className="min-w-[160px]">
31-
<ProgressBar progress={value} />
32-
</div>
33-
</div>
34-
<ArrowRightIcon className="h-3 w-[18px]" />
35-
</div>
36-
);
37-
}
17+
export { default as ChallengeListViewWidget } from './views/challenge-list';

src/domain/course/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,5 @@
1616

1717
export { default as BuilderListWidget } from './widgets/builder-list';
1818
export { default as CardTitleWidget } from './widgets/card-title';
19+
20+
export { default as CourseListViewWidget } from './views/course-list';

src/domain/roadmap/index.js

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* Copyright 2024 OpenBuild
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
export { default as RoadmapListViewWidget } from './views/roadmap-list';
18+
export { default as RoadmapDetailViewWidget } from './views/roadmap-detail';

src/domain/roadmap/views/roadmap-detail/StepList.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import { CheckCircleIcon } from '@/components/icon/solid';
2626

2727
import { useMediaUrl } from '#/state/application/hooks';
2828

29-
import CourseListView from '../../../course/views/course-list';
29+
import { CourseListViewWidget } from '../../../course';
3030

3131
function StepList({ data, permission, roadmapId, executeEnroll }) {
3232
const mediaUrl = useMediaUrl();
@@ -81,7 +81,7 @@ function StepList({ data, permission, roadmapId, executeEnroll }) {
8181
<p className="max-w-[672px] mt-2">{i.info}</p>
8282
{
8383
i.step === 1 && i.extra_data?.length > 0 && (
84-
<CourseListView className="mt-6 gap-4 grid-cols-3" data={i.extra_data} source={`from=career_path&fromid=${roadmapId}`} />
84+
<CourseListViewWidget className="mt-6 gap-4 grid-cols-3" data={i.extra_data} source={`from=career_path&fromid=${roadmapId}`} />
8585
)
8686
}
8787
{i.img !== '' && <div className="mt-4">

src/app/learn/StartOnOpenBuild.js src/entry/components/StartOnOpenBuild/index.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import TaskPic from 'public/images/svg/task.svg';
2323

2424
import { Button } from '@/components/Button';
2525

26-
export function StartOnOpenBuild() {
26+
function StartOnOpenBuild() {
2727
const { status } = useSession();
2828
return (
2929
<div className="md:flex justify-between bg-green max-md:pt-4 md:py-[30px] px-11 relative">
@@ -59,3 +59,5 @@ export function StartOnOpenBuild() {
5959
</div>
6060
);
6161
}
62+
63+
export default StartOnOpenBuild;

0 commit comments

Comments
 (0)