feat(tutorial): update tutorial labels and modal titles to improve clarity
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 3m12s
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 3m12s
- Changed "Skip tour" button to "Cancel" in various tutorial overlays. - Updated modal titles from "Confirm Task" to "Confirm Penalty" where applicable. - Modified tutorial step call-to-action labels from "Got it" and "Next" to "Continue" for consistency. - Added tests for new tutorial overlay behavior and button interactions. - Refactored tutorial controller to allow ignoring tutorial enabled state in step visibility checks. - Enhanced user profile tutorial restart functionality with appropriate modal messages. - Updated user profile and task confirmation dialog components to reflect new titles and messages. - Adjusted configuration files for local development environments.
This commit is contained in:
@@ -15,7 +15,7 @@ test.describe('Create Child', () => {
|
||||
// Navigate to parent list and wait for it to fully load before clicking Add Child
|
||||
await gotoParentList(page)
|
||||
// Dismiss tutorial overlay if present — it intercepts pointer events
|
||||
const skip = page.getByRole('button', { name: 'Skip tour' })
|
||||
const skip = page.getByRole('button', { name: 'Cancel' })
|
||||
if (await skip.isVisible({ timeout: 1000 }).catch(() => false)) {
|
||||
await skip.click()
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ test.describe('Parent profile button – temporary parent mode', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.goto('/parent')
|
||||
// Dismiss tutorial overlay if present — it intercepts pointer events
|
||||
const skip = page.getByRole('button', { name: 'Skip tour' })
|
||||
const skip = page.getByRole('button', { name: 'Cancel' })
|
||||
if (await skip.isVisible({ timeout: 1000 }).catch(() => false)) {
|
||||
await skip.click()
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ test.describe('Parent profile button – permanent parent mode', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.goto('/parent')
|
||||
// Dismiss tutorial overlay if present — it intercepts pointer events
|
||||
const skip = page.getByRole('button', { name: 'Skip tour' })
|
||||
const skip = page.getByRole('button', { name: 'Cancel' })
|
||||
if (await skip.isVisible({ timeout: 1000 }).catch(() => false)) {
|
||||
await skip.click()
|
||||
}
|
||||
|
||||
@@ -244,7 +244,7 @@ test.describe('Dialog help button and titles', () => {
|
||||
await card.click()
|
||||
|
||||
await expect(modalBackdrop(page)).toBeVisible({ timeout: 3000 })
|
||||
await expect(page.locator('.modal-title')).toHaveText('Confirm Task')
|
||||
await expect(page.locator('.modal-title')).toHaveText('Confirm Penalty')
|
||||
await expect(helpButton(page)).not.toBeVisible()
|
||||
|
||||
await page.getByRole('button', { name: 'Cancel' }).click()
|
||||
|
||||
@@ -146,7 +146,7 @@ async function expectTutorialCard(page: Page, title: string): Promise<void> {
|
||||
async function dismissTutorial(page: Page): Promise<void> {
|
||||
const card = getTutorialCard(page)
|
||||
if (await card.isVisible({ timeout: 1000 }).catch(() => false)) {
|
||||
// Use "Skip tour" to clear the active step and drain the queue in one
|
||||
// Use "Cancel" to clear the active step and drain the queue in one
|
||||
// action, avoiding chained steps that would keep the card visible.
|
||||
await page.locator('.tutorial-root .btn-skip').click()
|
||||
await expect(card).not.toBeVisible({ timeout: 5000 })
|
||||
|
||||
Reference in New Issue
Block a user