feat(tutorial): enhance help button visibility and add dialog tests
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m56s

- Introduced a mechanism to hide the help button when modal dialogs are open by adding `helpButtonHidden` state in the tutorial controller.
- Updated various components to set the help button visibility based on dialog states.
- Added tests to verify help button visibility during reward and task confirmation dialogs.
- Created new E2E tests for dialog help button functionality across different assignment views.
- Refactored existing dialog components to utilize the new help button visibility logic.
- Added unit tests for `RewardConfirmDialog` and `TaskConfirmDialog` to ensure correct titles are rendered based on task type.
- Enhanced `HelpButton` component tests to validate visibility based on tutorial state.
This commit is contained in:
2026-07-23 01:02:21 -04:00
parent 541bed3a8a
commit cc1189cd9b
22 changed files with 677 additions and 75 deletions
@@ -31,6 +31,8 @@
{{ isLoading ? 'Saving...' : 'Submit' }}
</button>
</div>
<FloatingActionButton aria-label="Create Routine" @click="goToCreate" />
</div>
</template>
@@ -39,6 +41,7 @@ import { ref, onMounted } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { setChildRoutines } from '@/common/api'
import MessageBlock from '../shared/MessageBlock.vue'
import FloatingActionButton from '../shared/FloatingActionButton.vue'
import { getCachedImageUrl } from '@/common/imageCache'
import '@/assets/styles.css'
import type { Routine } from '@/common/models'
@@ -69,7 +72,7 @@ async function fetchRoutines() {
const routinesData = await routinesResp.json()
const rawRoutines: Routine[] = routinesData.routines || []
await Promise.all(
rawRoutines.map(async (r: any) => {
rawRoutines.map(async (r: Routine) => {
if (r.image_id) {
try {
r.image_url = await getCachedImageUrl(r.image_id)