ua-dev-front / crossword-master

Crossword generator & solver
https://crossword-master.org
MIT License
1 stars 2 forks source link

Неможливість розв’язати/згенерувати кросворд: оновити типізацію стану #92

Closed danmysak closed 1 year ago

myroslavve commented 1 year ago
mode: Draw | Erase | EnterQuestions | Answer | Puzzle,
grid: ({ letter: string | null; number: number | null; } | null)[][],
questions: {
    down | across: {
      id: number,
      question: string,
      startPosition: {
          row: number,
          column: number,
      },
    }[]
} | null,
fetchAbortController: AbortController | null,
apiFailed: Mode.Draw | Mode.EnterQuestions | null,
showConfirmation: boolean

Додав поле apiFailed, яке буде змінюватися на true, коли запит повертає null, і буде змінюватися на false, в тих же випадках коли переривається запит (при натисканні кнопок edit чи replace questions). Коли це поле true буде показуватися Loader з написом Couldn't solve this crossword

danmysak commented 1 year ago

@TeksPeks Написів має бути два: наприклад, We couldn’t solve the crossword :( та We were unable to generate the questions :(. Звідки компонент знатиме, який із цих двох написів виводити?

myroslavve commented 1 year ago

Оновив. В apiFailed тепер може зберігатися Mode.Draw якщо не вдалося згенерувати питання, і Mode.EnterQuestions, якщо не вдалося вирішити. Якщо нема помилки то null

danmysak commented 1 year ago

Цікаве рішення. Гаразд, хай буде.