/**
 * Block Filters
 * ブロックのフィルター処理
 */

import { addFilter } from '@wordpress/hooks';

/**
 * カスタム属性を追加
 */
addFilter(
	'blocks.registerBlockType',
	'zenblocks/add-custom-attributes',
	( settings, name ) => {
		// ZenBlocksのブロックのみに適用
		if ( ! name.startsWith( 'zenblocks/' ) ) {
			return settings;
		}

		return {
			...settings,
			attributes: {
				...settings.attributes,
				zenblocksCustomClass: {
					type: 'string',
					default: '',
				},
			},
		};
	}
);

/**
 * Pro機能の制限チェック
 */
addFilter( 'editor.BlockEdit', 'zenblocks/pro-feature-lock', ( BlockEdit ) => {
	return ( props ) => {
		const { name } = props;

		// ZenBlocksのブロック以外はそのまま返す
		if ( ! name.startsWith( 'zenblocks/' ) ) {
			return <BlockEdit { ...props } />;
		}

		// ライセンスチェック（実際の実装では window.zenBlocks.isPro などから取得）
		const isPro = window.zenBlocks?.license?.isPro || false;

		// Pro機能の制限をpropsに追加
		return <BlockEdit { ...props } isPro={ isPro } />;
	};
} );
