| // Copyright 2022 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // this const is used on issue wizard lading page for render user role options |
| export enum IssueWizardPersona { |
| EndUser = "EndUser", |
| Developer = "Developer", |
| Contributor = "Contributor", |
| }; |
| |
| |
| export const ISSUE_WIZARD_PERSONAS_DETAIL = Object.freeze({ |
| [IssueWizardPersona.EndUser]: { |
| name: 'End User', |
| description: 'I am trying to use a website.', |
| }, |
| [IssueWizardPersona.Developer]: { |
| name: 'Web Developer', |
| description: 'I am trying to build something on a website.', |
| }, |
| [IssueWizardPersona.Contributor]: { |
| name: 'Chromium Contributor', |
| description: 'I know about a problem in specific tests or code.', |
| } |
| }); |
| |
| export enum CustomQuestionType { |
| EMPTY, // this is used to define there is no subquestions |
| Text, |
| Input, |
| Select, |
| } |
| export type CustomQuestion = { |
| type: CustomQuestionType, |
| question: string, |
| answerPrefix?: string, |
| tip?: string, |
| options?: string[], |
| subQuestions?: CustomQuestion[] | null, |
| }; |
| |
| export type IssueCategory = { |
| name: string, |
| description: string, |
| persona: IssueWizardPersona, |
| enabled: boolean, |
| tip?: string, |
| component?: string, |
| customQuestions?: CustomQuestion[], |
| labels?: Array<string>, |
| }; |
| |
| export type SelectMenuOption = { |
| name: string, |
| description?: string, |
| }; |