File tree Expand file tree Collapse file tree 3 files changed +29
-3
lines changed
app/components/course-overview-page Expand file tree Collapse file tree 3 files changed +29
-3
lines changed Original file line number Diff line number Diff line change 11<div class =" space-y-4 w-full" ...attributes>
2- <CourseOverviewPage::StageListCard @title =" Base Stages" @descriptionMarkdown ={{ @course.descriptionMarkdown }} @stages ={{ @course.sortedBaseStages }} />
2+ <CourseOverviewPage::StageListCard
3+ @title ={{ if (gt @course.extensions.length 0 ) " Base Stages" " Stages" }}
4+ @descriptionMarkdown ={{ @course.descriptionMarkdown }}
5+ @stages ={{ @course.sortedBaseStages }}
6+ />
37
48 {{ #each @course.sortedExtensions as |extension |}}
59 <CourseOverviewPage::StageListCard
610 @title ={{ extension.name }}
711 @descriptionMarkdown ={{ extension.descriptionMarkdown }}
812 @stages ={{ extension.sortedStages }}
13+ @isCollapsedByDefault ={{ true }}
914 />
1015 {{ /each }}
1116</div >
Original file line number Diff line number Diff line change 11<div
2- class =" grid grid-cols-1 md:grid-cols-[2fr_3fr] p-4 md:p-6 gap-4 md:gap-6 bg-white dark:bg-gray-850 rounded-md shadow-xs border border-gray-200 dark:border-white/5"
2+ class =" grid grid-cols-1 md:grid-cols-[2fr_3fr] p-4 md:p-6 gap-4 md:gap-6 bg-white dark:bg-gray-850 rounded-md shadow-xs border border-gray-200 dark:border-white/5 group relative
3+ {{ unless this.isExpanded ' h-48 overflow-hidden' }} "
34 ...attributes
45>
56 <div >
1516 <div class =" min-w-0" >
1617 <CourseOverviewPage::StageListCard::List @stages ={{ @stages }} />
1718 </div >
19+
20+ {{ #unless this.isExpanded }}
21+ <div
22+ class =" absolute z-20 bottom-0 left-0 right-0 h-32 vertical-mask dark:vertical-mask-gray-850 p-4 flex items-end justify-center pointer-events-none group-hover:pointer-events-auto"
23+ >
24+ <TertiaryButton class =" opacity-0 group-hover:opacity-100 transition-opacity duration-200" {{ on " click" this.handleExpandClick }} >
25+ Click to expand
26+ </TertiaryButton >
27+ </div >
28+ {{ /unless }}
1829</div >
Original file line number Diff line number Diff line change 11import Component from '@glimmer/component' ;
22import type CourseStageModel from 'codecrafters-frontend/models/course-stage' ;
3+ import { tracked } from '@glimmer/tracking' ;
4+ import { action } from '@ember/object' ;
35
46interface Signature {
57 Element : HTMLDivElement ;
@@ -8,10 +10,18 @@ interface Signature {
810 title : string ;
911 descriptionMarkdown : string ;
1012 stages : CourseStageModel [ ] ;
13+ isCollapsedByDefault ?: boolean ;
1114 } ;
1215}
1316
14- export default class CourseOverviewPageStageListCard extends Component < Signature > { }
17+ export default class CourseOverviewPageStageListCard extends Component < Signature > {
18+ @tracked isExpanded = ! this . args . isCollapsedByDefault ;
19+
20+ @action
21+ handleExpandClick ( ) {
22+ this . isExpanded = true ;
23+ }
24+ }
1525
1626declare module '@glint/environment-ember-loose/registry' {
1727 export default interface Registry {
You can’t perform that action at this time.
0 commit comments