627 lines
19 KiB
TypeScript
627 lines
19 KiB
TypeScript
import { Languages } from './i18n';
|
|
import { SuperBlocks } from './certification-settings';
|
|
|
|
/*
|
|
* .env SHOW_NEW_CURRICULUM = SuperBlockStates.New
|
|
* 'New' -> shown only on english staging at the moment
|
|
*
|
|
* .env SHOW_UPCOMING_CHANGES = SuperBlockStates.Upcoming
|
|
* 'Upcoming' is for development -> not shown on stag or prod anywhere
|
|
*
|
|
*/
|
|
|
|
export enum CurriculumMaps {
|
|
Landing = 'landing',
|
|
Learn = 'learn'
|
|
}
|
|
|
|
export enum TranslationStates {
|
|
Audited = 'audited',
|
|
NotAudited = 'notAudited'
|
|
}
|
|
|
|
export enum SuperBlockStates {
|
|
Current = 'current',
|
|
New = 'new',
|
|
Upcoming = 'upcoming',
|
|
Legacy = 'legacy'
|
|
}
|
|
|
|
export const orderedSuperBlockStates = [
|
|
SuperBlockStates.Current,
|
|
SuperBlockStates.New,
|
|
SuperBlockStates.Upcoming,
|
|
SuperBlockStates.Legacy
|
|
];
|
|
|
|
type SuperBlockOrder = {
|
|
[key in Languages]: {
|
|
[CurriculumMaps.Landing]: SuperBlocks[];
|
|
[CurriculumMaps.Learn]: {
|
|
[TranslationStates.Audited]: {
|
|
[SuperBlockStates.Current]: SuperBlocks[];
|
|
[SuperBlockStates.New]: SuperBlocks[];
|
|
[SuperBlockStates.Upcoming]: SuperBlocks[];
|
|
[SuperBlockStates.Legacy]: SuperBlocks[];
|
|
};
|
|
[TranslationStates.NotAudited]: {
|
|
[SuperBlockStates.Current]: SuperBlocks[];
|
|
[SuperBlockStates.New]: SuperBlocks[];
|
|
[SuperBlockStates.Upcoming]: SuperBlocks[];
|
|
[SuperBlockStates.Legacy]: SuperBlocks[];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
// all languages should have this many, one for each current cert
|
|
export const numberOfSuperBlocksOnLanding = 11;
|
|
|
|
/*
|
|
* This is the used for tests to make sure a superBlock isn't out of order
|
|
* e.g. so that a RWD button isn't below a JS button.
|
|
* It compares each array in `superBlockOrder` to this - those arrays do not
|
|
* have to include all these superBlocks, but the ones it does include, have
|
|
* to be in this order
|
|
*/
|
|
export const defaultSuperBlockOrder: SuperBlocks[] = [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.RespWebDesign,
|
|
SuperBlocks.JsAlgoDataStructNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy,
|
|
SuperBlocks.CodingInterviewPrep
|
|
];
|
|
|
|
/*
|
|
* The order of superblocks in the arrays below are how they appear on the maps
|
|
*
|
|
* The 'Landing' map array should contain exactly one superblock for each
|
|
* current, non-legacy certification, and only one superblock of each type -
|
|
* e.g. only one RWD superblock (button)
|
|
*
|
|
* The 'Learn' map arrays should contain ALL available SuperBlocks, sorted into
|
|
* their various states. These will be used to create the 'superOrder' property.
|
|
*
|
|
*/
|
|
export const superBlockOrder: SuperBlockOrder = {
|
|
[Languages.English]: {
|
|
[CurriculumMaps.Landing]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy
|
|
],
|
|
[CurriculumMaps.Learn]: {
|
|
[TranslationStates.Audited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy,
|
|
SuperBlocks.CodingInterviewPrep
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [SuperBlocks.JsAlgoDataStructNew],
|
|
[SuperBlockStates.Legacy]: [SuperBlocks.RespWebDesign]
|
|
},
|
|
[TranslationStates.NotAudited]: {
|
|
[SuperBlockStates.Current]: [],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [],
|
|
[SuperBlockStates.Legacy]: []
|
|
}
|
|
}
|
|
},
|
|
[Languages.Espanol]: {
|
|
[CurriculumMaps.Landing]: [
|
|
SuperBlocks.RespWebDesign,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy
|
|
],
|
|
[CurriculumMaps.Learn]: {
|
|
[TranslationStates.Audited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RespWebDesign,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [],
|
|
[SuperBlockStates.Legacy]: []
|
|
},
|
|
[TranslationStates.NotAudited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy,
|
|
SuperBlocks.CodingInterviewPrep
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [SuperBlocks.JsAlgoDataStructNew],
|
|
[SuperBlockStates.Legacy]: []
|
|
}
|
|
}
|
|
},
|
|
[Languages.Chinese]: {
|
|
[CurriculumMaps.Landing]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy
|
|
],
|
|
[CurriculumMaps.Learn]: {
|
|
[TranslationStates.Audited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [],
|
|
[SuperBlockStates.Legacy]: [SuperBlocks.RespWebDesign]
|
|
},
|
|
[TranslationStates.NotAudited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.CodingInterviewPrep
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [SuperBlocks.JsAlgoDataStructNew],
|
|
[SuperBlockStates.Legacy]: []
|
|
}
|
|
}
|
|
},
|
|
[Languages.ChineseTrandational]: {
|
|
[CurriculumMaps.Landing]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy
|
|
],
|
|
[CurriculumMaps.Learn]: {
|
|
[TranslationStates.Audited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [],
|
|
[SuperBlockStates.Legacy]: [SuperBlocks.RespWebDesign]
|
|
},
|
|
[TranslationStates.NotAudited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.CodingInterviewPrep
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [SuperBlocks.JsAlgoDataStructNew],
|
|
[SuperBlockStates.Legacy]: []
|
|
}
|
|
}
|
|
},
|
|
[Languages.Italian]: {
|
|
[CurriculumMaps.Landing]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy
|
|
],
|
|
[CurriculumMaps.Learn]: {
|
|
[TranslationStates.Audited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy,
|
|
SuperBlocks.CodingInterviewPrep
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [],
|
|
[SuperBlockStates.Legacy]: [SuperBlocks.RespWebDesign]
|
|
},
|
|
[TranslationStates.NotAudited]: {
|
|
[SuperBlockStates.Current]: [],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [SuperBlocks.JsAlgoDataStructNew],
|
|
[SuperBlockStates.Legacy]: []
|
|
}
|
|
}
|
|
},
|
|
[Languages.Portuguese]: {
|
|
[CurriculumMaps.Landing]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy
|
|
],
|
|
[CurriculumMaps.Learn]: {
|
|
[TranslationStates.Audited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy,
|
|
SuperBlocks.CodingInterviewPrep
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [],
|
|
[SuperBlockStates.Legacy]: [SuperBlocks.RespWebDesign]
|
|
},
|
|
[TranslationStates.NotAudited]: {
|
|
[SuperBlockStates.Current]: [],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [SuperBlocks.JsAlgoDataStructNew],
|
|
[SuperBlockStates.Legacy]: []
|
|
}
|
|
}
|
|
},
|
|
[Languages.Ukrainian]: {
|
|
[CurriculumMaps.Landing]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy
|
|
],
|
|
[CurriculumMaps.Learn]: {
|
|
[TranslationStates.Audited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [],
|
|
[SuperBlockStates.Legacy]: [SuperBlocks.RespWebDesign]
|
|
},
|
|
[TranslationStates.NotAudited]: {
|
|
[SuperBlockStates.Current]: [SuperBlocks.CodingInterviewPrep],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [SuperBlocks.JsAlgoDataStructNew],
|
|
[SuperBlockStates.Legacy]: []
|
|
}
|
|
}
|
|
},
|
|
[Languages.Japanese]: {
|
|
[CurriculumMaps.Landing]: [
|
|
SuperBlocks.RespWebDesign,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy
|
|
],
|
|
[CurriculumMaps.Learn]: {
|
|
[TranslationStates.Audited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RespWebDesign,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy,
|
|
SuperBlocks.CodingInterviewPrep
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [],
|
|
[SuperBlockStates.Legacy]: []
|
|
},
|
|
[TranslationStates.NotAudited]: {
|
|
[SuperBlockStates.Current]: [SuperBlocks.RespWebDesignNew],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [SuperBlocks.JsAlgoDataStructNew],
|
|
[SuperBlockStates.Legacy]: []
|
|
}
|
|
}
|
|
},
|
|
[Languages.German]: {
|
|
[CurriculumMaps.Landing]: [
|
|
SuperBlocks.RespWebDesign,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy
|
|
],
|
|
[CurriculumMaps.Learn]: {
|
|
[TranslationStates.Audited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RespWebDesign,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [],
|
|
[SuperBlockStates.Legacy]: []
|
|
},
|
|
[TranslationStates.NotAudited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy,
|
|
SuperBlocks.CodingInterviewPrep
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [SuperBlocks.JsAlgoDataStructNew],
|
|
[SuperBlockStates.Legacy]: []
|
|
}
|
|
}
|
|
},
|
|
[Languages.Arabic]: {
|
|
[CurriculumMaps.Landing]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs,
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy
|
|
],
|
|
[CurriculumMaps.Learn]: {
|
|
[TranslationStates.Audited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.RespWebDesignNew,
|
|
SuperBlocks.JsAlgoDataStruct,
|
|
SuperBlocks.FrontEndDevLibs
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [],
|
|
[SuperBlockStates.Legacy]: []
|
|
},
|
|
[TranslationStates.NotAudited]: {
|
|
[SuperBlockStates.Current]: [
|
|
SuperBlocks.DataVis,
|
|
SuperBlocks.RelationalDb,
|
|
SuperBlocks.BackEndDevApis,
|
|
SuperBlocks.QualityAssurance,
|
|
SuperBlocks.SciCompPy,
|
|
SuperBlocks.DataAnalysisPy,
|
|
SuperBlocks.InfoSec,
|
|
SuperBlocks.MachineLearningPy,
|
|
SuperBlocks.CodingInterviewPrep
|
|
],
|
|
[SuperBlockStates.New]: [],
|
|
[SuperBlockStates.Upcoming]: [SuperBlocks.JsAlgoDataStructNew],
|
|
[SuperBlockStates.Legacy]: [SuperBlocks.RespWebDesign]
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
// The client uses the object above to create the map
|
|
// Keep this so it can't change
|
|
Object.freeze(superBlockOrder);
|
|
|
|
function shouldShowSuperblocks({
|
|
superBlockState,
|
|
showNewCurriculum = 'false',
|
|
showUpcomingChanges = 'false'
|
|
}: {
|
|
superBlockState: string;
|
|
showNewCurriculum: string;
|
|
showUpcomingChanges: string;
|
|
}) {
|
|
if (
|
|
(superBlockState === SuperBlockStates.New &&
|
|
showNewCurriculum !== 'true') ||
|
|
(superBlockState === SuperBlockStates.Upcoming &&
|
|
showUpcomingChanges !== 'true')
|
|
) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
export function getLearnSuperBlocks({
|
|
language = 'english',
|
|
showNewCurriculum = 'false',
|
|
showUpcomingChanges = 'false'
|
|
}) {
|
|
const learnSuperBlocks: SuperBlocks[] = [];
|
|
|
|
Object.values(TranslationStates).forEach(translationState => {
|
|
Object.values(SuperBlockStates).forEach(superBlockState => {
|
|
if (
|
|
shouldShowSuperblocks({
|
|
superBlockState,
|
|
showNewCurriculum,
|
|
showUpcomingChanges
|
|
})
|
|
) {
|
|
learnSuperBlocks.push(
|
|
...superBlockOrder[language as Languages][CurriculumMaps.Learn][
|
|
translationState as TranslationStates
|
|
][superBlockState as SuperBlockStates]
|
|
);
|
|
}
|
|
});
|
|
});
|
|
|
|
return learnSuperBlocks;
|
|
}
|
|
|
|
export function getAuditedSuperBlocks({
|
|
language = 'english',
|
|
showNewCurriculum = 'false',
|
|
showUpcomingChanges = 'false'
|
|
}) {
|
|
const auditedSuperBlocks: SuperBlocks[] = [];
|
|
|
|
Object.values(SuperBlockStates).forEach(superBlockState => {
|
|
if (
|
|
shouldShowSuperblocks({
|
|
superBlockState,
|
|
showNewCurriculum,
|
|
showUpcomingChanges
|
|
})
|
|
) {
|
|
auditedSuperBlocks.push(
|
|
...superBlockOrder[language as Languages][CurriculumMaps.Learn][
|
|
TranslationStates.Audited
|
|
][superBlockState as SuperBlockStates]
|
|
);
|
|
}
|
|
});
|
|
|
|
return auditedSuperBlocks;
|
|
}
|
|
|
|
export function getNotAuditedSuperBlocks({
|
|
language = 'english',
|
|
showNewCurriculum = 'false',
|
|
showUpcomingChanges = 'false'
|
|
}) {
|
|
const notAuditedSuperBlocks: SuperBlocks[] = [];
|
|
|
|
Object.values(SuperBlockStates).forEach(superBlockState => {
|
|
if (
|
|
shouldShowSuperblocks({
|
|
superBlockState,
|
|
showNewCurriculum,
|
|
showUpcomingChanges
|
|
})
|
|
) {
|
|
notAuditedSuperBlocks.push(
|
|
...superBlockOrder[language as Languages][CurriculumMaps.Learn][
|
|
TranslationStates.NotAudited
|
|
][superBlockState as SuperBlockStates]
|
|
);
|
|
}
|
|
});
|
|
|
|
return notAuditedSuperBlocks;
|
|
}
|