If I understand this correctly, your “user” datatype has a field called “completed puzzles” yes? I would imagine that each puzzle has a sequence number like 1, 2, 3…n to denote the order in which they should be completed right?
Assuming:
Sequence number = field in puzzle datatype (number)
If this is the case, then a simple conditional like the one below should account for ensuring that the first puzzle is always available:
When current user's completed puzzles count is 0 and current puzzle sequence number is 1, this puzzle is clickable
For other puzzles, I would use a condition like:
When current user's completed puzzles sort by sequence number: last item is greater than or equal to current cell's puzzle's sequence number or current user's completed puzzles sort by sequence number:last item's sequence number+1 is current cell's puzzle's sequence number - this element is clickable
So as an example, if the last completed number is 6 i.e Puzzle number 6. Then the first part of the expression ensures that puzzles 1 - 6 are clickable. While the second part of the expression ensures that puzzle 7 is clickable.
On a second thought, you can merge it to be:
When current user's completed puzzles sort by sequence number: last item's sequence number+1 is less than or equal to current cell's puzzle's sequence number - this element is clickable
Hope this helps.
1 Like