import PropTypes from 'prop-types';
import interactionShape from './interaction';
/** @module */
/**
* Reusable object to use in `propTypes` for a `profile` prop.
* @type {Object}
* @category templating
*/
const profileShape = {
dateOfBirth: PropTypes.string,
height: PropTypes.number,
joinHallOfFame: PropTypes.bool,
isPregnant: PropTypes.bool,
weighInDay: PropTypes.number,
nextPossibleWeighInDate: {},
isWeighInAllowed: PropTypes.bool,
isCurrentWeighInFinished: PropTypes.bool,
diet: PropTypes.number,
medical: PropTypes.number,
weighIns: PropTypes.arrayOf(
PropTypes.shape({
id: PropTypes.number,
weighingDateUTC: PropTypes.string,
emotion: PropTypes.number,
bucket: PropTypes.number,
skippingReason: PropTypes.number,
weekNumber: PropTypes.number,
weight: PropTypes.number,
}),
),
goals: PropTypes.arrayOf(
PropTypes.shape({
id: PropTypes.number,
text: PropTypes.string,
achieved: PropTypes.bool,
createdDateUTC: PropTypes.string,
achievedDateUTC: PropTypes.string,
}),
),
likes: PropTypes.arrayOf(PropTypes.shape(interactionShape)),
hugs: PropTypes.arrayOf(PropTypes.shape(interactionShape)),
applauds: PropTypes.arrayOf(PropTypes.shape(interactionShape)),
bookmarks: PropTypes.arrayOf(PropTypes.shape(interactionShape)),
favourites: PropTypes.arrayOf(PropTypes.shape(interactionShape)),
reads: PropTypes.arrayOf(PropTypes.shape(interactionShape)),
week: PropTypes.shape({
index: PropTypes.number,
version: PropTypes.string,
dayOfTheWeek: PropTypes.number,
}),
nextPossibleAward: PropTypes.number,
targetWeight: PropTypes.number,
initialBMI: PropTypes.number,
createdDateUTC: PropTypes.string,
goalWeightLoss: PropTypes.number,
biography: PropTypes.string,
initialWeight: PropTypes.number,
currentWeight: PropTypes.number,
currentWeightLoss: PropTypes.number,
commitments: PropTypes.arrayOf(
PropTypes.shape({
weight: PropTypes.number,
}),
),
awards: PropTypes.arrayOf(
PropTypes.shape({
id: PropTypes.number,
award: PropTypes.number,
achievedDateUTC: PropTypes.string,
}),
),
};
export default profileShape;