瀏覽代碼

个人中心部分文件夹迁移到(has-dashboard)文件内

zhangzf 2 周之前
父節點
當前提交
bbe1819f6c
共有 38 個文件被更改,包括 139 次插入 和 2 次删除
  1. 0 0
      src/app/(public)/customer/(has-dashboard)/account/_components/AccountBottomHrefSwiper.tsx
  2. 0 0
      src/app/(public)/customer/(has-dashboard)/account/_components/AccountHeader.tsx
  3. 0 0
      src/app/(public)/customer/(has-dashboard)/account/_components/AccountVipPopup.tsx
  4. 0 0
      src/app/(public)/customer/(has-dashboard)/account/_components/HelpModal.tsx
  5. 0 0
      src/app/(public)/customer/(has-dashboard)/account/accessories/page.tsx
  6. 0 0
      src/app/(public)/customer/(has-dashboard)/account/edit/page.tsx
  7. 0 0
      src/app/(public)/customer/(has-dashboard)/account/mycoupon/_components/CouponList.tsx
  8. 0 0
      src/app/(public)/customer/(has-dashboard)/account/mycoupon/_components/GiftCardList.tsx
  9. 0 0
      src/app/(public)/customer/(has-dashboard)/account/mycoupon/_components/TabButton.tsx
  10. 0 0
      src/app/(public)/customer/(has-dashboard)/account/mycoupon/_components/UseInfiniteScroll.tsx
  11. 0 0
      src/app/(public)/customer/(has-dashboard)/account/mycoupon/page.tsx
  12. 0 0
      src/app/(public)/customer/(has-dashboard)/account/mypoints/_components/GetPoints.tsx
  13. 0 0
      src/app/(public)/customer/(has-dashboard)/account/mypoints/_components/PointsRule.tsx
  14. 0 0
      src/app/(public)/customer/(has-dashboard)/account/mypoints/page.tsx
  15. 2 1
      src/app/(public)/customer/account/page.tsx
  16. 0 0
      src/app/(public)/customer/(has-dashboard)/account/pointlist/page.tsx
  17. 0 0
      src/app/(public)/customer/(has-dashboard)/account/pointsreceivelist/_components/RedeemGiftCard.tsx
  18. 0 0
      src/app/(public)/customer/(has-dashboard)/account/pointsreceivelist/page.tsx
  19. 0 0
      src/app/(public)/customer/(has-dashboard)/account/redeemhair/page.tsx
  20. 0 0
      src/app/(public)/customer/(has-dashboard)/address/_components/DefaultAddress.tsx
  21. 0 0
      src/app/(public)/customer/(has-dashboard)/address/eidt/[id]/page.tsx
  22. 0 0
      src/app/(public)/customer/(has-dashboard)/address/new/_components/CustomerAddressPhone.tsx
  23. 0 0
      src/app/(public)/customer/(has-dashboard)/address/new/_components/NewAddressDefault.tsx
  24. 0 0
      src/app/(public)/customer/(has-dashboard)/address/new/page.tsx
  25. 0 0
      src/app/(public)/customer/(has-dashboard)/address/page.tsx
  26. 47 0
      src/app/(public)/customer/(has-dashboard)/layout.tsx
  27. 0 0
      src/app/(public)/customer/(has-dashboard)/order/history/_components/OrderHistory.tsx
  28. 0 0
      src/app/(public)/customer/(has-dashboard)/order/history/page.tsx
  29. 0 0
      src/app/(public)/customer/(has-dashboard)/order/track/order_id/[id]/_components/TrackDetail.tsx
  30. 0 0
      src/app/(public)/customer/(has-dashboard)/order/track/order_id/[id]/_components/TrackModal.tsx
  31. 0 0
      src/app/(public)/customer/(has-dashboard)/order/track/order_id/[id]/page.tsx
  32. 0 0
      src/app/(public)/customer/(has-dashboard)/order/view/order_id/[id]/_components/OrderHeader.tsx
  33. 0 0
      src/app/(public)/customer/(has-dashboard)/order/view/order_id/[id]/_components/OrderInfoBlock.tsx
  34. 0 0
      src/app/(public)/customer/(has-dashboard)/order/view/order_id/[id]/_components/PriceSummary.tsx
  35. 0 0
      src/app/(public)/customer/(has-dashboard)/order/view/order_id/[id]/_components/ProductList.tsx
  36. 0 0
      src/app/(public)/customer/(has-dashboard)/order/view/order_id/[id]/page.tsx
  37. 89 0
      src/app/(public)/customer/_components/CustomerSidebar.tsx
  38. 1 1
      src/components/customer/SettingModal.tsx

src/app/(public)/customer/account/_components/AccountBottomHrefSwiper.tsx → src/app/(public)/customer/(has-dashboard)/account/_components/AccountBottomHrefSwiper.tsx


