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.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 (
);
};