diff --git a/packages/backend/src/features/mail.ts b/packages/backend/src/features/mail.ts index d8705e9e..8c106f6c 100644 --- a/packages/backend/src/features/mail.ts +++ b/packages/backend/src/features/mail.ts @@ -24,7 +24,7 @@ export const sendReportMail = ({ return transporter.sendMail({ from: ENV.EMAIL_EMITTER, to: recipients, - subject: "Compte-rendu UDAP : " + (report?.title ? ` : ${report.title}` : ""), + subject: "Compte-rendu UDAP" + (report?.title ? ` : ${report.title}` : ""), text: `Bonjour, vous trouverez ci-joint le compte-rendu de notre rendez-vous. diff --git a/packages/frontend/src/components/ReportSearch.tsx b/packages/frontend/src/components/ReportSearch.tsx index 3c750bf3..594dc32a 100644 --- a/packages/frontend/src/components/ReportSearch.tsx +++ b/packages/frontend/src/components/ReportSearch.tsx @@ -88,8 +88,8 @@ export const SearchResults = ({ search, hideEmpty }: { search: string; hideEmpty const otherReports = results.filter((report) => report.createdBy !== user.id); return ( -
- +
+ {myReports.length ? ( @@ -113,11 +113,11 @@ export const SearchResults = ({ search, hideEmpty }: { search: string; hideEmpty const NoResults = () => { return ( -
+
Aucun résultat - Aucun résultat +
); }; diff --git a/packages/frontend/src/components/SyncForm.tsx b/packages/frontend/src/components/SyncForm.tsx index 43a9b629..3f070249 100644 --- a/packages/frontend/src/components/SyncForm.tsx +++ b/packages/frontend/src/components/SyncForm.tsx @@ -56,7 +56,7 @@ export function SyncFormBanner({ form, baseObject }: { form: UseFormReturn Retour @@ -137,6 +137,7 @@ export const Status = ({ status, className }: { status?: SyncFormStatus; classNa return ( - + {messages[formStatus]} ); diff --git a/packages/frontend/src/components/chips/ContactChips.tsx b/packages/frontend/src/components/chips/ContactChips.tsx index e59a0e5c..70ad6118 100644 --- a/packages/frontend/src/components/chips/ContactChips.tsx +++ b/packages/frontend/src/components/chips/ContactChips.tsx @@ -22,7 +22,7 @@ export const ContactChips = (props: FlexProps & { disabled?: boolean }) => { value={selected} {...props} onChange={(values) => form.setValue("contacts", values.join(","))} - label="Contacts" + label="Contacts utiles" /> ); }; diff --git a/packages/frontend/src/components/chips/FurtherInfoChips.tsx b/packages/frontend/src/components/chips/FurtherInfoChips.tsx index 9b13dee3..2122f148 100644 --- a/packages/frontend/src/components/chips/FurtherInfoChips.tsx +++ b/packages/frontend/src/components/chips/FurtherInfoChips.tsx @@ -22,7 +22,7 @@ export const FurtherInfoChips = (props: FlexProps & { disabled?: boolean }) => { value={selected} {...props} onChange={(values) => form.setValue("furtherInformation", values.join(","))} - label="Pour aller plus loin" + label="Bonnes pratiques" /> ); }; diff --git a/packages/frontend/src/features/menu/MenuButton.tsx b/packages/frontend/src/features/menu/MenuButton.tsx index 08c837c7..41a6bbc7 100644 --- a/packages/frontend/src/features/menu/MenuButton.tsx +++ b/packages/frontend/src/features/menu/MenuButton.tsx @@ -4,7 +4,7 @@ import { css, cx } from "#styled-system/css"; import { Flex, styled } from "#styled-system/jsx"; import Button from "@codegouvfr/react-dsfr/Button"; import { createModal } from "@codegouvfr/react-dsfr/Modal"; -import { ReactNode } from "react"; +import { ReactNode, useEffect, useRef } from "react"; import { useIsModalOpen } from "@codegouvfr/react-dsfr/Modal/useIsModalOpen"; import { useSelector } from "@xstate/store/react"; @@ -16,6 +16,8 @@ import { MenuActions } from "./MenuActions"; import { menuStore } from "./menuStore"; import { ShareReport } from "./Share"; +import { useClickAway } from "react-use"; + const nestedMenus = ["main", "help", "clauses-nationales", "clauses-departementales", "share"] as const; export type NestedMenu = (typeof nestedMenus)[number]; @@ -26,7 +28,9 @@ export const MenuButton = ({ headerRef }: { headerRef: any }) => { const isOpen = isDesktop ? !!menu && menu !== "main" : !!menu; useIsModalOpen(menuModal, { - onConceal: () => menuStore.send({ type: "setMenu", menu: null }), + onConceal: () => { + menuStore.send({ type: "setMenu", menu: null }); + }, }); return ( diff --git a/packages/frontend/src/features/text-editor/TextEditor.tsx b/packages/frontend/src/features/text-editor/TextEditor.tsx index 4e43b66d..721bfa68 100644 --- a/packages/frontend/src/features/text-editor/TextEditor.tsx +++ b/packages/frontend/src/features/text-editor/TextEditor.tsx @@ -35,8 +35,7 @@ export const textEditorClassName = css({ h: "100%", minH: "160px", maxHeight: "100%", - py: "2", - px: "2", + p: "40px", fontSize: "13px", bgColor: "white", overflowY: "auto", diff --git a/packages/frontend/src/features/text-editor/TextEditorToolbar.tsx b/packages/frontend/src/features/text-editor/TextEditorToolbar.tsx index b4466e24..3c4c6318 100644 --- a/packages/frontend/src/features/text-editor/TextEditorToolbar.tsx +++ b/packages/frontend/src/features/text-editor/TextEditorToolbar.tsx @@ -1,9 +1,10 @@ import { cva } from "#styled-system/css"; -import { HStack, Stack } from "#styled-system/jsx"; +import { Flex, HStack, Stack, styled } from "#styled-system/jsx"; import Button from "@codegouvfr/react-dsfr/Button"; import { useContext, useState } from "react"; import { ColorPicker } from "../../components/ColorPicker"; import { TextEditorContext } from "./TextEditorContext"; +import { Popover } from "#components/Popover"; const toolbarButtonRecipe = cva({ base: { @@ -86,74 +87,57 @@ const ColorInput = () => { }; return ( - setIsOpen(open)} - value={currentValue} - onValueChangeEnd={(e) => editor.chain().focus().setColor(e.value.toString("hex")).run()} - closeOnSelect={false} - > - {() => ( - <> - - - - - - - - - - - - - - - - - - - - - {/* - - Saved Colors - - - {presets.map((color, id) => ( - - - - ))} - - */} - - - - - )} - - // - // editor - // .chain() - // .focus() - // .setColor((event.target as any).value) - // .run() - // } - // value={editor.getAttributes("textStyle").color ?? "#000000"} - // /> + setIsOpen(open)}> + + + + + + + + + + + + + + + + + + + + + ); +}; + +const ColorButton = ({ color, value }: { color: string; value: string }) => { + const editor = useContext(TextEditorContext).editor!; + + const isSelected = value === color; + + return ( + { + editor.chain().focus().setColor(color).run(); + }} + style={{ + backgroundColor: color, + }} + border={isSelected ? "1px solid black" : undefined} + borderRadius="50%" + w="30px" + h="30px" + > ); }; diff --git a/packages/frontend/src/routes/pdf.$reportId.tsx b/packages/frontend/src/routes/pdf.$reportId.tsx index 9b15c212..cdeda5b6 100644 --- a/packages/frontend/src/routes/pdf.$reportId.tsx +++ b/packages/frontend/src/routes/pdf.$reportId.tsx @@ -314,7 +314,7 @@ const EditBanner = ({ title, buttons, reportId }: { title: ReactNode; buttons: R goBack(); }} hideBelow="lg" - fontSize="15px" + fontSize="16px" whiteSpace="nowrap" > Retour @@ -329,7 +329,7 @@ const EditBanner = ({ title, buttons, reportId }: { title: ReactNode; buttons: R hideFrom="lg" pr="8px" color="black" - fontSize="15px" + fontSize="16px" > {title} diff --git a/packages/pdf/src/report.tsx b/packages/pdf/src/report.tsx index 1feee68f..b7da3f3c 100644 --- a/packages/pdf/src/report.tsx +++ b/packages/pdf/src/report.tsx @@ -237,7 +237,7 @@ export const getReportHtmlString = (

- Pour aller plus loin
+ Bonnes pratiques
${furtherInfos.map((furtherInfo) => `${furtherInfo}`).join("

")}