'use client'

import React from 'react'
import BurgerMenuIcon from '../icons/BurgerMenuIcon'
import NotificationBellIcon from '../icons/NotificationBellIcon'
import Image from 'next/image'
import { ArrowDown2, LogoutCurve, ProfileCircle, Setting2 } from 'iconsax-react'
import Dropdown from '../utils/Dropdown'
import Seperator from '../utils/Seperator'
import Link from 'next/link'
import { useParams } from 'next/navigation'
import useToggle from '@/hooks/helpers/useToggle'
import LogoutPrompt from '@/features/general/LogoutPrompt'

type Props = {
    profileDropState: boolean,
    toggleProfileDropState: React.MouseEventHandler<HTMLButtonElement> | undefined
    menuState: boolean,
    toggleMenuState: React.MouseEventHandler<HTMLButtonElement> | undefined
    searchModalState: boolean,
    toggleSearchModalState: React.MouseEventHandler<HTMLDivElement> | undefined
    nightModeState: boolean,
    toggleNightModeState: React.MouseEventHandler<HTMLDivElement> | undefined
}

function TopBar({ profileDropState, toggleProfileDropState, toggleMenuState }: Props) {
    const params = useParams();
    const { name } = params;
    const { state: logoutModal, toggle: toggleLogoutModal } = useToggle();

    return (
        <div className="w-full">
            <div className='grid grid-cols-3 overflow-hidden rounded-2xl w-full h-12 lg:h-24 px-2 xl:gap-8 items-center'>
                <div className='inline-flex justify-between items-center'>
                    <button className='inline-block xl:hidden' onClick={toggleMenuState}>
                        <BurgerMenuIcon />
                    </button>
                    {/* <div onClick={toggleSearchModalState} className='xl:bg-[#EEF0F7] xl:hidden inline-flex rounded-xl px-4 h-12 xl:w-[370px] items-center content-center' >
                        S
                    </div> */}
                    {/* <div
                        className={`z-50 top-0 left-0 w-full h-full px-5 py-15 md:px-15 xl:p-0 fixed xl:relative bg-[#00000044] xl:bg-transparent backdrop-blur-sm xl:backdrop-blur-none justify-center xl:block ${searchModalState ? 'flex' : 'hidden'}`}>
                        <div
                            className={`w-full h-full absolute`}
                            onClick={toggleSearchModalState}>
                        </div>
                        <div className='z-55 bg-white w-full md:w-min xl:bg-transparent p-5 xl:p-0 items-center flex xl:block rounded-lg h-max'>
                        <BurgerMenuIcon />
                        </div>
                    </div> */}
                </div>
                <div className='flex justify-center'>
                    <Image
                        width={73}
                        height={25}
                        alt='Profile avatar'
                        className='rounded-full'
                        src={'/assets/images/danak-logo.png'} />
                </div>
                <div className='flex items-center justify-end gap-3 xl:gap-6'>
                    {/* <NightModeSwitch checked={nightMode} onClick={toggleNightMode} /> */}
                    {/* <img className='hidden sm:block' src={rectangles} /> */}
                    <span className='relative'>
                        <NotificationBellIcon className='size-4.5 text-icon-active' />
                        <span className='absolute -right-1 -top-1 bg-red-500 size-3 rounded-full text-[8px] text-white'>
                            <div className='mt-0.25 place-self-center'>2</div>
                        </span>
                    </span>
                    <button
                        id='profile-drop-toggle'
                        className='flex items-center justify-between'
                        onClick={toggleProfileDropState}>
                        <Image
                            width={24}
                            height={24}
                            alt='Profile avatar'
                            className='rounded-full'
                            src={'/assets/images/user-avatar.png'} />
                        <div className='pe-0 hidden xl:inline-flex items-end' >
                            <div className='ps-2 pe-1 text-xs text-nowrap'>مهرداد مظفری</div>
                            <ArrowDown2 className='stroke-disabled-text' size={14} />
                            {/* <img src={arrow} /> */}
                        </div>
                    </button>
                </div>

                <Dropdown
                    active={profileDropState}
                    toggle={toggleProfileDropState}
                >
                    <div className='place-items-center pt-8'>
                        <Image
                            src={'/assets/images/user-avatar.png'}
                            width={56}
                            height={56}
                            className='rounded-full'
                            unoptimized
                            alt={'user avatar'}
                        />
                        <p className='text-xs mt-2'>mail@danakcorp.com</p>
                    </div>

                    <Seperator className='my-6' />

                    <div className='flex flex-col gap-3'>
                        <Link
                            href={`/${name}/profile`}
                            className='flex items-center gap-3 px-6'>
                            <ProfileCircle size={20} className='stroke-foreground' />
                            <div className='text-xs'>پروفایل</div>
                        </Link>
                        <Link
                            href={`/${name}/profile/settings`}
                            className='flex items-center gap-3 px-6'>
                            <Setting2 size={20} className='stroke-foreground' />
                            <div className='text-xs'>تنظیمات</div>
                        </Link>
                    </div>

                    <Seperator className='my-6' />
                    <button
                        onClick={(e) => {
                            toggleLogoutModal(e);
                            toggleProfileDropState?.(e)
                        }}
                        className='flex items-center gap-3 px-6'>
                        <LogoutCurve size={20} className='stroke-foreground' />
                        <div className='text-xs'>خروج</div>
                    </button>
                </Dropdown>
            </div>

            <div
                data-active={logoutModal}
                className='fixed inset-0 data-[active=false]:pointer-events-none z-50'>
                <LogoutPrompt
                    visible={logoutModal}
                    onClick={toggleLogoutModal}
                />
            </div>
        </div>
    )
}

export default TopBar;