@@ -41,6 +41,7 @@ export type Props = {
41
41
modules : ModuleWithColor [ ] ;
42
42
tombstone : TombstoneModule | null ; // Placeholder for a deleted module
43
43
customiseModule : ModuleCode ;
44
+ customisedModules : ModuleCode [ ] ;
44
45
45
46
// Actions
46
47
selectModuleColor : ( semester : Semester , moduleCode : ModuleCode , colorIndex : ColorIndex ) => void ;
@@ -70,9 +71,7 @@ export const TimetableModulesTableComponent: React.FC<Props> = (props) => {
70
71
type = "button"
71
72
className = { classnames ( 'btn btn-outline-secondary btn-svg' , styles . moduleAction ) }
72
73
aria-label = { removeBtnLabel }
73
- onClick = { ( ) => {
74
- props . customiseLesson ( semester , '' ) ;
75
- } }
74
+ onClick = { ( ) => props . customiseLesson ( semester , '' ) }
76
75
>
77
76
< Check className = { styles . actionIcon } />
78
77
</ button >
@@ -118,12 +117,8 @@ export const TimetableModulesTableComponent: React.FC<Props> = (props) => {
118
117
type = "button"
119
118
className = { classnames ( 'btn btn-outline-secondary btn-svg' , styles . moduleAction ) }
120
119
aria-label = { customBtnLabel }
121
- disabled = {
122
- props . customiseModule !== '' && props . customiseModule !== module . moduleCode
123
- }
124
- hidden = {
125
- props . customiseModule !== '' && props . customiseModule !== module . moduleCode
126
- }
120
+ disabled = { ! ! props . customiseModule && props . customiseModule !== module . moduleCode }
121
+ hidden = { ! ! props . customiseModule && props . customiseModule !== module . moduleCode }
127
122
onClick = { ( ) => {
128
123
// TODO: add modal for warning
129
124
props . addCustomModule ( semester , module . moduleCode ) ;
@@ -141,7 +136,7 @@ export const TimetableModulesTableComponent: React.FC<Props> = (props) => {
141
136
} ;
142
137
143
138
const renderModule = ( module : ModuleWithColor ) => {
144
- const { semester, readOnly, tombstone, resetTombstone } = props ;
139
+ const { semester, readOnly, tombstone, resetTombstone, customisedModules } = props ;
145
140
146
141
if ( tombstone && tombstone . moduleCode === module . moduleCode ) {
147
142
return < ModuleTombstone module = { module } resetTombstone = { resetTombstone } /> ;
@@ -173,6 +168,7 @@ export const TimetableModulesTableComponent: React.FC<Props> = (props) => {
173
168
{ ! readOnly && renderModuleActions ( module ) }
174
169
< Link to = { modulePage ( module . moduleCode , module . title ) } >
175
170
{ module . moduleCode } { module . title }
171
+ { customisedModules . includes ( module . moduleCode ) && '*' }
176
172
</ Link >
177
173
< div className = { styles . moduleExam } > { intersperse ( secondRowText , BULLET_NBSP ) } </ div >
178
174
</ div >
0 commit comments