import { _ as _sfc_main$g, k as __nuxt_component_0$2 } from './server.mjs';
import { useSSRContext, mergeProps, withCtx, createTextVNode, toDisplayString, createVNode } from 'vue';
import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderList, ssrRenderClass } from 'vue/server-renderer';

const _sfc_main = {
  __name: "ProjectsCard",
  __ssrInlineRender: true,
  props: {
    item: {
      required: true
    }
  },
  setup(__props) {
    return (_ctx, _push, _parent, _attrs) => {
      const _component_nuxt_img = _sfc_main$g;
      const _component_nuxt_link = __nuxt_component_0$2;
      if (__props.item) {
        _push(`<div${ssrRenderAttrs(mergeProps({ class: "project_card" }, _attrs))}><div class="project_card_content"><div>`);
        _push(ssrRenderComponent(_component_nuxt_img, {
          format: "webp",
          alt: __props.item.name,
          src: __props.item.image,
          "data-wow-duration": "1.3s",
          "data-wow-delay": "0s",
          class: "max-h-[500px] object-contain aspect-[3/4] animated wow zoomIn",
          width: "500",
          height: "500",
          loading: "lazy",
          quality: "80",
          sizes: "350px sm:400px lg:500px"
        }, null, _parent));
        _push(`</div><div class="project_details"><h3 data-wow-duration="1.3s" data-wow-delay="0s" class="animated wow fadeInUp">${ssrInterpolate(__props.item.name)}</h3><p data-wow-duration="1.3s" data-wow-delay="0.3s" class="animated wow fadeInUp">${ssrInterpolate(__props.item.description)}</p><div data-wow-duration="1.3s" data-wow-delay="0.6s" class="project__details animated wow fadeInUp"><div class="grid grid-cols-2 gap-8 mb-4"><div data-wow-duration="1.3s" data-wow-delay="0s" class="animated wow fadeInUp"><h4>${ssrInterpolate(_ctx.$t("TITLES.Downloads"))}</h4><p>${ssrInterpolate(Math.abs(__props.item.downloads) > 999 ? Math.sign(__props.item.downloads) * (Math.abs(__props.item.downloads) / 1e3).toFixed(1) + "k" : __props.item.downloads)}</p></div><div data-wow-duration="1.3s" data-wow-delay="0.3s" class="animated wow fadeInUp"><h4>${ssrInterpolate(_ctx.$t("TITLES.Region"))}</h4><p>`);
        _push(ssrRenderComponent(_component_nuxt_img, {
          format: "webp",
          alt: `Flag of ${__props.item.location}`,
          src: __props.item.flag,
          srcset: `${__props.item.flag} 480w, ${__props.item.flag} 1080w`,
          align: "center",
          loading: "lazy",
          width: "20",
          height: "20"
        }, null, _parent));
        _push(` ${ssrInterpolate(__props.item.location)}</p></div><div data-wow-duration="1.3s" data-wow-delay="0.6s" class="col-span-2 md:col-span-1 animated wow fadeInUp"><h4>${ssrInterpolate(_ctx.$t("TITLES.Platforms"))}<br></h4><p>${ssrInterpolate(__props.item.platforms)}</p></div><div data-wow-duration="1.3s" data-wow-delay="0.9s" class="animated wow fadeInUp"><h4>${ssrInterpolate(_ctx.$t("TITLES.technology"))}<br></h4><div class="flex gap-2 items-center mt-1"><!--[-->`);
        ssrRenderList(__props.item.tools, (tool) => {
          _push(`<p data-wow-duration="1.3s" data-wow-delay="0s" class="animated wow shakeX bounceIn">`);
          _push(ssrRenderComponent(_component_nuxt_img, {
            format: "webp",
            alt: tool.alt_image,
            src: tool.image,
            align: "center",
            loading: "lazy",
            class: "object-contain",
            width: "24",
            height: "24",
            sizes: "24px"
          }, null, _parent));
          _push(`</p>`);
        });
        _push(`<!--]--></div></div></div>`);
        _push(ssrRenderComponent(_component_nuxt_link, {
          class: "mt-11 flex items-center text-primary font-medium text-lg gap-2",
          "aria-label": _ctx.$t("BUTTONS.moreAbout", { name: __props.item.name }),
          to: _ctx.localePath(`/portfolio/${__props.item.slug}`)
        }, {
          default: withCtx((_, _push2, _parent2, _scopeId) => {
            if (_push2) {
              _push2(`${ssrInterpolate(_ctx.$t("BUTTONS.moreAbout", { name: __props.item.name }))} <i class="${ssrRenderClass([
                _ctx.$i18n.locale == "en" ? " fa-arrow-right" : "fa-arrow-left",
                "fas"
              ])}"${_scopeId}></i>`);
            } else {
              return [
                createTextVNode(toDisplayString(_ctx.$t("BUTTONS.moreAbout", { name: __props.item.name })) + " ", 1),
                createVNode("i", {
                  class: [
                    "fas",
                    _ctx.$i18n.locale == "en" ? " fa-arrow-right" : "fa-arrow-left"
                  ]
                }, null, 2)
              ];
            }
          }),
          _: 1
        }, _parent));
        _push(`</div></div></div></div>`);
      } else {
        _push(`<!---->`);
      }
    };
  }
};
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/projects/ProjectsCard.vue");
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};

export { _sfc_main as _ };
//# sourceMappingURL=ProjectsCard-D2AVU033.mjs.map
