import { decodeHtmlEntities } from 'common/string';
import { filter } from 'common/collections';
import { useBackend, useLocalState } from '../../backend';
import { Box, Button, LabeledList, Section } from '../../components';
export const pda_messenger = (props, context) => {
const { act, data } = useBackend(context);
const { auto_scroll, convo_name, convo_job, messages, active_conversation } = data;
if (active_conversation) {
return ;
}
return ;
};
const findClassMessage = (im, lastIndex, filterArray) => {
if (lastIndex < 0 || lastIndex > filterArray.length) {
return im.sent ? 'TinderMessage_First_Sent' : 'TinderMessage_First_Received';
}
let lastSent = filterArray[lastIndex].sent;
if (im.sent && lastSent) {
return 'TinderMessage_Subsequent_Sent';
} else if (!im.sent && !lastSent) {
return 'TinderMessage_Subsequent_Received';
}
return im.sent ? 'TinderMessage_First_Sent' : 'TinderMessage_First_Received';
};
const ActiveConversation = (props, context) => {
const { act, data } = useBackend(context);
const { auto_scroll, convo_name, convo_job, messages, active_conversation, useRetro } = data;
const [clipboardMode, setClipboardMode] = useLocalState(context, 'clipboardMode', false);
let body = (
setClipboardMode(!clipboardMode)}
/>
}
height="450px"
stretchContents>
);
if (clipboardMode) {
body = (
setClipboardMode(!clipboardMode)}
/>
}
height="450px"
stretchContents>
act('Message', { 'target': active_conversation })} content="Reply" />
{filter((im) => im.target === active_conversation)(messages).map((im, i) => (
{im.sent ? 'You:' : 'Them:'} {decodeHtmlEntities(im.message)}
))}
act('Message', { 'target': active_conversation })} content="Reply" />
);
}
return (
act('Clear', { option: 'Convo' })}>
Delete Conversations
{body}
);
};
const MessengerList = (props, context) => {
const { act, data } = useBackend(context);
const { auto_scroll, convopdas, pdas, charges, plugins, silent, toff } = data;
return (
act('Toggle Ringer')}>
Ringer: {silent ? 'Off' : 'On'}
act('Toggle Messenger')}>
Messenger: {toff ? 'Off' : 'On'}
act('Ringtone')}>
Set Ringtone
act('Clear', { option: 'All' })}>
Delete All Conversations
{(!toff && (
{!!charges && {charges} charges left.}
{(!convopdas.length && !pdas.length && No other PDAs located.) || (
)}
)) || (
Messenger Offline.
)}
);
};
const PDAList = (props, context) => {
const { act, data } = useBackend(context);
const { pdas, title, msgAct } = props;
const { charges, plugins } = data;
if (!pdas || !pdas.length) {
return (
);
}
return (
{pdas.map((pda) => (
act(msgAct, { target: pda.Reference })} />
{!!charges &&
plugins.map((plugin) => (
act('Messenger Plugin', {
plugin: plugin.ref,
target: pda.Reference,
})
}
/>
))}
))}
);
};