fix: update import paths for lib folders in components
This commit is contained in:
parent
14bf2953ab
commit
c4966136d7
@ -3,7 +3,7 @@ import React, { useState, useEffect } from "react";
|
||||
import { motion, AnimatePresence } from "motion/react";
|
||||
import { X, MapPin, User, Phone, Hash, Save, Check } from "lucide-react";
|
||||
import { toPersian, cn } from "../lib/utils";
|
||||
import { Address } from "../store/userStore";
|
||||
import { Address } from "../lib/store/userStore";
|
||||
import { toast } from "sonner";
|
||||
|
||||
interface AddressModalProps {
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
"use client";
|
||||
import React, { useState, useMemo, useEffect } from "react";
|
||||
import { Product, PetType } from "../data/products";
|
||||
import { usePetStore } from "../store/usePetStore";
|
||||
import { productService } from "../services/productService";
|
||||
import { Product, PetType } from "../lib/data/products";
|
||||
import { usePetStore } from "../lib/store/usePetStore";
|
||||
import { productService } from "../lib/services/productService";
|
||||
import { motion, AnimatePresence } from "motion/react";
|
||||
import { ProductCardSkeleton } from "./Skeleton";
|
||||
import { toast } from "sonner";
|
||||
@ -23,7 +23,7 @@ import {
|
||||
Plus,
|
||||
Loader2
|
||||
} from "lucide-react";
|
||||
import { useCartStore } from "../store/cartStore";
|
||||
import { useCartStore } from "../lib/store/cartStore";
|
||||
import SafeImage from "./SafeImage";
|
||||
|
||||
const CATEGORIES = [
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
import React, { useState, useEffect, useRef } from "react";
|
||||
import { motion, AnimatePresence } from "motion/react";
|
||||
import { X, User, Building2, Heart, ShieldCheck, Phone, Key, LogIn, ArrowRight, RefreshCw } from "lucide-react";
|
||||
import { useUserStore, UserRole } from "../store/userStore";
|
||||
import { authService } from "../services/authService";
|
||||
import { useUserStore, UserRole } from "../lib/store/userStore";
|
||||
import { authService } from "../lib/services/authService";
|
||||
import { toast } from "sonner";
|
||||
import { toPersian } from "../lib/utils";
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
"use client";
|
||||
import React, { useState, useEffect } from "react";
|
||||
import { Product } from "../data/products";
|
||||
import { useCartStore } from "../store/cartStore";
|
||||
import { productService } from "../services/productService";
|
||||
import { Product } from "../lib/data/products";
|
||||
import { useCartStore } from "../lib/store/cartStore";
|
||||
import { productService } from "../lib/services/productService";
|
||||
import { motion, AnimatePresence } from "motion/react";
|
||||
import {
|
||||
Building2,
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
import React from "react";
|
||||
import { motion } from "motion/react";
|
||||
import { ChevronRight, Calendar, User, ArrowLeft, Sparkles, BookOpen } from "lucide-react";
|
||||
import { Product } from "../data/products";
|
||||
import { productService } from "../services/productService";
|
||||
import { Product } from "../lib/data/products";
|
||||
import { productService } from "../lib/services/productService";
|
||||
|
||||
const BLOG_POSTS = [
|
||||
{
|
||||
|
||||
@ -3,9 +3,9 @@ import React, { useState, useEffect } from "react";
|
||||
import { X, Trash2, Plus, Minus, ShoppingBag, ShieldCheck, ArrowLeft, Ticket, Sparkles, CheckCircle2 } from "lucide-react";
|
||||
import { motion, AnimatePresence } from "motion/react";
|
||||
import { toPersian, cn } from "../lib/utils";
|
||||
import { useCartStore } from "../store/cartStore";
|
||||
import { Product } from "../data/products";
|
||||
import { productService } from "../services/productService";
|
||||
import { useCartStore } from "../lib/store/cartStore";
|
||||
import { Product } from "../lib/data/products";
|
||||
import { productService } from "../lib/services/productService";
|
||||
import SafeImage from "./SafeImage";
|
||||
import { toast } from "sonner";
|
||||
|
||||
|
||||
@ -17,11 +17,11 @@ import {
|
||||
PlusCircle
|
||||
} from "lucide-react";
|
||||
import { toPersian, cn } from "../lib/utils";
|
||||
import { useCartStore } from "../store/cartStore";
|
||||
import { usePetStore } from "../store/usePetStore";
|
||||
import { useUserStore } from "../store/userStore";
|
||||
import { Product } from "../data/products";
|
||||
import { productService } from "../services/productService";
|
||||
import { useCartStore } from "../lib/store/cartStore";
|
||||
import { usePetStore } from "../lib/store/usePetStore";
|
||||
import { useUserStore } from "../lib/store/userStore";
|
||||
import { Product } from "../lib/data/products";
|
||||
import { productService } from "../lib/services/productService";
|
||||
import { toast } from "sonner";
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
|
||||
@ -2,7 +2,10 @@
|
||||
import React from 'react';
|
||||
import { FileQuestion, AlertCircle, Home, RefreshCw } from 'lucide-react';
|
||||
|
||||
export const NotFoundPage = ({ onGoHome }: { onGoHome: () => void }) => {
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
export const NotFoundPage = () => {
|
||||
const router = useRouter();
|
||||
return (
|
||||
<div className="min-h-[80vh] flex items-center justify-center p-6" dir="rtl">
|
||||
<div className="max-w-lg w-full text-center">
|
||||
@ -21,7 +24,7 @@ export const NotFoundPage = ({ onGoHome }: { onGoHome: () => void }) => {
|
||||
</p>
|
||||
|
||||
<button
|
||||
onClick={onGoHome}
|
||||
onClick={() => router.push('/')}
|
||||
className="bg-medical-gray-900 text-white px-10 py-5 rounded-2xl font-black flex items-center justify-center gap-3 mx-auto hover:bg-canina-blue transition-all shadow-2xl shadow-medical-gray-900/10"
|
||||
>
|
||||
<Home className="w-5 h-5" />
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
"use client";
|
||||
import { useState, useEffect, useMemo } from "react";
|
||||
import { Product } from "../data/products";
|
||||
import { usePetStore } from "../store/usePetStore";
|
||||
import { productService } from "../services/productService";
|
||||
import { Product } from "../lib/data/products";
|
||||
import { usePetStore } from "../lib/store/usePetStore";
|
||||
import { productService } from "../lib/services/productService";
|
||||
import { motion, AnimatePresence } from "motion/react";
|
||||
import { Eye, ShoppingCart, ShieldCheck, Heart, AlertCircle, Sparkles } from "lucide-react";
|
||||
import SafeImage from "./SafeImage";
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
import React, { useState, useRef, useEffect } from "react";
|
||||
import { Search, ChevronDown, Menu, X, Pill, ShieldCheck, HeartPulse, Sparkles, ShoppingBag, User, PlusCircle, Check, Building2, LogIn, Wallet, LogOut, MapPin, FileHeart, Dog, Cat } from "lucide-react";
|
||||
import { motion, AnimatePresence } from "motion/react";
|
||||
import { useCartStore } from "../store/cartStore";
|
||||
import { usePetStore } from "../store/usePetStore";
|
||||
import { useUserStore } from "../store/userStore";
|
||||
import { useCartStore } from "../lib/store/cartStore";
|
||||
import { usePetStore } from "../lib/store/usePetStore";
|
||||
import { useUserStore } from "../lib/store/userStore";
|
||||
import { toast } from "sonner";
|
||||
import HeaderButton from "./HeaderButton";
|
||||
import AuthModal from "./AuthModal";
|
||||
|
||||
@ -3,7 +3,7 @@ import { motion, useMotionValue, useTransform, animate } from "motion/react";
|
||||
import { ChevronLeft } from "lucide-react";
|
||||
import { useEffect, useState } from "react";
|
||||
import { toPersian } from "../lib/utils";
|
||||
import { useSettingsStore } from "../store/settingsStore";
|
||||
import { useSettingsStore } from "../lib/store/settingsStore";
|
||||
|
||||
function StatCounter({ target }: { target: number }) {
|
||||
const [displayValue, setDisplayValue] = useState(0);
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
"use client";
|
||||
import { useMemo, useState, useEffect } from "react";
|
||||
import { INGREDIENTS_WIKI, Product } from "../data/products";
|
||||
import { INGREDIENTS_WIKI, Product } from "../lib/data/products";
|
||||
import { motion } from "motion/react";
|
||||
import { FlaskConical, CheckCircle2, ChevronRight, ChevronLeft, Beaker } from "lucide-react";
|
||||
import { useSettingsStore } from "../store/settingsStore";
|
||||
import { productService } from "../services/productService";
|
||||
import { useSettingsStore } from "../lib/store/settingsStore";
|
||||
import { productService } from "../lib/services/productService";
|
||||
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
import React, { useState, useEffect, useRef } from "react";
|
||||
import { motion, AnimatePresence } from "motion/react";
|
||||
import { X, ShieldCheck, Phone, Key, LogIn, ArrowRight, RefreshCw } from "lucide-react";
|
||||
import { authService } from "../services/authService";
|
||||
import { useUserStore } from "../store/userStore";
|
||||
import { authService } from "../lib/services/authService";
|
||||
import { useUserStore } from "../lib/store/userStore";
|
||||
import { toast } from "sonner";
|
||||
import { toPersian } from "../lib/utils";
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
"use client";
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import { useNetworkStatus } from '../hooks/useNetworkStatus';
|
||||
import { useNetworkStatus } from '../lib/hooks/useNetworkStatus';
|
||||
import { WifiOff, Wifi, X } from 'lucide-react';
|
||||
import { motion, AnimatePresence } from 'motion/react';
|
||||
|
||||
|
||||
@ -10,8 +10,8 @@ import {
|
||||
Sparkles,
|
||||
Heart
|
||||
} from "lucide-react";
|
||||
import { useCartStore } from "../store/cartStore";
|
||||
import { usePetStore } from "../store/usePetStore";
|
||||
import { useCartStore } from "../lib/store/cartStore";
|
||||
import { usePetStore } from "../lib/store/usePetStore";
|
||||
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ import {
|
||||
Clock,
|
||||
ExternalLink
|
||||
} from "lucide-react";
|
||||
import { useCartStore } from "../store/cartStore";
|
||||
import { useCartStore } from "../lib/store/cartStore";
|
||||
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
import React, { useState, useMemo, useEffect } from "react";
|
||||
import { Product, PetType } from "../data/products";
|
||||
import { productService } from "../services/productService";
|
||||
import { Product, PetType } from "../lib/data/products";
|
||||
import { productService } from "../lib/services/productService";
|
||||
import { motion, AnimatePresence } from "motion/react";
|
||||
import { PetProfileSkeleton } from "./Skeleton";
|
||||
import {
|
||||
@ -29,8 +29,8 @@ import {
|
||||
TrendingUp,
|
||||
Check
|
||||
} from "lucide-react";
|
||||
import { usePetStore, PetProfile as GlobalPetProfile, Reminder, HealthLog, PetConsumption } from "../store/usePetStore";
|
||||
import { useCartStore } from "../store/cartStore";
|
||||
import { usePetStore, PetProfile as GlobalPetProfile, Reminder, HealthLog, PetConsumption } from "../lib/store/usePetStore";
|
||||
import { useCartStore } from "../lib/store/cartStore";
|
||||
import SafeImage from "./SafeImage";
|
||||
import { toast } from "sonner";
|
||||
import { toPersian, cn } from "../lib/utils";
|
||||
|
||||
@ -41,13 +41,13 @@ const ICON_MAP: Record<string, any> = {
|
||||
Users
|
||||
};
|
||||
import { toPersian, cn } from "../lib/utils";
|
||||
import { Product, PRODUCTS } from "../data/products";
|
||||
import { productService } from "../services/productService";
|
||||
import { SCIENTIFIC_TERMS } from "../data/scientificTerms";
|
||||
import { useSettingsStore } from "../store/settingsStore";
|
||||
import { Product, PRODUCTS } from "../lib/data/products";
|
||||
import { productService } from "../lib/services/productService";
|
||||
import { SCIENTIFIC_TERMS } from "../lib/data/scientificTerms";
|
||||
import { useSettingsStore } from "../lib/store/settingsStore";
|
||||
import { create } from "zustand";
|
||||
import { useCartStore } from "../store/cartStore";
|
||||
import { usePetStore } from "../store/usePetStore";
|
||||
import { useCartStore } from "../lib/store/cartStore";
|
||||
import { usePetStore } from "../lib/store/usePetStore";
|
||||
import { toast } from "sonner";
|
||||
|
||||
interface CalculatorState {
|
||||
|
||||
@ -1,12 +1,15 @@
|
||||
"use client";
|
||||
import React, { useMemo, useState, useEffect } from "react";
|
||||
import { Search, ShoppingBag, ChevronLeft, ArrowRight, Activity, Sparkles, HeartPulse, Stethoscope, ShieldCheck, Heart, AlertCircle } from "lucide-react";
|
||||
import { usePetStore } from "../store/usePetStore";
|
||||
import { usePetStore } from "../lib/store/usePetStore";
|
||||
import { motion } from "motion/react";
|
||||
import { Product } from "../data/products";
|
||||
import { productService } from "../services/productService";
|
||||
import { Product } from "../lib/data/products";
|
||||
import { productService } from "../lib/services/productService";
|
||||
|
||||
export default function SearchResultsPage({ query, onProductClick, onBack }: { query: string; onProductClick: (p: Product) => void; onBack: () => void }) {
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
export default function SearchResultsPage({ query }: { query: string }) {
|
||||
const router = useRouter();
|
||||
const { getActivePet } = usePetStore();
|
||||
const activePet = getActivePet();
|
||||
const [products, setProducts] = useState<Product[]>([]);
|
||||
@ -29,7 +32,7 @@ export default function SearchResultsPage({ query, onProductClick, onBack }: { q
|
||||
return (
|
||||
<div className="min-h-screen bg-medical-gray-50 py-20 px-6 font-vazir" dir="rtl">
|
||||
<div className="max-w-7xl mx-auto">
|
||||
<button onClick={onBack} className="flex items-center gap-2 text-medical-gray-400 font-black mb-10 hover:text-canina-blue transition-colors">
|
||||
<button onClick={() => router.back()} className="flex items-center gap-2 text-medical-gray-400 font-black mb-10 hover:text-canina-blue transition-colors">
|
||||
<ArrowRight className="w-5 h-5 rotate-180" />
|
||||
بازگشت
|
||||
</button>
|
||||
@ -61,7 +64,7 @@ export default function SearchResultsPage({ query, onProductClick, onBack }: { q
|
||||
<motion.div
|
||||
key={product.id}
|
||||
layoutId={product.id}
|
||||
onClick={() => onProductClick(product)}
|
||||
onClick={() => router.push(`/shop/${product.id}`)}
|
||||
className="bg-white rounded-[2.5rem] p-8 border border-medical-gray-200 group cursor-pointer hover:shadow-2xl hover:shadow-canina-blue/10 transition-all flex flex-col relative"
|
||||
>
|
||||
<div className="relative aspect-square mb-8 bg-medical-gray-50 rounded-[2rem] overflow-hidden p-6 flex items-center justify-center">
|
||||
@ -121,7 +124,7 @@ export default function SearchResultsPage({ query, onProductClick, onBack }: { q
|
||||
<h3 className="text-2xl font-black text-medical-gray-900 mb-10 italic">محصولات پیشنهادی (پرفروش)</h3>
|
||||
<div className="grid md:grid-cols-3 gap-8 opacity-60 hover:opacity-100 transition-opacity">
|
||||
{bestSellers.map(p => (
|
||||
<div key={p.id} onClick={() => onProductClick(p)} className="cursor-pointer group">
|
||||
<div key={p.id} onClick={() => router.push(`/shop/${p.id}`)} className="cursor-pointer group">
|
||||
<div className="aspect-square bg-white rounded-[2rem] p-6 mb-4 border border-medical-gray-100 flex items-center justify-center">
|
||||
<img src={p.image} className="w-40 h-40 object-contain group-hover:scale-105 transition-transform" />
|
||||
</div>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
import React, { useState } from "react";
|
||||
import { motion, AnimatePresence } from "motion/react";
|
||||
import { useSettingsStore } from "../store/settingsStore";
|
||||
import { useSettingsStore } from "../lib/store/settingsStore";
|
||||
import {
|
||||
Dog,
|
||||
Cat,
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
import React, { useState } from 'react';
|
||||
import { motion, AnimatePresence } from 'motion/react';
|
||||
import { Info, ExternalLink } from 'lucide-react';
|
||||
import { SCIENTIFIC_TERMS } from '../data/scientificTerms';
|
||||
import { useSettingsStore } from '../store/settingsStore';
|
||||
import { SCIENTIFIC_TERMS } from '../lib/data/scientificTerms';
|
||||
import { useSettingsStore } from '../lib/store/settingsStore';
|
||||
|
||||
interface TooltipProps {
|
||||
termKey: string;
|
||||
|
||||
@ -3,8 +3,8 @@ import React, { useState } from "react";
|
||||
import { motion, AnimatePresence } from "motion/react";
|
||||
import { User, ShoppingBag, Wallet, MapPin, LogOut, ChevronRight, Package, Calendar, UserCircle, ShoppingCart, Trash2, Edit2, Phone, Hash, CheckCircle2, ArrowUpCircle, ArrowDownCircle, Info, Clock, CheckCircle, Heart, Sparkles } from "lucide-react";
|
||||
import { OrderRowSkeleton } from "./Skeleton";
|
||||
import { useUserStore, Address } from "../store/userStore";
|
||||
import { useCartStore } from "../store/cartStore";
|
||||
import { useUserStore, Address } from "../lib/store/userStore";
|
||||
import { useCartStore } from "../lib/store/cartStore";
|
||||
import { toPersian, cn } from "../lib/utils";
|
||||
import { toast } from "sonner";
|
||||
import OrderDetailsModal from "./OrderDetailsModal";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user