upd : kalender divisi

Deskripsi:
0 tambah data
- edit data kalender divisi
- nb : bllm selesai

No Issues
This commit is contained in:
2025-07-17 17:48:02 +08:00
parent cf3b2090ea
commit 85f80746a3
11 changed files with 501 additions and 58 deletions

View File

@@ -2,8 +2,8 @@ import axios from 'axios';
const api = axios.create({
// baseURL: 'http://10.0.2.2:3000/api',
baseURL: 'https://stg-darmasaba.wibudev.com/api',
// baseURL: 'http://192.168.1.126:3000/api',
// baseURL: 'https://stg-darmasaba.wibudev.com/api',
baseURL: 'http://192.168.1.126:3000/api',
});
export const apiCheckPhoneLogin = async (body: { phone: string }) => {
@@ -487,6 +487,16 @@ export const apiGetCalendarHistory = async ({ user, search, division, page }: {
return response.data;
};
export const apiCreateCalendar = async ({ data }: { data: { idDivision: string, title: string, desc: string, timeStart: string, timeEnd: string, dateStart: string, repeatEventTyper: string, repeatValue: string, linkMeet: string, member: any[], user: string } }) => {
const response = await api.post(`/mobile/calendar`, data)
return response.data;
};
export const apiUpdateCalendar = async ({ data, id }: { data: { title: string, desc: string, timeStart: string, timeEnd: string, dateStart: string, repeatEventTyper: string, repeatValue: number, linkMeet: string, user: string }, id: string }) => {
const response = await api.put(`/mobile/calendar/${id}`, data)
return response.data;
};
export const apiGetTask = async ({ user, status, search, division, page }: { user: string, status: string, search: string, division: string, page?: number }) => {
const response = await api.get(`mobile/task?user=${user}&status=${status}&division=${division}&search=${search}&page=${page}`);
return response.data;

24
lib/calendarCreate.ts Normal file
View File

@@ -0,0 +1,24 @@
import { createSlice } from '@reduxjs/toolkit';
const calendarCreate = createSlice({
name: 'calendarCreate',
initialState: {
title: "",
desc: "",
dateStart: "",
timeStart: "",
timeEnd: "",
repeatEventType: "",
repeatValue: 1,
linkMeet: "",
member: [],
},
reducers: {
setFormCreateCalendar: (state, action) => {
return action.payload;
},
},
});
export const { setFormCreateCalendar } = calendarCreate.actions;
export default calendarCreate.reducer;

View File

@@ -1,4 +1,17 @@
import moment from "moment";
export function stringToDate(date: string) {
const [dd, mm, yyyy] = date.split('-');
return new Date(Number(yyyy), Number(mm) - 1, Number(dd))
}
export function stringToDateTime(date: string, time: string) {
if (date == "" || date == "null" || date == undefined) {
date = moment().format('DD-MM-YYYY')
}
const [dd, mm, yyyy] = date.split('-');
const [hh, mi] = time.split(':');
return new Date(Number(yyyy), Number(mm) - 1, Number(dd), Number(hh), Number(mi))
}

View File

@@ -1,6 +1,7 @@
import { configureStore } from '@reduxjs/toolkit';
import announcementUpdate from './announcementUpdate';
import bannerReducer from './bannerSlice';
import calendarCreate from './calendarCreate';
import calendarUpdate from './calendarUpdate';
import discussionGeneralDetailUpdate from './discussionGeneralDetail';
import discussionUpdate from './discussionUpdate';
@@ -40,6 +41,7 @@ const store = configureStore({
divisionCreate: divisionCreate,
dokumenUpdate: dokumenUpdate,
notificationUpdate: notificationUpdate,
calendarCreate: calendarCreate,
}
});