[1] added state to add event to calendars

This commit is contained in:
Camille Moussu
2025-06-30 17:15:24 +02:00
parent 624c1b43ca
commit 4f5d596b59
16 changed files with 305 additions and 3197 deletions
+2 -8
View File
@@ -1,7 +1,6 @@
import React, { useEffect, useRef, useState } from "react";
import { useNavigate } from "react-router-dom";
import { useEffect, useRef } from "react";
import { Callback } from "./oidcAuth";
import { useAppDispatch, useAppSelector } from "../../app/hooks";
import { useAppDispatch } from "../../app/hooks";
import { push } from "redux-first-history";
import { setUserData } from "./userSlice";
import { Loading } from "../../components/Loading/Loading";
@@ -12,9 +11,6 @@ export function CallbackResume() {
const saved = sessionStorage.getItem("redirectState")
? JSON.parse(sessionStorage.getItem("redirectState")!)
: null;
const [tokens, setTokens] = useState<any>();
const [userInfo, setUserInfo] = useState<any>();
const location = useAppSelector((state) => state.router.location);
useEffect(() => {
if (hasRun.current) {
return;
@@ -24,8 +20,6 @@ export function CallbackResume() {
try {
const data = await Callback(saved?.code_verifier, saved?.state);
console.log("data:", data);
setTokens(data?.tokenSet);
setUserInfo(data?.userinfo);
dispatch(setUserData(data?.userinfo));
sessionStorage.removeItem("redirectState");
// Redirect to main page after successful callback
-1
View File
@@ -22,7 +22,6 @@ export async function getClientConfig() {
}
export async function Auth() {
console.log("bap");
let code_verifier = client.randomPKCECodeVerifier();
let code_challenge = await client.calculatePKCECodeChallenge(code_verifier);
const openIdClientConfig = await getClientConfig();
+14
View File
@@ -3,3 +3,17 @@ export interface userData {
sid: string;
sub: string;
}
export interface userOrganiser {
cn: string;
cal_address: string;
}
export interface userAttendee {
cn: string;
cal_address: string;
partstat: string;
rsvp: string;
role: string;
cutype: string;
}
+7 -1
View File
@@ -1,14 +1,20 @@
import { createSlice } from "@reduxjs/toolkit";
import { userData } from "./userDataTypes";
import { userData, userOrganiser } from "./userDataTypes";
export const userSlice = createSlice({
name: "user",
initialState: {
userData: null as unknown as userData,
organiserData: null as unknown as userOrganiser,
},
reducers: {
setUserData: (state, action) => {
state.userData = action.payload;
if (!state.organiserData) {
state.organiserData = {} as userOrganiser;
}
state.organiserData.cn = action.payload.sub;
state.organiserData.cal_address = `mailto:${action.payload.email}`;
},
},
});