<?php

namespace Planaday\Config\Course\Overview;

use Planaday\Config\Course\CourseOptionsEnum;
use Planaday\Config\OptionGroupEnum;

enum OverviewOptionsEnum: string implements OptionGroupEnum {

	case SHOW_CODE_95_ICON = 'SHOW_CODE_95_ICON';
	case SHOW_SOOB_ICON = 'SHOW_SOOB_ICON';
	case SHOW_E_LEARNING_ICON = 'SHOW_E_LEARNING_ICON';
	case SHOW_MONEY_BACK_NOTICE = 'SHOW_MONEY_BACK_NOTICE';
	case SHOW_START_GUARANTEE_NOTICE = 'SHOW_START_GUARANTEE_NOTICE';
	case SHOW_FINANCIAL_INFO = 'SHOW_FINANCIAL_INFO';
	case SHOW_PRICE = 'SHOW_PRICE';
	case SHOW_DAY_PART_COUNT = 'SHOW_DAY_PART_COUNT';
	case SHOW_LABELS = 'SHOW_LABELS';
	case SHOW_FIRST_LOCATION = 'SHOW_FIRST_LOCATION';
	case SHOW_AVAILABILITY = 'SHOW_AVAILABILITY';

	case SHOW_COURSE_BUTTON = 'SHOW_COURSE_BUTTON';
	case COURSE_BUTTON_TEXT = 'COURSE_BUTTON_TEXT';

	case SHOW_DESCRIPTION = 'SHOW_DESCRIPTION';
	case MAX_LENGTH_DESCRIPTION = 'MAX_LENGTH_DESCRIPTION';

	case SHOW_DAY_PART_LIST = 'SHOW_DAY_PART_LIST';
	case SHOW_LOCATION_DAY_PART = 'SHOW_LOCATION_DAY_PART';
	case SHOW_LABELS_DAY_PART = 'SHOW_LABELS_DAY_PART';

	case NO_COURSE_TEXT = 'NO_COURSE_TEXT';
	case INCLUDE_FULL_COURSES = 'INCLUDE_FULL_COURSES';
	case INCLUDE_PARTIALLY_PASSED_COURSES = 'INCLUDE_PARTIALLY_PASSED_COURSES';

	public static function getClassName(): string {
		return OverviewSettings::class;
	}

	public static function getParentEnum(): ?OptionGroupEnum {
		return CourseOptionsEnum::OVERVIEW_SETTINGS;
	}
}