Ringtone app

index.tsx 2.1 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import {FC, FormEventHandler} from 'react'
  2. import { LeftSidebarWithMenu } from '@tesseract-design/viewfinder'
  3. import CreateRingtoneForm from '../../organisms/forms/CreateRingtone'
  4. import Link from '../../molecules/navigation/Link'
  5. import OmnisearchForm from '../../organisms/forms/Omnisearch'
  6. type Props = {
  7. onSearch?: FormEventHandler,
  8. onSubmit?: FormEventHandler
  9. }
  10. const CreateRingtoneTemplate: FC<Props> = ({
  11. onSearch,
  12. onSubmit,
  13. }) => {
  14. return (
  15. <LeftSidebarWithMenu.Layout
  16. topBarCenter={
  17. <OmnisearchForm
  18. labels={{
  19. form: 'Search',
  20. query: 'Query',
  21. }}
  22. onSubmit={onSearch}
  23. action="/api/a/search"
  24. />
  25. }
  26. linkComponent={({ url, icon, label, }) => (
  27. <Link
  28. href={url}
  29. >
  30. <LeftSidebarWithMenu.SidebarMenuContainer>
  31. <LeftSidebarWithMenu.SidebarMenuItemIcon>
  32. {icon}
  33. </LeftSidebarWithMenu.SidebarMenuItemIcon>
  34. {label}
  35. </LeftSidebarWithMenu.SidebarMenuContainer>
  36. </Link>
  37. )}
  38. moreLinkMenuItem={{
  39. label: 'More',
  40. icon: 'M',
  41. url: {},
  42. }}
  43. moreLinkComponent={({ url, icon, label, }) => (
  44. <Link
  45. href={url}
  46. >
  47. <LeftSidebarWithMenu.MoreSidebarMenuContainer>
  48. <LeftSidebarWithMenu.MoreSidebarMenuItemIcon>
  49. {icon}
  50. </LeftSidebarWithMenu.MoreSidebarMenuItemIcon>
  51. {label}
  52. </LeftSidebarWithMenu.MoreSidebarMenuContainer>
  53. </Link>
  54. )}
  55. sidebarMenuItems={[
  56. {
  57. id: 'browse',
  58. label: 'Browse',
  59. icon: 'B',
  60. url: {
  61. pathname: '/ringtones',
  62. },
  63. },
  64. {
  65. id: 'compose',
  66. label: 'Compose',
  67. icon: 'C',
  68. url: {
  69. pathname: '/my/create/ringtone',
  70. },
  71. },
  72. ]}
  73. sidebarMain={
  74. <LeftSidebarWithMenu.SidebarMainContainer>
  75. Hi
  76. </LeftSidebarWithMenu.SidebarMainContainer>
  77. }
  78. >
  79. <LeftSidebarWithMenu.ContentContainer>
  80. <CreateRingtoneForm
  81. onSubmit={onSubmit}
  82. action="/api/a/create/ringtone"
  83. labels={{
  84. form: 'Create Ringtone',
  85. name: 'Name',
  86. data: 'Data',
  87. cta: 'Post',
  88. }}
  89. />
  90. </LeftSidebarWithMenu.ContentContainer>
  91. </LeftSidebarWithMenu.Layout>
  92. )
  93. }
  94. export default CreateRingtoneTemplate