261 lines
15 KiB
JavaScript
261 lines
15 KiB
JavaScript
import { _ as __nuxt_component_0 } from './nuxt-link.mjs';
|
|
import { defineComponent, withCtx, createTextVNode, createVNode, toDisplayString, useSSRContext } from 'file://D:/doc/workspace/web3/node_modules/vue/index.mjs';
|
|
import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderList, ssrRenderClass, ssrRenderAttr } from 'file://D:/doc/workspace/web3/node_modules/vue/server-renderer/index.mjs';
|
|
import { useI18n } from 'file://D:/doc/workspace/web3/node_modules/vue-i18n/dist/vue-i18n.mjs';
|
|
import { _ as _sfc_main$1 } from './HeroBanner.vue2.mjs';
|
|
import 'file://D:/doc/workspace/web3/node_modules/ufo/dist/index.mjs';
|
|
import './server.mjs';
|
|
import 'file://D:/doc/workspace/web3/node_modules/hookable/dist/index.mjs';
|
|
import 'file://D:/doc/workspace/web3/node_modules/unctx/dist/index.mjs';
|
|
import 'file://D:/doc/workspace/web3/node_modules/h3/dist/index.mjs';
|
|
import 'file://D:/doc/workspace/web3/node_modules/vue-router/dist/vue-router.node.mjs';
|
|
import 'file://D:/doc/workspace/web3/node_modules/radix3/dist/index.mjs';
|
|
import 'file://D:/doc/workspace/web3/node_modules/defu/dist/defu.mjs';
|
|
|
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
__name: "solutions",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
const { t } = useI18n();
|
|
const solutionCategories = [
|
|
{
|
|
id: "web-hosting",
|
|
icon: "fas fa-globe",
|
|
titleKey: "solutions.solutionItems.webHosting.title",
|
|
descriptionKey: "solutions.solutionItems.webHosting.description"
|
|
},
|
|
{
|
|
id: "cloud-migration",
|
|
icon: "fas fa-cloud-upload-alt",
|
|
titleKey: "solutions.solutionItems.cloudMigration.title",
|
|
descriptionKey: "solutions.solutionItems.cloudMigration.description"
|
|
},
|
|
{
|
|
id: "disaster-recovery",
|
|
icon: "fas fa-shield-alt",
|
|
titleKey: "solutions.solutionItems.disasterRecovery.title",
|
|
descriptionKey: "solutions.solutionItems.disasterRecovery.description"
|
|
},
|
|
{
|
|
id: "big-data",
|
|
icon: "fas fa-chart-pie",
|
|
titleKey: "solutions.solutionItems.bigData.title",
|
|
descriptionKey: "solutions.solutionItems.bigData.description"
|
|
},
|
|
{
|
|
id: "microservices",
|
|
icon: "fas fa-cubes",
|
|
titleKey: "solutions.solutionItems.microservices.title",
|
|
descriptionKey: "solutions.solutionItems.microservices.description"
|
|
},
|
|
{
|
|
id: "ai-ml",
|
|
icon: "fas fa-brain",
|
|
titleKey: "solutions.solutionItems.aiMl.title",
|
|
descriptionKey: "solutions.solutionItems.aiMl.description"
|
|
}
|
|
];
|
|
const solutions = [
|
|
{
|
|
id: "web-hosting",
|
|
icon: "fas fa-globe",
|
|
titleKey: "solutions.solutionDetails.webHosting.title",
|
|
descriptionKey: "solutions.solutionDetails.webHosting.description",
|
|
benefits: [
|
|
"solutions.solutionDetails.webHosting.benefits[0]",
|
|
"solutions.solutionDetails.webHosting.benefits[1]",
|
|
"solutions.solutionDetails.webHosting.benefits[2]",
|
|
"solutions.solutionDetails.webHosting.benefits[3]",
|
|
"solutions.solutionDetails.webHosting.benefits[4]"
|
|
],
|
|
industries: [
|
|
"solutions.solutionDetails.webHosting.industries[0]",
|
|
"solutions.solutionDetails.webHosting.industries[1]",
|
|
"solutions.solutionDetails.webHosting.industries[2]",
|
|
"solutions.solutionDetails.webHosting.industries[3]"
|
|
]
|
|
},
|
|
{
|
|
id: "cloud-migration",
|
|
icon: "fas fa-cloud-upload-alt",
|
|
titleKey: "solutions.solutionDetails.cloudMigration.title",
|
|
descriptionKey: "solutions.solutionDetails.cloudMigration.description",
|
|
benefits: [
|
|
"solutions.solutionDetails.cloudMigration.benefits[0]",
|
|
"solutions.solutionDetails.cloudMigration.benefits[1]",
|
|
"solutions.solutionDetails.cloudMigration.benefits[2]",
|
|
"solutions.solutionDetails.cloudMigration.benefits[3]",
|
|
"solutions.solutionDetails.cloudMigration.benefits[4]"
|
|
],
|
|
industries: [
|
|
"solutions.solutionDetails.cloudMigration.industries[0]",
|
|
"solutions.solutionDetails.cloudMigration.industries[1]",
|
|
"solutions.solutionDetails.cloudMigration.industries[2]",
|
|
"solutions.solutionDetails.cloudMigration.industries[3]",
|
|
"solutions.solutionDetails.cloudMigration.industries[4]"
|
|
]
|
|
},
|
|
{
|
|
id: "disaster-recovery",
|
|
icon: "fas fa-shield-alt",
|
|
titleKey: "solutions.solutionDetails.disasterRecovery.title",
|
|
descriptionKey: "solutions.solutionDetails.disasterRecovery.description",
|
|
benefits: [
|
|
"solutions.solutionDetails.disasterRecovery.benefits[0]",
|
|
"solutions.solutionDetails.disasterRecovery.benefits[1]",
|
|
"solutions.solutionDetails.disasterRecovery.benefits[2]",
|
|
"solutions.solutionDetails.disasterRecovery.benefits[3]",
|
|
"solutions.solutionDetails.disasterRecovery.benefits[4]"
|
|
],
|
|
industries: [
|
|
"solutions.solutionDetails.disasterRecovery.industries[0]",
|
|
"solutions.solutionDetails.disasterRecovery.industries[1]",
|
|
"solutions.solutionDetails.disasterRecovery.industries[2]",
|
|
"solutions.solutionDetails.disasterRecovery.industries[3]",
|
|
"solutions.solutionDetails.disasterRecovery.industries[4]"
|
|
]
|
|
},
|
|
{
|
|
id: "big-data",
|
|
icon: "fas fa-chart-pie",
|
|
titleKey: "solutions.solutionDetails.bigData.title",
|
|
descriptionKey: "solutions.solutionDetails.bigData.description",
|
|
benefits: [
|
|
"solutions.solutionDetails.bigData.benefits[0]",
|
|
"solutions.solutionDetails.bigData.benefits[1]",
|
|
"solutions.solutionDetails.bigData.benefits[2]",
|
|
"solutions.solutionDetails.bigData.benefits[3]",
|
|
"solutions.solutionDetails.bigData.benefits[4]"
|
|
],
|
|
industries: [
|
|
"solutions.solutionDetails.bigData.industries[0]",
|
|
"solutions.solutionDetails.bigData.industries[1]",
|
|
"solutions.solutionDetails.bigData.industries[2]",
|
|
"solutions.solutionDetails.bigData.industries[3]",
|
|
"solutions.solutionDetails.bigData.industries[4]"
|
|
]
|
|
}
|
|
];
|
|
const implementationSteps = [
|
|
{
|
|
titleKey: "solutions.implementation.steps.step1.title",
|
|
descriptionKey: "solutions.implementation.steps.step1.description"
|
|
},
|
|
{
|
|
titleKey: "solutions.implementation.steps.step2.title",
|
|
descriptionKey: "solutions.implementation.steps.step2.description"
|
|
},
|
|
{
|
|
titleKey: "solutions.implementation.steps.step3.title",
|
|
descriptionKey: "solutions.implementation.steps.step3.description"
|
|
},
|
|
{
|
|
titleKey: "solutions.implementation.steps.step4.title",
|
|
descriptionKey: "solutions.implementation.steps.step4.description"
|
|
},
|
|
{
|
|
titleKey: "solutions.implementation.steps.step5.title",
|
|
descriptionKey: "solutions.implementation.steps.step5.description"
|
|
}
|
|
];
|
|
const caseStudies = [
|
|
{
|
|
titleKey: "solutions.cases.ecommerce.title",
|
|
industryKey: "solutions.cases.ecommerce.industry",
|
|
descriptionKey: "solutions.cases.ecommerce.description"
|
|
},
|
|
{
|
|
titleKey: "solutions.cases.finance.title",
|
|
industryKey: "solutions.cases.finance.industry",
|
|
descriptionKey: "solutions.cases.finance.description"
|
|
},
|
|
{
|
|
titleKey: "solutions.cases.manufacturing.title",
|
|
industryKey: "solutions.cases.manufacturing.industry",
|
|
descriptionKey: "solutions.cases.manufacturing.description"
|
|
}
|
|
];
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
const _component_HeroBanner = _sfc_main$1;
|
|
const _component_NuxtLink = __nuxt_component_0;
|
|
_push(`<div${ssrRenderAttrs(_attrs)}>`);
|
|
_push(ssrRenderComponent(_component_HeroBanner, {
|
|
title: _ctx.$t("solutions.hero.title"),
|
|
subtitle: _ctx.$t("solutions.hero.subtitle")
|
|
}, null, _parent));
|
|
_push(`<section class="py-20"><div class="container"><div class="max-w-4xl mx-auto text-center mb-16"><h2 class="text-4xl font-bold text-[#333333] mb-4">${ssrInterpolate(_ctx.$t("solutions.categories.title"))}</h2><p class="text-xl text-gray-600 leading-relaxed">${ssrInterpolate(_ctx.$t("solutions.categories.subtitle"))}</p></div><div class="grid md:grid-cols-3 gap-8"><!--[-->`);
|
|
ssrRenderList(solutionCategories, (category, index) => {
|
|
_push(`<div class="bg-white p-8 rounded-lg shadow-lg hover:shadow-xl transition-all duration-300 transform hover:-translate-y-1 text-center"><div class="w-20 h-20 bg-gradient-to-br from-secondary/20 to-secondary/10 rounded-full flex items-center justify-center mx-auto mb-6"><i class="${ssrRenderClass(["text-secondary text-3xl", category.icon])}"></i></div><h3 class="text-xl font-semibold mb-4">${ssrInterpolate(_ctx.$t(category.titleKey))}</h3><p class="text-gray-600 leading-relaxed mb-6">${ssrInterpolate(_ctx.$t(category.descriptionKey))}</p><a${ssrRenderAttr("href", "#" + category.id)} class="inline-flex items-center text-secondary hover:text-secondary/90">${ssrInterpolate(_ctx.$t("solutions.categories.viewDetails"))} <i class="fas fa-arrow-right ml-2"></i></a></div>`);
|
|
});
|
|
_push(`<!--]--></div></div></section><div class="space-y-16"><!--[-->`);
|
|
ssrRenderList(solutions, (solution, index) => {
|
|
_push(`<section${ssrRenderAttr("id", solution.id)} class="${ssrRenderClass([index % 2 === 0 ? "bg-gray-50" : "bg-white", "py-20"])}"><div class="container"><div class="grid md:grid-cols-2 gap-12 items-center"><div class="${ssrRenderClass(index % 2 === 1 ? "md:order-1" : "")}"><div class="bg-gradient-to-br from-secondary/20 to-secondary/10 h-80 rounded-lg flex items-center justify-center"><i class="${ssrRenderClass(["text-8xl text-secondary", solution.icon])}"></i></div></div><div><h2 class="text-4xl font-bold text-[#333333] mb-6">${ssrInterpolate(_ctx.$t(solution.titleKey))}</h2><p class="text-gray-600 leading-relaxed mb-6">${ssrInterpolate(_ctx.$t(solution.descriptionKey))}</p><div class="mb-8"><h4 class="text-lg font-semibold mb-4">${ssrInterpolate(_ctx.$t("solutions.solutionDetails.advantages"))}</h4><ul class="space-y-3"><!--[-->`);
|
|
ssrRenderList(solution.benefits, (benefit, idx) => {
|
|
_push(`<li class="flex items-start"><i class="fas fa-check-circle text-green-500 mt-1 mr-3"></i><span class="text-gray-600">${ssrInterpolate(_ctx.$t(benefit))}</span></li>`);
|
|
});
|
|
_push(`<!--]--></ul></div><div class="mb-8"><h4 class="text-lg font-semibold mb-4">${ssrInterpolate(_ctx.$t("solutions.solutionDetails.industries"))}</h4><div class="flex flex-wrap gap-2"><!--[-->`);
|
|
ssrRenderList(solution.industries, (industry, idx) => {
|
|
_push(`<span class="px-3 py-1 bg-gray-100 text-gray-700 rounded-full text-sm">${ssrInterpolate(_ctx.$t(industry))}</span>`);
|
|
});
|
|
_push(`<!--]--></div></div><a href="#contact" class="btn-primary">${ssrInterpolate(_ctx.$t("solutions.solutionDetails.inquiry"))}</a></div></div></div></section>`);
|
|
});
|
|
_push(`<!--]--></div><section class="py-20 bg-gray-50"><div class="container"><div class="max-w-4xl mx-auto text-center mb-16"><h2 class="text-4xl font-bold text-[#333333] mb-4">${ssrInterpolate(_ctx.$t("solutions.implementation.title"))}</h2><p class="text-xl text-gray-600 leading-relaxed">${ssrInterpolate(_ctx.$t("solutions.implementation.subtitle"))}</p></div><div class="relative"><div class="absolute left-1/2 top-8 bottom-8 w-1 bg-secondary/20 -translate-x-1/2 hidden md:block"></div><div class="space-y-12"><!--[-->`);
|
|
ssrRenderList(implementationSteps, (step, index) => {
|
|
_push(`<div class="flex flex-col md:flex-row md:items-center relative"><div class="md:absolute md:left-1/2 md:-translate-x-1/2 z-10 w-12 h-12 bg-white rounded-full border-4 border-secondary flex items-center justify-center font-bold text-secondary mb-4 md:mb-0 mx-auto md:mx-0">${ssrInterpolate(index + 1)}</div><div class="${ssrRenderClass([
|
|
"bg-white p-6 rounded-lg shadow-md w-full md:w-5/12",
|
|
index % 2 === 0 ? "md:mr-auto" : "md:ml-auto"
|
|
])}"><h3 class="text-xl font-semibold mb-2">${ssrInterpolate(_ctx.$t(step.titleKey))}</h3><p class="text-gray-600">${ssrInterpolate(_ctx.$t(step.descriptionKey))}</p></div></div>`);
|
|
});
|
|
_push(`<!--]--></div></div></div></section><section class="py-20"><div class="container"><div class="max-w-4xl mx-auto text-center mb-16"><h2 class="text-4xl font-bold text-[#333333] mb-4">${ssrInterpolate(_ctx.$t("solutions.cases.title"))}</h2><p class="text-xl text-gray-600 leading-relaxed">${ssrInterpolate(_ctx.$t("solutions.cases.subtitle"))}</p></div><div class="grid md:grid-cols-3 gap-8"><!--[-->`);
|
|
ssrRenderList(caseStudies, (case_item, index) => {
|
|
_push(`<div class="bg-white rounded-lg shadow-lg overflow-hidden hover:shadow-xl transition-all duration-300 transform hover:-translate-y-1"><div class="h-48 bg-gray-200"></div><div class="p-6"><div class="flex justify-between items-center mb-4"><h3 class="text-xl font-semibold">${ssrInterpolate(_ctx.$t(case_item.titleKey))}</h3><span class="px-3 py-1 bg-secondary/10 text-secondary text-sm rounded-full">${ssrInterpolate(_ctx.$t(case_item.industryKey))}</span></div><p class="text-gray-600 mb-6">${ssrInterpolate(_ctx.$t(case_item.descriptionKey))}</p>`);
|
|
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
to: "/cases",
|
|
class: "inline-flex items-center text-secondary hover:text-secondary/90"
|
|
}, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(`${ssrInterpolate(_ctx.$t("solutions.cases.viewDetails"))} <i class="fas fa-arrow-right ml-2"${_scopeId}></i>`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(_ctx.$t("solutions.cases.viewDetails")) + " ", 1),
|
|
createVNode("i", { class: "fas fa-arrow-right ml-2" })
|
|
];
|
|
}
|
|
}),
|
|
_: 2
|
|
}, _parent));
|
|
_push(`</div></div>`);
|
|
});
|
|
_push(`<!--]--></div></div></section><section id="contact" class="py-16 bg-primary text-white"><div class="container text-center"><h2 class="text-4xl font-bold mb-6">${ssrInterpolate(_ctx.$t("solutions.contact.title"))}</h2><p class="text-xl mb-8 max-w-2xl mx-auto leading-relaxed">${ssrInterpolate(_ctx.$t("solutions.contact.subtitle"))}</p>`);
|
|
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
to: "/contact",
|
|
class: "inline-flex items-center bg-white text-black px-8 py-4 rounded-lg hover:bg-gray-100 transition-colors duration-300 text-lg font-semibold"
|
|
}, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(`${ssrInterpolate(_ctx.$t("solutions.contact.button"))} <i class="fas fa-arrow-right ml-2"${_scopeId}></i>`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(_ctx.$t("solutions.contact.button")) + " ", 1),
|
|
createVNode("i", { class: "fas fa-arrow-right ml-2" })
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(`</div></section></div>`);
|
|
};
|
|
}
|
|
});
|
|
|
|
const _sfc_setup = _sfc_main.setup;
|
|
_sfc_main.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/solutions.vue");
|
|
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
};
|
|
|
|
export { _sfc_main as default };
|
|
//# sourceMappingURL=solutions.vue.mjs.map
|