Skip to content
Snippets Groups Projects
MonthlyNews.tsx 1.82 KiB
Newer Older
import React, { ChangeEvent } from 'react'
Guilhem CARRON's avatar
Guilhem CARRON committed
import { ContentItems } from '../Editing/Editing'
import { convertStringToEditorState } from '../../utils/editorStateManagment'
import CustomEditor from '../Editing/CustomEditor'
import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css'
import './monthlyNews.scss'
Guilhem CARRON's avatar
Guilhem CARRON committed

interface MonthlyNewsProps {
  onSave: () => Promise<void>
Guilhem CARRON's avatar
Guilhem CARRON committed
  onCancel: () => void
  title: string
  content: string
Guilhem CARRON's avatar
Guilhem CARRON committed
  handleChange: (
    value: string,
    type: 'info' | 'title' | 'content' | 'question' | 'link' | 'subject'
Guilhem CARRON's avatar
Guilhem CARRON committed
  ) => void
Guilhem CARRON's avatar
Guilhem CARRON committed
  onDelete: (target: ContentItems) => void
Guilhem CARRON's avatar
Guilhem CARRON committed
}
const MonthlyNews: React.FC<MonthlyNewsProps> = ({
  onSave,
  onCancel,
Guilhem CARRON's avatar
Guilhem CARRON committed
  handleChange,
Guilhem CARRON's avatar
Guilhem CARRON committed
}: MonthlyNewsProps) => {
  const handleChangeTitle = (e: ChangeEvent<HTMLInputElement>) => {
    handleChange(e.target.value, 'title')
  }
Guilhem CARRON's avatar
Guilhem CARRON committed
  return (
    <div className="monthlyNews">
      <h2>Nouveautés du mois (Optionnel)</h2>
      <p className="title">Titre</p>
      <input
        type="text"
        className="input-dark"
        placeholder="Par défaut : Les nouveautés du service"
        value={title}
        onChange={handleChangeTitle}
      />
Guilhem CARRON's avatar
Guilhem CARRON committed
      <div>
        <p className="title">Contenu</p>
            baseState={convertStringToEditorState(content)}
            handleChange={handleChange}
            editorType="content"
        <div className="buttons">
          <button className="btnCancel" onClick={onCancel}>
            Annuler
          </button>
          <button className="btnValid" onClick={onSave}>
            Sauvegarder
          </button>
Guilhem CARRON's avatar
Guilhem CARRON committed
          <button className="btnDelete" onClick={() => onDelete('monthlyNews')}>
            Supprimer
          </button>
        </div>
Guilhem CARRON's avatar
Guilhem CARRON committed
      </div>
Guilhem CARRON's avatar
Guilhem CARRON committed
  )
}

export default MonthlyNews