File size: 3,245 Bytes
066aee2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// src/components/back-button/BackButton.tsx
"use client"; // این دستور برای Next.js App Router است، در Create React App کاربردی ندارد و می‌توانید حذفش کنید.

import React from 'react';
import { ChevronLeft } from "lucide-react";

// استایل‌ها مشابه دکمه‌های هدر دیگر خواهد بود که از App.scss می‌آید
// یا می‌توانید کلاس‌های Tailwind را مستقیماً اینجا اعمال کنید
// در اینجا از کلاس header-button که در App.scss تعریف شده استفاده می‌کنیم
// و در صورت نیاز padding یا سایز را برای تطابق با نمونه تنظیم می‌کنیم.

export default function BackButton() {
  const handleClose = () => {
    // بستن پنجره فعلی
    // توجه: این ممکن است در تمام مرورگرها یا سناریوها کار نکند.
    console.log("Attempting to close window...");
    window.close();

    // اگر در یک iframe هستید (مانند برخی از اسپیس‌های هاگینگ فیس)
    // و می‌خواهید به صفحه قبلی در هیستوری هاگینگ فیس برگردید، ممکن است نیاز به راه حل دیگری باشد.
    // برای مثال، اگر می‌خواهید به صفحه اصلی اسپیس برگردید:
    // window.location.href = "/"; // یا آدرس روت اسپیس شما

    // اگر منظور از "برگشت" در یک اپلیکیشن تک‌صفحه‌ای (SPA) است،
    // باید از router خود (مثل React Router) استفاده کنید:
    // import { useNavigate } from 'react-router-dom';
    // const navigate = useNavigate();
    // navigate(-1); // برای بازگشت به صفحه قبلی در هیستوری react-router
  };

  return (
    <button // تغییر از div به button برای دسترسیپذیری و معنای بهتر
      onClick={handleClose}
      aria-label="Close window"
      // استفاده از کلاس header-button برای ظاهر مشابه با دکمه نوتیفیکیشن
      // مقادیر padding و اندازه آیکون از آن کلاس میآیند.
      // کلاسهای نمونه کد شما: "flex items-center justify-center p-2 rounded-lg bg-gray-200"
      // کلاس header-button ما: "flex items-center justify-center p-2 rounded-[0.625rem] bg-gray-200"
      // که بسیار شبیه هستند. --radius-lg معادل 0.625rem (10px) است.
      // و p-2 معادل padding: 0.5rem (8px) است.
      className={"header-button"} // این کلاس باید در App.scss تعریف شده باشد و ظاهر مورد نظر را بدهد
    >
      {/* اندازه آیکون در نمونه شما 20 است، در header-button ما SVGها 24 هستند */}
      {/* برای تطابق دقیق، یا اندازه SVG را در header-button تغییر دهید یا اینجا override کنید */}
      <ChevronLeft size={20} strokeWidth={2.5} className={"opacity-70 dark:opacity-80"} /> {/* strokeWidth و opacity تنظیم شده برای وضوح بیشتر */}
    </button>
  );
}