* fix(client): fix client * fix propType and add comment * revert user.json prettification * slight type refactor and payload correction Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> * update ChallengeFile type imports * add cypress test for code-storage * update test and storage epic * fix Shaun's tired brain's logic * refactor with suggestions Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> * update codeReset * increate cypress timeout because firefox is slow * remove unused import to make linter happy * use focus on editor Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> * use more specific seletor for cypress editor test * account for silly null challengeFiles Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
15 lines
471 B
JavaScript
15 lines
471 B
JavaScript
import { isEmpty } from 'lodash-es';
|
|
import { toSortedArray } from '../../../../../utils/sort-files';
|
|
|
|
export function getTargetEditor(challengeFiles) {
|
|
if (isEmpty(challengeFiles)) return null;
|
|
else {
|
|
let targetEditor = challengeFiles.find(
|
|
({ editableRegionBoundaries }) => !isEmpty(editableRegionBoundaries)
|
|
)?.fileKey;
|
|
|
|
// fallback for when there is no editable region.
|
|
return targetEditor || toSortedArray(challengeFiles)[0].fileKey;
|
|
}
|
|
}
|