@@ -4,13 +4,13 @@ import { useSearchParams } from 'react-router-dom';
44
55import loading from '../../../../components/loading/loading' ;
66import globalize from '../../../../lib/globalize' ;
7- import toast from '../../../../components/toast/toast' ;
87import SectionTabs from '../../../../components/dashboard/users/SectionTabs' ;
98import Button from '../../../../elements/emby-button/Button' ;
109import SectionTitleContainer from '../../../../elements/SectionTitleContainer' ;
1110import AccessContainer from '../../../../components/dashboard/users/AccessContainer' ;
1211import CheckBoxElement from '../../../../elements/CheckBoxElement' ;
1312import Page from '../../../../components/Page' ;
13+ import Toast from 'apps/dashboard/components/Toast' ;
1414
1515type ItemsArr = {
1616 Name ?: string | null ;
@@ -23,6 +23,7 @@ type ItemsArr = {
2323const UserLibraryAccess = ( ) => {
2424 const [ searchParams ] = useSearchParams ( ) ;
2525 const userId = searchParams . get ( 'userId' ) ;
26+ const [ isSettingsSavedToastOpen , setIsSettingsSavedToastOpen ] = useState ( false ) ;
2627 const [ userName , setUserName ] = useState ( '' ) ;
2728 const [ channelsItems , setChannelsItems ] = useState < ItemsArr [ ] > ( [ ] ) ;
2829 const [ mediaFoldersItems , setMediaFoldersItems ] = useState < ItemsArr [ ] > ( [ ] ) ;
@@ -31,6 +32,10 @@ const UserLibraryAccess = () => {
3132
3233 const element = useRef < HTMLDivElement > ( null ) ;
3334
35+ const handleToastClose = useCallback ( ( ) => {
36+ setIsSettingsSavedToastOpen ( false ) ;
37+ } , [ ] ) ;
38+
3439 const triggerChange = ( select : HTMLInputElement ) => {
3540 const evt = new Event ( 'change' , { bubbles : false , cancelable : true } ) ;
3641 select . dispatchEvent ( evt ) ;
@@ -220,7 +225,7 @@ const UserLibraryAccess = () => {
220225
221226 const onSaveComplete = ( ) => {
222227 loading . hide ( ) ;
223- toast ( globalize . translate ( 'SettingsSaved' ) ) ;
228+ setIsSettingsSavedToastOpen ( true ) ;
224229 } ;
225230
226231 ( page . querySelector ( '.chkEnableAllDevices' ) as HTMLInputElement ) . addEventListener ( 'change' , function ( this : HTMLInputElement ) {
@@ -243,6 +248,11 @@ const UserLibraryAccess = () => {
243248 id = 'userLibraryAccessPage'
244249 className = 'mainAnimatedPage type-interior'
245250 >
251+ < Toast
252+ open = { isSettingsSavedToastOpen }
253+ onClose = { handleToastClose }
254+ message = { globalize . translate ( 'SettingsSaved' ) }
255+ />
246256 < div ref = { element } className = 'content-primary' >
247257 < div className = 'verticalSection' >
248258 < SectionTitleContainer
0 commit comments