Skip to content

Commit

Permalink
Skip review task status if review undefined on qs
Browse files Browse the repository at this point in the history
  • Loading branch information
CooperRedhat committed Feb 4, 2022
1 parent 6c57fd7 commit b120e66
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 16 deletions.
11 changes: 6 additions & 5 deletions packages/dev/src/quickstarts-data/yaml/template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ spec:
displayName: Getting started with quick starts
durationMinutes: 10
# Optional type section, will display as a tile on the card
type:
type:
text: Type
# 'blue' | 'cyan' | 'green' | 'orange' | 'purple' | 'red' | 'grey'
color: grey
Expand Down Expand Up @@ -88,10 +88,11 @@ spec:
Also, don't forget to [check out the source](https://github.com/patternfly/patternfly-quickstarts/blob/main/packages/dev/src/quickstarts-data/yaml/template.yaml) for this quick start for more information!
Happy writing!
review:
instructions: |-
- Thanks for checking out this quick start!
failedTaskHelp: This task isn’t verified yet. Try the task again.
# review commented out here to show interaction when review is not defined
# review:
# instructions: |-
# - Thanks for checking out this quick start!
# failedTaskHelp: This task isn’t verified yet. Try the task again.
conclusion: |-
The conclusion appears in the last section of the quick start.
# you can link to the next quick start(s) here
Expand Down
35 changes: 24 additions & 11 deletions packages/module/src/utils/quick-start-context.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -296,16 +296,22 @@ export const useValuesForQuickStartContext = (
return;
}

setAllQuickStartStates((qs) => {
const quickStart = qs[activeQuickStartID];
const status = quickStart?.status;
const taskNumber = quickStart?.taskNumber as number;
const taskStatus = quickStart[getTaskStatusKey(taskNumber)];
setAllQuickStartStates((quickStartStates) => {
const quickStartState: QuickStartState = quickStartStates[activeQuickStartID];
const status = quickStartState?.status;
const taskNumber = quickStartState?.taskNumber as number;
const taskStatus = quickStartState[getTaskStatusKey(taskNumber)];

let updatedStatus;
let updatedTaskNumber;
let updatedTaskStatus;

const quickStart: QuickStart = allQuickStarts.find((qs) => {
return qs.metadata.name === activeQuickStartID;
});

const task = quickStart.spec.tasks[taskNumber];

if (status === QuickStartStatus.NOT_STARTED) {
updatedStatus = QuickStartStatus.IN_PROGRESS;
} else if (
Expand All @@ -317,7 +323,14 @@ export const useValuesForQuickStartContext = (
}

if (taskStatus === QuickStartTaskStatus.VISITED) {
updatedTaskStatus = QuickStartTaskStatus.REVIEW;
if (task.review) {
updatedTaskStatus = QuickStartTaskStatus.REVIEW;
} else {
updatedTaskStatus = QuickStartTaskStatus.SUCCESS;
if (taskNumber < totalTasks) {
updatedTaskNumber = taskNumber + 1;
}
}
}

if (taskNumber < totalTasks && !updatedTaskStatus) {
Expand All @@ -326,13 +339,13 @@ export const useValuesForQuickStartContext = (

const markInitialStepVisitedOrReview =
updatedTaskNumber > -1 &&
quickStart[getTaskStatusKey(updatedTaskNumber)] === QuickStartTaskStatus.INIT
quickStartState[getTaskStatusKey(updatedTaskNumber)] === QuickStartTaskStatus.INIT
? stepAfterInitial
: quickStart[getTaskStatusKey(updatedTaskNumber)];
: quickStartState[getTaskStatusKey(updatedTaskNumber)];
const newState = {
...qs,
...quickStartStates,
[activeQuickStartID]: {
...quickStart,
...quickStartState,
...(updatedStatus ? { status: updatedStatus } : {}),
...(updatedTaskNumber > -1
? {
Expand All @@ -346,7 +359,7 @@ export const useValuesForQuickStartContext = (
return newState;
});
},
[activeQuickStartID, setAllQuickStartStates, stepAfterInitial],
[activeQuickStartID, allQuickStarts, setAllQuickStartStates, stepAfterInitial],
);

const previousStep = useCallback(() => {
Expand Down

0 comments on commit b120e66

Please sign in to comment.