translation done , services page added backend service detail page added
This commit is contained in:
@@ -12,7 +12,7 @@ export function EmptyServices() {
|
||||
transition={{ duration: 0.5 }}
|
||||
className="max-w-250 w-full mx-auto py-20"
|
||||
>
|
||||
<div className="bg-linear-to-br from-gray-900 to-gray-800 rounded-2xl p-10 md:p-16 text-center border border-gray-700/50">
|
||||
<div className="bg-[#171616] bg-linear-to-br from-[#2a2a2a] to-black rounded-2xl p-10 md:p-16 text-center border border-gray-500">
|
||||
<motion.div
|
||||
initial={{ scale: 0 }}
|
||||
animate={{ scale: 1 }}
|
||||
@@ -42,7 +42,7 @@ export function EmptyServices() {
|
||||
transition={{ delay: 0.3 }}
|
||||
className="text-2xl md:text-3xl font-bold text-white font-unbounded mb-4"
|
||||
>
|
||||
{t("home.services.noData.title") || "Xizmatlar topilmadi"}
|
||||
{t("operationalSystems.noData.title") || "Xizmatlar topilmadi"}
|
||||
</motion.h3>
|
||||
|
||||
<motion.p
|
||||
@@ -51,7 +51,7 @@ export function EmptyServices() {
|
||||
transition={{ delay: 0.4 }}
|
||||
className="text-gray-400 font-almarai text-base md:text-lg mb-8 max-w-md mx-auto"
|
||||
>
|
||||
{t("home.services.noData.description") || "Hozircha hech qanday xizmat mavjud emas. Tez orada yangi xizmatlar qo'shiladi."}
|
||||
{t("operationalSystems.noData.description") || "Hozircha hech qanday xizmat mavjud emas. Tez orada yangi xizmatlar qo'shiladi."}
|
||||
</motion.p>
|
||||
|
||||
<motion.div
|
||||
@@ -63,7 +63,7 @@ export function EmptyServices() {
|
||||
onClick={() => window.location.reload()}
|
||||
className="font-almarai bg-red-600 hover:bg-red-700 text-white font-semibold py-3 px-8 rounded-full transition-all duration-300 transform hover:scale-105 shadow-lg hover:shadow-red-500/50"
|
||||
>
|
||||
{t("home.services.noData.reload") || "Qayta yuklash"}
|
||||
{t("operationalSystems.noData.empty") || "Qayta yuklash"}
|
||||
</button>
|
||||
</motion.div>
|
||||
</div>
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
import { motion } from "framer-motion";
|
||||
|
||||
|
||||
// Loading Skeleton Component
|
||||
function ServiceCardSkeleton() {
|
||||
return (
|
||||
<div className="animate-pulse space-y-4 py-6 px-8 rounded-xl bg-linear-to-br from-gray-800 to-gray-900">
|
||||
<div className="h-6 bg-gray-700 rounded w-3/4"></div>
|
||||
<div className="h-4 bg-gray-700 rounded w-full"></div>
|
||||
<div className="h-4 bg-gray-700 rounded w-5/6"></div>
|
||||
<div className="h-8 bg-gray-700 rounded w-32"></div>
|
||||
<div className="animate-pulse space-y-4 py-6 px-8 rounded-xl bg-[#171616] bg-linear-to-br from-[#2a2a2a] to-black">
|
||||
<div className="h-6 bg-[#171616] rounded w-3/4"></div>
|
||||
<div className="h-4 bg-[#171616] rounded w-full"></div>
|
||||
<div className="h-4 bg-[#171616] rounded w-5/6"></div>
|
||||
<div className="h-8 bg-[#171616] rounded w-32"></div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -38,9 +37,9 @@ export function ServicesLoading() {
|
||||
</div>
|
||||
<div className="sm:w-[60%] w-full space-y-5">
|
||||
<ServiceCardSkeleton />
|
||||
<div className="h-24 bg-gray-800 rounded-xl animate-pulse"></div>
|
||||
<div className="h-24 bg-[#171616] rounded-xl animate-pulse"></div>
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,8 +131,8 @@ export function OurService() {
|
||||
</motion.div>
|
||||
</div>
|
||||
|
||||
<div className="max-w-250 flex sm:flex-row flex-col items-start justify-between gap-5 mt-5 w-full mx-auto">
|
||||
<motion.div variants={cardVariants} className="sm:w-[40%] w-full">
|
||||
<div className="max-w-250 flex sm:flex-row flex-col items-start justify-between gap-5 mt- w-full mx-auto">
|
||||
<motion.div variants={cardVariants} className="sm:w-[40%] w-full -mt-5">
|
||||
<Link
|
||||
href={`/${locale}/services/detail`}
|
||||
className="block hover:cursor-pointer relative rounded-xl w-full bg-[linear-gradient(to_bottom_right,#000000,#190b00,#542604,#8f4308)] hover:shadow-2xl hover:shadow-red-500/20 transition-all duration-300"
|
||||
@@ -184,7 +184,7 @@ export function OurService() {
|
||||
|
||||
<motion.div
|
||||
variants={cardVariants}
|
||||
className="py-8 px-8 rounded-xl mt-5 w-full p-5 bg-[linear-gradient(to_top_right,#000000,#190b00,#542604,#8f4308)] flex sm:flex-row flex-col gap-5 items-center justify-between hover:shadow-2xl hover:shadow-red-500/20 transition-all duration-300"
|
||||
className="py-6 px-8 rounded-xl mt-5 w-full p-5 bg-[linear-gradient(to_top_right,#000000,#190b00,#542604,#8f4308)] flex sm:flex-row flex-col gap-5 items-center justify-between hover:shadow-2xl hover:shadow-red-500/20 transition-all duration-300"
|
||||
>
|
||||
<h2 className="font-unbounded sm:text-3xl text-xl font-semibold font-armanai text-white">
|
||||
{t("home.services.viewMoreServices")}
|
||||
|
||||
Reference in New Issue
Block a user