@@ -37,6 +37,15 @@ const LEVEL_NAMES = [
3737 "Advanced+" ,
3838 "Rx" ,
3939]
40+ const LEVEL_NAMES_SHORT = [
41+ "Beg" ,
42+ "Beg+" ,
43+ "Int" ,
44+ "Int+" ,
45+ "Adv" ,
46+ "Adv+" ,
47+ "Rx" ,
48+ ]
4049const LEVEL_KEYS = [
4150 "beginner" ,
4251 "beginner_plus" ,
@@ -368,15 +377,11 @@ function MetconCard({
368377 metcon,
369378 level,
370379 levelKey,
371- partnerLevel,
372- partnerLevelKey,
373380 defaultExpanded,
374381} : {
375382 metcon : Metcon
376383 level : number
377384 levelKey : LevelKey
378- partnerLevel ?: number
379- partnerLevelKey ?: LevelKey
380385 defaultExpanded ?: boolean
381386} ) {
382387 const [ isExpanded , setIsExpanded ] = useState ( defaultExpanded ?? false )
@@ -453,16 +458,9 @@ function MetconCard({
453458 </ div >
454459 ) }
455460
456- { /* Whiteboard(s) */ }
461+ { /* Whiteboard */ }
457462 < div className = "px-6 py-5" >
458- { isTeam && partnerLevel !== undefined && partnerLevelKey ? (
459- < div className = "flex flex-col md:flex-row gap-4" >
460- < WhiteboardColumn metcon = { metcon } levelIdx = { level } levelKey = { levelKey } label = "You" />
461- < WhiteboardColumn metcon = { metcon } levelIdx = { partnerLevel } levelKey = { partnerLevelKey } label = "Partner" />
462- </ div >
463- ) : (
464- < WhiteboardColumn metcon = { metcon } levelIdx = { level } levelKey = { levelKey } />
465- ) }
463+ < WhiteboardColumn metcon = { metcon } levelIdx = { level } levelKey = { levelKey } />
466464 </ div >
467465
468466 { /* Stimulus + Coach Notes */ }
@@ -503,10 +501,10 @@ function MetconCard({
503501 { LEVEL_NAMES . map ( ( name , i ) => (
504502 < th
505503 key = { i }
506- className = "text-center py-2 px-2 text-xs font-bold"
504+ className = "text-center py-2 px-2 text-xs font-bold whitespace-nowrap "
507505 style = { { color : LEVEL_COLORS [ i ] } }
508506 >
509- { name }
507+ { LEVEL_NAMES_SHORT [ i ] }
510508 </ th >
511509 ) ) }
512510 </ tr >
@@ -589,15 +587,11 @@ function DailyView({
589587 metcons,
590588 level,
591589 levelKey,
592- partnerLevel,
593- partnerLevelKey,
594590} : {
595591 sessions : Session [ ]
596592 metcons : Metcon [ ]
597593 level : number
598594 levelKey : LevelKey
599- partnerLevel : number
600- partnerLevelKey : LevelKey
601595} ) {
602596 const sortedDates = useMemo (
603597 ( ) => sessions . map ( ( s ) => s . date ) . sort ( ) ,
@@ -780,8 +774,6 @@ function DailyView({
780774 metcon = { metcon }
781775 level = { level }
782776 levelKey = { levelKey }
783- partnerLevel = { metcon . team ? partnerLevel : undefined }
784- partnerLevelKey = { metcon . team ? partnerLevelKey : undefined }
785777 defaultExpanded
786778 />
787779 </ div >
@@ -906,14 +898,12 @@ function LibraryView({
906898// ---------------------------------------------------------------------------
907899export default function ProgrammingPage ( ) {
908900 const [ level , setLevel ] = useState < number > ( 6 ) // default Rx
909- const [ partnerLevel , setPartnerLevel ] = useState < number > ( 3 ) // default Intermediate+
910901 const [ activeTab , setActiveTab ] = useState < "daily" | "library" > ( "daily" )
911902 const [ metcons , setMetcons ] = useState < Metcon [ ] > ( [ ] )
912903 const [ sessions , setSessions ] = useState < Session [ ] > ( [ ] )
913904 const [ loading , setLoading ] = useState ( true )
914905
915906 const levelKey = LEVEL_KEYS [ level ]
916- const partnerLevelKey = LEVEL_KEYS [ partnerLevel ]
917907
918908 useEffect ( ( ) => {
919909 Promise . all ( [
@@ -983,7 +973,7 @@ export default function ProgrammingPage() {
983973 { LEVEL_NAMES . map ( ( name , i ) => (
984974 < button
985975 key = { i }
986- className = { `px-3 py-2 rounded-full text-xs font-bold transition-colors ${
976+ className = { `px-2 sm:px- 3 py-2 rounded-full text-xs font-bold transition-colors whitespace-nowrap ${
987977 level === i
988978 ? "text-white"
989979 : "text-muted-foreground hover:text-foreground"
@@ -994,40 +984,13 @@ export default function ProgrammingPage() {
994984 } }
995985 onClick = { ( ) => setLevel ( i ) }
996986 >
997- { name }
987+ < span className = "sm:hidden" > { LEVEL_NAMES_SHORT [ i ] } </ span >
988+ < span className = "hidden sm:inline" > { name } </ span >
998989 </ button >
999990 ) ) }
1000991 </ div >
1001992 </ div >
1002993
1003- { /* Row 3: Partner Level (shown when team metcons exist) */ }
1004- { metcons . some ( ( m ) => m . team ) && (
1005- < div className = "flex flex-col items-center gap-1" >
1006- < div className = "flex items-center gap-1.5" >
1007- < Users className = "w-3.5 h-3.5 text-purple-500" />
1008- < span className = "text-xs text-purple-500 font-medium" > Partner Level</ span >
1009- </ div >
1010- < div className = "flex bg-secondary rounded-full p-1" >
1011- { LEVEL_NAMES . map ( ( name , i ) => (
1012- < button
1013- key = { i }
1014- className = { `px-3 py-2 rounded-full text-xs font-bold transition-colors ${
1015- partnerLevel === i
1016- ? "text-white"
1017- : "text-muted-foreground hover:text-foreground"
1018- } `}
1019- style = { {
1020- backgroundColor :
1021- partnerLevel === i ? LEVEL_COLORS [ i ] : undefined ,
1022- } }
1023- onClick = { ( ) => setPartnerLevel ( i ) }
1024- >
1025- { name }
1026- </ button >
1027- ) ) }
1028- </ div >
1029- </ div >
1030- ) }
1031994 </ div >
1032995 </ div >
1033996 </ section >
@@ -1045,8 +1008,6 @@ export default function ProgrammingPage() {
10451008 metcons = { metcons }
10461009 level = { level }
10471010 levelKey = { levelKey }
1048- partnerLevel = { partnerLevel }
1049- partnerLevelKey = { partnerLevelKey }
10501011 />
10511012 ) : (
10521013 < LibraryView
0 commit comments