- Implemented TourProgressController to handle API endpoints for tracking guided tours seen by users. - Created UserTourProgress entity to store the highest version of tours seen by each user. - Developed UserTourProgressRepository for database interactions related to user tour progress. - Introduced TourProgressService to manage business logic for marking tours as seen and retrieving seen maps. - Added comprehensive tests for API endpoints and entity behavior to ensure functionality and data integrity.
57 lines
2.2 KiB
TypeScript
57 lines
2.2 KiB
TypeScript
import type { TourDefinition } from '../types';
|
|
|
|
export const appointmentsTour: TourDefinition = {
|
|
id: 'appointments',
|
|
version: 1,
|
|
steps: [
|
|
{
|
|
anchor: 'appointments-stats',
|
|
title: 'آمار همین روز',
|
|
body: 'تعداد کل نوبتها، انجامشده، در انتظار و لغوشده — همه برای روزی که پایین انتخاب کردهاید.',
|
|
side: 'bottom',
|
|
},
|
|
{
|
|
anchor: 'appointments-date',
|
|
title: 'انتخاب روز',
|
|
body: 'با فلشها یک روز جلو و عقب بروید، یا از آیکون تقویم یک تاریخ را مستقیم انتخاب کنید.',
|
|
side: 'bottom',
|
|
},
|
|
{
|
|
anchor: 'appointments-service',
|
|
title: 'فیلتر خدمت',
|
|
body: 'فقط نوبتهای یک خدمت مشخص را ببینید. برای روزهای شلوغ مفید است.',
|
|
side: 'bottom',
|
|
},
|
|
{
|
|
anchor: 'appointments-view',
|
|
title: 'تایملاین یا جدول',
|
|
body: 'تایملاین ساعتهای روز را کنار هم نشان میدهد. جدول همان نوبتها را فهرستوار میآورد.',
|
|
side: 'bottom',
|
|
},
|
|
{
|
|
anchor: 'appointments-filters',
|
|
title: 'فیلترهای بیشتر',
|
|
body: 'فیلتر بر اساس وضعیت نوبت، بیمه و بیمار. وقتی فیلتری فعال باشد، رنگ این دکمه عوض میشود.',
|
|
side: 'bottom',
|
|
},
|
|
{
|
|
anchor: 'appointments-new',
|
|
title: 'ثبت نوبت جدید',
|
|
body: 'نوبت را برای همان روز و همان پزشکِ انتخابشده باز میکند.',
|
|
side: 'bottom',
|
|
},
|
|
{
|
|
anchor: 'appointments-doctors',
|
|
title: 'تب پزشکان',
|
|
body: 'در کلینیک چندپزشکه، برنامهٔ هر پزشک را جدا ببینید.',
|
|
side: 'bottom',
|
|
},
|
|
{
|
|
anchor: 'appointments-list',
|
|
title: 'خودِ نوبتها',
|
|
body: 'با کلیک روی هر نوبت وارد جزئیات آن میشوید و میتوانید وضعیتش را عوض کنید.',
|
|
side: 'top',
|
|
},
|
|
],
|
|
};
|