import React, { useState, useRef } from "react" import { DEFAULT_THEME, Paper, Text, Divider, Stack, Button } from '@mantine/core' import { fetchNui } from "../utils/fetchNui" import { useNuiEvent } from "../hooks/useNuiEvent" import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import * as Icons from '@fortawesome/free-solid-svg-icons' import { IconProp } from '@fortawesome/fontawesome-svg-core' const Dialogue: React.FC = () => { const theme = DEFAULT_THEME const [options, setOptions] = useState([]) const [label, setLabel] = useState('') const [speech, setSpeech] = useState('') useNuiEvent('dialogue', (data) => { setOptions(data.options) setLabel(data.label) setSpeech(data.speech) }) const getIconByName = (iconName: string) => { const formattedName = `fa${iconName.charAt(0).toUpperCase() + iconName.slice(1).replace(/-./g, (m) => m[1].toUpperCase())}` return Icons[formattedName as keyof typeof Icons] || Icons.faQuestionCircle } return (
{label} {speech}
{options.length > 0 && options.map(({ label, icon, id, close, canInteract }) => ( canInteract && ))}
) } export default Dialogue