import { createTextField, jsonServerProvider, ListTable, Resource, Tushan, fetchJSON } from 'tushan'; import { authProvider } from './auth'; import { userFields, payFields, kbFields, ModelFields } from './fields'; const authStorageKey = 'tushan:auth'; const httpClient: typeof fetchJSON = (url, options = {}) => { try { if (!options.headers) { options.headers = new Headers({ Accept: 'application/json' }); } const { token } = JSON.parse(window.localStorage.getItem(authStorageKey) ?? '{}'); (options.headers as Headers).set('Authorization', `Bearer ${token}`); return fetchJSON(url, options); } catch (err) { return Promise.reject(); } }; const dataProvider = jsonServerProvider(import.meta.env.VITE_PUBLIC_SERVER_URL, httpClient); function App() { return ( } /> } /> } /> } /> ); } export default App;