V tomto návode sa naučíš, ako môžeš vylepšiť používateľské rozhranie (UI) svojej Chat aplikácie pomocou OpenAI API . Doteraz bola komunikácia dosť základná a rôznymi úpravami optimalizujeme UI tak, aby viac zodpovedalo technickému pokroku, najmä podobne ako to poznáme z aplikácie ChatGPT. Na konci tohto návodu budeš schopný/á vytvoriť atraktívnejší užívateľský zážitok.

Najdôležitejšie poznatky

  • Aktívne zakázať polia pre vstup počas generovania odpovedí.
  • Zobrazenie celých histórií chatu namiesto len poslednej odpovede.
  • Vylepšenia v rozložení a zobrazení chatu.
  • Opravy častých chýb a implementácia konzistentného riadenia stavov.

Krok-za-krokom sprievodca

1. Zakážte polia pre vstup počas generovania odpovedí

Prv krokom je uistiť sa, že pole pre vstup a tlačidlo "Odoslať" sú deaktivované počas generovania odpovede zo strany API. Vytvor nový stav s použitím useState pre indikátor čakania (Pending-Flag).

Nastav pending na true, keď používateľ klikne na "Odoslať" a nastav na false, keď odpoveď dorazí. Týmto spôsobom môžeš riadiť UI a prispôsobiť vstupné polia podľa situácie.

Keď vyskúšaš tento krok, zistíš, že počas čakania na odpoveď sa vstupné pole deaktivuje a pôvodné správy sa vymažú, aby užívateľ mohol zadať novú správu.

Zlepšiť UX pre chatovaciu aplikáciu s OpenAI API

2. Úprava rozloženia pre historiu chatu

Na vytvorenie atraktívnejšieho rozloženia zobraz v histórii správ pod vstupným poľom, podobne ako to je v aplikácii ChatGPT. Na dosiahnutie toho musíš upraviť poradie prvkov vo svojom JSX kóde tak, aby história bola na vrchu.

Zlepšiť UX pre chatovaciu aplikáciu s OpenAI API

Po vykonaní týchto zmien otestuj rozloženie tým, že zadáš správu a pošleš ju. Historia by teraz mala byť zobrazená nad vstupným poľom.

Vylepšiť UX pre chatovaciu aplikáciu s OpenAI API

3. Použitie Flexboxu pre lepšie usporiadanie UI

Pre správne usporiadanie vstupných polí a histórie použi Flexbox. Pridaj k vonkajšiemu kontajneru vlastnosť display: flex a nastav flex-direction na column, čo znamená, že prvky budú zoradené vertikálne.

Vylepšiť UX pre aplikáciu na chatovanie s OpenAI API

Pri umiestnení sa uisti, že medzi polom na zadávanie správ a historiou je dostatok miesta, použi flex: 1.

Vylepšiť UX pre chatovaciu aplikáciu s OpenAI API

4. Zabezpečenie úplnej výšky kontainera

Požiadaj sa, aby všetky kontajnery, vrátane body, html a hlavného divu, mali plnú výšku 100%. Nastav tieto vlastnosti v CSS, aby sa tvoje rozloženie zobrazovalo správne.

Zlepšiť UX pre chatovaciu aplikáciu s OpenAI API

Ak sa rozloženie po týchto zmenách stále nezobrazuje tak, ako si želáš, skontroluj okraje a nastav ich na 0, aby si zabezpečil/a zobrazenie bez posúvačky.

Vylepšiť UX pre chatovaciu aplikáciu s OpenAI API

5. Implementácia histórie chatu

Na implementáciu histórie chatu pridaj ďalší stav pre správy. Tento stav uchováva všetky odoslané správy. Pri odosielaní novej správy ju pridaj do stavu messages.

Zlepšiť UX pre chatovaciu aplikáciu s OpenAI API

Dôležité je použiť príkaz map na zobrazenie každej správy z poľa messages. Tým sa zabezpečí správne zobrazenie každej používateľskej a API správy.

Vylepšiť UX pre chatovaciu aplikáciu s OpenAI API

Pridanie spracovania chýb

Na vytvorenie robustného používateľského zážitku je potrebné riešiť chyby, ktoré sa môžu vyskytnúť počas používania, napr. chyba servera 503. Implementujte rutinu na spracovanie chýb, ktorá informuje používateľov a v prípade potreby po krátkej dobe čakania skúsi opakovať požiadavku.

Vylepšiť UX pre chatovaciu aplikáciu s OpenAI API

Zlepšenia pre zobrazenie správ

Aktuálne nie je ľahké rozlíšiť správy. Bolo by užitočné zobraziť každú správu s označením, či je od používateľa alebo od AI. Premýšľajte, ako môžete prispôsobiť zobrazenie, aby ste vytvorili jasné rozdiely medzi správami od používateľa a od AI.

Vylepšiť UX pre chatovaciu aplikáciu s OpenAI API

Zhrnutie

V tomto tutoriáli ste sa naučili, ako môžete prostredníctvom cielených úprav užívateľského rozhrania výrazne zlepšiť používateľský zážitok svojej chatovej aplikácie s OpenAI API. Od deaktivácie vstupných polí počas odpovedí API po implementáciu úplného chatového histórie - tieto tipy vám pomôžu posunúť vašu aplikáciu na ďalšiu úroveň.

Časté otázky

Ako môžem deaktivovať vstupné polia počas generovania odpovedí?Použite správu stavu s useState na nastavenie vstupného poľa a tlačidla počas čakacej doby na hodnotu true.

Ako môžem implementovať chatový záznam?Použite ďalší stav na uchovávanie všetkých správ a pomocou map ich vložte do JSX zobrazenia.

Prečo sa môj rozloženie nezobrazuje správne?Uistite sa, že všetky kontajnery majú výšku 100 % a skontrolujte okraje na prípadné posuvníky.

Ako môžem poskytnúť spätnú väzbu používateľom pri chybách?Implementujte rutinu na spracovanie chýb, ktorá zobrazí pochopiteľnú správu v prípade chyby a v prípade potreby spustí opakovaný pokus.