UNPKG

oralify-backend

Version:
316 lines (305 loc) 7.34 kB
import {TimeSlotType} from './availabilityExpertTypes'; import {palette} from './design'; export enum ServiceFormatKey { person = 'en persona', audio = 'audio' /*'message' = 'mensaje',*/, video = 'videocall', call = 'llamada', } export type SpecialityBackendType = { id?: string; specialityKey?: SpecialityKey; } & SpecialityType; export type SpecialityType = { id?: string; specialityKey?: SpecialityKey; color?: string; icon?: string; emoji?: string; name: string; }; export type ServiceType = { id?: string; expertId: string; //user uid speciality: SpecialityType; // TODO @cuaresma check I should recieve the whole speciality object description: string; price: number; duration: number; format: ServiceFormatKey; timeslots?: TimeSlotType[]; name: string; }; export type FilterType = SpecialityType & { selected?: boolean; }; export type ServiceFormatType = { selected: boolean; serviceDetails: ServiceType[]; }; export type ServiceMapType = { [K in ServiceFormatKey]?: ServiceFormatType; }; export enum SpecialityKey { psycho = 'psycho', interviewPractice = 'interviewPractice', listener = 'listener', language = 'language', computer = 'computer', personalTrainer = 'personalTrainer', dreamInterpret = 'dreamInterpret' /*astrology = 'astrology',*/, travel = 'travel', onlineTutor = 'onlineTutor', careerPath = 'careerPath', financialAdvisor = 'financialAdvisor', startupAdvisor = 'startupAdvisor', realState = 'realState', influencer = 'influencer', theatre = 'theatre', parenting = 'parenting', relationships = 'relationships', design = 'design', personalImage = 'personalImage', productivity = 'productivity', legalAdvisor = 'legalAdvisor', nutrition = 'nutrition', marketing = 'marketing', sustainability = 'sustainability', spirituality = 'spirituality', eventPlanning = 'eventPlanning', musicProduction = 'musicProduction', } export const gSpecialities: Record<SpecialityKey, SpecialityType> = { [SpecialityKey.listener]: { name: 'Escucha', color: palette.turqPrim, emoji: '👂', icon: 'hearing', }, [SpecialityKey.psycho]: { icon: 'psychology', color: palette.greenPrim, name: 'Psicología', emoji: '👩‍⚕️', }, [SpecialityKey.nutrition]: { name: 'Nutrición', color: palette.greenPrim, emoji: '🥑', icon: 'food-variant', }, [SpecialityKey.personalTrainer]: { name: 'Deporte', color: palette.orangeSec, emoji: '💪', icon: 'dumbbell', }, [SpecialityKey.startupAdvisor]: { name: 'Startup', color: palette.yellowPrim, emoji: '🚀', icon: 'rocket', }, [SpecialityKey.relationships]: { name: 'Relaciones', color: palette.redSec, emoji: '💞', icon: 'heart', }, [SpecialityKey.legalAdvisor]: { name: 'Legal', color: palette.purpleSec, emoji: '⚖️', icon: 'scale-balance', }, [SpecialityKey.interviewPractice]: { name: 'Entrevistas', color: palette.blueDark, emoji: '💼', icon: 'microphone', }, [SpecialityKey.language]: { color: palette.bluePrim, name: 'Idiomas', emoji: '💬', icon: 'translate', }, [SpecialityKey.realState]: { name: 'Inmobiliaria', color: palette.purpleSec, emoji: '🏠', icon: 'home', }, [SpecialityKey.productivity]: { name: 'Productividad', color: palette.blueDark, emoji: '⏰', icon: 'clock', }, [SpecialityKey.computer]: { name: 'Informática', color: palette.blueDark, emoji: '💻', icon: 'laptop', } /*[SpecialityKey.techSupport]: { name: 'Mecánica', color: palette.turqPrim, emoji: '🔧', icon: 'wrench', },*/, [SpecialityKey.sustainability]: { name: 'Sostenibilidad', color: palette.greenPrim, emoji: '♻️', icon: 'eco', }, [SpecialityKey.travel]: { name: 'Viajes', color: palette.blueLight, emoji: '🌍️', icon: 'earth', }, [SpecialityKey.spirituality]: { name: 'Espiritualidad', color: palette.purpleSec, emoji: '💫', icon: 'religious-christian', }, [SpecialityKey.eventPlanning]: { name: 'Eventos', color: palette.yellowSec, emoji: '📅', icon: 'party-popper', }, [SpecialityKey.musicProduction]: { name: 'Música', color: palette.yellowPrim, emoji: '🎹', icon: 'piano', }, [SpecialityKey.parenting]: { name: 'Familia', color: palette.orangeLight, emoji: '👨‍👩‍👧', icon: 'family', }, [SpecialityKey.design]: { name: 'Diseño', color: palette.greenSec, emoji: '🎨', icon: 'palette', }, [SpecialityKey.personalImage]: { name: 'Estilismo', color: palette.softPink, emoji: '💅', icon: 'emoticon-glamour', }, [SpecialityKey.financialAdvisor]: { name: 'Finanzas', color: palette.redSec, emoji: '💰', icon: 'currency-usd', }, [SpecialityKey.influencer]: { name: 'Influencer', color: palette.blueSec, emoji: '📸', icon: 'camera', }, [SpecialityKey.theatre]: { name: 'Teatro', color: palette.yellowPrim, emoji: '🎭', icon: 'drama-masks', }, [SpecialityKey.dreamInterpret]: { name: 'Sueños', color: palette.blueSec, emoji: '😴', icon: 'power-sleep', }, [SpecialityKey.onlineTutor]: { name: 'Clases Particulares', color: palette.bluePrim, emoji: '📚', icon: 'book-open-variant', }, [SpecialityKey.careerPath]: { name: 'Plan de carrera ', color: palette.bluePrim, emoji: '🎓', icon: 'book-open-variant', }, [SpecialityKey.marketing]: { name: 'Marketing', color: palette.bluePrim, emoji: '🔍', icon: 'book-open-variant', }, }; export type SpecialityCategoryKey = Record< string, {name: string; emoji: string; services: SpecialityKey[]} >; export const specialityCategories: SpecialityCategoryKey = { health: { name: 'Salud', emoji: '💆', services: [ SpecialityKey.psycho, SpecialityKey.listener, SpecialityKey.nutrition, SpecialityKey.sustainability, SpecialityKey.personalTrainer, SpecialityKey.dreamInterpret, ], }, negocios: { name: 'Negocios', emoji: '💼', services: [ SpecialityKey.startupAdvisor, SpecialityKey.financialAdvisor, SpecialityKey.computer, SpecialityKey.legalAdvisor, SpecialityKey.interviewPractice, SpecialityKey.marketing, SpecialityKey.realState, ], }, education: { name: 'Educación', emoji: '🎓', services: [ SpecialityKey.language, SpecialityKey.onlineTutor, SpecialityKey.careerPath, ], }, creatividad: { name: 'Creatividad', emoji: '👩‍🎨', services: [ SpecialityKey.theatre, SpecialityKey.influencer, SpecialityKey.design, SpecialityKey.musicProduction, ], }, progress: { name: 'Progreso', emoji: '🌟', services: [ SpecialityKey.relationships, SpecialityKey.productivity, SpecialityKey.spirituality, SpecialityKey.parenting, SpecialityKey.personalImage, ], }, ocio: { name: 'Ocio', emoji: '🎉', services: [SpecialityKey.eventPlanning, SpecialityKey.travel], }, };