Skip to content

Commit e8a1930

Browse files
committed
file and user state fe
fe
1 parent c4aaeee commit e8a1930

File tree

2 files changed

+47
-56
lines changed

2 files changed

+47
-56
lines changed

rsa-frontend/src/routes/components/FileExplorer.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,21 +50,25 @@ const FileExplorer = () => {
5050
};
5151

5252
useEffect(() => {
53+
fetchFiles();
54+
/*
5355
const intervalId = setInterval(() => {
5456
fetchFiles();
5557
}, 10000);
5658
5759
return () => clearInterval(intervalId);
60+
*/
5861
}, []);
5962

6063

61-
6264
return (
6365
<>
6466
{loading && <div className={"loading-overlay"}><div className={"main-spinner"}></div></div>}
6567
<div className="file-explorer">
66-
<p className={"title-text"}><span>Dosya</span> Gezgini</p>
67-
68+
<div className={"custom-row"} style={{justifyContent:"space-between"}}>
69+
<p className={"title-text"}><span>Dosya</span> Gezgini</p>
70+
<p onClick={fetchFiles} style={{cursor:"pointer"}}>Yenile</p>
71+
</div>
6872
<div className={"custom-row"}>
6973
<img src="/icon/public.png" alt="" className={"mid-icon"}/>
7074
<div>
@@ -80,16 +84,13 @@ const FileExplorer = () => {
8084
<p className={"small-text"}>Anahtar Bekleniyor</p>
8185
</div>
8286
</div>
83-
8487
{
8588
(files != null && files.length !== 0) ?
8689
files.map((file) => (
8790
<FileContainer key={file.id} owner={file.ownerId} fileName={file.name} size={`${file.size} bayt`} id={file.id} />
88-
)) : <div>Boş</div>
91+
)) : <div style={{color:"white",textAlign:"center",padding:"12px 0",backgroundColor:"black",borderRadius:8,fontSize:14}}>Dosya eklenmemiş</div>
8992

9093
}
91-
92-
9394
<div className={"remove-button"} onClick={clean}>
9495
<img src="/icon/bin.png" alt="Clear System" className={"mini-icon"}/>
9596
<p className={"small-text"}>Sistemi Temizle</p>

rsa-frontend/src/routes/components/ScenarioArea.js

Lines changed: 39 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
1-
import React, { useState } from 'react';
1+
import React, {useEffect, useState} from 'react';
22
import Switch from "./Switch";
33
import axios from 'axios';
4-
import Endpoints from "../../contants/endpoints";
5-
6-
const initialUsers = [
7-
{ id: 1, name: 'Alice', publicKey: false, privateKey: false, fileUpload: false, readFiles: false, fileSend: false,fileReceive: false, eKey: "...", dKey:"..." },
8-
{ id: 2, name: 'Bob', publicKey: false, privateKey: false, fileUpload: false, readFiles: false,fileSend: false,fileReceive: false, eKey: "...", dKey:"..." },
9-
{ id: 3, name: 'Charlie', publicKey: false, privateKey: false, fileUpload: false, readFiles: false,fileSend: false,fileReceive: false, eKey: "...", dKey:"..." },
10-
];
114

125
const UserContainer = ({ user, handleUserToggle }) => {
136
const [loading, setLoading] = useState(false);
@@ -133,46 +126,39 @@ const UserContainer = ({ user, handleUserToggle }) => {
133126
};
134127

135128
const ScenarioArea = () => {
136-
const [users, setUsers] = useState(initialUsers);
129+
const [users, setUsers] = useState(null);
137130
const [activeUsers, setActiveUsers] = useState([]);
138131
const [loading, setLoading] = useState(false);
139132

133+
useEffect(() => {
134+
const fetchUser = async () => {
135+
try {
136+
const response = await axios.get(`http://localhost:8080/user/all`);
137+
const users = response.data;
138+
setUsers(users);
139+
} catch (error) {
140+
console.log('Sepetiniz yüklenirken bir hata oluştu');
141+
} finally {
142+
setLoading(false);
143+
}
144+
};
145+
if (users === null || users.length === 0) {
146+
fetchUser();
147+
console.log(users);
148+
} else {
149+
console.log('No user data found in localStorage');
150+
}
151+
}, []);
152+
140153

141154
const handleUserClick = (userId) => {
142155
if (activeUsers.includes(userId)) {
143156
setLoading(true);
144157
setActiveUsers(activeUsers.filter(id => id !== userId));
145-
axios.delete(`${Endpoints.USER}/${userId}`)
146-
.then(response => {
147-
console.log("Kullanıcı başarıyla silindi:", response.data);
148-
})
149-
.catch(error => {
150-
console.error("Kullanıcı silinirken hata oluştu:", error);
151-
});
152158
setLoading(false);
153159
} else {
154160
setLoading(true);
155-
const user = users.find(u => u.id === userId);
156161
setActiveUsers([...activeUsers, userId]);
157-
158-
axios.post(Endpoints.USER, {
159-
id: user.id,
160-
name: user.name,
161-
publicKey: user.publicKey,
162-
privateKey: user.privateKey,
163-
fileUpload: user.fileUpload,
164-
fileRead: user.readFiles,
165-
fileSend: user.fileSend,
166-
fileReceive: user.readFiles,
167-
eKey: user.eKey,
168-
dKey: user.dKey
169-
})
170-
.then(response => {
171-
console.log("Kullanıcı başarıyla eklendi:", response.data);
172-
})
173-
.catch(error => {
174-
console.error("Kullanıcı eklenirken hata oluştu:", error);
175-
});
176162
setLoading(false);
177163
}
178164
};
@@ -238,19 +224,23 @@ const ScenarioArea = () => {
238224
<p className={"title-text"}><span>Senaryo</span> Alanı</p>
239225
<div className="custom-row">
240226
<p className={"italic"} style={{ marginRight: 12 }}>Kullanıcı<br />Seçim</p>
241-
{users.map((user) => (
242-
<div
243-
key={user.id}
244-
className={`user-button ${activeUsers.includes(user.id) ? 'active' : ''}`}
245-
onClick={() => handleUserClick(user.id)}
246-
>
247-
<img src="/icon/user.png" alt="User Icon" className="mini-icon"
248-
style={{
249-
filter: activeUsers.includes(user.id) ? 'brightness(0) invert(1)' : 'none'
250-
}}
251-
/> {user.name}
252-
</div>
253-
))}
227+
{
228+
(users !== null && users.length !== 0) ?
229+
users.map((user) => (
230+
<div
231+
key={user.id}
232+
className={`user-button ${activeUsers.includes(user.id) ? 'active' : ''}`}
233+
onClick={() => handleUserClick(user.id)}
234+
>
235+
<img src="/icon/user.png" alt="User Icon" className="mini-icon"
236+
style={{
237+
filter: activeUsers.includes(user.id) ? 'brightness(0) invert(1)' : 'none'
238+
}}
239+
/> {user.name}
240+
</div>
241+
)) : (<div>Boş</div>)
242+
}
243+
254244
</div>
255245
{
256246
activeUsers

0 commit comments

Comments
 (0)