All clients get api

This commit is contained in:
2025-06-11 14:45:53 +02:00
parent fd1c387cdb
commit 1d2a2420c2
3 changed files with 43 additions and 23 deletions

View File

@@ -12,10 +12,28 @@ export async function getUserById(userId) {
});
return response.data;
} catch (err) {
// console.error(
// `Nie udało się pobrać danych użytkownika o ID ${userId}.`,
// err.response.status
// );
console.error(
`Nie udało się pobrać danych użytkownika o ID ${userId}.`,
err.response.status
);
throw err;
}
}
export async function getAllUsers() {
const { token } = useAuthStore.getState();
const headers = token ? { Authorization: `Bearer ${token}` } : {};
try {
const response = await axios.get(`${API_URL}/clients/get/all`, {
headers: headers,
});
return response.data;
} catch (err) {
console.error(
`Nie udało się pobrać danych o użytkownikach`,
err.response.status
);
throw err;
}
}

View File

@@ -2,8 +2,6 @@ import axios from "axios";
import FormData from "form-data";
import { useAuthStore } from "@/store/authStore";
// const API_URL = "https://hopp.zikor.pl/api/v1";
const API_URL = "https://hopp.zikor.pl/api/v1";
export async function listNotices() {

View File

@@ -2,30 +2,34 @@ import { View } from "react-native";
import { useEffect, useState } from "react";
import { Heading } from "@/components/ui/heading";
import { FlatList } from "react-native";
import axios from "axios";
import UserBlock from "@/components/UserBlock";
import { getAllUsers } from "@/api/client";
import { useAuthStore } from "@/store/authStore";
export function UserSection({ notices, title }) {
const token = useAuthStore((state) => state.token);
const headers = token ? { Authorization: `Bearer ${token}` } : {};
const [users, setUsers] = useState([]);
const { token } = useAuthStore.getState();
useEffect(() => {
if (token) {
axios
.get("https://hopp.zikor.pl/api/v1/clients/get/all", {
headers: headers,
useEffect(() => {
const fetchUsers = async () => {
try {
const data = await getAllUsers();
setUsers(data);
} catch (error) {
console.error("Ошибка при загрузке пользователей:", error);
setUsers([]);
}
};
fetchUsers();
}, [token]);
const usersWithNoticeCount = users && users.length > 0
? users.map((user) => {
const count = notices.filter((n) => n.clientId === user.id).length;
return { ...user, noticeCount: count };
})
.then((res) => setUsers(res.data))
.catch(() => setUsers([]));
}
}, [token]);
const usersWithNoticeCount = users.map((user) => {
const count = notices.filter((n) => n.clientId === user.id).length;
return { ...user, noticeCount: count };
});
: [];
const topUsers = usersWithNoticeCount
.sort((a, b) => b.noticeCount - a.noticeCount)