Skip to content
Snippets Groups Projects
userInstanceSettings.tsx 730 B
Newer Older
  • Learn to ignore specific revisions
  • Hugo NOUTS's avatar
    Hugo NOUTS committed
    import { useState, useEffect } from 'react'
    import get from 'lodash/get'
    import { Client } from 'cozy-client'
    
    
    const userInstanceSettings = (client: Client) => {
    
    Hugo NOUTS's avatar
    Hugo NOUTS committed
      const [settings, setSettings] = useState({})
      const [fetchStatus, setFetchStatus] = useState('idle')
    
      useEffect(() => {
        const fetchData = async () => {
          try {
            const response = await client
              .getStackClient()
              .fetchJSON('GET', '/settings/instance')
            setSettings(get(response, 'data.attributes'), {})
            setFetchStatus('loaded')
          } catch (error) {
            setFetchStatus('failed')
          }
        }
        fetchData()
      }, [])
    
      return {
        data: settings,
        fetchStatus,
      }
    }
    
    
    export default userInstanceSettings