diff --git a/.vscode/settings.json b/.vscode/settings.json index 13c8a5c22d7fc8b433e03ac2521364ee93da607f..e8686e1b37049819cb77f999098ae5d2f169f16b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -30,5 +30,16 @@ "connectionId": "sonarqube-forge-grandlyon", "projectKey": "web-et-numerique-llle-project-backoffice-client" }, - "cSpell.words": ["ecolyo"] + "cSpell.words": [ + "draftjs", + "ecogesture", + "ecolyo", + "enedis", + "Enedis", + "grdf", + "luxon", + "toastify", + "wysiwyg", + "xsrftoken" + ] } diff --git a/Dockerfile b/Dockerfile index 9c786b8400cc42e2597f2e9bdee520a55747ad8b..7ca9b79246fe52e42d34723a33e6d348d3a20a3e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Stage 0, "build-stage", based on Node.js, to build and compile the frontend -FROM node:14-alpine as build-stage +FROM node:14-alpine AS build-stage WORKDIR /app COPY package.json /app/ diff --git a/src/components/Consents/Consents.tsx b/src/components/Consents/Consents.tsx index 044bd815e8aad89b0559937a1ee84034e80d8929..2267a99c51979a2bb7e727c7a7571da558fd8325 100644 --- a/src/components/Consents/Consents.tsx +++ b/src/components/Consents/Consents.tsx @@ -1,13 +1,3 @@ -import React, { - useCallback, - useContext, - useEffect, - useMemo, - useState, -} from 'react' -import { AgGridReact } from 'ag-grid-react' -import 'ag-grid-community/dist/styles/ag-grid.css' -import 'ag-grid-community/dist/styles/ag-theme-alpine-dark.css' import TablePagination from '@material-ui/core/TablePagination' import { ColDef, @@ -19,15 +9,25 @@ import { RowSelectedEvent, ValueFormatterParams, } from 'ag-grid-community' -import styles from './consents.module.scss' +import 'ag-grid-community/dist/styles/ag-grid.css' +import 'ag-grid-community/dist/styles/ag-theme-alpine-dark.css' +import { AgGridReact } from 'ag-grid-react' +import { DateTime } from 'luxon' +import React, { + useCallback, + useContext, + useEffect, + useMemo, + useState, +} from 'react' +import { getAxiosXSRFHeader } from '../../axios.config' +import { UserContext, UserContextProps } from '../../hooks/userContext' +import { IConsent } from '../../models/consent.model' +import { ConsentService } from '../../services/consent.service' +import DowloadModal from './DowloadModal' import './agGridOverrides.scss' +import styles from './consents.module.scss' import './muiPaginationOverrides.scss' -import DowloadModal from './DowloadModal' -import { ConsentService } from '../../services/consent.service' -import { UserContextProps, UserContext } from '../../hooks/userContext' -import { IConsent } from '../../models/consent.model' -import { getAxiosXSRFHeader } from '../../axios.config' -import { DateTime } from 'luxon' const Consents: React.FC = () => { const [gridApi, setGridApi] = useState<GridApi | null>(null) @@ -263,7 +263,7 @@ const Consents: React.FC = () => { return ( <> <div className="header"> - <p className="title pagetitle">Gestion des consentements Enedis</p> + <p className="title pageTitle">Gestion des consentements Enedis</p> </div> <div className={styles.content}> <div className={styles.searchField}> @@ -334,7 +334,7 @@ const Consents: React.FC = () => { > {isShowingSelection ? 'Continuer ma sélection' - : 'Tout déselectionner'} + : 'Tout désélectionner'} </button> <button className={styles.btnSelection + ' btnValid'} diff --git a/src/components/Layout/Layout.tsx b/src/components/Layout/Layout.tsx index 56c36435a30b2940c7a3b97478277010c8bd2ebe..e33fe680b515fc2e33d7ab7526328effb1c99b67 100644 --- a/src/components/Layout/Layout.tsx +++ b/src/components/Layout/Layout.tsx @@ -3,12 +3,8 @@ import BottomBar from '../Navigation/BottomBar' import SideBar from '../Navigation/SideBar' import styles from './layout.module.scss' -interface LayoutProps { - children: React.ReactNode -} - -const Layout: React.FC<LayoutProps> = ({ children }: LayoutProps) => { - const [isMobile, setisMobile] = useState<boolean>(false) +const Layout: React.FC = ({ children }) => { + const [isMobile, setIsMobile] = useState<boolean>(false) useEffect(() => { function handleResize() { const test: boolean = @@ -17,7 +13,7 @@ const Layout: React.FC<LayoutProps> = ({ children }: LayoutProps) => { ) || window.innerWidth < 768 ? true : false - setisMobile(test) + setIsMobile(test) } handleResize() diff --git a/src/components/Newsletter/CustomEditor.tsx b/src/components/Newsletter/CustomEditor.tsx index 0018458f9da3009b2314ac694a6be6747ae87d1d..5e0bfa08e15386c88c7a60d0ebee3fe230ba5b57 100644 --- a/src/components/Newsletter/CustomEditor.tsx +++ b/src/components/Newsletter/CustomEditor.tsx @@ -2,8 +2,8 @@ import { convertToRaw } from 'draft-js' import draftToHtml from 'draftjs-to-html' import React, { useCallback, useState } from 'react' import { Editor, EditorState } from 'react-draft-wysiwyg' -import './customEditor.scss' import CustomLink from './CustomLink' +import './customEditor.scss' interface CustomEditorProps { baseState: EditorState @@ -18,7 +18,7 @@ const CustomEditor: React.FC<CustomEditorProps> = ({ baseState, handleChange, editorType, -}: CustomEditorProps) => { +}) => { const [editorState, setEditorState] = useState<EditorState>(baseState) const convertStateToHTML = (state: EditorState) => { diff --git a/src/components/Newsletter/CustomLink.tsx b/src/components/Newsletter/CustomLink.tsx index 62ec611ab1743c43c76cf32f44d93658f850bb1a..fc69ff89ad50d4db54725648f41b44f29277cc60 100644 --- a/src/components/Newsletter/CustomLink.tsx +++ b/src/components/Newsletter/CustomLink.tsx @@ -11,10 +11,7 @@ interface LinkState { link: string } -const CustomLink: React.FC<EcolyoLinkProps> = ({ - onChange, - editorState, -}: EcolyoLinkProps) => { +const CustomLink: React.FC<EcolyoLinkProps> = ({ onChange, editorState }) => { const [open, setOpen] = useState<boolean>(false) const links: LinkState[] = [ { diff --git a/src/components/Newsletter/DateSelector/DateSelector.tsx b/src/components/Newsletter/DateSelector/DateSelector.tsx index d872dd6434d19652d45844105e7ab5201c8dbd26..e811fc653e4fefafed32443dda9a22f85da4fcfe 100644 --- a/src/components/Newsletter/DateSelector/DateSelector.tsx +++ b/src/components/Newsletter/DateSelector/DateSelector.tsx @@ -14,13 +14,13 @@ const DateSelector: React.FC<DateSelectorProps> = ({ date, setDate, isEmpty, -}: DateSelectorProps) => { - const [openModal, setopenModal] = useState<boolean>(false) - const [isPrev, setisPrev] = useState<boolean>(false) - const toggleOpenModal = () => setopenModal((prev) => !prev) +}) => { + const [openModal, setOpenModal] = useState<boolean>(false) + const [isPrev, setIsPrev] = useState<boolean>(false) + const toggleOpenModal = () => setOpenModal((prev) => !prev) const handleNextMonth = () => { - setisPrev(false) + setIsPrev(false) if (isEmpty() || openModal) { const incremented: Date = new Date(date.setMonth(date.getMonth() + 1)) setDate(incremented) @@ -30,7 +30,7 @@ const DateSelector: React.FC<DateSelectorProps> = ({ } const handlePrevMonth = () => { - setisPrev(true) + setIsPrev(true) if (isEmpty() || openModal) { const decremented: Date = new Date(date.setMonth(date.getMonth() - 1)) setDate(decremented) @@ -40,7 +40,7 @@ const DateSelector: React.FC<DateSelectorProps> = ({ } const handleConfirmAlert = () => { isPrev ? handlePrevMonth() : handleNextMonth() - setopenModal(false) + setOpenModal(false) } return ( <div className="date-selector"> @@ -68,7 +68,7 @@ const DateSelector: React.FC<DateSelectorProps> = ({ continuer ? </div> <div className="buttons"> - <button className="btnCancel" onClick={() => setopenModal(false)}> + <button className="btnCancel" onClick={() => setOpenModal(false)}> Annuler </button> <button className="btnValid" onClick={handleConfirmAlert}> diff --git a/src/components/Newsletter/ImagePicker/ImagePicker.tsx b/src/components/Newsletter/ImagePicker/ImagePicker.tsx index 2e7efab07c434c6420e006767ed27560f782295e..2e9f6c274a17718ead9ec215ef7eb70f6b5e0499 100644 --- a/src/components/Newsletter/ImagePicker/ImagePicker.tsx +++ b/src/components/Newsletter/ImagePicker/ImagePicker.tsx @@ -24,7 +24,7 @@ interface ImagePickerProps { const ImagePicker: React.FC<ImagePickerProps> = ({ imageURL, handleChange, -}: ImagePickerProps) => { +}) => { const [imageNames, setImageNames] = useState<Array<string[]>>([]) const [selectedImageURL, setSelectedImageURL] = useState<string>( imageURL && imageURL !== null ? imageURL : '' @@ -32,7 +32,7 @@ const ImagePicker: React.FC<ImagePickerProps> = ({ const [openModal, setOpenModal] = useState<boolean>(false) const { user }: Partial<UserContextProps> = useContext(UserContext) const [currentPage, setCurrentPage] = useState(1) - const [pageCount, setpageCount] = useState<number>(1) + const [pageCount, setPageCount] = useState<number>(1) const [preSelectImage, setPreSelectImage] = useState<string>('') const imagePerPage = 10 @@ -57,7 +57,7 @@ const ImagePicker: React.FC<ImagePickerProps> = ({ getAxiosXSRFHeader(user.xsrftoken) ) //Split array depending on page numbers - setpageCount(Math.ceil(images.length / imagePerPage)) + setPageCount(Math.ceil(images.length / imagePerPage)) const arraySplitted = [] while (images.length) { arraySplitted.push(images.splice(0, imagePerPage)) @@ -98,7 +98,7 @@ const ImagePicker: React.FC<ImagePickerProps> = ({ )} {openModal && ( - <Modal classname={'modal-large'}> + <Modal classes={'modal-large'}> <> <div className="image-picker"> {imageNames && diff --git a/src/components/Newsletter/ImagePicker/SingleImage.tsx b/src/components/Newsletter/ImagePicker/SingleImage.tsx index 94d2f5c6ba7ffd3de888f8cbdde5c3ae3d236f5b..9de3d93d39db87f17197b7887524086e27e352ec 100644 --- a/src/components/Newsletter/ImagePicker/SingleImage.tsx +++ b/src/components/Newsletter/ImagePicker/SingleImage.tsx @@ -10,7 +10,7 @@ const SingleImage: React.FC<SingleImageProps> = ({ imageURL, selectedImage, setSelectedImageURL, -}: SingleImageProps) => { +}) => { const selectImage = (targetImage: string) => { setSelectedImageURL(targetImage) } diff --git a/src/components/Newsletter/MailSuject/mailSubject.scss b/src/components/Newsletter/MailSubject/mailSubject.scss similarity index 100% rename from src/components/Newsletter/MailSuject/mailSubject.scss rename to src/components/Newsletter/MailSubject/mailSubject.scss diff --git a/src/components/Newsletter/MailSuject/mailSubject.tsx b/src/components/Newsletter/MailSubject/mailSubject.tsx similarity index 100% rename from src/components/Newsletter/MailSuject/mailSubject.tsx rename to src/components/Newsletter/MailSubject/mailSubject.tsx diff --git a/src/components/Newsletter/Modal/Modal.tsx b/src/components/Newsletter/Modal/Modal.tsx index c8ca2b97fadf34b7e4e6d77fc63bfcfa2cda4a84..da3c6c9e021e5756a23cdd5bd4f42dded0f7ba36 100644 --- a/src/components/Newsletter/Modal/Modal.tsx +++ b/src/components/Newsletter/Modal/Modal.tsx @@ -3,14 +3,14 @@ import { createPortal } from 'react-dom' import './modal.scss' interface ModalProps { children: ReactChild - classname?: string + classes?: string } -const Modal: React.FC<ModalProps> = ({ children, classname }) => { +const Modal: React.FC<ModalProps> = ({ children, classes }) => { return createPortal( <div className="modal-bg"> <div className="modal-container"> - <div className={`modal-content ${classname}`}>{children}</div> + <div className={`modal-content ${classes}`}>{children}</div> </div> </div>, document.body diff --git a/src/components/Newsletter/MonthlyInfo/MonthlyInfo.tsx b/src/components/Newsletter/MonthlyInfo/MonthlyInfo.tsx index 18647cebc317f57ff573a4de833b17c7849b8038..ec98ab253b483550ef4d63f60ac2ce458436f5ff 100644 --- a/src/components/Newsletter/MonthlyInfo/MonthlyInfo.tsx +++ b/src/components/Newsletter/MonthlyInfo/MonthlyInfo.tsx @@ -1,10 +1,11 @@ import React from 'react' import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css' -import { convertStringToEditorState } from '../../../utils/editorStateManagment' +import { convertStringToEditorState } from '../../../utils/editorStateManagement' import CustomEditor from '../CustomEditor' import ImagePicker from '../ImagePicker/ImagePicker' import { ContentItems } from '../Newsletter' import './monthlyInfo.scss' + interface MonthlyInfoProps { onSave: () => Promise<void> onCancel: () => void diff --git a/src/components/Newsletter/MonthlyNews/MonthlyNews.tsx b/src/components/Newsletter/MonthlyNews/MonthlyNews.tsx index 0926e7a7b40c4784b9e9e805b35128407a81f1a3..f4fdbc586cde10b96f109e1566ad329ac01f80de 100644 --- a/src/components/Newsletter/MonthlyNews/MonthlyNews.tsx +++ b/src/components/Newsletter/MonthlyNews/MonthlyNews.tsx @@ -1,6 +1,6 @@ import React, { ChangeEvent } from 'react' import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css' -import { convertStringToEditorState } from '../../../utils/editorStateManagment' +import { convertStringToEditorState } from '../../../utils/editorStateManagement' import CustomEditor from '../CustomEditor' import { ContentItems } from '../Newsletter' import './monthlyNews.scss' diff --git a/src/components/Newsletter/Newsletter.tsx b/src/components/Newsletter/Newsletter.tsx index 36db58337e11101feaa12b26fe54cd4634ff9deb..7e902395f4ff01c91a8d200cdf6835e765093347 100644 --- a/src/components/Newsletter/Newsletter.tsx +++ b/src/components/Newsletter/Newsletter.tsx @@ -14,7 +14,7 @@ import { IPoll } from '../../models/poll.model' import { NewsletterService } from '../../services/newsletter.service' import Loader from '../Loader/Loader' import DateSelector from './DateSelector/DateSelector' -import MailSubject from './MailSuject/mailSubject' +import MailSubject from './MailSubject/mailSubject' import Modal from './Modal/Modal' import MonthlyInfo from './MonthlyInfo/MonthlyInfo' import MonthlyNews from './MonthlyNews/MonthlyNews' @@ -49,9 +49,9 @@ const Newsletter: React.FC = () => { const [link, setLink] = useState<string>('') const [isTouched, setIsTouched] = useState<boolean>(false) const [refreshData, setRefreshData] = useState(false) - const [isLoading, setisLoading] = useState<boolean>(false) - const [warningModal, setwarningModal] = useState<boolean>(false) - const [toDelete, settoDelete] = useState<ContentItems>('') + const [isLoading, setIsLoading] = useState<boolean>(false) + const [warningModal, setWarningModal] = useState<boolean>(false) + const [toDelete, setToDelete] = useState<ContentItems>('') const { user }: Partial<UserContextProps> = useContext(UserContext) const newsletterService = useMemo(() => { return new NewsletterService() @@ -143,8 +143,8 @@ const Newsletter: React.FC = () => { } } const handleOpenDeleteModal = (target: ContentItems) => { - settoDelete(target) - setwarningModal(true) + setToDelete(target) + setWarningModal(true) } const handleConfirmAlert = () => { if (toDelete === 'subject') { @@ -159,7 +159,7 @@ const Newsletter: React.FC = () => { if (toDelete === 'poll') { handleDeletePoll() } - setwarningModal(false) + setWarningModal(false) } const isEmpty = (): boolean => { @@ -231,7 +231,7 @@ const Newsletter: React.FC = () => { useEffect(() => { let subscribed = true resetFields() - setisLoading(true) + setIsLoading(true) async function getCurrentMonthlyNews() { if (user) { const mailSubject: IMailSubject | null = @@ -239,12 +239,12 @@ const Newsletter: React.FC = () => { date, getAxiosXSRFHeader(user.xsrftoken) ) - const montlhyInfo: IMonthlyInfo | null = + const monthlyInfo: IMonthlyInfo | null = await newsletterService.getSingleMonthlyInfo( date, getAxiosXSRFHeader(user.xsrftoken) ) - const montlhyNews: IMonthlyNews | null = + const monthlyNews: IMonthlyNews | null = await newsletterService.getSingleMonthlyNews( date, getAxiosXSRFHeader(user.xsrftoken) @@ -257,14 +257,14 @@ const Newsletter: React.FC = () => { setSubject(mailSubject.subject) setIsTouched(false) } - if (montlhyInfo) { - setInfo(montlhyInfo.info) - setImageURL(montlhyInfo.image) + if (monthlyInfo) { + setInfo(monthlyInfo.info) + setImageURL(monthlyInfo.image) setIsTouched(false) } - if (montlhyNews) { - setTitle(montlhyNews.title) - setContent(montlhyNews.content) + if (monthlyNews) { + setTitle(monthlyNews.title) + setContent(monthlyNews.content) setIsTouched(false) } if (poll) { @@ -273,7 +273,7 @@ const Newsletter: React.FC = () => { setIsTouched(false) } } - setisLoading(false) + setIsLoading(false) } if (subscribed) { getCurrentMonthlyNews() @@ -287,7 +287,7 @@ const Newsletter: React.FC = () => { return ( <> <div className="header"> - <p className="title pagetitle">Édition de la newsletter</p> + <p className="title pageTitle">Édition de la newsletter</p> <DateSelector date={date} setDate={setDate} isEmpty={isEmpty} /> </div> {isLoading && <Loader />} @@ -333,13 +333,13 @@ const Newsletter: React.FC = () => { <Modal> <> <div className="modal-text"> - Etes-vous sûr de vouloir supprimer{' '} + Êtes-vous sûr de vouloir supprimer{' '} {getContentItemString(toDelete)} ? </div> <div className="buttons"> <button className="btnCancel" - onClick={() => setwarningModal(false)} + onClick={() => setWarningModal(false)} > Annuler </button> diff --git a/src/components/Newsletter/Poll/Poll.tsx b/src/components/Newsletter/Poll/Poll.tsx index 2db7ebdcb43e2cb38203ded17888e195149e26a2..24e0d371b44229a5e5d94f10b93d22afe1f3e31d 100644 --- a/src/components/Newsletter/Poll/Poll.tsx +++ b/src/components/Newsletter/Poll/Poll.tsx @@ -1,6 +1,6 @@ import React, { ChangeEvent } from 'react' import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css' -import { convertStringToEditorState } from '../../../utils/editorStateManagment' +import { convertStringToEditorState } from '../../../utils/editorStateManagement' import CustomEditor from '../CustomEditor' import { ContentItems } from '../Newsletter' import './poll.scss' @@ -24,7 +24,7 @@ const Poll: React.FC<PollProps> = ({ onSave, onCancel, onDelete, -}: PollProps) => { +}) => { const handleChangeLink = (e: ChangeEvent<HTMLInputElement>) => { handleChange(e.target.value, 'link') } diff --git a/src/components/Popups/Popups.tsx b/src/components/Popups/Popups.tsx index 24628c28a8faef517f1a7f57d53ca5e9b6a4b79d..59204192110a86efcee7501c5eb0eb3ee61fdd33 100644 --- a/src/components/Popups/Popups.tsx +++ b/src/components/Popups/Popups.tsx @@ -4,12 +4,12 @@ import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css' import { getAxiosXSRFHeader } from '../../axios.config' import { CheckboxType } from '../../enum/checkboxType.enum' import { UserContext, UserContextProps } from '../../hooks/userContext' -import { ICustomPopup, PopupDuration } from '../../models/cutomPopup.model' +import { ICustomPopup, PopupDuration } from '../../models/customPopup.model' import { Option, durationEnum, durationType, -} from '../../models/durationOptios.model' +} from '../../models/durationOptions.model' import { IPartnersInfo } from '../../models/partnersInfo.model' import { CustomPopupService } from '../../services/customPopup.service' import { PartnersInfoService } from '../../services/partnersInfo.service' @@ -228,7 +228,7 @@ const Popups: React.FC = () => { return ( <> <div className="header"> - <p className="title pagetitle">Paramètres de l'appli</p> + <p className="title pageTitle">Paramètres de l'appli</p> </div> <div className="content popups"> diff --git a/src/components/Prices/PriceRow.tsx b/src/components/Prices/PriceRow.tsx index d3e5b0d0df9095cb8052560d1eee81748d16bce9..b2df90bfad18548b187c3e82d78b7762523e9254 100644 --- a/src/components/Prices/PriceRow.tsx +++ b/src/components/Prices/PriceRow.tsx @@ -1,6 +1,6 @@ import React from 'react' -import { IPrice } from '../../models/price.model' import editing from '../../assets/icons/editing.png' +import { IPrice } from '../../models/price.model' interface PriceSectionProps { getDate: (date: string) => string @@ -20,7 +20,7 @@ const PriceRow: React.FC<PriceSectionProps> = ({ prices, index, isNextPrice, -}: PriceSectionProps) => { +}) => { const editableLimit: number = 3 return ( diff --git a/src/components/Prices/PriceSection.tsx b/src/components/Prices/PriceSection.tsx index 9be61bd3338810e16f7ceb88a89d11e032b6aa6e..317d938ae8cfb51561656bd3da9948eb71257cdd 100644 --- a/src/components/Prices/PriceSection.tsx +++ b/src/components/Prices/PriceSection.tsx @@ -1,19 +1,19 @@ +import dayjs from 'dayjs' +import timezone from 'dayjs/plugin/timezone' +import utc from 'dayjs/plugin/utc' import React, { useCallback, useContext, useEffect, useState } from 'react' import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css' +import arrowDown from '../../assets/icons/down-arrow.png' +import { getAxiosXSRFHeader } from '../../axios.config' import { FluidType } from '../../enum/fluidTypes' import { FrequencyInMonth } from '../../enum/frequency.enum' import { UserContext, UserContextProps } from '../../hooks/userContext' import { IPrice } from '../../models/price.model' import { PricesService } from '../../services/prices.service' -import arrowDown from '../../assets/icons/down-arrow.png' - import Loader from '../Loader/Loader' -import './prices.scss' -import dayjs from 'dayjs' -import utc from 'dayjs/plugin/utc' -import timezone from 'dayjs/plugin/timezone' import PriceRow from './PriceRow' -import { getAxiosXSRFHeader } from '../../axios.config' +import './prices.scss' + dayjs.extend(utc) dayjs.extend(timezone) @@ -22,10 +22,7 @@ interface PriceSectionProps { frequency: FrequencyInMonth } -const PriceSection: React.FC<PriceSectionProps> = ({ - fluid, - frequency, -}: PriceSectionProps) => { +const PriceSection: React.FC<PriceSectionProps> = ({ fluid, frequency }) => { const [prices, setPrices] = useState<IPrice[]>([]) const [nextPrice, setNextPrice] = useState<IPrice>() const [isLoading, setIsLoading] = useState<boolean>(false) @@ -128,7 +125,7 @@ const PriceSection: React.FC<PriceSectionProps> = ({ return ( <section> <h2> - {fluid === FluidType.ELECTRICITY && 'Electricité'} + {fluid === FluidType.ELECTRICITY && 'Électricité'} {fluid === FluidType.WATER && 'Eau'} {fluid === FluidType.GAS && 'Gaz'} </h2> diff --git a/src/components/Prices/Prices.tsx b/src/components/Prices/Prices.tsx index beb1286ed8925914fbf84b68fa87479918b638a6..75cadeb53eeea30a23e7d37bdcd682022e0dd857 100644 --- a/src/components/Prices/Prices.tsx +++ b/src/components/Prices/Prices.tsx @@ -2,13 +2,14 @@ import React from 'react' import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css' import { FluidType } from '../../enum/fluidTypes' import { FrequencyInMonth } from '../../enum/frequency.enum' -import './prices.scss' import PriceSection from './PriceSection' +import './prices.scss' + const Prices: React.FC = () => { return ( <> <div className="header"> - <p className="title pagetitle">Prix des fluides</p> + <p className="title pageTitle">Prix des fluides</p> </div> <div className="prices"> <PriceSection diff --git a/src/models/cutomPopup.model.ts b/src/models/customPopup.model.ts similarity index 77% rename from src/models/cutomPopup.model.ts rename to src/models/customPopup.model.ts index d14166d32faeada7321363015da2e3229fc906ac..0241e3a1660e48af6e662391664b921d2df7aca6 100644 --- a/src/models/cutomPopup.model.ts +++ b/src/models/customPopup.model.ts @@ -1,4 +1,4 @@ -import { durationType } from './durationOptios.model' +import { durationType } from './durationOptions.model' export interface ICustomPopup { description: string diff --git a/src/models/durationOptios.model.ts b/src/models/durationOptions.model.ts similarity index 100% rename from src/models/durationOptios.model.ts rename to src/models/durationOptions.model.ts diff --git a/src/services/customPopup.service.ts b/src/services/customPopup.service.ts index 63580b78d0b9aac0e1e186185584ccc71d0a92e7..2ce4086a04f59ef1193916f264be9d2328c9ae02 100644 --- a/src/services/customPopup.service.ts +++ b/src/services/customPopup.service.ts @@ -1,6 +1,6 @@ import axios, { AxiosRequestConfig } from 'axios' import { toast } from 'react-toastify' -import { ICustomPopup } from '../models/cutomPopup.model' +import { ICustomPopup } from '../models/customPopup.model' export class CustomPopupService { /** @@ -22,7 +22,7 @@ export class CustomPopupService { ) toast.success('Pop-up personnalisée enregistrée !') } catch (e) { - toast.error("Erreur lors de l'enregistement de la pop-up personnalisée") + toast.error('Erreur lors de l’enregistrement de la pop-up personnalisée') console.error(e) } } diff --git a/src/services/newsletter.service.ts b/src/services/newsletter.service.ts index e0ef1123fbb0eaab866e3ba91ae563b4aa6593a6..660a21afc2d2f8bb07677ef0a85f589f523514da 100644 --- a/src/services/newsletter.service.ts +++ b/src/services/newsletter.service.ts @@ -1,9 +1,9 @@ import axios, { AxiosRequestConfig } from 'axios' +import { toast } from 'react-toastify' import { IMailSubject } from '../models/mailSubject.model' -import { IMonthlyNews } from '../models/monthlyNews.model' import { IMonthlyInfo } from '../models/monthlyInfo.model' +import { IMonthlyNews } from '../models/monthlyNews.model' import { IPoll } from '../models/poll.model' -import { toast } from 'react-toastify' export class NewsletterService { /** * Saves a mail subject for selected month @@ -26,7 +26,7 @@ export class NewsletterService { }, axiosHeaders ) - toast.success('Mail subject succesfully saved !') + toast.success('Mail subject successfully saved !') } catch (e: any) { if (e.response.status === 403) { toast.error( @@ -74,7 +74,7 @@ export class NewsletterService { `/api/admin/mailSubject/${date.getFullYear()}/${date.getMonth() + 1}`, axiosHeaders ) - toast.success('Mail subject succesfully deleted !') + toast.success('Mail subject successfully deleted !') } catch (e: any) { if (e.response.status === 403) { toast.error( @@ -109,7 +109,7 @@ export class NewsletterService { }, axiosHeaders ) - toast.success('Monthly info succesfully saved !') + toast.success('Monthly info successfully saved !') } catch (e: any) { if (e.response.status === 403) { toast.error( @@ -157,7 +157,7 @@ export class NewsletterService { `/api/admin/monthlyInfo/${date.getFullYear()}/${date.getMonth() + 1}`, axiosHeaders ) - toast.success('Monthly info succesfully deleted !') + toast.success('Monthly info successfully deleted !') } catch (e: any) { if (e.response.status === 403) { toast.error( @@ -193,7 +193,7 @@ export class NewsletterService { }, axiosHeaders ) - toast.success('Monthly news succesfully saved !') + toast.success('Monthly news successfully saved !') } catch (e: any) { if (e.response.status === 403) { toast.error( @@ -241,7 +241,7 @@ export class NewsletterService { `/api/admin/monthlyNews/${date.getFullYear()}/${date.getMonth() + 1}`, axiosHeaders ) - toast.success('Monthly news succesfully deleted !') + toast.success('Monthly news successfully deleted !') } catch (e: any) { if (e.response.status === 403) { toast.error( @@ -325,7 +325,7 @@ export class NewsletterService { `/api/admin/poll/${date.getFullYear()}/${date.getMonth() + 1}`, axiosHeaders ) - toast.success('Poll succesfully deleted !') + toast.success('Poll successfully deleted !') } catch (e: any) { if (e.response.status === 403) { toast.error( diff --git a/src/services/prices.service.ts b/src/services/prices.service.ts index addd6f982b7a06d26d0a1fad279dfe37cceee5b1..c53d38e35ece0c758762b5e7f0a3cbdada5d4b7e 100644 --- a/src/services/prices.service.ts +++ b/src/services/prices.service.ts @@ -13,7 +13,7 @@ export class PricesService { ): Promise<void> => { try { await axios.put(`/api/admin/prices`, price, axiosHeaders) - toast.success('Price succesfully saved !') + toast.success('Price successfully saved !') } catch (e) { toast.error('Failed to save price') console.error(e) diff --git a/src/styles/index.scss b/src/styles/index.scss index 42a35b1f11cd5cd3def79d3f3d1b1b765eb7365d..722b9ca974212378cf9ae5ed2bf7eb3bdb79f0ad 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -16,7 +16,7 @@ font-size: 1.3rem; @include text-large(); } -.pagetitle { +.pageTitle { color: #fafafa; } .MuiPagination-ul { diff --git a/src/utils/editorStateManagment.ts b/src/utils/editorStateManagement.ts similarity index 100% rename from src/utils/editorStateManagment.ts rename to src/utils/editorStateManagement.ts