feat: Refactor user profile management and improve token validation

- Introduced `useUserProfile` hook to centralize user profile fetching and management.
- Updated various components to utilize the new `useUserProfile` hook instead of context.
- Enhanced token validation logic in `Fetch` function to prevent unnecessary redirects.
- Added `parseDueDate` function to handle due date parsing with improved logic.
- Cleaned up user profile state management across multiple views and settings.
- Improved loading states and error handling in user-related components.
- remove usercontext and just use react query for userProfile
This commit is contained in:
Mo Tarbin
2025-06-08 02:09:23 -04:00
parent 10f646f125
commit e21e71b442
20 changed files with 353 additions and 239 deletions

View File

@@ -68,12 +68,16 @@ export async function UploadFile(url, options) {
export async function Fetch(url, options) {
if (!isTokenValid()) {
Cookies.set('ca_redirect', window.location.pathname)
window.location.href = '/login'
if (!window.location.pathname === '/login') {
window.location.href = '/login'
}
}
if (!options) {
options = {}
}
// clone options to avoid mutation
const cacheKey = { ...options }
options.headers = { ...options.headers, ...HEADERS() }
const baseURL = apiManager.getApiURL()