import {FC, FormEventHandler} from 'react'
import { LeftSidebarWithMenu } from '@tesseract-design/viewfinder'
import CreateRingtoneForm from '../../organisms/forms/CreateRingtone'
import Link from '../../molecules/navigation/Link'
import OmnisearchForm from '../../organisms/forms/Omnisearch'

type Props = {
	onSearch?: FormEventHandler,
	onSubmit?: FormEventHandler
}

const CreateRingtoneTemplate: FC<Props> = ({
	onSearch,
	onSubmit,
}) => {
	return (
		<LeftSidebarWithMenu.Layout
			topBarCenter={
				<OmnisearchForm
					labels={{
						form: 'Search',
						query: 'Query',
					}}
					onSubmit={onSearch}
					action="/api/a/search"
				/>
			}
			linkComponent={({ url, icon, label, }) => (
				<Link
					href={url}
				>
					<LeftSidebarWithMenu.SidebarMenuContainer>
						<LeftSidebarWithMenu.SidebarMenuItemIcon>
							{icon}
						</LeftSidebarWithMenu.SidebarMenuItemIcon>
						{label}
					</LeftSidebarWithMenu.SidebarMenuContainer>
				</Link>
			)}
			moreLinkMenuItem={{
				label: 'More',
				icon: 'M',
				url: {},
			}}
			moreLinkComponent={({ url, icon, label, }) => (
				<Link
					href={url}
				>
					<LeftSidebarWithMenu.MoreSidebarMenuContainer>
						<LeftSidebarWithMenu.MoreSidebarMenuItemIcon>
							{icon}
						</LeftSidebarWithMenu.MoreSidebarMenuItemIcon>
						{label}
					</LeftSidebarWithMenu.MoreSidebarMenuContainer>
				</Link>
			)}
			sidebarMenuItems={[
				{
					id: 'browse',
					label: 'Browse',
					icon: 'B',
					url: {
						pathname: '/ringtones',
					},
				},
				{
					id: 'compose',
					label: 'Compose',
					icon: 'C',
					url: {
						pathname: '/my/create/ringtone',
					},
				},
			]}
			sidebarMain={
				<LeftSidebarWithMenu.SidebarMainContainer>
					Hi
				</LeftSidebarWithMenu.SidebarMainContainer>
			}
		>
			<LeftSidebarWithMenu.ContentContainer>
				<CreateRingtoneForm
					onSubmit={onSubmit}
					action="/api/a/create/ringtone"
					labels={{
						form: 'Create Ringtone',
						name: 'Name',
						data: 'Data',
						cta: 'Post',
					}}
				/>
			</LeftSidebarWithMenu.ContentContainer>
		</LeftSidebarWithMenu.Layout>
	)
}

export default CreateRingtoneTemplate