22// SPDX-License-Identifier: Apache-2.0
33
44import {
5+ getNodeId ,
56 isUiNodeScriptAttributes ,
67 UiNode ,
78 UiNodeGroupEnum ,
8- getNodeId ,
99} from "@ory/client-fetch"
10+ import { useEffect } from "react"
1011import { useIntl } from "react-intl"
12+ import { Toaster } from "sonner"
1113import { useComponents , useOryFlow } from "../../context"
14+ import { showToast } from "../../util/showToast"
1215import { useNodesGroups } from "../../util/ui"
13- import { OryCardValidationMessages } from "../form"
1416import { Node } from "../form/nodes/node"
1517import { OryFormSection } from "../form/section"
1618import { OrySettingsOidc } from "./oidc-settings"
@@ -160,7 +162,6 @@ export function OrySettingsCard() {
160162
161163 return (
162164 < >
163- < OryCardValidationMessages />
164165 { scriptNodes . map ( ( n ) => (
165166 < Node node = { n } key = { getNodeId ( n ) } />
166167 ) ) }
@@ -173,6 +174,28 @@ export function OrySettingsCard() {
173174 < SettingsSectionContent key = { group } group = { group } nodes = { nodes } />
174175 )
175176 } ) }
177+ < SettingsMessageToaster />
176178 </ >
177179 )
178180}
181+
182+ function SettingsMessageToaster ( ) {
183+ const { flow } = useOryFlow ( )
184+ const { Message } = useComponents ( )
185+
186+ useEffect ( ( ) => {
187+ if ( ! flow . ui . messages ) {
188+ return
189+ }
190+ flow . ui . messages . forEach ( ( message ) => {
191+ showToast (
192+ {
193+ message,
194+ } ,
195+ Message . Toast ,
196+ )
197+ } )
198+ } , [ flow . ui . messages , Message . Toast ] )
199+
200+ return < Toaster />
201+ }
0 commit comments