{"mappings":"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","sources":["src/blog/script.js"],"sourcesContent":["const cardHighlight = (post) => {\r\n return `\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n ${post.minutes} min.\r\n
\r\n ${post.title}\r\n

${post.shortDescription}

\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n

${post.author.name}

\r\n
\r\n
\r\n
\r\n
`;\r\n};\r\n\r\nconst cardPost = (post) => {\r\n return `\r\n
\r\n \r\n \"${post.title}\"\r\n \r\n
\r\n \r\n
\r\n \r\n ${post.minutes} min.\r\n
\r\n
\r\n
\r\n \r\n ${post.title}\r\n \r\n

\r\n ${post.shortDescription}\r\n

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n

${post.author.name}

\r\n
\r\n
\r\n\r\n
\r\n
\r\n`;\r\n};\r\n\r\nfunction generateBreadcrumb() {\r\n const breadcrumbsContainer = document.getElementById(\"breadcrumbs\");\r\n\r\n // Obtener el pathname y dividirlo en segmentos\r\n const pathname = window.location.pathname;\r\n const segments = pathname.split(\"/\").filter((segment) => segment !== \"\");\r\n\r\n // Definir un diccionario de traducciones si lo necesitas\r\n const translations = {\r\n blog: \"Blog\",\r\n categoria: \"Categoría\",\r\n \"la-interseccion-de-tecnologias-procesos-empresariales-y-software-a-medida\":\r\n \"La Intersección de Tecnologías, Procesos Empresariales y Software a Medida\",\r\n };\r\n\r\n // Construir las migas de pan dinámicamente\r\n const crumbs = segments.map((segment, index) => {\r\n // Traducción o manejo de segmentos\r\n const translatedSegment = translations[segment] || segment;\r\n const decodedString = decodeURIComponent(\r\n translatedSegment.replace(/_/g, \" \")\r\n );\r\n\r\n // Corregir signos de interrogación\r\n const correctedString = decodedString.startsWith(\"¿\")\r\n ? decodedString + \"?\"\r\n : decodedString;\r\n\r\n // Construir la URL para cada miga de pan\r\n const url = `/${segments.slice(0, index + 1).join(\"/\")}`;\r\n\r\n return { title: correctedString, url };\r\n });\r\n\r\n // Agregar la miga de 'Home' al inicio manualmente\r\n crumbs.unshift({ title: \"Home\", url: \"/\" });\r\n\r\n // Limpiar el contenido previo\r\n breadcrumbsContainer.innerHTML = \"\";\r\n\r\n // Crear la lista ordenada
    \r\n const ol = document.createElement(\"ol\");\r\n\r\n crumbs.forEach((crumb, index) => {\r\n const li = document.createElement(\"li\");\r\n li.className = \"breadcrumb-detail-item\";\r\n\r\n if (index === 0) {\r\n const link = document.createElement(\"a\");\r\n link.href = crumb.url;\r\n link.className = \"link home gray\";\r\n link.textContent = crumb.title;\r\n\r\n // Crear el elemento SVG\r\n const svg = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\r\n svg.setAttribute(\"width\", \"24\");\r\n svg.setAttribute(\"height\", \"24\");\r\n svg.setAttribute(\"viewBox\", \"0 0 24 24\");\r\n svg.setAttribute(\"fill\", \"none\");\r\n svg.setAttribute(\"stroke\", \"currentColor\");\r\n svg.setAttribute(\"stroke-width\", \"2\");\r\n svg.setAttribute(\"stroke-linecap\", \"round\");\r\n svg.setAttribute(\"stroke-linejoin\", \"round\");\r\n svg.classList.add(\"lucide\", \"lucide-house\");\r\n\r\n // Crear el path del SVG\r\n const path1 = document.createElementNS(\r\n \"http://www.w3.org/2000/svg\",\r\n \"path\"\r\n );\r\n path1.setAttribute(\"d\", \"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\");\r\n\r\n const path2 = document.createElementNS(\r\n \"http://www.w3.org/2000/svg\",\r\n \"path\"\r\n );\r\n path2.setAttribute(\r\n \"d\",\r\n \"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"\r\n );\r\n svg.style.marginRight = \"5px\";\r\n\r\n // Añadir los paths al SVG\r\n svg.appendChild(path1);\r\n svg.appendChild(path2);\r\n\r\n // Añadir el SVG al enlace\r\n link.prepend(svg); // Prepend añade el SVG al inicio del enlace\r\n li.appendChild(link);\r\n } else {\r\n const arrow = document.createElement(\"span\");\r\n arrow.className = \"arrow\";\r\n arrow.classList.add(index === crumbs.length - 1 ? \"gray\" : \"white\");\r\n li.appendChild(arrow);\r\n\r\n const link = document.createElement(\"a\");\r\n link.href = crumb.url;\r\n link.className = \"link\";\r\n link.textContent = crumb.title;\r\n\r\n link.classList.add(index === crumbs.length - 1 ? \"white\" : \"gray\");\r\n li.appendChild(link);\r\n }\r\n\r\n ol.appendChild(li);\r\n });\r\n\r\n // Agregar la lista ordenada al contenedor de migas de pan\r\n breadcrumbsContainer.appendChild(ol);\r\n}\r\n\r\nconst loadHome = async () => {\r\n try {\r\n const response = await fetch(\r\n \"https://zealous-stone-02a374310.5.azurestaticapps.net/api/posts?blog=true\"\r\n );\r\n const data = await response.json();\r\n const cardContainer = document.getElementById(\"card-container\");\r\n cardContainer.innerHTML = \"\";\r\n const cardsContainer = document.getElementById(\"containerCards-card\");\r\n data.highlights.forEach((post) => {\r\n const cardHTML = cardHighlight(post);\r\n cardContainer.innerHTML += cardHTML;\r\n });\r\n data.posts.forEach((post) => {\r\n const cardHTML = cardPost(post);\r\n cardsContainer.innerHTML += cardHTML;\r\n });\r\n renderPosts(data.newPosts);\r\n } catch (error) {\r\n console.error(\"Error fetching posts:\", error);\r\n }\r\n};\r\n\r\nconst renderPosts = (posts) => {\r\n const postLarge = document.querySelector(\".post-large\");\r\n const postsSmall = document.querySelector(\".posts-small\");\r\n\r\n // Limpiar el contenido previo\r\n postLarge.innerHTML = \"\";\r\n postsSmall.innerHTML = \"\";\r\n\r\n // Iterar sobre los posts y añadirlos al contenedor adecuado\r\n posts.forEach((post, index) => {\r\n const postHTML = `\r\n \r\n
    \r\n \r\n | ${\r\n post.minutes\r\n } min.\r\n
    \r\n

    ${post.title}

    \r\n
    \r\n

    ${post.shortDescription}

    \r\n
    \r\n
    \r\n `;\r\n\r\n // Condicional para asignar el post grande o los posts pequeños\r\n if (index === 0) {\r\n // Primer post (grande)\r\n postLarge.innerHTML = `\r\n \"${post.title}\"\r\n ${postHTML}\r\n `;\r\n } else {\r\n // Posts pequeños\r\n const smallPostHTML = `\r\n
    \r\n \r\n \"${post.title}\"\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n ${\r\n post.minutes\r\n } min.\r\n
    \r\n ${post.title}\r\n

    ${post.shortDescription}

    \r\n
    \r\n `;\r\n\r\n // Añadir el contenido del post pequeño\r\n const smallPostContainer = document.createElement(\"div\");\r\n smallPostContainer.classList.add(\"post-small\");\r\n smallPostContainer.innerHTML = smallPostHTML;\r\n postsSmall.appendChild(smallPostContainer);\r\n }\r\n });\r\n};\r\n\r\n// Cargar Detalle del Post\r\nconst loadDetail = async (blogId, callback) => {\r\n try {\r\n const response = await fetch(\r\n \"https://zealous-stone-02a374310.5.azurestaticapps.net/api/posts/\" +\r\n blogId\r\n );\r\n const responsePosts = await fetch(\r\n \"https://zealous-stone-02a374310.5.azurestaticapps.net/api/posts?idPost=\" +\r\n blogId\r\n );\r\n const data = await response.json();\r\n const posts = await responsePosts.json();\r\n const container = document.getElementById(\"containerPost\");\r\n const detailContainer = document.getElementById(\"detailContainer\");\r\n const cardsContainer = document.getElementById(\r\n \"containerCards-card-detail\"\r\n );\r\n console.log(data);\r\n document.querySelector(\".containerSubTitle .subtitle\").textContent =\r\n data.title;\r\n document.querySelector(\".containerSubTitle .description\").textContent =\r\n data.shortDescription;\r\n\r\n createSocialShare(\"Compartir\", data, container);\r\n\r\n const img = document.createElement(\"img\");\r\n img.src = data.image;\r\n img.alt = data.title;\r\n img.className = \"image\";\r\n container.appendChild(img);\r\n\r\n // Lexical Facebook\r\n const lexicalState = JSON.parse(data.description);\r\n detailContainer.appendChild(renderLexicalState(lexicalState));\r\n\r\n createSocialShare(\"Comparte este artículo\", data, detailContainer);\r\n\r\n const Author = `\r\n
    \r\n
    \r\n \"${data.author.name}\"\r\n
    \r\n
    \r\n

    ${data.author.name}

    \r\n

    ${data.author.description}

    \r\n
    \r\n
    \r\n `;\r\n\r\n detailContainer.innerHTML += Author;\r\n\r\n posts.forEach((post) => {\r\n const cardHTML = cardPost(post);\r\n cardsContainer.innerHTML += cardHTML;\r\n });\r\n document.title = \"Blog - Valtec | \" + data.title;\r\n generateBreadcrumb();\r\n } catch (error) {\r\n console.error(\"Error fetching posts:\", error);\r\n }\r\n callback();\r\n};\r\n\r\nfunction createSocialShare(text, post, container) {\r\n const socialShareDiv = document.createElement(\"div\");\r\n socialShareDiv.className = \"social-share\";\r\n\r\n const label = document.createElement(\"label\");\r\n label.innerText = text;\r\n\r\n const links = [\r\n {\r\n href: `https://www.linkedin.com/shareArticle?mini=true&url=https://valtecconsultores.com.pe/blog/${post.slug}&title=${post.title}&summary=${post.shortDescription}&source=valtecconsultores.com.pe`,\r\n iconClass: \"bx bxl-linkedin\", // Clases para LinkedIn\r\n },\r\n {\r\n href: `https://www.facebook.com/sharer/sharer.php?u=https://valtecconsultores.com.pe/blog/${post.slug}`,\r\n iconClass: \"bx bxl-facebook\", // Clases para Facebook\r\n },\r\n {\r\n href: `https://wa.me/?text=https://valtecconsultores.com.pe/blog/${post.slug}`,\r\n iconClass: \"bx bxl-whatsapp\", // Clases para WhatsApp\r\n },\r\n {\r\n href: \"https://www.instagram.com/valtec_consultores/\",\r\n iconClass: \"bx bxl-instagram\", // Clases para Instagram\r\n },\r\n ];\r\n\r\n // Crear enlaces\r\n links.forEach((link) => {\r\n const anchor = document.createElement(\"a\");\r\n anchor.href = link.href;\r\n anchor.className = \"link\";\r\n anchor.target = \"_blank\";\r\n // Crear el icono\r\n const icon = document.createElement(\"i\");\r\n icon.className = link.iconClass + \" icon\"; // Añadir las clases del icono\r\n\r\n anchor.appendChild(icon);\r\n socialShareDiv.appendChild(anchor);\r\n });\r\n\r\n socialShareDiv.prepend(label);\r\n container.appendChild(socialShareDiv);\r\n}\r\n\r\n// Lexical ya que no hay CDN\r\nfunction renderLexicalState(state) {\r\n const root = document.createElement(\"div\"); // Crear un contenedor\r\n root.className = \"lexical\";\r\n\r\n state.root.children.forEach((child) => {\r\n if (child.type === \"paragraph\") {\r\n let hasContent = false;\r\n const paragraph = document.createElement(\"p\");\r\n\r\n child.children.forEach((textNode) => {\r\n if (textNode.type === \"text\" && textNode.text.trim() !== \"\") {\r\n hasContent = true;\r\n const span = document.createElement(\"span\");\r\n span.textContent = textNode.text;\r\n\r\n // Formato de texto en negrita\r\n if (textNode.format === 1) {\r\n const strong = document.createElement(\"strong\");\r\n strong.textContent = textNode.text;\r\n paragraph.appendChild(strong);\r\n } else {\r\n paragraph.appendChild(span);\r\n }\r\n } else if (textNode.type === \"autolink\") {\r\n hasContent = true;\r\n const anchor = document.createElement(\"a\");\r\n const cleanedURL =\r\n \"https://\" + textNode.url.replace(/https:\\/\\//g, \"\");\r\n anchor.href = cleanedURL;\r\n anchor.textContent = cleanedURL;\r\n anchor.style.color = \"blue\"; // Estilo de enlace\r\n anchor.style.textDecoration = \"underline\";\r\n anchor.target = \"_blank\";\r\n paragraph.appendChild(anchor);\r\n }\r\n else if (textNode.type === \"link\") {\r\n hasContent = true;\r\n const anchor = document.createElement(\"a\");\r\n const cleanedURL = textNode.url;\r\n\r\n anchor.href = cleanedURL;\r\n anchor.style.color = \"blue\"; // Estilo de enlace\r\n anchor.style.textDecoration = \"underline\";\r\n anchor.target = textNode.target || \"_blank\"; // Establecer target si existe\r\n anchor.rel = textNode.rel || \"noopener noreferrer\"; // Buena práctica de seguridad\r\n anchor.title = textNode.title || \"\"; // Título si existe\r\n\r\n // Manejar hijos del enlace (children)\r\n if (textNode.children && Array.isArray(textNode.children)) {\r\n textNode.children.forEach((childNode) => {\r\n if (childNode.type === \"text\" && childNode.text) {\r\n anchor.textContent = childNode.text; // Agregar el texto del enlace\r\n }\r\n });\r\n } else {\r\n anchor.textContent = textNode.text || cleanedURL; // Fallback\r\n }\r\n\r\n paragraph.appendChild(anchor); // Agregar enlace al párrafo\r\n } else if (textNode.type === \"image\") {\r\n hasContent = true;\r\n const imgContainer = document.createElement(\"div\"); // Contenedor para la imagen\r\n const img = document.createElement(\"img\"); // Crear un elemento \r\n img.src = textNode.src; // Asignar la fuente de la imagen\r\n img.alt = textNode.alt || \"\"; // Asignar texto alternativo si está disponible\r\n img.style.display = \"block\"; // Mostrar la imagen como bloque\r\n img.style.margin = \"10px auto\"; // Centramos la imagen\r\n img.style.maxWidth = \"100%\"; // Centramos la imagen\r\n imgContainer.style.textAlign = \"center\"; // Alinear al centro\r\n imgContainer.appendChild(img); // Agregar la imagen al contenedor de imagen\r\n paragraph.appendChild(imgContainer); // Agregar el contenedor de imagen al párrafo\r\n }\r\n });\r\n\r\n if (hasContent) {\r\n root.appendChild(paragraph);\r\n } else {\r\n root.appendChild(document.createElement(\"br\"));\r\n }\r\n } else if (child.type === \"list\") {\r\n const list = child.ordered\r\n ? document.createElement(\"ol\")\r\n : document.createElement(\"ul\");\r\n console.log(child);\r\n child.children.forEach((listItem) => {\r\n const listElement = document.createElement(\"li\");\r\n listElement.style.listStyle =\r\n child.listType === \"bullet\" ? \"disc\" : \"decimal\";\r\n console.log(listItem);\r\n listItem.children.forEach((itemNode) => {\r\n if (itemNode.type === \"text\") {\r\n const span = document.createElement(\"span\");\r\n span.textContent = itemNode.text;\r\n\r\n if (itemNode.format === 1) {\r\n const strong = document.createElement(\"strong\");\r\n strong.textContent = itemNode.text;\r\n listElement.appendChild(strong);\r\n } else {\r\n listElement.appendChild(span);\r\n }\r\n } else if (itemNode.type === \"autolink\") {\r\n const anchor = document.createElement(\"a\");\r\n const cleanedURL =\r\n \"https://\" + textNode.url.replace(/https:\\/\\//g, \"\");\r\n anchor.href = cleanedURL;\r\n anchor.textContent = cleanedURL;\r\n anchor.target = \"_blank\";\r\n listElement.appendChild(anchor);\r\n } else if (itemNode.type === \"image\") {\r\n const img = document.createElement(\"img\");\r\n img.src = itemNode.src;\r\n img.alt = itemNode.alt || \"\";\r\n img.style.maxWidth = \"100%\";\r\n img.style.height = \"auto\";\r\n listElement.appendChild(img);\r\n }\r\n });\r\n\r\n list.appendChild(listElement);\r\n });\r\n\r\n root.appendChild(list);\r\n } else if (child.type === \"quote\") {\r\n const blockquote = document.createElement(\"blockquote\");\r\n blockquote.style.borderLeft = \"4px solid #ccc\";\r\n blockquote.style.paddingLeft = \"10px\";\r\n blockquote.style.margin = \"10px 0\";\r\n\r\n child.children.forEach((quoteNode) => {\r\n if (quoteNode.type === \"text\") {\r\n const span = document.createElement(\"span\");\r\n span.textContent = quoteNode.text;\r\n blockquote.appendChild(span);\r\n }\r\n });\r\n\r\n root.appendChild(blockquote);\r\n }\r\n });\r\n\r\n return root;\r\n}\r\n"],"names":[],"version":3,"file":"index.55a87e40.js.map","sourceRoot":"/__parcel_source_root/"}