| Server IP : 104.26.2.156 / Your IP : 216.73.216.185 Web Server : nginx/1.27.1 System : Linux us-1 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64 User : vinodai ( 3134) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /storage/v1396/chatgptkafila/public_html/wp-content/plugins/presto-player/src/router/ |
Upload File : |
const { useContext } = wp.element;
import { RouterContext, history } from "./context";
import classNames from "classnames";
import { match } from "path-to-regexp";
export function Link(props) {
const { to, onClick, children, activeClassName } = props;
const { route } = useContext(RouterContext);
let state = { ...props };
delete state.activeClassName;
const isActive = () => {
const checkMatch = match(`${to}`);
return checkMatch(`${route.hash.substr(1)}`);
};
const handleClick = (e) => {
e.preventDefault();
// Dont' navigate if current path
if (route.path === to) {
return;
}
// Trigger onClick prop manually
if (onClick) {
onClick(e);
}
const { search } = history.location;
// Use history API to navigate page
history.push(`${search}#${to}`);
};
return (
<a
{...state}
className={classNames({ [activeClassName]: isActive() }, props.className)}
onClick={handleClick}
>
{children}
</a>
);
}