/**
 * Kurato Termin-Block (Etappe K5c).
 *
 * No-Build-Block: nutzt die WordPress-Editor-Globals (wp.blocks, wp.element,
 * wp.blockEditor, wp.components, wp.i18n), kein Bundler. Der Block ist dynamisch
 * (serverseitiges render_callback in PHP); der Editor zeigt nur eine schlichte
 * Platzhalter-Karte und ein Feld fuer den Host-Slug. Das volle Buchungs-UI lebt
 * auf der oeffentlichen Seite /termin/{slug}.
 */
( function ( blocks, element, blockEditor, components, i18n ) {
	'use strict';

	var el = element.createElement;
	var __ = i18n.__;
	var useBlockProps = blockEditor.useBlockProps;
	var InspectorControls = blockEditor.InspectorControls;
	var PanelBody = components.PanelBody;
	var TextControl = components.TextControl;

	blocks.registerBlockType( 'kurato/termin', {
		apiVersion: 2,
		title: __( 'Terminbuchung (Kurato)', 'kurato' ),
		description: __( 'Verlinkt auf die oeffentliche Buchungsseite eines Ansprechpartners.', 'kurato' ),
		icon: 'calendar-alt',
		category: 'widgets',
		attributes: {
			host: { type: 'string', default: '' },
		},
		edit: function ( props ) {
			var host = props.attributes.host || '';
			var blockProps = useBlockProps();

			return el(
				'div',
				blockProps,
				el(
					InspectorControls,
					null,
					el(
						PanelBody,
						{ title: __( 'Einstellungen', 'kurato' ), initialOpen: true },
						el( TextControl, {
							label: __( 'Host-Kuerzel (Slug)', 'kurato' ),
							help: __( 'Leer lassen fuer den ersten Ansprechpartner.', 'kurato' ),
							value: host,
							onChange: function ( value ) {
								props.setAttributes( { host: value } );
							},
						} )
					)
				),
				el(
					'div',
					{
						style: {
							border: '1px dashed #c3c4c7',
							borderRadius: '10px',
							padding: '20px',
							textAlign: 'center',
							color: '#50575e',
						},
					},
					el( 'strong', null, __( 'Terminbuchung (Kurato)', 'kurato' ) ),
					el(
						'p',
						{ style: { margin: '6px 0 0' } },
						host
							? __( 'Verlinkt auf: ', 'kurato' ) + host
							: __( 'Verlinkt auf den ersten Ansprechpartner.', 'kurato' )
					)
				)
			);
		},
		save: function () {
			// Dynamischer Block: die Ausgabe kommt aus PHP (render_callback).
			return null;
		},
	} );
} )( window.wp.blocks, window.wp.element, window.wp.blockEditor, window.wp.components, window.wp.i18n );
