Skip to content

Commit 85a1ec5

Browse files
authored
Merge pull request #3261 from codecrafters-io/add-isArchived-flag-to-filter-ideas
feat: add isArchived flag to filter out archived course ideas
2 parents e70461c + 013ff55 commit 85a1ec5

File tree

4 files changed

+8
-1
lines changed

4 files changed

+8
-1
lines changed

app/components/course-page/configure-extensions-modal/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export default class ConfigureExtensionsModal extends Component<Signature> {
2727

2828
get orderedCourseExtensionIdeas() {
2929
return this.allCourseExtensionIdeas
30+
.filter((item) => !item.isArchived)
3031
.filter((item) => item.course === this.args.repository.course)
3132
.filter((item) => item.developmentStatus !== 'released')
3233
.sort(fieldComparator('sortPositionForRoadmapPage'));

app/components/latest-releases-card.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export default class LatestReleasesCard extends Component<Signature> {
2222
const releases: Release[] = [];
2323

2424
this.args.courseExtensionIdeas
25+
.filter((idea: CourseExtensionIdeaModel) => !idea.isArchived)
2526
.filter((idea: CourseExtensionIdeaModel) => idea.developmentStatusIsReleased)
2627
.forEach((idea: CourseExtensionIdeaModel) => {
2728
releases.push({

app/controllers/roadmap/course-extension-ideas.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,15 @@ export default class CourseExtensionIdeasController extends Controller {
2828
@service declare store: Store;
2929

3030
get orderedCourseExtensionIdeas() {
31-
return this.model.courseExtensionIdeas.filter((item) => item.course === this.selectedCourse).sort(fieldComparator('sortPositionForRoadmapPage'));
31+
return this.model.courseExtensionIdeas
32+
.filter((item) => !item.isArchived)
33+
.filter((item) => item.course === this.selectedCourse)
34+
.sort(fieldComparator('sortPositionForRoadmapPage'));
3235
}
3336

3437
get orderedCourses() {
3538
return this.model.courseExtensionIdeas
39+
.filter((item) => !item.isArchived)
3640
.filter((item) => !item.developmentStatusIsReleased)
3741
.map((item) => item.course)
3842
.reduce(uniqReducer(), [])

app/models/course-extension-idea.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export default class CourseExtensionIdeaModel extends Model {
1616
@attr('date') declare createdAt: Date;
1717
@attr('string') declare descriptionMarkdown: string;
1818
@attr('string') declare developmentStatus: string;
19+
@attr('boolean') declare isArchived: boolean;
1920
@attr('string') declare name: string;
2021
@attr('date') declare releasedAt: Date | null;
2122
@attr('string') declare slug: string;

0 commit comments

Comments
 (0)