src/app/(public)/customer/account/_components/AccountHeader.tsx → src/app/(public)/customer/(has-dashboard)/account/_components/AccountHeader.tsx


src/app/(public)/customer/account/_components/AccountVipPopup.tsx → src/app/(public)/customer/(has-dashboard)/account/_components/AccountVipPopup.tsx


src/app/(public)/customer/account/_components/HelpModal.tsx → src/app/(public)/customer/(has-dashboard)/account/_components/HelpModal.tsx


src/app/(public)/customer/account/accessories/page.tsx → src/app/(public)/customer/(has-dashboard)/account/accessories/page.tsx


src/app/(public)/customer/account/edit/page.tsx → src/app/(public)/customer/(has-dashboard)/account/edit/page.tsx


src/app/(public)/customer/account/mycoupon/_components/CouponList.tsx → src/app/(public)/customer/(has-dashboard)/account/mycoupon/_components/CouponList.tsx


src/app/(public)/customer/account/mycoupon/_components/GiftCardList.tsx → src/app/(public)/customer/(has-dashboard)/account/mycoupon/_components/GiftCardList.tsx


src/app/(public)/customer/account/mycoupon/_components/TabButton.tsx → src/app/(public)/customer/(has-dashboard)/account/mycoupon/_components/TabButton.tsx


src/app/(public)/customer/account/mycoupon/_components/UseInfiniteScroll.tsx → src/app/(public)/customer/(has-dashboard)/account/mycoupon/_components/UseInfiniteScroll.tsx


src/app/(public)/customer/account/mycoupon/page.tsx → src/app/(public)/customer/(has-dashboard)/account/mycoupon/page.tsx


src/app/(public)/customer/account/mypoints/_components/GetPoints.tsx → src/app/(public)/customer/(has-dashboard)/account/mypoints/_components/GetPoints.tsx


src/app/(public)/customer/account/mypoints/_components/PointsRule.tsx → src/app/(public)/customer/(has-dashboard)/account/mypoints/_components/PointsRule.tsx


src/app/(public)/customer/account/mypoints/page.tsx → src/app/(public)/customer/(has-dashboard)/account/mypoints/page.tsx


+ 2 - 1
src/app/(public)/customer/account/page.tsx

