import { Fragment } from 'inferno'; import { useBackend, useLocalState } from '../backend'; import { Box, Button, Icon, LabeledList, Section, Table } from '../components'; import { Window } from '../layouts'; const getTagColor = (tag) => { switch (tag) { case 'Unset': return 'label'; case 'Pred': return 'red'; case 'Pred-Pref': return 'orange'; case 'Prey': return 'blue'; case 'Prey-Pref': return 'green'; case 'Switch': return 'yellow'; case 'Non-Vore': return 'black'; } }; export const CharacterDirectory = (props, context) => { const { act, data } = useBackend(context); const { personalVisibility, personalTag, personalGenderTag, personalSexualityTag, personalErpTag, personalEventTag } = data; const [overlay, setOverlay] = useLocalState(context, 'overlay', null); const [overwritePrefs, setOverwritePrefs] = useLocalState(context, 'overwritePrefs', false); return ( {(overlay && ) || (
Save to current preferences slot: 
)}
); }; const ViewCharacter = (props, context) => { const [overlay, setOverlay] = useLocalState(context, 'overlay', null); return (
setOverlay(null)} />}>
{overlay.species}
{overlay.tag}
{overlay.gendertag}
{overlay.sexualitytag}
{overlay.erptag}
{overlay.eventtag}
{overlay.character_ad || 'Unset.'}
{overlay.ooc_notes || 'Unset.'}
{overlay.flavor_text || 'Unset.'}
); }; const CharacterDirectoryList = (props, context) => { const { act, data } = useBackend(context); const { directory } = data; const [sortId, _setSortId] = useLocalState(context, 'sortId', 'name'); const [sortOrder, _setSortOrder] = useLocalState(context, 'sortOrder', 'name'); const [overlay, setOverlay] = useLocalState(context, 'overlay', null); return (
act('refresh')} />}> Name Species Vore Tag Gender Sexuality ERP Tag Event Pref View {directory .sort((a, b) => { const i = sortOrder ? 1 : -1; return a[sortId].localeCompare(b[sortId]) * i; }) .map((character, i) => ( {character.name} {character.species} {character.tag} {character.gendertag} {character.sexualitytag} {character.erptag} {character.eventtag}
); }; const SortButton = (props, context) => { const { act, data } = useBackend(context); const { id, children } = props; // Hey, same keys mean same data~ const [sortId, setSortId] = useLocalState(context, 'sortId', 'name'); const [sortOrder, setSortOrder] = useLocalState(context, 'sortOrder', 'name'); return ( ); };