fitst commit

This commit is contained in:
Samandar Turgunboyev
2026-01-28 18:26:50 +05:00
parent 166a55b1e9
commit 124798419b
196 changed files with 26627 additions and 421 deletions

View File

@@ -0,0 +1,80 @@
import createContextHook from '@nkzw/create-context-hook';
import { useState } from 'react';
import { Announcement, Bonus, Employee, ProductService } from './type';
export const [ProfileDataProvider, useProfileData] = createContextHook(() => {
const [employees, setEmployees] = useState<Employee[]>([
{
id: '1',
firstName: 'Aziz',
lastName: 'Rahimov',
phoneNumber: '+998901234567',
addedAt: new Date().toISOString(),
},
]);
const [announcements] = useState<Announcement[]>([
{
id: '1',
name: "Yangi loyiha bo'yicha hamkorlik",
companyTypes: ['IT', 'Qurilish'],
totalAmount: 5000000,
paymentStatus: 'paid',
createdAt: new Date().toISOString(),
},
]);
const [bonuses] = useState<Bonus[]>([
{
id: '1',
title: 'Yillik bonus',
description: "Yil davomida ko'rsatilgan yuqori natijalarga oid bonus",
percentage: 15,
bonusAmount: 3000000,
createdAt: new Date().toISOString(),
},
]);
const [productServices, setProductServices] = useState<ProductService[]>([]);
const addEmployee = (employee: Omit<Employee, 'id' | 'addedAt'>) => {
setEmployees((prev) => [
...prev,
{
...employee,
id: Date.now().toString(),
addedAt: new Date().toISOString(),
},
]);
};
const removeEmployee = (id: string) => {
setEmployees((prev) => prev.filter((e) => e.id !== id));
};
const updateEmployee = (id: string, data: Partial<Employee>) => {
setEmployees((prev) => prev.map((e) => (e.id === id ? { ...e, ...data } : e)));
};
const addProductService = (service: Omit<ProductService, 'id' | 'createdAt'>) => {
setProductServices((prev) => [
...prev,
{
...service,
id: Date.now().toString(),
createdAt: new Date().toISOString(),
},
]);
};
return {
employees,
addEmployee,
removeEmployee,
updateEmployee,
announcements,
bonuses,
productServices,
addProductService,
};
});