@@ -34,7 +34,8 @@ const orderNavs = [
 const MyAccountPage = () => {
   
   return (
-    <div className="min-h-screen bg-white pt-2 px-2">
+    <div className="min-h-screen bg-white  ">
+      <h1 className="font-normal text-2xl leading-ly-28 mb-6">My Account</h1>
       <AccountHeader />
       {/* 我的订单 */}
       <div className="">

src/app/(public)/customer/account/pointlist/page.tsx → src/app/(public)/customer/(has-dashboard)/account/pointlist/page.tsx


src/app/(public)/customer/account/pointsreceivelist/_components/RedeemGiftCard.tsx → src/app/(public)/customer/(has-dashboard)/account/pointsreceivelist/_components/RedeemGiftCard.tsx


src/app/(public)/customer/account/pointsreceivelist/page.tsx → src/app/(public)/customer/(has-dashboard)/account/pointsreceivelist/page.tsx


src/app/(public)/customer/account/redeemhair/page.tsx → src/app/(public)/customer/(has-dashboard)/account/redeemhair/page.tsx


src/app/(public)/customer/address/_components/DefaultAddress.tsx → src/app/(public)/customer/(has-dashboard)/address/_components/DefaultAddress.tsx


src/app/(public)/customer/address/eidt/[id]/page.tsx → src/app/(public)/customer/(has-dashboard)/address/eidt/[id]/page.tsx


src/app/(public)/customer/address/new/_components/CustomerAddressPhone.tsx → src/app/(public)/customer/(has-dashboard)/address/new/_components/CustomerAddressPhone.tsx


src/app/(public)/customer/address/new/_components/NewAddressDefault.tsx → src/app/(public)/customer/(has-dashboard)/address/new/_components/NewAddressDefault.tsx


src/app/(public)/customer/address/new/page.tsx → src/app/(public)/customer/(has-dashboard)/address/new/page.tsx


src/app/(public)/customer/address/page.tsx → src/app/(public)/customer/(has-dashboard)/address/page.tsx


+ 47 - 0
src/app/(public)/customer/(has-dashboard)/layout.tsx

@@ -0,0 +1,47 @@
+import CustomerSidebar from "../_components/CustomerSidebar";
+
+
+export default function CustomerLayout({
+  children,
+}: {
+  children: React.ReactNode;
+}) {
+
+
+  return (
+    <div
+      className="
+        mx-auto
+        flex
+        max-w-[1200px]
+        gap-[64px]
+        py-10
+      "
+    >
+
+      {/* 左侧 */}
+      <aside
+        className="
+          w-[320px]
+          shrink-0
+        "
+      >
+        <h1 className="font-normal text-2xl leading-ly-28 mb-6">My Dashboard</h1>
+        <CustomerSidebar />
+      </aside>
+
+
+      {/* 右侧 */}
+      <main
+        className="
+          min-w-0
+          flex-1
+        "
+      >
+        {children}
+      </main>
+
+
+    </div>
+  );
+}

src/app/(public)/customer/order/history/_components/OrderHistory.tsx → src/app/(public)/customer/(has-dashboard)/order/history/_components/OrderHistory.tsx


src/app/(public)/customer/order/history/page.tsx → src/app/(public)/customer/(has-dashboard)/order/history/page.tsx


src/app/(public)/customer/order/track/order_id/[id]/_components/TrackDetail.tsx → src/app/(public)/customer/(has-dashboard)/order/track/order_id/[id]/_components/TrackDetail.tsx


src/app/(public)/customer/order/track/order_id/[id]/_components/TrackModal.tsx → src/app/(public)/customer/(has-dashboard)/order/track/order_id/[id]/_components/TrackModal.tsx


src/app/(public)/customer/order/track/order_id/[id]/page.tsx → src/app/(public)/customer/(has-dashboard)/order/track/order_id/[id]/page.tsx


src/app/(public)/customer/order/view/order_id/[id]/_components/OrderHeader.tsx → src/app/(public)/customer/(has-dashboard)/order/view/order_id/[id]/_components/OrderHeader.tsx


src/app/(public)/customer/order/view/order_id/[id]/_components/OrderInfoBlock.tsx → src/app/(public)/customer/(has-dashboard)/order/view/order_id/[id]/_components/OrderInfoBlock.tsx


src/app/(public)/customer/order/view/order_id/[id]/_components/PriceSummary.tsx → src/app/(public)/customer/(has-dashboard)/order/view/order_id/[id]/_components/PriceSummary.tsx


src/app/(public)/customer/order/view/order_id/[id]/_components/ProductList.tsx → src/app/(public)/customer/(has-dashboard)/order/view/order_id/[id]/_components/ProductList.tsx


src/app/(public)/customer/order/view/order_id/[id]/page.tsx → src/app/(public)/customer/(has-dashboard)/order/view/order_id/[id]/page.tsx


+ 89 - 0
src/app/(public)/customer/_components/CustomerSidebar.tsx

@@ -0,0 +1,89 @@
+"use client";
+
+import Link from "next/link";
+import { usePathname } from "next/navigation";
+
+const menus = [
+  {
+    name: "My Account",
+    path: "/customer/account",
+  },
+  {
+    name: "My Address",
+    path: "/customer/address",
+  },
+  {
+    name: "My Orders",
+    path: "/customer/order",
+  },
+  {
+    name: "My Profile",
+    path: "/customer/profile",
+  },
+  {
+    name: "VIP Exclusive",
+  },
+  {
+    name: "My Product Reviews",
+  },
+  {
+    name: "Service",
+  },
+  {
+    name: "Wishlist",
+  },
+  {
+    name: "Sign Out",
+  },
+];
+
+export default function CustomerSidebar() {
+  const pathname = usePathname();
+
+  return (
+    <div
+      className="
+ bg-white
+ shadow-[0_2px_12px_rgba(0,0,0,.08)]
+ py-3
+ "
+    >
+      {menus.map((item) => {
+        const active = pathname === item.path;
+
+        return (
+          <Link
+            key={item.name}
+            href={item.path || "#"}
+            className={`
+ relative
+ flex
+ h-[55px]
+ items-center
+ px-8
+ text-[16px]
+
+ ${active ? "bg-[#EEFAF6] text-[#036141] font-semibold" : "text-[#111]"}
+
+ `}
+          >
+            {item.name}
+
+            {active && (
+              <span
+                className="
+ absolute
+ right-0
+ top-0
+ h-full
+ w-[3px]
+ bg-[#036141]
+ "
+              />
+            )}
+          </Link>
+        );
+      })}
+    </div>
+  );
+}

+ 1 - 1
src/components/customer/SettingModal.tsx

@@ -8,7 +8,7 @@ import { useCustomToast } from '@/utils/hooks/useToast';
 import { useAppDispatch } from "@/store/hooks";
 import { clearCart } from "@/store/slices/cart-slice";
 import { overlayLoading } from "@/components/theme/ui/kernel/loading/api";
-import HelpModal from "../../app/(public)/customer/account/_components/HelpModal";
+import HelpModal from "../../app/(public)/customer/(has-dashboard)/account/_components/HelpModal";
 export default function SettingModal({
   visible,
   onClose,