# extendify/3.2.1/src/Library/components/MainButton.jsx

Extendify, version 3.2.1. 40 lines.

- Page: https://pluginprobe.com/plugins/extendify/3.2.1/code/src/Library/components/MainButton.jsx
- Raw: https://pluginprobe.com/plugins/extendify/3.2.1/raw/src/Library/components/MainButton.jsx
- Modified: 2026-04-16T19:02:08+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/extendify/3.2.1/code/src/Library/components/MainButton.jsx#L10-L20`.

```jsx
import { extendifyLogo } from '@library/icons/extendify-logo';
import { useGlobalsStore } from '@library/state/global';
import { useActivityStore } from '@shared/state/activity';
import { __ } from '@wordpress/i18n';
import { Icon } from '@wordpress/icons';

export const MainButton = () => {
	const { setOpen } = useGlobalsStore();
	const { incrementActivity } = useActivityStore();

	const handleClick = () => {
		// Minimize HC if its open
		window.dispatchEvent(new CustomEvent('extendify-hc:minimize'));
		setOpen(true);
		incrementActivity('library-button-click');
	};

	return (
		// biome-ignore lint: allow a button here
		<div
			role="button"
			tabIndex={0}
			onClick={handleClick}
			onKeyDown={(e) => {
				if (!(e.key === 'Enter' || e.key === ' ')) return;
				handleClick();
			}}
			className="components-button has-icon is-primary h-8 min-w-0 cursor-pointer px-2 xs:h-9 sm:ml-2 xl:pr-3"
		>
			<Icon
				icon={extendifyLogo(__('Design Library', 'extendify-local'))}
				size={24}
			/>
			<span className="ml-1 hidden xl:inline">
				{__('Design Library', 'extendify-local')}
			</span>
		</div>
	);
};

```
