{"version":3,"sources":["webpack://gatsby-starter-default/./src/utils/variables/careerLevels.js","webpack://gatsby-starter-default/./src/helpers/carrerCoverFeeds.js","webpack://gatsby-starter-default/./src/helpers/matchOrganizationByLevel.js","webpack://gatsby-starter-default/./src/helpers/orderCareerByCategory.js","webpack://gatsby-starter-default/./src/helpers/searchCareer.js","webpack://gatsby-starter-default/./src/hooks/useForm.js","webpack://gatsby-starter-default/./src/templates/careerFeeds/career.js","webpack://gatsby-starter-default/./src/utils/variables/generalRoutes.js"],"names":["levelName","institution","toLowerCase","careersCovers","gradoCareerCover","posgradoCareerCover","pregradoCareerCover","matchOrganizationByLevel","data","categoriesIds","allStrapiCareerCategory","nodes","organizationsAll","allStrapiOrganizationalUnit","careersAll","allStrapiUccCareer","icdaCarrers","allStrapiIcdaCareer","organizationsWithCareer","forEach","organization","organizationToPush","name","color","coverImg","header","slide","length","backgroundImage","careers","slug","ucc_careers","career","careerItem","id","strapiId","category","career_category","push","orderCareerByCategory","icdaToPush","main","headerImages","image","allCareers","sort","a","b","posgradoOrder","getPosgradoLevel","careerCategory","levelA","levelB","localeCompare","searchCareer","organizationsByCareers","inputSearch","careerCategories","careerLevelFilter","careerPlacesFilter","careerModalityFilter","map","filter","title","undefined","find","career_level","ucc_career_places","place","modality","normalize","replace","match","useForm","initialState","useState","values","setValues","props","evento","target","eventValue","JSON","parse","value","itemsEvent","nameEvent","events","event","index","findIndex","i","code","eventtia","wiseCode","splice","Object","generateCareerLink","uccCareerPlaces","baseUrl","CAREER_GENERAL_ROUTE","Link","to","className","key","feedCarrerCreator","categories","espCsSalud","style","url","backgroundColor","height","cat","pageContext","setOrganizationsByCareers","careerLevel","setCareerLevel","uccCareerPlacesFilter","setUccCareerPlacesFilter","uccCareerModalityFilter","setUccCareerModalityFilter","valuesFilter","handleInputChange","mainNavbar","careerLevelName","filterVirtualCareers","filterPlacesCareer","strapiInstitution","uccCareers","allStrapiUccCareerPlaces","objCarousel","visible","coverFeeds","page","useLayoutEffect","headerText","pageTitle","careerLevels","Set","isButtonActive","level","isPlaceButtonActive","isModalityButtonActive","logo","carousel","keyName","icon","faSearch","size","type","placeholder","aria-label","aria-describedby","onChange","onClick","some","DIARY_GENERAL_ROUTE","NEWS_GENERAL_ROUTE"],"mappings":"sKAAO,ICeP,EAbmB,SAACA,EAAWC,GAAiB,IAAD,MAC7C,OAAQD,aAAR,EAAQA,EAAWE,eACjB,IDJiB,QCKf,iBAAOD,EAAYE,qBAAnB,aAAO,EAA2BC,iBACpC,IDLS,WCMP,iBAAOH,EAAYE,qBAAnB,aAAO,EAA2BE,oBACpC,IDNS,WCOP,iBAAOJ,EAAYE,qBAAnB,aAAO,EAA2BG,oBACpC,QACE,OAAO,Q,kFCTAC,EAA2B,SAACC,GAAU,IAEbC,EAIhCD,EAJFE,wBAA2BC,MACWC,EAGpCJ,EAHFK,4BAA+BF,MACFG,EAE3BN,EAFFO,mBAAsBJ,MACQK,EAC5BR,EADFS,oBAAuBN,MAGnBO,EAA0B,GAEhCN,EAAiBO,SAAQ,SAACC,GAExB,IAAMC,EAAqB,CACzBC,KAAMF,EAAaE,KACnBC,MAAOH,EAAaG,MACpBC,SACEJ,EAAaK,QAAUL,EAAaK,OAAOC,MAAMC,OAAS,EACtDP,EAAaK,OAAOC,MAAM,GAAGE,gBAC7B,KACNC,QAAS,GACTC,KAAMV,EAAaU,MAIrBV,EAAaW,YAAYZ,SAAQ,SAACa,GAEhClB,EAAWK,SAAQ,SAACc,GACfD,EAAOE,KAAOD,EAAWE,UAE1B1B,EAAcU,SAAQ,SAACiB,GACjBH,EAAWI,gBAAgBH,KAAOE,EAASD,UAE7Cd,EAAmBQ,QAAQS,KAAKL,YAOtCZ,EAAmBQ,QAAQF,OAAS,GACtCT,EAAwBoB,KAAKjB,IAG7BkB,OAAsBlB,EAAmBQ,YAI7C,IAAMW,EAAa,CACjBlB,KAAM,6BACNC,MAAO,UACPC,SAAUR,EAAY,GAAGyB,KAAKC,aAAaC,MAC3Cd,QAAS,GACTC,KAAM,4BAYR,OAVAd,EAAYG,SAAQ,SAACa,GACnBvB,EAAcU,SAAQ,SAACiB,GACjBJ,EAAOK,gBAAgBf,OAASc,EAASd,MAC3CkB,EAAWX,QAAQS,KAAKN,SAI1BQ,EAAWX,QAAQF,OAAS,GAC9BT,EAAwBoB,KAAKE,GAExBtB,I,mCCjEM,SAASqB,EAAsBK,GAGxCA,EAAWjB,OAAS,GACtBiB,EAAWC,MAAK,SAACC,EAAGC,GAElB,IAAMC,EAAgB,CACpB,WAAc,EACd,YAAa,EACb,kBAAqB,EACrB,KAAQ,GAGJC,EAAmB,SAACC,GACxB,MAA4B,eAAxBA,EAAe5B,KAA8B,aACrB,cAAxB4B,EAAe5B,KAA6B,YACpB,sBAAxB4B,EAAe5B,KAAqC,oBACjD,QAGH6B,EAASF,EAAiBH,EAAET,iBAC5Be,EAASH,EAAiBF,EAAEV,iBAGlC,OAAIW,EAAcG,KAAYH,EAAcI,GACnCJ,EAAcG,GAAUH,EAAcI,GAIxCN,EAAExB,KAAK+B,cAAcN,EAAEzB,S,oGC9B7B,IAAMgC,EAAe,SAACC,EAAwBC,EAAaC,EAAkBC,EAAmBC,EAAoBC,GAUzH,OAAOL,EACJM,KAAI,SAACzC,GAAD,MAAmB,CACtBE,KAAMF,EAAaE,KACnBE,SAAUJ,EAAaI,SACvBD,MAAOH,EAAaG,MACpBO,KAAMV,EAAaU,KACnBD,QAA+B,+BAAtBT,EAAaE,KAClBF,EAAaS,QACZiC,QAAO,SAAC9B,GACP,OAAI2B,GAAkD,kBAA5BA,EAAmBI,SAK/C3C,EAAaS,QACZiC,QAAO,SAAC9B,GACP,OAAI0B,QAM0BM,IALHP,EAAiBQ,MACxC,SAAA7B,GAAQ,OACNA,EAASD,WAAaH,EAAOK,gBAAgBH,IAC7CE,EAAS8B,aAAa5C,OAASoC,QAMtCI,QAAO,SAAC9B,GACkB,IAAD,EAAxB,OAAI2B,QAIwBK,KAHN,UAAGhC,EAAOmC,yBAAV,aAAG,EAA0BF,MAAK,SAAAG,GAAK,OACzDT,EAAmBI,QAAUK,EAAML,aAMxCD,QAAO,SAAC9B,GACP,OAAI4B,IAE0B,KADHA,IAAyB5B,EAAOqC,UAAgC,UAApBrC,EAAOqC,aAK/EP,QAAO,SAAC9B,GAAD,OAUE,OATRA,EAAOV,KACJpB,cACAoE,UAAU,OACVC,QAAQ,uyDAAmB,IAC3BC,MACChB,EACGtD,cACAoE,UAAU,OACVC,QAAQ,uyDAAmB,YAIzC1B,MAAK,SAAUC,EAAGC,GACjB,OAAOD,EAAExB,KAAK+B,cAAcN,EAAEzB,W,4FChEvBmD,EAAU,SAACC,QAAsB,IAAtBA,MAAe,IAAO,OAChBC,cAASD,GAA9BE,EADqC,KAC7BC,EAD6B,KAoE5C,MAAO,CAACD,EA1DkB,SAACE,EAAOC,QAAmB,IAAnBA,OAAS,GAAU,IAC3CC,EAAWF,EAAXE,OAGFC,EAAaF,EAASG,KAAKC,MAAMH,EAAOI,OAAS,KAGvD,GAAIL,EAAQ,CAAC,IAAD,EASO,EAUY,EAcpB,EAhCLM,EAAa,GAEXC,EAAYN,EAAO1D,KACnBiE,EAASX,EAAOY,MAGhBC,EAAK,UAFXJ,EAA2CrB,OAA5BuB,aAAA,EAAAA,EAAM,GAAMD,IAA6B,GAAKC,aAA/C,EAA+CA,EAAM,GAAMD,UAE9D,aAAG,EAAYI,WAAU,SAACC,GAAD,OAAQA,EAAEC,OAASX,EAAWY,YAElE,IAAc,GAAVJ,EACFZ,EAAU,OAAD,UACJD,EADI,CAEPY,MAAM,OAAD,UACAZ,EAAOY,OADP,OAEFF,GAFE,kBAEcD,GAFd,CAEyB,CAAC/D,KAAM0D,EAAO9C,GAAI0D,KAAMX,EAAWY,SAAUC,SAAUb,EAAWa,YAF3F,YAOP,GADAT,EAAWU,OAAON,EAAO,GACrBJ,EAAW1D,OAAS,EACtBkD,EAAU,OAAD,UACJD,EADI,CAEPY,MAAM,OAAD,UACAZ,EAAOY,OADP,OAEFF,IAFE,OAEcD,GAFd,YAMP,GAAyC,GAAtCW,OAAOpB,OAAOA,EAAOY,OAAO7D,OAC7BkD,EAAU,OAAD,UACJD,EADI,CAEPY,MAAO,aAGT,UAAOZ,EAAOY,aAAd,cAAO,KAAkBF,GACzBT,EAAU,OAAD,UACJD,EADI,CAEPY,MAAM,OAAD,UACAZ,EAAOY,cAMf,CAAC,IAAD,EACLX,EAAU,OAAD,UACJD,IADI,MAENI,EAAO1D,MAAO0D,EAAOI,MAFf,OA3DC,WACZP,EAAU,OAAD,UACJH,EADI,CAEPc,MAAO,Y,4LCsSPS,EAAqB,SAAC7E,EAAcY,EAAQkE,GAChD,IAAMC,EACkB,+BAAtB/E,EAAaE,KAAb,2BAC+B8E,KAD/B,IACuDpE,EAAOF,KAD9D,IAEQsE,KAFR,IAEgCpE,EAAOF,KAEnCkD,EAA+B,+BAAtB5D,EAAaE,KAAwC,SAAW,QAE/E,OACE,gBAAC,EAAA+E,KAAD,CACEC,GAAIH,EACJI,UAAU,oEACVC,IAAG,cAAgBxE,EAAOV,KAC1B0D,OAAQA,GAEPhD,EAAOV,OASRmF,EAAoB,SAACrF,EAAcsF,EAAYR,GAEnD,IAAIS,GAAa,EAEjB,OAAOvF,EAAaS,QAAQF,OAAS,EACnC,uBAAK4E,UAAU,gCAAgCC,IAAG,mBAAqBpF,EAAaE,MAClF,uBAAKiF,UAAU,sCAEb,gBAAC,EAAAF,KAAD,CACEC,GACwB,+BAAtBlF,EAAaE,KAAb,GACOF,EAAaU,KADpB,IAEQV,EAAaU,KAEvBkD,OAAO,SACPuB,UAAU,yBAEV,uBACEA,UAAU,mFACVK,MAAO,CACLhF,gBAAgB,kEACdR,EAAaI,SACTJ,EAAaI,SAASqF,IACtB,mJAHS,OAOjB,uBAAKN,UAAU,qDACb,sBAAIA,UAAU,0DACXnF,EAAaE,OAGlB,uBACEiF,UAAU,QACVK,MAAO,CACLE,gBAAiB1F,EAAaG,MAC9BwF,OAAQ,WAMhB,sBAAIR,UAAU,+BACXnF,EAAaS,QACXgC,KAAI,SAAC7B,GACJ,IAAMI,EAAWsE,EAAWzC,MAAK,SAAC+C,GAAD,OAASA,EAAI7E,WAAaH,EAAOK,gBAAgBH,MAGlF,GAAuB,2BAAnBE,aAAA,EAAAA,EAAUd,QAAmD,IAAfqF,EAAsB,CACtEA,GAAa,EAMb,OAAOV,EAAmB7E,EAJJ,CACpBE,KAAM,yBACNQ,KAAM,mDAGH,GAAuB,2BAAnBM,aAAA,EAAAA,EAAUd,MACnB,OAAO2E,EAAmB7E,EAAcY,SAOlD,MAGN,UAzXe,SAAC,GAA2B,IAAzBxB,EAAwB,EAAxBA,KAAMyG,EAAkB,EAAlBA,YAAkB,GACsBtC,cAAS,IAA/DpB,EADgC,KACR2D,EADQ,QAIAvC,cAAS,IAAzCwC,EAJgC,KAInBC,EAJmB,QAKoBzC,cAAS,IAA7D0C,EALgC,KAKTC,EALS,QAMwB3C,cAAS,IAAjE4C,EANgC,KAMPC,EANO,QAOI/C,OAAQ,CAACjB,YAAa,KAA1DiE,EAPgC,KAOlBC,EAPkB,KAQhClE,EAAgBiE,EAAhBjE,YAEAmE,EAA0EV,EAA1EU,WAAYC,EAA8DX,EAA9DW,gBAAiBC,EAA6CZ,EAA7CY,qBAAsBC,EAAuBb,EAAvBa,mBAGtC7H,EAKjBO,EALFuH,kBACyBtE,EAIvBjD,EAJFE,wBAEoBsH,GAElBxH,EAHFK,4BAGEL,EAFFO,oBAC0BmF,EACxB1F,EADFyH,yBAUIC,EAAc,CAClBC,SAAS,EACTzG,OAAO0G,OAAWR,EAAiB3H,IAG/BoI,EAAI,eACRvG,KAAM,MACH6F,IAILW,sBAAgB,WACVR,GACFR,EAAyBQ,GAG3BZ,GAA0B3G,OAAyBC,MAClD,CAACA,IAEJ,IAsBI+H,EAtBAC,EAAYZ,EAAe,YACfA,EACZ,sBAEElB,EAAajD,EAAiB9C,MAE9B8H,GAAY,OACb,IAAIC,IAAIhC,EAAW7C,KAAI,SAACzB,GAAD,OAAcA,EAAS8B,aAAa5C,UAU1DqH,EAAiB,SAACC,GAAD,OAAWzB,IAAgByB,GAC5CC,EAAsB,SAACzE,GAAD,OAAWiD,EAAsBtD,QAAUK,EAAML,OACvE+E,EAAyB,SAACzE,GAAD,OAAckD,IAA4BlD,GAuCzE,OAlCEkE,EADEX,EAEA,sBAAIrB,UAAU,mDAAd,cACc,IACZ,wBAAMA,UAAU,8BACbqB,IAIEE,EAEP,sBAAIvB,UAAU,mDAAd,cACc,IACZ,wBAAMA,UAAU,8BACbuB,EAAmB/D,QAIjB8D,EAEP,sBAAItB,UAAU,mDAAd,WACW,IACT,wBAAMA,UAAU,8BACb,gBAML,sBAAIA,UAAU,mDACX,uBAML,2BACE,gBAAC,IAAD,CAAQ8B,KAAMA,EAAMU,KAAMV,EAAKU,KAAMtH,OAAQ4G,EAAK5G,QAChD,gBAAC,IAAD,CAAKsC,MAAOyE,IAEZ,2BAASjC,UAAU,sBAChB2B,WAAaxG,MACZ,uBAAK6E,UAAU,+CACb,gBAAC,IAAD,CAAWyC,SAAUd,EAAae,QAAS,mBAE3C,KAEJ,uBAAK1C,UAAU,aACb,uBAAKA,UAAU,QACb,uBAAKA,UAAU,6DACb,uBAAKA,UAAU,2BACZgC,EACD,sBAAIhC,UAAU,OAAOK,MAAO,CAAEE,gBAAiB,cAGjD,wBAAMP,UAAU,wBACd,uBAAKA,UAAU,oBACb,uBAAKA,UAAU,eACb,uBAAKA,UAAU,wBACb,wBACEA,UAAU,iDACVrE,GAAG,gBAEH,gBAAC,IAAD,CAAiBgH,KAAMC,MAAUC,KAAK,SAG1C,yBACEC,KAAK,OACL9C,UAAU,+BACV+C,YAAY,YACZC,aAAW,YACXC,mBAAiB,eACjBlI,KAAK,cACLmI,SAAU/B,QAQpB,uBAAKnB,UAAU,sCACZkC,EAAa5E,KAAI,SAACsD,EAAa1B,GAC9B,MAAoB,KAAhB0B,GAAsC,OAAhBA,EAEtB,0BACEX,IAAG,cAAgBf,EACnBc,UAAS,uBAAwBoC,EAAexB,GAAe,SAAW,IAC1EuC,QAAS,kBAAOf,EAAexB,GAA6CC,EAAe,IAA7CA,EAAeD,KAE5DA,GAIA,QAIT,uBAAKZ,UAAU,kBAEdL,EAAgBvF,MAAMkD,KAAI,SAACO,EAAOqB,GACjC,OAAIrB,GAAmB,OAAVA,EAET,0BACEoC,IAAG,cAAgBf,EACnBc,UAAS,uBAAwBsC,EAAoBzE,GAAS,SAAW,IACzEsF,QAAS,kBAAOb,EAAoBzE,GAA2CkD,EAAyB,IAA3DA,EAAyBlD,KAErEA,EAAML,OASN,QAIT,uBAAKwC,UAAU,kBAEdyB,EAAWrH,MAAMgJ,MAAK,SAAA3H,GAAM,MAAwB,cAApBA,EAAOqC,UAAgD,UAApBrC,EAAOqC,aACzE,0BACEmC,IAAG,uBACHD,UAAS,uCAAwCuC,EAAuB,aAAe,SAAW,IAClGY,QAAS,kBAAOZ,EAAuB,aAAyDtB,EAA2B,IAArEA,EAA2B,eAHnF,eAUF,uBAAKjB,UAAU,kBAEf,0BACEA,UAAU,qBACVmD,QAtJW,WACzBtC,EAAe,IACfE,EAAyB,IACzBE,EAA2B,MAiJf,cAQF,uBAAKjB,UAAU,mCACqB,GAAjChD,EAAuB5B,OACtB,sBAAI4E,UAAU,YAAd,iCACiCqB,EADjC,iBAIAtE,OACEC,EACAC,EACAkD,EACAS,EACAE,EACAE,GACA1D,KAAI,SAACzC,GACL,OAAOqF,EACLrF,EACAsF,EACAR,EAAgBvF,kB,oHCtP/B,IAAMiJ,EAAsB,SACjCC,EAAqB,WACrBzD,EAAuB","file":"component---src-templates-career-feeds-career-js-dae4b6e946f260fdf4ed.js","sourcesContent":["export const GRADO = 'grado',\n POSGRADO = 'posgrado',\n PREGRADO = 'pregrado'\n","import { GRADO, POSGRADO, PREGRADO } from '../utils/variables/careerLevels'\n\nconst coverFeeds = (levelName, institution) => {\n switch (levelName?.toLowerCase()) {\n case GRADO:\n return institution.careersCovers?.gradoCareerCover\n case POSGRADO:\n return institution.careersCovers?.posgradoCareerCover\n case PREGRADO:\n return institution.careersCovers?.pregradoCareerCover\n default:\n return null\n }\n}\n\nexport default coverFeeds\n","import orderCareerByCategory from \"./orderCareerByCategory\"\n\nexport const matchOrganizationByLevel = (data) => {\n const {\n allStrapiCareerCategory: { nodes: categoriesIds },\n allStrapiOrganizationalUnit: { nodes: organizationsAll },\n allStrapiUccCareer: { nodes: careersAll },\n allStrapiIcdaCareer: { nodes: icdaCarrers }\n } = data\n\n const organizationsWithCareer = []\n\n organizationsAll.forEach((organization) => {\n // Creating organization\n const organizationToPush = {\n name: organization.name,\n color: organization.color,\n coverImg:\n organization.header && organization.header.slide.length > 0\n ? organization.header.slide[0].backgroundImage\n : null,\n careers: [],\n slug: organization.slug\n }\n\n // Creating carrer of Organization\n organization.ucc_careers.forEach((career) => {\n // Macheando la Unidad Organizacional con la carrera\n careersAll.forEach((careerItem) => {\n if(career.id === careerItem.strapiId) {\n // Validating category of career\n categoriesIds.forEach((category) => {\n if (careerItem.career_category.id === category.strapiId) {\n // Guardo los datos de la carrera que viene de StrapiUccCareers\n organizationToPush.careers.push(careerItem)\n }\n })\n }\n })\n })\n\n if (organizationToPush.careers.length > 0)\n organizationsWithCareer.push(organizationToPush)\n \n // Sort careers by category\n orderCareerByCategory(organizationToPush.careers)\n })\n\n // Carreras ICDA - Pregrados\n const icdaToPush = {\n name: \"ICDA - Escuela de Negocios\",\n color: \"#1d317d\",\n coverImg: icdaCarrers[0].main.headerImages.image,\n careers: [],\n slug: \"https://icda.ucc.edu.ar/\"\n }\n icdaCarrers.forEach((career) => { \n categoriesIds.forEach((category) => {\n if (career.career_category.name === category.name) {\n icdaToPush.careers.push(career)\n }\n })\n })\n if (icdaToPush.careers.length > 0)\n organizationsWithCareer.push(icdaToPush)\n\n return organizationsWithCareer\n}\n","\nexport default function orderCareerByCategory(allCareers) {\n\n // Sort careers if there are any\n if (allCareers.length > 0) {\n allCareers.sort((a, b) => {\n // Ordenando por posgrado\n const posgradoOrder = {\n 'Doctorados': 1,\n 'Maestrías': 2,\n 'Especializaciones': 3,\n 'Otro': 4,\n }\n\n const getPosgradoLevel = (careerCategory) => {\n if (careerCategory.name === 'Doctorados') return 'Doctorados'\n if (careerCategory.name === 'Maestrías') return 'Maestrías'\n if (careerCategory.name === 'Especializaciones') return 'Especializaciones'\n return 'Otro'\n }\n\n const levelA = getPosgradoLevel(a.career_category)\n const levelB = getPosgradoLevel(b.career_category)\n \n // Si los niveles de posgrado son diferentes, ordena por nivel de posgrado\n if (posgradoOrder[levelA] !== posgradoOrder[levelB]) {\n return posgradoOrder[levelA] - posgradoOrder[levelB]\n }\n\n // Si los niveles de posgrado son iguales, ordena alfabéticamente\n return a.name.localeCompare(b.name)\n })\n }\n}\n","export const searchCareer = (organizationsByCareers, inputSearch, careerCategories, careerLevelFilter, careerPlacesFilter, careerModalityFilter) => {\n // console.log(\"Filters --------------------------\");\n // console.log(organizationsByCareers);\n // console.log(careerCategories);\n // console.log(careerLevelFilter);\n // console.log(careerPlacesFilter);\n // console.log(careerModalityFilter);\n // console.log(\"Filters --------------------------\");\n\n\n return organizationsByCareers\n .map((organization) => ({\n name: organization.name,\n coverImg: organization.coverImg,\n color: organization.color,\n slug: organization.slug,\n careers: organization.name === \"ICDA - Escuela de Negocios\" \n ? organization.careers \n .filter((career) => { // Filter by Places\n if (careerPlacesFilter && careerPlacesFilter.title == \"UCC Río Cuarto\") {\n return false\n }\n return true\n })\n : organization.careers\n .filter((career) => { // Filter by category\n if (careerLevelFilter) {\n const matchingCategory = careerCategories.find(\n category =>\n category.strapiId === career.career_category.id &&\n category.career_level.name === careerLevelFilter\n )\n return matchingCategory !== undefined\n }\n return true\n })\n .filter((career) => { // Filter by Places\n if (careerPlacesFilter) {\n const matchingPlaces = career.ucc_career_places?.find(place =>\n careerPlacesFilter.title === place.title\n );\n return matchingPlaces !== undefined\n }\n return true\n })\n .filter((career) => { // Filter by Virtual Modality\n if (careerModalityFilter) {\n const matchingModality = careerModalityFilter === career.modality || career.modality === \"Ambas\"\n return matchingModality !== false\n } \n return true \n })\n .filter((career) => // Filter by search\n career.name\n .toLowerCase()\n .normalize('NFD')\n .replace(/\\p{Diacritic}/gu, '')\n .match(\n inputSearch\n .toLowerCase()\n .normalize('NFD')\n .replace(/\\p{Diacritic}/gu, '')\n ) !== null\n )\n }))\n .sort(function (a, b) {\n return a.name.localeCompare(b.name)\n })\n}\n","import { useState } from 'react'\n\nexport const useForm = (initialState = {}) => {\n const [values, setValues] = useState(initialState)\n\n const reset = () => {\n setValues({\n ...initialState,\n event: null\n })\n }\n\n const handleInputChange = (props, evento = false) => {\n const { target } = props\n \n // Seteando los valores del target.value con JSON solo para los Eventos\n const eventValue = evento ? JSON.parse(target.value) : null\n\n // Si el evento exite uso eventValue\n if (evento) {\n let itemsEvent = []\n\n const nameEvent = target.name\n const events = values.event\n itemsEvent = (events?.[`${nameEvent}`] == undefined) ? [] : events?.[`${nameEvent}`];\n\n const index = itemsEvent?.findIndex((i) => (i.code === eventValue.eventtia))\n\n if (index == -1) {\n setValues({\n ...values,\n event:{\n ...values.event,\n [nameEvent]: [...itemsEvent,{name: target.id, code: eventValue.eventtia, wiseCode: eventValue.wiseCode}]\n }\n })\n } else {\n itemsEvent.splice(index, 1)\n if (itemsEvent.length > 0) {\n setValues({\n ...values,\n event:{\n ...values.event,\n [nameEvent]: [...itemsEvent]\n }\n })\n } else {\n if(Object.values(values.event).length == 0){\n setValues({\n ...values,\n event: null\n })\n }else{\n delete values.event?.[`${nameEvent}`]\n setValues({\n ...values,\n event: {\n ...values.event,\n }\n })\n }\n }\n }\n } else {\n setValues({\n ...values,\n [target.name]: target.value\n })\n }\n }\n return [values, handleInputChange, reset]\n}\n","import { Link, graphql } from 'gatsby'\nimport React, { useState, useLayoutEffect } from 'react'\n// import { Tooltip as ReactTooltip } from 'react-tooltip';\nimport 'react-tooltip/dist/react-tooltip.css'\nimport PropTypes from 'prop-types'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faSearch, faLaptop, faLocationDot } from '@fortawesome/free-solid-svg-icons'\nimport Seo from '../../components/seo'\nimport Layout from '../../components/layout'\nimport Carousels from '../../components/carousel'\nimport { useForm } from '../../hooks/useForm'\nimport coverFeeds from '../../helpers/carrerCoverFeeds'\nimport { searchCareer } from '../../helpers/searchCareer'\nimport { matchOrganizationByLevel } from '../../helpers/matchOrganizationByLevel'\nimport { CAREER_GENERAL_ROUTE } from '../../utils/variables/generalRoutes'\n\nconst Career = ({ data, pageContext }) => {\n const [ organizationsByCareers, setOrganizationsByCareers ] = useState([])\n\n // Filter values\n const [ careerLevel, setCareerLevel ] = useState('')\n const [ uccCareerPlacesFilter, setUccCareerPlacesFilter ] = useState('')\n const [ uccCareerModalityFilter, setUccCareerModalityFilter ] = useState('')\n const [ valuesFilter, handleInputChange ] = useForm({inputSearch: ''})\n const { inputSearch } = valuesFilter\n\n const { mainNavbar, careerLevelName, filterVirtualCareers, filterPlacesCareer } = pageContext\n\n const {\n strapiInstitution: institution,\n allStrapiCareerCategory: careerCategories,\n allStrapiOrganizationalUnit: organizationalUnits,\n allStrapiUccCareer: uccCareers,\n allStrapiUccCareerPlaces: uccCareerPlaces,\n } = data\n\n // console.log(\"datas\");\n // console.log(careerCategories);\n // console.log(uccCareers);\n // console.log(organizationalUnits);\n // console.log(uccCareerPlaces);\n // console.log(\"END ---- datas\");\n\n const objCarousel = {\n visible: true,\n slide: coverFeeds(careerLevelName, institution)\n }\n\n const page = {\n slug: null,\n ...mainNavbar\n }\n\n // Busco la relacion de OU con las carreras\n useLayoutEffect(() => {\n if (filterPlacesCareer) {\n setUccCareerPlacesFilter(filterPlacesCareer)\n }\n\n setOrganizationsByCareers(matchOrganizationByLevel(data))\n }, [data])\n \n let pageTitle = careerLevelName\n ? `Carreras ${careerLevelName}`\n : 'Propuesta académica'\n\n const categories = careerCategories.nodes\n\n const careerLevels = [\n ...new Set(categories.map((category) => category.career_level.name))\n ]\n\n // Borrando los filtros\n const handleShowAllClick = () => {\n setCareerLevel('')\n setUccCareerPlacesFilter('')\n setUccCareerModalityFilter('')\n }\n\n const isButtonActive = (level) => careerLevel === level\n const isPlaceButtonActive = (place) => uccCareerPlacesFilter.title === place.title\n const isModalityButtonActive = (modality) => uccCareerModalityFilter === modality\n\n // Header Text\n let headerText;\n if (careerLevelName) {\n headerText = (\n