ubk.erp.webpack 1.3.3 â 1.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -0
- package/dist/Layout/Communicate/Chat.d.ts +5 -0
- package/dist/Layout/Communicate/ChatBar.d.ts +5 -0
- package/dist/Layout/Communicate/Services/chatService.d.ts +11 -0
- package/dist/Layout/Communicate/index.d.ts +2 -0
- package/dist/Layout/GeneralSetting/Services/generalSettingService.d.ts +49 -0
- package/dist/Layout/GeneralSetting/Sms/Sms.d.ts +5 -0
- package/dist/Layout/GeneralSetting/Sms/index.d.ts +1 -0
- package/dist/Layout/GeneralSetting/SmsAlertSetting/Services/smsAlertSettingService.d.ts +12 -0
- package/dist/Layout/GeneralSetting/SmsAlertSetting/SmsAlertSetting.d.ts +5 -0
- package/dist/Layout/GeneralSetting/SmsAlertSetting/hooks.d.ts +15 -0
- package/dist/Layout/GeneralSetting/SmsAlertSetting/index.d.ts +1 -0
- package/dist/Layout/GeneralSetting/SmsSetting/Services/smsSettingService.d.ts +4 -0
- package/dist/Layout/GeneralSetting/SmsSetting/SmsSetting.d.ts +5 -0
- package/dist/Layout/GeneralSetting/SmsSetting/hooks.d.ts +3 -0
- package/dist/Layout/GeneralSetting/SmsSetting/index.d.ts +1 -0
- package/dist/Layout/GeneralSetting/index.d.ts +3 -0
- package/dist/Layout/HumanResource/StaffDirectory/Pages/StaffDirectoryPage.d.ts +2 -1
- package/dist/Layout/HumanResource/StaffDirectory/StaffDirectory.d.ts +2 -1
- package/dist/index.cjs +15 -15
- package/dist/index.d.ts +1 -0
- package/dist/index.js +12044 -10037
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("antd"),H=require("swr"),S=require("react-hot-toast"),i=require("react"),st=require("swr/mutation"),ee=require("@ant-design/icons"),te=require("dayjs"),Tl=require("react-dom/server"),Zt=require("react-to-print"),fo=require("react-select"),yo=require("react-barcode"),Rl=()=>e.jsxs(n.Card,{style:{borderRadius:16},children:[e.jsx(n.Typography.Title,{level:3,style:{marginTop:0},children:"UBK ERP"}),e.jsx(n.Typography.Paragraph,{style:{marginBottom:0},children:"Welcome to your webpack-powered ERP system."})]}),j=({width:t,height:a,display:s,justifyContent:r,alignItems:o,flexDirection:l,gap:d,style:c,children:g,...f})=>{const u={width:t,height:a,display:s,justifyContent:r,alignItems:o,flexDirection:l,gap:d,...c};return e.jsx("div",{style:u,...f,children:g})},he=({variant:t,fontWeight:a,style:s,children:r,...o})=>{const l=a==="bold"?700:a==="light"?300:a;return t==="h1"?e.jsx(n.Typography.Title,{level:1,style:{fontWeight:l,...s},...o,children:r}):t==="h2"?e.jsx(n.Typography.Title,{level:2,style:{fontWeight:l,...s},...o,children:r}):t==="h3"?e.jsx(n.Typography.Title,{level:3,style:{fontWeight:l,...s},...o,children:r}):t==="h4"?e.jsx(n.Typography.Title,{level:4,style:{fontWeight:l,...s},...o,children:r}):t==="h5"?e.jsx(n.Typography.Title,{level:5,style:{fontWeight:l,...s},...o,children:r}):e.jsx(n.Typography.Text,{style:{fontWeight:l,...s},...o,children:r})};function go({title:t="",icon:a="",path:s="",onClick:r}){const o=()=>{if(r){r(s);return}typeof window<"u"&&typeof s=="string"&&s.length>0&&window.location.assign(s)};return e.jsxs(n.Card,{hoverable:!0,onClick:o,style:{borderRadius:12,overflow:"hidden",boxShadow:"0 1px 2px rgba(16, 24, 40, 0.05), 0 1px 3px rgba(16, 24, 40, 0.10)"},bodyStyle:{padding:0,cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"stretch"},children:[e.jsx(j,{width:"100%",display:"flex",justifyContent:"center",alignItems:"center",style:{padding:"10px 12px",minHeight:80},children:e.jsx("img",{src:a,alt:"",style:{width:45,height:50,objectFit:"contain"}})}),e.jsx(j,{style:{padding:"0 12px"},children:e.jsx(n.Divider,{style:{margin:0,minWidth:0}})}),e.jsx(j,{style:{padding:"10px 10px",display:"flex",justifyContent:"center",alignItems:"center",minHeight:35},children:e.jsx(he,{variant:"button",fontWeight:"bold",style:{fontSize:12},children:t})})]})}function xo(t,a){return function(){return t.apply(a,arguments)}}const{toString:Il}=Object.prototype,{getPrototypeOf:Xn}=Object,{iterator:Zn,toStringTag:bo}=Symbol,es=(t=>a=>{const s=Il.call(a);return t[s]||(t[s]=s.slice(8,-1).toLowerCase())})(Object.create(null)),Dt=t=>(t=t.toLowerCase(),a=>es(a)===t),ts=t=>a=>typeof a===t,{isArray:ba}=Array,ya=ts("undefined");function Ga(t){return t!==null&&!ya(t)&&t.constructor!==null&&!ya(t.constructor)&&ft(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const jo=Dt("ArrayBuffer");function kl(t){let a;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?a=ArrayBuffer.isView(t):a=t&&t.buffer&&jo(t.buffer),a}const Pl=ts("string"),ft=ts("function"),So=ts("number"),Ja=t=>t!==null&&typeof t=="object",Ol=t=>t===!0||t===!1,Mn=t=>{if(es(t)!=="object")return!1;const a=Xn(t);return(a===null||a===Object.prototype||Object.getPrototypeOf(a)===null)&&!(bo in t)&&!(Zn in t)},Ml=t=>{if(!Ja(t)||Ga(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},El=Dt("Date"),Fl=Dt("File"),$l=t=>!!(t&&typeof t.uri<"u"),Ul=t=>t&&typeof t.getParts<"u",Nl=Dt("Blob"),Ll=Dt("FileList"),Bl=t=>Ja(t)&&ft(t.pipe);function ql(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const yr=ql(),gr=typeof yr.FormData<"u"?yr.FormData:void 0,zl=t=>{if(!t)return!1;if(gr&&t instanceof gr)return!0;const a=Xn(t);if(!a||a===Object.prototype||!ft(t.append))return!1;const s=es(t);return s==="formdata"||s==="object"&&ft(t.toString)&&t.toString()==="[object FormData]"},Yl=Dt("URLSearchParams"),[Vl,Wl,Hl,Kl]=["ReadableStream","Request","Response","Headers"].map(Dt),Gl=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Qa(t,a,{allOwnKeys:s=!1}={}){if(t===null||typeof t>"u")return;let r,o;if(typeof t!="object"&&(t=[t]),ba(t))for(r=0,o=t.length;r<o;r++)a.call(null,t[r],r,t);else{if(Ga(t))return;const l=s?Object.getOwnPropertyNames(t):Object.keys(t),d=l.length;let c;for(r=0;r<d;r++)c=l[r],a.call(null,t[c],c,t)}}function vo(t,a){if(Ga(t))return null;a=a.toLowerCase();const s=Object.keys(t);let r=s.length,o;for(;r-- >0;)if(o=s[r],a===o.toLowerCase())return o;return null}const Kt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,wo=t=>!ya(t)&&t!==Kt;function Ys(){const{caseless:t,skipUndefined:a}=wo(this)&&this||{},s={},r=(o,l)=>{if(l==="__proto__"||l==="constructor"||l==="prototype")return;const d=t&&vo(s,l)||l;Mn(s[d])&&Mn(o)?s[d]=Ys(s[d],o):Mn(o)?s[d]=Ys({},o):ba(o)?s[d]=o.slice():(!a||!ya(o))&&(s[d]=o)};for(let o=0,l=arguments.length;o<l;o++)arguments[o]&&Qa(arguments[o],r);return s}const Jl=(t,a,s,{allOwnKeys:r}={})=>(Qa(a,(o,l)=>{s&&ft(o)?Object.defineProperty(t,l,{value:xo(o,s),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,l,{value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),t),Ql=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),Xl=(t,a,s,r)=>{t.prototype=Object.create(a.prototype,r),Object.defineProperty(t.prototype,"constructor",{value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,"super",{value:a.prototype}),s&&Object.assign(t.prototype,s)},Zl=(t,a,s,r)=>{let o,l,d;const c={};if(a=a||{},t==null)return a;do{for(o=Object.getOwnPropertyNames(t),l=o.length;l-- >0;)d=o[l],(!r||r(d,t,a))&&!c[d]&&(a[d]=t[d],c[d]=!0);t=s!==!1&&Xn(t)}while(t&&(!s||s(t,a))&&t!==Object.prototype);return a},ed=(t,a,s)=>{t=String(t),(s===void 0||s>t.length)&&(s=t.length),s-=a.length;const r=t.indexOf(a,s);return r!==-1&&r===s},td=t=>{if(!t)return null;if(ba(t))return t;let a=t.length;if(!So(a))return null;const s=new Array(a);for(;a-- >0;)s[a]=t[a];return s},ad=(t=>a=>t&&a instanceof t)(typeof Uint8Array<"u"&&Xn(Uint8Array)),nd=(t,a)=>{const r=(t&&t[Zn]).call(t);let o;for(;(o=r.next())&&!o.done;){const l=o.value;a.call(t,l[0],l[1])}},sd=(t,a)=>{let s;const r=[];for(;(s=t.exec(a))!==null;)r.push(s);return r},rd=Dt("HTMLFormElement"),id=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(s,r,o){return r.toUpperCase()+o}),xr=(({hasOwnProperty:t})=>(a,s)=>t.call(a,s))(Object.prototype),od=Dt("RegExp"),_o=(t,a)=>{const s=Object.getOwnPropertyDescriptors(t),r={};Qa(s,(o,l)=>{let d;(d=a(o,l,t))!==!1&&(r[l]=d||o)}),Object.defineProperties(t,r)},ld=t=>{_o(t,(a,s)=>{if(ft(t)&&["arguments","caller","callee"].indexOf(s)!==-1)return!1;const r=t[s];if(ft(r)){if(a.enumerable=!1,"writable"in a){a.writable=!1;return}a.set||(a.set=()=>{throw Error("Can not rewrite read-only method '"+s+"'")})}})},dd=(t,a)=>{const s={},r=o=>{o.forEach(l=>{s[l]=!0})};return ba(t)?r(t):r(String(t).split(a)),s},cd=()=>{},ud=(t,a)=>t!=null&&Number.isFinite(t=+t)?t:a;function pd(t){return!!(t&&ft(t.append)&&t[bo]==="FormData"&&t[Zn])}const md=t=>{const a=new Array(10),s=(r,o)=>{if(Ja(r)){if(a.indexOf(r)>=0)return;if(Ga(r))return r;if(!("toJSON"in r)){a[o]=r;const l=ba(r)?[]:{};return Qa(r,(d,c)=>{const g=s(d,o+1);!ya(g)&&(l[c]=g)}),a[o]=void 0,l}}return r};return s(t,0)},hd=Dt("AsyncFunction"),fd=t=>t&&(Ja(t)||ft(t))&&ft(t.then)&&ft(t.catch),Co=((t,a)=>t?setImmediate:a?((s,r)=>(Kt.addEventListener("message",({source:o,data:l})=>{o===Kt&&l===s&&r.length&&r.shift()()},!1),o=>{r.push(o),Kt.postMessage(s,"*")}))(`axios@${Math.random()}`,[]):s=>setTimeout(s))(typeof setImmediate=="function",ft(Kt.postMessage)),yd=typeof queueMicrotask<"u"?queueMicrotask.bind(Kt):typeof process<"u"&&process.nextTick||Co,gd=t=>t!=null&&ft(t[Zn]),X={isArray:ba,isArrayBuffer:jo,isBuffer:Ga,isFormData:zl,isArrayBufferView:kl,isString:Pl,isNumber:So,isBoolean:Ol,isObject:Ja,isPlainObject:Mn,isEmptyObject:Ml,isReadableStream:Vl,isRequest:Wl,isResponse:Hl,isHeaders:Kl,isUndefined:ya,isDate:El,isFile:Fl,isReactNativeBlob:$l,isReactNative:Ul,isBlob:Nl,isRegExp:od,isFunction:ft,isStream:Bl,isURLSearchParams:Yl,isTypedArray:ad,isFileList:Ll,forEach:Qa,merge:Ys,extend:Jl,trim:Gl,stripBOM:Ql,inherits:Xl,toFlatObject:Zl,kindOf:es,kindOfTest:Dt,endsWith:ed,toArray:td,forEachEntry:nd,matchAll:sd,isHTMLForm:rd,hasOwnProperty:xr,hasOwnProp:xr,reduceDescriptors:_o,freezeMethods:ld,toObjectSet:dd,toCamelCase:id,noop:cd,toFiniteNumber:ud,findKey:vo,global:Kt,isContextDefined:wo,isSpecCompliantForm:pd,toJSONObject:md,isAsyncFn:hd,isThenable:fd,setImmediate:Co,asap:yd,isIterable:gd};let Te=class Ao extends Error{static from(a,s,r,o,l,d){const c=new Ao(a.message,s||a.code,r,o,l);return c.cause=a,c.name=a.name,a.status!=null&&c.status==null&&(c.status=a.status),d&&Object.assign(c,d),c}constructor(a,s,r,o,l){super(a),Object.defineProperty(this,"message",{value:a,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,s&&(this.code=s),r&&(this.config=r),o&&(this.request=o),l&&(this.response=l,this.status=l.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:X.toJSONObject(this.config),code:this.code,status:this.status}}};Te.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";Te.ERR_BAD_OPTION="ERR_BAD_OPTION";Te.ECONNABORTED="ECONNABORTED";Te.ETIMEDOUT="ETIMEDOUT";Te.ERR_NETWORK="ERR_NETWORK";Te.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";Te.ERR_DEPRECATED="ERR_DEPRECATED";Te.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";Te.ERR_BAD_REQUEST="ERR_BAD_REQUEST";Te.ERR_CANCELED="ERR_CANCELED";Te.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";Te.ERR_INVALID_URL="ERR_INVALID_URL";Te.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const xd=null;function Vs(t){return X.isPlainObject(t)||X.isArray(t)}function Do(t){return X.endsWith(t,"[]")?t.slice(0,-2):t}function fs(t,a,s){return t?t.concat(a).map(function(o,l){return o=Do(o),!s&&l?"["+o+"]":o}).join(s?".":""):a}function bd(t){return X.isArray(t)&&!t.some(Vs)}const jd=X.toFlatObject(X,{},null,function(a){return/^is[A-Z]/.test(a)});function as(t,a,s){if(!X.isObject(t))throw new TypeError("target must be an object");a=a||new FormData,s=X.toFlatObject(s,{metaTokens:!0,dots:!1,indexes:!1},!1,function(x,T){return!X.isUndefined(T[x])});const r=s.metaTokens,o=s.visitor||m,l=s.dots,d=s.indexes,c=s.Blob||typeof Blob<"u"&&Blob,g=s.maxDepth===void 0?100:s.maxDepth,f=c&&X.isSpecCompliantForm(a);if(!X.isFunction(o))throw new TypeError("visitor must be a function");function u(h){if(h===null)return"";if(X.isDate(h))return h.toISOString();if(X.isBoolean(h))return h.toString();if(!f&&X.isBlob(h))throw new Te("Blob is not supported. Use a Buffer instead.");return X.isArrayBuffer(h)||X.isTypedArray(h)?f&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function m(h,x,T){let R=h;if(X.isReactNative(a)&&X.isReactNativeBlob(h))return a.append(fs(T,x,l),u(h)),!1;if(h&&!T&&typeof h=="object"){if(X.endsWith(x,"{}"))x=r?x:x.slice(0,-2),h=JSON.stringify(h);else if(X.isArray(h)&&bd(h)||(X.isFileList(h)||X.endsWith(x,"[]"))&&(R=X.toArray(h)))return x=Do(x),R.forEach(function(D,C){!(X.isUndefined(D)||D===null)&&a.append(d===!0?fs([x],C,l):d===null?x:x+"[]",u(D))}),!1}return Vs(h)?!0:(a.append(fs(T,x,l),u(h)),!1)}const w=[],v=Object.assign(jd,{defaultVisitor:m,convertValue:u,isVisitable:Vs});function b(h,x,T=0){if(!X.isUndefined(h)){if(T>g)throw new Te("Object is too deeply nested ("+T+" levels). Max depth: "+g,Te.ERR_FORM_DATA_DEPTH_EXCEEDED);if(w.indexOf(h)!==-1)throw Error("Circular reference detected in "+x.join("."));w.push(h),X.forEach(h,function(k,D){(!(X.isUndefined(k)||k===null)&&o.call(a,k,X.isString(D)?D.trim():D,x,v))===!0&&b(k,x?x.concat(D):[D],T+1)}),w.pop()}}if(!X.isObject(t))throw new TypeError("data must be an object");return b(t),a}function br(t){const a={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(t).replace(/[!'()~]|%20/g,function(r){return a[r]})}function Xs(t,a){this._pairs=[],t&&as(t,this,a)}const To=Xs.prototype;To.append=function(a,s){this._pairs.push([a,s])};To.toString=function(a){const s=a?function(r){return a.call(this,r,br)}:br;return this._pairs.map(function(o){return s(o[0])+"="+s(o[1])},"").join("&")};function Sd(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Ro(t,a,s){if(!a)return t;const r=s&&s.encode||Sd,o=X.isFunction(s)?{serialize:s}:s,l=o&&o.serialize;let d;if(l?d=l(a,o):d=X.isURLSearchParams(a)?a.toString():new Xs(a,o).toString(r),d){const c=t.indexOf("#");c!==-1&&(t=t.slice(0,c)),t+=(t.indexOf("?")===-1?"?":"&")+d}return t}class jr{constructor(){this.handlers=[]}use(a,s,r){return this.handlers.push({fulfilled:a,rejected:s,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(a){this.handlers[a]&&(this.handlers[a]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(a){X.forEach(this.handlers,function(r){r!==null&&a(r)})}}const Zs={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},vd=typeof URLSearchParams<"u"?URLSearchParams:Xs,wd=typeof FormData<"u"?FormData:null,_d=typeof Blob<"u"?Blob:null,Cd={isBrowser:!0,classes:{URLSearchParams:vd,FormData:wd,Blob:_d},protocols:["http","https","file","blob","url","data"]},er=typeof window<"u"&&typeof document<"u",Ws=typeof navigator=="object"&&navigator||void 0,Ad=er&&(!Ws||["ReactNative","NativeScript","NS"].indexOf(Ws.product)<0),Dd=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Td=er&&window.location.href||"http://localhost",Rd=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:er,hasStandardBrowserEnv:Ad,hasStandardBrowserWebWorkerEnv:Dd,navigator:Ws,origin:Td},Symbol.toStringTag,{value:"Module"})),it={...Rd,...Cd};function Id(t,a){return as(t,new it.classes.URLSearchParams,{visitor:function(s,r,o,l){return it.isNode&&X.isBuffer(s)?(this.append(r,s.toString("base64")),!1):l.defaultVisitor.apply(this,arguments)},...a})}function kd(t){return X.matchAll(/\w+|\[(\w*)]/g,t).map(a=>a[0]==="[]"?"":a[1]||a[0])}function Pd(t){const a={},s=Object.keys(t);let r;const o=s.length;let l;for(r=0;r<o;r++)l=s[r],a[l]=t[l];return a}function Io(t){function a(s,r,o,l){let d=s[l++];if(d==="__proto__")return!0;const c=Number.isFinite(+d),g=l>=s.length;return d=!d&&X.isArray(o)?o.length:d,g?(X.hasOwnProp(o,d)?o[d]=X.isArray(o[d])?o[d].concat(r):[o[d],r]:o[d]=r,!c):((!o[d]||!X.isObject(o[d]))&&(o[d]=[]),a(s,r,o[d],l)&&X.isArray(o[d])&&(o[d]=Pd(o[d])),!c)}if(X.isFormData(t)&&X.isFunction(t.entries)){const s={};return X.forEachEntry(t,(r,o)=>{a(kd(r),o,s,0)}),s}return null}const aa=(t,a)=>t!=null&&X.hasOwnProp(t,a)?t[a]:void 0;function Od(t,a,s){if(X.isString(t))try{return(a||JSON.parse)(t),X.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(s||JSON.stringify)(t)}const Xa={transitional:Zs,adapter:["xhr","http","fetch"],transformRequest:[function(a,s){const r=s.getContentType()||"",o=r.indexOf("application/json")>-1,l=X.isObject(a);if(l&&X.isHTMLForm(a)&&(a=new FormData(a)),X.isFormData(a))return o?JSON.stringify(Io(a)):a;if(X.isArrayBuffer(a)||X.isBuffer(a)||X.isStream(a)||X.isFile(a)||X.isBlob(a)||X.isReadableStream(a))return a;if(X.isArrayBufferView(a))return a.buffer;if(X.isURLSearchParams(a))return s.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),a.toString();let c;if(l){const g=aa(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return Id(a,g).toString();if((c=X.isFileList(a))||r.indexOf("multipart/form-data")>-1){const f=aa(this,"env"),u=f&&f.FormData;return as(c?{"files[]":a}:a,u&&new u,g)}}return l||o?(s.setContentType("application/json",!1),Od(a)):a}],transformResponse:[function(a){const s=aa(this,"transitional")||Xa.transitional,r=s&&s.forcedJSONParsing,o=aa(this,"responseType"),l=o==="json";if(X.isResponse(a)||X.isReadableStream(a))return a;if(a&&X.isString(a)&&(r&&!o||l)){const c=!(s&&s.silentJSONParsing)&&l;try{return JSON.parse(a,aa(this,"parseReviver"))}catch(g){if(c)throw g.name==="SyntaxError"?Te.from(g,Te.ERR_BAD_RESPONSE,this,null,aa(this,"response")):g}}return a}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:it.classes.FormData,Blob:it.classes.Blob},validateStatus:function(a){return a>=200&&a<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};X.forEach(["delete","get","head","post","put","patch"],t=>{Xa.headers[t]={}});const Md=X.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ed=t=>{const a={};let s,r,o;return t&&t.split(`
|
|
2
|
-
`).forEach(function(d){
|
|
3
|
-
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(a){return a instanceof this?a:new this(a)}static concat(a,...s){const r=new this(a);return s.forEach(o=>r.set(o)),r}static accessor(a){const r=(this[Sr]=this[Sr]={accessors:{}}).accessors,o=this.prototype;function l(d){const c=_a(d);r[c]||(qd(o,d),r[c]=!0)}return X.isArray(a)?a.forEach(l):l(a),this}};yt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);X.reduceDescriptors(yt.prototype,({value:t},a)=>{let s=a[0].toUpperCase()+a.slice(1);return{get:()=>t,set(r){this[s]=r}}});X.freezeMethods(yt);function gs(t,a){const s=this||Xa,r=a||s,o=yt.from(r.headers);let l=r.data;return X.forEach(t,function(c){l=c.call(s,l,o.normalize(),a?a.status:void 0)}),o.normalize(),l}function ko(t){return!!(t&&t.__CANCEL__)}let Za=class extends Te{constructor(a,s,r){super(a??"canceled",Te.ERR_CANCELED,s,r),this.name="CanceledError",this.__CANCEL__=!0}};function Po(t,a,s){const r=s.config.validateStatus;!s.status||!r||r(s.status)?t(s):a(new Te("Request failed with status code "+s.status,[Te.ERR_BAD_REQUEST,Te.ERR_BAD_RESPONSE][Math.floor(s.status/100)-4],s.config,s.request,s))}function zd(t){const a=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return a&&a[1]||""}function Yd(t,a){t=t||10;const s=new Array(t),r=new Array(t);let o=0,l=0,d;return a=a!==void 0?a:1e3,function(g){const f=Date.now(),u=r[l];d||(d=f),s[o]=g,r[o]=f;let m=l,w=0;for(;m!==o;)w+=s[m++],m=m%t;if(o=(o+1)%t,o===l&&(l=(l+1)%t),f-d<a)return;const v=u&&f-u;return v?Math.round(w*1e3/v):void 0}}function Vd(t,a){let s=0,r=1e3/a,o,l;const d=(f,u=Date.now())=>{s=u,o=null,l&&(clearTimeout(l),l=null),t(...f)};return[(...f)=>{const u=Date.now(),m=u-s;m>=r?d(f,u):(o=f,l||(l=setTimeout(()=>{l=null,d(o)},r-m)))},()=>o&&d(o)]}const Qn=(t,a,s=3)=>{let r=0;const o=Yd(50,250);return Vd(l=>{const d=l.loaded,c=l.lengthComputable?l.total:void 0,g=c!=null?Math.min(d,c):d,f=Math.max(0,g-r),u=o(f);r=Math.max(r,g);const m={loaded:g,total:c,progress:c?g/c:void 0,bytes:f,rate:u||void 0,estimated:u&&c?(c-g)/u:void 0,event:l,lengthComputable:c!=null,[a?"download":"upload"]:!0};t(m)},s)},vr=(t,a)=>{const s=t!=null;return[r=>a[0]({lengthComputable:s,total:t,loaded:r}),a[1]]},wr=t=>(...a)=>X.asap(()=>t(...a)),Wd=it.hasStandardBrowserEnv?((t,a)=>s=>(s=new URL(s,it.origin),t.protocol===s.protocol&&t.host===s.host&&(a||t.port===s.port)))(new URL(it.origin),it.navigator&&/(msie|trident)/i.test(it.navigator.userAgent)):()=>!0,Hd=it.hasStandardBrowserEnv?{write(t,a,s,r,o,l,d){if(typeof document>"u")return;const c=[`${t}=${encodeURIComponent(a)}`];X.isNumber(s)&&c.push(`expires=${new Date(s).toUTCString()}`),X.isString(r)&&c.push(`path=${r}`),X.isString(o)&&c.push(`domain=${o}`),l===!0&&c.push("secure"),X.isString(d)&&c.push(`SameSite=${d}`),document.cookie=c.join("; ")},read(t){if(typeof document>"u")return null;const a=document.cookie.match(new RegExp("(?:^|; )"+t+"=([^;]*)"));return a?decodeURIComponent(a[1]):null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function Kd(t){return typeof t!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Gd(t,a){return a?t.replace(/\/?\/$/,"")+"/"+a.replace(/^\/+/,""):t}function Oo(t,a,s){let r=!Kd(a);return t&&(r||s===!1)?Gd(t,a):a}const _r=t=>t instanceof yt?{...t}:t;function Xt(t,a){a=a||{};const s=Object.create(null);Object.defineProperty(s,"hasOwnProperty",{value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(f,u,m,w){return X.isPlainObject(f)&&X.isPlainObject(u)?X.merge.call({caseless:w},f,u):X.isPlainObject(u)?X.merge({},u):X.isArray(u)?u.slice():u}function o(f,u,m,w){if(X.isUndefined(u)){if(!X.isUndefined(f))return r(void 0,f,m,w)}else return r(f,u,m,w)}function l(f,u){if(!X.isUndefined(u))return r(void 0,u)}function d(f,u){if(X.isUndefined(u)){if(!X.isUndefined(f))return r(void 0,f)}else return r(void 0,u)}function c(f,u,m){if(X.hasOwnProp(a,m))return r(f,u);if(X.hasOwnProp(t,m))return r(void 0,f)}const g={url:l,method:l,data:l,baseURL:d,transformRequest:d,transformResponse:d,paramsSerializer:d,timeout:d,timeoutMessage:d,withCredentials:d,withXSRFToken:d,adapter:d,responseType:d,xsrfCookieName:d,xsrfHeaderName:d,onUploadProgress:d,onDownloadProgress:d,decompress:d,maxContentLength:d,maxBodyLength:d,beforeRedirect:d,transport:d,httpAgent:d,httpsAgent:d,cancelToken:d,socketPath:d,allowedSocketPaths:d,responseEncoding:d,validateStatus:c,headers:(f,u,m)=>o(_r(f),_r(u),m,!0)};return X.forEach(Object.keys({...t,...a}),function(u){if(u==="__proto__"||u==="constructor"||u==="prototype")return;const m=X.hasOwnProp(g,u)?g[u]:o,w=X.hasOwnProp(t,u)?t[u]:void 0,v=X.hasOwnProp(a,u)?a[u]:void 0,b=m(w,v,u);X.isUndefined(b)&&m!==c||(s[u]=b)}),s}const Mo=t=>{const a=Xt({},t),s=w=>X.hasOwnProp(a,w)?a[w]:void 0,r=s("data");let o=s("withXSRFToken");const l=s("xsrfHeaderName"),d=s("xsrfCookieName");let c=s("headers");const g=s("auth"),f=s("baseURL"),u=s("allowAbsoluteUrls"),m=s("url");if(a.headers=c=yt.from(c),a.url=Ro(Oo(f,m,u),t.params,t.paramsSerializer),g&&c.set("Authorization","Basic "+btoa((g.username||"")+":"+(g.password?unescape(encodeURIComponent(g.password)):""))),X.isFormData(r)){if(it.hasStandardBrowserEnv||it.hasStandardBrowserWebWorkerEnv)c.setContentType(void 0);else if(X.isFunction(r.getHeaders)){const w=r.getHeaders(),v=["content-type","content-length"];Object.entries(w).forEach(([b,h])=>{v.includes(b.toLowerCase())&&c.set(b,h)})}}if(it.hasStandardBrowserEnv&&(X.isFunction(o)&&(o=o(a)),o===!0||o==null&&Wd(a.url))){const v=l&&d&&Hd.read(d);v&&c.set(l,v)}return a},Jd=typeof XMLHttpRequest<"u",Qd=Jd&&function(t){return new Promise(function(s,r){const o=Mo(t);let l=o.data;const d=yt.from(o.headers).normalize();let{responseType:c,onUploadProgress:g,onDownloadProgress:f}=o,u,m,w,v,b;function h(){v&&v(),b&&b(),o.cancelToken&&o.cancelToken.unsubscribe(u),o.signal&&o.signal.removeEventListener("abort",u)}let x=new XMLHttpRequest;x.open(o.method.toUpperCase(),o.url,!0),x.timeout=o.timeout;function T(){if(!x)return;const k=yt.from("getAllResponseHeaders"in x&&x.getAllResponseHeaders()),C={data:!c||c==="text"||c==="json"?x.responseText:x.response,status:x.status,statusText:x.statusText,headers:k,config:t,request:x};Po(function(y){s(y),h()},function(y){r(y),h()},C),x=null}"onloadend"in x?x.onloadend=T:x.onreadystatechange=function(){!x||x.readyState!==4||x.status===0&&!(x.responseURL&&x.responseURL.indexOf("file:")===0)||setTimeout(T)},x.onabort=function(){x&&(r(new Te("Request aborted",Te.ECONNABORTED,t,x)),x=null)},x.onerror=function(D){const C=D&&D.message?D.message:"Network Error",p=new Te(C,Te.ERR_NETWORK,t,x);p.event=D||null,r(p),x=null},x.ontimeout=function(){let D=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const C=o.transitional||Zs;o.timeoutErrorMessage&&(D=o.timeoutErrorMessage),r(new Te(D,C.clarifyTimeoutError?Te.ETIMEDOUT:Te.ECONNABORTED,t,x)),x=null},l===void 0&&d.setContentType(null),"setRequestHeader"in x&&X.forEach(d.toJSON(),function(D,C){x.setRequestHeader(C,D)}),X.isUndefined(o.withCredentials)||(x.withCredentials=!!o.withCredentials),c&&c!=="json"&&(x.responseType=o.responseType),f&&([w,b]=Qn(f,!0),x.addEventListener("progress",w)),g&&x.upload&&([m,v]=Qn(g),x.upload.addEventListener("progress",m),x.upload.addEventListener("loadend",v)),(o.cancelToken||o.signal)&&(u=k=>{x&&(r(!k||k.type?new Za(null,t,x):k),x.abort(),x=null)},o.cancelToken&&o.cancelToken.subscribe(u),o.signal&&(o.signal.aborted?u():o.signal.addEventListener("abort",u)));const R=zd(o.url);if(R&&it.protocols.indexOf(R)===-1){r(new Te("Unsupported protocol "+R+":",Te.ERR_BAD_REQUEST,t));return}x.send(l||null)})},Xd=(t,a)=>{const{length:s}=t=t?t.filter(Boolean):[];if(a||s){let r=new AbortController,o;const l=function(f){if(!o){o=!0,c();const u=f instanceof Error?f:this.reason;r.abort(u instanceof Te?u:new Za(u instanceof Error?u.message:u))}};let d=a&&setTimeout(()=>{d=null,l(new Te(`timeout of ${a}ms exceeded`,Te.ETIMEDOUT))},a);const c=()=>{t&&(d&&clearTimeout(d),d=null,t.forEach(f=>{f.unsubscribe?f.unsubscribe(l):f.removeEventListener("abort",l)}),t=null)};t.forEach(f=>f.addEventListener("abort",l));const{signal:g}=r;return g.unsubscribe=()=>X.asap(c),g}},Zd=function*(t,a){let s=t.byteLength;if(s<a){yield t;return}let r=0,o;for(;r<s;)o=r+a,yield t.slice(r,o),r=o},ec=async function*(t,a){for await(const s of tc(t))yield*Zd(s,a)},tc=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const a=t.getReader();try{for(;;){const{done:s,value:r}=await a.read();if(s)break;yield r}}finally{await a.cancel()}},Cr=(t,a,s,r)=>{const o=ec(t,a);let l=0,d,c=g=>{d||(d=!0,r&&r(g))};return new ReadableStream({async pull(g){try{const{done:f,value:u}=await o.next();if(f){c(),g.close();return}let m=u.byteLength;if(s){let w=l+=m;s(w)}g.enqueue(new Uint8Array(u))}catch(f){throw c(f),f}},cancel(g){return c(g),o.return()}},{highWaterMark:2})},Ar=64*1024,{isFunction:fn}=X,ac=(({Request:t,Response:a})=>({Request:t,Response:a}))(X.global),{ReadableStream:Dr,TextEncoder:Tr}=X.global,Rr=(t,...a)=>{try{return!!t(...a)}catch{return!1}},nc=t=>{t=X.merge.call({skipUndefined:!0},ac,t);const{fetch:a,Request:s,Response:r}=t,o=a?fn(a):typeof fetch=="function",l=fn(s),d=fn(r);if(!o)return!1;const c=o&&fn(Dr),g=o&&(typeof Tr=="function"?(b=>h=>b.encode(h))(new Tr):async b=>new Uint8Array(await new s(b).arrayBuffer())),f=l&&c&&Rr(()=>{let b=!1;const h=new s(it.origin,{body:new Dr,method:"POST",get duplex(){return b=!0,"half"}}),x=h.headers.has("Content-Type");return h.body!=null&&h.body.cancel(),b&&!x}),u=d&&c&&Rr(()=>X.isReadableStream(new r("").body)),m={stream:u&&(b=>b.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(b=>{!m[b]&&(m[b]=(h,x)=>{let T=h&&h[b];if(T)return T.call(h);throw new Te(`Response type '${b}' is not supported`,Te.ERR_NOT_SUPPORT,x)})});const w=async b=>{if(b==null)return 0;if(X.isBlob(b))return b.size;if(X.isSpecCompliantForm(b))return(await new s(it.origin,{method:"POST",body:b}).arrayBuffer()).byteLength;if(X.isArrayBufferView(b)||X.isArrayBuffer(b))return b.byteLength;if(X.isURLSearchParams(b)&&(b=b+""),X.isString(b))return(await g(b)).byteLength},v=async(b,h)=>{const x=X.toFiniteNumber(b.getContentLength());return x??w(h)};return async b=>{let{url:h,method:x,data:T,signal:R,cancelToken:k,timeout:D,onDownloadProgress:C,onUploadProgress:p,responseType:y,headers:_,withCredentials:P="same-origin",fetchOptions:U}=Mo(b),B=a||fetch;y=y?(y+"").toLowerCase():"text";let A=Xd([R,k&&k.toAbortSignal()],D),F=null;const O=A&&A.unsubscribe&&(()=>{A.unsubscribe()});let M;try{if(p&&f&&x!=="get"&&x!=="head"&&(M=await v(_,T))!==0){let E=new s(h,{method:"POST",body:T,duplex:"half"}),L;if(X.isFormData(T)&&(L=E.headers.get("content-type"))&&_.setContentType(L),E.body){const[q,W]=vr(M,Qn(wr(p)));T=Cr(E.body,Ar,q,W)}}X.isString(P)||(P=P?"include":"omit");const I=l&&"credentials"in s.prototype;if(X.isFormData(T)){const E=_.getContentType();E&&/^multipart\/form-data/i.test(E)&&!/boundary=/i.test(E)&&_.delete("content-type")}const N={...U,signal:A,method:x.toUpperCase(),headers:_.normalize().toJSON(),body:T,duplex:"half",credentials:I?P:void 0};F=l&&new s(h,N);let Y=await(l?B(F,U):B(h,N));const z=u&&(y==="stream"||y==="response");if(u&&(C||z&&O)){const E={};["status","statusText","headers"].forEach(se=>{E[se]=Y[se]});const L=X.toFiniteNumber(Y.headers.get("content-length")),[q,W]=C&&vr(L,Qn(wr(C),!0))||[];Y=new r(Cr(Y.body,Ar,q,()=>{W&&W(),O&&O()}),E)}y=y||"text";let $=await m[X.findKey(m,y)||"text"](Y,b);return!z&&O&&O(),await new Promise((E,L)=>{Po(E,L,{data:$,headers:yt.from(Y.headers),status:Y.status,statusText:Y.statusText,config:b,request:F})})}catch(I){throw O&&O(),I&&I.name==="TypeError"&&/Load failed|fetch/i.test(I.message)?Object.assign(new Te("Network Error",Te.ERR_NETWORK,b,F,I&&I.response),{cause:I.cause||I}):Te.from(I,I&&I.code,b,F,I&&I.response)}}},sc=new Map,Eo=t=>{let a=t&&t.env||{};const{fetch:s,Request:r,Response:o}=a,l=[r,o,s];let d=l.length,c=d,g,f,u=sc;for(;c--;)g=l[c],f=u.get(g),f===void 0&&u.set(g,f=c?new Map:nc(a)),u=f;return f};Eo();const tr={http:xd,xhr:Qd,fetch:{get:Eo}};X.forEach(tr,(t,a)=>{if(t){try{Object.defineProperty(t,"name",{value:a})}catch{}Object.defineProperty(t,"adapterName",{value:a})}});const Ir=t=>`- ${t}`,rc=t=>X.isFunction(t)||t===null||t===!1;function ic(t,a){t=X.isArray(t)?t:[t];const{length:s}=t;let r,o;const l={};for(let d=0;d<s;d++){r=t[d];let c;if(o=r,!rc(r)&&(o=tr[(c=String(r)).toLowerCase()],o===void 0))throw new Te(`Unknown adapter '${c}'`);if(o&&(X.isFunction(o)||(o=o.get(a))))break;l[c||"#"+d]=o}if(!o){const d=Object.entries(l).map(([g,f])=>`adapter ${g} `+(f===!1?"is not supported by the environment":"is not available in the build"));let c=s?d.length>1?`since :
|
|
4
|
-
`+d.map(
|
|
5
|
-
`):" "+
|
|
6
|
-
`);return d===-1?"":
|
|
7
|
-
`),c=d===-1?-1:
|
|
8
|
-
`,d+1),g=c===-1?"":
|
|
9
|
-
`+l)}}catch{}}throw r}}_request(a,s){typeof a=="string"?(s=s||{},s.url=a):s=a||{},s=Xt(this.defaults,s);const{transitional:r,paramsSerializer:o,headers:l}=s;r!==void 0&&Fn.assertOptions(r,{silentJSONParsing:wt.transitional(wt.boolean),forcedJSONParsing:wt.transitional(wt.boolean),clarifyTimeoutError:wt.transitional(wt.boolean),legacyInterceptorReqResOrdering:wt.transitional(wt.boolean)},!1),o!=null&&(X.isFunction(o)?s.paramsSerializer={serialize:o}:Fn.assertOptions(o,{encode:wt.function,serialize:wt.function},!0)),s.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?s.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:s.allowAbsoluteUrls=!0),Fn.assertOptions(s,{baseUrl:wt.spelling("baseURL"),withXsrfToken:wt.spelling("withXSRFToken")},!0),s.method=(s.method||this.defaults.method||"get").toLowerCase();let d=l&&X.merge(l.common,l[s.method]);l&&X.forEach(["delete","get","head","post","put","patch","common"],b=>{delete l[b]}),s.headers=yt.concat(d,l);const c=[];let g=!0;this.interceptors.request.forEach(function(h){if(typeof h.runWhen=="function"&&h.runWhen(s)===!1)return;g=g&&h.synchronous;const x=s.transitional||Zs;x&&x.legacyInterceptorReqResOrdering?c.unshift(h.fulfilled,h.rejected):c.push(h.fulfilled,h.rejected)});const f=[];this.interceptors.response.forEach(function(h){f.push(h.fulfilled,h.rejected)});let u,m=0,w;if(!g){const b=[kr.bind(this),void 0];for(b.unshift(...c),b.push(...f),w=b.length,u=Promise.resolve(s);m<w;)u=u.then(b[m++],b[m++]);return u}w=c.length;let v=s;for(;m<w;){const b=c[m++],h=c[m++];try{v=b(v)}catch(x){h.call(this,x);break}}try{u=kr.call(this,v)}catch(b){return Promise.reject(b)}for(m=0,w=f.length;m<w;)u=u.then(f[m++],f[m++]);return u}getUri(a){a=Xt(this.defaults,a);const s=Oo(a.baseURL,a.url,a.allowAbsoluteUrls);return Ro(s,a.params,a.paramsSerializer)}};X.forEach(["delete","get","head","options"],function(a){Gt.prototype[a]=function(s,r){return this.request(Xt(r||{},{method:a,url:s,data:(r||{}).data}))}});X.forEach(["post","put","patch"],function(a){function s(r){return function(l,d,c){return this.request(Xt(c||{},{method:a,headers:r?{"Content-Type":"multipart/form-data"}:{},url:l,data:d}))}}Gt.prototype[a]=s(),Gt.prototype[a+"Form"]=s(!0)});let lc=class Uo{constructor(a){if(typeof a!="function")throw new TypeError("executor must be a function.");let s;this.promise=new Promise(function(l){s=l});const r=this;this.promise.then(o=>{if(!r._listeners)return;let l=r._listeners.length;for(;l-- >0;)r._listeners[l](o);r._listeners=null}),this.promise.then=o=>{let l;const d=new Promise(c=>{r.subscribe(c),l=c}).then(o);return d.cancel=function(){r.unsubscribe(l)},d},a(function(l,d,c){r.reason||(r.reason=new Za(l,d,c),s(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(a){if(this.reason){a(this.reason);return}this._listeners?this._listeners.push(a):this._listeners=[a]}unsubscribe(a){if(!this._listeners)return;const s=this._listeners.indexOf(a);s!==-1&&this._listeners.splice(s,1)}toAbortSignal(){const a=new AbortController,s=r=>{a.abort(r)};return this.subscribe(s),a.signal.unsubscribe=()=>this.unsubscribe(s),a.signal}static source(){let a;return{token:new Uo(function(o){a=o}),cancel:a}}};function dc(t){return function(s){return t.apply(null,s)}}function cc(t){return X.isObject(t)&&t.isAxiosError===!0}const Hs={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Hs).forEach(([t,a])=>{Hs[a]=t});function No(t){const a=new Gt(t),s=xo(Gt.prototype.request,a);return X.extend(s,Gt.prototype,a,{allOwnKeys:!0}),X.extend(s,a,null,{allOwnKeys:!0}),s.create=function(o){return No(Xt(t,o))},s}const Ge=No(Xa);Ge.Axios=Gt;Ge.CanceledError=Za;Ge.CancelToken=lc;Ge.isCancel=ko;Ge.VERSION=$o;Ge.toFormData=as;Ge.AxiosError=Te;Ge.Cancel=Ge.CanceledError;Ge.all=function(a){return Promise.all(a)};Ge.spread=dc;Ge.isAxiosError=cc;Ge.mergeConfig=Xt;Ge.AxiosHeaders=yt;Ge.formToJSON=t=>Io(X.isHTMLForm(t)?new FormData(t):t);Ge.getAdapter=Fo.getAdapter;Ge.HttpStatusCode=Hs;Ge.default=Ge;const{Axios:gb,AxiosError:xb,CanceledError:bb,isCancel:jb,CancelToken:Sb,VERSION:vb,all:wb,Cancel:_b,isAxiosError:Cb,spread:Ab,toFormData:Db,AxiosHeaders:Tb,HttpStatusCode:Rb,formToJSON:Ib,getAdapter:kb,mergeConfig:Pb}=Ge,uc=()=>new Promise(t=>setTimeout(()=>t(),800));let Ks=null;const pc=t=>{Ks=t,dt.defaults.baseURL=ar()},ar=()=>Ks||"https://npmapi.ubkerp.com/",dt=Ge.create({baseURL:ar()}),rt=()=>ar();let Gs=null;const mc=t=>{Gs=t},ot=()=>Gs||"https://image.ubkerp.com",hc=t=>{if(!t||typeof t!="string")return null;const a=t.split(".");if(a.length<2)return null;try{let s=a[1];s=s.replace(/-/g,"+").replace(/_/g,"/");const r=(4-s.length%4)%4;s+="=".repeat(r);const o=typeof atob=="function"?atob(s):Buffer.from(s,"base64").toString("binary");return JSON.parse(o)}catch{return null}},en=t=>{const a=hc(t);return a?a?.branch_id??a?.branchID??a?.fk_branchID??a?.branch??null:null},Ne=async(t,a,s)=>{const r=await dt.post(t,a,{headers:{Authorization:s}});if(console.log("ddddfdfdfd",r.data?.Status),r.data?.Status=="Success")return r?.data?.data||r?.data;throw new Error(r.data?.msg)},fc=async(t,a,s)=>{const r=a instanceof FormData;return(await dt.post(t,a,{headers:{Authorization:s,...r?{"Content-type":"multipart/form-data"}:{}}})).data},K=async(t,a)=>{try{let r=t;if(!t.includes("session_id")){const l=t.includes("?")?"&":"?";r=`${t}${l}session_id=1`}return(await dt.get(r,{headers:{Authorization:a}})).data}catch(s){throw s.response?.status===401&&console.error("401 Unauthorized"),s}},yc=async(t,a)=>{const s=await dt.post(t,"",{headers:{Authorization:a}});if(s.data?.Status=="Success")return s?.data?.data||s?.data;throw new Error(s.data?.msg)},ss=async(t,a,s)=>{try{const r=await dt.post(t,a,{headers:{Authorization:s,"Content-Type":"application/json"}});return r.data?.Status==="Success"?r.data:(S.error(r.data?.msg||"Unable to issue library book",{duration:2e3}),!1)}catch(r){throw S.error(r.response?.data?.msg||r.response?.data?.message||"Request failed",{duration:2e3}),r}},Wa=async(t,a,s)=>{const r=a?.arg;return(await dt.post(t,r,{headers:{Authorization:s}}))?.data},Jt=async(t,a,s)=>{const r=a?.arg,o=t.includes("?")?"&":"?";return(await dt.get(t+o,{params:r,headers:{Authorization:s}}))?.data},gc="api/branchapi/GeneralSettings/getsetting_allowances_dedectionBranch",nr=async(t,a,s)=>{const r=a?.arg,o=t.includes("?")?"&":"?",l=await dt.get(t+o,{params:r,headers:{Authorization:s}});if(console.log("ddddfdfdfd",l.data?.Status),l.data?.Status=="Success")return l?.data?.data||l?.data;throw new Error(l.data?.msg)},We=async(t,a,s)=>(await uc(),(await dt.post(t,a,{headers:{Authorization:s}}))?.data),ja=async(t,a,s)=>(await dt.post(t,a,{headers:{Authorization:s}})).data,He=async(t,a,s)=>(await dt.delete(`${t}/${a}`,{headers:{Authorization:s}})).data,xc="api/report/LibraryRenewalReport/renewalHistory",bc="api/report/LibraryRenewalReport/renewalFineReport",jc="api/report/LibraryRenewalReport/currentlyRenewedBooks",Sc="api/report/LibraryRenewalReport/upcomingRenewalDue",vc="api/report/LibraryRenewalReport/overdueRenewalReport",wc="api/report/LibraryRenewalReport/renewalLimitReport",_c="api/report/LibraryRenewalReport/renewalStatusReport",Cc="api/report/LibraryRenewalReport/studentWiseReport",Ac="api/report/LibraryRenewalReport/bookWiseReport",Dc="api/report/LibraryRenewalReport/classWiseReport",Tc="api/report/LibraryRenewalReport/staffWiseReport",Rc="api/report/LibraryRenewalReport/renewalStatisticsByDate",Ic="/sample_templates/route_upload.xlsx",tn="api/branchapi/academy/classdropdownlist",an="api/branchapi/academy/sectionoftheClass",kc="/sample_templates/student_transport_upload.xlsx",Pc="api/branchapi/income/incomeTableList",Oc="api/branchapi/income/addincome",Mc="api/branchapi/income/editincome",Ec="api/branchapi/income/deleteincome",Lo="api/branchapi/income/incomeheadDropdown",Fc="api/branchapi/income/incomeheadTableList",$c="api/branchapi/income/addincomehead",Uc="api/branchapi/income/editincomehead",Nc="api/branchapi/income/deleteincomehead",Lc="api/branchapi/income/incomeShowdata",Bc="api/branchapi/income/incomeheadShowdata",qc="api/branchapi/income/searchincomebydates",zc="api/branchapi/expense/expenseTableList",Yc="api/branchapi/expense/addexpense",Vc="api/branchapi/expense/editexpense",Wc="api/branchapi/expense/deleteExpense",Bo="api/branchapi/expense/expenseheadDropdown",Hc="api/branchapi/expense/expenseheadTableList",Kc="api/branchapi/expense/addexpensehead",Gc="api/branchapi/expense/editexpensehead",Jc="api/branchapi/expense/deleteexpensehead",Qc="api/branchapi/expense/expenseShowdata",Xc="api/branchapi/expense/expenseVoucherbyID",Zc="api/branchapi/expense/expenseheadShowdata",eu="api/branchapi/expense/searchexpensebydates",qo="api/accounts/vendor/vendorlist",tu="api/student/studentDetails/studentLoginCredentialList",zo="/branchapi/student/studentlist",Yo="api/branchapi/student/studentsearchbyKeywords",Vo="api/branchapi/student/studentsearchbyClassSection",au="/branchapi/student/addStudentMedicineDetails",nu="/branchapi/student/StudentMedicineDetails",Wo="/branchapi/academy/getstudentClasssubjectByStudentId",su="/branchapi/academy/removeAssignStudentSubject",Js="/branchapi/feesCollection/extraCurricularActivitiesFess",ru="/branchapi/academy/unAssigneStudentSubject",iu="/branchapi/student/uploadstudentbyCSV",ou="api/branchapi/academy/categorytableList",lu="api/branchapi/transport/downloadBulkTemplate",du="api/branchapi/transport/validateBulkUpload",cu="api/branchapi/transport/confirmBulkImport",uu="api/branchapi/transport/downloadBulkErrorReport",pu=async({class_id:t,section_id:a}={},s)=>{const r=new URLSearchParams;t&&r.append("class_id",t),a&&r.append("section_id",a);const o=`${lu}${r.toString()?`?${r.toString()}`:""}`;return(await dt.get(o,{headers:{Authorization:s},responseType:"blob"})).data},mu=async(t,a)=>{const s=new FormData;return s.append("file",t),(await dt.post(du,s,{headers:{Authorization:a,"Content-Type":"multipart/form-data"}})).data},hu=async(t,a,s="skip")=>(await dt.post(cu,{rows:t,duplicate_action:s},{headers:{Authorization:a,"Content-Type":"application/json"}})).data,fu=async(t,a)=>(await dt.post(uu,{rows:t},{headers:{Authorization:a,"Content-Type":"application/json"},responseType:"blob"})).data,yu=({token:t,menu:a})=>{const{isLoading:s,data:r}=H(t?["api/sdk/Menus",t]:null,([l,d])=>yc(l,d)),o=r?.find(l=>l.path===a)?.sub_menu??[];return console.log("menuData",r),e.jsx(n.Row,{gutter:[16,16],children:o?.map((l,d)=>l.dashboard_show==="YES"?e.jsx(n.Col,{xs:24,md:8,lg:8,children:e.jsx(j,{children:e.jsx(go,{icon:`${rt()}icons/frontoffice/${l.icons}`,title:l.submenu_name,path:l.menu_key})})},`${d}office001`):null)})};function Ho(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var at={},bs,Or;function gu(){return Or||(Or=1,bs=function t(a,s){if(a===s)return!0;if(a&&s&&typeof a=="object"&&typeof s=="object"){if(a.constructor!==s.constructor)return!1;var r,o,l;if(Array.isArray(a)){if(r=a.length,r!=s.length)return!1;for(o=r;o--!==0;)if(!t(a[o],s[o]))return!1;return!0}if(a.constructor===RegExp)return a.source===s.source&&a.flags===s.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===s.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===s.toString();if(l=Object.keys(a),r=l.length,r!==Object.keys(s).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(s,l[o]))return!1;for(o=r;o--!==0;){var d=l[o];if(!t(a[d],s[d]))return!1}return!0}return a!==a&&s!==s}),bs}var yn={exports:{}},gn={exports:{}},Fe={};var Mr;function xu(){if(Mr)return Fe;Mr=1;var t=typeof Symbol=="function"&&Symbol.for,a=t?Symbol.for("react.element"):60103,s=t?Symbol.for("react.portal"):60106,r=t?Symbol.for("react.fragment"):60107,o=t?Symbol.for("react.strict_mode"):60108,l=t?Symbol.for("react.profiler"):60114,d=t?Symbol.for("react.provider"):60109,c=t?Symbol.for("react.context"):60110,g=t?Symbol.for("react.async_mode"):60111,f=t?Symbol.for("react.concurrent_mode"):60111,u=t?Symbol.for("react.forward_ref"):60112,m=t?Symbol.for("react.suspense"):60113,w=t?Symbol.for("react.suspense_list"):60120,v=t?Symbol.for("react.memo"):60115,b=t?Symbol.for("react.lazy"):60116,h=t?Symbol.for("react.block"):60121,x=t?Symbol.for("react.fundamental"):60117,T=t?Symbol.for("react.responder"):60118,R=t?Symbol.for("react.scope"):60119;function k(C){if(typeof C=="object"&&C!==null){var p=C.$$typeof;switch(p){case a:switch(C=C.type,C){case g:case f:case r:case l:case o:case m:return C;default:switch(C=C&&C.$$typeof,C){case c:case u:case b:case v:case d:return C;default:return p}}case s:return p}}}function D(C){return k(C)===f}return Fe.AsyncMode=g,Fe.ConcurrentMode=f,Fe.ContextConsumer=c,Fe.ContextProvider=d,Fe.Element=a,Fe.ForwardRef=u,Fe.Fragment=r,Fe.Lazy=b,Fe.Memo=v,Fe.Portal=s,Fe.Profiler=l,Fe.StrictMode=o,Fe.Suspense=m,Fe.isAsyncMode=function(C){return D(C)||k(C)===g},Fe.isConcurrentMode=D,Fe.isContextConsumer=function(C){return k(C)===c},Fe.isContextProvider=function(C){return k(C)===d},Fe.isElement=function(C){return typeof C=="object"&&C!==null&&C.$$typeof===a},Fe.isForwardRef=function(C){return k(C)===u},Fe.isFragment=function(C){return k(C)===r},Fe.isLazy=function(C){return k(C)===b},Fe.isMemo=function(C){return k(C)===v},Fe.isPortal=function(C){return k(C)===s},Fe.isProfiler=function(C){return k(C)===l},Fe.isStrictMode=function(C){return k(C)===o},Fe.isSuspense=function(C){return k(C)===m},Fe.isValidElementType=function(C){return typeof C=="string"||typeof C=="function"||C===r||C===f||C===l||C===o||C===m||C===w||typeof C=="object"&&C!==null&&(C.$$typeof===b||C.$$typeof===v||C.$$typeof===d||C.$$typeof===c||C.$$typeof===u||C.$$typeof===x||C.$$typeof===T||C.$$typeof===R||C.$$typeof===h)},Fe.typeOf=k,Fe}var $e={};var Er;function bu(){return Er||(Er=1,process.env.NODE_ENV!=="production"&&(function(){var t=typeof Symbol=="function"&&Symbol.for,a=t?Symbol.for("react.element"):60103,s=t?Symbol.for("react.portal"):60106,r=t?Symbol.for("react.fragment"):60107,o=t?Symbol.for("react.strict_mode"):60108,l=t?Symbol.for("react.profiler"):60114,d=t?Symbol.for("react.provider"):60109,c=t?Symbol.for("react.context"):60110,g=t?Symbol.for("react.async_mode"):60111,f=t?Symbol.for("react.concurrent_mode"):60111,u=t?Symbol.for("react.forward_ref"):60112,m=t?Symbol.for("react.suspense"):60113,w=t?Symbol.for("react.suspense_list"):60120,v=t?Symbol.for("react.memo"):60115,b=t?Symbol.for("react.lazy"):60116,h=t?Symbol.for("react.block"):60121,x=t?Symbol.for("react.fundamental"):60117,T=t?Symbol.for("react.responder"):60118,R=t?Symbol.for("react.scope"):60119;function k(oe){return typeof oe=="string"||typeof oe=="function"||oe===r||oe===f||oe===l||oe===o||oe===m||oe===w||typeof oe=="object"&&oe!==null&&(oe.$$typeof===b||oe.$$typeof===v||oe.$$typeof===d||oe.$$typeof===c||oe.$$typeof===u||oe.$$typeof===x||oe.$$typeof===T||oe.$$typeof===R||oe.$$typeof===h)}function D(oe){if(typeof oe=="object"&&oe!==null){var le=oe.$$typeof;switch(le){case a:var ie=oe.type;switch(ie){case g:case f:case r:case l:case o:case m:return ie;default:var Se=ie&&ie.$$typeof;switch(Se){case c:case u:case b:case v:case d:return Se;default:return le}}case s:return le}}}var C=g,p=f,y=c,_=d,P=a,U=u,B=r,A=b,F=v,O=s,M=l,I=o,N=m,Y=!1;function z(oe){return Y||(Y=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),$(oe)||D(oe)===g}function $(oe){return D(oe)===f}function E(oe){return D(oe)===c}function L(oe){return D(oe)===d}function q(oe){return typeof oe=="object"&&oe!==null&&oe.$$typeof===a}function W(oe){return D(oe)===u}function se(oe){return D(oe)===r}function Z(oe){return D(oe)===b}function G(oe){return D(oe)===v}function J(oe){return D(oe)===s}function re(oe){return D(oe)===l}function de(oe){return D(oe)===o}function Ce(oe){return D(oe)===m}$e.AsyncMode=C,$e.ConcurrentMode=p,$e.ContextConsumer=y,$e.ContextProvider=_,$e.Element=P,$e.ForwardRef=U,$e.Fragment=B,$e.Lazy=A,$e.Memo=F,$e.Portal=O,$e.Profiler=M,$e.StrictMode=I,$e.Suspense=N,$e.isAsyncMode=z,$e.isConcurrentMode=$,$e.isContextConsumer=E,$e.isContextProvider=L,$e.isElement=q,$e.isForwardRef=W,$e.isFragment=se,$e.isLazy=Z,$e.isMemo=G,$e.isPortal=J,$e.isProfiler=re,$e.isStrictMode=de,$e.isSuspense=Ce,$e.isValidElementType=k,$e.typeOf=D})()),$e}var Fr;function Ko(){return Fr||(Fr=1,process.env.NODE_ENV==="production"?gn.exports=xu():gn.exports=bu()),gn.exports}var js,$r;function ju(){if($r)return js;$r=1;var t=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;function r(l){if(l==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(l)}function o(){try{if(!Object.assign)return!1;var l=new String("abc");if(l[5]="de",Object.getOwnPropertyNames(l)[0]==="5")return!1;for(var d={},c=0;c<10;c++)d["_"+String.fromCharCode(c)]=c;var g=Object.getOwnPropertyNames(d).map(function(u){return d[u]});if(g.join("")!=="0123456789")return!1;var f={};return"abcdefghijklmnopqrst".split("").forEach(function(u){f[u]=u}),Object.keys(Object.assign({},f)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return js=o()?Object.assign:function(l,d){for(var c,g=r(l),f,u=1;u<arguments.length;u++){c=Object(arguments[u]);for(var m in c)a.call(c,m)&&(g[m]=c[m]);if(t){f=t(c);for(var w=0;w<f.length;w++)s.call(c,f[w])&&(g[f[w]]=c[f[w]])}}return g},js}var Ss,Ur;function sr(){if(Ur)return Ss;Ur=1;var t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Ss=t,Ss}var vs,Nr;function Go(){return Nr||(Nr=1,vs=Function.call.bind(Object.prototype.hasOwnProperty)),vs}var ws,Lr;function Su(){if(Lr)return ws;Lr=1;var t=function(){};if(process.env.NODE_ENV!=="production"){var a=sr(),s={},r=Go();t=function(l){var d="Warning: "+l;typeof console<"u"&&console.error(d);try{throw new Error(d)}catch{}}}function o(l,d,c,g,f){if(process.env.NODE_ENV!=="production"){for(var u in l)if(r(l,u)){var m;try{if(typeof l[u]!="function"){var w=Error((g||"React class")+": "+c+" type `"+u+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof l[u]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw w.name="Invariant Violation",w}m=l[u](d,u,g,c,null,a)}catch(b){m=b}if(m&&!(m instanceof Error)&&t((g||"React class")+": type specification of "+c+" `"+u+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof m+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),m instanceof Error&&!(m.message in s)){s[m.message]=!0;var v=f?f():"";t("Failed "+c+" type: "+m.message+(v??""))}}}}return o.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(s={})},ws=o,ws}var _s,Br;function vu(){if(Br)return _s;Br=1;var t=Ko(),a=ju(),s=sr(),r=Go(),o=Su(),l=function(){};process.env.NODE_ENV!=="production"&&(l=function(c){var g="Warning: "+c;typeof console<"u"&&console.error(g);try{throw new Error(g)}catch{}});function d(){return null}return _s=function(c,g){var f=typeof Symbol=="function"&&Symbol.iterator,u="@@iterator";function m($){var E=$&&(f&&$[f]||$[u]);if(typeof E=="function")return E}var w="<<anonymous>>",v={array:T("array"),bigint:T("bigint"),bool:T("boolean"),func:T("function"),number:T("number"),object:T("object"),string:T("string"),symbol:T("symbol"),any:R(),arrayOf:k,element:D(),elementType:C(),instanceOf:p,node:U(),objectOf:_,oneOf:y,oneOfType:P,shape:A,exact:F};function b($,E){return $===E?$!==0||1/$===1/E:$!==$&&E!==E}function h($,E){this.message=$,this.data=E&&typeof E=="object"?E:{},this.stack=""}h.prototype=Error.prototype;function x($){if(process.env.NODE_ENV!=="production")var E={},L=0;function q(se,Z,G,J,re,de,Ce){if(J=J||w,de=de||G,Ce!==s){if(g){var oe=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw oe.name="Invariant Violation",oe}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var le=J+":"+G;!E[le]&&L<3&&(l("You are manually calling a React.PropTypes validation function for the `"+de+"` prop on `"+J+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),E[le]=!0,L++)}}return Z[G]==null?se?Z[G]===null?new h("The "+re+" `"+de+"` is marked as required "+("in `"+J+"`, but its value is `null`.")):new h("The "+re+" `"+de+"` is marked as required in "+("`"+J+"`, but its value is `undefined`.")):null:$(Z,G,J,re,de)}var W=q.bind(null,!1);return W.isRequired=q.bind(null,!0),W}function T($){function E(L,q,W,se,Z,G){var J=L[q],re=I(J);if(re!==$){var de=N(J);return new h("Invalid "+se+" `"+Z+"` of type "+("`"+de+"` supplied to `"+W+"`, expected ")+("`"+$+"`."),{expectedType:$})}return null}return x(E)}function R(){return x(d)}function k($){function E(L,q,W,se,Z){if(typeof $!="function")return new h("Property `"+Z+"` of component `"+W+"` has invalid PropType notation inside arrayOf.");var G=L[q];if(!Array.isArray(G)){var J=I(G);return new h("Invalid "+se+" `"+Z+"` of type "+("`"+J+"` supplied to `"+W+"`, expected an array."))}for(var re=0;re<G.length;re++){var de=$(G,re,W,se,Z+"["+re+"]",s);if(de instanceof Error)return de}return null}return x(E)}function D(){function $(E,L,q,W,se){var Z=E[L];if(!c(Z)){var G=I(Z);return new h("Invalid "+W+" `"+se+"` of type "+("`"+G+"` supplied to `"+q+"`, expected a single ReactElement."))}return null}return x($)}function C(){function $(E,L,q,W,se){var Z=E[L];if(!t.isValidElementType(Z)){var G=I(Z);return new h("Invalid "+W+" `"+se+"` of type "+("`"+G+"` supplied to `"+q+"`, expected a single ReactElement type."))}return null}return x($)}function p($){function E(L,q,W,se,Z){if(!(L[q]instanceof $)){var G=$.name||w,J=z(L[q]);return new h("Invalid "+se+" `"+Z+"` of type "+("`"+J+"` supplied to `"+W+"`, expected ")+("instance of `"+G+"`."))}return null}return x(E)}function y($){if(!Array.isArray($))return process.env.NODE_ENV!=="production"&&(arguments.length>1?l("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):l("Invalid argument supplied to oneOf, expected an array.")),d;function E(L,q,W,se,Z){for(var G=L[q],J=0;J<$.length;J++)if(b(G,$[J]))return null;var re=JSON.stringify($,function(Ce,oe){var le=N(oe);return le==="symbol"?String(oe):oe});return new h("Invalid "+se+" `"+Z+"` of value `"+String(G)+"` "+("supplied to `"+W+"`, expected one of "+re+"."))}return x(E)}function _($){function E(L,q,W,se,Z){if(typeof $!="function")return new h("Property `"+Z+"` of component `"+W+"` has invalid PropType notation inside objectOf.");var G=L[q],J=I(G);if(J!=="object")return new h("Invalid "+se+" `"+Z+"` of type "+("`"+J+"` supplied to `"+W+"`, expected an object."));for(var re in G)if(r(G,re)){var de=$(G,re,W,se,Z+"."+re,s);if(de instanceof Error)return de}return null}return x(E)}function P($){if(!Array.isArray($))return process.env.NODE_ENV!=="production"&&l("Invalid argument supplied to oneOfType, expected an instance of array."),d;for(var E=0;E<$.length;E++){var L=$[E];if(typeof L!="function")return l("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+Y(L)+" at index "+E+"."),d}function q(W,se,Z,G,J){for(var re=[],de=0;de<$.length;de++){var Ce=$[de],oe=Ce(W,se,Z,G,J,s);if(oe==null)return null;oe.data&&r(oe.data,"expectedType")&&re.push(oe.data.expectedType)}var le=re.length>0?", expected one of type ["+re.join(", ")+"]":"";return new h("Invalid "+G+" `"+J+"` supplied to "+("`"+Z+"`"+le+"."))}return x(q)}function U(){function $(E,L,q,W,se){return O(E[L])?null:new h("Invalid "+W+" `"+se+"` supplied to "+("`"+q+"`, expected a ReactNode."))}return x($)}function B($,E,L,q,W){return new h(($||"React class")+": "+E+" type `"+L+"."+q+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+W+"`.")}function A($){function E(L,q,W,se,Z){var G=L[q],J=I(G);if(J!=="object")return new h("Invalid "+se+" `"+Z+"` of type `"+J+"` "+("supplied to `"+W+"`, expected `object`."));for(var re in $){var de=$[re];if(typeof de!="function")return B(W,se,Z,re,N(de));var Ce=de(G,re,W,se,Z+"."+re,s);if(Ce)return Ce}return null}return x(E)}function F($){function E(L,q,W,se,Z){var G=L[q],J=I(G);if(J!=="object")return new h("Invalid "+se+" `"+Z+"` of type `"+J+"` "+("supplied to `"+W+"`, expected `object`."));var re=a({},L[q],$);for(var de in re){var Ce=$[de];if(r($,de)&&typeof Ce!="function")return B(W,se,Z,de,N(Ce));if(!Ce)return new h("Invalid "+se+" `"+Z+"` key `"+de+"` supplied to `"+W+"`.\nBad object: "+JSON.stringify(L[q],null," ")+`
|
|
10
|
-
Valid keys: `+JSON.stringify(Object.keys($),null," "));var oe=Ce(G,de,W,se,Z+"."+de,s);if(oe)return oe}return null}return x(E)}function O($){switch(typeof $){case"number":case"string":case"undefined":return!0;case"boolean":return!$;case"object":if(Array.isArray($))return $.every(O);if($===null||c($))return!0;var E=m($);if(E){var L=E.call($),q;if(E!==$.entries){for(;!(q=L.next()).done;)if(!O(q.value))return!1}else for(;!(q=L.next()).done;){var W=q.value;if(W&&!O(W[1]))return!1}}else return!1;return!0;default:return!1}}function M($,E){return $==="symbol"?!0:E?E["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&E instanceof Symbol:!1}function I($){var E=typeof $;return Array.isArray($)?"array":$ instanceof RegExp?"object":M(E,$)?"symbol":E}function N($){if(typeof $>"u"||$===null)return""+$;var E=I($);if(E==="object"){if($ instanceof Date)return"date";if($ instanceof RegExp)return"regexp"}return E}function Y($){var E=N($);switch(E){case"array":case"object":return"an "+E;case"boolean":case"date":case"regexp":return"a "+E;default:return E}}function z($){return!$.constructor||!$.constructor.name?w:$.constructor.name}return v.checkPropTypes=o,v.resetWarningCache=o.resetWarningCache,v.PropTypes=v,v},_s}var Cs,qr;function wu(){if(qr)return Cs;qr=1;var t=sr();function a(){}function s(){}return s.resetWarningCache=a,Cs=function(){function r(d,c,g,f,u,m){if(m!==t){var w=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw w.name="Invariant Violation",w}}r.isRequired=r;function o(){return r}var l={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:o,element:r,elementType:r,instanceOf:o,node:r,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:s,resetWarningCache:a};return l.PropTypes=l,l},Cs}var zr;function Jo(){if(zr)return yn.exports;if(zr=1,process.env.NODE_ENV!=="production"){var t=Ko(),a=!0;yn.exports=vu()(t.isElement,a)}else yn.exports=wu()();return yn.exports}var Yr;function _u(){if(Yr)return at;Yr=1;var t=at&&at.__extends||(function(){var v=function(b,h){return v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,T){x.__proto__=T}||function(x,T){for(var R in T)Object.prototype.hasOwnProperty.call(T,R)&&(x[R]=T[R])},v(b,h)};return function(b,h){if(typeof h!="function"&&h!==null)throw new TypeError("Class extends value "+String(h)+" is not a constructor or null");v(b,h);function x(){this.constructor=b}b.prototype=h===null?Object.create(h):(x.prototype=h.prototype,new x)}})(),a=at&&at.__assign||function(){return a=Object.assign||function(v){for(var b,h=1,x=arguments.length;h<x;h++){b=arguments[h];for(var T in b)Object.prototype.hasOwnProperty.call(b,T)&&(v[T]=b[T])}return v},a.apply(this,arguments)},s=at&&at.__createBinding||(Object.create?(function(v,b,h,x){x===void 0&&(x=h);var T=Object.getOwnPropertyDescriptor(b,h);(!T||("get"in T?!b.__esModule:T.writable||T.configurable))&&(T={enumerable:!0,get:function(){return b[h]}}),Object.defineProperty(v,x,T)}):(function(v,b,h,x){x===void 0&&(x=h),v[x]=b[h]})),r=at&&at.__setModuleDefault||(Object.create?(function(v,b){Object.defineProperty(v,"default",{enumerable:!0,value:b})}):function(v,b){v.default=b}),o=at&&at.__importStar||function(v){if(v&&v.__esModule)return v;var b={};if(v!=null)for(var h in v)h!=="default"&&Object.prototype.hasOwnProperty.call(v,h)&&s(b,v,h);return r(b,v),b},l=at&&at.__rest||function(v,b){var h={};for(var x in v)Object.prototype.hasOwnProperty.call(v,x)&&b.indexOf(x)<0&&(h[x]=v[x]);if(v!=null&&typeof Object.getOwnPropertySymbols=="function")for(var T=0,x=Object.getOwnPropertySymbols(v);T<x.length;T++)b.indexOf(x[T])<0&&Object.prototype.propertyIsEnumerable.call(v,x[T])&&(h[x[T]]=v[x[T]]);return h},d=at&&at.__importDefault||function(v){return v&&v.__esModule?v:{default:v}};Object.defineProperty(at,"__esModule",{value:!0});var c=o(i),g=d(gu()),f=o(Jo());function u(v){return v&&v.replace(/ |\u202F|\u00A0/g," ").replace(/<br \/>/g,"<br>")}function m(v){var b=document.createTextNode("");v.appendChild(b);var h=document.activeElement===v;if(b!==null&&b.nodeValue!==null&&h){var x=window.getSelection();if(x!==null){var T=document.createRange();T.setStart(b,b.nodeValue.length),T.collapse(!0),x.removeAllRanges(),x.addRange(T)}v instanceof HTMLElement&&v.focus()}}var w=(function(v){t(b,v);function b(){var h=v!==null&&v.apply(this,arguments)||this;return h.lastHtml=h.props.html,h.el=typeof h.props.innerRef=="function"?{current:null}:c.createRef(),h.getEl=function(){return(h.props.innerRef&&typeof h.props.innerRef!="function"?h.props.innerRef:h.el).current},h.emitChange=function(x){var T=h.getEl();if(T){var R=T.innerHTML;if(h.props.onChange&&R!==h.lastHtml){var k=Object.assign({},x,{target:{value:R}});h.props.onChange(k)}h.lastHtml=R}},h}return b.prototype.render=function(){var h=this,x=this.props,T=x.tagName,R=x.html,k=x.innerRef,D=l(x,["tagName","html","innerRef"]);return c.createElement(T||"div",a(a({},D),{ref:typeof k=="function"?function(C){k(C),h.el.current=C}:k||this.el,onInput:this.emitChange,onBlur:this.props.onBlur||this.emitChange,onKeyUp:this.props.onKeyUp||this.emitChange,onKeyDown:this.props.onKeyDown||this.emitChange,contentEditable:!this.props.disabled,dangerouslySetInnerHTML:{__html:R}}),this.props.children)},b.prototype.shouldComponentUpdate=function(h){var x=this.props,T=this.getEl();return!T||u(h.html)!==u(T.innerHTML)?!0:x.disabled!==h.disabled||x.tagName!==h.tagName||x.className!==h.className||x.innerRef!==h.innerRef||x.placeholder!==h.placeholder||!(0,g.default)(x.style,h.style)},b.prototype.componentDidUpdate=function(){var h=this.getEl();h&&(this.props.html!==h.innerHTML&&(h.innerHTML=this.props.html),this.lastHtml=this.props.html,m(h))},b.propTypes={html:f.string.isRequired,onChange:f.func,disabled:f.bool,tagName:f.string,className:f.string,style:f.object,innerRef:f.oneOfType([f.object,f.func])},b})(c.Component);return at.default=w,at}var Cu=_u();const Qo=Ho(Cu),Au={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},Du={width:"100%",minHeight:40,padding:"8px 0",fontSize:"14px",color:"#222",background:"transparent",border:0,borderTop:0,borderLeft:0,borderRight:0,borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none",outline:"none",transition:"border-color 0.2s ease"},V=i.forwardRef(({style:t,onFocus:a,onBlur:s,...r},o)=>{const[l,d]=i.useState(!1);return e.jsxs("div",{className:"",style:{width:"100%"},children:[r.label&&e.jsx("label",{className:"labelfont",style:Au,children:r.label}),e.jsx("input",{placeholder:r.placeholder||r.label,...r,ref:o,onFocus:c=>{d(!0),a?.(c)},onBlur:c=>{d(!1),s?.(c)},style:{...Du,borderBottom:`1px solid ${l?"#222":"#d9d9d9"}`,...t||{}}})]})}),Vr=[{value:"01",label:"January"},{value:"02",label:"February"},{value:"03",label:"March"},{value:"04",label:"April"},{value:"05",label:"May"},{value:"06",label:"June"},{value:"07",label:"July"},{value:"08",label:"August"},{value:"09",label:"September"},{value:"10",label:"October"},{value:"11",label:"November"},{value:"12",label:"December"}];function rr(t){const a=te().year(),s=[];for(let r=a;r>=a-t;r--)s.push({label:String(r),value:r});return s}function nt(t){switch(t){case"late":return e.jsx("span",{className:"label label-late",children:"L"});case"present":return e.jsx("span",{className:"label label-success",children:"P"});case"absent":return e.jsx("span",{className:"label label-danger",children:"A"});case"P":return e.jsx("span",{className:"monthlyLabel label-success",children:"P"});case"A":return e.jsx("span",{className:"monthlyLabel label-danger",children:"A"});case"L":return e.jsx("span",{className:"monthlyLabel label-late",children:"L"});case"W":return e.jsx("span",{className:"monthlyLabel sunday",children:"W"});case"H":return e.jsx("span",{className:"monthlyLabel holiday",children:"H"});default:return e.jsx("span",{className:"label",children:t})}}function ir(t){const a=te().year(),s=te().month();return t<a?Vr:Vr.slice(0,s+1)}function Wr(t,a){switch(t){case"sunday":return e.jsx("span",{className:"monthlyLabel sunday",children:a});case"holiday":return e.jsx("span",{className:"monthlyLabel holiday",children:a});default:return e.jsx("span",{className:"monthlyLabel",children:a})}}function Tu(){return[{label:"One Time (During Admission)",value:"one_time"},{label:"One Time",value:"one_time_without_admission"},{label:"Monthly",value:"monthly"},{label:"Quarterly",value:"quarterly"},{label:"Half Yearly",value:"half_yearly"},{label:"Yearly",value:"yearly"}]}const Xo=t=>{switch(t){case"paid":return e.jsx("div",{style:{background:"#3cb371",color:"white",textAlign:"center"},children:"PAID"});case"due":return e.jsx("div",{style:{background:"red",color:"white",textAlign:"center"},children:"DUE"});case"partially_paid":return e.jsx("div",{style:{background:"#ff8d00",color:"white",textAlign:"center"},children:"Partially Paid"});case"Present":return e.jsx(n.Tag,{color:"success",children:"Present"});case"Absent":return e.jsx(n.Tag,{color:"error",children:"Absent"});case"NO Attendance":return e.jsx(n.Tag,{color:"error",children:"No Attendance"});case"one_time":return"ONETIME";case"monthly":return"MONTHLY";case"half_yearly":return"HALF YEARLY";case"quarterly":return"QUARTERLY";default:return""}},Rt=t=>{const a=JSON.parse(localStorage.getItem("genrall_settings"));return console.log("amount______",t),e.jsxs(e.Fragment,{children:[a?.currency_icon," ",Number(t||0).toLocaleString("en-IN")]})};var Ca={},Aa={},bt={},Da={},na={},Hr;function Ru(){if(Hr)return na;Hr=1;var t=na&&na.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(na,"__esModule",{value:!0});const a=t(i),s=Tl,r=["string","number","boolean"];function o({header:l,body:d}){const c=a.default.createElement("tr",null,l.map(f=>a.default.createElement("th",{key:f},f))),g=d.map((f,u)=>Array.isArray(f)?a.default.createElement("tr",{key:u},f.map((m,w)=>a.default.createElement("th",{key:w}," ",m," "))):f!==null&&typeof f=="object"?a.default.createElement("tr",{key:u},Object.entries(f).map(([m,w],v)=>typeof w=="object"?(console.error(`typeof ${m} is incorrect, only accept ${r.join(", ")} `),a.default.createElement("th",{key:v})):a.default.createElement("th",{key:v},a.default.createElement(a.default.Fragment,null,w)))):(console.error(`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),a=require("antd"),K=require("swr"),v=require("react-hot-toast"),i=require("react"),pt=require("swr/mutation"),ee=require("@ant-design/icons"),se=require("dayjs"),Wo=require("react-dom/server"),ia=require("react-to-print"),Al=require("react-select"),Dl=require("react-barcode"),Vo=()=>e.jsxs(a.Card,{style:{borderRadius:16},children:[e.jsx(a.Typography.Title,{level:3,style:{marginTop:0},children:"UBK ERP"}),e.jsx(a.Typography.Paragraph,{style:{marginBottom:0},children:"Welcome to your webpack-powered ERP system."})]}),w=({width:t,height:n,display:s,justifyContent:r,alignItems:l,flexDirection:o,gap:d,style:c,children:g,...y})=>{const p={width:t,height:n,display:s,justifyContent:r,alignItems:l,flexDirection:o,gap:d,...c};return e.jsx("div",{style:p,...y,children:g})},be=({variant:t,fontWeight:n,style:s,children:r,...l})=>{const o=n==="bold"?700:n==="light"?300:n;return t==="h1"?e.jsx(a.Typography.Title,{level:1,style:{fontWeight:o,...s},...l,children:r}):t==="h2"?e.jsx(a.Typography.Title,{level:2,style:{fontWeight:o,...s},...l,children:r}):t==="h3"?e.jsx(a.Typography.Title,{level:3,style:{fontWeight:o,...s},...l,children:r}):t==="h4"?e.jsx(a.Typography.Title,{level:4,style:{fontWeight:o,...s},...l,children:r}):t==="h5"?e.jsx(a.Typography.Title,{level:5,style:{fontWeight:o,...s},...l,children:r}):e.jsx(a.Typography.Text,{style:{fontWeight:o,...s},...l,children:r})};function Tl({title:t="",icon:n="",path:s="",onClick:r}){const l=()=>{if(r){r(s);return}typeof window<"u"&&typeof s=="string"&&s.length>0&&window.location.assign(s)};return e.jsxs(a.Card,{hoverable:!0,onClick:l,style:{borderRadius:12,overflow:"hidden",boxShadow:"0 1px 2px rgba(16, 24, 40, 0.05), 0 1px 3px rgba(16, 24, 40, 0.10)"},bodyStyle:{padding:0,cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"stretch"},children:[e.jsx(w,{width:"100%",display:"flex",justifyContent:"center",alignItems:"center",style:{padding:"10px 12px",minHeight:80},children:e.jsx("img",{src:n,alt:"",style:{width:45,height:50,objectFit:"contain"}})}),e.jsx(w,{style:{padding:"0 12px"},children:e.jsx(a.Divider,{style:{margin:0,minWidth:0}})}),e.jsx(w,{style:{padding:"10px 10px",display:"flex",justifyContent:"center",alignItems:"center",minHeight:35},children:e.jsx(be,{variant:"button",fontWeight:"bold",style:{fontSize:12},children:t})})]})}function Rl(t,n){return function(){return t.apply(n,arguments)}}const{toString:Ho}=Object.prototype,{getPrototypeOf:as}=Object,{iterator:ns,toStringTag:Il}=Symbol,ss=(t=>n=>{const s=Ho.call(n);return t[s]||(t[s]=s.slice(8,-1).toLowerCase())})(Object.create(null)),Ot=t=>(t=t.toLowerCase(),n=>ss(n)===t),rs=t=>n=>typeof n===t,{isArray:Ta}=Array,_a=rs("undefined");function rn(t){return t!==null&&!_a(t)&&t.constructor!==null&&!_a(t.constructor)&&St(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const kl=Ot("ArrayBuffer");function Ko(t){let n;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?n=ArrayBuffer.isView(t):n=t&&t.buffer&&kl(t.buffer),n}const Go=rs("string"),St=rs("function"),Pl=rs("number"),ln=t=>t!==null&&typeof t=="object",Jo=t=>t===!0||t===!1,$n=t=>{if(ss(t)!=="object")return!1;const n=as(t);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Il in t)&&!(ns in t)},Qo=t=>{if(!ln(t)||rn(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},Xo=Ot("Date"),Zo=Ot("File"),ed=t=>!!(t&&typeof t.uri<"u"),td=t=>t&&typeof t.getParts<"u",ad=Ot("Blob"),nd=Ot("FileList"),sd=t=>ln(t)&&St(t.pipe);function rd(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const br=rd(),jr=typeof br.FormData<"u"?br.FormData:void 0,id=t=>{if(!t)return!1;if(jr&&t instanceof jr)return!0;const n=as(t);if(!n||n===Object.prototype||!St(t.append))return!1;const s=ss(t);return s==="formdata"||s==="object"&&St(t.toString)&&t.toString()==="[object FormData]"},ld=Ot("URLSearchParams"),[od,dd,cd,ud]=["ReadableStream","Request","Response","Headers"].map(Ot),pd=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function on(t,n,{allOwnKeys:s=!1}={}){if(t===null||typeof t>"u")return;let r,l;if(typeof t!="object"&&(t=[t]),Ta(t))for(r=0,l=t.length;r<l;r++)n.call(null,t[r],r,t);else{if(rn(t))return;const o=s?Object.getOwnPropertyNames(t):Object.keys(t),d=o.length;let c;for(r=0;r<d;r++)c=o[r],n.call(null,t[c],c,t)}}function Ol(t,n){if(rn(t))return null;n=n.toLowerCase();const s=Object.keys(t);let r=s.length,l;for(;r-- >0;)if(l=s[r],n===l.toLowerCase())return l;return null}const ta=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ml=t=>!_a(t)&&t!==ta;function Ks(){const{caseless:t,skipUndefined:n}=Ml(this)&&this||{},s={},r=(l,o)=>{if(o==="__proto__"||o==="constructor"||o==="prototype")return;const d=t&&Ol(s,o)||o;$n(s[d])&&$n(l)?s[d]=Ks(s[d],l):$n(l)?s[d]=Ks({},l):Ta(l)?s[d]=l.slice():(!n||!_a(l))&&(s[d]=l)};for(let l=0,o=arguments.length;l<o;l++)arguments[l]&&on(arguments[l],r);return s}const md=(t,n,s,{allOwnKeys:r}={})=>(on(n,(l,o)=>{s&&St(l)?Object.defineProperty(t,o,{value:Rl(l,s),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,o,{value:l,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),t),hd=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),fd=(t,n,s,r)=>{t.prototype=Object.create(n.prototype,r),Object.defineProperty(t.prototype,"constructor",{value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,"super",{value:n.prototype}),s&&Object.assign(t.prototype,s)},yd=(t,n,s,r)=>{let l,o,d;const c={};if(n=n||{},t==null)return n;do{for(l=Object.getOwnPropertyNames(t),o=l.length;o-- >0;)d=l[o],(!r||r(d,t,n))&&!c[d]&&(n[d]=t[d],c[d]=!0);t=s!==!1&&as(t)}while(t&&(!s||s(t,n))&&t!==Object.prototype);return n},gd=(t,n,s)=>{t=String(t),(s===void 0||s>t.length)&&(s=t.length),s-=n.length;const r=t.indexOf(n,s);return r!==-1&&r===s},xd=t=>{if(!t)return null;if(Ta(t))return t;let n=t.length;if(!Pl(n))return null;const s=new Array(n);for(;n-- >0;)s[n]=t[n];return s},bd=(t=>n=>t&&n instanceof t)(typeof Uint8Array<"u"&&as(Uint8Array)),jd=(t,n)=>{const r=(t&&t[ns]).call(t);let l;for(;(l=r.next())&&!l.done;){const o=l.value;n.call(t,o[0],o[1])}},Sd=(t,n)=>{let s;const r=[];for(;(s=t.exec(n))!==null;)r.push(s);return r},vd=Ot("HTMLFormElement"),wd=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(s,r,l){return r.toUpperCase()+l}),Sr=(({hasOwnProperty:t})=>(n,s)=>t.call(n,s))(Object.prototype),_d=Ot("RegExp"),El=(t,n)=>{const s=Object.getOwnPropertyDescriptors(t),r={};on(s,(l,o)=>{let d;(d=n(l,o,t))!==!1&&(r[o]=d||l)}),Object.defineProperties(t,r)},Cd=t=>{El(t,(n,s)=>{if(St(t)&&["arguments","caller","callee"].indexOf(s)!==-1)return!1;const r=t[s];if(St(r)){if(n.enumerable=!1,"writable"in n){n.writable=!1;return}n.set||(n.set=()=>{throw Error("Can not rewrite read-only method '"+s+"'")})}})},Ad=(t,n)=>{const s={},r=l=>{l.forEach(o=>{s[o]=!0})};return Ta(t)?r(t):r(String(t).split(n)),s},Dd=()=>{},Td=(t,n)=>t!=null&&Number.isFinite(t=+t)?t:n;function Rd(t){return!!(t&&St(t.append)&&t[Il]==="FormData"&&t[ns])}const Id=t=>{const n=new Array(10),s=(r,l)=>{if(ln(r)){if(n.indexOf(r)>=0)return;if(rn(r))return r;if(!("toJSON"in r)){n[l]=r;const o=Ta(r)?[]:{};return on(r,(d,c)=>{const g=s(d,l+1);!_a(g)&&(o[c]=g)}),n[l]=void 0,o}}return r};return s(t,0)},kd=Ot("AsyncFunction"),Pd=t=>t&&(ln(t)||St(t))&&St(t.then)&&St(t.catch),Fl=((t,n)=>t?setImmediate:n?((s,r)=>(ta.addEventListener("message",({source:l,data:o})=>{l===ta&&o===s&&r.length&&r.shift()()},!1),l=>{r.push(l),ta.postMessage(s,"*")}))(`axios@${Math.random()}`,[]):s=>setTimeout(s))(typeof setImmediate=="function",St(ta.postMessage)),Od=typeof queueMicrotask<"u"?queueMicrotask.bind(ta):typeof process<"u"&&process.nextTick||Fl,Md=t=>t!=null&&St(t[ns]),te={isArray:Ta,isArrayBuffer:kl,isBuffer:rn,isFormData:id,isArrayBufferView:Ko,isString:Go,isNumber:Pl,isBoolean:Jo,isObject:ln,isPlainObject:$n,isEmptyObject:Qo,isReadableStream:od,isRequest:dd,isResponse:cd,isHeaders:ud,isUndefined:_a,isDate:Xo,isFile:Zo,isReactNativeBlob:ed,isReactNative:td,isBlob:ad,isRegExp:_d,isFunction:St,isStream:sd,isURLSearchParams:ld,isTypedArray:bd,isFileList:nd,forEach:on,merge:Ks,extend:md,trim:pd,stripBOM:hd,inherits:fd,toFlatObject:yd,kindOf:ss,kindOfTest:Ot,endsWith:gd,toArray:xd,forEachEntry:jd,matchAll:Sd,isHTMLForm:vd,hasOwnProperty:Sr,hasOwnProp:Sr,reduceDescriptors:El,freezeMethods:Cd,toObjectSet:Ad,toCamelCase:wd,noop:Dd,toFiniteNumber:Td,findKey:Ol,global:ta,isContextDefined:Ml,isSpecCompliantForm:Rd,toJSONObject:Id,isAsyncFn:kd,isThenable:Pd,setImmediate:Fl,asap:Od,isIterable:Md};let Me=class $l extends Error{static from(n,s,r,l,o,d){const c=new $l(n.message,s||n.code,r,l,o);return c.cause=n,c.name=n.name,n.status!=null&&c.status==null&&(c.status=n.status),d&&Object.assign(c,d),c}constructor(n,s,r,l,o){super(n),Object.defineProperty(this,"message",{value:n,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,s&&(this.code=s),r&&(this.config=r),l&&(this.request=l),o&&(this.response=o,this.status=o.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:te.toJSONObject(this.config),code:this.code,status:this.status}}};Me.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";Me.ERR_BAD_OPTION="ERR_BAD_OPTION";Me.ECONNABORTED="ECONNABORTED";Me.ETIMEDOUT="ETIMEDOUT";Me.ERR_NETWORK="ERR_NETWORK";Me.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";Me.ERR_DEPRECATED="ERR_DEPRECATED";Me.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";Me.ERR_BAD_REQUEST="ERR_BAD_REQUEST";Me.ERR_CANCELED="ERR_CANCELED";Me.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";Me.ERR_INVALID_URL="ERR_INVALID_URL";Me.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const Ed=null;function Gs(t){return te.isPlainObject(t)||te.isArray(t)}function Ul(t){return te.endsWith(t,"[]")?t.slice(0,-2):t}function bs(t,n,s){return t?t.concat(n).map(function(l,o){return l=Ul(l),!s&&o?"["+l+"]":l}).join(s?".":""):n}function Fd(t){return te.isArray(t)&&!t.some(Gs)}const $d=te.toFlatObject(te,{},null,function(n){return/^is[A-Z]/.test(n)});function is(t,n,s){if(!te.isObject(t))throw new TypeError("target must be an object");n=n||new FormData,s=te.toFlatObject(s,{metaTokens:!0,dots:!1,indexes:!1},!1,function(x,R){return!te.isUndefined(R[x])});const r=s.metaTokens,l=s.visitor||m,o=s.dots,d=s.indexes,c=s.Blob||typeof Blob<"u"&&Blob,g=s.maxDepth===void 0?100:s.maxDepth,y=c&&te.isSpecCompliantForm(n);if(!te.isFunction(l))throw new TypeError("visitor must be a function");function p(f){if(f===null)return"";if(te.isDate(f))return f.toISOString();if(te.isBoolean(f))return f.toString();if(!y&&te.isBlob(f))throw new Me("Blob is not supported. Use a Buffer instead.");return te.isArrayBuffer(f)||te.isTypedArray(f)?y&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function m(f,x,R){let k=f;if(te.isReactNative(n)&&te.isReactNativeBlob(f))return n.append(bs(R,x,o),p(f)),!1;if(f&&!R&&typeof f=="object"){if(te.endsWith(x,"{}"))x=r?x:x.slice(0,-2),f=JSON.stringify(f);else if(te.isArray(f)&&Fd(f)||(te.isFileList(f)||te.endsWith(x,"[]"))&&(k=te.toArray(f)))return x=Ul(x),k.forEach(function(_,D){!(te.isUndefined(_)||_===null)&&n.append(d===!0?bs([x],D,o):d===null?x:x+"[]",p(_))}),!1}return Gs(f)?!0:(n.append(bs(R,x,o),p(f)),!1)}const A=[],C=Object.assign($d,{defaultVisitor:m,convertValue:p,isVisitable:Gs});function b(f,x,R=0){if(!te.isUndefined(f)){if(R>g)throw new Me("Object is too deeply nested ("+R+" levels). Max depth: "+g,Me.ERR_FORM_DATA_DEPTH_EXCEEDED);if(A.indexOf(f)!==-1)throw Error("Circular reference detected in "+x.join("."));A.push(f),te.forEach(f,function(O,_){(!(te.isUndefined(O)||O===null)&&l.call(n,O,te.isString(_)?_.trim():_,x,C))===!0&&b(O,x?x.concat(_):[_],R+1)}),A.pop()}}if(!te.isObject(t))throw new TypeError("data must be an object");return b(t),n}function vr(t){const n={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(t).replace(/[!'()~]|%20/g,function(r){return n[r]})}function ar(t,n){this._pairs=[],t&&is(t,this,n)}const Bl=ar.prototype;Bl.append=function(n,s){this._pairs.push([n,s])};Bl.toString=function(n){const s=n?function(r){return n.call(this,r,vr)}:vr;return this._pairs.map(function(l){return s(l[0])+"="+s(l[1])},"").join("&")};function Ud(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Nl(t,n,s){if(!n)return t;const r=s&&s.encode||Ud,l=te.isFunction(s)?{serialize:s}:s,o=l&&l.serialize;let d;if(o?d=o(n,l):d=te.isURLSearchParams(n)?n.toString():new ar(n,l).toString(r),d){const c=t.indexOf("#");c!==-1&&(t=t.slice(0,c)),t+=(t.indexOf("?")===-1?"?":"&")+d}return t}class wr{constructor(){this.handlers=[]}use(n,s,r){return this.handlers.push({fulfilled:n,rejected:s,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(n){this.handlers[n]&&(this.handlers[n]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(n){te.forEach(this.handlers,function(r){r!==null&&n(r)})}}const nr={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},Bd=typeof URLSearchParams<"u"?URLSearchParams:ar,Nd=typeof FormData<"u"?FormData:null,Ld=typeof Blob<"u"?Blob:null,qd={isBrowser:!0,classes:{URLSearchParams:Bd,FormData:Nd,Blob:Ld},protocols:["http","https","file","blob","url","data"]},sr=typeof window<"u"&&typeof document<"u",Js=typeof navigator=="object"&&navigator||void 0,zd=sr&&(!Js||["ReactNative","NativeScript","NS"].indexOf(Js.product)<0),Yd=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Wd=sr&&window.location.href||"http://localhost",Vd=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:sr,hasStandardBrowserEnv:zd,hasStandardBrowserWebWorkerEnv:Yd,navigator:Js,origin:Wd},Symbol.toStringTag,{value:"Module"})),yt={...Vd,...qd};function Hd(t,n){return is(t,new yt.classes.URLSearchParams,{visitor:function(s,r,l,o){return yt.isNode&&te.isBuffer(s)?(this.append(r,s.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...n})}function Kd(t){return te.matchAll(/\w+|\[(\w*)]/g,t).map(n=>n[0]==="[]"?"":n[1]||n[0])}function Gd(t){const n={},s=Object.keys(t);let r;const l=s.length;let o;for(r=0;r<l;r++)o=s[r],n[o]=t[o];return n}function Ll(t){function n(s,r,l,o){let d=s[o++];if(d==="__proto__")return!0;const c=Number.isFinite(+d),g=o>=s.length;return d=!d&&te.isArray(l)?l.length:d,g?(te.hasOwnProp(l,d)?l[d]=te.isArray(l[d])?l[d].concat(r):[l[d],r]:l[d]=r,!c):((!l[d]||!te.isObject(l[d]))&&(l[d]=[]),n(s,r,l[d],o)&&te.isArray(l[d])&&(l[d]=Gd(l[d])),!c)}if(te.isFormData(t)&&te.isFunction(t.entries)){const s={};return te.forEachEntry(t,(r,l)=>{n(Kd(r),l,s,0)}),s}return null}const da=(t,n)=>t!=null&&te.hasOwnProp(t,n)?t[n]:void 0;function Jd(t,n,s){if(te.isString(t))try{return(n||JSON.parse)(t),te.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(s||JSON.stringify)(t)}const dn={transitional:nr,adapter:["xhr","http","fetch"],transformRequest:[function(n,s){const r=s.getContentType()||"",l=r.indexOf("application/json")>-1,o=te.isObject(n);if(o&&te.isHTMLForm(n)&&(n=new FormData(n)),te.isFormData(n))return l?JSON.stringify(Ll(n)):n;if(te.isArrayBuffer(n)||te.isBuffer(n)||te.isStream(n)||te.isFile(n)||te.isBlob(n)||te.isReadableStream(n))return n;if(te.isArrayBufferView(n))return n.buffer;if(te.isURLSearchParams(n))return s.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),n.toString();let c;if(o){const g=da(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return Hd(n,g).toString();if((c=te.isFileList(n))||r.indexOf("multipart/form-data")>-1){const y=da(this,"env"),p=y&&y.FormData;return is(c?{"files[]":n}:n,p&&new p,g)}}return o||l?(s.setContentType("application/json",!1),Jd(n)):n}],transformResponse:[function(n){const s=da(this,"transitional")||dn.transitional,r=s&&s.forcedJSONParsing,l=da(this,"responseType"),o=l==="json";if(te.isResponse(n)||te.isReadableStream(n))return n;if(n&&te.isString(n)&&(r&&!l||o)){const c=!(s&&s.silentJSONParsing)&&o;try{return JSON.parse(n,da(this,"parseReviver"))}catch(g){if(c)throw g.name==="SyntaxError"?Me.from(g,Me.ERR_BAD_RESPONSE,this,null,da(this,"response")):g}}return n}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:yt.classes.FormData,Blob:yt.classes.Blob},validateStatus:function(n){return n>=200&&n<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};te.forEach(["delete","get","head","post","put","patch"],t=>{dn.headers[t]={}});const Qd=te.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Xd=t=>{const n={};let s,r,l;return t&&t.split(`
|
|
2
|
+
`).forEach(function(d){l=d.indexOf(":"),s=d.substring(0,l).trim().toLowerCase(),r=d.substring(l+1).trim(),!(!s||n[s]&&Qd[s])&&(s==="set-cookie"?n[s]?n[s].push(r):n[s]=[r]:n[s]=n[s]?n[s]+", "+r:r)}),n},_r=Symbol("internals"),Zd=/[^\x09\x20-\x7E\x80-\xFF]/g;function ec(t){let n=0,s=t.length;for(;n<s;){const r=t.charCodeAt(n);if(r!==9&&r!==32)break;n+=1}for(;s>n;){const r=t.charCodeAt(s-1);if(r!==9&&r!==32)break;s-=1}return n===0&&s===t.length?t:t.slice(n,s)}function Oa(t){return t&&String(t).trim().toLowerCase()}function tc(t){return ec(t.replace(Zd,""))}function Un(t){return t===!1||t==null?t:te.isArray(t)?t.map(Un):tc(String(t))}function ac(t){const n=Object.create(null),s=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=s.exec(t);)n[r[1]]=r[2];return n}const nc=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function js(t,n,s,r,l){if(te.isFunction(r))return r.call(this,n,s);if(l&&(n=s),!!te.isString(n)){if(te.isString(r))return n.indexOf(r)!==-1;if(te.isRegExp(r))return r.test(n)}}function sc(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(n,s,r)=>s.toUpperCase()+r)}function rc(t,n){const s=te.toCamelCase(" "+n);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+s,{value:function(l,o,d){return this[r].call(this,n,l,o,d)},configurable:!0})})}let vt=class{constructor(n){n&&this.set(n)}set(n,s,r){const l=this;function o(c,g,y){const p=Oa(g);if(!p)throw new Error("header name must be a non-empty string");const m=te.findKey(l,p);(!m||l[m]===void 0||y===!0||y===void 0&&l[m]!==!1)&&(l[m||g]=Un(c))}const d=(c,g)=>te.forEach(c,(y,p)=>o(y,p,g));if(te.isPlainObject(n)||n instanceof this.constructor)d(n,s);else if(te.isString(n)&&(n=n.trim())&&!nc(n))d(Xd(n),s);else if(te.isObject(n)&&te.isIterable(n)){let c={},g,y;for(const p of n){if(!te.isArray(p))throw TypeError("Object iterator must return a key-value pair");c[y=p[0]]=(g=c[y])?te.isArray(g)?[...g,p[1]]:[g,p[1]]:p[1]}d(c,s)}else n!=null&&o(s,n,r);return this}get(n,s){if(n=Oa(n),n){const r=te.findKey(this,n);if(r){const l=this[r];if(!s)return l;if(s===!0)return ac(l);if(te.isFunction(s))return s.call(this,l,r);if(te.isRegExp(s))return s.exec(l);throw new TypeError("parser must be boolean|regexp|function")}}}has(n,s){if(n=Oa(n),n){const r=te.findKey(this,n);return!!(r&&this[r]!==void 0&&(!s||js(this,this[r],r,s)))}return!1}delete(n,s){const r=this;let l=!1;function o(d){if(d=Oa(d),d){const c=te.findKey(r,d);c&&(!s||js(r,r[c],c,s))&&(delete r[c],l=!0)}}return te.isArray(n)?n.forEach(o):o(n),l}clear(n){const s=Object.keys(this);let r=s.length,l=!1;for(;r--;){const o=s[r];(!n||js(this,this[o],o,n,!0))&&(delete this[o],l=!0)}return l}normalize(n){const s=this,r={};return te.forEach(this,(l,o)=>{const d=te.findKey(r,o);if(d){s[d]=Un(l),delete s[o];return}const c=n?sc(o):String(o).trim();c!==o&&delete s[o],s[c]=Un(l),r[c]=!0}),this}concat(...n){return this.constructor.concat(this,...n)}toJSON(n){const s=Object.create(null);return te.forEach(this,(r,l)=>{r!=null&&r!==!1&&(s[l]=n&&te.isArray(r)?r.join(", "):r)}),s}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([n,s])=>n+": "+s).join(`
|
|
3
|
+
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(n){return n instanceof this?n:new this(n)}static concat(n,...s){const r=new this(n);return s.forEach(l=>r.set(l)),r}static accessor(n){const r=(this[_r]=this[_r]={accessors:{}}).accessors,l=this.prototype;function o(d){const c=Oa(d);r[c]||(rc(l,d),r[c]=!0)}return te.isArray(n)?n.forEach(o):o(n),this}};vt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);te.reduceDescriptors(vt.prototype,({value:t},n)=>{let s=n[0].toUpperCase()+n.slice(1);return{get:()=>t,set(r){this[s]=r}}});te.freezeMethods(vt);function Ss(t,n){const s=this||dn,r=n||s,l=vt.from(r.headers);let o=r.data;return te.forEach(t,function(c){o=c.call(s,o,l.normalize(),n?n.status:void 0)}),l.normalize(),o}function ql(t){return!!(t&&t.__CANCEL__)}let cn=class extends Me{constructor(n,s,r){super(n??"canceled",Me.ERR_CANCELED,s,r),this.name="CanceledError",this.__CANCEL__=!0}};function zl(t,n,s){const r=s.config.validateStatus;!s.status||!r||r(s.status)?t(s):n(new Me("Request failed with status code "+s.status,[Me.ERR_BAD_REQUEST,Me.ERR_BAD_RESPONSE][Math.floor(s.status/100)-4],s.config,s.request,s))}function ic(t){const n=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return n&&n[1]||""}function lc(t,n){t=t||10;const s=new Array(t),r=new Array(t);let l=0,o=0,d;return n=n!==void 0?n:1e3,function(g){const y=Date.now(),p=r[o];d||(d=y),s[l]=g,r[l]=y;let m=o,A=0;for(;m!==l;)A+=s[m++],m=m%t;if(l=(l+1)%t,l===o&&(o=(o+1)%t),y-d<n)return;const C=p&&y-p;return C?Math.round(A*1e3/C):void 0}}function oc(t,n){let s=0,r=1e3/n,l,o;const d=(y,p=Date.now())=>{s=p,l=null,o&&(clearTimeout(o),o=null),t(...y)};return[(...y)=>{const p=Date.now(),m=p-s;m>=r?d(y,p):(l=y,o||(o=setTimeout(()=>{o=null,d(l)},r-m)))},()=>l&&d(l)]}const ts=(t,n,s=3)=>{let r=0;const l=lc(50,250);return oc(o=>{const d=o.loaded,c=o.lengthComputable?o.total:void 0,g=c!=null?Math.min(d,c):d,y=Math.max(0,g-r),p=l(y);r=Math.max(r,g);const m={loaded:g,total:c,progress:c?g/c:void 0,bytes:y,rate:p||void 0,estimated:p&&c?(c-g)/p:void 0,event:o,lengthComputable:c!=null,[n?"download":"upload"]:!0};t(m)},s)},Cr=(t,n)=>{const s=t!=null;return[r=>n[0]({lengthComputable:s,total:t,loaded:r}),n[1]]},Ar=t=>(...n)=>te.asap(()=>t(...n)),dc=yt.hasStandardBrowserEnv?((t,n)=>s=>(s=new URL(s,yt.origin),t.protocol===s.protocol&&t.host===s.host&&(n||t.port===s.port)))(new URL(yt.origin),yt.navigator&&/(msie|trident)/i.test(yt.navigator.userAgent)):()=>!0,cc=yt.hasStandardBrowserEnv?{write(t,n,s,r,l,o,d){if(typeof document>"u")return;const c=[`${t}=${encodeURIComponent(n)}`];te.isNumber(s)&&c.push(`expires=${new Date(s).toUTCString()}`),te.isString(r)&&c.push(`path=${r}`),te.isString(l)&&c.push(`domain=${l}`),o===!0&&c.push("secure"),te.isString(d)&&c.push(`SameSite=${d}`),document.cookie=c.join("; ")},read(t){if(typeof document>"u")return null;const n=document.cookie.match(new RegExp("(?:^|; )"+t+"=([^;]*)"));return n?decodeURIComponent(n[1]):null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function uc(t){return typeof t!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function pc(t,n){return n?t.replace(/\/?\/$/,"")+"/"+n.replace(/^\/+/,""):t}function Yl(t,n,s){let r=!uc(n);return t&&(r||s===!1)?pc(t,n):n}const Dr=t=>t instanceof vt?{...t}:t;function ra(t,n){n=n||{};const s=Object.create(null);Object.defineProperty(s,"hasOwnProperty",{value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(y,p,m,A){return te.isPlainObject(y)&&te.isPlainObject(p)?te.merge.call({caseless:A},y,p):te.isPlainObject(p)?te.merge({},p):te.isArray(p)?p.slice():p}function l(y,p,m,A){if(te.isUndefined(p)){if(!te.isUndefined(y))return r(void 0,y,m,A)}else return r(y,p,m,A)}function o(y,p){if(!te.isUndefined(p))return r(void 0,p)}function d(y,p){if(te.isUndefined(p)){if(!te.isUndefined(y))return r(void 0,y)}else return r(void 0,p)}function c(y,p,m){if(te.hasOwnProp(n,m))return r(y,p);if(te.hasOwnProp(t,m))return r(void 0,y)}const g={url:o,method:o,data:o,baseURL:d,transformRequest:d,transformResponse:d,paramsSerializer:d,timeout:d,timeoutMessage:d,withCredentials:d,withXSRFToken:d,adapter:d,responseType:d,xsrfCookieName:d,xsrfHeaderName:d,onUploadProgress:d,onDownloadProgress:d,decompress:d,maxContentLength:d,maxBodyLength:d,beforeRedirect:d,transport:d,httpAgent:d,httpsAgent:d,cancelToken:d,socketPath:d,allowedSocketPaths:d,responseEncoding:d,validateStatus:c,headers:(y,p,m)=>l(Dr(y),Dr(p),m,!0)};return te.forEach(Object.keys({...t,...n}),function(p){if(p==="__proto__"||p==="constructor"||p==="prototype")return;const m=te.hasOwnProp(g,p)?g[p]:l,A=te.hasOwnProp(t,p)?t[p]:void 0,C=te.hasOwnProp(n,p)?n[p]:void 0,b=m(A,C,p);te.isUndefined(b)&&m!==c||(s[p]=b)}),s}const Wl=t=>{const n=ra({},t),s=A=>te.hasOwnProp(n,A)?n[A]:void 0,r=s("data");let l=s("withXSRFToken");const o=s("xsrfHeaderName"),d=s("xsrfCookieName");let c=s("headers");const g=s("auth"),y=s("baseURL"),p=s("allowAbsoluteUrls"),m=s("url");if(n.headers=c=vt.from(c),n.url=Nl(Yl(y,m,p),t.params,t.paramsSerializer),g&&c.set("Authorization","Basic "+btoa((g.username||"")+":"+(g.password?unescape(encodeURIComponent(g.password)):""))),te.isFormData(r)){if(yt.hasStandardBrowserEnv||yt.hasStandardBrowserWebWorkerEnv)c.setContentType(void 0);else if(te.isFunction(r.getHeaders)){const A=r.getHeaders(),C=["content-type","content-length"];Object.entries(A).forEach(([b,f])=>{C.includes(b.toLowerCase())&&c.set(b,f)})}}if(yt.hasStandardBrowserEnv&&(te.isFunction(l)&&(l=l(n)),l===!0||l==null&&dc(n.url))){const C=o&&d&&cc.read(d);C&&c.set(o,C)}return n},mc=typeof XMLHttpRequest<"u",hc=mc&&function(t){return new Promise(function(s,r){const l=Wl(t);let o=l.data;const d=vt.from(l.headers).normalize();let{responseType:c,onUploadProgress:g,onDownloadProgress:y}=l,p,m,A,C,b;function f(){C&&C(),b&&b(),l.cancelToken&&l.cancelToken.unsubscribe(p),l.signal&&l.signal.removeEventListener("abort",p)}let x=new XMLHttpRequest;x.open(l.method.toUpperCase(),l.url,!0),x.timeout=l.timeout;function R(){if(!x)return;const O=vt.from("getAllResponseHeaders"in x&&x.getAllResponseHeaders()),D={data:!c||c==="text"||c==="json"?x.responseText:x.response,status:x.status,statusText:x.statusText,headers:O,config:t,request:x};zl(function(h){s(h),f()},function(h){r(h),f()},D),x=null}"onloadend"in x?x.onloadend=R:x.onreadystatechange=function(){!x||x.readyState!==4||x.status===0&&!(x.responseURL&&x.responseURL.indexOf("file:")===0)||setTimeout(R)},x.onabort=function(){x&&(r(new Me("Request aborted",Me.ECONNABORTED,t,x)),x=null)},x.onerror=function(_){const D=_&&_.message?_.message:"Network Error",u=new Me(D,Me.ERR_NETWORK,t,x);u.event=_||null,r(u),x=null},x.ontimeout=function(){let _=l.timeout?"timeout of "+l.timeout+"ms exceeded":"timeout exceeded";const D=l.transitional||nr;l.timeoutErrorMessage&&(_=l.timeoutErrorMessage),r(new Me(_,D.clarifyTimeoutError?Me.ETIMEDOUT:Me.ECONNABORTED,t,x)),x=null},o===void 0&&d.setContentType(null),"setRequestHeader"in x&&te.forEach(d.toJSON(),function(_,D){x.setRequestHeader(D,_)}),te.isUndefined(l.withCredentials)||(x.withCredentials=!!l.withCredentials),c&&c!=="json"&&(x.responseType=l.responseType),y&&([A,b]=ts(y,!0),x.addEventListener("progress",A)),g&&x.upload&&([m,C]=ts(g),x.upload.addEventListener("progress",m),x.upload.addEventListener("loadend",C)),(l.cancelToken||l.signal)&&(p=O=>{x&&(r(!O||O.type?new cn(null,t,x):O),x.abort(),x=null)},l.cancelToken&&l.cancelToken.subscribe(p),l.signal&&(l.signal.aborted?p():l.signal.addEventListener("abort",p)));const k=ic(l.url);if(k&&yt.protocols.indexOf(k)===-1){r(new Me("Unsupported protocol "+k+":",Me.ERR_BAD_REQUEST,t));return}x.send(o||null)})},fc=(t,n)=>{const{length:s}=t=t?t.filter(Boolean):[];if(n||s){let r=new AbortController,l;const o=function(y){if(!l){l=!0,c();const p=y instanceof Error?y:this.reason;r.abort(p instanceof Me?p:new cn(p instanceof Error?p.message:p))}};let d=n&&setTimeout(()=>{d=null,o(new Me(`timeout of ${n}ms exceeded`,Me.ETIMEDOUT))},n);const c=()=>{t&&(d&&clearTimeout(d),d=null,t.forEach(y=>{y.unsubscribe?y.unsubscribe(o):y.removeEventListener("abort",o)}),t=null)};t.forEach(y=>y.addEventListener("abort",o));const{signal:g}=r;return g.unsubscribe=()=>te.asap(c),g}},yc=function*(t,n){let s=t.byteLength;if(s<n){yield t;return}let r=0,l;for(;r<s;)l=r+n,yield t.slice(r,l),r=l},gc=async function*(t,n){for await(const s of xc(t))yield*yc(s,n)},xc=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const n=t.getReader();try{for(;;){const{done:s,value:r}=await n.read();if(s)break;yield r}}finally{await n.cancel()}},Tr=(t,n,s,r)=>{const l=gc(t,n);let o=0,d,c=g=>{d||(d=!0,r&&r(g))};return new ReadableStream({async pull(g){try{const{done:y,value:p}=await l.next();if(y){c(),g.close();return}let m=p.byteLength;if(s){let A=o+=m;s(A)}g.enqueue(new Uint8Array(p))}catch(y){throw c(y),y}},cancel(g){return c(g),l.return()}},{highWaterMark:2})},Rr=64*1024,{isFunction:bn}=te,bc=(({Request:t,Response:n})=>({Request:t,Response:n}))(te.global),{ReadableStream:Ir,TextEncoder:kr}=te.global,Pr=(t,...n)=>{try{return!!t(...n)}catch{return!1}},jc=t=>{t=te.merge.call({skipUndefined:!0},bc,t);const{fetch:n,Request:s,Response:r}=t,l=n?bn(n):typeof fetch=="function",o=bn(s),d=bn(r);if(!l)return!1;const c=l&&bn(Ir),g=l&&(typeof kr=="function"?(b=>f=>b.encode(f))(new kr):async b=>new Uint8Array(await new s(b).arrayBuffer())),y=o&&c&&Pr(()=>{let b=!1;const f=new s(yt.origin,{body:new Ir,method:"POST",get duplex(){return b=!0,"half"}}),x=f.headers.has("Content-Type");return f.body!=null&&f.body.cancel(),b&&!x}),p=d&&c&&Pr(()=>te.isReadableStream(new r("").body)),m={stream:p&&(b=>b.body)};l&&["text","arrayBuffer","blob","formData","stream"].forEach(b=>{!m[b]&&(m[b]=(f,x)=>{let R=f&&f[b];if(R)return R.call(f);throw new Me(`Response type '${b}' is not supported`,Me.ERR_NOT_SUPPORT,x)})});const A=async b=>{if(b==null)return 0;if(te.isBlob(b))return b.size;if(te.isSpecCompliantForm(b))return(await new s(yt.origin,{method:"POST",body:b}).arrayBuffer()).byteLength;if(te.isArrayBufferView(b)||te.isArrayBuffer(b))return b.byteLength;if(te.isURLSearchParams(b)&&(b=b+""),te.isString(b))return(await g(b)).byteLength},C=async(b,f)=>{const x=te.toFiniteNumber(b.getContentLength());return x??A(f)};return async b=>{let{url:f,method:x,data:R,signal:k,cancelToken:O,timeout:_,onDownloadProgress:D,onUploadProgress:u,responseType:h,headers:S,withCredentials:E="same-origin",fetchOptions:$}=Wl(b),q=n||fetch;h=h?(h+"").toLowerCase():"text";let T=fc([k,O&&O.toAbortSignal()],_),F=null;const j=T&&T.unsubscribe&&(()=>{T.unsubscribe()});let P;try{if(u&&y&&x!=="get"&&x!=="head"&&(P=await C(S,R))!==0){let U=new s(f,{method:"POST",body:R,duplex:"half"}),M;if(te.isFormData(R)&&(M=U.headers.get("content-type"))&&S.setContentType(M),U.body){const[L,z]=Cr(P,ts(Ar(u)));R=Tr(U.body,Rr,L,z)}}te.isString(E)||(E=E?"include":"omit");const I=o&&"credentials"in s.prototype;if(te.isFormData(R)){const U=S.getContentType();U&&/^multipart\/form-data/i.test(U)&&!/boundary=/i.test(U)&&S.delete("content-type")}const N={...$,signal:T,method:x.toUpperCase(),headers:S.normalize().toJSON(),body:R,duplex:"half",credentials:I?E:void 0};F=o&&new s(f,N);let W=await(o?q(F,$):q(f,N));const Y=p&&(h==="stream"||h==="response");if(p&&(D||Y&&j)){const U={};["status","statusText","headers"].forEach(ne=>{U[ne]=W[ne]});const M=te.toFiniteNumber(W.headers.get("content-length")),[L,z]=D&&Cr(M,ts(Ar(D),!0))||[];W=new r(Tr(W.body,Rr,L,()=>{z&&z(),j&&j()}),U)}h=h||"text";let B=await m[te.findKey(m,h)||"text"](W,b);return!Y&&j&&j(),await new Promise((U,M)=>{zl(U,M,{data:B,headers:vt.from(W.headers),status:W.status,statusText:W.statusText,config:b,request:F})})}catch(I){throw j&&j(),I&&I.name==="TypeError"&&/Load failed|fetch/i.test(I.message)?Object.assign(new Me("Network Error",Me.ERR_NETWORK,b,F,I&&I.response),{cause:I.cause||I}):Me.from(I,I&&I.code,b,F,I&&I.response)}}},Sc=new Map,Vl=t=>{let n=t&&t.env||{};const{fetch:s,Request:r,Response:l}=n,o=[r,l,s];let d=o.length,c=d,g,y,p=Sc;for(;c--;)g=o[c],y=p.get(g),y===void 0&&p.set(g,y=c?new Map:jc(n)),p=y;return y};Vl();const rr={http:Ed,xhr:hc,fetch:{get:Vl}};te.forEach(rr,(t,n)=>{if(t){try{Object.defineProperty(t,"name",{value:n})}catch{}Object.defineProperty(t,"adapterName",{value:n})}});const Or=t=>`- ${t}`,vc=t=>te.isFunction(t)||t===null||t===!1;function wc(t,n){t=te.isArray(t)?t:[t];const{length:s}=t;let r,l;const o={};for(let d=0;d<s;d++){r=t[d];let c;if(l=r,!vc(r)&&(l=rr[(c=String(r)).toLowerCase()],l===void 0))throw new Me(`Unknown adapter '${c}'`);if(l&&(te.isFunction(l)||(l=l.get(n))))break;o[c||"#"+d]=l}if(!l){const d=Object.entries(o).map(([g,y])=>`adapter ${g} `+(y===!1?"is not supported by the environment":"is not available in the build"));let c=s?d.length>1?`since :
|
|
4
|
+
`+d.map(Or).join(`
|
|
5
|
+
`):" "+Or(d[0]):"as no adapter specified";throw new Me("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return l}const Hl={getAdapter:wc,adapters:rr};function vs(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new cn(null,t)}function Mr(t){return vs(t),t.headers=vt.from(t.headers),t.data=Ss.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Hl.getAdapter(t.adapter||dn.adapter,t)(t).then(function(r){return vs(t),r.data=Ss.call(t,t.transformResponse,r),r.headers=vt.from(r.headers),r},function(r){return ql(r)||(vs(t),r&&r.response&&(r.response.data=Ss.call(t,t.transformResponse,r.response),r.response.headers=vt.from(r.response.headers))),Promise.reject(r)})}const Kl="1.15.2",ls={};["object","boolean","number","function","string","symbol"].forEach((t,n)=>{ls[t]=function(r){return typeof r===t||"a"+(n<1?"n ":" ")+t}});const Er={};ls.transitional=function(n,s,r){function l(o,d){return"[Axios v"+Kl+"] Transitional option '"+o+"'"+d+(r?". "+r:"")}return(o,d,c)=>{if(n===!1)throw new Me(l(d," has been removed"+(s?" in "+s:"")),Me.ERR_DEPRECATED);return s&&!Er[d]&&(Er[d]=!0,console.warn(l(d," has been deprecated since v"+s+" and will be removed in the near future"))),n?n(o,d,c):!0}};ls.spelling=function(n){return(s,r)=>(console.warn(`${r} is likely a misspelling of ${n}`),!0)};function _c(t,n,s){if(typeof t!="object")throw new Me("options must be an object",Me.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let l=r.length;for(;l-- >0;){const o=r[l],d=Object.prototype.hasOwnProperty.call(n,o)?n[o]:void 0;if(d){const c=t[o],g=c===void 0||d(c,o,t);if(g!==!0)throw new Me("option "+o+" must be "+g,Me.ERR_BAD_OPTION_VALUE);continue}if(s!==!0)throw new Me("Unknown option "+o,Me.ERR_BAD_OPTION)}}const Bn={assertOptions:_c,validators:ls},Rt=Bn.validators;let aa=class{constructor(n){this.defaults=n||{},this.interceptors={request:new wr,response:new wr}}async request(n,s){try{return await this._request(n,s)}catch(r){if(r instanceof Error){let l={};Error.captureStackTrace?Error.captureStackTrace(l):l=new Error;const o=(()=>{if(!l.stack)return"";const d=l.stack.indexOf(`
|
|
6
|
+
`);return d===-1?"":l.stack.slice(d+1)})();try{if(!r.stack)r.stack=o;else if(o){const d=o.indexOf(`
|
|
7
|
+
`),c=d===-1?-1:o.indexOf(`
|
|
8
|
+
`,d+1),g=c===-1?"":o.slice(c+1);String(r.stack).endsWith(g)||(r.stack+=`
|
|
9
|
+
`+o)}}catch{}}throw r}}_request(n,s){typeof n=="string"?(s=s||{},s.url=n):s=n||{},s=ra(this.defaults,s);const{transitional:r,paramsSerializer:l,headers:o}=s;r!==void 0&&Bn.assertOptions(r,{silentJSONParsing:Rt.transitional(Rt.boolean),forcedJSONParsing:Rt.transitional(Rt.boolean),clarifyTimeoutError:Rt.transitional(Rt.boolean),legacyInterceptorReqResOrdering:Rt.transitional(Rt.boolean)},!1),l!=null&&(te.isFunction(l)?s.paramsSerializer={serialize:l}:Bn.assertOptions(l,{encode:Rt.function,serialize:Rt.function},!0)),s.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?s.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:s.allowAbsoluteUrls=!0),Bn.assertOptions(s,{baseUrl:Rt.spelling("baseURL"),withXsrfToken:Rt.spelling("withXSRFToken")},!0),s.method=(s.method||this.defaults.method||"get").toLowerCase();let d=o&&te.merge(o.common,o[s.method]);o&&te.forEach(["delete","get","head","post","put","patch","common"],b=>{delete o[b]}),s.headers=vt.concat(d,o);const c=[];let g=!0;this.interceptors.request.forEach(function(f){if(typeof f.runWhen=="function"&&f.runWhen(s)===!1)return;g=g&&f.synchronous;const x=s.transitional||nr;x&&x.legacyInterceptorReqResOrdering?c.unshift(f.fulfilled,f.rejected):c.push(f.fulfilled,f.rejected)});const y=[];this.interceptors.response.forEach(function(f){y.push(f.fulfilled,f.rejected)});let p,m=0,A;if(!g){const b=[Mr.bind(this),void 0];for(b.unshift(...c),b.push(...y),A=b.length,p=Promise.resolve(s);m<A;)p=p.then(b[m++],b[m++]);return p}A=c.length;let C=s;for(;m<A;){const b=c[m++],f=c[m++];try{C=b(C)}catch(x){f.call(this,x);break}}try{p=Mr.call(this,C)}catch(b){return Promise.reject(b)}for(m=0,A=y.length;m<A;)p=p.then(y[m++],y[m++]);return p}getUri(n){n=ra(this.defaults,n);const s=Yl(n.baseURL,n.url,n.allowAbsoluteUrls);return Nl(s,n.params,n.paramsSerializer)}};te.forEach(["delete","get","head","options"],function(n){aa.prototype[n]=function(s,r){return this.request(ra(r||{},{method:n,url:s,data:(r||{}).data}))}});te.forEach(["post","put","patch"],function(n){function s(r){return function(o,d,c){return this.request(ra(c||{},{method:n,headers:r?{"Content-Type":"multipart/form-data"}:{},url:o,data:d}))}}aa.prototype[n]=s(),aa.prototype[n+"Form"]=s(!0)});let Cc=class Gl{constructor(n){if(typeof n!="function")throw new TypeError("executor must be a function.");let s;this.promise=new Promise(function(o){s=o});const r=this;this.promise.then(l=>{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](l);r._listeners=null}),this.promise.then=l=>{let o;const d=new Promise(c=>{r.subscribe(c),o=c}).then(l);return d.cancel=function(){r.unsubscribe(o)},d},n(function(o,d,c){r.reason||(r.reason=new cn(o,d,c),s(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(n){if(this.reason){n(this.reason);return}this._listeners?this._listeners.push(n):this._listeners=[n]}unsubscribe(n){if(!this._listeners)return;const s=this._listeners.indexOf(n);s!==-1&&this._listeners.splice(s,1)}toAbortSignal(){const n=new AbortController,s=r=>{n.abort(r)};return this.subscribe(s),n.signal.unsubscribe=()=>this.unsubscribe(s),n.signal}static source(){let n;return{token:new Gl(function(l){n=l}),cancel:n}}};function Ac(t){return function(s){return t.apply(null,s)}}function Dc(t){return te.isObject(t)&&t.isAxiosError===!0}const Qs={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Qs).forEach(([t,n])=>{Qs[n]=t});function Jl(t){const n=new aa(t),s=Rl(aa.prototype.request,n);return te.extend(s,aa.prototype,n,{allOwnKeys:!0}),te.extend(s,n,null,{allOwnKeys:!0}),s.create=function(l){return Jl(ra(t,l))},s}const Xe=Jl(dn);Xe.Axios=aa;Xe.CanceledError=cn;Xe.CancelToken=Cc;Xe.isCancel=ql;Xe.VERSION=Kl;Xe.toFormData=is;Xe.AxiosError=Me;Xe.Cancel=Xe.CanceledError;Xe.all=function(n){return Promise.all(n)};Xe.spread=Ac;Xe.isAxiosError=Dc;Xe.mergeConfig=ra;Xe.AxiosHeaders=vt;Xe.formToJSON=t=>Ll(te.isHTMLForm(t)?new FormData(t):t);Xe.getAdapter=Hl.getAdapter;Xe.HttpStatusCode=Qs;Xe.default=Xe;const{Axios:tj,AxiosError:aj,CanceledError:nj,isCancel:sj,CancelToken:rj,VERSION:ij,all:lj,Cancel:oj,isAxiosError:dj,spread:cj,toFormData:uj,AxiosHeaders:pj,HttpStatusCode:mj,formToJSON:hj,getAdapter:fj,mergeConfig:yj}=Xe,Tc=()=>new Promise(t=>setTimeout(()=>t(),800));let Xs=null;const Rc=t=>{Xs=t,ht.defaults.baseURL=ir()},ir=()=>Xs||"https://npmapi.ubkerp.com/",ht=Xe.create({baseURL:ir()}),At=()=>ir();let Zs=null;const Ic=t=>{Zs=t},at=()=>Zs||"https://image.ubkerp.com",kc=t=>{if(!t||typeof t!="string")return null;const n=t.split(".");if(n.length<2)return null;try{let s=n[1];s=s.replace(/-/g,"+").replace(/_/g,"/");const r=(4-s.length%4)%4;s+="=".repeat(r);const l=typeof atob=="function"?atob(s):Buffer.from(s,"base64").toString("binary");return JSON.parse(l)}catch{return null}},qt=t=>{const n=kc(t);return n?n?.branch_id??n?.branchID??n?.fk_branchID??n?.branch??null:null},Ge=async(t,n,s)=>{const r=await ht.post(t,n,{headers:{Authorization:s}});if(console.log("ddddfdfdfd",r.data?.Status),r.data?.Status=="Success")return r?.data?.data||r?.data;throw new Error(r.data?.msg)},Ca=async(t,n,s)=>{const r=n instanceof FormData;return(await ht.post(t,n,{headers:{Authorization:s,...r?{"Content-type":"multipart/form-data"}:{}}})).data},G=async(t,n)=>{try{const s=(()=>{try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.session_id??"1"}catch{return"1"}})();let r=t;if(!t.includes("session_id")&&s){const o=t.includes("?")?"&":"?";r=`${t}${o}session_id=${s}`}return(await ht.get(r,{headers:{Authorization:n}})).data}catch(s){throw s.response?.status===401&&console.error("401 Unauthorized"),s}},Pc=async(t,n)=>{const s=await ht.post(t,"",{headers:{Authorization:n}});if(s.data?.Status=="Success")return s?.data?.data||s?.data;throw new Error(s.data?.msg)},Oc=async(t,n,s)=>{const r=await ht.post(t,n,{headers:{Authorization:s}});if(console.log("ddddfdfdfd",r.data),r.data?.Status=="Success")return!0;throw new Error(r.data?.msg)},os=async(t,n,s)=>{try{const r=await ht.post(t,n,{headers:{Authorization:s,"Content-Type":"application/json"}});return r.data?.Status==="Success"?r.data:(v.error(r.data?.msg||"Unable to issue library book",{duration:2e3}),!1)}catch(r){throw v.error(r.response?.data?.msg||r.response?.data?.message||"Request failed",{duration:2e3}),r}},an=async(t,n,s)=>{const r=n?.arg;return(await ht.post(t,r,{headers:{Authorization:s}}))?.data},na=async(t,n,s)=>{const r=n?.arg,l=t.includes("?")?"&":"?";return(await ht.get(t+l,{params:r,headers:{Authorization:s}}))?.data},Mc="api/branchapi/GeneralSettings/getsetting_allowances_dedectionBranch",lr=async(t,n,s)=>{const r=n?.arg,l=t.includes("?")?"&":"?",o=await ht.get(t+l,{params:r,headers:{Authorization:s}});if(console.log("ddddfdfdfd",o.data?.Status),o.data?.Status=="Success")return o?.data?.data||o?.data;throw new Error(o.data?.msg)},tt=async(t,n,s)=>(await Tc(),(await ht.post(t,n,{headers:{Authorization:s}}))?.data),Ra=async(t,n,s)=>(await ht.post(t,n,{headers:{Authorization:s}})).data,Ze=async(t,n,s)=>(await ht.delete(`${t}/${n}`,{headers:{Authorization:s}})).data,Ec="api/report/LibraryRenewalReport/renewalHistory",Fc="api/report/LibraryRenewalReport/renewalFineReport",$c="api/report/LibraryRenewalReport/currentlyRenewedBooks",Uc="api/report/LibraryRenewalReport/upcomingRenewalDue",Bc="api/report/LibraryRenewalReport/overdueRenewalReport",Nc="api/report/LibraryRenewalReport/renewalLimitReport",Lc="api/report/LibraryRenewalReport/renewalStatusReport",qc="api/report/LibraryRenewalReport/studentWiseReport",zc="api/report/LibraryRenewalReport/bookWiseReport",Yc="api/report/LibraryRenewalReport/classWiseReport",Wc="api/report/LibraryRenewalReport/staffWiseReport",Vc="api/report/LibraryRenewalReport/renewalStatisticsByDate",Hc="/sample_templates/route_upload.xlsx",un="api/branchapi/academy/classdropdownlist",pn="api/branchapi/academy/sectionoftheClass",Kc="/sample_templates/student_transport_upload.xlsx",Gc="api/branchapi/income/incomeTableList",Jc="api/branchapi/income/addincome",Qc="api/branchapi/income/editincome",Xc="api/branchapi/income/deleteincome",Ql="api/branchapi/income/incomeheadDropdown",Zc="api/branchapi/income/incomeheadTableList",eu="api/branchapi/income/addincomehead",tu="api/branchapi/income/editincomehead",au="api/branchapi/income/deleteincomehead",nu="api/branchapi/income/incomeShowdata",su="api/branchapi/income/incomeheadShowdata",ru="api/branchapi/income/searchincomebydates",iu="api/branchapi/expense/expenseTableList",lu="api/branchapi/expense/addexpense",ou="api/branchapi/expense/editexpense",du="api/branchapi/expense/deleteExpense",Xl="api/branchapi/expense/expenseheadDropdown",cu="api/branchapi/expense/expenseheadTableList",uu="api/branchapi/expense/addexpensehead",pu="api/branchapi/expense/editexpensehead",mu="api/branchapi/expense/deleteexpensehead",hu="api/branchapi/expense/expenseShowdata",fu="api/branchapi/expense/expenseVoucherbyID",yu="api/branchapi/expense/expenseheadShowdata",gu="api/branchapi/expense/searchexpensebydates",Zl="api/accounts/vendor/vendorlist",xu="api/student/studentDetails/studentLoginCredentialList",eo="/branchapi/student/studentlist",to="api/branchapi/student/studentsearchbyKeywords",ao="api/branchapi/student/studentsearchbyClassSection",bu="/branchapi/student/addStudentMedicineDetails",ju="/branchapi/student/StudentMedicineDetails",no="/branchapi/academy/getstudentClasssubjectByStudentId",Su="/branchapi/academy/removeAssignStudentSubject",er="/branchapi/feesCollection/extraCurricularActivitiesFess",vu="/branchapi/academy/unAssigneStudentSubject",wu="/branchapi/student/uploadstudentbyCSV",_u="api/branchapi/academy/categorytableList",Cu="api/branchapi/transport/downloadBulkTemplate",Au="api/branchapi/transport/validateBulkUpload",Du="api/branchapi/transport/confirmBulkImport",Tu="api/branchapi/transport/downloadBulkErrorReport",Ru=async({class_id:t,section_id:n}={},s)=>{const r=new URLSearchParams;t&&r.append("class_id",t),n&&r.append("section_id",n);const l=`${Cu}${r.toString()?`?${r.toString()}`:""}`;return(await ht.get(l,{headers:{Authorization:s},responseType:"blob"})).data},Iu=async(t,n)=>{const s=new FormData;return s.append("file",t),(await ht.post(Au,s,{headers:{Authorization:n,"Content-Type":"multipart/form-data"}})).data},ku=async(t,n,s="skip")=>(await ht.post(Du,{rows:t,duplicate_action:s},{headers:{Authorization:n,"Content-Type":"application/json"}})).data,Pu=async(t,n)=>(await ht.post(Tu,{rows:t},{headers:{Authorization:n,"Content-Type":"application/json"},responseType:"blob"})).data,Ou=({token:t,menu:n})=>{const{isLoading:s,data:r}=K(t?["api/sdk/Menus",t]:null,([o,d])=>Pc(o,d)),l=r?.find(o=>o.path===n)?.sub_menu??[];return console.log("menuData",r),e.jsx(a.Row,{gutter:[16,16],children:l?.map((o,d)=>o.dashboard_show==="YES"?e.jsx(a.Col,{xs:24,md:8,lg:8,children:e.jsx(w,{children:e.jsx(Tl,{icon:`${At()}icons/frontoffice/${o.icons}`,title:o.submenu_name,path:o.menu_key})})},`${d}office001`):null)})};function so(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var ct={},ws,Fr;function Mu(){return Fr||(Fr=1,ws=function t(n,s){if(n===s)return!0;if(n&&s&&typeof n=="object"&&typeof s=="object"){if(n.constructor!==s.constructor)return!1;var r,l,o;if(Array.isArray(n)){if(r=n.length,r!=s.length)return!1;for(l=r;l--!==0;)if(!t(n[l],s[l]))return!1;return!0}if(n.constructor===RegExp)return n.source===s.source&&n.flags===s.flags;if(n.valueOf!==Object.prototype.valueOf)return n.valueOf()===s.valueOf();if(n.toString!==Object.prototype.toString)return n.toString()===s.toString();if(o=Object.keys(n),r=o.length,r!==Object.keys(s).length)return!1;for(l=r;l--!==0;)if(!Object.prototype.hasOwnProperty.call(s,o[l]))return!1;for(l=r;l--!==0;){var d=o[l];if(!t(n[d],s[d]))return!1}return!0}return n!==n&&s!==s}),ws}var jn={exports:{}},Sn={exports:{}},We={};var $r;function Eu(){if($r)return We;$r=1;var t=typeof Symbol=="function"&&Symbol.for,n=t?Symbol.for("react.element"):60103,s=t?Symbol.for("react.portal"):60106,r=t?Symbol.for("react.fragment"):60107,l=t?Symbol.for("react.strict_mode"):60108,o=t?Symbol.for("react.profiler"):60114,d=t?Symbol.for("react.provider"):60109,c=t?Symbol.for("react.context"):60110,g=t?Symbol.for("react.async_mode"):60111,y=t?Symbol.for("react.concurrent_mode"):60111,p=t?Symbol.for("react.forward_ref"):60112,m=t?Symbol.for("react.suspense"):60113,A=t?Symbol.for("react.suspense_list"):60120,C=t?Symbol.for("react.memo"):60115,b=t?Symbol.for("react.lazy"):60116,f=t?Symbol.for("react.block"):60121,x=t?Symbol.for("react.fundamental"):60117,R=t?Symbol.for("react.responder"):60118,k=t?Symbol.for("react.scope"):60119;function O(D){if(typeof D=="object"&&D!==null){var u=D.$$typeof;switch(u){case n:switch(D=D.type,D){case g:case y:case r:case o:case l:case m:return D;default:switch(D=D&&D.$$typeof,D){case c:case p:case b:case C:case d:return D;default:return u}}case s:return u}}}function _(D){return O(D)===y}return We.AsyncMode=g,We.ConcurrentMode=y,We.ContextConsumer=c,We.ContextProvider=d,We.Element=n,We.ForwardRef=p,We.Fragment=r,We.Lazy=b,We.Memo=C,We.Portal=s,We.Profiler=o,We.StrictMode=l,We.Suspense=m,We.isAsyncMode=function(D){return _(D)||O(D)===g},We.isConcurrentMode=_,We.isContextConsumer=function(D){return O(D)===c},We.isContextProvider=function(D){return O(D)===d},We.isElement=function(D){return typeof D=="object"&&D!==null&&D.$$typeof===n},We.isForwardRef=function(D){return O(D)===p},We.isFragment=function(D){return O(D)===r},We.isLazy=function(D){return O(D)===b},We.isMemo=function(D){return O(D)===C},We.isPortal=function(D){return O(D)===s},We.isProfiler=function(D){return O(D)===o},We.isStrictMode=function(D){return O(D)===l},We.isSuspense=function(D){return O(D)===m},We.isValidElementType=function(D){return typeof D=="string"||typeof D=="function"||D===r||D===y||D===o||D===l||D===m||D===A||typeof D=="object"&&D!==null&&(D.$$typeof===b||D.$$typeof===C||D.$$typeof===d||D.$$typeof===c||D.$$typeof===p||D.$$typeof===x||D.$$typeof===R||D.$$typeof===k||D.$$typeof===f)},We.typeOf=O,We}var Ve={};var Ur;function Fu(){return Ur||(Ur=1,process.env.NODE_ENV!=="production"&&(function(){var t=typeof Symbol=="function"&&Symbol.for,n=t?Symbol.for("react.element"):60103,s=t?Symbol.for("react.portal"):60106,r=t?Symbol.for("react.fragment"):60107,l=t?Symbol.for("react.strict_mode"):60108,o=t?Symbol.for("react.profiler"):60114,d=t?Symbol.for("react.provider"):60109,c=t?Symbol.for("react.context"):60110,g=t?Symbol.for("react.async_mode"):60111,y=t?Symbol.for("react.concurrent_mode"):60111,p=t?Symbol.for("react.forward_ref"):60112,m=t?Symbol.for("react.suspense"):60113,A=t?Symbol.for("react.suspense_list"):60120,C=t?Symbol.for("react.memo"):60115,b=t?Symbol.for("react.lazy"):60116,f=t?Symbol.for("react.block"):60121,x=t?Symbol.for("react.fundamental"):60117,R=t?Symbol.for("react.responder"):60118,k=t?Symbol.for("react.scope"):60119;function O(le){return typeof le=="string"||typeof le=="function"||le===r||le===y||le===o||le===l||le===m||le===A||typeof le=="object"&&le!==null&&(le.$$typeof===b||le.$$typeof===C||le.$$typeof===d||le.$$typeof===c||le.$$typeof===p||le.$$typeof===x||le.$$typeof===R||le.$$typeof===k||le.$$typeof===f)}function _(le){if(typeof le=="object"&&le!==null){var ue=le.$$typeof;switch(ue){case n:var oe=le.type;switch(oe){case g:case y:case r:case o:case l:case m:return oe;default:var Ce=oe&&oe.$$typeof;switch(Ce){case c:case p:case b:case C:case d:return Ce;default:return ue}}case s:return ue}}}var D=g,u=y,h=c,S=d,E=n,$=p,q=r,T=b,F=C,j=s,P=o,I=l,N=m,W=!1;function Y(le){return W||(W=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),B(le)||_(le)===g}function B(le){return _(le)===y}function U(le){return _(le)===c}function M(le){return _(le)===d}function L(le){return typeof le=="object"&&le!==null&&le.$$typeof===n}function z(le){return _(le)===p}function ne(le){return _(le)===r}function X(le){return _(le)===b}function J(le){return _(le)===C}function H(le){return _(le)===s}function Q(le){return _(le)===o}function ce(le){return _(le)===l}function De(le){return _(le)===m}Ve.AsyncMode=D,Ve.ConcurrentMode=u,Ve.ContextConsumer=h,Ve.ContextProvider=S,Ve.Element=E,Ve.ForwardRef=$,Ve.Fragment=q,Ve.Lazy=T,Ve.Memo=F,Ve.Portal=j,Ve.Profiler=P,Ve.StrictMode=I,Ve.Suspense=N,Ve.isAsyncMode=Y,Ve.isConcurrentMode=B,Ve.isContextConsumer=U,Ve.isContextProvider=M,Ve.isElement=L,Ve.isForwardRef=z,Ve.isFragment=ne,Ve.isLazy=X,Ve.isMemo=J,Ve.isPortal=H,Ve.isProfiler=Q,Ve.isStrictMode=ce,Ve.isSuspense=De,Ve.isValidElementType=O,Ve.typeOf=_})()),Ve}var Br;function ro(){return Br||(Br=1,process.env.NODE_ENV==="production"?Sn.exports=Eu():Sn.exports=Fu()),Sn.exports}var _s,Nr;function $u(){if(Nr)return _s;Nr=1;var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;function r(o){if(o==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(o)}function l(){try{if(!Object.assign)return!1;var o=new String("abc");if(o[5]="de",Object.getOwnPropertyNames(o)[0]==="5")return!1;for(var d={},c=0;c<10;c++)d["_"+String.fromCharCode(c)]=c;var g=Object.getOwnPropertyNames(d).map(function(p){return d[p]});if(g.join("")!=="0123456789")return!1;var y={};return"abcdefghijklmnopqrst".split("").forEach(function(p){y[p]=p}),Object.keys(Object.assign({},y)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return _s=l()?Object.assign:function(o,d){for(var c,g=r(o),y,p=1;p<arguments.length;p++){c=Object(arguments[p]);for(var m in c)n.call(c,m)&&(g[m]=c[m]);if(t){y=t(c);for(var A=0;A<y.length;A++)s.call(c,y[A])&&(g[y[A]]=c[y[A]])}}return g},_s}var Cs,Lr;function or(){if(Lr)return Cs;Lr=1;var t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Cs=t,Cs}var As,qr;function io(){return qr||(qr=1,As=Function.call.bind(Object.prototype.hasOwnProperty)),As}var Ds,zr;function Uu(){if(zr)return Ds;zr=1;var t=function(){};if(process.env.NODE_ENV!=="production"){var n=or(),s={},r=io();t=function(o){var d="Warning: "+o;typeof console<"u"&&console.error(d);try{throw new Error(d)}catch{}}}function l(o,d,c,g,y){if(process.env.NODE_ENV!=="production"){for(var p in o)if(r(o,p)){var m;try{if(typeof o[p]!="function"){var A=Error((g||"React class")+": "+c+" type `"+p+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[p]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw A.name="Invariant Violation",A}m=o[p](d,p,g,c,null,n)}catch(b){m=b}if(m&&!(m instanceof Error)&&t((g||"React class")+": type specification of "+c+" `"+p+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof m+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),m instanceof Error&&!(m.message in s)){s[m.message]=!0;var C=y?y():"";t("Failed "+c+" type: "+m.message+(C??""))}}}}return l.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(s={})},Ds=l,Ds}var Ts,Yr;function Bu(){if(Yr)return Ts;Yr=1;var t=ro(),n=$u(),s=or(),r=io(),l=Uu(),o=function(){};process.env.NODE_ENV!=="production"&&(o=function(c){var g="Warning: "+c;typeof console<"u"&&console.error(g);try{throw new Error(g)}catch{}});function d(){return null}return Ts=function(c,g){var y=typeof Symbol=="function"&&Symbol.iterator,p="@@iterator";function m(B){var U=B&&(y&&B[y]||B[p]);if(typeof U=="function")return U}var A="<<anonymous>>",C={array:R("array"),bigint:R("bigint"),bool:R("boolean"),func:R("function"),number:R("number"),object:R("object"),string:R("string"),symbol:R("symbol"),any:k(),arrayOf:O,element:_(),elementType:D(),instanceOf:u,node:$(),objectOf:S,oneOf:h,oneOfType:E,shape:T,exact:F};function b(B,U){return B===U?B!==0||1/B===1/U:B!==B&&U!==U}function f(B,U){this.message=B,this.data=U&&typeof U=="object"?U:{},this.stack=""}f.prototype=Error.prototype;function x(B){if(process.env.NODE_ENV!=="production")var U={},M=0;function L(ne,X,J,H,Q,ce,De){if(H=H||A,ce=ce||J,De!==s){if(g){var le=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw le.name="Invariant Violation",le}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var ue=H+":"+J;!U[ue]&&M<3&&(o("You are manually calling a React.PropTypes validation function for the `"+ce+"` prop on `"+H+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),U[ue]=!0,M++)}}return X[J]==null?ne?X[J]===null?new f("The "+Q+" `"+ce+"` is marked as required "+("in `"+H+"`, but its value is `null`.")):new f("The "+Q+" `"+ce+"` is marked as required in "+("`"+H+"`, but its value is `undefined`.")):null:B(X,J,H,Q,ce)}var z=L.bind(null,!1);return z.isRequired=L.bind(null,!0),z}function R(B){function U(M,L,z,ne,X,J){var H=M[L],Q=I(H);if(Q!==B){var ce=N(H);return new f("Invalid "+ne+" `"+X+"` of type "+("`"+ce+"` supplied to `"+z+"`, expected ")+("`"+B+"`."),{expectedType:B})}return null}return x(U)}function k(){return x(d)}function O(B){function U(M,L,z,ne,X){if(typeof B!="function")return new f("Property `"+X+"` of component `"+z+"` has invalid PropType notation inside arrayOf.");var J=M[L];if(!Array.isArray(J)){var H=I(J);return new f("Invalid "+ne+" `"+X+"` of type "+("`"+H+"` supplied to `"+z+"`, expected an array."))}for(var Q=0;Q<J.length;Q++){var ce=B(J,Q,z,ne,X+"["+Q+"]",s);if(ce instanceof Error)return ce}return null}return x(U)}function _(){function B(U,M,L,z,ne){var X=U[M];if(!c(X)){var J=I(X);return new f("Invalid "+z+" `"+ne+"` of type "+("`"+J+"` supplied to `"+L+"`, expected a single ReactElement."))}return null}return x(B)}function D(){function B(U,M,L,z,ne){var X=U[M];if(!t.isValidElementType(X)){var J=I(X);return new f("Invalid "+z+" `"+ne+"` of type "+("`"+J+"` supplied to `"+L+"`, expected a single ReactElement type."))}return null}return x(B)}function u(B){function U(M,L,z,ne,X){if(!(M[L]instanceof B)){var J=B.name||A,H=Y(M[L]);return new f("Invalid "+ne+" `"+X+"` of type "+("`"+H+"` supplied to `"+z+"`, expected ")+("instance of `"+J+"`."))}return null}return x(U)}function h(B){if(!Array.isArray(B))return process.env.NODE_ENV!=="production"&&(arguments.length>1?o("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):o("Invalid argument supplied to oneOf, expected an array.")),d;function U(M,L,z,ne,X){for(var J=M[L],H=0;H<B.length;H++)if(b(J,B[H]))return null;var Q=JSON.stringify(B,function(De,le){var ue=N(le);return ue==="symbol"?String(le):le});return new f("Invalid "+ne+" `"+X+"` of value `"+String(J)+"` "+("supplied to `"+z+"`, expected one of "+Q+"."))}return x(U)}function S(B){function U(M,L,z,ne,X){if(typeof B!="function")return new f("Property `"+X+"` of component `"+z+"` has invalid PropType notation inside objectOf.");var J=M[L],H=I(J);if(H!=="object")return new f("Invalid "+ne+" `"+X+"` of type "+("`"+H+"` supplied to `"+z+"`, expected an object."));for(var Q in J)if(r(J,Q)){var ce=B(J,Q,z,ne,X+"."+Q,s);if(ce instanceof Error)return ce}return null}return x(U)}function E(B){if(!Array.isArray(B))return process.env.NODE_ENV!=="production"&&o("Invalid argument supplied to oneOfType, expected an instance of array."),d;for(var U=0;U<B.length;U++){var M=B[U];if(typeof M!="function")return o("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+W(M)+" at index "+U+"."),d}function L(z,ne,X,J,H){for(var Q=[],ce=0;ce<B.length;ce++){var De=B[ce],le=De(z,ne,X,J,H,s);if(le==null)return null;le.data&&r(le.data,"expectedType")&&Q.push(le.data.expectedType)}var ue=Q.length>0?", expected one of type ["+Q.join(", ")+"]":"";return new f("Invalid "+J+" `"+H+"` supplied to "+("`"+X+"`"+ue+"."))}return x(L)}function $(){function B(U,M,L,z,ne){return j(U[M])?null:new f("Invalid "+z+" `"+ne+"` supplied to "+("`"+L+"`, expected a ReactNode."))}return x(B)}function q(B,U,M,L,z){return new f((B||"React class")+": "+U+" type `"+M+"."+L+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+z+"`.")}function T(B){function U(M,L,z,ne,X){var J=M[L],H=I(J);if(H!=="object")return new f("Invalid "+ne+" `"+X+"` of type `"+H+"` "+("supplied to `"+z+"`, expected `object`."));for(var Q in B){var ce=B[Q];if(typeof ce!="function")return q(z,ne,X,Q,N(ce));var De=ce(J,Q,z,ne,X+"."+Q,s);if(De)return De}return null}return x(U)}function F(B){function U(M,L,z,ne,X){var J=M[L],H=I(J);if(H!=="object")return new f("Invalid "+ne+" `"+X+"` of type `"+H+"` "+("supplied to `"+z+"`, expected `object`."));var Q=n({},M[L],B);for(var ce in Q){var De=B[ce];if(r(B,ce)&&typeof De!="function")return q(z,ne,X,ce,N(De));if(!De)return new f("Invalid "+ne+" `"+X+"` key `"+ce+"` supplied to `"+z+"`.\nBad object: "+JSON.stringify(M[L],null," ")+`
|
|
10
|
+
Valid keys: `+JSON.stringify(Object.keys(B),null," "));var le=De(J,ce,z,ne,X+"."+ce,s);if(le)return le}return null}return x(U)}function j(B){switch(typeof B){case"number":case"string":case"undefined":return!0;case"boolean":return!B;case"object":if(Array.isArray(B))return B.every(j);if(B===null||c(B))return!0;var U=m(B);if(U){var M=U.call(B),L;if(U!==B.entries){for(;!(L=M.next()).done;)if(!j(L.value))return!1}else for(;!(L=M.next()).done;){var z=L.value;if(z&&!j(z[1]))return!1}}else return!1;return!0;default:return!1}}function P(B,U){return B==="symbol"?!0:U?U["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&U instanceof Symbol:!1}function I(B){var U=typeof B;return Array.isArray(B)?"array":B instanceof RegExp?"object":P(U,B)?"symbol":U}function N(B){if(typeof B>"u"||B===null)return""+B;var U=I(B);if(U==="object"){if(B instanceof Date)return"date";if(B instanceof RegExp)return"regexp"}return U}function W(B){var U=N(B);switch(U){case"array":case"object":return"an "+U;case"boolean":case"date":case"regexp":return"a "+U;default:return U}}function Y(B){return!B.constructor||!B.constructor.name?A:B.constructor.name}return C.checkPropTypes=l,C.resetWarningCache=l.resetWarningCache,C.PropTypes=C,C},Ts}var Rs,Wr;function Nu(){if(Wr)return Rs;Wr=1;var t=or();function n(){}function s(){}return s.resetWarningCache=n,Rs=function(){function r(d,c,g,y,p,m){if(m!==t){var A=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw A.name="Invariant Violation",A}}r.isRequired=r;function l(){return r}var o={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:l,element:r,elementType:r,instanceOf:l,node:r,objectOf:l,oneOf:l,oneOfType:l,shape:l,exact:l,checkPropTypes:s,resetWarningCache:n};return o.PropTypes=o,o},Rs}var Vr;function lo(){if(Vr)return jn.exports;if(Vr=1,process.env.NODE_ENV!=="production"){var t=ro(),n=!0;jn.exports=Bu()(t.isElement,n)}else jn.exports=Nu()();return jn.exports}var Hr;function Lu(){if(Hr)return ct;Hr=1;var t=ct&&ct.__extends||(function(){var C=function(b,f){return C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,R){x.__proto__=R}||function(x,R){for(var k in R)Object.prototype.hasOwnProperty.call(R,k)&&(x[k]=R[k])},C(b,f)};return function(b,f){if(typeof f!="function"&&f!==null)throw new TypeError("Class extends value "+String(f)+" is not a constructor or null");C(b,f);function x(){this.constructor=b}b.prototype=f===null?Object.create(f):(x.prototype=f.prototype,new x)}})(),n=ct&&ct.__assign||function(){return n=Object.assign||function(C){for(var b,f=1,x=arguments.length;f<x;f++){b=arguments[f];for(var R in b)Object.prototype.hasOwnProperty.call(b,R)&&(C[R]=b[R])}return C},n.apply(this,arguments)},s=ct&&ct.__createBinding||(Object.create?(function(C,b,f,x){x===void 0&&(x=f);var R=Object.getOwnPropertyDescriptor(b,f);(!R||("get"in R?!b.__esModule:R.writable||R.configurable))&&(R={enumerable:!0,get:function(){return b[f]}}),Object.defineProperty(C,x,R)}):(function(C,b,f,x){x===void 0&&(x=f),C[x]=b[f]})),r=ct&&ct.__setModuleDefault||(Object.create?(function(C,b){Object.defineProperty(C,"default",{enumerable:!0,value:b})}):function(C,b){C.default=b}),l=ct&&ct.__importStar||function(C){if(C&&C.__esModule)return C;var b={};if(C!=null)for(var f in C)f!=="default"&&Object.prototype.hasOwnProperty.call(C,f)&&s(b,C,f);return r(b,C),b},o=ct&&ct.__rest||function(C,b){var f={};for(var x in C)Object.prototype.hasOwnProperty.call(C,x)&&b.indexOf(x)<0&&(f[x]=C[x]);if(C!=null&&typeof Object.getOwnPropertySymbols=="function")for(var R=0,x=Object.getOwnPropertySymbols(C);R<x.length;R++)b.indexOf(x[R])<0&&Object.prototype.propertyIsEnumerable.call(C,x[R])&&(f[x[R]]=C[x[R]]);return f},d=ct&&ct.__importDefault||function(C){return C&&C.__esModule?C:{default:C}};Object.defineProperty(ct,"__esModule",{value:!0});var c=l(i),g=d(Mu()),y=l(lo());function p(C){return C&&C.replace(/ |\u202F|\u00A0/g," ").replace(/<br \/>/g,"<br>")}function m(C){var b=document.createTextNode("");C.appendChild(b);var f=document.activeElement===C;if(b!==null&&b.nodeValue!==null&&f){var x=window.getSelection();if(x!==null){var R=document.createRange();R.setStart(b,b.nodeValue.length),R.collapse(!0),x.removeAllRanges(),x.addRange(R)}C instanceof HTMLElement&&C.focus()}}var A=(function(C){t(b,C);function b(){var f=C!==null&&C.apply(this,arguments)||this;return f.lastHtml=f.props.html,f.el=typeof f.props.innerRef=="function"?{current:null}:c.createRef(),f.getEl=function(){return(f.props.innerRef&&typeof f.props.innerRef!="function"?f.props.innerRef:f.el).current},f.emitChange=function(x){var R=f.getEl();if(R){var k=R.innerHTML;if(f.props.onChange&&k!==f.lastHtml){var O=Object.assign({},x,{target:{value:k}});f.props.onChange(O)}f.lastHtml=k}},f}return b.prototype.render=function(){var f=this,x=this.props,R=x.tagName,k=x.html,O=x.innerRef,_=o(x,["tagName","html","innerRef"]);return c.createElement(R||"div",n(n({},_),{ref:typeof O=="function"?function(D){O(D),f.el.current=D}:O||this.el,onInput:this.emitChange,onBlur:this.props.onBlur||this.emitChange,onKeyUp:this.props.onKeyUp||this.emitChange,onKeyDown:this.props.onKeyDown||this.emitChange,contentEditable:!this.props.disabled,dangerouslySetInnerHTML:{__html:k}}),this.props.children)},b.prototype.shouldComponentUpdate=function(f){var x=this.props,R=this.getEl();return!R||p(f.html)!==p(R.innerHTML)?!0:x.disabled!==f.disabled||x.tagName!==f.tagName||x.className!==f.className||x.innerRef!==f.innerRef||x.placeholder!==f.placeholder||!(0,g.default)(x.style,f.style)},b.prototype.componentDidUpdate=function(){var f=this.getEl();f&&(this.props.html!==f.innerHTML&&(f.innerHTML=this.props.html),this.lastHtml=this.props.html,m(f))},b.propTypes={html:y.string.isRequired,onChange:y.func,disabled:y.bool,tagName:y.string,className:y.string,style:y.object,innerRef:y.oneOfType([y.object,y.func])},b})(c.Component);return ct.default=A,ct}var qu=Lu();const oo=so(qu),zu={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},Yu={width:"100%",minHeight:40,padding:"8px 0",fontSize:"14px",color:"#222",background:"transparent",border:0,borderTop:0,borderLeft:0,borderRight:0,borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none",outline:"none",transition:"border-color 0.2s ease"},V=i.forwardRef(({style:t,onFocus:n,onBlur:s,...r},l)=>{const[o,d]=i.useState(!1);return e.jsxs("div",{className:"",style:{width:"100%"},children:[r.label&&e.jsx("label",{className:"labelfont",style:zu,children:r.label}),e.jsx("input",{placeholder:r.placeholder||r.label,...r,ref:l,onFocus:c=>{d(!0),n?.(c)},onBlur:c=>{d(!1),s?.(c)},style:{...Yu,borderBottom:`1px solid ${o?"#222":"#d9d9d9"}`,...t||{}}})]})}),Kr=[{value:"01",label:"January"},{value:"02",label:"February"},{value:"03",label:"March"},{value:"04",label:"April"},{value:"05",label:"May"},{value:"06",label:"June"},{value:"07",label:"July"},{value:"08",label:"August"},{value:"09",label:"September"},{value:"10",label:"October"},{value:"11",label:"November"},{value:"12",label:"December"}];function dr(t){const n=se().year(),s=[];for(let r=n;r>=n-t;r--)s.push({label:String(r),value:r});return s}function ut(t){switch(t){case"late":return e.jsx("span",{className:"label label-late",children:"L"});case"present":return e.jsx("span",{className:"label label-success",children:"P"});case"absent":return e.jsx("span",{className:"label label-danger",children:"A"});case"P":return e.jsx("span",{className:"monthlyLabel label-success",children:"P"});case"A":return e.jsx("span",{className:"monthlyLabel label-danger",children:"A"});case"L":return e.jsx("span",{className:"monthlyLabel label-late",children:"L"});case"W":return e.jsx("span",{className:"monthlyLabel sunday",children:"W"});case"H":return e.jsx("span",{className:"monthlyLabel holiday",children:"H"});default:return e.jsx("span",{className:"label",children:t})}}function cr(t){const n=se().year(),s=se().month();return t<n?Kr:Kr.slice(0,s+1)}function Gr(t,n){switch(t){case"sunday":return e.jsx("span",{className:"monthlyLabel sunday",children:n});case"holiday":return e.jsx("span",{className:"monthlyLabel holiday",children:n});default:return e.jsx("span",{className:"monthlyLabel",children:n})}}function Wu(){return[{label:"One Time (During Admission)",value:"one_time"},{label:"One Time",value:"one_time_without_admission"},{label:"Monthly",value:"monthly"},{label:"Quarterly",value:"quarterly"},{label:"Half Yearly",value:"half_yearly"},{label:"Yearly",value:"yearly"}]}const co=t=>{switch(t){case"paid":return e.jsx("div",{style:{background:"#3cb371",color:"white",textAlign:"center"},children:"PAID"});case"due":return e.jsx("div",{style:{background:"red",color:"white",textAlign:"center"},children:"DUE"});case"partially_paid":return e.jsx("div",{style:{background:"#ff8d00",color:"white",textAlign:"center"},children:"Partially Paid"});case"Present":return e.jsx(a.Tag,{color:"success",children:"Present"});case"Absent":return e.jsx(a.Tag,{color:"error",children:"Absent"});case"NO Attendance":return e.jsx(a.Tag,{color:"error",children:"No Attendance"});case"one_time":return"ONETIME";case"monthly":return"MONTHLY";case"half_yearly":return"HALF YEARLY";case"quarterly":return"QUARTERLY";default:return""}},Ft=t=>{const n=JSON.parse(localStorage.getItem("genrall_settings"));return console.log("amount______",t),e.jsxs(e.Fragment,{children:[n?.currency_icon," ",Number(t||0).toLocaleString("en-IN")]})};var Ma={},Ea={},Ct={},Fa={},ca={},Jr;function Vu(){if(Jr)return ca;Jr=1;var t=ca&&ca.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(ca,"__esModule",{value:!0});const n=t(i),s=Wo,r=["string","number","boolean"];function l({header:o,body:d}){const c=n.default.createElement("tr",null,o.map(y=>n.default.createElement("th",{key:y},y))),g=d.map((y,p)=>Array.isArray(y)?n.default.createElement("tr",{key:p},y.map((m,A)=>n.default.createElement("th",{key:A}," ",m," "))):y!==null&&typeof y=="object"?n.default.createElement("tr",{key:p},Object.entries(y).map(([m,A],C)=>typeof A=="object"?(console.error(`typeof ${m} is incorrect, only accept ${r.join(", ")} `),n.default.createElement("th",{key:C})):n.default.createElement("th",{key:C},n.default.createElement(n.default.Fragment,null,A)))):(console.error(`
|
|
11
11
|
data structure is incorrect,
|
|
12
12
|
data structure type ->
|
|
13
13
|
" type data = Array<{ [key: string]: string | number | boolean }>
|
|
14
14
|
or
|
|
15
15
|
type data = Array<(string | number | boolean)[]>"
|
|
16
|
-
`),null));return(0,s.renderToString)(a.default.createElement("table",null,a.default.createElement("tbody",null,c,g)))}return na.default=o,na}var Kr;function Iu(){return Kr||(Kr=1,(function(t){var a=Da&&Da.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(t,"__esModule",{value:!0}),t.createTable=t.template=t.uri=t.format=t.base64=void 0;function s(l){return window.btoa(unescape(encodeURIComponent(l)))}t.base64=s;function r(l,d){return l.replace(/{(\w+)}/g,(c,g)=>d[g])}t.format=r,t.uri="data:application/vnd.ms-excel;base64,",t.template='<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="UTF-8"><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body>{table}</body></html>';var o=Ru();Object.defineProperty(t,"createTable",{enumerable:!0,get:function(){return a(o).default}})})(Da)),Da}var Gr;function Zo(){if(Gr)return bt;Gr=1;var t=bt&&bt.__createBinding||(Object.create?(function(f,u,m,w){w===void 0&&(w=m);var v=Object.getOwnPropertyDescriptor(u,m);(!v||("get"in v?!u.__esModule:v.writable||v.configurable))&&(v={enumerable:!0,get:function(){return u[m]}}),Object.defineProperty(f,w,v)}):(function(f,u,m,w){w===void 0&&(w=m),f[w]=u[m]})),a=bt&&bt.__setModuleDefault||(Object.create?(function(f,u){Object.defineProperty(f,"default",{enumerable:!0,value:u})}):function(f,u){f.default=u}),s=bt&&bt.__importStar||function(f){if(f&&f.__esModule)return f;var u={};if(f!=null)for(var m in f)m!=="default"&&Object.prototype.hasOwnProperty.call(f,m)&&t(u,f,m);return a(u,f),u};Object.defineProperty(bt,"__esModule",{value:!0}),bt.downloadExcel=bt.excel=void 0;const r=s(Iu());function o(){return document?!0:((process==null?void 0:process.env.NODE_ENV)!=="production"&&console.error("Failed to access document object"),!1)}function l(f,u){const m=window.document.createElement("a");return m.href=r.uri+r.base64(r.format(r.template,u)),m.download=f,document.body.appendChild(m),m.click(),document.body.removeChild(m),!0}function d(f,u){if(f)return f.cloneNode(!0).outerHTML;if(u)return r.createTable(u);console.error("currentTableRef or tablePayload does not exist")}function c({fileName:f,sheet:u,tablePayload:m},w){if(!o())return!1;const v=d(w,m);return l(f,{worksheet:u||"Worksheet",table:v})}bt.downloadExcel=c;function g({currentTableRef:f,filename:u,sheet:m}){function w(){if(!o())return!1;const v=d(f),b=`${u}.xls`;return l(b,{worksheet:m||"Worksheet",table:v})}return{onDownload:w}}return bt.excel=g,bt}var Jr;function ku(){if(Jr)return Aa;Jr=1,Object.defineProperty(Aa,"__esModule",{value:!0}),Aa.useDownloadExcel=void 0;const t=i,a=Zo();function s({currentTableRef:r,filename:o,sheet:l}){const[d,c]=(0,t.useState)({});return(0,t.useEffect)(()=>{c({currentTableRef:r,filename:o,sheet:l})},[r,o,l]),(0,t.useMemo)(()=>(0,a.excel)(d),[d])}return Aa.useDownloadExcel=s,Aa}var Qr;function Pu(){return Qr||(Qr=1,(function(t){var a=Ca&&Ca.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(t,"__esModule",{value:!0}),t.downloadExcel=t.useDownloadExcel=t.DownloadTableExcel=void 0;const s=a(i),r=ku();Object.defineProperty(t,"useDownloadExcel",{enumerable:!0,get:function(){return r.useDownloadExcel}});const o=Zo();Object.defineProperty(t,"downloadExcel",{enumerable:!0,get:function(){return o.downloadExcel}});const l=({currentTableRef:d,filename:c,sheet:g,children:f})=>{const{onDownload:u}=(0,r.useDownloadExcel)({currentTableRef:d,filename:c,sheet:g});return s.default.createElement("span",{onClick:u},f)};t.DownloadTableExcel=l})(Ca)),Ca}var el=Pu();const Ct=t=>{console.log("ExportDataWithHeader______",t);const{tableRef:a}=t.data;t?.tableRef;const s=new Date().getTime(),r=Zt.useReactToPrint({content:()=>a.current});return e.jsx(e.Fragment,{children:e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsxs(n.Row,{gutter:8,children:[e.jsx(n.Col,{children:e.jsx(n.Button,{type:"text",icon:e.jsx(ee.PrinterOutlined,{style:{color:"#5080f8"}}),onClick:r})}),e.jsx(n.Col,{children:e.jsx(el.DownloadTableExcel,{filename:s,sheet:"users",currentTableRef:a.current,children:e.jsx(n.Button,{type:"text",icon:e.jsx(ee.FileTextOutlined,{style:{color:"#5080f8"}})})})})]})})})})},It=t=>{const{tableRef:a}=t;return new Date().getTime(),e.jsx(e.Fragment,{children:e.jsx(n.Row,{justify:"center",children:e.jsx(n.Col,{span:24,style:{display:"flex",justifyContent:"center",alignSelf:"center",paddingBottom:"20px",position:"relative"}})})})},Tt=i.createContext(),Ou=()=>({modal:{outline:"none",display:"flex",alignItems:"center",justifyContent:"center","&:hover":{backgroundcolor:"red"}},img:{outline:"none"},passwordmodal:{outline:"none",display:"flex",alignItems:"center",justifyContent:"center"}}),Ie=t=>{const{columns:a,action:s,DrawerUpdate:r,editDesign:o,newData:l,Loading:d,error:c,deleteTodoMutation:g,open:f,ActionView:u,viewDetails:m,myType:w,type:v,urlkey:b,columnstype:h,rowSelection:x}=t.data,T=Ou(),[R,k]=i.useState(!1),[D,C]=i.useState(null),[p,y]=i.useState("false"),[_,P]=i.useState(!1),[U,B]=i.useState(!1),[A,F]=i.useState(),[O,M]=i.useState(""),I=()=>k(!1),N=ae=>{y(ae),k(!0)},[Y,z]=i.useState(),[$,E]=i.useState({page:t?.data?.pageController?t.data?.pageController?.page:1,rowsPerPage:t?.data?.pageController?t.data?.pageController?.rowsPerPage:10}),L=i.useRef(null),q=(ae,me)=>{t.parentCallback?.(ae,me),E({rowsPerPage:me,page:ae})},W=(ae,me)=>{C(me),P(!0),F(ae)},se=(ae,me)=>{C(me),B(!0),F(ae)},Z=t?.data?.onNavigate??t?.onNavigate,G=(ae,me)=>{if(typeof Z=="function"){Z(ae,me);return}typeof window<"u"&&typeof ae=="string"&&ae.length>0&&window.location.assign(ae)},J=ae=>{if(v==="staff"){G(`/HumanResourceDashboard/StaffFullInformation?id=${ae.fk_staffID}`,ae);return}G(`/StudentInformation/StudentFullInformation?id=${ae.id}`,ae)},re=(ae,me)=>{z(ae),r?.(me)},de=async(ae,me,ye,ke)=>{r?.(!0),ye!==""&&((await ke({id:ae,admission_no:me,ec_no:ye}))?.Status==="Success"?n.message.success("Ec No updated successfully"):n.message.error("Failed to Update Ec No."))},Ce=()=>e.jsx(Tt.Provider,{value:Y,children:o}),{trigger:oe}=st("branchapi/staff/updateStaffPassword",Wa),{trigger:le}=st("branchapi/Student/updateEcNo",Wa),{trigger:ie}=st(b,(ae,me)=>Wa("student/studentDetails/editStudentLogInCredential",me)),Se=async ae=>{ae.preventDefault(),P(!1);try{(await oe({staff_id:A,new_passwod:ae.target.password.value}))?.Status==="Success"?n.message.success("Password updated successfully"):n.message.error("Failed to update password")}catch{n.message.error("Failed to update password")}},Ee=async ae=>{ae.preventDefault(),B(!1);try{(await ie({edit_id:D?.edit_id,new_passwod:ae.target.password.value,username:ae.target.username.value,branch_id:JSON.parse(localStorage.getItem("genrall_settings"))?.fk_branchID}))?.Status==="Success"?n.message.success("Password updated successfully"):n.message.error("Failed to update password")}catch(me){n.message.error(me?.response?.data?.msg??"Failed to update password")}},Qe=(Array.isArray(a)?a:[]).some(ae=>ae?.fixed==="left"),be=[{title:"SR. NO.",dataIndex:"__serialNumber",key:"__serialNumber",width:90,fixed:h==="antd"&&Qe?"left":void 0,sorter:(ae,me)=>(ae.__serialNumber??0)-(me.__serialNumber??0),render:ae=>ae},...h==="antd"?a:(Array.isArray(a)?a:[]).map(ae=>({title:ae.name,dataIndex:ae.selector,key:ae.selector,sorter:ae.sorter||(ae.sortable?(me,ye)=>{const ke=me[ae.selector]??"",Pe=ye[ae.selector]??"";return typeof ke=="number"&&typeof Pe=="number"?ke-Pe:String(ke).localeCompare(String(Pe))}:!1),render:(me,ye)=>{switch(ae.selector){case"my_staff":return ye.staff_id!=="0"?ye.staff_id:"Admin";case"gallery_cat_logo":return e.jsx(n.Image,{width:50,src:`undefined/branch/gallery/${ye.gallery_cat_logo}`});case"file01":return ye.documents?e.jsx("div",{onClick:()=>N(`undefined/branch/frontoffice/${ye.documents}`),style:{textDecoration:"underline",color:"blue",cursor:"pointer"},children:"view file"}):"Not Uploaded";case"amount":case"fine_amount":case"basic_pay":case"net_amount":return Rt(me);case"full_name":return e.jsx("span",{onClick:()=>J(ye),style:{cursor:"pointer",color:"blue",textDecoration:"underline"},children:me||`${ye.firstname} ${ye.lastname}`});case"extra_curricular_activity":return me==="Yes"?"Extra Subject":"Fees Master";case"is_active":return me==="yes"?e.jsx("span",{className:"label label-success",children:"Active"}):e.jsx("span",{className:"label label-danger",children:"Inactive"});case"steps":return ye?.current_status==="Active"?e.jsx(n.Progress,{percent:ye.steps==="1"?30:ye.steps==="2"?70:100,steps:3}):e.jsx("span",{className:"label label-success",children:ye?.current_status});case"Password":return e.jsx("span",{onClick:()=>W(ye.id,ye),style:{cursor:"pointer"},className:"label label-danger",children:"Update"});case"Passwordstd":return e.jsx("span",{onClick:()=>se(ye.id,ye),style:{cursor:"pointer"},className:"label label-danger",children:"Update"});case"payment_status":return e.jsx(n.Tag,{onClick:()=>m?.(ye.id),color:me==="paid"?"#66aa18":me==="partially_paid"?"#ff5722":"#DC143C",children:me==="paid"?"Paid":me==="partially_paid"?"Partially Paid":"Due"});case"fees_duration":return Tu().find(ke=>ke.value===me)?.label;case"status":return e.jsx("span",{onClick:()=>m?.(ye?.fk_staffID,ye?.total_leave),className:`label ${me==="due"?"label-danger":"label-success"}`,style:{cursor:"pointer"},children:me==="due"?"Due":"Paid"});case"subject_type_1":return e.jsxs(e.Fragment,{children:[ye.is_theory==="yes"&&"Theory, ",ye.is_practical==="yes"&&"Practical"]});case"ec_no":return e.jsx(Qo,{html:ye.ec_no,onBlur:ke=>de(ye.id,ye.admission_no,ke.target.innerHTML,le)});case"Assign":case"AssignExtCarriAci":case"Medical":return e.jsx(n.Button,{type:"primary",icon:e.jsx(ee.SendOutlined,{}),size:"small",onClick:()=>re(ye.id,!0,ae.name),children:ae.name});case"Button":return e.jsx(n.Tag,{color:"cyan",onClick:()=>m?.(ye),children:ae.name});default:return typeof ae.render=="function"?ae.render(me,ye):me}}})),...s?[{title:"Action",key:"action",render:(ae,me)=>{const ye=me?.current_status==="Promoted",ke=()=>{if(w=="sameAddUpdate"){re(me,!0);return}if(w?.type==="examEdit"){w.editFunc(me.id);return}re(me.id||me,!0)},Pe=()=>{if(w==="student_result"){m?.(me);return}if(w==="student"){m?.(me.id,me.class_id);return}m?.(me.id)},ue=()=>{g?.(me?.id)};return e.jsxs("div",{style:{display:"flex",gap:"5px"},children:[u?.[0]?.status&&e.jsx(n.Button,{icon:e.jsx(ee.EditOutlined,{}),size:"small",disabled:ye,onClick:ke}),u?.[1]?.status&&e.jsx(n.Button,{icon:e.jsx(ee.DeleteOutlined,{}),size:"small",danger:!0,disabled:ye,onClick:ue}),u?.[2]?.status&&e.jsx(n.Button,{icon:e.jsx(ee.EyeOutlined,{}),size:"small",onClick:Pe})]})}}]:[]],ve=i.useMemo(()=>{if(!l)return[];const ae=l?.data?.data??l?.data??l??{};return Array.isArray(ae)?ae:Array.isArray(ae?.data)?ae.data:Array.isArray(ae?.resultlist)?ae.resultlist:Array.isArray(ae?.students)?ae.students:Array.isArray(ae?.report)?ae.report:[]},[l]),Me=i.useMemo(()=>{const ae=O.trim().toLowerCase();return ae?ve.filter(me=>Object.values(me??{}).some(ye=>String(ye??"").toLowerCase().includes(ae))):ve},[ve,O]),Ye=!!t.parentCallback,Le=O?Me.length:l?.pagination?.total_rows??Me.length,Be=($.page-1)*$.rowsPerPage,Xe=Ye?Me:Me.slice(Be,Be+$.rowsPerPage),tt=i.useMemo(()=>(Xe??[]).map((ae,me)=>({...ae??{},__serialNumber:Be+me+1})),[Be,Xe]),fe=Le===0?0:Math.min(Be+1,Le),je=Le===0?0:Math.min(Be+Xe.length,Le);let xe;return d?xe=e.jsx("p",{children:"Loading..."}):c?xe=e.jsx("p",{children:c.message}):Xe.length?xe=e.jsx(n.Table,{dataSource:tt,columns:be,size:"small",bordered:!0,pagination:!1,rowSelection:x,rowKey:(ae,me)=>ae?.id??ae?._id??me,scroll:{x:"max-content"}}):xe=e.jsx(n.Empty,{}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx(n.Drawer,{open:f,placement:"right",onClose:()=>r?.(!1),width:720,children:Ce()}),e.jsx(n.Modal,{title:"Update Password",open:_,onCancel:()=>P(!1),footer:null,children:e.jsx("form",{onSubmit:Se,children:e.jsxs(j,{children:[e.jsx(j,{style:{marginBottom:12},children:e.jsx(V,{type:"password",label:"Password",name:"password",required:"required"})}),e.jsx(j,{style:{marginTop:16},children:e.jsx(n.Button,{type:"primary",htmlType:"submit",children:"Update"})})]})})}),e.jsx(n.Modal,{title:" Update Credential",open:U,onCancel:()=>B(!1),footer:null,children:e.jsx("form",{onSubmit:Ee,children:e.jsxs(j,{children:[e.jsx(j,{style:{marginBottom:12},children:e.jsx(V,{type:"text",label:"User Name",name:"username",required:"required",value:D?.username?D?.username:"",onChange:ae=>C({...D,username:ae.target.value})})}),e.jsx(j,{style:{marginBottom:12},children:e.jsx(V,{label:"Password",name:"password",required:"required",value:D?.password?D?.password:"",onChange:ae=>C({...D,password:ae.target.value})})}),e.jsx(j,{style:{marginTop:16},children:e.jsx(n.Button,{type:"primary",htmlType:"submit",children:"Update"})})]})})}),e.jsx(n.Modal,{open:R,onCancel:I,footer:null,centered:!0,width:"80%",className:T.modal,children:e.jsxs("div",{style:{position:"relative"},className:T.img,children:[e.jsx(n.Image,{src:p,alt:"",style:{width:"100%"},preview:!1}),e.jsx(n.Button,{type:"text",icon:e.jsx(ee.CloseOutlined,{}),onClick:I,style:{position:"absolute",top:8,right:8,background:"rgba(0,0,0,0.45)",color:"#fff"}})]})}),e.jsxs(n.Card,{bodyStyle:{padding:16,background:"#f7f7fa"},children:[e.jsx("style",{children:`
|
|
16
|
+
`),null));return(0,s.renderToString)(n.default.createElement("table",null,n.default.createElement("tbody",null,c,g)))}return ca.default=l,ca}var Qr;function Hu(){return Qr||(Qr=1,(function(t){var n=Fa&&Fa.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0}),t.createTable=t.template=t.uri=t.format=t.base64=void 0;function s(o){return window.btoa(unescape(encodeURIComponent(o)))}t.base64=s;function r(o,d){return o.replace(/{(\w+)}/g,(c,g)=>d[g])}t.format=r,t.uri="data:application/vnd.ms-excel;base64,",t.template='<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="UTF-8"><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body>{table}</body></html>';var l=Vu();Object.defineProperty(t,"createTable",{enumerable:!0,get:function(){return n(l).default}})})(Fa)),Fa}var Xr;function uo(){if(Xr)return Ct;Xr=1;var t=Ct&&Ct.__createBinding||(Object.create?(function(y,p,m,A){A===void 0&&(A=m);var C=Object.getOwnPropertyDescriptor(p,m);(!C||("get"in C?!p.__esModule:C.writable||C.configurable))&&(C={enumerable:!0,get:function(){return p[m]}}),Object.defineProperty(y,A,C)}):(function(y,p,m,A){A===void 0&&(A=m),y[A]=p[m]})),n=Ct&&Ct.__setModuleDefault||(Object.create?(function(y,p){Object.defineProperty(y,"default",{enumerable:!0,value:p})}):function(y,p){y.default=p}),s=Ct&&Ct.__importStar||function(y){if(y&&y.__esModule)return y;var p={};if(y!=null)for(var m in y)m!=="default"&&Object.prototype.hasOwnProperty.call(y,m)&&t(p,y,m);return n(p,y),p};Object.defineProperty(Ct,"__esModule",{value:!0}),Ct.downloadExcel=Ct.excel=void 0;const r=s(Hu());function l(){return document?!0:((process==null?void 0:process.env.NODE_ENV)!=="production"&&console.error("Failed to access document object"),!1)}function o(y,p){const m=window.document.createElement("a");return m.href=r.uri+r.base64(r.format(r.template,p)),m.download=y,document.body.appendChild(m),m.click(),document.body.removeChild(m),!0}function d(y,p){if(y)return y.cloneNode(!0).outerHTML;if(p)return r.createTable(p);console.error("currentTableRef or tablePayload does not exist")}function c({fileName:y,sheet:p,tablePayload:m},A){if(!l())return!1;const C=d(A,m);return o(y,{worksheet:p||"Worksheet",table:C})}Ct.downloadExcel=c;function g({currentTableRef:y,filename:p,sheet:m}){function A(){if(!l())return!1;const C=d(y),b=`${p}.xls`;return o(b,{worksheet:m||"Worksheet",table:C})}return{onDownload:A}}return Ct.excel=g,Ct}var Zr;function Ku(){if(Zr)return Ea;Zr=1,Object.defineProperty(Ea,"__esModule",{value:!0}),Ea.useDownloadExcel=void 0;const t=i,n=uo();function s({currentTableRef:r,filename:l,sheet:o}){const[d,c]=(0,t.useState)({});return(0,t.useEffect)(()=>{c({currentTableRef:r,filename:l,sheet:o})},[r,l,o]),(0,t.useMemo)(()=>(0,n.excel)(d),[d])}return Ea.useDownloadExcel=s,Ea}var ei;function Gu(){return ei||(ei=1,(function(t){var n=Ma&&Ma.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(t,"__esModule",{value:!0}),t.downloadExcel=t.useDownloadExcel=t.DownloadTableExcel=void 0;const s=n(i),r=Ku();Object.defineProperty(t,"useDownloadExcel",{enumerable:!0,get:function(){return r.useDownloadExcel}});const l=uo();Object.defineProperty(t,"downloadExcel",{enumerable:!0,get:function(){return l.downloadExcel}});const o=({currentTableRef:d,filename:c,sheet:g,children:y})=>{const{onDownload:p}=(0,r.useDownloadExcel)({currentTableRef:d,filename:c,sheet:g});return s.default.createElement("span",{onClick:p},y)};t.DownloadTableExcel=o})(Ma)),Ma}var po=Gu();const kt=t=>{console.log("ExportDataWithHeader______",t);const{tableRef:n}=t.data;t?.tableRef;const s=new Date().getTime(),r=ia.useReactToPrint({content:()=>n.current});return e.jsx(e.Fragment,{children:e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsxs(a.Row,{gutter:8,children:[e.jsx(a.Col,{children:e.jsx(a.Button,{type:"text",icon:e.jsx(ee.PrinterOutlined,{style:{color:"#5080f8"}}),onClick:r})}),e.jsx(a.Col,{children:e.jsx(po.DownloadTableExcel,{filename:s,sheet:"users",currentTableRef:n.current,children:e.jsx(a.Button,{type:"text",icon:e.jsx(ee.FileTextOutlined,{style:{color:"#5080f8"}})})})})]})})})})},$t=t=>{const{tableRef:n}=t;return new Date().getTime(),e.jsx(e.Fragment,{children:e.jsx(a.Row,{justify:"center",children:e.jsx(a.Col,{span:24,style:{display:"flex",justifyContent:"center",alignSelf:"center",paddingBottom:"20px",position:"relative"}})})})},Mt=i.createContext(),Ju=()=>({modal:{outline:"none",display:"flex",alignItems:"center",justifyContent:"center","&:hover":{backgroundcolor:"red"}},img:{outline:"none"},passwordmodal:{outline:"none",display:"flex",alignItems:"center",justifyContent:"center"}}),ze=t=>{const{columns:n,action:s,DrawerUpdate:r,editDesign:l,newData:o,Loading:d,error:c,deleteTodoMutation:g,open:y,ActionView:p,viewDetails:m,myType:A,type:C,urlkey:b,columnstype:f,rowSelection:x}=t.data,R=Ju(),[k,O]=i.useState(!1),[_,D]=i.useState(null),[u,h]=i.useState("false"),[S,E]=i.useState(!1),[$,q]=i.useState(!1),[T,F]=i.useState(),[j,P]=i.useState(""),I=()=>O(!1),N=re=>{h(re),O(!0)},[W,Y]=i.useState(),[B,U]=i.useState({page:t?.data?.pageController?t.data?.pageController?.page:1,rowsPerPage:t?.data?.pageController?t.data?.pageController?.rowsPerPage:10}),M=i.useRef(null),L=(re,xe)=>{t.parentCallback?.(re,xe),U({rowsPerPage:xe,page:re})},z=(re,xe)=>{D(xe),E(!0),F(re)},ne=(re,xe)=>{D(xe),q(!0),F(re)},X=t?.data?.onNavigate??t?.onNavigate,J=(re,xe)=>{if(typeof X=="function"){X(re,xe);return}typeof window<"u"&&typeof re=="string"&&re.length>0&&window.location.assign(re)},H=re=>{if(C==="staff"){J(`/HumanResourceDashboard/StaffFullInformation?id=${re.fk_staffID}`,re);return}J(`/StudentInformation/StudentFullInformation?id=${re.id}`,re)},Q=(re,xe)=>{Y(re),r?.(xe)},ce=async(re,xe,je,Le)=>{r?.(!0),je!==""&&((await Le({id:re,admission_no:xe,ec_no:je}))?.Status==="Success"?a.message.success("Ec No updated successfully"):a.message.error("Failed to Update Ec No."))},De=()=>e.jsx(Mt.Provider,{value:W,children:l}),{trigger:le}=pt("branchapi/staff/updateStaffPassword",an),{trigger:ue}=pt("branchapi/Student/updateEcNo",an),{trigger:oe}=pt(b,(re,xe)=>an("student/studentDetails/editStudentLogInCredential",xe)),Ce=async re=>{re.preventDefault(),E(!1);try{(await le({staff_id:T,new_passwod:re.target.password.value}))?.Status==="Success"?a.message.success("Password updated successfully"):a.message.error("Failed to update password")}catch{a.message.error("Failed to update password")}},Ne=async re=>{re.preventDefault(),q(!1);try{(await oe({edit_id:_?.edit_id,new_passwod:re.target.password.value,username:re.target.username.value,branch_id:JSON.parse(localStorage.getItem("genrall_settings"))?.fk_branchID}))?.Status==="Success"?a.message.success("Password updated successfully"):a.message.error("Failed to update password")}catch(xe){a.message.error(xe?.response?.data?.msg??"Failed to update password")}},et=(Array.isArray(n)?n:[]).some(re=>re?.fixed==="left"),we=[{title:"SR. NO.",dataIndex:"__serialNumber",key:"__serialNumber",width:90,fixed:f==="antd"&&et?"left":void 0,sorter:(re,xe)=>(re.__serialNumber??0)-(xe.__serialNumber??0),render:re=>re},...f==="antd"?n:(Array.isArray(n)?n:[]).map(re=>({title:re.name,dataIndex:re.selector,key:re.selector,sorter:re.sorter||(re.sortable?(xe,je)=>{const Le=xe[re.selector]??"",qe=je[re.selector]??"";return typeof Le=="number"&&typeof qe=="number"?Le-qe:String(Le).localeCompare(String(qe))}:!1),render:(xe,je)=>{switch(re.selector){case"my_staff":return je.staff_id!=="0"?je.staff_id:"Admin";case"gallery_cat_logo":return e.jsx(a.Image,{width:50,src:`undefined/branch/gallery/${je.gallery_cat_logo}`});case"file01":return je.documents?e.jsx("div",{onClick:()=>N(`undefined/branch/frontoffice/${je.documents}`),style:{textDecoration:"underline",color:"blue",cursor:"pointer"},children:"view file"}):"Not Uploaded";case"amount":case"fine_amount":case"basic_pay":case"net_amount":return Ft(xe);case"full_name":return e.jsx("span",{onClick:()=>H(je),style:{cursor:"pointer",color:"blue",textDecoration:"underline"},children:xe||`${je.firstname} ${je.lastname}`});case"extra_curricular_activity":return xe==="Yes"?"Extra Subject":"Fees Master";case"is_active":return xe==="yes"?e.jsx("span",{className:"label label-success",children:"Active"}):e.jsx("span",{className:"label label-danger",children:"Inactive"});case"steps":return je?.current_status==="Active"?e.jsx(a.Progress,{percent:je.steps==="1"?30:je.steps==="2"?70:100,steps:3}):e.jsx("span",{className:"label label-success",children:je?.current_status});case"Password":return e.jsx("span",{onClick:()=>z(je.id,je),style:{cursor:"pointer"},className:"label label-danger",children:"Update"});case"Passwordstd":return e.jsx("span",{onClick:()=>ne(je.id,je),style:{cursor:"pointer"},className:"label label-danger",children:"Update"});case"payment_status":return e.jsx(a.Tag,{onClick:()=>m?.(je.id),color:xe==="paid"?"#66aa18":xe==="partially_paid"?"#ff5722":"#DC143C",children:xe==="paid"?"Paid":xe==="partially_paid"?"Partially Paid":"Due"});case"fees_duration":return Wu().find(Le=>Le.value===xe)?.label;case"status":return e.jsx("span",{onClick:()=>m?.(je?.fk_staffID,je?.total_leave),className:`label ${xe==="due"?"label-danger":"label-success"}`,style:{cursor:"pointer"},children:xe==="due"?"Due":"Paid"});case"subject_type_1":return e.jsxs(e.Fragment,{children:[je.is_theory==="yes"&&"Theory, ",je.is_practical==="yes"&&"Practical"]});case"ec_no":return e.jsx(oo,{html:je.ec_no,onBlur:Le=>ce(je.id,je.admission_no,Le.target.innerHTML,ue)});case"Assign":case"AssignExtCarriAci":case"Medical":return e.jsx(a.Button,{type:"primary",icon:e.jsx(ee.SendOutlined,{}),size:"small",onClick:()=>Q(je.id,!0,re.name),children:re.name});case"Button":return e.jsx(a.Tag,{color:"cyan",onClick:()=>m?.(je),children:re.name});default:return typeof re.render=="function"?re.render(xe,je):xe}}})),...s?[{title:"Action",key:"action",render:(re,xe)=>{const je=xe?.current_status==="Promoted",Le=()=>{if(A=="sameAddUpdate"){Q(xe,!0);return}if(A?.type==="examEdit"){A.editFunc(xe.id);return}Q(xe.id||xe,!0)},qe=()=>{if(A==="student_result"){m?.(xe);return}if(A==="student"){m?.(xe.id,xe.class_id);return}m?.(xe.id)},fe=()=>{g?.(xe?.id)};return e.jsxs("div",{style:{display:"flex",gap:"5px"},children:[p?.[0]?.status&&e.jsx(a.Button,{icon:e.jsx(ee.EditOutlined,{}),size:"small",disabled:je,onClick:Le}),p?.[1]?.status&&e.jsx(a.Button,{icon:e.jsx(ee.DeleteOutlined,{}),size:"small",danger:!0,disabled:je,onClick:fe}),p?.[2]?.status&&e.jsx(a.Button,{icon:e.jsx(ee.EyeOutlined,{}),size:"small",onClick:qe})]})}}]:[]],Ae=i.useMemo(()=>{if(!o)return[];const re=o?.data?.data??o?.data??o??{};return Array.isArray(re)?re:Array.isArray(re?.data)?re.data:Array.isArray(re?.resultlist)?re.resultlist:Array.isArray(re?.students)?re.students:Array.isArray(re?.report)?re.report:[]},[o]),Fe=i.useMemo(()=>{const re=j.trim().toLowerCase();return re?Ae.filter(xe=>Object.values(xe??{}).some(je=>String(je??"").toLowerCase().includes(re))):Ae},[Ae,j]),me=!!t.parentCallback,de=j?Fe.length:o?.pagination?.total_rows??Fe.length,Re=(B.page-1)*B.rowsPerPage,Be=me?Fe:Fe.slice(Re,Re+B.rowsPerPage),$e=i.useMemo(()=>(Be??[]).map((re,xe)=>({...re??{},__serialNumber:Re+xe+1})),[Re,Be]),ge=de===0?0:Math.min(Re+1,de),_e=de===0?0:Math.min(Re+Be.length,de);let ve;return d?ve=e.jsx("p",{children:"Loading..."}):c?ve=e.jsx("p",{children:c.message}):Be.length?ve=e.jsx(a.Table,{dataSource:$e,columns:we,size:"small",bordered:!0,pagination:!1,rowSelection:x,rowKey:(re,xe)=>re?.id??re?._id??xe,scroll:{x:"max-content"}}):ve=e.jsx(a.Empty,{}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx(a.Drawer,{open:y,placement:"right",onClose:()=>r?.(!1),width:720,children:De()}),e.jsx(a.Modal,{title:"Update Password",open:S,onCancel:()=>E(!1),footer:null,children:e.jsx("form",{onSubmit:Ce,children:e.jsxs(w,{children:[e.jsx(w,{style:{marginBottom:12},children:e.jsx(V,{type:"password",label:"Password",name:"password",required:"required"})}),e.jsx(w,{style:{marginTop:16},children:e.jsx(a.Button,{type:"primary",htmlType:"submit",children:"Update"})})]})})}),e.jsx(a.Modal,{title:" Update Credential",open:$,onCancel:()=>q(!1),footer:null,children:e.jsx("form",{onSubmit:Ne,children:e.jsxs(w,{children:[e.jsx(w,{style:{marginBottom:12},children:e.jsx(V,{type:"text",label:"User Name",name:"username",required:"required",value:_?.username?_?.username:"",onChange:re=>D({..._,username:re.target.value})})}),e.jsx(w,{style:{marginBottom:12},children:e.jsx(V,{label:"Password",name:"password",required:"required",value:_?.password?_?.password:"",onChange:re=>D({..._,password:re.target.value})})}),e.jsx(w,{style:{marginTop:16},children:e.jsx(a.Button,{type:"primary",htmlType:"submit",children:"Update"})})]})})}),e.jsx(a.Modal,{open:k,onCancel:I,footer:null,centered:!0,width:"80%",className:R.modal,children:e.jsxs("div",{style:{position:"relative"},className:R.img,children:[e.jsx(a.Image,{src:u,alt:"",style:{width:"100%"},preview:!1}),e.jsx(a.Button,{type:"text",icon:e.jsx(ee.CloseOutlined,{}),onClick:I,style:{position:"absolute",top:8,right:8,background:"rgba(0,0,0,0.45)",color:"#fff"}})]})}),e.jsxs(a.Card,{bodyStyle:{padding:16,background:"#f7f7fa"},children:[e.jsx("style",{children:`
|
|
17
17
|
.ubk-table-shell .ant-table-wrapper {
|
|
18
18
|
background: #fff;
|
|
19
19
|
border: 1px solid #e7e8f2;
|
|
@@ -56,7 +56,7 @@ Valid keys: `+JSON.stringify(Object.keys($),null," "));var oe=Ce(G,de,W,se,Z+".
|
|
|
56
56
|
.ubk-table-shell .ant-pagination .ant-pagination-next button:hover {
|
|
57
57
|
color: #8f99ff;
|
|
58
58
|
}
|
|
59
|
-
`}),e.jsx(j,{children:e.jsx("div",{style:{display:"flex",justifyContent:"space-between"},children:e.jsx(Ct,{data:{tableRef:L}})})}),e.jsxs("div",{className:"ubk-table-shell",ref:L,style:{marginTop:12},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:16,flexWrap:"wrap",marginBottom:14},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:"#222"},children:[e.jsx("span",{children:"Show"}),e.jsx(n.Select,{size:"small",value:$.rowsPerPage,onChange:ae=>q(1,ae),options:[10,25,50,100].map(ae=>({label:ae,value:ae})),style:{width:72}}),e.jsx("span",{children:"entries"})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx("span",{style:{fontSize:12,color:"#222"},children:"Search:"}),e.jsx(n.Input,{size:"small",allowClear:!0,value:O,onChange:ae=>{M(ae.target.value),E(me=>({...me,page:1}))},placeholder:"Enter search keyword",prefix:e.jsx(ee.SearchOutlined,{style:{color:"#a3a8cf"}}),style:{width:220,borderWidth:"0 0 1px 0",borderRadius:0,background:"transparent"}})]})]}),e.jsx("div",{className:"print-only",children:e.jsx(It,{})}),xe]}),l&&e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:16,marginTop:16,flexWrap:"wrap"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:`Showing ${fe} to ${je} of ${Le} entries`}),e.jsx(n.Pagination,{current:$.page,pageSize:$.rowsPerPage,total:Le||0,showSizeChanger:!1,onChange:q})]})]})]})},Mu=({token:t,type:a})=>{const[s,r]=i.useState({page:1,rowsPerPage:10}),o="api/branchapi/frontoffice/enquirytablelist",l=o.includes("?")?o.endsWith("?")||o.endsWith("&")?"":"&":"?",d=`${o}${l}page=${s.page}&per_page=${s.rowsPerPage}`,{isLoading:c,data:g,error:f}=H(t?[d,t]:null,([R,k])=>K(R,k)),[u,m]=i.useState(!1),w=(R,k)=>{r({page:R,rowsPerPage:parseInt(k)})},v=async R=>{},b=R=>{console.log("dsdsdsdsd",R),m(R)},h=()=>{},x=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],T=i.useMemo(()=>[{id:"1",name:"Name",selector:"name",sortable:!0,sorter:{compare:(R,k)=>R.name.localeCompare(k.name)}},{id:"2",name:"Phone",selector:"contact",sortable:!0,sorter:(R,k)=>(R.contact||"").localeCompare(k.contact||"")},{id:"6",name:"Description",selector:"description",sortable:!0,sorter:(R,k)=>(R.description||"").localeCompare(k.description||"")},{id:"3",name:"Source",selector:"source_name",sortable:!0,sorter:(R,k)=>(R.source_name||"").localeCompare(k.source_name||"")},{id:"4",name:"Enquiry Date",selector:"date",sortable:!0,sorter:(R,k)=>new Date(R.date)-new Date(k.date)},{id:"5",name:"Next Follow Up Date",selector:"follow_up_date",sortable:!0,sorter:(R,k)=>new Date(R.follow_up_date)-new Date(k.follow_up_date)}]);return e.jsx("div",{children:e.jsx(Ie,{parentCallback:w,data:{newData:g,columns:T,action:!0,Loading:c,error:f,open:u,viewDetails:h,deleteTodoMutation:v,DrawerUpdate:b,ActionView:x}})})};var Eu=Jo();const As=Ho(Eu),tl=()=>{};class or extends i.Component{state={value:this.props.value||this.props.defaultValue||""};selectRef=null;setSelectRef=a=>{this.selectRef=a};componentDidUpdate(a){a.value!==this.props.value&&this.setState({value:this.props.value})}onChange=(a,s)=>{this.props.onChange(a,s),this.setState({value:a})};getValue=()=>{const{value:a}=this.state;return a?Array.isArray(a)?a.length?"valid":"":typeof a=="object"?a.value||"":a:""};render(){const{SelectComponent:a,required:s,...r}=this.props,{isDisabled:o}=this.props,l=!o;return e.jsxs("div",{children:[e.jsx(a,{...r,ref:this.setSelectRef,onChange:this.onChange}),l&&e.jsx("input",{tabIndex:-1,autoComplete:"off",style:{opacity:0,width:"100%",height:0,display:"block"},value:this.getValue(),onChange:tl,onFocus:()=>this.selectRef.focus(),required:s})]})}}or.defaultProps={onChange:tl};or.protoTypes={selectComponent:As.func.isRequired,onChange:As.func,required:As.bool};const Fu={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},$u={menuPortal:t=>({...t,zIndex:9999}),control:(t,a)=>({...t,minHeight:40,height:40,fontSize:"14px",border:"none",borderBottom:`1px solid ${a.isFocused?"#222":"#d9d9d9"}`,borderRadius:0,boxShadow:"none",backgroundColor:"transparent",transition:"border-color 0.2s ease","&:hover":{border:"none",borderBottom:`1px solid ${a.isFocused?"#222":"#a8a8a8"}`}}),valueContainer:t=>({...t,height:40,padding:"0 0",display:"flex",alignItems:"center"}),input:t=>({...t,margin:0,padding:0}),indicatorSeparator:()=>({display:"none"}),indicatorsContainer:t=>({...t,height:40}),dropdownIndicator:(t,a)=>({...t,padding:"0 0 0 8px",color:a.isFocused?"#222":"#b5b5b5"}),singleValue:t=>({...t,color:"#222",marginLeft:0}),placeholder:t=>({...t,color:"#9f9f9f",marginLeft:0}),option:(t,a)=>({...t,fontSize:"14px",backgroundColor:a.isFocused?"#f8f8f8":"#fff",color:"#222",cursor:"pointer"})},al=t=>e.jsx(fo.components.Input,{...t,className:"input-cont",required:!!t?.selectProps?.required}),Uu=t=>e.jsx(or,{...t,SelectComponent:fo,components:{Input:al},options:t.options}),Q=i.forwardRef(({...t},a)=>e.jsxs("div",{className:"form-group",style:{height:"auto"},children:[t.label&&e.jsx("label",{className:"labelfont",style:Fu,children:t?.label}),e.jsx(Uu,{components:{Input:al},menuPortalTarget:document.body,styles:$u,className:"input-cont",...t,ref:a})]})),Nu={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},Lu={width:"100%",height:"40px",background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"},Bu=(t,a,s)=>a?t>te(s).endOf("day")||t<te(a).endOf("day"):!1,Ue=i.forwardRef(function(a,s){const{...r}=a;return e.jsxs("div",{className:"form-group",children:[r.Desplay&&e.jsx("label",{className:`labelfont ${r.classnme?r.classnme:""}`,style:Nu,children:r.Desplay}),e.jsx(n.DatePicker,{...r,style:{...Lu,...r.style||{}},className:"form-group",disabledDate:o=>Bu(o,r.sessionStart||r.minDate?.subtract(1,"day").format("YYYY-MM-DD"),r.sessionEnd||r.maxDate?.format("YYYY-MM-DD")),required:!0,ref:s})]})}),qu={minWidth:160,height:36,padding:"0 28px",border:"none",borderRadius:999,background:"linear-gradient(90deg, #f59b1c 0%, #ef3e7b 100%)",color:"#fff",fontSize:14,fontWeight:700,textTransform:"uppercase",cursor:"pointer",boxShadow:"none"},ne=i.forwardRef(({error:t,success:a,disabled:s,loading:r,style:o,...l},d)=>e.jsxs("div",{className:"form-group",style:{marginBottom:0,position:"relative"},children:[e.jsx("input",{...l,ref:d,disabled:s||r,style:{...qu,opacity:s||r?.7:1,cursor:s||r?"not-allowed":"pointer",...o||{}}}),r?e.jsx("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},children:e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",opacity:.8,children:e.jsx("animateTransform",{attributeName:"transform",type:"rotate",dur:"0.8s",values:"0 0 0 0;360 0 0 0",repeatCount:"indefinite",children:e.jsx("circle",{cx:"8",cy:"8",r:"6",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeDasharray:"60",strokeLinecap:"round",children:e.jsx("animate",{attributeName:"stroke-dashoffset",type:"subtract",from:"60",to:"0",dur:"0.8s",repeatCount:"indefinite"})})})})}):null]})),zu={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},Yu={width:"100%",minHeight:80,padding:"8px 0",fontSize:"14px",color:"#222",background:"transparent",border:0,borderTop:0,borderLeft:0,borderRight:0,borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none",outline:"none",resize:"vertical",transition:"border-color 0.2s ease"},lt=({style:t,onFocus:a,onBlur:s,...r})=>{const[o,l]=i.useState(!1);return e.jsxs("div",{style:{width:"100%"},children:[r.label&&e.jsx("label",{className:"labelfont",style:zu,children:r.label}),e.jsx("textarea",{placeholder:r.placeholder||r.label,...r,onFocus:d=>{l(!0),a?.(d)},onBlur:d=>{l(!1),s?.(d)},style:{...Yu,borderBottom:`1px solid ${o?"#222":"#d9d9d9"}`,...t||{}}})]})},Ke=t=>({optimisticData:a=>[...a.data,t],populateCache:(a,s)=>[...s.data,a]}),ze=t=>({optimisticData:a=>a.data.filter(s=>s.id!==t),populateCache:(a,s)=>s.data.filter(r=>r.id!==t)}),Vu=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},Wu="api/branchapi/Frontoffice/visitorbookShowdata",Hu="api/branchapi/Frontoffice/purposedropdown";function Ku({data:t}){const{handleUpdate:a,token:s}=t||{},r=i.useContext(Tt),o=Wu.replace(/\?.*$/,""),{isLoading:l,data:d}=H(s&&r?[o,r,s]:null,([h,x,T])=>ja(h,{id:x},T)),{isLoading:c,data:g}=H(s?[Hu,s]:null,([h,x])=>K(h,x)),f=i.useMemo(()=>Vu(g),[g]),u=d?.data?.[0],[m,w]=i.useState({purpose:void 0,name:"",phone:"",id_card:"",number_of_person:1,date:null,in_time:null,out_time:null,note:"",address:"",image:""});i.useEffect(()=>{u&&w({purpose:u?.purpose,name:u?.name||"",phone:u?.contact||"",id_card:u?.id_proof||"",number_of_person:u?.no_of_pepple||1,date:u?.date?te(u.date):null,in_time:u?.in_time?te(u.in_time,"h:mm a"):null,out_time:u?.out_time?te(u.out_time,"h:mm a"):null,note:u?.note||"",address:u?.address||"",image:u?.image||""})},[u]);const v=(h,x)=>{w(T=>({...T,[h]:x}))},b=`${rt()}/branchapi/frontoffice/uploadfrontofficeDocument`;return l||c?e.jsx(j,{pt:4,pb:1,style:{width:550},children:e.jsx("div",{children:"Please Wait..."})}):e.jsxs(j,{pt:4,pb:1,style:{width:550},children:[e.jsx("form",{onSubmit:h=>a(h,r),children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Edit Visitor"})}),e.jsx(j,{p:2,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{options:f,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Purpose",name:"purpose",allowSelectAll:!1,value:m.purpose,onChange:h=>v("purpose",h)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"name",type:"text",label:"Name",required:!0,value:m.name,onChange:h=>v("name",h.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"phone",type:"text",label:"Phone No.",required:!0,value:m.phone,onChange:h=>v("phone",h.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"id_card",type:"text",label:"ID Card",value:m.id_card,onChange:h=>v("id_card",h.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"number_of_person",type:"number",label:"Number of Person",value:m.number_of_person,onChange:h=>v("number_of_person",h.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",value:m.date,Desplay:"Date",id:"date",name:"date",required:!0,onChange:h=>v("date",h)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsxs(j,{children:[e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm a",value:m.in_time,onChange:h=>v("in_time",h),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"in_time",value:m.in_time?m.in_time.format("h:mm a"):"",readOnly:!0})]})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsxs(j,{children:[e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm a",value:m.out_time,onChange:h=>v("out_time",h),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"out_time",value:m.out_time?m.out_time.format("h:mm a"):"",readOnly:!0})]})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"note",type:"text",label:"Note",value:m.note,onChange:h=>v("note",h.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(lt,{type:"text",label:"Address",name:"address",rows:3,required:!0,value:m.address,onChange:h=>v("address",h.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsxs(j,{children:[e.jsx(n.Upload,{action:b,headers:{Authorization:s},maxCount:1,onChange:h=>{if(h.file.status==="removed"&&v("image",""),h.file.status==="done"){const x=h.file.response?.data??h.file.response?.file??"";v("image",String(x??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:m.image?"Change":"Upload"})}),e.jsx("input",{type:"hidden",name:"image",value:m.image||"",readOnly:!0})]})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"center",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})})})})]})})]})}),e.jsx("style",{children:".noDisplay { display: none; } .textDanger { color: #dc2626; }"})]})}const Gu=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},sa="api/branchapi/Frontoffice/visitortablelist",Ju="api/branchapi/Frontoffice/purposedropdown",Qu="api/branchapi/frontoffice/addvisitors",Xu="api/branchapi/frontoffice/editvisitorsdata",Zu="api/branchapi/frontoffice/deletevisitors",ep=`${rt()}/branchapi/frontoffice/uploadfrontofficeDocument`;function tp({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(""),[c,g]=i.useState(""),[f,u]=i.useState("03:30 PM"),m=(A,F)=>{s({page:A,rowsPerPage:Number.parseInt(F,10)})},w=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],v=i.useMemo(()=>{const A=sa.includes("?")?sa.endsWith("?")||sa.endsWith("&")?"":"&":"?";return`${sa}${A}page=${a.page}&per_page=${a.rowsPerPage}`},[sa,a.page,a.rowsPerPage]),{isLoading:b,error:h,data:x,mutate:T}=H(t?[v,t]:null,([A,F])=>K(A,F)),{isLoading:R,data:k}=H(t?[Ju,t]:null,([A,F])=>K(A,F)),D=i.useMemo(()=>Gu(k),[k]),C=async(A,F)=>{try{await T(Ne(A,F,t),Ke(F)),S.success("Success! Added new item.")}catch{S.error("Failed to add the new item.")}},p=async A=>{try{await T(He(Zu,A,t),ze(A)),S.success("Success! Deleted item.")}catch{S.error("Failed to delete the item.")}},y=async(A,F,O)=>{try{const M=await We(A,F,t);T(M),Array.isArray(M?.data)&&T(`${sa.replace(/\?.*$/,"")}?id=${O}`,M),S.success("Success! Updated item.")}catch{S.error("Failed to update the item.")}},_=async(A,F)=>{A.preventDefault();const O=new FormData(A.target);await y(Xu,O,F),A.target.reset(),d(""),o(!1)},P=async A=>{if(A.preventDefault(),!A.target?.date?.value)S.error("Select required dates"),A.target?.date?.focus(),g("textDanger");else{const F=new FormData(A.target);await C(Qu,F),A.target.reset(),g(""),d(""),u("03:30 PM")}},U=A=>{o(A)},B=i.useMemo(()=>[{id:"1",name:"Name",selector:"name",sortable:!0},{id:"2",name:"Purpose",selector:"visitors_purpose",sortable:!0},{id:"3",name:"Phone",selector:"contact",sortable:!0},{id:"4",name:"Date",selector:"date",sortable:!0},{id:"5",name:"Address",selector:"address",sortable:!0},{id:"5",name:"In Time",selector:"in_time",sortable:!0},{id:"6",name:"Out Time",selector:"out_time",sortable:!0}],[]);return e.jsxs("div",{children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Add Visitor"})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:P,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{options:D,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Purpose",name:"purpose",required:!0,allowSelectAll:!1})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{required:!0,name:"name",type:"text",label:"Name"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{pattern:"[0-9]{3}[0-9]{3}[0-9]{4}",name:"phone",type:"tel",label:"Phone No.",required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"id_card",type:"text",label:"ID Card"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{defaultValue:1,name:"number_of_person",type:"number",label:"Number of Person"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",defaultValue:te(),Desplay:"Date",id:"date",name:"date",classnme:c,onChange:()=>g("")})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsxs(j,{children:[e.jsx(n.TimePicker,{defaultValue:te("2022-04-17T15:30","h:mm a"),id:"in_time",use12Hours:!0,format:"h:mm a",onChange:(A,F)=>u(F),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"in_time",value:f,readOnly:!0})]})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"note",type:"text",label:"Note"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(lt,{type:"text",label:"Address*",name:"address",rows:3,required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsxs(j,{children:[e.jsx(n.Upload,{action:ep,headers:{Authorization:t},maxCount:1,onChange:A=>{if(A.file.status==="removed"&&d(""),A.file.status==="done"){const F=A.file.response?.data??A.file.response?.file??"";d(String(F??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:l?"Change":"Upload"})}),e.jsx("input",{type:"hidden",name:"image",value:l||"",readOnly:!0})]})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})})})})]})})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Visitor List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:m,data:{newData:x,columns:B,action:!0,ActionView:w,Loading:b,error:h,editDesign:e.jsx(Ku,{data:{handleUpdate:_,token:t}}),deleteTodoMutation:p,open:r,DrawerUpdate:U,viewDetails:""}})})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}const ap="api/branchapi/frontoffice/generalcallsShowdata",np=[{value:"Incoming",label:"Incoming"},{value:"Outgoing",label:"Outgoing"}];function sp({data:t}){const{handleUpdate:a,token:s}=t||{},r=i.useContext(Tt),o=ap.replace(/\?.*$/,""),{isLoading:l,data:d}=H(s&&r?[o,r,s]:null,([m,w,v])=>ja(m,{id:w},v)),c=d?.data?.[0],[g,f]=i.useState({name:"",phone:"",description:"",date:null,next_follow_up_date:null,call_duration:"",note:"",call_type:""});i.useEffect(()=>{c&&f({name:c?.name||"",phone:c?.contact||"",description:c?.description||"",date:c?.date?te(c.date):null,next_follow_up_date:c?.follow_up_date?te(c.follow_up_date):null,call_duration:c?.call_dureation||"",note:c?.note||"",call_type:c?.call_type||""})},[c]);const u=(m,w)=>{f(v=>({...v,[m]:w}))};return l?e.jsx(j,{pt:4,pb:1,style:{width:550},children:e.jsx("div",{children:"Please Wait..."})}):e.jsxs(j,{pt:4,pb:1,style:{width:550},children:[e.jsx("form",{onSubmit:m=>a(m,r),children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Edit Call Log"})}),e.jsx(j,{p:2,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"name",type:"text",label:"Name",required:!0,value:g.name,onChange:m=>u("name",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"phone",type:"tel",label:"Phone",pattern:"[0-9]{3}[0-9]{3}[0-9]{4}",value:g.phone,onChange:m=>u("phone",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"description",type:"text",label:"Description",value:g.description,onChange:m=>u("description",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",value:g.date,Desplay:"Date",id:"date",name:"date",onChange:m=>u("date",m)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",value:g.next_follow_up_date,Desplay:"Next Follow Up Date",id:"fdate",name:"next_follow_up_date",onChange:m=>u("next_follow_up_date",m)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"call_duration",type:"text",label:"Call Duration",value:g.call_duration,onChange:m=>u("call_duration",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"note",type:"text",label:"Note",value:g.note,onChange:m=>u("note",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{options:np,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Call Type",name:"call_type",required:!0,allowSelectAll:!1,value:g.call_type?{value:g.call_type,label:g.call_type}:null,onChange:m=>u("call_type",m?.value||"")})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"center",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})})})})]})})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const ra="api/branchapi/frontoffice/generalcalltablelist",rp="api/branchapi/frontoffice/addgenaralcalls",ip="api/branchapi/frontoffice/editgeneralcall",op="api/branchapi/frontoffice/deletegeneralcall",lp=[{value:"Incoming",label:"Incoming"},{value:"Outgoing",label:"Outgoing"}],dp=[{key:"all",label:"All Calls"},{key:"Incoming",label:"Incoming"},{key:"Outgoing",label:"Outgoing"}];function cp({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(""),[c,g]=i.useState(""),[f,u]=i.useState("all"),[m,w]=i.useState(""),v=i.useRef(null),b=(A,F)=>{s({page:A,rowsPerPage:Number.parseInt(F,10)})},h=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],x=i.useMemo(()=>{const A=ra.includes("?")?ra.endsWith("?")||ra.endsWith("&")?"":"&":"?",F=new URLSearchParams;return F.set("page",String(a.page)),F.set("per_page",String(a.rowsPerPage)),f!=="all"&&F.set("call_type",f),`${ra}${A}${F.toString()}`},[ra,a.page,a.rowsPerPage,f]),{isLoading:T,error:R,data:k,mutate:D}=H(t?[x,t]:null,([A,F])=>K(A,F)),C=async(A,F)=>{try{await D(Ne(A,F,t),Ke(F)),S.success("Success! Added new item.")}catch{S.error("Failed to add the new item.")}},p=async A=>{try{await D(He(op,A,t),ze(A)),S.success("Success! Deleted item.")}catch{S.error("Failed to delete the item.")}},y=async(A,F,O)=>{try{const M=await We(A,F,t);D(M),Array.isArray(M?.data)&&D(`${ra.replace(/\?.*$/,"")}?id=${O}`,M),S.success("Success! Updated item.")}catch{S.error("Failed to update the item.")}},_=async(A,F)=>{A.preventDefault();const O=new FormData(A.target);await y(ip,O,F),A.target.reset(),d(""),o(!1)},P=async A=>{if(A.preventDefault(),!A.target?.date?.value)S.error("Select required dates"),A.target?.date?.focus(),g("textDanger");else{const F=new FormData(A.target);await C(rp,F),A.target.reset(),g(""),d(""),w("")}},U=A=>{o(A)},B=i.useMemo(()=>[{id:"1",name:"Name",selector:"name",sortable:!0},{id:"2",name:"Phone",selector:"contact",sortable:!0},{id:"3",name:"Description",selector:"description",sortable:!0},{id:"4",name:"Date",selector:"date",sortable:!0},{id:"5",name:"Follow Up Date",selector:"follow_up_date",sortable:!0},{id:"6",name:"Call Duration",selector:"call_dureation",sortable:!0}],[]);return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Add Phone Call Log"})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:P,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{required:!0,name:"name",type:"text",label:"Name"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{pattern:"[0-9]{3}[0-9]{3}[0-9]{4}",name:"phone",type:"tel",label:"Phone",required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"description",type:"text",label:"Description"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",defaultValue:te(),Desplay:"Date",id:"date",name:"date",classnme:c,onChange:()=>g("")})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",Desplay:"Next Follow Up Date",id:"fdate",name:"follow_up_date"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"call_dureation",type:"text",label:"Call Duration"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"note",type:"text",label:"Note"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{options:lp,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Call Type",name:"call_type",required:!0,allowSelectAll:!1,value:m?{value:m,label:m}:null,onChange:A=>w(A?.value||"")})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})})})})]})})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Phone Call Log List"})}),e.jsxs(j,{pt:3,children:[e.jsx(n.Tabs,{activeKey:f,onChange:u,items:dp}),e.jsx(Ct,{data:{tableRef:v}}),e.jsx(Ie,{parentCallback:b,data:{newData:k,columns:B,action:!0,ActionView:h,Loading:T,error:R,editDesign:e.jsx(sp,{data:{handleUpdate:_,token:t}}),deleteTodoMutation:p,open:r,DrawerUpdate:U,viewDetails:""}})]})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}const up="api/branchapi/frontoffice/postaldispatchreceiveShowdata";function pp({data:t}){const{handleUpdate:a,token:s}=t||{},r=i.useContext(Tt),o=up.replace(/\?.*$/,""),{isLoading:l,data:d}=H(s&&r?[o,r,s]:null,([m,w,v])=>ja(m,{id:w},v)),c=d?.data?.[0],[g,f]=i.useState({to_title:"",refernce:"",address:"",note:"",from_title:"",date:null,image:""});i.useEffect(()=>{c&&f({to_title:c?.to_title||"",refernce:c?.reference_no||"",address:c?.address||"",note:c?.note||"",from_title:c?.from_title||"",date:c?.date?te(c.date):null,image:c?.image||""})},[c]);const u=(m,w)=>{f(v=>({...v,[m]:w}))};return l?e.jsx(j,{pt:4,pb:1,style:{width:550},children:e.jsx("div",{children:"Please Wait..."})}):e.jsxs(j,{pt:4,pb:1,style:{width:550},children:[e.jsx("form",{onSubmit:m=>a(m,r),children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Edit Postal Dispatch"})}),e.jsx(j,{p:2,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"title",type:"text",label:"To Title *",required:!0,value:g.to_title,onChange:m=>u("to_title",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"refernce",type:"text",label:"Reference No",value:g.refernce,onChange:m=>u("refernce",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"address",type:"text",label:"Address",required:!0,value:g.address,onChange:m=>u("address",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"note",type:"text",label:"Note",value:g.note,onChange:m=>u("note",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"from_title",type:"text",label:"From Title",required:!0,value:g.from_title,onChange:m=>u("from_title",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",value:g.date,Desplay:"Date",id:"date",name:"date",onChange:m=>u("date",m)})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"center",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})})})})]})})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const ia="api/branchapi/frontoffice/postaldispatchtablelist",mp="api/branchapi/frontoffice/addpostaldispatch",hp="api/branchapi/frontoffice/editpostaldispatch",fp="api/branchapi/frontoffice/deletepostalreceivedispatch";function yp({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(""),[c,g]=i.useState(""),f=i.useRef(null),u=(_,P)=>{s({page:_,rowsPerPage:Number.parseInt(P,10)})},m=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],w=i.useMemo(()=>{const _=ia.includes("?")?ia.endsWith("?")||ia.endsWith("&")?"":"&":"?";return`${ia}${_}page=${a.page}&per_page=${a.rowsPerPage}`},[ia,a.page,a.rowsPerPage]),{isLoading:v,error:b,data:h,mutate:x}=H(t?[w,t]:null,([_,P])=>K(_,P)),T=async(_,P)=>{try{await x(Ne(_,P,t),Ke(P)),S.success("Success! Added new item.")}catch{S.error("Failed to add the new item.")}},R=async _=>{try{await x(He(fp,_,t),ze(_)),S.success("Success! Deleted item.")}catch{S.error("Failed to delete the item.")}},k=async(_,P,U)=>{try{const B=await We(_,P,t);x(B),Array.isArray(B?.data)&&x(`${ia.replace(/\?.*$/,"")}?id=${U}`,B),S.success("Success! Updated item.")}catch{S.error("Failed to update the item.")}},D=async(_,P)=>{_.preventDefault();const U=new FormData(_.target);await k(hp,U,P),_.target.reset(),d(""),o(!1)},C=async _=>{if(_.preventDefault(),!_.target?.date?.value)S.error("Select required dates"),_.target?.date?.focus(),g("textDanger");else{const P=new FormData(_.target);await T(mp,P),_.target.reset(),g(""),d("")}},p=_=>{o(_)},y=i.useMemo(()=>[{id:"1",name:"To Title",selector:"to_title",sortable:!0},{id:"2",name:"Reference No",selector:"reference_no",sortable:!0},{id:"3",name:"Address",selector:"address",sortable:!0},{id:"4",name:"Note",selector:"note",sortable:!0},{id:"5",name:"From Title",selector:"from_title",sortable:!0},{id:"6",name:"Date",selector:"date",sortable:!0}],[]);return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Add Postal Dispatch"})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:C,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{required:!0,name:"title",type:"text",label:"To Title *"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"refernce",type:"text",label:"Reference No"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{required:!0,name:"address",type:"text",label:"Address"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"note",type:"text",label:"Note"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{required:!0,name:"from_title",type:"text",label:"From Title"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",defaultValue:te(),Desplay:"Date",id:"date",name:"date",status:c===""?"":"error",classnme:c,onChange:()=>g("")})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx("input",{type:"hidden",name:"image",value:l||"",readOnly:!0})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})})})})]})})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Postal Dispatch List"})}),e.jsxs(j,{pt:3,children:[e.jsx(Ct,{data:{tableRef:f}}),e.jsx(Ie,{parentCallback:u,data:{newData:h,columns:y,action:!0,ActionView:m,Loading:v,error:b,editDesign:e.jsx(pp,{data:{handleUpdate:D,token:t}}),deleteTodoMutation:R,open:r,DrawerUpdate:p,viewDetails:""}})]})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}const gp="api/branchapi/frontoffice/postaldispatchreceiveShowdata";function xp({data:t}){const{handleUpdate:a,token:s}=t||{},r=i.useContext(Tt),o=gp.replace(/\?.*$/,""),{isLoading:l,data:d}=H(s&&r?[o,r,s]:null,([m,w,v])=>ja(m,{id:w},v)),c=d?.data?.[0],[g,f]=i.useState({from_title:"",refernce:"",address:"",note:"",title:"",date:null,image:""});i.useEffect(()=>{c&&f({from_title:c?.from_title||"",refernce:c?.reference_no||"",address:c?.address||"",note:c?.note||"",title:c?.to_title||"",date:c?.date?te(c.date):null,image:c?.image||""})},[c]);const u=(m,w)=>{f(v=>({...v,[m]:w}))};return l?e.jsx(j,{pt:4,pb:1,style:{width:550},children:e.jsx("div",{children:"Please Wait..."})}):e.jsxs(j,{pt:4,pb:1,style:{width:550},children:[e.jsx("form",{onSubmit:m=>a(m,r),children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Edit Postal Receive"})}),e.jsx(j,{p:2,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"from_title",type:"text",label:"From Title *",required:!0,value:g.from_title,onChange:m=>u("from_title",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"refernce",type:"text",label:"Reference No",required:!0,value:g.refernce,onChange:m=>u("refernce",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"address",type:"text",label:"Address",required:!0,value:g.address,onChange:m=>u("address",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"note",type:"text",label:"Note",value:g.note,onChange:m=>u("note",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"title",type:"text",label:"To Title",required:!0,value:g.title,onChange:m=>u("title",m.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",value:g.date,Desplay:"Date",id:"date",name:"date",onChange:m=>u("date",m)})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"center",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})})})})]})})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const oa="api/branchapi/frontoffice/postalrecivetablelist",bp="api/branchapi/frontoffice/addpostalrecive",jp="api/branchapi/frontoffice/editpostalrecive",Sp="api/branchapi/frontoffice/deletepostalreceivedispatch";function vp({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(""),[c,g]=i.useState(""),f=i.useRef(null),u=(_,P)=>{s({page:_,rowsPerPage:Number.parseInt(P,10)})},m=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],w=i.useMemo(()=>{const _=oa.includes("?")?oa.endsWith("?")||oa.endsWith("&")?"":"&":"?";return`${oa}${_}page=${a.page}&per_page=${a.rowsPerPage}`},[oa,a.page,a.rowsPerPage]),{isLoading:v,error:b,data:h,mutate:x}=H(t?[w,t]:null,([_,P])=>K(_,P)),T=async(_,P)=>{try{await x(Ne(_,P,t),Ke(P)),S.success("Success! Added new item.")}catch{S.error("Failed to add the new item.")}},R=async _=>{try{await x(He(Sp,_,t),ze(_)),S.success("Success! Deleted item.")}catch{S.error("Failed to delete the item.")}},k=async(_,P,U)=>{try{const B=await We(_,P,t);x(B),Array.isArray(B?.data)&&x(`${oa.replace(/\?.*$/,"")}?id=${U}`,B),S.success("Success! Updated item.")}catch{S.error("Failed to update the item.")}},D=async(_,P)=>{_.preventDefault();const U=new FormData(_.target);await k(jp,U,P),_.target.reset(),d(""),o(!1)},C=async _=>{if(_.preventDefault(),!_.target?.date?.value)S.error("Select required dates"),_.target?.date?.focus(),g("textDanger");else{const P=new FormData(_.target);await T(bp,P),_.target.reset(),g(""),d("")}},p=_=>{o(_)},y=i.useMemo(()=>[{id:"1",name:"From Title",selector:"from_title",sortable:!0},{id:"2",name:"Reference No",selector:"reference_no",sortable:!0},{id:"3",name:"Address",selector:"address",sortable:!0},{id:"4",name:"Note",selector:"note",sortable:!0},{id:"5",name:"To Title",selector:"to_title",sortable:!0},{id:"6",name:"Date",selector:"date",sortable:!0}],[]);return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Add Postal Receive"})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:C,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{required:!0,name:"from_title",type:"text",label:"From Title *"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{required:!0,name:"refernce",type:"text",label:"Reference No"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{required:!0,name:"address",type:"text",label:"Address"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"note",type:"text",label:"Note"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{required:!0,name:"title",type:"text",label:"To Title"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",defaultValue:te(),Desplay:"Date",id:"date",name:"date",status:c===""?"":"error",classnme:c,onChange:()=>g("")})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx("input",{type:"hidden",name:"image",value:l||"",readOnly:!0})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})})})})]})})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Postal Receive List"})}),e.jsxs(j,{pt:3,children:[e.jsx(Ct,{data:{tableRef:f}}),e.jsx(Ie,{parentCallback:u,data:{newData:h,columns:y,action:!0,ActionView:m,Loading:v,error:b,editDesign:e.jsx(xp,{data:{handleUpdate:D,token:t}}),deleteTodoMutation:R,open:r,DrawerUpdate:p,viewDetails:""}})]})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}const wp="api/branchapi/frontoffice/complaintShowdata",_p="api/branchapi/frontoffice/complainttypedropdown",Cp=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]};function Ap({data:t}){const{handleUpdate:a,token:s}=t||{},r=i.useContext(Tt),o=wp.replace(/\?.*$/,""),{isLoading:l,data:d}=H(s&&r?[o,r,s]:null,([h,x,T])=>ja(h,{id:x},T)),{isLoading:c,data:g}=H(s?[_p,s]:null,([h,x])=>K(h,x)),f=i.useMemo(()=>Cp(g).map(x=>({value:x?.value??x?.id??x?.complaint_type??"",label:x?.complaint_type??x?.label??""})),[g]),u=d?.data?.[0],[m,w]=i.useState({complain_type:"",complain_by_name:"",phone:"",date:null,description:"",action_token:"",assigned:"",note:"",file:""});i.useEffect(()=>{u&&w({complain_type:u?.complaint_type??"",complain_by_name:u?.name??"",phone:u?.contact??"",date:u?.date?te(u.date):null,description:u?.description??"",action_token:u?.action_taken??"",assigned:u?.assigned??"",note:u?.note??"",file:u?.image??""})},[u]);const v=(h,x)=>{w(T=>({...T,[h]:x}))},b=i.useMemo(()=>f.find(h=>h.value===m.complain_type)||null,[f,m.complain_type]);return l||c?e.jsx(j,{pt:4,pb:1,style:{width:550},children:e.jsx("div",{children:"Please Wait..."})}):e.jsx(j,{pt:4,pb:1,style:{width:550},children:e.jsxs("form",{onSubmit:h=>a(h,r),children:[e.jsx("input",{type:"hidden",name:"id",value:r??""}),e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Edit Complaint"})}),e.jsx(j,{p:2,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{options:f,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Complain Type",name:"complain_type",allowSelectAll:!1,value:b,onChange:h=>v("complain_type",h?.value??"")})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"complain_by_name",type:"text",label:"Complain By *",required:!0,value:m.complain_by_name,onChange:h=>v("complain_by_name",h.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"phone",type:"tel",label:"Phone",pattern:"[0-9]{10}",value:m.phone,onChange:h=>v("phone",h.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",value:m.date,Desplay:"Enquiry Date",id:"date",name:"date",onChange:h=>v("date",h)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"description",type:"text",label:"Description",value:m.description,onChange:h=>v("description",h.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"action_token",type:"text",label:"Action Taken",value:m.action_token,onChange:h=>v("action_token",h.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"assigned",type:"text",label:"Assigned",value:m.assigned,onChange:h=>v("assigned",h.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"note",type:"text",label:"Note",value:m.note,onChange:h=>v("note",h.target.value)})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"center",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})})})})]})})]})]})})}const la="api/branchapi/frontoffice/complainttablelist",Dp="api/branchapi/frontoffice/complainttypedropdown",Tp="api/branchapi/frontoffice/addcomplaint",Rp="api/branchapi/frontoffice/editcomplaint",Ip="api/branchapi/frontoffice/deletecomplaint",kp=[{key:"all",label:"All Complaints"},{key:"pending",label:"Pending"},{key:"resolved",label:"Resolved"}];function Pp({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(""),[c,g]=i.useState(""),[f,u]=i.useState("all"),m=i.useRef(null),w=(F,O)=>{s({page:F,rowsPerPage:Number.parseInt(O,10)})},v=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],b=i.useMemo(()=>{const F=la.includes("?")?la.endsWith("?")||la.endsWith("&")?"":"&":"?",O=new URLSearchParams;return O.set("page",String(a.page)),O.set("per_page",String(a.rowsPerPage)),f!=="all"&&O.set("status",f),`${la}${F}${O.toString()}`},[la,a.page,a.rowsPerPage,f]),{isLoading:h,error:x,data:T,mutate:R}=H(t?[b,t]:null,([F,O])=>K(F,O)),{isLoading:k,data:D}=H(t?[Dp,t]:null,([F,O])=>K(F,O)),C=i.useMemo(()=>{const F=D?.data??D??[];return Array.isArray(F)?F:Array.isArray(F?.data)?F.data:[]},[D]),p=async(F,O)=>{try{await R(Ne(F,O,t),Ke(O)),S.success("Success! Added new item.")}catch{S.error("Failed to add the new item.")}},y=async F=>{try{await R(He(Ip,F,t),ze(F)),S.success("Success! Deleted item.")}catch{S.error("Failed to delete the item.")}},_=async(F,O,M)=>{try{const I=await We(F,O,t);R(I),Array.isArray(I?.data)&&R(`${la.replace(/\?.*$/,"")}?id=${M}`,I),S.success("Success! Updated item.")}catch{S.error("Failed to update the item.")}},P=async(F,O)=>{F.preventDefault();const M=new FormData(F.target);await _(Rp,M,O),F.target.reset(),d(""),o(!1)},U=async F=>{if(F.preventDefault(),!F.target?.date?.value)S.error("Select required dates"),F.target?.date?.focus(),g("textDanger");else{const O=new FormData(F.target);await p(Tp,O),F.target.reset(),g(""),d("")}},B=F=>{o(F)},A=i.useMemo(()=>[{id:"1",name:"Complain Type",selector:"complaint_type",sortable:!0},{id:"2",name:"Name",selector:"name",sortable:!0},{id:"3",name:"Phone",selector:"contact",sortable:!0},{id:"4",name:"Date",selector:"date",sortable:!0},{id:"5",name:"Action Taken",selector:"action_taken",sortable:!0},{id:"6",name:"Assigned",selector:"assigned",sortable:!0}],[]);return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Add Complaint"})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:U,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{options:C,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Complain Type",name:"complain_type",required:!0,allowSelectAll:!1})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"complain_by_name",type:"text",label:"Complain By *",required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"phone",type:"tel",label:"Phone",pattern:"[0-9]{3}[0-9]{3}[0-9]{4}"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",defaultValue:te(),Desplay:"Complain Date",id:"date",name:"date",status:c===""?"":"error",classnme:c,onChange:()=>g("")})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"description",type:"text",label:"Description"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"action_token",type:"text",label:"Action Taken"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"assigned",type:"text",label:"Assigned"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"note",type:"text",label:"Note"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx("input",{type:"hidden",name:"file",value:l||"",readOnly:!0})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})})})})]})})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Complaint List"})}),e.jsxs(j,{pt:3,children:[e.jsx(n.Tabs,{activeKey:f,onChange:u,items:kp}),e.jsx(Ct,{data:{tableRef:m}}),e.jsx(Ie,{parentCallback:w,data:{newData:T,columns:A,action:!0,ActionView:v,Loading:h,error:x,editDesign:e.jsx(Ap,{data:{handleUpdate:P,token:t}}),deleteTodoMutation:y,open:r,DrawerUpdate:B,viewDetails:""}})]})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}const Xr="api/branchapi/Frontoffice/purposetablelist",Op="api/branchapi/Frontoffice/complaint_typetablelist",Mp="api/branchapi/Frontoffice/sourcetablelist",Ep="api/branchapi/Frontoffice/referencetablelist",Zr="api/branchapi/frontoffice/visitorpurposeShowdata",Fp="api/branchapi/frontoffice/complaintTypeShowdata",$p="api/branchapi/frontoffice/sourceShowdata",Up="api/branchapi/frontoffice/referenceShowdata",ha=[{key:"purpose",label:"Purpose"},{key:"complainType",label:"Complain Type"},{key:"source",label:"Source"},{key:"reference",label:"Reference"}],ei={purpose:[{id:"1",name:"Purpose",selector:"visitors_purpose",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0}],complainType:[{id:"1",name:"Complaint Type",selector:"complaint_type",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0}],source:[{id:"1",name:"Source",selector:"source",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0}],reference:[{id:"1",name:"Reference",selector:"reference",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0}]};function Np({token:t}){const[a,s]=i.useState("purpose"),[r,o]=i.useState({page:1,rowsPerPage:10}),[l,d]=i.useState(!1),c=i.useRef(null),g=(U,B)=>{o({page:U,rowsPerPage:Number.parseInt(B,10)})},f=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],u=()=>{switch(a){case"purpose":return Xr;case"complainType":return Op;case"source":return Mp;case"reference":return Ep;default:return Xr}},m=()=>{switch(a){case"purpose":return"api/branchapi/frontoffice/addvisitors_purpose";case"complainType":return"api/branchapi/frontoffice/addcomplaint_type";case"source":return"api/branchapi/frontoffice/addsource";case"reference":return"api/branchapi/frontoffice/addreference";default:return"api/branchapi/frontoffice/addvisitors_purpose"}},w=()=>{switch(a){case"purpose":return"api/branchapi/frontoffice/editvisitors_purpose";case"complainType":return"api/branchapi/frontoffice/editcomplaint_type";case"source":return"api/branchapi/frontoffice/editsource";case"reference":return"api/branchapi/frontoffice/editreference";default:return"api/branchapi/frontoffice/editvisitors_purpose"}},v=U=>{switch(a){case"purpose":return{url:"api/branchapi/frontoffice/deleteVisitorsPurpose",id:U};case"complainType":return{url:"api/branchapi/frontoffice/deletecomplaint_type",id:U};case"source":return{url:"api/branchapi/frontoffice/deletesource",id:U};case"reference":return{url:"api/branchapi/frontoffice/deletereference",id:U};default:return{url:"api/branchapi/frontoffice/deleteVisitorsPurpose",id:U}}},b=i.useMemo(()=>{const U=u(),B=U.includes("?")?U.endsWith("?")||U.endsWith("&")?"":"&":"?";return`${U}${B}page=${r.page}&per_page=${r.rowsPerPage}`},[a,r.page,r.rowsPerPage]),{isLoading:h,error:x,data:T,mutate:R}=H(t?[b,t]:null,([U,B])=>K(U,B)),k=async(U,B)=>{try{await R(Ne(U,B,t),Ke(B)),S.success("Success! Added new item.")}catch{S.error("Failed to add the new item.")}},D=async U=>{const{url:B,id:A}=v(U);try{await R(He(B,A,t),ze(A)),S.success("Success! Deleted item.")}catch{S.error("Failed to delete the item.")}},C=async(U,B,A)=>{try{const F=await We(U,B,t);R(F),Array.isArray(F?.data)&&R(`${u().replace(/\?.*$/,"")}?id=${A}`,F),S.success("Success! Updated item.")}catch{S.error("Failed to update the item.")}},p=async(U,B)=>{U.preventDefault();const A=new FormData(U.target),F=w();await C(F,A,B),U.target.reset(),d(!1)},y=async U=>{U.preventDefault();const B=new FormData(U.target),A=m();await k(A,B),U.target.reset()},_=U=>{d(U)},P=i.useMemo(()=>ei[a]||ei.purpose,[a]);return e.jsx(j,{pt:5,pb:1,children:e.jsx(n.Row,{gutter:[16,16],children:e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Setup Front Office"})}),e.jsxs(j,{p:3,children:[e.jsx(n.Tabs,{activeKey:a,onChange:U=>{s(U),o({page:1,rowsPerPage:10})},items:ha}),e.jsxs(n.Row,{gutter:[16,16],mt:3,children:[e.jsx(n.Col,{xs:24,md:8,children:e.jsx("form",{onSubmit:y,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsxs(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:["Add ",ha.find(U=>U.key===a)?.label]})}),e.jsx(j,{p:3,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsx(j,{children:e.jsx(V,{required:!0,name:a==="reference"?"title":"name",type:"text",label:ha.find(U=>U.key===a)?.label+" *"})})}),e.jsx(n.Col,{xs:24,children:e.jsx(j,{children:e.jsx(V,{name:"description",type:"text",label:"Description"})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"end",children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Add",color:"primary"})})})})]})})]})})}),e.jsx(n.Col,{xs:24,md:16,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsxs(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:[ha.find(U=>U.key===a)?.label," List"]})}),e.jsxs(j,{pt:3,children:[e.jsx(Ct,{data:{tableRef:c}}),e.jsx(Ie,{parentCallback:g,data:{newData:T,columns:P,action:!0,ActionView:f,Loading:h,error:x,editDesign:e.jsx(Lp,{data:{handleUpdate:p,token:t,activeTab:a}}),deleteTodoMutation:D,open:l,DrawerUpdate:_,viewDetails:""}})]})]})})]})]})]})})})})}function Lp({data:t}){const{handleUpdate:a,token:s,activeTab:r}=t||{},o=i.useContext(Tt),d=(h=>{switch(h){case"purpose":return Zr;case"complainType":return Fp;case"source":return $p;case"reference":return Up;default:return Zr}})(r).replace(/\?.*$/,""),{isLoading:c,data:g}=H(s&&o?[d,o,s]:null,([h,x,T])=>ja(h,{id:x},T)),f=g?.data?.[0],[u,m]=i.useState({name:"",description:""});i.useEffect(()=>{f&&m({name:f?.visitors_purpose||f?.complaint_type||f?.source||f?.reference||"",description:f?.description||""})},[f]);const w=(h,x)=>{m(T=>({...T,[h]:x}))};if(c)return e.jsx(j,{pt:4,pb:1,style:{width:350,display:"flex",justifyContent:"center",alignItems:"center",minHeight:200},children:e.jsx(n.Spin,{size:"large"})});const b={purpose:"title",complainType:"title",source:"title",reference:"title"}[r]||"name";return e.jsxs(j,{pt:4,pb:1,style:{width:350},children:[e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsxs(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:["Edit ",ha.find(h=>h.key===r)?.label]})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:h=>a(h,o),children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsx(j,{children:e.jsx(V,{type:"text",value:o,name:"id",required:!0,className:"noDisplay",onChange:()=>{}})})}),e.jsx(n.Col,{xs:24,children:e.jsx(j,{children:e.jsx(V,{name:b,type:"text",label:ha.find(h=>h.key===r)?.label+" *",required:!0,value:u.name,onChange:h=>w("name",h.target.value)})})}),e.jsx(n.Col,{xs:24,children:e.jsx(j,{children:e.jsx(V,{name:"description",type:"text",label:"Description",value:u.description,onChange:h=>w("description",h.target.value)})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"center",children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})})})]})})})]}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const Bp="api/branchapi/Student/studentGatePass",Ta="api/branchapi/Student/studentGatePassList";function qp({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:25}),[r,o]=i.useState(!1),l=i.useRef(null),d=(k,D)=>{s({page:k,rowsPerPage:Number.parseInt(D,10)})},c=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],{data:g,mutate:f}=H(t?[Bp,t]:null,([k,D])=>K(k,D)),u=i.useMemo(()=>{const k=Ta.includes("?")?Ta.endsWith("?")||Ta.endsWith("&")?"":"&":"?";return`${Ta}${k}page=${a.page}&per_page=${a.rowsPerPage}`},[Ta,a.page,a.rowsPerPage]),{isLoading:m,error:w,data:v,mutate:b}=H(t?[u,t]:null,([k,D])=>K(k,D)),h=async k=>{const D="api/branchapi/frontoffice/deletevisitors";try{await b(deleteData(D,k,t),ze(k)),S.success("Success! Deleted item.")}catch{S.error("Failed to delete the item.")}},x=k=>{o(k)},T=()=>{},R=[{title:"Name",dataIndex:"lastname",key:"lastname",render:(k,D)=>`${D?.lastname||""} ${D?.firstname||""}`.trim()},{title:"Class",dataIndex:"class_name",key:"class_name",render:(k,D)=>`${D?.class_name||""}-${D?.section_name||""}`},{title:"Father Name",dataIndex:"father_name",key:"father_name"},{title:"Authorized Persons",dataIndex:"authorized_persons_fullname",key:"authorized_persons_fullname"},{title:"Relation",dataIndex:"authorized_persons_relation",key:"authorized_persons_relation"},{title:"Generated Date",dataIndex:"genrated_date_time",key:"genrated_date_time"},{title:"Return Date",dataIndex:"expected_return_date_time",key:"expected_return_date_time"},{title:"Reason",dataIndex:"reason",key:"reason"},{title:"Action",key:"action",render:(k,D)=>e.jsx(n.Tag,{color:D?.status==="Generated"?"green":"blue",children:D?.status||"Pending"})},{title:"Print",key:"print",render:(k,D)=>e.jsx(ee.PrinterOutlined,{style:{color:"#3892ee",cursor:"pointer"},onClick:()=>window.print()})}];return e.jsx(j,{pt:5,pb:1,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Today Gate Pass"})}),e.jsx(j,{pt:3,children:e.jsx(n.List,{grid:{column:4,gutter:16},dataSource:g?.data||[],style:{padding:0},renderItem:k=>e.jsx(n.List.Item,{style:{padding:0},children:e.jsx(n.Card,{size:"small",style:{marginBottom:8,width:"100%"},children:e.jsxs(j,{children:[e.jsxs(n.Typography.Text,{strong:!0,children:[k?.lastname," ",k?.firstname]}),e.jsx("br",{}),e.jsxs(n.Typography.Text,{type:"secondary",children:[k?.class_name,"-",k?.section_name]}),e.jsx("br",{}),e.jsxs(n.Typography.Text,{type:"secondary",children:["Return: ",k?.expected_return_date_time]}),e.jsx("br",{}),e.jsx(ne,{type:"button",value:"Print",color:"primary",size:"small",onClick:()=>window.print(),style:{marginTop:4}})]})})})})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Gate Pass List"})}),e.jsxs(j,{pt:3,children:[e.jsx(Ct,{data:{tableRef:l}}),e.jsx(Ie,{parentCallback:d,data:{newData:v,columns:R,action:!1,ActionView:c,Loading:m,error:w,editDesign:"",deleteTodoMutation:h,open:r,DrawerUpdate:x,viewDetails:T}})]})]})})]})})}const gt=({id:t,funcName:a,disabled:s=!1})=>{const r="Data",[o,l]=i.useState(!1),d=()=>{l(!0),a(t),n.message.success(`${r} deleted successfully!`)},c=()=>{n.message.info(`Deletion of ${r} cancelled`)};return e.jsx(n.Popconfirm,{title:`Delete ${r}?`,description:`Are you sure you want to delete ${r}?`,onConfirm:d,onCancel:c,okText:"Yes",cancelText:"No",disabled:s||o,children:e.jsx(n.Button,{danger:!0,disabled:s,loading:o,icon:e.jsx(ee.DeleteOutlined,{}),size:"small"})})},ti={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"};function zp({token:t,sampleTemplateUrl:a=Ic}){const[s,r]=i.useState({pagination:{current:1,pageSize:10}}),[o,l]=i.useState(!1),[d,c]=i.useState(null),[g,f]=i.useState(null),[u,m]=i.useState(!1),[w,v]=i.useState([]),b=`api/branchapi/Transport/routeTableList?page=${s.pagination.current}&per_page=${s.pagination.pageSize}`,h="api/branchapi/Transport/addroute",x="api/branchapi/Transport/editroute",T="api/branchapi/Transport/deleteroute",R=void 0,{isLoading:k,data:D,error:C,mutate:p}=H(t?[b,t]:null,([z,$])=>K(z,$)),y=i.useMemo(()=>!D?.data||Array.isArray(D.data)?[]:D.data?.rows||[],[D]),_=D?.data?.pagination?.total_rows||D?.pagination?.total_rows||0,P=async(z,$)=>{try{await p(Ne(z,$,t),Ke($)),S.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{S.error("Failed to add the new item.",{duration:1e3})}},U=z=>{z.preventDefault();const $=new FormData(z.target);P(h,$),z.target.reset()},B=(z,$)=>{r(E=>({...E,pagination:{current:z,pageSize:parseInt($,10)}}))},A=async z=>{try{await p(He(T,z,t),ze(z)),S.success("Success! Deleted item.",{duration:1e3})}catch{S.error("Failed to delete the item.",{duration:1e3})}},F=z=>{c(z),l(!0)},O=async z=>{try{const $=await We(x,z,t);p($),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),l(!1),c(null)}catch{S.error("Failed to update the item.",{duration:1e3})}},M=async z=>{z.preventDefault();const $=new FormData(z.target);$.append("id",d?.id),O($)},I=async()=>{if(!g){S.error("Please select an Excel file to upload.",{duration:1e3});return}m(!0),v([]);try{const z=new FormData;z.append("file",g);const E=await(await fetch(`${R}`,{method:"POST",headers:{Authorization:t},body:z})).json();if(E.Status==="Success"){const L=E.data?.rows||[];v(L);const q=E.data?.success_count||0,W=E.data?.failed_count||0;S.success(E.message||`Route bulk upload completed. ${q} succeeded, ${W} failed.`,{duration:1e3}),q>0&&p()}else S.error(E.message||"Failed to upload routes.",{duration:1e3})}catch(z){S.error(z?.message||"Something went wrong.",{duration:1e3})}finally{m(!1),f(null)}},N=[{title:"Route Title",dataIndex:"route_title",key:"route_title",sorter:{compare:(z,$)=>(z.route_title||"").localeCompare($.route_title||"")}},{title:"Fare (Monthly)",dataIndex:"fare",key:"fare",sorter:{compare:(z,$)=>Number(z.fare||0)-Number($.fare||0)}},{title:"Note",dataIndex:"note",key:"note",sorter:{compare:(z,$)=>(z.note||"").localeCompare($.note||"")}},{title:"Action",key:"action",render:(z,$)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>F($),style:{padding:2}}),e.jsx(gt,{id:$?.id,funcName:A})]})}],Y=d?.route_title?`Edit ${d.route_title}`:"Edit Route";return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Bulk Upload Routes"})}),e.jsxs(j,{p:3,children:[e.jsxs(n.Row,{gutter:[16,16],align:"middle",children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(n.Upload,{accept:".xlsx",showUploadList:!1,beforeUpload:z=>(f(z),!1),children:e.jsx(n.Button,{icon:e.jsx(ee.UploadOutlined,{}),disabled:u,children:g?g.name:"Choose Excel File (.xlsx)"})})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(n.Button,{type:"primary",onClick:I,disabled:u||!g,loading:u,children:u?"Uploading...":"Upload Routes"})})})]}),w.length>0&&e.jsxs(j,{mt:3,children:[e.jsx(he,{level:5,children:"Upload Results"}),e.jsx(n.Table,{dataSource:w.map((z,$)=>({...z,key:$})),pagination:!1,size:"small",bordered:!0,columns:[{title:"Row",dataIndex:"row",width:80},{title:"Title",dataIndex:"title"},{title:"Status",dataIndex:"status",render:z=>e.jsx("span",{style:{color:z==="Success"?"green":"red",fontWeight:500},children:z})},{title:"Message",dataIndex:"message"}]})]}),a&&e.jsx(j,{mt:2,children:e.jsx("a",{href:a,download:!0,style:{color:"#5080f8",fontSize:13,textDecoration:"none"},children:"Download sample Excel template"})})]})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Add Route"})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:U,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:8,children:e.jsx(j,{children:e.jsx(V,{type:"text",name:"title",label:"Title",placeholder:"Mumbai to Delhi",required:"required"})})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsx(j,{children:e.jsx(V,{type:"number",name:"fare",label:"Fare (Monthly)",required:"required"})})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsx(j,{children:e.jsx(V,{type:"text",name:"note",label:"Note"})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsxs(j,{children:[e.jsx(ne,{type:"submit",value:"Save",color:"primary"}),e.jsx(n.Button,{type:"text",htmlType:"reset",style:ti,children:"Cancel"})]})})})})]})})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Route List"})}),e.jsx(j,{p:3,children:e.jsx(Ie,{parentCallback:B,data:{newData:{data:y,pagination:{total_rows:_}},columns:N,columnstype:"antd",action:!1,Loading:k,error:C,deleteTodoMutation:A}})})]})})]}),e.jsx(n.Drawer,{open:o,title:Y,placement:"right",width:420,onClose:()=>{l(!1),c(null)},children:e.jsx("form",{onSubmit:M,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{type:"text",name:"title",label:"Title",defaultValue:d?.route_title||"",required:"required"}),e.jsx(V,{type:"number",name:"fare",label:"Fare (Monthly)",defaultValue:d?.fare||"",required:"required"}),e.jsx(V,{type:"text",name:"note",label:"Note",defaultValue:d?.note||""}),e.jsx("div",{style:{display:"none"},children:e.jsx(V,{type:"text",name:"no_of_vehicle",label:"Note"})}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{l(!1),c(null)},style:ti,children:"Cancel"})]})]})})})]})}const ai={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"};function Yp({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(null),c=`api/branchapi/Transport/vehiclesTableList?page=${a.page}&per_page=${a.rowsPerPage}`,g="api/branchapi/Transport/addvehicles",f="api/branchapi/Transport/editvehicle",u="api/branchapi/Transport/deletevehicle",{isLoading:m,data:w,error:v,mutate:b}=H(t?[c,t]:null,([_,P])=>K(_,P)),h=async(_,P)=>{try{await b(Ne(_,P,t),Ke(P)),S.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{S.error("Failed to add the new item.",{duration:1e3})}},x=_=>{_.preventDefault();const P=new FormData(_.target);h(g,P),_.target.reset()},T=async _=>{try{await b(He(u,_,t),ze(_)),S.success("Success! Deleted item.",{duration:1e3})}catch{S.error("Failed to delete the item.",{duration:1e3})}},R=_=>{d(_),o(!0)},k=async _=>{try{await We(f,_,t),await b(),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),o(!1),d(null)}catch{S.error("Failed to update the item.",{duration:1e3})}},D=async _=>{_.preventDefault();const P=new FormData(_.target);P.append("id",l?.id),k(P)},C=(_,P)=>{s({page:_,rowsPerPage:parseInt(P,10)})},p=[{title:"Vehicle Number",dataIndex:"vehicle_no",key:"vehicle_no",sorter:{compare:(_,P)=>_.vehicle_no.localeCompare(P.vehicle_no)}},{title:"Vehicle Model",dataIndex:"vehicle_model",key:"vehicle_model",sorter:{compare:(_,P)=>_.vehicle_model.localeCompare(P.vehicle_model)}},{title:"Max Seating Capacity",dataIndex:"seating_capacity",key:"seating_capacity",sorter:{compare:(_,P)=>_.seating_capacity-P.seating_capacity}},{title:"Manufacture Year",dataIndex:"manufacture_year",key:"manufacture_year",sorter:{compare:(_,P)=>_.manufacture_year-P.manufacture_year}},{title:"Gps Url",key:"gps_url",sorter:{compare:(_,P)=>_.gps_url.localeCompare(P.gps_url)},render:(_,P)=>e.jsx("span",{title:P?.gps_url??"",style:{display:"inline-block",maxWidth:220,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:P?.gps_url})},{title:"Note",dataIndex:"note",key:"note",sorter:{compare:(_,P)=>_.note.localeCompare(P.note)}},{title:"Action",key:"action",render:(_,P)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>R(P),style:{padding:2}}),e.jsx(gt,{id:P?.id,funcName:T})]})}],y=l?.vehicle_no?`Edit ${l.vehicle_no}`:"Edit Vehicle";return e.jsxs("div",{children:[e.jsx(n.Drawer,{open:r,title:y,placement:"right",width:420,onClose:()=>{o(!1),d(null)},children:e.jsx("form",{onSubmit:D,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{type:"text",name:"number",label:"Vehicle Number",defaultValue:l?.vehicle_no||"",required:"required"}),e.jsx(V,{type:"text",name:"model",label:"Vehicle Model",defaultValue:l?.vehicle_model||""}),e.jsx(V,{type:"number",name:"manufacture_year",label:"Manufacture Year",defaultValue:l?.manufacture_year||""}),e.jsx(V,{type:"number",name:"seating_capacity",label:"Max Seating Capacity",defaultValue:l?.seating_capacity||""}),e.jsx(V,{type:"text",name:"gps_url",label:"Gps Url",defaultValue:l?.gps_url||""}),e.jsx(V,{type:"text",name:"note",label:"Note",defaultValue:l?.note||""}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{o(!1),d(null)},style:ai,children:"Cancel"})]})]})})}),e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(j,{pt:5,pb:1,children:e.jsxs("div",{children:[e.jsxs("div",{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Add Vehicle"})}),e.jsx(j,{px:3,pb:2,children:e.jsx("form",{onSubmit:x,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"text",name:"number",label:"Vehicle Number",required:"required"}),e.jsx(V,{type:"text",name:"model",label:"Vehicle Model"}),e.jsx(V,{type:"number",name:"manufacture_year",label:"Manufacture Year"}),e.jsx(V,{type:"number",name:"seating_capacity",label:"Max Seating Capacity"}),e.jsx(V,{type:"text",name:"gps_url",label:"Gps Url"}),e.jsx(V,{type:"text",name:"note",label:"Note"}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ne,{type:"submit",value:"Save",color:"primary"}),e.jsx(n.Button,{type:"text",htmlType:"reset",style:ai,children:"Cancel"})]})]})})})]}),e.jsx("div",{style:{marginTop:24},children:e.jsxs("div",{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Vehicle List"})}),e.jsx(j,{children:e.jsx(Ie,{parentCallback:C,data:{newData:w,columns:p,columnstype:"antd",action:!1,Loading:m,error:v,deleteTodoMutation:T}})})]})})]})})]})}const Vp={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},ni=({dataIndex:t,title:a,record:s,children:r,isEditable:o,...l})=>e.jsx("td",{...l,children:o?e.jsx("div",{style:{display:"flex",marginLeft:"5%"},children:r}):r});function Wp({token:t}){const[a,s]=i.useState(!1),[r,o]=i.useState({pagination:{current:1,pageSize:50}}),[l,d]=i.useState(null),[c,g]=i.useState([]),f="api/branchapi/Transport/getrouteDropdown",u="api/branchapi/Transport/getvehicleDropdown",m="api/branchapi/Transport/getchechkedVehicleData",w="api/branchapi/Transport/assignedVehicleTable",v="api/branchapi/transport/assignvehicle",b="api/branchapi/Transport/deleteassignvehicle",h=l?`${m}?route_id=${l}`:null,{isLoading:x,data:T,mutate:R}=H(t?[`${w}?page=${r.pagination.current}&per_page=${r.pagination.pageSize}`,t]:null,([E,L])=>K(E,L)),{data:k}=H(t&&f?[f,t]:null,([E,L])=>K(E,L)),{data:D}=H(t&&u?[u,t]:null,([E,L])=>K(E,L)),C=t&&h?[h,t]:null,{isLoading:p,data:y}=H(C,([E,L])=>K(E,L)),{Status:_="Failed",pagination:{total_rows:P=0}={}}=T||{},{data:U=[]}=_==="Success"?T:{},B=i.useMemo(()=>{const E=k?.data??k??[];return Array.isArray(E)?E:[]},[k]),A=i.useMemo(()=>{const E=D?.data??D??[];return(Array.isArray(E)?E:[]).map(q=>{if(q==null)return null;if(typeof q=="string"||typeof q=="number")return{label:String(q),value:q};const W=q.value??q.vehicle_id??q.id??q.vehicleID,se=q.label??q.vehicle_name??q.vehicle_no??q.vehicle_number??q.name??String(W??"");return W==null||se===""?null:{label:String(se),value:W}}).filter(Boolean)},[D]),F=i.useMemo(()=>{const E=y?.data??y??[];return(Array.isArray(E)?E:[]).map(q=>q?.value??q?.vehicle_id??q?.id??q).filter(q=>q!=null)},[y]);i.useEffect(()=>{g(F)},[F,a]);const O=async(E,L,q)=>{try{await R(Ne(E,L,t),Ke(L)),h&&H.mutate(C),s(W=>!W),S.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch(W){S.error(W?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},M=E=>{E.preventDefault();const L=new FormData;L.append("route_id",l??""),c.length?c.forEach(q=>L.append("vehicle_ids[]",q)):L.append("vehicle_ids[]",""),O(v,L)},I=E=>{o(L=>({...L,pagination:{current:E,pageSize:L.pagination.pageSize}}))},N=async E=>{try{await R(He(b,E,t),ze(E)),h&&H.mutate(C),S.success("Success! Deleted item.",{duration:1e3})}catch{S.error("Failed to delete the item.",{duration:1e3})}},Y=[{title:"Route",dataIndex:"route_title"},{title:"Vehicle Numbers",render:(E,L,q)=>e.jsx(e.Fragment,{children:L.children.map((W,se,Z)=>e.jsx("span",{children:`${W.vehicle_name} ${se+1===Z.length?"":","}`},`${se}vehicle001`))})},{title:"Action",render:(E,L,q)=>e.jsx(e.Fragment,{children:e.jsx(gt,{id:L?.route_id,funcName:N})})}],z=E=>{const L=["route_id","index"];for(let q=0;q<L.length;q++)if(E[L[q]])return E[L[q]]},$=E=>{const{children:L=[]}=E||{},q=[{title:"Vehicle Name",dataIndex:"vehicle_name",onCell:W=>({isEditable:!0})},{title:"Driver Name",dataIndex:"driver_name",onCell:W=>({isEditable:!0})},{title:"Driver Contact",dataIndex:"driver_contact_number",onCell:W=>({isEditable:!0})},{title:"Driver Licence",dataIndex:"Driver_licence",onCell:W=>({isEditable:!0})},{title:"Start Time",dataIndex:"start_time",onCell:W=>({isEditable:!0})},{title:"Drop Time",dataIndex:"drop_time",onCell:W=>({isEditable:!0})},{title:"Type",dataIndex:"type",onCell:W=>({isEditable:!0})}];return e.jsx("div",{style:{display:"flex",justifyContent:"center"},children:e.jsx("div",{style:{width:"95%",margin:8},children:e.jsx(n.Table,{components:{body:{cell:ni}},expandable:{childrenColumnName:"changed"},bordered:!0,size:"small",columns:q,rowKey:W=>z(W)+"cell01",dataSource:L,pagination:!1})})})};return e.jsxs("div",{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(j,{pt:5,pb:1,children:e.jsxs("div",{children:[e.jsxs("div",{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Assign Vehicle"})}),e.jsx(j,{px:3,pb:2,children:e.jsx("form",{onSubmit:M,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(220px, 320px) 1fr auto",gap:20,alignItems:"end"},children:[e.jsx("div",{children:e.jsx(Q,{options:B,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Route",name:"route_id",required:!0,allowSelectAll:!1,onChange:E=>{d(E?.value??null),s(L=>!L)}})}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:{display:"block",marginBottom:6,fontSize:14,fontWeight:500,color:"#222"},children:"Vehicles"}),e.jsx("div",{style:{borderBottom:"1px solid #d9d9d9",paddingBottom:8,maxHeight:140,overflow:"auto"},children:e.jsx(n.Checkbox.Group,{style:{display:"flex",flexWrap:"wrap",gap:12},options:A,value:c,onChange:E=>g(E),disabled:!l||p})},`check001${a}`)]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ne,{type:"submit",value:"Save",color:"primary"}),e.jsx(n.Button,{type:"text",htmlType:"button",onClick:()=>{d(null),g([]),s(E=>!E)},style:Vp,children:"Cancel"})]})]})})})]}),e.jsx("div",{style:{marginTop:24},children:e.jsxs("div",{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Vehicle List"})}),e.jsx(j,{style:{padding:"10px 16px"},children:e.jsx(n.Table,{components:{body:{cell:ni}},columns:Y,bordered:!0,rowKey:E=>z(E),dataSource:Array.isArray(U)?U:[],loading:x,expandable:{expandedRowRender:$,childrenColumnName:"changed"},pagination:{current:r.pagination.current,pageSize:r.pagination.pageSize,total:P,showSizeChanger:!0,onChange:I,onShowSizeChange:(E,L)=>{o(q=>({...q,pagination:{current:1,pageSize:L}}))},showTotal:(E,L)=>`${L[0]}-${L[1]} of ${E} items`}})})]})})]})})]})}const si={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},Ds=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:[]},da=(t,a,s)=>{if(a==null||a==="")return null;const r=t.find(o=>String(o.value)===String(a));return r||(s?{label:String(s),value:a}:{label:String(a),value:a})},Hp=()=>{try{return JSON.parse(localStorage.getItem("genrall_settings")||"{}")?.currency_symbol??""}catch{return""}},Kp=t=>{if(t==null||t===""||t==="null"||t==="undefined")return"";if(Array.isArray(t))return t.filter(s=>s!=null&&s!==""&&String(s).toLowerCase()!=="null"&&String(s).toLowerCase()!=="undefined").join(", ");const a=String(t).trim();return!a||a.toLowerCase()==="null"||a.toLowerCase()==="undefined"?"":a};function Gp({token:t,assignmentId:a,studentName:s,onClose:r,onSuccess:o}){const l="api/branchapi/Transport/showRouteAssignStudent",d="api/branchapi/Transport/updateTransportRoutesStudent",c="api/branchapi/Transport/getrouteDropdown",g="api/branchapi/Transport/getvehicleListByRouteIdwithCount",f="api/branchapi/Transport/getStoppageDropdown",u="api/branchapi/Transport/routeShowdata",[m,w]=i.useState(null),[v,b]=i.useState(null),[h,x]=i.useState(null),[T,R]=i.useState(te()),[k,D]=i.useState(""),[C,p]=i.useState(0),[y,_]=i.useState(0),{data:P,isLoading:U}=H(t&&a?[`${l}?id=${a}`,t]:null,([ie,Se])=>K(ie,Se)),B=i.useMemo(()=>{if(!P||P?.Status&&P.Status!=="Success")return null;const ie=P?.data??P;return Array.isArray(ie)?ie[0]??null:ie},[P]);i.useEffect(()=>{const ie=B?.fk_route_id??B?.route_id;ie!=null&&w(ie),B?.vehicle_id!=null&&b(B.vehicle_id),B?.stop_id!=null&&x(B.stop_id),R(B?.start_date?te(B.start_date):te()),D(Kp(B?.service_push))},[B]);const A=t&&m?`${g}?route_id=${m}`:null,F=t&&m?`${u}?id=${m}`:null,O=t&&m?`${f}?route_id=${m}`:null,{data:M}=H(t&&c?[c,t]:null,([ie,Se])=>K(ie,Se)),{data:I,isLoading:N}=H(A?[A,t]:null,([ie,Se])=>K(ie,Se)),{data:Y,isLoading:z}=H(O?[O,t]:null,([ie,Se])=>K(ie,Se)),{data:$}=H(F?[F,t]:null,([ie,Se])=>K(ie,Se)),E=i.useMemo(()=>Ds(M),[M]),L=i.useMemo(()=>Ds(I),[I]),q=i.useMemo(()=>Ds(Y),[Y]),W=P?.data[0]?.rootCost,se=Hp(),Z=s||[B?.firstname,B?.lastname].filter(Boolean).join(" ")||"",G=(ie,Se)=>{switch(Se){case"route_id":w(ie?.value??null),b(null),x(null),p(Ee=>Ee+1),_(Ee=>Ee+1);break;case"vehicle_id":b(ie?.value??null),x(null),_(Ee=>Ee+1);break;case"stop_id":x(ie?.value??null);break}},J=async ie=>{if(ie.preventDefault(),!m||!v||!h){S.error("Please select Route, Vehicle and Stop",{duration:1200});return}const Se=new FormData;Se.append("id",String(a)),Se.append("student_id",String(B?.fk_student_id??B?.student_id??"")),Se.append("fk_route_id",String(m)),Se.append("vehicle_id",String(v)),Se.append("stop_id",String(h)),Se.append("rootCost",String(W??"")),Se.append("start_date",T?.isValid?.()?T.format("YYYY-MM-DD"):te().format("YYYY-MM-DD")),Se.append("puse_service",String(k??""));try{await We(d,Se,t),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),o?.(),r?.()}catch(Ee){S.error(Ee?.message??"Failed to update the item.",{duration:1e3})}};if(U||!(B&&!U&&(!m||!N&&!z)))return e.jsx("div",{style:{display:"flex",justifyContent:"center",padding:48},children:e.jsx(n.Spin,{})});if(!B)return e.jsxs("div",{style:{padding:"8px 0"},children:[e.jsx("p",{style:{color:"#666",fontSize:14,marginBottom:16},children:"Unable to load assignment details. Please try again."}),e.jsx(n.Button,{type:"text",onClick:r,style:si,children:"Close"})]});const de=B.fk_route_id??B.route_id,Ce=da(E,de,B.route_title),oe=da(L,B.vehicle_id,B.vehicle_name??B.vehicle_no),le=da(q,B.stop_id,B.stop_name??B.stoppage_name);return e.jsx("form",{onSubmit:J,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{type:"text",name:"title",label:"Student",defaultValue:Z,readOnly:!0}),e.jsx("input",{type:"hidden",name:"student_id",value:B.fk_student_id??B.student_id??""}),e.jsx(Q,{options:E,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Route",required:!0,allowSelectAll:!1,value:da(E,m,Ce?.label)??null,onChange:ie=>G(ie,"route_id")}),e.jsx(Q,{options:L,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Vehicle",required:!0,allowSelectAll:!1,value:da(L,v,oe?.label)??null,onChange:ie=>G(ie,"vehicle_id")},`edit-vehicle-${C}`),e.jsx(Q,{options:q,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Stop",required:!0,allowSelectAll:!1,value:da(q,h,le?.label)??null,onChange:ie=>G(ie,"stop_id")},`edit-stop-${y}`),e.jsx(V,{type:"text",label:"Route Cost",value:W!=null?`${se}${W}`:"",readOnly:!0}),e.jsx("input",{type:"hidden",name:"rootCost",value:W??""}),e.jsx(Ue,{Desplay:"Start Date",placement:"bottomRight",format:"YYYY-MM-DD",allowClear:!1,value:T,onChange:ie=>R(ie)}),e.jsx(V,{type:"text",label:"Pause Service",value:k,onChange:ie=>D(ie?.target?.value??""),placeholder:"e.g. 01, 02, 03"}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,marginTop:4},children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:r,style:si,children:"Cancel"})]})]})},`edit-${a}-${C}`)}const ri={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},Jp=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},Ra=t=>Jp(t),Qp=t=>t||"",Xp=()=>{try{return JSON.parse(localStorage.getItem("genrall_settings")||"{}")?.currency_symbol??""}catch{return""}},Zp=t=>{const a=String(t??"Drawer").trim().toLowerCase().replace(/\s+/g,"");return a==="page"||a==="sendpage"?"page":"drawer"},em=(t,a)=>{const s=a||"/TransportDashboard/EditAssignStudentTransport?id={id}",r=t?.id??"",o=encodeURIComponent(String(r));if(s.includes("{id}"))return s.replaceAll("{id}",o);if(s.includes(":id"))return s.replace(":id",o);try{const d=new URL(s,"http://localhost");if(d.searchParams.has("id"))return d.searchParams.set("id",String(r)),`${d.pathname}${d.search}${d.hash}`}catch{}const l=s.includes("?")?"&":"?";return`${s}${l}id=${o}`};function tm({token:t,editType:a,onNavigate:s,editPagePath:r,sampleTemplateUrl:o=kc}){const d=Zp(a)==="drawer",c="api/branchapi/academy/classdropdownlist",g="api/branchapi/academy/sectionoftheClass",f="api/branchapi/Transport/routeStudentList",u="api/branchapi/Transport/getrouteDropdown",m="api/branchapi/Transport/getvehicleListByRouteIdwithCount",w="api/branchapi/Transport/getStoppageDropdown",v="api/branchapi/Transport/routeShowdata",b="api/branchapi/Transport/assignTransportRoutesStudent",h="api/branchapi/transport/removeStudentTransport",x="api/branchapi/transport/assignTransportRoutesStudentBulk",[T,R]=i.useState(null),[k,D]=i.useState(!1),[C,p]=i.useState(!1),[y,_]=i.useState(null),[P,U]=i.useState(null),[B,A]=i.useState(null),[F,O]=i.useState(null),[M,I]=i.useState(!1),[N,Y]=i.useState(!1),[z,$]=i.useState({page:1,rowsPerPage:50}),[E,L]=i.useState(null),[q,W]=i.useState(!1),[se,Z]=i.useState(null),[G,J]=i.useState(null),[re,de]=i.useState(null),[Ce,oe]=i.useState(null),[le,ie]=i.useState(null),[Se,Ee]=i.useState(null),[Qe,be]=i.useState(null),[ve,Me]=i.useState(te()),[Ye,Le]=i.useState(""),[Be,Xe]=i.useState(null),[tt,fe]=i.useState(!1),[je,xe]=i.useState([]),ae=(ge,De)=>{const et=ge?.value??null;switch(De){case"class_id":de(et),oe(null),L(et?`${g}?class_id=${encodeURIComponent(String(et))}`:null),D(Ot=>!Ot);break;case"route_id":ie(et),Ee(null),be(null),J(et),U(et?`${m}?route_id=${encodeURIComponent(String(et))}`:null),A(et?`${v}?id=${encodeURIComponent(String(et))}`:null),O(null),I(Ot=>!Ot),Y(Ot=>!Ot);break;case"vehicle_id":Ee(et),be(null),O(le?`${w}?route_id=${encodeURIComponent(String(le))}`:null),Y(Ot=>!Ot);break;case"stop_id":be(et);break}},me=ge=>{if(d){_(ge),p(!0);return}const De=em(ge,r);if(typeof s=="function"){s(De,ge);return}typeof window<"u"&&De&&window.location.assign(De)},ye=()=>{p(!1),_(null)},ke=y?`Edit â ${y.firstname??""} ${y.lastname??""}`.trim():"Edit Student Transport",{data:Pe}=H(t&&c?[c,t]:null,([ge,De])=>K(ge,De)),{data:ue}=H(t&&E?[E,t]:null,([ge,De])=>K(ge,De)),{data:we}=H(t&&P?[P,t]:null,([ge,De])=>K(ge,De)),{data:Ve}=H(t&&F?[F,t]:null,([ge,De])=>K(ge,De)),{data:ct}=H(t&&B?[B,t]:null,([ge,De])=>K(ge,De)),{data:Ft}=H(t&&u?[u,t]:null,([ge,De])=>K(ge,De)),Pt=t&&T?`${T}&page=${z.page}&per_page=${z.rowsPerPage}`:null,{isLoading:pe,error:Ae,data:pt,mutate:vt}=H(Pt?[Pt,t]:null,([ge,De])=>K(ge,De)),cn=i.useMemo(()=>Ra(Pe),[Pe]),un=i.useMemo(()=>Ra(ue),[ue]),pn=i.useMemo(()=>Ra(we),[we]),mn=i.useMemo(()=>Ra(Ve),[Ve]),hn=i.useMemo(()=>Ra(Ft),[Ft]),ce=ct?.data?.[0]?.fare??ct?.data?.fare??ct?.fare??ct?.data?.data?.[0]?.fare??ct?.data?.data?.fare;i.useEffect(()=>{ce==null||ce===""||Le(String(ce))},[ce]);const _e=async ge=>{try{await vt(He(h,ge,t),ze(ge)),S.success("Success! Deleted item.",{duration:1e3})}catch{S.error("Failed to delete the item.",{duration:1e3})}},qe=async()=>{if(!Be){S.error("Please select an Excel file to upload.",{duration:1e3});return}fe(!0),xe([]);try{const ge=new FormData;ge.append("file",Be);const et=await(await fetch(`${x}`,{method:"POST",headers:{Authorization:t},body:ge})).json();if(et.Status==="Success"){const Ot=et.data?.rows||[];xe(Ot);const fr=et.data?.success_count||0,Dl=et.data?.failed_count||0;S.success(et.message||`Transport bulk upload completed. ${fr} succeeded, ${Dl} failed.`,{duration:1e3}),fr>0&&vt()}else S.error(et.message||"Failed to upload student transport assignments.",{duration:1e3})}catch(ge){S.error(ge?.message||"Something went wrong.",{duration:1e3})}finally{fe(!1),Xe(null)}},Ze=[{title:"Route Status",key:"route_status",render:(ge,De)=>De.fk_route_id?e.jsx("span",{children:De.route_title}):e.jsx("span",{children:"Not Assigned"})},{title:"Vehicle Assign Date",dataIndex:"start_date",key:"start_date",render:(ge,De)=>Qp(De.start_date)},{title:"Admission No",dataIndex:"admission_no",key:"admission_no"},{title:"Roll No",dataIndex:"roll_no",key:"roll_no"},{title:"Name",key:"name",render:(ge,De)=>`${De.firstname} ${De.lastname}`},{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Mobileno",dataIndex:"mobileno",key:"mobileno"},{title:"Action",key:"action",render:(ge,De)=>e.jsx("div",{style:{display:"flex",alignItems:"center",gap:8},children:De.fk_route_id?e.jsxs(e.Fragment,{children:[e.jsx(gt,{id:De?.id,funcName:_e}),e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>me(De),style:{padding:2}})]}):e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.PlusOutlined,{}),onClick:()=>ms(De.student_id),style:{padding:2}})})}],ut=async(ge,De)=>{try{await vt(Ne(ge,De,t),Ke(De)),S.success("Success! Added new item.",{duration:1e3,icon:"ð"}),W(!1),hs()}catch{S.error("Failed to add the new item.",{duration:1e3})}},xt=ge=>{if(ge.preventDefault(),!re||!Ce){S.error("Please select Class and Section",{duration:1200});return}R(`${f}?cID=${encodeURIComponent(String(re))}&sID=${encodeURIComponent(String(Ce))}`),$(De=>({...De,page:1}))},ps=(ge,De)=>{$({page:ge,rowsPerPage:parseInt(De,10)})},ms=ge=>{Z(ge),W(!0)},wa=ge=>{if(ge.preventDefault(),!se){S.error("Student is required",{duration:1200});return}if(!le||!Se||!Qe){S.error("Please select Route, Vehicle and Stop",{duration:1300});return}const De=new FormData;De.append("student_id",String(se)),De.append("fk_route_id",String(le)),De.append("vehicle_id",String(Se)),De.append("stop_id",String(Qe)),De.append("start_date",ve?.isValid?.()?ve.format("YYYY-MM-DD"):te().format("YYYY-MM-DD")),De.append("rootCost",String(Ye??"")),ut(b,De)},hs=()=>{W(!1),U(null),A(null),O(null),J(null),ie(null),Ee(null),be(null),Me(te()),Le(""),I(ge=>!ge),Y(ge=>!ge)},Al=Xp();return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Bulk Assign Students to Transport"})}),e.jsxs(j,{p:3,children:[e.jsxs(n.Row,{gutter:[16,16],align:"middle",children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(n.Upload,{accept:".xlsx",showUploadList:!1,beforeUpload:ge=>(Xe(ge),!1),children:e.jsx(n.Button,{icon:e.jsx(ee.UploadOutlined,{}),disabled:tt,children:Be?Be.name:"Choose Excel File (.xlsx)"})})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(n.Button,{type:"primary",onClick:qe,disabled:tt||!Be,loading:tt,children:tt?"Uploading...":"Upload Students"})})})]}),o&&e.jsx(j,{mt:2,children:e.jsx("a",{href:o,download:!0,style:{color:"#5080f8",fontSize:13,textDecoration:"none"},children:"Download sample Excel template"})}),je.length>0&&e.jsxs(j,{mt:3,children:[e.jsx(he,{level:5,children:"Upload Results"}),e.jsx(n.Table,{dataSource:je.map((ge,De)=>({...ge,key:De})),pagination:!1,size:"small",bordered:!0,columns:[{title:"Row",dataIndex:"row",width:80},{title:"Student ID",dataIndex:"student_id"},{title:"Status",dataIndex:"status",render:ge=>e.jsx("span",{style:{color:ge==="Success"?"green":"red",fontWeight:500},children:ge})},{title:"Message",dataIndex:"message"}]})]})]})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Search Students"})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:xt,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:8,children:e.jsx(j,{children:e.jsx(Q,{options:cn,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",onChange:ge=>ae(ge,"class_id"),required:!0,allowSelectAll:!1,value:cn.find(ge=>String(ge.value)===String(re))??null})})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsx(j,{children:e.jsx(Q,{options:un,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",allowSelectAll:!1,required:!0,value:un.find(ge=>String(ge.value)===String(Ce))??null,onChange:ge=>oe(ge?.value??null)},`section1${k}`)})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsxs(j,{display:"flex",alignItems:"center",height:"100%",mt:2,children:[e.jsx(ne,{type:"submit",value:"Search",color:"primary"}),e.jsx(n.Button,{type:"text",htmlType:"button",onClick:()=>{R(null),L(null),de(null),oe(null),D(ge=>!ge)},style:ri,children:"Cancel"})]})})]})})})]})}),T&&e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Student List"})}),e.jsx(j,{p:3,children:e.jsx(Ie,{parentCallback:ps,data:{newData:pt,columns:Ze,columnstype:"antd",action:!1,Loading:pe,error:Ae,deleteTodoMutation:_e,pageController:z}})})]})})]}),e.jsx(n.Drawer,{open:C,title:ke,placement:"right",width:420,destroyOnClose:!0,onClose:ye,children:y?.id&&e.jsx(Gp,{token:t,assignmentId:y.id,studentName:`${y.firstname??""} ${y.lastname??""}`.trim(),onClose:ye,onSuccess:()=>vt()})}),e.jsx(n.Modal,{open:q,title:"Assign Student to Transport",onCancel:hs,footer:null,width:640,destroyOnClose:!0,children:e.jsx("form",{onSubmit:wa,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{options:hn,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Route",required:!0,allowSelectAll:!1,value:hn.find(ge=>String(ge.value)===String(le))??null,onChange:ge=>ae(ge,"route_id")})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{options:pn,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Vehicle",required:!0,allowSelectAll:!1,value:pn.find(ge=>String(ge.value)===String(Se))??null,onChange:ge=>ae(ge,"vehicle_id")},`vehicle001${M}`)})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{options:mn,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Stop",required:!0,allowSelectAll:!1,value:mn.find(ge=>String(ge.value)===String(Qe))??null,onChange:ge=>ae(ge,"stop_id")},`stop001${N}`)})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{Desplay:"Start Date",placement:"bottomRight",format:"YYYY-MM-DD",value:ve,onChange:ge=>Me(ge)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{type:"text",name:"rootCost",label:"Route Cost",value:Ye,onChange:ge=>Le(ge?.target?.value??"")})})}),e.jsx(n.Col,{xs:24,children:e.jsxs(j,{display:"flex",alignItems:"center",gap:12,children:[e.jsx(ne,{type:"submit",value:String(Ye??"").trim()?`${Al}${Ye} â Assign`:"Assign",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:hs,style:ri,children:"Cancel"})]})})]})})})]})}const ii={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},xn={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"};function am({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:50}),[r,o]=i.useState(!1),[l,d]=i.useState(null),[c,g]=i.useState(""),[f,u]=i.useState(""),[m,w]=i.useState(""),[v,b]=i.useState(!1),h=`api/branchapi/Transport/getdriverTable?page=${a.page}&per_page=${a.rowsPerPage}`,x="api/branchapi/Transport/add_driver",T="api/branchapi/Transport/edit_driver",R="api/branchapi/Transport/deletedriver",k="api/branchapi/staff/uploadDocuments",D=i.useMemo(()=>String(k).startsWith("http")?k:`${rt()??""}${String(k).replace(/^\/+/,"")}`,[k]),C=rt()??"",{isLoading:p,data:y,error:_,mutate:P}=H(t?[h,t]:null,([z,$])=>K(z,$)),U=async(z,$)=>{try{await Ne(z,$,t),await P(),S.success("Success! Added new item.",{duration:1e3,icon:"ð"}),g("")}catch(E){S.error(E?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},B=z=>{z.preventDefault();const $=new FormData(z.target);U(x,$),z.target.reset()},A=async z=>{try{await P(He(R,z,t),ze(z)),S.success("Success! Deleted item.",{duration:1e3})}catch{S.error("Failed to delete the item.",{duration:1e3})}},F=z=>{d(z),g(z?.image??""),o(!0)},O=async z=>{try{await We(T,z,t),await P(),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),o(!1),d(null),g("")}catch($){S.error($?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},M=z=>{z.preventDefault();const $=new FormData(z.target);$.append("id",l?.id??""),O($)},I=(z,$)=>{s({page:z,rowsPerPage:parseInt($,10)})},N=[{title:"Driver Name",dataIndex:"name",key:"name",sorter:{compare:(z,$)=>String(z?.name??"").localeCompare(String($?.name??""))}},{title:"Driver Licence",dataIndex:"Driver_licence",key:"Driver_licence",sorter:{compare:(z,$)=>String(z?.Driver_licence??"").localeCompare(String($?.Driver_licence??""))}},{title:"Contact",dataIndex:"contact_number",key:"contact_number",sorter:{compare:(z,$)=>Number(z?.contact_number??0)-Number($?.contact_number??0)}},{title:"Address",dataIndex:"address",key:"address",sorter:{compare:(z,$)=>String(z?.address??"").localeCompare(String($?.address??""))}},{title:"Image",key:"image",width:100,render:(z,$)=>{const E=$?.image?`${C}staff/document/${$.image}`:"";return E?e.jsx("div",{style:{display:"flex",justifyContent:"center"},children:e.jsx(n.Image,{width:80,src:E,preview:{visible:!1,onVisibleChange:()=>{b(!0),u(E),w($?.name??"Driver")}}})}):null}},{title:"Action",key:"action",render:(z,$)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>F($),style:{padding:2}}),e.jsx(gt,{id:$?.id,funcName:A})]})}],Y=l?.name?`Edit ${l.name}`:"Edit Driver";return e.jsxs("div",{children:[e.jsx(n.Drawer,{open:r,title:Y,placement:"right",width:420,destroyOnClose:!0,onClose:()=>{o(!1),d(null),g("")},children:e.jsx("form",{onSubmit:M,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{type:"text",name:"name",label:"Driver Name",defaultValue:l?.name??"",required:"required"}),e.jsx(V,{type:"text",name:"Driver_licence",label:"Driver Licence",defaultValue:l?.Driver_licence??"",required:"required"}),e.jsx(V,{type:"number",name:"contact_number",label:"Driver Contact",defaultValue:l?.contact_number??"",required:"required"}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:xn,children:"Address"}),e.jsx(n.Input.TextArea,{name:"address",defaultValue:l?.address??"",rows:2,style:{width:"100%",border:0,borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none",paddingLeft:0,paddingRight:0}})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:xn,children:"Image"}),e.jsx(n.Upload,{maxCount:1,action:D,headers:t?{Authorization:t}:void 0,onChange:z=>{if(z?.file?.status!=="done")return;const $=z?.file?.response,E=$?.data??$?.filename??$?.file??$?.path??"";E&&g(String(E))},children:e.jsx(n.Button,{icon:e.jsx(ee.UploadOutlined,{}),disabled:!D,children:"Upload"})}),e.jsx("input",{type:"hidden",name:"file",value:c})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{o(!1),d(null),g("")},style:ii,children:"Cancel"})]})]})})}),e.jsx(n.Modal,{zIndex:9999,open:v,title:m,footer:null,onCancel:()=>b(!1),children:e.jsx("img",{alt:"preview",style:{width:"100%"},src:f})}),e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(j,{pt:5,pb:1,children:e.jsxs("div",{children:[e.jsxs("div",{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Add Driver"})}),e.jsx(j,{px:3,pb:2,children:e.jsx("form",{onSubmit:B,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"text",name:"name",label:"Driver Name",required:"required"}),e.jsx(V,{type:"text",name:"Driver_licence",label:"Driver Licence",required:"required"}),e.jsx(V,{type:"number",name:"contact_number",label:"Driver Contact",required:"required"}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:xn,children:"Address"}),e.jsx(n.Input.TextArea,{name:"address",rows:2,style:{width:"100%",border:0,borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none",paddingLeft:0,paddingRight:0}})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:xn,children:"Image"}),e.jsx(n.Upload,{maxCount:1,action:D,headers:t?{Authorization:t}:void 0,onChange:z=>{if(z?.file?.status!=="done")return;const $=z?.file?.response,E=$?.data??$?.filename??$?.file??$?.path??"";E&&g(String(E))},children:e.jsx(n.Button,{icon:e.jsx(ee.UploadOutlined,{}),disabled:!D,children:"Upload"})}),e.jsx("input",{type:"hidden",name:"file",value:c})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ne,{type:"submit",value:"Save",color:"primary"}),e.jsx(n.Button,{type:"text",htmlType:"reset",onClick:()=>g(""),style:ii,children:"Cancel"})]})]})})})]}),e.jsx("div",{style:{marginTop:24},children:e.jsxs("div",{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Driver List"})}),e.jsx(j,{children:e.jsx(Ie,{parentCallback:I,data:{newData:y,columns:N,columnstype:"antd",action:!1,Loading:p,error:_,deleteTodoMutation:A}})})]})})]})})]})}const oi={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},ca={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},bn={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"},li=[{label:"Pick",value:"pick"},{label:"Drop",value:"drop"}],jn=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:[]};function nm({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:50}),[r,o]=i.useState(!1),[l,d]=i.useState(!1),[c,g]=i.useState(null),[f,u]=i.useState(null),[m,w]=i.useState(null),[v,b]=i.useState(null),[h,x]=i.useState(te()),[T,R]=i.useState(te()),[k,D]=i.useState("pick"),[C,p]=i.useState(!1),[y,_]=i.useState(null),[P,U]=i.useState(null),[B,A]=i.useState(!1),[F,O]=i.useState(null),[M,I]=i.useState(null),[N,Y]=i.useState(null),[z,$]=i.useState(null),[E,L]=i.useState(te()),[q,W]=i.useState(te()),[se,Z]=i.useState("pick"),G=`api/branchapi/Transport/assignRouteTimeList?page=${a.page}&per_page=${a.rowsPerPage}`,J="api/branchapi/Transport/assignRouteTime",re="api/branchapi/Transport/editAssignRouteTime",de="api/branchapi/Transport/deleteAssignRouteTime",Ce="api/branchapi/Transport/driverDropdown",oe="api/branchapi/transport/routeTimetableShowdata",le="api/branchapi/Transport/getrouteDropdown",ie="api/branchapi/Transport/getvehicleDropdown",{isLoading:Se,data:Ee,error:Qe,mutate:be}=H(t?[G,t]:null,([pe,Ae])=>K(pe,Ae)),{data:ve}=H(t&&le?[le,t]:null,([pe,Ae])=>K(pe,Ae)),{data:Me}=H(t&&Ce?[Ce,t]:null,([pe,Ae])=>K(pe,Ae)),Ye=i.useMemo(()=>c?`${ie}?route_id=${c}`:null,[c,ie]),{data:Le}=H(t&&Ye?[Ye,t]:null,([pe,Ae])=>K(pe,Ae)),Be=i.useMemo(()=>jn(ve),[ve]),Xe=i.useMemo(()=>jn(Me),[Me]),tt=i.useMemo(()=>jn(Le),[Le]),fe=(pe,Ae)=>{s({page:pe,rowsPerPage:parseInt(Ae,10)})},je=async pe=>{pe.preventDefault();const Ae=new FormData(pe.target);Ae.set("route_id",f?.value??c??""),Ae.set("driver_id",m?.value??""),Ae.set("vehicle_id",v?.value??""),Ae.set("start_time",h?h.format("h:mm a"):""),Ae.set("drop_time",T?T.format("h:mm a"):""),Ae.set("type",k);try{await Ne(J,Ae,t),await be(),S.success("Success! Added new item.",{duration:1e3,icon:"ð"}),pe.target.reset(),g(null),u(null),w(null),b(null),d(pt=>!pt),x(te()),R(te()),D("pick"),o(pt=>!pt)}catch(pt){S.error(pt?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},xe=async pe=>{try{await He(de,pe,t),await be(),S.success("Success! Deleted item.",{duration:1e3})}catch(Ae){S.error(Ae?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},ae=pe=>{_(pe),p(!0);const Ae=pe?.id??pe?.route_time_id??pe?.routeId??null;U(Ae);const pt=pe?.route_id??pe?.routeId??pe?.fk_route_id;O(pt??null),I(Be.find(vt=>vt?.value===(pt??pe?.route_id))??null),Y(Xe.find(vt=>vt?.value===(pe?.driver_id??pe?.driverId))??null),$(null),A(vt=>!vt),L(pe?.start_time?te(pe.start_time,["h:mm a","HH:mm"]):te()),W(pe?.drop_time?te(pe.drop_time,["h:mm a","HH:mm"]):te()),Z(pe?.type??"pick")},me=i.useMemo(()=>{if(!P)return null;const pe=String(oe).includes("?")?"&":"?";return`${oe}${pe}id=${encodeURIComponent(String(P))}`},[P,oe]),{data:ye,isLoading:ke}=H(t&&me?[me,t]:null,([pe,Ae])=>K(pe,Ae)),Pe=i.useMemo(()=>{const pe=ye?.data??ye;return Array.isArray(pe)?pe[0]??null:Array.isArray(pe?.data)?pe.data[0]??null:pe??null},[ye]),ue=i.useMemo(()=>F?`${ie}?route_id=${F}`:null,[F,ie]),{data:we}=H(t&&ue?[ue,t]:null,([pe,Ae])=>K(pe,Ae)),Ve=i.useMemo(()=>jn(we),[we]);i.useEffect(()=>{if(!Pe)return;const pe=Pe?.route_id??Pe?.fk_route_id??Pe?.routeId;O(pe??null),I(Be.find(Ae=>Ae?.value===pe)??null),Y(Xe.find(Ae=>Ae?.value===Pe?.driver_id)??null),$(null),L(Pe?.start_time?te(Pe.start_time,["h:mm a","HH:mm"]):te()),W(Pe?.drop_time?te(Pe.drop_time,["h:mm a","HH:mm"]):te()),Z(Pe?.type??"pick"),A(Ae=>!Ae)},[Xe,Pe,Be]),i.useEffect(()=>{if(!Pe)return;const pe=Pe?.vehicle_id??Pe?.vehicleId;pe&&$(Ve.find(Ae=>Ae?.value===pe)??null)},[Pe,Ve]);const ct=async pe=>{if(pe.preventDefault(),!P)return;const Ae=new FormData(pe.target);Ae.set("id",String(P)),Ae.set("route_id",M?.value??F??""),Ae.set("driver_id",N?.value??""),Ae.set("vehicle_id",z?.value??""),Ae.set("start_time",E?E.format("h:mm a"):""),Ae.set("drop_time",q?q.format("h:mm a"):""),Ae.set("type",se);try{await We(re,Ae,t),await be(),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),p(!1),_(null)}catch(pt){S.error(pt?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},Ft=[{title:"Route Name",dataIndex:"route_title",key:"route_title"},{title:"Driver Name",dataIndex:"driver_name",key:"driver_name"},{title:"Vehicle Name",dataIndex:"vehicle_name",key:"vehicle_name"},{title:"Start Time",dataIndex:"start_time",key:"start_time"},{title:"End Time",dataIndex:"drop_time",key:"drop_time"},{title:"Type",dataIndex:"type",key:"type"},{title:"Action",key:"action",render:(pe,Ae)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>ae(Ae),style:{padding:2}}),e.jsx(gt,{id:Ae?.id??Ae?.routeId??Ae?.route_time_id,funcName:xe})]})}],Pt=y?.route_title?`Edit ${y.route_title}`:"Edit Route Time";return e.jsxs("div",{children:[e.jsx(n.Drawer,{open:C,title:Pt,placement:"right",width:420,destroyOnClose:!0,onClose:()=>{p(!1),_(null),U(null),O(null),I(null),Y(null),$(null)},children:e.jsx("form",{onSubmit:ct,children:e.jsxs("div",{style:{display:"grid",gap:20,opacity:ke?.6:1},children:[e.jsx(Q,{options:Be,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Route",name:"route_id",required:!0,allowSelectAll:!1,value:M,onChange:pe=>{O(pe?.value??null),I(pe??null),$(null),A(Ae=>!Ae)}}),e.jsx(Q,{options:Xe,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Driver",name:"driver_id",required:!0,allowSelectAll:!1,value:N,onChange:pe=>Y(pe??null)}),e.jsx(Q,{options:Ve,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Vehicle",name:"vehicle_id",required:!0,allowSelectAll:!1,value:z,onChange:pe=>$(pe??null)},`edit-vehicle-${B}`),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:ca,children:"Start Time"}),e.jsx(n.TimePicker,{value:E,onChange:pe=>L(pe),use12Hours:!0,format:"h:mm a",allowClear:!1,style:bn})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:ca,children:"Drop Time"}),e.jsx(n.TimePicker,{value:q,onChange:pe=>W(pe),use12Hours:!0,format:"h:mm a",allowClear:!1,style:bn})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:ca,children:"Type"}),e.jsx("div",{style:{borderBottom:"1px solid #d9d9d9",paddingBottom:6},children:e.jsx(n.Radio.Group,{options:li,optionType:"button",buttonStyle:"solid",value:se,onChange:pe=>Z(pe.target.value)})})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{p(!1),_(null)},style:oi,children:"Cancel"})]})]})})}),e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(j,{pt:5,pb:1,children:e.jsxs("div",{children:[e.jsxs("div",{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Route Time Table"})}),e.jsx(j,{px:3,pb:2,children:e.jsx("form",{onSubmit:je,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Q,{options:Be,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Route",name:"route_id",value:f,onChange:pe=>{g(pe?.value??null),u(pe??null),b(null),d(Ae=>!Ae)},allowSelectAll:!1,required:!0}),e.jsx(Q,{options:Xe,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Driver",name:"driver_id",value:m,onChange:pe=>w(pe??null),allowSelectAll:!1,required:!0}),e.jsx(Q,{options:tt,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Vehicle",name:"vehicle_id",value:v,onChange:pe=>b(pe??null),allowSelectAll:!1,required:!0},`vehicle-${l}`),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:ca,children:"Start Time"}),e.jsx(n.TimePicker,{value:h,onChange:pe=>x(pe),use12Hours:!0,format:"h:mm a",allowClear:!1,style:bn})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:ca,children:"Drop Time"}),e.jsx(n.TimePicker,{value:T,onChange:pe=>R(pe),use12Hours:!0,format:"h:mm a",allowClear:!1,style:bn})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:ca,children:"Type"}),e.jsx("div",{style:{borderBottom:"1px solid #d9d9d9",paddingBottom:6},children:e.jsx(n.Radio.Group,{options:li,optionType:"button",buttonStyle:"solid",value:k,onChange:pe=>D(pe.target.value)})})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ne,{type:"submit",value:"Add",color:"primary"}),e.jsx(n.Button,{type:"text",htmlType:"reset",onClick:()=>{g(null),u(null),w(null),b(null),d(pe=>!pe),x(te()),R(te()),D("pick"),o(pe=>!pe)},style:oi,children:"Cancel"})]})]})},`form-${r}`)})]}),e.jsx("div",{style:{marginTop:24},children:e.jsxs("div",{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Route Time List"})}),e.jsx(j,{children:e.jsx(Ie,{parentCallback:fe,data:{newData:Ee,columns:Ft,columnstype:"antd",action:!1,Loading:Se,error:Qe,deleteTodoMutation:xe}})})]})})]})})]})}const sm={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},di={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},ci={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"},ui=({dataIndex:t,title:a,record:s,children:r,isEditable:o,...l})=>e.jsx("td",{...l,children:o?e.jsx("div",{style:{display:"flex",marginLeft:"5%"},children:r}):r});let pi=2;function rm({token:t}){const[a,s]=i.useState([]),[r,o]=i.useState(null),[l,d]=i.useState([]),[c,g]=i.useState({pagination:{current:1,pageSize:50}}),{isLoading:f,data:u,mutate:m}=H(t?[`api/branchapi/transport/getrouteStoppageData?page=${c.pagination.current}&per_page=${c.pagination.pageSize}`,t]:null,([O,M])=>K(O,M)),{Status:w="Failed",pagination:{total_rows:v=0}={}}=u||{},{data:b=[]}=w==="Success"?u:{},{data:h}=H(t?["api/branchapi/Transport/getrouteDropdown",t]:null,([O,M])=>K(O,M)),x=i.useMemo(()=>{const O=h?.data??h??[];if(Array.isArray(O))return O;if(O&&typeof O=="object"){if(Array.isArray(O?.data))return O.data;if(Array.isArray(O?.data?.data))return O.data.data}return[]},[h]),{data:T}=H(t&&r?["api/branchapi/transport/getrouteStoppageData?route_id="+r,t]:null,([O,M])=>K(O,M)),{Status:R="Failed"}=T||{},k=async(O,M)=>{try{await m(Ne(O,M,t),Ke(M)),S.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{S.error("Failed to add the new item.",{duration:1e3})}},D=O=>O?typeof O=="string"?O:O?.isValid?.()?O.format("h:mm a"):"":"",C=(O,M=[])=>{const I=(Array.isArray(O)?O:[]).map(z=>({id:z?.id??"",name:String(z?.stop_name??z?.name??"").trim(),pickTime:D(z?.pickup_time??z?.pickTime??z?.pickupTime),drop_time:D(z?.drop_time??z?.dropTime)})),N=I.filter(z=>z?.id!=null&&String(z.id).trim()!==""),Y=I.filter(z=>!(z?.id!=null&&String(z.id).trim()!==""));return{route_id:r??"",edit_stoppage:N,add_stoppage:Y,delete_stoppage:Array.isArray(M)?M:[]}},p=O=>{O.preventDefault();const M="/api/branchapi/transport/addstoppageToRoute",I=C(a,l);k(M,I)},y=()=>{s(O=>[...Array.isArray(O)?O:[],{idKey:pi++,stop_name:"",pickup_time:te().format("h:mm a"),drop_time:te().format("h:mm a")}])},_=O=>{if(a.length===1)return;const M=a[O];M?.id!=null&&String(M.id).trim()!==""&&!M?.idKey&&d(I=>{const N=Array.isArray(I)?I:[];return N.some(z=>String(z)===String(M.id))?N:[...N,M.id]}),s(I=>{const N=[...I];return N.splice(O,1),N})},P=O=>{g(M=>({...M,pagination:{current:O,pageSize:M.pagination.pageSize}}))},U=async O=>{const M="/api/branchapi/Transport/deletevehicle";try{await m(He(M,O,t),ze(O)),S.success("Success! Deleted item.",{duration:1e3})}catch{S.error("Failed to delete the item.",{duration:1e3})}};i.useEffect(()=>{if(R==="Success"){const O=Array.isArray(T?.data)?T.data:[];O.length>0?(s(O),d([])):r&&(s([{idKey:pi++,stop_name:"",pickup_time:te().format("h:mm a"),drop_time:te().format("h:mm a")}]),d([]))}},[R,T,r]);const B=O=>{const{children:M=[]}=O||{},I=[{title:"Stop Name",dataIndex:"stop_name",onCell:N=>({isEditable:!0})},{title:"Pick Time",dataIndex:"pickup_time",onCell:N=>({isEditable:!0})},{title:"Drop Name",dataIndex:"drop_time",onCell:N=>({isEditable:!0})}];return e.jsx("div",{style:{display:"flex",justifyContent:"center"},children:e.jsx("div",{style:{width:"95%",margin:8},children:e.jsx(n.Table,{components:{body:{cell:ui}},expandable:{childrenColumnName:"changed"},bordered:!0,columns:I,rowKey:N=>A(N)+"cell01",dataSource:M,pagination:!1})})})},A=O=>{const M=["id","index"];for(let I=0;I<M.length;I++)if(O[M[I]])return O[M[I]]},F=[{title:"Route",dataIndex:"route_title"},{title:"Stoppages",render:(O,M,I)=>e.jsx(e.Fragment,{children:(Array.isArray(M.children)?M.children:[]).map((N,Y,z)=>e.jsx("span",{children:`${N.stop_name} ${Y+1===z.length?"":","}`},`${Y}vehicle001`))})},{title:"Action",render:(O,M,I)=>e.jsx(e.Fragment,{children:e.jsx(gt,{id:M?.route_id,funcName:U})})}];return e.jsxs("div",{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs(j,{pt:5,pb:1,children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Route Time Table"})}),e.jsx(j,{px:3,pb:2,children:e.jsxs("form",{onSubmit:p,children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx("div",{children:e.jsx(Q,{options:x,value:x.find(O=>String(O.value)===String(r))??null,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Route",name:"route_id",onChange:O=>{o(O?.value??null),s([]),d([])},allowSelectAll:!1,required:!0})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-start",gap:12},children:r&&e.jsx("button",{type:"button",style:{padding:2,border:"none",background:"transparent",cursor:"pointer",marginBottom:8},title:"Add Row",onClick:y,children:e.jsx(ee.PlusCircleOutlined,{style:{fontSize:24,color:"#28a745"}})})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:12},children:[e.jsx(ne,{type:"submit",value:"Add",color:"primary"}),e.jsx(n.Button,{type:"text",htmlType:"button",onClick:()=>{o(null),s([]),d([])},style:sm,children:"Cancel"})]})]}),e.jsx("div",{style:{marginTop:20},children:a.length>0&&a.map((O,M)=>{const I=O.pickup_time?te(O.pickup_time,"h:mm a"):null,N=O.drop_time?te(O.drop_time,"h:mm a"):null;return e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, minmax(0, 1fr)) auto",gap:16,alignItems:"end",marginBottom:12},children:[e.jsxs("div",{children:[e.jsx(V,{value:O.stop_name??"",type:"text",name:`stoppage[${M}][name]`,label:"Place Name*",required:"required",onChange:Y=>{const z=Y?.target?.value??"";s($=>{const E=[...$];return E[M]={...E[M]??{},stop_name:z},E})}}),O?.id!=null&&String(O.id).trim()!==""&&e.jsx("input",{type:"hidden",name:`stoppage[${M}][id]`,value:String(O.id)})]}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",style:di,children:"Pick Time"}),e.jsx(n.TimePicker,{value:I,use12Hours:!0,format:"h:mm a",name:`stoppage[${M}][pickTime]`,allowClear:!1,style:ci,onChange:Y=>{const z=Y?Y.format("h:mm a"):"";s($=>{const E=[...$];return E[M]={...E[M]??{},pickup_time:z},E})}})]}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",style:di,children:"Drop Time"}),e.jsx(n.TimePicker,{value:N,use12Hours:!0,format:"h:mm a",name:`stoppage[${M}][drop_time]`,allowClear:!1,style:ci,onChange:Y=>{const z=Y?Y.format("h:mm a"):"";s($=>{const E=[...$];return E[M]={...E[M]??{},drop_time:z},E})}})]}),e.jsx("div",{style:{marginBottom:8},children:a.length>1&&e.jsx("button",{type:"button",style:{padding:2,border:"none",background:"transparent",cursor:"pointer"},onClick:()=>_(M),children:e.jsx(ee.MinusCircleOutlined,{style:{fontSize:20,color:"#dc3545"}})})})]},O.idKey?O.idKey+"exp":O.id+"exp")})})]})}),e.jsx(j,{mx:2,mt:1,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Stoppage List"})}),e.jsx(j,{style:{padding:"10px 16px"},children:e.jsx(n.Table,{components:{body:{cell:ui}},columns:F,bordered:!0,size:"small",rowKey:O=>A(O),dataSource:b,loading:f,expandable:{expandedRowRender:B,childrenColumnName:"changed"},pagination:{current:c.pagination.current,pageSize:c.pagination.pageSize,total:v,showSizeChanger:!0,onChange:P,onShowSizeChange:(O,M)=>{g(I=>({...I,pagination:{current:1,pageSize:M}}))},showTotal:(O,M)=>`${M[0]}-${M[1]} of ${O} items`}})})]})]})}const{Step:Sn}=n.Steps;function im({token:t}){const[a,s]=i.useState(0),[r,o]=i.useState(void 0),[l,d]=i.useState(void 0),[c,g]=i.useState(!1),[f,u]=i.useState(null),[m,w]=i.useState(!1),[v,b]=i.useState(!1),[h,x]=i.useState(!1),[T,R]=i.useState([]),[k,D]=i.useState(null),[C,p]=i.useState(null),[y,_]=i.useState(!1),{isLoading:P,data:U}=H(t?[tn,t]:null,([L,q])=>K(L,q)),{isLoading:B,data:A}=H(y?[y,t]:null,([L,q])=>K(L,q)),{data:F}=H(c?[c,t]:null,([L,q])=>K(L,q)),O=i.useMemo(()=>[{title:"Excel Row",dataIndex:"row",width:90,render:L=>L??"-"},{title:"Student Name",dataIndex:"student_name_system",render:L=>L?e.jsx("span",{style:{color:"#d97706"},children:L}):"-"},{title:"Route",dataIndex:"route",render:L=>L||"-"},{title:"Vehicle",dataIndex:"vehicle",render:L=>L||"-"},{title:"Stop",dataIndex:"stop",render:L=>L||"-"},{title:"Start Date",dataIndex:"start_date",render:L=>L||"-"},{title:"Transport Fee",dataIndex:"transport_fee",render:L=>L??"-"},{title:"Status",dataIndex:"status",width:110,render:L=>{const W={Valid:"success",Invalid:"error",Duplicate:"warning",Imported:"success",Skipped:"warning",Failed:"error"}[L]||"default";return e.jsx("span",{style:{color:W,fontWeight:500},children:L})}},{title:"Message",dataIndex:"message",render:L=>L?e.jsx("span",{style:{color:"#dc2626"},children:L}):"-"}],[]),M=()=>{u(null),w(!1),b(!1),x(!1),R([]),D(null),p(null),o(void 0),d(void 0),g(!1),s(0)},I=async()=>{try{const L=await pu({class_id:r?.value,section_id:l?.value},t),q=window.URL.createObjectURL(L),W=document.createElement("a");W.href=q,W.download="transport-bulk-template.xlsx",document.body.appendChild(W),W.click(),document.body.removeChild(W),window.URL.revokeObjectURL(q),S.success("Template downloaded.",{duration:1e3})}catch(L){S.error(L?.message||"Failed to download template.",{duration:1e3})}},N=async()=>{if(!f){S.error("Please select an Excel file to upload.",{duration:1e3});return}b(!0),R([]),D(null),p(null);try{const L=await mu(f,t);if(L.Status!=="Success"){S.error(L.msg||"Validation failed.",{duration:1e3}),b(!1);return}D(L.data?.summary||null),R(L.data?.rows||[]),s(2),S.success(L.msg||"Validation complete.",{duration:1e3})}catch(L){S.error(L?.message||"Validation failed.",{duration:1e3})}finally{b(!1)}},Y=async()=>{if(!T.length){S.error("No rows provided to import.",{duration:1e3});return}x(!0),p(null);try{const L=await hu(T,t,"skip");if(L.Status!=="Success"){S.error(L.msg||"Import failed.",{duration:1e3}),x(!1);return}p(L.data||null),s(3),S.success(L.msg||"Import completed.",{duration:1e3})}catch(L){S.error(L?.message||"Import failed.",{duration:1e3})}finally{x(!1)}},z=async L=>{if(!L||!L.length){S.error("No rows provided.",{duration:1e3});return}try{const q=await fu(L,t),W=window.URL.createObjectURL(q),se=document.createElement("a");se.href=W,se.download="transport-bulk-error-report.xlsx",document.body.appendChild(se),se.click(),document.body.removeChild(se),window.URL.revokeObjectURL(W),S.success("Error report downloaded.",{duration:1e3})}catch(q){S.error(q?.message||"Failed to download error report.",{duration:1e3})}},$=i.useMemo(()=>T.length?(C?C.rows:T).filter(q=>!["Valid","Imported"].includes(q.status)):[],[T,C]),E={background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"};return e.jsx(j,{pt:5,pb:1,children:e.jsx(n.Row,{gutter:[16,16],children:e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:E,children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Transport / Bulk Upload"})}),e.jsxs(j,{p:3,children:[e.jsxs(n.Steps,{current:a,style:{marginBottom:16},children:[e.jsx(Sn,{title:"Download Template"}),e.jsx(Sn,{title:"Upload & Validate"}),e.jsx(Sn,{title:"Review"}),e.jsx(Sn,{title:"Import Result"})]}),a===0&&e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:4,children:e.jsx(j,{children:e.jsx(Q,{label:"Class",options:Array.isArray(U)?U:[],value:r,onChange:L=>{o(L),L?g(`${an}?class_id=${L.value}`):(d(void 0),g(!1))},showSearch:!0,allowClear:!0})})}),e.jsx(n.Col,{xs:24,md:4,children:e.jsx(j,{children:e.jsx(Q,{label:"Section",options:Array.isArray(F)?F:[],value:l,onChange:d,showSearch:!0,allowClear:!0})})}),e.jsx(n.Col,{xs:24,md:4,style:{marginTop:20},children:e.jsx(j,{children:e.jsx(n.Button,{type:"primary",onClick:I,block:!0,children:"Download Excel Template"})})}),e.jsx(n.Col,{xs:24,children:e.jsx(j,{mt:1,children:e.jsx(n.Button,{type:"primary",onClick:()=>s(1),children:"Next: Upload Excel"})})})]}),a===1&&e.jsxs(n.Row,{gutter:[16,16],align:"middle",children:[e.jsx(n.Col,{xs:24,md:6,children:e.jsxs(j,{children:[e.jsx(n.Upload,{accept:".xlsx",showUploadList:!1,beforeUpload:L=>(u(L),!1),children:e.jsx(n.Button,{icon:e.jsx(ee.UploadOutlined,{}),block:!0,disabled:m||v,children:f?f.name:"Choose Excel File (.xlsx)"})}),f&&e.jsxs(j,{mt:.5,display:"flex",alignItems:"center",gap:1,children:[e.jsxs(he,{level:6,color:"textSecondary",children:[(f.size/1024).toFixed(1)," KB"]}),e.jsx(n.Button,{size:"small",danger:!0,onClick:()=>u(null),children:"Remove"})]})]})}),e.jsx(n.Col,{xs:24,md:3,children:e.jsx(j,{children:e.jsx(ne,{type:"button",value:v?"Validating...":"Validate & Preview",color:"primary",onClick:N,disabled:v||!f})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Button,{type:"text",size:"small",onClick:()=>{M(),s(0)},children:"Back"})})]}),a===2&&e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:6,md:3,children:e.jsx(n.Card,{children:e.jsxs(j,{p:1.5,children:[e.jsx(he,{level:6,color:"textSecondary",children:"Total"}),e.jsx(he,{level:4,children:k?.total??T.length})]})})}),e.jsx(n.Col,{xs:6,md:3,children:e.jsx(n.Card,{children:e.jsxs(j,{p:1.5,children:[e.jsx(he,{level:6,color:"textSecondary",children:"Valid"}),e.jsx(he,{level:4,style:{color:"#52c41a"},children:k?.valid??0})]})})}),e.jsx(n.Col,{xs:6,md:3,children:e.jsx(n.Card,{children:e.jsxs(j,{p:1.5,children:[e.jsx(he,{level:6,color:"textSecondary",children:"Invalid"}),e.jsx(he,{level:4,style:{color:"#ff4d4f"},children:k?.invalid??0})]})})}),e.jsx(n.Col,{xs:6,md:3,children:e.jsx(n.Card,{children:e.jsxs(j,{p:1.5,children:[e.jsx(he,{level:6,color:"textSecondary",children:"Duplicate"}),e.jsx(he,{level:4,style:{color:"#faad14"},children:k?.duplicate??0})]})})})]})}),e.jsx(n.Col,{xs:24,children:e.jsx(j,{style:{maxHeight:400,overflow:"auto",width:"100%"},children:e.jsx(n.Table,{dataSource:T.map((L,q)=>({...L,key:`${L.row}-${q}`})),columns:O,size:"small",bordered:!0,scroll:{x:!0},pagination:{pageSize:10,showSizeChanger:!0,showTotal:(L,q)=>`${q[0]}-${q[1]} of ${L} items`}})})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Row,{gutter:[8,8],align:"middle",children:[e.jsx(n.Col,{children:e.jsx(ne,{type:"button",value:h?"Importing...":"Import Valid Rows",color:"primary",onClick:Y,disabled:h})}),e.jsx(n.Col,{children:e.jsx(n.Button,{size:"small",onClick:()=>z($),disabled:!$.length,children:"Download Error Report"})}),e.jsx(n.Col,{children:e.jsx(n.Button,{type:"text",size:"small",onClick:()=>{M(),s(1)},children:"Upload Another File"})})]})})]}),a===3&&e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:6,md:3,children:e.jsx(n.Card,{children:e.jsxs(j,{p:1.5,children:[e.jsxs(he,{level:6,color:"textSecondary",children:["Total "," "]}),e.jsx(he,{level:4,children:C?.total??0})]})})}),e.jsx(n.Col,{xs:6,md:3,children:e.jsx(n.Card,{children:e.jsxs(j,{p:1.5,children:[e.jsxs(he,{level:6,color:"textSecondary",children:["Imported "," "]}),e.jsx(he,{level:4,style:{color:"#52c41a"},children:C?.imported??0})]})})}),e.jsx(n.Col,{xs:6,md:3,children:e.jsx(n.Card,{children:e.jsxs(j,{p:1.5,children:[e.jsxs(he,{level:6,color:"textSecondary",children:["Skipped "," "]}),e.jsx(he,{level:4,style:{color:"#faad14"},children:C?.skipped??0})]})})}),e.jsx(n.Col,{xs:6,md:3,children:e.jsx(n.Card,{children:e.jsxs(j,{p:1.5,children:[e.jsxs(he,{level:6,color:"textSecondary",children:["Failed "," "]}),e.jsx(he,{level:4,style:{color:"#ff4d4f"},children:C?.failed??0})]})})})]})}),e.jsx(n.Col,{xs:24,children:e.jsx(j,{style:{maxHeight:400,overflow:"auto",width:"100%"},children:e.jsx(n.Table,{dataSource:(C?.rows||[]).map((L,q)=>({...L,key:`${L.row}-${q}`})),columns:O,size:"small",bordered:!0,scroll:{x:!0},pagination:{pageSize:10,showSizeChanger:!0,showTotal:(L,q)=>`${q[0]}-${q[1]} of ${L} items`}})})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Row,{gutter:[8,8],align:"middle",children:[e.jsx(n.Col,{children:e.jsx(n.Button,{size:"small",onClick:()=>z($),disabled:!$.length,children:"Download Error Report"})}),e.jsx(n.Col,{children:e.jsx(n.Button,{type:"primary",size:"small",onClick:M,children:"Upload Another File"})})]})})]})]})]})})})})}const om=(t,a)=>{const s=String(t??""),r=String(a??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},nl=t=>{const a=en(t);if(a)return a;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}},mi=(t,a,s)=>{const r=`${t||""}`.trim();if(!r)return"";if(/^https?:\/\//i.test(r))return r;const o=a?.fk_branchID??nl(s),l=r.startsWith("/")?r.slice(1):r;return om(ot(),`uploads/school_${o}/student/homework/${l}`)},hi={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},Ia=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]};function lm({token:t}){const[a,s]=i.useState("api/branchapi/homeworks/gethomeworklistByClassSectionBranch?"),[r,o]=i.useState({page:1,rowsPerPage:10}),[l,d]=i.useState(null),[c,g]=i.useState(null),[f,u]=i.useState(null),[m,w]=i.useState(null),[v,b]=i.useState(!1),[h,x]=i.useState(null),[T,R]=i.useState(null),[k,D]=i.useState(null),[C,p]=i.useState(null),[y,_]=i.useState(null),[P,U]=i.useState(null),[B,A]=i.useState(!1),[F,O]=i.useState(""),[M,I]=i.useState(""),[N,Y]=i.useState(""),[z,$]=i.useState(!1),E=(ue,we)=>{const Ve=ue?.value??null;switch(we){case"class_id":d(Ve),g(null),u(null);break;case"section_id":g(Ve);break;case"subject_id":u(Ve);break}},{data:L}=H(t?["api/branchapi/academy/classdropdownlist",t]:null,([ue,we])=>K(ue,we)),{data:q}=H(t&&y?[y,t]:null,([ue,we])=>K(ue,we)),{data:W}=H(t&&P?[P,t]:null,([ue,we])=>K(ue,we)),se=l?`api/branchapi/academy/sectionoftheClass?class_id=${l}`:null,{data:Z}=H(t&&se?[se,t]:null,([ue,we])=>K(ue,we)),G=l?`api/branchapi/academy/getSubjectsbyClassaslablevalue?class_id=${l}`:null,{data:J}=H(t&&G?[G,t]:null,([ue,we])=>K(ue,we)),re=i.useMemo(()=>Ia(L),[L]),de=i.useMemo(()=>Ia(q),[q]),Ce=i.useMemo(()=>Ia(W),[W]),oe=i.useMemo(()=>Ia(Z),[Z]),le=i.useMemo(()=>Ia(J),[J]),ie=t&&a?`${a}class_id=${l||""}&subject_id=${f||""}§ion_id=${c||""}&date=${m?.format("YYYY-MM-DD")||""}&page=${r.page}&per_page=${r.rowsPerPage}`:null,{isLoading:Se,error:Ee,data:Qe,mutate:be}=H(ie?[ie,t]:null,([ue,we])=>K(ue,we)),ve=async(ue,we)=>{try{await be(Ne(ue,we,t),Ke(we)),S.success("Success! Added new item.",{duration:1e3,icon:"ð"}),tt()}catch(Ve){console.error(Ve),S.error("Failed to add the new item.",{duration:1e3})}},Me=async ue=>{try{await be(He("api/student/Homework/deleteHomework",ue,t),ze(ue)),S.success("Success! Deleted item.",{duration:1e3})}catch(we){console.error(we),S.error("Failed to delete the item.",{duration:1e3})}},Ye=async ue=>{try{const we=await We("api/student/Homework/updateHomework",ue,t);be(we),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),tt()}catch(we){console.error(we),S.error("Failed to update the item.",{duration:1e3})}},Le=ue=>{ue.preventDefault();const we=new FormData(ue.target),Ve=we.get("class_id")||l,ct=we.get("section_id")||c,Ft=we.get("subject_id")||f,Pt=m?.format("YYYY-MM-DD");s(`api/branchapi/homeworks/gethomeworklistByClassSectionBranch?class_id=${Ve||""}&subject_id=${Ft||""}§ion_id=${ct||""}${Pt?`&date=${Pt}`:""}&`),o(pe=>({...pe,page:1}))},Be=ue=>{ue.preventDefault();const we=new FormData(ue.target);ve("api/branchapi/homeworks/addHomework",we),Y("")},Xe=async(ue,we)=>{ue.preventDefault();const Ve=new FormData(ue.target);Ve.append("id",we),$(!0);try{await Ye(Ve)}finally{$(!1)}},tt=()=>{b(!1),x(null),R(null),D(null),p(null),_(null),U(null),Y("")},fe=ue=>{x(ue);const we=ue?.class_id??ue?.classId??null,Ve=ue?.section_id??ue?.sectionId??null,ct=ue?.subject_id??ue?.subjectId??null;R(we),D(Ve),p(ct),we?(_(`api/branchapi/academy/sectionoftheClass?class_id=${we}`),U(`api/branchapi/academy/getSubjectsbyClassaslablevalue?class_id=${we}`)):(_(null),U(null)),Y(ue?.file||ue?.document||""),b(!0)},je=ue=>{const we=ue?.value??null;R(we),D(null),p(null),we?(_(`api/branchapi/academy/sectionoftheClass?class_id=${we}`),U(`api/branchapi/academy/getSubjectsbyClassaslablevalue?class_id=${we}`)):(_(null),U(null))},xe=ue=>{D(ue?.value??null)},ae=ue=>{p(ue?.value??null)},me=(ue,we)=>{o({page:ue,rowsPerPage:parseInt(we,10)})},ye=()=>{A(!1),O(""),I("")},ke=(ue,we)=>{if(!ue){S.error("No document found.",{duration:1e3});return}O(ue),I(we||"Document"),A(!0)},Pe=[{title:"Date",dataIndex:"homework_date",key:"homework_date"},{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Title",dataIndex:"title",key:"title"},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0},{title:"Submission Date",dataIndex:"submit_date",key:"submit_date"},{title:"Staff Name",dataIndex:"staff_name",key:"staff_name"},{title:"Subject",dataIndex:"subject",key:"subject"},{title:"Document",key:"document",render:(ue,we)=>{const Ve=we?.document||we?.file||"";if(!Ve)return e.jsx("span",{style:{color:"#999",fontSize:12},children:"Not Uploaded"});const ct=mi(Ve,we,t);return e.jsx("a",{style:{color:"#5080f8",cursor:"pointer"},onClick:()=>ke(ct,Ve),children:"View"})}},{title:"Action",key:"action",render:(ue,we)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>fe(we),style:{padding:2}}),e.jsx(gt,{id:we?.id,funcName:Me})]})}];return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Search Homework"})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:Le,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{children:e.jsx(Q,{options:re,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",placeholder:"Class",allowSelectAll:!1,value:re.find(ue=>String(ue.value)===String(l))??null,onChange:ue=>E(ue,"class_id")})})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{children:e.jsx(Q,{options:oe,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",placeholder:"Section",allowSelectAll:!1,value:oe.find(ue=>String(ue.value)===String(c))??null,onChange:ue=>E(ue,"section_id")})})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{children:e.jsx(Q,{options:le,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Subject",name:"subject_id",placeholder:"Subject",allowSelectAll:!1,value:le.find(ue=>String(ue.value)===String(f))??null,onChange:ue=>E(ue,"subject_id")})})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{children:e.jsx(Ue,{Desplay:"Date",format:"YYYY-MM-DD",allowClear:!1,value:m,onChange:ue=>w(ue)})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsxs(j,{children:[e.jsx(ne,{type:"submit",value:"Search",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{s("api/branchapi/homeworks/gethomeworklistByClassSectionBranch?"),d(null),g(null),u(null),w(null)},style:hi,children:"Cancel"})]})})})})]})})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Homework List"})}),e.jsx(j,{p:3,children:e.jsx(Ie,{parentCallback:me,data:{newData:Qe,columns:Pe,columnstype:"antd",action:!1,Loading:Se,error:Ee,deleteTodoMutation:Me,pageController:r}})})]})})]}),e.jsx(n.Drawer,{open:v,title:h?"Edit Homework":"Add Homework",placement:"right",width:600,destroyOnClose:!0,onClose:tt,children:e.jsx("form",{onSubmit:h?ue=>Xe(ue,h.id):Be,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{options:re,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",required:!0,allowSelectAll:!1,placeholder:"Select Class",value:re.find(ue=>String(ue.value)===String(T))??null,onChange:je})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{options:de,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",required:!0,allowSelectAll:!1,placeholder:T?"Select Section":"Select Class First",value:de.find(ue=>String(ue.value)===String(k))??null,onChange:xe,isDisabled:!T})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{options:Ce,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Subject",name:"sub_id",required:!0,allowSelectAll:!1,placeholder:T?"Select Subject":"Select Class First",value:Ce.find(ue=>String(ue.value)===String(C))??null,onChange:ae,isDisabled:!T})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",defaultValue:h?.homew_date?te(h?.homew_date):te(),Desplay:"From",name:"homew_date"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",defaultValue:h?.submission_date?te(h?.submission_date):te(),Desplay:"Deadline",name:"submission_date"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{type:"text",label:"Title",name:"title",defaultValue:h?.title||"",required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(lt,{type:"text",label:"Description",name:"description",defaultValue:h?.description||"",rows:3,required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsxs(j,{children:[e.jsx(n.Upload,{action:`${ot()}/uploadfile.php`,name:"file",data:{filepath:`uploads/school_${nl(t)}/student/homework`},headers:{Authorization:t},maxCount:1,onChange:ue=>{if(ue.file.status==="removed"&&Y(""),ue.file.status==="done"){const we=ue.file.response?.data??ue.file.response?.file??"";Y(String(we??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:N?"Change":"Upload"})}),N&&h&&e.jsx("a",{href:mi(N,h,t),target:"_blank",rel:"noreferrer",style:{display:"block",marginTop:8,fontSize:12,color:"#1677ff",textDecoration:"underline"},children:"View existing document"}),e.jsx("input",{type:"hidden",name:"file",value:N||"",readOnly:!0})]})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsxs(j,{children:[e.jsx(ne,{type:"submit",value:z?"Saving...":"Save",color:"primary",disabled:z}),e.jsx(n.Button,{type:"text",onClick:tt,style:hi,children:"Cancel"})]})})})})]})})}),e.jsx(n.Modal,{open:B,onCancel:ye,footer:null,width:900,closable:!0,children:e.jsxs(j,{p:3,children:[e.jsx(j,{mb:2,children:e.jsx(he,{level:5,children:M||"View Document"})}),F?F.match(/\.pdf(\?|#|$)/i)?e.jsx("iframe",{src:F,title:M||"Document Preview",style:{width:"100%",height:"70vh",border:"none"}}):e.jsx("img",{src:F,alt:M||"Document Preview",style:{width:"100%",maxHeight:"70vh",objectFit:"contain"}}):e.jsx(he,{children:"No document found"})]})}),e.jsx(j,{style:{position:"fixed",bottom:24,right:24,zIndex:1e3},children:e.jsx(n.Button,{type:"primary",size:"large",onClick:()=>{x(null),R(null),D(null),p(null),_(null),U(null),Y(""),b(!0)},style:{borderRadius:"50%",width:56,height:56,boxShadow:"0 4px 12px rgba(0,0,0,0.15)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:24},children:"+"})})]})}const Ts=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]};function dm({token:t}){const[a,s]=i.useState(!1),[r,o]=i.useState(null),[l,d]=i.useState(null),[c,g]=i.useState({page:1,rowsPerPage:10}),[f,u]=i.useState(!1),[m,w]=i.useState(""),[v,b]=i.useState(""),[h,x]=i.useState({label:"",value:""}),[T,R]=i.useState({label:"",value:""}),[k,D]=i.useState({label:"",value:""}),[C,p]=i.useState(!1),[y,_]=i.useState(!1),{data:P}=H(t?["api/branchapi/academy/classdropdownlist",t]:null,([Z,G])=>K(Z,G)),{data:U}=H(t&&a?[a,t]:null,([Z,G])=>K(Z,G)),{data:B}=H(t&&(r||!0)?[r||"api/branchapi/academy/subjecttableList",t]:null,([Z,G])=>K(Z,G)),A=i.useMemo(()=>Ts(P),[P]),F=i.useMemo(()=>Ts(U),[U]),O=i.useMemo(()=>Ts(B),[B]),M=t&&l?`${l}page=${c.page}&per_page=${c.rowsPerPage}`:null,{isLoading:I,error:N,data:Y,mutate:z}=H(M?[M,t]:null,([Z,G])=>K(Z,G)),$=(Z,G)=>{switch(G){case"class_id":x(Z||{label:"",value:""}),R({label:"",value:""}),D({label:"",value:""}),o(`/api/branchapi/academy/getSubjectsbyClassaslablevalue?class_id=${Z?.value??""}`),s(`/api/branchapi/academy/sectionoftheClass?class_id=${Z?.value??""}`),p(J=>!J),_(J=>!J);break;case"section_id":R(Z||{label:"",value:""});break;case"subject_id":D(Z||{label:"",value:""});break}},E=async Z=>{Z.preventDefault();const G="/api/branchapi/homeworks/gethomeworklistByClassSectionBranch",J=new URLSearchParams;h.value&&J.append("class_id",String(h.value)),T.value&&J.append("section_id",String(T.value)),k.value&&J.append("subject_id",String(k.value));const re=J.toString(),de=re?`${G}?${re}&`:`${G}?`;g(Ce=>({...Ce,page:1})),d(de),await z()},L=(Z,G)=>{g({page:Z,rowsPerPage:parseInt(G,10)})},q=()=>{u(!1),w(""),b("")},W=(Z,G)=>{w(Z),b(G||"Document"),u(!0)},se=[{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Subject",dataIndex:"subject",key:"subject"},{title:"Assign By",dataIndex:"staff_name",key:"staff_name"},{title:"Title",dataIndex:"title",key:"title"},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0},{title:"Submission",dataIndex:"total_submission",key:"total_submission"},{title:"View Document",key:"document",render:(Z,G)=>e.jsx("a",{style:{color:"#5080f8",cursor:"pointer"},onClick:()=>W(G.document_url,G.document),children:"View"})}];return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Submission Details"})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:E,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{children:e.jsx(Q,{options:A,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",placeholder:"Class",allowSelectAll:!1,value:A.find(Z=>String(Z.value)===String(h.value))??null,onChange:Z=>$(Z,"class_id")})})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{children:e.jsx(Q,{options:F,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",placeholder:"Section",allowSelectAll:!1,value:F.find(Z=>String(Z.value)===String(T.value))??null,onChange:Z=>R(Z||{label:"",value:""})},`sections1${C}`)})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{children:e.jsx(Q,{options:O,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Subject",name:"subject_id",placeholder:"Subject",allowSelectAll:!1,value:O.find(Z=>String(Z.value)===String(k.value))??null,onChange:Z=>D(Z||{label:"",value:""})},`subjects1${y}`)})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{display:"flex",alignItems:"center",height:"100%",mt:2,children:e.jsx(ne,{type:"submit",value:"Search",color:"primary"})})})]})})})]})}),l&&e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Students List"})}),e.jsx(j,{p:3,children:e.jsx(Ie,{parentCallback:L,data:{newData:Y,columns:se,columnstype:"antd",action:!1,Loading:I,error:N,pageController:c}})})]})})]}),e.jsx(n.Modal,{open:f,onClose:q,footer:null,width:900,children:e.jsxs(j,{p:3,children:[e.jsxs(j,{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2,children:[e.jsx(he,{level:5,children:v||"View Document"}),e.jsx(ne,{type:"button",value:"Close",color:"primary",onClick:q})]}),m?m.match(/\.pdf(\?|#|$)/i)?e.jsx("iframe",{src:m,title:v||"Document Preview",style:{width:"100%",height:"70vh",border:"none"}}):e.jsx("img",{src:m,alt:v||"Document Preview",style:{width:"100%",maxHeight:"70vh",objectFit:"contain"}}):e.jsx(he,{children:"No document found"})]})})]})}const cm=(t,a)=>{const s=String(t??"").replace(/\/+$/,""),r=String(a).replace(/^\/+/,"");return`${s}/${r}`};function um({token:t,sampleFileUrl:a}){const s=t??localStorage.getItem("authToken")??"",[r,o]=i.useState(null),[l,d]=i.useState(null),[c,g]=i.useState(null),[f,u]=i.useState(null),[m,w]=i.useState(null),[v,b]=i.useState(null),[h,x]=i.useState(null),T="api/branchapi/library/bookCategorydropdown",R="api/branchapi/academy/classdropdownlist",k="api/branchapi/Academy/getClassSubjectdropdown",D="api/branchapi/library/addBook",C="api/branchapi/library/uploadcsv",{data:p}=H(s?[T,s]:null,([M,I])=>K(M,I)),{data:y}=H(s&&R?[R,s]:null,([M,I])=>K(M,I)),{data:_}=H(s&&k?[k,s]:null,([M,I])=>K(M,I)),P=i.useMemo(()=>cm(rt(),C),[C]),U=async M=>{M.preventDefault();const I=new FormData(M.target);I.set("cat_id",m?.value??""),I.set("class_id",v?.value??""),I.set("subject_id",h?.value??"");try{await Ne(D,I,s),S.success("Success! Added new item.",{duration:1e3,icon:"ð"}),M.target.reset(),w(null),b(null),x(null)}catch(N){S.error(N?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},B=async M=>{if(M.preventDefault(),!r){S.error("Please select a CSV file.",{duration:1e3});return}const I=new FormData;I.append("file",r),I.append("cat_id",l?.value??""),I.append("class_id",c?.value??""),I.append("subject_id",f?.value??"");try{const N=await Ge.post(P,I,{headers:{Authorization:s,"Content-type":"multipart/form-data"}});N?.data?.Status==="Failed"?S.error(String(N?.data?.msg??"Upload failed."),{duration:1e3}):(S.success(String(N?.data?.msg??"Uploaded."),{duration:1e3,icon:"ð"}),o(null),M.target.reset(),d(null),g(null),u(null))}catch(N){S.error(N?.response?.data?.msg??"Upload failed.",{duration:1e3})}},A=()=>["title,author,publisher,quantity,price,fine,subject_id,barcode,class_id",...["Advanced Chemistry,Rahul Mondal,RM PUBLISHER,10,210,20,1,,1","Advanced Chemistry,Rahul Mondal,RM PUBLISHER,10,210,20,1,123321,1"]].join(`
|
|
60
|
-
`),F=()=>{if(a)return a;const M=rt();return M?`${M.replace(/\/+$/,"")}/books.csv`:"/books.csv"},O=()=>{const M=F();fetch(M).then(I=>{if(!I.ok)throw new Error("Sample file not found");const N=I.headers.get("content-type")||"";return!N.includes("csv")&&!N.includes("text/plain")&&!N.includes("application/octet-stream")?I.text().then(Y=>{if(Y.trim().startsWith("<")||Y.includes("<!doctype")||Y.includes("<html"))throw new Error("Sample file URL returned HTML. Host the CSV at a public URL and pass it via sampleFileUrl prop.");return new Blob([Y],{type:"text/csv"})}):I.blob()}).then(I=>{const N=window.URL.createObjectURL(I),Y=document.createElement("a");Y.href=N,Y.download="books.csv",Y.click(),window.URL.revokeObjectURL(N)}).catch(()=>{const I=A(),N=new Blob([I],{type:"text/csv"}),Y=window.URL.createObjectURL(N),z=document.createElement("a");z.href=Y,z.download="books.csv",z.click(),window.URL.revokeObjectURL(Y)})};return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Book in Bulk"}),extra:e.jsx(n.Button,{type:"link",icon:e.jsx(ee.DownloadOutlined,{}),onClick:O,children:"Download Sample"}),children:[e.jsx(n.Divider,{children:"Information"}),e.jsx(n.Typography.Paragraph,{style:{marginBottom:16},children:"1. Your CSV data should be in the format below. The first line of your CSV file should be the column headers as in the table example. Also make sure that your file is UTF-8 to avoid unnecessary encoding problems."}),e.jsx("form",{onSubmit:B,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Q,{options:p,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Category",allowSelectAll:!1,name:"cat_id",required:!0,value:l,onChange:M=>d(M??null)}),e.jsx(Q,{options:y,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",allowSelectAll:!1,value:c,onChange:M=>g(M??null)}),e.jsx(Q,{options:_,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Subjects",name:"subject_id",allowSelectAll:!1,value:f,onChange:M=>u(M??null)}),e.jsx(V,{type:"file",label:"Upload CSV/Excel",name:"csv",accept:".csv,.xlsx,.xls",onChange:M=>o(M.target.files?.[0]??null),required:!0}),e.jsx(ne,{type:"submit",value:"Save",color:"primary"})]})})]}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Book"}),children:e.jsx("form",{onSubmit:U,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"text",label:"Book Name",name:"title",required:!0}),e.jsx(V,{type:"text",label:"Author",name:"author",required:!0}),e.jsx(V,{type:"text",label:"Publication",name:"publisher"}),e.jsx(V,{type:"number",label:"Qty",name:"quantity",required:!0}),e.jsx(V,{type:"number",label:"Book Price",name:"price",required:!0}),e.jsx(V,{type:"number",label:"Fine Per Day",name:"fine",required:!0}),e.jsx(V,{type:"text",label:"Barcode",name:"barcode"}),e.jsx(Q,{options:p,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Category",allowSelectAll:!1,name:"cat_id",required:!0,value:m,onChange:M=>w(M??null)}),e.jsx(Q,{options:y,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",allowSelectAll:!1,value:v,onChange:M=>b(M??null)}),e.jsx(Q,{options:_,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Subjects",name:"subject_id",allowSelectAll:!1,value:h,onChange:M=>x(M??null)}),e.jsx(ne,{type:"submit",value:"Save",color:"primary"})]})})})]})}const Rs={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},Is=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:[]};function pm({token:t}){const a=t??localStorage.getItem("authToken")??"",[s,r]=i.useState([]),[o,l]=i.useState([]),d=i.useRef(),c={selectedRowKeys:s,onChange:(J,re)=>{r(J),l(re)}},g=Zt.useReactToPrint({contentRef:d,documentTitle:"Book Barcodes"}),f=()=>{if(!(typeof window>"u")){if(!o.length){S.error("Select at least one book to print.",{duration:1e3});return}if(!d.current){S.error("Nothing to print.",{duration:1e3});return}g?.()}},[u,m]=i.useState(!1),[w,v]=i.useState(null),[b,h]=i.useState(null),[x,T]=i.useState(null),[R,k]=i.useState(null),[D,C]=i.useState({page:1,rowsPerPage:10}),p=(J,re)=>{C({page:J,rowsPerPage:parseInt(re,10)})},y="api/branchapi/library/booktable",_="api/branchapi/library/deletebooks",P="api/branchapi/library/editbook",U=`${y}?page=${D.page}&per_page=${D.rowsPerPage}`,{isLoading:B,error:A,data:F,mutate:O}=H(a?[U,a]:null,([J,re])=>K(J,re)),M="api/branchapi/library/bookCategorydropdown",I="api/branchapi/academy/classdropdownlist",N="api/branchapi/Academy/getClassSubjectdropdown",{data:Y}=H(a?[M,a]:null,([J,re])=>K(J,re)),{data:z}=H(a&&I?[I,a]:null,([J,re])=>K(J,re)),{data:$}=H(a&&N?[N,a]:null,([J,re])=>K(J,re)),E=i.useMemo(()=>Is(Y),[Y]),L=i.useMemo(()=>Is(z),[z]),q=i.useMemo(()=>Is($),[$]),W=async J=>{try{await He(_,J,a),await O(),S.success("Success! Deleted item.",{duration:1e3})}catch(re){S.error(re?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},se=J=>{v(J??null);const re=J?.cat_id??J?.fk_cat_id??J?.category_id,de=J?.class_id??J?.fk_class_id,Ce=J?.subject_id??J?.fk_subject_id;h(E.find(oe=>oe?.value===re)??null),T(L.find(oe=>oe?.value===de)??null),k(q.find(oe=>oe?.value===Ce)??null),m(!0)},Z=async J=>{J.preventDefault();const re=w?.id??w?.book_id??w?._id;if(!re)return;const de=new FormData(J.target);de.set("id",String(re)),de.set("cat_id",b?.value??""),de.set("class_id",x?.value??""),de.set("subject_id",R?.value??"");try{await We(P,de,a),await O(),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),m(!1),v(null)}catch(Ce){S.error(Ce?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},G=i.useMemo(()=>[{title:"Name",dataIndex:"book_title",key:"book_title",width:220,ellipsis:!0,fixed:"left"},{title:"Barcode",dataIndex:"barcode",key:"barcode",width:140,responsive:["sm"]},{title:"Publisher",dataIndex:"publish",key:"publish",width:160,responsive:["lg"]},{title:"Author",dataIndex:"author",key:"author",width:160,responsive:["lg"]},{title:"Class",dataIndex:"class_name",key:"class_name",width:140,responsive:["xl"]},{title:"Subject",dataIndex:"subject_name",key:"subject_name",width:160,responsive:["xl"]},{title:"Avl Qty",dataIndex:"available_qty",key:"available_qty",width:90},{title:"Book Price",dataIndex:"perunitcost",key:"perunitcost",width:120,responsive:["xl"]},{title:"Fine Amount",dataIndex:"fine_amount",key:"fine_amount",width:120,responsive:["xl"]},{title:"Category",dataIndex:"cat_name",key:"cat_name",width:160,responsive:["xl"]},{title:"Action",key:"action",width:140,fixed:"right",render:(J,re)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>se(re),style:{padding:2}}),e.jsx(n.Button,{type:"text",size:"small",danger:!0,onClick:()=>W(re?.id??re?.book_id??re?._id),style:{padding:"2px 6px"},children:"Delete"})]})}],[E,L,W,q]);return e.jsxs("div",{style:{},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Drawer,{open:u,title:"Edit Book",placement:"right",width:520,destroyOnClose:!0,onClose:()=>{m(!1),v(null)},children:e.jsx("form",{onSubmit:Z,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(V,{label:"Book Name",name:"title",defaultValue:w?.book_title??"",required:!0}),e.jsx(V,{label:"Author",name:"author",defaultValue:w?.author??"",required:!0}),e.jsx(V,{label:"Publication",name:"publish",defaultValue:w?.publish??""}),e.jsx(V,{label:"Qty",name:"quantity",type:"number",defaultValue:w?.quantity??""}),e.jsx(V,{label:"Book Price",name:"perunitcost",type:"number",defaultValue:w?.perunitcost??""}),e.jsx(V,{label:"Fine Amount",name:"fine_amount",type:"number",defaultValue:w?.fine_amount??""}),e.jsx(V,{label:"Barcode",name:"barcode",defaultValue:w?.barcode??""}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",style:Rs,children:"Category"}),e.jsx(Q,{options:E,value:b,onChange:J=>h(J??null),name:"cat_id"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",style:Rs,children:"Class"}),e.jsx(Q,{options:L,value:x,onChange:J=>T(J??null),name:"class_id"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",style:Rs,children:"Subject"}),e.jsx(Q,{options:q,value:R,onChange:J=>k(J??null),name:"subject_id"})]}),e.jsxs("div",{style:{display:"flex",gap:12},children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{m(!1),v(null)},children:"Cancel"})]})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Book List"}),extra:o.length>0?e.jsxs(n.Button,{type:"primary",onClick:f,children:["Print Barcode (",o.length,")"]}):null,children:e.jsx(Ie,{parentCallback:p,data:{newData:F,columns:G,columnstype:"antd",action:!1,Loading:B,error:A,rowSelection:c}})}),e.jsx("div",{style:{position:"fixed",left:-1e4,top:0,width:0,height:0,overflow:"hidden"},children:e.jsx("div",{ref:d,style:{padding:"20px"},children:e.jsx("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"flex-start"},children:o.map((J,re)=>e.jsxs("div",{style:{margin:"10px",textAlign:"center",border:"1px dashed black",padding:"10px",borderRadius:"5px",width:"fit-content"},children:[e.jsx("div",{style:{fontSize:"12px",fontWeight:"bold",maxWidth:"200px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:J.book_title}),e.jsx(yo,{value:J.barcode?String(J.barcode):String(J.id),format:"CODE128",width:1.5,height:50,fontSize:12,displayValue:!0})]},re))})})})]})}const mm=(t,a)=>{const s=String(t??"").replace(/\/+$/,""),r=String(a).replace(/^\/+/,"");return`${s}/${r}`},$t=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:[]},vn=t=>te(t).add(1,"month").format("YYYY-MM-DD"),hm=i.forwardRef(({token:t,onReturn:a},s)=>{const r=t??localStorage.getItem("authToken")??"",[o,l]=i.useState("issue"),d=o==="return",[c,g]=i.useState(!1),[f,u]=i.useState(!1),[m,w]=i.useState(null),[v,b]=i.useState([]),[h,x]=i.useState([]),[T,R]=i.useState([]),[k,D]=i.useState(0),[C,p]=i.useState(!1),[y,_]=i.useState(null),[P,U]=i.useState(null),[B,A]=i.useState(null),[F,O]=i.useState(!1),[M,I]=i.useState("Cash"),[N,Y]=i.useState(""),[z,$]=i.useState(""),[E,L]=i.useState(0),[q,W]=i.useState("NO_FINE"),se=i.useRef(null),[Z]=n.Form.useForm(),[G]=n.Form.useForm(),J="api/branchapi/library/bookCategorydropdown",re="api/branchapi/academy/classdropdownlist",de="api/branchapi/Academy/getClassSubjectdropdown",{data:Ce}=H(r?[J,r]:null,([ce,_e])=>K(ce,_e)),{data:oe}=H(r&&re?[re,r]:null,([ce,_e])=>K(ce,_e)),{data:le}=H(r&&de?[de,r]:null,([ce,_e])=>K(ce,_e)),ie=i.useMemo(()=>$t(Ce),[Ce]),Se=i.useMemo(()=>$t(oe),[oe]),Ee=i.useMemo(()=>$t(le),[le]),Qe="api/branchapi/library/studentsearchByNameID",be="api/branchapi/library/booksearchBybookname",ve="api/branchapi/library/issuedBookList",Me="api/branchapi/library/issueLibrarybook",Ye="api/branchapi/library/returnedLibrarybook",{trigger:Le,data:Be}=st(Qe,(ce,_e)=>Jt(ce,_e,r)),{trigger:Xe,data:tt}=st(be,(ce,_e)=>Jt(ce,_e,r)),{trigger:fe,data:je}=st(ve,(ce,_e)=>Jt(ce,_e,r)),{trigger:xe}=st(d?Ye:Me,(ce,_e)=>ss(ce,_e,r)),ae=i.useMemo(()=>$t(Be),[Be]),me=i.useMemo(()=>$t(tt),[tt]),ye=i.useMemo(()=>$t(je),[je]),ke=ce=>{const _e=vn(te());b(qe=>qe.some(Ze=>String(Ze?.id)===String(ce?.id))?qe:[...qe,{...ce,return_date:ce?.return_date?ce.return_date:_e}])},Pe=async()=>{console.log("Reloading IssueReturn..."),S.success("Success",{duration:1e3}),x([]),R([]),D(0),W("FINE_PAY_LATER"),await fe({id:m?.student_id})};i.useImperativeHandle(s,()=>({reloadPayLater:Pe}));const ue=ce=>{b(_e=>_e.filter(qe=>String(qe?.id)!==String(ce)))},we=async ce=>{if(r){if(!ce){w(null);return}c||await Le({id:ce})}},Ve=async({search:ce})=>{if(!r||!c)return;const _e=await Le({id:ce}),qe=$t(_e);qe.length===1&&(w(qe[0]),await fe({id:qe[0]?.student_id}),Z.resetFields())},ct=async(ce,_e)=>{w(_e??null),b([]),x([]),R([]),D(0),W("NO_FINE"),L(0),_e?.student_id&&await fe({id:_e.student_id}),Z.resetFields()},Ft=async ce=>{r&&ce&&(f||await Xe({book:ce}))},Pt=async({search_book:ce})=>{if(!r||!f)return;const _e=await Xe({book:ce,catID:y?.value??"",sID:B?.value??"",cID:P?.value??""}),qe=$t(_e);qe.length&&(ke(qe[0]),G.resetFields())},pe=(ce,_e)=>{ke(_e),G.resetFields()},Ae=async()=>{if(!m?.member_id){S.error("Select a student first.",{duration:1e3});return}if(!v.length){S.error("Select at least one book.",{duration:1e3});return}const ce=await xe({member_id:m.member_id,fine:!1,books:v});ce?.Status==="Success"&&(S.success(String(ce?.msg??"Success"),{duration:1e3}),b([]),w(null),x([]),R([]),D(0))},pt=async()=>{if(!m?.member_id){S.error("Select a student first.",{duration:1e3});return}if(!T.length){S.error("Select at least one book to return.",{duration:1e3});return}if(Number(k)>0){W("FINE_PAID"),O(!0);return}const ce=await xe({member_id:m.member_id,collection_type:"NO_FINE",amount:0,books:JSON.stringify(T)});ce?.Status==="Success"?(S.success(String(ce?.msg??"Success"),{duration:1e3}),x([]),R([]),D(0),await fe({id:m?.student_id})):S.error(String(ce?.msg??"Failed"),{duration:1e3})},vt=async()=>{if(!m?.member_id)return;const ce=Math.max(0,Number(k)-Number(E||0)),_e={member_id:m.member_id,collection_type:q,amount:q==="FINE_PAID"?ce:0,payment_type:M,notes:N,attchement:z,discount:E||0,books:JSON.stringify(T)},qe=await xe(_e);O(!1),qe?.Status==="Success"?(S.success(String(qe?.msg??"Success"),{duration:1e3}),x([]),R([]),D(0),L(0),Y(""),$(""),W("NO_FINE"),await fe({id:m?.student_id})):S.error(String(qe?.msg??"Failed"),{duration:1e3})},cn=async()=>{if(!m?.member_id){S.error("Select a student first.",{duration:1e3});return}if(!T.length){S.error("Select at least one book to return.",{duration:1e3});return}const ce={member_id:m.member_id,collection_type:"FINE_PAY_LATER",amount:0,books:JSON.stringify(T)};a(ce)},un=i.useMemo(()=>mm(rt(),"api/branchapi/frontoffice/uploadfrontofficeDocument"),[]),pn=[{title:"Book",dataIndex:"book_title",key:"book_title",width:220,ellipsis:!0,fixed:"left"},{title:"Author",dataIndex:"author",key:"author",width:180,responsive:["lg"]},{title:"Return Date",key:"return_date",width:160,render:(ce,_e)=>e.jsx(Ue,{defaultValue:te(_e?.return_date||te().add(30,"day")),Desplay:"",format:"YYYY-MM-DD",allowClear:!1,onChange:(qe,Ze)=>{b(ut=>ut.map(xt=>String(xt?.id)===String(_e?.id)?{...xt,return_date:Ze}:xt))}})},{title:"Action",key:"action",width:120,fixed:"right",render:(ce,_e)=>e.jsx(n.Button,{type:"text",danger:!0,onClick:()=>ue(_e?.id),children:"Remove"})}],mn={selectedRowKeys:h,onChange:(ce,_e)=>{x(ce),R(_e);const qe=(_e??[]).reduce((Ze,ut)=>Ze+Number(ut?.totalfine??0),0);D(qe)},onSelect:(ce,_e,qe)=>{if(_e){const Ze=qe.map(ut=>({...ut,return_date:ut?.return_date?ut.return_date:vn(ut?.issue_date||te())}));R(Ze)}},onSelectAll:(ce,_e)=>{if(ce){const qe=_e.map(Ze=>({...Ze,return_date:Ze?.return_date?Ze.return_date:vn(Ze?.issue_date||te())}));R(qe)}}},hn=[{title:"Book",dataIndex:"book_title",key:"book_title",width:220,ellipsis:!0,fixed:"left"},{title:"Barcode",dataIndex:"barcode",key:"barcode",width:140,responsive:["sm"]},{title:"Issue Date",dataIndex:"issue_date",key:"issue_date",width:140,responsive:["lg"]},{title:"Return Date",key:"return_date",width:160,render:(ce,_e)=>{const Ze=T.find(xt=>String(xt?.id)===String(_e?.id))?.return_date||_e?.return_date,ut=vn(_e?.issue_date||te());return e.jsx(Ue,{defaultValue:te(Ze||ut),Desplay:"",format:"YYYY-MM-DD",allowClear:!1,onChange:(xt,ps)=>{R(ms=>ms.map(wa=>String(wa?.id)===String(_e?.id)?{...wa,return_date:ps}:wa))}})}},{title:"Days",key:"days",width:100,render:(ce,_e)=>{const Ze=T.find(xt=>String(xt?.id)===String(_e?.id))?.return_date||_e?.return_date,ut=_e?.issue_date;if(ut&&Ze){const xt=te(Ze).diff(te(ut),"day");return xt>=0?xt:0}return"-"}},{title:"Due Date",dataIndex:"due_date",key:"due_date",width:140,responsive:["lg"]},{title:"Fine",dataIndex:"totalfine",key:"totalfine",width:120,fixed:"right",render:ce=>e.jsxs("span",{children:["âđ ",ce]})}];return e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Modal,{open:F,onCancel:()=>O(!1),footer:null,title:"Payment Options",destroyOnClose:!0,children:e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsx(n.Radio.Group,{value:M,onChange:ce=>I(ce.target.value),options:[{label:"Cash",value:"Cash"},{label:"UPI",value:"UPI"},{label:"DD",value:"DD"},{label:"Bank",value:"Bank"},{label:"Internet Banking",value:"Internet Banking"},{label:"Cheque",value:"Cheque"}]}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",children:"Note"}),e.jsx(n.Input.TextArea,{rows:3,value:N,onChange:ce=>Y(ce.target.value)})]}),e.jsxs("div",{style:{display:"grid",gap:8},children:[e.jsx("label",{className:"labelfont",children:"Image Attachment"}),e.jsx(n.Upload,{action:un,headers:{Authorization:r},maxCount:1,onChange:ce=>{if(ce.file.status==="done"){const _e=ce.file.response?.data??ce.file.response?.file??"";$(String(_e??""))}},children:e.jsx(n.Button,{icon:e.jsx(ee.UploadOutlined,{}),children:"Upload"})})]}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",children:"Discount"}),e.jsx(n.Input,{type:"number",value:E,onChange:ce=>L(ce.target.value),placeholder:"0"})]}),e.jsxs(n.Button,{type:"primary",onClick:vt,children:["Collect âđ",Math.max(0,Number(k)-Number(E||0))]}),e.jsx(n.Button,{onClick:()=>O(!1),children:"Cancel"})]})}),e.jsxs(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Issue / Return"}),children:[e.jsxs(n.Row,{gutter:[16,16],align:"middle",children:[e.jsx(n.Col,{xs:24,md:10,children:e.jsx(n.Radio.Group,{value:o,onChange:ce=>{const _e=ce.target.value;l(_e),b([]),x([]),R([]),D(0),W("NO_FINE"),L(0)},options:[{label:"Issue",value:"issue"},{label:"Return",value:"return"},{label:"Renewal",value:"Renewal"}],optionType:"button",buttonStyle:"solid"})}),e.jsx(n.Col,{xs:24,md:14,children:e.jsx(n.Form,{form:Z,onFinish:Ve,layout:"vertical",children:e.jsx(n.Form.Item,{name:"search",label:"Search Student",children:e.jsx(n.Space.Compact,{style:{width:"100%"},children:c?e.jsx(n.Input,{autoFocus:!0,addonBefore:e.jsxs(n.Space,{children:[e.jsx(ee.BarcodeOutlined,{}),e.jsx(n.Checkbox,{checked:c,onChange:ce=>g(ce.target.checked)})]}),placeholder:"Scan barcode",allowClear:!0}):e.jsx(n.AutoComplete,{options:ae,onSelect:ct,onSearch:we,style:{width:"100%"},allowClear:!0,children:e.jsx(n.Input,{addonBefore:e.jsxs(n.Space,{children:[e.jsx(ee.BarcodeOutlined,{}),e.jsx(n.Checkbox,{checked:c,onChange:ce=>g(ce.target.checked)})]}),placeholder:"Type student name / id",allowClear:!0})})})})})})]}),m?e.jsxs(e.Fragment,{children:[e.jsx(n.Divider,{}),e.jsxs(n.Row,{gutter:[12,12],children:[e.jsxs(n.Col,{xs:24,md:8,children:[e.jsx(n.Typography.Text,{strong:!0,children:"Name:"})," ",m?.value??""]}),e.jsxs(n.Col,{xs:24,md:8,children:[e.jsx(n.Typography.Text,{strong:!0,children:"Card No:"})," ",m?.library_card_no??""]}),e.jsxs(n.Col,{xs:24,md:8,children:[e.jsx(n.Typography.Text,{strong:!0,children:"Member ID:"})," ",m?.member_id??""]})]})]}):null,e.jsx(n.Divider,{}),d?e.jsxs(e.Fragment,{children:[e.jsx("div",{style:{width:"100%",overflowX:"auto"},children:e.jsx("div",{style:{minWidth:760},children:e.jsx(n.Table,{dataSource:ye,columns:hn,rowSelection:mn,pagination:!1,rowKey:ce=>ce?.id??ce?.issue_id??ce?.barcode??Math.random(),scroll:{x:"max-content"},size:"small"})})}),e.jsx(n.Divider,{}),e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",gap:12,flexWrap:"wrap"},children:[e.jsxs(n.Typography.Text,{strong:!0,children:["Total Fine: âđ",k]}),e.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[e.jsx(n.Button,{type:"primary",onClick:pt,disabled:!T.length,children:k>0?`Pay Now âđ ${Math.max(0,Number(k)-Number(E||0))}`:"Return Selected"}),k>0?e.jsx(n.Button,{onClick:cn,disabled:!T.length,children:"Pay Later"}):null]})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs(n.Row,{gutter:[16,16],align:"middle",children:[e.jsx(n.Col,{xs:24,md:18,children:e.jsx(n.Form,{form:G,onFinish:Pt,layout:"vertical",children:e.jsx(n.Form.Item,{name:"search_book",label:"Search Book",children:e.jsx(n.Space.Compact,{style:{width:"100%"},children:f?e.jsx(n.Input,{autoFocus:!0,disabled:!m,addonBefore:e.jsxs(n.Space,{children:[e.jsx(ee.BarcodeOutlined,{}),e.jsx(n.Checkbox,{checked:f,onChange:ce=>u(ce.target.checked)})]}),placeholder:"Scan barcode",allowClear:!0}):e.jsx(n.AutoComplete,{disabled:!m,options:me,onSelect:pe,onSearch:Ft,style:{width:"100%"},allowClear:!0,children:e.jsx(n.Input,{addonBefore:e.jsxs(n.Space,{children:[e.jsx(ee.BarcodeOutlined,{}),e.jsx(n.Checkbox,{checked:f,onChange:ce=>u(ce.target.checked)})]}),placeholder:"Type book name",allowClear:!0})})})})})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(n.Button,{style:{width:"100%"},icon:e.jsx(ee.FilterOutlined,{}),onClick:()=>p(!0),children:"Filter"})})]}),e.jsx(n.Drawer,{open:C,onClose:()=>p(!1),title:"Filter",placement:"right",width:380,destroyOnClose:!0,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(Q,{label:"Category",options:ie,value:y,onChange:ce=>_(ce??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"cat_id"}),e.jsx(Q,{label:"Class",options:Se,value:P,onChange:ce=>U(ce??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"class_id"}),e.jsx(Q,{label:"Subjects",options:Ee,value:B,onChange:ce=>A(ce??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"subject_id"}),e.jsx(n.Button,{type:"primary",onClick:()=>p(!1),children:"Apply"})]})}),e.jsx(n.Divider,{}),e.jsx("div",{style:{width:"100%",overflowX:"auto"},children:e.jsx("div",{style:{minWidth:720},children:e.jsx(n.Table,{dataSource:v,columns:pn,pagination:!1,rowKey:ce=>ce?.id??ce?.book_id??ce?.barcode??Math.random(),scroll:{x:"max-content"},size:"small"})})}),e.jsx(n.Divider,{}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"button",value:"Issue",onClick:Ae})})]})]}),e.jsx("div",{ref:se,style:{position:"fixed",left:-1e4,top:0,width:0,height:0,overflow:"hidden"}})]})}),fi=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:[]};function fm({token:t}){const a=t??localStorage.getItem("authToken")??"",[s,r]=i.useState({page:1,rowsPerPage:10}),[o,l]=i.useState(null),[d,c]=i.useState(null),[g,f]=i.useState(!1),[u,m]=i.useState(!1),[w,v]=i.useState(null),[b,h]=i.useState(!1),x="api/branchapi/academy/classdropdownlist",T="api/branchapi/academy/sectionoftheClass",R="api/branchapi/library/studenttableForLibrary",k="api/branchapi/library/addmembershipforStudent",D="api/branchapi/library/removemembershipforStudent",C=i.useMemo(()=>{if(!o?.value)return null;const $=T.includes("?")?"&":"?";return`${T}${$}class_id=${encodeURIComponent(String(o.value))}`},[T,o?.value]),p=i.useMemo(()=>{if(!o?.value||!d?.value)return null;const $=R.includes("?")?"&":"?";return`${R}${$}cID=${encodeURIComponent(String(o.value))}&sID=${encodeURIComponent(String(d.value))}&page=${s.page}&per_page=${s.rowsPerPage}`},[s.page,s.rowsPerPage,o?.value,d?.value,R]),{data:y}=H(a&&x?[x,a]:null,([$,E])=>K($,E)),{data:_}=H(a&&C?[C,a]:null,([$,E])=>K($,E)),{isLoading:P,error:U,data:B,mutate:A}=H(a&&p?[p,a]:null,([$,E])=>K($,E)),F=i.useMemo(()=>fi(y),[y]),O=i.useMemo(()=>fi(_),[_]),M=($,E)=>{r({page:$,rowsPerPage:parseInt(E,10)})},I=$=>{const E=$?.id??$?.student_id??$?.member_id;v(E??null),m(!0),h(L=>!L)},N=async $=>{if($.preventDefault(),!w)return;const E=new FormData($.target);E.set("id",String(w));try{await Ne(k,E,a),S.success("Success! Added member.",{duration:1e3,icon:"ð"}),m(!1),v(null),await A()}catch(L){S.error(L?.response?.data?.msg??"Failed to add the member.",{duration:1e3})}},Y=async $=>{try{await He(D,$,a),S.success("Success! Removed member.",{duration:1e3}),await A()}catch(E){S.error(E?.response?.data?.msg??"Failed to remove member.",{duration:1e3})}},z=i.useMemo(()=>[{title:"Library Card No",dataIndex:"library_card_no",key:"library_card_no",width:180,ellipsis:!0,fixed:"left"},{title:"Admission No",dataIndex:"admission_no",key:"admission_no",width:140,responsive:["sm"]},{title:"Roll No",dataIndex:"roll_no",key:"roll_no",width:90,responsive:["lg"]},{title:"First Name",dataIndex:"firstname",key:"firstname",width:140,responsive:["sm"]},{title:"Last Name",dataIndex:"lastname",key:"lastname",width:140,responsive:["lg"]},{title:"Class",dataIndex:"class",key:"class",width:120,responsive:["xl"]},{title:"Section",dataIndex:"section",key:"section",width:120,responsive:["xl"]},{title:"Mobile",dataIndex:"mobileno",key:"mobileno",width:140,responsive:["lg"]},{title:"Action",key:"action",width:80,fixed:"right",render:($,E)=>(console.log("data______________",E),e.jsx("div",{style:{display:"flex",gap:8,alignItems:"center"},children:E?.library_card_no==null?e.jsx(n.Button,{type:"primary",size:"small",icon:e.jsx(ee.UserAddOutlined,{}),onClick:()=>I(E)}):e.jsx(n.Button,{danger:!0,type:"text",size:"small",icon:e.jsx(ee.DeleteOutlined,{}),onClick:()=>Y(E?.id??E?.student_id??E?.member_id)})}))}],[Y]);return e.jsxs("div",{style:{},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Modal,{open:u,title:"Add Member",onCancel:()=>{m(!1),v(null)},footer:null,destroyOnClose:!0,children:e.jsx("form",{onSubmit:N,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(V,{type:"text",label:"Library Card Number",name:"library_num",required:!0}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Add",color:"primary"})})]})},`add-${b}`)}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Student"}),children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16,alignItems:"end"},children:[e.jsx(Q,{options:F,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",value:o,onChange:$=>{l($??null),c(null),f(E=>!E)},name:"class_id",required:!0,allowSelectAll:!1}),e.jsx(Q,{options:O,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",value:d,onChange:$=>c($??null),allowSelectAll:!1,name:"section_id",required:!0},`section-${g}`),e.jsx(ne,{type:"submit",value:"Search",color:"primary",onClick:()=>{if(!o?.value||!d?.value){S.error("Select class and section.",{duration:1e3});return}r($=>({...$,page:1}))}})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Students"}),children:e.jsx(Ie,{parentCallback:M,data:{newData:B,columns:z,columnstype:"antd",action:!1,Loading:P,error:U}})})]})}function ym({token:t}){const a=t??localStorage.getItem("authToken")??"",[s,r]=i.useState({page:1,rowsPerPage:10}),[o]=n.Form.useForm(),[l]=n.Form.useForm(),[d,c]=i.useState(!1),[g,f]=i.useState(null),u="api/branchapi/library/BookCategorytable",m="api/branchapi/library/addBookCategory",w="api/branchapi/library/editBookCategory",v="api/branchapi/library/deleteBookCategory",b=i.useMemo(()=>{const U=u.includes("?")?"&":"?";return`${u}${U}page=${s.page}&per_page=${s.rowsPerPage}`},[u,s.page,s.rowsPerPage]),{isLoading:h,error:x,data:T,mutate:R}=H(a&&b?[b,a]:null,([U,B])=>K(U,B)),k=(U,B)=>{r({page:U,rowsPerPage:parseInt(B,10)})},D=async U=>{const B=new FormData;B.set("title",U?.title??"");try{await Ne(m,B,a),S.success("Success! Added new category.",{duration:1e3,icon:"ð"}),o.resetFields(),await R()}catch(A){S.error(A?.response?.data?.msg??A?.message??"Failed to add category.",{duration:1e3})}},C=U=>{f(U??null),l.setFieldsValue({title:U?.name??""}),c(!0)},p=()=>{c(!1),f(null),l.resetFields()},y=async U=>{const B=g?.id??g?.category_id??g?.cat_id;if(!B){S.error("Missing category id.",{duration:1e3});return}const A=new FormData;A.set("id",String(B)),A.set("title",U?.title??"");try{await We(w,A,a),S.success("Success! Updated category.",{duration:1e3,icon:"ð"}),p(),await R()}catch(F){S.error(F?.response?.data?.msg??F?.message??"Failed to update category.",{duration:1e3})}},_=async U=>{const B=U?.id??U?.category_id??U?.cat_id;if(!B){S.error("Missing category id.",{duration:1e3});return}try{await He(v,B,a),S.success("Success! Deleted category.",{duration:1e3}),await R()}catch(A){S.error(A?.response?.data?.msg??A?.message??"Failed to delete category.",{duration:1e3})}},P=i.useMemo(()=>[{title:"Category Name",dataIndex:"name",key:"name",ellipsis:!0},{title:"Action",key:"action",width:110,fixed:"right",render:(U,B)=>e.jsxs(n.Space,{size:6,children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>C(B)}),e.jsx(n.Popconfirm,{title:"Remove category?",okText:"Yes",cancelText:"No",onConfirm:()=>_(B),children:e.jsx(n.Button,{danger:!0,type:"text",size:"small",icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[_]);return e.jsxs("div",{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Modal,{open:d,title:"Edit Category",onCancel:p,footer:null,destroyOnClose:!0,children:e.jsxs(n.Form,{form:l,layout:"vertical",onFinish:y,children:[e.jsx(n.Form.Item,{label:"Name",name:"title",rules:[{required:!0,message:"Enter category name"}],children:e.jsx(n.Input,{placeholder:"Enter category name"})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[e.jsx(n.Button,{onClick:p,children:"Cancel"}),e.jsx(ne,{type:"submit",value:"Update",color:"primary"})]})]})}),e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,lg:8,children:e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Category"}),children:e.jsxs(n.Form,{form:o,layout:"vertical",onFinish:D,children:[e.jsx(n.Form.Item,{label:"Name",name:"title",rules:[{required:!0,message:"Enter category name"}],children:e.jsx(n.Input,{placeholder:"Enter category name"})}),e.jsx(ne,{type:"submit",value:"Add",color:"primary"})]})})}),e.jsx(n.Col,{xs:24,lg:16,children:e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Category List"}),children:e.jsx(Ie,{parentCallback:k,data:{newData:T,columns:P,columnstype:"antd",action:!1,Loading:h,error:x}})})})]})]})}const ks=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:[]};function gm({token:t}){const[a,s]=i.useState([te().format("YYYY-MM-DD"),te().format("YYYY-MM-DD")]),[r,o]=i.useState(null),[l,d]=i.useState(null),[c,g]=i.useState(null),[f,u]=i.useState(!1),[m,w]=i.useState(!1),v="api/branchapi/academy/classdropdownlist",b="api/branchapi/academy/sectionoftheClass",h="api/branchapi/library/memberDropdown",x="api/report/libraryReport/libraryReport",T=i.useMemo(()=>{if(!r?.value)return null;const I=b.includes("?")?"&":"?";return`${b}${I}class_id=${encodeURIComponent(String(r.value))}`},[b,r?.value]),R=i.useMemo(()=>{if(!r?.value)return null;const I=h.includes("?")?"&":"?",N=`${h}${I}class=${encodeURIComponent(String(r.value))}`;return l?.value?`${N}§ion=${encodeURIComponent(String(l.value))}`:N},[h,r?.value,l?.value]),{isLoading:k,error:D,data:C,mutate:p}=H(t&&v?[v,t]:null,([I,N])=>K(I,N)),{data:y}=H(t&&T?[T,t]:null,([I,N])=>K(I,N)),{data:_}=H(t&&R?[R,t]:null,([I,N])=>K(I,N)),P=i.useMemo(()=>ks(C),[C]),U=i.useMemo(()=>ks(y),[y]),B=i.useMemo(()=>ks(_),[_]),{trigger:A,data:F}=st(x,(I,N)=>nr(I,N,t));i.useEffect(()=>{(async()=>{w(!0);try{await A({duration:a})}finally{w(!1)}})()},[]);const O=async()=>{w(!0);try{await A({duration:a,class:r?.value??"",section:l?.value??"",student_id:c?.value??""})}finally{w(!1)}},M=[{title:"Name",dataIndex:"full_name",render:(I,N)=>e.jsx(n.Typography.Text,{style:{fontSize:12},children:N?.full_name??""})},{title:"Roll No",dataIndex:"roll_no",render:(I,N)=>e.jsx(n.Typography.Text,{style:{fontSize:12},children:N?.roll_no??""})},{title:"Class",dataIndex:"Class",key:"Class",render:(I,N)=>e.jsxs(n.Typography.Text,{style:{fontSize:12},children:[N?.class??"","(",N?.section??"",")"]})},{title:"Book",dataIndex:"book_title",render:(I,N)=>e.jsx(n.Typography.Text,{style:{fontSize:12},children:N?.book_title??""})},{title:"Issue Date",key:"date",render:(I,N,Y)=>e.jsx(n.Typography.Text,{style:{fontSize:12},children:N?.issue_date??""})},{title:"Due Return Date",key:"date",render:(I,N,Y)=>e.jsx(n.Tag,{color:"orange",children:N?.return_date??""})},{title:"Return Date",key:"date",render:(I,N,Y)=>N?.retured_by_user?e.jsx(n.Tag,{color:"green",children:N?.retured_by_user??""}):null},{title:"Return Status",key:"date",render:(I,N,Y)=>String(N?.is_returned??"")==="1"?e.jsx(n.Tag,{color:"green",children:"Return"}):e.jsx(n.Tag,{color:"red",children:"Not Return"})},{title:"Fine",key:"amount",dataIndex:"late_fine",render:(I,N,Y)=>{const z=N?.late_fine?Number(N.late_fine):0;return z?e.jsx(n.Typography.Text,{style:{fontSize:12,color:"#cf1322"},children:z}):null}}];return e.jsxs("div",{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Library Monthly Report"}),style:{borderRadius:16},children:[e.jsxs(n.Row,{gutter:[16,16],align:"bottom",children:[e.jsx(n.Col,{xs:24,md:8,children:e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",children:"Duration"}),e.jsx(n.DatePicker.RangePicker,{style:{width:"100%"},value:[te(a[0],"YYYY-MM-DD"),te(a[1],"YYYY-MM-DD")],format:"YYYY-MM-DD",onChange:(I,N)=>{Array.isArray(N)&&N.length===2&&s([N[0],N[1]])}})]})}),e.jsx(n.Col,{xs:24,md:5,children:e.jsx(Q,{options:P,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Classes",name:"class_id",value:r,onChange:I=>{o(I??null),d(null),g(null),u(N=>!N)},allowSelectAll:!1})}),e.jsx(n.Col,{xs:24,md:5,children:e.jsx(Q,{options:U,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",value:l,onChange:I=>{d(I??null),g(null)},allowSelectAll:!1},`section1${f}`)}),e.jsx(n.Col,{xs:24,md:5,children:e.jsx(Q,{options:B,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Student",name:"student",value:c,onChange:I=>g(I??null),allowSelectAll:!1})}),e.jsx(n.Col,{xs:24,md:1,children:e.jsx(n.Button,{type:"primary",icon:e.jsx(ee.SearchOutlined,{}),onClick:O,style:{width:"100%"},children:"Search"})})]}),e.jsx("div",{style:{marginTop:16},children:e.jsx(n.Table,{columns:M,pagination:!1,dataSource:Array.isArray(F?.data)?F.data:[],size:"small",rowKey:(I,N)=>I?.id??I?.issue_id??I?.fees_receipt_id??N,loading:m,scroll:{x:"max-content"},summary:I=>{const N=I.reduce((z,$)=>z+Number($?.late_fine??0),0),Y=I.reduce((z,$)=>z+Number($?.is_returned??0),0);return e.jsxs(n.Table.Summary.Row,{children:[e.jsx(n.Table.Summary.Cell,{colSpan:4,children:e.jsxs("span",{style:{fontWeight:700},children:["Total Book: ",I.length]})}),e.jsx(n.Table.Summary.Cell,{colSpan:2,children:e.jsxs("span",{style:{fontWeight:700},children:["Not Return: ",Number(I.length-Y)]})}),e.jsx(n.Table.Summary.Cell,{colSpan:2,children:e.jsxs("span",{style:{fontWeight:700},children:["Return: ",Y]})}),e.jsx(n.Table.Summary.Cell,{colSpan:1,children:e.jsxs("span",{style:{fontWeight:700},children:["Total Fine:",N.toLocaleString("en-IN")]})})]})}})})]})]})}const yi=[{label:"Today",value:"Today"},{label:"Yesterday",value:"Yesterday"},{label:"This Week",value:"This Week"},{label:"This Month",value:"This Month"},{label:"Last Month",value:"Last Month"},{label:"This Year",value:"This Year"},{label:"Custom",value:"Custom"}],gi=[{key:"renewalHistory",label:"Renewal History"},{key:"renewalFineReport",label:"Renewal + Fine"},{key:"currentlyRenewedBooks",label:"Currently Renewed"},{key:"upcomingRenewalDue",label:"Upcoming Due"},{key:"overdueRenewalReport",label:"Overdue"},{key:"renewalLimitReport",label:"Renewal Limit"},{key:"renewalStatusReport",label:"Renewal Status"},{key:"studentWiseReport",label:"Student-wise"},{key:"bookWiseReport",label:"Book-wise"},{key:"classWiseReport",label:"Class-wise"},{key:"staffWiseReport",label:"Staff-wise"},{key:"renewalStatisticsByDate",label:"Statistics by Date"}];function xm({token:t}){const a=t??localStorage.getItem("authToken")??"",[s,r]=i.useState("renewalHistory"),[o,l]=i.useState("This Month"),[d,c]=i.useState(""),[g,f]=i.useState(""),[u,m]=i.useState(7),[w,v]=i.useState(1),[b,h]=i.useState(20),[x,T]=i.useState(""),[R,k]=i.useState("DESC"),D=i.useRef(null),C=N=>{const Y=new URLSearchParams;return["renewalHistory","renewalFineReport","studentWiseReport","bookWiseReport","classWiseReport","staffWiseReport","renewalStatisticsByDate"].includes(s)&&(Y.set("date_range",o),o==="Custom"&&d&&g&&(Y.set("from_date",d),Y.set("to_date",g))),["renewalHistory","renewalFineReport","currentlyRenewedBooks","upcomingRenewalDue","overdueRenewalReport","renewalLimitReport","renewalStatusReport","studentWiseReport","bookWiseReport","classWiseReport","staffWiseReport"].includes(s)&&(Y.set("page",String(w)),Y.set("per_page",String(b))),s==="upcomingRenewalDue"&&Y.set("days_ahead",String(u)),x&&Y.set("sort_by",x),R&&Y.set("sort_dir",R),`${N}?${Y.toString()}`},p=i.useMemo(()=>{switch(s){case"renewalHistory":return C(xc);case"renewalFineReport":return C(bc);case"currentlyRenewedBooks":return C(jc);case"upcomingRenewalDue":return C(Sc);case"overdueRenewalReport":return C(vc);case"renewalLimitReport":return C(wc);case"renewalStatusReport":return C(_c);case"studentWiseReport":return C(Cc);case"bookWiseReport":return C(Ac);case"classWiseReport":return C(Dc);case"staffWiseReport":return C(Tc);case"renewalStatisticsByDate":return C(Rc);default:return null}},[s,o,d,g,u,w,b]),{data:y,isLoading:_}=H(a?[p,a]:null,([N,Y])=>K(N,Y)),P=y?.data||{},U=P?.rows||[],B=P?.pagination||{},A=N=>{r(N),v(1),h(20)},F=()=>{v(1)},O=()=>{switch(s){case"renewalHistory":case"renewalFineReport":return[{title:"Renewal ID",dataIndex:"renewal_id",key:"renewal_id"},{title:"Student",dataIndex:"student_name",key:"student_name"},{title:"Admission No",dataIndex:"admission_no",key:"admission_no"},{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Book",dataIndex:"book_title",key:"book_title"},{title:"Author",dataIndex:"author",key:"author"},{title:"Barcode",dataIndex:"barcode",key:"barcode"},{title:"Renewal No",dataIndex:"renewal_no",key:"renewal_no"},{title:"Old Due Date",dataIndex:"old_due_date",key:"old_due_date"},{title:"New Due Date",dataIndex:"new_due_date",key:"new_due_date"},{title:"Renewal Date",dataIndex:"renewal_date",key:"renewal_date"},{title:"Status",dataIndex:"status",key:"status",render:N=>e.jsx(n.Tag,{color:N==="renewed"?"green":"red",children:N})},{title:"Fine Amount",dataIndex:"fine_amount",key:"fine_amount",render:N=>N??"-"},{title:"Paid Amount",dataIndex:"paid_amount",key:"paid_amount",render:N=>N??"-"},{title:"Due Amount",dataIndex:"due_amount",key:"due_amount",render:N=>N??"-"},{title:"Fine Status",dataIndex:"fine_payment_status",key:"fine_payment_status",render:N=>N?e.jsx(n.Tag,{color:N==="paid"?"green":N==="partial"?"orange":"red",children:N}):"-"}];case"currentlyRenewedBooks":case"upcomingRenewalDue":case"overdueRenewalReport":case"renewalLimitReport":case"renewalStatusReport":return[{title:"Student",dataIndex:"student_name",key:"student_name"},{title:"Admission No",dataIndex:"admission_no",key:"admission_no"},{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Book",dataIndex:"book_title",key:"book_title"},{title:"Author",dataIndex:"author",key:"author"},{title:"Barcode",dataIndex:"barcode",key:"barcode"},{title:"Due Date",dataIndex:"return_date",key:"return_date"},{title:"Renewal Count",dataIndex:"renewal_count",key:"renewal_count"},{title:"Max Renewal",dataIndex:"maximum_renewal",key:"maximum_renewal"},{title:"Days Remaining",dataIndex:"days_remaining",key:"days_remaining",render:N=>N??"-"},{title:"Overdue Days",dataIndex:"overdue_days",key:"overdue_days",render:N=>N??"-"},{title:"Fine",dataIndex:"fine_amount",key:"fine_amount",render:N=>N??"-"},{title:"Due",dataIndex:"due_amount",key:"due_amount",render:N=>N??"-"},{title:"Can Renew",dataIndex:"can_renew",key:"can_renew",render:N=>e.jsx(n.Tag,{color:N?"green":"red",children:N?"Yes":"No"})},{title:"Reasons",dataIndex:"reasons",key:"reasons",render:N=>Array.isArray(N)?N.join("; "):"-"}];case"studentWiseReport":return[{title:"Student ID",dataIndex:"student_id",key:"student_id"},{title:"Student Name",dataIndex:"student_name",key:"student_name"},{title:"Admission No",dataIndex:"admission_no",key:"admission_no"},{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Total Renewals",dataIndex:"total_renewals",key:"total_renewals"},{title:"Unique Books",dataIndex:"unique_books_renewed",key:"unique_books_renewed"},{title:"First Renewal",dataIndex:"first_renewal_date",key:"first_renewal_date"},{title:"Last Renewal",dataIndex:"last_renewal_date",key:"last_renewal_date"}];case"bookWiseReport":return[{title:"Book ID",dataIndex:"book_id",key:"book_id"},{title:"Title",dataIndex:"book_title",key:"book_title"},{title:"Author",dataIndex:"author",key:"author"},{title:"Barcode",dataIndex:"barcode",key:"barcode"},{title:"Category",dataIndex:"category",key:"category"},{title:"Total Renewals",dataIndex:"total_renewals",key:"total_renewals"},{title:"Unique Students",dataIndex:"unique_students",key:"unique_students"}];case"classWiseReport":return[{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Total Renewals",dataIndex:"total_renewals",key:"total_renewals"},{title:"Unique Students",dataIndex:"unique_students",key:"unique_students"}];case"staffWiseReport":return[{title:"Staff",dataIndex:"renewed_by",key:"renewed_by"},{title:"Staff Name",dataIndex:"staff_name",key:"staff_name"},{title:"Total Renewals",dataIndex:"total_renewals",key:"total_renewals"},{title:"Unique Students",dataIndex:"unique_students",key:"unique_students"},{title:"Unique Books",dataIndex:"unique_books",key:"unique_books"}];case"renewalStatisticsByDate":return[{title:"Period",dataIndex:"period",key:"period"},{title:"Total Renewals",dataIndex:"total_renewals",key:"total_renewals"},{title:"Unique Students",dataIndex:"unique_students",key:"unique_students"},{title:"Unique Books",dataIndex:"unique_books",key:"unique_books"}];default:return[]}},M=["renewalHistory","renewalFineReport","studentWiseReport","bookWiseReport","classWiseReport","staffWiseReport","renewalStatisticsByDate"].includes(s),I=i.useMemo(()=>O(),[s]);return e.jsx(j,{pt:5,pb:1,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,padding:"4px 8px",color:"#fff",display:"inline-block"}}),e.jsxs(j,{p:3,children:[e.jsxs(n.Row,{gutter:[16,16],mb:3,children:[M&&e.jsxs(e.Fragment,{children:[e.jsx(n.Col,{xs:24,md:6,children:e.jsx(Q,{options:yi,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Date Range",allowSelectAll:!1,value:yi.find(N=>N.value===o)||null,onChange:N=>l(N?.value||"This Month")})}),o==="Custom"&&e.jsxs(e.Fragment,{children:[e.jsx(n.Col,{xs:24,md:6,children:e.jsx(Ue,{Desplay:"From Date",format:"YYYY-MM-DD",onChange:N=>c(N?N.format("YYYY-MM-DD"):"")})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(Ue,{Desplay:"To Date",format:"YYYY-MM-DD",onChange:N=>f(N?N.format("YYYY-MM-DD"):"")})})]})]}),s==="upcomingRenewalDue"&&e.jsx(n.Col,{xs:24,md:6,children:e.jsx(Q,{options:[{label:"7 Days",value:7},{label:"14 Days",value:14},{label:"30 Days",value:30}],closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Days Ahead",allowSelectAll:!1,value:{label:u+" Days",value:u},onChange:N=>m(N?.value||7)})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{display:"flex",alignItems:"center",height:"100%",mt:2,children:e.jsx(ne,{type:"button",value:"Search",color:"primary",onClick:F})})})]}),e.jsx(n.Tabs,{activeKey:s,onChange:A,items:gi})]})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:gi.find(N=>N.key===s)?.label||"Report"})}),e.jsxs(j,{p:3,children:[e.jsx(Ct,{data:{tableRef:D}}),_?e.jsx(j,{py:8,textAlign:"center",children:e.jsx(n.Typography.Text,{type:"secondary",children:"Loading report data..."})}):e.jsx(n.Table,{size:"small",dataSource:U,columns:I,loading:_,pagination:!1,bordered:!0,rowKey:N=>N.renewal_id||N.id||JSON.stringify(N),ref:D}),U.length>0&&e.jsx(n.Pagination,{current:w,pageSize:b,total:B.total_rows||U.length,onChange:(N,Y)=>{v(N),h(Y)},showSizeChanger:!0,showQuickJumper:!0,pageSizeOptions:[10,20,50,100],style:{marginTop:16,textAlign:"right"}})]})]})})]})})}const rs=t=>t??localStorage.getItem("authToken")??"",bm=(t,a)=>{const s=String(t??""),r=String(a);return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},Je={upload:"api/branchapi/frontoffice/uploadfrontofficeDocument",academy:{classes:"api/branchapi/academy/classdropdownlist",sections:"api/branchapi/academy/sectionoftheClass"},student:{dropdown:"api/branchapi/student/studentDropdown"},vendor:{list:"api/accounts/vendor/vendorTable",add:"api/accounts/vendor/addvendor",edit:"api/accounts/vendor/editVendor",remove:"api/accounts/vendor/removecategory",dropdown:"api/accounts/vendor/vendorlist"},category:{list:"api/accounts/category/fetchcategorytable",add:"api/accounts/category/addcategory",edit:"api/accounts/category/editcategory",remove:"api/accounts/category/removecategory",dropdown:"api/accounts/category/categoryDropdown"},subCategory:{list:"api/accounts/category/fetchsubcategorytable",add:"api/accounts/category/addsubcategory",edit:"api/accounts/category/editsubcategory",remove:"api/accounts/category/removesubcategory",dropdown:"api/accounts/category/subcategoryDropdown"},unit:{list:"api/accounts/category/fetchunit",add:"api/accounts/category/addunit",edit:"api/accounts/category/editunit",remove:"api/accounts/category/removeunit",dropdown:"api/accounts/category/unitDropdown"},product:{list:"api/accounts/product/fetchproducttable",add:"api/accounts/product/addproduct",edit:"api/accounts/product/editproduct",remove:"api/accounts/product/removeproduct",dropdown:"api/accounts/product/productdropdown",search:"api/accounts/product/searchproductbyNameandBarcode",addStock:"api/accounts/product/addStock",sellProduct:"api/accounts/product/sellproduct",sellReports:"api/accounts/product/getstoreSellReports"},report:{stock:"api/report/StoreReport/stock_report"}},jm=()=>bm(rt(),Je.upload),Sm=async({baseUrl:t,page:a=1,perPage:s=10},r)=>{const o=t.includes("?")?"&":"?",l=`${t}${o}page=${encodeURIComponent(String(a))}&per_page=${encodeURIComponent(String(s))}`;return K(l,rs(r))},nn=async(t,a,s)=>Ne(t,a,rs(s)),Sa=async(t,a,s)=>We(t,a,rs(s)),sn=async(t,a,s)=>He(t,a,rs(s)),vm=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"",ga=({token:t,value:a,onChange:s})=>{const r=i.useMemo(()=>{if(t)return{Authorization:t}},[t]);return e.jsx(n.Upload,{maxCount:1,action:jm(),headers:r,onChange:o=>{if(o?.file?.status==="done"){const l=vm(o?.file?.response);l&&s?.(l)}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:"Upload"})})},$n=Je.vendor,rn=({baseUrl:t,page:a=1,perPage:s=10,token:r})=>H(r&&t?[t,a,s,r]:null,([l,d,c,g])=>Sm({baseUrl:l,page:d,perPage:c},g)),wm=({token:t,page:a=1,perPage:s=10})=>rn({baseUrl:$n.list,page:a,perPage:s,token:t}),_m={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},xi=[{name:"name",label:"Name*",required:!0,type:"text"},{name:"email",label:"Email*",required:!0,type:"text"},{name:"address",label:"Address*",required:!0,type:"text"},{name:"phone",label:"Phone*",required:!0,type:"number"},{name:"business_name",label:"Brand Name*",required:!0,type:"text"},{name:"acc_number",label:"Account Number",required:!1,type:"text"},{name:"ifsc_code",label:"IFSC Code",required:!1,type:"text"},{name:"acc_holder_name",label:"Account Holder Name",required:!1,type:"text"},{name:"gst_number",label:"GST Number",required:!1,type:"text"},{name:"cin_num",label:"CIN Number",required:!1,type:"text"},{name:"upi_id",label:"UPI ID",required:!1,type:"text"}];function Cm({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(null),[c,g]=i.useState(""),{isLoading:f,error:u,data:m,mutate:w}=wm({token:t,page:a.page,perPage:a.rowsPerPage}),v=async D=>{try{await w(nn($n.add,D,t),Ke(D)),S.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch(C){S.error(C?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},b=D=>{D.preventDefault();const C=new FormData(D.target);c&&C.set("image",c),v(C),D.target.reset(),g("")},h=(D,C)=>{s({page:D,rowsPerPage:parseInt(C,10)})},x=async D=>{try{await w(sn($n.remove,D,t),ze(D)),S.success("Success! Deleted item.",{duration:1e3})}catch(C){S.error(C?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},T=D=>{d(D),o(!0),g("")},R=async D=>{D.preventDefault();const C=new FormData(D.target);C.set("id",String(l?.id??"")),c&&C.set("image",c);try{await Sa($n.edit,C,t),await w(),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),o(!1),d(null),g("")}catch(p){S.error(p?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},k=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name",ellipsis:!0},{title:"Email",dataIndex:"email",key:"email",ellipsis:!0,responsive:["md"]},{title:"Address",dataIndex:"address",key:"address",ellipsis:!0,responsive:["lg"]},{title:"Phone",dataIndex:"phone",key:"phone",ellipsis:!0,responsive:["md"]},{title:"Branch Name",dataIndex:"business_name",key:"business_name",ellipsis:!0,responsive:["lg"]},{title:"Account Holder",dataIndex:"acc_holder_name",key:"acc_holder_name",ellipsis:!0,responsive:["xl"]},{title:"Account Number",dataIndex:"acc_number",key:"acc_number",ellipsis:!0,responsive:["xl"]},{title:"UPI ID",dataIndex:"upi_id",key:"upi_id",ellipsis:!0,responsive:["xl"]},{title:"Action",key:"action",width:100,fixed:"right",render:(D,C)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>T(C),style:{padding:2}}),e.jsx(gt,{id:C?.id,funcName:x})]})}],[x]);return e.jsxs("div",{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Drawer,{open:r,title:l?.name?`Edit ${l.name}`:"Edit Vendor",placement:"right",width:520,onClose:()=>{o(!1),d(null),g("")},children:e.jsx("form",{onSubmit:R,children:e.jsxs("div",{style:{display:"grid",gap:14},children:[xi.map(D=>e.jsx(V,{type:D.type,name:D.name,label:D.label,defaultValue:l?.[D.name]??"",required:D.required?"required":void 0},D.name)),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:"Image"}),e.jsx(ga,{token:t,value:c,onChange:g})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{o(!1),d(null),g("")},style:_m,children:"Cancel"})]})]})})}),e.jsxs(j,{pt:5,pb:1,children:[e.jsxs("div",{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Add Vendor"})}),e.jsx(j,{px:3,pb:2,children:e.jsx("form",{onSubmit:b,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(240px, 1fr))",gap:16,alignItems:"end"},children:[xi.map(D=>e.jsx(V,{type:D.type,name:D.name,label:D.label,required:D.required?"required":void 0},D.name)),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:"Image"}),e.jsx(ga,{token:t,value:c,onChange:g})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Add Vendor",color:"primary"})})]})})})]}),e.jsxs("div",{style:{marginTop:24},children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Vendors List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:h,data:{newData:m,columns:k,columnstype:"antd",action:!1,Loading:f,error:u}})})]})]})]})}const Am=({token:t})=>e.jsx(Cm,{token:t}),Un=Je.product,bi=Je.vendor.dropdown,ji=Je.category.dropdown,Dm=Je.subCategory.dropdown,Si=Je.unit.dropdown,sl=({token:t,page:a=1,perPage:s=10})=>rn({baseUrl:Un.list,page:a,perPage:s,token:t}),Tm=({token:t})=>H(t&&bi?[bi,t]:null,([s,r])=>K(s,r)),Rm=({token:t})=>H(t&&ji?[ji,t]:null,([s,r])=>K(s,r)),Im=({token:t})=>H(t&&Si?[Si,t]:null,([s,r])=>K(s,r)),km=({token:t,categoryId:a})=>{const s=t&&a?`${Dm}?category_id=${encodeURIComponent(String(a))}`:null;return H(s?[s,t]:null,([o,l])=>K(o,l))},wn=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:[]},Pm={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"};function Om({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(null),[c,g]=i.useState(""),[f,u]=i.useState(""),[m,w]=i.useState(""),[v,b]=i.useState(""),[h,x]=i.useState(""),{isLoading:T,error:R,data:k,mutate:D}=sl({token:t,page:a.page,perPage:a.rowsPerPage}),{data:C}=Tm({token:t}),{data:p}=Rm({token:t}),{data:y}=Im({token:t}),{data:_}=km({token:t,categoryId:f}),P=i.useMemo(()=>wn(C),[C]),U=i.useMemo(()=>wn(p),[p]),B=i.useMemo(()=>wn(y),[y]),A=i.useMemo(()=>wn(_),[_]),F=async $=>{try{await D(nn(Un.add,$,t),Ke($)),S.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch(E){S.error(E?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},O=$=>{$.preventDefault();const E=new FormData($.target);f&&E.set("fk_categoryID",String(f)),m&&E.set("fk_sub_categoryID",String(m)),v&&E.set("vendor_id",String(v)),h&&E.set("unit",String(h)),c&&E.set("image",c),F(E),$.target.reset(),g(""),u(""),w(""),b(""),x("")},M=($,E)=>{s({page:$,rowsPerPage:parseInt(E,10)})},I=async $=>{try{await D(sn(Un.remove,$,t),ze($)),S.success("Success! Deleted item.",{duration:1e3})}catch(E){S.error(E?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},N=$=>{d($),o(!0),g(""),u($?.fk_categoryID??$?.category_id??""),w($?.fk_sub_categoryID??$?.sub_category_id??""),b($?.vendor_id??""),x($?.unit??$?.unit_id??"")},Y=async $=>{$.preventDefault();const E=new FormData($.target);E.set("id",String(l?.id??"")),f&&E.set("fk_categoryID",String(f)),m&&E.set("fk_sub_categoryID",String(m)),v&&E.set("vendor_id",String(v)),h&&E.set("unit",String(h)),c&&E.set("image",c);try{await Sa(Un.edit,E,t),await D(),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),o(!1),d(null),g("")}catch(L){S.error(L?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},z=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name",ellipsis:!0,fixed:"left",width:180},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0,responsive:["lg"]},{title:"Category",dataIndex:"storecategory",key:"storecategory",ellipsis:!0,responsive:["md"]},{title:"Quantity",dataIndex:"quantity",key:"quantity",ellipsis:!0,width:100,responsive:["md"]},{title:"Unit",dataIndex:"unit_name",key:"unit_name",ellipsis:!0,width:120,responsive:["md"]},{title:"Price",dataIndex:"price",key:"price",ellipsis:!0,width:100,responsive:["md"]},{title:"Barcode",dataIndex:"barcode",key:"barcode",ellipsis:!0,responsive:["xl"]},{title:"Hsn Code",dataIndex:"hsn_code",key:"hsn_code",ellipsis:!0,responsive:["xl"]},{title:"Action",key:"action",width:100,fixed:"right",render:($,E)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>N(E),style:{padding:2}}),e.jsx(gt,{id:E?.id,funcName:I})]})}],[I]);return e.jsxs("div",{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Drawer,{open:r,title:l?.name?`Edit ${l.name}`:"Edit Product",placement:"right",width:520,onClose:()=>{o(!1),d(null),g("")},children:e.jsx("form",{onSubmit:Y,children:e.jsxs("div",{style:{display:"grid",gap:14},children:[e.jsx(V,{type:"text",name:"name",label:"Product Name*",defaultValue:l?.name??"",required:"required"}),e.jsx(Q,{options:U,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Category*",name:"fk_categoryID",allowSelectAll:!1,required:!0,onChange:$=>{const E=$?.value??"";u(E),w("")},defaultValue:f?U.find($=>String($?.value)===String(f)):null}),e.jsx(Q,{options:A,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"SubCategory",name:"fk_sub_categoryID",allowSelectAll:!1,onChange:$=>w($?.value??""),defaultValue:m?A.find($=>String($?.value)===String(m)):null}),e.jsx(V,{type:"text",name:"barcode",label:"Barcode",defaultValue:l?.barcode??""}),e.jsx(Q,{options:B,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Unit*",name:"unit",allowSelectAll:!1,required:!0,onChange:$=>x($?.value??""),defaultValue:h?B.find($=>String($?.value)===String(h)):null}),e.jsx(V,{type:"number",name:"quantity",label:"Quantity*",defaultValue:l?.quantity??"",required:"required"}),e.jsx(V,{type:"number",name:"price",label:"Price*",defaultValue:l?.price??"",required:"required"}),e.jsx(Q,{options:P,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Vendor*",name:"vendor_id",allowSelectAll:!1,required:!0,onChange:$=>b($?.value??""),defaultValue:v?P.find($=>String($?.value)===String(v)):null}),e.jsx(V,{type:"number",name:"hsn_code",label:"Hsn Code",defaultValue:l?.hsn_code??""}),e.jsx(lt,{type:"text",label:"Description",name:"description",rows:3,defaultValue:l?.description??""}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:"Image"}),e.jsx(ga,{token:t,value:c,onChange:g})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{o(!1),d(null),g("")},style:Pm,children:"Cancel"})]})]})})}),e.jsxs(j,{pt:5,pb:1,children:[e.jsxs("div",{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Add Product"})}),e.jsx(j,{px:3,pb:2,children:e.jsx("form",{onSubmit:O,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(240px, 1fr))",gap:16,alignItems:"end"},children:[e.jsx(V,{type:"text",name:"name",label:"Product Name*",required:"required"}),e.jsx(Q,{options:U,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Category*",name:"fk_categoryID",allowSelectAll:!1,required:!0,onChange:$=>{const E=$?.value??"";u(E),w("")}}),e.jsx(Q,{options:A,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"SubCategory",name:"fk_sub_categoryID",allowSelectAll:!1,onChange:$=>w($?.value??"")},`subcat_${f}`),e.jsx(V,{type:"text",name:"barcode",label:"Barcode"}),e.jsx(Q,{options:B,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Unit*",name:"unit",allowSelectAll:!1,required:!0,onChange:$=>x($?.value??"")}),e.jsx(V,{type:"number",name:"quantity",label:"Quantity*",required:"required"}),e.jsx(V,{type:"number",name:"price",label:"Price*",required:"required"}),e.jsx(Q,{options:P,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Vendor*",name:"vendor_id",allowSelectAll:!1,required:!0,onChange:$=>b($?.value??"")}),e.jsx(V,{type:"number",name:"hsn_code",label:"Hsn Code"}),e.jsx(lt,{type:"text",label:"Description",name:"description",rows:3}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:"Image"}),e.jsx(ga,{token:t,value:c,onChange:g})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Add Product",color:"primary"})})]})})})]}),e.jsxs("div",{style:{marginTop:24},children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Products List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:M,data:{newData:k,columns:z,columnstype:"antd",action:!1,Loading:T,error:R}})})]})]})]})}const Mm=({token:t})=>e.jsx(Om,{token:t}),Nn=Je.category,Em=({token:t,page:a=1,perPage:s=10})=>rn({baseUrl:Nn.list,page:a,perPage:s,token:t}),Fm={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"};function $m({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(null),{isLoading:c,error:g,data:f,mutate:u}=Em({token:t,page:a.page,perPage:a.rowsPerPage}),m=async R=>{try{await u(nn(Nn.add,R,t),Ke(R)),S.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch(k){S.error(k?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},w=R=>{R.preventDefault();const k=new FormData(R.target);m(k),R.target.reset()},v=(R,k)=>{s({page:R,rowsPerPage:parseInt(k,10)})},b=async R=>{try{await u(sn(Nn.remove,R,t),ze(R)),S.success("Success! Deleted item.",{duration:1e3})}catch(k){S.error(k?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},h=R=>{d(R),o(!0)},x=async R=>{R.preventDefault();const k=new FormData(R.target);k.set("id",String(l?.id??""));try{await Sa(Nn.edit,k,t),await u(),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),o(!1),d(null)}catch(D){S.error(D?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},T=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name",ellipsis:!0,sorter:{compare:(R,k)=>String(R?.name??"").localeCompare(String(k?.name??""))}},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0,sorter:{compare:(R,k)=>String(R?.description??"").localeCompare(String(k?.description??""))}},{title:"Action",key:"action",width:100,fixed:"right",render:(R,k)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>h(k),style:{padding:2}}),e.jsx(gt,{id:k?.id,funcName:b})]})}],[b]);return e.jsxs("div",{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Drawer,{open:r,title:l?.name?`Edit ${l.name}`:"Edit Category",placement:"right",width:420,onClose:()=>{o(!1),d(null)},children:e.jsx("form",{onSubmit:x,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{type:"text",name:"name",label:"Name",defaultValue:l?.name??"",required:"required"}),e.jsx(V,{type:"text",name:"description",label:"Description",defaultValue:l?.description??""}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{o(!1),d(null)},style:Fm,children:"Cancel"})]})]})})}),e.jsxs(j,{pt:5,pb:1,children:[e.jsxs("div",{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Add Category"})}),e.jsx(j,{px:3,pb:2,children:e.jsx("form",{onSubmit:w,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"text",name:"name",label:"Name*",required:"required"}),e.jsx(V,{type:"text",name:"description",label:"Description"}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})]})})})]}),e.jsxs("div",{style:{marginTop:24},children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Category List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:v,data:{newData:f,columns:T,columnstype:"antd",action:!1,Loading:c,error:g}})})]})]})]})}const Um=({token:t})=>e.jsx($m,{token:t}),Ln=Je.subCategory,vi=Je.category.dropdown,Nm=({token:t,page:a=1,perPage:s=10})=>rn({baseUrl:Ln.list,page:a,perPage:s,token:t}),Lm=({token:t})=>H(t&&vi?[vi,t]:null,([s,r])=>K(s,r)),Bm=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:[]},qm={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"};function zm({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(null),[c,g]=i.useState(""),{isLoading:f,error:u,data:m,mutate:w}=Nm({token:t,page:a.page,perPage:a.rowsPerPage}),{data:v}=Lm({token:t}),b=i.useMemo(()=>Bm(v),[v]),h=async p=>{try{await w(nn(Ln.add,p,t),Ke(p)),S.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch(y){S.error(y?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},x=p=>{p.preventDefault();const y=new FormData(p.target);y.set("status","active"),y.set("img",c||""),h(y),p.target.reset(),g("")},T=(p,y)=>{s({page:p,rowsPerPage:parseInt(y,10)})},R=async p=>{try{await w(sn(Ln.remove,p,t),ze(p)),S.success("Success! Deleted item.",{duration:1e3})}catch(y){S.error(y?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},k=p=>{d(p),o(!0)},D=async p=>{p.preventDefault();const y=new FormData(p.target);y.set("id",String(l?.id??"")),c&&y.set("img",c);try{await Sa(Ln.edit,y,t),await w(),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),o(!1),d(null),g("")}catch(_){S.error(_?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},C=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name",ellipsis:!0,sorter:{compare:(p,y)=>String(p?.name??"").localeCompare(String(y?.name??""))}},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0,sorter:{compare:(p,y)=>String(p?.description??"").localeCompare(String(y?.description??""))}},{title:"Action",key:"action",width:100,fixed:"right",render:(p,y)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>k(y),style:{padding:2}}),e.jsx(gt,{id:y?.id,funcName:R})]})}],[R]);return e.jsxs("div",{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Drawer,{open:r,title:l?.name?`Edit ${l.name}`:"Edit Sub Category",placement:"right",width:420,onClose:()=>{o(!1),d(null),g("")},children:e.jsx("form",{onSubmit:D,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(Q,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Category",name:"category_id",defaultValue:l?.category_id?b.find(p=>String(p?.value)===String(l.category_id)):null,allowSelectAll:!1,required:!0}),e.jsx(V,{type:"text",name:"name",label:"Name*",defaultValue:l?.name??"",required:"required"}),e.jsx(V,{type:"text",name:"description",label:"Description",defaultValue:l?.description??""}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:"Image"}),e.jsx(ga,{token:t,value:c,onChange:g})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{o(!1),d(null),g("")},style:qm,children:"Cancel"})]})]})})}),e.jsxs(j,{pt:5,pb:1,children:[e.jsxs("div",{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Add Sub Category"})}),e.jsx(j,{px:3,pb:2,children:e.jsx("form",{onSubmit:x,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Q,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Category",name:"category_id",allowSelectAll:!1,required:!0}),e.jsx(V,{type:"text",name:"name",label:"Name*",required:"required"}),e.jsx(V,{type:"text",name:"description",label:"Description"}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:"Image"}),e.jsx(ga,{token:t,value:c,onChange:g})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})]})})})]}),e.jsxs("div",{style:{marginTop:24},children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Sub Category List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:T,data:{newData:m,columns:C,columnstype:"antd",action:!1,Loading:f,error:u}})})]})]})]})}const Ym=({token:t})=>e.jsx(zm,{token:t}),Ps=Je.product,Vm=Je.academy.classes,Wm=Je.academy.sections,Hm=Je.student.dropdown;function ka(t){const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]}function _n(t,a){const s=Math.trunc(Number(t)||1),r=Math.max(1,s);return!Number.isFinite(Number(a))||Number(a)<=0?r:Math.min(r,Math.trunc(Number(a)))}function mt(t){return String(t??"")}function Km({token:t}){const[a,s]=i.useState(""),[r,o]=i.useState(""),[l,d]=i.useState(""),[c,g]=i.useState(!1),[f,u]=i.useState(""),[m,w]=i.useState([]),[v,b]=i.useState({}),[h,x]=i.useState({}),[T,R]=i.useState(!1),[k,D]=i.useState(""),[C,p]=i.useState(0),[y,_]=i.useState(""),[P,U]=i.useState(te()),[B,A]=i.useState([]),F={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},O=!!(a&&r&&l),{data:M}=H(t?[Vm,t]:null,([fe,je])=>K(fe,je)),I=i.useMemo(()=>ka(M),[M]),N=t&&a?`${Wm}?class_id=${encodeURIComponent(String(a))}`:null,{data:Y}=H(N?[N,t]:null,([fe,je])=>K(fe,je)),z=i.useMemo(()=>ka(Y),[Y]),$=t&&a&&r?`${Hm}?class=${encodeURIComponent(String(a))}§ion=${encodeURIComponent(String(r))}`:null,{data:E}=H($?[$,t]:null,([fe,je])=>K(fe,je)),L=i.useMemo(()=>ka(E),[E]),q=O?`${Ps.list}?page=1&per_page=10000`:null,{data:W,isLoading:se}=H(t&&q?[q,t]:null,([fe,je])=>K(fe,je),{revalidateOnFocus:!1}),Z=i.useMemo(()=>ka(W),[W]),G=i.useMemo(()=>{const fe=new Map;return(Array.isArray(Z)?Z:[]).forEach(je=>{fe.set(mt(je?.id),je)}),fe},[Z]),J=i.useMemo(()=>{const fe=Object.entries(h||{});return fe.length===0?[]:fe.map(([je,xe])=>{const ae=G.get(mt(je));return ae?{id:ae?.id,name:ae?.name,barcode:ae?.barcode,stock:Number(ae?.quantity||0),price:Number(ae?.price||0),quantity:_n(xe,Number(ae?.quantity||0))}:null}).filter(Boolean)},[h,G]),re=i.useMemo(()=>new Set(J.map(fe=>mt(fe?.id))),[J]),de=i.useMemo(()=>(Array.isArray(J)?J:[]).reduce((je,xe)=>je+Number(xe?.price||0)*Number(xe?.quantity||1),0),[J]),Ce=i.useMemo(()=>{const fe=Number(C||0);return!Number.isFinite(fe)||fe<=0?0:Math.min(fe,de)},[C,de]),oe=i.useMemo(()=>Math.max(0,de-Ce),[Ce,de]),le=i.useMemo(()=>(Array.isArray(Z)?Z:[]).slice(0,30).map(fe=>({value:mt(fe?.id),label:`${fe?.name??""}${fe?.barcode?` âĒ ${fe.barcode}`:""}${fe?.quantity!==void 0&&fe?.quantity!==null?` âĒ Stock: ${fe.quantity}`:""}`,product:fe})),[Z]),{trigger:ie}=st(t&&O?Ps.search:null,(fe,{arg:je})=>Jt(fe,{arg:je},t));i.useEffect(()=>{if(!O){w([]);return}const fe=String(f||"").trim();if(fe.length<2){w(le);return}let je=!0;const xe=setTimeout(async()=>{let ae=[];try{if(ie){const ye=await ie({search:fe});ae=ka(ye)}}catch{ae=[]}if(!Array.isArray(ae)||ae.length===0){const ye=fe.toLowerCase();ae=(Array.isArray(Z)?Z:[]).filter(ke=>{const Pe=String(ke?.name??"").toLowerCase(),ue=String(ke?.barcode??"").toLowerCase();return Pe.includes(ye)||ue.includes(ye)}).slice(0,30)}const me=ae.slice(0,30).map(ye=>({value:mt(ye?.id),label:`${ye?.name??""}${ye?.barcode?` âĒ ${ye.barcode}`:""}${ye?.quantity!==void 0&&ye?.quantity!==null?` âĒ Stock: ${ye.quantity}`:""}`,product:ye}));je&&w(me)},250);return()=>{je=!1,clearTimeout(xe)}},[le,O,ie,Z,f]),i.useEffect(()=>{x({}),b({}),u(""),w([]),R(!1),D(""),p(0),_(""),U(te()),A([])},[a,r,l]);const Se=i.useCallback((fe,je=1)=>{const xe=fe?.id;if(!xe)return;const ae=Number(fe?.quantity||0);if(ae<=0){S.error("Out of stock.",{duration:1e3});return}const me=_n(je,ae);x(ye=>{const ke=ye||{};return Object.prototype.hasOwnProperty.call(ke,mt(xe))?(S.error("Product already added.",{duration:1e3}),ke):{...ke,[mt(xe)]:me}})},[x]),Ee=i.useCallback((fe,je,xe)=>{x(ae=>{const me=ae||{},ye=mt(fe);return Object.prototype.hasOwnProperty.call(me,ye)?{...me,[ye]:_n(je,xe)}:me})},[]),Qe=i.useCallback(fe=>{x(je=>{const xe=je||{},ae=mt(fe);if(!Object.prototype.hasOwnProperty.call(xe,ae))return xe;const me={...xe};return delete me[ae],me})},[]),be=i.useCallback((fe,je,xe)=>{b(ae=>({...ae||{},[mt(fe)]:_n(je,xe)}))},[]),ve=i.useCallback((fe,je)=>{je?.product&&Se(je.product,1),u(""),w(le)},[Se,le]),Me=i.useCallback(fe=>{if(fe.key!=="Enter")return;fe.preventDefault();const je=Array.isArray(m)&&m.length>0?m[0]:null;if(je?.product){Se(je.product,1),u(""),w(le);return}const xe=String(f||"").trim().toLowerCase();if(xe.length===0)return;const ae=(Array.isArray(Z)?Z:[]).find(me=>{const ye=String(me?.name??"").toLowerCase(),ke=String(me?.barcode??"").toLowerCase();return ye.includes(xe)||ke.includes(xe)});ae&&(Se(ae,1),u(""),w(le))},[Se,le,Z,m,f]),Ye=()=>{if(!t){S.error("Missing token.",{duration:1e3});return}if(!a){S.error("Select class.",{duration:1e3});return}if(!r){S.error("Select section.",{duration:1e3});return}if(!l){S.error("Select student.",{duration:1e3});return}if(!J||J.length===0){S.error("Add at least one product.",{duration:1e3});return}R(!0)},{trigger:Le,isMutating:Be}=st(t?Ps.sellProduct:null,(fe,{arg:je})=>ss(fe,{arg:je},t)),Xe=async()=>{if(!k){S.error("Select payment type.",{duration:1e3});return}const fe=(Array.isArray(J)?J:[]).map(xe=>({id:xe?.id,quantity:Number(xe?.quantity||1),price:Number(xe?.price||0),total_price:Number(xe?.total_price||0),fk_vendor_id:xe?.fk_vendor_id||"",fk_categoryID:xe?.fk_categoryID||"",name:xe?.name||"",class_id:xe?.class_id||"",fk_sub_categoryID:xe?.fk_sub_categoryID||"",description:xe?.description||"",min_quantity:Number(xe?.min_quantity||0),storecategory:Number(xe?.storecategory||0),barcode:xe?.barcode||""})),je={amount:de,class:a,section:r,student_id:l,payment_type:k,discount:Ce,notes:y||"",receipt_date:P?te(P).format("YYYY-MM-DD"):"",product:JSON.stringify(fe),total_payable_amount:de,attchement:B[0]?.originFileObj||""};try{const ae=Array.isArray(B)&&B.length>0&&B[0]?.originFileObj?(()=>{const ye=new FormData;return Object.entries(je).forEach(([ke,Pe])=>{if(ke==="products"){ye.append("product",JSON.stringify(Pe));return}ye.append(ke,String(Pe??""))}),ye.append("attachment",B[0].originFileObj),ye})():je,me=await Le(ae);me?.Status==="Success"?(S.success("Success! Product sold.",{duration:1e3}),R(!1),x({}),b({}),u(""),w(le),D(""),p(0),_(""),U(te()),A([])):S.error(me?.msg??"Failed to submit.",{duration:1e3})}catch{S.error("Failed to submit.",{duration:1e3})}},tt=i.useMemo(()=>[{title:"Product Name",dataIndex:"name",key:"name",ellipsis:!0},{title:"Barcode",dataIndex:"barcode",key:"barcode",width:160},{title:"Stock",dataIndex:"quantity",key:"quantity",width:110},{title:"Price",dataIndex:"price",key:"price",width:120},{title:"Quantity",key:"quantity",width:160,render:(fe,je)=>{const xe=mt(je?.id),ae=Number(je?.quantity||0),me=re.has(xe),ye=(me?h?.[xe]:v?.[xe])??1;return e.jsx(n.InputNumber,{min:1,max:Number.isFinite(ae)&&ae>0?ae:void 0,value:ye,onChange:ke=>{me?Ee(xe,ke,ae):be(xe,ke,ae)},disabled:ae<=0})}},{title:"Amount",key:"amount",width:140,render:(fe,je)=>{const xe=mt(je?.id),ae=(re.has(xe)?h?.[xe]:v?.[xe])??1;return Number(je?.price||0)*Number(ae||1)}},{title:"Action",key:"action",width:120,render:(fe,je)=>{const xe=mt(je?.id),ae=Number(je?.quantity||0),me=re.has(xe),ye=(me?h?.[xe]:v?.[xe])??1;return me?e.jsx(n.Button,{type:"text",danger:!0,size:"small",icon:e.jsx(ee.DeleteOutlined,{}),onClick:()=>Qe(xe),style:{padding:2}}):e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.PlusOutlined,{}),disabled:ae<=0,onClick:()=>Se(je,ye),style:{padding:2}})}}],[Se,re,h,v,Qe,be,Ee]);return e.jsxs("div",{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs(j,{pt:5,pb:2,children:[e.jsxs(j,{style:{padding:"12px 16px"},children:[e.jsx(j,{children:"Sell Product"}),e.jsx(n.Card,{style:{borderRadius:16},children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16,alignItems:"end"},children:[e.jsx(Q,{options:I,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",placeholder:"Class",allowSelectAll:!1,required:!0,onChange:fe=>{const je=fe?.value??"";s(je),o(""),d(""),g(xe=>!xe)}}),e.jsx(Q,{options:z,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",placeholder:"Section",allowSelectAll:!1,required:!0,onChange:fe=>{const je=fe?.value??"";o(je),d("")}},`section_${c}`),e.jsx(Q,{options:L,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Student",name:"student_id",placeholder:"Student",allowSelectAll:!1,required:!0,onChange:fe=>d(fe?.value??"")})]})})]}),e.jsx("div",{style:{padding:"0 16px"},children:e.jsxs(n.Card,{style:{borderRadius:16,marginTop:12},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(260px, 520px) 1fr",gap:12,alignItems:"center",marginBottom:12},children:[e.jsx(j,{style:{marginTop:12},children:"Product Section"}),e.jsx(n.AutoComplete,{value:f,options:m,onSearch:u,onFocus:()=>{O&&String(f||"").trim().length<2&&w(le)},onSelect:ve,disabled:!O,children:e.jsx(n.Input,{placeholder:"Search by product name or barcode",onKeyDown:Me,allowClear:!0})}),e.jsxs("div",{style:{justifySelf:"end",fontWeight:700},children:["Total: ",Rt(de)]})]}),e.jsx(n.Table,{rowKey:fe=>mt(fe?.id),columns:tt,dataSource:Z,loading:se,size:"small",bordered:!0,pagination:{pageSize:50,showSizeChanger:!0,pageSizeOptions:[25,50,100,200]},scroll:{x:"max-content"}}),e.jsxs("div",{style:{position:"sticky",bottom:0,background:"#fff",paddingTop:12,marginTop:12,borderTop:"1px solid #f0f0f0"},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontWeight:700},children:[e.jsx("span",{children:"Selected Items"}),e.jsx("span",{children:J.length})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontWeight:700,marginTop:6},children:[e.jsx("span",{children:"Total Amount"}),e.jsx("span",{children:Rt(de)})]}),e.jsxs("div",{style:{display:"flex",gap:12,marginTop:12},children:[e.jsx(ne,{type:"button",value:"Submit",disabled:!O||J.length===0,onClick:Ye,style:{flex:1,minWidth:140}}),e.jsx(n.Button,{type:"text",style:F,onClick:()=>{x({}),b({}),u(""),w(le)},disabled:J.length===0,children:"Clear"})]})]})]})})]}),e.jsx(n.Modal,{open:T,title:"Payment",onCancel:()=>R(!1),onOk:Xe,confirmLoading:Be,okText:"Submit",destroyOnClose:!0,children:e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,fontWeight:600,marginBottom:6},children:"Payment Type"}),e.jsx(n.Select,{value:k||void 0,onChange:D,placeholder:"Select payment type",style:{width:"100%"},options:[{value:"Cash",label:"Cash"},{value:"UPI",label:"UPI"},{value:"Bank",label:"Bank"},{value:"Cheque",label:"Cheque"},{value:"DD",label:"DD"},{value:"Internet Banking",label:"Internet Banking"}]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,fontWeight:600,marginBottom:6},children:"Receipt Date"}),e.jsx(n.DatePicker,{value:P,onChange:fe=>U(fe),style:{width:"100%"},format:"YYYY-MM-DD"})]})]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,fontWeight:600,marginBottom:6},children:"Discount"}),e.jsx(n.InputNumber,{min:0,max:de,value:C,onChange:fe=>p(Number(fe||0)),style:{width:"100%"}})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,fontWeight:600,marginBottom:6},children:"Attachment"}),e.jsx(n.Upload,{fileList:B,beforeUpload:()=>!1,onChange:({fileList:fe})=>A((fe||[]).slice(-1)),maxCount:1,children:e.jsx(n.Button,{icon:e.jsx(ee.UploadOutlined,{}),children:"Upload"})})]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,fontWeight:600,marginBottom:6},children:"Notes"}),e.jsx(n.Input.TextArea,{value:y,onChange:fe=>_(fe.target.value),rows:3})]}),e.jsx(n.Card,{style:{borderRadius:12,background:"#fafcff"},children:e.jsxs("div",{style:{display:"grid",gap:8},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[e.jsx("span",{children:"Total Amount"}),e.jsx("span",{children:Rt(de)})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[e.jsx("span",{children:"Discount"}),e.jsx("span",{children:Rt(Ce)})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontWeight:700},children:[e.jsx("span",{children:"Net Amount"}),e.jsx("span",{children:Rt(oe)})]})]})})]})})]})}const Gm=({token:t})=>e.jsx(Km,{token:t}),Bn=Je.unit,Jm=({token:t,page:a=1,perPage:s=10})=>rn({baseUrl:Bn.list,page:a,perPage:s,token:t}),Qm={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"};function Xm({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(null),{isLoading:c,error:g,data:f,mutate:u}=Jm({token:t,page:a.page,perPage:a.rowsPerPage}),m=async R=>{try{await u(nn(Bn.add,R,t),Ke(R)),S.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch(k){S.error(k?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},w=R=>{R.preventDefault();const k=new FormData(R.target);m(k),R.target.reset()},v=(R,k)=>{s({page:R,rowsPerPage:parseInt(k,10)})},b=async R=>{try{await u(sn(Bn.remove,R,t),ze(R)),S.success("Success! Deleted item.",{duration:1e3})}catch(k){S.error(k?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},h=R=>{d(R),o(!0)},x=async R=>{R.preventDefault();const k=new FormData(R.target);k.set("id",String(l?.id??""));try{await Sa(Bn.edit,k,t),await u(),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),o(!1),d(null)}catch(D){S.error(D?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},T=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name",ellipsis:!0,sorter:{compare:(R,k)=>String(R?.name??"").localeCompare(String(k?.name??""))}},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0,sorter:{compare:(R,k)=>String(R?.description??"").localeCompare(String(k?.description??""))}},{title:"Action",key:"action",width:100,fixed:"right",render:(R,k)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>h(k),style:{padding:2}}),e.jsx(gt,{id:k?.id,funcName:b})]})}],[b]);return e.jsxs("div",{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Drawer,{open:r,title:l?.name?`Edit ${l.name}`:"Edit Unit",placement:"right",width:420,onClose:()=>{o(!1),d(null)},children:e.jsx("form",{onSubmit:x,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{type:"text",name:"name",label:"Unit Name",defaultValue:l?.name??"",required:"required"}),e.jsx(V,{type:"text",name:"description",label:"Description",defaultValue:l?.description??""}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{o(!1),d(null)},style:Qm,children:"Cancel"})]})]})})}),e.jsxs(j,{pt:5,pb:1,children:[e.jsxs("div",{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Add Unit"})}),e.jsx(j,{px:3,pb:2,children:e.jsx("form",{onSubmit:w,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"text",name:"name",label:"Unit Name*",required:"required"}),e.jsx(V,{type:"text",name:"description",label:"Description"}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})]})})})]}),e.jsxs("div",{style:{marginTop:24},children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(he,{variant:"h6",color:"white",children:"Unit List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:v,data:{newData:f,columns:T,columnstype:"antd",action:!1,Loading:c,error:g}})})]})]})]})}const Zm=({token:t})=>e.jsx(Xm,{token:t}),eh=Je.product.sellReports,th=Je.academy.classes,ah=Je.academy.sections,nh=Je.student.dropdown,wi=t=>{const a=Number(t??0);return Number.isFinite(a)?a.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:2}):String(t??"")};function sh({token:t}){const a=i.useRef(null),[s,r]=i.useState(null),[o,l]=i.useState(""),[d,c]=i.useState(""),[g,f]=i.useState(""),[u,m]=i.useState(!1),w=A=>{const F=A?.data?.data??A?.data??A??[];return Array.isArray(F)?F:Array.isArray(F?.data)?F.data:[]},{data:v}=H(t?[th,t]:null,([A,F])=>K(A,F)),b=i.useMemo(()=>w(v),[v]),h=t&&o?`${ah}?class_id=${encodeURIComponent(String(o))}`:null,{data:x}=H(h?[h,t]:null,([A,F])=>K(A,F)),T=i.useMemo(()=>w(x),[x]),R=t&&o&&d?`${nh}?class=${encodeURIComponent(String(o))}§ion=${encodeURIComponent(String(d))}`:null,{data:k}=H(R?[R,t]:null,([A,F])=>K(A,F)),D=i.useMemo(()=>w(k),[k]),{trigger:C,isMutating:p,data:y}=st(eh,(A,{arg:F})=>nr(A,{arg:F},t));i.useEffect(()=>{const F=new Date().toISOString().slice(0,10);C({duration:[F,F]})},[C]);const _=i.useMemo(()=>{const A=y?.data??y??[];return Array.isArray(A)?A:[]},[y]),P=A=>{const F=Array.isArray(A?.product_details)?A.product_details:[];return F.length===0?null:e.jsx(n.Table,{size:"small",bordered:!0,pagination:!1,rowKey:O=>`${A?.receipt_id??"r"}_${O?.product_name??O?.product_pricem??""}`,columns:[{title:"Product",dataIndex:"product_name",key:"product_name"},{title:"Amount",dataIndex:"product_pricem",key:"product_pricem",render:O=>wi(O)}],dataSource:F})},U=[{title:"Receipt No",dataIndex:"receipt_no",key:"receipt_no"},{title:"Date",dataIndex:"receipt_date",key:"receipt_date"},{title:"Amount",dataIndex:"receipt_amount",key:"receipt_amount",render:A=>wi(A)}],B=async()=>{if(!s||s.length!==2)return;const[A,F]=s;await C({duration:[A.format("YYYY-MM-DD"),F.format("YYYY-MM-DD")],class:o||"",section:d||"",student_id:g||""})};return e.jsx("div",{children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,lg:8,children:e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Filters"}),style:{borderRadius:16},children:e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Duration"}),e.jsx(n.DatePicker.RangePicker,{value:s,onChange:r,style:{width:"100%"}})]}),e.jsx(Q,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",placeholder:"Class",allowSelectAll:!1,onChange:A=>{const F=A?.value??"";l(F),c(""),f(""),m(O=>!O)}}),e.jsx(Q,{options:T,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",placeholder:"Section",allowSelectAll:!1,onChange:A=>{const F=A?.value??"";c(F),f("")}},`section_${u}`),e.jsx(Q,{options:D,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Student",placeholder:"Student",allowSelectAll:!1,onChange:A=>f(A?.value??"")}),e.jsx(ne,{type:"button",value:p?"Searching...":"Search",disabled:p,onClick:B,style:{width:"100%"}})]})})}),e.jsx(n.Col,{xs:24,lg:16,children:e.jsx(n.Card,{title:e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Sell Reports"}),e.jsx(Ct,{data:{tableRef:a}})]}),style:{borderRadius:16},children:e.jsxs("div",{ref:a,children:[e.jsx("div",{className:"print-only",children:e.jsx(It,{})}),e.jsx(n.Table,{bordered:!0,size:"small",loading:p,rowKey:A=>String(A?.receipt_id??A?.receipt_no??Math.random()),columns:U,expandable:{expandedRowRender:P},dataSource:_,pagination:{pageSize:20}})]})})})]})})}const rh=({token:t})=>e.jsx(sh,{token:t}),ih=Je.product;function oh({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState([]),[l,d]=i.useState([]),[c,g]=i.useState(!1),[f,u]=i.useState(!1),[m,w]=i.useState(null),[v,b]=i.useState(0),[h,x]=i.useState(null),[T,R]=i.useState(""),k=i.useRef(null),D=Zt.useReactToPrint({contentRef:k,documentTitle:"Stock Barcodes"}),{isLoading:C,error:p,data:y,mutate:_}=sl({token:t,page:a.page,perPage:a.rowsPerPage}),P=(M,I)=>{s({page:M,rowsPerPage:parseInt(I,10)})},U={selectedRowKeys:r,onChange:(M,I)=>{o(M),d(I)}},B=M=>{w(M),b(Number(M?.quantity??0)),x(null),R(""),g(!0)},A=()=>{g(!1),w(null),b(0),x(null),R("")},F=async()=>{if(!m?.id)return;u(!0);const M=new FormData;M.append("product_id",String(m.id)),M.append("qty",String(v??0)),h&&M.append("tran_date",h.format("YYYY-MM-DD")),T&&M.append("remarks",T);try{const I=await Sa(ih.addStock,M,t);I?.Status==="Success"?(S.success("Success! Updated quantity.",{duration:1e3}),A(),await _()):S.error(I?.msg??"Failed to update quantity.",{duration:1e3})}catch{S.error("Failed to update quantity.",{duration:1e3})}finally{u(!1)}},O=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name",ellipsis:!0,fixed:"left",width:180},{title:"Category",dataIndex:"storecategory",key:"storecategory",ellipsis:!0,responsive:["md"]},{title:"Quantity",dataIndex:"quantity",key:"quantity",width:100},{title:"Unit",dataIndex:"unit_name",key:"unit_name",width:120,responsive:["md"]},{title:"Price",dataIndex:"price",key:"price",width:100,responsive:["md"]},{title:"Barcode",dataIndex:"barcode",key:"barcode",ellipsis:!0,responsive:["lg"]},{title:"Action",key:"action",width:160,fixed:"right",render:(M,I)=>e.jsx("div",{style:{display:"flex",gap:8},children:e.jsx(n.Button,{size:"small",onClick:()=>B(I),children:"Update Qty"})})}],[]);return e.jsxs("div",{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Modal,{title:m?.name?`Update Stock: ${m.name}`:"Update Stock",open:c,onCancel:A,onOk:F,okButtonProps:{loading:f},children:e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,marginBottom:6},children:"Quantity"}),e.jsx(n.InputNumber,{min:0,style:{width:"100%"},value:v,onChange:M=>b(M??0)})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,marginBottom:6},children:"Date"}),e.jsx(n.DatePicker,{style:{width:"100%"},value:h,onChange:x})]}),e.jsx(lt,{label:"Remarks",name:"remarks",rows:3,value:T,onChange:M=>R(M.target.value)})]})}),e.jsxs(j,{pt:5,pb:2,children:[e.jsxs(j,{children:["Manage Stock",e.jsx(ne,{type:"button",value:"Print Barcodes",disabled:!l||l.length===0,onClick:()=>D?.(),style:{minWidth:170}})]}),e.jsx(j,{style:{padding:"12px 16px"},children:e.jsx(n.Card,{style:{borderRadius:16},children:e.jsx(Ie,{parentCallback:P,data:{newData:y,columns:O,columnstype:"antd",action:!1,Loading:C,error:p,rowSelection:U}})})})]}),e.jsx("div",{style:{position:"absolute",left:-1e4,top:0},children:e.jsx("div",{ref:k,children:e.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:16,padding:24},children:(Array.isArray(l)?l:[]).map(M=>e.jsxs("div",{style:{border:"1px solid #ddd",padding:12},children:[e.jsx("div",{style:{marginBottom:6,fontSize:12},children:M?.name??""}),e.jsx(yo,{value:String(M?.barcode??M?.id??""),height:50,width:1.6,displayValue:!0})]},M?.id??M?.barcode??M?.name))})})})]})}const lh=({token:t})=>e.jsx(oh,{token:t}),dh=Je.report.stock,ch=Je.product.dropdown,uh=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:[]};function ph({token:t}){const a=i.useRef(null),[s,r]=i.useState(null),[o,l]=i.useState(""),{data:d}=H(t?[ch,t]:null,([b,h])=>K(b,h)),c=i.useMemo(()=>uh(d),[d]),{trigger:g,isMutating:f,data:u}=st(dh,(b,{arg:h})=>nr(b,{arg:h},t));i.useEffect(()=>{const h=new Date().toISOString().slice(0,10);g({duration:[h,h]})},[g]);const m=i.useMemo(()=>{const b=u?.data??u??[];return(Array.isArray(b)?b:[]).flatMap(x=>(Array.isArray(x?.ledger)?x.ledger:[]).map((T,R)=>({key:`${x.product_id??x.product_name??"p"}-${R}`,date:T?.date,product:x?.product_name,opening:T?.opening,inward:T?.inward,outward:T?.outward,closing:T?.closing})))},[u]),w=[{title:"Date",dataIndex:"date",key:"date"},{title:"Product",dataIndex:"product",key:"product"},{title:"Opening",dataIndex:"opening",key:"opening"},{title:"Inward",dataIndex:"inward",key:"inward"},{title:"Outward",dataIndex:"outward",key:"outward"},{title:"Closing",dataIndex:"closing",key:"closing",render:b=>e.jsx("span",{style:{color:Number(b)<0?"red":"green"},children:b})}],v=async()=>{if(!s||s.length!==2)return;const[b,h]=s;await g({duration:[b.format("YYYY-MM-DD"),h.format("YYYY-MM-DD")],product_id:o||""})};return e.jsxs(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Stock Report"}),style:{borderRadius:16},children:[e.jsxs("div",{style:{display:"flex",gap:12,alignItems:"center",marginBottom:16,flexWrap:"wrap"},children:[e.jsx(n.DatePicker.RangePicker,{value:s,onChange:r}),e.jsxs("select",{value:o,onChange:b=>l(b.target.value),style:{height:32,borderRadius:6,border:"1px solid #d9d9d9",padding:"0 8px"},children:[e.jsx("option",{value:"",children:"All Products"}),c.map(b=>e.jsx("option",{value:String(b?.value??""),children:String(b?.label??"")},String(b?.value??b?.id??b?.label)))]}),e.jsx(n.Button,{type:"primary",onClick:v,loading:f,children:"Search"}),e.jsx("div",{style:{marginLeft:"auto"},children:e.jsx(Ct,{data:{tableRef:a}})})]}),e.jsxs("div",{ref:a,children:[e.jsx("div",{className:"print-only",children:e.jsx(It,{})}),e.jsx(n.Table,{bordered:!0,size:"small",loading:f,rowKey:"key",columns:w,dataSource:m,pagination:{pageSize:50}})]})]})}const mh=({token:t})=>e.jsx(ph,{token:t}),_i=[{label:"Today",value:"Today"},{label:"Yesterday",value:"Yesterday"},{label:"This Week",value:"This Week"},{label:"This Month",value:"This Month"},{label:"Last Month",value:"Last Month"},{label:"This Year",value:"This Year"},{label:"Custom",value:"Custom"}],Mt={total_packages:124,total_downloads:45892,active_packages:118,deprecated_packages:6,pending_approval:3,published_this_month:12,published_this_week:4,packages_needing_update:8,packages_with_issues:2},Ci=[{npm_id:"NPM-001",package_name:"@ubk/erp-core",version:"1.2.1",description:"Core ERP utilities and shared types",author:"UBK Infotech",repository:"https://github.com/ubk/erp-core",license:"MIT",status:"published",created_at:"2024-01-15",updated_at:"2025-06-20"},{npm_id:"NPM-002",package_name:"@ubk/erp-components",version:"2.0.0",description:"Reusable Ant Design ERP component library",author:"UBK Infotech",repository:"https://github.com/ubk/erp-components",license:"ISC",status:"published",created_at:"2024-03-10",updated_at:"2025-08-01"},{npm_id:"NPM-003",package_name:"@ubk/erp-api-client",version:"0.9.5",description:"Axios-based API client for UBK ERP backends",author:"UBK Infotech",repository:"https://github.com/ubk/erp-api-client",license:"MIT",status:"draft",created_at:"2025-05-22",updated_at:"2025-07-14"},{npm_id:"NPM-004",package_name:"@ubk/erp-hooks",version:"1.1.0",description:"Custom React hooks for ERP workflows",author:"UBK Infotech",repository:"https://github.com/ubk/erp-hooks",license:"MIT",status:"published",created_at:"2024-08-05",updated_at:"2025-04-30"},{npm_id:"NPM-005",package_name:"@ubk/erp-utils",version:"3.2.1",description:"Utility functions for date, currency, and validation",author:"UBK Infotech",repository:"https://github.com/ubk/erp-utils",license:"ISC",status:"deprecated",created_at:"2023-11-20",updated_at:"2025-02-10"}],Ai=[{key:"dashboard",label:"Dashboard"},{key:"allPackages",label:"All Packages"},{key:"published",label:"Published"},{key:"draft",label:"Draft"},{key:"deprecated",label:"Deprecated"},{key:"pendingApproval",label:"Pending Approval"}];function hh(){const[t,a]=i.useState("dashboard"),[s,r]=i.useState("This Month"),[o,l]=i.useState(""),[d,c]=i.useState(""),[g,f]=i.useState(1),[u,m]=i.useState(10),[w,v]=i.useState(""),b=i.useRef(null),h=["dashboard","allPackages","published","draft","deprecated","pendingApproval"].includes(t),x=i.useMemo(()=>{if(!w.trim())return Ci;const C=w.toLowerCase();return Ci.filter(p=>Object.values(p).some(y=>String(y??"").toLowerCase().includes(C)))},[w]),T=i.useMemo(()=>{const C=(g-1)*u;return x.slice(C,C+u)},[x,g,u]),R=()=>{f(1)},k=()=>{const C=[{title:"Total Packages",value:Mt.total_packages,icon:e.jsx(ee.FileTextOutlined,{}),color:"#1976d2"},{title:"Total Downloads",value:Mt.total_downloads.toLocaleString(),icon:e.jsx(ee.StarOutlined,{}),color:"#2e7d32"},{title:"Active Packages",value:Mt.active_packages,icon:e.jsx(ee.CheckCircleOutlined,{}),color:"#0288d1"},{title:"Deprecated",value:Mt.deprecated_packages,icon:e.jsx(ee.CloseCircleOutlined,{}),color:"#d32f2f"},{title:"Pending Approval",value:Mt.pending_approval,icon:e.jsx(ee.ClockCircleOutlined,{}),color:"#ed6c02"},{title:"Published This Month",value:Mt.published_this_month,icon:e.jsx(ee.CalendarOutlined,{}),color:"#9c27b0"},{title:"Published This Week",value:Mt.published_this_week,icon:e.jsx(ee.SyncOutlined,{}),color:"#455a64"},{title:"Needs Update",value:Mt.packages_needing_update,icon:e.jsx(ee.CodeOutlined,{}),color:"#c62828"},{title:"With Issues",value:Mt.packages_with_issues,icon:e.jsx(ee.CloseCircleOutlined,{}),color:"#f57c00"}];return e.jsx(n.Row,{gutter:[16,16],children:C.map((p,y)=>e.jsx(n.Col,{xs:24,sm:12,md:8,lg:6,children:e.jsxs(n.Card,{style:{display:"flex",alignItems:"center",padding:16,borderLeft:`6px solid ${p.color}`,transition:"0.2s",cursor:"default"},bodyStyle:{display:"flex",alignItems:"center",width:"100%"},children:[e.jsx(j,{style:{width:48,height:48,borderRadius:"50%",backgroundColor:`${p.color}15`,color:p.color,display:"flex",alignItems:"center",justifyContent:"center",fontSize:22,marginRight:16,flexShrink:0},children:p.icon}),e.jsxs(j,{children:[e.jsx(n.Typography.Text,{type:"secondary",style:{fontSize:12,fontWeight:500},children:p.title}),e.jsx("div",{style:{fontSize:22,fontWeight:700,marginTop:4},children:p.value})]})]})},y))})},D=()=>{const C=[{title:"NPM ID",dataIndex:"npm_id",key:"npm_id",width:100},{title:"Package Name",dataIndex:"package_name",key:"package_name",ellipsis:!0},{title:"Version",dataIndex:"version",key:"version",width:100},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0,responsive:["md"]},{title:"Author",dataIndex:"author",key:"author",width:140,responsive:["lg"]},{title:"License",dataIndex:"license",key:"license",width:100},{title:"Status",dataIndex:"status",key:"status",width:120,render:p=>{let y="default";return p==="published"?y="green":p==="draft"?y="orange":p==="deprecated"?y="red":p==="pending"&&(y="blue"),e.jsx(n.Tag,{color:y,children:p.toUpperCase()})}},{title:"Created Date",dataIndex:"created_at",key:"created_at",width:120,responsive:["lg"]},{title:"Updated Date",dataIndex:"updated_at",key:"updated_at",width:120,responsive:["lg"]},{title:"Actions",key:"action",width:120,fixed:"right",render:(p,y)=>e.jsx("a",{style:{color:"#5080f8",cursor:"pointer",fontSize:13},children:"View"})}];return t==="dashboard"?[]:C};return e.jsx(j,{pt:5,pb:1,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"NPM Package Report"})}),e.jsxs(j,{p:3,children:[e.jsxs(n.Row,{gutter:[16,16],mb:3,children:[h&&e.jsxs(e.Fragment,{children:[e.jsx(n.Col,{xs:24,md:6,children:e.jsx(Q,{options:_i,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Date Range",allowSelectAll:!1,value:_i.find(C=>C.value===s)||null,onChange:C=>r(C?.value||"This Month")})}),s==="Custom"&&e.jsxs(e.Fragment,{children:[e.jsx(n.Col,{xs:24,md:6,children:e.jsx(Ue,{Desplay:"From Date",format:"YYYY-MM-DD",onChange:C=>l(C?C.format("YYYY-MM-DD"):"")})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(Ue,{Desplay:"To Date",format:"YYYY-MM-DD",onChange:C=>c(C?C.format("YYYY-MM-DD"):"")})})]})]}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{display:"flex",alignItems:"center",height:"100%",mt:t==="dashboard"?0:2,children:e.jsx(ne,{type:"button",value:"Search",color:"primary",onClick:R})})})]}),e.jsx(n.Tabs,{activeKey:t,onChange:a,items:Ai})]})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(n.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:Ai.find(C=>C.key===t)?.label||"Report"})}),e.jsxs(j,{p:3,children:[t!=="dashboard"&&e.jsx(Ct,{data:{tableRef:b}}),t==="dashboard"?k():e.jsx(n.Table,{size:"small",dataSource:T,columns:D(),loading:!1,pagination:!1,bordered:!0,rowKey:C=>C.npm_id||C.package_name||Math.random(),ref:b}),t!=="dashboard"&&x.length>0&&e.jsx(n.Pagination,{current:g,pageSize:u,total:x.length,onChange:(C,p)=>{f(C),m(p)},showSizeChanger:!0,showQuickJumper:!0,pageSizeOptions:[10,20,50,100],style:{marginTop:16,textAlign:"right"}})]})]})})]})})}const is=t=>t??localStorage.getItem("authToken")??"",lr=(t,a)=>{const s=String(t??""),r=String(a??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},Oe={upload:"api/branchapi/frontoffice/uploadfrontofficeDocument",roleDropdown:"api/Branch/getRoledropdownforBranch",staff:{list:"api/branchapi/staff/staffsearchbyRole",searchByRole:"api/branchapi/staff/staffsearchbyRole",searchByKeywords:"api/branchapi/staff/staffsearchbyKeywords",deactivate:"api/branchapi/staff/staff_deactive",basicById:"api/branchapi/staff/getbasicdetailsbyID",experienceById:"api/branchapi/staff/getworkexperencebyID",payrollById:"api/branchapi/staff/getpayrollbyID",lastEmpNo:"api/branchapi/staff/getLastStaffEMPnumber",addBasic:"api/branchapi/staff/addstaffbasicdetails",editBasic:"api/branchapi/staff/editstaffbasicdetails",addExperience:"api/branchapi/staff/addstaffExperience",editExperience:"api/branchapi/staff/editstaffExperience",addPayroll:"api/branchapi/staff/addstaffpayroll",editPayroll:"api/branchapi/staff/editstaffpayroll",uploadProfile:"api/branchapi/staff/uploadstaffProfilepicture",uploadDocuments:"api/branchapi/staff/uploadDocuments"},master:{shift:{dropdown:"api/branchapi/generalSettings/shiftDropdown",table:"api/branchapi/generalSettings/shiftTable",add:"api/branchapi/generalSettings/shiftTable",add:"api/branchapi/generalSettings/addshift",edit:"api/branchapi/generalSettings/addshift",edit:"api/branchapi/generalSettings/editshift",remove:"api/branchapi/generalSettings/deleteshift",show:"api/branchapi/generalSettings/shiftShowdata"},department:{dropdown:"api/branchapi/humanResource/departmentDropdown",table:"api/branchapi/humanResource/departmenttypeTable",add:"api/branchapi/humanResource/adddepartment",edit:"api/branchapi/humanResource/editdepartment",remove:"api/branchapi/humanResource/deletedepartment",show:"api/branchapi/humanResource/departmentShowdata"},designation:{dropdown:"api/branchapi/humanResource/designationDropdown",table:"api/branchapi/humanResource/designationTable",add:"api/branchapi/humanResource/adddesignation",edit:"api/branchapi/humanResource/editdesignation",remove:"api/branchapi/humanResource/deletedesignation",show:"api/branchapi/humanResource/designationShowdata"},leaveType:{dropdown:"api/branchapi/humanResource/leavetypeDropdown",table:"api/branchapi/humanResource/LeavetypeTable",add:"api/branchapi/humanResource/addleavetype",edit:"api/branchapi/humanResource/editleavetype",remove:"api/branchapi/humanResource/deleteleavetype",show:"api/branchapi/humanResource/leavetypeShowdata"}},leave:{table:"api/branchapi/humanResource/LeaveTable",apply:"api/branchapi/humanResource/applyLeave",requestTable:"api/branchapi/humanResource/leaverequestTable",approveRequest:"api/branchapi/humanResource/approveleaveRequest"},attendance:{staffListForAttendance:"api/staff/attendence/stafflistforAttendence",staffDropdownByRole:"api/staff/attendence/getStaffDropDownByRoleId",addAttendanceToStaffByBranch:"api/staff/attendence/addattendencetoStaffbyBranch",manualAttendance:"api/staff/attendence/staffMenualAttendance",staffShiftByStaffId:"api/branchapi/staff/getStaffShiftByStaffId",dailyAttendance:"api/staff_attendance/attendance/report/daily",dailyAttendanceMultipleShift:"api/staff/attendence/dailyAttendanceMultipleShift"},attendanceReport:{monthlyStaffReport:"api/AttendenceReport/staffmonthlyAttendenceReport_new",staffAttendanceList:"api/AttendenceReport/staffAttendanceList",overallStaffReport:"api/staff/attendence/getAlloverAttendenceReportofStaff"},payroll:{monthlyGraph:"api/branchapi/reportGraph/monthlyPayroleReportgraph",staffPayrollByStaffId:"api/branchapi/humanResource/getStaffPayroleByStaffID",generatePayslip:"api/branchapi/humanResource/generatePayslip",payrollByRole:"api/branchapi/humanResource/getpayrolebyRole",monthlyReport:"api/branchapi/humanResource/monthlyPayRolereport"}},rl=()=>lr(rt(),Oe.upload),fh=()=>lr(rt(),Oe.staff.uploadProfile),yh=()=>lr(rt(),Oe.staff.uploadDocuments),gh=async({baseUrl:t,page:a=1,perPage:s=10},r)=>{const o=t.includes("?")?"&":"?",l=`${t}${o}page=${encodeURIComponent(String(a))}&per_page=${encodeURIComponent(String(s))}`;return K(l,is(r))},kt=async(t,a,s)=>Ne(t,a,is(s)),Yt=async(t,a,s)=>We(t,a,is(s)),on=async(t,a,s)=>He(t,a,is(s)),Qt=Oe.staff,xh=Oe.master.shift.dropdown,bh=Oe.master.department.dropdown,jh=Oe.master.designation.dropdown,Sh=Oe.roleDropdown,Cn=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},vh=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"",Pa={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},Di={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function wh({token:t,mode:a,staffId:s,initialValues:r,onSubmitted:o}){const l=i.useMemo(()=>{try{return JSON.parse(localStorage.getItem("genrall_settings"))}catch{return null}},[]),d=String(l?.multiple_shift??"").toLowerCase()==="yes",[c,g]=i.useState(r?.roleValue??null),[f,u]=i.useState(r?.departmentValue??null),[m,w]=i.useState(r?.designationValue??null),[v,b]=i.useState(r?.genderValue??null),[h,x]=i.useState(r?.shiftValue??(d?[]:null)),[T,R]=i.useState(r?.dob?te(r.dob):null),[k,D]=i.useState(r?.doj?te(r.doj):null),[C,p]=i.useState(r?.file??""),{data:y}=H(t?[xh,t]:null,([Y,z])=>K(Y,z)),{data:_}=H(t?[bh,t]:null,([Y,z])=>K(Y,z)),{data:P}=H(t?[jh,t]:null,([Y,z])=>K(Y,z)),{data:U}=H(t?[Sh,t]:null,([Y,z])=>K(Y,z)),{data:B}=H(t?[Qt.lastEmpNo,t]:null,([Y,z])=>K(Y,z)),A=i.useMemo(()=>Cn(y),[y]),F=i.useMemo(()=>Cn(_),[_]),O=i.useMemo(()=>Cn(P),[P]),M=i.useMemo(()=>Cn(U),[U]),I=i.useMemo(()=>{const Y=B?.data?.emp_number??B?.emp_number??B?.data??"";return String(Y??"")},[B]),N=async Y=>{Y.preventDefault();const z=new FormData(Y.target);z.set("role",c?.value??c??""),z.set("department",f?.value??f??""),z.set("designation",m?.value??m??""),z.set("gender",v?.value??v??""),z.set("dob",T?T.format("YYYY-MM-DD"):""),z.set("doj",k?k.format("YYYY-MM-DD"):""),d?(z.delete("shift_id"),(Array.isArray(h)?h:[]).forEach(E=>{z.append("shift_id[]",E?.value??E??"")})):z.set("shift_id",h?.value??h??""),C&&z.set("file",C);try{const $=a==="edit"&&s,E=$?Qt.editBasic:Qt.addBasic;$&&z.set("staff_id",String(s));const L=$?await Yt(E,z,t):await kt(E,z,t),q=L?.ID??L?.id??s??null;S.success("Success!",{duration:1e3}),o?.({staffId:q,basic:{roleValue:c,departmentValue:f,designationValue:m,genderValue:v,shiftValue:h,dob:T,doj:k,file:C}})}catch($){S.error($?.response?.data?.msg??$?.message??"Failed.",{duration:1e3})}};return e.jsx("form",{onSubmit:N,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"number",name:"emp_number",label:"EMP No",defaultValue:r?.emp_number??I,required:!0}),e.jsx(V,{type:"text",name:"f_name",label:"First Name",defaultValue:r?.f_name??"",required:!0}),e.jsx(V,{type:"text",name:"l_name",label:"Last Name",defaultValue:r?.l_name??"",required:!0}),e.jsx(V,{type:"text",name:"pan_no",label:"PAN",defaultValue:r?.pan_no??""}),e.jsx(V,{type:"text",name:"adhar_no",label:"Aadhar",defaultValue:r?.adhar_no??""}),e.jsx(Q,{label:"Role",options:M,value:c,onChange:Y=>g(Y??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),e.jsx(Q,{label:"Department",options:F,value:f,onChange:Y=>u(Y??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),e.jsx(Q,{label:"Designation",options:O,value:m,onChange:Y=>w(Y??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),e.jsx(Q,{label:"Gender",options:[{value:"Male",label:"Male"},{value:"Female",label:"Female"},{value:"Other",label:"Other"}],value:v,onChange:Y=>b(Y??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),e.jsx(V,{type:"text",name:"email",label:"Email",defaultValue:r?.email??""}),e.jsxs("div",{children:[e.jsx("div",{style:Pa,children:"DOB"}),e.jsx(n.DatePicker,{value:T,onChange:Y=>R(Y),style:Di,placeholder:"Select DOB"})]}),e.jsxs("div",{children:[e.jsx("div",{style:Pa,children:"DOJ"}),e.jsx(n.DatePicker,{value:k,onChange:Y=>D(Y),style:Di,placeholder:"Select DOJ"})]}),e.jsx(V,{type:"text",name:"bloodGroup",label:"Blood Group",defaultValue:r?.bloodGroup??""}),e.jsx(V,{type:"text",name:"contact_no",label:"Contact No",defaultValue:r?.contact_no??"",required:!0}),e.jsx(V,{type:"text",name:"education",label:"Education",defaultValue:r?.education??""}),e.jsxs("div",{children:[e.jsx("div",{style:Pa,children:"Shift"}),e.jsx(Q,{options:A,value:h,onChange:Y=>x(Y??(d?[]:null)),isMulti:d,closeMenuOnSelect:!d,hideSelectedOptions:!1,allowSelectAll:!1,required:!0})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("div",{style:Pa,children:"Profile Picture"}),e.jsx(n.Upload,{maxCount:1,action:fh(),headers:t?{Authorization:t}:void 0,onChange:Y=>{if(Y?.file?.status==="done"){const z=vh(Y?.file?.response);z&&p(z)}Y?.file?.status==="removed"&&p("")},children:e.jsx(n.Button,{type:"link",style:{paddingLeft:0},children:C?"Change":"Upload"})})]}),e.jsxs("div",{style:{gridColumn:"1 / -1"},children:[e.jsx("div",{style:Pa,children:"Address"}),e.jsx("textarea",{name:"address",rows:3,defaultValue:r?.address??"",placeholder:"Address",style:{width:"100%",resize:"vertical",padding:10,border:"1px solid #d9d9d9",borderRadius:8,outline:"none"}})]}),e.jsx("div",{style:{gridColumn:"1 / -1",display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Save & Next",color:"primary"})})]})})}const An={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},Ti={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"},_h=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"",Ri=t=>{if(!t)return null;const a=te(t);return a.isValid()?a:null};function Ch({token:t,mode:a,staffId:s,initialRows:r,onSubmitted:o,onBack:l}){const[d,c]=i.useState(()=>(Array.isArray(r)&&r.length?r:[{name:"",from:null,to:null,image:""}]).map(b=>({name:b?.name??"",from:Ri(b?.from),to:Ri(b?.to),image:b?.image??""}))),g=i.useMemo(()=>t?{Authorization:t}:void 0,[t]),f=(v,b)=>{c(h=>h.map((x,T)=>T===v?{...x,...b}:x))},u=()=>c(v=>[...v,{name:"",from:null,to:null,image:""}]),m=v=>c(b=>b.length<=1?b:b.filter((h,x)=>x!==v)),w=async v=>{if(v.preventDefault(),!s){S.error("Missing staff id.",{duration:1e3});return}const b=new FormData;b.append("staff_id",String(s)),d.forEach((h,x)=>{b.append(`experience[${x}][name]`,String(h?.name??"")),b.append(`experience[${x}][from]`,h?.from?h.from.format("YYYY-MM-DD"):""),b.append(`experience[${x}][to]`,h?.to?h.to.format("YYYY-MM-DD"):""),b.append(`experience[${x}][image]`,String(h?.image??""))});try{const h=a==="edit",x=h?Qt.editExperience:Qt.addExperience,T=h?await Yt(x,b,t):await kt(x,b,t);S.success("Success!",{duration:1e3}),o?.({experience:d,result:T})}catch(h){S.error(h?.response?.data?.msg??h?.message??"Failed.",{duration:1e3})}};return e.jsx("form",{onSubmit:w,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[d.map((v,b)=>e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16,alignItems:"end",border:"1px solid #eee",borderRadius:12,padding:14},children:[e.jsxs("div",{children:[e.jsx("div",{style:An,children:"Name"}),e.jsx("input",{value:v.name,onChange:h=>f(b,{name:h.target.value}),placeholder:"Company / School",style:{width:"100%",height:40,border:"none",borderBottom:"1px solid #d9d9d9",outline:"none",background:"transparent"}})]}),e.jsxs("div",{children:[e.jsx("div",{style:An,children:"From"}),e.jsx(n.DatePicker,{value:v.from,onChange:h=>f(b,{from:h}),style:Ti})]}),e.jsxs("div",{children:[e.jsx("div",{style:An,children:"To"}),e.jsx(n.DatePicker,{value:v.to,onChange:h=>f(b,{to:h}),style:Ti})]}),e.jsxs("div",{children:[e.jsx("div",{style:An,children:"Document"}),e.jsx(n.Upload,{maxCount:1,action:yh(),headers:g,onChange:h=>{if(h?.file?.status==="done"){const x=_h(h?.file?.response);x&&f(b,{image:x})}h?.file?.status==="removed"&&f(b,{image:""})},children:e.jsx(n.Button,{icon:e.jsx(ee.UploadOutlined,{}),children:"Upload"})}),!!v.image&&e.jsx("div",{style:{fontSize:12,color:"#666",marginTop:6},children:v.image})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:e.jsx(n.Button,{type:"text",icon:e.jsx(ee.DeleteOutlined,{}),danger:!0,onClick:()=>m(b),disabled:d.length<=1})})]},`exp-${b}`)),e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",gap:12},children:[e.jsx(n.Button,{icon:e.jsx(ee.PlusOutlined,{}),onClick:u,children:"Add Experience"}),e.jsxs("div",{style:{display:"flex",gap:12},children:[e.jsx(n.Button,{onClick:l,children:"Back"}),e.jsx(ne,{type:"submit",value:"Save & Next",color:"primary"})]})]})]})})}const Ii=(t,a=[])=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){const s=a.length?a:["allowances","Allowances","dedection","Dedection","deductions","Deductions"],r=[t];t?.data&&typeof t.data=="object"&&r.push(t.data);for(const l of r)for(const d of s){const c=l?.[d]??l?.[d.toLowerCase()]??l?.[d.toUpperCase()];if(Array.isArray(c)&&c.length>0)return c}const o=t?.data;if(Array.isArray(o)&&o.length>0)return o}return[]},Oa=[{label:"Per Hour",value:"Hourly"},{label:"Per Lecture",value:"lecture_wise"}];function Ah({token:t,mode:a,staffId:s,initialValues:r,onSubmitted:o,onBack:l}){const[d,c]=i.useState(r?.type??"Permanent"),[g,f]=i.useState(r?.salary_type??Oa[0]?.value),[u,m]=i.useState(Number(r?.amount??0)),[w,v]=i.useState(Number(r?.basic_pay)),[b,h]=i.useState(r?.declarationPERyear??""),{data:x}=H(t?[gc,t]:null,([p,y])=>K(p,y),{revalidateOnFocus:!1}),T=i.useMemo(()=>Ii(x,["allowances","Allowances"]),[x]),R=i.useMemo(()=>Ii(x,["dedection","Dedection","deductions","Deductions"]),[x]),k=i.useMemo(()=>{const p=Number(w||0),y=(Array.isArray(T)?T:[]).map(A=>{const F=A?.amount_type??A?.amountType??A?.type??"",O=Number(A?.Amount??A?.amount??0),I=String(F).trim().toLowerCase()==="flat"?O:Number(p)/100*Number(O||0);return{...A,value:Number.isFinite(I)?I:0}}),_=(Array.isArray(R)?R:[]).map(A=>{const F=A?.amount_type??A?.amountType??A?.type??"",O=Number(A?.Amount??A?.amount??0),I=String(F).trim().toLowerCase()==="flat"?O:Number(p)/100*Number(O||0);return{...A,value:Number.isFinite(I)?I:0}}),P=y.reduce((A,F)=>A+Number(F?.value||0),0),U=_.reduce((A,F)=>A+Number(F?.value||0),0),B=Math.max(0,Number(p)+P-U);return{allowances:y,deductions:_,netAmount:B}},[T,R,w]),D=async p=>{if(p.preventDefault(),!s){S.error("Missing staff id.",{duration:1e3});return}const y=new FormData;y.append("staff_id",String(s)),y.append("type",d),d==="Nonpermanent"?(y.append("salary_type",g??""),y.append("amount",String(u||"")),y.append("Allowances",JSON.stringify([])),y.append("Dedection",JSON.stringify([]))):(y.append("basic_pay",String(w||"")),y.append("declarationPERyear",String(b??"")),y.append("Allowances",JSON.stringify(k.allowances||[])),y.append("Dedection",JSON.stringify(k.deductions||[])),y.append("amount",String(k.netAmount||0)));try{const _=a==="edit",P=_?Qt.editPayroll:Qt.addPayroll,U=_?await Yt(P,y,t):await kt(P,y,t);o?.({payroll:{staffType:d,salaryType:g,amount:u,basicPay:w,declaration:b},result:U})}catch(_){S.error(_?.response?.data?.msg??_?.message??"Failed.",{duration:1e3})}},C=i.useMemo(()=>[{title:"Title",dataIndex:"title",key:"title",ellipsis:!0},{title:"Amount",key:"amount",width:160,render:(p,y)=>`${y?.Amount??""} / ${y?.amount_type??""}`},{title:"Value",dataIndex:"value",key:"value",width:120}],[]);return e.jsx("form",{onSubmit:D,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Q,{label:"Employment Type",options:[{label:"Permanent",value:"Permanent"},{label:"Non Permanent",value:"Nonpermanent"}],value:{label:d==="Nonpermanent"?"Non Permanent":"Permanent",value:d},onChange:p=>c(p?.value??"Permanent"),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),d==="Nonpermanent"?e.jsxs(e.Fragment,{children:[e.jsx(Q,{label:"Type",options:Oa,value:Oa.find(p=>p.value===g)??Oa[0],onChange:p=>f(p?.value??Oa[0]?.value),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),e.jsx(V,{type:"number",label:"Amount",value:u,onChange:p=>m(Number(p.target.value||0)),required:!0})]}):e.jsxs(e.Fragment,{children:[e.jsx(V,{type:"number",label:"Basic Pay",value:w,onChange:p=>v(Number(p.target.value||0)),required:!0}),e.jsx(V,{type:"text",label:"IT Declarations/Year",value:b,onChange:p=>h(p.target.value)}),e.jsx(V,{type:"number",label:"Net Amount",value:k.netAmount,disabled:!0})]})]}),d==="Permanent"&&e.jsxs(e.Fragment,{children:[e.jsx(n.Card,{size:"small",title:e.jsx("div",{style:{fontWeight:600},children:"Allowances"}),children:e.jsx(n.Table,{bordered:!0,size:"small",rowKey:(p,y)=>`${p?.title??"a"}-${y}`,columns:C,dataSource:k.allowances,pagination:!1})}),e.jsx(n.Card,{size:"small",title:e.jsx("div",{style:{fontWeight:600},children:"Deductions"}),children:e.jsx(n.Table,{bordered:!0,size:"small",rowKey:(p,y)=>`${p?.title??"d"}-${y}`,columns:C,dataSource:k.deductions,pagination:!1})})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end",gap:12},children:e.jsx(ne,{type:"submit",value:"Finish",color:"primary"})})]})})}const Dh=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]};function Th({token:t,mode:a="add",staffId:s,onFinished:r}){const[o,l]=i.useState(0),[d,c]=i.useState(s??null),[g,f]=i.useState(null),[u,m]=i.useState(null),[w,v]=i.useState(null),b=a==="edit"?s??d:null,h=i.useMemo(()=>b?`${Oe.staff.basicById}?staff_id=${encodeURIComponent(String(b))}`:null,[b]),x=i.useMemo(()=>b?`${Oe.staff.experienceById}?staff_id=${encodeURIComponent(String(b))}`:null,[b]),T=i.useMemo(()=>b?`${Oe.staff.payrollById}?staff_id=${encodeURIComponent(String(b))}`:null,[b]),{data:R}=H(t&&h?[h,t]:null,([P,U])=>K(P,U)),{data:k}=H(t&&x?[x,t]:null,([P,U])=>K(P,U)),{data:D}=H(t&&T?[T,t]:null,([P,U])=>K(P,U)),C=i.useMemo(()=>{const P=Dh(R)[0]??R?.data??R??null;return P?{emp_number:P?.emp_number??P?.empNo??"",f_name:P?.f_name??P?.firstname??P?.first_name??"",l_name:P?.l_name??P?.lastname??P?.last_name??"",pan_no:P?.pan_no??"",adhar_no:P?.adhar_no??"",email:P?.email??"",dob:P?.dob??"",doj:P?.doj??"",bloodGroup:P?.bloodGroup??P?.blood_group??"",contact_no:P?.contact_no??P?.phone??"",education:P?.education??"",address:P?.address??"",file:P?.file??P?.profile_picture??""}:null},[R]),p=i.useMemo(()=>{const P=k?.data??k??null;return(Array.isArray(P?.experience)?P.experience:Array.isArray(P)?P:[]).map(B=>({name:B?.name??"",from:B?.from??"",to:B?.to??"",image:B?.image??""}))},[k]),y=i.useMemo(()=>{const P=D?.data??D??null;return P?{type:P?.type??"Permanent",salary_type:P?.salary_type??"",amount:P?.amount??"",basic_pay:P?.basic_pay??"",declarationPERyear:P?.declarationPERyear??""}:null},[D]),_=i.useMemo(()=>[{title:"Basic"},{title:"Experience"},{title:"Payroll"}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:a==="edit"?"Edit Staff":"Add Staff"}),children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(n.Steps,{current:o,items:_}),o===0&&e.jsx(wh,{token:t,mode:a,staffId:b,initialValues:C,onSubmitted:({staffId:P})=>{P&&c(P),l(1)}}),o===1&&e.jsx(Ch,{token:t,mode:a,staffId:b??d,initialRows:p,onBack:()=>l(0),onSubmitted:()=>l(2)}),o===2&&e.jsx(Ah,{token:t,mode:a,staffId:b??d,initialValues:y,onBack:()=>l(1),onSubmitted:()=>{S.success("Completed.",{duration:1e3}),r?.({staffId:b??d}),l(0),a!=="edit"&&(c(null),f(null),m(null),v(null))}})]})})]})}function Rh({token:t}){return e.jsx(Th,{token:t,mode:"add"})}const Ih=({token:t})=>e.jsx(Rh,{token:t}),Dn=Oe.staff,kh=Oe.roleDropdown,Ph=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},Oh=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]};function Mh({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState(""),[l,d]=i.useState(""),{data:c}=H(t?[kh,t]:null,([T,R])=>K(T,R)),g=i.useMemo(()=>Ph(c),[c]),f=i.useMemo(()=>{const T=a.page,R=a.rowsPerPage,k=r&&!l?`${Dn.searchByRole}?role_id=${encodeURIComponent(String(r))}`:l?`${Dn.searchByKeywords}?key=${encodeURIComponent(String(l))}`:Dn.list,D=k.includes("?")?"&":"?";return`${k}${D}page=${encodeURIComponent(String(T))}&per_page=${encodeURIComponent(String(R))}`},[a.page,a.rowsPerPage,l,r]),{isLoading:u,error:m,data:w,mutate:v}=H(t?[f,t]:null,([T,R])=>K(T,R)),b=i.useMemo(()=>Oh(w),[w]),h=async T=>{const R=T?.id??T?.fk_staffID??T?.staff_id;if(R)try{await on(Dn.deactivate,R,t),S.success("Success! Staff deactivated.",{duration:1e3}),await v()}catch(k){S.error(k?.response?.data?.msg??k?.message??"Failed to deactivate staff.",{duration:1e3})}},x=i.useMemo(()=>[{title:"Emp ID",dataIndex:"employee_id",key:"employee_id",width:120,responsive:["lg"]},{title:"Name",key:"name",ellipsis:!0,render:(T,R)=>`${R?.name||""} ${R?.surname||""}`.trim()},{title:"Role",dataIndex:"role",key:"role",ellipsis:!0,responsive:["md"]},{title:"Department",dataIndex:"department",key:"department",ellipsis:!0,responsive:["md"]},{title:"Phone",dataIndex:"contact_no",key:"contact_no",ellipsis:!0,responsive:["md"]},{title:"Status",dataIndex:"status",key:"status",width:120,responsive:["lg"]},{title:"Action",key:"action",width:90,fixed:"right",render:(T,R)=>e.jsx(n.Button,{type:"text",danger:!0,size:"small",icon:e.jsx(ee.DeleteOutlined,{}),onClick:()=>h(R),style:{padding:2}})}],[t]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs("div",{style:{gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:20,alignItems:"start"},children:[e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:2,style:{margin:0},children:"Filters"}),children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Q,{options:[{value:"",label:"All Roles"},...g],closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Role",placeholder:"Role",allowSelectAll:!1,onChange:T=>{o(T?.value??""),s(R=>({...R,page:1}))}}),e.jsx(V,{type:"text",label:"Keyword",value:l,onChange:T=>d(T.target.value),placeholder:"Search by keywords"}),e.jsx(ne,{type:"button",value:"Refresh",onClick:()=>v()})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:8,style:{margin:0},children:"Staff Directory"}),children:e.jsx(n.Table,{bordered:!0,size:"small",loading:u,rowKey:T=>String(T?.id??T?.fk_staffID??T?.staff_id??Math.random()),columns:x,dataSource:b,pagination:{current:a.page,pageSize:a.rowsPerPage,onChange:(T,R)=>s({page:T,rowsPerPage:R}),showSizeChanger:!0},scroll:{x:"max-content"}})})]})]})}const Eh=({token:t})=>e.jsx(Mh,{token:t}),Fh=Oe.attendance,$h=Oe.roleDropdown,ki=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},Tn={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},Pi={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function Uh({token:t,open:a,onClose:s,roleId:r,onSaved:o}){const[l,d]=i.useState(null),[c,g]=i.useState(""),[f,u]=i.useState(te()),[m,w]=i.useState(te()),[v,b]=i.useState(te()),h=i.useMemo(()=>r?`${Oe.attendance.staffDropdownByRole}?role_id=${encodeURIComponent(String(r))}`:null,[r]),{data:x}=H(t&&h?[h,t]:null,([p,y])=>K(p,y)),T=i.useMemo(()=>ki(x),[x]),{trigger:R,data:k}=st(t?Oe.attendance.staffShiftByStaffId:null,(p,{arg:y})=>Jt(p,{arg:y},t)),D=i.useMemo(()=>ki(k),[k]),C=async()=>{if(!l?.value){S.error("Select staff.",{duration:1e3});return}if(!c){S.error("Select shift.",{duration:1e3});return}const p=new FormData;p.set("staffID",String(l.value)),p.set("shift_id",String(c)),p.set("attendance_date",f?f.format("YYYY-MM-DD"):""),p.set("intime",m?m.format("h:mm a"):""),p.set("outime",v?v.format("h:mm a"):"");try{await kt(Oe.attendance.manualAttendance,p,t),S.success("Success!",{duration:1e3}),o?.(),s?.(),d(null),g(""),u(te()),w(te()),b(te())}catch(y){S.error(y?.response?.data?.msg??y?.message??"Failed.",{duration:1e3})}};return e.jsx(n.Modal,{open:a,onCancel:s,footer:null,destroyOnClose:!0,title:"Attendance",width:620,children:e.jsx(n.Card,{children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(Q,{label:"Staff",options:T,value:l,onChange:async p=>{if(d(p??null),g(""),p?.value&&R)try{await R({staff_id:p.value})}catch{}},closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),e.jsxs("div",{children:[e.jsx("div",{style:Tn,children:"Shift"}),e.jsx(n.Radio.Group,{value:c,onChange:p=>g(p.target.value),style:{display:"grid",gap:8},children:D.map(p=>e.jsx(n.Radio,{value:p?.value,children:p?.label??p?.name??p?.title??String(p?.value??"")},String(p?.value)))})]}),e.jsxs("div",{children:[e.jsx("div",{style:Tn,children:"Date"}),e.jsx(n.DatePicker,{value:f,onChange:p=>p&&u(p),style:{width:"100%"}})]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:16},children:[e.jsxs("div",{children:[e.jsx("div",{style:Tn,children:"Start Time"}),e.jsx(n.TimePicker,{value:m,onChange:p=>p&&w(p),use12Hours:!0,format:"h:mm a",style:Pi})]}),e.jsxs("div",{children:[e.jsx("div",{style:Tn,children:"End Time"}),e.jsx(n.TimePicker,{value:v,onChange:p=>p&&b(p),use12Hours:!0,format:"h:mm a",style:Pi})]})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:12},children:[e.jsx(n.Button,{onClick:s,children:"Cancel"}),e.jsx(ne,{type:"button",value:"Save",color:"primary",onClick:C})]})]})})})}const Nh=({tableRef:t,excelDisabled:a})=>{const s=new Date().getTime(),r=Zt.useReactToPrint({content:()=>t?.current});return e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsxs(n.Row,{gutter:8,children:[e.jsx(n.Col,{children:e.jsx(n.Button,{type:"text",icon:e.jsx(ee.PrinterOutlined,{style:{color:"#5080f8"}}),onClick:r})}),e.jsx(n.Col,{children:a?e.jsx(n.Button,{type:"text",icon:e.jsx(ee.FileTextOutlined,{style:{color:"gray"}}),onClick:()=>S.error("You must save attendance before download",{duration:2e3})}):e.jsx(el.DownloadTableExcel,{filename:s,sheet:"users",currentTableRef:t?.current,children:e.jsx(n.Button,{type:"text",icon:e.jsx(ee.FileTextOutlined,{style:{color:"#5080f8"}})})})})]})})})},Lh=(t,a)=>{const s=t?.data?.data??t?.data??t??null;return s?a==="student"?Array.isArray(s?.student)?s.student:[]:Array.isArray(s?.staff)?s.staff:[]:[]},Bh=t=>{const a=t?.pagination?.total_rows??t?.data?.pagination?.total_rows??t?.total??t?.total_rows,s=Number(a);return Number.isFinite(s)&&s>=0?s:0},qh=(t,a)=>{const s=t?.data?.data??t?.data??t??null;return s?a==="student"?{sunday:String(s?.sunday??"").toLowerCase()==="yes",holiday:String(s?.holiday??"").toLowerCase()==="yes"}:{sunday:!!s?.sunday,holiday:!!s?.holiday}:{sunday:!1,holiday:!1}};function zh({token:t,url:a,columns:s,reload:r,setReload:o,saveBtnRef:l,setSaveBtnDisabled:d,date:c,type:g="staff"}){const f=i.useRef(null),[u,m]=i.useState({page:0,rowsPerPage:10}),[w,v]=i.useState(!1),[b,h]=i.useState(!1),[x,T]=i.useState(null),[R,k]=i.useState([]),[D,C]=i.useState({sunday:!1,holiday:!1}),[p,y]=i.useState(!0);i.useEffect(()=>{m(B=>({...B,page:0}))},[a]),i.useEffect(()=>{let B=!0;return(async()=>{if(!(!t||!a)){v(!0);try{const F=String(a).includes("?")?"&":"?",O=`${a}${F}page=${u.page+1}&per_page=${u.rowsPerPage}`,M=await K(O,t);if(!B)return;T(M),M?.Status==="Success"?(d?.(!1),k(Lh(M,g)),C(qh(M,g))):(d?.(!0),k([]),C({sunday:!1,holiday:!1}))}catch{if(!B)return;d?.(!0),k([])}finally{B&&v(!1)}}})(),()=>{B=!1}},[u.page,u.rowsPerPage,r,d,t,g,a]);const _=i.useMemo(()=>Bh(x),[x]);i.useEffect(()=>{const B=(Array.isArray(R)?R:[]).find(A=>A?.attendence_type_id===null);y(!!B)},[R]);const P=async()=>{if(t){h(!0);try{if(g==="staff"){const B=(Array.isArray(R)?R:[]).map(A=>({staff_id:A?.staff_id,attendence_type_id:A?.attendence_type_id?A.attendence_type_id:"1",in_time:A?.intime,out_time:A?.outtime,date:c}));await kt(Oe.attendance.addAttendanceToStaffByBranch,B,t),S.success("Attendance saved successfully",{duration:2e3}),o?.(A=>!A)}else S.error("Student attendance save is not migrated yet.",{duration:2e3})}catch(B){S.error(B?.response?.data?.msg??B?.message??"Failed required dates",{duration:2e3})}finally{h(!1)}}},U=i.useMemo(()=>(Array.isArray(s)?s:[]).map(A=>A?.selector==="attendence_type_id"?{title:A?.name??"Attendance",dataIndex:A.selector,key:A.selector,render:F=>F==null||F===""?e.jsx(n.Tag,{color:"orange",children:"Not Set"}):String(F)==="1"?e.jsx(n.Tag,{color:"green",children:"Present"}):String(F)==="4"?e.jsx(n.Tag,{color:"red",children:"Absent"}):String(F)==="3"?e.jsx(n.Tag,{color:"orange",children:"Late"}):e.jsx(n.Tag,{children:String(F)})}:A?.selector==="snum"?{title:A?.name??"Sl",key:A.selector,render:(F,O,M)=>M+1}:{title:A?.name??A?.selector,dataIndex:A?.selector,key:A?.selector}),[s]);return e.jsxs("div",{style:{width:"100%"},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs(n.Card,{children:[e.jsx(Nh,{tableRef:f,excelDisabled:p}),e.jsx(n.Modal,{open:b,footer:null,closable:!1,centered:!0,children:e.jsxs("div",{style:{display:"grid",placeItems:"center",gap:12,padding:12},children:[e.jsx(n.Spin,{size:"large"}),e.jsx("div",{children:"Please wait..."})]})}),D.sunday?e.jsx("div",{style:{textAlign:"center",fontWeight:600,padding:"16px 0"},children:"Weekly Off"}):D.holiday?e.jsx("div",{style:{textAlign:"center",padding:"16px 0"},children:e.jsx("div",{style:{fontWeight:700,marginBottom:6},children:"Holiday"})}):e.jsxs(e.Fragment,{children:[e.jsx("div",{ref:f,children:e.jsx(n.Table,{bordered:!0,size:"small",rowKey:(B,A)=>String(B?.id??B?.staff_id??A),columns:U,dataSource:R,loading:w,pagination:{current:u.page+1,pageSize:u.rowsPerPage,total:_,showSizeChanger:!0,onChange:(B,A)=>m({page:B-1,rowsPerPage:A})},scroll:{x:"max-content"}})}),e.jsx("button",{type:"button",onClick:P,ref:l,style:{display:"none"},children:"hidden"})]})]})]})}const Yh=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},Vh={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function Wh({token:t}){const[a,s]=i.useState(""),[r,o]=i.useState(te().format("YYYY-MM-DD")),[l,d]=i.useState(!1),[c,g]=i.useState(null),[f,u]=i.useState(!1),[m,w]=i.useState(!0),[v,b]=i.useState(!1),h=i.useRef(null),{data:x}=H(t?[$h,t]:null,([k,D])=>K(k,D)),T=i.useMemo(()=>Yh(x),[x]),R=i.useMemo(()=>[{id:"1",name:"Staff Id",selector:"employee_id",sortable:!0},{id:"2",name:"Name",selector:"full_name",sortable:!0},{id:"4",name:"Contact",selector:"contact_no",sortable:!0},{id:"3",name:"Attendance",selector:"attendence_type_id",sortable:!0},{id:"5",name:"In Time",selector:"intime",sortable:!0},{id:"6",name:"Out Time",selector:"outtime",sortable:!0}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Staff Attendance"}),children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Q,{options:T,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Roles",placeholder:"Roles",allowSelectAll:!1,onChange:k=>s(k?.value??""),required:!0}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Date"}),e.jsx(n.DatePicker,{defaultValue:te(),onChange:k=>k&&o(k.format("YYYY-MM-DD")),style:Vh,allowClear:!1})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"button",value:"Search",color:"primary",onClick:()=>{!a||!r||(g(`${Fh.staffListForAttendance}?role=${encodeURIComponent(String(a))}&date=${encodeURIComponent(String(r))}`),d(k=>!k))}})})]})}),e.jsxs(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Staff Attendance List"}),children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",gap:12,flexWrap:"wrap",marginBottom:12},children:[e.jsx(n.Button,{size:"small",type:f?"primary":"default",onClick:()=>u(k=>!k),children:f?"Marked":"Mark As Holiday"}),e.jsx(n.Button,{size:"small",type:"default",disabled:m,onClick:()=>b(!0),children:"Give Attendance"})]}),c?e.jsx(zh,{token:t,url:c,columns:R,reload:l,setReload:d,saveBtnRef:h,setSaveBtnDisabled:w,date:r,type:"staff",holidayChecked:f}):null]}),e.jsx(Uh,{token:t,open:v,onClose:()=>b(!1),roleId:a,onSaved:()=>d(k=>!k)})]})}const Hh=({token:t})=>e.jsx(Wh,{token:t}),Oi=Oe.attendanceReport.monthlyStaffReport,Kh=Oe.roleDropdown,Gh=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]};function Jh({token:t}){const a=i.useRef(null),[s,r]=i.useState(!1),[o,l]=i.useState([]),[d,c]=i.useState({role:"",rolllabel:"",year:"",month:""}),g=i.useMemo(()=>rr(5),[]),{data:f}=H(t?[Kh,t]:null,([B,A])=>K(B,A)),u=i.useMemo(()=>Gh(f),[f]),[m,w]=i.useState([]),[v,b]=i.useState(1),[h,x]=i.useState(!1),[T,R]=i.useState(!1),[k,D]=i.useState(null),C=i.useMemo(()=>{try{return JSON.parse(localStorage.getItem("genrall_settings"))?.session_id??"1"}catch{return"1"}},[]),{trigger:p}=st(t&&Oi?`${Oi}?page=${v}&per_page=3`:null,(B,{arg:A})=>Jt(B,{arg:A},t),{onSuccess:B=>{x(!1);const A=Array.isArray(B)?B:[];A.length>0&&w(F=>[...F||[],...A]),A.length>1?b(F=>F+1):R(!1)},onError:()=>{x(!1),R(!1)}});i.useEffect(()=>{T&&p&&k&&p(k)},[T,v,k,p]);const y=i.useMemo(()=>{const B=[{title:"Staff Id",dataIndex:"employee_id",key:"employee_id",align:"center"},{title:"Name",dataIndex:"full_name",key:"full_name",render:(A,F)=>e.jsx("span",{className:"attendanceFont",style:{cursor:"pointer",whiteSpace:"nowrap",color:"blue",textDecoration:"underline"},children:F?.full_name??""})}];return Array.isArray(m)&&m.length>0&&((m[0]?.monthly_data??[]).forEach((F,O)=>{B.push({title:O+1,align:"center",key:String(O+1),render:(M,I)=>{const N=I?.monthly_data?.[O]?.[0]?.data?.[0]??{},Y=N?.intime??"",z=N?.outtime??"",$=N?.attendance_type??"";return e.jsx(n.Tooltip,{title:e.jsxs("div",{style:{fontSize:12},children:[e.jsxs("div",{children:["In Time ",Y]}),e.jsxs("div",{children:["Out Time ",z]})]}),placement:"top",children:e.jsx("span",{className:"attendanceFont",style:{fontSize:10,display:"flex",justifyContent:"center"},children:nt($)})})}})}),B.push({title:"Total",key:"Total",render:(F,O)=>{const M=O?.monthly_data??[],I=M.filter(Y=>Y?.[0]?.data?.[0]?.attendance_type==="A").length,N=M.filter(Y=>Y?.[0]?.data?.[0]?.attendance_type==="P").length;return e.jsx("span",{className:"attendanceFont",children:e.jsxs("b",{children:["A : ",I," P : ",N]})})}})),B},[m]),_=i.useMemo(()=>[{label:"Present",el:nt("P")},{label:"Absent",el:nt("A")},{label:"Leave",el:nt("L")},{label:"Weekly Off",el:nt("W")},{label:"Holiday",el:nt("H")}],[]),P=i.useMemo(()=>d.month?o.find(B=>B?.value==d.month)?.label??d.month??"--":"--",[d.month,o]),U=async B=>{if(B.preventDefault(),!d.role||!d.year||!d.month)return;b(1),x(!0),w([]);const A={session:C,year:d.year,month:d.month,day:"01",role:d.role};D(A),R(!0),await p?.(A)};return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(n.Card,{className:"d-print-none",title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Attendance Report"}),children:e.jsx("form",{onSubmit:U,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Q,{options:u,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Roles",allowSelectAll:!1,name:"role",required:!0,onChange:B=>c(A=>({...A,role:B?.value??"",rolllabel:B?.label??""}))}),e.jsx(Q,{options:g,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Year",allowSelectAll:!1,name:"year",required:!0,onChange:B=>{const A=ir(B?.value);l(A),r(F=>!F),c(F=>({...F,year:B?.label??""}))}}),e.jsx(Q,{options:o,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Month",allowSelectAll:!1,name:"month",required:!0,onChange:B=>c(A=>({...A,month:B?.value??""}))},`month-${s}`),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Monthly Attendance Report"}),children:e.jsxs("div",{ref:a,children:[e.jsx("div",{className:"print-only",children:e.jsx(It,{})}),e.jsxs("div",{style:{border:"1px solid #ddd",borderRadius:8,padding:16,marginBottom:24,backgroundColor:"#f8f9fa"},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr auto",gap:12,alignItems:"center"},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:18,fontWeight:600,marginBottom:6},children:"Staff Attendance Summary"}),e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:10,fontSize:13},children:[e.jsxs("div",{children:["Role: ",e.jsx("span",{style:{fontWeight:700},children:d.rolllabel||"--"})]}),e.jsxs("div",{children:["Year: ",e.jsx("span",{style:{fontWeight:700},children:d.year||"--"})]}),e.jsxs("div",{children:["Month: ",e.jsx("span",{style:{fontWeight:700},children:P})]})]})]}),e.jsx("div",{className:"d-print-none",style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(Ct,{data:{tableRef:a}})})]}),e.jsx("div",{style:{marginTop:14,paddingTop:14,borderTop:"1px solid #e0e0e0"},children:e.jsx("div",{style:{display:"flex",justifyContent:"center",flexWrap:"wrap",gap:12,fontSize:12},children:_.map(B=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[e.jsxs("div",{children:[B.label," :"]}),e.jsx("div",{children:B.el})]},B.label))})})]}),e.jsx(n.Skeleton,{active:!0,loading:h,paragraph:{rows:10},children:e.jsx(n.Table,{size:"small",bordered:!0,className:"my-zero-padding-table",columns:y,dataSource:m,pagination:!1,scroll:{x:"max-content"},rowKey:(B,A)=>String(B?.staff_id??B?.id??A)})})]})})]})}const Qh=({token:t})=>e.jsx(Jh,{token:t}),Mi=Oe.payroll,Xh=Oe.roleDropdown,Zh=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},ef=t=>t?.data?.data??t?.data??t??[];function tf({token:t,receiptDetailsPath:a="/HumanResourceDashboard/PayrollReceiptDetails",onOpenReceiptDetails:s}){const[r,o]=i.useState({page:1,rowsPerPage:10}),[l,d]=i.useState(!1),[c,g]=i.useState([]),[f,u]=i.useState({role:"",roleLabel:"",year:"",month:""}),[m,w]=i.useState(null),v=y=>{if(!y)return;if(typeof s=="function"){s(y);return}const _=`${a}?id=${encodeURIComponent(String(y))}`;typeof window<"u"&&window?.location&&(window.location.href=_)},{data:b}=H(t?[Xh,t]:null,([y,_])=>K(y,_)),h=i.useMemo(()=>Zh(b),[b]),x=i.useMemo(()=>rr(5),[]),{isLoading:T,error:R,data:k}=H(t&&m?[m,t]:null,([y,_])=>K(y,_)),D=i.useMemo(()=>{const y=ef(k);return Array.isArray(y)?y:[]},[k]),C=i.useMemo(()=>{const y=k?.pagination?.total_rows??k?.data?.pagination?.total_rows??k?.total??k?.total_rows,_=Number(y);return Number.isFinite(_)&&_>=0?_:D.length},[k,D.length]),p=i.useMemo(()=>[{title:"Sl No.",key:"sl",width:70,render:(y,_,P)=>P+1},{title:"Name",dataIndex:"full_name",key:"full_name",ellipsis:!0},{title:"Designations",dataIndex:"designations",key:"designations",ellipsis:!0,responsive:["md"]},{title:"Mobile No",dataIndex:"contact_no",key:"contact_no",width:140,responsive:["md"]},{title:"Status",dataIndex:"status",key:"status",width:120,align:"center",render:(y,_)=>{const P=_?.id??_?.staff_id??_?.staffId;return e.jsx(n.Button,{type:"link",size:"small",style:{padding:0,fontSize:12},onClick:()=>{v(P)},children:Xo(_?.status)})}}],[]);return e.jsx("div",{style:{display:"grid",gap:20},children:e.jsxs(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Payroll"}),children:[e.jsx("form",{onSubmit:y=>{if(y.preventDefault(),!f.role||!f.year||!f.month)return;const _=`${Mi.payrollByRole}?page=${encodeURIComponent(String(r.page))}&per_page=${encodeURIComponent(String(r.rowsPerPage))}&role=${encodeURIComponent(String(f.role))}&year=${encodeURIComponent(String(f.year))}&month=${encodeURIComponent(String(f.month))}`;w(_)},children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end",marginBottom:14,padding:14,borderRadius:12,border:"1px solid #eee",background:"#fafafa"},children:[e.jsx(Q,{options:h,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Roles",placeholder:"Roles",allowSelectAll:!1,name:"role",required:!0,onChange:y=>u(_=>({..._,role:y?.value??"",roleLabel:y?.label??""}))}),e.jsx(Q,{options:x,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Year",allowSelectAll:!1,name:"year",required:!0,onChange:y=>{const _=ir(y?.value);g(_),d(P=>!P),u(P=>({...P,year:y?.label??"",month:""}))}}),e.jsx(Q,{options:c,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Month",allowSelectAll:!1,name:"month",required:!0,onChange:y=>u(_=>({..._,month:y?.value??""}))},`month-${l}`),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Search",color:"primary",onClick:()=>o(y=>({...y,page:1}))})})]})}),e.jsx(n.Table,{bordered:!0,size:"small",loading:T,rowKey:(y,_)=>String(y?.id??y?.staff_id??_),columns:p,dataSource:D,pagination:{current:r.page,pageSize:r.rowsPerPage,total:C,showSizeChanger:!0,onChange:(y,_)=>{o({page:y,rowsPerPage:_}),!(!f.role||!f.year||!f.month)&&w(`${Mi.payrollByRole}?page=${encodeURIComponent(String(y))}&per_page=${encodeURIComponent(String(_))}&role=${encodeURIComponent(String(f.role))}&year=${encodeURIComponent(String(f.year))}&month=${encodeURIComponent(String(f.month))}`)}},scroll:{x:"max-content"}})]})})}const af=({token:t})=>e.jsx(tf,{token:t}),il=Oe.leave,va=({baseUrl:t,page:a=1,perPage:s=10,token:r})=>H(r&&t?[t,a,s,r]:null,([l,d,c,g])=>gh({baseUrl:l,page:d,perPage:c},g)),nf=({token:t,page:a=1,perPage:s=10})=>va({token:t,baseUrl:il.requestTable,page:a,perPage:s}),sf=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},rf=(t,a)=>{const s=new FormData;return Object.entries(t??{}).forEach(([r,o])=>{o!=null&&s.append(r,String(o))}),s.set("status",a),s};function of({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),{isLoading:r,error:o,data:l,mutate:d}=nf({token:t,page:a.page,perPage:a.rowsPerPage}),c=i.useMemo(()=>sf(l),[l]),g=async(u,m)=>{try{const w=rf(u,m),v=await Yt(il.approveRequest,w,t);v?.Status==="Success"?S.success("Success! Updated request.",{duration:1e3,icon:"ð"}):S.error(v?.msg??"Failed to update request.",{duration:1e3}),await d()}catch(w){S.error(w?.response?.data?.msg??w?.message??"Failed to update request.",{duration:1e3})}},f=i.useMemo(()=>[{title:"Name",key:"full_name",ellipsis:!0,render:(u,m)=>m?.full_name??m?.staff_name??""},{title:"From",key:"leave_from",width:120,render:(u,m)=>m?.leave_from??m?.from_date??""},{title:"To",key:"leave_to",width:120,render:(u,m)=>m?.leave_to??m?.to_date??""},{title:"Leave Type",key:"leavetype",ellipsis:!0,render:(u,m)=>m?.leavetype??m?.leave_type??""},{title:"Leave Days",key:"leave_days",width:110,render:(u,m)=>m?.leave_days??""},{title:"Remarks",key:"employee_remark",ellipsis:!0,responsive:["md"],render:(u,m)=>m?.employee_remark??m?.reason??""},{title:"View",key:"document_file",width:140,render:(u,m)=>{const w=m?.document_file;return w?e.jsx(n.Button,{size:"small",onClick:()=>window.open(w,"_blank","noopener,noreferrer"),children:"View Document"}):"-"}},{title:"Status",dataIndex:"status",key:"status",width:140,align:"center",render:(u,m)=>{const w=String(m?.status??"").toLowerCase();return w==="approved"?e.jsx(n.Tag,{color:"green",children:"Approved"}):w==="declined"?e.jsx(n.Tag,{color:"red",children:"Declined"}):e.jsxs("div",{style:{display:"flex",justifyContent:"center",gap:10},children:[e.jsx(n.Button,{type:"text",size:"small",onClick:()=>g(m,"approved"),icon:e.jsx(ee.CheckOutlined,{style:{color:"#06c937"}})}),e.jsx(n.Button,{type:"text",size:"small",onClick:()=>g(m,"declined"),icon:e.jsx(ee.CloseOutlined,{style:{color:"#e80911"}})})]})}}],[t]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Approve Leave Requests"}),children:e.jsx(n.Table,{bordered:!0,size:"small",loading:r,rowKey:(u,m)=>String(u?.id??u?.leave_id??m),columns:f,dataSource:c,pagination:{current:a.page,pageSize:a.rowsPerPage,onChange:(u,m)=>s({page:u,rowsPerPage:m}),showSizeChanger:!0},scroll:{x:"max-content"}})})]})}const lf=({token:t})=>e.jsx(of,{token:t}),df=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"",cf=({token:t,value:a,onChange:s})=>{const r=i.useMemo(()=>{if(t)return{Authorization:t}},[t]);return e.jsx(n.Upload,{maxCount:1,action:rl(),headers:r,onChange:o=>{if(o?.file?.status==="done"){const l=df(o?.file?.response);l&&s?.(l)}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:a?"Change":"Upload"})})},ol=Oe.leave,uf=Oe.master.leaveType.dropdown,pf=({token:t,page:a=1,perPage:s=10})=>va({token:t,baseUrl:ol.table,page:a,perPage:s}),mf=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},Os={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function hf({token:t,userType:a}){const[s,r]=i.useState({page:1,rowsPerPage:10}),[o,l]=i.useState(!1),[d,c]=i.useState(""),[g]=n.Form.useForm();console.log("ApplyLeavePage render",a);const{isLoading:f,error:u,data:m,mutate:w}=pf({token:t,page:s.page,perPage:s.rowsPerPage}),{data:v}=H(t?[uf,t]:null,([p,y])=>K(p,y)),b=i.useMemo(()=>mf(v),[v]),h=(p,y)=>r({page:p,rowsPerPage:parseInt(y,10)}),x=()=>{c(""),g.resetFields(),g.setFieldsValue({apply_date:te()}),l(!0)},T=()=>{l(!1),c(""),g.resetFields()},R=async p=>{const y=new FormData;y.set("apply_date",p?.apply_date?p.apply_date.format("YYYY-MM-DD"):""),y.set("leave_type",p?.leave_type?.value??p?.leave_type??""),y.set("from_date",p?.from_date?p.from_date.format("YYYY-MM-DD"):""),y.set("to_date",p?.to_date?p.to_date.format("YYYY-MM-DD"):""),y.set("reason",p?.reason??""),d&&y.set("file",d);try{await kt(ol.apply,y,t),S.success("Success! Leave request submitted.",{duration:1e3}),T(),await w()}catch(_){S.error(_?.response?.data?.msg??_?.message??"Failed to submit leave request.",{duration:1e3})}},k=i.useMemo(()=>{const p=m?.data??m??[];return Array.isArray(p)?p:Array.isArray(p?.data)?p.data:[]},[m]),D=i.useMemo(()=>[{title:"Leave Type",key:"leavetype",render:(p,y)=>y?.leavetype??y?.leave_type??""},{title:"Apply Date",key:"date",width:130,render:(p,y)=>y?.date??y?.apply_date??""},{title:"From",key:"leave_from",width:130,render:(p,y)=>y?.leave_from??y?.from_date??""},{title:"To",key:"leave_to",width:130,render:(p,y)=>y?.leave_to??y?.to_date??""},{title:"Approval Status",dataIndex:"status",key:"status",width:140},{title:"Remark",key:"employee_remark",render:(p,y)=>y?.employee_remark??"",ellipsis:!0,responsive:["md"]}],[]),C=a==="staff";return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Modal,{open:o,title:"Add Leave Request",onCancel:T,footer:null,destroyOnClose:!0,children:e.jsxs(n.Form,{form:g,layout:"vertical",onFinish:R,children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Date"}),e.jsx(n.Form.Item,{name:"apply_date",rules:[{required:!0,message:"Select date"}],style:{marginBottom:0},children:e.jsx(n.DatePicker,{style:Os})})]}),e.jsx(n.Form.Item,{name:"leave_type",rules:[{required:!0,message:"Select leave type"}],children:e.jsx(Q,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Leave Type",allowSelectAll:!1})}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"From"}),e.jsx(n.Form.Item,{name:"from_date",rules:[{required:!0,message:"Select from date"}],style:{marginBottom:0},children:e.jsx(n.DatePicker,{style:Os})})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"To"}),e.jsx(n.Form.Item,{name:"to_date",rules:[{required:!0,message:"Select to date"}],style:{marginBottom:0},children:e.jsx(n.DatePicker,{style:Os})})]}),e.jsx(n.Form.Item,{name:"reason",rules:[{required:!0,message:"Enter reason"}],children:e.jsx(V,{type:"text",label:"Reason",placeholder:"Reason"})}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingTop:22},children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222"},children:"Attachment"}),e.jsx(cf,{token:t,value:d,onChange:c})]})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:12},children:[e.jsx(n.Button,{onClick:T,children:"Cancel"}),e.jsx(ne,{type:"submit",value:"Save",color:"primary"})]})]})}),C&&e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Apply Leave"}),extra:e.jsx(ne,{type:"button",value:"Add Leave Request",onClick:x})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Leave Requests"}),children:e.jsx(n.Table,{bordered:!0,size:"small",loading:f,rowKey:(p,y)=>String(p?.id??p?.leave_id??y),columns:D,dataSource:k,pagination:{current:s.page,pageSize:s.rowsPerPage,onChange:(p,y)=>h(p,y),showSizeChanger:!0},scroll:{x:"max-content"}})})]})}const ff=({token:t,userType:a})=>e.jsx(hf,{token:t,userType:a}),qn=Oe.master.leaveType,yf=({token:t,page:a=1,perPage:s=10})=>va({token:t,baseUrl:qn.table,page:a,perPage:s});function gf({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r]=n.Form.useForm(),[o]=n.Form.useForm(),[l,d]=i.useState(!1),[c,g]=i.useState(null),{isLoading:f,error:u,data:m,mutate:w}=yf({token:t,page:a.page,perPage:a.rowsPerPage}),v=(D,C)=>{s({page:D,rowsPerPage:parseInt(C,10)})},b=async D=>{const C=new FormData;C.set("title",D?.title??"");try{await w(kt(qn.add,C,t),Ke(C)),S.success("Success! Added new leave type.",{duration:1e3,icon:"ð"}),r.resetFields()}catch(p){S.error(p?.response?.data?.msg??p?.message??"Failed to add leave type.",{duration:1e3})}},h=D=>{g(D??null),o.setFieldsValue({title:D?.leave_type_name??D?.name??""}),d(!0)},x=()=>{d(!1),g(null),o.resetFields()},T=async D=>{const C=c?.id??c?.leave_type_id;if(!C){S.error("Missing leave type id.",{duration:1e3});return}const p=new FormData;p.set("id",String(C)),p.set("title",D?.title??"");try{await Yt(qn.edit,p,t),await w(),S.success("Success! Updated leave type.",{duration:1e3,icon:"ð"}),x()}catch(y){S.error(y?.response?.data?.msg??y?.message??"Failed to update leave type.",{duration:1e3})}},R=async D=>{const C=D?.id??D?.leave_type_id;if(C)try{await w(on(qn.remove,C,t),ze(C)),S.success("Success! Deleted leave type.",{duration:1e3})}catch(p){S.error(p?.response?.data?.msg??p?.message??"Failed to delete leave type.",{duration:1e3})}},k=i.useMemo(()=>[{title:"Name",dataIndex:"type",key:"type",ellipsis:!0},{title:"Action",key:"action",width:110,fixed:"right",render:(D,C)=>e.jsxs(n.Space,{size:6,children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>h(C)}),e.jsx(n.Popconfirm,{title:"Remove leave type?",okText:"Yes",cancelText:"No",onConfirm:()=>R(C),children:e.jsx(n.Button,{danger:!0,type:"text",size:"small",icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[c]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Modal,{open:l,title:"Edit Leave Type",onCancel:x,footer:null,destroyOnClose:!0,children:e.jsxs(n.Form,{form:o,layout:"vertical",onFinish:T,children:[e.jsx(n.Form.Item,{name:"title",rules:[{required:!0,message:"Enter leave type name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[e.jsx(n.Button,{onClick:x,children:"Cancel"}),e.jsx(ne,{type:"submit",value:"Update",color:"primary"})]})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Leave Type"}),children:e.jsxs(n.Form,{form:r,layout:"vertical",onFinish:b,children:[e.jsx(n.Form.Item,{name:"title",rules:[{required:!0,message:"Enter leave type name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsx(ne,{type:"submit",value:"Save",color:"primary"})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Leave Type List"}),children:e.jsx(Ie,{parentCallback:v,data:{newData:m,columns:k,columnstype:"antd",action:!1,Loading:f,error:u}})})]})}const xf=({token:t})=>e.jsx(gf,{token:t}),zn=Oe.master.department,bf=({token:t,page:a=1,perPage:s=10})=>va({token:t,baseUrl:zn.table,page:a,perPage:s});function jf({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r]=n.Form.useForm(),[o]=n.Form.useForm(),[l,d]=i.useState(!1),[c,g]=i.useState(null),{isLoading:f,error:u,data:m,mutate:w}=bf({token:t,page:a.page,perPage:a.rowsPerPage}),v=(D,C)=>{s({page:D,rowsPerPage:parseInt(C,10)})},b=async D=>{const C=new FormData;C.set("title",D?.title??"");try{await w(kt(zn.add,C,t),Ke(C)),S.success("Success! Added new department.",{duration:1e3,icon:"ð"}),r.resetFields()}catch(p){S.error(p?.response?.data?.msg??p?.message??"Failed to add department.",{duration:1e3})}},h=D=>{g(D??null),o.setFieldsValue({title:D?.department_name??D?.name??""}),d(!0)},x=()=>{d(!1),g(null),o.resetFields()},T=async D=>{const C=c?.id??c?.department_id;if(!C){S.error("Missing department id.",{duration:1e3});return}const p=new FormData;p.set("id",String(C)),p.set("title",D?.title??"");try{await Yt(zn.edit,p,t),await w(),S.success("Success! Updated department.",{duration:1e3,icon:"ð"}),x()}catch(y){S.error(y?.response?.data?.msg??y?.message??"Failed to update department.",{duration:1e3})}},R=async D=>{const C=D?.id??D?.department_id;if(C)try{await w(on(zn.remove,C,t),ze(C)),S.success("Success! Deleted department.",{duration:1e3})}catch(p){S.error(p?.response?.data?.msg??p?.message??"Failed to delete department.",{duration:1e3})}},k=i.useMemo(()=>[{title:"Name",dataIndex:"department_name",key:"department_name",ellipsis:!0},{title:"Action",key:"action",width:110,fixed:"right",render:(D,C)=>e.jsxs(n.Space,{size:6,children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>h(C)}),e.jsx(n.Popconfirm,{title:"Remove department?",okText:"Yes",cancelText:"No",onConfirm:()=>R(C),children:e.jsx(n.Button,{danger:!0,type:"text",size:"small",icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[c]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Modal,{open:l,title:"Edit Department",onCancel:x,footer:null,destroyOnClose:!0,children:e.jsxs(n.Form,{form:o,layout:"vertical",onFinish:T,children:[e.jsx(n.Form.Item,{name:"title",rules:[{required:!0,message:"Enter department name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[e.jsx(n.Button,{onClick:x,children:"Cancel"}),e.jsx(ne,{type:"submit",value:"Update",color:"primary"})]})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Department"}),children:e.jsxs(n.Form,{form:r,layout:"vertical",onFinish:b,children:[e.jsx(n.Form.Item,{name:"title",rules:[{required:!0,message:"Enter department name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsx(ne,{type:"submit",value:"Save",color:"primary"})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Department List"}),children:e.jsx(Ie,{parentCallback:v,data:{newData:m,columns:k,columnstype:"antd",action:!1,Loading:f,error:u}})})]})}const Sf=({token:t})=>e.jsx(jf,{token:t}),Yn=Oe.master.designation,vf=({token:t,page:a=1,perPage:s=10})=>va({token:t,baseUrl:Yn.table,page:a,perPage:s});function wf({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r]=n.Form.useForm(),[o]=n.Form.useForm(),[l,d]=i.useState(!1),[c,g]=i.useState(null),{isLoading:f,error:u,data:m,mutate:w}=vf({token:t,page:a.page,perPage:a.rowsPerPage}),v=(D,C)=>{s({page:D,rowsPerPage:parseInt(C,10)})},b=async D=>{const C=new FormData;C.set("title",D?.title??"");try{await w(kt(Yn.add,C,t),Ke(C)),S.success("Success! Added new designation.",{duration:1e3,icon:"ð"}),r.resetFields()}catch(p){S.error(p?.response?.data?.msg??p?.message??"Failed to add designation.",{duration:1e3})}},h=D=>{g(D??null),o.setFieldsValue({title:D?.designation??""}),d(!0)},x=()=>{d(!1),g(null),o.resetFields()},T=async D=>{const C=c?.id??c?.designation_id;if(!C){S.error("Missing designation id.",{duration:1e3});return}const p=new FormData;p.set("id",String(C)),p.set("title",D?.title??"");try{await Yt(Yn.edit,p,t),await w(),S.success("Success! Updated designation.",{duration:1e3,icon:"ð"}),x()}catch(y){S.error(y?.response?.data?.msg??y?.message??"Failed to update designation.",{duration:1e3})}},R=async D=>{const C=D?.id??D?.designation_id;if(C)try{await w(on(Yn.remove,C,t),ze(C)),S.success("Success! Deleted designation.",{duration:1e3})}catch(p){S.error(p?.response?.data?.msg??p?.message??"Failed to delete designation.",{duration:1e3})}},k=i.useMemo(()=>[{title:"Name",dataIndex:"designation",key:"designation",ellipsis:!0},{title:"Action",key:"action",width:110,fixed:"right",render:(D,C)=>e.jsxs(n.Space,{size:6,children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>h(C)}),e.jsx(n.Popconfirm,{title:"Remove designation?",okText:"Yes",cancelText:"No",onConfirm:()=>R(C),children:e.jsx(n.Button,{danger:!0,type:"text",size:"small",icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[c]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Modal,{open:l,title:"Edit Designation",onCancel:x,footer:null,destroyOnClose:!0,children:e.jsxs(n.Form,{form:o,layout:"vertical",onFinish:T,children:[e.jsx(n.Form.Item,{name:"title",rules:[{required:!0,message:"Enter designation name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[e.jsx(n.Button,{onClick:x,children:"Cancel"}),e.jsx(ne,{type:"submit",value:"Update",color:"primary"})]})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Designation"}),children:e.jsxs(n.Form,{form:r,layout:"vertical",onFinish:b,children:[e.jsx(n.Form.Item,{name:"title",rules:[{required:!0,message:"Enter designation name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsx(ne,{type:"submit",value:"Save",color:"primary"})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Designation List"}),children:e.jsx(Ie,{parentCallback:v,data:{newData:m,columns:k,columnstype:"antd",action:!1,Loading:f,error:u}})})]})}const _f=({token:t})=>e.jsx(wf,{token:t}),Vn=Oe.master.shift,Cf=({token:t,page:a=1,perPage:s=10})=>va({token:t,baseUrl:Vn.table,page:a,perPage:s}),ht="hh:mm A",ua=t=>{const a=String(t??"");if(!a)return null;const s=te(a,[ht,"HH:mm","HH:mm:ss"],!0);return s.isValid()?s:null},pa=t=>t?t.format(ht):"",_t={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function Af({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r]=n.Form.useForm(),[o]=n.Form.useForm(),[l,d]=i.useState(!1),[c,g]=i.useState(null),{isLoading:f,error:u,data:m,mutate:w}=Cf({token:t,page:a.page,perPage:a.rowsPerPage}),v=(p,y)=>{s({page:p,rowsPerPage:parseInt(y,10)})},b=(p,y)=>{const _=new FormData;return y&&_.set("id",String(y)),_.set("name",p?.name??""),_.set("start_time",pa(p?.start_time)),_.set("end_time",pa(p?.end_time)),_.set("shift_start_from",pa(p?.shift_start_from)),_.set("shift_start_to",pa(p?.shift_start_to)),_.set("shift_end_from",pa(p?.shift_end_from)),_.set("shift_end_to",pa(p?.shift_end_to)),_},h=async p=>{try{const y=b(p);await w(kt(Vn.add,y,t),Ke(y)),S.success("Success! Added new shift.",{duration:1e3,icon:"ð"}),r.resetFields()}catch(y){S.error(y?.response?.data?.msg??y?.message??"Failed to add shift.",{duration:1e3})}},x=p=>{g(p??null),o.setFieldsValue({name:p?.shift_name??p?.name??"",start_time:ua(p?.start_time),end_time:ua(p?.end_time),shift_start_from:ua(p?.shift_start_from),shift_start_to:ua(p?.shift_start_to),shift_end_from:ua(p?.shift_end_from),shift_end_to:ua(p?.shift_end_to)}),d(!0)},T=()=>{d(!1),g(null),o.resetFields()},R=async p=>{const y=c?.id??c?.shift_id;if(!y){S.error("Missing shift id.",{duration:1e3});return}try{const _=b(p,y);await Yt(Vn.edit,_,t),await w(),S.success("Success! Updated shift.",{duration:1e3,icon:"ð"}),T()}catch(_){S.error(_?.response?.data?.msg??_?.message??"Failed to update shift.",{duration:1e3})}},k=async p=>{const y=p?.id??p?.shift_id;if(y)try{await w(on(Vn.remove,y,t),ze(y)),S.success("Success! Deleted shift.",{duration:1e3})}catch(_){S.error(_?.response?.data?.msg??_?.message??"Failed to delete shift.",{duration:1e3})}},D=i.useMemo(()=>[{title:"Name",dataIndex:"shift_name",key:"shift_name",ellipsis:!0,fixed:"left",width:160},{title:"Start Time",dataIndex:"start_time",key:"start_time",width:120},{title:"End Time",dataIndex:"end_time",key:"end_time",width:120},{title:"Start From",dataIndex:"shift_start_from",key:"shift_start_from",width:120,responsive:["md"]},{title:"Start To",dataIndex:"shift_start_to",key:"shift_start_to",width:120,responsive:["md"]},{title:"End From",dataIndex:"shift_end_from",key:"shift_end_from",width:120,responsive:["md"]},{title:"End To",dataIndex:"shift_end_to",key:"shift_end_to",width:120,responsive:["md"]},{title:"Action",key:"action",width:110,fixed:"right",render:(p,y)=>e.jsxs(n.Space,{size:6,children:[e.jsx(n.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>x(y)}),e.jsx(n.Popconfirm,{title:"Remove shift?",okText:"Yes",cancelText:"No",onConfirm:()=>k(y),children:e.jsx(n.Button,{danger:!0,type:"text",size:"small",icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[]),C=[{required:!0,message:"Select time"}];return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Modal,{open:l,title:"Edit Shift",onCancel:T,footer:null,destroyOnClose:!0,children:e.jsxs(n.Form,{form:o,layout:"vertical",onFinish:R,children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(n.Form.Item,{name:"name",rules:[{required:!0,message:"Enter shift name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsx(n.Form.Item,{name:"start_time",label:"Start Time",rules:C,children:e.jsx(n.TimePicker,{format:ht,use12Hours:!0,style:_t})}),e.jsx(n.Form.Item,{name:"end_time",label:"End Time",rules:C,children:e.jsx(n.TimePicker,{format:ht,use12Hours:!0,style:_t})}),e.jsx(n.Form.Item,{name:"shift_start_from",label:"Start Time From",children:e.jsx(n.TimePicker,{format:ht,use12Hours:!0,style:_t})}),e.jsx(n.Form.Item,{name:"shift_start_to",label:"Start Time To",children:e.jsx(n.TimePicker,{format:ht,use12Hours:!0,style:_t})}),e.jsx(n.Form.Item,{name:"shift_end_from",label:"End Time From",children:e.jsx(n.TimePicker,{format:ht,use12Hours:!0,style:_t})}),e.jsx(n.Form.Item,{name:"shift_end_to",label:"End Time To",children:e.jsx(n.TimePicker,{format:ht,use12Hours:!0,style:_t})})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[e.jsx(n.Button,{onClick:T,children:"Cancel"}),e.jsx(ne,{type:"submit",value:"Update",color:"primary"})]})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Shift"}),children:e.jsx(n.Form,{form:r,layout:"vertical",onFinish:h,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(n.Form.Item,{name:"name",rules:[{required:!0,message:"Enter shift name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsx(n.Form.Item,{name:"start_time",label:"Start Time",rules:C,children:e.jsx(n.TimePicker,{format:ht,use12Hours:!0,style:_t})}),e.jsx(n.Form.Item,{name:"end_time",label:"End Time",rules:C,children:e.jsx(n.TimePicker,{format:ht,use12Hours:!0,style:_t})}),e.jsx(n.Form.Item,{name:"shift_start_from",label:"Start Time From",children:e.jsx(n.TimePicker,{format:ht,use12Hours:!0,style:_t})}),e.jsx(n.Form.Item,{name:"shift_start_to",label:"Start Time To",children:e.jsx(n.TimePicker,{format:ht,use12Hours:!0,style:_t})}),e.jsx(n.Form.Item,{name:"shift_end_from",label:"End Time From",children:e.jsx(n.TimePicker,{format:ht,use12Hours:!0,style:_t})}),e.jsx(n.Form.Item,{name:"shift_end_to",label:"End Time To",children:e.jsx(n.TimePicker,{format:ht,use12Hours:!0,style:_t})}),e.jsx(ne,{type:"submit",value:"Save",color:"primary"})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Shift List"}),children:e.jsx(Ie,{parentCallback:v,data:{newData:m,columns:D,columnstype:"antd",action:!1,Loading:f,error:u}})})]})}const Df=({token:t})=>e.jsx(Af,{token:t}),Tf=Oe.attendance;function Rf({data:t}){return t?e.jsx("div",{style:{margin:15,fontSize:13,padding:10},children:e.jsxs("table",{style:{width:"100%",borderCollapse:"collapse"},children:[e.jsxs("thead",{children:[e.jsxs("tr",{children:[e.jsx("th",{}),e.jsx("th",{}),(t?.shifts??[]).map((a,s)=>e.jsx("th",{colSpan:"2",style:{border:"1px solid #000",paddingLeft:10},children:a?.shift_name??""},`${s}heading1`))]}),e.jsxs("tr",{children:[e.jsx("th",{style:{border:"1px solid #000",paddingLeft:10},children:"Sl.No"}),e.jsx("th",{style:{border:"1px solid #000",paddingLeft:10},children:"Teacher's Name"}),(t?.shifts??[]).map((a,s)=>e.jsxs(i.Fragment,{children:[e.jsx("th",{style:{border:"1px solid #000",paddingLeft:10},children:"In Time"}),e.jsx("th",{style:{border:"1px solid #000",paddingLeft:10},children:"Out Time"})]},`${s}heading2`))]})]}),e.jsx("tbody",{children:(t?.data??[]).map((a,s)=>e.jsxs("tr",{children:[e.jsx("td",{style:{border:"1px solid #000",paddingLeft:10},children:e.jsx("div",{style:{paddingLeft:10},children:s+1})}),e.jsx("td",{style:{border:"1px solid #000",paddingLeft:10},children:e.jsx("div",{style:{paddingLeft:10},children:`${a?.name??""} ${a?.surname??""}`.trim()})}),(t?.shifts??[]).map((r,o)=>e.jsxs(i.Fragment,{children:[e.jsx("td",{style:{border:"1px solid #000",paddingLeft:10},children:e.jsx("div",{style:{paddingLeft:10},children:a?.attendance_data?(a.attendance_data?.[r?.office_shift_id]?.checkintime??"").toUpperCase():""})}),e.jsx("td",{style:{border:"1px solid #000",paddingLeft:10},children:e.jsx("div",{style:{paddingLeft:10},children:a?.attendance_data?(a.attendance_data?.[r?.office_shift_id]?.checkouttime??"").toUpperCase():""})})]},`${o}cells${s}`))]},`${s}row`))})]})}):null}const If=t=>{const a=t?.data??t??{},s=a?.items??a?.data??[];return Array.isArray(s)?s:[]},kf=t=>{const a=String(t??"").toLowerCase();return a==="present"?e.jsx(n.Tag,{color:"green",children:"Present"}):a==="absent"?e.jsx(n.Tag,{color:"red",children:"Absent"}):a==="leave"?e.jsx(n.Tag,{color:"orange",children:"Leave"}):e.jsx(n.Tag,{children:t??""})};function Pf({token:t}){const[a,s]=i.useState(te()),[r,o]=i.useState(!1),[l,d]=i.useState(0),c=i.useMemo(()=>`${Tf.dailyAttendance}?attendance_date=${encodeURIComponent(a.format("YYYY-MM-DD"))}`,[a,r,l]),{isLoading:g,error:f,data:u}=H(t?[c,t]:null,([h,x])=>K(h,x)),m=i.useMemo(()=>If(u),[u]),w=i.useMemo(()=>r?u?.data?.data??u?.data??u??null:null,[u,r]),v=Zt.useReactToPrint({content:()=>document.getElementById("ubk-hr-daily-attendance-print")}),b=i.useMemo(()=>[{title:"Sl No.",key:"sl",width:70,render:(h,x,T)=>T+1},{title:"Name",key:"name",render:(h,x)=>x?.staff_name??"",ellipsis:!0},{title:"Department",dataIndex:"department",key:"department",ellipsis:!0,responsive:["md"]},{title:"Designation",dataIndex:"designation",key:"designation",ellipsis:!0,responsive:["md"]},{title:"Status",key:"attendance",width:160,render:(h,x)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[kf(x?.attendance_status),x?.is_week_off?e.jsx(n.Tag,{color:"blue",children:"W/O"}):null]})},{title:"In Time",key:"intime",width:120,render:(h,x)=>x?.check_in??""},{title:"Out Time",key:"outtime",width:120,render:(h,x)=>x?.check_out??""}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Staff Daily Attendance"}),children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end",padding:14,borderRadius:12,border:"1px solid #eee",background:"#fafafa"},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Date"}),e.jsx(n.DatePicker,{value:a,onChange:h=>h&&s(h),style:{width:"100%"},allowClear:!1})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"button",value:"Search",onClick:()=>d(h=>h+1)})})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Staff Attendance List"}),extra:e.jsx(ee.PrinterOutlined,{style:{color:"#5080f8",fontSize:18,cursor:"pointer"},onClick:v}),children:e.jsxs("div",{id:"ubk-hr-daily-attendance-print",children:[e.jsx("div",{className:"print-only",children:e.jsx(It,{})}),r?e.jsx(Rf,{data:w}):e.jsx(n.Table,{bordered:!0,size:"small",loading:g,rowKey:(h,x)=>String(h?.id??h?.staff_id??x),columns:b,dataSource:m,pagination:{pageSize:20},scroll:{x:"max-content"}})]})})]})}const Of=({token:t})=>e.jsx(Pf,{token:t}),Ei=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},Mf=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"";function Ef({token:t,staffId:a}){const[s,r]=i.useState(!1),[o,l]=i.useState(null),[d,c]=i.useState({value:"Cash",label:"Cash"}),[g,f]=i.useState(""),[u,m]=i.useState(""),w=i.useMemo(()=>{try{return JSON.parse(localStorage.getItem("genrall_settings"))?.currency_icon??""}catch{return""}},[]),v=P=>{const U=Number(P??0),B=Number.isFinite(U)?U.toLocaleString("en-IN"):"0";return`${w?`${w} `:""}${B}`},b=i.useMemo(()=>a?`${Oe.staff.basicById}?staff_id=${encodeURIComponent(String(a))}`:null,[a]),h=i.useMemo(()=>a?`${Oe.payroll.staffPayrollByStaffId}?staff_id=${encodeURIComponent(String(a))}`:null,[a]),{data:x}=H(t&&b?[b,t]:null,([P,U])=>K(P,U)),{data:T,isLoading:R,mutate:k}=H(t&&h?[h,t]:null,([P,U])=>K(P,U)),D=i.useMemo(()=>Ei(x)[0]??x?.data??x??null,[x]),C=i.useMemo(()=>Ei(T),[T]),p=i.useMemo(()=>[{title:"Month",dataIndex:"month",key:"month",width:120,align:"center"},{title:"Basic Salary",dataIndex:"basic_salary",key:"basic_salary",width:140,align:"center",render:(P,U)=>e.jsx("div",{style:{fontSize:11},children:Rt(U?.basic_salary)})},{title:"Gross Salary",dataIndex:"gross_salary",key:"gross_salary",width:140,align:"center",render:(P,U)=>e.jsx("div",{style:{fontSize:11},children:Rt(U?.gross_salary)})},{title:"Net Salary",dataIndex:"net_amount",key:"net_amount",width:140,align:"center",render:(P,U)=>e.jsx("div",{style:{fontSize:11},children:Rt(U?.net_amount)})},{title:"Payable",dataIndex:"Total_Payable_Amount",key:"Total_Payable_Amount",width:140,align:"center",render:(P,U)=>e.jsx("div",{style:{fontSize:11},children:Rt(U?.Total_Payable_Amount)})},{title:"Status",dataIndex:"status",key:"status",width:140,align:"center",render:(P,U)=>e.jsx("div",{style:{cursor:U?.status==="due"?"pointer":"default"},onClick:()=>{U?.status==="due"&&(l(U),r(!0))},children:Xo(U?.status)})}],[]),y=i.useMemo(()=>[{value:"Cash",label:"Cash"},{value:"UPI",label:"UPI"},{value:"DD",label:"DD"},{value:"Bank",label:"Bank"},{value:"Internet Banking",label:"Internet Banking"},{value:"Cheque",label:"Cheque"}],[]),_=async()=>{if(!o)return;const P={...o,staff_id:a,payment_type:d?.value??"",notes:g,attchement:u};try{await Ne(Oe.payroll.generatePayslip,{arg:P},t),S.success("Success!",{duration:1e3}),r(!1),l(null),f(""),m(""),await k()}catch(U){S.error(U?.response?.data?.msg??U?.message??"Failed.",{duration:1e3})}};return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Payroll Receipt Details"}),children:e.jsxs("div",{style:{display:"grid",gap:14},children:[e.jsx("div",{style:{fontSize:13,color:"#444"},children:D?`${D?.f_name??D?.firstname??""} ${D?.l_name??D?.lastname??""}`.trim():""}),e.jsx(n.Table,{bordered:!0,size:"small",loading:R,rowKey:(P,U)=>String(P?.id??`${P?.month}-${U}`),columns:p,dataSource:C,pagination:{pageSize:12},scroll:{x:"max-content"}})]})}),e.jsx(n.Modal,{open:s,onCancel:()=>{r(!1),l(null)},footer:null,destroyOnClose:!0,title:"Payment Options",width:640,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(Q,{label:"Pay",options:y,value:d,onChange:P=>c(P??y[0]),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1}),e.jsxs("div",{children:[e.jsx("div",{style:{marginBottom:6,fontSize:14,fontWeight:500,color:"#222"},children:"Note"}),e.jsx(n.Input.TextArea,{rows:4,placeholder:"Note",value:g,onChange:P=>f(P.target.value)})]}),e.jsxs("div",{children:[e.jsx("div",{style:{marginBottom:6,fontSize:14,fontWeight:500,color:"#222"},children:"Attachment"}),e.jsx(n.Upload,{maxCount:1,action:rl(),headers:t?{Authorization:t}:void 0,onChange:P=>{if(P?.file?.status==="done"){const U=Mf(P?.file?.response);U&&m(U)}P?.file?.status==="removed"&&m("")},children:e.jsx(n.Button,{icon:e.jsx(ee.UploadOutlined,{}),children:"Upload"})}),!!u&&e.jsx("div",{style:{fontSize:12,color:"#666",marginTop:6},children:u})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:12},children:[e.jsx(n.Button,{onClick:()=>r(!1),children:"Cancel"}),e.jsx(ne,{type:"button",value:o?.Total_Payable_Amount?`Pay ${v(o.Total_Payable_Amount)}`:"Pay",onClick:_})]})]})})]})}function Ff({token:t,staffId:a}){const s=i.useMemo(()=>{if(a!=null&&String(a).trim()!=="")return a;if(typeof window>"u")return null;const r=new URLSearchParams(window.location.search).get("id");return r||null},[a]);return s?e.jsx(Ef,{token:t,staffId:s}):e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Payroll Receipt Details"}),children:e.jsx("div",{style:{fontSize:13,color:"#666"},children:"Missing staff id."})})}function Vt({onAdd:t,onExport:a,onPrint:s,onDownload:r,onFilter:o,onRefresh:l,actions:d}){const c=i.useMemo(()=>[{key:"add",title:"Add",icon:e.jsx(ee.PlusOutlined,{}),onClick:t},{key:"export",title:"Export",icon:e.jsx(ee.FileExcelOutlined,{}),onClick:a},{key:"print",title:"Print",icon:e.jsx(ee.PrinterOutlined,{}),onClick:s},{key:"download",title:"Download",icon:e.jsx(ee.DownloadOutlined,{}),onClick:r},{key:"filter",title:"Filter",icon:e.jsx(ee.FilterOutlined,{}),onClick:o},{key:"refresh",title:"Refresh",icon:e.jsx(ee.ReloadOutlined,{}),onClick:l}],[t,a,s,r,o,l]),g=i.useMemo(()=>{const f=Array.isArray(d)&&d.length?new Set(d):null;return f?c.filter(u=>f.has(u.key)):c},[c,d]);return e.jsx(n.Space,{size:8,children:g.map(f=>e.jsx(n.Tooltip,{title:f.title,children:e.jsx(n.Button,{type:"text",icon:f.icon,onClick:f.onClick,disabled:!f.onClick})},f.key))})}const dr=t=>t??localStorage.getItem("authToken")??"",Et={dashboard:{monthlyGraph:"api/branchapi/reportGraph/studentPresentvsAbsentmonthlyReportgraph",weeklyGraph:"api/branchapi/reportGraph/studentPresentvsAbsentweeklyReportgraph"},dropdowns:{classes:"api/branchapi/academy/classdropdownlist",sectionsByClass:"api/branchapi/academy/sectionoftheClass",sessions:"api/branchapi/generalSettings/sessiondropdown"},studentAttendance:{list:"api/StudentAttendace/studentlistforBranchbyClass",save:"api/studentAttendace/addattendencebyBranch",emergencyLeave:"api/StudentAttendace/emergency_leave"},dailyAttendance:{list:"api/StudentAttendace/studentlistforBranchbyClass"},monthlyReport:{table:"api/AttendenceReport/studentmonthlyAttendencebyclass",byStudent:"api/branchapi/student/getStududentMonthlyByIdUrlnew"},yearlyReport:{table:"api/AttendenceReport/studentyearlyAttendenceReport"}},Lt=async(t,a)=>K(t,dr(a)),$f=async(t,a,s)=>Ne(t,a,dr(s)),Uf=async(t,a,s)=>Wa(t,{arg:a},dr(s)),Ha=(t,a)=>{const s=new URLSearchParams;Object.entries(a??{}).forEach(([o,l])=>{l==null||l===""||s.set(o,String(l))});const r=t.includes("?")?"&":"?";return`${t}${r}${s.toString()}`},Fi=()=>{try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.session_id??"1"}catch{return"1"}},Nf=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},ll=(t,a)=>{const s=t?.data?.data??t?.data??t??{},r=a?s?.[a]:s;return Array.isArray(r)?r:Array.isArray(s?.student)?s.student:Array.isArray(s?.staff)?s.staff:Array.isArray(s?.data)?s.data:[]},Lf=t=>Array.isArray(t?.monthly_data)?t.monthly_data:Array.isArray(t?.month_data)?t.month_data:[],Bf=t=>{const a={present:0,absent:0,late:0,leave:0};return(Array.isArray(t)?t:[]).forEach(s=>{if(Array.isArray(s?.monthly_data)||Array.isArray(s?.month_data)){Lf(s).forEach(o=>{const l=o?.[0]?.data?.[0]??o?.data?.[0]??o??{},d=String(l?.attendance_type??l?.attendence_type_id??"").toUpperCase();(d==="P"||d==="1")&&(a.present+=1),(d==="A"||d==="4")&&(a.absent+=1),(d==="L"||d==="3")&&(a.late+=1),(d==="LEAVE"||d==="2")&&(a.leave+=1)});return}const r=String(s?.attendance_type??s?.attendence_type_id??"").toUpperCase();(r==="P"||r==="1")&&(a.present+=1),(r==="A"||r==="4")&&(a.absent+=1),(r==="L"||r==="3")&&(a.late+=1),(r==="LEAVE"||r==="2")&&(a.leave+=1)}),a},cr=(t,a)=>{const{data:s,isLoading:r,error:o}=H(a&&t?[t,a]:null,([l,d])=>Lt(l,d));return{isLoading:r,error:o,data:s,options:i.useMemo(()=>Nf(s),[s])}},os=t=>cr(Et.dropdowns.classes,t),ls=(t,a)=>{const s=t?`${Et.dropdowns.sectionsByClass}?class_id=${encodeURIComponent(String(t))}`:null;return cr(s,a)},qf=t=>cr(Et.dropdowns.sessions,t),ur=t=>{const a=String(t??"").toUpperCase();return nt(a==="1"||a==="P"||a==="PRESENT"?"P":a==="4"||a==="A"||a==="ABSENT"?"A":a==="3"||a==="L"||a==="LATE"?"L":a==="2"||a==="LEAVE"?"LEAVE":a==="W"?"W":a==="H"?"H":a||"-")},dl=(t,a,s)=>{const r=new Blob([t],{type:a}),o=URL.createObjectURL(r),l=document.createElement("a");l.href=o,l.download=s,document.body.appendChild(l),l.click(),l.remove(),URL.revokeObjectURL(o)},$i=t=>String(t??"").replace(/"/g,'""'),zf=({rows:t,columns:a,fileName:s})=>{const r=Array.isArray(a)?a:[],o=Array.isArray(t)?t:[],l=r.map(c=>`"${$i(c?.title??c?.name??c?.key??c?.dataIndex)}"`).join(","),d=o.map((c,g)=>r.map(f=>{const u=f?.dataIndex??f?.selector??f?.key,m=u==="sl"?g+1:c?.[u];return`"${$i(m)}"`}).join(",")).join(`
|
|
61
|
-
`);
|
|
62
|
-
`),"text/csv;charset=utf-8;",s)},Yf=({value:t,fileName:a})=>{dl(JSON.stringify(t??null,null,2),"application/json;charset=utf-8;",a)};function cl({summary:t}){const a=[{key:"present",label:"Present",color:"#52c41a"},{key:"absent",label:"Absent",color:"#ff4d4f"},{key:"leave",label:"Leave",color:"#1677ff"}];return e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(140px, 1fr))",gap:12},children:a.map(s=>e.jsxs(n.Card,{size:"small",styles:{body:{padding:12}},children:[e.jsx("div",{style:{fontSize:11,color:"#666",marginBottom:4},children:s.label}),e.jsx("div",{style:{fontSize:20,fontWeight:700,color:s.color},children:t?.[s.key]??0})]},s.key))})}function xa({summary:t,title:a="Attendance Overview"}){const s=i.useMemo(()=>[{key:"present",label:"Present",value:Number(t?.present??0),color:"#52c41a"},{key:"absent",label:"Absent",value:Number(t?.absent??0),color:"#ff4d4f"},{key:"leave",label:"Leave",value:Number(t?.leave??0),color:"#1677ff"}],[t]),r=Math.max(...s.map(o=>o.value),1);return e.jsx(n.Card,{size:"small",title:a,children:e.jsx("div",{style:{display:"grid",gap:8},children:s.map(o=>e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"80px 1fr 40px",gap:8,alignItems:"center"},children:[e.jsx("div",{style:{fontSize:11,color:"#444"},children:o.label}),e.jsx("div",{style:{height:10,background:"#f0f0f0",borderRadius:999},children:e.jsx("div",{style:{width:`${o.value/r*100}%`,height:"100%",background:o.color,borderRadius:999}})}),e.jsx("div",{style:{fontSize:11,fontWeight:600,textAlign:"right"},children:o.value})]},o.key))})})}function Vf(){const t=[{label:"Present",node:nt("P")},{label:"Absent",node:nt("A")},{label:"Late",node:nt("L")},{label:"Weekly Off",node:nt("W")},{label:"Holiday",node:nt("H")}];return e.jsx(n.Space,{wrap:!0,size:[12,8],children:t.map(a=>e.jsxs(n.Space,{size:6,children:[e.jsx("span",{style:{fontSize:12,color:"#555"},children:a.label}),a.node]},a.label))})}function Bt({items:t}){const a=Array.isArray(t)?t.filter(s=>s?.value):[];return a.length?e.jsx(n.Space,{wrap:!0,size:[8,8],children:a.map(s=>e.jsxs(n.Tag,{color:"blue",children:[s.label,": ",s.value]},s.label))}):null}function ds({title:t,subtitle:a,printRef:s,exportRows:r,exportColumns:o,onRefresh:l,onAdd:d,filterSection:c,summary:g,chartContent:f,reportTitle:u,reportExtra:m,children:w,fileBaseName:v="attendance"}){const b=Zt.useReactToPrint({content:()=>s?.current});return e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsx(n.Card,{size:"small",title:e.jsxs("div",{children:[e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:t}),a?e.jsx(n.Typography.Text,{type:"secondary",style:{display:"block",marginTop:2,fontSize:12},children:a}):null]}),extra:e.jsx(Vt,{actions:["add","export","print","download","refresh"],onAdd:d,onExport:()=>zf({rows:r,columns:o,fileName:`${v}.csv`}),onPrint:b,onDownload:()=>Yf({value:r,fileName:`${v}.json`}),onRefresh:l}),children:c}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:12,alignItems:"start"},children:[e.jsx(cl,{summary:g}),f===!1?null:f||e.jsx(xa,{summary:g})]}),e.jsx(n.Card,{size:"small",title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:u}),extra:m,styles:{body:{padding:0}},children:w})]})}const Wf=[{label:"Present",value:"1"},{label:"Absent",value:"4"},{label:"Late",value:"3"},{label:"Leave",value:"2"}];function Hf({rows:t,loading:a,sunday:s,holiday:r,holidayTitle:o,onChangeRows:l,onEmergency:d}){const c=(f,u)=>{const m=(Array.isArray(t)?t:[]).map((w,v)=>(w?.student_session_id??w?.student_id??w?.id??v)===f?{...w,...u}:w);l?.(m)},g=i.useMemo(()=>[{title:"Sl No.",key:"sl",width:70,render:(f,u,m)=>m+1},{title:"Admission No",dataIndex:"admission_no",key:"admission_no",width:130},{title:"EC No",dataIndex:"ecno",key:"ecno",width:100},{title:"Roll No",dataIndex:"roll_no",key:"roll_no",width:100},{title:"Full Name",key:"full_name",render:(f,u)=>u?.full_name??u?.student_name??u?.name??"--"},{title:"Attendance",dataIndex:"attendence_type_id",key:"attendence_type_id",width:180,render:(f,u,m)=>{const w=u?.student_session_id??u?.student_id??u?.id??m;return e.jsx(n.Select,{size:"small",style:{width:"100%"},options:Wf,value:String(f??"1"),onChange:v=>c(w,{attendence_type_id:v})})}},{title:"Date",dataIndex:"date",key:"date",width:120,render:f=>f?te(f).format("DD-MM-YYYY"):"--"},{title:"Remarks",dataIndex:"remark",key:"remark",width:140},{title:"In Time",dataIndex:"intime",key:"intime",width:120},{title:"Out Time",dataIndex:"outtime",key:"outtime",width:120},{title:"Emergency Leave",key:"emergency_leave",width:140,render:(f,u)=>e.jsx(n.Tag,{color:"orange",style:{cursor:"pointer"},icon:e.jsx(ee.ClockCircleOutlined,{}),onClick:()=>d?.(u),children:"E.L"})}],[d,t]);return s?e.jsx("div",{style:{textAlign:"center",fontWeight:700,padding:"32px 0"},children:"Weekly Off"}):r?e.jsxs("div",{style:{textAlign:"center",padding:"32px 0"},children:[e.jsx("div",{style:{fontWeight:700,marginBottom:8},children:"Holiday"}),e.jsx("div",{children:o||"--"})]}):e.jsx(n.Table,{bordered:!0,size:"small",rowKey:(f,u)=>String(f?.student_session_id??f?.student_id??f?.id??u),columns:g,dataSource:Array.isArray(t)?t:[],loading:a,pagination:{pageSize:25},scroll:{x:"max-content"}})}function Kf({rows:t,loading:a,sunday:s,holiday:r,holidayTitle:o}){const l=i.useMemo(()=>[{title:"Sl No.",key:"sl",width:70,render:(d,c,g)=>g+1},{title:"Admission No",dataIndex:"admission_no",key:"admission_no",width:130},{title:"EC No",dataIndex:"ecno",key:"ecno",width:100},{title:"Roll No",dataIndex:"roll_no",key:"roll_no",width:100},{title:"Full Name",key:"full_name",render:(d,c)=>c?.full_name??c?.student_name??c?.name??"--"},{title:"Attendance",dataIndex:"attendence_type_id",key:"attendence_type_id",width:120,render:d=>ur(d)},{title:"Date",dataIndex:"date",key:"date",width:120,render:d=>d?te(d).format("DD-MM-YYYY"):"--"},{title:"Remarks",dataIndex:"remark",key:"remark",width:140},{title:"In Time",dataIndex:"intime",key:"intime",width:120},{title:"Out Time",dataIndex:"outtime",key:"outtime",width:120}],[]);return s?e.jsx("div",{style:{textAlign:"center",fontWeight:700,padding:"32px 0"},children:"Weekly Off"}):r?e.jsxs("div",{style:{textAlign:"center",padding:"32px 0"},children:[e.jsx("div",{style:{fontWeight:700,marginBottom:8},children:"Holiday"}),e.jsx("div",{children:o||"--"})]}):e.jsx(n.Table,{bordered:!0,size:"small",rowKey:(d,c)=>String(d?.student_session_id??d?.student_id??d?.id??c),columns:l,dataSource:Array.isArray(t)?t:[],loading:a,pagination:{pageSize:25},scroll:{x:"max-content"}})}function Gf({data:t,loading:a,onViewStudent:s}){const r=t?.data??t??{},o=Array.isArray(r?.studentAttendance)?r.studentAttendance:Array.isArray(r?.students)?r.students:Array.isArray(r?.report)?r.report:Array.isArray(r?.data?.resultlist)?r.data.resultlist:Array.isArray(r?.resultlist)?r.resultlist:Array.isArray(r?.data)?r.data:Array.isArray(r)?r:[],l=Array.isArray(r?.monthly_holiday)?r.monthly_holiday:[],d=Array.isArray(r?.dateSun)?r.dateSun:[],c=Number(r?.totalDaysMonth??0),g=i.useMemo(()=>{const f=[{title:"Roll No",dataIndex:"roll_no",key:"roll_no",width:20,fixed:"left"},{title:"Name",key:"student_name",fixed:"left",render:(u,m)=>e.jsx(n.Button,{type:"link",style:{padding:0},onClick:()=>s?.(m),children:m?.student_name??m?.full_name??"--"})}];return[...new Array(c).keys()].forEach(u=>{f.push({title:String(u+1),key:`day-${u+1}`,align:"center",render:(m,w)=>{const b=w?.[`${w?.student_id}_${o.indexOf(w)}`]?.[u]??{},h=b?.attendance_date,x=l.find(T=>T?.date===h);return d.includes(h)?Wr("sunday","W"):x?Wr("holiday","H"):ur(b?.attendence_type_id)}})}),f.push({title:"Total",key:"total",fixed:"right",render:(u,m)=>{let w=0,v=0,b=0;return[...new Array(c).keys()].forEach(h=>{const x=m?.[`${m?.student_id}_${o.indexOf(m)}`]?.[h]??{},T=String(x?.attendence_type_id??"");T==="1"&&(w+=1),T==="4"&&(v+=1),T==="3"&&(b+=1)}),e.jsxs("span",{children:["P: ",w," A: ",v," L: ",b]})}}),f},[l,s,o,d,c]);return e.jsx(n.Table,{bordered:!0,size:"small",rowKey:(f,u)=>String(f?.student_id??u),columns:g,dataSource:o,loading:a,pagination:{pageSize:20},scroll:{x:"max-content"},locale:{emptyText:e.jsx(n.Empty,{description:"No monthly report found"})}})}function Jf({open:t,onClose:a,loading:s,data:r,studentName:o}){const l=Array.isArray(r?.data?.report)?r.data.report:[],d=[{title:"Date",dataIndex:"attendance_date",key:"attendance_date",render:c=>c?te(c).format("DD-MM-YYYY"):"--"},{title:"Status",key:"status",render:(c,g)=>ur(g?.attendence_type_id??g?.attendance_type)},{title:"In Time",dataIndex:"intime",key:"intime"},{title:"Out Time",dataIndex:"outtime",key:"outtime"},{title:"Remark",dataIndex:"remark",key:"remark"}];return e.jsx(n.Modal,{open:t,onCancel:a,footer:null,width:900,title:`Monthly Details${o?` - ${o}`:""}`,children:e.jsx(n.Table,{bordered:!0,size:"small",rowKey:(c,g)=>String(c?.attendance_date??g),columns:d,dataSource:l,loading:s,pagination:{pageSize:20},scroll:{x:"max-content"}})})}function Qf({open:t,onClose:a,onSubmit:s,loading:r}){const[o,l]=n.Modal.useModal(),[d,c]=i.useState(null),[g,f]=i.useState(""),u=async()=>{if(!d){await o.warning({title:"Select time"});return}await s?.({outtime:d.format("h:mm a"),message:g}),c(null),f("")};return e.jsxs(e.Fragment,{children:[l,e.jsx(n.Modal,{title:"Emergency Leave",open:t,onCancel:a,onOk:u,confirmLoading:r,children:e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:13,fontWeight:500,marginBottom:6},children:"Select Time"}),e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm a",value:d,onChange:c,style:{width:"100%"}})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:13,fontWeight:500,marginBottom:6},children:"Purpose"}),e.jsx(n.Input.TextArea,{rows:4,value:g,onChange:m=>f(m.target.value)})]})]})})]})}const ul=t=>Bf(t),Ui=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a.reduce((s,r)=>({present:s.present+Number(r?.present??r?.Present??r?.total_present??0),absent:s.absent+Number(r?.absent??r?.Absent??r?.total_absent??0),late:s.late+Number(r?.late??r?.Late??0),leave:s.leave+Number(r?.leave??r?.Leave??0)}),{present:0,absent:0,late:0,leave:0}):{present:Number(a?.present??a?.Present??a?.total_present??0),absent:Number(a?.absent??a?.Absent??a?.total_absent??0),late:Number(a?.late??a?.Late??0),leave:Number(a?.leave??a?.Leave??0)}};function Xf({token:t}){const{data:a}=H(t?[Et.dashboard.monthlyGraph,t]:null,([l,d])=>Lt(l,d)),{data:s}=H(t?[Et.dashboard.weeklyGraph,t]:null,([l,d])=>Lt(l,d)),r=i.useMemo(()=>Ui(a),[a]),o=i.useMemo(()=>Ui(s),[s]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsxs(n.Card,{children:[e.jsx(n.Typography.Title,{level:4,style:{marginTop:0},children:"Attendance Dashboard"}),e.jsx(n.Typography.Paragraph,{style:{marginBottom:0},children:"Student attendance overview with monthly and weekly analytics migrated from the ERP dashboard."})]}),e.jsx(cl,{summary:r}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:20},children:[e.jsx(xa,{summary:r,title:"Monthly Attendance Chart"}),e.jsx(xa,{summary:o,title:"Weekly Attendance Chart"})]})]})}const Ms=Et.studentAttendance,Zf={width:"100%",height:40};function ey({token:t}){const a=i.useRef(null),[s,r]=i.useState(""),[o,l]=i.useState(""),[d,c]=i.useState(""),[g,f]=i.useState(""),[u,m]=i.useState(""),[w,v]=i.useState(""),[b,h]=i.useState(te()),[x,T]=i.useState(0),[R,k]=i.useState([]),[D,C]=i.useState(!1),[p,y]=i.useState(null),[_,P]=i.useState(!1),[U,B]=i.useState(!1),A=os(t),F=ls(s,t),O=i.useMemo(()=>!s||!d||x===0?null:Ha(Ms.list,{cID:s,sID:d,batch_id:u,date:b.format("YYYY-MM-DD")}),[u,s,b,x,d]),{data:M,isLoading:I,mutate:N}=H(t&&O?[O,t]:null,([G,J])=>Lt(G,J));i.useEffect(()=>{k(ll(M,"student"))},[M]);const Y=M?.data?.data??M?.data??M??{},z=!!Y?.sunday,$=!!Y?.holiday?.holiday,E=Y?.holiday?.title??"",L=i.useMemo(()=>ul(R),[R]),q=i.useMemo(()=>[{title:"Admission No",dataIndex:"admission_no"},{title:"EC No",dataIndex:"ecno"},{title:"Roll No",dataIndex:"roll_no"},{title:"Full Name",dataIndex:"full_name"},{title:"Attendance",dataIndex:"attendence_type_id"},{title:"Date",dataIndex:"date"},{title:"Remarks",dataIndex:"remark"},{title:"In Time",dataIndex:"intime"},{title:"Out Time",dataIndex:"outtime"}],[]),W=async()=>{if(R.length)try{B(!0),await $f(Ms.save,{attendenceData:R,date:b.format("YYYY-MM-DD"),holiday:D?"YES":"NO"},t),S.success("Student attendance saved."),N?.()}catch(G){S.error(G?.message??"Failed to save attendance.")}finally{B(!1)}},se=async({outtime:G,message:J})=>{if(p?.attendence_id)try{P(!0),await Uf(Ms.emergencyLeave,{outtime:G,message:J,id:p.attendence_id},t),S.success("Emergency leave updated."),y(null),N?.()}catch(re){S.error(re?.message??"Failed to update emergency leave.")}finally{P(!1)}},Z=e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16,alignItems:"end"},children:[e.jsx(Q,{options:A.options,label:"Class",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:G=>{r(G?.value??""),l(G?.label??""),c(""),f(""),m(""),v("")},required:!0}),e.jsx(Q,{options:F.options,label:"Section",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:G=>{c(G?.value??""),f(G?.label??""),m(""),v("")},required:!0},`section-${s}`),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Date"}),e.jsx(n.DatePicker,{value:b,onChange:G=>G&&h(G),style:Zf,allowClear:!1})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"button",value:"Search",color:"primary",onClick:()=>T(G=>G+1)})})]}),e.jsx(Bt,{items:[{label:"Class",value:o},{label:"Section",value:g},{label:"Date",value:b.format("DD-MM-YYYY")}]})]});return e.jsxs(e.Fragment,{children:[e.jsx(S.Toaster,{}),e.jsx(ds,{title:"Student Attendance",printRef:a,exportRows:R,exportColumns:q,onRefresh:()=>N?.(),filterSection:Z,summary:L,chartContent:!1,reportTitle:"Student Attendance List",reportExtra:e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsx(n.Button,{size:"small",type:D?"primary":"default",onClick:()=>C(G=>!G),children:D?"Marked":"Mark As Holiday"}),e.jsx(n.Button,{size:"small",type:"primary",onClick:W,loading:U,disabled:!R.length,children:"Save Attendance"})]}),fileBaseName:"student-attendance",children:e.jsxs("div",{ref:a,children:[e.jsxs("div",{className:"print-only",children:[e.jsx(It,{}),e.jsx(n.Typography.Title,{level:5,children:"Student Attendance"}),e.jsx(n.Card,{size:"small",style:{marginBottom:12},children:e.jsx(Bt,{items:[{label:"Class",value:o},{label:"Section",value:g},{label:"Date",value:b.format("DD-MM-YYYY")}]})})]}),e.jsx(Hf,{rows:R,loading:I,sunday:z,holiday:$,holidayTitle:E,onChangeRows:k,onEmergency:y})]})}),e.jsx(Qf,{open:!!p,onClose:()=>y(null),onSubmit:se,loading:_})]})}const ty=Et.dailyAttendance,ay={width:"100%",height:40};function ny({token:t}){const a=i.useRef(null),[s,r]=i.useState(""),[o,l]=i.useState(""),[d,c]=i.useState(""),[g,f]=i.useState(""),[u,m]=i.useState(""),[w,v]=i.useState(""),[b,h]=i.useState(te()),[x,T]=i.useState(0),R=os(t),k=ls(s,t),D=i.useMemo(()=>!s||!d||x===0?null:Ha(ty.list,{cID:s,sID:d,batch_id:u,date:b.format("YYYY-MM-DD")}),[u,s,b,x,d]),{data:C,isLoading:p,mutate:y}=H(t&&D?[D,t]:null,([I,N])=>Lt(I,N)),_=i.useMemo(()=>ll(C,"student"),[C]),P=C?.data?.data??C?.data??C??{},U=!!P?.sunday,B=!!P?.holiday?.holiday,A=P?.holiday?.title??"",F=i.useMemo(()=>ul(_),[_]),O=i.useMemo(()=>[{title:"Admission No",dataIndex:"admission_no"},{title:"EC No",dataIndex:"ecno"},{title:"Roll No",dataIndex:"roll_no"},{title:"Full Name",dataIndex:"full_name"},{title:"Attendance",dataIndex:"attendence_type_id"},{title:"Date",dataIndex:"date"},{title:"Remarks",dataIndex:"remark"},{title:"In Time",dataIndex:"intime"},{title:"Out Time",dataIndex:"outtime"}],[]),M=e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16,alignItems:"end"},children:[e.jsx(Q,{options:R.options,label:"Class",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:I=>{r(I?.value??""),l(I?.label??""),c(""),f(""),m(""),v("")},required:!0}),e.jsx(Q,{options:k.options,label:"Section",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:I=>{c(I?.value??""),f(I?.label??""),m(""),v("")},required:!0},`section-${s}`),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Date"}),e.jsx(n.DatePicker,{value:b,onChange:I=>I&&h(I),style:ay,allowClear:!1})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"button",value:"Search",color:"primary",onClick:()=>T(I=>I+1)})})]}),e.jsx(Bt,{items:[{label:"Class",value:o},{label:"Section",value:g},{label:"Date",value:b.format("DD-MM-YYYY")}]})]});return e.jsx(ds,{title:"Daily Attendance",subtitle:"Read-only daily attendance enquiry migrated from ERP AttendanceDashboard.",printRef:a,exportRows:_,exportColumns:O,onRefresh:()=>y?.(),filterSection:M,summary:F,chartContent:e.jsx(xa,{summary:F,title:"Daily Attendance Overview"}),reportTitle:"Daily Attendance List",fileBaseName:"daily-attendance",children:e.jsxs("div",{ref:a,children:[e.jsxs("div",{className:"print-only",children:[e.jsx(It,{}),e.jsx(Bt,{items:[{label:"Class",value:o},{label:"Section",value:g},{label:"Date",value:b.format("DD-MM-YYYY")}]})]}),e.jsx(Kf,{rows:_,loading:p,sunday:U,holiday:B,holidayTitle:A})]})})}const Ni=Et.monthlyReport,pl=t=>Array.isArray(t?.studentAttendance)?t.studentAttendance:Array.isArray(t?.students)?t.students:Array.isArray(t?.report)?t.report:Array.isArray(t?.data?.resultlist)?t.data.resultlist:Array.isArray(t?.resultlist)?t.resultlist:Array.isArray(t?.data)?t.data:Array.isArray(t)?t:[],sy=t=>{const a=pl(t),s=Number(t?.totalDaysMonth??0),r={present:0,absent:0,late:0,leave:0};return a.forEach((o,l)=>{[...new Array(s).keys()].forEach(d=>{const c=o?.[`${o?.student_id}_${l}`]?.[d]??{},g=String(c?.attendence_type_id??"");g==="1"&&(r.present+=1),g==="4"&&(r.absent+=1),g==="3"&&(r.late+=1),g==="2"&&(r.leave+=1)})}),r},ry=t=>{const a=pl(t),s=Number(t?.totalDaysMonth??0);return a.map((r,o)=>{let l=0,d=0,c=0;return[...new Array(s).keys()].forEach(g=>{const f=r?.[`${r?.student_id}_${o}`]?.[g]??{},u=String(f?.attendence_type_id??"");u==="1"&&(l+=1),u==="4"&&(d+=1),u==="3"&&(c+=1)}),{roll_no:r?.roll_no??"",student_name:r?.student_name??r?.full_name??"",present:l,absent:d,late:c}})};function iy({token:t}){const a=i.useRef(null),[s,r]=i.useState(""),[o,l]=i.useState(""),[d,c]=i.useState(""),[g,f]=i.useState(""),[u,m]=i.useState(""),[w,v]=i.useState(""),[b,h]=i.useState(String(new Date().getFullYear())),[x,T]=i.useState(String(new Date().getMonth()+1).padStart(2,"0")),[R,k]=i.useState(0),[D,C]=i.useState(null),p=os(t),y=ls(s,t),_=i.useMemo(()=>ir(Number(b)),[b]),P=i.useMemo(()=>rr(10),[]),U=i.useMemo(()=>!s||!d||!b||!x||R===0?null:Ha(Ni.table,{session:Fi(),class_id:s,section_id:d,year:b,month:x,batch_id:u}),[u,s,x,R,d,b]),{data:B,isLoading:A,mutate:F}=H(t&&U?[U,t]:null,([L,q])=>Lt(L,q)),O=B?.data?.data??B?.data??B??{},M=i.useMemo(()=>sy(O),[O]),I=i.useMemo(()=>ry(O),[O]),N=i.useMemo(()=>[{title:"Roll No",dataIndex:"roll_no"},{title:"Name",dataIndex:"student_name"},{title:"Present",dataIndex:"present"},{title:"Absent",dataIndex:"absent"},{title:"Late",dataIndex:"late"}],[]),Y=i.useMemo(()=>D?.student_id?Ha(Ni.byStudent,{student_id:D.student_id,month:x,year:b,session:Fi()}):null,[x,D,b]),{data:z,isLoading:$}=H(t&&Y?[Y,t]:null,([L,q])=>Lt(L,q)),E=e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12,alignItems:"end"},children:[e.jsx(Q,{options:p.options,label:"Class",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:L=>{r(L?.value??""),l(L?.label??""),c(""),f(""),m(""),v("")},required:!0}),e.jsx(Q,{options:y.options,label:"Section",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:L=>{c(L?.value??""),f(L?.label??""),m(""),v("")},required:!0},`section-${s}`),e.jsx(Q,{options:P,label:"Year",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:P.find(L=>String(L?.value)===String(b))??null,onChange:L=>h(String(L?.value??"")),required:!0}),e.jsx(Q,{options:_,label:"Month",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:_.find(L=>String(L?.value)===String(x))??null,onChange:L=>T(String(L?.value??"").padStart(2,"0")),required:!0},`month-${b}`),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"button",value:"Search",color:"primary",onClick:()=>k(L=>L+1)})})]}),e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:12,alignItems:"center",justifyContent:"space-between"},children:[e.jsx(Bt,{items:[{label:"Class",value:o},{label:"Section",value:g},{label:"Month",value:_.find(L=>String(L?.value)===String(x))?.label??x},{label:"Year",value:b}]}),e.jsx(Vf,{})]})]});return e.jsxs(e.Fragment,{children:[e.jsx(ds,{title:"Monthly Report",subtitle:"Monthly class-wise attendance matrix and student drilldown.",printRef:a,exportRows:I,exportColumns:N,onRefresh:()=>F?.(),filterSection:E,summary:M,chartContent:e.jsx(xa,{summary:M,title:"Monthly Attendance Summary"}),reportTitle:"Monthly Attendance Table",fileBaseName:"monthly-attendance-report",children:e.jsxs("div",{ref:a,children:[e.jsxs("div",{className:"print-only",children:[e.jsx(It,{}),e.jsx(Bt,{items:[{label:"Class",value:o},{label:"Section",value:g},{label:"Month",value:_.find(L=>String(L?.value)===String(x))?.label??x},{label:"Year",value:b}]})]}),e.jsx(Gf,{data:O,loading:A,onViewStudent:C})]})}),e.jsx(Jf,{open:!!D,onClose:()=>C(null),loading:$,data:z,studentName:D?.student_name??D?.full_name})]})}const oy=Et.yearlyReport,ly=t=>{const a=t?.data?.data??t?.data??t??{};return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:Array.isArray(a?.students)?a.students:Array.isArray(a?.report)?a.report:Array.isArray(a?.resultlist)?a.resultlist:[]},dy=t=>(Array.isArray(t)?t:[]).reduce((a,s)=>({present:a.present+Number(s?.singleStudentPresentData??s?.present??0),absent:a.absent+Number(s?.singleStudentAbsentData??s?.absent??0),late:a.late+Number(s?.late??0),leave:a.leave+Number(s?.leave??0)}),{present:0,absent:0,late:0,leave:0});function cy({token:t}){const a=i.useRef(null),[s,r]=i.useState(""),[o,l]=i.useState(""),[d,c]=i.useState(""),[g,f]=i.useState(""),[u,m]=i.useState(""),[w,v]=i.useState(""),[b,h]=i.useState(""),[x,T]=i.useState(""),[R,k]=i.useState(0),D=os(t),C=ls(s,t),p=qf(t),y=i.useMemo(()=>!s||!d||R===0?null:Ha(oy.table,{class_id:s,section_id:d,session_id:u,batch_id:b}),[b,s,R,d,u]),{data:_,isLoading:P,mutate:U}=H(t&&y?[y,t]:null,([I,N])=>Lt(I,N)),B=i.useMemo(()=>ly(_),[_]),A=i.useMemo(()=>dy(B),[B]),F=i.useMemo(()=>[{title:"Roll No",dataIndex:"roll_no"},{title:"Full Name",dataIndex:"full_name"},{title:"Present",dataIndex:"singleStudentPresentData"},{title:"Absent",dataIndex:"singleStudentAbsentData"}],[]),O=i.useMemo(()=>[{title:"Sl No.",key:"sl",width:70,render:(I,N,Y)=>Y+1},{title:"Roll No",dataIndex:"roll_no",key:"roll_no",width:100},{title:"Full Name",dataIndex:"full_name",key:"full_name"},{title:"Total Present",dataIndex:"singleStudentPresentData",key:"singleStudentPresentData",width:130},{title:"Total Absent",dataIndex:"singleStudentAbsentData",key:"singleStudentAbsentData",width:130}],[]),M=e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16,alignItems:"end"},children:[e.jsx(Q,{options:D.options,label:"Class",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:I=>{r(I?.value??""),l(I?.label??""),c(""),f(""),h(""),T("")},required:!0}),e.jsx(Q,{options:C.options,label:"Section",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:I=>{c(I?.value??""),f(I?.label??""),h(""),T("")},required:!0},`section-${s}`),e.jsx(Q,{options:p.options,label:"Session",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:I=>{m(I?.value??""),v(I?.label??"")},required:!0}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"button",value:"Search",color:"primary",onClick:()=>k(I=>I+1)})})]}),e.jsx(Bt,{items:[{label:"Class",value:o},{label:"Section",value:g},{label:"Session",value:w}]})]});return e.jsx(ds,{title:"Yearly Report",subtitle:"Yearly attendance summary migrated from ERP AttendanceDashboard.",printRef:a,exportRows:B,exportColumns:F,onRefresh:()=>U?.(),filterSection:M,summary:A,chartContent:e.jsx(xa,{summary:A,title:"Yearly Attendance Summary"}),reportTitle:"Yearly Attendance List",fileBaseName:"yearly-attendance-report",children:e.jsxs("div",{ref:a,children:[e.jsxs("div",{className:"print-only",children:[e.jsx(It,{}),e.jsx(Bt,{items:[{label:"Class",value:o},{label:"Section",value:g},{label:"Session",value:w}]})]}),e.jsx(n.Table,{bordered:!0,size:"small",rowKey:(I,N)=>String(I?.student_id??I?.id??N),columns:O,dataSource:B,loading:P,pagination:{pageSize:25},scroll:{x:"max-content"}})]})})}const uy=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a.map(s=>({value:s?.value??s?.id??"",label:s?.label??s?.name??s?.income_category??s?.title??""})):[]};function py({data:t}){const{handleUpdate:a,token:s}=t||{},r=i.useContext(Tt),{isLoading:o,data:l}=H(s&&r?[`${Lc}?id=${r}`,s]:null,([x,T])=>K(x,T)),{data:d}=H(s?[Lo,s]:null,([x,T])=>K(x,T)),c=i.useMemo(()=>uy(d),[d]),g=i.useMemo(()=>{if(Array.isArray(l))return l[0];const x=l?.data?.data??l?.data??l??{};return Array.isArray(x)?x[0]:x??{}},[l]),[f,u]=i.useState({income_head:"",name:"",invoice_no:"",date:te(),amount:"",description:"",doc:""}),[m,w]=i.useState(!1),v=async x=>{x.preventDefault(),w(!0);try{await a(x,r)}finally{w(!1)}};i.useEffect(()=>{g&&u({income_head:g?.inc_head_id||"",name:g?.name||"",invoice_no:g?.invoice_no||"",date:g?.date?te(g.date):te(),amount:g?.amount||"",description:g?.note||"",doc:g?.documents||""})},[g]);const b=(x,T)=>{u(R=>({...R,[x]:T}))},h=c.find(x=>String(x.value)===String(f.income_head))??null;return o?e.jsx(j,{pt:4,pb:1,style:{width:550,display:"flex",justifyContent:"center",alignItems:"center"},children:e.jsx(n.Spin,{tip:"Loading..."})}):e.jsxs(j,{pt:4,pb:1,style:{width:550},children:[e.jsx("form",{onSubmit:v,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Edit Income"})}),e.jsx(j,{p:2,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsxs(j,{children:[e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}}),e.jsx(Q,{label:"Income Head",options:c,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"income_head",required:!0,value:h,onChange:x=>b("income_head",x?.value||"")})]})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"name",type:"text",label:"Name",required:!0,value:f.name,onChange:x=>b("name",x.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"invoice_no",type:"text",label:"Invoice Number",required:!0,value:f.invoice_no,onChange:x=>b("invoice_no",x.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",value:f.date,Desplay:"Date",name:"date",required:!0,onChange:x=>b("date",x)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"amount",type:"number",label:"Amount",required:!0,value:f.amount,onChange:x=>b("amount",x.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(lt,{name:"description",label:"Description",rows:3,value:f.description,onChange:x=>b("description",x.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsxs(j,{children:[e.jsx(n.Upload,{action:`${rt()}/branchapi/frontoffice/uploadfrontofficeDocument`,headers:{Authorization:s},maxCount:1,onChange:x=>{if(x.file.status==="removed"&&b("doc",""),x.file.status==="done"){const T=x.file.response?.data??x.file.response?.file??"";b("doc",String(T??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:f.doc?"Change":"Upload"})}),e.jsx("input",{type:"hidden",name:"doc",value:f.doc||"",readOnly:!0})]})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"center",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:m?"Saving...":"Submit",color:"primary",disabled:m})})})})})]})})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const my=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]};function hy({token:t}){const[a,s]=i.useState([]),[r,o]=i.useState(""),[l,d]=i.useState(""),[c,g]=i.useState({income_head:"",name:"",invoice_no:"",date:te().format("YYYY-MM-DD"),amount:"",description:"",doc:""}),[f,u]=i.useState(!1),[m,w]=i.useState({page:1,rowsPerPage:10}),v=(A,F)=>{w({...m,page:A,rowsPerPage:parseInt(F,10)})},b=async(A,F)=>{try{await R(Ne(A,F,t),Ke(F)),S.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{S.error("Failed to add the new item.",{duration:1e3})}},{isLoading:h,error:x,data:T,mutate:R}=H(t?[Pc,t,m.page,m.rowsPerPage]:null,([A,F,O,M])=>K(`${A}?page=${O}&per_page=${M}`,F)),k=i.useMemo(()=>[{id:"1",name:"Name",selector:"name",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0},{id:"3",name:"Income Category",selector:"income_category",sortable:!0},{id:"4",name:"Invoice No",selector:"invoice_no",sortable:!0},{id:"5",name:"Date",selector:"date",sortable:!0},{id:"6",name:"Note",selector:"note",sortable:!0},{id:"7",name:"Amount",selector:"amount",sortable:!0},{id:"8",name:"File",selector:"documents",sortable:!1,render:A=>A?e.jsx("span",{style:{textDecoration:"underline",color:"#5080f8",cursor:"pointer"},onClick:()=>window.open(`${rt()}/branch/frontoffice/${A}`,"_blank"),children:"View"}):"Not Uploaded"}],[]),D=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],C=async A=>{try{await R(He(Ec,A,t),ze(A)),S.success("Success! Deleted item.",{duration:1e3,icon:"ðïļ"})}catch{S.error("Failed to delete the item.",{duration:1e3})}},p=async(A,F,O)=>{try{await R(We(A,F,t)),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),await O(null)}catch{S.error("Failed to update the item.",{duration:1e3})}},y=async(A,F)=>{A.preventDefault();const O=new FormData(A.target);await p(Mc,O,F),P(!1)},_=async A=>{if(A.preventDefault(),!A.target.date.value)S.error("Select required dates",{duration:1e3}),A.target?.date?.focus(),d("textDanger");else{const F=new FormData(A.target);await b(Oc,F),A.target.reset(),o(""),g(O=>({...O,date:te().format("YYYY-MM-DD")}))}},P=A=>{u(A)},{data:U}=H(t?[Lo,t]:null,([A,F])=>K(A,F)),B=i.useMemo(()=>my(U),[U]);return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Add Income"})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:_,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{label:"Income Head",options:B,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"income_head",required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"name",type:"text",label:"Name",required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"invoice_no",type:"text",label:"Invoice Number",required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",defaultValue:te(),Desplay:"Date",name:"date",status:l===""?"":"error",classnme:l,onChange:()=>d("")})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"amount",type:"number",label:"Amount",required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsxs(j,{children:[e.jsx(n.Upload,{action:`${rt()}/branchapi/frontoffice/uploadfrontofficeDocument`,headers:{Authorization:t},maxCount:1,onChange:A=>{if(A.file.status==="removed"&&o(""),A.file.status==="done"){const F=A.file.response?.data??A.file.response?.file??"";o(String(F??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:r?"Change":"Upload"})}),e.jsx("input",{type:"hidden",name:"doc",value:r||"",readOnly:!0})]})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(lt,{name:"description",label:"Description",rows:3})})}),e.jsx(n.Col,{xs:24,md:12,className:"buttonCoustom",children:e.jsx(n.Row,{justifyContent:"flex-end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})})})})]})})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Income List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:v,data:{newData:T,columns:k,action:!0,Loading:h,ActionView:D,error:x,editDesign:e.jsx(py,{data:{handleUpdate:y,token:t}}),deleteTodoMutation:C,open:f,DrawerUpdate:P}})})]})})]}),e.jsx("style",{children:".noDisplay { display: none; } .textDanger { color: #dc2626; } .buttonCoustom { margin-top: 8px; }"})]})}const Li={width:"100%",height:40};function fy({token:t}){const[a,s]=i.useState(null),[r,o]=i.useState(null),[l,d]=i.useState(""),[c,g]=i.useState(""),[f,u]=i.useState(""),[m,w]=i.useState({page:1,rowsPerPage:10}),v=(D,C)=>{w({...m,page:D,rowsPerPage:parseInt(C,10)})},{isLoading:b,error:h,data:x,mutate:T}=H(t&&l?[l,t,m.page,m.rowsPerPage]:null,([D,C,p,y])=>K(`${D}page=${p}&per_page=${y}`,C)),R=i.useMemo(()=>[{id:"1",name:"Invoice No",selector:"invoice_no",sortable:!0},{id:"2",name:"Date",selector:"date",sortable:!0},{id:"3",name:"Name",selector:"name",sortable:!0},{id:"4",name:"Description",selector:"description",sortable:!0},{id:"5",name:"Income Category",selector:"income_category",sortable:!0},{id:"6",name:"Note",selector:"note",sortable:!0},{id:"7",name:"Amount",selector:"amount",sortable:!0}],[]),k=()=>{if(!a){S.error("Select required dates",{duration:1e3}),g("textDanger");return}if(!r){S.error("Select required dates",{duration:1e3}),u("textDanger");return}const D=a.format("YYYY-MM-DD"),C=r.format("YYYY-MM-DD");d(`${qc}?from_date=${D}&to_date=${C}&`),w(p=>({...p,page:1}))};return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Search Income"})}),e.jsx(j,{p:3,children:e.jsxs(n.Row,{gutter:[16,16],alignItems:"end",children:[e.jsx(n.Col,{xs:24,md:8,children:e.jsxs(j,{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"From Date"}),e.jsx(n.DatePicker,{value:a,onChange:D=>{s(D),g("")},style:Li,allowClear:!1})]})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsxs(j,{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"To Date"}),e.jsx(n.DatePicker,{value:r,onChange:D=>{o(D),u("")},style:Li,allowClear:!1})]})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsx(ne,{type:"button",value:"Search",color:"primary",onClick:k})})]})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Income List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:v,data:{newData:x,columns:R,action:!1,Loading:b,error:h,pageController:m}})})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}function yy({data:t}){const{handleUpdate:a,token:s}=t||{},r=i.useContext(Tt),{isLoading:o,data:l}=H(s&&r?[`${Bc}?id=${r}`,s]:null,([v,b])=>K(v,b)),d=i.useMemo(()=>{if(Array.isArray(l))return l[0];const v=l?.data?.data??l?.data??l??{};return Array.isArray(v)?v[0]:v??{}},[l]),[c,g]=i.useState({incomehead:"",description:""}),[f,u]=i.useState(!1);i.useEffect(()=>{d&&g({incomehead:d?.income_category||d?.incomehead||"",description:d?.description||""})},[d]);const m=(v,b)=>{g(h=>({...h,[v]:b}))},w=async v=>{v.preventDefault(),u(!0);try{await a(v)}finally{u(!1)}};return o?e.jsx(j,{pt:4,pb:1,style:{width:350,display:"flex",justifyContent:"center",alignItems:"center"},children:e.jsx(n.Spin,{tip:"Loading..."})}):e.jsxs(j,{pt:4,pb:1,style:{width:350},children:[e.jsx("form",{onSubmit:w,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(j,{children:[e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}}),e.jsx(V,{name:"incomehead",type:"text",label:"Income Head Name",required:!0,value:c.incomehead,onChange:v=>m("incomehead",v.target.value)})]})}),e.jsx(n.Col,{xs:24,children:e.jsx(j,{children:e.jsx(V,{name:"description",type:"text",label:"Description",required:!0,value:c.description,onChange:v=>m("description",v.target.value)})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justifyContent:"flex-end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:f?"Saving...":"Submit",color:"primary",disabled:f})})})})})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}function gy({token:t}){const[a,s]=i.useState({incomehead:"",description:""}),[r,o]=i.useState(!1),[l,d]=i.useState(!1),[c,g]=i.useState({page:1,rowsPerPage:10}),f=(p,y)=>{g({...c,page:p,rowsPerPage:parseInt(y,10)})},u=async(p,y)=>{try{await b(Ne(p,y,t),Ke(y)),S.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{S.error("Failed to add the new item.",{duration:1e3})}},{isLoading:m,error:w,data:v,mutate:b}=H(t?[Fc,t,c.page,c.rowsPerPage]:null,([p,y,_,P])=>K(`${p}?page=${_}&per_page=${P}`,y)),h=i.useMemo(()=>[{id:"1",name:"Name",selector:"income_category",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0}],[]),x=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],T=async p=>{try{await b(He(Nc,p,t),ze(p)),S.success("Success! Deleted item.",{duration:1e3,icon:"ðïļ"})}catch{S.error("Failed to delete the item.",{duration:1e3})}},R=async(p,y)=>{try{await b(We(p,y,t)),S.success("Success! Updated item.",{duration:1e3,icon:"ð"})}catch{S.error("Failed to update the item.",{duration:1e3})}},k=async p=>{p.preventDefault();const y=new FormData(p.target);await R(Uc,y),C(!1)},D=async p=>{p.preventDefault(),d(!0);try{await u($c,new FormData(p.target)),s({incomehead:"",description:""})}finally{d(!1)}},C=p=>{o(p)};return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:5,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Income Head"})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:D,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsx(j,{children:e.jsx(V,{name:"incomehead",type:"text",label:"Income Head Name",required:!0,value:a.incomehead,onChange:p=>s(y=>({...y,incomehead:p.target.value}))})})}),e.jsx(n.Col,{xs:24,children:e.jsx(j,{children:e.jsx(V,{name:"description",type:"text",label:"Description",required:!0,value:a.description,onChange:p=>s(y=>({...y,description:p.target.value}))})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justifyContent:"flex-end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:l?"Saving...":"Save",color:"primary",disabled:l})})})})})]})})})]})}),e.jsx(n.Col,{xs:24,md:19,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Income Head List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:f,data:{newData:v,columns:h,action:!0,Loading:m,ActionView:x,error:w,editDesign:e.jsx(yy,{data:{handleUpdate:k,token:t}}),deleteTodoMutation:T,open:r,DrawerUpdate:C}})})]})})]}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const xy=(t,a)=>{const s=String(t??""),r=String(a??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},ml=t=>{const a=en(t);if(a)return a;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}},Bi=(t,a)=>{const s=`${t||""}`.trim();if(!s)return"";if(/^https?:\/\//i.test(s))return s;const r=ml(a),o=s.startsWith("/")?s.slice(1):s;return xy(ot(),`uploads/school_${r}/branch/expense/${o}`)},qi=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a.map(s=>({value:s?.value??s?.id??"",label:s?.label??s?.name??s?.exp_category??s?.vendor_name??s?.title??""})):[]},zi=[{label:"Cash",value:"cash"},{label:"UPI",value:"upi"},{label:"Phonepay",value:"phonepay"},{label:"Google Pay",value:"google_pay"},{label:"Net Banking",value:"net_banking"},{label:"Cheque",value:"cheque"},{label:"Demand Draft",value:"demand_draft"}];function by({data:t}){const{handleUpdate:a,token:s}=t||{},r=i.useContext(Tt),{isLoading:o,data:l}=H(s&&r?[`${Qc}?id=${r}`,s]:null,([U,B])=>K(U,B)),{data:d}=H(s?[Bo,s]:null,([U,B])=>K(U,B)),{data:c}=H(s?[qo,s]:null,([U,B])=>K(U,B)),g=i.useMemo(()=>qi(d),[d]),f=i.useMemo(()=>qi(c),[c]),u=i.useMemo(()=>{if(Array.isArray(l))return l[0];const U=l?.data?.data??l?.data??l??{};return Array.isArray(U)?U[0]:U??{}},[l]),[m,w]=i.useState(!1),[v,b]=i.useState(!1),[h,x]=i.useState(""),[T,R]=i.useState(""),k=async U=>{U.preventDefault(),w(!0);try{await a(U,r)}finally{w(!1)}},[D,C]=i.useState({expense_head:"",vendor:"",name:"",invoice_no:"",date:te(),amount:"",payment_mode:"",note:"",doc:""});i.useEffect(()=>{u&&C({expense_head:u?.exp_head_id||"",vendor:u?.fk_vendor_id||"",name:u?.name||"",invoice_no:u?.invoice_no||"",date:u?.date?te(u.date):te(),amount:u?.amount||"",payment_mode:u?.payment_mode||"",note:u?.note||"",doc:u?.documents||""})},[u]);const p=(U,B)=>{C(A=>({...A,[U]:B}))},y=g.find(U=>String(U.value)===String(D.expense_head))??null,_=f.find(U=>String(U.value)===String(D.vendor))??null,P=zi.find(U=>String(U.value)===String(D.payment_mode))??null;return o?e.jsx(j,{pt:4,pb:1,style:{width:550,display:"flex",justifyContent:"center",alignItems:"center"},children:e.jsx(n.Spin,{tip:"Loading..."})}):e.jsxs(j,{pt:4,pb:1,style:{width:550},children:[e.jsx("form",{onSubmit:k,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Edit Expense"})}),e.jsx(j,{p:2,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsxs(j,{children:[e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}}),e.jsx(Q,{label:"Expense Head",options:g,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"expense_head",required:!0,value:y,onChange:U=>p("expense_head",U?.value||"")})]})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{label:"Vendor",options:f,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"vendor",value:_,onChange:U=>p("vendor",U?.value||"")})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"name",type:"text",label:"Name",required:!0,value:D.name,onChange:U=>p("name",U.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"invoice_no",type:"text",label:"Invoice Number",required:!0,value:D.invoice_no,onChange:U=>p("invoice_no",U.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",value:D.date,Desplay:"Date",name:"date",required:!0,onChange:U=>p("date",U)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"amount",type:"number",label:"Amount",required:!0,value:D.amount,onChange:U=>p("amount",U.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{label:"Payment Mode",options:zi,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"payment_mode",required:!0,value:P,onChange:U=>p("payment_mode",U?.value||"")})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(lt,{name:"note",label:"Description",rows:3,value:D.note,onChange:U=>p("note",U.target.value)})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsxs(j,{children:[e.jsx(n.Upload,{action:`${ot()}/uploadfile.php`,name:"file",data:{filepath:`uploads/school_${ml(s)}/branch/expense`},headers:{Authorization:s},maxCount:1,onChange:U=>{if(U.file.status==="removed"&&p("doc",""),U.file.status==="done"){const B=U.file.response?.data??U.file.response?.file??"";p("doc",String(B??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:D.doc?"Change":"Upload"})}),D.doc&&e.jsx("a",{href:Bi(D.doc,s),target:"_blank",rel:"noreferrer",style:{display:"block",marginTop:8,fontSize:12,color:"#1677ff",textDecoration:"underline"},onClick:U=>{U.preventDefault(),x(Bi(D.doc,s)),R(D.doc||"Document"),b(!0)},children:"View existing document"}),e.jsx("input",{type:"hidden",name:"doc",value:D.doc||"",readOnly:!0})]})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"center",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:m?"Saving...":"Submit",color:"primary",disabled:m})})})})})]})})]})}),e.jsx(n.Modal,{open:v,onCancel:()=>{b(!1),x(""),R("")},footer:null,width:900,closable:!0,children:e.jsxs(j,{p:3,children:[e.jsx(j,{mb:2,children:e.jsx(he,{level:5,children:T||"View Document"})}),h?h.match(/\.pdf(?:[?#]|$)/i)?e.jsx("iframe",{src:h,title:T||"Document Preview",style:{width:"100%",height:"70vh",border:"none"}}):e.jsx("img",{src:h,alt:T||"Document Preview",style:{width:"100%",maxHeight:"70vh",objectFit:"contain"}}):e.jsx(he,{children:"No document found"})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const Yi=t=>{const a=t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},jy=(t,a)=>{const s=String(t??""),r=String(a??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},hl=t=>{const a=en(t);if(a)return a;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}},Sy=(t,a)=>{const s=`${t||""}`.trim();if(!s)return"";if(/^https?:\/\//i.test(s))return s;const r=hl(a),o=s.startsWith("/")?s.slice(1):s;return jy(ot(),`uploads/school_${r}/branch/expense/${o}`)},vy=[{label:"Cash",value:"cash"},{label:"UPI",value:"upi"},{label:"Phonepay",value:"phonepay"},{label:"Google Pay",value:"google_pay"},{label:"Net Banking",value:"net_banking"},{label:"Cheque",value:"cheque"},{label:"Demand Draft",value:"demand_draft"}];function wy({token:t}){const[a,s]=i.useState(""),[r,o]=i.useState(""),[l,d]=i.useState({expense_head:"",vendor:"",name:"",invoice_no:"",date:te(),amount:"",payment_mode:"",note:"",doc:""}),[c,g]=i.useState(!1),[f,u]=i.useState(!1),[m,w]=i.useState({page:1,rowsPerPage:10}),v=(O,M)=>{w({...m,page:O,rowsPerPage:parseInt(M,10)})},b=async(O,M)=>{try{await Ne(O,M,t),R(),S.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{S.error("Failed to add the new item.",{duration:1e3})}},{isLoading:h,error:x,data:T,mutate:R}=H(t?[zc,t,m.page,m.rowsPerPage]:null,([O,M,I,N])=>K(`${O}?page=${I}&per_page=${N}`,M)),k=i.useMemo(()=>[{title:"Sl No",dataIndex:"__serialNumber",key:"sl",sorter:(O,M)=>(O.__serialNumber??0)-(M.__serialNumber??0)},{title:"Name",dataIndex:"name",key:"name",sorter:(O,M)=>String(O.name??"").localeCompare(String(M.name??""))},{title:"Description",dataIndex:"description",key:"description"},{title:"Expense Category",dataIndex:"exp_category",key:"exp_category"},{title:"Invoice No",dataIndex:"invoice_no",key:"invoice_no"},{title:"Note",dataIndex:"note",key:"note"},{title:"Amount",dataIndex:"amount",key:"amount"},{title:"File",dataIndex:"documents",key:"documents",render:(O,M)=>O?e.jsx("span",{style:{textDecoration:"underline",color:"#5080f8",cursor:"pointer"},onClick:()=>window.open(Sy(O,t),"_blank"),children:"View"}):"Not Uploaded"}],[t]),D=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],C=async O=>{try{await He(Wc,O,t),R(),S.success("Success! Deleted item.",{duration:1e3,icon:"ðïļ"})}catch{S.error("Failed to delete the item.",{duration:1e3})}},p=async(O,M,I)=>{try{await R(We(O,M,t)),S.success("Success! Updated item.",{duration:1e3,icon:"ð"}),await I(null)}catch{S.error("Failed to update the item.",{duration:1e3})}},y=async(O,M)=>{O.preventDefault();const I=new FormData(O.target);await p(Vc,I,M),P(!1)},_=async O=>{if(O.preventDefault(),!O.target.date.value)S.error("Select required dates",{duration:1e3}),O.target?.date?.focus(),o("textDanger");else{const M=new FormData(O.target);u(!0);try{await b(Yc,M)}finally{u(!1)}O.target.reset(),d(I=>({...I,date:te()})),s("")}},P=O=>{g(O)},{data:U}=H(t?[Bo,t]:null,([O,M])=>K(O,M)),{data:B}=H(t?[qo,t]:null,([O,M])=>K(O,M)),A=i.useMemo(()=>Yi(U),[U]),F=i.useMemo(()=>Yi(B),[B]);return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Add Expense"})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:_,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{label:"Expense Head",options:A,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"expense_head",required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{label:"Vendor",options:F,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"vendor"})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"name",type:"text",label:"Name",required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"invoice_no",type:"text",label:"Invoice Number",required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD",defaultValue:te(),Desplay:"Date",name:"date",status:r===""?"":"error",classnme:r,onChange:()=>o("")})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(V,{name:"amount",type:"number",label:"Amount",required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(Q,{label:"Payment Mode",options:vy,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"payment_mode",required:!0})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx(j,{children:e.jsx(lt,{name:"note",label:"Description",rows:3})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsxs(j,{children:[e.jsx(n.Upload,{action:`${ot()}/uploadfile.php`,name:"file",data:{filepath:`uploads/school_${hl(t)}/branch/expense`},headers:{Authorization:t},maxCount:1,onChange:O=>{if(O.file.status==="removed"&&s(""),O.file.status==="done"){const M=O.file.response?.data??O.file.response?.file??"";s(String(M??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:a?"Change":"Upload"})}),e.jsx("input",{type:"hidden",name:"doc",value:a||"",readOnly:!0})]})}),e.jsx(n.Col,{xs:24,md:12,className:"buttonCoustom",children:e.jsx(n.Row,{justifyContent:"flex-end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:f?"Saving...":"Save",color:"primary",disabled:f})})})})})]})})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Expense List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:v,data:{newData:T,columns:k,columnstype:"antd",action:!0,Loading:h,ActionView:D,error:x,editDesign:e.jsx(by,{data:{handleUpdate:y,token:t}}),deleteTodoMutation:C,open:c,DrawerUpdate:P}})})]})})]}),e.jsx("style",{children:".noDisplay { display: none; } .textDanger { color: #dc2626; } .buttonCoustom { margin-top: 8px; }"})]})}const _y=[{label:"Paid to",key:"vendor_name"},{label:"Address",key:"address"},{label:"GST Number",key:"gst"},{label:"Bussiness Name",key:"business_name"}],Cy=[{label:"Date",key:"date"},{label:"Voucher Number",key:"voucher_number"},{label:"Payment Mode",key:"payment_mode"}];function Ay({onClick:t}){return e.jsx(n.Button,{type:"primary",icon:e.jsx(ee.PrinterOutlined,{}),onClick:t,children:"Print"})}function Dy({data:t}){const a=i.useMemo(()=>{if(!t)return null;if(Array.isArray(t))return t[0];const s=t?.data?.data??t?.data??t??{};return Array.isArray(s)?s[0]:s},[t]);return e.jsx("div",{style:{width:"100%"},children:e.jsxs("div",{style:{border:"1px solid ",margin:"5px"},children:[e.jsx("div",{style:{display:"flex",alignItems:"center",flexDirection:"column",justifyContent:"center",borderBottom:"1px solid black",fontWeight:"bold",padding:"10px",backgroundColor:"#dfdfdf",fontSize:"18px"},children:"Expense Voucher"}),e.jsx("div",{style:{width:"100%",display:"flex",justifyContent:"center",borderBottom:"1px solid black"},children:e.jsx("div",{style:{width:"90%"},children:e.jsx(It,{})})}),e.jsx("div",{style:{width:"100%",borderBottom:"1px solid black"},children:e.jsxs(n.Row,{style:{paddingLeft:4,paddingRight:4},children:[e.jsx(n.Col,{xs:12,style:{borderRight:"1px solid black",display:"flex",alignItems:"flex-start",flexDirection:"column"},children:_y.map((s,r)=>e.jsxs("div",{style:{marginBottom:4},children:[e.jsx("span",{style:{fontWeight:"bold"},children:s.label}),":"," ",a?.[s.key]]},`vendor${r}`))}),e.jsx(n.Col,{xs:12,style:{display:"flex",alignItems:"flex-end",flexDirection:"column"},children:Cy.map((s,r)=>e.jsxs("div",{style:{marginBottom:4},children:[e.jsx("span",{style:{fontWeight:"bold"},children:s.label}),":"," ",a?.[s.key]]},`payment${r}`))})]})}),e.jsx("div",{style:{width:"100%",borderBottom:"1px solid black"},children:e.jsxs(n.Row,{style:{paddingLeft:4,paddingRight:4},children:[e.jsx(n.Col,{xs:12,style:{borderRight:"1px solid black",display:"flex",alignItems:"flex-start",flexDirection:"column"},children:e.jsxs("div",{children:[e.jsx("span",{style:{fontWeight:"bold"},children:"Description"}),":"," ",a?.note]})}),e.jsx(n.Col,{xs:12,style:{display:"flex",alignItems:"flex-end",flexDirection:"column"},children:e.jsx("div",{children:e.jsx("span",{style:{fontWeight:"bold"},children:"Amount"})})})]})}),e.jsx("div",{style:{width:"100%",borderBottom:"1px solid black"},children:e.jsxs(n.Row,{style:{paddingLeft:4,paddingRight:4},children:[e.jsx(n.Col,{xs:12,style:{borderRight:"1px solid black",display:"flex",alignItems:"flex-start",flexDirection:"column"},children:e.jsxs("div",{children:[e.jsx("span",{style:{fontWeight:"bold"},children:a?.name})," "]})}),e.jsx(n.Col,{xs:12,style:{display:"flex",alignItems:"flex-end",flexDirection:"column"},children:e.jsx("div",{children:a?.amount})})]})}),e.jsx("div",{style:{width:"100%",borderBottom:"1px solid black"},children:e.jsxs(n.Row,{style:{paddingLeft:4,paddingRight:4},children:[e.jsx(n.Col,{xs:12,style:{paddingRight:4,borderRight:"1px solid black",display:"flex",alignItems:"flex-end",flexDirection:"column"},children:e.jsxs("div",{children:[e.jsx("span",{style:{fontWeight:"bold"},children:"Total"})," "]})}),e.jsx(n.Col,{xs:12,style:{display:"flex",alignItems:"flex-end",flexDirection:"column"},children:e.jsxs("div",{children:[e.jsx("span",{style:{fontWeight:"bold"},children:a?.amount})," "]})})]})}),e.jsx("div",{style:{width:"100%",height:"75px",display:"flex",alignItems:"flex-end"},children:e.jsxs(n.Row,{style:{paddingLeft:4,paddingRight:4},justify:"flex-end",align:"flex-end",children:[e.jsx(n.Col,{xs:4,style:{borderTop:"1px solid gray",display:"flex",justifyContent:"center"},children:"Approved by"}),e.jsx(n.Col,{xs:1}),e.jsx(n.Col,{xs:4,style:{borderTop:"1px solid gray",display:"flex",justifyContent:"flex-end"},children:"Signature"})]})})]})})}function Ty({token:t}){const a=i.useMemo(()=>typeof window>"u"?null:new URLSearchParams(window.location.search).get("id")??null,[]),s=i.useRef(null),r=Zt.useReactToPrint({content:()=>s.current}),{isLoading:o,data:l,error:d}=H(t&&a?[Xc,a,t]:null,([c,g,f])=>K(`${c}?id=${g}`,f));return e.jsx(j,{pt:4,pb:1,children:e.jsx(n.Row,{gutter:[16,16],children:e.jsx(n.Col,{xs:24,children:e.jsx("div",{style:{width:"75%"},className:"container",children:e.jsx("div",{className:"row",children:e.jsx("div",{className:"col-lg-12",children:e.jsxs("div",{className:"card",ref:s,children:[e.jsx("div",{style:{width:"100%",display:"flex"},children:o?e.jsx("div",{style:{padding:40,textAlign:"center"},children:e.jsx(n.Spin,{tip:"Loading..."})}):d?e.jsx("div",{style:{padding:40,textAlign:"center"},children:"Error loading data"}):l?.Status==="Success"?e.jsx(Dy,{data:l}):e.jsx("div",{style:{padding:40,textAlign:"center"},children:"No Data Found"})}),e.jsxs("div",{className:"d-print-none mt-4",children:[e.jsx("div",{className:"float-end",children:e.jsx(Ay,{onClick:r})}),e.jsx("div",{className:"float-end",style:{marginRight:"2%"},children:e.jsx(n.Button,{type:"text",onClick:()=>window.history.back(),children:"Back"})})]})]})})})})})})})}const Vi={width:"100%",height:40};function Ry({token:t}){const[a,s]=i.useState(null),[r,o]=i.useState(null),[l,d]=i.useState(""),[c,g]=i.useState(""),[f,u]=i.useState(""),[m,w]=i.useState({page:1,rowsPerPage:10}),v=(D,C)=>{w({...m,page:D,rowsPerPage:parseInt(C,10)})},{isLoading:b,error:h,data:x,mutate:T}=H(t&&l?[l,t,m.page,m.rowsPerPage]:null,([D,C,p,y])=>K(`${D}page=${p}&per_page=${y}`,C)),R=i.useMemo(()=>[{id:"1",name:"Invoice No",selector:"invoice_no",sortable:!0},{id:"2",name:"Date",selector:"date",sortable:!0},{id:"3",name:"Name",selector:"name",sortable:!0},{id:"4",name:"Description",selector:"description",sortable:!0},{id:"5",name:"Expense Category",selector:"exp_category",sortable:!0},{id:"6",name:"Note",selector:"note",sortable:!0},{id:"7",name:"Amount",selector:"amount",sortable:!0}],[]),k=()=>{if(!a){S.error("Select required dates",{duration:1e3}),g("textDanger");return}if(!r){S.error("Select required dates",{duration:1e3}),u("textDanger");return}const D=a.format("YYYY-MM-DD"),C=r.format("YYYY-MM-DD");d(`${eu}?from_date=${D}&to_date=${C}&`),w(p=>({...p,page:1}))};return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Search Expense"})}),e.jsx(j,{p:3,children:e.jsxs(n.Row,{gutter:[16,16],alignItems:"end",children:[e.jsx(n.Col,{xs:24,md:8,children:e.jsxs(j,{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"From Date"}),e.jsx(n.DatePicker,{value:a,onChange:D=>{s(D),g("")},style:Vi,allowClear:!1})]})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsxs(j,{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"To Date"}),e.jsx(n.DatePicker,{value:r,onChange:D=>{o(D),u("")},style:Vi,allowClear:!1})]})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsx(ne,{type:"button",value:"Search",color:"primary",onClick:k})})]})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Expense List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:v,data:{newData:x,columns:R,action:!1,Loading:b,error:h,pageController:m}})})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}function Iy({data:t}){const{handleUpdate:a,token:s}=t||{},r=i.useContext(Tt),{isLoading:o,data:l}=H(s&&r?[`${Zc}?id=${r}`,s]:null,([v,b])=>K(v,b)),d=i.useMemo(()=>{if(Array.isArray(l))return l[0];const v=l?.data?.data??l?.data??l??{};return Array.isArray(v)?v[0]:v??{}},[l]),[c,g]=i.useState({expensehead:"",description:""}),[f,u]=i.useState(!1);i.useEffect(()=>{d&&g({expensehead:d?.exp_category||d?.expensehead||"",description:d?.description||""})},[d]);const m=(v,b)=>{g(h=>({...h,[v]:b}))},w=async v=>{v.preventDefault(),u(!0);try{await a(v)}finally{u(!1)}};return o?e.jsx(j,{pt:4,pb:1,style:{width:350,display:"flex",justifyContent:"center",alignItems:"center"},children:e.jsx(n.Spin,{tip:"Loading..."})}):e.jsxs(j,{pt:4,pb:1,style:{width:350},children:[e.jsx("form",{onSubmit:w,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(j,{children:[e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}}),e.jsx(V,{name:"expensehead",type:"text",label:"Expense Head Name",required:!0,value:c.expensehead,onChange:v=>m("expensehead",v.target.value)})]})}),e.jsx(n.Col,{xs:24,children:e.jsx(j,{children:e.jsx(V,{name:"description",type:"text",label:"Description",required:!0,value:c.description,onChange:v=>m("description",v.target.value)})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justifyContent:"flex-end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:f?"Saving...":"Submit",color:"primary",disabled:f})})})})})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}function ky({token:t}){const[a,s]=i.useState({expensehead:"",description:""}),[r,o]=i.useState(!1),[l,d]=i.useState(!1),[c,g]=i.useState({page:1,rowsPerPage:10}),f=(p,y)=>{g({...c,page:p,rowsPerPage:parseInt(y,10)})},u=async(p,y)=>{try{await b(Ne(p,y,t),Ke(y)),S.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{S.error("Failed to add the new item.",{duration:1e3})}},{isLoading:m,error:w,data:v,mutate:b}=H(t?[Hc,t,c.page,c.rowsPerPage]:null,([p,y,_,P])=>K(`${p}?page=${_}&per_page=${P}`,y)),h=i.useMemo(()=>[{id:"1",name:"Name",selector:"exp_category",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0}],[]),x=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],T=async p=>{try{await b(He(Jc,p,t),ze(p)),S.success("Success! Deleted item.",{duration:1e3,icon:"ðïļ"})}catch{S.error("Failed to delete the item.",{duration:1e3})}},R=async(p,y)=>{try{await b(We(p,y,t)),S.success("Success! Updated item.",{duration:1e3,icon:"ð"})}catch{S.error("Failed to update the item.",{duration:1e3})}},k=async p=>{p.preventDefault();const y=new FormData(p.target);await R(Gc,y),C(!1)},D=async p=>{p.preventDefault(),d(!0);try{await u(Kc,new FormData(p.target)),s({expensehead:"",description:""})}finally{d(!1)}},C=p=>{o(p)};return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:5,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Expense Head"})}),e.jsx(j,{p:3,children:e.jsx("form",{onSubmit:D,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsx(j,{children:e.jsx(V,{name:"expensehead",type:"text",label:"Expense Head Name",required:!0,value:a.expensehead,onChange:p=>s(y=>({...y,expensehead:p.target.value}))})})}),e.jsx(n.Col,{xs:24,children:e.jsx(j,{children:e.jsx(V,{name:"description",type:"text",label:"Description",required:!0,value:a.description,onChange:p=>s(y=>({...y,description:p.target.value}))})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justifyContent:"flex-end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:l?"Saving...":"Save",color:"primary",disabled:l})})})})})]})})})]})}),e.jsx(n.Col,{xs:24,md:19,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Expense Head List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:f,data:{newData:v,columns:h,action:!0,Loading:m,ActionView:x,error:w,editDesign:e.jsx(Iy,{data:{handleUpdate:k,token:t}}),deleteTodoMutation:T,open:r,DrawerUpdate:C}})})]})})]}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}function Py({token:t}){const[a,s]=i.useState(""),[r,o]=i.useState(""),[l,d]=i.useState(""),[c,g]=i.useState(0),[f,u]=i.useState(""),[m,w]=i.useState({page:1,rowsPerPage:10}),v=(P,U)=>{w({...m,page:P,rowsPerPage:parseInt(U,10)})},{isLoading:b,error:h,data:x,mutate:T}=H(t&&f?[f,t,m.page,m.rowsPerPage]:null,([P,U,B,A])=>K(`${P}page=${B}&per_page=${A}`,U)),{data:R}=H(t?[tn,t]:null,([P,U])=>K(P,U)),{data:k}=H(t&&a?[`${an}?class_id=${a}`,t]:null,([P,U])=>K(P,U)),D=i.useMemo(()=>R?Array.isArray(R)?R:Array.isArray(R?.data)?R.data:[]:[],[R]),C=i.useMemo(()=>k?Array.isArray(k)?k:Array.isArray(k?.data)?k.data:[]:[],[k]),p=i.useMemo(()=>[{id:"1",name:"First Name",selector:"firstname",sortable:!0},{id:"2",name:"Last Name",selector:"lastname",sortable:!0},{id:"3",name:"Class",selector:"class",sortable:!0},{id:"4",name:"Section",selector:"section",sortable:!0},{id:"5",name:"ID",selector:"username",sortable:!0},{id:"6",name:"Password",selector:"password",sortable:!0}],[]),y=P=>{s(P?.value||""),o(""),g(U=>U+1)},_=P=>{if(P.preventDefault(),!a){S.error("Please select class",{duration:1e3});return}if(!r){S.error("Please select section",{duration:1e3});return}const U=`${tu}?class_id=${a}§ion_id=${r}&keyword=${l||""}&`;u(U),w(B=>({...B,page:1}))};return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Student Login Credential"})}),e.jsx(j,{p:3,children:e.jsxs(n.Row,{gutter:[16,16],align:"bottom",children:[e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{children:e.jsx(Q,{label:"Class",options:D,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:D.find(P=>String(P.value)===String(a))??null,onChange:y})})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{children:e.jsx(Q,{label:"Section",options:C,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:C.find(P=>String(P.value)===String(r))??null,onChange:P=>o(P?.value||"")})})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{children:e.jsx(V,{name:"keyword",type:"text",label:"Search By Keyword",value:l,onChange:P=>d(P.target.value)})})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(ne,{type:"button",value:"Search",color:"primary",onClick:_})})]})})]})}),f&&e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Student List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:v,data:{newData:x,columns:p,action:!1,Loading:b,error:h,pageController:m}})})]})})]}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}function Oy({token:t}){const[a,s]=i.useState(""),[r,o]=i.useState(""),[l,d]=i.useState(""),[c,g]=i.useState(0),[f,u]=i.useState(zo),[m,w]=i.useState(!1),[v,b]=i.useState(null);console.log("Selected Student ID:",m);const[h,x]=i.useState({page:1,rowsPerPage:10}),T=(M,I)=>{x({...h,page:M,rowsPerPage:parseInt(I,10)})},{isLoading:R,error:k,data:D,mutate:C}=H(t&&f?[f,t,h.page,h.rowsPerPage]:null,([M,I,N,Y])=>K(`${M}page=${N}&per_page=${Y}`,I)),{data:p}=H(t?[tn,t]:null,([M,I])=>K(M,I)),{data:y}=H(t&&a?[`${an}?class_id=${a}`,t]:null,([M,I])=>K(M,I)),_=i.useMemo(()=>p?Array.isArray(p)?p:Array.isArray(p?.data)?p.data:[]:[],[p]),P=i.useMemo(()=>y?Array.isArray(y)?y:Array.isArray(y?.data)?y.data:[]:[],[y]),U=i.useMemo(()=>[{id:"1",name:"EC No",selector:"ec_no",sortable:!0},{id:"2",name:"Roll NO",selector:"roll_no",sortable:!0},{id:"3",name:"Admission Number",selector:"admission_no",sortable:!0},{id:"4",name:"First Name",selector:"firstname",sortable:!0},{id:"5",name:"Last Name",selector:"lastname",sortable:!0},{id:"6",name:"Class",selector:"class",sortable:!0},{id:"7",name:"Section",selector:"section",sortable:!0},{id:"8",name:"Father Name",selector:"father_name",sortable:!0},{id:"9",name:"Medicine",selector:"Medical",sortable:!1,render:(M,I)=>e.jsx(n.Button,{type:"primary",size:"small",onClick:()=>{b(I.id),w(!0)},children:"Medical"})}],[]),B=M=>{s(M?.value||""),o(""),g(I=>I+1)},A=M=>{if(M.preventDefault(),!a||!r){S.error("Please select class and section",{duration:1e3});return}const I=`${Vo}?cID=${a}&sID=${r}&page=${h.page}&per_page=${h.rowsPerPage}&`;u(I),x(N=>({...N,page:1}))},F=M=>{M.preventDefault();const I=M.target.searchField?.value||"";d(I);const N=`${Yo}?key=${I}&page=${h.page}&per_page=${h.rowsPerPage}&`;u(N),x(Y=>({...Y,page:1}))},O=async M=>{M.preventDefault();const I=new FormData(M.target),N=au;try{await C(addData(N,I,t)),S.success("Medicine added successfully",{duration:1e3}),M.target.reset()}catch{S.error("Failed to add medicine",{duration:1e3})}};return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Medical Report"})}),e.jsx(j,{p:3,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx("form",{onSubmit:A,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:8,children:e.jsx(j,{children:e.jsx(Q,{label:"Class",options:_,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:_.find(M=>String(M.value)===String(a))??null,onChange:B})})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsx(j,{children:e.jsx(Q,{label:"Section",options:P,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:P.find(M=>String(M.value)===String(r))??null,onChange:M=>o(M?.value||"")})})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsx(ne,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx("form",{onSubmit:F,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:16,children:e.jsx(V,{name:"searchField",type:"text",label:"Search By Keyword",value:l,onChange:M=>d(M.target.value)})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsx(ne,{type:"submit",value:"Submit",color:"primary"})})]})})})]})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Student List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:T,data:{newData:D,columns:U,action:!1,Loading:R,error:k,pageController:h}})})]})})]}),e.jsx(n.Drawer,{title:"Medical Report",placement:"right",width:600,open:m,footer:e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsx(ne,{type:"button",value:"Close",color:"default"})})}),children:e.jsx(My,{studentId:v,token:t,onAddMedicine:O})}),e.jsx("style",{children:".noDisplay { display: none; } .buttonCoustom { margin-top: 8px; }"})]})}function My({studentId:t,token:a,onAddMedicine:s}){const{data:r}=H(a&&t?[`${Wo}?id=${t}`,a]:null,([g,f])=>K(g,f)),{data:o}=H(a&&t?[`${nu}?student_id=${t}`,a]:null,([g,f])=>K(g,f)),l=r?.studentBasicDetails?.[0];let d=[];Array.isArray(o?.data)?d=o.data:Array.isArray(o)&&(d=o);const c=[{title:"Medicine",dataIndex:"medicine",key:"medicine"},{title:"Notes",dataIndex:"notes",key:"notes"},{title:"Date",dataIndex:"date_time",key:"date_time"}];return e.jsxs(j,{children:[l&&e.jsxs(j,{mb:3,children:[e.jsxs(he,{level:4,children:["Name: ",l?.firstname," ",l?.lastname]}),e.jsxs("div",{style:{fontSize:15},children:["Class: ",l?.class," (",l?.section,")"]}),e.jsxs("div",{style:{fontSize:15},children:["Admission No: ",l?.admission_no]})]}),e.jsx(he,{level:5,style:{marginBottom:8},children:"Add Medicine"}),e.jsx("form",{onSubmit:s,style:{marginBottom:24},children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(j,{children:[e.jsx(V,{name:"medicine",type:"text",label:"Medicine Name",required:!0}),e.jsx("input",{name:"student_id",type:"hidden",value:t||"",readOnly:!0})]})}),e.jsx(n.Col,{xs:24,children:e.jsx(j,{children:e.jsx(lt,{name:"notes",label:"Note",rows:3})})}),e.jsx(n.Col,{xs:24,children:e.jsx(j,{children:e.jsx(Ue,{format:"YYYY-MM-DD HH:mm",Desplay:"Date",name:"date_time",defaultValue:te()})})}),e.jsx(n.Col,{xs:24,children:e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Add",color:"primary"})})})})})]})}),e.jsx(he,{level:5,style:{marginBottom:8},children:"Previous Medicine"}),e.jsx(n.Table,{size:"small",dataSource:d,pagination:!1,columns:c})]})}const{Group:Wi}=n.Checkbox;function Ey({token:t}){const[a,s]=i.useState(""),[r,o]=i.useState(""),[l,d]=i.useState(""),[c,g]=i.useState(0),[f,u]=i.useState(zo),[m,w]=i.useState(!1),[v,b]=i.useState(null),[h,x]=i.useState({page:1,rowsPerPage:10}),T=(N,Y)=>{x({...h,page:N,rowsPerPage:parseInt(Y,10)})},{isLoading:R,error:k,data:D,mutate:C}=H(t&&f?[f,t,h.page,h.rowsPerPage]:null,([N,Y,z,$])=>K(`${N}page=${z}&per_page=${$}`,Y)),{data:p}=H(t?[tn,t]:null,([N,Y])=>K(N,Y)),{data:y}=H(t&&a?[`${an}?class_id=${a}`,t]:null,([N,Y])=>K(N,Y)),_=i.useMemo(()=>p?Array.isArray(p)?p:Array.isArray(p?.data)?p.data:[]:[],[p]),P=i.useMemo(()=>y?Array.isArray(y)?y:Array.isArray(y?.data)?y.data:[]:[],[y]),U=i.useMemo(()=>[{id:"1",name:"EC No",selector:"ec_no",sortable:!0},{id:"2",name:"Roll NO",selector:"roll_no",sortable:!0},{id:"3",name:"Admission Number",selector:"admission_no",sortable:!0},{id:"4",name:"First Name",selector:"firstname",sortable:!0},{id:"5",name:"Last Name",selector:"lastname",sortable:!0},{id:"6",name:"Class",selector:"class",sortable:!0},{id:"7",name:"Section",selector:"section",sortable:!0},{id:"8",name:"Father Name",selector:"father_name",sortable:!0},{id:"9",name:"Assign Subject",selector:"Assign",sortable:!1,render:(N,Y)=>e.jsx(n.Button,{type:"primary",size:"small",onClick:()=>{b(Y.id),w(!0)},children:"Assign"})}],[]),B=N=>{s(N?.value||""),o(""),g(Y=>Y+1)},A=N=>{if(N.preventDefault(),!a||!r){S.error("Please select class and section",{duration:1e3});return}const Y=`${Vo}?cID=${a}&sID=${r}&page=${h.page}&per_page=${h.rowsPerPage}&`;u(Y),x(z=>({...z,page:1}))},F=N=>{N.preventDefault();const Y=N.target.searchField?.value||"";d(Y);const z=`${Yo}?key=${Y}&page=${h.page}&per_page=${h.rowsPerPage}&`;u(z),x($=>({...$,page:1}))},O=async N=>{N.preventDefault();const Y=new FormData(N.target),z=ru;try{await C(We(z,Y,t)),S.success("Subject updated successfully",{duration:1e3}),N.target.reset(),w(!1)}catch{S.error("Failed to update subject",{duration:1e3})}},M=async N=>{N.preventDefault();const Y=new FormData(N.target),z=Js;try{await C(We(z,Y,t)),S.success("Extra curricular updated successfully",{duration:1e3}),N.target.reset(),w(!1)}catch{S.error("Failed to update extra curricular",{duration:1e3})}},I=N=>{w(N)};return e.jsxs(j,{pt:5,pb:1,children:[e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Assign Student Subject"})}),e.jsx(j,{p:3,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:12,children:e.jsx("form",{onSubmit:A,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:8,children:e.jsx(j,{children:e.jsx(Q,{label:"Class",options:_,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:_.find(N=>String(N.value)===String(a))??null,onChange:B})})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsx(j,{children:e.jsx(Q,{label:"Section",options:P,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:P.find(N=>String(N.value)===String(r))??null,onChange:N=>o(N?.value||"")})})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsx(ne,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(n.Col,{xs:24,md:12,children:e.jsx("form",{onSubmit:F,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:16,children:e.jsx(V,{name:"searchField",type:"text",label:"Search By Keyword",value:l,onChange:N=>d(N.target.value)})}),e.jsx(n.Col,{xs:24,md:8,children:e.jsx(ne,{type:"submit",value:"Submit",color:"primary"})})]})})})]})})]})}),e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Student List"})}),e.jsx(j,{pt:3,children:e.jsx(Ie,{parentCallback:T,data:{newData:D,columns:U,action:!1,Loading:R,error:k,pageController:h}})})]})})]}),m&&e.jsx(Fy,{open:m,DrawerUpdate:I,studentId:v,token:t,onUpdate:O,onUpdate2:M}),e.jsx("style",{children:".noDisplay { display: none; } .buttonCoustom { margin-top: 8px; }"})]})}function Fy({open:t,DrawerUpdate:a,studentId:s,token:r,onUpdate:o,onUpdate2:l}){const[d,c]=i.useState([]),[g,f]=i.useState([]),[u,m]=i.useState([]),[w,v]=i.useState(!1),[b,h]=i.useState([]),[x,T]=i.useState([]),[R,k]=i.useState([]),{trigger:D}=st(Wo,async(U,{arg:B})=>await K(`${U}?id=${B.id}`,r)),{trigger:C}=st(Js,async()=>await K(`${Js}?student_id=${s}`,r)),{trigger:p}=st(su,async(U,{arg:B})=>await K(`${U}?id=${B.id}`,r));i.useEffect(()=>{(async()=>{if(!s)return;v(!0);const B=await D({id:s});B?.studentBasicDetails?.[0];const A=await C(),F=await p({id:s});c(B),m(F),B&&f(A),v(!1)})()},[s,D,C,p]);const y=U=>{T(U);const B=d?.data?.filter(A=>!U.includes(A.value));h(JSON.stringify(B))},_=U=>{k(U)},P=d?.studentBasicDetails?.[0];return!w&&s?e.jsx("div",{style:{position:"fixed",top:0,right:0,width:400,height:"100vh",background:"#fff",boxShadow:"-2px 0 8px rgba(0,0,0,0.15)",zIndex:9999,overflow:"auto"},children:e.jsxs(j,{p:3,children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Edit Assigned Subjects"})}),e.jsxs(j,{p:3,children:[P&&e.jsxs("div",{style:{marginBottom:16},children:[e.jsxs(he,{level:4,children:["Name: ",P?.firstname," ",P?.lastname]}),e.jsxs("div",{style:{fontSize:15},children:["Class: ",P?.class," (",P?.section,")"]}),e.jsxs("div",{style:{fontSize:15},children:["Admission No: ",P?.admission_no]})]}),e.jsx("form",{onSubmit:o,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsxs(n.Col,{xs:24,children:[e.jsx(he,{level:5,children:"Subjects"}),e.jsx(Wi,{options:d?.data?.map(U=>({label:U.label||U.name,value:U.value})),value:x,onChange:y,style:{display:"grid",gap:8}})]}),e.jsxs(n.Col,{xs:24,children:[e.jsx("input",{name:"student_id",type:"hidden",value:s||"",readOnly:!0}),e.jsx("input",{name:"subjectUncheck[]",type:"hidden",value:b,readOnly:!0})]}),d?.data?.length===0?e.jsx(n.Col,{xs:24,children:e.jsx("span",{style:{cursor:"pointer",fontSize:15,color:"blue",textDecoration:"underline"},children:"Please Assign Subject"})}):e.jsx(n.Col,{xs:24,className:"buttonCoustom",children:e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Update",color:"primary"})})})})})]})}),g?.data?.length>0&&e.jsx("form",{onSubmit:l,style:{marginTop:24},children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsxs(n.Col,{xs:24,children:[e.jsx(he,{level:5,children:"Extra Curricular Activities"}),e.jsx(Wi,{options:g?.data?.map(U=>({label:U.label||U.name,value:U.value})),value:R,onChange:_,style:{display:"grid",gap:8}})]}),e.jsx(n.Col,{xs:24,children:e.jsx("input",{name:"student_id",type:"hidden",value:s||"",readOnly:!0})}),e.jsx(n.Col,{xs:24,className:"buttonCoustom",children:e.jsx(n.Row,{justify:"end",children:e.jsx(n.Col,{children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:"Update",color:"primary"})})})})})]})})]})]})}):e.jsx("div",{style:{position:"fixed",top:0,right:0,width:400,height:"100vh",background:"#fff",boxShadow:"-2px 0 8px rgba(0,0,0,0.15)",zIndex:9999,overflow:"auto"},children:e.jsx(j,{p:3,children:e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:200},children:e.jsx(n.Spin,{size:"large"})})})})}function $y({token:t}){const[a,s]=i.useState(""),[r,o]=i.useState(""),[l,d]=i.useState(0),[c,g]=i.useState(null),[f,u]=i.useState(!1),{data:m}=H(t?[tn,t]:null,([p,y])=>K(p,y)),{data:w}=H(t&&a?[`${an}?class_id=${a}`,t]:null,([p,y])=>K(p,y)),{data:v}=H(t?[ou,t]:null,([p,y])=>K(`${p}?page=1&per_page=10`,y)),b=i.useMemo(()=>m?Array.isArray(m)?m:Array.isArray(m?.data)?m.data:[]:[],[m]),h=i.useMemo(()=>w?Array.isArray(w)?w:Array.isArray(w?.data)?w.data:[]:[],[w]),x=i.useMemo(()=>[{id:"1",name:"Category Id",selector:"id",sortable:!0},{id:"2",name:"Category",selector:"category",sortable:!0}],[]),T=p=>{s(p?.value||""),o(""),d(y=>y+1)},R=p=>{o(p?.value||"")},k=()=>{const p=document.createElement("a");p.href="/sample_student.xlsx",p.download="sample_student.xlsx",p.click()},D=p=>{p.fileList.length>0?g(p.fileList[0].originFileObj):g(null)},C=async p=>{if(p.preventDefault(),!a){S.error("Please select class",{duration:1e3});return}if(!r){S.error("Please select section",{duration:1e3});return}if(!c){S.error("Please select file",{duration:1e3});return}u(!0);const y=new FormData;y.append("file",c),y.append("class_id",a),y.append("section_id",r);try{const _=await fc(iu,y,t);_?.Status==="Failed"?S.error(_?.msg||"Upload failed",{duration:2e3}):(S.success(_?.msg||"Upload successful",{duration:2e3}),g(null),s(""),o(""))}catch(_){S.error(_?.response?.data?.msg||"Upload failed",{duration:2e3})}finally{u(!1)}};return e.jsx(j,{pt:5,pb:1,children:e.jsx(n.Row,{gutter:[16,16],children:e.jsx(n.Col,{xs:24,children:e.jsxs(n.Card,{children:[e.jsx(j,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(he,{level:5,style:{margin:0,color:"#fff"},children:"Bulk Upload Students"})}),e.jsxs(j,{p:3,children:[e.jsx(n.Row,{justify:"end",style:{marginBottom:16},children:e.jsx(n.Col,{children:e.jsx(n.Button,{type:"primary",icon:e.jsx(ee.DownloadOutlined,{}),onClick:k,style:{background:"#368fed"},children:"Download Sample Import File"})})}),e.jsxs("div",{style:{marginBottom:16,padding:16,background:"#f5f5f5",borderRadius:8},children:[e.jsx(he,{level:5,style:{marginBottom:8},children:"Information"}),e.jsx("div",{children:"1. Your Excel data should be in the format below. The first line of your Excel file should be the column headers as in the table example. Also make sure that your file is UTF-8 to avoid unnecessary encoding problems."}),e.jsx("div",{children:"2. If the column you are trying to import is date make sure that is formatted in format Y-m-d (2024-01-10)."}),e.jsx("div",{children:"3. Duplicate Admission Number, ec_no, aadhaar_number, (unique) rows will not be imported."}),e.jsx("div",{children:"4. For student Gender use Male, Female value."}),e.jsx("div",{children:"5. For student Blood Group use A+, A-, B+, B-, O+, O-, AB+, AB- value."}),e.jsx("div",{children:"6. * Imported field are admission_no, ec_no, firstname, lastname, roll_no, guardian_phone, aadhaar_number, category_id"})]}),e.jsxs("div",{style:{marginBottom:24},children:[e.jsx(he,{level:5,style:{marginBottom:8},children:"Category Table"}),e.jsx(Ie,{parentCallback:()=>{},data:{newData:v,columns:x,action:!1,Loading:!1,error:null,pageController:{page:1,rowsPerPage:10}}})]}),e.jsx("form",{onSubmit:C,children:e.jsxs(n.Row,{gutter:[16,16],children:[e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{children:e.jsx(Q,{label:"Class",options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0,value:b.find(p=>String(p.value)===String(a))??null,onChange:T})})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsx(j,{children:e.jsx(Q,{label:"Section",options:h,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0,value:h.find(p=>String(p.value)===String(r))??null,onChange:R},`section-${l}`)})}),e.jsx(n.Col,{xs:24,md:6,children:e.jsxs(j,{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"File"}),e.jsx(n.Upload,{beforeUpload:()=>!1,onChange:D,maxCount:1,accept:".xlsx,.xls",children:e.jsx(n.Button,{icon:e.jsx(ee.UploadOutlined,{}),style:{width:"100%"},children:c?c.name:"Select Excel File"})})]})}),e.jsx(n.Col,{xs:24,md:6,style:{display:"flex",alignItems:"flex-end"},children:e.jsx(j,{children:e.jsx(ne,{type:"submit",value:f?"Processing...":"Save",color:"primary",loading:f})})})]})})]})]})})})})}function Uy(){return null}const cs=t=>t??localStorage.getItem("authToken")??"",fl=(t,a)=>{const s=String(t??""),r=String(a??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},yl=()=>JSON.parse(localStorage.getItem("genrall_settings")??"null")?.session_id??"1",Re={uploadNotes:"api/branchapi/Academy/uploadNotes",master:{classes:{dropdown:"api/branchapi/academy/classdropdownlist",table:"api/branchapi/academy/classestableList",add:"api/branchapi/academy/addclasses",edit:"api/branchapi/academy/editclass",remove:"api/branchapi/academy/deleteclass",show:"api/branchapi/academy/classShowdata"},sections:{list:"api/branchapi/academy/sectionlist",table:"api/branchapi/academy/sectiontableList",add:"api/branchapi/academy/addsections",edit:"api/branchapi/academy/editsection",remove:"api/branchapi/academy/deletesection",show:"api/branchapi/academy/sectionShowdata",byClass:"api/branchapi/academy/sectionoftheClass"},subjects:{dropdown:"api/branchapi/Academy/getClassSubjectdropdown",byClassLabelValue:"api/branchapi/Academy/getSubjectsbyClassaslablevalue",table:"api/branchapi/academy/subjecttableList",add:"api/branchapi/academy/addsubjects",edit:"api/branchapi/academy/editsubject",remove:"api/branchapi/academy/deletesubject",show:"api/branchapi/academy/subjectShowdata"},holidays:{table:"api/branchapi/academy/holidayList",add:"api/branchapi/academy/addholidays",edit:"api/branchapi/academy/editholidays",remove:"api/branchapi/academy/deleteholiday",show:"api/branchapi/academy/getByIdholidays"}},assignSubjects:{assign:"api/branchapi/Academy/assign_class_subjects",list:"api/branchapi/academy/getSubjectsbyClass",update:"api/branchapi/academy/updateAssignSubject",editByClass:"api/branchapi/academy/editSubjectsbyClass"},assignByClass:{teacherDropdown:"api/branchapi/topics/getTeacherDropdown",classWithSection:"api/branchapi/academy/getClasswithSection",assignedSubjectsOfTeacher:"api/branchapi/academy/getassignedSubjectsofTeacher",subjectsOfTeacherByTeacherId:"api/branchapi/academy/getSubjectsofTeacherbyTeacherID",assignClassToTeacher:"api/branchapi/academy/assignClasstoTeacher",deleteTeacherSub:"api/branchapi/academy/deleteTeacherSub"},promoteStudents:{searchByClassSection:"api/branchapi/student/currentSessionStudentlist",sessionDropdown:"api/branchapi/generalSettings/sessiondropdown",promote:"api/branchapi/student/promotestudent"},timeGroup:{table:"api/branchapi/academy/getTimeGroupTable",add:"api/branchapi/academy/addTimeGroup",edit:"api/branchapi/academy/editTimeGroup",remove:"api/branchapi/academy/deleteTimeGroup",show:"api/branchapi/academy/getTimeGroupDataById",dropdown:"api/branchapi/academy/getTimeGroupDropDown"},assignTimeGroup:{classIdByTimeGroup:"api/branchapi/academy/getClassIdByTimeGroup",table:"api/branchapi/academy/getAssignedTimeGroupTable",show:"api/branchapi/academy/getAssignedTimeGroupDataById",assign:"api/branchapi/academy/assignTimeGroup"},timetable:{save:"api/timetable/save",byClassSection:"api/timetable/class",teacherTimetable:"api/timetable/teacher/",teachersBySubject:"api/branchapi/Academy/gettechersSubject"},notes:{table:"api/branchapi/Academy/getNotesTable",add:"api/branchapi/Academy/addNotes"},syllabus:{table:"api/branchapi/Academy/getsyllabusTable",add:"api/branchapi/Academy/addsyllabus",edit:"api/branchapi/Academy/editsyllabus",uploadFile:"api/SuperAdmin/uploadFile"},transferCertificate:{studentList:"api/branchapi/student/getstudenttransferCertificateList",addData:"api/branchapi/academy/addtransferCertificatedata",view:"api/branchapi/academy/gettransferCertificateUrl"},coscholastic:{table:"api/branchapi/academy/getcoscholastic",addSkill:"api/branchapi/academy/add_coscholastic_skill",deleteSkill:"api/branchapi/academy/deleteCoscholastic",categoryDropdown:"api/branchapi/academy/coscholastic_categorydropdown",addCategory:"api/branchapi/academy/addcoscholastic_category",deleteCategory:"api/branchapi/academy/coscholasticCategoryDelete"}},Ny=()=>fl(rt(),Re.uploadNotes),Ly=()=>fl(rt(),Re.syllabus.uploadFile),By=async({baseUrl:t,page:a=1,perPage:s=10},r)=>{const o=t.includes("?")?"&":"?",l=`${t}${o}page=${encodeURIComponent(String(a))}&per_page=${encodeURIComponent(String(s))}`;return K(l,cs(r))},At=async(t,a,s,{includeSession:r=!1}={})=>{const o=a instanceof FormData?a:new FormData;return r&&!o.has("session_id")&&o.append("session_id",yl()),Ne(t,o,cs(s))},qt=async(t,a,s,{includeSession:r=!1}={})=>{const o=a instanceof FormData?a:new FormData;return r&&!o.has("session_id")&&o.append("session_id",yl()),We(t,o,cs(s))},zt=async(t,a,s)=>He(t,a,cs(s)),Wn=Re.master.sections,ln=({baseUrl:t,page:a=1,perPage:s=10,token:r})=>H(r&&t?[t,a,s,r]:null,([l,d,c,g])=>By({baseUrl:l,page:d,perPage:c},g)),qy=({token:t,page:a=1,perPage:s=10})=>ln({token:t,baseUrl:Wn.table,page:a,perPage:s}),zy=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]};function Yy({token:t}){const[a,s]=i.useState({page:1,perPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(null),[c]=n.Form.useForm(),{data:g,isLoading:f,mutate:u}=qy({token:t,page:a.page,perPage:a.perPage}),m=i.useMemo(()=>zy(g),[g]),w=i.useMemo(()=>g?.pagination?.total_rows??g?.pagination?.total??m.length??0,[g,m]),v=async R=>{R.preventDefault();const k=new FormData(R.target);try{await At(Wn.add,k,t),S.success("Success! Added new item.",{duration:1e3}),R.target.reset(),u()}catch(D){S.error(D?.response?.data?.msg??D?.message??"Failed to add the new item.",{duration:1500})}},b=async R=>{try{await zt(Wn.remove,R,t),S.success("Success! Deleted item.",{duration:1e3}),u()}catch(k){S.error(k?.response?.data?.msg??k?.message??"Failed to delete the item.",{duration:1500})}},h=R=>{d(R),o(!0),c.setFieldsValue({section:R?.section??""})},x=async R=>{const k=new FormData;k.append("id",String(l?.id??"")),k.append("section",R.section??"");try{await qt(Wn.edit,k,t),S.success("Success! Updated item.",{duration:1e3}),o(!1),d(null),u()}catch(D){S.error(D?.response?.data?.msg??D?.message??"Failed to update the item.",{duration:1500})}},T=i.useMemo(()=>[{title:"Section",dataIndex:"section",key:"section"},{title:"Actions",key:"actions",width:120,render:(R,k)=>e.jsxs(n.Space,{children:[e.jsx(n.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>h(k)}),e.jsx(n.Popconfirm,{title:"Delete this section?",onConfirm:()=>b(k?.id),children:e.jsx(n.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[c]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Drawer,{title:"Edit Section",open:r,onClose:()=>{o(!1),d(null)},width:420,children:e.jsxs(n.Form,{form:c,layout:"vertical",onFinish:x,children:[e.jsx(n.Form.Item,{label:"Section Name",name:"section",rules:[{required:!0,message:"Section Name is required"}],children:e.jsx(n.Input,{placeholder:"Section Name"})}),e.jsxs(n.Space,{children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{o(!1),d(null)},children:"Cancel"})]})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Section"}),children:e.jsx("form",{onSubmit:v,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"text",name:"section",label:"Section Name",required:!0}),e.jsx(ne,{type:"submit",value:"Submit",color:"primary"})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Section List"}),extra:e.jsx(n.Space,{}),children:e.jsx(n.Table,{rowKey:R=>R.id,columns:T,dataSource:m,loading:f,pagination:{current:a.page,pageSize:a.perPage,total:w,showSizeChanger:!0,onChange:(R,k)=>s({page:R,perPage:k})}})})]})}function Vy({token:t}){return e.jsx(Yy,{token:t})}const La=Re.master.classes,Wy=({token:t,page:a=1,perPage:s=10})=>ln({token:t,baseUrl:La.table,page:a,perPage:s}),Hy=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},Ky=t=>Array.isArray(t)?t:Array.isArray(t?.data)?t.data:[];function Gy({token:t}){const[a,s]=i.useState({page:1,perPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(null),[c]=n.Form.useForm(),[g]=n.Form.useForm(),{data:f}=H(t?[Re.master.sections.list,t]:null,([_,P])=>K(_,P)),u=i.useMemo(()=>Ky(f),[f]),m=i.useMemo(()=>u.map(_=>({label:_.label??_.section??String(_.value??""),value:String(_.value??_.id??"")})),[u]),{data:w,isLoading:v,mutate:b}=Wy({token:t,page:a.page,perPage:a.perPage}),h=i.useMemo(()=>Hy(w),[w]),x=i.useMemo(()=>w?.pagination?.total_rows??w?.pagination?.total??h.length??0,[w,h]),{data:T}=H(t&&l?[`${La.show}?id=${encodeURIComponent(String(l))}`,t]:null,([_,P])=>K(_,P)),R=i.useMemo(()=>{const _=T?.data??T;return Array.isArray(_)?_:Array.isArray(_?.data)?_.data:_?[_]:[]},[T]),k=_=>{const P=_?.id??_?.class_id;P&&(d(P),o(!0))};i.useEffect(()=>{if(!r||!R.length)return;const _=R[0],P=R.map(A=>A?.section_id??A?.fk_sectionId??A?.sectionId??A?.section).filter(A=>A!=null&&String(A).trim()!=="").map(A=>String(A)),U=Array.isArray(_?.section_ids)?_.section_ids.map(A=>String(A)):typeof _?.section_ids=="string"?_.section_ids.split(",").map(A=>A.trim()).filter(Boolean):Array.isArray(_?.section)?_.section.map(A=>String(A)):[],B=P.length?P:U;g.setFieldsValue({name:_?.class??_?.name??"",section:B})},[r,R,g]);const D=async _=>{const P=new FormData;P.append("name",_.name??""),(_.section??[]).forEach(U=>P.append("section[]",String(U)));try{await At(La.add,P,t),S.success("Success! Added new item.",{duration:1e3}),c.resetFields(),b()}catch(U){S.error(U?.response?.data?.msg??U?.message??"Failed to add the new item.",{duration:1500})}},C=async _=>{const P=new FormData;P.append("id",String(l??"")),P.append("name",_.name??""),(_.section??[]).forEach(U=>P.append("section[]",String(U)));try{await qt(La.edit,P,t),S.success("Success! Updated item.",{duration:1e3}),o(!1),d(null),b()}catch(U){S.error(U?.response?.data?.msg??U?.message??"Failed to update the item.",{duration:1500})}},p=async _=>{try{await zt(La.remove,_,t),S.success("Success! Deleted item.",{duration:1e3}),b()}catch(P){S.error(P?.response?.data?.msg??P?.message??"Failed to delete the item.",{duration:1500})}},y=i.useMemo(()=>[{title:"Class",dataIndex:"class",key:"class",render:(_,P)=>_??P?.name??""},{title:"Section",dataIndex:"sections",key:"sections",render:_=>_??""},{title:"Actions",key:"actions",width:120,render:(_,P)=>e.jsxs(n.Space,{children:[e.jsx(n.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>k(P)}),e.jsx(n.Popconfirm,{title:"Delete this class?",onConfirm:()=>p(P?.id),children:e.jsx(n.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Drawer,{title:"Edit Class",open:r,onClose:()=>{o(!1),d(null)},width:520,children:e.jsxs(n.Form,{form:g,layout:"vertical",onFinish:C,children:[e.jsx(n.Form.Item,{label:"Class",name:"name",rules:[{required:!0,message:"Class is required"}],children:e.jsx(n.Input,{placeholder:"Class"})}),e.jsx(n.Form.Item,{label:"Sections",name:"section",rules:[{required:!0,message:"Please select at least one section"}],children:e.jsx(n.Checkbox.Group,{options:m})}),e.jsxs(n.Space,{children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{o(!1),d(null)},children:"Cancel"})]})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Class"}),children:e.jsx(n.Form,{form:c,layout:"vertical",onFinish:D,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(n.Form.Item,{name:"name",label:"Class",rules:[{required:!0,message:"Class is required"}],children:e.jsx(n.Input,{placeholder:"Class"})}),e.jsx(n.Form.Item,{name:"section",label:"Sections",rules:[{required:!0,message:"Select at least one section"}],children:e.jsx(n.Checkbox.Group,{options:m})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Class List"}),children:e.jsx(n.Table,{rowKey:_=>_.id,columns:y,dataSource:h,loading:v,pagination:{current:a.page,pageSize:a.perPage,total:x,showSizeChanger:!0,onChange:(_,P)=>s({page:_,perPage:P})}})})]})}function Jy({token:t}){return e.jsx(Gy,{token:t})}const Ba=Re.master.subjects,Qy=({token:t,page:a=1,perPage:s=10})=>ln({token:t,baseUrl:Ba.table,page:a,perPage:s}),Xy=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},Hi=[{value:"Practical",label:"Practical"},{value:"Theory",label:"Theory"}],Ki=[{value:"Main",label:"Main"},{value:"Additional",label:"Minor/Additional"},{value:"extra_curricular_activities",label:"Extra Curricular Activities"}];function Zy({token:t}){const[a,s]=i.useState({page:1,perPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(null),[c]=n.Form.useForm(),[g]=n.Form.useForm(),{data:f,isLoading:u,mutate:m}=Qy({token:t,page:a.page,perPage:a.perPage}),w=i.useMemo(()=>Xy(f),[f]),v=i.useMemo(()=>f?.pagination?.total_rows??f?.pagination?.total??w.length??0,[f,w]),{data:b,isLoading:h}=H(t&&l?[`${Ba.show}?id=${encodeURIComponent(String(l))}`,t]:null,([p,y])=>K(p,y)),x=i.useMemo(()=>{const p=b?.data??b;return Array.isArray(p)?p[0]:p??null},[b]);i.useEffect(()=>{if(!r||!x)return;const p=[];["yes","1","true"].includes(String(x?.is_practical??"").toLowerCase())&&p.push("Practical"),["yes","1","true"].includes(String(x?.is_theory??"").toLowerCase())&&p.push("Theory"),g.setFieldsValue({name:x?.name??"",subject_type:x?.subject_type??x?.type??"",type:"",subject_types:p,code:x?.code??""})},[r,x,g]);const T=async p=>{const y=p?.type??p?.subject_type??"",_=Array.isArray(p?.subject_types)?p.subject_types:[],P={name:p?.name??"",subject_type:y,type:y,subject_types:_,code:p?.code??"",is_practical:_.includes("Practical")?"yes":"no",is_theory:_.includes("Theory")?"yes":"no"};try{await Ne(Ba.add,P,t),S.success("Success! Added new item.",{duration:1e3}),c.resetFields(),m()}catch(U){S.error(U?.response?.data?.msg??U?.message??"Failed to add the new item.",{duration:1500})}},R=async p=>{const y=new FormData,_=p?.type??p?.subject_type??"",P=Array.isArray(p?.subject_types)?p.subject_types:[];y.append("id",String(l??"")),y.append("name",p.name??""),y.append("subject_type",p.subject_type??""),y.append("subject_type",_),y.append("type",_),y.append("code",p.code??""),y.append("is_practical",P.includes("Practical")?"yes":"no"),y.append("is_theory",P.includes("Theory")?"yes":"no");try{await qt(Ba.edit,y,t),S.success("Success! Updated item.",{duration:1e3}),o(!1),d(null),m()}catch(U){S.error(U?.response?.data?.msg??U?.message??"Failed to update the item.",{duration:1500})}},k=async p=>{try{await zt(Ba.remove,p,t),S.success("Success! Deleted item.",{duration:1e3}),m()}catch(y){S.error(y?.response?.data?.msg??y?.message??"Failed to delete the item.",{duration:1500})}},D=p=>{const y=p?.id;y&&(d(y),o(!0))},C=i.useMemo(()=>[{title:"Subject Name",dataIndex:"name",key:"name"},{title:"Subject",dataIndex:"subject_type",key:"subject_type"},{title:"Subject Code",dataIndex:"code",key:"code"},{title:"Subject Type",key:"subject_types",render:(p,y)=>{const _=[],P=y?.subject_types;Array.isArray(P)?P.forEach(O=>{const M=String(O??"").trim();if(!M)return;const I=M.toLowerCase();["yes","1","true"].includes(I)||_.push(M)}):typeof P=="string"&&P.split(",").map(O=>O.trim()).filter(Boolean).forEach(O=>{const M=O.toLowerCase();["yes","1","true"].includes(M)||_.push(O)});const U=["yes","1","true"].includes(String(y?.is_practical??"").toLowerCase()),B=["yes","1","true"].includes(String(y?.is_theory??"").toLowerCase());U&&_.push("Practical"),B&&_.push("Theory");const A=_.map(O=>String(O??"").trim()).filter(Boolean).map(O=>O.toLowerCase()==="practical"?"Practical":O.toLowerCase()==="theory"?"Theory":O),F=Array.from(new Set(A));return F.length?F.join(", "):"-"}},{title:"Actions",key:"actions",width:120,render:(p,y)=>e.jsxs(n.Space,{children:[e.jsx(n.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>D(y)}),e.jsx(n.Popconfirm,{title:"Delete this subject?",onConfirm:()=>k(y?.id),children:e.jsx(n.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Drawer,{title:"Edit Subject",open:r,onClose:()=>{o(!1),d(null)},width:560,children:h?e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:200},children:e.jsx(n.Spin,{size:"large"})}):e.jsxs(n.Form,{form:g,layout:"vertical",onFinish:R,children:[e.jsx(n.Form.Item,{label:"Subject Name",name:"name",rules:[{required:!0,message:"Subject Name is required"}],children:e.jsx(V,{placeholder:"Subject Name"})}),e.jsx(n.Form.Item,{label:"Subject",name:"subject_type",rules:[{required:!0,message:"Select subject category"}],children:e.jsx(n.Radio.Group,{options:Ki})}),e.jsx(n.Form.Item,{label:"Subject Type",name:"subject_types",rules:[{required:!0,type:"array",min:1,message:"Please choose at least one field"}],children:e.jsx(n.Checkbox.Group,{options:Hi})}),e.jsx(n.Form.Item,{label:"Subject Code",name:"code",children:e.jsx(V,{placeholder:"Subject Code"})}),e.jsxs(n.Space,{children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{o(!1),d(null)},children:"Cancel"})]})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Subject"}),children:e.jsx(n.Form,{form:c,layout:"vertical",onFinish:T,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(n.Form.Item,{name:"name",label:"Subject Name",rules:[{required:!0,message:"Subject Name is required"}],children:e.jsx(V,{placeholder:"Subject Name"})}),e.jsx(n.Form.Item,{name:"subject_type",label:"Subject",rules:[{required:!0,message:"Select subject"}],children:e.jsx(n.Radio.Group,{options:Ki})}),e.jsx(n.Form.Item,{name:"subject_types",label:"Subject Type",rules:[{required:!0,type:"array",min:1,message:"Please choose at least one field"}],children:e.jsx(n.Checkbox.Group,{options:Hi})}),e.jsx(n.Form.Item,{name:"code",label:"Subject Code",children:e.jsx(V,{placeholder:"Subject Code"})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Subject List"}),children:e.jsx(n.Table,{rowKey:p=>p.id,columns:C,dataSource:w,loading:u,pagination:{current:a.page,pageSize:a.perPage,total:v,showSizeChanger:!0,onChange:(p,y)=>s({page:p,perPage:y})}})})]})}function eg({token:t}){return e.jsx(Zy,{token:t})}const qa=Re.master.holidays,tg=({token:t,page:a=1,perPage:s=10})=>ln({token:t,baseUrl:qa.table,page:a,perPage:s}),ag=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},Rn={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function ng({token:t}){const[a,s]=i.useState({page:1,perPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(null),[c]=n.Form.useForm(),[g]=n.Form.useForm(),{data:f,isLoading:u,mutate:m}=tg({token:t,page:a.page,perPage:a.perPage}),w=i.useMemo(()=>ag(f),[f]),v=i.useMemo(()=>f?.pagination?.total_rows??f?.pagination?.total??w.length??0,[f,w]),{data:b}=H(t&&l?[`${qa.show}?id=${encodeURIComponent(String(l))}`,t]:null,([C,p])=>K(C,p)),h=i.useMemo(()=>{const C=b?.data??b;return Array.isArray(C)?C[0]:C??null},[b]);i.useEffect(()=>{r&&h&&g.setFieldsValue({title:h?.holiday_title??"",description:h?.holiday_description??"",from:h?.start_date?te(h.start_date):null,to:h?.end_date?te(h.end_date):null})},[r,h,g]);const x=async C=>{const p=new FormData;p.append("title",C.title??""),p.append("description",C.description??""),p.append("from",C.from?te(C.from).format("YYYY-MM-DD"):""),p.append("to",C.to?te(C.to).format("YYYY-MM-DD"):"");try{await At(qa.add,p,t,{includeSession:!0}),S.success("Success! Added new item.",{duration:1e3}),c.resetFields(),m()}catch(y){S.error(y?.response?.data?.msg??y?.message??"Failed to add the new item.",{duration:1500})}},T=async C=>{const p=new FormData;p.append("id",String(l??"")),p.append("title",C.title??""),p.append("description",C.description??""),p.append("from",C.from?te(C.from).format("YYYY-MM-DD"):""),p.append("to",C.to?te(C.to).format("YYYY-MM-DD"):"");try{await qt(qa.edit,p,t,{includeSession:!0}),S.success("Success! Updated item.",{duration:1e3}),o(!1),d(null),m()}catch(y){S.error(y?.response?.data?.msg??y?.message??"Failed to update the item.",{duration:1500})}},R=async C=>{try{await zt(qa.remove,C,t),S.success("Success! Deleted item.",{duration:1e3}),m()}catch(p){S.error(p?.response?.data?.msg??p?.message??"Failed to delete the item.",{duration:1500})}},k=C=>{const p=C?.id;p&&(d(p),o(!0))},D=i.useMemo(()=>[{title:"Holiday Title",dataIndex:"holiday_title",key:"holiday_title"},{title:"Holiday Description",dataIndex:"holiday_description",key:"holiday_description"},{title:"Start From",dataIndex:"start_date",key:"start_date"},{title:"End At",dataIndex:"end_date",key:"end_date"},{title:"Actions",key:"actions",width:120,render:(C,p)=>e.jsxs(n.Space,{children:[e.jsx(n.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>k(p)}),e.jsx(n.Popconfirm,{title:"Delete this holiday?",onConfirm:()=>R(p?.id),children:e.jsx(n.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Drawer,{title:"Edit Holiday",open:r,onClose:()=>{o(!1),d(null)},width:560,children:e.jsxs(n.Form,{form:g,layout:"vertical",onFinish:T,children:[e.jsx(n.Form.Item,{label:"Holiday Title",name:"title",rules:[{required:!0,message:"Holiday Title is required"}],children:e.jsx(V,{placeholder:"Holiday Title"})}),e.jsx(n.Form.Item,{label:"Holiday Description",name:"description",rules:[{required:!0,message:"Holiday Description is required"}],children:e.jsx(V,{placeholder:"Holiday Description"})}),e.jsx(n.Form.Item,{label:"Start From",name:"from",rules:[{required:!0,message:"Start date is required"}],children:e.jsx(n.DatePicker,{format:"YYYY-MM-DD",style:Rn})}),e.jsx(n.Form.Item,{label:"End At",name:"to",rules:[{required:!0,message:"End date is required"}],children:e.jsx(n.DatePicker,{format:"YYYY-MM-DD",style:Rn})}),e.jsxs(n.Space,{children:[e.jsx(ne,{type:"submit",value:"Update",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{o(!1),d(null)},children:"Cancel"})]})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Holidays"}),children:e.jsx(n.Form,{form:c,layout:"vertical",onFinish:x,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(n.Form.Item,{name:"title",label:"Holiday Title",rules:[{required:!0,message:"Holiday Title is required"}],children:e.jsx(V,{placeholder:"Holiday Title"})}),e.jsx(n.Form.Item,{name:"description",label:"Holiday Description",rules:[{required:!0,message:"Holiday Description is required"}],children:e.jsx(lt,{placeholder:"Holiday Description"})}),e.jsx(n.Form.Item,{name:"from",label:"Start From",rules:[{required:!0,message:"Start date is required"}],children:e.jsx(n.DatePicker,{format:"YYYY-MM-DD",style:Rn})}),e.jsx(n.Form.Item,{name:"to",label:"End At",rules:[{required:!0,message:"End date is required"}],children:e.jsx(n.DatePicker,{format:"YYYY-MM-DD",style:Rn})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Holidays List"}),children:e.jsx(n.Table,{rowKey:C=>C.id,columns:D,dataSource:w,loading:u,pagination:{current:a.page,pageSize:a.perPage,total:v,showSizeChanger:!0,onChange:(C,p)=>s({page:C,perPage:p})}})})]})}function sg({token:t}){return e.jsx(ng,{token:t})}const Hn=Re.assignSubjects,rg=({token:t,page:a=1,perPage:s=50})=>ln({token:t,baseUrl:Hn.list,page:a,perPage:s}),Gi=t=>Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:[],ig=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]};function og({token:t}){const[a,s]=i.useState({page:1,perPage:50}),[r,o]=i.useState(null),[l,d]=i.useState([]),[c,g]=i.useState(!1),[f,u]=i.useState(!1),[m,w]=i.useState(null),[v,b]=i.useState([]),{data:h}=H(t?[Re.master.classes.dropdown,t]:null,([O,M])=>K(O,M)),{data:x}=H(t?[Re.master.subjects.dropdown,t]:null,([O,M])=>K(O,M)),T=i.useMemo(()=>Gi(h),[h]),R=i.useMemo(()=>Gi(x),[x]),k=i.useMemo(()=>R.map(O=>({label:O.label??O.subject??String(O.value??""),value:O.value??O.id})),[R]),{data:D,isLoading:C,mutate:p}=rg({token:t,page:a.page,perPage:a.perPage}),y=i.useMemo(()=>ig(D),[D]),_=i.useMemo(()=>D?.pagination?.total_rows??D?.pagination?.total??y.length??0,[D,y]),{data:P}=H(t&&m?[`${Hn.editByClass}?class_id=${encodeURIComponent(String(m))}`,t]:null,([O,M])=>K(O,M));i.useEffect(()=>{if(!f)return;const O=P?.data??P,M=Array.isArray(O)?O:Array.isArray(O?.data)?O.data:[];b(M.map(I=>I.subject_id).filter(Boolean))},[f,P]);const U=async O=>{if(O.preventDefault(),!r?.value){S.error("Please select class",{duration:1200});return}if(!l.length){S.error("Please select subjects",{duration:1200});return}const M=new FormData;M.append("class_id",String(r.value)),l.forEach(I=>M.append("subject[]",String(I)));try{g(!0),await qt(Hn.assign,M,t),S.success("Success! Updated item.",{duration:1e3}),o(null),d([]),p()}catch(I){S.error(I?.response?.data?.msg??I?.message??"Failed to update the item.",{duration:1500})}finally{g(!1)}},B=O=>{O&&(w(O),u(!0))},A=async()=>{if(!m)return;if(!v.length){S.error("Please select subjects",{duration:1200});return}const O=new FormData;O.append("class_id",String(m)),v.forEach(M=>O.append("subject[]",String(M)));try{await qt(Hn.update,O,t),S.success("Success! Updated item.",{duration:1e3}),u(!1),w(null),p()}catch(M){S.error(M?.response?.data?.msg??M?.message??"Failed to update the item.",{duration:1500})}},F=i.useMemo(()=>[{title:"Class",dataIndex:"class",align:"center",width:"15%"},{title:"Subject",dataIndex:"subject_name",width:"70%",render:(O,M)=>e.jsx("div",{style:{paddingLeft:10,paddingRight:10,fontSize:14},children:(M?.subject_name??O??"").split(",").join(", ")})},{title:"Action",width:"10%",render:(O,M)=>e.jsx(n.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>B(M?.class_id)})}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Drawer,{title:"Edit Assigned Subjects",open:f,onClose:()=>{u(!1),w(null)},width:520,extra:e.jsxs(n.Space,{children:[e.jsx(n.Button,{onClick:()=>u(!1),children:"Cancel"}),e.jsx(n.Button,{type:"primary",onClick:A,children:"Update"})]}),children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(Q,{options:T,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",allowSelectAll:!1,value:T.find(O=>String(O.value)===String(m))??null,onChange:()=>{},isDisabled:!0}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Subjects"}),e.jsx(n.Checkbox.Group,{options:k,value:v,onChange:b})]})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Assign Subject"}),children:e.jsx("form",{onSubmit:U,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Q,{options:T,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",required:!0,allowSelectAll:!1,value:r,onChange:O=>o(O??null)}),e.jsxs("div",{style:{gridColumn:"1 / -1"},children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Subjects"}),e.jsx(n.Checkbox.Group,{options:k,value:l,onChange:d})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:c?"Please Wait..":"Save",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Assigned Subject List"}),children:e.jsx(n.Table,{rowKey:O=>O.id,columns:F,dataSource:y,loading:C,pagination:{current:a.page,pageSize:a.perPage,total:_,showSizeChanger:!0,onChange:(O,M)=>s({page:O,perPage:M})}})})]})}function lg({token:t}){return e.jsx(og,{token:t})}const ma=Re.assignByClass,gl=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(typeof t?.data?.Status=="string"&&Array.isArray(t?.data?.data))return t.data.data;if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},Ma=t=>gl(t),dg=t=>gl(t),Ea=t=>Array.isArray(t)?t:t==null||t===""?[]:[t];function cg({token:t}){const[a,s]=i.useState(null),[r,o]=i.useState(null),[l,d]=i.useState(null),[c,g]=i.useState("No"),[f,u]=i.useState([]),[m,w]=i.useState([]),[v,b]=i.useState(null),[h,x]=i.useState(null),[T,R]=i.useState(!1),[k,D]=i.useState(""),{data:C}=H(t?[ma.teacherDropdown,t]:null,([le,ie])=>K(le,ie)),{data:p}=H(t?[Re.master.classes.dropdown,t]:null,([le,ie])=>K(le,ie)),{data:y}=H(t&&h?[h,t]:null,([le,ie])=>K(le,ie)),{data:_}=H(t&&v?[v,t]:null,([le,ie])=>K(le,ie)),P=i.useMemo(()=>Ma(C),[C]),U=i.useMemo(()=>Ma(p),[p]),B=i.useMemo(()=>Ma(y),[y]),A=i.useMemo(()=>Ma(_),[_]),{data:F}=H(t&&a&&r&&l?[`${ma.subjectsOfTeacherByTeacherId}?teacher_id=${encodeURIComponent(String(a))}&class_id=${encodeURIComponent(String(r))}§ion_id=${encodeURIComponent(String(l))}`,t]:null,([le,ie])=>K(le,ie)),O=F?.data??F??null;i.useEffect(()=>{O&&(u(Array.isArray(O?.subject_ids)?O.subject_ids:[]),g(O?.isClassTeacher||"No"),w([]))},[O]);const{data:M}=H(t?[ma.classWithSection,t]:null,([le,ie])=>K(le,ie)),I=i.useMemo(()=>Ma(M),[M]),[N,Y]=i.useState(null),[z,$]=i.useState({page:1,perPage:25});i.useEffect(()=>{N||I?.[0]&&Y(`${I[0].class_id}val${I[0].section_id}`)},[I,N]);const E=i.useMemo(()=>typeof window>"u"?"1":JSON.parse(localStorage.getItem("genrall_settings")??"null")?.session_id??"1",[]),L=i.useMemo(()=>{if(!N)return null;const[le,ie]=String(N).split("val");if(!le||!ie)return null;const Se=z.page??1,Ee=z.perPage??25;return`${ma.assignedSubjectsOfTeacher}?page=${encodeURIComponent(String(Se))}&per_page=${encodeURIComponent(String(Ee))}&session_id=${encodeURIComponent(String(E))}&class_id=${encodeURIComponent(String(le))}§ion_id=${encodeURIComponent(String(ie))}`},[N,z.page,z.perPage,E]),{data:q,isLoading:W,mutate:se}=H(t&&L?[L,t]:null,([le,ie])=>K(le,ie),{revalidateOnFocus:!1}),Z=i.useMemo(()=>dg(q),[q]),G=i.useMemo(()=>{const le=q?.pagination??q?.data?.pagination??q?.data?.data?.pagination;return le?.total_rows??le?.total??Z.length??0},[q,Z]),J=async le=>{if(le.preventDefault(),D(""),!a||!r||!l){S.error("Please select Teacher, Class and Section",{duration:1200});return}if(!Array.isArray(f)||f.length===0){D("error"),S.error("Please Select Subject",{duration:1200});return}const ie=new FormData;ie.append("teacher_id",String(a)),ie.append("class_id",String(r)),ie.append("section_id",String(l)),ie.append("isClassTeacher",String(c??"No")),Ea(f).forEach(Se=>ie.append("subject_ids[]",String(Se))),Ea(m).forEach(Se=>ie.append("delete_subject[]",String(Se)));try{await At(ma.assignClassToTeacher,ie,t,{includeSession:!0}),S.success("Success! Added new item.",{duration:1e3}),D(""),se()}catch(Se){S.error(Se?.response?.data?.msg??Se?.message??"Failed to add the new item.",{duration:1500})}},re=async le=>{try{await zt(ma.deleteTeacherSub,le,t),S.success("Success! Deleted item.",{duration:1e3}),se(),window.location.reload()}catch(ie){S.error(ie?.response?.data?.msg??ie?.message??"Failed to delete the item.",{duration:1500})}},de=le=>{const ie=Array.isArray(le?.child)?le.child:[],Se=[{title:"Subject",dataIndex:"subject",key:"subject",align:"center"},{title:"Subject Code",dataIndex:"code",key:"code",align:"center"},{title:"Action",key:"action",align:"center",render:(Ee,Qe)=>e.jsx(n.Popconfirm,{title:"Delete this subject?",onConfirm:()=>re(Qe?.id),children:e.jsx(n.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})}];return e.jsx("div",{style:{margin:12},children:e.jsx(n.Table,{columns:Se,bordered:!0,size:"small",dataSource:ie,pagination:!1,rowKey:Ee=>Ee.id})})},Ce=[{title:"Teacher Name",dataIndex:"teacher_name",key:"teacher_name",align:"center",render:(le,ie)=>e.jsxs("div",{children:[ie.teacher_name,ie.classTeacher==="Yes"?e.jsx("span",{style:{fontWeight:700},children:" (Class Teacher)"}):null]})}],oe=i.useMemo(()=>(I??[]).map(le=>({label:le.label??`${le.class_name??""} ${le.section_name??""}`.trim(),key:`${le.class_id}val${le.section_id}`,children:e.jsx(n.Table,{size:"small",columns:Ce,bordered:!0,dataSource:Array.isArray(Z)?Z:[],loading:W,rowKey:ie=>ie.id,expandable:{expandedRowRender:de},pagination:{current:z.page,pageSize:z.perPage,total:G,showSizeChanger:!0,onChange:(ie,Se)=>$({page:ie,perPage:Se})}})})),[I,z.page,z.perPage,Z,W,G]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(320px, 380px) 1fr",gap:20},children:[e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Assign by Class"}),children:e.jsx("form",{onSubmit:J,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(Q,{options:P,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Teachers",name:"teacher_id",required:!0,allowSelectAll:!1,value:P.find(le=>String(le.value)===String(a))??null,onChange:le=>s(le?.value??null)}),e.jsx(Q,{options:U,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",required:!0,allowSelectAll:!1,value:U.find(le=>String(le.value)===String(r))??null,onChange:le=>{const ie=le?.value??null;o(ie),d(null),b(ie?`${Re.master.subjects.byClassLabelValue}?class_id=${encodeURIComponent(String(ie))}`:null),x(ie?`${Re.master.sections.byClass}?class_id=${encodeURIComponent(String(ie))}`:null),R(Se=>!Se)}}),e.jsx(Q,{options:B,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",required:!0,allowSelectAll:!1,value:B.find(le=>String(le.value)===String(l))??null,onChange:le=>d(le?.value??null)},`section_${T}`),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Is Class Teacher?"}),(()=>{const le=[{label:"Yes",value:"Yes"},{label:"No",value:"No"}];return e.jsx(Q,{style:{width:"100%"},options:le,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:le.find(ie=>String(ie.value)===String(c??"No"))??le[1],onChange:ie=>g(ie?.value??"No")})})()]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Subject"}),e.jsx(Q,{isMulti:!0,style:{width:"100%"},placeholder:"select Subject",options:A,value:(A??[]).filter(le=>Ea(f).some(ie=>String(ie)===String(le.value))),onChange:(le,ie)=>{const Ee=(Array.isArray(le)?le:[]).map(Me=>Me?.value).filter(Me=>Me!=null&&Me!=="");u(Ee);const Qe=Array.isArray(O?.subject_ids)?O.subject_ids.map(String):[],be=ie?.removedValue?.value,ve=ie?.option?.value;(ie?.action==="remove-value"||ie?.action==="pop-value")&&be!=null&&Qe.includes(String(be))&&w(Me=>Array.from(new Set([...Ea(Me).map(String),String(be)]))),ie?.action==="select-option"&&ve!=null&&Qe.includes(String(ve))&&w(Me=>Ea(Me).filter(Ye=>String(Ye)!==String(ve)))}},`subjects_${T}`),k?e.jsx("div",{style:{color:"#ff4d4f",marginTop:6,fontSize:12},children:"Please select subject"}):null]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Submit",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Assign Teacher List"}),children:e.jsx(n.Tabs,{activeKey:N??void 0,onChange:le=>{Y(le),$(ie=>({...ie,page:1}))},items:oe,type:"card",size:"small"})})]})]})}function ug({token:t}){return e.jsx(cg,{token:t})}const Fa=Re.timeGroup,pg=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]},Ut={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function In(t){if(!t)return null;const a=te(String(t),["h:mm a","HH:mm:ss","HH:mm"],!0);return a.isValid()?a:null}function Nt(t){return t?te(t).format("h:mm a"):""}function mg({token:t}){const[a,s]=i.useState({page:1,perPage:50}),[r,o]=i.useState(!1),[l,d]=i.useState(null),[c]=n.Form.useForm(),[g]=n.Form.useForm(),f=`${Fa.table}?page=${encodeURIComponent(String(a.page))}&per_page=${encodeURIComponent(String(a.perPage))}`,{data:u,isLoading:m,mutate:w}=H(t?[f,t]:null,([y,_])=>K(y,_)),v=i.useMemo(()=>pg(u),[u]),b=i.useMemo(()=>u?.pagination?.total_rows??u?.pagination?.total??v.length??0,[u,v]),{data:h,isLoading:x}=H(t&&l?[`${Fa.show}?id=${encodeURIComponent(String(l))}`,t]:null,([y,_])=>K(y,_)),T=i.useMemo(()=>{const y=h?.data??h;return Array.isArray(y)?y[0]:y??null},[h]);i.useEffect(()=>{r&&T&&g.setFieldsValue({title:T?.title??"",start_time_from:In(T?.start_time_from),start_time_to:In(T?.start_time_to),end_time_from:In(T?.end_time_from),end_time_to:In(T?.end_time_to)})},[r,T,g]);const R=async y=>{const _=new FormData;_.append("title",y.title??""),_.append("start_time_from",Nt(y.start_time_from)),_.append("start_time_to",Nt(y.start_time_to)),_.append("end_time_from",Nt(y.end_time_from)),_.append("end_time_to",Nt(y.end_time_to));try{await At(Fa.add,_,t),S.success("Success! Added new item.",{duration:1e3}),c.resetFields(),w()}catch(P){S.error(P?.response?.data?.msg??P?.message??"Failed to add the new item.",{duration:1500})}},k=async y=>{const _=new FormData;_.append("id",String(l??"")),_.append("title",y.title??""),_.append("start_time_from",Nt(y.start_time_from)),_.append("start_time_to",Nt(y.start_time_to)),_.append("end_time_from",Nt(y.end_time_from)),_.append("end_time_to",Nt(y.end_time_to));try{await qt(Fa.edit,_,t),S.success("Success! Updated item.",{duration:1e3}),o(!1),d(null),w()}catch(P){S.error(P?.response?.data?.msg??P?.message??"Failed to update the item.",{duration:1500})}},D=async y=>{try{await zt(Fa.remove,y,t),S.success("Success! Deleted item.",{duration:1e3}),w()}catch(_){S.error(_?.response?.data?.msg??_?.message??"Failed to delete the item.",{duration:1500})}},C=y=>{y?.id&&(d(y.id),o(!0))},p=i.useMemo(()=>[{title:"Title",dataIndex:"title",align:"center"},{title:"Start Time From",dataIndex:"start_time_from",align:"center"},{title:"Start Time To",dataIndex:"start_time_to",align:"center"},{title:"End Time From",dataIndex:"end_time_from",align:"center"},{title:"End Time To",dataIndex:"end_time_to",align:"center"},{title:"Action",align:"center",width:120,render:(y,_)=>e.jsxs(n.Space,{children:[e.jsx(n.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>C(_)}),e.jsx(n.Popconfirm,{title:"Delete this time group?",onConfirm:()=>D(_?.id),children:e.jsx(n.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Drawer,{title:"Edit Time Group",open:r,onClose:()=>{o(!1),d(null)},width:520,children:x?e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:200},children:e.jsx(n.Spin,{size:"large"})}):e.jsxs(n.Form,{form:g,layout:"vertical",onFinish:k,children:[e.jsx(n.Form.Item,{name:"title",label:"Title",rules:[{required:!0,message:"Title is required"}],children:e.jsx(V,{placeholder:"Title"})}),e.jsx(n.Form.Item,{name:"start_time_from",label:"Start Time From",rules:[{required:!0,message:"Start Time From is required"}],children:e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm a",style:Ut})}),e.jsx(n.Form.Item,{name:"start_time_to",label:"Start Time To",rules:[{required:!0,message:"Start Time To is required"}],children:e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm a",style:Ut})}),e.jsx(n.Form.Item,{name:"end_time_from",label:"End Time From",rules:[{required:!0,message:"End Time From is required"}],children:e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm a",style:Ut})}),e.jsx(n.Form.Item,{name:"end_time_to",label:"End Time To",rules:[{required:!0,message:"End Time To is required"}],children:e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm a",style:Ut})}),e.jsxs(n.Space,{children:[e.jsx(ne,{type:"submit",value:"Submit",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>{o(!1),d(null)},children:"Cancel"})]})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Create Time Group"}),children:e.jsx(n.Form,{form:c,layout:"vertical",onFinish:R,initialValues:{},children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(n.Form.Item,{name:"title",label:"Title",rules:[{required:!0,message:"Title is required"}],children:e.jsx(V,{placeholder:"Title"})}),e.jsx(n.Form.Item,{name:"start_time_from",label:"Start Time From",rules:[{required:!0,message:"Start Time From is required"}],children:e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm a",style:Ut})}),e.jsx(n.Form.Item,{name:"start_time_to",label:"Start Time To",rules:[{required:!0,message:"Start Time To is required"}],children:e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm a",style:Ut})}),e.jsx(n.Form.Item,{name:"end_time_from",label:"End Time From",rules:[{required:!0,message:"End Time From is required"}],children:e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm a",style:Ut})}),e.jsx(n.Form.Item,{name:"end_time_to",label:"End Time To",rules:[{required:!0,message:"End Time To is required"}],children:e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm a",style:Ut})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Submit",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Time Group List"}),children:e.jsx(n.Table,{rowKey:y=>y.id,columns:p,dataSource:v,loading:m,pagination:{current:a.page,pageSize:a.perPage,total:b,showSizeChanger:!0,onChange:(y,_)=>s({page:y,perPage:_})}})})]})}function hg({token:t}){return e.jsx(mg,{token:t})}const $a=Re.assignTimeGroup,fg=Re.timeGroup.dropdown,yg=Re.master.classes.dropdown,Ji=t=>Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:[],gg=t=>{const a=t?.data?.data??t?.data??t??[];return Array.isArray(a)?a:Array.isArray(a?.data)?a.data:[]};function xg({token:t}){const[a,s]=i.useState({page:1,perPage:50}),[r,o]=i.useState(null),[l,d]=i.useState([]),[c,g]=i.useState(""),[f,u]=i.useState(""),[m,w]=i.useState(null),[v,b]=i.useState(!1),[h,x]=i.useState(!1),[T,R]=i.useState(null),[k,D]=i.useState([]),[C,p]=i.useState(""),[y,_]=i.useState(""),{data:P}=H(t?[fg,t]:null,([G,J])=>K(G,J)),{data:U}=H(t?[yg,t]:null,([G,J])=>K(G,J)),B=i.useMemo(()=>Ji(P?.data??P),[P]),A=i.useMemo(()=>Ji(U),[U]),{data:F}=H(t&&m?[m,t]:null,([G,J])=>K(G,J));i.useEffect(()=>{const G=Array.isArray(F?.data)?F.data.map(J=>J.fk_classId):[];G.length&&d(G)},[F]);const O=`${$a.table}?page=${encodeURIComponent(String(a.page))}&per_page=${encodeURIComponent(String(a.perPage))}`,{data:M,isLoading:I,mutate:N}=H(t?[O,t]:null,([G,J])=>K(G,J)),Y=i.useMemo(()=>gg(M),[M]),z=i.useMemo(()=>M?.pagination?.total_rows??M?.pagination?.total??Y.length??0,[M,Y]),{data:$,isLoading:E}=H(t&&T?[`${$a.show}?id=${encodeURIComponent(String(T))}`,t]:null,([G,J])=>K(G,J)),L=$?.data??$??null;i.useEffect(()=>{if(!h||!L)return;const G=Array.isArray(L?.class_ids)?L.class_ids:[];D(G);const J=Array.isArray(B)?B.find(re=>String(re.value)===String(L?.timegroup_id)):null;J&&_(`${J.start_time_from} -> ${J.end_time_from}`)},[h,L,B]);const q=async G=>{if(G.preventDefault(),g(""),!r?.value){S.error("Select Time Group",{duration:1200});return}if(!l.length){g("error"),S.error("Please Select Classes",{duration:1200});return}const J=new FormData;J.append("timegroup_id",String(r.value)),l.forEach(re=>J.append("class_ids[]",String(re)));try{await At($a.assign,J,t),S.success("Success! Added new item.",{duration:1e3}),d([]),o(null),u(""),N()}catch(re){S.error(re?.response?.data?.msg??re?.message??"Failed to add the new item.",{duration:1500})}},W=async()=>{if(p(""),!T)return;if(!k.length){p("error"),S.error("Please Select Classes",{duration:1200});return}const G=new FormData;G.append("id",String(T)),G.append("timegroup_id",String(L?.timegroup_id??"")),k.forEach(J=>G.append("class_ids[]",String(J)));try{await qt($a.assign,G,t),S.success("Success! Updated item.",{duration:1e3}),x(!1),R(null),N()}catch(J){S.error(J?.response?.data?.msg??J?.message??"Failed to update the item.",{duration:1500})}},se=G=>{G&&(R(G),x(!0))},Z=i.useMemo(()=>[{title:"Title",dataIndex:"title",align:"center"},{title:"Class Names",dataIndex:"class_names",align:"center"},{title:"Start Time From",dataIndex:"start_time_from",align:"center"},{title:"Start Time To",dataIndex:"start_time_to",align:"center"},{title:"End Time From",dataIndex:"end_time_from",align:"center"},{title:"End Time To",dataIndex:"end_time_to",align:"center"},{title:"Action",align:"center",width:90,render:(G,J)=>J?.class_names?e.jsx(n.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>se(J?.id)}):null}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Drawer,{title:"Edit Assigned Time Group",open:h,onClose:()=>{x(!1),R(null)},width:520,extra:e.jsxs(n.Space,{children:[e.jsx(n.Button,{onClick:()=>x(!1),children:"Cancel"}),e.jsx(n.Button,{type:"primary",onClick:W,children:"Submit"})]}),children:E?e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:200},children:e.jsx(n.Spin,{size:"large"})}):e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(Q,{options:Array.isArray(B)?B:[],closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Select Time Group",name:"timegroup_id",allowSelectAll:!1,value:B.find(G=>String(G.value)===String(L?.timegroup_id))??null,onChange:()=>{},isDisabled:!0}),e.jsx("div",{style:{marginTop:4,fontSize:16},children:y}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Select Classes"}),e.jsx(n.Select,{mode:"multiple",style:{width:"100%"},status:C,value:k,placeholder:"Select Classes",onChange:G=>D(G),options:Array.isArray(A)?A:[]})]})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Assign Time Group"}),children:e.jsx("form",{onSubmit:q,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsxs("div",{children:[e.jsx(Q,{options:Array.isArray(B)?B:[],closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Select Time Group",name:"timegroup_id",required:!0,allowSelectAll:!1,value:r,onChange:G=>{o(G??null),d([]),g(""),G?.value?(w(`${$a.classIdByTimeGroup}?id=${encodeURIComponent(String(G.value))}`),u(`${G.start_time_from} -> ${G.end_time_from}`)):(w(null),u("")),b(J=>!J)}}),e.jsx("div",{style:{marginTop:6},children:f})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Select Classes"}),e.jsx(Q,{isMulti:!0,style:{width:"100%"},status:c,value:(A??[]).filter(G=>Array.isArray(l)&&l.some(J=>String(J)===String(G.value))),placeholder:"Select Classes",onChange:G=>{const J=Array.isArray(G)?G:[];d(J.map(re=>re?.value).filter(re=>re!=null&&re!==""))},options:Array.isArray(A)?A:[]},`class_${v}`)]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Assigned Time group List"}),children:e.jsx(n.Table,{rowKey:G=>G.id,columns:Z,dataSource:Y,loading:I,pagination:{current:a.page,pageSize:a.perPage,total:z,showSizeChanger:!0,onChange:(G,J)=>s({page:G,perPage:J})}})})]})}function bg({token:t}){return e.jsx(xg,{token:t})}const Qs=Re.promoteStudents,jg=({token:t})=>H(t?[Qs.sessionDropdown,t]:null,([a,s])=>K(a,s)),kn=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},Sg=(t,a)=>{const s=t?.pagination??t?.data?.pagination??t?.data?.data?.pagination,r=s?.total_rows??s?.total??s?.totalItems;return Number.isFinite(Number(r))?Number(r):a};function vg({token:t}){const[a]=n.Form.useForm(),[s,r]=i.useState({page:1,perPage:300}),[o,l]=i.useState({classId:null,sectionId:null}),[d,c]=i.useState({sessionId:null,classId:null}),[g,f]=i.useState(!1),[u,m]=i.useState([]),w=i.useMemo(()=>new Set(u),[u]),[v,b]=i.useState({}),[h,x]=i.useState({}),{data:T}=H(t?[Re.master.classes.dropdown,t]:null,([q,W])=>K(q,W)),R=i.useMemo(()=>kn(T),[T]),k=i.useMemo(()=>o.classId?`${Re.master.sections.byClass}?class_id=${encodeURIComponent(String(o.classId))}`:null,[o.classId]),{data:D}=H(t&&k?[k,t]:null,([q,W])=>K(q,W)),C=i.useMemo(()=>kn(D),[D]),p=i.useMemo(()=>d.classId?`${Re.master.sections.byClass}?class_id=${encodeURIComponent(String(d.classId))}`:null,[d.classId]),{data:y}=H(t&&p?[p,t]:null,([q,W])=>K(q,W),{revalidateOnFocus:!1}),_=i.useMemo(()=>kn(y),[y]),{data:P}=jg({token:t}),U=i.useMemo(()=>kn(P),[P]),{trigger:B,data:A,isMutating:F}=st(t?Qs.searchByClassSection:null,(q,{arg:W})=>Jt(q,{arg:W},t)),O=i.useMemo(()=>{const q=A?.data?.data??A?.data??A??[];return Array.isArray(q)?q:Array.isArray(q?.data)?q.data:[]},[A]),M=i.useMemo(()=>Sg(A,O.length??0),[A,O.length]),I=i.useMemo(()=>{const q=new Map;return(Array.isArray(O)?O:[]).forEach(W=>{W?.id!==void 0&&W?.id!==null&&q.set(String(W.id),W)}),q},[O]),N=i.useCallback((q,W)=>{const se=String(q);x(Z=>({...Z,[se]:{...Z?.[se]??{},...W}}))},[]),Y=i.useCallback((q,W)=>{const se=String(q),Z=W==="Leave";b(G=>({...G,[se]:Z}))},[]),z=q=>{const W=q?.class_id?.value??q?.class_id??null,se=q?.section_id?.value??q?.section_id??null;if(!W||!se){S.error("Please select Class and Section",{duration:1200});return}r(Z=>({...Z,page:1})),l({classId:W,sectionId:se}),m([]),b({}),x({})},$=async()=>{if(!d.sessionId||!d.classId){S.error("Please select Session and Class for promotion",{duration:1300});return}if(!Array.isArray(u)||u.length===0){S.error("Please select students to promote",{duration:1200});return}const q=u.map(G=>String(G)).map(G=>{const J=I.get(G)??{},re=!!v?.[G],de=h?.[G]??{},Ce=String(de.current_result??"Pass");if(re){const ie=String(de.leave_date??"");return{student_id:G,current_result:Ce,next_session_status:"Leave",leave_date:ie}}const oe=String(de.roll_no??J?.roll_no??""),le=String(de.section_id??"");return{student_id:G,roll_no:oe,section_id:le,current_result:Ce,next_session_status:"Continue"}});if(q.some(G=>G?.next_session_status==="Leave"&&!String(G?.leave_date??"").trim())){S.error("Leave date is required for Leave students.",{duration:1500});return}if(q.some(G=>G?.next_session_status==="Continue"&&!String(G?.section_id??"").trim())){S.error("Section is required for Continue students.",{duration:1500});return}const Z={class_id:String(d.classId),session_id:String(d.sessionId),students:q};try{const G=await We(Qs.promote,Z,t);if(G?.Status&&String(G.Status)!=="success")throw new Error(G?.msg||"Failed to update");S.success("Success! Updated.",{duration:1e3});const J=Number(G?.success_count??0)+Number(G?.leave_count??0),re=s.page===Math.ceil((Number(M)||0)/s.perPage||1),de=J>0&&J===O.length&&O.length===u.length,Ce=re&&de&&s.page>1?s.page-1:s.page;r(oe=>({...oe,page:Ce})),B?.({cID:o.classId,sID:o.sectionId,page:Ce,per_page:s.perPage}),m([]),b({}),x({})}catch(G){S.error(G?.response?.data?.msg??G?.message??"Failed to update",{duration:1500})}},E=i.useMemo(()=>[{title:"Admission No",dataIndex:"admission_no",key:"admission_no",width:140},{title:"Roll No",dataIndex:"roll_no",key:"roll_no",width:120,render:(q,W)=>{const se=String(W?.id??""),Z=w.has(se),G=!!v?.[se],re=(h?.[se]??{}).roll_no??(G?"":W?.roll_no??"");return e.jsx(n.Input,{value:Z?re:W?.roll_no,style:Z?{textAlign:"center"}:{textAlign:"center",border:"none",background:"transparent",cursor:"default"},disabled:!Z||G,onChange:de=>N(se,{roll_no:de.target.value})})}},{title:"Name",dataIndex:"firstname",key:"name",render:(q,W)=>`${W?.firstname??""} ${W?.lastname??""}`.trim()},{title:"Section",dataIndex:"section",key:"section",width:160,render:(q,W)=>{const se=String(W?.id??""),Z=w.has(se),G=!!v?.[se],re=(h?.[se]??{}).section_id??"",de=Array.isArray(_)?_:[];return e.jsx(n.Select,{options:de,placeholder:Z&&!G?"Select Section":"Section",disabled:!Z||G,value:Z&&!G&&re||void 0,style:{width:"100%"},onChange:Ce=>N(se,{section_id:Ce})},`section_${se}_${g}_${G?"L":"C"}`)}},{title:"Current Result",dataIndex:"current_result",key:"current_result",width:160,render:(q,W)=>{const se=String(W?.id??""),Z=w.has(se),G=h?.[se]??{},J=String(G.current_result??"Pass");return e.jsxs(n.Radio.Group,{value:J,disabled:!Z,buttonStyle:"solid",onChange:re=>N(se,{current_result:re.target.value}),children:[e.jsx(n.Radio.Button,{value:"Pass",children:"Pass"}),e.jsx(n.Radio.Button,{value:"Fail",children:"Fail"})]})}},{title:"Next Session Status",dataIndex:"next_session_status",key:"next_session_status",width:220,render:(q,W)=>{const se=String(W?.id??""),Z=w.has(se),G=!!v?.[se],J=h?.[se]??{},re=String(J.leave_date??"");return e.jsxs("div",{style:{display:"grid",gap:6},children:[e.jsxs(n.Radio.Group,{value:G?"Leave":"Continue",disabled:!Z,buttonStyle:"solid",onChange:de=>Y(se,de.target.value),children:[e.jsx(n.Radio.Button,{value:"Continue",children:"Continue"}),e.jsx(n.Radio.Button,{value:"Leave",children:"Leave"})]}),Z&&G&&e.jsx(n.DatePicker,{style:{width:"100%"},value:re?te(re):null,onChange:de=>N(se,{leave_date:de?de.format("YYYY-MM-DD"):""}),placeholder:"Leave date"})]})}}],[Y,v,h,w,g,_,N]),L=i.useMemo(()=>({selectedRowKeys:u,onChange:q=>m((Array.isArray(q)?q:[]).map(W=>String(W)))}),[u]);return i.useEffect(()=>{!o.classId||!o.sectionId||B&&B({cID:o.classId,sID:o.sectionId,page:s.page,per_page:s.perPage})},[s.page,s.perPage,B,o.classId,o.sectionId]),e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Promote Students"}),children:e.jsx(n.Form,{form:a,layout:"vertical",onFinish:z,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(n.Form.Item,{name:"class_id",label:"Class",rules:[{required:!0,message:"Class is required"}],getValueFromEvent:q=>q,children:e.jsx(Q,{options:R,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:q=>{const W=q?.value??null;a.setFieldValue("section_id",null),l({classId:W,sectionId:null})}})}),e.jsx(n.Form.Item,{name:"section_id",label:"Section",rules:[{required:!0,message:"Section is required"}],getValueFromEvent:q=>q,children:e.jsx(Q,{options:C,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Promote Students In Next Session"}),extra:e.jsx(Vt,{actions:["export","print"],onExport:()=>{},onPrint:()=>window.print()}),children:e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsxs(n.Typography.Text,{children:["Selected: ",u.length]}),e.jsx(n.Typography.Text,{type:"secondary",children:"Select students â set Continue/Leave â Save"})]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Q,{label:"Session",options:U,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:U.find(q=>String(q.value)===String(d.sessionId))??null,onChange:q=>c(W=>({...W,sessionId:q?.value??null}))}),e.jsx(Q,{label:"Class",options:R,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:R.find(q=>String(q.value)===String(d.classId))??null,onChange:q=>{const W=q?.value??null;c(se=>({...se,classId:W})),f(se=>!se)}}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"button",value:"Save",color:"primary",onClick:$})})]}),e.jsx(n.Table,{rowKey:q=>String(q.id),rowSelection:L,columns:E,dataSource:O,loading:F,pagination:{current:s.page,pageSize:s.perPage,total:M,showSizeChanger:!0,onChange:(q,W)=>{r({page:q,perPage:W}),m([]),b({}),x({})}}})]})})]})}function wg({token:t}){return e.jsx(vg,{token:t})}const fa=Re.coscholastic,_g=({token:t})=>H(t?[fa.table,t]:null,([a,s])=>K(a,s),{revalidateOnFocus:!1}),Cg=({token:t})=>H(t?[fa.categoryDropdown,t]:null,([a,s])=>K(a,s),{revalidateOnFocus:!1}),Qi=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]};function Ag({token:t}){const[a,s]=i.useState(""),[r,o]=i.useState(null),[l,d]=i.useState(null),c=i.useRef(null),{data:g}=H(t?[Re.master.classes.dropdown,t]:null,([y,_])=>K(y,_)),f=i.useMemo(()=>Qi(g),[g]),{data:u,isLoading:m,mutate:w}=_g({token:t}),v=i.useMemo(()=>{const y=u?.data?.data??u?.data??u??[];return Array.isArray(y)?y:Array.isArray(y?.data)?y.data:[]},[u]),{data:b,mutate:h}=Cg({token:t}),x=i.useMemo(()=>Qi(b),[b]),T=i.useMemo(()=>(Array.isArray(x)?x:[]).map(y=>({value:y?.value??y?.id,label:y?.label??y?.title??""})),[x]),R=async()=>{const y=String(a??"").trim();if(!y){S.error("Please enter category title",{duration:1200});return}try{await Ne(fa.addCategory,{title:y},t),S.success("Success! Added category.",{duration:1e3}),s(""),h()}catch(_){S.error(_?.response?.data?.msg??_?.message??"Failed to add category",{duration:1500})}},k=async y=>{try{await zt(fa.deleteCategory,y,t),S.success("Success! Deleted category.",{duration:1e3}),h()}catch(_){S.error(_?.response?.data?.msg??_?.message??"Failed to delete category",{duration:1500})}},D=async y=>{if(y.preventDefault(),!r){S.error("Please select Category",{duration:1200});return}if(!l){S.error("Please select Class",{duration:1200});return}if(!y?.target?.skill?.value){S.error("Please enter Skill Name",{duration:1200});return}const P=new FormData(y.target);P.append("scholastic_catid",String(r)),P.append("class_id",String(l));try{await At(fa.addSkill,P,t),S.success("Success! Added new item.",{duration:1e3}),y.target.reset(),d(null),w()}catch(U){S.error(U?.response?.data?.msg??U?.message??"Failed to add the new item.",{duration:1500})}},C=async y=>{try{await zt(fa.deleteSkill,y,t),S.success("Success! Deleted item.",{duration:1e3}),w()}catch(_){S.error(_?.response?.data?.msg??_?.message??"Failed to delete the item.",{duration:1500})}},p=i.useMemo(()=>[{title:"Skill Category",dataIndex:"title",key:"title"},{title:"Class",dataIndex:"class",key:"class"},{title:"Skill Name",dataIndex:"skill",key:"skill"},{title:"Action",key:"action",width:90,render:(y,_)=>e.jsx(n.Popconfirm,{title:"Delete this skill?",onConfirm:()=>C(_?.id),children:e.jsx(n.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Co Scholastic Area"}),children:e.jsx("form",{onSubmit:D,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Category"}),e.jsx(Q,{style:{width:"100%"},value:T.find(y=>String(y.value)===String(r))??null,placeholder:"Select Category",onChange:y=>o(y?.value??null),options:T}),e.jsxs("div",{style:{display:"flex",gap:10,alignItems:"center",marginTop:10},children:[e.jsx(V,{placeholder:"New category",ref:c,value:a,onChange:y=>s(y.target.value)}),e.jsx(n.Button,{type:"text",icon:e.jsx(ee.PlusOutlined,{}),onClick:R}),e.jsx(n.Popconfirm,{title:"Delete selected category?",onConfirm:()=>{r&&(k(r),o(null))},children:e.jsx(n.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{}),disabled:!r})})]})]}),e.jsx(Q,{label:"Class",options:f,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:f.find(y=>String(y.value)===String(l))??null,onChange:y=>d(y?.value??null)}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Skill Name"}),e.jsx(V,{name:"skill",placeholder:"Skill Name"})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Co Scholastic Area List"}),extra:e.jsx(Vt,{actions:["export","print"],onExport:()=>{},onPrint:()=>window.print()}),children:e.jsx(n.Table,{rowKey:y=>y.id,columns:p,dataSource:v,loading:m,pagination:!1})})]})}function Dg({token:t}){return e.jsx(Ag,{token:t})}const Tg=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"",xl=({token:t,value:a,onChange:s,action:r,filePath:o})=>{const l=i.useMemo(()=>{if(t)return{Authorization:t}},[t]),d=r??Ny(),c=i.useMemo(()=>{if(!o)return d;const g=d.includes("?")?"&":"?";return`${d}${g}filepath=${encodeURIComponent(o)}`},[d,o]);return e.jsx(n.Upload,{maxCount:1,action:c,headers:l,onChange:g=>{if(g?.file?.status==="done"){const f=Tg(g?.file?.response);f&&s?.(f)}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:a?"Change":"Upload"})})},Xi=Re.notes,Rg=({token:t,url:a})=>H(t&&a?[a,t]:null,([s,r])=>K(s,r),{revalidateOnFocus:!1}),Pn=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},Ig=(t,a)=>{const s=String(t??""),r=String(a??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r};function kg({token:t}){const[a]=n.Form.useForm(),[s]=n.Form.useForm(),[r,o]=i.useState({page:1,perPage:50}),[l,d]=i.useState({classId:null,sectionId:null}),[c,g]=i.useState(!1),[f,u]=i.useState(""),{data:m}=H(t?[Re.master.classes.dropdown,t]:null,([L,q])=>K(L,q)),w=i.useMemo(()=>Pn(m),[m]),v=i.useMemo(()=>l.classId?`${Re.master.sections.byClass}?class_id=${encodeURIComponent(String(l.classId))}`:null,[l.classId]),{data:b}=H(t&&v?[v,t]:null,([L,q])=>K(L,q)),h=i.useMemo(()=>Pn(b),[b]),x=i.useMemo(()=>!l.classId||!l.sectionId?null:`${Xi.table}?class_id=${encodeURIComponent(String(l.classId))}§ion_id=${encodeURIComponent(String(l.sectionId))}&page=${encodeURIComponent(String(r.page))}&per_page=${encodeURIComponent(String(r.perPage))}`,[l.classId,l.sectionId,r.page,r.perPage]),{data:T,isLoading:R,mutate:k}=Rg({token:t,url:x}),D=i.useMemo(()=>{const L=T?.data?.data??T?.data??T??[];return Array.isArray(L)?L:Array.isArray(L?.data)?L.data:[]},[T]),C=i.useMemo(()=>T?.pagination?.total_rows??T?.pagination?.total??D.length??0,[T,D.length]),[p,y]=i.useState(null),[_,P]=i.useState(null),[U,B]=i.useState(null),[A,F]=i.useState(!1),{data:O}=H(t&&U?[U,t]:null,([L,q])=>K(L,q),{revalidateOnFocus:!1}),M=i.useMemo(()=>Pn(O),[O]),{data:I}=H(t&&_?[_,t]:null,([L,q])=>K(L,q)),N=i.useMemo(()=>Pn(I),[I]),Y=L=>{const q=L?.class_id?.value??null,W=L?.section_id?.value??null;!q||!W||(o(se=>({...se,page:1})),d({classId:q,sectionId:W}))},z=()=>{u(""),g(!0),y(null),P(null),B(null),F(L=>!L),s.resetFields()},$=async L=>{const q=L?.class_id?.value??null,W=L?.section_id?.value??null,se=L?.sub_id?.value??null,Z=L?.status?.value??"publish",G=L?.title??"",J=L?.remark??"";if(!q||!W||!se||!G||!J||!f){S.error("Please fill all fields",{duration:1200});return}const re=new FormData;re.append("class_id",String(q)),re.append("section_id",String(W)),re.append("sub_id",String(se)),re.append("title",String(G)),re.append("remark",String(J)),re.append("status",String(Z)),re.append("file",String(f));try{await At(Xi.add,re,t),S.success("Success! Added new item.",{duration:1e3}),g(!1),k()}catch(de){S.error(de?.response?.data?.msg??de?.message??"Failed to add the new item.",{duration:1500})}},E=i.useMemo(()=>[{title:"Title",dataIndex:"title",key:"title",align:"center"},{title:"Remarks",dataIndex:"remark",key:"remark",align:"center"},{title:"Subject",dataIndex:"subject",key:"subject",align:"center"},{title:"Staff Name",dataIndex:"teacher_name",key:"teacher_name",align:"center"},{title:"Status",key:"status",align:"center",render:(L,q)=>{const W=String(q?.status??"").toLowerCase();return e.jsx(n.Tag,{color:W==="publish"?"green":"red",children:q?.status??"-"})}},{title:"File",key:"file",align:"center",render:(L,q)=>{const W=q?.file;if(!W)return"-";const se=Ig(ot(),`uploads/school_${q?.fk_branchID}/student/note/${W}`);return e.jsx("a",{href:se,target:"_blank",rel:"noreferrer",children:"View File"})}},{title:"Date",dataIndex:"date",key:"date",align:"center"}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Modal,{title:"Add Note",open:c,onCancel:()=>g(!1),footer:null,width:820,destroyOnClose:!0,children:e.jsx(n.Form,{form:s,layout:"vertical",onFinish:$,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(n.Form.Item,{label:"Class",name:"class_id",rules:[{required:!0,message:"Class is required"}],getValueFromEvent:L=>L,children:e.jsx(Q,{options:w,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:L=>{const q=L?.value??null;y(q),s.setFieldValue("section_id",null),s.setFieldValue("sub_id",null),B(q?`${Re.master.sections.byClass}?class_id=${encodeURIComponent(String(q))}`:null),P(q?`${Re.master.subjects.dropdown}?class_id=${encodeURIComponent(String(q))}`:null),F(W=>!W)}},`class_${A}`)}),e.jsx(n.Form.Item,{label:"Section",name:"section_id",rules:[{required:!0,message:"Section is required"}],getValueFromEvent:L=>L,children:e.jsx(Q,{options:M,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1},`section_${A}_${p??"none"}`)}),e.jsx(n.Form.Item,{label:"Subject",name:"sub_id",rules:[{required:!0,message:"Subject is required"}],getValueFromEvent:L=>L,children:e.jsx(Q,{options:N,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1},`sub_${A}_${_??"none"}`)}),e.jsx(n.Form.Item,{label:"Title",name:"title",rules:[{required:!0,message:"Title is required"}],children:e.jsx(V,{placeholder:"Title"})}),e.jsx(n.Form.Item,{label:"Remark",name:"remark",rules:[{required:!0,message:"Remark is required"}],children:e.jsx(V,{placeholder:"Remark"})}),e.jsx(n.Form.Item,{label:"Status",name:"status",initialValue:{label:"Publish",value:"publish"},getValueFromEvent:L=>L,children:e.jsx(Q,{options:[{label:"Publish",value:"publish"},{label:"Unpublish",value:"unpublish"}],closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1})}),e.jsx(n.Form.Item,{label:"File",required:!0,children:e.jsx(xl,{token:t,value:f,onChange:u})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:10},children:[e.jsx(ne,{type:"submit",value:"Save",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>g(!1),children:"Cancel"})]})]})})}),e.jsx(n.Card,{title:e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Notes"}),e.jsx(Vt,{actions:["add","export","print","download","filter"],onAdd:z,onPrint:()=>window.print()})]}),children:e.jsx(n.Form,{form:a,layout:"vertical",onFinish:Y,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(n.Form.Item,{label:"Class",name:"class_id",rules:[{required:!0,message:"Class is required"}],getValueFromEvent:L=>L,children:e.jsx(Q,{options:w,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:L=>{const q=L?.value??null;a.setFieldValue("section_id",null),d({classId:q,sectionId:null})}})}),e.jsx(n.Form.Item,{label:"Section",name:"section_id",rules:[{required:!0,message:"Section is required"}],getValueFromEvent:L=>L,children:e.jsx(Q,{options:h,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Note List"}),children:e.jsx(n.Table,{rowKey:L=>L.id,columns:E,dataSource:D,loading:R,pagination:{current:r.page,pageSize:r.perPage,total:C,showSizeChanger:!0,onChange:(L,q)=>o({page:L,perPage:q})}})})]})}function Pg({token:t}){return e.jsx(kg,{token:t})}const Og=({token:t})=>H(t?[Re.promoteStudents.sessionDropdown,t]:null,([a,s])=>K(a,s),{revalidateOnFocus:!1}),Zi=Re.transferCertificate,Es=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},Mg={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"},Eg=(t,a)=>t.inputtype==="Select"?null:t.inputtype==="date"?te():"",eo=t=>[{name:"ncc_details",inputtype:"text",label:"Ncc Details",required:!1},{name:"extra_curricular_activites",inputtype:"text",label:"Games played or extra-curricular activities in which the pupil usually took part",required:!1},{name:"generalConduct",inputtype:"text",label:"General conduct",required:!1},{name:"qualified_class",inputtype:"Select",label:"Qualified class",required:!1},{name:"application_date",inputtype:"date",label:"Date of application for certificate",required:!1},{name:"issue_date",inputtype:"date",label:"Date of issue of certificate",required:!1},{name:"reason_of_leaving",inputtype:"text",label:"Reason for leaving the school",required:!1},{name:"otherRemarks",inputtype:"text",label:"Any other remarks",required:!1},{name:"student_id",inputtype:"hidden",label:"",required:!1,value:t},{name:"qualified_for_promotion",inputtype:"radio",label:"Qualified for promotion",required:!1},{name:"failed",inputtype:"radio",label:"Failed",required:!1},{name:"nationality",inputtype:"text",label:"Nationality",required:!1},{name:"checked_by",inputtype:"text",label:"Checked By",required:!1},{name:"checked_by_designation",inputtype:"text",label:"Checked By Designation",required:!1}],to=t=>[{name:"change_of_school",inputtype:"text",label:"Change of School",required:!1},{name:"character_remark",inputtype:"text",label:"Character",required:!1},{name:"generalConduct",inputtype:"text",label:"General conduct",required:!1},{name:"application_date",inputtype:"date",label:"Date of application for certificate",required:!1},{name:"issue_date",inputtype:"date",label:"Date of issue of certificate",required:!1},{name:"last_attendance",inputtype:"date",label:"Last Class Attendence",required:!1},{name:"otherRemarks",inputtype:"text",label:"Any other remarks",required:!1},{name:"student_id",inputtype:"hidden",label:"",required:!1,value:t},{name:"qualified_for_promotion",inputtype:"radio",label:"Qualified for promotion",required:!1}];function Fg({token:t,transferCertificateViewPath:a="/AcademicsDashboard/TransferCertificateView",onOpenTransferCertificateView:s}){const[r]=n.Form.useForm(),[o]=n.Form.useForm(),[l,d]=i.useState({page:1,perPage:10}),[c,g]=i.useState({classId:null,sectionId:null,sessionId:null}),[f,u]=i.useState(null),[m,w]=i.useState(!1),{data:v}=H(t?[Re.master.classes.dropdown,t]:null,([E,L])=>K(E,L)),b=i.useMemo(()=>Es(v),[v]),{data:h}=H(t&&f?[f,t]:null,([E,L])=>K(E,L)),x=i.useMemo(()=>Es(h),[h]),{data:T}=Og({token:t}),R=i.useMemo(()=>Es(T),[T]),k=i.useMemo(()=>!c.classId||!c.sectionId||!c.sessionId?null:`${Zi.studentList}?class_id=${encodeURIComponent(String(c.classId))}§ion_id=${encodeURIComponent(String(c.sectionId))}&session_id=${encodeURIComponent(String(c.sessionId))}&page=${encodeURIComponent(String(l.page))}&per_page=${encodeURIComponent(String(l.perPage))}`,[c.classId,c.sectionId,c.sessionId,l.page,l.perPage]),{data:D,isLoading:C,mutate:p}=H(t&&k?[k,t]:null,([E,L])=>K(E,L),{revalidateOnFocus:!1,onSuccess:E=>{const L=E?.data?.data??E?.data??[];Array.isArray(L)&&L[0]?.transefer_certificate_id&&O(String(L[0].transefer_certificate_id))}}),y=i.useMemo(()=>{const E=D?.data?.data??D?.data??D??[];return Array.isArray(E)?E:Array.isArray(E?.data)?E.data:[]},[D]),_=i.useMemo(()=>D?.pagination?.total_rows??D?.pagination?.total??y.length??0,[D,y.length]),[P,U]=i.useState(!1),[B,A]=i.useState(null),[F,O]=i.useState("1"),M=E=>{A(E);const L=F==="1"?eo(E):to(E),q={};L.forEach(W=>{q[W.name]=W.value??Eg(W)}),o.setFieldsValue(q),U(!0)},I=async E=>{if(!E)return;if(typeof s=="function")return s(E);const L=`${a}?id=${encodeURIComponent(String(E))}`;window.location.href=L},N=E=>{const L=E?.class_id?.value??null,q=E?.section_id?.value??null,W=E?.session_id?.value??null;if(!L||!q||!W){S.error("Please select Class, Section and Session",{duration:1200});return}d(se=>({...se,page:1})),g({classId:L,sectionId:q,sessionId:W})},Y=async E=>{const L=new FormData;Object.entries(E??{}).forEach(([q,W])=>{if(W!=null){if(te.isDayjs(W)){L.append(q,W.format("YYYY-MM-DD"));return}L.append(q,String(W))}});try{await At(Zi.addData,L,t),S.success("Success! Added new item.",{duration:1e3}),U(!1),A(null),p()}catch(q){S.error(q?.response?.data?.msg??q?.message??"Failed to add the new item.",{duration:1500})}},z=i.useMemo(()=>F==="1"?eo(B):to(B),[F,B]),$=i.useMemo(()=>[{title:"Admission no",dataIndex:"admission_no",key:"admission_no",align:"center"},{title:"Roll NO",dataIndex:"roll_no",key:"roll_no",align:"center"},{title:"Name",dataIndex:"full_name",key:"full_name",align:"center"},{title:"Class",dataIndex:"class",key:"class",align:"center"},{title:"Section",dataIndex:"section",key:"section",align:"center"},{title:"Guardian Name",dataIndex:"guardian_name",key:"guardian_name",align:"center"},{title:"Mobile No",dataIndex:"mobileno",key:"mobileno",align:"center"},{title:"Action",key:"action",align:"center",width:80,render:(E,L)=>e.jsx(n.Button,{type:"text",icon:L?.transfer_certificate_data==="not_present"?e.jsx(ee.EyeOutlined,{}):e.jsx(ee.CheckOutlined,{}),onClick:()=>{L?.transfer_certificate_data==="not_present"?M(L?.id):I(L?.id)}})}],[F]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Modal,{title:"Transfer Certificate",open:P,onCancel:()=>U(!1),footer:null,width:820,destroyOnClose:!0,children:e.jsxs(n.Form,{form:o,layout:"vertical",onFinish:Y,children:[e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(240px, 1fr))",gap:16},children:z.map(E=>E.inputtype==="hidden"?e.jsx(n.Form.Item,{name:E.name,initialValue:E.value??"",style:{display:"none"},children:e.jsx("input",{type:"hidden"})},E.name):E.inputtype==="date"?e.jsx(n.Form.Item,{label:E.label,name:E.name,children:e.jsx(n.DatePicker,{format:"YYYY-MM-DD",style:Mg})},E.name):E.inputtype==="radio"?e.jsx(n.Form.Item,{label:E.label,name:E.name,children:e.jsx(n.Radio.Group,{options:[{label:"Yes",value:"Yes"},{label:"No",value:"No"}]})},E.name):E.inputtype==="Select"?e.jsx(n.Form.Item,{label:E.label,name:E.name,getValueFromEvent:L=>L,children:e.jsx(Q,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1})},E.name):e.jsx(n.Form.Item,{label:E.label,name:E.name,children:e.jsx(V,{placeholder:E.label})},E.name))}),e.jsxs(n.Space,{style:{width:"100%",justifyContent:"flex-end"},children:[e.jsx(ne,{type:"submit",value:"Submit",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>U(!1),children:"Cancel"})]})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Student History"}),children:e.jsx(n.Form,{form:r,layout:"vertical",onFinish:N,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(n.Form.Item,{label:"Class",name:"class_id",rules:[{required:!0,message:"Class is required"}],getValueFromEvent:E=>E,children:e.jsx(Q,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:E=>{const L=E?.value??null;u(L?`${Re.master.sections.byClass}?class_id=${encodeURIComponent(String(L))}`:null),w(q=>!q),r.setFieldValue("section_id",null)}})}),e.jsx(n.Form.Item,{label:"Section",name:"section_id",getValueFromEvent:E=>E,children:e.jsx(Q,{options:x,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1},`section_${m}`)}),e.jsx(n.Form.Item,{label:"Session",name:"session_id",rules:[{required:!0,message:"Session is required"}],getValueFromEvent:E=>E,children:e.jsx(Q,{options:R,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Student List"}),extra:e.jsx(Vt,{actions:["export","print"],onExport:()=>{},onPrint:()=>window.print()}),children:e.jsx(n.Table,{rowKey:E=>E.id,columns:$,dataSource:y,loading:C,pagination:{current:l.page,pageSize:l.perPage,total:_,showSizeChanger:!0,onChange:(E,L)=>d({page:E,perPage:L})}})})]})}function $g({token:t,transferCertificateViewPath:a,onOpenTransferCertificateView:s}){return e.jsx(Fg,{token:t,transferCertificateViewPath:a,onOpenTransferCertificateView:s})}const Ug=({token:t,url:a})=>H(t&&a?[a,t]:null,([s,r])=>K(s,r),{revalidateOnFocus:!1}),Fs=Re.syllabus,ao=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},Ng=(t,a)=>{const s=String(t??""),r=String(a??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r};function Lg({token:t}){const[a]=n.Form.useForm(),[s]=n.Form.useForm(),[r,o]=i.useState({page:1,perPage:50}),[l,d]=i.useState({classId:null}),[c,g]=i.useState(!1),[f,u]=i.useState(null),[m,w]=i.useState(""),{data:v}=H(t?[Re.master.classes.dropdown,t]:null,([I,N])=>K(I,N)),b=i.useMemo(()=>ao(v),[v]),h=i.useMemo(()=>l.classId?`${Fs.table}?class_id=${encodeURIComponent(String(l.classId))}&page=${encodeURIComponent(String(r.page))}&per_page=${encodeURIComponent(String(r.perPage))}`:null,[l.classId,r.page,r.perPage]),{data:x,isLoading:T,mutate:R}=Ug({token:t,url:h}),k=i.useMemo(()=>{const I=x?.data?.data??x?.data??x??[];return Array.isArray(I)?I:Array.isArray(I?.data)?I.data:[]},[x]),D=i.useMemo(()=>x?.pagination?.total_rows??x?.pagination?.total??k.length??0,[x,k.length]),[C,p]=i.useState(null),[y,_]=i.useState(!1),{data:P}=H(t&&C?[C,t]:null,([I,N])=>K(I,N),{revalidateOnFocus:!1}),U=i.useMemo(()=>ao(P),[P]),B=I=>{const N=I?.class_id?.value??null;N&&(o(Y=>({...Y,page:1})),d({classId:N}))},A=()=>{u(null),w(""),p(null),_(I=>!I),s.resetFields(),g(!0)},F=I=>{u(I),w(I?.attchement??"");const N=I?.class_id;p(N?`${Re.master.subjects.dropdown}?class_id=${encodeURIComponent(String(N))}`:null),_(Y=>!Y),s.setFieldsValue({class_id:b.find(Y=>String(Y.value)===String(N))??null,sub_id:U.find(Y=>String(Y.value)===String(I?.sub_id??I?.subject_id))??(I?.sub_id||I?.subject_id?{label:I?.subject_title??"Subject",value:I?.sub_id??I?.subject_id}:null),title:I?.title??"",description:I?.description??""}),g(!0)},O=async I=>{const N=I?.class_id?.value??null,Y=I?.sub_id?.value??null,z=I?.title??"",$=I?.description??"";if(!N||!Y||!z||!$||!m){S.error("Please fill all fields",{duration:1200});return}const E=new FormData;E.append("class_id",String(N)),E.append("sub_id",String(Y)),E.append("title",String(z)),E.append("description",String($)),E.append("file",String(m));try{f?.id?(E.append("id",String(f.id)),await At(Fs.edit,E,t),S.success("Success! Updated item.",{duration:1e3})):(await At(Fs.add,E,t),S.success("Success! Added new item.",{duration:1e3})),g(!1),u(null),R()}catch(L){S.error(L?.response?.data?.msg??L?.message??"Failed to save",{duration:1500})}},M=i.useMemo(()=>[{title:"Title",dataIndex:"title",key:"title",align:"center"},{title:"Description",dataIndex:"description",key:"description",align:"center"},{title:"Subject",dataIndex:"subject_title",key:"subject_title",align:"center"},{title:"File",key:"file",align:"center",render:(I,N)=>{const Y=N?.attchement;if(!Y)return"-";const z=Ng(ot(),`uploads/school_${N?.fk_branchID}/student/syllabus/${Y}`);return e.jsx("a",{href:z,target:"_blank",rel:"noreferrer",children:"View File"})}},{title:"Action",key:"action",width:80,align:"center",render:(I,N)=>e.jsx(n.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>F(N)})}],[U,b]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Modal,{title:f?"Edit Syllabus":"Add Syllabus",open:c,onCancel:()=>{g(!1),u(null),w("")},footer:null,width:820,destroyOnClose:!0,children:e.jsx(n.Form,{form:s,layout:"vertical",onFinish:O,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(n.Form.Item,{label:"Class",name:"class_id",rules:[{required:!0,message:"Class is required"}],getValueFromEvent:I=>I,children:e.jsx(Q,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:I=>{const N=I?.value??null;s.setFieldValue("sub_id",null),p(N?`${Re.master.subjects.dropdown}?class_id=${encodeURIComponent(String(N))}`:null),_(Y=>!Y)}},`class_${f?.id??"add"}_${y}`)}),e.jsx(n.Form.Item,{label:"Subject",name:"sub_id",rules:[{required:!0,message:"Subject is required"}],getValueFromEvent:I=>I,children:e.jsx(Q,{options:U,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1},`sub_${f?.id??"add"}_${y}_${C??"none"}`)}),e.jsx(n.Form.Item,{label:"Title",name:"title",rules:[{required:!0,message:"Title is required"}],children:e.jsx(V,{placeholder:"Title"})}),e.jsx(n.Form.Item,{label:"Description",name:"description",rules:[{required:!0,message:"Description is required"}],children:e.jsx(lt,{placeholder:"Description"})}),e.jsx(n.Form.Item,{label:"File",required:!0,children:e.jsx(xl,{token:t,value:m,onChange:w,action:Ly(),filePath:"student/syllabus"})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:10},children:[e.jsx(ne,{type:"submit",value:"Save",color:"primary"}),e.jsx(n.Button,{type:"text",onClick:()=>g(!1),children:"Cancel"})]})]})})}),e.jsx(n.Card,{title:e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Syllabus"}),e.jsx(Vt,{actions:["add","export","print","download","filter"],onAdd:A,onPrint:()=>window.print()})]}),children:e.jsx(n.Form,{form:a,layout:"vertical",onFinish:B,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(n.Form.Item,{label:"Class",name:"class_id",rules:[{required:!0,message:"Class is required"}],getValueFromEvent:I=>I,children:e.jsx(Q,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Syllabus List"}),children:e.jsx(n.Table,{rowKey:I=>I.id,columns:M,dataSource:k,loading:T,pagination:{current:r.page,pageSize:r.perPage,total:D,showSizeChanger:!0,onChange:(I,N)=>o({page:I,perPage:N})}})})]})}function Bg({token:t}){return e.jsx(Lg,{token:t})}const us=Re.timetable,no=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},so=t=>{if(!t)return"";const a=te(t,"HH:mm:ss");return a.isValid()?a.format("h:mm a"):String(t)},qg=t=>{const a=String(t).trim().toLowerCase();if(!a)return"default";let s=0;for(let o=0;o<a.length;o+=1)s=(s*31+a.charCodeAt(o))%1e5;const r=["magenta","red","volcano","orange","gold","lime","green","cyan","blue","geekblue","purple"];return r[s%r.length]},ro=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],zg=t=>{const a=String(t||"");return a?a.charAt(0).toUpperCase()+a.slice(1):"-"};function Yg({token:t}){const[a,s]=i.useState(null),[r,o]=i.useState(!1),[l,d]=i.useState(null),[c,g]=i.useState(""),[f,u]=i.useState(""),{data:m}=H(t?[Re.master.classes.dropdown,t]:null,([p,y])=>K(p,y)),w=i.useMemo(()=>no(m),[m]),{data:v}=H(t&&a?[a,t]:null,([p,y])=>K(p,y)),b=i.useMemo(()=>no(v),[v]),{data:h,isLoading:x}=H(t&&l?[l,t]:null,([p,y])=>K(p,y),{revalidateOnFocus:!1}),T=i.useMemo(()=>h?.days??h?.data?.days??h?.data?.data?.days??{},[h]),{dataSource:R,daySpanByFirstKey:k}=i.useMemo(()=>{const p=Object.entries(T||{}).slice().sort((P,U)=>ro.indexOf(String(P[0]).toLowerCase())-ro.indexOf(String(U[0]).toLowerCase())),y=new Map,_=[];for(const[P,U]of p){const B=(Array.isArray(U)?U:[]).slice().sort((F,O)=>Number(F?.order_no||0)-Number(O?.order_no||0)),A=B.length;for(let F=0;F<A;F+=1){const O=B[F],M=O?.id||`${P}-${O?.order_no}-${F}`;F===0&&y.set(M,A),_.push({key:M,_dayKey:P,...O})}}return{dataSource:_,daySpanByFirstKey:y}},[T]),D=i.useMemo(()=>[{title:"Day",dataIndex:"_dayKey",key:"_dayKey",width:140,render:(p,y)=>{const _=k.get(y.key);return _===void 0?{children:null,props:{rowSpan:0}}:{children:e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(ee.CalendarOutlined,{style:{color:"#5080f8"}}),e.jsx(n.Tag,{color:"geekblue",style:{margin:0,fontWeight:500},children:zg(p)})]}),props:{rowSpan:_}}}},{title:"Period",dataIndex:"order_no",key:"order_no",width:90,render:p=>e.jsx(n.Tag,{color:"#5080f8",style:{fontWeight:500},children:p})},{title:"Time",key:"time",width:180,render:(p,y)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[e.jsx(ee.ClockCircleOutlined,{style:{color:"#5080f8",fontSize:14}}),e.jsxs(n.Typography.Text,{children:[so(y?.time_from)," - ",so(y?.time_to)]})]})},{title:"Subject",key:"subject",render:(p,y)=>{if(String(y?.is_break)==="1")return e.jsx(n.Tag,{color:"orange",style:{fontWeight:500},children:"Tiffin Break"});const P=y?.subject_name||"-";return e.jsx(n.Tag,{color:qg(P),style:{fontWeight:500},children:P})}},{title:"Teacher",key:"teacher",render:(p,y)=>{const _=String(y?.is_break)==="1";return e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[e.jsx(ee.UserOutlined,{style:{color:"#5080f8",fontSize:14}}),e.jsx(n.Typography.Text,{children:_?"-":y?.teacher_full_name||"-"})]})}},{title:"Room",key:"room_no",width:120,render:(p,y)=>{const _=String(y?.is_break)==="1";return e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[e.jsx(ee.HomeOutlined,{style:{color:"#5080f8",fontSize:14}}),e.jsx(n.Typography.Text,{children:_?"-":y?.room_no||"-"})]})}}],[k]),C=p=>{p.preventDefault();const y=p.target.class_id?.value,_=p.target.section_id?.value;if(!y||!_)return;const P=w.find(F=>String(F.value)===String(y)),U=b.find(F=>String(F.value)===String(_));g(P?.label||""),u(U?.label||"");const A=`${us.byClassSection}/${y}/section/${_}`;d(A)};return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Class / Section Wise Timetable"}),extra:e.jsx(Vt,{actions:["export","print"],onExport:()=>{},onPrint:()=>window.print()}),children:e.jsx("form",{onSubmit:C,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Q,{options:w,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",allowSelectAll:!1,required:!0,onChange:p=>{s(`${Re.master.sections.byClass}?class_id=${encodeURIComponent(String(p?.value??""))}`),o(y=>!y)}}),e.jsx(Q,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",allowSelectAll:!1,required:!0},`section_${r}`),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:c||f?`Timetable: ${c} ${f}`:"Timetable"}),children:e.jsx(n.Table,{size:"middle",bordered:!1,pagination:!1,dataSource:R,columns:D,rowKey:"key",loading:x,scroll:{x:"max-content"}})})]})}const Vg=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},io=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],Wg=t=>{const a=String(t||"");return a?a.charAt(0).toUpperCase()+a.slice(1):"-"},oo=t=>{if(!t)return"";const a=te(t,"HH:mm:ss");return a.isValid()?a.format("h:mm a"):String(t)},Hg=t=>{const a=String(t).trim().toLowerCase();if(!a)return"default";let s=0;for(let o=0;o<a.length;o+=1)s=(s*31+a.charCodeAt(o))%1e5;const r=["magenta","red","volcano","orange","gold","lime","green","cyan","blue","geekblue","purple"];return r[s%r.length]};function Kg({token:t}){const[a,s]=i.useState(null),[r,o]=i.useState(null),{data:l}=H(t?[Re.assignByClass.teacherDropdown,t]:null,([v,b])=>K(v,b)),d=i.useMemo(()=>Vg(l),[l]),{data:c,isLoading:g}=H(t&&r?[r,t]:null,([v,b])=>K(v,b),{revalidateOnFocus:!1}),{dataSource:f,daySpanByFirstKey:u}=i.useMemo(()=>{const b=(Array.isArray(c?.data)&&c.data||Array.isArray(c?.data?.data)&&c.data.data||[]).slice().sort((R,k)=>{const D=io.indexOf(String(R?.day_name||"").toLowerCase()),C=io.indexOf(String(k?.day_name||"").toLowerCase());if(D!==C)return D-C;const p=Number(R?.order_no||0),y=Number(k?.order_no||0);return p!==y?p-y:String(R?.time_from||"").localeCompare(String(k?.time_from||""))}),h=new Map,x=[];let T=0;for(;T<b.length;){const R=String(b[T]?.day_name||"").toLowerCase();let k=T;for(;k<b.length&&String(b[k]?.day_name||"").toLowerCase()===R;)k+=1;const D=k-T;for(let C=T;C<k;C+=1){const p=b[C],y=p?.id||`${R}-${p?.order_no}-${C}`;C===T&&h.set(y,D),x.push({key:y,_dayKey:R,...p})}T=k}return{dataSource:x,daySpanByFirstKey:h}},[c]),m=i.useMemo(()=>[{title:"Day",dataIndex:"_dayKey",key:"_dayKey",width:140,render:(v,b)=>{const h=u.get(b.key);return h===void 0?{children:null,props:{rowSpan:0}}:{children:e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(ee.CalendarOutlined,{style:{color:"#5080f8"}}),e.jsx(n.Tag,{color:"geekblue",style:{margin:0,fontWeight:500},children:Wg(v)})]}),props:{rowSpan:h}}}},{title:"Period",dataIndex:"order_no",key:"order_no",width:90,render:v=>e.jsx(n.Tag,{color:"#5080f8",style:{fontWeight:500},children:v})},{title:"Time",key:"time",width:180,render:(v,b)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[e.jsx(ee.ClockCircleOutlined,{style:{color:"#5080f8",fontSize:14}}),e.jsxs(n.Typography.Text,{children:[oo(b?.time_from)," - ",oo(b?.time_to)]})]})},{title:"Subject",key:"subject",render:(v,b)=>{if(String(b?.is_break)==="1")return e.jsx(n.Tag,{color:"orange",style:{fontWeight:500},children:"Tiffin Break"});const x=b?.subject_name||"-";return e.jsx(n.Tag,{color:Hg(x),style:{fontWeight:500},children:x})}},{title:"Class",key:"class",width:160,render:(v,b)=>e.jsxs(n.Tag,{color:"purple",style:{fontWeight:500},children:[b?.class_name||b?.class_id||"-"," ",b?.section_name?`(${b.section_name})`:""]})},{title:"Room",key:"room_no",width:120,render:(v,b)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[e.jsx(ee.HomeOutlined,{style:{color:"#5080f8",fontSize:14}}),e.jsx(n.Typography.Text,{children:b?.room_no||"-"})]})}],[u]),w=v=>{v.preventDefault();const b=v.target.teacher_id?.value;if(!b)return;s(b);const x=`${us.teacherTimetable}${encodeURIComponent(String(b))}`;o(x)};return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Teacher Wise Timetable"}),extra:e.jsx(Vt,{actions:["export","print"],onExport:()=>{},onPrint:()=>window.print()}),children:e.jsx("form",{onSubmit:w,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Q,{options:d,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Teacher",name:"teacher_id",allowSelectAll:!1,required:!0}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Timetable"}),children:e.jsx(n.Table,{size:"middle",bordered:!1,pagination:!1,dataSource:f,columns:m,rowKey:"key",loading:g,scroll:{x:"max-content"}})})]})}function lo(t){if(!t)return null;const a=String(t).trim().replaceAll(".",":");if(!a)return null;const s=a.toLowerCase(),r=s.includes("am")||s.includes("pm");let o=0,l=0,d=0;if(r){const g=s.replace(/\s+/g," ").match(/^(\d{1,2})\s*:\s*(\d{1,2})(?:\s*:\s*(\d{1,2}))?\s*(am|pm)$/i);if(!g)return null;o=Number.parseInt(g[1],10),l=Number.parseInt(g[2],10),d=Number.parseInt(g[3]||"0",10);const f=g[4].toLowerCase();f==="pm"&&o<12&&(o+=12),f==="am"&&o===12&&(o=0)}else{const c=a.split(":").map(g=>g.trim());if(c.length<2)return null;o=Number.parseInt(c[0],10),l=Number.parseInt(c[1],10),d=Number.parseInt(c[2]||"0",10)}return![o,l,d].every(c=>Number.isFinite(c))||o<0||o>23||l<0||l>59||d<0||d>59?null:te().hour(o).minute(l).second(d).millisecond(0)}function Ua(t,a){const s=Number.parseInt(a,10);return!Number.isFinite(s)||s<=0||!t||!t.isValid?.()?null:t.add(s,"minute")}const Kn=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},za={0:"sunday",1:"monday",2:"tuesday",3:"wednesday",4:"thursday",5:"friday",6:"saturday"},Gg=t=>{const a=za[String(t)];return a?a.charAt(0).toUpperCase()+a.slice(1):String(t)},Jg=({token:t,classId:a,sectionId:s,subjectId:r,value:o,onChange:l,disabled:d})=>{const c=t&&a&&s&&r?`${us.teachersBySubject}?subject_id=${encodeURIComponent(String(r))}&class_id=${encodeURIComponent(String(a))}§ion_id=${encodeURIComponent(String(s))}`:null,{data:g,isLoading:f}=H(c?[c,t]:null,([m,w])=>K(m,w),{revalidateOnFocus:!1}),u=i.useMemo(()=>Kn(g?.data??g).map(w=>({value:w?.value??w?.id,label:w?.label??w?.name??w?.teacher_name??""})),[g]);return e.jsx(n.Select,{placeholder:d?"-":"Select Teacher",loading:f,disabled:d,style:{width:"100%"},options:u,value:o?String(o):void 0,onChange:m=>l?.(m),showSearch:!0,optionFilterProp:"label"})};function Qg({token:t}){const[a]=n.Form.useForm(),[s,r]=i.useState({classId:null,sectionId:null,dayKey:"1",daysEnabled:{0:!1,1:!0,2:!0,3:!0,4:!0,5:!0,6:!0}}),[o,l]=i.useState({startTime:null,endTime:null,duration:40,interval:0,roomNo:"",tiffinEnabled:!1,tiffinAfterPeriod:3,tiffinDuration:20}),[d,c]=i.useState({0:[],1:[],2:[],3:[],4:[],5:[],6:[]}),[g,f]=i.useState(!1),u=i.useMemo(()=>t?Re.master.classes.dropdown:null,[t]),{data:m}=H(u?[u,t]:null,([A,F])=>K(A,F)),w=i.useMemo(()=>Kn(m).map(A=>({value:A?.value??A?.id,label:A?.label??A?.title??""})),[m]),v=i.useMemo(()=>!t||!s.classId?null:`${Re.master.sections.byClass}?class_id=${encodeURIComponent(String(s.classId))}`,[s.classId,t]),{data:b}=H(v?[v,t]:null,([A,F])=>K(A,F)),h=i.useMemo(()=>Kn(b).map(A=>({value:A?.value??A?.id,label:A?.label??A?.title??""})),[b]),x=i.useMemo(()=>!t||!s.classId?null:`${Re.master.subjects.byClassLabelValue}?class_id=${encodeURIComponent(String(s.classId))}`,[s.classId,t]),{data:T}=H(x?[x,t]:null,([A,F])=>K(A,F)),R=i.useMemo(()=>Kn(T).map(A=>({value:A?.value??A?.id,label:A?.label??A?.title??""})),[T]),k=i.useMemo(()=>Array.isArray(d?.[s.dayKey])?d[s.dayKey]:[],[s.dayKey,d]),D=i.useCallback((A,F,O)=>{c(M=>{const I={...M},N=Array.isArray(I[A])?I[A].slice():[];return N[F]={...N[F]??{},...O},I[A]=N,I})},[]),C=i.useCallback((A,F)=>{c(O=>{const M={...O},I=Array.isArray(M[A])?M[A].slice():[];return I.splice(F,1),M[A]=I.map((N,Y)=>({...N,order_no:Y+1})),M})},[]),p=i.useCallback(A=>{c(F=>{const O={...F},M=Array.isArray(O[A])?O[A].slice():[];let I=null,N=null;const Y=M[M.length-1];if(Y?.time_to){const z=lo(Y.time_to),$=Number.parseInt(o.interval,10)||0,E=Number.parseInt(o.duration,10)||0,L=Ua(z,$),q=E>0?Ua(L,E):null;I=L?.isValid?.()?L.format("HH:mm:ss"):null,N=q?.isValid?.()?q.format("HH:mm:ss"):null}return M.push({order_no:M.length+1,subject_id:"",teacher_id:"",room_no:o.roomNo??"",time_from:I,time_to:N,is_break:!1}),O[A]=M,O})},[o.duration,o.interval,o.roomNo]),y=i.useCallback(()=>{const A=o.startTime,F=o.endTime,O=Number.parseInt(o.duration,10),M=Number.parseInt(o.interval,10);if(!A||!A.isValid?.()){S.error("Start time is required",{duration:1500});return}if(!F||!F.isValid?.()){S.error("End time is required",{duration:1500});return}if(!F.isAfter(A)){S.error("End time must be after start time",{duration:1500});return}if(!Number.isFinite(O)||O<=0){S.error("Duration must be a positive number",{duration:1500});return}if(!Number.isFinite(M)||M<0){S.error("Interval must be 0 or more",{duration:1500});return}const I=()=>{const N=[];let Y=A;for(let z=0;z<50;z+=1){const $=Ua(Y,O);if(!$||!$.isValid?.()||$.isAfter(F))break;N.push({order_no:N.length+1,subject_id:"",teacher_id:"",room_no:o.roomNo??"",time_from:Y.format("HH:mm:ss"),time_to:$.format("HH:mm:ss"),is_break:!1});const E=Ua($,M);if(!E||!E.isValid?.()||E.isAfter(F)||E.isSame(F))break;Y=E}if(o.tiffinEnabled){const z=Math.max(0,Number.parseInt(o.tiffinAfterPeriod,10)||0),$=Math.max(0,Number.parseInt(o.tiffinDuration,10)||0),E=Math.min(z,N.length);if(E>0&&$>0){const L=N[E-1],q=L?.time_to?lo(L.time_to):null,W=q?Ua(q,$):null;q?.isValid?.()&&W?.isValid?.()&&!W.isAfter(F)&&N.splice(E,0,{order_no:E+1,subject_id:"",teacher_id:"",room_no:o.roomNo??"",time_from:q.format("HH:mm:ss"),time_to:W.format("HH:mm:ss"),is_break:!0})}}return N.map((z,$)=>({...z,order_no:$+1}))};c(N=>{const Y={...N};return Object.keys(za).forEach(z=>{s.daysEnabled?.[z]&&(Y[z]=I())}),Y}),S.success("Generated schedule",{duration:1e3})},[o,s.daysEnabled]),_=i.useCallback(()=>{const A=localStorage.getItem("genrall_settings"),O=(A?JSON.parse(A):{})?.session_id??"1",M=s.classId,I=s.sectionId,N=Object.keys(za).map(Y=>{const z=(Array.isArray(d?.[Y])?d[Y]:[]).map(($,E)=>({order_no:E+1,subject_id:$?.is_break?0:$?.subject_id??null,teacher_id:$?.is_break?0:$?.teacher_id??null,room_no:$?.room_no??"",time_from:$?.time_from??null,time_to:$?.time_to??null,is_break:$?.is_break?1:0}));return{day:za[Y],class_id:M,section_id:I,session_id:O,args:z}});return{class_id:M,section_id:I,session_id:O,days:N}},[s.classId,s.sectionId,d]),P=i.useCallback(async()=>{if(!s.classId||!s.sectionId){S.error("Please select Class and Section",{duration:1500});return}const A=_(),F=Array.isArray(A?.days)?A.days:[];if(!F.some(I=>Array.isArray(I?.args)&&I.args.length>0)){S.error("No timetable rows to submit",{duration:1500});return}const M=I=>{const N=I?.is_break;return N===1||N==="1"||N===!0?!0:String(N??"").toLowerCase()==="true"};F.some(I=>(Array.isArray(I?.args)?I.args:[]).some(N=>String(N?.time_from??"").trim()&&String(N?.time_to??"").trim()?M(N)?!1:!String(N?.subject_id??"").trim()||!String(N?.teacher_id??"").trim():!0)),f(!0);try{const I=us.save,N=I==="api/timetable/save"?"timetable/save":null,Y=async E=>{const L=await ss(E,A,t);if(L&&typeof L=="object")return L;throw new Error("No response from server")};let z;try{z=await Y(I)}catch{z=await Y(N)}const $=String(z?.msg??"");if(String(z?.Status)==="Success"){if(Array.isArray(z?.data)&&z.data.length===0&&$){S.error($,{duration:3e3});return}S.success($||"Weekly Time Table added successfully!",{duration:1200});return}S.error($||"Failed to add time table",{duration:3e3})}catch(I){S.error(I?.response?.data?.msg??I?.message??"Failed to add time table",{duration:3e3})}finally{f(!1)}},[_,s.classId,s.sectionId,t]),U=i.useMemo(()=>[{title:"Period",dataIndex:"order_no",key:"order_no",width:80},{title:"Time From",dataIndex:"time_from",key:"time_from",width:120,render:A=>A?te(A,"HH:mm:ss").format("h:mm a"):"-"},{title:"Time To",dataIndex:"time_to",key:"time_to",width:120,render:A=>A?te(A,"HH:mm:ss").format("h:mm a"):"-"},{title:"Break",dataIndex:"is_break",key:"is_break",width:90,render:(A,F,O)=>e.jsx(n.Switch,{checked:!!F?.is_break,onChange:M=>{D(s.dayKey,O,{is_break:M,subject_id:M?"":F?.subject_id??"",teacher_id:M?"":F?.teacher_id??""})}})},{title:"Subject",dataIndex:"subject_id",key:"subject_id",width:220,render:(A,F,O)=>e.jsx(n.Select,{placeholder:F?.is_break?"-":"Select Subject",disabled:!!F?.is_break,style:{width:"100%"},options:R,value:F?.subject_id?String(F.subject_id):void 0,onChange:M=>D(s.dayKey,O,{subject_id:M,teacher_id:""}),showSearch:!0,optionFilterProp:"label"})},{title:"Teacher",dataIndex:"teacher_id",key:"teacher_id",width:240,render:(A,F,O)=>e.jsx(Jg,{token:t,classId:s.classId,sectionId:s.sectionId,subjectId:F?.subject_id,disabled:!!F?.is_break||!F?.subject_id,value:F?.teacher_id,onChange:M=>D(s.dayKey,O,{teacher_id:M})})},{title:"Room",dataIndex:"room_no",key:"room_no",width:140,render:(A,F,O)=>e.jsx(n.Input,{value:F?.room_no??"",onChange:M=>D(s.dayKey,O,{room_no:M.target.value})})},{title:"Action",key:"action",width:90,render:(A,F,O)=>e.jsx(n.Popconfirm,{title:"Delete this row?",onConfirm:()=>C(s.dayKey,O),children:e.jsx(n.Button,{danger:!0,type:"text",children:"Delete"})})}],[s.classId,s.dayKey,s.sectionId,C,R,t,D]),B=e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Create Time Table"}),children:e.jsx(n.Form,{form:a,layout:"vertical",initialValues:{duration:o.duration,interval:o.interval,roomNo:o.roomNo,tiffinEnabled:o.tiffinEnabled,tiffinAfterPeriod:o.tiffinAfterPeriod,tiffinDuration:o.tiffinDuration},children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(n.Form.Item,{label:"Class",required:!0,children:e.jsx(n.Select,{placeholder:"Select Class",options:w,value:s.classId?String(s.classId):void 0,onChange:A=>{r(F=>({...F,classId:A,sectionId:null})),c({0:[],1:[],2:[],3:[],4:[],5:[],6:[]})},showSearch:!0,optionFilterProp:"label"})}),e.jsx(n.Form.Item,{label:"Section",required:!0,children:e.jsx(n.Select,{placeholder:"Select Section",options:h,value:s.sectionId?String(s.sectionId):void 0,onChange:A=>r(F=>({...F,sectionId:A})),disabled:!s.classId,showSearch:!0,optionFilterProp:"label"})}),e.jsx(n.Form.Item,{label:"Start Time",required:!0,children:e.jsx(n.TimePicker,{value:o.startTime,onChange:A=>l(F=>({...F,startTime:A})),use12Hours:!0,format:"h:mm a",style:{width:"100%"}})}),e.jsx(n.Form.Item,{label:"End Time",required:!0,children:e.jsx(n.TimePicker,{value:o.endTime,onChange:A=>l(F=>({...F,endTime:A})),use12Hours:!0,format:"h:mm a",style:{width:"100%"}})}),e.jsx(n.Form.Item,{label:"Duration (min)",required:!0,children:e.jsx(n.InputNumber,{min:1,value:o.duration,onChange:A=>l(F=>({...F,duration:A})),style:{width:"100%"}})}),e.jsx(n.Form.Item,{label:"Interval (min)",children:e.jsx(n.InputNumber,{min:0,value:o.interval,onChange:A=>l(F=>({...F,interval:A})),style:{width:"100%"}})}),e.jsx(n.Form.Item,{label:"Room No",children:e.jsx(n.Input,{value:o.roomNo,onChange:A=>l(F=>({...F,roomNo:A.target.value}))})}),e.jsx(n.Form.Item,{label:"Tiffin Break",children:e.jsxs(n.Space,{children:[e.jsx(n.Switch,{checked:o.tiffinEnabled,onChange:A=>l(F=>({...F,tiffinEnabled:A}))}),e.jsx(n.Typography.Text,{type:"secondary",children:o.tiffinEnabled?"Enabled":"Disabled"})]})}),e.jsx(n.Form.Item,{label:"After Period",tooltip:"Insert break row after this period",style:{marginBottom:0},children:e.jsx(n.InputNumber,{min:1,value:o.tiffinAfterPeriod,onChange:A=>l(F=>({...F,tiffinAfterPeriod:A})),style:{width:"100%"},disabled:!o.tiffinEnabled})}),e.jsx(n.Form.Item,{label:"Break Duration (min)",style:{marginBottom:0},children:e.jsx(n.InputNumber,{min:1,value:o.tiffinDuration,onChange:A=>l(F=>({...F,tiffinDuration:A})),style:{width:"100%"},disabled:!o.tiffinEnabled})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:10},children:[e.jsx(n.Button,{onClick:y,children:"Generate"}),e.jsx(n.Button,{type:"primary",loading:g,onClick:P,children:"Save"})]})]})})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Edit Week"}),extra:e.jsxs(n.Space,{children:[e.jsx(n.Typography.Text,{type:"secondary",children:"Day"}),e.jsx(n.Select,{style:{width:160},value:s.dayKey,onChange:A=>r(F=>({...F,dayKey:A})),options:Object.keys(za).map(A=>({value:String(A),label:Gg(A)}))}),e.jsx(n.Button,{onClick:()=>p(s.dayKey),children:"Add Row"})]}),children:e.jsx(n.Table,{rowKey:(A,F)=>`${s.dayKey}_${F}`,columns:U,dataSource:k,pagination:!1,size:"middle",scroll:{x:"max-content"}})})]});return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(n.Typography.Title,{level:4,style:{margin:0},children:"Time Table"}),e.jsx(n.Tabs,{type:"card",items:[{key:"create",label:"Create",children:B},{key:"routine",label:"Routine",children:e.jsx(Yg,{token:t})},{key:"teacher",label:"Teacher Wise",children:e.jsx(Kg,{token:t})}]})]})}function Xg({token:t}){return e.jsx(Qg,{token:t})}function Zg(){return null}const ea=t=>t??localStorage.getItem("authToken")??"",ex=(t,a)=>{const s=String(t??""),r=String(a);return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},jt={organization:{get:"api/branchapi/generalSettings/getorganizationsettingsData",save:"api/branchapi/generalSettings/addorganizationSetting",currencyDropdown:"api/branchapi/generalSettings/currencyDropdown",countryCodeDropdown:"api/branchapi/generalSettings/contrycodeDropdown",timezoneDropdown:"api/branchapi/generalSettings/timezoneDropdown",boardsDropdown:"api/branchapi/generalSettings/getAffliatedBoardsDropDown",uploadLogo:"api/superAdmin/upload_logo",uploadSignature:"api/branchapi/generalSettings/upload_signature",uploadFirebaseJson:"api/branchapi/generalSettings/firebaseJsonUpload"},academicYear:{table:"api/branchapi/generalSettings/sessiontable",add:"api/branchapi/generalSettings/addsession",setActive:"api/branchapi/generalSettings/setsession",remove:"api/branchapi/generalSettings/deletesession"},feeReceiptSetting:{get:"api/branchapi/generalSettings/feesReceiptSettingData",save:"api/branchapi/generalSettings/feesReceiptSetting"},marksheetSetting:{templateTypes:"api/branchapi/GeneralSettings/getmarkssheetTemplate",classDropdown:"api/exam/exam/getClassforAssignMarksSheetType",assignedTable:"api/branchapi/GeneralSettings/getassign_templete",assign:"api/branchapi/GeneralSettings/assign_templete",remove:"api/branchapi/GeneralSettings/deleteTemplate"},legalPages:{get:"api/branchapi/generalSettings/getlegalpage",termsSave:"api/branchapi/generalSettings/terms",privacySave:"api/branchapi/generalSettings/privacy",aboutSave:"api/branchapi/generalSettings/about_us"},feesInfo:{get:"api/branchapi/generalSettings/getFeesInfo",save:"api/branchapi/generalSettings/addFeesInfo",statesDropdown:"api/superAdmin/states"},payrollSettings:{table:"api/branchapi/GeneralSettings/getsetting_allowances_dedection",add:"api/branchapi/GeneralSettings/addsetting_allowances_dedection",edit:"api/branchapi/GeneralSettings/updatesetting_allowances_dedection",remove:"api/branchapi/GeneralSettings/deletesetting_allowances_dedection",byId:"api/branchapi/GeneralSettings/getsetting_allowances_dedectionById"},paymentGateway:{get:"api/payment_gateway/PaymentProcess/getPaymentGatewayList",save:"api/payment_gateway/PaymentProcess"}},tx=t=>ex(rt(),t),ax=async({baseUrl:t,page:a=1,perPage:s=10},r)=>{const o=t.includes("?")?"&":"?",l=`${t}${o}page=${encodeURIComponent(String(a))}&per_page=${encodeURIComponent(String(s))}`;return K(l,ea(r))},nx=async(t,a)=>K(t,ea(a)),dn=async(t,a,s)=>Ne(t,a,ea(s)),bl=async(t,a,s)=>We(t,a,ea(s)),pr=async(t,a,s)=>He(t,a,ea(s)),sx=async(t,a,s)=>ss(t,{arg:a},ea(s)),jl=async(t,a,s)=>Wa(t,{arg:a},ea(s)),Sl=({baseUrl:t,page:a=1,perPage:s=10,token:r})=>H(r&&t?[t,a,s,r]:null,([l,d,c,g])=>ax({baseUrl:l,page:d,perPage:c},g)),St=({url:t,token:a})=>H(a&&t?[t,a]:null,([r,o])=>nx(r,o)),rx={border:"1px solid #d9d9d9",borderRadius:8,padding:12,minHeight:320,background:"#fff"};function ix({value:t,onChange:a,placeholder:s}){const[r,o]=i.useState(t??""),l=i.useMemo(()=>typeof t=="string"?t:r,[r,t]);return e.jsx("div",{style:rx,children:e.jsx(Qo,{html:l||"",onChange:d=>{const c=d?.target?.value??"";o(c),a?.(c)},style:{outline:"none",minHeight:280},placeholder:s})})}function Wt({title:t,actions:a,children:s,headerExtra:r}){return e.jsx("div",{style:{display:"grid",gap:20},children:s})}const ox=t=>t?Array.isArray(t?.data)?t.data[0]??null:Array.isArray(t?.data?.data)?t.data.data[0]??null:Array.isArray(t)?t[0]??null:t?.data?.data?.[0]??null:null;function mr({token:t,title:a,fetchUrl:s,saveUrl:r,fieldName:o,initialHtmlFieldName:l}){const d=i.useRef(null),c=St({url:s,token:t}),f=i.useMemo(()=>ox(c.data),[c.data])?.[l??o]??"",[u,m]=i.useState("");i.useEffect(()=>{m(typeof f=="string"?f:"")},[f]);const w=()=>m(typeof f=="string"?f:""),v=()=>{const x=new Blob([String(u??"")],{type:"text/html"}),T=URL.createObjectURL(x),R=document.createElement("a");R.href=T,R.download=`${String(a??"legal").toLowerCase().replaceAll(" ","-")}.html`,R.click(),URL.revokeObjectURL(T)},b=i.useMemo(()=>[{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>d.current?.requestSubmit?.()},{key:"update",label:"Update",icon:e.jsx(ee.SyncOutlined,{}),onClick:()=>d.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:w},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:v,disabled:!u}],[u,f]),h=async x=>{x.preventDefault();try{(await jl(r,{[o]:u??""},t))?.Status==="Success"?S.success("Updated successfully.",{duration:1e3}):S.success("Updated.",{duration:1e3}),c.mutate?.()}catch(T){S.error(T?.response?.data?.msg??T?.message??"Failed to update.",{duration:1500})}};return c.isLoading&&!c.data?e.jsx("div",{children:"Loading..."}):e.jsxs(e.Fragment,{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Wt,{title:a,actions:b,children:e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Editor"}),children:e.jsxs("form",{ref:d,onSubmit:h,children:[e.jsx(ix,{value:u,onChange:m,placeholder:`Enter ${a} content...`}),e.jsx(n.Divider,{}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Update"})})]})})})]})}const lx=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"",dx=t=>/^https?:\/\//i.test(String(t??""))||String(t??"").startsWith("data:");function Ya({token:t,value:a,onChange:s,action:r,accept:o,maxCount:l=1,previewUrl:d,data:c}){const g=i.useMemo(()=>{if(t)return{Authorization:t}},[t]),f=i.useMemo(()=>a?d||(dx(a)?a:""):"",[d,a]);return e.jsxs("div",{style:{display:"grid",gap:8},children:[f?e.jsx("img",{src:f,alt:"upload-preview",style:{width:88,height:88,objectFit:"cover",borderRadius:8,border:"1px solid #d9d9d9",background:"#fafafa"}}):null,e.jsx(n.Upload,{maxCount:l,action:r,data:c,accept:o,headers:g,onChange:u=>{if(u?.file?.status==="removed"&&s?.(""),u?.file?.status==="done"){const m=lx(u?.file?.response);m&&s?.(m)}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:a?"Change":"Upload"})})]})}const ta=jt.organization,cx=()=>tx(ta.uploadFirebaseJson),ux=t=>t?Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:Array.isArray(t?.data?.data?.data)?t.data.data.data:[]:[],px=({token:t})=>St({url:ta.get,token:t}),mx=({token:t})=>St({url:ta.currencyDropdown,token:t}),hx=({token:t})=>St({url:ta.countryCodeDropdown,token:t}),fx=({token:t})=>St({url:ta.timezoneDropdown,token:t}),yx=({token:t})=>St({url:ta.boardsDropdown,token:t}),On=t=>ux(t?.data),gx=(t,a)=>{const s=String(t??""),r=String(a??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},vl=t=>{const a=en(t);if(a)return a;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}},xx=(t,a)=>{const s=`${t||""}`.trim();if(!s)return"";if(/^https?:\/\//i.test(s))return s;const r=vl(a),o=s.startsWith("/")?s.slice(1):s;return gx(ot(),`uploads/school_${r}/schoolFile/${o}`)},co={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},bx=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"].map(t=>({value:t,label:t})),uo=[{value:"Yes",label:"Yes"},{value:"No",label:"No"}],po=[{value:"yes",label:"Yes"},{value:"no",label:"No"}],jx=t=>{const a=t?.data;return Array.isArray(a?.data)?a.data[0]??null:Array.isArray(a)?a[0]??null:Array.isArray(t)?t[0]??null:t?.data?.data?.[0]??null},Sx=t=>t?.data?.inout_setting?.[0]??t?.inout_setting?.[0]??null,vx=t=>t?.data?.notification_settings?.[0]??t?.notification_settings?.[0]??null;function wx({token:t}){const a=i.useRef(null),s=px({token:t}),r=mx({token:t}),o=hx({token:t}),l=fx({token:t}),d=yx({token:t}),c=i.useMemo(()=>jx(s.data),[s.data]),g=i.useMemo(()=>Sx(s.data),[s.data]),f=i.useMemo(()=>vx(s.data),[s.data]),u=i.useMemo(()=>On(r),[r.data]),m=i.useMemo(()=>On(o),[o.data]),w=i.useMemo(()=>On(l),[l.data]),v=i.useMemo(()=>On(d),[d.data]),[b,h]=i.useState(null),[x,T]=i.useState(null),[R,k]=i.useState(null),[D,C]=i.useState(null),[p,y]=i.useState([]),[_,P]=i.useState("No"),[U,B]=i.useState("yes"),[A,F]=i.useState("no"),[O,M]=i.useState("Yes"),[I,N]=i.useState(""),[Y,z]=i.useState(""),[$,E]=i.useState(!1),[L,q]=i.useState(""),[W,se]=i.useState(null),[Z,G]=i.useState(null),[J,re]=i.useState(null),[de,Ce]=i.useState(null),oe=()=>{const be=(()=>{try{const ve=c?.weekly_off;if(!ve)return[];const Me=Array.isArray(ve)?ve:JSON.parse(ve);return Array.isArray(Me)?Me.filter(Boolean).map(Ye=>({value:Ye,label:Ye})):[]}catch{return[]}})();y(be),h(u.find(ve=>ve?.value===c?.currency)??null),T(m.find(ve=>ve?.value===c?.country_code)??null),k(w.find(ve=>ve?.value===c?.time_zone)??null),C(v.find(ve=>ve?.value===c?.affliated_board_id)??null),N(c?.logo??""),z(c?.json_file??""),P(c?.attendance_salary_calculation??"No"),B(c?.salary_period??"yes"),F(c?.multiple_shift??"no"),M(c?.readmission_charges??"Yes"),se(g?.in_from?te(g.in_from,"h:mm A"):null),G(g?.in_to?te(g.in_to,"h:mm A"):null),re(g?.out_from?te(g.out_from,"h:mm A"):null),Ce(g?.out_to?te(g.out_to,"h:mm A"):null)};i.useEffect(()=>{c&&oe()},[c,u,m,w,v]);const le=()=>{a.current?.reset?.(),oe()},ie=()=>{const be=new FormData(a.current??void 0),ve=Object.fromEntries(be.entries());ve.weekly_off_day=p.map(Be=>Be?.value).filter(Boolean);const Me=new Blob([JSON.stringify(ve,null,2)],{type:"application/json"}),Ye=URL.createObjectURL(Me),Le=document.createElement("a");Le.href=Ye,Le.download="organization-setting.json",Le.click(),URL.revokeObjectURL(Ye)},Se=i.useMemo(()=>[{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>a.current?.requestSubmit?.()},{key:"update",label:"Update",icon:e.jsx(ee.SyncOutlined,{}),onClick:()=>a.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:le},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:ie,disabled:!c}],[c,p]),Ee=async be=>{be.preventDefault();try{const ve=new FormData(be.target);ve.set("currency",b?.value??""),ve.set("code",x?.value??""),ve.set("time_zone",R?.value??""),ve.set("affliated_board_id",D?.value??""),ve.set("board_name",D?.label??""),ve.set("attendance_salary_calculation",_),ve.set("salary_period",U),ve.set("multiple_shift",A),ve.set("readmission_charges",O),p.forEach(Le=>{Le?.value&&ve.append("weekly_off_day[]",Le.value)}),ve.set("logo",I??""),ve.set("json_file",Y??""),ve.set("server_key",f?.server_key??""),ve.set("in_time_start",W?te(W).format("h:mm A"):""),ve.set("in_time_end",Z?te(Z).format("h:mm A"):""),ve.set("out_time_start",J?te(J).format("h:mm A"):""),ve.set("out_time_end",de?te(de).format("h:mm A"):""),await dn(ta.save,ve,t);const Ye={...JSON.parse(localStorage.getItem("genrall_settings")??"null")??{},logo:I||c?.logo||"",affliated_board_id:D?.value??c?.affliated_board_id??"",board_name:D?.label??c?.board_name??"",multiple_shift:A??c?.multiple_shift??""};localStorage.setItem("genrall_settings",JSON.stringify(Ye)),S.success("Organization settings saved.",{duration:1e3}),s.mutate?.()}catch(ve){S.error(ve?.response?.data?.msg??ve?.message??"Failed to save settings.",{duration:1500})}},Qe=_==="Yes";return s.isLoading&&!s.data?e.jsx("div",{children:"Loading..."}):e.jsxs(e.Fragment,{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Wt,{title:"Organization",actions:Se,children:e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Organization Details"}),children:e.jsxs("form",{ref:a,onSubmit:Ee,children:[e.jsxs("div",{style:co,children:[e.jsx(V,{type:"text",name:"name",label:"Organization Name*",required:!0,defaultValue:c?.name??""}),e.jsxs("div",{children:[e.jsx(Q,{label:"Currency*",options:u,value:b,onChange:be=>h(be)}),e.jsx("input",{type:"hidden",name:"currency",value:b?.value??""})]}),e.jsxs("div",{children:[e.jsx(Q,{label:"Default Country Code*",options:m,value:x,onChange:be=>T(be)}),e.jsx("input",{type:"hidden",name:"code",value:x?.value??""})]}),e.jsxs("div",{children:[e.jsx(Q,{label:"Time Zone*",options:w,value:R,onChange:be=>k(be)}),e.jsx("input",{type:"hidden",name:"time_zone",value:R?.value??""})]}),e.jsx(V,{type:"text",name:"admission_prefix",label:"Receipt Prefix*",required:!0,defaultValue:c?.admission_prefix??""}),e.jsx(V,{type:"number",name:"admission_start_number",label:"Admission Start Number*",required:!0,defaultValue:c?.admission_no_prefix??c?.admission_start_number??""}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Re-admission Charges"}),e.jsx(n.Radio.Group,{options:uo,optionType:"button",buttonStyle:"solid",value:O,onChange:be=>M(be.target.value)}),e.jsx("input",{type:"hidden",name:"readmission_charges",value:O})]}),e.jsxs("div",{children:[e.jsx(Q,{label:"Weekly off Day",options:bx,isMulti:!0,value:p,onChange:be=>y(be??[])}),p.map(be=>e.jsx("input",{type:"hidden",name:"weekly_off_day[]",value:be.value},be.value))]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"In Time Start*"}),e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm A",value:W,onChange:be=>se(be),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"in_time_start",value:W?te(W).format("h:mm A"):""})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"In Time End*"}),e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm A",value:Z,onChange:be=>G(be),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"in_time_end",value:Z?te(Z).format("h:mm A"):""})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Out Time Start*"}),e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm A",value:J,onChange:be=>re(be),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"out_time_start",value:J?te(J).format("h:mm A"):""})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Out Time End*"}),e.jsx(n.TimePicker,{use12Hours:!0,format:"h:mm A",value:de,onChange:be=>Ce(be),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"out_time_end",value:de?te(de).format("h:mm A"):""})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Salary Period"}),e.jsx(n.Radio.Group,{options:po,optionType:"button",buttonStyle:"solid",value:U,onChange:be=>B(be.target.value)}),e.jsx("input",{type:"hidden",name:"salary_period",value:U})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Salary Deduction"}),e.jsx(n.Radio.Group,{options:uo,optionType:"button",buttonStyle:"solid",value:_,onChange:be=>P(be.target.value)}),e.jsx("input",{type:"hidden",name:"attendance_salary_calculation",value:_})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Multiple Shift"}),e.jsx(n.Radio.Group,{options:po,optionType:"button",buttonStyle:"solid",value:A,onChange:be=>F(be.target.value)}),e.jsx("input",{type:"hidden",name:"multiple_shift",value:A})]}),Qe?e.jsx(V,{type:"number",name:"late_absent_day",label:"No of Late",defaultValue:c?.late_absent_day??""}):e.jsx("input",{type:"hidden",name:"late_absent_day",value:""})]}),e.jsx(n.Divider,{}),e.jsxs("div",{style:co,children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Logo Upload"}),e.jsx(n.Upload,{action:`${ot()}/uploadfile.php`,name:"file",data:{filepath:`uploads/school_${vl(t)}/schoolFile`},headers:{Authorization:t},maxCount:1,accept:"image/*",onChange:be=>{if(be.file.status==="removed"&&N(""),be.file.status==="done"){const ve=be.file.response?.data??be.file.response?.file??"";N(String(ve??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:I?"Change":"Upload"})}),I&&e.jsxs("div",{style:{marginTop:8,display:"flex",alignItems:"center",gap:8},children:[e.jsx("a",{style:{fontSize:12,color:"#1677ff",textDecoration:"underline",cursor:"pointer"},onClick:()=>{q(xx(I,t)),E(!0)},children:"View existing logo"}),e.jsx("a",{style:{fontSize:12,color:"#1677ff",textDecoration:"underline",cursor:"pointer"},onClick:()=>N(""),children:"Remove"})]}),e.jsx("input",{type:"hidden",name:"logo",value:I??""})]}),e.jsxs("div",{children:[e.jsx(Q,{label:"Select Affiliated Board",options:v,value:D,onChange:be=>C(be)}),e.jsx("input",{type:"hidden",name:"affliated_board_id",value:D?.value??""}),e.jsx("input",{type:"hidden",name:"board_name",value:D?.label??""})]}),e.jsx(lt,{label:"Address",name:"address",rows:3,defaultValue:c?.location_name??c?.address??""}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Json for Notification"}),e.jsx(Ya,{token:t,action:cx(),value:Y,accept:".json",onChange:be=>z(be)}),e.jsx("input",{type:"hidden",name:"json_file",value:Y??""})]})]}),e.jsx(n.Divider,{}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Save",color:"primary"})})]})})}),e.jsx(n.Modal,{open:$,onCancel:()=>{E(!1),q("")},footer:null,width:500,closable:!0,children:L?e.jsx("img",{src:L,alt:"Organization Logo",style:{width:"100%",maxHeight:"70vh",objectFit:"contain"}}):e.jsx(he,{children:"No logo found"})})]})}function _x({token:t}){return e.jsx(wx,{token:t})}const Gn=jt.academicYear,Cx=({token:t,page:a=1,perPage:s=10})=>Sl({baseUrl:Gn.table,token:t,page:a,perPage:s}),Ax={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},Dx=t=>Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:Array.isArray(t?.data?.data?.data)?t.data.data.data:[],Tx=(t,a=0)=>t?.pagination?.total_rows??t?.data?.pagination?.total_rows??t?.data?.data?.pagination?.total_rows??a;function Rx({token:t}){const[a,s]=i.useState({page:1,rowsPerPage:10}),[r,o]=i.useState(!1),[l,d]=i.useState(()=>{const p=te(),y=te().add(1,"year");return`${p.format("YYYY")}-${y.format("YYYY")}`}),[c,g]=i.useState(te()),[f,u]=i.useState(te().add(1,"year")),{isLoading:m,data:w,mutate:v}=Cx({token:t,page:a.page,perPage:a.rowsPerPage}),b=i.useMemo(()=>Dx(w),[w]),h=i.useMemo(()=>Tx(w,b.length),[w,b.length]),x=async()=>{if(!l){S.error("Session name is required.");return}if(f&&c&&te(f).isBefore(c)){S.error("End date must be after start date.");return}try{const p=new FormData;p.set("name",l),p.set("start_date",c?te(c).format("YYYY-MM-DD"):""),p.set("end_date",f?te(f).format("YYYY-MM-DD"):""),await dn(Gn.add,p,t),S.success("Academic year added.",{duration:1e3}),o(!1),v?.()}catch(p){S.error(p?.response?.data?.msg??p?.message??"Failed to add academic year.",{duration:1500})}},T=async p=>{try{const y=new FormData;y.set("session",String(p)),await bl(Gn.setActive,y,t);const _=JSON.parse(localStorage.getItem("genrall_settings")??"null")??{};localStorage.setItem("genrall_settings",JSON.stringify({..._,session_id:String(p)})),S.success("Academic year activated.",{duration:1e3}),v?.()}catch(y){S.error(y?.response?.data?.msg??y?.message??"Failed to activate academic year.",{duration:1500})}},R=async p=>{try{await v(pr(Gn.remove,p,t)),S.success("Academic year deleted.",{duration:1e3})}catch(y){S.error(y?.response?.data?.msg??y?.message??"Failed to delete academic year.",{duration:1500})}},k=()=>{const p=new Blob([JSON.stringify(b,null,2)],{type:"application/json"}),y=URL.createObjectURL(p),_=document.createElement("a");_.href=y,_.download="academic-years.json",_.click(),URL.revokeObjectURL(y)},D=i.useMemo(()=>[{key:"add",label:"Add",icon:e.jsx(ee.PlusOutlined,{}),onClick:()=>o(!0)},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:()=>v?.()},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:k,disabled:b.length===0}],[b.length,v]),C=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name"},{title:"Start Date",dataIndex:"start_date",key:"start_date"},{title:"End Date",dataIndex:"end_date",key:"end_date"},{title:"Active",key:"active",render:(p,y)=>{const _=y.status==="Active";return e.jsxs("span",{children:[e.jsx(n.Popconfirm,{title:_?"Deactivate Academic Year?":"Activate Academic Year?",description:_?"Deactivate is not allowed. Activate another session to switch.":"This will set this year as the current academic session.",onConfirm:()=>{_?S.error("Deactivate is not allowed. Activate another session to switch."):T(y.id)},okText:"Yes",cancelText:"No",children:e.jsx(n.Switch,{checked:_})}),_&&e.jsx(n.Tag,{color:"green",style:{marginLeft:8},children:"Active"})]})}},{title:"Action",key:"action",render:(p,y)=>e.jsx(n.Popconfirm,{title:"Delete academic year?",description:"This will remove the session.",onConfirm:()=>R(y.id),okText:"Yes",cancelText:"No",children:e.jsx(n.Button,{type:"link",danger:!0,children:"Delete"})})}],[t,b.length]);return e.jsxs(e.Fragment,{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Wt,{title:"Academic Year",actions:D,children:e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Sessions"}),children:e.jsx(n.Table,{rowKey:"id",dataSource:b,columns:C,loading:m,pagination:{current:a.page,pageSize:a.rowsPerPage,total:h,showSizeChanger:!0,onChange:(p,y)=>s({page:p,rowsPerPage:Number(y)})}})})}),e.jsx(n.Modal,{open:r,onCancel:()=>o(!1),footer:null,title:"Add Academic Year",children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{style:Ax,children:[e.jsx(V,{label:"Session Name*",value:l,onChange:p=>d(p.target.value)}),e.jsxs("div",{children:[e.jsx(Ue,{Desplay:"Start Date*",value:c,onChange:p=>g(p),format:"YYYY-MM-DD"}),e.jsx("input",{type:"hidden",value:c?te(c).format("YYYY-MM-DD"):""})]}),e.jsxs("div",{children:[e.jsx(Ue,{Desplay:"End Date*",value:f,onChange:p=>u(p),format:"YYYY-MM-DD"}),e.jsx("input",{type:"hidden",value:f?te(f).format("YYYY-MM-DD"):""})]})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:10},children:[e.jsx(ne,{value:"Submit",type:"button",onClick:x}),e.jsx(n.Button,{onClick:()=>o(!1),children:"Cancel"})]})]})})]})}function Ix({token:t}){return e.jsx(Rx,{token:t})}const wl=jt.feeReceiptSetting,kx=({token:t})=>St({url:wl.get,token:t}),$s={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:16,alignItems:"start"},Px=t=>t?Array.isArray(t?.data)?t.data[0]??null:Array.isArray(t?.data?.data)?t.data.data[0]??null:Array.isArray(t)?t[0]??null:t?.data?.data?.[0]??null:null;function Ox({token:t}){const a=i.useRef(null),s=kx({token:t}),r=i.useMemo(()=>Px(s.data),[s.data]),[o,l]=i.useState(""),[d,c]=i.useState(!1),[g,f]=i.useState(!1),[u,m]=i.useState(!1),[w,v]=i.useState("0"),[b,h]=i.useState("0"),[x,T]=i.useState("0"),[R,k]=i.useState(!1),[D,C]=i.useState(!1),[p,y]=i.useState(""),[_,P]=i.useState("0"),[U,B]=i.useState("0"),[A,F]=i.useState("0"),[O,M]=i.useState(""),[I,N]=i.useState(!1),Y=()=>{l(r?.number_of_receipt??""),c(String(r?.roll_number??"0")==="1"),f(String(r?.address??"0")==="1"),m(String(r?.gardian_name??"0")==="1"),v(String(r?.authorized_signatory??"0")),h(String(r?.parent_signatory??"0")),T(String(r?.dynamic_qr_code_device??"0")),k(String(r?.sequence_payment??"0")==="1"),C(String(r?.previois_fees??"0")==="1"),y(r?.title??""),P(String(r?.class_id??"0")),B(String(r?.discount??"0")),F(String(r?.sections??"0")),M(r?.upfront_payment_months??"")};i.useEffect(()=>{r&&Y()},[r]);const z=()=>{a.current?.reset?.(),Y()},$=()=>{const q={number_of_receipt:o,rollnumber:d?1:0,address:g?1:0,gardianname:u?1:0,authorizedsignatory:w,parentsignatory:b,dynamic_qr_code_device:x,sequence_payment:R?1:0,previois_fees:D?1:0,upfront_payment_months:O,title:p,class_id:_,discount:U,sections:A},W=new Blob([JSON.stringify(q,null,2)],{type:"application/json"}),se=URL.createObjectURL(W),Z=document.createElement("a");Z.href=se,Z.download="fee-receipt-setting.json",Z.click(),URL.revokeObjectURL(se)},E=i.useMemo(()=>[{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>a.current?.requestSubmit?.()},{key:"update",label:"Update",icon:e.jsx(ee.SyncOutlined,{}),onClick:()=>a.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:z},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:$,disabled:!r}],[r,o,d,g,u,w,b,x,R,D,O,p,_,U,A]),L=async q=>{q.preventDefault(),N(!0);try{const W=new FormData;W.set("number_of_receipt",String(o??"")),W.set("rollnumber",d?"1":"0"),W.set("address",g?"1":"0"),W.set("gardianname",u?"1":"0"),W.set("authorizedsignatory",String(w??"0")),W.set("parentsignatory",String(b??"0")),W.set("dynamic_qr_code_device",String(x??"0")),W.set("sequence_payment",R?"1":"0"),W.set("previois_fees",D?"1":"0"),W.set("upfront_payment_months",String(O??"")),W.set("title",String(p??"")),W.set("class_id",String(_??"0")),W.set("discount",String(U??"0")),W.set("sections",String(A??"0")),await dn(wl.save,W,t),S.success("Fee receipt settings updated.",{duration:1e3}),s.mutate?.()}catch(W){S.error(W?.response?.data?.msg??W?.message??"Failed to update settings.",{duration:1500})}finally{N(!1)}};return s.isLoading&&!s.data?e.jsx("div",{children:"Loading..."}):e.jsxs(e.Fragment,{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Wt,{title:"Fee Receipt Setting",actions:E,children:e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Settings Form"}),children:e.jsxs("form",{ref:a,onSubmit:L,children:[e.jsxs("div",{style:$s,children:[e.jsx(V,{type:"number",name:"number_of_receipt",label:"Number Of Receipt",value:o,onChange:q=>l(q.target.value)}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Roll Number"}),e.jsx(n.Checkbox,{checked:d,onChange:q=>c(q.target.checked),children:"Show Roll Number in Fees Receipt"})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Address"}),e.jsx(n.Checkbox,{checked:g,onChange:q=>f(q.target.checked),children:"Show address in Fees Receipt"})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Guardian Name"}),e.jsx(n.Checkbox,{checked:u,onChange:q=>m(q.target.checked),children:"Show Guardian Name in Fees Receipt"})]})]}),e.jsx(n.Divider,{}),e.jsxs("div",{style:$s,children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Authorized Signatory"}),e.jsxs(n.Radio.Group,{value:w,onChange:q=>v(q.target.value),children:[e.jsx(n.Radio,{value:"1",children:"Enable"}),e.jsx(n.Radio,{value:"0",children:"Disable"})]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Parent Signatory"}),e.jsxs(n.Radio.Group,{value:b,onChange:q=>h(q.target.value),children:[e.jsx(n.Radio,{value:"1",children:"Enable"}),e.jsx(n.Radio,{value:"0",children:"Disable"})]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Dynamic QR Code Device"}),e.jsxs(n.Radio.Group,{value:x,onChange:q=>T(q.target.value),children:[e.jsx(n.Radio,{value:"1",children:"Enable"}),e.jsx(n.Radio,{value:"0",children:"Disable"})]})]})]}),e.jsx(n.Divider,{}),e.jsxs("div",{style:$s,children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Sequence Payment"}),e.jsx(n.Checkbox,{checked:R,onChange:q=>k(q.target.checked),children:"Student can pay in sequence"})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Previous Fees"}),e.jsx(n.Checkbox,{checked:D,onChange:q=>C(q.target.checked),children:"Previous Fees Carry Over to Next Year"})]}),e.jsx(V,{type:"text",name:"title",label:"Title",value:p,onChange:q=>y(q.target.value)}),e.jsxs("div",{style:{display:"none"},children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Class"}),e.jsxs(n.Radio.Group,{value:_,onChange:q=>P(q.target.value),children:[e.jsx(n.Radio,{value:"1",children:"Enable"}),e.jsx(n.Radio,{value:"0",children:"Disable"})]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Discount"}),e.jsxs(n.Radio.Group,{value:U,onChange:q=>B(q.target.value),children:[e.jsx(n.Radio,{value:"1",children:"Enable"}),e.jsx(n.Radio,{value:"0",children:"Disable"})]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Sections"}),e.jsxs(n.Radio.Group,{value:A,onChange:q=>F(q.target.value),children:[e.jsx(n.Radio,{value:"1",children:"Enable"}),e.jsx(n.Radio,{value:"0",children:"Disable"})]})]}),e.jsx(V,{type:"number",name:"upfront_payment_months",label:"Max Advance Payment (Months)",value:O,onChange:q=>M(q.target.value)})]}),e.jsx(n.Divider,{}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:I?"Updating...":"Done",disabled:I})})]})})})]})}function Mx({token:t}){return e.jsx(Ox,{token:t})}const Ka=jt.marksheetSetting,Ex=({token:t})=>St({url:Ka.templateTypes,token:t}),Fx=({token:t})=>St({url:Ka.classDropdown,token:t}),$x=({token:t})=>St({url:Ka.assignedTable,token:t}),Ux={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:20,alignItems:"end"},mo=t=>t?Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:Array.isArray(t?.data?.data?.data)?t.data.data.data:[]:[],Nx=Array.from({length:12},(t,a)=>({value:String(a+1),label:`Design ${a+1}`})),Lx=t=>t?Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:Array.isArray(t)?t:[]:[];function Bx({token:t}){const a=i.useRef(null),s=Ex({token:t}),r=Fx({token:t}),o=$x({token:t}),l=i.useMemo(()=>mo(s.data),[s.data]),d=i.useMemo(()=>mo(r.data),[r.data]),c=i.useMemo(()=>Lx(o.data),[o.data]),[g,f]=i.useState(null),[u,m]=i.useState(null),[w,v]=i.useState([]),b=()=>{a.current?.reset?.(),f(null),m(null),v([])},h=()=>{const D=new Blob([JSON.stringify(c,null,2)],{type:"application/json"}),C=URL.createObjectURL(D),p=document.createElement("a");p.href=C,p.download="marksheet-templates.json",p.click(),URL.revokeObjectURL(C)},x=i.useMemo(()=>[{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>a.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:b},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:h,disabled:c.length===0}],[c.length]),T=async D=>{if(D.preventDefault(),!g?.value){S.error("Select marksheet type.",{duration:1200});return}if(!u?.value){S.error("Select design.",{duration:1200});return}if(!w?.length){S.error("Select at least one class.",{duration:1200});return}try{const C=new FormData;C.set("temp_id",String(g.value)),C.set("ui_id",String(u.value)),w.forEach(p=>C.append("class_id[]",String(p))),await dn(Ka.assign,C,t),S.success("Marksheet template assigned.",{duration:1e3}),o.mutate?.(),b()}catch(C){S.error(C?.response?.data?.msg??C?.message??"Failed to assign template.",{duration:1500})}},R=async D=>{try{await pr(Ka.remove,D,t),S.success("Template removed.",{duration:1e3}),o.mutate?.()}catch(C){S.error(C?.response?.data?.msg??C?.message??"Failed to remove template.",{duration:1500})}},k=i.useMemo(()=>[{title:"Class",dataIndex:"class",key:"class"},{title:"Template Name",dataIndex:"name",key:"name"},{title:"Template Design",dataIndex:"ui_id",key:"ui_id"},{title:"Action",key:"action",render:(D,C)=>e.jsx(gt,{id:C?.id,funcName:R})}],[t]);return e.jsxs(e.Fragment,{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Wt,{title:"Marksheet Setting",actions:x,children:e.jsxs("div",{style:{display:"grid",gap:20,gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))"},children:[e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Assign Template"}),children:e.jsxs("form",{ref:a,onSubmit:T,children:[e.jsxs("div",{style:Ux,children:[e.jsxs("div",{children:[e.jsx(Q,{label:"Select Marksheet Type",options:l,value:g,onChange:D=>f(D)}),e.jsx("input",{type:"hidden",name:"temp_id",value:g?.value??""})]}),e.jsxs("div",{children:[e.jsx(Q,{label:"Select Design",options:Nx,value:u,onChange:D=>m(D)}),e.jsx("input",{type:"hidden",name:"ui_id",value:u?.value??""})]})]}),e.jsx(n.Divider,{}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:8},children:"Class"}),e.jsx(n.Checkbox.Group,{options:d,value:w,onChange:D=>v(D)})]}),e.jsx(n.Divider,{}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Save"})})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Marksheet List"}),children:e.jsx(n.Table,{size:"small",rowKey:"id",columns:k,dataSource:c,pagination:!1})})]})})]})}function qx({token:t}){return e.jsx(Bx,{token:t})}const Us={fetch:`${jt.legalPages.get}?page_name=terms`,save:jt.legalPages.termsSave,fieldName:"terms_data"};function zx({token:t}){return e.jsx(mr,{token:t,title:"Terms",fetchUrl:Us.fetch,saveUrl:Us.save,fieldName:Us.fieldName})}function Yx({token:t}){return e.jsx(zx,{token:t})}const Ns={fetch:`${jt.legalPages.get}?page_name=privacy`,save:jt.legalPages.privacySave,fieldName:"privacy_data"};function Vx({token:t}){return e.jsx(mr,{token:t,title:"Privacy",fetchUrl:Ns.fetch,saveUrl:Ns.save,fieldName:Ns.fieldName})}function Wx({token:t}){return e.jsx(Vx,{token:t})}const Ls={fetch:`${jt.legalPages.get}?page_name=about_us`,save:jt.legalPages.aboutSave,fieldName:"about_data"};function Hx({token:t}){return e.jsx(mr,{token:t,title:"About",fetchUrl:Ls.fetch,saveUrl:Ls.save,fieldName:Ls.fieldName})}function Kx({token:t}){return e.jsx(Hx,{token:t})}const hr=jt.feesInfo,Gx=({token:t})=>St({url:hr.get,token:t}),Jx=({token:t})=>St({url:hr.statesDropdown,token:t}),Qx=(t,a)=>{const s=String(t??""),r=String(a??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},Va=t=>{const a=en(t);if(a)return a;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}},_l=(t,a,s)=>{const r=`${t||""}`.trim();if(!r)return"";if(/^https?:\/\//i.test(r))return r;const o=Va(a),l=r.startsWith("/")?r.slice(1):r;return Qx(ot(),`uploads/school_${o}/${s}/${l}`)},Bs={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},Xx=t=>t?Array.isArray(t?.data)?t.data[0]??null:Array.isArray(t?.data?.data)?t.data.data[0]??null:Array.isArray(t)?t[0]??null:t?.data?.data?.[0]??null:null,Zx=t=>t?Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:[]:[],eb=(t,a)=>t?_l(t,a,"schoolFile"):"",qs=(t,a)=>t?_l(t,a,"schoolFile"):"";function tb({token:t}){const a=i.useRef(null),s=Gx({token:t}),r=Jx({token:t}),o=i.useMemo(()=>Xx(s.data),[s.data]),l=i.useMemo(()=>Zx(r.data),[r.data]),[d,c]=i.useState(null),[g,f]=i.useState(""),[u,m]=i.useState(""),[w,v]=i.useState(""),[b,h]=i.useState(""),x=p=>{const y=new FormData(p),_=Object.fromEntries(y.entries());return _.state_id=d?.value??"",_.fees_receipt_logo=g,_.manager_signature=u,_.principal_signature=w,_.stamp=b,_},T=()=>{c(l.find(p=>String(p?.value)===String(o?.fk_state_id??o?.state_id??o?.country_code??""))??null),f(o?.logo??o?.fees_receipt_logo??""),m(o?.manager_signature??""),v(o?.principal_signature??""),h(o?.stamp??"")};i.useEffect(()=>{o&&T()},[o,l]);const R=()=>{a.current?.reset?.(),T()},k=()=>{const p=x(a.current),y=new Blob([JSON.stringify(p,null,2)],{type:"application/json"}),_=URL.createObjectURL(y),P=document.createElement("a");P.href=_,P.download="fees-info.json",P.click(),URL.revokeObjectURL(_)},D=i.useMemo(()=>[{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>a.current?.requestSubmit?.()},{key:"update",label:"Update",icon:e.jsx(ee.SyncOutlined,{}),onClick:()=>a.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:R},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:k,disabled:!o}],[o,d,g,u,w,b]),C=async p=>{p.preventDefault();try{const y=x(p.target);await sx(hr.save,y,t),S.success("Fees info saved.",{duration:1e3}),s.mutate?.()}catch(y){S.error(y?.response?.data?.msg??y?.message??"Failed to save fees info.",{duration:1500})}};return s.isLoading&&!s.data?e.jsx("div",{children:"Loading..."}):e.jsxs(e.Fragment,{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Wt,{title:"Fees Info",actions:D,children:e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"School Information"}),children:e.jsxs("form",{ref:a,onSubmit:C,children:[e.jsxs("div",{style:Bs,children:[e.jsx(V,{name:"Bussiness_name",label:"Business Name*",defaultValue:o?.name??"",required:!0}),e.jsx(V,{name:"cin",label:"Sub Heading",defaultValue:o?.cin??""}),e.jsx(V,{name:"school_no",type:"number",label:"School Number",defaultValue:o?.school_no??""}),e.jsx(V,{name:"website",label:"Website",defaultValue:o?.website??""}),e.jsx(V,{name:"school_Code",label:"School Code",defaultValue:o?.school_Code??""}),e.jsx(V,{name:"offical_number",label:"Official Number",defaultValue:o?.offical_number??""}),e.jsx(V,{name:"email_id",label:"Email",defaultValue:o?.email_id??""}),e.jsx(V,{name:"receipt_prefix",label:"Receipt Prefix",defaultValue:o?.admission_prefix??o?.receipt_prefix??""}),e.jsx(V,{name:"recipt_start_number",type:"number",label:"Receipt Start Number",defaultValue:o?.admission_no_prefix??o?.admission_start_number??o?.recipt_start_number??""}),e.jsxs("div",{children:[e.jsx(Q,{label:"State",options:l,value:d,onChange:c}),e.jsx("input",{type:"hidden",name:"state_id",value:d?.value??""})]}),e.jsx(V,{name:"affiliation_no",label:"Affiliation Number",defaultValue:o?.affiliation_no??""}),e.jsx(V,{name:"affiliation_desc",label:"Affiliation Description",defaultValue:o?.affiliation_desc??o?.affliated_description??""}),e.jsx(V,{name:"udise_code",label:"UDISE Code",defaultValue:o?.udise_code??""}),e.jsx(V,{name:"color_code",label:"Primary Color",defaultValue:o?.color_code??""}),e.jsx(V,{name:"fontcolor_code",label:"Font Color",defaultValue:o?.fontcolor_code??""})]}),e.jsx(n.Divider,{}),e.jsxs("div",{style:Bs,children:[e.jsx(lt,{name:"Bussiness_address",rows:3,label:"Business Address",defaultValue:o?.Bussiness_address??o?.bussiness_address??o?.address??o?.location_name??""}),e.jsx(lt,{name:"note",rows:3,label:"Note",defaultValue:o?.note??""})]}),e.jsx(n.Divider,{}),e.jsxs("div",{style:Bs,children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Fees Receipt Logo"}),e.jsx(Ya,{token:t,action:`${ot()}/uploadfile.php`,data:{filepath:`uploads/school_${Va(t)}/schoolFile`},value:g,previewUrl:eb(g,t),accept:"image/*",onChange:f}),e.jsx("input",{type:"hidden",name:"fees_receipt_logo",value:g})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Manager Signature"}),e.jsx(Ya,{token:t,action:`${ot()}/uploadfile.php`,data:{filepath:`uploads/school_${Va(t)}/schoolFile`},value:u,previewUrl:qs(u,t),accept:"image/*",onChange:m}),e.jsx("input",{type:"hidden",name:"manager_signature",value:u})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Principal Signature"}),e.jsx(Ya,{token:t,action:`${ot()}/uploadfile.php`,data:{filepath:`uploads/school_${Va(t)}/schoolFile`},value:w,previewUrl:qs(w,t),accept:"image/*",onChange:v}),e.jsx("input",{type:"hidden",name:"principal_signature",value:w})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Stamp"}),e.jsx(Ya,{token:t,action:`${ot()}/uploadfile.php`,data:{filepath:`uploads/school_${Va(t)}/schoolFile`},value:b,previewUrl:qs(b,t),accept:"image/*",onChange:h}),e.jsx("input",{type:"hidden",name:"stamp",value:b})]})]}),e.jsx(n.Divider,{}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Save"})})]})})})]})}function ab({token:t}){return e.jsx(tb,{token:t})}const Jn=jt.payrollSettings,nb=({token:t,page:a=1,perPage:s=10})=>Sl({baseUrl:Jn.table,token:t,page:a,perPage:s}),sb={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},Na=[{value:"Allowances",label:"Allowances"},{value:"Dedection",label:"Dedection"}],zs=[{value:"Flat",label:"Flat"},{value:"Percentage",label:"Percentage"}],rb=t=>Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:[],ib=(t,a=0)=>t?.pagination?.total_rows??t?.data?.pagination?.total_rows??t?.data?.data?.pagination?.total_rows??a;function ob({token:t}){const a=i.useRef(null),s=i.useRef(null),[r,o]=i.useState({page:1,rowsPerPage:10}),[l,d]=i.useState(!1),[c,g]=i.useState(null),[f,u]=i.useState(Na[0]),[m,w]=i.useState(null),[v,b]=i.useState(null),[h,x]=i.useState(null),[T,R]=i.useState(!1),[k,D]=i.useState(!1),C=nb({token:t,page:r.page,perPage:r.rowsPerPage}),p=i.useMemo(()=>rb(C.data),[C.data]),y=i.useMemo(()=>ib(C.data,p.length),[C.data,p.length]),_=async M=>{M.preventDefault(),D(!0);try{const I=new FormData(M.target);I.set("type",f?.value??""),I.set("amount_type",m?.value??""),await dn(Jn.add,I,t),S.success("Payroll setting added.",{duration:1e3}),C.mutate?.(),M.target.reset(),w(null),u(Na[0])}catch(I){S.error(I?.response?.data?.msg??I?.message??"Failed to add payroll setting.",{duration:1500})}finally{D(!1)}},P=M=>{g(M),b(Na.find(I=>I.value===M?.type)??null),x(zs.find(I=>I.value===M?.amount_type)??null),d(!0)},U=async M=>{M.preventDefault(),R(!0);try{const I=new FormData(M.target);I.set("id",String(c?.id??"")),I.set("type",v?.value??""),I.set("amount_type",h?.value??""),await bl(Jn.edit,I,t),S.success("Payroll setting updated.",{duration:1e3}),d(!1),C.mutate?.()}catch(I){S.error(I?.response?.data?.msg??I?.message??"Failed to update payroll setting.",{duration:1500})}finally{R(!1)}},B=async M=>{try{await pr(Jn.remove,M,t),S.success("Payroll setting deleted.",{duration:1e3}),C.mutate?.()}catch(I){S.error(I?.response?.data?.msg??I?.message??"Failed to delete payroll setting.",{duration:1500})}},A=()=>{const M=new Blob([JSON.stringify(p,null,2)],{type:"application/json"}),I=URL.createObjectURL(M),N=document.createElement("a");N.href=I,N.download="payroll-settings.json",N.click(),URL.revokeObjectURL(I)},F=i.useMemo(()=>[{key:"add",label:"Add",icon:e.jsx(ee.PlusOutlined,{}),onClick:()=>a.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:()=>C.mutate?.()},{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>a.current?.requestSubmit?.()},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:A,disabled:p.length===0}],[p.length]),O=i.useMemo(()=>[{title:"Title",dataIndex:"title",key:"title"},{title:"Type",dataIndex:"type",key:"type"},{title:"Amount Type",dataIndex:"amount_type",key:"amount_type"},{title:"Amount",dataIndex:"Amount",key:"Amount"},{title:"Action",key:"action",render:(M,I)=>e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsx(n.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>P(I)}),e.jsx(n.Popconfirm,{title:"Delete payroll setting?",onConfirm:()=>B(I.id),children:e.jsx(n.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[t]);return e.jsxs(e.Fragment,{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Wt,{title:"Payroll Settings",actions:F,children:e.jsxs("div",{style:{display:"grid",gap:20,gridTemplateColumns:"minmax(320px, 420px) 1fr"},children:[e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Add Allowances / Deductions"}),children:e.jsxs("form",{ref:a,onSubmit:_,children:[e.jsxs("div",{style:sb,children:[e.jsx(V,{name:"title",label:"Title",required:!0}),e.jsxs("div",{children:[e.jsx(Q,{label:"Type",options:Na,value:f,onChange:u}),e.jsx("input",{type:"hidden",name:"type",value:f?.value??""})]}),e.jsxs("div",{children:[e.jsx(Q,{label:"Amount Type",options:zs,value:m,onChange:w}),e.jsx("input",{type:"hidden",name:"amount_type",value:m?.value??""})]}),e.jsx(V,{name:"Amount",type:"number",label:"Amount",required:!0})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:20},children:e.jsx(ne,{type:"submit",value:k?"Adding...":"Submit",disabled:k,loading:k})})]})}),e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:"Payroll Settings List"}),children:e.jsx(n.Table,{rowKey:"id",columns:O,dataSource:p,loading:C.isLoading,pagination:{current:r.page,pageSize:r.rowsPerPage,total:y,showSizeChanger:!0,onChange:(M,I)=>o({page:M,rowsPerPage:Number(I)})}})})]})}),e.jsx(n.Drawer,{open:l,onClose:()=>d(!1),title:"Edit Payroll Setting",width:420,destroyOnClose:!0,footer:e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[e.jsx(n.Button,{onClick:()=>d(!1),disabled:T,children:"Cancel"}),e.jsx(ne,{type:"submit",value:T?"Updating...":"Update",disabled:T,loading:T,form:"payroll-edit-form"})]}),children:e.jsx(n.Spin,{spinning:T,tip:"Updating...",children:e.jsx("form",{id:"payroll-edit-form",ref:s,onSubmit:U,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{name:"title",label:"Title",required:!0,defaultValue:c?.title??""}),e.jsxs("div",{children:[e.jsx(Q,{label:"Type",options:Na,value:v,onChange:b}),e.jsx("input",{type:"hidden",name:"type",value:v?.value??""})]}),e.jsxs("div",{children:[e.jsx(Q,{label:"Amount Type",options:zs,value:h,onChange:x}),e.jsx("input",{type:"hidden",name:"amount_type",value:h?.value??""})]}),e.jsx(V,{name:"Amount",type:"number",label:"Amount",required:!0,defaultValue:c?.Amount??""})]})},c?.id??"new")})})]})}function lb({token:t}){return e.jsx(ob,{token:t})}const Cl=jt.paymentGateway,db=({token:t})=>St({url:Cl.get,token:t}),cb=[{id:"Razorpay",title:"Razorpay",fields:["keyId","keySecret"]},{id:"PhonePe",title:"Pine Labs",fields:["merchantId","saltKey","saltIndex"]},{id:"Paytm",title:"HDFC",fields:["merchantId","merchantKey"]},{id:"SabPaisa",title:"SabPaisa",fields:["clientCode","transUserName","transUserPassword","authKey","authIV"]}],Ht={Razorpay:{keyId:"",keySecret:"",isActive:!0},PhonePe:{merchantId:"",saltKey:"",saltIndex:"1",isActive:!1},Paytm:{merchantId:"",merchantKey:"",isActive:!1},SabPaisa:{clientCode:"",transUserName:"",transUserPassword:"",authKey:"",authIV:"",isActive:!1}},ho=t=>{const a=Array.isArray(t?.data)&&t.data[0]||Array.isArray(t?.data?.data)&&t.data.data[0]||Array.isArray(t)&&t[0]||null;if(!a?.data)return Ht;try{const s=JSON.parse(a.data||"{}"),r=s?.data&&typeof s.data=="object"?s.data:s;return{Razorpay:{...Ht.Razorpay,...r?.Razorpay??{}},PhonePe:{...Ht.PhonePe,...r?.PhonePe??r?.PineLab??r?.PineLabs??{}},Paytm:{...Ht.Paytm,...r?.Paytm??r?.HDFC??{}},SabPaisa:{...Ht.SabPaisa,...r?.SabPaisa??{}}}}catch{return Ht}};function ub({token:t}){const a=i.useRef(null),s=db({token:t}),[r,o]=i.useState(Ht);i.useEffect(()=>{s.data&&o(ho(s.data))},[s.data]);const l=(u,m,w)=>{o(v=>({...v,[u]:{...v[u],[m]:w}}))},d=()=>o(ho(s.data)),c=()=>{const u=new Blob([JSON.stringify(r,null,2)],{type:"application/json"}),m=URL.createObjectURL(u),w=document.createElement("a");w.href=m,w.download="payment-gateway-settings.json",w.click(),URL.revokeObjectURL(m)},g=i.useMemo(()=>[{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>a.current?.requestSubmit?.()},{key:"update",label:"Update",icon:e.jsx(ee.SyncOutlined,{}),onClick:()=>a.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:d},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:c}],[r,s.data]),f=async u=>{u.preventDefault();try{await jl(Cl.save,{data:r},t),S.success("Payment gateway settings saved.",{duration:1e3}),s.mutate?.()}catch(m){S.error(m?.response?.data?.msg??m?.message??"Failed to save gateway settings.",{duration:1500})}};return s.isLoading&&!s.data?e.jsx("div",{children:"Loading..."}):e.jsxs(e.Fragment,{children:[e.jsx(S.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Wt,{title:"Payment Gateway",actions:g,children:e.jsxs("form",{ref:a,onSubmit:f,style:{display:"grid",gap:20},children:[cb.map(u=>{const m=r[u.id]??{};return e.jsx(n.Card,{title:e.jsx(n.Typography.Title,{level:5,style:{margin:0},children:u.title}),children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsxs("span",{style:{fontSize:14,fontWeight:500},children:["Enable ",u.title]}),e.jsx(n.Switch,{checked:!!m.isActive,onChange:w=>l(u.id,"isActive",w)})]}),e.jsx(n.Divider,{style:{margin:0}}),e.jsx("div",{style:{display:"grid",gap:16,gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))"},children:u.fields.map(w=>e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:w}),e.jsx(n.Input,{value:m[w]??"",type:w.toLowerCase().includes("secret")||w.toLowerCase().includes("password")?"password":"text",onChange:v=>l(u.id,w,v.target.value)})]},w))})]})},u.id)}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ne,{type:"submit",value:"Save"})})]})})]})}function pb({token:t}){return e.jsx(ub,{token:t})}const mb=({routes:t=[],onNavigate:a})=>e.jsx(n.Row,{gutter:[16,16],children:t.map((s,r)=>e.jsx(n.Col,{xs:24,md:8,lg:8,children:e.jsx(j,{children:e.jsx(go,{icon:s?.icon??"",title:s?.title??"",path:s?.path??"",onClick:a})})},`${r}route001`))});exports.About=Kx;exports.AcademicYear=Ix;exports.Academics=Uy;exports.AddBook=um;exports.AddDriver=am;exports.AddExpense=wy;exports.AddHomework=lm;exports.AddIncome=hy;exports.AddStaff=Ih;exports.AdmissionEnquiry=Mu;exports.ApplyLeave=ff;exports.AprroveLeaveRequest=lf;exports.AssignByClass=ug;exports.AssignStudentSubject=Ey;exports.AssignStudentToTransport=tm;exports.AssignSubjects=lg;exports.AssignTimeGroup=bg;exports.AssignVehicles=Wp;exports.AttendanceDashboard=Xf;exports.BookList=pm;exports.BulkUpload=$y;exports.BuySellProduct=Gm;exports.Category=Um;exports.Class=Jy;exports.CoScholasticArea=Dg;exports.Complain=Pp;exports.CreateTimeGroup=hg;exports.DailyAttendance=ny;exports.Department=Sf;exports.Designation=_f;exports.DownloadExpense=Ty;exports.ErpDashboard=Rl;exports.ExpenseHead=ky;exports.FeeReceiptSetting=Mx;exports.FeesInfo=ab;exports.GatePass=qp;exports.GeneralSetting=Zg;exports.Holidays=sg;exports.IncomeHead=gy;exports.IssueReturn=hm;exports.LeaveType=xf;exports.LibraryAssignStudent=fm;exports.LibraryCategory=ym;exports.LibraryRenewalReport=xm;exports.LibraryReport=gm;exports.ManageStock=lh;exports.MarksheetSetting=qx;exports.MedicalReport=Oy;exports.MenuSubmenu=yu;exports.MonthlyReport=iy;exports.Notes=Pg;exports.NpmReport=hh;exports.Organization=_x;exports.PaymentGateway=pb;exports.Payroll=af;exports.PayrollReceiptDetails=Ff;exports.PayrollSettings=lb;exports.PhoneCallLog=cp;exports.PostalDispatch=yp;exports.PostalReceive=vp;exports.Privacy=Wx;exports.Products=Mm;exports.PromoteStudents=wg;exports.RoutePage=mb;exports.RouteTimeTable=nm;exports.SearchExpense=Ry;exports.SearchIncome=fy;exports.Sections=Vy;exports.SellReports=rh;exports.SetupFrontOffice=Np;exports.Shift=Df;exports.StaffAttendance=Hh;exports.StaffAttendanceReport=Qh;exports.StaffDailyAttendance=Of;exports.StaffDirectory=Eh;exports.StockReport=mh;exports.Stoppage=rm;exports.StudentAttendance=ey;exports.StudentLoginCredential=Py;exports.SubCategory=Ym;exports.Subjects=eg;exports.SubmissionDetails=dm;exports.Syllabus=Bg;exports.Terms=Yx;exports.TimeTable=Xg;exports.TransferCertificate=$g;exports.TransportBulkUpload=im;exports.TransportRoutes=zp;exports.TransportVehicles=Yp;exports.Unit=Zm;exports.Vendor=Am;exports.VisitorBook=tp;exports.YearlyReport=cy;exports.getImageBaseUrl=ot;exports.setBaseUrl=pc;exports.setImageBaseUrl=mc;
|
|
59
|
+
`}),e.jsx(w,{children:e.jsx("div",{style:{display:"flex",justifyContent:"space-between"},children:e.jsx(kt,{data:{tableRef:M}})})}),e.jsxs("div",{className:"ubk-table-shell",ref:M,style:{marginTop:12},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:16,flexWrap:"wrap",marginBottom:14},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:"#222"},children:[e.jsx("span",{children:"Show"}),e.jsx(a.Select,{size:"small",value:B.rowsPerPage,onChange:re=>L(1,re),options:[10,25,50,100].map(re=>({label:re,value:re})),style:{width:72}}),e.jsx("span",{children:"entries"})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx("span",{style:{fontSize:12,color:"#222"},children:"Search:"}),e.jsx(a.Input,{size:"small",allowClear:!0,value:j,onChange:re=>{P(re.target.value),U(xe=>({...xe,page:1}))},placeholder:"Enter search keyword",prefix:e.jsx(ee.SearchOutlined,{style:{color:"#a3a8cf"}}),style:{width:220,borderWidth:"0 0 1px 0",borderRadius:0,background:"transparent"}})]})]}),e.jsx("div",{className:"print-only",children:e.jsx($t,{})}),ve]}),o&&e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:16,marginTop:16,flexWrap:"wrap"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:`Showing ${ge} to ${_e} of ${de} entries`}),e.jsx(a.Pagination,{current:B.page,pageSize:B.rowsPerPage,total:de||0,showSizeChanger:!1,onChange:L})]})]})]})},Qu=({token:t,type:n})=>{const[s,r]=i.useState({page:1,rowsPerPage:10}),l="api/branchapi/frontoffice/enquirytablelist",o=l.includes("?")?l.endsWith("?")||l.endsWith("&")?"":"&":"?",d=`${l}${o}page=${s.page}&per_page=${s.rowsPerPage}`,{isLoading:c,data:g,error:y}=K(t?[d,t]:null,([k,O])=>G(k,O)),[p,m]=i.useState(!1),A=(k,O)=>{r({page:k,rowsPerPage:parseInt(O)})},C=async k=>{},b=k=>{console.log("dsdsdsdsd",k),m(k)},f=()=>{},x=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],R=i.useMemo(()=>[{id:"1",name:"Name",selector:"name",sortable:!0,sorter:{compare:(k,O)=>k.name.localeCompare(O.name)}},{id:"2",name:"Phone",selector:"contact",sortable:!0,sorter:(k,O)=>(k.contact||"").localeCompare(O.contact||"")},{id:"6",name:"Description",selector:"description",sortable:!0,sorter:(k,O)=>(k.description||"").localeCompare(O.description||"")},{id:"3",name:"Source",selector:"source_name",sortable:!0,sorter:(k,O)=>(k.source_name||"").localeCompare(O.source_name||"")},{id:"4",name:"Enquiry Date",selector:"date",sortable:!0,sorter:(k,O)=>new Date(k.date)-new Date(O.date)},{id:"5",name:"Next Follow Up Date",selector:"follow_up_date",sortable:!0,sorter:(k,O)=>new Date(k.follow_up_date)-new Date(O.follow_up_date)}]);return e.jsx("div",{children:e.jsx(ze,{parentCallback:A,data:{newData:g,columns:R,action:!0,Loading:c,error:y,open:p,viewDetails:f,deleteTodoMutation:C,DrawerUpdate:b,ActionView:x}})})};var Xu=lo();const Is=so(Xu),mo=()=>{};class ur extends i.Component{state={value:this.props.value||this.props.defaultValue||""};selectRef=null;setSelectRef=n=>{this.selectRef=n};componentDidUpdate(n){n.value!==this.props.value&&this.setState({value:this.props.value})}onChange=(n,s)=>{this.props.onChange(n,s),this.setState({value:n})};getValue=()=>{const{value:n}=this.state;return n?Array.isArray(n)?n.length?"valid":"":typeof n=="object"?n.value||"":n:""};render(){const{SelectComponent:n,required:s,...r}=this.props,{isDisabled:l}=this.props,o=!l;return e.jsxs("div",{children:[e.jsx(n,{...r,ref:this.setSelectRef,onChange:this.onChange}),o&&e.jsx("input",{tabIndex:-1,autoComplete:"off",style:{opacity:0,width:"100%",height:0,display:"block"},value:this.getValue(),onChange:mo,onFocus:()=>this.selectRef.focus(),required:s})]})}}ur.defaultProps={onChange:mo};ur.protoTypes={selectComponent:Is.func.isRequired,onChange:Is.func,required:Is.bool};const Zu={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},ep={menuPortal:t=>({...t,zIndex:9999}),control:(t,n)=>({...t,minHeight:40,height:40,fontSize:"14px",border:"none",borderBottom:`1px solid ${n.isFocused?"#222":"#d9d9d9"}`,borderRadius:0,boxShadow:"none",backgroundColor:"transparent",transition:"border-color 0.2s ease","&:hover":{border:"none",borderBottom:`1px solid ${n.isFocused?"#222":"#a8a8a8"}`}}),valueContainer:t=>({...t,height:40,padding:"0 0",display:"flex",alignItems:"center"}),input:t=>({...t,margin:0,padding:0}),indicatorSeparator:()=>({display:"none"}),indicatorsContainer:t=>({...t,height:40}),dropdownIndicator:(t,n)=>({...t,padding:"0 0 0 8px",color:n.isFocused?"#222":"#b5b5b5"}),singleValue:t=>({...t,color:"#222",marginLeft:0}),placeholder:t=>({...t,color:"#9f9f9f",marginLeft:0}),option:(t,n)=>({...t,fontSize:"14px",backgroundColor:n.isFocused?"#f8f8f8":"#fff",color:"#222",cursor:"pointer"})},ho=t=>e.jsx(Al.components.Input,{...t,className:"input-cont",required:!!t?.selectProps?.required}),tp=t=>e.jsx(ur,{...t,SelectComponent:Al,components:{Input:ho},options:t.options}),Z=i.forwardRef(({...t},n)=>e.jsxs("div",{className:"form-group",style:{height:"auto"},children:[t.label&&e.jsx("label",{className:"labelfont",style:Zu,children:t?.label}),e.jsx(tp,{components:{Input:ho},menuPortalTarget:document.body,styles:ep,className:"input-cont",...t,ref:n})]})),ap={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},np={width:"100%",height:"40px",background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"},sp=(t,n,s)=>n?t>se(s).endOf("day")||t<se(n).endOf("day"):!1,He=i.forwardRef(function(n,s){const{...r}=n;return e.jsxs("div",{className:"form-group",children:[r.Desplay&&e.jsx("label",{className:`labelfont ${r.classnme?r.classnme:""}`,style:ap,children:r.Desplay}),e.jsx(a.DatePicker,{...r,style:{...np,...r.style||{}},className:"form-group",disabledDate:l=>sp(l,r.sessionStart||r.minDate?.subtract(1,"day").format("YYYY-MM-DD"),r.sessionEnd||r.maxDate?.format("YYYY-MM-DD")),required:!0,ref:s})]})}),rp={minWidth:160,height:36,padding:"0 28px",border:"none",borderRadius:999,background:"linear-gradient(90deg, #f59b1c 0%, #ef3e7b 100%)",color:"#fff",fontSize:14,fontWeight:700,textTransform:"uppercase",cursor:"pointer",boxShadow:"none"},ie=i.forwardRef(({error:t,success:n,disabled:s,loading:r,style:l,...o},d)=>e.jsxs("div",{className:"form-group",style:{marginBottom:0,position:"relative"},children:[e.jsx("input",{...o,ref:d,disabled:s||r,style:{...rp,opacity:s||r?.7:1,cursor:s||r?"not-allowed":"pointer",...l||{}}}),r?e.jsx("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},children:e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",opacity:.8,children:e.jsx("animateTransform",{attributeName:"transform",type:"rotate",dur:"0.8s",values:"0 0 0 0;360 0 0 0",repeatCount:"indefinite",children:e.jsx("circle",{cx:"8",cy:"8",r:"6",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeDasharray:"60",strokeLinecap:"round",children:e.jsx("animate",{attributeName:"stroke-dashoffset",type:"subtract",from:"60",to:"0",dur:"0.8s",repeatCount:"indefinite"})})})})}):null]})),ip={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},lp={width:"100%",minHeight:80,padding:"8px 0",fontSize:"14px",color:"#222",background:"transparent",border:0,borderTop:0,borderLeft:0,borderRight:0,borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none",outline:"none",resize:"vertical",transition:"border-color 0.2s ease"},gt=({style:t,onFocus:n,onBlur:s,...r})=>{const[l,o]=i.useState(!1);return e.jsxs("div",{style:{width:"100%"},children:[r.label&&e.jsx("label",{className:"labelfont",style:ip,children:r.label}),e.jsx("textarea",{placeholder:r.placeholder||r.label,...r,onFocus:d=>{o(!0),n?.(d)},onBlur:d=>{o(!1),s?.(d)},style:{...lp,borderBottom:`1px solid ${l?"#222":"#d9d9d9"}`,...t||{}}})]})},st=t=>({optimisticData:n=>[...n.data,t],populateCache:(n,s)=>[...s.data,n]}),nt=t=>({optimisticData:n=>n.data.filter(s=>s.id!==t),populateCache:(n,s)=>s.data.filter(r=>r.id!==t)}),op=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},dp="api/branchapi/Frontoffice/visitorbookShowdata",cp="api/branchapi/Frontoffice/purposedropdown";function up({data:t}){const{handleUpdate:n,token:s}=t||{},r=i.useContext(Mt),l=dp.replace(/\?.*$/,""),{isLoading:o,data:d}=K(s&&r?[l,r,s]:null,([f,x,R])=>Ra(f,{id:x},R)),{isLoading:c,data:g}=K(s?[cp,s]:null,([f,x])=>G(f,x)),y=i.useMemo(()=>op(g),[g]),p=d?.data?.[0],[m,A]=i.useState({purpose:void 0,name:"",phone:"",id_card:"",number_of_person:1,date:null,in_time:null,out_time:null,note:"",address:"",image:""});i.useEffect(()=>{p&&A({purpose:p?.purpose,name:p?.name||"",phone:p?.contact||"",id_card:p?.id_proof||"",number_of_person:p?.no_of_pepple||1,date:p?.date?se(p.date):null,in_time:p?.in_time?se(p.in_time,"h:mm a"):null,out_time:p?.out_time?se(p.out_time,"h:mm a"):null,note:p?.note||"",address:p?.address||"",image:p?.image||""})},[p]);const C=(f,x)=>{A(R=>({...R,[f]:x}))},b=`${At()}/branchapi/frontoffice/uploadfrontofficeDocument`;return o||c?e.jsx(w,{pt:4,pb:1,style:{width:550},children:e.jsx("div",{children:"Please Wait..."})}):e.jsxs(w,{pt:4,pb:1,style:{width:550},children:[e.jsx("form",{onSubmit:f=>n(f,r),children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Edit Visitor"})}),e.jsx(w,{p:2,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{options:y,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Purpose",name:"purpose",allowSelectAll:!1,value:m.purpose,onChange:f=>C("purpose",f)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"name",type:"text",label:"Name",required:!0,value:m.name,onChange:f=>C("name",f.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"phone",type:"text",label:"Phone No.",required:!0,value:m.phone,onChange:f=>C("phone",f.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"id_card",type:"text",label:"ID Card",value:m.id_card,onChange:f=>C("id_card",f.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"number_of_person",type:"number",label:"Number of Person",value:m.number_of_person,onChange:f=>C("number_of_person",f.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",value:m.date,Desplay:"Date",id:"date",name:"date",required:!0,onChange:f=>C("date",f)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsxs(w,{children:[e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm a",value:m.in_time,onChange:f=>C("in_time",f),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"in_time",value:m.in_time?m.in_time.format("h:mm a"):"",readOnly:!0})]})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsxs(w,{children:[e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm a",value:m.out_time,onChange:f=>C("out_time",f),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"out_time",value:m.out_time?m.out_time.format("h:mm a"):"",readOnly:!0})]})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"note",type:"text",label:"Note",value:m.note,onChange:f=>C("note",f.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(gt,{type:"text",label:"Address",name:"address",rows:3,required:!0,value:m.address,onChange:f=>C("address",f.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsxs(w,{children:[e.jsx(a.Upload,{action:b,headers:{Authorization:s},maxCount:1,onChange:f=>{if(f.file.status==="removed"&&C("image",""),f.file.status==="done"){const x=f.file.response?.data??f.file.response?.file??"";C("image",String(x??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:m.image?"Change":"Upload"})}),e.jsx("input",{type:"hidden",name:"image",value:m.image||"",readOnly:!0})]})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"center",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})})})})]})})]})}),e.jsx("style",{children:".noDisplay { display: none; } .textDanger { color: #dc2626; }"})]})}const pp=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},ua="api/branchapi/Frontoffice/visitortablelist",mp="api/branchapi/Frontoffice/purposedropdown",hp="api/branchapi/frontoffice/addvisitors",fp="api/branchapi/frontoffice/editvisitorsdata",yp="api/branchapi/frontoffice/deletevisitors",gp=`${At()}/branchapi/frontoffice/uploadfrontofficeDocument`;function xp({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(""),[c,g]=i.useState(""),[y,p]=i.useState("03:30 PM"),m=(T,F)=>{s({page:T,rowsPerPage:Number.parseInt(F,10)})},A=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],C=i.useMemo(()=>{const T=ua.includes("?")?ua.endsWith("?")||ua.endsWith("&")?"":"&":"?";return`${ua}${T}page=${n.page}&per_page=${n.rowsPerPage}`},[ua,n.page,n.rowsPerPage]),{isLoading:b,error:f,data:x,mutate:R}=K(t?[C,t]:null,([T,F])=>G(T,F)),{isLoading:k,data:O}=K(t?[mp,t]:null,([T,F])=>G(T,F)),_=i.useMemo(()=>pp(O),[O]),D=async(T,F)=>{try{await R(Ge(T,F,t),st(F)),v.success("Success! Added new item.")}catch{v.error("Failed to add the new item.")}},u=async T=>{try{await R(Ze(yp,T,t),nt(T)),v.success("Success! Deleted item.")}catch{v.error("Failed to delete the item.")}},h=async(T,F,j)=>{try{const P=await tt(T,F,t);R(P),Array.isArray(P?.data)&&R(`${ua.replace(/\?.*$/,"")}?id=${j}`,P),v.success("Success! Updated item.")}catch{v.error("Failed to update the item.")}},S=async(T,F)=>{T.preventDefault();const j=new FormData(T.target);await h(fp,j,F),T.target.reset(),d(""),l(!1)},E=async T=>{if(T.preventDefault(),!T.target?.date?.value)v.error("Select required dates"),T.target?.date?.focus(),g("textDanger");else{const F=new FormData(T.target);await D(hp,F),T.target.reset(),g(""),d(""),p("03:30 PM")}},$=T=>{l(T)},q=i.useMemo(()=>[{id:"1",name:"Name",selector:"name",sortable:!0},{id:"2",name:"Purpose",selector:"visitors_purpose",sortable:!0},{id:"3",name:"Phone",selector:"contact",sortable:!0},{id:"4",name:"Date",selector:"date",sortable:!0},{id:"5",name:"Address",selector:"address",sortable:!0},{id:"5",name:"In Time",selector:"in_time",sortable:!0},{id:"6",name:"Out Time",selector:"out_time",sortable:!0}],[]);return e.jsxs("div",{children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Add Visitor"})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:E,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{options:_,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Purpose",name:"purpose",required:!0,allowSelectAll:!1})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{required:!0,name:"name",type:"text",label:"Name"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{pattern:"[0-9]{3}[0-9]{3}[0-9]{4}",name:"phone",type:"tel",label:"Phone No.",required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"id_card",type:"text",label:"ID Card"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{defaultValue:1,name:"number_of_person",type:"number",label:"Number of Person"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",defaultValue:se(),Desplay:"Date",id:"date",name:"date",classnme:c,onChange:()=>g("")})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsxs(w,{children:[e.jsx(a.TimePicker,{defaultValue:se("2022-04-17T15:30","h:mm a"),id:"in_time",use12Hours:!0,format:"h:mm a",onChange:(T,F)=>p(F),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"in_time",value:y,readOnly:!0})]})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"note",type:"text",label:"Note"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(gt,{type:"text",label:"Address*",name:"address",rows:3,required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsxs(w,{children:[e.jsx(a.Upload,{action:gp,headers:{Authorization:t},maxCount:1,onChange:T=>{if(T.file.status==="removed"&&d(""),T.file.status==="done"){const F=T.file.response?.data??T.file.response?.file??"";d(String(F??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:o?"Change":"Upload"})}),e.jsx("input",{type:"hidden",name:"image",value:o||"",readOnly:!0})]})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})})})})]})})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Visitor List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:m,data:{newData:x,columns:q,action:!0,ActionView:A,Loading:b,error:f,editDesign:e.jsx(up,{data:{handleUpdate:S,token:t}}),deleteTodoMutation:u,open:r,DrawerUpdate:$,viewDetails:""}})})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}const bp="api/branchapi/frontoffice/generalcallsShowdata",jp=[{value:"Incoming",label:"Incoming"},{value:"Outgoing",label:"Outgoing"}];function Sp({data:t}){const{handleUpdate:n,token:s}=t||{},r=i.useContext(Mt),l=bp.replace(/\?.*$/,""),{isLoading:o,data:d}=K(s&&r?[l,r,s]:null,([m,A,C])=>Ra(m,{id:A},C)),c=d?.data?.[0],[g,y]=i.useState({name:"",phone:"",description:"",date:null,next_follow_up_date:null,call_duration:"",note:"",call_type:""});i.useEffect(()=>{c&&y({name:c?.name||"",phone:c?.contact||"",description:c?.description||"",date:c?.date?se(c.date):null,next_follow_up_date:c?.follow_up_date?se(c.follow_up_date):null,call_duration:c?.call_dureation||"",note:c?.note||"",call_type:c?.call_type||""})},[c]);const p=(m,A)=>{y(C=>({...C,[m]:A}))};return o?e.jsx(w,{pt:4,pb:1,style:{width:550},children:e.jsx("div",{children:"Please Wait..."})}):e.jsxs(w,{pt:4,pb:1,style:{width:550},children:[e.jsx("form",{onSubmit:m=>n(m,r),children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Edit Call Log"})}),e.jsx(w,{p:2,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"name",type:"text",label:"Name",required:!0,value:g.name,onChange:m=>p("name",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"phone",type:"tel",label:"Phone",pattern:"[0-9]{3}[0-9]{3}[0-9]{4}",value:g.phone,onChange:m=>p("phone",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"description",type:"text",label:"Description",value:g.description,onChange:m=>p("description",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",value:g.date,Desplay:"Date",id:"date",name:"date",onChange:m=>p("date",m)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",value:g.next_follow_up_date,Desplay:"Next Follow Up Date",id:"fdate",name:"next_follow_up_date",onChange:m=>p("next_follow_up_date",m)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"call_duration",type:"text",label:"Call Duration",value:g.call_duration,onChange:m=>p("call_duration",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"note",type:"text",label:"Note",value:g.note,onChange:m=>p("note",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{options:jp,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Call Type",name:"call_type",required:!0,allowSelectAll:!1,value:g.call_type?{value:g.call_type,label:g.call_type}:null,onChange:m=>p("call_type",m?.value||"")})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"center",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})})})})]})})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const pa="api/branchapi/frontoffice/generalcalltablelist",vp="api/branchapi/frontoffice/addgenaralcalls",wp="api/branchapi/frontoffice/editgeneralcall",_p="api/branchapi/frontoffice/deletegeneralcall",Cp=[{value:"Incoming",label:"Incoming"},{value:"Outgoing",label:"Outgoing"}],Ap=[{key:"all",label:"All Calls"},{key:"Incoming",label:"Incoming"},{key:"Outgoing",label:"Outgoing"}];function Dp({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(""),[c,g]=i.useState(""),[y,p]=i.useState("all"),[m,A]=i.useState(""),C=i.useRef(null),b=(T,F)=>{s({page:T,rowsPerPage:Number.parseInt(F,10)})},f=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],x=i.useMemo(()=>{const T=pa.includes("?")?pa.endsWith("?")||pa.endsWith("&")?"":"&":"?",F=new URLSearchParams;return F.set("page",String(n.page)),F.set("per_page",String(n.rowsPerPage)),y!=="all"&&F.set("call_type",y),`${pa}${T}${F.toString()}`},[pa,n.page,n.rowsPerPage,y]),{isLoading:R,error:k,data:O,mutate:_}=K(t?[x,t]:null,([T,F])=>G(T,F)),D=async(T,F)=>{try{await _(Ge(T,F,t),st(F)),v.success("Success! Added new item.")}catch{v.error("Failed to add the new item.")}},u=async T=>{try{await _(Ze(_p,T,t),nt(T)),v.success("Success! Deleted item.")}catch{v.error("Failed to delete the item.")}},h=async(T,F,j)=>{try{const P=await tt(T,F,t);_(P),Array.isArray(P?.data)&&_(`${pa.replace(/\?.*$/,"")}?id=${j}`,P),v.success("Success! Updated item.")}catch{v.error("Failed to update the item.")}},S=async(T,F)=>{T.preventDefault();const j=new FormData(T.target);await h(wp,j,F),T.target.reset(),d(""),l(!1)},E=async T=>{if(T.preventDefault(),!T.target?.date?.value)v.error("Select required dates"),T.target?.date?.focus(),g("textDanger");else{const F=new FormData(T.target);await D(vp,F),T.target.reset(),g(""),d(""),A("")}},$=T=>{l(T)},q=i.useMemo(()=>[{id:"1",name:"Name",selector:"name",sortable:!0},{id:"2",name:"Phone",selector:"contact",sortable:!0},{id:"3",name:"Description",selector:"description",sortable:!0},{id:"4",name:"Date",selector:"date",sortable:!0},{id:"5",name:"Follow Up Date",selector:"follow_up_date",sortable:!0},{id:"6",name:"Call Duration",selector:"call_dureation",sortable:!0}],[]);return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Add Phone Call Log"})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:E,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{required:!0,name:"name",type:"text",label:"Name"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{pattern:"[0-9]{3}[0-9]{3}[0-9]{4}",name:"phone",type:"tel",label:"Phone",required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"description",type:"text",label:"Description"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",defaultValue:se(),Desplay:"Date",id:"date",name:"date",classnme:c,onChange:()=>g("")})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",Desplay:"Next Follow Up Date",id:"fdate",name:"follow_up_date"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"call_dureation",type:"text",label:"Call Duration"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"note",type:"text",label:"Note"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{options:Cp,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Call Type",name:"call_type",required:!0,allowSelectAll:!1,value:m?{value:m,label:m}:null,onChange:T=>A(T?.value||"")})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})})})})]})})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Phone Call Log List"})}),e.jsxs(w,{pt:3,children:[e.jsx(a.Tabs,{activeKey:y,onChange:p,items:Ap}),e.jsx(kt,{data:{tableRef:C}}),e.jsx(ze,{parentCallback:b,data:{newData:O,columns:q,action:!0,ActionView:f,Loading:R,error:k,editDesign:e.jsx(Sp,{data:{handleUpdate:S,token:t}}),deleteTodoMutation:u,open:r,DrawerUpdate:$,viewDetails:""}})]})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}const Tp="api/branchapi/frontoffice/postaldispatchreceiveShowdata";function Rp({data:t}){const{handleUpdate:n,token:s}=t||{},r=i.useContext(Mt),l=Tp.replace(/\?.*$/,""),{isLoading:o,data:d}=K(s&&r?[l,r,s]:null,([m,A,C])=>Ra(m,{id:A},C)),c=d?.data?.[0],[g,y]=i.useState({to_title:"",refernce:"",address:"",note:"",from_title:"",date:null,image:""});i.useEffect(()=>{c&&y({to_title:c?.to_title||"",refernce:c?.reference_no||"",address:c?.address||"",note:c?.note||"",from_title:c?.from_title||"",date:c?.date?se(c.date):null,image:c?.image||""})},[c]);const p=(m,A)=>{y(C=>({...C,[m]:A}))};return o?e.jsx(w,{pt:4,pb:1,style:{width:550},children:e.jsx("div",{children:"Please Wait..."})}):e.jsxs(w,{pt:4,pb:1,style:{width:550},children:[e.jsx("form",{onSubmit:m=>n(m,r),children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Edit Postal Dispatch"})}),e.jsx(w,{p:2,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"title",type:"text",label:"To Title *",required:!0,value:g.to_title,onChange:m=>p("to_title",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"refernce",type:"text",label:"Reference No",value:g.refernce,onChange:m=>p("refernce",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"address",type:"text",label:"Address",required:!0,value:g.address,onChange:m=>p("address",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"note",type:"text",label:"Note",value:g.note,onChange:m=>p("note",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"from_title",type:"text",label:"From Title",required:!0,value:g.from_title,onChange:m=>p("from_title",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",value:g.date,Desplay:"Date",id:"date",name:"date",onChange:m=>p("date",m)})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"center",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})})})})]})})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const ma="api/branchapi/frontoffice/postaldispatchtablelist",Ip="api/branchapi/frontoffice/addpostaldispatch",kp="api/branchapi/frontoffice/editpostaldispatch",Pp="api/branchapi/frontoffice/deletepostalreceivedispatch";function Op({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(""),[c,g]=i.useState(""),y=i.useRef(null),p=(S,E)=>{s({page:S,rowsPerPage:Number.parseInt(E,10)})},m=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],A=i.useMemo(()=>{const S=ma.includes("?")?ma.endsWith("?")||ma.endsWith("&")?"":"&":"?";return`${ma}${S}page=${n.page}&per_page=${n.rowsPerPage}`},[ma,n.page,n.rowsPerPage]),{isLoading:C,error:b,data:f,mutate:x}=K(t?[A,t]:null,([S,E])=>G(S,E)),R=async(S,E)=>{try{await x(Ge(S,E,t),st(E)),v.success("Success! Added new item.")}catch{v.error("Failed to add the new item.")}},k=async S=>{try{await x(Ze(Pp,S,t),nt(S)),v.success("Success! Deleted item.")}catch{v.error("Failed to delete the item.")}},O=async(S,E,$)=>{try{const q=await tt(S,E,t);x(q),Array.isArray(q?.data)&&x(`${ma.replace(/\?.*$/,"")}?id=${$}`,q),v.success("Success! Updated item.")}catch{v.error("Failed to update the item.")}},_=async(S,E)=>{S.preventDefault();const $=new FormData(S.target);await O(kp,$,E),S.target.reset(),d(""),l(!1)},D=async S=>{if(S.preventDefault(),!S.target?.date?.value)v.error("Select required dates"),S.target?.date?.focus(),g("textDanger");else{const E=new FormData(S.target);await R(Ip,E),S.target.reset(),g(""),d("")}},u=S=>{l(S)},h=i.useMemo(()=>[{id:"1",name:"To Title",selector:"to_title",sortable:!0},{id:"2",name:"Reference No",selector:"reference_no",sortable:!0},{id:"3",name:"Address",selector:"address",sortable:!0},{id:"4",name:"Note",selector:"note",sortable:!0},{id:"5",name:"From Title",selector:"from_title",sortable:!0},{id:"6",name:"Date",selector:"date",sortable:!0}],[]);return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Add Postal Dispatch"})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:D,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{required:!0,name:"title",type:"text",label:"To Title *"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"refernce",type:"text",label:"Reference No"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{required:!0,name:"address",type:"text",label:"Address"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"note",type:"text",label:"Note"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{required:!0,name:"from_title",type:"text",label:"From Title"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",defaultValue:se(),Desplay:"Date",id:"date",name:"date",status:c===""?"":"error",classnme:c,onChange:()=>g("")})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx("input",{type:"hidden",name:"image",value:o||"",readOnly:!0})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})})})})]})})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Postal Dispatch List"})}),e.jsxs(w,{pt:3,children:[e.jsx(kt,{data:{tableRef:y}}),e.jsx(ze,{parentCallback:p,data:{newData:f,columns:h,action:!0,ActionView:m,Loading:C,error:b,editDesign:e.jsx(Rp,{data:{handleUpdate:_,token:t}}),deleteTodoMutation:k,open:r,DrawerUpdate:u,viewDetails:""}})]})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}const Mp="api/branchapi/frontoffice/postaldispatchreceiveShowdata";function Ep({data:t}){const{handleUpdate:n,token:s}=t||{},r=i.useContext(Mt),l=Mp.replace(/\?.*$/,""),{isLoading:o,data:d}=K(s&&r?[l,r,s]:null,([m,A,C])=>Ra(m,{id:A},C)),c=d?.data?.[0],[g,y]=i.useState({from_title:"",refernce:"",address:"",note:"",title:"",date:null,image:""});i.useEffect(()=>{c&&y({from_title:c?.from_title||"",refernce:c?.reference_no||"",address:c?.address||"",note:c?.note||"",title:c?.to_title||"",date:c?.date?se(c.date):null,image:c?.image||""})},[c]);const p=(m,A)=>{y(C=>({...C,[m]:A}))};return o?e.jsx(w,{pt:4,pb:1,style:{width:550},children:e.jsx("div",{children:"Please Wait..."})}):e.jsxs(w,{pt:4,pb:1,style:{width:550},children:[e.jsx("form",{onSubmit:m=>n(m,r),children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Edit Postal Receive"})}),e.jsx(w,{p:2,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"from_title",type:"text",label:"From Title *",required:!0,value:g.from_title,onChange:m=>p("from_title",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"refernce",type:"text",label:"Reference No",required:!0,value:g.refernce,onChange:m=>p("refernce",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"address",type:"text",label:"Address",required:!0,value:g.address,onChange:m=>p("address",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"note",type:"text",label:"Note",value:g.note,onChange:m=>p("note",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"title",type:"text",label:"To Title",required:!0,value:g.title,onChange:m=>p("title",m.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",value:g.date,Desplay:"Date",id:"date",name:"date",onChange:m=>p("date",m)})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"center",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})})})})]})})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const ha="api/branchapi/frontoffice/postalrecivetablelist",Fp="api/branchapi/frontoffice/addpostalrecive",$p="api/branchapi/frontoffice/editpostalrecive",Up="api/branchapi/frontoffice/deletepostalreceivedispatch";function Bp({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(""),[c,g]=i.useState(""),y=i.useRef(null),p=(S,E)=>{s({page:S,rowsPerPage:Number.parseInt(E,10)})},m=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],A=i.useMemo(()=>{const S=ha.includes("?")?ha.endsWith("?")||ha.endsWith("&")?"":"&":"?";return`${ha}${S}page=${n.page}&per_page=${n.rowsPerPage}`},[ha,n.page,n.rowsPerPage]),{isLoading:C,error:b,data:f,mutate:x}=K(t?[A,t]:null,([S,E])=>G(S,E)),R=async(S,E)=>{try{await x(Ge(S,E,t),st(E)),v.success("Success! Added new item.")}catch{v.error("Failed to add the new item.")}},k=async S=>{try{await x(Ze(Up,S,t),nt(S)),v.success("Success! Deleted item.")}catch{v.error("Failed to delete the item.")}},O=async(S,E,$)=>{try{const q=await tt(S,E,t);x(q),Array.isArray(q?.data)&&x(`${ha.replace(/\?.*$/,"")}?id=${$}`,q),v.success("Success! Updated item.")}catch{v.error("Failed to update the item.")}},_=async(S,E)=>{S.preventDefault();const $=new FormData(S.target);await O($p,$,E),S.target.reset(),d(""),l(!1)},D=async S=>{if(S.preventDefault(),!S.target?.date?.value)v.error("Select required dates"),S.target?.date?.focus(),g("textDanger");else{const E=new FormData(S.target);await R(Fp,E),S.target.reset(),g(""),d("")}},u=S=>{l(S)},h=i.useMemo(()=>[{id:"1",name:"From Title",selector:"from_title",sortable:!0},{id:"2",name:"Reference No",selector:"reference_no",sortable:!0},{id:"3",name:"Address",selector:"address",sortable:!0},{id:"4",name:"Note",selector:"note",sortable:!0},{id:"5",name:"To Title",selector:"to_title",sortable:!0},{id:"6",name:"Date",selector:"date",sortable:!0}],[]);return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Add Postal Receive"})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:D,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{required:!0,name:"from_title",type:"text",label:"From Title *"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{required:!0,name:"refernce",type:"text",label:"Reference No"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{required:!0,name:"address",type:"text",label:"Address"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"note",type:"text",label:"Note"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{required:!0,name:"title",type:"text",label:"To Title"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",defaultValue:se(),Desplay:"Date",id:"date",name:"date",status:c===""?"":"error",classnme:c,onChange:()=>g("")})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx("input",{type:"hidden",name:"image",value:o||"",readOnly:!0})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})})})})]})})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Postal Receive List"})}),e.jsxs(w,{pt:3,children:[e.jsx(kt,{data:{tableRef:y}}),e.jsx(ze,{parentCallback:p,data:{newData:f,columns:h,action:!0,ActionView:m,Loading:C,error:b,editDesign:e.jsx(Ep,{data:{handleUpdate:_,token:t}}),deleteTodoMutation:k,open:r,DrawerUpdate:u,viewDetails:""}})]})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}const Np="api/branchapi/frontoffice/complaintShowdata",Lp="api/branchapi/frontoffice/complainttypedropdown",qp=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]};function zp({data:t}){const{handleUpdate:n,token:s}=t||{},r=i.useContext(Mt),l=Np.replace(/\?.*$/,""),{isLoading:o,data:d}=K(s&&r?[l,r,s]:null,([f,x,R])=>Ra(f,{id:x},R)),{isLoading:c,data:g}=K(s?[Lp,s]:null,([f,x])=>G(f,x)),y=i.useMemo(()=>qp(g).map(x=>({value:x?.value??x?.id??x?.complaint_type??"",label:x?.complaint_type??x?.label??""})),[g]),p=d?.data?.[0],[m,A]=i.useState({complain_type:"",complain_by_name:"",phone:"",date:null,description:"",action_token:"",assigned:"",note:"",file:""});i.useEffect(()=>{p&&A({complain_type:p?.complaint_type??"",complain_by_name:p?.name??"",phone:p?.contact??"",date:p?.date?se(p.date):null,description:p?.description??"",action_token:p?.action_taken??"",assigned:p?.assigned??"",note:p?.note??"",file:p?.image??""})},[p]);const C=(f,x)=>{A(R=>({...R,[f]:x}))},b=i.useMemo(()=>y.find(f=>f.value===m.complain_type)||null,[y,m.complain_type]);return o||c?e.jsx(w,{pt:4,pb:1,style:{width:550},children:e.jsx("div",{children:"Please Wait..."})}):e.jsx(w,{pt:4,pb:1,style:{width:550},children:e.jsxs("form",{onSubmit:f=>n(f,r),children:[e.jsx("input",{type:"hidden",name:"id",value:r??""}),e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Edit Complaint"})}),e.jsx(w,{p:2,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{options:y,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Complain Type",name:"complain_type",allowSelectAll:!1,value:b,onChange:f=>C("complain_type",f?.value??"")})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"complain_by_name",type:"text",label:"Complain By *",required:!0,value:m.complain_by_name,onChange:f=>C("complain_by_name",f.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"phone",type:"tel",label:"Phone",pattern:"[0-9]{10}",value:m.phone,onChange:f=>C("phone",f.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",value:m.date,Desplay:"Enquiry Date",id:"date",name:"date",onChange:f=>C("date",f)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"description",type:"text",label:"Description",value:m.description,onChange:f=>C("description",f.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"action_token",type:"text",label:"Action Taken",value:m.action_token,onChange:f=>C("action_token",f.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"assigned",type:"text",label:"Assigned",value:m.assigned,onChange:f=>C("assigned",f.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"note",type:"text",label:"Note",value:m.note,onChange:f=>C("note",f.target.value)})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"center",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})})})})]})})]})]})})}const fa="api/branchapi/frontoffice/complainttablelist",Yp="api/branchapi/frontoffice/complainttypedropdown",Wp="api/branchapi/frontoffice/addcomplaint",Vp="api/branchapi/frontoffice/editcomplaint",Hp="api/branchapi/frontoffice/deletecomplaint",Kp=[{key:"all",label:"All Complaints"},{key:"pending",label:"Pending"},{key:"resolved",label:"Resolved"}];function Gp({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(""),[c,g]=i.useState(""),[y,p]=i.useState("all"),m=i.useRef(null),A=(F,j)=>{s({page:F,rowsPerPage:Number.parseInt(j,10)})},C=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],b=i.useMemo(()=>{const F=fa.includes("?")?fa.endsWith("?")||fa.endsWith("&")?"":"&":"?",j=new URLSearchParams;return j.set("page",String(n.page)),j.set("per_page",String(n.rowsPerPage)),y!=="all"&&j.set("status",y),`${fa}${F}${j.toString()}`},[fa,n.page,n.rowsPerPage,y]),{isLoading:f,error:x,data:R,mutate:k}=K(t?[b,t]:null,([F,j])=>G(F,j)),{isLoading:O,data:_}=K(t?[Yp,t]:null,([F,j])=>G(F,j)),D=i.useMemo(()=>{const F=_?.data??_??[];return Array.isArray(F)?F:Array.isArray(F?.data)?F.data:[]},[_]),u=async(F,j)=>{try{await k(Ge(F,j,t),st(j)),v.success("Success! Added new item.")}catch{v.error("Failed to add the new item.")}},h=async F=>{try{await k(Ze(Hp,F,t),nt(F)),v.success("Success! Deleted item.")}catch{v.error("Failed to delete the item.")}},S=async(F,j,P)=>{try{const I=await tt(F,j,t);k(I),Array.isArray(I?.data)&&k(`${fa.replace(/\?.*$/,"")}?id=${P}`,I),v.success("Success! Updated item.")}catch{v.error("Failed to update the item.")}},E=async(F,j)=>{F.preventDefault();const P=new FormData(F.target);await S(Vp,P,j),F.target.reset(),d(""),l(!1)},$=async F=>{if(F.preventDefault(),!F.target?.date?.value)v.error("Select required dates"),F.target?.date?.focus(),g("textDanger");else{const j=new FormData(F.target);await u(Wp,j),F.target.reset(),g(""),d("")}},q=F=>{l(F)},T=i.useMemo(()=>[{id:"1",name:"Complain Type",selector:"complaint_type",sortable:!0},{id:"2",name:"Name",selector:"name",sortable:!0},{id:"3",name:"Phone",selector:"contact",sortable:!0},{id:"4",name:"Date",selector:"date",sortable:!0},{id:"5",name:"Action Taken",selector:"action_taken",sortable:!0},{id:"6",name:"Assigned",selector:"assigned",sortable:!0}],[]);return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Add Complaint"})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:$,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{options:D,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Complain Type",name:"complain_type",required:!0,allowSelectAll:!1})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"complain_by_name",type:"text",label:"Complain By *",required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"phone",type:"tel",label:"Phone",pattern:"[0-9]{3}[0-9]{3}[0-9]{4}"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",defaultValue:se(),Desplay:"Complain Date",id:"date",name:"date",status:c===""?"":"error",classnme:c,onChange:()=>g("")})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"description",type:"text",label:"Description"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"action_token",type:"text",label:"Action Taken"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"assigned",type:"text",label:"Assigned"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"note",type:"text",label:"Note"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx("input",{type:"hidden",name:"file",value:o||"",readOnly:!0})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})})})})]})})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Complaint List"})}),e.jsxs(w,{pt:3,children:[e.jsx(a.Tabs,{activeKey:y,onChange:p,items:Kp}),e.jsx(kt,{data:{tableRef:m}}),e.jsx(ze,{parentCallback:A,data:{newData:R,columns:T,action:!0,ActionView:C,Loading:f,error:x,editDesign:e.jsx(zp,{data:{handleUpdate:E,token:t}}),deleteTodoMutation:h,open:r,DrawerUpdate:q,viewDetails:""}})]})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}const ti="api/branchapi/Frontoffice/purposetablelist",Jp="api/branchapi/Frontoffice/complaint_typetablelist",Qp="api/branchapi/Frontoffice/sourcetablelist",Xp="api/branchapi/Frontoffice/referencetablelist",ai="api/branchapi/frontoffice/visitorpurposeShowdata",Zp="api/branchapi/frontoffice/complaintTypeShowdata",em="api/branchapi/frontoffice/sourceShowdata",tm="api/branchapi/frontoffice/referenceShowdata",va=[{key:"purpose",label:"Purpose"},{key:"complainType",label:"Complain Type"},{key:"source",label:"Source"},{key:"reference",label:"Reference"}],ni={purpose:[{id:"1",name:"Purpose",selector:"visitors_purpose",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0}],complainType:[{id:"1",name:"Complaint Type",selector:"complaint_type",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0}],source:[{id:"1",name:"Source",selector:"source",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0}],reference:[{id:"1",name:"Reference",selector:"reference",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0}]};function am({token:t}){const[n,s]=i.useState("purpose"),[r,l]=i.useState({page:1,rowsPerPage:10}),[o,d]=i.useState(!1),c=i.useRef(null),g=($,q)=>{l({page:$,rowsPerPage:Number.parseInt(q,10)})},y=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],p=()=>{switch(n){case"purpose":return ti;case"complainType":return Jp;case"source":return Qp;case"reference":return Xp;default:return ti}},m=()=>{switch(n){case"purpose":return"api/branchapi/frontoffice/addvisitors_purpose";case"complainType":return"api/branchapi/frontoffice/addcomplaint_type";case"source":return"api/branchapi/frontoffice/addsource";case"reference":return"api/branchapi/frontoffice/addreference";default:return"api/branchapi/frontoffice/addvisitors_purpose"}},A=()=>{switch(n){case"purpose":return"api/branchapi/frontoffice/editvisitors_purpose";case"complainType":return"api/branchapi/frontoffice/editcomplaint_type";case"source":return"api/branchapi/frontoffice/editsource";case"reference":return"api/branchapi/frontoffice/editreference";default:return"api/branchapi/frontoffice/editvisitors_purpose"}},C=$=>{switch(n){case"purpose":return{url:"api/branchapi/frontoffice/deleteVisitorsPurpose",id:$};case"complainType":return{url:"api/branchapi/frontoffice/deletecomplaint_type",id:$};case"source":return{url:"api/branchapi/frontoffice/deletesource",id:$};case"reference":return{url:"api/branchapi/frontoffice/deletereference",id:$};default:return{url:"api/branchapi/frontoffice/deleteVisitorsPurpose",id:$}}},b=i.useMemo(()=>{const $=p(),q=$.includes("?")?$.endsWith("?")||$.endsWith("&")?"":"&":"?";return`${$}${q}page=${r.page}&per_page=${r.rowsPerPage}`},[n,r.page,r.rowsPerPage]),{isLoading:f,error:x,data:R,mutate:k}=K(t?[b,t]:null,([$,q])=>G($,q)),O=async($,q)=>{try{await Ge($,q,t),await k(),v.success("Success! Added new item.")}catch{v.error("Failed to add the new item.")}},_=async $=>{const{url:q,id:T}=C($);try{await Ze(q,T,t),await k(),v.success("Success! Deleted item.")}catch{v.error("Failed to delete the item.")}},D=async($,q,T)=>{try{const F=await tt($,q,t);k(F),Array.isArray(F?.data)&&k(`${p().replace(/\?.*$/,"")}?id=${T}`,F),v.success("Success! Updated item.")}catch{v.error("Failed to update the item.")}},u=async($,q)=>{$.preventDefault();const T=new FormData($.target),F=A();await D(F,T,q),$.target.reset(),d(!1)},h=async $=>{$.preventDefault();const q=new FormData($.target),T=m();await O(T,q),$.target.reset()},S=$=>{d($)},E=i.useMemo(()=>ni[n]||ni.purpose,[n]);return e.jsx(w,{pt:5,pb:1,children:e.jsx(a.Row,{gutter:[16,16],children:e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Setup Front Office"})}),e.jsxs(w,{p:3,children:[e.jsx(a.Tabs,{activeKey:n,onChange:$=>{s($),l({page:1,rowsPerPage:10})},items:va}),e.jsxs(a.Row,{gutter:[16,16],mt:3,children:[e.jsx(a.Col,{xs:24,md:8,children:e.jsx("form",{onSubmit:h,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsxs(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:["Add ",va.find($=>$.key===n)?.label]})}),e.jsx(w,{p:3,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsx(w,{children:e.jsx(V,{required:!0,name:n==="reference"?"title":"name",type:"text",label:va.find($=>$.key===n)?.label+" *"})})}),e.jsx(a.Col,{xs:24,children:e.jsx(w,{children:e.jsx(V,{name:"description",type:"text",label:"Description"})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"end",children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Add",color:"primary"})})})})]})})]})})}),e.jsx(a.Col,{xs:24,md:16,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsxs(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:[va.find($=>$.key===n)?.label," List"]})}),e.jsxs(w,{pt:3,children:[e.jsx(kt,{data:{tableRef:c}}),e.jsx(ze,{parentCallback:g,data:{newData:R,columns:E,action:!0,ActionView:y,Loading:f,error:x,editDesign:e.jsx(nm,{data:{handleUpdate:u,token:t,activeTab:n}}),deleteTodoMutation:_,open:o,DrawerUpdate:S,viewDetails:""}})]})]})})]})]})]})})})})}function nm({data:t}){const{handleUpdate:n,token:s,activeTab:r}=t||{},l=i.useContext(Mt),d=(f=>{switch(f){case"purpose":return ai;case"complainType":return Zp;case"source":return em;case"reference":return tm;default:return ai}})(r).replace(/\?.*$/,""),{isLoading:c,data:g}=K(s&&l?[d,l,s]:null,([f,x,R])=>Ra(f,{id:x},R)),y=g?.data?.[0],[p,m]=i.useState({name:"",description:""});i.useEffect(()=>{y&&m({name:y?.visitors_purpose||y?.complaint_type||y?.source||y?.reference||"",description:y?.description||""})},[y]);const A=(f,x)=>{m(R=>({...R,[f]:x}))};if(c)return e.jsx(w,{pt:4,pb:1,style:{width:350,display:"flex",justifyContent:"center",alignItems:"center",minHeight:200},children:e.jsx(a.Spin,{size:"large"})});const b={purpose:"title",complainType:"title",source:"title",reference:"title"}[r]||"name";return e.jsxs(w,{pt:4,pb:1,style:{width:350},children:[e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsxs(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:["Edit ",va.find(f=>f.key===r)?.label]})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:f=>n(f,l),children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsx(w,{children:e.jsx(V,{type:"text",value:l,name:"id",required:!0,className:"noDisplay",onChange:()=>{}})})}),e.jsx(a.Col,{xs:24,children:e.jsx(w,{children:e.jsx(V,{name:b,type:"text",label:va.find(f=>f.key===r)?.label+" *",required:!0,value:p.name,onChange:f=>A("name",f.target.value)})})}),e.jsx(a.Col,{xs:24,children:e.jsx(w,{children:e.jsx(V,{name:"description",type:"text",label:"Description",value:p.description,onChange:f=>A("description",f.target.value)})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"center",children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})})})]})})})]}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const sm="api/branchapi/Student/studentGatePass",$a="api/branchapi/Student/studentGatePassList";function rm({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:25}),[r,l]=i.useState(!1),o=i.useRef(null),d=(O,_)=>{s({page:O,rowsPerPage:Number.parseInt(_,10)})},c=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],{data:g,mutate:y}=K(t?[sm,t]:null,([O,_])=>G(O,_)),p=i.useMemo(()=>{const O=$a.includes("?")?$a.endsWith("?")||$a.endsWith("&")?"":"&":"?";return`${$a}${O}page=${n.page}&per_page=${n.rowsPerPage}`},[$a,n.page,n.rowsPerPage]),{isLoading:m,error:A,data:C,mutate:b}=K(t?[p,t]:null,([O,_])=>G(O,_)),f=async O=>{const _="api/branchapi/frontoffice/deletevisitors";try{await b(deleteData(_,O,t),nt(O)),v.success("Success! Deleted item.")}catch{v.error("Failed to delete the item.")}},x=O=>{l(O)},R=()=>{},k=[{title:"Name",dataIndex:"lastname",key:"lastname",render:(O,_)=>`${_?.lastname||""} ${_?.firstname||""}`.trim()},{title:"Class",dataIndex:"class_name",key:"class_name",render:(O,_)=>`${_?.class_name||""}-${_?.section_name||""}`},{title:"Father Name",dataIndex:"father_name",key:"father_name"},{title:"Authorized Persons",dataIndex:"authorized_persons_fullname",key:"authorized_persons_fullname"},{title:"Relation",dataIndex:"authorized_persons_relation",key:"authorized_persons_relation"},{title:"Generated Date",dataIndex:"genrated_date_time",key:"genrated_date_time"},{title:"Return Date",dataIndex:"expected_return_date_time",key:"expected_return_date_time"},{title:"Reason",dataIndex:"reason",key:"reason"},{title:"Action",key:"action",render:(O,_)=>e.jsx(a.Tag,{color:_?.status==="Generated"?"green":"blue",children:_?.status||"Pending"})},{title:"Print",key:"print",render:(O,_)=>e.jsx(ee.PrinterOutlined,{style:{color:"#3892ee",cursor:"pointer"},onClick:()=>window.print()})}];return e.jsx(w,{pt:5,pb:1,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Today Gate Pass"})}),e.jsx(w,{pt:3,children:e.jsx(a.List,{grid:{column:4,gutter:16},dataSource:g?.data||[],style:{padding:0},renderItem:O=>e.jsx(a.List.Item,{style:{padding:0},children:e.jsx(a.Card,{size:"small",style:{marginBottom:8,width:"100%"},children:e.jsxs(w,{children:[e.jsxs(a.Typography.Text,{strong:!0,children:[O?.lastname," ",O?.firstname]}),e.jsx("br",{}),e.jsxs(a.Typography.Text,{type:"secondary",children:[O?.class_name,"-",O?.section_name]}),e.jsx("br",{}),e.jsxs(a.Typography.Text,{type:"secondary",children:["Return: ",O?.expected_return_date_time]}),e.jsx("br",{}),e.jsx(ie,{type:"button",value:"Print",color:"primary",size:"small",onClick:()=>window.print(),style:{marginTop:4}})]})})})})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"Gate Pass List"})}),e.jsxs(w,{pt:3,children:[e.jsx(kt,{data:{tableRef:o}}),e.jsx(ze,{parentCallback:d,data:{newData:C,columns:k,action:!1,ActionView:c,Loading:m,error:A,editDesign:"",deleteTodoMutation:f,open:r,DrawerUpdate:x,viewDetails:R}})]})]})})]})})}const wt=({id:t,funcName:n,disabled:s=!1})=>{const r="Data",[l,o]=i.useState(!1),d=()=>{o(!0),n(t),a.message.success(`${r} deleted successfully!`)},c=()=>{a.message.info(`Deletion of ${r} cancelled`)};return e.jsx(a.Popconfirm,{title:`Delete ${r}?`,description:`Are you sure you want to delete ${r}?`,onConfirm:d,onCancel:c,okText:"Yes",cancelText:"No",disabled:s||l,children:e.jsx(a.Button,{danger:!0,disabled:s,loading:l,icon:e.jsx(ee.DeleteOutlined,{}),size:"small"})})},si={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"};function im({token:t,sampleTemplateUrl:n=Hc}){const[s,r]=i.useState({pagination:{current:1,pageSize:10}}),[l,o]=i.useState(!1),[d,c]=i.useState(null),[g,y]=i.useState(null),[p,m]=i.useState(!1),[A,C]=i.useState([]),b=`api/branchapi/Transport/routeTableList?page=${s.pagination.current}&per_page=${s.pagination.pageSize}`,f="api/branchapi/Transport/addroute",x="api/branchapi/Transport/editroute",R="api/branchapi/Transport/deleteroute",k=void 0,{isLoading:O,data:_,error:D,mutate:u}=K(t?[b,t]:null,([Y,B])=>G(Y,B)),h=i.useMemo(()=>!_?.data||Array.isArray(_.data)?[]:_.data?.rows||[],[_]),S=_?.data?.pagination?.total_rows||_?.pagination?.total_rows||0,E=async(Y,B)=>{try{await u(Ge(Y,B,t),st(B)),v.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{v.error("Failed to add the new item.",{duration:1e3})}},$=Y=>{Y.preventDefault();const B=new FormData(Y.target);E(f,B),Y.target.reset()},q=(Y,B)=>{r(U=>({...U,pagination:{current:Y,pageSize:parseInt(B,10)}}))},T=async Y=>{try{await u(Ze(R,Y,t),nt(Y)),v.success("Success! Deleted item.",{duration:1e3})}catch{v.error("Failed to delete the item.",{duration:1e3})}},F=Y=>{c(Y),o(!0)},j=async Y=>{try{const B=await tt(x,Y,t);u(B),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),o(!1),c(null)}catch{v.error("Failed to update the item.",{duration:1e3})}},P=async Y=>{Y.preventDefault();const B=new FormData(Y.target);B.append("id",d?.id),j(B)},I=async()=>{if(!g){v.error("Please select an Excel file to upload.",{duration:1e3});return}m(!0),C([]);try{const Y=new FormData;Y.append("file",g);const U=await(await fetch(`${k}`,{method:"POST",headers:{Authorization:t},body:Y})).json();if(U.Status==="Success"){const M=U.data?.rows||[];C(M);const L=U.data?.success_count||0,z=U.data?.failed_count||0;v.success(U.message||`Route bulk upload completed. ${L} succeeded, ${z} failed.`,{duration:1e3}),L>0&&u()}else v.error(U.message||"Failed to upload routes.",{duration:1e3})}catch(Y){v.error(Y?.message||"Something went wrong.",{duration:1e3})}finally{m(!1),y(null)}},N=[{title:"Route Title",dataIndex:"route_title",key:"route_title",sorter:{compare:(Y,B)=>(Y.route_title||"").localeCompare(B.route_title||"")}},{title:"Fare (Monthly)",dataIndex:"fare",key:"fare",sorter:{compare:(Y,B)=>Number(Y.fare||0)-Number(B.fare||0)}},{title:"Note",dataIndex:"note",key:"note",sorter:{compare:(Y,B)=>(Y.note||"").localeCompare(B.note||"")}},{title:"Action",key:"action",render:(Y,B)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>F(B),style:{padding:2}}),e.jsx(wt,{id:B?.id,funcName:T})]})}],W=d?.route_title?`Edit ${d.route_title}`:"Edit Route";return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Bulk Upload Routes"})}),e.jsxs(w,{p:3,children:[e.jsxs(a.Row,{gutter:[16,16],align:"middle",children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(a.Upload,{accept:".xlsx",showUploadList:!1,beforeUpload:Y=>(y(Y),!1),children:e.jsx(a.Button,{icon:e.jsx(ee.UploadOutlined,{}),disabled:p,children:g?g.name:"Choose Excel File (.xlsx)"})})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(a.Button,{type:"primary",onClick:I,disabled:p||!g,loading:p,children:p?"Uploading...":"Upload Routes"})})})]}),A.length>0&&e.jsxs(w,{mt:3,children:[e.jsx(be,{level:5,children:"Upload Results"}),e.jsx(a.Table,{dataSource:A.map((Y,B)=>({...Y,key:B})),pagination:!1,size:"small",bordered:!0,columns:[{title:"Row",dataIndex:"row",width:80},{title:"Title",dataIndex:"title"},{title:"Status",dataIndex:"status",render:Y=>e.jsx("span",{style:{color:Y==="Success"?"green":"red",fontWeight:500},children:Y})},{title:"Message",dataIndex:"message"}]})]}),n&&e.jsx(w,{mt:2,children:e.jsx("a",{href:n,download:!0,style:{color:"#5080f8",fontSize:13,textDecoration:"none"},children:"Download sample Excel template"})})]})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Add Route"})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:$,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:8,children:e.jsx(w,{children:e.jsx(V,{type:"text",name:"title",label:"Title",placeholder:"Mumbai to Delhi",required:"required"})})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsx(w,{children:e.jsx(V,{type:"number",name:"fare",label:"Fare (Monthly)",required:"required"})})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsx(w,{children:e.jsx(V,{type:"text",name:"note",label:"Note"})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsxs(w,{children:[e.jsx(ie,{type:"submit",value:"Save",color:"primary"}),e.jsx(a.Button,{type:"text",htmlType:"reset",style:si,children:"Cancel"})]})})})})]})})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Route List"})}),e.jsx(w,{p:3,children:e.jsx(ze,{parentCallback:q,data:{newData:{data:h,pagination:{total_rows:S}},columns:N,columnstype:"antd",action:!1,Loading:O,error:D,deleteTodoMutation:T}})})]})})]}),e.jsx(a.Drawer,{open:l,title:W,placement:"right",width:420,onClose:()=>{o(!1),c(null)},children:e.jsx("form",{onSubmit:P,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{type:"text",name:"title",label:"Title",defaultValue:d?.route_title||"",required:"required"}),e.jsx(V,{type:"number",name:"fare",label:"Fare (Monthly)",defaultValue:d?.fare||"",required:"required"}),e.jsx(V,{type:"text",name:"note",label:"Note",defaultValue:d?.note||""}),e.jsx("div",{style:{display:"none"},children:e.jsx(V,{type:"text",name:"no_of_vehicle",label:"Note"})}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{o(!1),c(null)},style:si,children:"Cancel"})]})]})})})]})}const ri={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"};function lm({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(null),c=`api/branchapi/Transport/vehiclesTableList?page=${n.page}&per_page=${n.rowsPerPage}`,g="api/branchapi/Transport/addvehicles",y="api/branchapi/Transport/editvehicle",p="api/branchapi/Transport/deletevehicle",{isLoading:m,data:A,error:C,mutate:b}=K(t?[c,t]:null,([S,E])=>G(S,E)),f=async(S,E)=>{try{await b(Ge(S,E,t),st(E)),v.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{v.error("Failed to add the new item.",{duration:1e3})}},x=S=>{S.preventDefault();const E=new FormData(S.target);f(g,E),S.target.reset()},R=async S=>{try{await b(Ze(p,S,t),nt(S)),v.success("Success! Deleted item.",{duration:1e3})}catch{v.error("Failed to delete the item.",{duration:1e3})}},k=S=>{d(S),l(!0)},O=async S=>{try{await tt(y,S,t),await b(),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),l(!1),d(null)}catch{v.error("Failed to update the item.",{duration:1e3})}},_=async S=>{S.preventDefault();const E=new FormData(S.target);E.append("id",o?.id),O(E)},D=(S,E)=>{s({page:S,rowsPerPage:parseInt(E,10)})},u=[{title:"Vehicle Number",dataIndex:"vehicle_no",key:"vehicle_no",sorter:{compare:(S,E)=>S.vehicle_no.localeCompare(E.vehicle_no)}},{title:"Vehicle Model",dataIndex:"vehicle_model",key:"vehicle_model",sorter:{compare:(S,E)=>S.vehicle_model.localeCompare(E.vehicle_model)}},{title:"Max Seating Capacity",dataIndex:"seating_capacity",key:"seating_capacity",sorter:{compare:(S,E)=>S.seating_capacity-E.seating_capacity}},{title:"Manufacture Year",dataIndex:"manufacture_year",key:"manufacture_year",sorter:{compare:(S,E)=>S.manufacture_year-E.manufacture_year}},{title:"Gps Url",key:"gps_url",sorter:{compare:(S,E)=>S.gps_url.localeCompare(E.gps_url)},render:(S,E)=>e.jsx("span",{title:E?.gps_url??"",style:{display:"inline-block",maxWidth:220,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:E?.gps_url})},{title:"Note",dataIndex:"note",key:"note",sorter:{compare:(S,E)=>S.note.localeCompare(E.note)}},{title:"Action",key:"action",render:(S,E)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>k(E),style:{padding:2}}),e.jsx(wt,{id:E?.id,funcName:R})]})}],h=o?.vehicle_no?`Edit ${o.vehicle_no}`:"Edit Vehicle";return e.jsxs("div",{children:[e.jsx(a.Drawer,{open:r,title:h,placement:"right",width:420,onClose:()=>{l(!1),d(null)},children:e.jsx("form",{onSubmit:_,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{type:"text",name:"number",label:"Vehicle Number",defaultValue:o?.vehicle_no||"",required:"required"}),e.jsx(V,{type:"text",name:"model",label:"Vehicle Model",defaultValue:o?.vehicle_model||""}),e.jsx(V,{type:"number",name:"manufacture_year",label:"Manufacture Year",defaultValue:o?.manufacture_year||""}),e.jsx(V,{type:"number",name:"seating_capacity",label:"Max Seating Capacity",defaultValue:o?.seating_capacity||""}),e.jsx(V,{type:"text",name:"gps_url",label:"Gps Url",defaultValue:o?.gps_url||""}),e.jsx(V,{type:"text",name:"note",label:"Note",defaultValue:o?.note||""}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{l(!1),d(null)},style:ri,children:"Cancel"})]})]})})}),e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(w,{pt:5,pb:1,children:e.jsxs("div",{children:[e.jsxs("div",{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Add Vehicle"})}),e.jsx(w,{px:3,pb:2,children:e.jsx("form",{onSubmit:x,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"text",name:"number",label:"Vehicle Number",required:"required"}),e.jsx(V,{type:"text",name:"model",label:"Vehicle Model"}),e.jsx(V,{type:"number",name:"manufacture_year",label:"Manufacture Year"}),e.jsx(V,{type:"number",name:"seating_capacity",label:"Max Seating Capacity"}),e.jsx(V,{type:"text",name:"gps_url",label:"Gps Url"}),e.jsx(V,{type:"text",name:"note",label:"Note"}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ie,{type:"submit",value:"Save",color:"primary"}),e.jsx(a.Button,{type:"text",htmlType:"reset",style:ri,children:"Cancel"})]})]})})})]}),e.jsx("div",{style:{marginTop:24},children:e.jsxs("div",{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Vehicle List"})}),e.jsx(w,{children:e.jsx(ze,{parentCallback:D,data:{newData:A,columns:u,columnstype:"antd",action:!1,Loading:m,error:C,deleteTodoMutation:R}})})]})})]})})]})}const om={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},ii=({dataIndex:t,title:n,record:s,children:r,isEditable:l,...o})=>e.jsx("td",{...o,children:l?e.jsx("div",{style:{display:"flex",marginLeft:"5%"},children:r}):r});function dm({token:t}){const[n,s]=i.useState(!1),[r,l]=i.useState({pagination:{current:1,pageSize:50}}),[o,d]=i.useState(null),[c,g]=i.useState([]),y="api/branchapi/Transport/getrouteDropdown",p="api/branchapi/Transport/getvehicleDropdown",m="api/branchapi/Transport/getchechkedVehicleData",A="api/branchapi/Transport/assignedVehicleTable",C="api/branchapi/transport/assignvehicle",b="api/branchapi/Transport/deleteassignvehicle",f=o?`${m}?route_id=${o}`:null,{isLoading:x,data:R,mutate:k}=K(t?[`${A}?page=${r.pagination.current}&per_page=${r.pagination.pageSize}`,t]:null,([U,M])=>G(U,M)),{data:O}=K(t&&y?[y,t]:null,([U,M])=>G(U,M)),{data:_}=K(t&&p?[p,t]:null,([U,M])=>G(U,M)),D=t&&f?[f,t]:null,{isLoading:u,data:h}=K(D,([U,M])=>G(U,M)),{Status:S="Failed",pagination:{total_rows:E=0}={}}=R||{},{data:$=[]}=S==="Success"?R:{},q=i.useMemo(()=>{const U=O?.data??O??[];return Array.isArray(U)?U:[]},[O]),T=i.useMemo(()=>{const U=_?.data??_??[];return(Array.isArray(U)?U:[]).map(L=>{if(L==null)return null;if(typeof L=="string"||typeof L=="number")return{label:String(L),value:L};const z=L.value??L.vehicle_id??L.id??L.vehicleID,ne=L.label??L.vehicle_name??L.vehicle_no??L.vehicle_number??L.name??String(z??"");return z==null||ne===""?null:{label:String(ne),value:z}}).filter(Boolean)},[_]),F=i.useMemo(()=>{const U=h?.data??h??[];return(Array.isArray(U)?U:[]).map(L=>L?.value??L?.vehicle_id??L?.id??L).filter(L=>L!=null)},[h]);i.useEffect(()=>{g(F)},[F,n]);const j=async(U,M,L)=>{try{await k(Ge(U,M,t),st(M)),f&&K.mutate(D),s(z=>!z),v.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch(z){v.error(z?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},P=U=>{U.preventDefault();const M=new FormData;M.append("route_id",o??""),c.length?c.forEach(L=>M.append("vehicle_ids[]",L)):M.append("vehicle_ids[]",""),j(C,M)},I=U=>{l(M=>({...M,pagination:{current:U,pageSize:M.pagination.pageSize}}))},N=async U=>{try{await k(Ze(b,U,t),nt(U)),f&&K.mutate(D),v.success("Success! Deleted item.",{duration:1e3})}catch{v.error("Failed to delete the item.",{duration:1e3})}},W=[{title:"Route",dataIndex:"route_title"},{title:"Vehicle Numbers",render:(U,M,L)=>e.jsx(e.Fragment,{children:M.children.map((z,ne,X)=>e.jsx("span",{children:`${z.vehicle_name} ${ne+1===X.length?"":","}`},`${ne}vehicle001`))})},{title:"Action",render:(U,M,L)=>e.jsx(e.Fragment,{children:e.jsx(wt,{id:M?.route_id,funcName:N})})}],Y=U=>{const M=["route_id","index"];for(let L=0;L<M.length;L++)if(U[M[L]])return U[M[L]]},B=U=>{const{children:M=[]}=U||{},L=[{title:"Vehicle Name",dataIndex:"vehicle_name",onCell:z=>({isEditable:!0})},{title:"Driver Name",dataIndex:"driver_name",onCell:z=>({isEditable:!0})},{title:"Driver Contact",dataIndex:"driver_contact_number",onCell:z=>({isEditable:!0})},{title:"Driver Licence",dataIndex:"Driver_licence",onCell:z=>({isEditable:!0})},{title:"Start Time",dataIndex:"start_time",onCell:z=>({isEditable:!0})},{title:"Drop Time",dataIndex:"drop_time",onCell:z=>({isEditable:!0})},{title:"Type",dataIndex:"type",onCell:z=>({isEditable:!0})}];return e.jsx("div",{style:{display:"flex",justifyContent:"center"},children:e.jsx("div",{style:{width:"95%",margin:8},children:e.jsx(a.Table,{components:{body:{cell:ii}},expandable:{childrenColumnName:"changed"},bordered:!0,size:"small",columns:L,rowKey:z=>Y(z)+"cell01",dataSource:M,pagination:!1})})})};return e.jsxs("div",{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(w,{pt:5,pb:1,children:e.jsxs("div",{children:[e.jsxs("div",{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Assign Vehicle"})}),e.jsx(w,{px:3,pb:2,children:e.jsx("form",{onSubmit:P,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(220px, 320px) 1fr auto",gap:20,alignItems:"end"},children:[e.jsx("div",{children:e.jsx(Z,{options:q,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Route",name:"route_id",required:!0,allowSelectAll:!1,onChange:U=>{d(U?.value??null),s(M=>!M)}})}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:{display:"block",marginBottom:6,fontSize:14,fontWeight:500,color:"#222"},children:"Vehicles"}),e.jsx("div",{style:{borderBottom:"1px solid #d9d9d9",paddingBottom:8,maxHeight:140,overflow:"auto"},children:e.jsx(a.Checkbox.Group,{style:{display:"flex",flexWrap:"wrap",gap:12},options:T,value:c,onChange:U=>g(U),disabled:!o||u})},`check001${n}`)]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ie,{type:"submit",value:"Save",color:"primary"}),e.jsx(a.Button,{type:"text",htmlType:"button",onClick:()=>{d(null),g([]),s(U=>!U)},style:om,children:"Cancel"})]})]})})})]}),e.jsx("div",{style:{marginTop:24},children:e.jsxs("div",{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Vehicle List"})}),e.jsx(w,{style:{padding:"10px 16px"},children:e.jsx(a.Table,{components:{body:{cell:ii}},columns:W,bordered:!0,rowKey:U=>Y(U),dataSource:Array.isArray($)?$:[],loading:x,expandable:{expandedRowRender:B,childrenColumnName:"changed"},pagination:{current:r.pagination.current,pageSize:r.pagination.pageSize,total:E,showSizeChanger:!0,onChange:I,onShowSizeChange:(U,M)=>{l(L=>({...L,pagination:{current:1,pageSize:M}}))},showTotal:(U,M)=>`${M[0]}-${M[1]} of ${U} items`}})})]})})]})})]})}const li={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},ks=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:[]},ya=(t,n,s)=>{if(n==null||n==="")return null;const r=t.find(l=>String(l.value)===String(n));return r||(s?{label:String(s),value:n}:{label:String(n),value:n})},cm=()=>{try{return JSON.parse(localStorage.getItem("genrall_settings")||"{}")?.currency_symbol??""}catch{return""}},um=t=>{if(t==null||t===""||t==="null"||t==="undefined")return"";if(Array.isArray(t))return t.filter(s=>s!=null&&s!==""&&String(s).toLowerCase()!=="null"&&String(s).toLowerCase()!=="undefined").join(", ");const n=String(t).trim();return!n||n.toLowerCase()==="null"||n.toLowerCase()==="undefined"?"":n};function pm({token:t,assignmentId:n,studentName:s,onClose:r,onSuccess:l}){const o="api/branchapi/Transport/showRouteAssignStudent",d="api/branchapi/Transport/updateTransportRoutesStudent",c="api/branchapi/Transport/getrouteDropdown",g="api/branchapi/Transport/getvehicleListByRouteIdwithCount",y="api/branchapi/Transport/getStoppageDropdown",p="api/branchapi/Transport/routeShowdata",[m,A]=i.useState(null),[C,b]=i.useState(null),[f,x]=i.useState(null),[R,k]=i.useState(se()),[O,_]=i.useState(""),[D,u]=i.useState(0),[h,S]=i.useState(0),{data:E,isLoading:$}=K(t&&n?[`${o}?id=${n}`,t]:null,([oe,Ce])=>G(oe,Ce)),q=i.useMemo(()=>{if(!E||E?.Status&&E.Status!=="Success")return null;const oe=E?.data??E;return Array.isArray(oe)?oe[0]??null:oe},[E]);i.useEffect(()=>{const oe=q?.fk_route_id??q?.route_id;oe!=null&&A(oe),q?.vehicle_id!=null&&b(q.vehicle_id),q?.stop_id!=null&&x(q.stop_id),k(q?.start_date?se(q.start_date):se()),_(um(q?.service_push))},[q]);const T=t&&m?`${g}?route_id=${m}`:null,F=t&&m?`${p}?id=${m}`:null,j=t&&m?`${y}?route_id=${m}`:null,{data:P}=K(t&&c?[c,t]:null,([oe,Ce])=>G(oe,Ce)),{data:I,isLoading:N}=K(T?[T,t]:null,([oe,Ce])=>G(oe,Ce)),{data:W,isLoading:Y}=K(j?[j,t]:null,([oe,Ce])=>G(oe,Ce)),{data:B}=K(F?[F,t]:null,([oe,Ce])=>G(oe,Ce)),U=i.useMemo(()=>ks(P),[P]),M=i.useMemo(()=>ks(I),[I]),L=i.useMemo(()=>ks(W),[W]),z=E?.data[0]?.rootCost,ne=cm(),X=s||[q?.firstname,q?.lastname].filter(Boolean).join(" ")||"",J=(oe,Ce)=>{switch(Ce){case"route_id":A(oe?.value??null),b(null),x(null),u(Ne=>Ne+1),S(Ne=>Ne+1);break;case"vehicle_id":b(oe?.value??null),x(null),S(Ne=>Ne+1);break;case"stop_id":x(oe?.value??null);break}},H=async oe=>{if(oe.preventDefault(),!m||!C||!f){v.error("Please select Route, Vehicle and Stop",{duration:1200});return}const Ce=new FormData;Ce.append("id",String(n)),Ce.append("student_id",String(q?.fk_student_id??q?.student_id??"")),Ce.append("fk_route_id",String(m)),Ce.append("vehicle_id",String(C)),Ce.append("stop_id",String(f)),Ce.append("rootCost",String(z??"")),Ce.append("start_date",R?.isValid?.()?R.format("YYYY-MM-DD"):se().format("YYYY-MM-DD")),Ce.append("puse_service",String(O??""));try{await tt(d,Ce,t),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),l?.(),r?.()}catch(Ne){v.error(Ne?.message??"Failed to update the item.",{duration:1e3})}};if($||!(q&&!$&&(!m||!N&&!Y)))return e.jsx("div",{style:{display:"flex",justifyContent:"center",padding:48},children:e.jsx(a.Spin,{})});if(!q)return e.jsxs("div",{style:{padding:"8px 0"},children:[e.jsx("p",{style:{color:"#666",fontSize:14,marginBottom:16},children:"Unable to load assignment details. Please try again."}),e.jsx(a.Button,{type:"text",onClick:r,style:li,children:"Close"})]});const ce=q.fk_route_id??q.route_id,De=ya(U,ce,q.route_title),le=ya(M,q.vehicle_id,q.vehicle_name??q.vehicle_no),ue=ya(L,q.stop_id,q.stop_name??q.stoppage_name);return e.jsx("form",{onSubmit:H,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{type:"text",name:"title",label:"Student",defaultValue:X,readOnly:!0}),e.jsx("input",{type:"hidden",name:"student_id",value:q.fk_student_id??q.student_id??""}),e.jsx(Z,{options:U,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Route",required:!0,allowSelectAll:!1,value:ya(U,m,De?.label)??null,onChange:oe=>J(oe,"route_id")}),e.jsx(Z,{options:M,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Vehicle",required:!0,allowSelectAll:!1,value:ya(M,C,le?.label)??null,onChange:oe=>J(oe,"vehicle_id")},`edit-vehicle-${D}`),e.jsx(Z,{options:L,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Stop",required:!0,allowSelectAll:!1,value:ya(L,f,ue?.label)??null,onChange:oe=>J(oe,"stop_id")},`edit-stop-${h}`),e.jsx(V,{type:"text",label:"Route Cost",value:z!=null?`${ne}${z}`:"",readOnly:!0}),e.jsx("input",{type:"hidden",name:"rootCost",value:z??""}),e.jsx(He,{Desplay:"Start Date",placement:"bottomRight",format:"YYYY-MM-DD",allowClear:!1,value:R,onChange:oe=>k(oe)}),e.jsx(V,{type:"text",label:"Pause Service",value:O,onChange:oe=>_(oe?.target?.value??""),placeholder:"e.g. 01, 02, 03"}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,marginTop:4},children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:r,style:li,children:"Cancel"})]})]})},`edit-${n}-${D}`)}const oi={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},mm=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},Ua=t=>mm(t),hm=t=>t||"",fm=()=>{try{return JSON.parse(localStorage.getItem("genrall_settings")||"{}")?.currency_symbol??""}catch{return""}},ym=t=>{const n=String(t??"Drawer").trim().toLowerCase().replace(/\s+/g,"");return n==="page"||n==="sendpage"?"page":"drawer"},gm=(t,n)=>{const s=n||"/TransportDashboard/EditAssignStudentTransport?id={id}",r=t?.id??"",l=encodeURIComponent(String(r));if(s.includes("{id}"))return s.replaceAll("{id}",l);if(s.includes(":id"))return s.replace(":id",l);try{const d=new URL(s,"http://localhost");if(d.searchParams.has("id"))return d.searchParams.set("id",String(r)),`${d.pathname}${d.search}${d.hash}`}catch{}const o=s.includes("?")?"&":"?";return`${s}${o}id=${l}`};function xm({token:t,editType:n,onNavigate:s,editPagePath:r,sampleTemplateUrl:l=Kc}){const d=ym(n)==="drawer",c="api/branchapi/academy/classdropdownlist",g="api/branchapi/academy/sectionoftheClass",y="api/branchapi/Transport/routeStudentList",p="api/branchapi/Transport/getrouteDropdown",m="api/branchapi/Transport/getvehicleListByRouteIdwithCount",A="api/branchapi/Transport/getStoppageDropdown",C="api/branchapi/Transport/routeShowdata",b="api/branchapi/Transport/assignTransportRoutesStudent",f="api/branchapi/transport/removeStudentTransport",x="api/branchapi/transport/assignTransportRoutesStudentBulk",[R,k]=i.useState(null),[O,_]=i.useState(!1),[D,u]=i.useState(!1),[h,S]=i.useState(null),[E,$]=i.useState(null),[q,T]=i.useState(null),[F,j]=i.useState(null),[P,I]=i.useState(!1),[N,W]=i.useState(!1),[Y,B]=i.useState({page:1,rowsPerPage:50}),[U,M]=i.useState(null),[L,z]=i.useState(!1),[ne,X]=i.useState(null),[J,H]=i.useState(null),[Q,ce]=i.useState(null),[De,le]=i.useState(null),[ue,oe]=i.useState(null),[Ce,Ne]=i.useState(null),[et,we]=i.useState(null),[Ae,Fe]=i.useState(se()),[me,de]=i.useState(""),[Re,Be]=i.useState(null),[$e,ge]=i.useState(!1),[_e,ve]=i.useState([]),re=(Se,Oe)=>{const dt=Se?.value??null;switch(Oe){case"class_id":ce(dt),le(null),M(dt?`${g}?class_id=${encodeURIComponent(String(dt))}`:null),_(Bt=>!Bt);break;case"route_id":oe(dt),Ne(null),we(null),H(dt),$(dt?`${m}?route_id=${encodeURIComponent(String(dt))}`:null),T(dt?`${C}?id=${encodeURIComponent(String(dt))}`:null),j(null),I(Bt=>!Bt),W(Bt=>!Bt);break;case"vehicle_id":Ne(dt),we(null),j(ue?`${A}?route_id=${encodeURIComponent(String(ue))}`:null),W(Bt=>!Bt);break;case"stop_id":we(dt);break}},xe=Se=>{if(d){S(Se),u(!0);return}const Oe=gm(Se,r);if(typeof s=="function"){s(Oe,Se);return}typeof window<"u"&&Oe&&window.location.assign(Oe)},je=()=>{u(!1),S(null)},Le=h?`Edit â ${h.firstname??""} ${h.lastname??""}`.trim():"Edit Student Transport",{data:qe}=K(t&&c?[c,t]:null,([Se,Oe])=>G(Se,Oe)),{data:fe}=K(t&&U?[U,t]:null,([Se,Oe])=>G(Se,Oe)),{data:Ie}=K(t&&E?[E,t]:null,([Se,Oe])=>G(Se,Oe)),{data:Je}=K(t&&F?[F,t]:null,([Se,Oe])=>G(Se,Oe)),{data:mt}=K(t&&q?[q,t]:null,([Se,Oe])=>G(Se,Oe)),{data:Et}=K(t&&p?[p,t]:null,([Se,Oe])=>G(Se,Oe)),Tt=t&&R?`${R}&page=${Y.page}&per_page=${Y.rowsPerPage}`:null,{isLoading:ye,error:ke,data:ae,mutate:pe}=K(Tt?[Tt,t]:null,([Se,Oe])=>G(Se,Oe)),Pe=i.useMemo(()=>Ua(qe),[qe]),Ee=i.useMemo(()=>Ua(fe),[fe]),it=i.useMemo(()=>Ua(Ie),[Ie]),lt=i.useMemo(()=>Ua(Je),[Je]),ft=i.useMemo(()=>Ua(Et),[Et]),he=mt?.data?.[0]?.fare??mt?.data?.fare??mt?.fare??mt?.data?.data?.[0]?.fare??mt?.data?.data?.fare;i.useEffect(()=>{he==null||he===""||de(String(he))},[he]);const Te=async Se=>{try{await pe(Ze(f,Se,t),nt(Se)),v.success("Success! Deleted item.",{duration:1e3})}catch{v.error("Failed to delete the item.",{duration:1e3})}},Ke=async()=>{if(!Re){v.error("Please select an Excel file to upload.",{duration:1e3});return}ge(!0),ve([]);try{const Se=new FormData;Se.append("file",Re);const dt=await(await fetch(`${x}`,{method:"POST",headers:{Authorization:t},body:Se})).json();if(dt.Status==="Success"){const Bt=dt.data?.rows||[];ve(Bt);const xr=dt.data?.success_count||0,Yo=dt.data?.failed_count||0;v.success(dt.message||`Transport bulk upload completed. ${xr} succeeded, ${Yo} failed.`,{duration:1e3}),xr>0&&pe()}else v.error(dt.message||"Failed to upload student transport assignments.",{duration:1e3})}catch(Se){v.error(Se?.message||"Something went wrong.",{duration:1e3})}finally{ge(!1),Be(null)}},ot=[{title:"Route Status",key:"route_status",render:(Se,Oe)=>Oe.fk_route_id?e.jsx("span",{children:Oe.route_title}):e.jsx("span",{children:"Not Assigned"})},{title:"Vehicle Assign Date",dataIndex:"start_date",key:"start_date",render:(Se,Oe)=>hm(Oe.start_date)},{title:"Admission No",dataIndex:"admission_no",key:"admission_no"},{title:"Roll No",dataIndex:"roll_no",key:"roll_no"},{title:"Name",key:"name",render:(Se,Oe)=>`${Oe.firstname} ${Oe.lastname}`},{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Mobileno",dataIndex:"mobileno",key:"mobileno"},{title:"Action",key:"action",render:(Se,Oe)=>e.jsx("div",{style:{display:"flex",alignItems:"center",gap:8},children:Oe.fk_route_id?e.jsxs(e.Fragment,{children:[e.jsx(wt,{id:Oe?.id,funcName:Te}),e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>xe(Oe),style:{padding:2}})]}):e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.PlusOutlined,{}),onClick:()=>gs(Oe.student_id),style:{padding:2}})})}],xt=async(Se,Oe)=>{try{await pe(Ge(Se,Oe,t),st(Oe)),v.success("Success! Added new item.",{duration:1e3,icon:"ð"}),z(!1),xs()}catch{v.error("Failed to add the new item.",{duration:1e3})}},_t=Se=>{if(Se.preventDefault(),!Q||!De){v.error("Please select Class and Section",{duration:1200});return}k(`${y}?cID=${encodeURIComponent(String(Q))}&sID=${encodeURIComponent(String(De))}`),B(Oe=>({...Oe,page:1}))},ys=(Se,Oe)=>{B({page:Se,rowsPerPage:parseInt(Oe,10)})},gs=Se=>{X(Se),z(!0)},Pa=Se=>{if(Se.preventDefault(),!ne){v.error("Student is required",{duration:1200});return}if(!ue||!Ce||!et){v.error("Please select Route, Vehicle and Stop",{duration:1300});return}const Oe=new FormData;Oe.append("student_id",String(ne)),Oe.append("fk_route_id",String(ue)),Oe.append("vehicle_id",String(Ce)),Oe.append("stop_id",String(et)),Oe.append("start_date",Ae?.isValid?.()?Ae.format("YYYY-MM-DD"):se().format("YYYY-MM-DD")),Oe.append("rootCost",String(me??"")),xt(b,Oe)},xs=()=>{z(!1),$(null),T(null),j(null),H(null),oe(null),Ne(null),we(null),Fe(se()),de(""),I(Se=>!Se),W(Se=>!Se)},zo=fm();return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Bulk Assign Students to Transport"})}),e.jsxs(w,{p:3,children:[e.jsxs(a.Row,{gutter:[16,16],align:"middle",children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(a.Upload,{accept:".xlsx",showUploadList:!1,beforeUpload:Se=>(Be(Se),!1),children:e.jsx(a.Button,{icon:e.jsx(ee.UploadOutlined,{}),disabled:$e,children:Re?Re.name:"Choose Excel File (.xlsx)"})})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(a.Button,{type:"primary",onClick:Ke,disabled:$e||!Re,loading:$e,children:$e?"Uploading...":"Upload Students"})})})]}),l&&e.jsx(w,{mt:2,children:e.jsx("a",{href:l,download:!0,style:{color:"#5080f8",fontSize:13,textDecoration:"none"},children:"Download sample Excel template"})}),_e.length>0&&e.jsxs(w,{mt:3,children:[e.jsx(be,{level:5,children:"Upload Results"}),e.jsx(a.Table,{dataSource:_e.map((Se,Oe)=>({...Se,key:Oe})),pagination:!1,size:"small",bordered:!0,columns:[{title:"Row",dataIndex:"row",width:80},{title:"Student ID",dataIndex:"student_id"},{title:"Status",dataIndex:"status",render:Se=>e.jsx("span",{style:{color:Se==="Success"?"green":"red",fontWeight:500},children:Se})},{title:"Message",dataIndex:"message"}]})]})]})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Search Students"})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:_t,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:8,children:e.jsx(w,{children:e.jsx(Z,{options:Pe,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",onChange:Se=>re(Se,"class_id"),required:!0,allowSelectAll:!1,value:Pe.find(Se=>String(Se.value)===String(Q))??null})})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsx(w,{children:e.jsx(Z,{options:Ee,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",allowSelectAll:!1,required:!0,value:Ee.find(Se=>String(Se.value)===String(De))??null,onChange:Se=>le(Se?.value??null)},`section1${O}`)})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsxs(w,{display:"flex",alignItems:"center",height:"100%",mt:2,children:[e.jsx(ie,{type:"submit",value:"Search",color:"primary"}),e.jsx(a.Button,{type:"text",htmlType:"button",onClick:()=>{k(null),M(null),ce(null),le(null),_(Se=>!Se)},style:oi,children:"Cancel"})]})})]})})})]})}),R&&e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Student List"})}),e.jsx(w,{p:3,children:e.jsx(ze,{parentCallback:ys,data:{newData:ae,columns:ot,columnstype:"antd",action:!1,Loading:ye,error:ke,deleteTodoMutation:Te,pageController:Y}})})]})})]}),e.jsx(a.Drawer,{open:D,title:Le,placement:"right",width:420,destroyOnClose:!0,onClose:je,children:h?.id&&e.jsx(pm,{token:t,assignmentId:h.id,studentName:`${h.firstname??""} ${h.lastname??""}`.trim(),onClose:je,onSuccess:()=>pe()})}),e.jsx(a.Modal,{open:L,title:"Assign Student to Transport",onCancel:xs,footer:null,width:640,destroyOnClose:!0,children:e.jsx("form",{onSubmit:Pa,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{options:ft,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Route",required:!0,allowSelectAll:!1,value:ft.find(Se=>String(Se.value)===String(ue))??null,onChange:Se=>re(Se,"route_id")})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{options:it,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Vehicle",required:!0,allowSelectAll:!1,value:it.find(Se=>String(Se.value)===String(Ce))??null,onChange:Se=>re(Se,"vehicle_id")},`vehicle001${P}`)})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{options:lt,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Stop",required:!0,allowSelectAll:!1,value:lt.find(Se=>String(Se.value)===String(et))??null,onChange:Se=>re(Se,"stop_id")},`stop001${N}`)})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{Desplay:"Start Date",placement:"bottomRight",format:"YYYY-MM-DD",value:Ae,onChange:Se=>Fe(Se)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{type:"text",name:"rootCost",label:"Route Cost",value:me,onChange:Se=>de(Se?.target?.value??"")})})}),e.jsx(a.Col,{xs:24,children:e.jsxs(w,{display:"flex",alignItems:"center",gap:12,children:[e.jsx(ie,{type:"submit",value:String(me??"").trim()?`${zo}${me} â Assign`:"Assign",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:xs,style:oi,children:"Cancel"})]})})]})})})]})}const di={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},vn={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"};function bm({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:50}),[r,l]=i.useState(!1),[o,d]=i.useState(null),[c,g]=i.useState(""),[y,p]=i.useState(""),[m,A]=i.useState(""),[C,b]=i.useState(!1),f=`api/branchapi/Transport/getdriverTable?page=${n.page}&per_page=${n.rowsPerPage}`,x="api/branchapi/Transport/add_driver",R="api/branchapi/Transport/edit_driver",k="api/branchapi/Transport/deletedriver",O="api/branchapi/staff/uploadDocuments",_=i.useMemo(()=>String(O).startsWith("http")?O:`${At()??""}${String(O).replace(/^\/+/,"")}`,[O]),D=At()??"",{isLoading:u,data:h,error:S,mutate:E}=K(t?[f,t]:null,([Y,B])=>G(Y,B)),$=async(Y,B)=>{try{await Ge(Y,B,t),await E(),v.success("Success! Added new item.",{duration:1e3,icon:"ð"}),g("")}catch(U){v.error(U?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},q=Y=>{Y.preventDefault();const B=new FormData(Y.target);$(x,B),Y.target.reset()},T=async Y=>{try{await E(Ze(k,Y,t),nt(Y)),v.success("Success! Deleted item.",{duration:1e3})}catch{v.error("Failed to delete the item.",{duration:1e3})}},F=Y=>{d(Y),g(Y?.image??""),l(!0)},j=async Y=>{try{await tt(R,Y,t),await E(),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),l(!1),d(null),g("")}catch(B){v.error(B?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},P=Y=>{Y.preventDefault();const B=new FormData(Y.target);B.append("id",o?.id??""),j(B)},I=(Y,B)=>{s({page:Y,rowsPerPage:parseInt(B,10)})},N=[{title:"Driver Name",dataIndex:"name",key:"name",sorter:{compare:(Y,B)=>String(Y?.name??"").localeCompare(String(B?.name??""))}},{title:"Driver Licence",dataIndex:"Driver_licence",key:"Driver_licence",sorter:{compare:(Y,B)=>String(Y?.Driver_licence??"").localeCompare(String(B?.Driver_licence??""))}},{title:"Contact",dataIndex:"contact_number",key:"contact_number",sorter:{compare:(Y,B)=>Number(Y?.contact_number??0)-Number(B?.contact_number??0)}},{title:"Address",dataIndex:"address",key:"address",sorter:{compare:(Y,B)=>String(Y?.address??"").localeCompare(String(B?.address??""))}},{title:"Image",key:"image",width:100,render:(Y,B)=>{const U=B?.image?`${D}staff/document/${B.image}`:"";return U?e.jsx("div",{style:{display:"flex",justifyContent:"center"},children:e.jsx(a.Image,{width:80,src:U,preview:{visible:!1,onVisibleChange:()=>{b(!0),p(U),A(B?.name??"Driver")}}})}):null}},{title:"Action",key:"action",render:(Y,B)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>F(B),style:{padding:2}}),e.jsx(wt,{id:B?.id,funcName:T})]})}],W=o?.name?`Edit ${o.name}`:"Edit Driver";return e.jsxs("div",{children:[e.jsx(a.Drawer,{open:r,title:W,placement:"right",width:420,destroyOnClose:!0,onClose:()=>{l(!1),d(null),g("")},children:e.jsx("form",{onSubmit:P,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{type:"text",name:"name",label:"Driver Name",defaultValue:o?.name??"",required:"required"}),e.jsx(V,{type:"text",name:"Driver_licence",label:"Driver Licence",defaultValue:o?.Driver_licence??"",required:"required"}),e.jsx(V,{type:"number",name:"contact_number",label:"Driver Contact",defaultValue:o?.contact_number??"",required:"required"}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:vn,children:"Address"}),e.jsx(a.Input.TextArea,{name:"address",defaultValue:o?.address??"",rows:2,style:{width:"100%",border:0,borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none",paddingLeft:0,paddingRight:0}})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:vn,children:"Image"}),e.jsx(a.Upload,{maxCount:1,action:_,headers:t?{Authorization:t}:void 0,onChange:Y=>{if(Y?.file?.status!=="done")return;const B=Y?.file?.response,U=B?.data??B?.filename??B?.file??B?.path??"";U&&g(String(U))},children:e.jsx(a.Button,{icon:e.jsx(ee.UploadOutlined,{}),disabled:!_,children:"Upload"})}),e.jsx("input",{type:"hidden",name:"file",value:c})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{l(!1),d(null),g("")},style:di,children:"Cancel"})]})]})})}),e.jsx(a.Modal,{zIndex:9999,open:C,title:m,footer:null,onCancel:()=>b(!1),children:e.jsx("img",{alt:"preview",style:{width:"100%"},src:y})}),e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(w,{pt:5,pb:1,children:e.jsxs("div",{children:[e.jsxs("div",{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Add Driver"})}),e.jsx(w,{px:3,pb:2,children:e.jsx("form",{onSubmit:q,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"text",name:"name",label:"Driver Name",required:"required"}),e.jsx(V,{type:"text",name:"Driver_licence",label:"Driver Licence",required:"required"}),e.jsx(V,{type:"number",name:"contact_number",label:"Driver Contact",required:"required"}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:vn,children:"Address"}),e.jsx(a.Input.TextArea,{name:"address",rows:2,style:{width:"100%",border:0,borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none",paddingLeft:0,paddingRight:0}})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:vn,children:"Image"}),e.jsx(a.Upload,{maxCount:1,action:_,headers:t?{Authorization:t}:void 0,onChange:Y=>{if(Y?.file?.status!=="done")return;const B=Y?.file?.response,U=B?.data??B?.filename??B?.file??B?.path??"";U&&g(String(U))},children:e.jsx(a.Button,{icon:e.jsx(ee.UploadOutlined,{}),disabled:!_,children:"Upload"})}),e.jsx("input",{type:"hidden",name:"file",value:c})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ie,{type:"submit",value:"Save",color:"primary"}),e.jsx(a.Button,{type:"text",htmlType:"reset",onClick:()=>g(""),style:di,children:"Cancel"})]})]})})})]}),e.jsx("div",{style:{marginTop:24},children:e.jsxs("div",{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Driver List"})}),e.jsx(w,{children:e.jsx(ze,{parentCallback:I,data:{newData:h,columns:N,columnstype:"antd",action:!1,Loading:u,error:S,deleteTodoMutation:T}})})]})})]})})]})}const ci={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},ga={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},wn={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"},ui=[{label:"Pick",value:"pick"},{label:"Drop",value:"drop"}],_n=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:[]};function jm({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:50}),[r,l]=i.useState(!1),[o,d]=i.useState(!1),[c,g]=i.useState(null),[y,p]=i.useState(null),[m,A]=i.useState(null),[C,b]=i.useState(null),[f,x]=i.useState(se()),[R,k]=i.useState(se()),[O,_]=i.useState("pick"),[D,u]=i.useState(!1),[h,S]=i.useState(null),[E,$]=i.useState(null),[q,T]=i.useState(!1),[F,j]=i.useState(null),[P,I]=i.useState(null),[N,W]=i.useState(null),[Y,B]=i.useState(null),[U,M]=i.useState(se()),[L,z]=i.useState(se()),[ne,X]=i.useState("pick"),J=`api/branchapi/Transport/assignRouteTimeList?page=${n.page}&per_page=${n.rowsPerPage}`,H="api/branchapi/Transport/assignRouteTime",Q="api/branchapi/Transport/editAssignRouteTime",ce="api/branchapi/Transport/deleteAssignRouteTime",De="api/branchapi/Transport/driverDropdown",le="api/branchapi/transport/routeTimetableShowdata",ue="api/branchapi/Transport/getrouteDropdown",oe="api/branchapi/Transport/getvehicleDropdown",{isLoading:Ce,data:Ne,error:et,mutate:we}=K(t?[J,t]:null,([ye,ke])=>G(ye,ke)),{data:Ae}=K(t&&ue?[ue,t]:null,([ye,ke])=>G(ye,ke)),{data:Fe}=K(t&&De?[De,t]:null,([ye,ke])=>G(ye,ke)),me=i.useMemo(()=>c?`${oe}?route_id=${c}`:null,[c,oe]),{data:de}=K(t&&me?[me,t]:null,([ye,ke])=>G(ye,ke)),Re=i.useMemo(()=>_n(Ae),[Ae]),Be=i.useMemo(()=>_n(Fe),[Fe]),$e=i.useMemo(()=>_n(de),[de]),ge=(ye,ke)=>{s({page:ye,rowsPerPage:parseInt(ke,10)})},_e=async ye=>{ye.preventDefault();const ke=new FormData(ye.target);ke.set("route_id",y?.value??c??""),ke.set("driver_id",m?.value??""),ke.set("vehicle_id",C?.value??""),ke.set("start_time",f?f.format("h:mm a"):""),ke.set("drop_time",R?R.format("h:mm a"):""),ke.set("type",O);try{await Ge(H,ke,t),await we(),v.success("Success! Added new item.",{duration:1e3,icon:"ð"}),ye.target.reset(),g(null),p(null),A(null),b(null),d(ae=>!ae),x(se()),k(se()),_("pick"),l(ae=>!ae)}catch(ae){v.error(ae?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},ve=async ye=>{try{await Ze(ce,ye,t),await we(),v.success("Success! Deleted item.",{duration:1e3})}catch(ke){v.error(ke?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},re=ye=>{S(ye),u(!0);const ke=ye?.id??ye?.route_time_id??ye?.routeId??null;$(ke);const ae=ye?.route_id??ye?.routeId??ye?.fk_route_id;j(ae??null),I(Re.find(pe=>pe?.value===(ae??ye?.route_id))??null),W(Be.find(pe=>pe?.value===(ye?.driver_id??ye?.driverId))??null),B(null),T(pe=>!pe),M(ye?.start_time?se(ye.start_time,["h:mm a","HH:mm"]):se()),z(ye?.drop_time?se(ye.drop_time,["h:mm a","HH:mm"]):se()),X(ye?.type??"pick")},xe=i.useMemo(()=>{if(!E)return null;const ye=String(le).includes("?")?"&":"?";return`${le}${ye}id=${encodeURIComponent(String(E))}`},[E,le]),{data:je,isLoading:Le}=K(t&&xe?[xe,t]:null,([ye,ke])=>G(ye,ke)),qe=i.useMemo(()=>{const ye=je?.data??je;return Array.isArray(ye)?ye[0]??null:Array.isArray(ye?.data)?ye.data[0]??null:ye??null},[je]),fe=i.useMemo(()=>F?`${oe}?route_id=${F}`:null,[F,oe]),{data:Ie}=K(t&&fe?[fe,t]:null,([ye,ke])=>G(ye,ke)),Je=i.useMemo(()=>_n(Ie),[Ie]);i.useEffect(()=>{if(!qe)return;const ye=qe?.route_id??qe?.fk_route_id??qe?.routeId;j(ye??null),I(Re.find(ke=>ke?.value===ye)??null),W(Be.find(ke=>ke?.value===qe?.driver_id)??null),B(null),M(qe?.start_time?se(qe.start_time,["h:mm a","HH:mm"]):se()),z(qe?.drop_time?se(qe.drop_time,["h:mm a","HH:mm"]):se()),X(qe?.type??"pick"),T(ke=>!ke)},[Be,qe,Re]),i.useEffect(()=>{if(!qe)return;const ye=qe?.vehicle_id??qe?.vehicleId;ye&&B(Je.find(ke=>ke?.value===ye)??null)},[qe,Je]);const mt=async ye=>{if(ye.preventDefault(),!E)return;const ke=new FormData(ye.target);ke.set("id",String(E)),ke.set("route_id",P?.value??F??""),ke.set("driver_id",N?.value??""),ke.set("vehicle_id",Y?.value??""),ke.set("start_time",U?U.format("h:mm a"):""),ke.set("drop_time",L?L.format("h:mm a"):""),ke.set("type",ne);try{await tt(Q,ke,t),await we(),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),u(!1),S(null)}catch(ae){v.error(ae?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},Et=[{title:"Route Name",dataIndex:"route_title",key:"route_title"},{title:"Driver Name",dataIndex:"driver_name",key:"driver_name"},{title:"Vehicle Name",dataIndex:"vehicle_name",key:"vehicle_name"},{title:"Start Time",dataIndex:"start_time",key:"start_time"},{title:"End Time",dataIndex:"drop_time",key:"drop_time"},{title:"Type",dataIndex:"type",key:"type"},{title:"Action",key:"action",render:(ye,ke)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>re(ke),style:{padding:2}}),e.jsx(wt,{id:ke?.id??ke?.routeId??ke?.route_time_id,funcName:ve})]})}],Tt=h?.route_title?`Edit ${h.route_title}`:"Edit Route Time";return e.jsxs("div",{children:[e.jsx(a.Drawer,{open:D,title:Tt,placement:"right",width:420,destroyOnClose:!0,onClose:()=>{u(!1),S(null),$(null),j(null),I(null),W(null),B(null)},children:e.jsx("form",{onSubmit:mt,children:e.jsxs("div",{style:{display:"grid",gap:20,opacity:Le?.6:1},children:[e.jsx(Z,{options:Re,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Route",name:"route_id",required:!0,allowSelectAll:!1,value:P,onChange:ye=>{j(ye?.value??null),I(ye??null),B(null),T(ke=>!ke)}}),e.jsx(Z,{options:Be,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Driver",name:"driver_id",required:!0,allowSelectAll:!1,value:N,onChange:ye=>W(ye??null)}),e.jsx(Z,{options:Je,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Vehicle",name:"vehicle_id",required:!0,allowSelectAll:!1,value:Y,onChange:ye=>B(ye??null)},`edit-vehicle-${q}`),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:ga,children:"Start Time"}),e.jsx(a.TimePicker,{value:U,onChange:ye=>M(ye),use12Hours:!0,format:"h:mm a",allowClear:!1,style:wn})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:ga,children:"Drop Time"}),e.jsx(a.TimePicker,{value:L,onChange:ye=>z(ye),use12Hours:!0,format:"h:mm a",allowClear:!1,style:wn})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:ga,children:"Type"}),e.jsx("div",{style:{borderBottom:"1px solid #d9d9d9",paddingBottom:6},children:e.jsx(a.Radio.Group,{options:ui,optionType:"button",buttonStyle:"solid",value:ne,onChange:ye=>X(ye.target.value)})})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{u(!1),S(null)},style:ci,children:"Cancel"})]})]})})}),e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(w,{pt:5,pb:1,children:e.jsxs("div",{children:[e.jsxs("div",{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Route Time Table"})}),e.jsx(w,{px:3,pb:2,children:e.jsx("form",{onSubmit:_e,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Z,{options:Re,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Route",name:"route_id",value:y,onChange:ye=>{g(ye?.value??null),p(ye??null),b(null),d(ke=>!ke)},allowSelectAll:!1,required:!0}),e.jsx(Z,{options:Be,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Driver",name:"driver_id",value:m,onChange:ye=>A(ye??null),allowSelectAll:!1,required:!0}),e.jsx(Z,{options:$e,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Vehicle",name:"vehicle_id",value:C,onChange:ye=>b(ye??null),allowSelectAll:!1,required:!0},`vehicle-${o}`),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:ga,children:"Start Time"}),e.jsx(a.TimePicker,{value:f,onChange:ye=>x(ye),use12Hours:!0,format:"h:mm a",allowClear:!1,style:wn})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:ga,children:"Drop Time"}),e.jsx(a.TimePicker,{value:R,onChange:ye=>k(ye),use12Hours:!0,format:"h:mm a",allowClear:!1,style:wn})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("label",{className:"labelfont",style:ga,children:"Type"}),e.jsx("div",{style:{borderBottom:"1px solid #d9d9d9",paddingBottom:6},children:e.jsx(a.Radio.Group,{options:ui,optionType:"button",buttonStyle:"solid",value:O,onChange:ye=>_(ye.target.value)})})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ie,{type:"submit",value:"Add",color:"primary"}),e.jsx(a.Button,{type:"text",htmlType:"reset",onClick:()=>{g(null),p(null),A(null),b(null),d(ye=>!ye),x(se()),k(se()),_("pick"),l(ye=>!ye)},style:ci,children:"Cancel"})]})]})},`form-${r}`)})]}),e.jsx("div",{style:{marginTop:24},children:e.jsxs("div",{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Route Time List"})}),e.jsx(w,{children:e.jsx(ze,{parentCallback:ge,data:{newData:Ne,columns:Et,columnstype:"antd",action:!1,Loading:Ce,error:et,deleteTodoMutation:ve}})})]})})]})})]})}const Sm={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},pi={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},mi={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"},hi=({dataIndex:t,title:n,record:s,children:r,isEditable:l,...o})=>e.jsx("td",{...o,children:l?e.jsx("div",{style:{display:"flex",marginLeft:"5%"},children:r}):r});let fi=2;function vm({token:t}){const[n,s]=i.useState([]),[r,l]=i.useState(null),[o,d]=i.useState([]),[c,g]=i.useState({pagination:{current:1,pageSize:50}}),{isLoading:y,data:p,mutate:m}=K(t?[`api/branchapi/transport/getrouteStoppageData?page=${c.pagination.current}&per_page=${c.pagination.pageSize}`,t]:null,([j,P])=>G(j,P)),{Status:A="Failed",pagination:{total_rows:C=0}={}}=p||{},{data:b=[]}=A==="Success"?p:{},{data:f}=K(t?["api/branchapi/Transport/getrouteDropdown",t]:null,([j,P])=>G(j,P)),x=i.useMemo(()=>{const j=f?.data??f??[];if(Array.isArray(j))return j;if(j&&typeof j=="object"){if(Array.isArray(j?.data))return j.data;if(Array.isArray(j?.data?.data))return j.data.data}return[]},[f]),{data:R}=K(t&&r?["api/branchapi/transport/getrouteStoppageData?route_id="+r,t]:null,([j,P])=>G(j,P)),{Status:k="Failed"}=R||{},O=async(j,P)=>{try{await m(Ge(j,P,t),st(P)),v.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{v.error("Failed to add the new item.",{duration:1e3})}},_=j=>j?typeof j=="string"?j:j?.isValid?.()?j.format("h:mm a"):"":"",D=(j,P=[])=>{const I=(Array.isArray(j)?j:[]).map(Y=>({id:Y?.id??"",name:String(Y?.stop_name??Y?.name??"").trim(),pickTime:_(Y?.pickup_time??Y?.pickTime??Y?.pickupTime),drop_time:_(Y?.drop_time??Y?.dropTime)})),N=I.filter(Y=>Y?.id!=null&&String(Y.id).trim()!==""),W=I.filter(Y=>!(Y?.id!=null&&String(Y.id).trim()!==""));return{route_id:r??"",edit_stoppage:N,add_stoppage:W,delete_stoppage:Array.isArray(P)?P:[]}},u=j=>{j.preventDefault();const P="/api/branchapi/transport/addstoppageToRoute",I=D(n,o);O(P,I)},h=()=>{s(j=>[...Array.isArray(j)?j:[],{idKey:fi++,stop_name:"",pickup_time:se().format("h:mm a"),drop_time:se().format("h:mm a")}])},S=j=>{if(n.length===1)return;const P=n[j];P?.id!=null&&String(P.id).trim()!==""&&!P?.idKey&&d(I=>{const N=Array.isArray(I)?I:[];return N.some(Y=>String(Y)===String(P.id))?N:[...N,P.id]}),s(I=>{const N=[...I];return N.splice(j,1),N})},E=j=>{g(P=>({...P,pagination:{current:j,pageSize:P.pagination.pageSize}}))},$=async j=>{const P="/api/branchapi/Transport/deletevehicle";try{await m(Ze(P,j,t),nt(j)),v.success("Success! Deleted item.",{duration:1e3})}catch{v.error("Failed to delete the item.",{duration:1e3})}};i.useEffect(()=>{if(k==="Success"){const j=Array.isArray(R?.data)?R.data:[];j.length>0?(s(j),d([])):r&&(s([{idKey:fi++,stop_name:"",pickup_time:se().format("h:mm a"),drop_time:se().format("h:mm a")}]),d([]))}},[k,R,r]);const q=j=>{const{children:P=[]}=j||{},I=[{title:"Stop Name",dataIndex:"stop_name",onCell:N=>({isEditable:!0})},{title:"Pick Time",dataIndex:"pickup_time",onCell:N=>({isEditable:!0})},{title:"Drop Name",dataIndex:"drop_time",onCell:N=>({isEditable:!0})}];return e.jsx("div",{style:{display:"flex",justifyContent:"center"},children:e.jsx("div",{style:{width:"95%",margin:8},children:e.jsx(a.Table,{components:{body:{cell:hi}},expandable:{childrenColumnName:"changed"},bordered:!0,columns:I,rowKey:N=>T(N)+"cell01",dataSource:P,pagination:!1})})})},T=j=>{const P=["id","index"];for(let I=0;I<P.length;I++)if(j[P[I]])return j[P[I]]},F=[{title:"Route",dataIndex:"route_title"},{title:"Stoppages",render:(j,P,I)=>e.jsx(e.Fragment,{children:(Array.isArray(P.children)?P.children:[]).map((N,W,Y)=>e.jsx("span",{children:`${N.stop_name} ${W+1===Y.length?"":","}`},`${W}vehicle001`))})},{title:"Action",render:(j,P,I)=>e.jsx(e.Fragment,{children:e.jsx(wt,{id:P?.route_id,funcName:$})})}];return e.jsxs("div",{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs(w,{pt:5,pb:1,children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Route Time Table"})}),e.jsx(w,{px:3,pb:2,children:e.jsxs("form",{onSubmit:u,children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx("div",{children:e.jsx(Z,{options:x,value:x.find(j=>String(j.value)===String(r))??null,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Route",name:"route_id",onChange:j=>{l(j?.value??null),s([]),d([])},allowSelectAll:!1,required:!0})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-start",gap:12},children:r&&e.jsx("button",{type:"button",style:{padding:2,border:"none",background:"transparent",cursor:"pointer",marginBottom:8},title:"Add Row",onClick:h,children:e.jsx(ee.PlusCircleOutlined,{style:{fontSize:24,color:"#28a745"}})})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:12},children:[e.jsx(ie,{type:"submit",value:"Add",color:"primary"}),e.jsx(a.Button,{type:"text",htmlType:"button",onClick:()=>{l(null),s([]),d([])},style:Sm,children:"Cancel"})]})]}),e.jsx("div",{style:{marginTop:20},children:n.length>0&&n.map((j,P)=>{const I=j.pickup_time?se(j.pickup_time,"h:mm a"):null,N=j.drop_time?se(j.drop_time,"h:mm a"):null;return e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, minmax(0, 1fr)) auto",gap:16,alignItems:"end",marginBottom:12},children:[e.jsxs("div",{children:[e.jsx(V,{value:j.stop_name??"",type:"text",name:`stoppage[${P}][name]`,label:"Place Name*",required:"required",onChange:W=>{const Y=W?.target?.value??"";s(B=>{const U=[...B];return U[P]={...U[P]??{},stop_name:Y},U})}}),j?.id!=null&&String(j.id).trim()!==""&&e.jsx("input",{type:"hidden",name:`stoppage[${P}][id]`,value:String(j.id)})]}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",style:pi,children:"Pick Time"}),e.jsx(a.TimePicker,{value:I,use12Hours:!0,format:"h:mm a",name:`stoppage[${P}][pickTime]`,allowClear:!1,style:mi,onChange:W=>{const Y=W?W.format("h:mm a"):"";s(B=>{const U=[...B];return U[P]={...U[P]??{},pickup_time:Y},U})}})]}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",style:pi,children:"Drop Time"}),e.jsx(a.TimePicker,{value:N,use12Hours:!0,format:"h:mm a",name:`stoppage[${P}][drop_time]`,allowClear:!1,style:mi,onChange:W=>{const Y=W?W.format("h:mm a"):"";s(B=>{const U=[...B];return U[P]={...U[P]??{},drop_time:Y},U})}})]}),e.jsx("div",{style:{marginBottom:8},children:n.length>1&&e.jsx("button",{type:"button",style:{padding:2,border:"none",background:"transparent",cursor:"pointer"},onClick:()=>S(P),children:e.jsx(ee.MinusCircleOutlined,{style:{fontSize:20,color:"#dc3545"}})})})]},j.idKey?j.idKey+"exp":j.id+"exp")})})]})}),e.jsx(w,{mx:2,mt:1,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Stoppage List"})}),e.jsx(w,{style:{padding:"10px 16px"},children:e.jsx(a.Table,{components:{body:{cell:hi}},columns:F,bordered:!0,size:"small",rowKey:j=>T(j),dataSource:b,loading:y,expandable:{expandedRowRender:q,childrenColumnName:"changed"},pagination:{current:c.pagination.current,pageSize:c.pagination.pageSize,total:C,showSizeChanger:!0,onChange:E,onShowSizeChange:(j,P)=>{g(I=>({...I,pagination:{current:1,pageSize:P}}))},showTotal:(j,P)=>`${P[0]}-${P[1]} of ${j} items`}})})]})]})}const{Step:Cn}=a.Steps;function wm({token:t}){const[n,s]=i.useState(0),[r,l]=i.useState(void 0),[o,d]=i.useState(void 0),[c,g]=i.useState(!1),[y,p]=i.useState(null),[m,A]=i.useState(!1),[C,b]=i.useState(!1),[f,x]=i.useState(!1),[R,k]=i.useState([]),[O,_]=i.useState(null),[D,u]=i.useState(null),[h,S]=i.useState(!1),{isLoading:E,data:$}=K(t?[un,t]:null,([M,L])=>G(M,L)),{isLoading:q,data:T}=K(h?[h,t]:null,([M,L])=>G(M,L)),{data:F}=K(c?[c,t]:null,([M,L])=>G(M,L)),j=i.useMemo(()=>[{title:"Excel Row",dataIndex:"row",width:90,render:M=>M??"-"},{title:"Student Name",dataIndex:"student_name_system",render:M=>M?e.jsx("span",{style:{color:"#d97706"},children:M}):"-"},{title:"Route",dataIndex:"route",render:M=>M||"-"},{title:"Vehicle",dataIndex:"vehicle",render:M=>M||"-"},{title:"Stop",dataIndex:"stop",render:M=>M||"-"},{title:"Start Date",dataIndex:"start_date",render:M=>M||"-"},{title:"Transport Fee",dataIndex:"transport_fee",render:M=>M??"-"},{title:"Status",dataIndex:"status",width:110,render:M=>{const z={Valid:"success",Invalid:"error",Duplicate:"warning",Imported:"success",Skipped:"warning",Failed:"error"}[M]||"default";return e.jsx("span",{style:{color:z,fontWeight:500},children:M})}},{title:"Message",dataIndex:"message",render:M=>M?e.jsx("span",{style:{color:"#dc2626"},children:M}):"-"}],[]),P=()=>{p(null),A(!1),b(!1),x(!1),k([]),_(null),u(null),l(void 0),d(void 0),g(!1),s(0)},I=async()=>{try{const M=await Ru({class_id:r?.value,section_id:o?.value},t),L=window.URL.createObjectURL(M),z=document.createElement("a");z.href=L,z.download="transport-bulk-template.xlsx",document.body.appendChild(z),z.click(),document.body.removeChild(z),window.URL.revokeObjectURL(L),v.success("Template downloaded.",{duration:1e3})}catch(M){v.error(M?.message||"Failed to download template.",{duration:1e3})}},N=async()=>{if(!y){v.error("Please select an Excel file to upload.",{duration:1e3});return}b(!0),k([]),_(null),u(null);try{const M=await Iu(y,t);if(M.Status!=="Success"){v.error(M.msg||"Validation failed.",{duration:1e3}),b(!1);return}_(M.data?.summary||null),k(M.data?.rows||[]),s(2),v.success(M.msg||"Validation complete.",{duration:1e3})}catch(M){v.error(M?.message||"Validation failed.",{duration:1e3})}finally{b(!1)}},W=async()=>{if(!R.length){v.error("No rows provided to import.",{duration:1e3});return}x(!0),u(null);try{const M=await ku(R,t,"skip");if(M.Status!=="Success"){v.error(M.msg||"Import failed.",{duration:1e3}),x(!1);return}u(M.data||null),s(3),v.success(M.msg||"Import completed.",{duration:1e3})}catch(M){v.error(M?.message||"Import failed.",{duration:1e3})}finally{x(!1)}},Y=async M=>{if(!M||!M.length){v.error("No rows provided.",{duration:1e3});return}try{const L=await Pu(M,t),z=window.URL.createObjectURL(L),ne=document.createElement("a");ne.href=z,ne.download="transport-bulk-error-report.xlsx",document.body.appendChild(ne),ne.click(),document.body.removeChild(ne),window.URL.revokeObjectURL(z),v.success("Error report downloaded.",{duration:1e3})}catch(L){v.error(L?.message||"Failed to download error report.",{duration:1e3})}},B=i.useMemo(()=>R.length?(D?D.rows:R).filter(L=>!["Valid","Imported"].includes(L.status)):[],[R,D]),U={background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"};return e.jsx(w,{pt:5,pb:1,children:e.jsx(a.Row,{gutter:[16,16],children:e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:U,children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Transport / Bulk Upload"})}),e.jsxs(w,{p:3,children:[e.jsxs(a.Steps,{current:n,style:{marginBottom:16},children:[e.jsx(Cn,{title:"Download Template"}),e.jsx(Cn,{title:"Upload & Validate"}),e.jsx(Cn,{title:"Review"}),e.jsx(Cn,{title:"Import Result"})]}),n===0&&e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:4,children:e.jsx(w,{children:e.jsx(Z,{label:"Class",options:Array.isArray($)?$:[],value:r,onChange:M=>{l(M),M?g(`${pn}?class_id=${M.value}`):(d(void 0),g(!1))},showSearch:!0,allowClear:!0})})}),e.jsx(a.Col,{xs:24,md:4,children:e.jsx(w,{children:e.jsx(Z,{label:"Section",options:Array.isArray(F)?F:[],value:o,onChange:d,showSearch:!0,allowClear:!0})})}),e.jsx(a.Col,{xs:24,md:4,style:{marginTop:20},children:e.jsx(w,{children:e.jsx(a.Button,{type:"primary",onClick:I,block:!0,children:"Download Excel Template"})})}),e.jsx(a.Col,{xs:24,children:e.jsx(w,{mt:1,children:e.jsx(a.Button,{type:"primary",onClick:()=>s(1),children:"Next: Upload Excel"})})})]}),n===1&&e.jsxs(a.Row,{gutter:[16,16],align:"middle",children:[e.jsx(a.Col,{xs:24,md:6,children:e.jsxs(w,{children:[e.jsx(a.Upload,{accept:".xlsx",showUploadList:!1,beforeUpload:M=>(p(M),!1),children:e.jsx(a.Button,{icon:e.jsx(ee.UploadOutlined,{}),block:!0,disabled:m||C,children:y?y.name:"Choose Excel File (.xlsx)"})}),y&&e.jsxs(w,{mt:.5,display:"flex",alignItems:"center",gap:1,children:[e.jsxs(be,{level:6,color:"textSecondary",children:[(y.size/1024).toFixed(1)," KB"]}),e.jsx(a.Button,{size:"small",danger:!0,onClick:()=>p(null),children:"Remove"})]})]})}),e.jsx(a.Col,{xs:24,md:3,children:e.jsx(w,{children:e.jsx(ie,{type:"button",value:C?"Validating...":"Validate & Preview",color:"primary",onClick:N,disabled:C||!y})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Button,{type:"text",size:"small",onClick:()=>{P(),s(0)},children:"Back"})})]}),n===2&&e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:6,md:3,children:e.jsx(a.Card,{children:e.jsxs(w,{p:1.5,children:[e.jsx(be,{level:6,color:"textSecondary",children:"Total"}),e.jsx(be,{level:4,children:O?.total??R.length})]})})}),e.jsx(a.Col,{xs:6,md:3,children:e.jsx(a.Card,{children:e.jsxs(w,{p:1.5,children:[e.jsx(be,{level:6,color:"textSecondary",children:"Valid"}),e.jsx(be,{level:4,style:{color:"#52c41a"},children:O?.valid??0})]})})}),e.jsx(a.Col,{xs:6,md:3,children:e.jsx(a.Card,{children:e.jsxs(w,{p:1.5,children:[e.jsx(be,{level:6,color:"textSecondary",children:"Invalid"}),e.jsx(be,{level:4,style:{color:"#ff4d4f"},children:O?.invalid??0})]})})}),e.jsx(a.Col,{xs:6,md:3,children:e.jsx(a.Card,{children:e.jsxs(w,{p:1.5,children:[e.jsx(be,{level:6,color:"textSecondary",children:"Duplicate"}),e.jsx(be,{level:4,style:{color:"#faad14"},children:O?.duplicate??0})]})})})]})}),e.jsx(a.Col,{xs:24,children:e.jsx(w,{style:{maxHeight:400,overflow:"auto",width:"100%"},children:e.jsx(a.Table,{dataSource:R.map((M,L)=>({...M,key:`${M.row}-${L}`})),columns:j,size:"small",bordered:!0,scroll:{x:!0},pagination:{pageSize:10,showSizeChanger:!0,showTotal:(M,L)=>`${L[0]}-${L[1]} of ${M} items`}})})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Row,{gutter:[8,8],align:"middle",children:[e.jsx(a.Col,{children:e.jsx(ie,{type:"button",value:f?"Importing...":"Import Valid Rows",color:"primary",onClick:W,disabled:f})}),e.jsx(a.Col,{children:e.jsx(a.Button,{size:"small",onClick:()=>Y(B),disabled:!B.length,children:"Download Error Report"})}),e.jsx(a.Col,{children:e.jsx(a.Button,{type:"text",size:"small",onClick:()=>{P(),s(1)},children:"Upload Another File"})})]})})]}),n===3&&e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:6,md:3,children:e.jsx(a.Card,{children:e.jsxs(w,{p:1.5,children:[e.jsxs(be,{level:6,color:"textSecondary",children:["Total "," "]}),e.jsx(be,{level:4,children:D?.total??0})]})})}),e.jsx(a.Col,{xs:6,md:3,children:e.jsx(a.Card,{children:e.jsxs(w,{p:1.5,children:[e.jsxs(be,{level:6,color:"textSecondary",children:["Imported "," "]}),e.jsx(be,{level:4,style:{color:"#52c41a"},children:D?.imported??0})]})})}),e.jsx(a.Col,{xs:6,md:3,children:e.jsx(a.Card,{children:e.jsxs(w,{p:1.5,children:[e.jsxs(be,{level:6,color:"textSecondary",children:["Skipped "," "]}),e.jsx(be,{level:4,style:{color:"#faad14"},children:D?.skipped??0})]})})}),e.jsx(a.Col,{xs:6,md:3,children:e.jsx(a.Card,{children:e.jsxs(w,{p:1.5,children:[e.jsxs(be,{level:6,color:"textSecondary",children:["Failed "," "]}),e.jsx(be,{level:4,style:{color:"#ff4d4f"},children:D?.failed??0})]})})})]})}),e.jsx(a.Col,{xs:24,children:e.jsx(w,{style:{maxHeight:400,overflow:"auto",width:"100%"},children:e.jsx(a.Table,{dataSource:(D?.rows||[]).map((M,L)=>({...M,key:`${M.row}-${L}`})),columns:j,size:"small",bordered:!0,scroll:{x:!0},pagination:{pageSize:10,showSizeChanger:!0,showTotal:(M,L)=>`${L[0]}-${L[1]} of ${M} items`}})})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Row,{gutter:[8,8],align:"middle",children:[e.jsx(a.Col,{children:e.jsx(a.Button,{size:"small",onClick:()=>Y(B),disabled:!B.length,children:"Download Error Report"})}),e.jsx(a.Col,{children:e.jsx(a.Button,{type:"primary",size:"small",onClick:P,children:"Upload Another File"})})]})})]})]})]})})})})}const _m=(t,n)=>{const s=String(t??""),r=String(n??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},fo=t=>{const n=qt(t);if(n)return n;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}},yi=(t,n,s)=>{const r=`${t||""}`.trim();if(!r)return"";if(/^https?:\/\//i.test(r))return r;const l=n?.fk_branchID??fo(s),o=r.startsWith("/")?r.slice(1):r;return _m(at(),`uploads/school_${l}/student/homework/${o}`)},gi={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},Ba=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]};function Cm({token:t}){const[n,s]=i.useState("api/branchapi/homeworks/gethomeworklistByClassSectionBranch?"),[r,l]=i.useState({page:1,rowsPerPage:10}),[o,d]=i.useState(null),[c,g]=i.useState(null),[y,p]=i.useState(null),[m,A]=i.useState(null),[C,b]=i.useState(!1),[f,x]=i.useState(null),[R,k]=i.useState(null),[O,_]=i.useState(null),[D,u]=i.useState(null),[h,S]=i.useState(null),[E,$]=i.useState(null),[q,T]=i.useState(!1),[F,j]=i.useState(""),[P,I]=i.useState(""),[N,W]=i.useState(""),[Y,B]=i.useState(!1),U=(fe,Ie)=>{const Je=fe?.value??null;switch(Ie){case"class_id":d(Je),g(null),p(null);break;case"section_id":g(Je);break;case"subject_id":p(Je);break}},{data:M}=K(t?["api/branchapi/academy/classdropdownlist",t]:null,([fe,Ie])=>G(fe,Ie)),{data:L}=K(t&&h?[h,t]:null,([fe,Ie])=>G(fe,Ie)),{data:z}=K(t&&E?[E,t]:null,([fe,Ie])=>G(fe,Ie)),ne=o?`api/branchapi/academy/sectionoftheClass?class_id=${o}`:null,{data:X}=K(t&&ne?[ne,t]:null,([fe,Ie])=>G(fe,Ie)),J=o?`api/branchapi/academy/getSubjectsbyClassaslablevalue?class_id=${o}`:null,{data:H}=K(t&&J?[J,t]:null,([fe,Ie])=>G(fe,Ie)),Q=i.useMemo(()=>Ba(M),[M]),ce=i.useMemo(()=>Ba(L),[L]),De=i.useMemo(()=>Ba(z),[z]),le=i.useMemo(()=>Ba(X),[X]),ue=i.useMemo(()=>Ba(H),[H]),oe=t&&n?`${n}class_id=${o||""}&subject_id=${y||""}§ion_id=${c||""}&date=${m?.format("YYYY-MM-DD")||""}&page=${r.page}&per_page=${r.rowsPerPage}`:null,{isLoading:Ce,error:Ne,data:et,mutate:we}=K(oe?[oe,t]:null,([fe,Ie])=>G(fe,Ie)),Ae=async(fe,Ie)=>{try{await we(Ge(fe,Ie,t),st(Ie)),v.success("Success! Added new item.",{duration:1e3,icon:"ð"}),$e()}catch(Je){console.error(Je),v.error("Failed to add the new item.",{duration:1e3})}},Fe=async fe=>{try{await we(Ze("api/student/Homework/deleteHomework",fe,t),nt(fe)),v.success("Success! Deleted item.",{duration:1e3})}catch(Ie){console.error(Ie),v.error("Failed to delete the item.",{duration:1e3})}},me=async fe=>{try{const Ie=await tt("api/student/Homework/updateHomework",fe,t);we(Ie),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),$e()}catch(Ie){console.error(Ie),v.error("Failed to update the item.",{duration:1e3})}},de=fe=>{fe.preventDefault();const Ie=new FormData(fe.target),Je=Ie.get("class_id")||o,mt=Ie.get("section_id")||c,Et=Ie.get("subject_id")||y,Tt=m?.format("YYYY-MM-DD");s(`api/branchapi/homeworks/gethomeworklistByClassSectionBranch?class_id=${Je||""}&subject_id=${Et||""}§ion_id=${mt||""}${Tt?`&date=${Tt}`:""}&`),l(ye=>({...ye,page:1}))},Re=fe=>{fe.preventDefault();const Ie=new FormData(fe.target);Ae("api/branchapi/homeworks/addHomework",Ie),W("")},Be=async(fe,Ie)=>{fe.preventDefault();const Je=new FormData(fe.target);Je.append("id",Ie),B(!0);try{await me(Je)}finally{B(!1)}},$e=()=>{b(!1),x(null),k(null),_(null),u(null),S(null),$(null),W("")},ge=fe=>{x(fe);const Ie=fe?.class_id??fe?.classId??null,Je=fe?.section_id??fe?.sectionId??null,mt=fe?.subject_id??fe?.subjectId??null;k(Ie),_(Je),u(mt),Ie?(S(`api/branchapi/academy/sectionoftheClass?class_id=${Ie}`),$(`api/branchapi/academy/getSubjectsbyClassaslablevalue?class_id=${Ie}`)):(S(null),$(null)),W(fe?.file||fe?.document||""),b(!0)},_e=fe=>{const Ie=fe?.value??null;k(Ie),_(null),u(null),Ie?(S(`api/branchapi/academy/sectionoftheClass?class_id=${Ie}`),$(`api/branchapi/academy/getSubjectsbyClassaslablevalue?class_id=${Ie}`)):(S(null),$(null))},ve=fe=>{_(fe?.value??null)},re=fe=>{u(fe?.value??null)},xe=(fe,Ie)=>{l({page:fe,rowsPerPage:parseInt(Ie,10)})},je=()=>{T(!1),j(""),I("")},Le=(fe,Ie)=>{if(!fe){v.error("No document found.",{duration:1e3});return}j(fe),I(Ie||"Document"),T(!0)},qe=[{title:"Date",dataIndex:"homework_date",key:"homework_date"},{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Title",dataIndex:"title",key:"title"},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0},{title:"Submission Date",dataIndex:"submit_date",key:"submit_date"},{title:"Staff Name",dataIndex:"staff_name",key:"staff_name"},{title:"Subject",dataIndex:"subject",key:"subject"},{title:"Document",key:"document",render:(fe,Ie)=>{const Je=Ie?.document||Ie?.file||"";if(!Je)return e.jsx("span",{style:{color:"#999",fontSize:12},children:"Not Uploaded"});const mt=yi(Je,Ie,t);return e.jsx("a",{style:{color:"#5080f8",cursor:"pointer"},onClick:()=>Le(mt,Je),children:"View"})}},{title:"Action",key:"action",render:(fe,Ie)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>ge(Ie),style:{padding:2}}),e.jsx(wt,{id:Ie?.id,funcName:Fe})]})}];return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Search Homework"})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:de,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{children:e.jsx(Z,{options:Q,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",placeholder:"Class",allowSelectAll:!1,value:Q.find(fe=>String(fe.value)===String(o))??null,onChange:fe=>U(fe,"class_id")})})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{children:e.jsx(Z,{options:le,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",placeholder:"Section",allowSelectAll:!1,value:le.find(fe=>String(fe.value)===String(c))??null,onChange:fe=>U(fe,"section_id")})})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{children:e.jsx(Z,{options:ue,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Subject",name:"subject_id",placeholder:"Subject",allowSelectAll:!1,value:ue.find(fe=>String(fe.value)===String(y))??null,onChange:fe=>U(fe,"subject_id")})})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{children:e.jsx(He,{Desplay:"Date",format:"YYYY-MM-DD",allowClear:!1,value:m,onChange:fe=>A(fe)})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsxs(w,{children:[e.jsx(ie,{type:"submit",value:"Search",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{s("api/branchapi/homeworks/gethomeworklistByClassSectionBranch?"),d(null),g(null),p(null),A(null)},style:gi,children:"Cancel"})]})})})})]})})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Homework List"})}),e.jsx(w,{p:3,children:e.jsx(ze,{parentCallback:xe,data:{newData:et,columns:qe,columnstype:"antd",action:!1,Loading:Ce,error:Ne,deleteTodoMutation:Fe,pageController:r}})})]})})]}),e.jsx(a.Drawer,{open:C,title:f?"Edit Homework":"Add Homework",placement:"right",width:600,destroyOnClose:!0,onClose:$e,children:e.jsx("form",{onSubmit:f?fe=>Be(fe,f.id):Re,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{options:Q,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",required:!0,allowSelectAll:!1,placeholder:"Select Class",value:Q.find(fe=>String(fe.value)===String(R))??null,onChange:_e})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{options:ce,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",required:!0,allowSelectAll:!1,placeholder:R?"Select Section":"Select Class First",value:ce.find(fe=>String(fe.value)===String(O))??null,onChange:ve,isDisabled:!R})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{options:De,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Subject",name:"sub_id",required:!0,allowSelectAll:!1,placeholder:R?"Select Subject":"Select Class First",value:De.find(fe=>String(fe.value)===String(D))??null,onChange:re,isDisabled:!R})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",defaultValue:f?.homew_date?se(f?.homew_date):se(),Desplay:"From",name:"homew_date"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",defaultValue:f?.submission_date?se(f?.submission_date):se(),Desplay:"Deadline",name:"submission_date"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{type:"text",label:"Title",name:"title",defaultValue:f?.title||"",required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(gt,{type:"text",label:"Description",name:"description",defaultValue:f?.description||"",rows:3,required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsxs(w,{children:[e.jsx(a.Upload,{action:`${at()}/uploadfile.php`,name:"file",data:{filepath:`uploads/school_${fo(t)}/student/homework`},headers:{Authorization:t},maxCount:1,onChange:fe=>{if(fe.file.status==="removed"&&W(""),fe.file.status==="done"){const Ie=fe.file.response?.data??fe.file.response?.file??"";W(String(Ie??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:N?"Change":"Upload"})}),N&&f&&e.jsx("a",{href:yi(N,f,t),target:"_blank",rel:"noreferrer",style:{display:"block",marginTop:8,fontSize:12,color:"#1677ff",textDecoration:"underline"},children:"View existing document"}),e.jsx("input",{type:"hidden",name:"file",value:N||"",readOnly:!0})]})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsxs(w,{children:[e.jsx(ie,{type:"submit",value:Y?"Saving...":"Save",color:"primary",disabled:Y}),e.jsx(a.Button,{type:"text",onClick:$e,style:gi,children:"Cancel"})]})})})})]})})}),e.jsx(a.Modal,{open:q,onCancel:je,footer:null,width:900,closable:!0,children:e.jsxs(w,{p:3,children:[e.jsx(w,{mb:2,children:e.jsx(be,{level:5,children:P||"View Document"})}),F?F.match(/\.pdf(\?|#|$)/i)?e.jsx("iframe",{src:F,title:P||"Document Preview",style:{width:"100%",height:"70vh",border:"none"}}):e.jsx("img",{src:F,alt:P||"Document Preview",style:{width:"100%",maxHeight:"70vh",objectFit:"contain"}}):e.jsx(be,{children:"No document found"})]})}),e.jsx(w,{style:{position:"fixed",bottom:24,right:24,zIndex:1e3},children:e.jsx(a.Button,{type:"primary",size:"large",onClick:()=>{x(null),k(null),_(null),u(null),S(null),$(null),W(""),b(!0)},style:{borderRadius:"50%",width:56,height:56,boxShadow:"0 4px 12px rgba(0,0,0,0.15)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:24},children:"+"})})]})}const Ps=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]};function Am({token:t}){const[n,s]=i.useState(!1),[r,l]=i.useState(null),[o,d]=i.useState(null),[c,g]=i.useState({page:1,rowsPerPage:10}),[y,p]=i.useState(!1),[m,A]=i.useState(""),[C,b]=i.useState(""),[f,x]=i.useState({label:"",value:""}),[R,k]=i.useState({label:"",value:""}),[O,_]=i.useState({label:"",value:""}),[D,u]=i.useState(!1),[h,S]=i.useState(!1),{data:E}=K(t?["api/branchapi/academy/classdropdownlist",t]:null,([X,J])=>G(X,J)),{data:$}=K(t&&n?[n,t]:null,([X,J])=>G(X,J)),{data:q}=K(t&&(r||!0)?[r||"api/branchapi/academy/subjecttableList",t]:null,([X,J])=>G(X,J)),T=i.useMemo(()=>Ps(E),[E]),F=i.useMemo(()=>Ps($),[$]),j=i.useMemo(()=>Ps(q),[q]),P=t&&o?`${o}page=${c.page}&per_page=${c.rowsPerPage}`:null,{isLoading:I,error:N,data:W,mutate:Y}=K(P?[P,t]:null,([X,J])=>G(X,J)),B=(X,J)=>{switch(J){case"class_id":x(X||{label:"",value:""}),k({label:"",value:""}),_({label:"",value:""}),l(`/api/branchapi/academy/getSubjectsbyClassaslablevalue?class_id=${X?.value??""}`),s(`/api/branchapi/academy/sectionoftheClass?class_id=${X?.value??""}`),u(H=>!H),S(H=>!H);break;case"section_id":k(X||{label:"",value:""});break;case"subject_id":_(X||{label:"",value:""});break}},U=async X=>{X.preventDefault();const J="/api/branchapi/homeworks/gethomeworklistByClassSectionBranch",H=new URLSearchParams;f.value&&H.append("class_id",String(f.value)),R.value&&H.append("section_id",String(R.value)),O.value&&H.append("subject_id",String(O.value));const Q=H.toString(),ce=Q?`${J}?${Q}&`:`${J}?`;g(De=>({...De,page:1})),d(ce),await Y()},M=(X,J)=>{g({page:X,rowsPerPage:parseInt(J,10)})},L=()=>{p(!1),A(""),b("")},z=(X,J)=>{A(X),b(J||"Document"),p(!0)},ne=[{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Subject",dataIndex:"subject",key:"subject"},{title:"Assign By",dataIndex:"staff_name",key:"staff_name"},{title:"Title",dataIndex:"title",key:"title"},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0},{title:"Submission",dataIndex:"total_submission",key:"total_submission"},{title:"View Document",key:"document",render:(X,J)=>e.jsx("a",{style:{color:"#5080f8",cursor:"pointer"},onClick:()=>z(J.document_url,J.document),children:"View"})}];return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Submission Details"})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:U,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{children:e.jsx(Z,{options:T,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",placeholder:"Class",allowSelectAll:!1,value:T.find(X=>String(X.value)===String(f.value))??null,onChange:X=>B(X,"class_id")})})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{children:e.jsx(Z,{options:F,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",placeholder:"Section",allowSelectAll:!1,value:F.find(X=>String(X.value)===String(R.value))??null,onChange:X=>k(X||{label:"",value:""})},`sections1${D}`)})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{children:e.jsx(Z,{options:j,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Subject",name:"subject_id",placeholder:"Subject",allowSelectAll:!1,value:j.find(X=>String(X.value)===String(O.value))??null,onChange:X=>_(X||{label:"",value:""})},`subjects1${h}`)})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{display:"flex",alignItems:"center",height:"100%",mt:2,children:e.jsx(ie,{type:"submit",value:"Search",color:"primary"})})})]})})})]})}),o&&e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Students List"})}),e.jsx(w,{p:3,children:e.jsx(ze,{parentCallback:M,data:{newData:W,columns:ne,columnstype:"antd",action:!1,Loading:I,error:N,pageController:c}})})]})})]}),e.jsx(a.Modal,{open:y,onClose:L,footer:null,width:900,children:e.jsxs(w,{p:3,children:[e.jsxs(w,{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2,children:[e.jsx(be,{level:5,children:C||"View Document"}),e.jsx(ie,{type:"button",value:"Close",color:"primary",onClick:L})]}),m?m.match(/\.pdf(\?|#|$)/i)?e.jsx("iframe",{src:m,title:C||"Document Preview",style:{width:"100%",height:"70vh",border:"none"}}):e.jsx("img",{src:m,alt:C||"Document Preview",style:{width:"100%",maxHeight:"70vh",objectFit:"contain"}}):e.jsx(be,{children:"No document found"})]})})]})}const Dm=(t,n)=>{const s=String(t??"").replace(/\/+$/,""),r=String(n).replace(/^\/+/,"");return`${s}/${r}`};function Tm({token:t,sampleFileUrl:n}){const s=t??localStorage.getItem("authToken")??"",[r,l]=i.useState(null),[o,d]=i.useState(null),[c,g]=i.useState(null),[y,p]=i.useState(null),[m,A]=i.useState(null),[C,b]=i.useState(null),[f,x]=i.useState(null),R="api/branchapi/library/bookCategorydropdown",k="api/branchapi/academy/classdropdownlist",O="api/branchapi/Academy/getClassSubjectdropdown",_="api/branchapi/library/addBook",D="api/branchapi/library/uploadcsv",{data:u}=K(s?[R,s]:null,([P,I])=>G(P,I)),{data:h}=K(s&&k?[k,s]:null,([P,I])=>G(P,I)),{data:S}=K(s&&O?[O,s]:null,([P,I])=>G(P,I)),E=i.useMemo(()=>Dm(At(),D),[D]),$=async P=>{P.preventDefault();const I=new FormData(P.target);I.set("cat_id",m?.value??""),I.set("class_id",C?.value??""),I.set("subject_id",f?.value??"");try{await Ge(_,I,s),v.success("Success! Added new item.",{duration:1e3,icon:"ð"}),P.target.reset(),A(null),b(null),x(null)}catch(N){v.error(N?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},q=async P=>{if(P.preventDefault(),!r){v.error("Please select a CSV file.",{duration:1e3});return}const I=new FormData;I.append("file",r),I.append("cat_id",o?.value??""),I.append("class_id",c?.value??""),I.append("subject_id",y?.value??"");try{const N=await Xe.post(E,I,{headers:{Authorization:s,"Content-type":"multipart/form-data"}});N?.data?.Status==="Failed"?v.error(String(N?.data?.msg??"Upload failed."),{duration:1e3}):(v.success(String(N?.data?.msg??"Uploaded."),{duration:1e3,icon:"ð"}),l(null),P.target.reset(),d(null),g(null),p(null))}catch(N){v.error(N?.response?.data?.msg??"Upload failed.",{duration:1e3})}},T=()=>["title,author,publisher,quantity,price,fine,subject_id,barcode,class_id",...["Advanced Chemistry,Rahul Mondal,RM PUBLISHER,10,210,20,1,,1","Advanced Chemistry,Rahul Mondal,RM PUBLISHER,10,210,20,1,123321,1"]].join(`
|
|
60
|
+
`),F=()=>{if(n)return n;const P=At();return P?`${P.replace(/\/+$/,"")}/books.csv`:"/books.csv"},j=()=>{const P=F();fetch(P).then(I=>{if(!I.ok)throw new Error("Sample file not found");const N=I.headers.get("content-type")||"";return!N.includes("csv")&&!N.includes("text/plain")&&!N.includes("application/octet-stream")?I.text().then(W=>{if(W.trim().startsWith("<")||W.includes("<!doctype")||W.includes("<html"))throw new Error("Sample file URL returned HTML. Host the CSV at a public URL and pass it via sampleFileUrl prop.");return new Blob([W],{type:"text/csv"})}):I.blob()}).then(I=>{const N=window.URL.createObjectURL(I),W=document.createElement("a");W.href=N,W.download="books.csv",W.click(),window.URL.revokeObjectURL(N)}).catch(()=>{const I=T(),N=new Blob([I],{type:"text/csv"}),W=window.URL.createObjectURL(N),Y=document.createElement("a");Y.href=W,Y.download="books.csv",Y.click(),window.URL.revokeObjectURL(W)})};return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Book in Bulk"}),extra:e.jsx(a.Button,{type:"link",icon:e.jsx(ee.DownloadOutlined,{}),onClick:j,children:"Download Sample"}),children:[e.jsx(a.Divider,{children:"Information"}),e.jsx(a.Typography.Paragraph,{style:{marginBottom:16},children:"1. Your CSV data should be in the format below. The first line of your CSV file should be the column headers as in the table example. Also make sure that your file is UTF-8 to avoid unnecessary encoding problems."}),e.jsx("form",{onSubmit:q,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Z,{options:u,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Category",allowSelectAll:!1,name:"cat_id",required:!0,value:o,onChange:P=>d(P??null)}),e.jsx(Z,{options:h,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",allowSelectAll:!1,value:c,onChange:P=>g(P??null)}),e.jsx(Z,{options:S,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Subjects",name:"subject_id",allowSelectAll:!1,value:y,onChange:P=>p(P??null)}),e.jsx(V,{type:"file",label:"Upload CSV/Excel",name:"csv",accept:".csv,.xlsx,.xls",onChange:P=>l(P.target.files?.[0]??null),required:!0}),e.jsx(ie,{type:"submit",value:"Save",color:"primary"})]})})]}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Book"}),children:e.jsx("form",{onSubmit:$,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"text",label:"Book Name",name:"title",required:!0}),e.jsx(V,{type:"text",label:"Author",name:"author",required:!0}),e.jsx(V,{type:"text",label:"Publication",name:"publisher"}),e.jsx(V,{type:"number",label:"Qty",name:"quantity",required:!0}),e.jsx(V,{type:"number",label:"Book Price",name:"price",required:!0}),e.jsx(V,{type:"number",label:"Fine Per Day",name:"fine",required:!0}),e.jsx(V,{type:"text",label:"Barcode",name:"barcode"}),e.jsx(Z,{options:u,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Category",allowSelectAll:!1,name:"cat_id",required:!0,value:m,onChange:P=>A(P??null)}),e.jsx(Z,{options:h,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",allowSelectAll:!1,value:C,onChange:P=>b(P??null)}),e.jsx(Z,{options:S,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Subjects",name:"subject_id",allowSelectAll:!1,value:f,onChange:P=>x(P??null)}),e.jsx(ie,{type:"submit",value:"Save",color:"primary"})]})})})]})}const Os={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},Ms=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:[]};function Rm({token:t}){const n=t??localStorage.getItem("authToken")??"",[s,r]=i.useState([]),[l,o]=i.useState([]),d=i.useRef(),c={selectedRowKeys:s,onChange:(H,Q)=>{r(H),o(Q)}},g=ia.useReactToPrint({contentRef:d,documentTitle:"Book Barcodes"}),y=()=>{if(!(typeof window>"u")){if(!l.length){v.error("Select at least one book to print.",{duration:1e3});return}if(!d.current){v.error("Nothing to print.",{duration:1e3});return}g?.()}},[p,m]=i.useState(!1),[A,C]=i.useState(null),[b,f]=i.useState(null),[x,R]=i.useState(null),[k,O]=i.useState(null),[_,D]=i.useState({page:1,rowsPerPage:10}),u=(H,Q)=>{D({page:H,rowsPerPage:parseInt(Q,10)})},h="api/branchapi/library/booktable",S="api/branchapi/library/deletebooks",E="api/branchapi/library/editbook",$=`${h}?page=${_.page}&per_page=${_.rowsPerPage}`,{isLoading:q,error:T,data:F,mutate:j}=K(n?[$,n]:null,([H,Q])=>G(H,Q)),P="api/branchapi/library/bookCategorydropdown",I="api/branchapi/academy/classdropdownlist",N="api/branchapi/Academy/getClassSubjectdropdown",{data:W}=K(n?[P,n]:null,([H,Q])=>G(H,Q)),{data:Y}=K(n&&I?[I,n]:null,([H,Q])=>G(H,Q)),{data:B}=K(n&&N?[N,n]:null,([H,Q])=>G(H,Q)),U=i.useMemo(()=>Ms(W),[W]),M=i.useMemo(()=>Ms(Y),[Y]),L=i.useMemo(()=>Ms(B),[B]),z=async H=>{try{await Ze(S,H,n),await j(),v.success("Success! Deleted item.",{duration:1e3})}catch(Q){v.error(Q?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},ne=H=>{C(H??null);const Q=H?.cat_id??H?.fk_cat_id??H?.category_id,ce=H?.class_id??H?.fk_class_id,De=H?.subject_id??H?.fk_subject_id;f(U.find(le=>le?.value===Q)??null),R(M.find(le=>le?.value===ce)??null),O(L.find(le=>le?.value===De)??null),m(!0)},X=async H=>{H.preventDefault();const Q=A?.id??A?.book_id??A?._id;if(!Q)return;const ce=new FormData(H.target);ce.set("id",String(Q)),ce.set("cat_id",b?.value??""),ce.set("class_id",x?.value??""),ce.set("subject_id",k?.value??"");try{await tt(E,ce,n),await j(),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),m(!1),C(null)}catch(De){v.error(De?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},J=i.useMemo(()=>[{title:"Name",dataIndex:"book_title",key:"book_title",width:220,ellipsis:!0,fixed:"left"},{title:"Barcode",dataIndex:"barcode",key:"barcode",width:140,responsive:["sm"]},{title:"Publisher",dataIndex:"publish",key:"publish",width:160,responsive:["lg"]},{title:"Author",dataIndex:"author",key:"author",width:160,responsive:["lg"]},{title:"Class",dataIndex:"class_name",key:"class_name",width:140,responsive:["xl"]},{title:"Subject",dataIndex:"subject_name",key:"subject_name",width:160,responsive:["xl"]},{title:"Avl Qty",dataIndex:"available_qty",key:"available_qty",width:90},{title:"Book Price",dataIndex:"perunitcost",key:"perunitcost",width:120,responsive:["xl"]},{title:"Fine Amount",dataIndex:"fine_amount",key:"fine_amount",width:120,responsive:["xl"]},{title:"Category",dataIndex:"cat_name",key:"cat_name",width:160,responsive:["xl"]},{title:"Action",key:"action",width:140,fixed:"right",render:(H,Q)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>ne(Q),style:{padding:2}}),e.jsx(a.Button,{type:"text",size:"small",danger:!0,onClick:()=>z(Q?.id??Q?.book_id??Q?._id),style:{padding:"2px 6px"},children:"Delete"})]})}],[U,M,z,L]);return e.jsxs("div",{style:{},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Drawer,{open:p,title:"Edit Book",placement:"right",width:520,destroyOnClose:!0,onClose:()=>{m(!1),C(null)},children:e.jsx("form",{onSubmit:X,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(V,{label:"Book Name",name:"title",defaultValue:A?.book_title??"",required:!0}),e.jsx(V,{label:"Author",name:"author",defaultValue:A?.author??"",required:!0}),e.jsx(V,{label:"Publication",name:"publish",defaultValue:A?.publish??""}),e.jsx(V,{label:"Qty",name:"quantity",type:"number",defaultValue:A?.quantity??""}),e.jsx(V,{label:"Book Price",name:"perunitcost",type:"number",defaultValue:A?.perunitcost??""}),e.jsx(V,{label:"Fine Amount",name:"fine_amount",type:"number",defaultValue:A?.fine_amount??""}),e.jsx(V,{label:"Barcode",name:"barcode",defaultValue:A?.barcode??""}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",style:Os,children:"Category"}),e.jsx(Z,{options:U,value:b,onChange:H=>f(H??null),name:"cat_id"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",style:Os,children:"Class"}),e.jsx(Z,{options:M,value:x,onChange:H=>R(H??null),name:"class_id"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",style:Os,children:"Subject"}),e.jsx(Z,{options:L,value:k,onChange:H=>O(H??null),name:"subject_id"})]}),e.jsxs("div",{style:{display:"flex",gap:12},children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{m(!1),C(null)},children:"Cancel"})]})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Book List"}),extra:l.length>0?e.jsxs(a.Button,{type:"primary",onClick:y,children:["Print Barcode (",l.length,")"]}):null,children:e.jsx(ze,{parentCallback:u,data:{newData:F,columns:J,columnstype:"antd",action:!1,Loading:q,error:T,rowSelection:c}})}),e.jsx("div",{style:{position:"fixed",left:-1e4,top:0,width:0,height:0,overflow:"hidden"},children:e.jsx("div",{ref:d,style:{padding:"20px"},children:e.jsx("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"flex-start"},children:l.map((H,Q)=>e.jsxs("div",{style:{margin:"10px",textAlign:"center",border:"1px dashed black",padding:"10px",borderRadius:"5px",width:"fit-content"},children:[e.jsx("div",{style:{fontSize:"12px",fontWeight:"bold",maxWidth:"200px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:H.book_title}),e.jsx(Dl,{value:H.barcode?String(H.barcode):String(H.id),format:"CODE128",width:1.5,height:50,fontSize:12,displayValue:!0})]},Q))})})})]})}const Im=(t,n)=>{const s=String(t??"").replace(/\/+$/,""),r=String(n).replace(/^\/+/,"");return`${s}/${r}`},zt=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:[]},An=t=>se(t).add(1,"month").format("YYYY-MM-DD"),km=i.forwardRef(({token:t,onReturn:n},s)=>{const r=t??localStorage.getItem("authToken")??"",[l,o]=i.useState("issue"),d=l==="return",[c,g]=i.useState(!1),[y,p]=i.useState(!1),[m,A]=i.useState(null),[C,b]=i.useState([]),[f,x]=i.useState([]),[R,k]=i.useState([]),[O,_]=i.useState(0),[D,u]=i.useState(!1),[h,S]=i.useState(null),[E,$]=i.useState(null),[q,T]=i.useState(null),[F,j]=i.useState(!1),[P,I]=i.useState("Cash"),[N,W]=i.useState(""),[Y,B]=i.useState(""),[U,M]=i.useState(0),[L,z]=i.useState("NO_FINE"),ne=i.useRef(null),[X]=a.Form.useForm(),[J]=a.Form.useForm(),H="api/branchapi/library/bookCategorydropdown",Q="api/branchapi/academy/classdropdownlist",ce="api/branchapi/Academy/getClassSubjectdropdown",{data:De}=K(r?[H,r]:null,([he,Te])=>G(he,Te)),{data:le}=K(r&&Q?[Q,r]:null,([he,Te])=>G(he,Te)),{data:ue}=K(r&&ce?[ce,r]:null,([he,Te])=>G(he,Te)),oe=i.useMemo(()=>zt(De),[De]),Ce=i.useMemo(()=>zt(le),[le]),Ne=i.useMemo(()=>zt(ue),[ue]),et="api/branchapi/library/studentsearchByNameID",we="api/branchapi/library/booksearchBybookname",Ae="api/branchapi/library/issuedBookList",Fe="api/branchapi/library/issueLibrarybook",me="api/branchapi/library/returnedLibrarybook",{trigger:de,data:Re}=pt(et,(he,Te)=>na(he,Te,r)),{trigger:Be,data:$e}=pt(we,(he,Te)=>na(he,Te,r)),{trigger:ge,data:_e}=pt(Ae,(he,Te)=>na(he,Te,r)),{trigger:ve}=pt(d?me:Fe,(he,Te)=>os(he,Te,r)),re=i.useMemo(()=>zt(Re),[Re]),xe=i.useMemo(()=>zt($e),[$e]),je=i.useMemo(()=>zt(_e),[_e]),Le=he=>{const Te=An(se());b(Ke=>Ke.some(ot=>String(ot?.id)===String(he?.id))?Ke:[...Ke,{...he,return_date:he?.return_date?he.return_date:Te}])},qe=async()=>{console.log("Reloading IssueReturn..."),v.success("Success",{duration:1e3}),x([]),k([]),_(0),z("FINE_PAY_LATER"),await ge({id:m?.student_id})};i.useImperativeHandle(s,()=>({reloadPayLater:qe}));const fe=he=>{b(Te=>Te.filter(Ke=>String(Ke?.id)!==String(he)))},Ie=async he=>{if(r){if(!he){A(null);return}c||await de({id:he})}},Je=async({search:he})=>{if(!r||!c)return;const Te=await de({id:he}),Ke=zt(Te);Ke.length===1&&(A(Ke[0]),await ge({id:Ke[0]?.student_id}),X.resetFields())},mt=async(he,Te)=>{A(Te??null),b([]),x([]),k([]),_(0),z("NO_FINE"),M(0),Te?.student_id&&await ge({id:Te.student_id}),X.resetFields()},Et=async he=>{r&&he&&(y||await Be({book:he}))},Tt=async({search_book:he})=>{if(!r||!y)return;const Te=await Be({book:he,catID:h?.value??"",sID:q?.value??"",cID:E?.value??""}),Ke=zt(Te);Ke.length&&(Le(Ke[0]),J.resetFields())},ye=(he,Te)=>{Le(Te),J.resetFields()},ke=async()=>{if(!m?.member_id){v.error("Select a student first.",{duration:1e3});return}if(!C.length){v.error("Select at least one book.",{duration:1e3});return}const he=await ve({member_id:m.member_id,fine:!1,books:C});he?.Status==="Success"&&(v.success(String(he?.msg??"Success"),{duration:1e3}),b([]),A(null),x([]),k([]),_(0))},ae=async()=>{if(!m?.member_id){v.error("Select a student first.",{duration:1e3});return}if(!R.length){v.error("Select at least one book to return.",{duration:1e3});return}if(Number(O)>0){z("FINE_PAID"),j(!0);return}const he=await ve({member_id:m.member_id,collection_type:"NO_FINE",amount:0,books:JSON.stringify(R)});he?.Status==="Success"?(v.success(String(he?.msg??"Success"),{duration:1e3}),x([]),k([]),_(0),await ge({id:m?.student_id})):v.error(String(he?.msg??"Failed"),{duration:1e3})},pe=async()=>{if(!m?.member_id)return;const he=Math.max(0,Number(O)-Number(U||0)),Te={member_id:m.member_id,collection_type:L,amount:L==="FINE_PAID"?he:0,payment_type:P,notes:N,attchement:Y,discount:U||0,books:JSON.stringify(R)},Ke=await ve(Te);j(!1),Ke?.Status==="Success"?(v.success(String(Ke?.msg??"Success"),{duration:1e3}),x([]),k([]),_(0),M(0),W(""),B(""),z("NO_FINE"),await ge({id:m?.student_id})):v.error(String(Ke?.msg??"Failed"),{duration:1e3})},Pe=async()=>{if(!m?.member_id){v.error("Select a student first.",{duration:1e3});return}if(!R.length){v.error("Select at least one book to return.",{duration:1e3});return}const he={member_id:m.member_id,collection_type:"FINE_PAY_LATER",amount:0,books:JSON.stringify(R)};n(he)},Ee=i.useMemo(()=>Im(At(),"api/branchapi/frontoffice/uploadfrontofficeDocument"),[]),it=[{title:"Book",dataIndex:"book_title",key:"book_title",width:220,ellipsis:!0,fixed:"left"},{title:"Author",dataIndex:"author",key:"author",width:180,responsive:["lg"]},{title:"Return Date",key:"return_date",width:160,render:(he,Te)=>e.jsx(He,{defaultValue:se(Te?.return_date||se().add(30,"day")),Desplay:"",format:"YYYY-MM-DD",allowClear:!1,onChange:(Ke,ot)=>{b(xt=>xt.map(_t=>String(_t?.id)===String(Te?.id)?{..._t,return_date:ot}:_t))}})},{title:"Action",key:"action",width:120,fixed:"right",render:(he,Te)=>e.jsx(a.Button,{type:"text",danger:!0,onClick:()=>fe(Te?.id),children:"Remove"})}],lt={selectedRowKeys:f,onChange:(he,Te)=>{x(he),k(Te);const Ke=(Te??[]).reduce((ot,xt)=>ot+Number(xt?.totalfine??0),0);_(Ke)},onSelect:(he,Te,Ke)=>{if(Te){const ot=Ke.map(xt=>({...xt,return_date:xt?.return_date?xt.return_date:An(xt?.issue_date||se())}));k(ot)}},onSelectAll:(he,Te)=>{if(he){const Ke=Te.map(ot=>({...ot,return_date:ot?.return_date?ot.return_date:An(ot?.issue_date||se())}));k(Ke)}}},ft=[{title:"Book",dataIndex:"book_title",key:"book_title",width:220,ellipsis:!0,fixed:"left"},{title:"Barcode",dataIndex:"barcode",key:"barcode",width:140,responsive:["sm"]},{title:"Issue Date",dataIndex:"issue_date",key:"issue_date",width:140,responsive:["lg"]},{title:"Return Date",key:"return_date",width:160,render:(he,Te)=>{const ot=R.find(_t=>String(_t?.id)===String(Te?.id))?.return_date||Te?.return_date,xt=An(Te?.issue_date||se());return e.jsx(He,{defaultValue:se(ot||xt),Desplay:"",format:"YYYY-MM-DD",allowClear:!1,onChange:(_t,ys)=>{k(gs=>gs.map(Pa=>String(Pa?.id)===String(Te?.id)?{...Pa,return_date:ys}:Pa))}})}},{title:"Days",key:"days",width:100,render:(he,Te)=>{const ot=R.find(_t=>String(_t?.id)===String(Te?.id))?.return_date||Te?.return_date,xt=Te?.issue_date;if(xt&&ot){const _t=se(ot).diff(se(xt),"day");return _t>=0?_t:0}return"-"}},{title:"Due Date",dataIndex:"due_date",key:"due_date",width:140,responsive:["lg"]},{title:"Fine",dataIndex:"totalfine",key:"totalfine",width:120,fixed:"right",render:he=>e.jsxs("span",{children:["âđ ",he]})}];return e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Modal,{open:F,onCancel:()=>j(!1),footer:null,title:"Payment Options",destroyOnClose:!0,children:e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsx(a.Radio.Group,{value:P,onChange:he=>I(he.target.value),options:[{label:"Cash",value:"Cash"},{label:"UPI",value:"UPI"},{label:"DD",value:"DD"},{label:"Bank",value:"Bank"},{label:"Internet Banking",value:"Internet Banking"},{label:"Cheque",value:"Cheque"}]}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",children:"Note"}),e.jsx(a.Input.TextArea,{rows:3,value:N,onChange:he=>W(he.target.value)})]}),e.jsxs("div",{style:{display:"grid",gap:8},children:[e.jsx("label",{className:"labelfont",children:"Image Attachment"}),e.jsx(a.Upload,{action:Ee,headers:{Authorization:r},maxCount:1,onChange:he=>{if(he.file.status==="done"){const Te=he.file.response?.data??he.file.response?.file??"";B(String(Te??""))}},children:e.jsx(a.Button,{icon:e.jsx(ee.UploadOutlined,{}),children:"Upload"})})]}),e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",children:"Discount"}),e.jsx(a.Input,{type:"number",value:U,onChange:he=>M(he.target.value),placeholder:"0"})]}),e.jsxs(a.Button,{type:"primary",onClick:pe,children:["Collect âđ",Math.max(0,Number(O)-Number(U||0))]}),e.jsx(a.Button,{onClick:()=>j(!1),children:"Cancel"})]})}),e.jsxs(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Issue / Return"}),children:[e.jsxs(a.Row,{gutter:[16,16],align:"middle",children:[e.jsx(a.Col,{xs:24,md:10,children:e.jsx(a.Radio.Group,{value:l,onChange:he=>{const Te=he.target.value;o(Te),b([]),x([]),k([]),_(0),z("NO_FINE"),M(0)},options:[{label:"Issue",value:"issue"},{label:"Return",value:"return"},{label:"Renewal",value:"Renewal"}],optionType:"button",buttonStyle:"solid"})}),e.jsx(a.Col,{xs:24,md:14,children:e.jsx(a.Form,{form:X,onFinish:Je,layout:"vertical",children:e.jsx(a.Form.Item,{name:"search",label:"Search Student",children:e.jsx(a.Space.Compact,{style:{width:"100%"},children:c?e.jsx(a.Input,{autoFocus:!0,addonBefore:e.jsxs(a.Space,{children:[e.jsx(ee.BarcodeOutlined,{}),e.jsx(a.Checkbox,{checked:c,onChange:he=>g(he.target.checked)})]}),placeholder:"Scan barcode",allowClear:!0}):e.jsx(a.AutoComplete,{options:re,onSelect:mt,onSearch:Ie,style:{width:"100%"},allowClear:!0,children:e.jsx(a.Input,{addonBefore:e.jsxs(a.Space,{children:[e.jsx(ee.BarcodeOutlined,{}),e.jsx(a.Checkbox,{checked:c,onChange:he=>g(he.target.checked)})]}),placeholder:"Type student name / id",allowClear:!0})})})})})})]}),m?e.jsxs(e.Fragment,{children:[e.jsx(a.Divider,{}),e.jsxs(a.Row,{gutter:[12,12],children:[e.jsxs(a.Col,{xs:24,md:8,children:[e.jsx(a.Typography.Text,{strong:!0,children:"Name:"})," ",m?.value??""]}),e.jsxs(a.Col,{xs:24,md:8,children:[e.jsx(a.Typography.Text,{strong:!0,children:"Card No:"})," ",m?.library_card_no??""]}),e.jsxs(a.Col,{xs:24,md:8,children:[e.jsx(a.Typography.Text,{strong:!0,children:"Member ID:"})," ",m?.member_id??""]})]})]}):null,e.jsx(a.Divider,{}),d?e.jsxs(e.Fragment,{children:[e.jsx("div",{style:{width:"100%",overflowX:"auto"},children:e.jsx("div",{style:{minWidth:760},children:e.jsx(a.Table,{dataSource:je,columns:ft,rowSelection:lt,pagination:!1,rowKey:he=>he?.id??he?.issue_id??he?.barcode??Math.random(),scroll:{x:"max-content"},size:"small"})})}),e.jsx(a.Divider,{}),e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",gap:12,flexWrap:"wrap"},children:[e.jsxs(a.Typography.Text,{strong:!0,children:["Total Fine: âđ",O]}),e.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[e.jsx(a.Button,{type:"primary",onClick:ae,disabled:!R.length,children:O>0?`Pay Now âđ ${Math.max(0,Number(O)-Number(U||0))}`:"Return Selected"}),O>0?e.jsx(a.Button,{onClick:Pe,disabled:!R.length,children:"Pay Later"}):null]})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs(a.Row,{gutter:[16,16],align:"middle",children:[e.jsx(a.Col,{xs:24,md:18,children:e.jsx(a.Form,{form:J,onFinish:Tt,layout:"vertical",children:e.jsx(a.Form.Item,{name:"search_book",label:"Search Book",children:e.jsx(a.Space.Compact,{style:{width:"100%"},children:y?e.jsx(a.Input,{autoFocus:!0,disabled:!m,addonBefore:e.jsxs(a.Space,{children:[e.jsx(ee.BarcodeOutlined,{}),e.jsx(a.Checkbox,{checked:y,onChange:he=>p(he.target.checked)})]}),placeholder:"Scan barcode",allowClear:!0}):e.jsx(a.AutoComplete,{disabled:!m,options:xe,onSelect:ye,onSearch:Et,style:{width:"100%"},allowClear:!0,children:e.jsx(a.Input,{addonBefore:e.jsxs(a.Space,{children:[e.jsx(ee.BarcodeOutlined,{}),e.jsx(a.Checkbox,{checked:y,onChange:he=>p(he.target.checked)})]}),placeholder:"Type book name",allowClear:!0})})})})})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(a.Button,{style:{width:"100%"},icon:e.jsx(ee.FilterOutlined,{}),onClick:()=>u(!0),children:"Filter"})})]}),e.jsx(a.Drawer,{open:D,onClose:()=>u(!1),title:"Filter",placement:"right",width:380,destroyOnClose:!0,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(Z,{label:"Category",options:oe,value:h,onChange:he=>S(he??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"cat_id"}),e.jsx(Z,{label:"Class",options:Ce,value:E,onChange:he=>$(he??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"class_id"}),e.jsx(Z,{label:"Subjects",options:Ne,value:q,onChange:he=>T(he??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"subject_id"}),e.jsx(a.Button,{type:"primary",onClick:()=>u(!1),children:"Apply"})]})}),e.jsx(a.Divider,{}),e.jsx("div",{style:{width:"100%",overflowX:"auto"},children:e.jsx("div",{style:{minWidth:720},children:e.jsx(a.Table,{dataSource:C,columns:it,pagination:!1,rowKey:he=>he?.id??he?.book_id??he?.barcode??Math.random(),scroll:{x:"max-content"},size:"small"})})}),e.jsx(a.Divider,{}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"button",value:"Issue",onClick:ke})})]})]}),e.jsx("div",{ref:ne,style:{position:"fixed",left:-1e4,top:0,width:0,height:0,overflow:"hidden"}})]})}),xi=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:[]};function Pm({token:t}){const n=t??localStorage.getItem("authToken")??"",[s,r]=i.useState({page:1,rowsPerPage:10}),[l,o]=i.useState(null),[d,c]=i.useState(null),[g,y]=i.useState(!1),[p,m]=i.useState(!1),[A,C]=i.useState(null),[b,f]=i.useState(!1),x="api/branchapi/academy/classdropdownlist",R="api/branchapi/academy/sectionoftheClass",k="api/branchapi/library/studenttableForLibrary",O="api/branchapi/library/addmembershipforStudent",_="api/branchapi/library/removemembershipforStudent",D=i.useMemo(()=>{if(!l?.value)return null;const B=R.includes("?")?"&":"?";return`${R}${B}class_id=${encodeURIComponent(String(l.value))}`},[R,l?.value]),u=i.useMemo(()=>{if(!l?.value||!d?.value)return null;const B=k.includes("?")?"&":"?";return`${k}${B}cID=${encodeURIComponent(String(l.value))}&sID=${encodeURIComponent(String(d.value))}&page=${s.page}&per_page=${s.rowsPerPage}`},[s.page,s.rowsPerPage,l?.value,d?.value,k]),{data:h}=K(n&&x?[x,n]:null,([B,U])=>G(B,U)),{data:S}=K(n&&D?[D,n]:null,([B,U])=>G(B,U)),{isLoading:E,error:$,data:q,mutate:T}=K(n&&u?[u,n]:null,([B,U])=>G(B,U)),F=i.useMemo(()=>xi(h),[h]),j=i.useMemo(()=>xi(S),[S]),P=(B,U)=>{r({page:B,rowsPerPage:parseInt(U,10)})},I=B=>{const U=B?.id??B?.student_id??B?.member_id;C(U??null),m(!0),f(M=>!M)},N=async B=>{if(B.preventDefault(),!A)return;const U=new FormData(B.target);U.set("id",String(A));try{await Ge(O,U,n),v.success("Success! Added member.",{duration:1e3,icon:"ð"}),m(!1),C(null),await T()}catch(M){v.error(M?.response?.data?.msg??"Failed to add the member.",{duration:1e3})}},W=async B=>{try{await Ze(_,B,n),v.success("Success! Removed member.",{duration:1e3}),await T()}catch(U){v.error(U?.response?.data?.msg??"Failed to remove member.",{duration:1e3})}},Y=i.useMemo(()=>[{title:"Library Card No",dataIndex:"library_card_no",key:"library_card_no",width:180,ellipsis:!0,fixed:"left"},{title:"Admission No",dataIndex:"admission_no",key:"admission_no",width:140,responsive:["sm"]},{title:"Roll No",dataIndex:"roll_no",key:"roll_no",width:90,responsive:["lg"]},{title:"First Name",dataIndex:"firstname",key:"firstname",width:140,responsive:["sm"]},{title:"Last Name",dataIndex:"lastname",key:"lastname",width:140,responsive:["lg"]},{title:"Class",dataIndex:"class",key:"class",width:120,responsive:["xl"]},{title:"Section",dataIndex:"section",key:"section",width:120,responsive:["xl"]},{title:"Mobile",dataIndex:"mobileno",key:"mobileno",width:140,responsive:["lg"]},{title:"Action",key:"action",width:80,fixed:"right",render:(B,U)=>(console.log("data______________",U),e.jsx("div",{style:{display:"flex",gap:8,alignItems:"center"},children:U?.library_card_no==null?e.jsx(a.Button,{type:"primary",size:"small",icon:e.jsx(ee.UserAddOutlined,{}),onClick:()=>I(U)}):e.jsx(a.Button,{danger:!0,type:"text",size:"small",icon:e.jsx(ee.DeleteOutlined,{}),onClick:()=>W(U?.id??U?.student_id??U?.member_id)})}))}],[W]);return e.jsxs("div",{style:{},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Modal,{open:p,title:"Add Member",onCancel:()=>{m(!1),C(null)},footer:null,destroyOnClose:!0,children:e.jsx("form",{onSubmit:N,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(V,{type:"text",label:"Library Card Number",name:"library_num",required:!0}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Add",color:"primary"})})]})},`add-${b}`)}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Student"}),children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16,alignItems:"end"},children:[e.jsx(Z,{options:F,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",value:l,onChange:B=>{o(B??null),c(null),y(U=>!U)},name:"class_id",required:!0,allowSelectAll:!1}),e.jsx(Z,{options:j,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",value:d,onChange:B=>c(B??null),allowSelectAll:!1,name:"section_id",required:!0},`section-${g}`),e.jsx(ie,{type:"submit",value:"Search",color:"primary",onClick:()=>{if(!l?.value||!d?.value){v.error("Select class and section.",{duration:1e3});return}r(B=>({...B,page:1}))}})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Students"}),children:e.jsx(ze,{parentCallback:P,data:{newData:q,columns:Y,columnstype:"antd",action:!1,Loading:E,error:$}})})]})}function Om({token:t}){const n=t??localStorage.getItem("authToken")??"",[s,r]=i.useState({page:1,rowsPerPage:10}),[l]=a.Form.useForm(),[o]=a.Form.useForm(),[d,c]=i.useState(!1),[g,y]=i.useState(null),p="api/branchapi/library/BookCategorytable",m="api/branchapi/library/addBookCategory",A="api/branchapi/library/editBookCategory",C="api/branchapi/library/deleteBookCategory",b=i.useMemo(()=>{const $=p.includes("?")?"&":"?";return`${p}${$}page=${s.page}&per_page=${s.rowsPerPage}`},[p,s.page,s.rowsPerPage]),{isLoading:f,error:x,data:R,mutate:k}=K(n&&b?[b,n]:null,([$,q])=>G($,q)),O=($,q)=>{r({page:$,rowsPerPage:parseInt(q,10)})},_=async $=>{const q=new FormData;q.set("title",$?.title??"");try{await Ge(m,q,n),v.success("Success! Added new category.",{duration:1e3,icon:"ð"}),l.resetFields(),await k()}catch(T){v.error(T?.response?.data?.msg??T?.message??"Failed to add category.",{duration:1e3})}},D=$=>{y($??null),o.setFieldsValue({title:$?.name??""}),c(!0)},u=()=>{c(!1),y(null),o.resetFields()},h=async $=>{const q=g?.id??g?.category_id??g?.cat_id;if(!q){v.error("Missing category id.",{duration:1e3});return}const T=new FormData;T.set("id",String(q)),T.set("title",$?.title??"");try{await tt(A,T,n),v.success("Success! Updated category.",{duration:1e3,icon:"ð"}),u(),await k()}catch(F){v.error(F?.response?.data?.msg??F?.message??"Failed to update category.",{duration:1e3})}},S=async $=>{const q=$?.id??$?.category_id??$?.cat_id;if(!q){v.error("Missing category id.",{duration:1e3});return}try{await Ze(C,q,n),v.success("Success! Deleted category.",{duration:1e3}),await k()}catch(T){v.error(T?.response?.data?.msg??T?.message??"Failed to delete category.",{duration:1e3})}},E=i.useMemo(()=>[{title:"Category Name",dataIndex:"name",key:"name",ellipsis:!0},{title:"Action",key:"action",width:110,fixed:"right",render:($,q)=>e.jsxs(a.Space,{size:6,children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>D(q)}),e.jsx(a.Popconfirm,{title:"Remove category?",okText:"Yes",cancelText:"No",onConfirm:()=>S(q),children:e.jsx(a.Button,{danger:!0,type:"text",size:"small",icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[S]);return e.jsxs("div",{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Modal,{open:d,title:"Edit Category",onCancel:u,footer:null,destroyOnClose:!0,children:e.jsxs(a.Form,{form:o,layout:"vertical",onFinish:h,children:[e.jsx(a.Form.Item,{label:"Name",name:"title",rules:[{required:!0,message:"Enter category name"}],children:e.jsx(a.Input,{placeholder:"Enter category name"})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[e.jsx(a.Button,{onClick:u,children:"Cancel"}),e.jsx(ie,{type:"submit",value:"Update",color:"primary"})]})]})}),e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,lg:8,children:e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Category"}),children:e.jsxs(a.Form,{form:l,layout:"vertical",onFinish:_,children:[e.jsx(a.Form.Item,{label:"Name",name:"title",rules:[{required:!0,message:"Enter category name"}],children:e.jsx(a.Input,{placeholder:"Enter category name"})}),e.jsx(ie,{type:"submit",value:"Add",color:"primary"})]})})}),e.jsx(a.Col,{xs:24,lg:16,children:e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Category List"}),children:e.jsx(ze,{parentCallback:O,data:{newData:R,columns:E,columnstype:"antd",action:!1,Loading:f,error:x}})})})]})]})}const Es=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:[]};function Mm({token:t}){const[n,s]=i.useState([se().format("YYYY-MM-DD"),se().format("YYYY-MM-DD")]),[r,l]=i.useState(null),[o,d]=i.useState(null),[c,g]=i.useState(null),[y,p]=i.useState(!1),[m,A]=i.useState(!1),C="api/branchapi/academy/classdropdownlist",b="api/branchapi/academy/sectionoftheClass",f="api/branchapi/library/memberDropdown",x="api/report/libraryReport/libraryReport",R=i.useMemo(()=>{if(!r?.value)return null;const I=b.includes("?")?"&":"?";return`${b}${I}class_id=${encodeURIComponent(String(r.value))}`},[b,r?.value]),k=i.useMemo(()=>{if(!r?.value)return null;const I=f.includes("?")?"&":"?",N=`${f}${I}class=${encodeURIComponent(String(r.value))}`;return o?.value?`${N}§ion=${encodeURIComponent(String(o.value))}`:N},[f,r?.value,o?.value]),{isLoading:O,error:_,data:D,mutate:u}=K(t&&C?[C,t]:null,([I,N])=>G(I,N)),{data:h}=K(t&&R?[R,t]:null,([I,N])=>G(I,N)),{data:S}=K(t&&k?[k,t]:null,([I,N])=>G(I,N)),E=i.useMemo(()=>Es(D),[D]),$=i.useMemo(()=>Es(h),[h]),q=i.useMemo(()=>Es(S),[S]),{trigger:T,data:F}=pt(x,(I,N)=>lr(I,N,t));i.useEffect(()=>{(async()=>{A(!0);try{await T({duration:n})}finally{A(!1)}})()},[]);const j=async()=>{A(!0);try{await T({duration:n,class:r?.value??"",section:o?.value??"",student_id:c?.value??""})}finally{A(!1)}},P=[{title:"Name",dataIndex:"full_name",render:(I,N)=>e.jsx(a.Typography.Text,{style:{fontSize:12},children:N?.full_name??""})},{title:"Roll No",dataIndex:"roll_no",render:(I,N)=>e.jsx(a.Typography.Text,{style:{fontSize:12},children:N?.roll_no??""})},{title:"Class",dataIndex:"Class",key:"Class",render:(I,N)=>e.jsxs(a.Typography.Text,{style:{fontSize:12},children:[N?.class??"","(",N?.section??"",")"]})},{title:"Book",dataIndex:"book_title",render:(I,N)=>e.jsx(a.Typography.Text,{style:{fontSize:12},children:N?.book_title??""})},{title:"Issue Date",key:"date",render:(I,N,W)=>e.jsx(a.Typography.Text,{style:{fontSize:12},children:N?.issue_date??""})},{title:"Due Return Date",key:"date",render:(I,N,W)=>e.jsx(a.Tag,{color:"orange",children:N?.return_date??""})},{title:"Return Date",key:"date",render:(I,N,W)=>N?.retured_by_user?e.jsx(a.Tag,{color:"green",children:N?.retured_by_user??""}):null},{title:"Return Status",key:"date",render:(I,N,W)=>String(N?.is_returned??"")==="1"?e.jsx(a.Tag,{color:"green",children:"Return"}):e.jsx(a.Tag,{color:"red",children:"Not Return"})},{title:"Fine",key:"amount",dataIndex:"late_fine",render:(I,N,W)=>{const Y=N?.late_fine?Number(N.late_fine):0;return Y?e.jsx(a.Typography.Text,{style:{fontSize:12,color:"#cf1322"},children:Y}):null}}];return e.jsxs("div",{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Library Monthly Report"}),style:{borderRadius:16},children:[e.jsxs(a.Row,{gutter:[16,16],align:"bottom",children:[e.jsx(a.Col,{xs:24,md:8,children:e.jsxs("div",{children:[e.jsx("label",{className:"labelfont",children:"Duration"}),e.jsx(a.DatePicker.RangePicker,{style:{width:"100%"},value:[se(n[0],"YYYY-MM-DD"),se(n[1],"YYYY-MM-DD")],format:"YYYY-MM-DD",onChange:(I,N)=>{Array.isArray(N)&&N.length===2&&s([N[0],N[1]])}})]})}),e.jsx(a.Col,{xs:24,md:5,children:e.jsx(Z,{options:E,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Classes",name:"class_id",value:r,onChange:I=>{l(I??null),d(null),g(null),p(N=>!N)},allowSelectAll:!1})}),e.jsx(a.Col,{xs:24,md:5,children:e.jsx(Z,{options:$,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",value:o,onChange:I=>{d(I??null),g(null)},allowSelectAll:!1},`section1${y}`)}),e.jsx(a.Col,{xs:24,md:5,children:e.jsx(Z,{options:q,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Student",name:"student",value:c,onChange:I=>g(I??null),allowSelectAll:!1})}),e.jsx(a.Col,{xs:24,md:1,children:e.jsx(a.Button,{type:"primary",icon:e.jsx(ee.SearchOutlined,{}),onClick:j,style:{width:"100%"},children:"Search"})})]}),e.jsx("div",{style:{marginTop:16},children:e.jsx(a.Table,{columns:P,pagination:!1,dataSource:Array.isArray(F?.data)?F.data:[],size:"small",rowKey:(I,N)=>I?.id??I?.issue_id??I?.fees_receipt_id??N,loading:m,scroll:{x:"max-content"},summary:I=>{const N=I.reduce((Y,B)=>Y+Number(B?.late_fine??0),0),W=I.reduce((Y,B)=>Y+Number(B?.is_returned??0),0);return e.jsxs(a.Table.Summary.Row,{children:[e.jsx(a.Table.Summary.Cell,{colSpan:4,children:e.jsxs("span",{style:{fontWeight:700},children:["Total Book: ",I.length]})}),e.jsx(a.Table.Summary.Cell,{colSpan:2,children:e.jsxs("span",{style:{fontWeight:700},children:["Not Return: ",Number(I.length-W)]})}),e.jsx(a.Table.Summary.Cell,{colSpan:2,children:e.jsxs("span",{style:{fontWeight:700},children:["Return: ",W]})}),e.jsx(a.Table.Summary.Cell,{colSpan:1,children:e.jsxs("span",{style:{fontWeight:700},children:["Total Fine:",N.toLocaleString("en-IN")]})})]})}})})]})]})}const bi=[{label:"Today",value:"Today"},{label:"Yesterday",value:"Yesterday"},{label:"This Week",value:"This Week"},{label:"This Month",value:"This Month"},{label:"Last Month",value:"Last Month"},{label:"This Year",value:"This Year"},{label:"Custom",value:"Custom"}],ji=[{key:"renewalHistory",label:"Renewal History"},{key:"renewalFineReport",label:"Renewal + Fine"},{key:"currentlyRenewedBooks",label:"Currently Renewed"},{key:"upcomingRenewalDue",label:"Upcoming Due"},{key:"overdueRenewalReport",label:"Overdue"},{key:"renewalLimitReport",label:"Renewal Limit"},{key:"renewalStatusReport",label:"Renewal Status"},{key:"studentWiseReport",label:"Student-wise"},{key:"bookWiseReport",label:"Book-wise"},{key:"classWiseReport",label:"Class-wise"},{key:"staffWiseReport",label:"Staff-wise"},{key:"renewalStatisticsByDate",label:"Statistics by Date"}];function Em({token:t}){const n=t??localStorage.getItem("authToken")??"",[s,r]=i.useState("renewalHistory"),[l,o]=i.useState("This Month"),[d,c]=i.useState(""),[g,y]=i.useState(""),[p,m]=i.useState(7),[A,C]=i.useState(1),[b,f]=i.useState(20),[x,R]=i.useState(""),[k,O]=i.useState("DESC"),_=i.useRef(null),D=N=>{const W=new URLSearchParams;return["renewalHistory","renewalFineReport","studentWiseReport","bookWiseReport","classWiseReport","staffWiseReport","renewalStatisticsByDate"].includes(s)&&(W.set("date_range",l),l==="Custom"&&d&&g&&(W.set("from_date",d),W.set("to_date",g))),["renewalHistory","renewalFineReport","currentlyRenewedBooks","upcomingRenewalDue","overdueRenewalReport","renewalLimitReport","renewalStatusReport","studentWiseReport","bookWiseReport","classWiseReport","staffWiseReport"].includes(s)&&(W.set("page",String(A)),W.set("per_page",String(b))),s==="upcomingRenewalDue"&&W.set("days_ahead",String(p)),x&&W.set("sort_by",x),k&&W.set("sort_dir",k),`${N}?${W.toString()}`},u=i.useMemo(()=>{switch(s){case"renewalHistory":return D(Ec);case"renewalFineReport":return D(Fc);case"currentlyRenewedBooks":return D($c);case"upcomingRenewalDue":return D(Uc);case"overdueRenewalReport":return D(Bc);case"renewalLimitReport":return D(Nc);case"renewalStatusReport":return D(Lc);case"studentWiseReport":return D(qc);case"bookWiseReport":return D(zc);case"classWiseReport":return D(Yc);case"staffWiseReport":return D(Wc);case"renewalStatisticsByDate":return D(Vc);default:return null}},[s,l,d,g,p,A,b]),{data:h,isLoading:S}=K(n?[u,n]:null,([N,W])=>G(N,W)),E=h?.data||{},$=E?.rows||[],q=E?.pagination||{},T=N=>{r(N),C(1),f(20)},F=()=>{C(1)},j=()=>{switch(s){case"renewalHistory":case"renewalFineReport":return[{title:"Renewal ID",dataIndex:"renewal_id",key:"renewal_id"},{title:"Student",dataIndex:"student_name",key:"student_name"},{title:"Admission No",dataIndex:"admission_no",key:"admission_no"},{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Book",dataIndex:"book_title",key:"book_title"},{title:"Author",dataIndex:"author",key:"author"},{title:"Barcode",dataIndex:"barcode",key:"barcode"},{title:"Renewal No",dataIndex:"renewal_no",key:"renewal_no"},{title:"Old Due Date",dataIndex:"old_due_date",key:"old_due_date"},{title:"New Due Date",dataIndex:"new_due_date",key:"new_due_date"},{title:"Renewal Date",dataIndex:"renewal_date",key:"renewal_date"},{title:"Status",dataIndex:"status",key:"status",render:N=>e.jsx(a.Tag,{color:N==="renewed"?"green":"red",children:N})},{title:"Fine Amount",dataIndex:"fine_amount",key:"fine_amount",render:N=>N??"-"},{title:"Paid Amount",dataIndex:"paid_amount",key:"paid_amount",render:N=>N??"-"},{title:"Due Amount",dataIndex:"due_amount",key:"due_amount",render:N=>N??"-"},{title:"Fine Status",dataIndex:"fine_payment_status",key:"fine_payment_status",render:N=>N?e.jsx(a.Tag,{color:N==="paid"?"green":N==="partial"?"orange":"red",children:N}):"-"}];case"currentlyRenewedBooks":case"upcomingRenewalDue":case"overdueRenewalReport":case"renewalLimitReport":case"renewalStatusReport":return[{title:"Student",dataIndex:"student_name",key:"student_name"},{title:"Admission No",dataIndex:"admission_no",key:"admission_no"},{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Book",dataIndex:"book_title",key:"book_title"},{title:"Author",dataIndex:"author",key:"author"},{title:"Barcode",dataIndex:"barcode",key:"barcode"},{title:"Due Date",dataIndex:"return_date",key:"return_date"},{title:"Renewal Count",dataIndex:"renewal_count",key:"renewal_count"},{title:"Max Renewal",dataIndex:"maximum_renewal",key:"maximum_renewal"},{title:"Days Remaining",dataIndex:"days_remaining",key:"days_remaining",render:N=>N??"-"},{title:"Overdue Days",dataIndex:"overdue_days",key:"overdue_days",render:N=>N??"-"},{title:"Fine",dataIndex:"fine_amount",key:"fine_amount",render:N=>N??"-"},{title:"Due",dataIndex:"due_amount",key:"due_amount",render:N=>N??"-"},{title:"Can Renew",dataIndex:"can_renew",key:"can_renew",render:N=>e.jsx(a.Tag,{color:N?"green":"red",children:N?"Yes":"No"})},{title:"Reasons",dataIndex:"reasons",key:"reasons",render:N=>Array.isArray(N)?N.join("; "):"-"}];case"studentWiseReport":return[{title:"Student ID",dataIndex:"student_id",key:"student_id"},{title:"Student Name",dataIndex:"student_name",key:"student_name"},{title:"Admission No",dataIndex:"admission_no",key:"admission_no"},{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Total Renewals",dataIndex:"total_renewals",key:"total_renewals"},{title:"Unique Books",dataIndex:"unique_books_renewed",key:"unique_books_renewed"},{title:"First Renewal",dataIndex:"first_renewal_date",key:"first_renewal_date"},{title:"Last Renewal",dataIndex:"last_renewal_date",key:"last_renewal_date"}];case"bookWiseReport":return[{title:"Book ID",dataIndex:"book_id",key:"book_id"},{title:"Title",dataIndex:"book_title",key:"book_title"},{title:"Author",dataIndex:"author",key:"author"},{title:"Barcode",dataIndex:"barcode",key:"barcode"},{title:"Category",dataIndex:"category",key:"category"},{title:"Total Renewals",dataIndex:"total_renewals",key:"total_renewals"},{title:"Unique Students",dataIndex:"unique_students",key:"unique_students"}];case"classWiseReport":return[{title:"Class",dataIndex:"class",key:"class"},{title:"Section",dataIndex:"section",key:"section"},{title:"Total Renewals",dataIndex:"total_renewals",key:"total_renewals"},{title:"Unique Students",dataIndex:"unique_students",key:"unique_students"}];case"staffWiseReport":return[{title:"Staff",dataIndex:"renewed_by",key:"renewed_by"},{title:"Staff Name",dataIndex:"staff_name",key:"staff_name"},{title:"Total Renewals",dataIndex:"total_renewals",key:"total_renewals"},{title:"Unique Students",dataIndex:"unique_students",key:"unique_students"},{title:"Unique Books",dataIndex:"unique_books",key:"unique_books"}];case"renewalStatisticsByDate":return[{title:"Period",dataIndex:"period",key:"period"},{title:"Total Renewals",dataIndex:"total_renewals",key:"total_renewals"},{title:"Unique Students",dataIndex:"unique_students",key:"unique_students"},{title:"Unique Books",dataIndex:"unique_books",key:"unique_books"}];default:return[]}},P=["renewalHistory","renewalFineReport","studentWiseReport","bookWiseReport","classWiseReport","staffWiseReport","renewalStatisticsByDate"].includes(s),I=i.useMemo(()=>j(),[s]);return e.jsx(w,{pt:5,pb:1,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,padding:"4px 8px",color:"#fff",display:"inline-block"}}),e.jsxs(w,{p:3,children:[e.jsxs(a.Row,{gutter:[16,16],mb:3,children:[P&&e.jsxs(e.Fragment,{children:[e.jsx(a.Col,{xs:24,md:6,children:e.jsx(Z,{options:bi,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Date Range",allowSelectAll:!1,value:bi.find(N=>N.value===l)||null,onChange:N=>o(N?.value||"This Month")})}),l==="Custom"&&e.jsxs(e.Fragment,{children:[e.jsx(a.Col,{xs:24,md:6,children:e.jsx(He,{Desplay:"From Date",format:"YYYY-MM-DD",onChange:N=>c(N?N.format("YYYY-MM-DD"):"")})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(He,{Desplay:"To Date",format:"YYYY-MM-DD",onChange:N=>y(N?N.format("YYYY-MM-DD"):"")})})]})]}),s==="upcomingRenewalDue"&&e.jsx(a.Col,{xs:24,md:6,children:e.jsx(Z,{options:[{label:"7 Days",value:7},{label:"14 Days",value:14},{label:"30 Days",value:30}],closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Days Ahead",allowSelectAll:!1,value:{label:p+" Days",value:p},onChange:N=>m(N?.value||7)})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{display:"flex",alignItems:"center",height:"100%",mt:2,children:e.jsx(ie,{type:"button",value:"Search",color:"primary",onClick:F})})})]}),e.jsx(a.Tabs,{activeKey:s,onChange:T,items:ji})]})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:ji.find(N=>N.key===s)?.label||"Report"})}),e.jsxs(w,{p:3,children:[e.jsx(kt,{data:{tableRef:_}}),S?e.jsx(w,{py:8,textAlign:"center",children:e.jsx(a.Typography.Text,{type:"secondary",children:"Loading report data..."})}):e.jsx(a.Table,{size:"small",dataSource:$,columns:I,loading:S,pagination:!1,bordered:!0,rowKey:N=>N.renewal_id||N.id||JSON.stringify(N),ref:_}),$.length>0&&e.jsx(a.Pagination,{current:A,pageSize:b,total:q.total_rows||$.length,onChange:(N,W)=>{C(N),f(W)},showSizeChanger:!0,showQuickJumper:!0,pageSizeOptions:[10,20,50,100],style:{marginTop:16,textAlign:"right"}})]})]})})]})})}const ds=t=>t??localStorage.getItem("authToken")??"",Fm=(t,n)=>{const s=String(t??""),r=String(n);return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},rt={upload:"api/branchapi/frontoffice/uploadfrontofficeDocument",academy:{classes:"api/branchapi/academy/classdropdownlist",sections:"api/branchapi/academy/sectionoftheClass"},student:{dropdown:"api/branchapi/student/studentDropdown"},vendor:{list:"api/accounts/vendor/vendorTable",add:"api/accounts/vendor/addvendor",edit:"api/accounts/vendor/editVendor",remove:"api/accounts/vendor/removecategory",dropdown:"api/accounts/vendor/vendorlist"},category:{list:"api/accounts/category/fetchcategorytable",add:"api/accounts/category/addcategory",edit:"api/accounts/category/editcategory",remove:"api/accounts/category/removecategory",dropdown:"api/accounts/category/categoryDropdown"},subCategory:{list:"api/accounts/category/fetchsubcategorytable",add:"api/accounts/category/addsubcategory",edit:"api/accounts/category/editsubcategory",remove:"api/accounts/category/removesubcategory",dropdown:"api/accounts/category/subcategoryDropdown"},unit:{list:"api/accounts/category/fetchunit",add:"api/accounts/category/addunit",edit:"api/accounts/category/editunit",remove:"api/accounts/category/removeunit",dropdown:"api/accounts/category/unitDropdown"},product:{list:"api/accounts/product/fetchproducttable",add:"api/accounts/product/addproduct",edit:"api/accounts/product/editproduct",remove:"api/accounts/product/removeproduct",dropdown:"api/accounts/product/productdropdown",search:"api/accounts/product/searchproductbyNameandBarcode",addStock:"api/accounts/product/addStock",sellProduct:"api/accounts/product/sellproduct",sellReports:"api/accounts/product/getstoreSellReports"},report:{stock:"api/report/StoreReport/stock_report"}},$m=()=>Fm(At(),rt.upload),Um=async({baseUrl:t,page:n=1,perPage:s=10},r)=>{const l=t.includes("?")?"&":"?",o=`${t}${l}page=${encodeURIComponent(String(n))}&per_page=${encodeURIComponent(String(s))}`;return G(o,ds(r))},mn=async(t,n,s)=>Ge(t,n,ds(s)),Ia=async(t,n,s)=>tt(t,n,ds(s)),hn=async(t,n,s)=>Ze(t,n,ds(s)),Bm=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"",Aa=({token:t,value:n,onChange:s})=>{const r=i.useMemo(()=>{if(t)return{Authorization:t}},[t]);return e.jsx(a.Upload,{maxCount:1,action:$m(),headers:r,onChange:l=>{if(l?.file?.status==="done"){const o=Bm(l?.file?.response);o&&s?.(o)}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:"Upload"})})},Nn=rt.vendor,fn=({baseUrl:t,page:n=1,perPage:s=10,token:r})=>K(r&&t?[t,n,s,r]:null,([o,d,c,g])=>Um({baseUrl:o,page:d,perPage:c},g)),Nm=({token:t,page:n=1,perPage:s=10})=>fn({baseUrl:Nn.list,page:n,perPage:s,token:t}),Lm={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},Si=[{name:"name",label:"Name*",required:!0,type:"text"},{name:"email",label:"Email*",required:!0,type:"text"},{name:"address",label:"Address*",required:!0,type:"text"},{name:"phone",label:"Phone*",required:!0,type:"number"},{name:"business_name",label:"Brand Name*",required:!0,type:"text"},{name:"acc_number",label:"Account Number",required:!1,type:"text"},{name:"ifsc_code",label:"IFSC Code",required:!1,type:"text"},{name:"acc_holder_name",label:"Account Holder Name",required:!1,type:"text"},{name:"gst_number",label:"GST Number",required:!1,type:"text"},{name:"cin_num",label:"CIN Number",required:!1,type:"text"},{name:"upi_id",label:"UPI ID",required:!1,type:"text"}];function qm({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(null),[c,g]=i.useState(""),{isLoading:y,error:p,data:m,mutate:A}=Nm({token:t,page:n.page,perPage:n.rowsPerPage}),C=async _=>{try{await A(mn(Nn.add,_,t),st(_)),v.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch(D){v.error(D?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},b=_=>{_.preventDefault();const D=new FormData(_.target);c&&D.set("image",c),C(D),_.target.reset(),g("")},f=(_,D)=>{s({page:_,rowsPerPage:parseInt(D,10)})},x=async _=>{try{await A(hn(Nn.remove,_,t),nt(_)),v.success("Success! Deleted item.",{duration:1e3})}catch(D){v.error(D?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},R=_=>{d(_),l(!0),g("")},k=async _=>{_.preventDefault();const D=new FormData(_.target);D.set("id",String(o?.id??"")),c&&D.set("image",c);try{await Ia(Nn.edit,D,t),await A(),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),l(!1),d(null),g("")}catch(u){v.error(u?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},O=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name",ellipsis:!0},{title:"Email",dataIndex:"email",key:"email",ellipsis:!0,responsive:["md"]},{title:"Address",dataIndex:"address",key:"address",ellipsis:!0,responsive:["lg"]},{title:"Phone",dataIndex:"phone",key:"phone",ellipsis:!0,responsive:["md"]},{title:"Branch Name",dataIndex:"business_name",key:"business_name",ellipsis:!0,responsive:["lg"]},{title:"Account Holder",dataIndex:"acc_holder_name",key:"acc_holder_name",ellipsis:!0,responsive:["xl"]},{title:"Account Number",dataIndex:"acc_number",key:"acc_number",ellipsis:!0,responsive:["xl"]},{title:"UPI ID",dataIndex:"upi_id",key:"upi_id",ellipsis:!0,responsive:["xl"]},{title:"Action",key:"action",width:100,fixed:"right",render:(_,D)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>R(D),style:{padding:2}}),e.jsx(wt,{id:D?.id,funcName:x})]})}],[x]);return e.jsxs("div",{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Drawer,{open:r,title:o?.name?`Edit ${o.name}`:"Edit Vendor",placement:"right",width:520,onClose:()=>{l(!1),d(null),g("")},children:e.jsx("form",{onSubmit:k,children:e.jsxs("div",{style:{display:"grid",gap:14},children:[Si.map(_=>e.jsx(V,{type:_.type,name:_.name,label:_.label,defaultValue:o?.[_.name]??"",required:_.required?"required":void 0},_.name)),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:"Image"}),e.jsx(Aa,{token:t,value:c,onChange:g})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{l(!1),d(null),g("")},style:Lm,children:"Cancel"})]})]})})}),e.jsxs(w,{pt:5,pb:1,children:[e.jsxs("div",{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Add Vendor"})}),e.jsx(w,{px:3,pb:2,children:e.jsx("form",{onSubmit:b,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(240px, 1fr))",gap:16,alignItems:"end"},children:[Si.map(_=>e.jsx(V,{type:_.type,name:_.name,label:_.label,required:_.required?"required":void 0},_.name)),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:"Image"}),e.jsx(Aa,{token:t,value:c,onChange:g})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Add Vendor",color:"primary"})})]})})})]}),e.jsxs("div",{style:{marginTop:24},children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Vendors List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:f,data:{newData:m,columns:O,columnstype:"antd",action:!1,Loading:y,error:p}})})]})]})]})}const zm=({token:t})=>e.jsx(qm,{token:t}),Ln=rt.product,vi=rt.vendor.dropdown,wi=rt.category.dropdown,Ym=rt.subCategory.dropdown,_i=rt.unit.dropdown,yo=({token:t,page:n=1,perPage:s=10})=>fn({baseUrl:Ln.list,page:n,perPage:s,token:t}),Wm=({token:t})=>K(t&&vi?[vi,t]:null,([s,r])=>G(s,r)),Vm=({token:t})=>K(t&&wi?[wi,t]:null,([s,r])=>G(s,r)),Hm=({token:t})=>K(t&&_i?[_i,t]:null,([s,r])=>G(s,r)),Km=({token:t,categoryId:n})=>{const s=t&&n?`${Ym}?category_id=${encodeURIComponent(String(n))}`:null;return K(s?[s,t]:null,([l,o])=>G(l,o))},Dn=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:[]},Gm={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"};function Jm({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(null),[c,g]=i.useState(""),[y,p]=i.useState(""),[m,A]=i.useState(""),[C,b]=i.useState(""),[f,x]=i.useState(""),{isLoading:R,error:k,data:O,mutate:_}=yo({token:t,page:n.page,perPage:n.rowsPerPage}),{data:D}=Wm({token:t}),{data:u}=Vm({token:t}),{data:h}=Hm({token:t}),{data:S}=Km({token:t,categoryId:y}),E=i.useMemo(()=>Dn(D),[D]),$=i.useMemo(()=>Dn(u),[u]),q=i.useMemo(()=>Dn(h),[h]),T=i.useMemo(()=>Dn(S),[S]),F=async B=>{try{await _(mn(Ln.add,B,t),st(B)),v.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch(U){v.error(U?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},j=B=>{B.preventDefault();const U=new FormData(B.target);y&&U.set("fk_categoryID",String(y)),m&&U.set("fk_sub_categoryID",String(m)),C&&U.set("vendor_id",String(C)),f&&U.set("unit",String(f)),c&&U.set("image",c),F(U),B.target.reset(),g(""),p(""),A(""),b(""),x("")},P=(B,U)=>{s({page:B,rowsPerPage:parseInt(U,10)})},I=async B=>{try{await _(hn(Ln.remove,B,t),nt(B)),v.success("Success! Deleted item.",{duration:1e3})}catch(U){v.error(U?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},N=B=>{d(B),l(!0),g(""),p(B?.fk_categoryID??B?.category_id??""),A(B?.fk_sub_categoryID??B?.sub_category_id??""),b(B?.vendor_id??""),x(B?.unit??B?.unit_id??"")},W=async B=>{B.preventDefault();const U=new FormData(B.target);U.set("id",String(o?.id??"")),y&&U.set("fk_categoryID",String(y)),m&&U.set("fk_sub_categoryID",String(m)),C&&U.set("vendor_id",String(C)),f&&U.set("unit",String(f)),c&&U.set("image",c);try{await Ia(Ln.edit,U,t),await _(),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),l(!1),d(null),g("")}catch(M){v.error(M?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},Y=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name",ellipsis:!0,fixed:"left",width:180},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0,responsive:["lg"]},{title:"Category",dataIndex:"storecategory",key:"storecategory",ellipsis:!0,responsive:["md"]},{title:"Quantity",dataIndex:"quantity",key:"quantity",ellipsis:!0,width:100,responsive:["md"]},{title:"Unit",dataIndex:"unit_name",key:"unit_name",ellipsis:!0,width:120,responsive:["md"]},{title:"Price",dataIndex:"price",key:"price",ellipsis:!0,width:100,responsive:["md"]},{title:"Barcode",dataIndex:"barcode",key:"barcode",ellipsis:!0,responsive:["xl"]},{title:"Hsn Code",dataIndex:"hsn_code",key:"hsn_code",ellipsis:!0,responsive:["xl"]},{title:"Action",key:"action",width:100,fixed:"right",render:(B,U)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>N(U),style:{padding:2}}),e.jsx(wt,{id:U?.id,funcName:I})]})}],[I]);return e.jsxs("div",{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Drawer,{open:r,title:o?.name?`Edit ${o.name}`:"Edit Product",placement:"right",width:520,onClose:()=>{l(!1),d(null),g("")},children:e.jsx("form",{onSubmit:W,children:e.jsxs("div",{style:{display:"grid",gap:14},children:[e.jsx(V,{type:"text",name:"name",label:"Product Name*",defaultValue:o?.name??"",required:"required"}),e.jsx(Z,{options:$,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Category*",name:"fk_categoryID",allowSelectAll:!1,required:!0,onChange:B=>{const U=B?.value??"";p(U),A("")},defaultValue:y?$.find(B=>String(B?.value)===String(y)):null}),e.jsx(Z,{options:T,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"SubCategory",name:"fk_sub_categoryID",allowSelectAll:!1,onChange:B=>A(B?.value??""),defaultValue:m?T.find(B=>String(B?.value)===String(m)):null}),e.jsx(V,{type:"text",name:"barcode",label:"Barcode",defaultValue:o?.barcode??""}),e.jsx(Z,{options:q,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Unit*",name:"unit",allowSelectAll:!1,required:!0,onChange:B=>x(B?.value??""),defaultValue:f?q.find(B=>String(B?.value)===String(f)):null}),e.jsx(V,{type:"number",name:"quantity",label:"Quantity*",defaultValue:o?.quantity??"",required:"required"}),e.jsx(V,{type:"number",name:"price",label:"Price*",defaultValue:o?.price??"",required:"required"}),e.jsx(Z,{options:E,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Vendor*",name:"vendor_id",allowSelectAll:!1,required:!0,onChange:B=>b(B?.value??""),defaultValue:C?E.find(B=>String(B?.value)===String(C)):null}),e.jsx(V,{type:"number",name:"hsn_code",label:"Hsn Code",defaultValue:o?.hsn_code??""}),e.jsx(gt,{type:"text",label:"Description",name:"description",rows:3,defaultValue:o?.description??""}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:"Image"}),e.jsx(Aa,{token:t,value:c,onChange:g})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{l(!1),d(null),g("")},style:Gm,children:"Cancel"})]})]})})}),e.jsxs(w,{pt:5,pb:1,children:[e.jsxs("div",{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Add Product"})}),e.jsx(w,{px:3,pb:2,children:e.jsx("form",{onSubmit:j,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(240px, 1fr))",gap:16,alignItems:"end"},children:[e.jsx(V,{type:"text",name:"name",label:"Product Name*",required:"required"}),e.jsx(Z,{options:$,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Category*",name:"fk_categoryID",allowSelectAll:!1,required:!0,onChange:B=>{const U=B?.value??"";p(U),A("")}}),e.jsx(Z,{options:T,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"SubCategory",name:"fk_sub_categoryID",allowSelectAll:!1,onChange:B=>A(B?.value??"")},`subcat_${y}`),e.jsx(V,{type:"text",name:"barcode",label:"Barcode"}),e.jsx(Z,{options:q,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Unit*",name:"unit",allowSelectAll:!1,required:!0,onChange:B=>x(B?.value??"")}),e.jsx(V,{type:"number",name:"quantity",label:"Quantity*",required:"required"}),e.jsx(V,{type:"number",name:"price",label:"Price*",required:"required"}),e.jsx(Z,{options:E,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Vendor*",name:"vendor_id",allowSelectAll:!1,required:!0,onChange:B=>b(B?.value??"")}),e.jsx(V,{type:"number",name:"hsn_code",label:"Hsn Code"}),e.jsx(gt,{type:"text",label:"Description",name:"description",rows:3}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:"Image"}),e.jsx(Aa,{token:t,value:c,onChange:g})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Add Product",color:"primary"})})]})})})]}),e.jsxs("div",{style:{marginTop:24},children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Products List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:P,data:{newData:O,columns:Y,columnstype:"antd",action:!1,Loading:R,error:k}})})]})]})]})}const Qm=({token:t})=>e.jsx(Jm,{token:t}),qn=rt.category,Xm=({token:t,page:n=1,perPage:s=10})=>fn({baseUrl:qn.list,page:n,perPage:s,token:t}),Zm={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"};function eh({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(null),{isLoading:c,error:g,data:y,mutate:p}=Xm({token:t,page:n.page,perPage:n.rowsPerPage}),m=async k=>{try{await p(mn(qn.add,k,t),st(k)),v.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch(O){v.error(O?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},A=k=>{k.preventDefault();const O=new FormData(k.target);m(O),k.target.reset()},C=(k,O)=>{s({page:k,rowsPerPage:parseInt(O,10)})},b=async k=>{try{await p(hn(qn.remove,k,t),nt(k)),v.success("Success! Deleted item.",{duration:1e3})}catch(O){v.error(O?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},f=k=>{d(k),l(!0)},x=async k=>{k.preventDefault();const O=new FormData(k.target);O.set("id",String(o?.id??""));try{await Ia(qn.edit,O,t),await p(),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),l(!1),d(null)}catch(_){v.error(_?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},R=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name",ellipsis:!0,sorter:{compare:(k,O)=>String(k?.name??"").localeCompare(String(O?.name??""))}},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0,sorter:{compare:(k,O)=>String(k?.description??"").localeCompare(String(O?.description??""))}},{title:"Action",key:"action",width:100,fixed:"right",render:(k,O)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>f(O),style:{padding:2}}),e.jsx(wt,{id:O?.id,funcName:b})]})}],[b]);return e.jsxs("div",{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Drawer,{open:r,title:o?.name?`Edit ${o.name}`:"Edit Category",placement:"right",width:420,onClose:()=>{l(!1),d(null)},children:e.jsx("form",{onSubmit:x,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{type:"text",name:"name",label:"Name",defaultValue:o?.name??"",required:"required"}),e.jsx(V,{type:"text",name:"description",label:"Description",defaultValue:o?.description??""}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{l(!1),d(null)},style:Zm,children:"Cancel"})]})]})})}),e.jsxs(w,{pt:5,pb:1,children:[e.jsxs("div",{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Add Category"})}),e.jsx(w,{px:3,pb:2,children:e.jsx("form",{onSubmit:A,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"text",name:"name",label:"Name*",required:"required"}),e.jsx(V,{type:"text",name:"description",label:"Description"}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})]})})})]}),e.jsxs("div",{style:{marginTop:24},children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Category List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:C,data:{newData:y,columns:R,columnstype:"antd",action:!1,Loading:c,error:g}})})]})]})]})}const th=({token:t})=>e.jsx(eh,{token:t}),zn=rt.subCategory,Ci=rt.category.dropdown,ah=({token:t,page:n=1,perPage:s=10})=>fn({baseUrl:zn.list,page:n,perPage:s,token:t}),nh=({token:t})=>K(t&&Ci?[Ci,t]:null,([s,r])=>G(s,r)),sh=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:[]},rh={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"};function ih({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(null),[c,g]=i.useState(""),{isLoading:y,error:p,data:m,mutate:A}=ah({token:t,page:n.page,perPage:n.rowsPerPage}),{data:C}=nh({token:t}),b=i.useMemo(()=>sh(C),[C]),f=async u=>{try{await A(mn(zn.add,u,t),st(u)),v.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch(h){v.error(h?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},x=u=>{u.preventDefault();const h=new FormData(u.target);h.set("status","active"),h.set("img",c||""),f(h),u.target.reset(),g("")},R=(u,h)=>{s({page:u,rowsPerPage:parseInt(h,10)})},k=async u=>{try{await A(hn(zn.remove,u,t),nt(u)),v.success("Success! Deleted item.",{duration:1e3})}catch(h){v.error(h?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},O=u=>{d(u),l(!0)},_=async u=>{u.preventDefault();const h=new FormData(u.target);h.set("id",String(o?.id??"")),c&&h.set("img",c);try{await Ia(zn.edit,h,t),await A(),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),l(!1),d(null),g("")}catch(S){v.error(S?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},D=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name",ellipsis:!0,sorter:{compare:(u,h)=>String(u?.name??"").localeCompare(String(h?.name??""))}},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0,sorter:{compare:(u,h)=>String(u?.description??"").localeCompare(String(h?.description??""))}},{title:"Action",key:"action",width:100,fixed:"right",render:(u,h)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>O(h),style:{padding:2}}),e.jsx(wt,{id:h?.id,funcName:k})]})}],[k]);return e.jsxs("div",{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Drawer,{open:r,title:o?.name?`Edit ${o.name}`:"Edit Sub Category",placement:"right",width:420,onClose:()=>{l(!1),d(null),g("")},children:e.jsx("form",{onSubmit:_,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(Z,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Category",name:"category_id",defaultValue:o?.category_id?b.find(u=>String(u?.value)===String(o.category_id)):null,allowSelectAll:!1,required:!0}),e.jsx(V,{type:"text",name:"name",label:"Name*",defaultValue:o?.name??"",required:"required"}),e.jsx(V,{type:"text",name:"description",label:"Description",defaultValue:o?.description??""}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:"Image"}),e.jsx(Aa,{token:t,value:c,onChange:g})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{l(!1),d(null),g("")},style:rh,children:"Cancel"})]})]})})}),e.jsxs(w,{pt:5,pb:1,children:[e.jsxs("div",{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Add Sub Category"})}),e.jsx(w,{px:3,pb:2,children:e.jsx("form",{onSubmit:x,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Z,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Category",name:"category_id",allowSelectAll:!1,required:!0}),e.jsx(V,{type:"text",name:"name",label:"Name*",required:"required"}),e.jsx(V,{type:"text",name:"description",label:"Description"}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx("div",{style:{fontSize:12,color:"#222"},children:"Image"}),e.jsx(Aa,{token:t,value:c,onChange:g})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})]})})})]}),e.jsxs("div",{style:{marginTop:24},children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Sub Category List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:R,data:{newData:m,columns:D,columnstype:"antd",action:!1,Loading:y,error:p}})})]})]})]})}const lh=({token:t})=>e.jsx(ih,{token:t}),Fs=rt.product,oh=rt.academy.classes,dh=rt.academy.sections,ch=rt.student.dropdown;function Na(t){const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]}function Tn(t,n){const s=Math.trunc(Number(t)||1),r=Math.max(1,s);return!Number.isFinite(Number(n))||Number(n)<=0?r:Math.min(r,Math.trunc(Number(n)))}function bt(t){return String(t??"")}function uh({token:t}){const[n,s]=i.useState(""),[r,l]=i.useState(""),[o,d]=i.useState(""),[c,g]=i.useState(!1),[y,p]=i.useState(""),[m,A]=i.useState([]),[C,b]=i.useState({}),[f,x]=i.useState({}),[R,k]=i.useState(!1),[O,_]=i.useState(""),[D,u]=i.useState(0),[h,S]=i.useState(""),[E,$]=i.useState(se()),[q,T]=i.useState([]),F={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"},j=!!(n&&r&&o),{data:P}=K(t?[oh,t]:null,([ge,_e])=>G(ge,_e)),I=i.useMemo(()=>Na(P),[P]),N=t&&n?`${dh}?class_id=${encodeURIComponent(String(n))}`:null,{data:W}=K(N?[N,t]:null,([ge,_e])=>G(ge,_e)),Y=i.useMemo(()=>Na(W),[W]),B=t&&n&&r?`${ch}?class=${encodeURIComponent(String(n))}§ion=${encodeURIComponent(String(r))}`:null,{data:U}=K(B?[B,t]:null,([ge,_e])=>G(ge,_e)),M=i.useMemo(()=>Na(U),[U]),L=j?`${Fs.list}?page=1&per_page=10000`:null,{data:z,isLoading:ne}=K(t&&L?[L,t]:null,([ge,_e])=>G(ge,_e),{revalidateOnFocus:!1}),X=i.useMemo(()=>Na(z),[z]),J=i.useMemo(()=>{const ge=new Map;return(Array.isArray(X)?X:[]).forEach(_e=>{ge.set(bt(_e?.id),_e)}),ge},[X]),H=i.useMemo(()=>{const ge=Object.entries(f||{});return ge.length===0?[]:ge.map(([_e,ve])=>{const re=J.get(bt(_e));return re?{id:re?.id,name:re?.name,barcode:re?.barcode,stock:Number(re?.quantity||0),price:Number(re?.price||0),quantity:Tn(ve,Number(re?.quantity||0))}:null}).filter(Boolean)},[f,J]),Q=i.useMemo(()=>new Set(H.map(ge=>bt(ge?.id))),[H]),ce=i.useMemo(()=>(Array.isArray(H)?H:[]).reduce((_e,ve)=>_e+Number(ve?.price||0)*Number(ve?.quantity||1),0),[H]),De=i.useMemo(()=>{const ge=Number(D||0);return!Number.isFinite(ge)||ge<=0?0:Math.min(ge,ce)},[D,ce]),le=i.useMemo(()=>Math.max(0,ce-De),[De,ce]),ue=i.useMemo(()=>(Array.isArray(X)?X:[]).slice(0,30).map(ge=>({value:bt(ge?.id),label:`${ge?.name??""}${ge?.barcode?` âĒ ${ge.barcode}`:""}${ge?.quantity!==void 0&&ge?.quantity!==null?` âĒ Stock: ${ge.quantity}`:""}`,product:ge})),[X]),{trigger:oe}=pt(t&&j?Fs.search:null,(ge,{arg:_e})=>na(ge,{arg:_e},t));i.useEffect(()=>{if(!j){A([]);return}const ge=String(y||"").trim();if(ge.length<2){A(ue);return}let _e=!0;const ve=setTimeout(async()=>{let re=[];try{if(oe){const je=await oe({search:ge});re=Na(je)}}catch{re=[]}if(!Array.isArray(re)||re.length===0){const je=ge.toLowerCase();re=(Array.isArray(X)?X:[]).filter(Le=>{const qe=String(Le?.name??"").toLowerCase(),fe=String(Le?.barcode??"").toLowerCase();return qe.includes(je)||fe.includes(je)}).slice(0,30)}const xe=re.slice(0,30).map(je=>({value:bt(je?.id),label:`${je?.name??""}${je?.barcode?` âĒ ${je.barcode}`:""}${je?.quantity!==void 0&&je?.quantity!==null?` âĒ Stock: ${je.quantity}`:""}`,product:je}));_e&&A(xe)},250);return()=>{_e=!1,clearTimeout(ve)}},[ue,j,oe,X,y]),i.useEffect(()=>{x({}),b({}),p(""),A([]),k(!1),_(""),u(0),S(""),$(se()),T([])},[n,r,o]);const Ce=i.useCallback((ge,_e=1)=>{const ve=ge?.id;if(!ve)return;const re=Number(ge?.quantity||0);if(re<=0){v.error("Out of stock.",{duration:1e3});return}const xe=Tn(_e,re);x(je=>{const Le=je||{};return Object.prototype.hasOwnProperty.call(Le,bt(ve))?(v.error("Product already added.",{duration:1e3}),Le):{...Le,[bt(ve)]:xe}})},[x]),Ne=i.useCallback((ge,_e,ve)=>{x(re=>{const xe=re||{},je=bt(ge);return Object.prototype.hasOwnProperty.call(xe,je)?{...xe,[je]:Tn(_e,ve)}:xe})},[]),et=i.useCallback(ge=>{x(_e=>{const ve=_e||{},re=bt(ge);if(!Object.prototype.hasOwnProperty.call(ve,re))return ve;const xe={...ve};return delete xe[re],xe})},[]),we=i.useCallback((ge,_e,ve)=>{b(re=>({...re||{},[bt(ge)]:Tn(_e,ve)}))},[]),Ae=i.useCallback((ge,_e)=>{_e?.product&&Ce(_e.product,1),p(""),A(ue)},[Ce,ue]),Fe=i.useCallback(ge=>{if(ge.key!=="Enter")return;ge.preventDefault();const _e=Array.isArray(m)&&m.length>0?m[0]:null;if(_e?.product){Ce(_e.product,1),p(""),A(ue);return}const ve=String(y||"").trim().toLowerCase();if(ve.length===0)return;const re=(Array.isArray(X)?X:[]).find(xe=>{const je=String(xe?.name??"").toLowerCase(),Le=String(xe?.barcode??"").toLowerCase();return je.includes(ve)||Le.includes(ve)});re&&(Ce(re,1),p(""),A(ue))},[Ce,ue,X,m,y]),me=()=>{if(!t){v.error("Missing token.",{duration:1e3});return}if(!n){v.error("Select class.",{duration:1e3});return}if(!r){v.error("Select section.",{duration:1e3});return}if(!o){v.error("Select student.",{duration:1e3});return}if(!H||H.length===0){v.error("Add at least one product.",{duration:1e3});return}k(!0)},{trigger:de,isMutating:Re}=pt(t?Fs.sellProduct:null,(ge,{arg:_e})=>os(ge,{arg:_e},t)),Be=async()=>{if(!O){v.error("Select payment type.",{duration:1e3});return}const ge=(Array.isArray(H)?H:[]).map(ve=>({id:ve?.id,quantity:Number(ve?.quantity||1),price:Number(ve?.price||0),total_price:Number(ve?.total_price||0),fk_vendor_id:ve?.fk_vendor_id||"",fk_categoryID:ve?.fk_categoryID||"",name:ve?.name||"",class_id:ve?.class_id||"",fk_sub_categoryID:ve?.fk_sub_categoryID||"",description:ve?.description||"",min_quantity:Number(ve?.min_quantity||0),storecategory:Number(ve?.storecategory||0),barcode:ve?.barcode||""})),_e={amount:ce,class:n,section:r,student_id:o,payment_type:O,discount:De,notes:h||"",receipt_date:E?se(E).format("YYYY-MM-DD"):"",product:JSON.stringify(ge),total_payable_amount:ce,attchement:q[0]?.originFileObj||""};try{const re=Array.isArray(q)&&q.length>0&&q[0]?.originFileObj?(()=>{const je=new FormData;return Object.entries(_e).forEach(([Le,qe])=>{if(Le==="products"){je.append("product",JSON.stringify(qe));return}je.append(Le,String(qe??""))}),je.append("attachment",q[0].originFileObj),je})():_e,xe=await de(re);xe?.Status==="Success"?(v.success("Success! Product sold.",{duration:1e3}),k(!1),x({}),b({}),p(""),A(ue),_(""),u(0),S(""),$(se()),T([])):v.error(xe?.msg??"Failed to submit.",{duration:1e3})}catch{v.error("Failed to submit.",{duration:1e3})}},$e=i.useMemo(()=>[{title:"Product Name",dataIndex:"name",key:"name",ellipsis:!0},{title:"Barcode",dataIndex:"barcode",key:"barcode",width:160},{title:"Stock",dataIndex:"quantity",key:"quantity",width:110},{title:"Price",dataIndex:"price",key:"price",width:120},{title:"Quantity",key:"quantity",width:160,render:(ge,_e)=>{const ve=bt(_e?.id),re=Number(_e?.quantity||0),xe=Q.has(ve),je=(xe?f?.[ve]:C?.[ve])??1;return e.jsx(a.InputNumber,{min:1,max:Number.isFinite(re)&&re>0?re:void 0,value:je,onChange:Le=>{xe?Ne(ve,Le,re):we(ve,Le,re)},disabled:re<=0})}},{title:"Amount",key:"amount",width:140,render:(ge,_e)=>{const ve=bt(_e?.id),re=(Q.has(ve)?f?.[ve]:C?.[ve])??1;return Number(_e?.price||0)*Number(re||1)}},{title:"Action",key:"action",width:120,render:(ge,_e)=>{const ve=bt(_e?.id),re=Number(_e?.quantity||0),xe=Q.has(ve),je=(xe?f?.[ve]:C?.[ve])??1;return xe?e.jsx(a.Button,{type:"text",danger:!0,size:"small",icon:e.jsx(ee.DeleteOutlined,{}),onClick:()=>et(ve),style:{padding:2}}):e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.PlusOutlined,{}),disabled:re<=0,onClick:()=>Ce(_e,je),style:{padding:2}})}}],[Ce,Q,f,C,et,we,Ne]);return e.jsxs("div",{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs(w,{pt:5,pb:2,children:[e.jsxs(w,{style:{padding:"12px 16px"},children:[e.jsx(w,{children:"Sell Product"}),e.jsx(a.Card,{style:{borderRadius:16},children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16,alignItems:"end"},children:[e.jsx(Z,{options:I,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",placeholder:"Class",allowSelectAll:!1,required:!0,onChange:ge=>{const _e=ge?.value??"";s(_e),l(""),d(""),g(ve=>!ve)}}),e.jsx(Z,{options:Y,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",placeholder:"Section",allowSelectAll:!1,required:!0,onChange:ge=>{const _e=ge?.value??"";l(_e),d("")}},`section_${c}`),e.jsx(Z,{options:M,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Student",name:"student_id",placeholder:"Student",allowSelectAll:!1,required:!0,onChange:ge=>d(ge?.value??"")})]})})]}),e.jsx("div",{style:{padding:"0 16px"},children:e.jsxs(a.Card,{style:{borderRadius:16,marginTop:12},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(260px, 520px) 1fr",gap:12,alignItems:"center",marginBottom:12},children:[e.jsx(w,{style:{marginTop:12},children:"Product Section"}),e.jsx(a.AutoComplete,{value:y,options:m,onSearch:p,onFocus:()=>{j&&String(y||"").trim().length<2&&A(ue)},onSelect:Ae,disabled:!j,children:e.jsx(a.Input,{placeholder:"Search by product name or barcode",onKeyDown:Fe,allowClear:!0})}),e.jsxs("div",{style:{justifySelf:"end",fontWeight:700},children:["Total: ",Ft(ce)]})]}),e.jsx(a.Table,{rowKey:ge=>bt(ge?.id),columns:$e,dataSource:X,loading:ne,size:"small",bordered:!0,pagination:{pageSize:50,showSizeChanger:!0,pageSizeOptions:[25,50,100,200]},scroll:{x:"max-content"}}),e.jsxs("div",{style:{position:"sticky",bottom:0,background:"#fff",paddingTop:12,marginTop:12,borderTop:"1px solid #f0f0f0"},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontWeight:700},children:[e.jsx("span",{children:"Selected Items"}),e.jsx("span",{children:H.length})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontWeight:700,marginTop:6},children:[e.jsx("span",{children:"Total Amount"}),e.jsx("span",{children:Ft(ce)})]}),e.jsxs("div",{style:{display:"flex",gap:12,marginTop:12},children:[e.jsx(ie,{type:"button",value:"Submit",disabled:!j||H.length===0,onClick:me,style:{flex:1,minWidth:140}}),e.jsx(a.Button,{type:"text",style:F,onClick:()=>{x({}),b({}),p(""),A(ue)},disabled:H.length===0,children:"Clear"})]})]})]})})]}),e.jsx(a.Modal,{open:R,title:"Payment",onCancel:()=>k(!1),onOk:Be,confirmLoading:Re,okText:"Submit",destroyOnClose:!0,children:e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,fontWeight:600,marginBottom:6},children:"Payment Type"}),e.jsx(a.Select,{value:O||void 0,onChange:_,placeholder:"Select payment type",style:{width:"100%"},options:[{value:"Cash",label:"Cash"},{value:"UPI",label:"UPI"},{value:"Bank",label:"Bank"},{value:"Cheque",label:"Cheque"},{value:"DD",label:"DD"},{value:"Internet Banking",label:"Internet Banking"}]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,fontWeight:600,marginBottom:6},children:"Receipt Date"}),e.jsx(a.DatePicker,{value:E,onChange:ge=>$(ge),style:{width:"100%"},format:"YYYY-MM-DD"})]})]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,fontWeight:600,marginBottom:6},children:"Discount"}),e.jsx(a.InputNumber,{min:0,max:ce,value:D,onChange:ge=>u(Number(ge||0)),style:{width:"100%"}})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,fontWeight:600,marginBottom:6},children:"Attachment"}),e.jsx(a.Upload,{fileList:q,beforeUpload:()=>!1,onChange:({fileList:ge})=>T((ge||[]).slice(-1)),maxCount:1,children:e.jsx(a.Button,{icon:e.jsx(ee.UploadOutlined,{}),children:"Upload"})})]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,fontWeight:600,marginBottom:6},children:"Notes"}),e.jsx(a.Input.TextArea,{value:h,onChange:ge=>S(ge.target.value),rows:3})]}),e.jsx(a.Card,{style:{borderRadius:12,background:"#fafcff"},children:e.jsxs("div",{style:{display:"grid",gap:8},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[e.jsx("span",{children:"Total Amount"}),e.jsx("span",{children:Ft(ce)})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[e.jsx("span",{children:"Discount"}),e.jsx("span",{children:Ft(De)})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontWeight:700},children:[e.jsx("span",{children:"Net Amount"}),e.jsx("span",{children:Ft(le)})]})]})})]})})]})}const ph=({token:t})=>e.jsx(uh,{token:t}),Yn=rt.unit,mh=({token:t,page:n=1,perPage:s=10})=>fn({baseUrl:Yn.list,page:n,perPage:s,token:t}),hh={height:36,padding:"0 14px",border:"none",background:"transparent",color:"#243a9b",fontSize:14,fontWeight:500,textTransform:"uppercase",boxShadow:"none"};function fh({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(null),{isLoading:c,error:g,data:y,mutate:p}=mh({token:t,page:n.page,perPage:n.rowsPerPage}),m=async k=>{try{await p(mn(Yn.add,k,t),st(k)),v.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch(O){v.error(O?.response?.data?.msg??"Failed to add the new item.",{duration:1e3})}},A=k=>{k.preventDefault();const O=new FormData(k.target);m(O),k.target.reset()},C=(k,O)=>{s({page:k,rowsPerPage:parseInt(O,10)})},b=async k=>{try{await p(hn(Yn.remove,k,t),nt(k)),v.success("Success! Deleted item.",{duration:1e3})}catch(O){v.error(O?.response?.data?.msg??"Failed to delete the item.",{duration:1e3})}},f=k=>{d(k),l(!0)},x=async k=>{k.preventDefault();const O=new FormData(k.target);O.set("id",String(o?.id??""));try{await Ia(Yn.edit,O,t),await p(),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),l(!1),d(null)}catch(_){v.error(_?.response?.data?.msg??"Failed to update the item.",{duration:1e3})}},R=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name",ellipsis:!0,sorter:{compare:(k,O)=>String(k?.name??"").localeCompare(String(O?.name??""))}},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0,sorter:{compare:(k,O)=>String(k?.description??"").localeCompare(String(O?.description??""))}},{title:"Action",key:"action",width:100,fixed:"right",render:(k,O)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>f(O),style:{padding:2}}),e.jsx(wt,{id:O?.id,funcName:b})]})}],[b]);return e.jsxs("div",{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Drawer,{open:r,title:o?.name?`Edit ${o.name}`:"Edit Unit",placement:"right",width:420,onClose:()=>{l(!1),d(null)},children:e.jsx("form",{onSubmit:x,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{type:"text",name:"name",label:"Unit Name",defaultValue:o?.name??"",required:"required"}),e.jsx(V,{type:"text",name:"description",label:"Description",defaultValue:o?.description??""}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{l(!1),d(null)},style:hh,children:"Cancel"})]})]})})}),e.jsxs(w,{pt:5,pb:1,children:[e.jsxs("div",{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Add Unit"})}),e.jsx(w,{px:3,pb:2,children:e.jsx("form",{onSubmit:A,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"text",name:"name",label:"Unit Name*",required:"required"}),e.jsx(V,{type:"text",name:"description",label:"Description"}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})]})})})]}),e.jsxs("div",{style:{marginTop:24},children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,variant:"gradient",bgColor:"info",borderRadius:"lg",coloredShadow:"info",children:e.jsx(be,{variant:"h6",color:"white",children:"Unit List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:C,data:{newData:y,columns:R,columnstype:"antd",action:!1,Loading:c,error:g}})})]})]})]})}const yh=({token:t})=>e.jsx(fh,{token:t}),gh=rt.product.sellReports,xh=rt.academy.classes,bh=rt.academy.sections,jh=rt.student.dropdown,Ai=t=>{const n=Number(t??0);return Number.isFinite(n)?n.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:2}):String(t??"")};function Sh({token:t}){const n=i.useRef(null),[s,r]=i.useState(null),[l,o]=i.useState(""),[d,c]=i.useState(""),[g,y]=i.useState(""),[p,m]=i.useState(!1),A=T=>{const F=T?.data?.data??T?.data??T??[];return Array.isArray(F)?F:Array.isArray(F?.data)?F.data:[]},{data:C}=K(t?[xh,t]:null,([T,F])=>G(T,F)),b=i.useMemo(()=>A(C),[C]),f=t&&l?`${bh}?class_id=${encodeURIComponent(String(l))}`:null,{data:x}=K(f?[f,t]:null,([T,F])=>G(T,F)),R=i.useMemo(()=>A(x),[x]),k=t&&l&&d?`${jh}?class=${encodeURIComponent(String(l))}§ion=${encodeURIComponent(String(d))}`:null,{data:O}=K(k?[k,t]:null,([T,F])=>G(T,F)),_=i.useMemo(()=>A(O),[O]),{trigger:D,isMutating:u,data:h}=pt(gh,(T,{arg:F})=>lr(T,{arg:F},t));i.useEffect(()=>{const F=new Date().toISOString().slice(0,10);D({duration:[F,F]})},[D]);const S=i.useMemo(()=>{const T=h?.data??h??[];return Array.isArray(T)?T:[]},[h]),E=T=>{const F=Array.isArray(T?.product_details)?T.product_details:[];return F.length===0?null:e.jsx(a.Table,{size:"small",bordered:!0,pagination:!1,rowKey:j=>`${T?.receipt_id??"r"}_${j?.product_name??j?.product_pricem??""}`,columns:[{title:"Product",dataIndex:"product_name",key:"product_name"},{title:"Amount",dataIndex:"product_pricem",key:"product_pricem",render:j=>Ai(j)}],dataSource:F})},$=[{title:"Receipt No",dataIndex:"receipt_no",key:"receipt_no"},{title:"Date",dataIndex:"receipt_date",key:"receipt_date"},{title:"Amount",dataIndex:"receipt_amount",key:"receipt_amount",render:T=>Ai(T)}],q=async()=>{if(!s||s.length!==2)return;const[T,F]=s;await D({duration:[T.format("YYYY-MM-DD"),F.format("YYYY-MM-DD")],class:l||"",section:d||"",student_id:g||""})};return e.jsx("div",{children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,lg:8,children:e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Filters"}),style:{borderRadius:16},children:e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Duration"}),e.jsx(a.DatePicker.RangePicker,{value:s,onChange:r,style:{width:"100%"}})]}),e.jsx(Z,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",placeholder:"Class",allowSelectAll:!1,onChange:T=>{const F=T?.value??"";o(F),c(""),y(""),m(j=>!j)}}),e.jsx(Z,{options:R,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",placeholder:"Section",allowSelectAll:!1,onChange:T=>{const F=T?.value??"";c(F),y("")}},`section_${p}`),e.jsx(Z,{options:_,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Student",placeholder:"Student",allowSelectAll:!1,onChange:T=>y(T?.value??"")}),e.jsx(ie,{type:"button",value:u?"Searching...":"Search",disabled:u,onClick:q,style:{width:"100%"}})]})})}),e.jsx(a.Col,{xs:24,lg:16,children:e.jsx(a.Card,{title:e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Sell Reports"}),e.jsx(kt,{data:{tableRef:n}})]}),style:{borderRadius:16},children:e.jsxs("div",{ref:n,children:[e.jsx("div",{className:"print-only",children:e.jsx($t,{})}),e.jsx(a.Table,{bordered:!0,size:"small",loading:u,rowKey:T=>String(T?.receipt_id??T?.receipt_no??Math.random()),columns:$,expandable:{expandedRowRender:E},dataSource:S,pagination:{pageSize:20}})]})})})]})})}const vh=({token:t})=>e.jsx(Sh,{token:t}),wh=rt.product;function _h({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r,l]=i.useState([]),[o,d]=i.useState([]),[c,g]=i.useState(!1),[y,p]=i.useState(!1),[m,A]=i.useState(null),[C,b]=i.useState(0),[f,x]=i.useState(null),[R,k]=i.useState(""),O=i.useRef(null),_=ia.useReactToPrint({contentRef:O,documentTitle:"Stock Barcodes"}),{isLoading:D,error:u,data:h,mutate:S}=yo({token:t,page:n.page,perPage:n.rowsPerPage}),E=(P,I)=>{s({page:P,rowsPerPage:parseInt(I,10)})},$={selectedRowKeys:r,onChange:(P,I)=>{l(P),d(I)}},q=P=>{A(P),b(Number(P?.quantity??0)),x(null),k(""),g(!0)},T=()=>{g(!1),A(null),b(0),x(null),k("")},F=async()=>{if(!m?.id)return;p(!0);const P=new FormData;P.append("product_id",String(m.id)),P.append("qty",String(C??0)),f&&P.append("tran_date",f.format("YYYY-MM-DD")),R&&P.append("remarks",R);try{const I=await Ia(wh.addStock,P,t);I?.Status==="Success"?(v.success("Success! Updated quantity.",{duration:1e3}),T(),await S()):v.error(I?.msg??"Failed to update quantity.",{duration:1e3})}catch{v.error("Failed to update quantity.",{duration:1e3})}finally{p(!1)}},j=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name",ellipsis:!0,fixed:"left",width:180},{title:"Category",dataIndex:"storecategory",key:"storecategory",ellipsis:!0,responsive:["md"]},{title:"Quantity",dataIndex:"quantity",key:"quantity",width:100},{title:"Unit",dataIndex:"unit_name",key:"unit_name",width:120,responsive:["md"]},{title:"Price",dataIndex:"price",key:"price",width:100,responsive:["md"]},{title:"Barcode",dataIndex:"barcode",key:"barcode",ellipsis:!0,responsive:["lg"]},{title:"Action",key:"action",width:160,fixed:"right",render:(P,I)=>e.jsx("div",{style:{display:"flex",gap:8},children:e.jsx(a.Button,{size:"small",onClick:()=>q(I),children:"Update Qty"})})}],[]);return e.jsxs("div",{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Modal,{title:m?.name?`Update Stock: ${m.name}`:"Update Stock",open:c,onCancel:T,onOk:F,okButtonProps:{loading:y},children:e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,marginBottom:6},children:"Quantity"}),e.jsx(a.InputNumber,{min:0,style:{width:"100%"},value:C,onChange:P=>b(P??0)})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:12,marginBottom:6},children:"Date"}),e.jsx(a.DatePicker,{style:{width:"100%"},value:f,onChange:x})]}),e.jsx(gt,{label:"Remarks",name:"remarks",rows:3,value:R,onChange:P=>k(P.target.value)})]})}),e.jsxs(w,{pt:5,pb:2,children:[e.jsxs(w,{children:["Manage Stock",e.jsx(ie,{type:"button",value:"Print Barcodes",disabled:!o||o.length===0,onClick:()=>_?.(),style:{minWidth:170}})]}),e.jsx(w,{style:{padding:"12px 16px"},children:e.jsx(a.Card,{style:{borderRadius:16},children:e.jsx(ze,{parentCallback:E,data:{newData:h,columns:j,columnstype:"antd",action:!1,Loading:D,error:u,rowSelection:$}})})})]}),e.jsx("div",{style:{position:"absolute",left:-1e4,top:0},children:e.jsx("div",{ref:O,children:e.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:16,padding:24},children:(Array.isArray(o)?o:[]).map(P=>e.jsxs("div",{style:{border:"1px solid #ddd",padding:12},children:[e.jsx("div",{style:{marginBottom:6,fontSize:12},children:P?.name??""}),e.jsx(Dl,{value:String(P?.barcode??P?.id??""),height:50,width:1.6,displayValue:!0})]},P?.id??P?.barcode??P?.name))})})})]})}const Ch=({token:t})=>e.jsx(_h,{token:t}),Ah=rt.report.stock,Dh=rt.product.dropdown,Th=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:[]};function Rh({token:t}){const n=i.useRef(null),[s,r]=i.useState(null),[l,o]=i.useState(""),{data:d}=K(t?[Dh,t]:null,([b,f])=>G(b,f)),c=i.useMemo(()=>Th(d),[d]),{trigger:g,isMutating:y,data:p}=pt(Ah,(b,{arg:f})=>lr(b,{arg:f},t));i.useEffect(()=>{const f=new Date().toISOString().slice(0,10);g({duration:[f,f]})},[g]);const m=i.useMemo(()=>{const b=p?.data??p??[];return(Array.isArray(b)?b:[]).flatMap(x=>(Array.isArray(x?.ledger)?x.ledger:[]).map((R,k)=>({key:`${x.product_id??x.product_name??"p"}-${k}`,date:R?.date,product:x?.product_name,opening:R?.opening,inward:R?.inward,outward:R?.outward,closing:R?.closing})))},[p]),A=[{title:"Date",dataIndex:"date",key:"date"},{title:"Product",dataIndex:"product",key:"product"},{title:"Opening",dataIndex:"opening",key:"opening"},{title:"Inward",dataIndex:"inward",key:"inward"},{title:"Outward",dataIndex:"outward",key:"outward"},{title:"Closing",dataIndex:"closing",key:"closing",render:b=>e.jsx("span",{style:{color:Number(b)<0?"red":"green"},children:b})}],C=async()=>{if(!s||s.length!==2)return;const[b,f]=s;await g({duration:[b.format("YYYY-MM-DD"),f.format("YYYY-MM-DD")],product_id:l||""})};return e.jsxs(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Stock Report"}),style:{borderRadius:16},children:[e.jsxs("div",{style:{display:"flex",gap:12,alignItems:"center",marginBottom:16,flexWrap:"wrap"},children:[e.jsx(a.DatePicker.RangePicker,{value:s,onChange:r}),e.jsxs("select",{value:l,onChange:b=>o(b.target.value),style:{height:32,borderRadius:6,border:"1px solid #d9d9d9",padding:"0 8px"},children:[e.jsx("option",{value:"",children:"All Products"}),c.map(b=>e.jsx("option",{value:String(b?.value??""),children:String(b?.label??"")},String(b?.value??b?.id??b?.label)))]}),e.jsx(a.Button,{type:"primary",onClick:C,loading:y,children:"Search"}),e.jsx("div",{style:{marginLeft:"auto"},children:e.jsx(kt,{data:{tableRef:n}})})]}),e.jsxs("div",{ref:n,children:[e.jsx("div",{className:"print-only",children:e.jsx($t,{})}),e.jsx(a.Table,{bordered:!0,size:"small",loading:y,rowKey:"key",columns:A,dataSource:m,pagination:{pageSize:50}})]})]})}const Ih=({token:t})=>e.jsx(Rh,{token:t}),Di=[{label:"Today",value:"Today"},{label:"Yesterday",value:"Yesterday"},{label:"This Week",value:"This Week"},{label:"This Month",value:"This Month"},{label:"Last Month",value:"Last Month"},{label:"This Year",value:"This Year"},{label:"Custom",value:"Custom"}],Nt={total_packages:124,total_downloads:45892,active_packages:118,deprecated_packages:6,pending_approval:3,published_this_month:12,published_this_week:4,packages_needing_update:8,packages_with_issues:2},Ti=[{npm_id:"NPM-001",package_name:"@ubk/erp-core",version:"1.2.1",description:"Core ERP utilities and shared types",author:"UBK Infotech",repository:"https://github.com/ubk/erp-core",license:"MIT",status:"published",created_at:"2024-01-15",updated_at:"2025-06-20"},{npm_id:"NPM-002",package_name:"@ubk/erp-components",version:"2.0.0",description:"Reusable Ant Design ERP component library",author:"UBK Infotech",repository:"https://github.com/ubk/erp-components",license:"ISC",status:"published",created_at:"2024-03-10",updated_at:"2025-08-01"},{npm_id:"NPM-003",package_name:"@ubk/erp-api-client",version:"0.9.5",description:"Axios-based API client for UBK ERP backends",author:"UBK Infotech",repository:"https://github.com/ubk/erp-api-client",license:"MIT",status:"draft",created_at:"2025-05-22",updated_at:"2025-07-14"},{npm_id:"NPM-004",package_name:"@ubk/erp-hooks",version:"1.1.0",description:"Custom React hooks for ERP workflows",author:"UBK Infotech",repository:"https://github.com/ubk/erp-hooks",license:"MIT",status:"published",created_at:"2024-08-05",updated_at:"2025-04-30"},{npm_id:"NPM-005",package_name:"@ubk/erp-utils",version:"3.2.1",description:"Utility functions for date, currency, and validation",author:"UBK Infotech",repository:"https://github.com/ubk/erp-utils",license:"ISC",status:"deprecated",created_at:"2023-11-20",updated_at:"2025-02-10"}],Ri=[{key:"dashboard",label:"Dashboard"},{key:"allPackages",label:"All Packages"},{key:"published",label:"Published"},{key:"draft",label:"Draft"},{key:"deprecated",label:"Deprecated"},{key:"pendingApproval",label:"Pending Approval"}];function kh(){const[t,n]=i.useState("dashboard"),[s,r]=i.useState("This Month"),[l,o]=i.useState(""),[d,c]=i.useState(""),[g,y]=i.useState(1),[p,m]=i.useState(10),[A,C]=i.useState(""),b=i.useRef(null),f=["dashboard","allPackages","published","draft","deprecated","pendingApproval"].includes(t),x=i.useMemo(()=>{if(!A.trim())return Ti;const D=A.toLowerCase();return Ti.filter(u=>Object.values(u).some(h=>String(h??"").toLowerCase().includes(D)))},[A]),R=i.useMemo(()=>{const D=(g-1)*p;return x.slice(D,D+p)},[x,g,p]),k=()=>{y(1)},O=()=>{const D=[{title:"Total Packages",value:Nt.total_packages,icon:e.jsx(ee.FileTextOutlined,{}),color:"#1976d2"},{title:"Total Downloads",value:Nt.total_downloads.toLocaleString(),icon:e.jsx(ee.StarOutlined,{}),color:"#2e7d32"},{title:"Active Packages",value:Nt.active_packages,icon:e.jsx(ee.CheckCircleOutlined,{}),color:"#0288d1"},{title:"Deprecated",value:Nt.deprecated_packages,icon:e.jsx(ee.CloseCircleOutlined,{}),color:"#d32f2f"},{title:"Pending Approval",value:Nt.pending_approval,icon:e.jsx(ee.ClockCircleOutlined,{}),color:"#ed6c02"},{title:"Published This Month",value:Nt.published_this_month,icon:e.jsx(ee.CalendarOutlined,{}),color:"#9c27b0"},{title:"Published This Week",value:Nt.published_this_week,icon:e.jsx(ee.SyncOutlined,{}),color:"#455a64"},{title:"Needs Update",value:Nt.packages_needing_update,icon:e.jsx(ee.CodeOutlined,{}),color:"#c62828"},{title:"With Issues",value:Nt.packages_with_issues,icon:e.jsx(ee.CloseCircleOutlined,{}),color:"#f57c00"}];return e.jsx(a.Row,{gutter:[16,16],children:D.map((u,h)=>e.jsx(a.Col,{xs:24,sm:12,md:8,lg:6,children:e.jsxs(a.Card,{style:{display:"flex",alignItems:"center",padding:16,borderLeft:`6px solid ${u.color}`,transition:"0.2s",cursor:"default"},bodyStyle:{display:"flex",alignItems:"center",width:"100%"},children:[e.jsx(w,{style:{width:48,height:48,borderRadius:"50%",backgroundColor:`${u.color}15`,color:u.color,display:"flex",alignItems:"center",justifyContent:"center",fontSize:22,marginRight:16,flexShrink:0},children:u.icon}),e.jsxs(w,{children:[e.jsx(a.Typography.Text,{type:"secondary",style:{fontSize:12,fontWeight:500},children:u.title}),e.jsx("div",{style:{fontSize:22,fontWeight:700,marginTop:4},children:u.value})]})]})},h))})},_=()=>{const D=[{title:"NPM ID",dataIndex:"npm_id",key:"npm_id",width:100},{title:"Package Name",dataIndex:"package_name",key:"package_name",ellipsis:!0},{title:"Version",dataIndex:"version",key:"version",width:100},{title:"Description",dataIndex:"description",key:"description",ellipsis:!0,responsive:["md"]},{title:"Author",dataIndex:"author",key:"author",width:140,responsive:["lg"]},{title:"License",dataIndex:"license",key:"license",width:100},{title:"Status",dataIndex:"status",key:"status",width:120,render:u=>{let h="default";return u==="published"?h="green":u==="draft"?h="orange":u==="deprecated"?h="red":u==="pending"&&(h="blue"),e.jsx(a.Tag,{color:h,children:u.toUpperCase()})}},{title:"Created Date",dataIndex:"created_at",key:"created_at",width:120,responsive:["lg"]},{title:"Updated Date",dataIndex:"updated_at",key:"updated_at",width:120,responsive:["lg"]},{title:"Actions",key:"action",width:120,fixed:"right",render:(u,h)=>e.jsx("a",{style:{color:"#5080f8",cursor:"pointer",fontSize:13},children:"View"})}];return t==="dashboard"?[]:D};return e.jsx(w,{pt:5,pb:1,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:"NPM Package Report"})}),e.jsxs(w,{p:3,children:[e.jsxs(a.Row,{gutter:[16,16],mb:3,children:[f&&e.jsxs(e.Fragment,{children:[e.jsx(a.Col,{xs:24,md:6,children:e.jsx(Z,{options:Di,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Date Range",allowSelectAll:!1,value:Di.find(D=>D.value===s)||null,onChange:D=>r(D?.value||"This Month")})}),s==="Custom"&&e.jsxs(e.Fragment,{children:[e.jsx(a.Col,{xs:24,md:6,children:e.jsx(He,{Desplay:"From Date",format:"YYYY-MM-DD",onChange:D=>o(D?D.format("YYYY-MM-DD"):"")})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(He,{Desplay:"To Date",format:"YYYY-MM-DD",onChange:D=>c(D?D.format("YYYY-MM-DD"):"")})})]})]}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{display:"flex",alignItems:"center",height:"100%",mt:t==="dashboard"?0:2,children:e.jsx(ie,{type:"button",value:"Search",color:"primary",onClick:k})})})]}),e.jsx(a.Tabs,{activeKey:t,onChange:n,items:Ri})]})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(a.Typography.Title,{level:5,style:{margin:0,color:"#fff"},children:Ri.find(D=>D.key===t)?.label||"Report"})}),e.jsxs(w,{p:3,children:[t!=="dashboard"&&e.jsx(kt,{data:{tableRef:b}}),t==="dashboard"?O():e.jsx(a.Table,{size:"small",dataSource:R,columns:_(),loading:!1,pagination:!1,bordered:!0,rowKey:D=>D.npm_id||D.package_name||Math.random(),ref:b}),t!=="dashboard"&&x.length>0&&e.jsx(a.Pagination,{current:g,pageSize:p,total:x.length,onChange:(D,u)=>{y(D),m(u)},showSizeChanger:!0,showQuickJumper:!0,pageSizeOptions:[10,20,50,100],style:{marginTop:16,textAlign:"right"}})]})]})})]})})}const cs=t=>t??localStorage.getItem("authToken")??"",Ph=(t,n)=>{const s=String(t??""),r=String(n);return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},Ye={upload:"api/branchapi/frontoffice/uploadfrontofficeDocument",roleDropdown:"api/Branch/getRoledropdownforBranch",staff:{list:"api/branchapi/staff/stafflist",searchByRole:"api/branchapi/staff/staffsearchbyRole",searchByKeywords:"api/branchapi/staff/staffsearchbyKeywords",deactivate:"api/branchapi/staff/staff_deactive",basicById:"api/branchapi/staff/getbasicdetailsbyID",experienceById:"api/branchapi/staff/getworkexperencebyID",payrollById:"api/branchapi/staff/getpayrollbyID",lastEmpNo:"api/branchapi/staff/getLastStaffEMPnumber",addBasic:"api/branchapi/staff/addstaffbasicdetails",editBasic:"api/branchapi/staff/editstaffbasicdetails",addExperience:"api/branchapi/staff/addstaffExperience",editExperience:"api/branchapi/staff/editstaffExperience",addPayroll:"api/branchapi/staff/addstaffpayroll",editPayroll:"api/branchapi/staff/editstaffpayroll",uploadProfile:"api/branchapi/staff/uploadstaffProfilepicture",uploadDocuments:"api/branchapi/staff/uploadDocuments"},master:{shift:{dropdown:"api/branchapi/generalSettings/shiftDropdown",table:"api/branchapi/generalSettings/shiftTable",add:"api/branchapi/generalSettings/shiftTable",add:"api/branchapi/generalSettings/addshift",edit:"api/branchapi/generalSettings/addshift",edit:"api/branchapi/generalSettings/editshift",remove:"api/branchapi/generalSettings/deleteshift",show:"api/branchapi/generalSettings/shiftShowdata"},department:{dropdown:"api/branchapi/humanResource/departmentDropdown",table:"api/branchapi/humanResource/departmenttypeTable",add:"api/branchapi/humanResource/adddepartment",edit:"api/branchapi/humanResource/editdepartment",remove:"api/branchapi/humanResource/deletedepartment",show:"api/branchapi/humanResource/departmentShowdata"},designation:{dropdown:"api/branchapi/humanResource/designationDropdown",table:"api/branchapi/humanResource/designationTable",add:"api/branchapi/humanResource/adddesignation",edit:"api/branchapi/humanResource/editdesignation",remove:"api/branchapi/humanResource/deletedesignation",show:"api/branchapi/humanResource/designationShowdata"},leaveType:{dropdown:"api/branchapi/humanResource/leavetypeDropdown",table:"api/branchapi/humanResource/LeavetypeTable",add:"api/branchapi/humanResource/addleavetype",edit:"api/branchapi/humanResource/editleavetype",remove:"api/branchapi/humanResource/deleteleavetype",show:"api/branchapi/humanResource/leavetypeShowdata"}},leave:{table:"api/branchapi/humanResource/LeaveTable",apply:"api/branchapi/humanResource/applyLeave",requestTable:"api/branchapi/humanResource/leaverequestTable",approveRequest:"api/branchapi/humanResource/approveleaveRequest"},attendance:{staffListForAttendance:"api/staff/attendence/stafflistforAttendence",staffDropdownByRole:"api/staff/attendence/getStaffDropDownByRoleId",addAttendanceToStaffByBranch:"api/staff/attendence/addattendencetoStaffbyBranch",manualAttendance:"api/staff/attendence/staffMenualAttendance",staffShiftByStaffId:"api/branchapi/staff/getStaffShiftByStaffId",dailyAttendance:"api/staff_attendance/attendance/report/daily",dailyAttendanceMultipleShift:"api/staff/attendence/dailyAttendanceMultipleShift"},attendanceReport:{monthlyStaffReport:"api/AttendenceReport/staffmonthlyAttendenceReport_new",staffAttendanceList:"api/AttendenceReport/staffAttendanceList",overallStaffReport:"api/staff/attendence/getAlloverAttendenceReportofStaff"},payroll:{monthlyGraph:"api/branchapi/reportGraph/monthlyPayroleReportgraph",staffPayrollByStaffId:"api/branchapi/humanResource/getStaffPayroleByStaffID",generatePayslip:"api/branchapi/humanResource/generatePayslip",payrollByRole:"api/branchapi/humanResource/getpayrolebyRole",monthlyReport:"api/branchapi/humanResource/monthlyPayRolereport"}},go=()=>Ph(At(),Ye.upload),Oh=async({baseUrl:t,page:n=1,perPage:s=10},r)=>{const l=t.includes("?")?"&":"?",o=`${t}${l}page=${encodeURIComponent(String(n))}&per_page=${encodeURIComponent(String(s))}`;return G(o,cs(r))},Ut=async(t,n,s)=>Ge(t,n,cs(s)),Jt=async(t,n,s)=>tt(t,n,cs(s)),yn=async(t,n,s)=>Ze(t,n,cs(s)),sa=Ye.staff,Mh=Ye.master.shift.dropdown,Eh=Ye.master.department.dropdown,Fh=Ye.master.designation.dropdown,$h=Ye.roleDropdown,Uh=(t,n)=>{const s=String(t??""),r=String(n??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},xo=t=>{const n=qt(t);if(n)return n;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}},Bh=(t,n)=>{const s=`${t||""}`.trim();if(!s)return"";if(/^https?:\/\//i.test(s))return s;const r=xo(n),l=s.startsWith("/")?s.slice(1):s;return Uh(at(),`uploads/school_${r}/staff/Profile_picture/${l}`)},Nh=t=>/^https?:\/\//i.test(String(t??""))||String(t??"").startsWith("data:"),Wn=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},Lh=t=>Wn(t).map(s=>{if(s?.value!==void 0&&s?.label!==void 0)return{...s,value:String(s.value),label:String(s.label)};const r=String(s?.shift_id??s?.id??s?.value??""),l=String(s?.shift_name??s?.label??s?.name??s?.title??r);return{...s,value:r,label:l}}),qh=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"",La={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},Ii=[{value:"A+",label:"A+"},{value:"A-",label:"A-"},{value:"B+",label:"B+"},{value:"B-",label:"B-"},{value:"O+",label:"O+"},{value:"O-",label:"O-"},{value:"AB+",label:"AB+"},{value:"AB-",label:"AB-"}],ki={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function zh({token:t,mode:n,staffId:s,initialValues:r,onSubmitted:l}){const[o,d]=i.useState(!1),c=i.useMemo(()=>{try{return JSON.parse(localStorage.getItem("genrall_settings"))}catch{return null}},[]),g=String(c?.multiple_shift??"").toLowerCase()==="yes",[y,p]=i.useState(r?.roleValue??null),[m,A]=i.useState(r?.departmentValue??null),[C,b]=i.useState(r?.designationValue??null),[f,x]=i.useState(r?.genderValue??null),[R,k]=i.useState(r?.shiftValue??(g?[]:null)),[O,_]=i.useState(r?.dob?se(r.dob):null),[D,u]=i.useState(r?.doj?se(r.doj):null),[h,S]=i.useState(r?.file??""),[E,$]=i.useState(r?.bloodGroup??"");i.useEffect(()=>{r&&(p(r?.roleValue??null),A(r?.departmentValue??null),b(r?.designationValue??null),x(r?.genderValue??null),k(r?.shiftValue??(g?[]:null)),_(r?.dob?se(r.dob):null),u(r?.doj?se(r.doj):null),S(r?.file??""),$(r?.bloodGroup??""))},[r,g]);const{data:q}=K(t?[Mh,t]:null,([M,L])=>G(M,L)),{data:T}=K(t?[Eh,t]:null,([M,L])=>G(M,L)),{data:F}=K(t?[Fh,t]:null,([M,L])=>G(M,L)),{data:j}=K(t?[$h,t]:null,([M,L])=>G(M,L)),{data:P}=K(t?[sa.lastEmpNo,t]:null,([M,L])=>G(M,L)),I=i.useMemo(()=>Lh(q),[q]),N=i.useMemo(()=>Wn(T),[T]),W=i.useMemo(()=>Wn(F),[F]),Y=i.useMemo(()=>Wn(j),[j]),B=i.useMemo(()=>{const M=P?.data?.emp_number??P?.emp_number??P?.data??"";return String(M??"")},[P]),U=async M=>{M.preventDefault(),d(!0);const L=new FormData(M.target);L.set("role",y?.value??y??""),L.set("department",m?.value??m??""),L.set("designation",C?.value??C??""),L.set("gender",f?.value??f??""),L.set("dob",O?O.format("YYYY-MM-DD"):""),L.set("doj",D?D.format("YYYY-MM-DD"):""),log.e("Shift_Value:",R,"Multiple Shift:",g),g?(L.delete("shift_id"),(Array.isArray(R)?R:[]).forEach(ne=>{L.append("shift_id[]",ne?.value??ne??"")})):L.set("shift_id",R?.value??R??""),h&&L.set("file",h);try{const z=n==="edit"&&s,ne=z?sa.editBasic:sa.addBasic;z&&L.set("staff_id",String(s));const X=z?await Jt(ne,L,t):await Ut(ne,L,t),J=X?.ID??X?.id??s??null;v.success("Success!",{duration:1e3}),l?.({staffId:J,basic:{roleValue:y,departmentValue:m,designationValue:C,genderValue:f,shiftValue:R,dob:O,doj:D,file:h}})}catch(z){v.error(z?.response?.data?.msg??z?.message??"Failed.",{duration:1e3})}finally{d(!1)}};return e.jsx("form",{onSubmit:U,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"number",name:"emp_number",label:"EMP No",defaultValue:r?.emp_number??B,required:!0}),e.jsx(V,{type:"text",name:"f_name",label:"First Name",defaultValue:r?.f_name??"",required:!0}),e.jsx(V,{type:"text",name:"l_name",label:"Last Name",defaultValue:r?.l_name??"",required:!0}),e.jsx(V,{type:"text",name:"pan_no",label:"PAN",defaultValue:r?.pan_no??"",pattern:"[A-Z]{5}[0-9]{4}[A-Z]",title:"Enter valid PAN (e.g., ABCDE1234D)"}),e.jsx(V,{type:"text",name:"adhar_no",label:"Aadhar",defaultValue:r?.adhar_no??"",pattern:"[0-9]{12}",title:"Enter 12-digit Aadhaar number"}),e.jsx(Z,{label:"Role",options:Y,value:y,onChange:M=>p(M??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),e.jsx(Z,{label:"Department",options:N,value:m,onChange:M=>A(M??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),e.jsx(Z,{label:"Designation",options:W,value:C,onChange:M=>b(M??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),e.jsx(Z,{label:"Gender",options:[{value:"Male",label:"Male"},{value:"Female",label:"Female"},{value:"Other",label:"Other"}],value:f,onChange:M=>x(M??null),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),e.jsx(V,{type:"email",name:"email",label:"Email",defaultValue:r?.email??"",title:"Enter a valid email address"}),e.jsxs("div",{children:[e.jsx("div",{style:La,children:"DOB"}),e.jsx(a.DatePicker,{value:O,onChange:M=>_(M),style:ki,placeholder:"Select DOB"})]}),e.jsxs("div",{children:[e.jsx("div",{style:La,children:"DOJ"}),e.jsx(a.DatePicker,{value:D,onChange:M=>u(M),style:ki,placeholder:"Select DOJ"})]}),e.jsxs("div",{children:[e.jsx(Z,{label:"Blood Group",options:Ii,value:Ii.find(M=>M.value===E)??null,onChange:M=>$(M?.value??""),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1}),e.jsx("input",{type:"hidden",name:"bloodGroup",value:E})]}),e.jsx(V,{type:"text",name:"contact_no",label:"Contact No",defaultValue:r?.contact_no??"",required:!0,pattern:"[0-9]{10}",title:"Enter 10-digit contact number"}),e.jsx(V,{type:"text",name:"education",label:"Education",defaultValue:r?.education??""}),e.jsxs("div",{children:[e.jsx("div",{style:La,children:"Shift"}),e.jsx(Z,{options:I,value:Array.isArray(R)&&g?I.filter(M=>R.some(L=>String(L?.value??L)===String(M?.value??M))):I.find(M=>String(R?.value??R)===String(M?.value??M))??(R&&!g?R:null),onChange:M=>k(M??(g?[]:null)),isMulti:g,closeMenuOnSelect:!g,hideSelectedOptions:!1,allowSelectAll:!1,required:!0})]}),e.jsxs("div",{style:{width:"100%"},children:[e.jsx("div",{style:La,children:"Profile Picture"}),e.jsxs("div",{style:{display:"grid",gap:8},children:[h?e.jsx("img",{src:Nh(h)?h:Bh(h,t),alt:"profile-preview",style:{width:88,height:88,objectFit:"cover",borderRadius:8,border:"1px solid #d9d9d9",background:"#fafafa"}}):null,e.jsx(a.Upload,{action:`${at()}/uploadfile.php`,name:"file",data:{filepath:`uploads/school_${xo(t)}/staff/Profile_picture`},headers:t?{Authorization:t}:void 0,maxCount:1,accept:"image/*",onChange:M=>{if(M?.file?.status==="done"){const L=qh(M?.file?.response);L&&S(L)}M?.file?.status==="removed"&&S("")},children:e.jsx(a.Button,{type:"link",style:{paddingLeft:0},children:h?"Change":"Upload"})})]}),e.jsx("input",{type:"hidden",name:"file",value:h??""})]}),e.jsxs("div",{style:{gridColumn:"1 / -1"},children:[e.jsx("div",{style:La,children:"Address"}),e.jsx("textarea",{name:"address",rows:3,defaultValue:r?.address??"",placeholder:"Address",style:{width:"100%",resize:"vertical",padding:10,border:"1px solid #d9d9d9",borderRadius:8,outline:"none"}})]}),e.jsx("div",{style:{gridColumn:"1 / -1",display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:o?"Saving...":"Save & Next",color:"primary",disabled:o,loading:o})})]})})}const Yh=(t,n)=>{const s=String(t??""),r=String(n??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},bo=t=>{const n=qt(t);if(n)return n;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}},Wh=t=>/^https?:\/\//i.test(String(t??""))||String(t??"").startsWith("data:"),Vh=(t,n)=>{const s=`${t||""}`.trim();if(!s)return"";if(Wh(s))return s;const r=bo(n),l=s.startsWith("/")?s.slice(1):s;return Yh(at(),`uploads/school_${r}/staff/document/${l}`)},Rn={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},Pi={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"},Hh=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"",Oi=t=>{if(!t)return null;const n=se(t);return n.isValid()?n:null};function Kh({token:t,mode:n,staffId:s,initialRows:r,onSubmitted:l,onBack:o}){const[d,c]=i.useState(!1),[g,y]=i.useState(()=>(Array.isArray(r)&&r.length?r:[{name:"",from:null,to:null,image:""}]).map(x=>({name:x?.name??"",from:Oi(x?.from_date??x?.from),to:Oi(x?.to_date??x?.to),image:x?.image??""}))),p=i.useMemo(()=>t?{Authorization:t}:void 0,[t]),m=(f,x)=>{y(R=>R.map((k,O)=>O===f?{...k,...x}:k))},A=()=>y(f=>[...f,{name:"",from:null,to:null,image:""}]),C=f=>y(x=>x.length<=1?x:x.filter((R,k)=>k!==f)),b=async f=>{if(f.preventDefault(),c(!0),!s){v.error("Missing staff id.",{duration:1e3}),c(!1);return}const x=new FormData;x.append("staff_id",String(s)),g.forEach((R,k)=>{x.append(`experience[${k}][name]`,String(R?.name??"")),x.append(`experience[${k}][from]`,R?.from?R.from.format("YYYY-MM-DD"):""),x.append(`experience[${k}][to]`,R?.to?R.to.format("YYYY-MM-DD"):""),x.append(`experience[${k}][image]`,String(R?.image??""))});try{const R=n==="edit",k=R?sa.editExperience:sa.addExperience,O=R?await Jt(k,x,t):await Ut(k,x,t);v.success("Success!",{duration:1e3}),l?.({experience:g,result:O})}catch(R){v.error(R?.response?.data?.msg??R?.message??"Failed.",{duration:1e3})}finally{c(!1)}};return e.jsx("form",{onSubmit:b,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[g.map((f,x)=>e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16,alignItems:"end",border:"1px solid #eee",borderRadius:12,padding:14},children:[e.jsxs("div",{children:[e.jsx("div",{style:Rn,children:"Name"}),e.jsx("input",{value:f.name,onChange:R=>m(x,{name:R.target.value}),placeholder:"Company / School",style:{width:"100%",height:40,border:"none",borderBottom:"1px solid #d9d9d9",outline:"none",background:"transparent"}})]}),e.jsxs("div",{children:[e.jsx("div",{style:Rn,children:"From"}),e.jsx(a.DatePicker,{value:f.from,onChange:R=>m(x,{from:R}),style:Pi})]}),e.jsxs("div",{children:[e.jsx("div",{style:Rn,children:"To"}),e.jsx(a.DatePicker,{value:f.to,onChange:R=>m(x,{to:R}),style:Pi})]}),e.jsxs("div",{children:[e.jsx("div",{style:Rn,children:"Document"}),e.jsx(a.Upload,{maxCount:1,action:`${at()}/uploadfile.php`,name:"file",data:{filepath:`uploads/school_${bo(t)}/staff/document`},headers:p,onChange:R=>{if(R?.file?.status==="done"){const k=Hh(R?.file?.response);k&&m(x,{image:k})}R?.file?.status==="removed"&&m(x,{image:""})},children:e.jsx(a.Button,{icon:e.jsx(ee.UploadOutlined,{}),children:"Upload"})}),!!f.image&&e.jsx("a",{href:Vh(f.image,t),target:"_blank",rel:"noopener noreferrer",style:{fontSize:12,color:"#1677ff",textDecoration:"underline",cursor:"pointer"},children:"View document"})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:e.jsx(a.Button,{type:"text",icon:e.jsx(ee.DeleteOutlined,{}),danger:!0,onClick:()=>C(x),disabled:g.length<=1})})]},`exp-${x}`)),e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",gap:12},children:[e.jsx(a.Button,{icon:e.jsx(ee.PlusOutlined,{}),onClick:A,children:"Add Experience"}),e.jsxs("div",{style:{display:"flex",gap:12},children:[e.jsx(a.Button,{onClick:o,children:"Back"}),e.jsx(ie,{type:"submit",value:d?"Saving...":"Save & Next",color:"primary",disabled:d,loading:d})]})]})]})})}const Mi=(t,n=[])=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){const s=n.length?n:["allowances","Allowances","dedection","Dedection","deductions","Deductions"],r=[t];t?.data&&typeof t.data=="object"&&r.push(t.data);for(const o of r)for(const d of s){const c=o?.[d]??o?.[d.toLowerCase()]??o?.[d.toUpperCase()];if(Array.isArray(c)&&c.length>0)return c}const l=t?.data;if(Array.isArray(l)&&l.length>0)return l}return[]},qa=[{label:"Per Hour",value:"Hourly"},{label:"Per Lecture",value:"lecture_wise"}];function Gh({token:t,mode:n,staffId:s,initialValues:r,onSubmitted:l,onBack:o}){const[d,c]=i.useState(!1),[g,y]=i.useState(r?.type??"Permanent"),[p,m]=i.useState(r?.salary_type??qa[0]?.value),[A,C]=i.useState(Number(r?.amount??0)),[b,f]=i.useState(Number(r?.basic_pay)),[x,R]=i.useState(r?.declarationPERyear??""),{data:k}=K(t?[Mc,t]:null,([S,E])=>G(S,E),{revalidateOnFocus:!1}),O=i.useMemo(()=>r?.allowances&&Array.isArray(r.allowances)&&r.allowances.length>0?r.allowances:Mi(k,["allowances","Allowances"]),[k,r]),_=i.useMemo(()=>r?.deductions&&Array.isArray(r.deductions)&&r.deductions.length>0?r.deductions:Mi(k,["dedection","Dedection","deductions","Deductions"]),[k,r]),D=i.useMemo(()=>{const S=Number(b||0),E=(Array.isArray(O)?O:[]).map(j=>{const P=j?.amount_type??j?.amountType??j?.type??"",I=Number(j?.Amount??j?.amount??0),W=String(P).trim().toLowerCase()==="flat"?I:Number(S)/100*Number(I||0);return{...j,value:Number.isFinite(W)?W:0}}),$=(Array.isArray(_)?_:[]).map(j=>{const P=j?.amount_type??j?.amountType??j?.type??"",I=Number(j?.Amount??j?.amount??0),W=String(P).trim().toLowerCase()==="flat"?I:Number(S)/100*Number(I||0);return{...j,value:Number.isFinite(W)?W:0}}),q=E.reduce((j,P)=>j+Number(P?.value||0),0),T=$.reduce((j,P)=>j+Number(P?.value||0),0),F=Math.max(0,Number(S)+q-T);return{allowances:E,deductions:$,netAmount:F}},[O,_,b]),u=async S=>{if(S.preventDefault(),c(!0),!s){v.error("Missing staff id.",{duration:1e3}),c(!1);return}const E=new FormData;E.append("staff_id",String(s)),E.append("type",g),g==="Nonpermanent"?(E.append("salary_type",p??""),E.append("amount",String(A||"")),E.append("Allowances",JSON.stringify([])),E.append("Dedection",JSON.stringify([]))):(E.append("basic_pay",String(b||"")),E.append("declarationPERyear",String(x??"")),E.append("Allowances",JSON.stringify(D.allowances||[])),E.append("Dedection",JSON.stringify(D.deductions||[])),E.append("amount",String(D.netAmount||0)));try{const $=n==="edit",q=$?sa.editPayroll:sa.addPayroll,T=$?await Jt(q,E,t):await Ut(q,E,t);v.success("Success!",{duration:1e3}),l?.({payroll:{staffType:g,salaryType:p,amount:A,basicPay:b,declaration:x},result:T})}catch($){v.error($?.response?.data?.msg??$?.message??"Failed.",{duration:1e3})}finally{c(!1)}},h=i.useMemo(()=>[{title:"Title",dataIndex:"title",key:"title",ellipsis:!0},{title:"Amount",key:"amount",width:160,render:(S,E)=>`${E?.Amount??""} / ${E?.amount_type??""}`},{title:"Value",dataIndex:"value",key:"value",width:120}],[]);return e.jsx("form",{onSubmit:u,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Z,{label:"Employment Type",options:[{label:"Permanent",value:"Permanent"},{label:"Non Permanent",value:"Nonpermanent"}],value:{label:g==="Nonpermanent"?"Non Permanent":"Permanent",value:g},onChange:S=>y(S?.value??"Permanent"),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),g==="Nonpermanent"?e.jsxs(e.Fragment,{children:[e.jsx(Z,{label:"Type",options:qa,value:qa.find(S=>S.value===p)??qa[0],onChange:S=>m(S?.value??qa[0]?.value),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),e.jsx(V,{type:"number",label:"Amount",value:A,onChange:S=>C(Number(S.target.value||0)),required:!0})]}):e.jsxs(e.Fragment,{children:[e.jsx(V,{type:"number",label:"Basic Pay",value:b,onChange:S=>f(Number(S.target.value||0)),required:!0}),e.jsx(V,{type:"text",label:"IT Declarations/Year",value:x,onChange:S=>R(S.target.value)}),e.jsx(V,{type:"number",label:"Net Amount",value:D.netAmount,disabled:!0})]})]}),g==="Permanent"&&e.jsxs(e.Fragment,{children:[e.jsx(a.Card,{size:"small",title:e.jsx("div",{style:{fontWeight:600},children:"Allowances"}),children:e.jsx(a.Table,{bordered:!0,size:"small",rowKey:(S,E)=>`${S?.title??"a"}-${E}`,columns:h,dataSource:D.allowances,pagination:!1})}),e.jsx(a.Card,{size:"small",title:e.jsx("div",{style:{fontWeight:600},children:"Deductions"}),children:e.jsx(a.Table,{bordered:!0,size:"small",rowKey:(S,E)=>`${S?.title??"d"}-${E}`,columns:h,dataSource:D.deductions,pagination:!1})})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end",gap:12},children:e.jsx(ie,{type:"submit",value:d?"Finishing...":"Finish",color:"primary",disabled:d,loading:d})})]})})}const Jh=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]};function jo({token:t,mode:n="add",staffId:s,onFinished:r}){const[l,o]=i.useState(0),[d,c]=i.useState(s??null),[g,y]=i.useState(null),[p,m]=i.useState(null),[A,C]=i.useState(null),b=n==="edit"?s??d:null,f=i.useMemo(()=>b?`${Ye.staff.basicById}?staff_id=${encodeURIComponent(String(b))}`:null,[b]),x=i.useMemo(()=>b?`${Ye.staff.experienceById}?staff_id=${encodeURIComponent(String(b))}`:null,[b]),R=i.useMemo(()=>b?`${Ye.staff.payrollById}?staff_id=${encodeURIComponent(String(b))}`:null,[b]),k=K(t&&f?[f,t]:null,([j,P])=>G(j,P)),O=K(t&&x?[x,t]:null,([j,P])=>G(j,P)),_=K(t&&R?[R,t]:null,([j,P])=>G(j,P)),D=k?.data,u=O?.data,h=_?.data,S=!!k?.isLoading;O?.isLoading,_?.isLoading;const E=i.useMemo(()=>{try{const j=JSON.parse(localStorage.getItem("genrall_settings")??"null");return String(j?.multiple_shift??"").toLowerCase()==="yes"}catch{return!1}},[]),$=i.useMemo(()=>{const j=Jh(D)[0]??D?.data??D??null;if(!j)return null;let P=null;const I=j?.shift_id??j?.shift_ids??j?.shift;if(I)if(E){const N=String(I).split(",").map(W=>W.trim()).filter(Boolean);N.length>0&&(P=N.map(W=>({value:String(W),label:W})))}else j?.shift_id?P={value:String(j.shift_id),label:j?.shift??""}:j?.shift&&(P={value:String(j.shift),label:j.shift});return{emp_number:j?.emp_number??j?.empNo??j?.employee_id??"",f_name:j?.f_name??j?.firstname??j?.first_name??j?.name??"",l_name:j?.l_name??j?.lastname??j?.last_name??j?.surname??"",pan_no:j?.pan_no??j?.pan??"",adhar_no:j?.adhar_no??j?.aadhar_no??"",email:j?.email??j?.email_id??"",dob:j?.dob??j?.date_of_birth??"",doj:j?.doj??j?.date_of_joining??j?.joining_date??"",bloodGroup:j?.bloodGroup??j?.blood_group??"",contact_no:j?.contact_no??j?.phone??j?.contact??"",education:j?.education??j?.qualification??"",address:j?.address??j?.bussiness_address??j?.business_address??"",file:j?.file??j?.profile_picture??j?.profile_pic??j?.image??"",genderValue:j?.gender?{value:j.gender,label:j.gender}:null,roleValue:j?.role_id?{value:String(j.role_id),label:j?.role??""}:j?.fk_roleid?{value:String(j.fk_roleid),label:j?.role??""}:null,departmentValue:j?.department?{value:String(j.department),label:j?.departments??""}:null,designationValue:j?.designation?{value:String(j.designation),label:j?.designations??""}:null,shiftValue:P}},[D,E]),q=i.useMemo(()=>{const j=u?.data??u??null;return(Array.isArray(j?.experience)?j.experience:Array.isArray(j)?j:[]).map(I=>({name:I?.name??"",from:I?.from_date??I?.from??"",to:I?.to_date??I?.to??"",image:I?.image??""}))},[u]),T=i.useMemo(()=>{const j=h?.data??h??null,I=(Array.isArray(j)?j:j?.data&&Array.isArray(j.data)?j.data:[])[0]??null;if(!I)return null;const N=h?.allowances??j?.allowances??[],W=h?.dedection??j?.dedection??h?.deductions??j?.deductions??[];return{type:I?.type??"Permanent",salary_type:I?.salary_type??"Hourly",amount:Number(I?.amount??0),basic_pay:Number(I?.basic_pay??0),declarationPERyear:I?.declarationPERyear??I?.it_declarationPERyear??"",allowances:Array.isArray(N)?N:[],deductions:Array.isArray(W)?W:[]}},[h]),F=i.useMemo(()=>[{title:"Basic"},{title:"Experience"},{title:"Payroll"}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:n==="edit"?"Edit Staff":"Add Staff"}),children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(a.Steps,{current:l,items:F}),l===0&&(n==="edit"&&S?e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",padding:40},children:e.jsx(a.Spin,{tip:"Loading staff data...",size:"large"})}):e.jsx(zh,{token:t,mode:n,staffId:b,initialValues:$,onSubmitted:({staffId:j})=>{j&&c(j),o(1)}})),l===1&&e.jsx(Kh,{token:t,mode:n,staffId:b??d,initialRows:q,onBack:()=>o(0),onSubmitted:()=>o(2)}),l===2&&e.jsx(Gh,{token:t,mode:n,staffId:b??d,initialValues:T,onBack:()=>o(1),onSubmitted:()=>{v.success("Completed.",{duration:1e3}),r?.({staffId:b??d}),o(0),n!=="edit"&&(c(null),y(null),m(null),C(null))}})]})})]})}function Qh({token:t}){return e.jsx(jo,{token:t,mode:"add"})}const Xh=({token:t})=>e.jsx(Qh,{token:t}),In=Ye.staff,Zh=Ye.roleDropdown,ef=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},tf=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]};function af({token:t,onNavigate:n}){const[s,r]=i.useState({page:1,rowsPerPage:10}),[l,o]=i.useState(""),[d,c]=i.useState(""),[g,y]=i.useState(!1),[p,m]=i.useState(null),{data:A}=K(t?[Zh,t]:null,([u,h])=>G(u,h)),C=i.useMemo(()=>ef(A),[A]),b=i.useMemo(()=>{const u=s.page,h=s.rowsPerPage,S=l&&!d?`${In.searchByRole}?role_id=${encodeURIComponent(String(l))}`:d?`${In.searchByKeywords}?key=${encodeURIComponent(String(d))}`:In.list,E=S.includes("?")?"&":"?";return`${S}${E}page=${encodeURIComponent(String(u))}&per_page=${encodeURIComponent(String(h))}`},[s.page,s.rowsPerPage,d,l]),{isLoading:f,error:x,data:R,mutate:k}=K(t?[b,t]:null,([u,h])=>G(u,h)),O=i.useMemo(()=>tf(R),[R]),_=async u=>{const h=u?.id??u?.fk_staffID??u?.staff_id;if(h)try{await yn(In.deactivate,h,t),v.success("Success! Staff deactivated.",{duration:1e3}),await k()}catch(S){v.error(S?.response?.data?.msg??S?.message??"Failed to deactivate staff.",{duration:1e3})}},D=i.useMemo(()=>[{title:"Emp ID",dataIndex:"employee_id",key:"employee_id",width:120,responsive:["lg"]},{title:"Name",key:"name",ellipsis:!0,render:(u,h)=>`${h?.name||""} ${h?.surname||""}`.trim()},{title:"Role",dataIndex:"role",key:"role",ellipsis:!0,responsive:["md"]},{title:"Department",dataIndex:"departments",key:"departments",ellipsis:!0,responsive:["md"]},{title:"Phone",dataIndex:"contact_no",key:"contact_no",ellipsis:!0,responsive:["md"]},{title:"Status",key:"steps",width:140,responsive:["lg"],render:(u,h)=>{const S=Number(h?.steps??h?.status??1),E=S<=1?30:S===2?60:100;return e.jsx(a.Progress,{percent:E,size:"small",format:$=>`${$}%`,style:{margin:"-4px 0"}})}},{title:"Action",key:"action",width:110,fixed:"right",render:(u,h)=>e.jsxs(a.Space,{size:"middle",children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>{typeof n=="function"?n("staff-edit",h):(m(h?.id??h?.fk_staffID??h?.staff_id??""),y(!0))}}),e.jsx(a.Popconfirm,{title:"Delete staff?",description:"Are you sure you want to deactivate this staff member?",okText:"Yes",cancelText:"No",onConfirm:()=>_(h),children:e.jsx(a.Button,{type:"text",danger:!0,size:"small",icon:e.jsx(ee.DeleteOutlined,{}),style:{padding:2}})})]})}],[t]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs("div",{style:{gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:20,alignItems:"start"},children:[e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:2,style:{margin:0},children:"Filters"}),children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Z,{options:[{value:"",label:"All Roles"},...C],closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Role",placeholder:"Role",allowSelectAll:!1,onChange:u=>{o(u?.value??""),r(h=>({...h,page:1}))}}),e.jsx(V,{type:"text",label:"Keyword",value:d,onChange:u=>c(u.target.value),placeholder:"Search by keywords"}),e.jsx(ie,{type:"button",value:"Refresh",onClick:()=>k()})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:8,style:{margin:0},children:"Staff Directory"}),children:e.jsx(a.Table,{bordered:!0,size:"small",loading:f,rowKey:u=>String(u?.id??u?.fk_staffID??u?.staff_id??Math.random()),columns:D,dataSource:O,pagination:{current:s.page,pageSize:s.rowsPerPage,onChange:(u,h)=>r({page:u,rowsPerPage:h}),showSizeChanger:!0},scroll:{x:"max-content"}})})]})]}),e.jsx(a.Drawer,{open:g,onClose:()=>{y(!1),m(null)},title:"Edit Staff",width:"80%",destroyOnClose:!0,footer:null,children:p!=null&&e.jsx(jo,{token:t,mode:"edit",staffId:String(p),onFinished:()=>{y(!1),m(null),k()}})})]})}const nf=({token:t,onNavigate:n})=>e.jsx(af,{token:t,onNavigate:n}),sf=Ye.attendance,rf=Ye.roleDropdown,Ei=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},kn={display:"block",marginBottom:6,fontSize:"14px",fontWeight:500,color:"#222"},Fi={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function lf({token:t,open:n,onClose:s,roleId:r,onSaved:l}){const[o,d]=i.useState(null),[c,g]=i.useState(""),[y,p]=i.useState(se()),[m,A]=i.useState(se()),[C,b]=i.useState(se()),f=i.useMemo(()=>r?`${Ye.attendance.staffDropdownByRole}?role_id=${encodeURIComponent(String(r))}`:null,[r]),{data:x}=K(t&&f?[f,t]:null,([u,h])=>G(u,h)),R=i.useMemo(()=>Ei(x),[x]),{trigger:k,data:O}=pt(t?Ye.attendance.staffShiftByStaffId:null,(u,{arg:h})=>na(u,{arg:h},t)),_=i.useMemo(()=>Ei(O),[O]),D=async()=>{if(!o?.value){v.error("Select staff.",{duration:1e3});return}if(!c){v.error("Select shift.",{duration:1e3});return}const u=new FormData;u.set("staffID",String(o.value)),u.set("shift_id",String(c)),u.set("attendance_date",y?y.format("YYYY-MM-DD"):""),u.set("intime",m?m.format("h:mm a"):""),u.set("outime",C?C.format("h:mm a"):"");try{await Ut(Ye.attendance.manualAttendance,u,t),v.success("Success!",{duration:1e3}),l?.(),s?.(),d(null),g(""),p(se()),A(se()),b(se())}catch(h){v.error(h?.response?.data?.msg??h?.message??"Failed.",{duration:1e3})}};return e.jsx(a.Modal,{open:n,onCancel:s,footer:null,destroyOnClose:!0,title:"Attendance",width:620,children:e.jsx(a.Card,{children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(Z,{label:"Staff",options:R,value:o,onChange:async u=>{if(d(u??null),g(""),u?.value&&k)try{await k({staff_id:u.value})}catch{}},closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0}),e.jsxs("div",{children:[e.jsx("div",{style:kn,children:"Shift"}),e.jsx(a.Radio.Group,{value:c,onChange:u=>g(u.target.value),style:{display:"grid",gap:8},children:_.map(u=>e.jsx(a.Radio,{value:u?.value,children:u?.label??u?.name??u?.title??String(u?.value??"")},String(u?.value)))})]}),e.jsxs("div",{children:[e.jsx("div",{style:kn,children:"Date"}),e.jsx(a.DatePicker,{value:y,onChange:u=>u&&p(u),style:{width:"100%"}})]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:16},children:[e.jsxs("div",{children:[e.jsx("div",{style:kn,children:"Start Time"}),e.jsx(a.TimePicker,{value:m,onChange:u=>u&&A(u),use12Hours:!0,format:"h:mm a",style:Fi})]}),e.jsxs("div",{children:[e.jsx("div",{style:kn,children:"End Time"}),e.jsx(a.TimePicker,{value:C,onChange:u=>u&&b(u),use12Hours:!0,format:"h:mm a",style:Fi})]})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:12},children:[e.jsx(a.Button,{onClick:s,children:"Cancel"}),e.jsx(ie,{type:"button",value:"Save",color:"primary",onClick:D})]})]})})})}const of=({tableRef:t,excelDisabled:n})=>{const s=new Date().getTime(),r=ia.useReactToPrint({content:()=>t?.current});return e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsxs(a.Row,{gutter:8,children:[e.jsx(a.Col,{children:e.jsx(a.Button,{type:"text",icon:e.jsx(ee.PrinterOutlined,{style:{color:"#5080f8"}}),onClick:r})}),e.jsx(a.Col,{children:n?e.jsx(a.Button,{type:"text",icon:e.jsx(ee.FileTextOutlined,{style:{color:"gray"}}),onClick:()=>v.error("You must save attendance before download",{duration:2e3})}):e.jsx(po.DownloadTableExcel,{filename:s,sheet:"users",currentTableRef:t?.current,children:e.jsx(a.Button,{type:"text",icon:e.jsx(ee.FileTextOutlined,{style:{color:"#5080f8"}})})})})]})})})},df=(t,n)=>{const s=t?.data?.data??t?.data??t??null;return s?n==="student"?Array.isArray(s?.student)?s.student:[]:Array.isArray(s?.staff)?s.staff:[]:[]},cf=t=>{const n=t?.pagination?.total_rows??t?.data?.pagination?.total_rows??t?.total??t?.total_rows,s=Number(n);return Number.isFinite(s)&&s>=0?s:0},uf=(t,n)=>{const s=t?.data?.data??t?.data??t??null;return s?n==="student"?{sunday:String(s?.sunday??"").toLowerCase()==="yes",holiday:String(s?.holiday??"").toLowerCase()==="yes"}:{sunday:!!s?.sunday,holiday:!!s?.holiday}:{sunday:!1,holiday:!1}};function pf({token:t,url:n,columns:s,reload:r,setReload:l,saveBtnRef:o,setSaveBtnDisabled:d,date:c,type:g="staff"}){const y=i.useRef(null),[p,m]=i.useState({page:0,rowsPerPage:10}),[A,C]=i.useState(!1),[b,f]=i.useState(!1),[x,R]=i.useState(null),[k,O]=i.useState([]),[_,D]=i.useState({sunday:!1,holiday:!1}),[u,h]=i.useState(!0);i.useEffect(()=>{m(q=>({...q,page:0}))},[n]),i.useEffect(()=>{let q=!0;return(async()=>{if(!(!t||!n)){C(!0);try{const F=String(n).includes("?")?"&":"?",j=`${n}${F}page=${p.page+1}&per_page=${p.rowsPerPage}`,P=await G(j,t);if(!q)return;R(P),P?.Status==="Success"?(d?.(!1),O(df(P,g)),D(uf(P,g))):(d?.(!0),O([]),D({sunday:!1,holiday:!1}))}catch{if(!q)return;d?.(!0),O([])}finally{q&&C(!1)}}})(),()=>{q=!1}},[p.page,p.rowsPerPage,r,d,t,g,n]);const S=i.useMemo(()=>cf(x),[x]);i.useEffect(()=>{const q=(Array.isArray(k)?k:[]).find(T=>T?.attendence_type_id===null);h(!!q)},[k]);const E=async()=>{if(t){f(!0);try{if(g==="staff"){const q=(Array.isArray(k)?k:[]).map(T=>({staff_id:T?.staff_id,attendence_type_id:T?.attendence_type_id?T.attendence_type_id:"1",in_time:T?.intime,out_time:T?.outtime,date:c}));await Ut(Ye.attendance.addAttendanceToStaffByBranch,q,t),v.success("Attendance saved successfully",{duration:2e3}),l?.(T=>!T)}else v.error("Student attendance save is not migrated yet.",{duration:2e3})}catch(q){v.error(q?.response?.data?.msg??q?.message??"Failed required dates",{duration:2e3})}finally{f(!1)}}},$=i.useMemo(()=>(Array.isArray(s)?s:[]).map(T=>T?.selector==="attendence_type_id"?{title:T?.name??"Attendance",dataIndex:T.selector,key:T.selector,render:F=>F==null||F===""?e.jsx(a.Tag,{color:"orange",children:"Not Set"}):String(F)==="1"?e.jsx(a.Tag,{color:"green",children:"Present"}):String(F)==="4"?e.jsx(a.Tag,{color:"red",children:"Absent"}):String(F)==="3"?e.jsx(a.Tag,{color:"orange",children:"Late"}):e.jsx(a.Tag,{children:String(F)})}:T?.selector==="snum"?{title:T?.name??"Sl",key:T.selector,render:(F,j,P)=>P+1}:{title:T?.name??T?.selector,dataIndex:T?.selector,key:T?.selector}),[s]);return e.jsxs("div",{style:{width:"100%"},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs(a.Card,{children:[e.jsx(of,{tableRef:y,excelDisabled:u}),e.jsx(a.Modal,{open:b,footer:null,closable:!1,centered:!0,children:e.jsxs("div",{style:{display:"grid",placeItems:"center",gap:12,padding:12},children:[e.jsx(a.Spin,{size:"large"}),e.jsx("div",{children:"Please wait..."})]})}),_.sunday?e.jsx("div",{style:{textAlign:"center",fontWeight:600,padding:"16px 0"},children:"Weekly Off"}):_.holiday?e.jsx("div",{style:{textAlign:"center",padding:"16px 0"},children:e.jsx("div",{style:{fontWeight:700,marginBottom:6},children:"Holiday"})}):e.jsxs(e.Fragment,{children:[e.jsx("div",{ref:y,children:e.jsx(a.Table,{bordered:!0,size:"small",rowKey:(q,T)=>String(q?.id??q?.staff_id??T),columns:$,dataSource:k,loading:A,pagination:{current:p.page+1,pageSize:p.rowsPerPage,total:S,showSizeChanger:!0,onChange:(q,T)=>m({page:q-1,rowsPerPage:T})},scroll:{x:"max-content"}})}),e.jsx("button",{type:"button",onClick:E,ref:o,style:{display:"none"},children:"hidden"})]})]})]})}const mf=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},hf={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function ff({token:t}){const[n,s]=i.useState(""),[r,l]=i.useState(se().format("YYYY-MM-DD")),[o,d]=i.useState(!1),[c,g]=i.useState(null),[y,p]=i.useState(!1),[m,A]=i.useState(!0),[C,b]=i.useState(!1),f=i.useRef(null),{data:x}=K(t?[rf,t]:null,([O,_])=>G(O,_)),R=i.useMemo(()=>mf(x),[x]),k=i.useMemo(()=>[{id:"1",name:"Staff Id",selector:"employee_id",sortable:!0},{id:"2",name:"Name",selector:"full_name",sortable:!0},{id:"4",name:"Contact",selector:"contact_no",sortable:!0},{id:"3",name:"Attendance",selector:"attendence_type_id",sortable:!0},{id:"5",name:"In Time",selector:"intime",sortable:!0},{id:"6",name:"Out Time",selector:"outtime",sortable:!0}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Staff Attendance"}),children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Z,{options:R,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Roles",placeholder:"Roles",allowSelectAll:!1,onChange:O=>s(O?.value??""),required:!0}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Date"}),e.jsx(a.DatePicker,{defaultValue:se(),onChange:O=>O&&l(O.format("YYYY-MM-DD")),style:hf,allowClear:!1})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"button",value:"Search",color:"primary",onClick:()=>{!n||!r||(g(`${sf.staffListForAttendance}?role=${encodeURIComponent(String(n))}&date=${encodeURIComponent(String(r))}`),d(O=>!O))}})})]})}),e.jsxs(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Staff Attendance List"}),children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",gap:12,flexWrap:"wrap",marginBottom:12},children:[e.jsx(a.Button,{size:"small",type:y?"primary":"default",onClick:()=>p(O=>!O),children:y?"Marked":"Mark As Holiday"}),e.jsx(a.Button,{size:"small",type:"default",disabled:m,onClick:()=>b(!0),children:"Give Attendance"})]}),c?e.jsx(pf,{token:t,url:c,columns:k,reload:o,setReload:d,saveBtnRef:f,setSaveBtnDisabled:A,date:r,type:"staff",holidayChecked:y}):null]}),e.jsx(lf,{token:t,open:C,onClose:()=>b(!1),roleId:n,onSaved:()=>d(O=>!O)})]})}const yf=({token:t})=>e.jsx(ff,{token:t}),$i=Ye.attendanceReport.monthlyStaffReport,gf=Ye.roleDropdown,xf=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]};function bf({token:t}){const n=i.useRef(null),[s,r]=i.useState(!1),[l,o]=i.useState([]),[d,c]=i.useState({role:"",rolllabel:"",year:"",month:""}),g=i.useMemo(()=>dr(5),[]),{data:y}=K(t?[gf,t]:null,([q,T])=>G(q,T)),p=i.useMemo(()=>xf(y),[y]),[m,A]=i.useState([]),[C,b]=i.useState(1),[f,x]=i.useState(!1),[R,k]=i.useState(!1),[O,_]=i.useState(null),D=i.useMemo(()=>{try{return JSON.parse(localStorage.getItem("genrall_settings"))?.session_id??"1"}catch{return"1"}},[]),{trigger:u}=pt(t&&$i?`${$i}?page=${C}&per_page=3`:null,(q,{arg:T})=>na(q,{arg:T},t),{onSuccess:q=>{x(!1);const T=Array.isArray(q)?q:[];T.length>0&&A(F=>[...F||[],...T]),T.length>1?b(F=>F+1):k(!1)},onError:()=>{x(!1),k(!1)}});i.useEffect(()=>{R&&u&&O&&u(O)},[R,C,O,u]);const h=i.useMemo(()=>{const q=[{title:"Staff Id",dataIndex:"employee_id",key:"employee_id",align:"center"},{title:"Name",dataIndex:"full_name",key:"full_name",render:(T,F)=>e.jsx("span",{className:"attendanceFont",style:{cursor:"pointer",whiteSpace:"nowrap",color:"blue",textDecoration:"underline"},children:F?.full_name??""})}];return Array.isArray(m)&&m.length>0&&((m[0]?.monthly_data??[]).forEach((F,j)=>{q.push({title:j+1,align:"center",key:String(j+1),render:(P,I)=>{const N=I?.monthly_data?.[j]?.[0]?.data?.[0]??{},W=N?.intime??"",Y=N?.outtime??"",B=N?.attendance_type??"";return e.jsx(a.Tooltip,{title:e.jsxs("div",{style:{fontSize:12},children:[e.jsxs("div",{children:["In Time ",W]}),e.jsxs("div",{children:["Out Time ",Y]})]}),placement:"top",children:e.jsx("span",{className:"attendanceFont",style:{fontSize:10,display:"flex",justifyContent:"center"},children:ut(B)})})}})}),q.push({title:"Total",key:"Total",render:(F,j)=>{const P=j?.monthly_data??[],I=P.filter(W=>W?.[0]?.data?.[0]?.attendance_type==="A").length,N=P.filter(W=>W?.[0]?.data?.[0]?.attendance_type==="P").length;return e.jsx("span",{className:"attendanceFont",children:e.jsxs("b",{children:["A : ",I," P : ",N]})})}})),q},[m]),S=i.useMemo(()=>[{label:"Present",el:ut("P")},{label:"Absent",el:ut("A")},{label:"Leave",el:ut("L")},{label:"Weekly Off",el:ut("W")},{label:"Holiday",el:ut("H")}],[]),E=i.useMemo(()=>d.month?l.find(q=>q?.value==d.month)?.label??d.month??"--":"--",[d.month,l]),$=async q=>{if(q.preventDefault(),!d.role||!d.year||!d.month)return;b(1),x(!0),A([]);const T={session:D,year:d.year,month:d.month,day:"01",role:d.role};_(T),k(!0),await u?.(T)};return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(a.Card,{className:"d-print-none",title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Attendance Report"}),children:e.jsx("form",{onSubmit:$,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Z,{options:p,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Roles",allowSelectAll:!1,name:"role",required:!0,onChange:q=>c(T=>({...T,role:q?.value??"",rolllabel:q?.label??""}))}),e.jsx(Z,{options:g,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Year",allowSelectAll:!1,name:"year",required:!0,onChange:q=>{const T=cr(q?.value);o(T),r(F=>!F),c(F=>({...F,year:q?.label??""}))}}),e.jsx(Z,{options:l,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Month",allowSelectAll:!1,name:"month",required:!0,onChange:q=>c(T=>({...T,month:q?.value??""}))},`month-${s}`),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Monthly Attendance Report"}),children:e.jsxs("div",{ref:n,children:[e.jsx("div",{className:"print-only",children:e.jsx($t,{})}),e.jsxs("div",{style:{border:"1px solid #ddd",borderRadius:8,padding:16,marginBottom:24,backgroundColor:"#f8f9fa"},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr auto",gap:12,alignItems:"center"},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:18,fontWeight:600,marginBottom:6},children:"Staff Attendance Summary"}),e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:10,fontSize:13},children:[e.jsxs("div",{children:["Role: ",e.jsx("span",{style:{fontWeight:700},children:d.rolllabel||"--"})]}),e.jsxs("div",{children:["Year: ",e.jsx("span",{style:{fontWeight:700},children:d.year||"--"})]}),e.jsxs("div",{children:["Month: ",e.jsx("span",{style:{fontWeight:700},children:E})]})]})]}),e.jsx("div",{className:"d-print-none",style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(kt,{data:{tableRef:n}})})]}),e.jsx("div",{style:{marginTop:14,paddingTop:14,borderTop:"1px solid #e0e0e0"},children:e.jsx("div",{style:{display:"flex",justifyContent:"center",flexWrap:"wrap",gap:12,fontSize:12},children:S.map(q=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[e.jsxs("div",{children:[q.label," :"]}),e.jsx("div",{children:q.el})]},q.label))})})]}),e.jsx(a.Skeleton,{active:!0,loading:f,paragraph:{rows:10},children:e.jsx(a.Table,{size:"small",bordered:!0,className:"my-zero-padding-table",columns:h,dataSource:m,pagination:!1,scroll:{x:"max-content"},rowKey:(q,T)=>String(q?.staff_id??q?.id??T)})})]})})]})}const jf=({token:t})=>e.jsx(bf,{token:t}),Ui=Ye.payroll,Sf=Ye.roleDropdown,vf=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},wf=t=>t?.data?.data??t?.data??t??[];function _f({token:t,receiptDetailsPath:n="/HumanResourceDashboard/PayrollReceiptDetails",onOpenReceiptDetails:s}){const[r,l]=i.useState({page:1,rowsPerPage:10}),[o,d]=i.useState(!1),[c,g]=i.useState([]),[y,p]=i.useState({role:"",roleLabel:"",year:"",month:""}),[m,A]=i.useState(null),C=h=>{if(!h)return;if(typeof s=="function"){s(h);return}const S=`${n}?id=${encodeURIComponent(String(h))}`;typeof window<"u"&&window?.location&&(window.location.href=S)},{data:b}=K(t?[Sf,t]:null,([h,S])=>G(h,S)),f=i.useMemo(()=>vf(b),[b]),x=i.useMemo(()=>dr(5),[]),{isLoading:R,error:k,data:O}=K(t&&m?[m,t]:null,([h,S])=>G(h,S)),_=i.useMemo(()=>{const h=wf(O);return Array.isArray(h)?h:[]},[O]),D=i.useMemo(()=>{const h=O?.pagination?.total_rows??O?.data?.pagination?.total_rows??O?.total??O?.total_rows,S=Number(h);return Number.isFinite(S)&&S>=0?S:_.length},[O,_.length]),u=i.useMemo(()=>[{title:"Sl No.",key:"sl",width:70,render:(h,S,E)=>E+1},{title:"Name",dataIndex:"full_name",key:"full_name",ellipsis:!0},{title:"Designations",dataIndex:"designations",key:"designations",ellipsis:!0,responsive:["md"]},{title:"Mobile No",dataIndex:"contact_no",key:"contact_no",width:140,responsive:["md"]},{title:"Status",dataIndex:"status",key:"status",width:120,align:"center",render:(h,S)=>{const E=S?.id??S?.staff_id??S?.staffId;return e.jsx(a.Button,{type:"link",size:"small",style:{padding:0,fontSize:12},onClick:()=>{C(E)},children:co(S?.status)})}}],[]);return e.jsx("div",{style:{display:"grid",gap:20},children:e.jsxs(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Payroll"}),children:[e.jsx("form",{onSubmit:h=>{if(h.preventDefault(),!y.role||!y.year||!y.month)return;const S=`${Ui.payrollByRole}?page=${encodeURIComponent(String(r.page))}&per_page=${encodeURIComponent(String(r.rowsPerPage))}&role=${encodeURIComponent(String(y.role))}&year=${encodeURIComponent(String(y.year))}&month=${encodeURIComponent(String(y.month))}`;A(S)},children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end",marginBottom:14,padding:14,borderRadius:12,border:"1px solid #eee",background:"#fafafa"},children:[e.jsx(Z,{options:f,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Roles",placeholder:"Roles",allowSelectAll:!1,name:"role",required:!0,onChange:h=>p(S=>({...S,role:h?.value??"",roleLabel:h?.label??""}))}),e.jsx(Z,{options:x,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Year",allowSelectAll:!1,name:"year",required:!0,onChange:h=>{const S=cr(h?.value);g(S),d(E=>!E),p(E=>({...E,year:h?.label??"",month:""}))}}),e.jsx(Z,{options:c,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Month",allowSelectAll:!1,name:"month",required:!0,onChange:h=>p(S=>({...S,month:h?.value??""}))},`month-${o}`),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Search",color:"primary",onClick:()=>l(h=>({...h,page:1}))})})]})}),e.jsx(a.Table,{bordered:!0,size:"small",loading:R,rowKey:(h,S)=>String(h?.id??h?.staff_id??S),columns:u,dataSource:_,pagination:{current:r.page,pageSize:r.rowsPerPage,total:D,showSizeChanger:!0,onChange:(h,S)=>{l({page:h,rowsPerPage:S}),!(!y.role||!y.year||!y.month)&&A(`${Ui.payrollByRole}?page=${encodeURIComponent(String(h))}&per_page=${encodeURIComponent(String(S))}&role=${encodeURIComponent(String(y.role))}&year=${encodeURIComponent(String(y.year))}&month=${encodeURIComponent(String(y.month))}`)}},scroll:{x:"max-content"}})]})})}const Cf=({token:t})=>e.jsx(_f,{token:t}),So=Ye.leave,ka=({baseUrl:t,page:n=1,perPage:s=10,token:r})=>K(r&&t?[t,n,s,r]:null,([o,d,c,g])=>Oh({baseUrl:o,page:d,perPage:c},g)),Af=({token:t,page:n=1,perPage:s=10})=>ka({token:t,baseUrl:So.requestTable,page:n,perPage:s}),Df=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},Tf=(t,n)=>{const s=new FormData;return Object.entries(t??{}).forEach(([r,l])=>{l!=null&&s.append(r,String(l))}),s.set("status",n),s};function Rf({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),{isLoading:r,error:l,data:o,mutate:d}=Af({token:t,page:n.page,perPage:n.rowsPerPage}),c=i.useMemo(()=>Df(o),[o]),g=async(p,m)=>{try{const A=Tf(p,m),C=await Jt(So.approveRequest,A,t);C?.Status==="Success"?v.success("Success! Updated request.",{duration:1e3,icon:"ð"}):v.error(C?.msg??"Failed to update request.",{duration:1e3}),await d()}catch(A){v.error(A?.response?.data?.msg??A?.message??"Failed to update request.",{duration:1e3})}},y=i.useMemo(()=>[{title:"Name",key:"full_name",ellipsis:!0,render:(p,m)=>m?.full_name??m?.staff_name??""},{title:"From",key:"leave_from",width:120,render:(p,m)=>m?.leave_from??m?.from_date??""},{title:"To",key:"leave_to",width:120,render:(p,m)=>m?.leave_to??m?.to_date??""},{title:"Leave Type",key:"leavetype",ellipsis:!0,render:(p,m)=>m?.leavetype??m?.leave_type??""},{title:"Leave Days",key:"leave_days",width:110,render:(p,m)=>m?.leave_days??""},{title:"Remarks",key:"employee_remark",ellipsis:!0,responsive:["md"],render:(p,m)=>m?.employee_remark??m?.reason??""},{title:"View",key:"document_file",width:140,render:(p,m)=>{const A=m?.document_file;return A?e.jsx(a.Button,{size:"small",onClick:()=>window.open(A,"_blank","noopener,noreferrer"),children:"View Document"}):"-"}},{title:"Status",dataIndex:"status",key:"status",width:140,align:"center",render:(p,m)=>{const A=String(m?.status??"").toLowerCase();return A==="approved"?e.jsx(a.Tag,{color:"green",children:"Approved"}):A==="declined"?e.jsx(a.Tag,{color:"red",children:"Declined"}):e.jsxs("div",{style:{display:"flex",justifyContent:"center",gap:10},children:[e.jsx(a.Button,{type:"text",size:"small",onClick:()=>g(m,"approved"),icon:e.jsx(ee.CheckOutlined,{style:{color:"#06c937"}})}),e.jsx(a.Button,{type:"text",size:"small",onClick:()=>g(m,"declined"),icon:e.jsx(ee.CloseOutlined,{style:{color:"#e80911"}})})]})}}],[t]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Approve Leave Requests"}),children:e.jsx(a.Table,{bordered:!0,size:"small",loading:r,rowKey:(p,m)=>String(p?.id??p?.leave_id??m),columns:y,dataSource:c,pagination:{current:n.page,pageSize:n.rowsPerPage,onChange:(p,m)=>s({page:p,rowsPerPage:m}),showSizeChanger:!0},scroll:{x:"max-content"}})})]})}const If=({token:t})=>e.jsx(Rf,{token:t}),kf=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"",Pf=({token:t,value:n,onChange:s})=>{const r=i.useMemo(()=>{if(t)return{Authorization:t}},[t]);return e.jsx(a.Upload,{maxCount:1,action:go(),headers:r,onChange:l=>{if(l?.file?.status==="done"){const o=kf(l?.file?.response);o&&s?.(o)}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:n?"Change":"Upload"})})},vo=Ye.leave,Of=Ye.master.leaveType.dropdown,Mf=({token:t,page:n=1,perPage:s=10})=>ka({token:t,baseUrl:vo.table,page:n,perPage:s}),Ef=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},$s={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function Ff({token:t,userType:n}){const[s,r]=i.useState({page:1,rowsPerPage:10}),[l,o]=i.useState(!1),[d,c]=i.useState(""),[g]=a.Form.useForm();console.log("ApplyLeavePage render",n);const{isLoading:y,error:p,data:m,mutate:A}=Mf({token:t,page:s.page,perPage:s.rowsPerPage}),{data:C}=K(t?[Of,t]:null,([u,h])=>G(u,h)),b=i.useMemo(()=>Ef(C),[C]),f=(u,h)=>r({page:u,rowsPerPage:parseInt(h,10)}),x=()=>{c(""),g.resetFields(),g.setFieldsValue({apply_date:se()}),o(!0)},R=()=>{o(!1),c(""),g.resetFields()},k=async u=>{const h=new FormData;h.set("apply_date",u?.apply_date?u.apply_date.format("YYYY-MM-DD"):""),h.set("leave_type",u?.leave_type?.value??u?.leave_type??""),h.set("from_date",u?.from_date?u.from_date.format("YYYY-MM-DD"):""),h.set("to_date",u?.to_date?u.to_date.format("YYYY-MM-DD"):""),h.set("reason",u?.reason??""),d&&h.set("file",d);try{await Ut(vo.apply,h,t),v.success("Success! Leave request submitted.",{duration:1e3}),R(),await A()}catch(S){v.error(S?.response?.data?.msg??S?.message??"Failed to submit leave request.",{duration:1e3})}},O=i.useMemo(()=>{const u=m?.data??m??[];return Array.isArray(u)?u:Array.isArray(u?.data)?u.data:[]},[m]),_=i.useMemo(()=>[{title:"Leave Type",key:"leavetype",render:(u,h)=>h?.leavetype??h?.leave_type??""},{title:"Apply Date",key:"date",width:130,render:(u,h)=>h?.date??h?.apply_date??""},{title:"From",key:"leave_from",width:130,render:(u,h)=>h?.leave_from??h?.from_date??""},{title:"To",key:"leave_to",width:130,render:(u,h)=>h?.leave_to??h?.to_date??""},{title:"Approval Status",dataIndex:"status",key:"status",width:140},{title:"Remark",key:"employee_remark",render:(u,h)=>h?.employee_remark??"",ellipsis:!0,responsive:["md"]}],[]),D=n==="staff";return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Modal,{open:l,title:"Add Leave Request",onCancel:R,footer:null,destroyOnClose:!0,children:e.jsxs(a.Form,{form:g,layout:"vertical",onFinish:k,children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Date"}),e.jsx(a.Form.Item,{name:"apply_date",rules:[{required:!0,message:"Select date"}],style:{marginBottom:0},children:e.jsx(a.DatePicker,{style:$s})})]}),e.jsx(a.Form.Item,{name:"leave_type",rules:[{required:!0,message:"Select leave type"}],children:e.jsx(Z,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Leave Type",allowSelectAll:!1})}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"From"}),e.jsx(a.Form.Item,{name:"from_date",rules:[{required:!0,message:"Select from date"}],style:{marginBottom:0},children:e.jsx(a.DatePicker,{style:$s})})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"To"}),e.jsx(a.Form.Item,{name:"to_date",rules:[{required:!0,message:"Select to date"}],style:{marginBottom:0},children:e.jsx(a.DatePicker,{style:$s})})]}),e.jsx(a.Form.Item,{name:"reason",rules:[{required:!0,message:"Enter reason"}],children:e.jsx(V,{type:"text",label:"Reason",placeholder:"Reason"})}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingTop:22},children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222"},children:"Attachment"}),e.jsx(Pf,{token:t,value:d,onChange:c})]})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:12},children:[e.jsx(a.Button,{onClick:R,children:"Cancel"}),e.jsx(ie,{type:"submit",value:"Save",color:"primary"})]})]})}),D&&e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Apply Leave"}),extra:e.jsx(ie,{type:"button",value:"Add Leave Request",onClick:x})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Leave Requests"}),children:e.jsx(a.Table,{bordered:!0,size:"small",loading:y,rowKey:(u,h)=>String(u?.id??u?.leave_id??h),columns:_,dataSource:O,pagination:{current:s.page,pageSize:s.rowsPerPage,onChange:(u,h)=>f(u,h),showSizeChanger:!0},scroll:{x:"max-content"}})})]})}const $f=({token:t,userType:n})=>e.jsx(Ff,{token:t,userType:n}),Vn=Ye.master.leaveType,Uf=({token:t,page:n=1,perPage:s=10})=>ka({token:t,baseUrl:Vn.table,page:n,perPage:s});function Bf({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r]=a.Form.useForm(),[l]=a.Form.useForm(),[o,d]=i.useState(!1),[c,g]=i.useState(null),{isLoading:y,error:p,data:m,mutate:A}=Uf({token:t,page:n.page,perPage:n.rowsPerPage}),C=(_,D)=>{s({page:_,rowsPerPage:parseInt(D,10)})},b=async _=>{const D=new FormData;D.set("title",_?.title??"");try{await A(Ut(Vn.add,D,t),st(D)),v.success("Success! Added new leave type.",{duration:1e3,icon:"ð"}),r.resetFields()}catch(u){v.error(u?.response?.data?.msg??u?.message??"Failed to add leave type.",{duration:1e3})}},f=_=>{g(_??null),l.setFieldsValue({title:_?.leave_type_name??_?.name??""}),d(!0)},x=()=>{d(!1),g(null),l.resetFields()},R=async _=>{const D=c?.id??c?.leave_type_id;if(!D){v.error("Missing leave type id.",{duration:1e3});return}const u=new FormData;u.set("id",String(D)),u.set("title",_?.title??"");try{await Jt(Vn.edit,u,t),await A(),v.success("Success! Updated leave type.",{duration:1e3,icon:"ð"}),x()}catch(h){v.error(h?.response?.data?.msg??h?.message??"Failed to update leave type.",{duration:1e3})}},k=async _=>{const D=_?.id??_?.leave_type_id;if(D)try{await A(yn(Vn.remove,D,t),nt(D)),v.success("Success! Deleted leave type.",{duration:1e3})}catch(u){v.error(u?.response?.data?.msg??u?.message??"Failed to delete leave type.",{duration:1e3})}},O=i.useMemo(()=>[{title:"Name",dataIndex:"type",key:"type",ellipsis:!0},{title:"Action",key:"action",width:110,fixed:"right",render:(_,D)=>e.jsxs(a.Space,{size:6,children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>f(D)}),e.jsx(a.Popconfirm,{title:"Remove leave type?",okText:"Yes",cancelText:"No",onConfirm:()=>k(D),children:e.jsx(a.Button,{danger:!0,type:"text",size:"small",icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[c]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Modal,{open:o,title:"Edit Leave Type",onCancel:x,footer:null,destroyOnClose:!0,children:e.jsxs(a.Form,{form:l,layout:"vertical",onFinish:R,children:[e.jsx(a.Form.Item,{name:"title",rules:[{required:!0,message:"Enter leave type name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[e.jsx(a.Button,{onClick:x,children:"Cancel"}),e.jsx(ie,{type:"submit",value:"Update",color:"primary"})]})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Leave Type"}),children:e.jsxs(a.Form,{form:r,layout:"vertical",onFinish:b,children:[e.jsx(a.Form.Item,{name:"title",rules:[{required:!0,message:"Enter leave type name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsx(ie,{type:"submit",value:"Save",color:"primary"})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Leave Type List"}),children:e.jsx(ze,{parentCallback:C,data:{newData:m,columns:O,columnstype:"antd",action:!1,Loading:y,error:p}})})]})}const Nf=({token:t})=>e.jsx(Bf,{token:t}),Hn=Ye.master.department,Lf=({token:t,page:n=1,perPage:s=10})=>ka({token:t,baseUrl:Hn.table,page:n,perPage:s});function qf({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r]=a.Form.useForm(),[l]=a.Form.useForm(),[o,d]=i.useState(!1),[c,g]=i.useState(null),{isLoading:y,error:p,data:m,mutate:A}=Lf({token:t,page:n.page,perPage:n.rowsPerPage}),C=(_,D)=>{s({page:_,rowsPerPage:parseInt(D,10)})},b=async _=>{const D=new FormData;D.set("title",_?.title??"");try{await A(Ut(Hn.add,D,t),st(D)),v.success("Success! Added new department.",{duration:1e3,icon:"ð"}),r.resetFields()}catch(u){v.error(u?.response?.data?.msg??u?.message??"Failed to add department.",{duration:1e3})}},f=_=>{g(_??null),l.setFieldsValue({title:_?.department_name??_?.name??""}),d(!0)},x=()=>{d(!1),g(null),l.resetFields()},R=async _=>{const D=c?.id??c?.department_id;if(!D){v.error("Missing department id.",{duration:1e3});return}const u=new FormData;u.set("id",String(D)),u.set("title",_?.title??"");try{await Jt(Hn.edit,u,t),await A(),v.success("Success! Updated department.",{duration:1e3,icon:"ð"}),x()}catch(h){v.error(h?.response?.data?.msg??h?.message??"Failed to update department.",{duration:1e3})}},k=async _=>{const D=_?.id??_?.department_id;if(D)try{await A(yn(Hn.remove,D,t),nt(D)),v.success("Success! Deleted department.",{duration:1e3})}catch(u){v.error(u?.response?.data?.msg??u?.message??"Failed to delete department.",{duration:1e3})}},O=i.useMemo(()=>[{title:"Name",dataIndex:"department_name",key:"department_name",ellipsis:!0},{title:"Action",key:"action",width:110,fixed:"right",render:(_,D)=>e.jsxs(a.Space,{size:6,children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>f(D)}),e.jsx(a.Popconfirm,{title:"Remove department?",okText:"Yes",cancelText:"No",onConfirm:()=>k(D),children:e.jsx(a.Button,{danger:!0,type:"text",size:"small",icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[c]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Modal,{open:o,title:"Edit Department",onCancel:x,footer:null,destroyOnClose:!0,children:e.jsxs(a.Form,{form:l,layout:"vertical",onFinish:R,children:[e.jsx(a.Form.Item,{name:"title",rules:[{required:!0,message:"Enter department name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[e.jsx(a.Button,{onClick:x,children:"Cancel"}),e.jsx(ie,{type:"submit",value:"Update",color:"primary"})]})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Department"}),children:e.jsxs(a.Form,{form:r,layout:"vertical",onFinish:b,children:[e.jsx(a.Form.Item,{name:"title",rules:[{required:!0,message:"Enter department name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsx(ie,{type:"submit",value:"Save",color:"primary"})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Department List"}),children:e.jsx(ze,{parentCallback:C,data:{newData:m,columns:O,columnstype:"antd",action:!1,Loading:y,error:p}})})]})}const zf=({token:t})=>e.jsx(qf,{token:t}),Kn=Ye.master.designation,Yf=({token:t,page:n=1,perPage:s=10})=>ka({token:t,baseUrl:Kn.table,page:n,perPage:s});function Wf({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r]=a.Form.useForm(),[l]=a.Form.useForm(),[o,d]=i.useState(!1),[c,g]=i.useState(null),{isLoading:y,error:p,data:m,mutate:A}=Yf({token:t,page:n.page,perPage:n.rowsPerPage}),C=(_,D)=>{s({page:_,rowsPerPage:parseInt(D,10)})},b=async _=>{const D=new FormData;D.set("title",_?.title??"");try{await A(Ut(Kn.add,D,t),st(D)),v.success("Success! Added new designation.",{duration:1e3,icon:"ð"}),r.resetFields()}catch(u){v.error(u?.response?.data?.msg??u?.message??"Failed to add designation.",{duration:1e3})}},f=_=>{g(_??null),l.setFieldsValue({title:_?.designation??""}),d(!0)},x=()=>{d(!1),g(null),l.resetFields()},R=async _=>{const D=c?.id??c?.designation_id;if(!D){v.error("Missing designation id.",{duration:1e3});return}const u=new FormData;u.set("id",String(D)),u.set("title",_?.title??"");try{await Jt(Kn.edit,u,t),await A(),v.success("Success! Updated designation.",{duration:1e3,icon:"ð"}),x()}catch(h){v.error(h?.response?.data?.msg??h?.message??"Failed to update designation.",{duration:1e3})}},k=async _=>{const D=_?.id??_?.designation_id;if(D)try{await A(yn(Kn.remove,D,t),nt(D)),v.success("Success! Deleted designation.",{duration:1e3})}catch(u){v.error(u?.response?.data?.msg??u?.message??"Failed to delete designation.",{duration:1e3})}},O=i.useMemo(()=>[{title:"Name",dataIndex:"designation",key:"designation",ellipsis:!0},{title:"Action",key:"action",width:110,fixed:"right",render:(_,D)=>e.jsxs(a.Space,{size:6,children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>f(D)}),e.jsx(a.Popconfirm,{title:"Remove designation?",okText:"Yes",cancelText:"No",onConfirm:()=>k(D),children:e.jsx(a.Button,{danger:!0,type:"text",size:"small",icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[c]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Modal,{open:o,title:"Edit Designation",onCancel:x,footer:null,destroyOnClose:!0,children:e.jsxs(a.Form,{form:l,layout:"vertical",onFinish:R,children:[e.jsx(a.Form.Item,{name:"title",rules:[{required:!0,message:"Enter designation name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[e.jsx(a.Button,{onClick:x,children:"Cancel"}),e.jsx(ie,{type:"submit",value:"Update",color:"primary"})]})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Designation"}),children:e.jsxs(a.Form,{form:r,layout:"vertical",onFinish:b,children:[e.jsx(a.Form.Item,{name:"title",rules:[{required:!0,message:"Enter designation name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsx(ie,{type:"submit",value:"Save",color:"primary"})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Designation List"}),children:e.jsx(ze,{parentCallback:C,data:{newData:m,columns:O,columnstype:"antd",action:!1,Loading:y,error:p}})})]})}const Vf=({token:t})=>e.jsx(Wf,{token:t}),Gn=Ye.master.shift,Hf=({token:t,page:n=1,perPage:s=10})=>ka({token:t,baseUrl:Gn.table,page:n,perPage:s}),jt="hh:mm A",xa=t=>{const n=String(t??"");if(!n)return null;const s=se(n,[jt,"HH:mm","HH:mm:ss"],!0);return s.isValid()?s:null},ba=t=>t?t.format(jt):"",It={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function Kf({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r]=a.Form.useForm(),[l]=a.Form.useForm(),[o,d]=i.useState(!1),[c,g]=i.useState(null),{isLoading:y,error:p,data:m,mutate:A}=Hf({token:t,page:n.page,perPage:n.rowsPerPage}),C=(u,h)=>{s({page:u,rowsPerPage:parseInt(h,10)})},b=(u,h)=>{const S=new FormData;return h&&S.set("id",String(h)),S.set("name",u?.name??""),S.set("start_time",ba(u?.start_time)),S.set("end_time",ba(u?.end_time)),S.set("shift_start_from",ba(u?.shift_start_from)),S.set("shift_start_to",ba(u?.shift_start_to)),S.set("shift_end_from",ba(u?.shift_end_from)),S.set("shift_end_to",ba(u?.shift_end_to)),S},f=async u=>{try{const h=b(u);await Ut(Gn.add,h,t),await A(),v.success("Success! Added new shift.",{duration:1e3,icon:"ð"}),r.resetFields()}catch(h){v.error(h?.response?.data?.msg??h?.message??"Failed to add shift.",{duration:1e3})}},x=u=>{g(u??null),l.setFieldsValue({name:u?.shift_name??u?.name??"",start_time:xa(u?.start_time),end_time:xa(u?.end_time),shift_start_from:xa(u?.shift_start_from),shift_start_to:xa(u?.shift_start_to),shift_end_from:xa(u?.shift_end_from),shift_end_to:xa(u?.shift_end_to)}),d(!0)},R=()=>{d(!1),g(null),l.resetFields()},k=async u=>{const h=c?.id??c?.shift_id;if(!h){v.error("Missing shift id.",{duration:1e3});return}try{const S=b(u,h);await Jt(Gn.edit,S,t),await A(),v.success("Success! Updated shift.",{duration:1e3,icon:"ð"}),R()}catch(S){v.error(S?.response?.data?.msg??S?.message??"Failed to update shift.",{duration:1e3})}},O=async u=>{const h=u?.id??u?.shift_id;if(h)try{await yn(Gn.remove,h,t),await A(),v.success("Success! Deleted shift.",{duration:1e3})}catch(S){v.error(S?.response?.data?.msg??S?.message??"Failed to delete shift.",{duration:1e3})}},_=i.useMemo(()=>[{title:"Name",dataIndex:"shift_name",key:"shift_name",ellipsis:!0,fixed:"left",width:160},{title:"Start Time",dataIndex:"start_time",key:"start_time",width:120},{title:"End Time",dataIndex:"end_time",key:"end_time",width:120},{title:"Start From",dataIndex:"shift_start_from",key:"shift_start_from",width:120,responsive:["md"]},{title:"Start To",dataIndex:"shift_start_to",key:"shift_start_to",width:120,responsive:["md"]},{title:"End From",dataIndex:"shift_end_from",key:"shift_end_from",width:120,responsive:["md"]},{title:"End To",dataIndex:"shift_end_to",key:"shift_end_to",width:120,responsive:["md"]},{title:"Action",key:"action",width:110,fixed:"right",render:(u,h)=>e.jsxs(a.Space,{size:6,children:[e.jsx(a.Button,{type:"text",size:"small",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>x(h)}),e.jsx(a.Popconfirm,{title:"Remove shift?",okText:"Yes",cancelText:"No",onConfirm:()=>O(h),children:e.jsx(a.Button,{danger:!0,type:"text",size:"small",icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[]),D=[{required:!0,message:"Select time"}];return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Modal,{open:o,title:"Edit Shift",onCancel:R,footer:null,destroyOnClose:!0,children:e.jsxs(a.Form,{form:l,layout:"vertical",onFinish:k,children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(a.Form.Item,{name:"name",rules:[{required:!0,message:"Enter shift name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsx(a.Form.Item,{name:"start_time",label:"Start Time",rules:D,children:e.jsx(a.TimePicker,{format:jt,use12Hours:!0,style:It})}),e.jsx(a.Form.Item,{name:"end_time",label:"End Time",rules:D,children:e.jsx(a.TimePicker,{format:jt,use12Hours:!0,style:It})}),e.jsx(a.Form.Item,{name:"shift_start_from",label:"Start Time From",children:e.jsx(a.TimePicker,{format:jt,use12Hours:!0,style:It})}),e.jsx(a.Form.Item,{name:"shift_start_to",label:"Start Time To",children:e.jsx(a.TimePicker,{format:jt,use12Hours:!0,style:It})}),e.jsx(a.Form.Item,{name:"shift_end_from",label:"End Time From",children:e.jsx(a.TimePicker,{format:jt,use12Hours:!0,style:It})}),e.jsx(a.Form.Item,{name:"shift_end_to",label:"End Time To",children:e.jsx(a.TimePicker,{format:jt,use12Hours:!0,style:It})})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[e.jsx(a.Button,{onClick:R,children:"Cancel"}),e.jsx(ie,{type:"submit",value:"Update",color:"primary"})]})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Shift"}),children:e.jsx(a.Form,{form:r,layout:"vertical",onFinish:f,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(a.Form.Item,{name:"name",rules:[{required:!0,message:"Enter shift name"}],children:e.jsx(V,{type:"text",label:"Name"})}),e.jsx(a.Form.Item,{name:"start_time",label:"Start Time",rules:D,children:e.jsx(a.TimePicker,{format:jt,use12Hours:!0,style:It})}),e.jsx(a.Form.Item,{name:"end_time",label:"End Time",rules:D,children:e.jsx(a.TimePicker,{format:jt,use12Hours:!0,style:It})}),e.jsx(a.Form.Item,{name:"shift_start_from",label:"Start Time From",children:e.jsx(a.TimePicker,{format:jt,use12Hours:!0,style:It})}),e.jsx(a.Form.Item,{name:"shift_start_to",label:"Start Time To",children:e.jsx(a.TimePicker,{format:jt,use12Hours:!0,style:It})}),e.jsx(a.Form.Item,{name:"shift_end_from",label:"End Time From",children:e.jsx(a.TimePicker,{format:jt,use12Hours:!0,style:It})}),e.jsx(a.Form.Item,{name:"shift_end_to",label:"End Time To",children:e.jsx(a.TimePicker,{format:jt,use12Hours:!0,style:It})}),e.jsx(ie,{type:"submit",value:"Save",color:"primary"})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Shift List"}),children:e.jsx(ze,{parentCallback:C,data:{newData:m,columns:_,columnstype:"antd",action:!1,Loading:y,error:p}})})]})}const Gf=({token:t})=>e.jsx(Kf,{token:t}),Jf=Ye.attendance;function Qf({data:t}){return t?e.jsx("div",{style:{margin:15,fontSize:13,padding:10},children:e.jsxs("table",{style:{width:"100%",borderCollapse:"collapse"},children:[e.jsxs("thead",{children:[e.jsxs("tr",{children:[e.jsx("th",{}),e.jsx("th",{}),(t?.shifts??[]).map((n,s)=>e.jsx("th",{colSpan:"2",style:{border:"1px solid #000",paddingLeft:10},children:n?.shift_name??""},`${s}heading1`))]}),e.jsxs("tr",{children:[e.jsx("th",{style:{border:"1px solid #000",paddingLeft:10},children:"Sl.No"}),e.jsx("th",{style:{border:"1px solid #000",paddingLeft:10},children:"Teacher's Name"}),(t?.shifts??[]).map((n,s)=>e.jsxs(i.Fragment,{children:[e.jsx("th",{style:{border:"1px solid #000",paddingLeft:10},children:"In Time"}),e.jsx("th",{style:{border:"1px solid #000",paddingLeft:10},children:"Out Time"})]},`${s}heading2`))]})]}),e.jsx("tbody",{children:(t?.data??[]).map((n,s)=>e.jsxs("tr",{children:[e.jsx("td",{style:{border:"1px solid #000",paddingLeft:10},children:e.jsx("div",{style:{paddingLeft:10},children:s+1})}),e.jsx("td",{style:{border:"1px solid #000",paddingLeft:10},children:e.jsx("div",{style:{paddingLeft:10},children:`${n?.name??""} ${n?.surname??""}`.trim()})}),(t?.shifts??[]).map((r,l)=>e.jsxs(i.Fragment,{children:[e.jsx("td",{style:{border:"1px solid #000",paddingLeft:10},children:e.jsx("div",{style:{paddingLeft:10},children:n?.attendance_data?(n.attendance_data?.[r?.office_shift_id]?.checkintime??"").toUpperCase():""})}),e.jsx("td",{style:{border:"1px solid #000",paddingLeft:10},children:e.jsx("div",{style:{paddingLeft:10},children:n?.attendance_data?(n.attendance_data?.[r?.office_shift_id]?.checkouttime??"").toUpperCase():""})})]},`${l}cells${s}`))]},`${s}row`))})]})}):null}const Xf=t=>{const n=t?.data??t??{};return Array.isArray(n)?n:Array.isArray(n?.items)?n.items:Array.isArray(n?.data)?n.data:[]},Zf=t=>{const n=String(t??"").toLowerCase();return n==="present"?e.jsx(a.Tag,{color:"green",children:"Present"}):n==="absent"?e.jsx(a.Tag,{color:"red",children:"Absent"}):n==="leave"?e.jsx(a.Tag,{color:"orange",children:"Leave"}):e.jsx(a.Tag,{children:t??""})};function ey({token:t}){const[n,s]=i.useState(se()),[r,l]=i.useState(!1),[o,d]=i.useState(0),c=i.useMemo(()=>`${Jf.dailyAttendance}?attendance_date=${encodeURIComponent(n.format("YYYY-MM-DD"))}`,[n,r,o]),{isLoading:g,error:y,data:p}=K(t?[c,t]:null,([f,x])=>G(f,x)),m=i.useMemo(()=>Xf(p),[p]),A=i.useMemo(()=>r?p?.data?.data??p?.data??p??null:null,[p,r]),C=ia.useReactToPrint({content:()=>document.getElementById("ubk-hr-daily-attendance-print")}),b=i.useMemo(()=>[{title:"Sl No.",key:"sl",width:70,render:(f,x,R)=>R+1},{title:"Name",key:"name",render:(f,x)=>x?.staff_name??`${x?.name??""} ${x?.surname??""}`.trim(),ellipsis:!0},{title:"Department",dataIndex:"department",key:"department",ellipsis:!0,responsive:["md"]},{title:"Designation",dataIndex:"designation",key:"designation",ellipsis:!0,responsive:["md"]},{title:"Status",key:"attendance",width:160,render:(f,x)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[Zf(x?.attendance_status??x?.attendance),x?.is_week_off?e.jsx(a.Tag,{color:"blue",children:"W/O"}):null]})},{title:"In Time",key:"intime",width:120,render:(f,x)=>{const R=x?.attendance_data?.[0];return x?.check_in??R?.intime??""}},{title:"Out Time",key:"outtime",width:120,render:(f,x)=>{const R=x?.attendance_data?.[0];return x?.check_out??R?.outtime??""}}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Staff Daily Attendance"}),children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end",padding:14,borderRadius:12,border:"1px solid #eee",background:"#fafafa"},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Date"}),e.jsx(a.DatePicker,{value:n,onChange:f=>f&&s(f),style:{width:"100%"},allowClear:!1})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"button",value:"Search",onClick:()=>d(f=>f+1)})})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Staff Attendance List"}),extra:e.jsx(ee.PrinterOutlined,{style:{color:"#5080f8",fontSize:18,cursor:"pointer"},onClick:C}),children:e.jsxs("div",{id:"ubk-hr-daily-attendance-print",children:[e.jsx("div",{className:"print-only",children:e.jsx($t,{})}),r?e.jsx(Qf,{data:A}):e.jsx(a.Table,{bordered:!0,size:"small",loading:g,rowKey:(f,x)=>String(f?.id??f?.staff_id??x),columns:b,dataSource:m,pagination:{pageSize:20},scroll:{x:"max-content"}})]})})]})}const ty=({token:t})=>e.jsx(ey,{token:t}),Bi=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},ay=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"";function ny({token:t,staffId:n}){const[s,r]=i.useState(!1),[l,o]=i.useState(null),[d,c]=i.useState({value:"Cash",label:"Cash"}),[g,y]=i.useState(""),[p,m]=i.useState(""),A=i.useMemo(()=>{try{return JSON.parse(localStorage.getItem("genrall_settings"))?.currency_icon??""}catch{return""}},[]),C=E=>{const $=Number(E??0),q=Number.isFinite($)?$.toLocaleString("en-IN"):"0";return`${A?`${A} `:""}${q}`},b=i.useMemo(()=>n?`${Ye.staff.basicById}?staff_id=${encodeURIComponent(String(n))}`:null,[n]),f=i.useMemo(()=>n?`${Ye.payroll.staffPayrollByStaffId}?staff_id=${encodeURIComponent(String(n))}`:null,[n]),{data:x}=K(t&&b?[b,t]:null,([E,$])=>G(E,$)),{data:R,isLoading:k,mutate:O}=K(t&&f?[f,t]:null,([E,$])=>G(E,$)),_=i.useMemo(()=>Bi(x)[0]??x?.data??x??null,[x]),D=i.useMemo(()=>Bi(R),[R]),u=i.useMemo(()=>[{title:"Month",dataIndex:"month",key:"month",width:120,align:"center"},{title:"Basic Salary",dataIndex:"basic_salary",key:"basic_salary",width:140,align:"center",render:(E,$)=>e.jsx("div",{style:{fontSize:11},children:Ft($?.basic_salary)})},{title:"Gross Salary",dataIndex:"gross_salary",key:"gross_salary",width:140,align:"center",render:(E,$)=>e.jsx("div",{style:{fontSize:11},children:Ft($?.gross_salary)})},{title:"Net Salary",dataIndex:"net_amount",key:"net_amount",width:140,align:"center",render:(E,$)=>e.jsx("div",{style:{fontSize:11},children:Ft($?.net_amount)})},{title:"Payable",dataIndex:"Total_Payable_Amount",key:"Total_Payable_Amount",width:140,align:"center",render:(E,$)=>e.jsx("div",{style:{fontSize:11},children:Ft($?.Total_Payable_Amount)})},{title:"Status",dataIndex:"status",key:"status",width:140,align:"center",render:(E,$)=>e.jsx("div",{style:{cursor:$?.status==="due"?"pointer":"default"},onClick:()=>{$?.status==="due"&&(o($),r(!0))},children:co($?.status)})}],[]),h=i.useMemo(()=>[{value:"Cash",label:"Cash"},{value:"UPI",label:"UPI"},{value:"DD",label:"DD"},{value:"Bank",label:"Bank"},{value:"Internet Banking",label:"Internet Banking"},{value:"Cheque",label:"Cheque"}],[]),S=async()=>{if(!l)return;const E={...l,staff_id:n,payment_type:d?.value??"",notes:g,attchement:p};try{await Ge(Ye.payroll.generatePayslip,{arg:E},t),v.success("Success!",{duration:1e3}),r(!1),o(null),y(""),m(""),await O()}catch($){v.error($?.response?.data?.msg??$?.message??"Failed.",{duration:1e3})}};return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Payroll Receipt Details"}),children:e.jsxs("div",{style:{display:"grid",gap:14},children:[e.jsx("div",{style:{fontSize:13,color:"#444"},children:_?`${_?.f_name??_?.firstname??""} ${_?.l_name??_?.lastname??""}`.trim():""}),e.jsx(a.Table,{bordered:!0,size:"small",loading:k,rowKey:(E,$)=>String(E?.id??`${E?.month}-${$}`),columns:u,dataSource:D,pagination:{pageSize:12},scroll:{x:"max-content"}})]})}),e.jsx(a.Modal,{open:s,onCancel:()=>{r(!1),o(null)},footer:null,destroyOnClose:!0,title:"Payment Options",width:640,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(Z,{label:"Pay",options:h,value:d,onChange:E=>c(E??h[0]),closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1}),e.jsxs("div",{children:[e.jsx("div",{style:{marginBottom:6,fontSize:14,fontWeight:500,color:"#222"},children:"Note"}),e.jsx(a.Input.TextArea,{rows:4,placeholder:"Note",value:g,onChange:E=>y(E.target.value)})]}),e.jsxs("div",{children:[e.jsx("div",{style:{marginBottom:6,fontSize:14,fontWeight:500,color:"#222"},children:"Attachment"}),e.jsx(a.Upload,{maxCount:1,action:go(),headers:t?{Authorization:t}:void 0,onChange:E=>{if(E?.file?.status==="done"){const $=ay(E?.file?.response);$&&m($)}E?.file?.status==="removed"&&m("")},children:e.jsx(a.Button,{icon:e.jsx(ee.UploadOutlined,{}),children:"Upload"})}),!!p&&e.jsx("div",{style:{fontSize:12,color:"#666",marginTop:6},children:p})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:12},children:[e.jsx(a.Button,{onClick:()=>r(!1),children:"Cancel"}),e.jsx(ie,{type:"button",value:l?.Total_Payable_Amount?`Pay ${C(l.Total_Payable_Amount)}`:"Pay",onClick:S})]})]})})]})}function sy({token:t,staffId:n}){const s=i.useMemo(()=>{if(n!=null&&String(n).trim()!=="")return n;if(typeof window>"u")return null;const r=new URLSearchParams(window.location.search).get("id");return r||null},[n]);return s?e.jsx(ny,{token:t,staffId:s}):e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Payroll Receipt Details"}),children:e.jsx("div",{style:{fontSize:13,color:"#666"},children:"Missing staff id."})})}function Qt({onAdd:t,onExport:n,onPrint:s,onDownload:r,onFilter:l,onRefresh:o,actions:d}){const c=i.useMemo(()=>[{key:"add",title:"Add",icon:e.jsx(ee.PlusOutlined,{}),onClick:t},{key:"export",title:"Export",icon:e.jsx(ee.FileExcelOutlined,{}),onClick:n},{key:"print",title:"Print",icon:e.jsx(ee.PrinterOutlined,{}),onClick:s},{key:"download",title:"Download",icon:e.jsx(ee.DownloadOutlined,{}),onClick:r},{key:"filter",title:"Filter",icon:e.jsx(ee.FilterOutlined,{}),onClick:l},{key:"refresh",title:"Refresh",icon:e.jsx(ee.ReloadOutlined,{}),onClick:o}],[t,n,s,r,l,o]),g=i.useMemo(()=>{const y=Array.isArray(d)&&d.length?new Set(d):null;return y?c.filter(p=>y.has(p.key)):c},[c,d]);return e.jsx(a.Space,{size:8,children:g.map(y=>e.jsx(a.Tooltip,{title:y.title,children:e.jsx(a.Button,{type:"text",icon:y.icon,onClick:y.onClick,disabled:!y.onClick})},y.key))})}const pr=t=>t??localStorage.getItem("authToken")??"",Lt={dashboard:{monthlyGraph:"api/branchapi/reportGraph/studentPresentvsAbsentmonthlyReportgraph",weeklyGraph:"api/branchapi/reportGraph/studentPresentvsAbsentweeklyReportgraph"},dropdowns:{classes:"api/branchapi/academy/classdropdownlist",sectionsByClass:"api/branchapi/academy/sectionoftheClass",sessions:"api/branchapi/generalSettings/sessiondropdown"},studentAttendance:{list:"api/StudentAttendace/studentlistforBranchbyClass",save:"api/studentAttendace/addattendencebyBranch",emergencyLeave:"api/StudentAttendace/emergency_leave"},dailyAttendance:{list:"api/StudentAttendace/studentlistforBranchbyClass"},monthlyReport:{table:"api/AttendenceReport/studentmonthlyAttendencebyclass",byStudent:"api/branchapi/student/getStududentMonthlyByIdUrlnew"},yearlyReport:{table:"api/AttendenceReport/studentyearlyAttendenceReport"}},Vt=async(t,n)=>G(t,pr(n)),ry=async(t,n,s)=>Ge(t,n,pr(s)),iy=async(t,n,s)=>an(t,{arg:n},pr(s)),nn=(t,n)=>{const s=new URLSearchParams;Object.entries(n??{}).forEach(([l,o])=>{o==null||o===""||s.set(l,String(o))});const r=t.includes("?")?"&":"?";return`${t}${r}${s.toString()}`},Ni=()=>{try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.session_id??"1"}catch{return"1"}},ly=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},wo=(t,n)=>{const s=t?.data?.data??t?.data??t??{},r=n?s?.[n]:s;return Array.isArray(r)?r:Array.isArray(s?.student)?s.student:Array.isArray(s?.staff)?s.staff:Array.isArray(s?.data)?s.data:[]},oy=t=>Array.isArray(t?.monthly_data)?t.monthly_data:Array.isArray(t?.month_data)?t.month_data:[],dy=t=>{const n={present:0,absent:0,late:0,leave:0};return(Array.isArray(t)?t:[]).forEach(s=>{if(Array.isArray(s?.monthly_data)||Array.isArray(s?.month_data)){oy(s).forEach(l=>{const o=l?.[0]?.data?.[0]??l?.data?.[0]??l??{},d=String(o?.attendance_type??o?.attendence_type_id??"").toUpperCase();(d==="P"||d==="1")&&(n.present+=1),(d==="A"||d==="4")&&(n.absent+=1),(d==="L"||d==="3")&&(n.late+=1),(d==="LEAVE"||d==="2")&&(n.leave+=1)});return}const r=String(s?.attendance_type??s?.attendence_type_id??"").toUpperCase();(r==="P"||r==="1")&&(n.present+=1),(r==="A"||r==="4")&&(n.absent+=1),(r==="L"||r==="3")&&(n.late+=1),(r==="LEAVE"||r==="2")&&(n.leave+=1)}),n},mr=(t,n)=>{const{data:s,isLoading:r,error:l}=K(n&&t?[t,n]:null,([o,d])=>Vt(o,d));return{isLoading:r,error:l,data:s,options:i.useMemo(()=>ly(s),[s])}},us=t=>mr(Lt.dropdowns.classes,t),ps=(t,n)=>{const s=t?`${Lt.dropdowns.sectionsByClass}?class_id=${encodeURIComponent(String(t))}`:null;return mr(s,n)},cy=t=>mr(Lt.dropdowns.sessions,t),hr=t=>{const n=String(t??"").toUpperCase();return ut(n==="1"||n==="P"||n==="PRESENT"?"P":n==="4"||n==="A"||n==="ABSENT"?"A":n==="3"||n==="L"||n==="LATE"?"L":n==="2"||n==="LEAVE"?"LEAVE":n==="W"?"W":n==="H"?"H":n||"-")},_o=(t,n,s)=>{const r=new Blob([t],{type:n}),l=URL.createObjectURL(r),o=document.createElement("a");o.href=l,o.download=s,document.body.appendChild(o),o.click(),o.remove(),URL.revokeObjectURL(l)},Li=t=>String(t??"").replace(/"/g,'""'),uy=({rows:t,columns:n,fileName:s})=>{const r=Array.isArray(n)?n:[],l=Array.isArray(t)?t:[],o=r.map(c=>`"${Li(c?.title??c?.name??c?.key??c?.dataIndex)}"`).join(","),d=l.map((c,g)=>r.map(y=>{const p=y?.dataIndex??y?.selector??y?.key,m=p==="sl"?g+1:c?.[p];return`"${Li(m)}"`}).join(",")).join(`
|
|
61
|
+
`);_o([o,d].filter(Boolean).join(`
|
|
62
|
+
`),"text/csv;charset=utf-8;",s)},py=({value:t,fileName:n})=>{_o(JSON.stringify(t??null,null,2),"application/json;charset=utf-8;",n)};function Co({summary:t}){const n=[{key:"present",label:"Present",color:"#52c41a"},{key:"absent",label:"Absent",color:"#ff4d4f"},{key:"leave",label:"Leave",color:"#1677ff"}];return e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(140px, 1fr))",gap:12},children:n.map(s=>e.jsxs(a.Card,{size:"small",styles:{body:{padding:12}},children:[e.jsx("div",{style:{fontSize:11,color:"#666",marginBottom:4},children:s.label}),e.jsx("div",{style:{fontSize:20,fontWeight:700,color:s.color},children:t?.[s.key]??0})]},s.key))})}function Da({summary:t,title:n="Attendance Overview"}){const s=i.useMemo(()=>[{key:"present",label:"Present",value:Number(t?.present??0),color:"#52c41a"},{key:"absent",label:"Absent",value:Number(t?.absent??0),color:"#ff4d4f"},{key:"leave",label:"Leave",value:Number(t?.leave??0),color:"#1677ff"}],[t]),r=Math.max(...s.map(l=>l.value),1);return e.jsx(a.Card,{size:"small",title:n,children:e.jsx("div",{style:{display:"grid",gap:8},children:s.map(l=>e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"80px 1fr 40px",gap:8,alignItems:"center"},children:[e.jsx("div",{style:{fontSize:11,color:"#444"},children:l.label}),e.jsx("div",{style:{height:10,background:"#f0f0f0",borderRadius:999},children:e.jsx("div",{style:{width:`${l.value/r*100}%`,height:"100%",background:l.color,borderRadius:999}})}),e.jsx("div",{style:{fontSize:11,fontWeight:600,textAlign:"right"},children:l.value})]},l.key))})})}function my(){const t=[{label:"Present",node:ut("P")},{label:"Absent",node:ut("A")},{label:"Late",node:ut("L")},{label:"Weekly Off",node:ut("W")},{label:"Holiday",node:ut("H")}];return e.jsx(a.Space,{wrap:!0,size:[12,8],children:t.map(n=>e.jsxs(a.Space,{size:6,children:[e.jsx("span",{style:{fontSize:12,color:"#555"},children:n.label}),n.node]},n.label))})}function Ht({items:t}){const n=Array.isArray(t)?t.filter(s=>s?.value):[];return n.length?e.jsx(a.Space,{wrap:!0,size:[8,8],children:n.map(s=>e.jsxs(a.Tag,{color:"blue",children:[s.label,": ",s.value]},s.label))}):null}function ms({title:t,subtitle:n,printRef:s,exportRows:r,exportColumns:l,onRefresh:o,onAdd:d,filterSection:c,summary:g,chartContent:y,reportTitle:p,reportExtra:m,children:A,fileBaseName:C="attendance"}){const b=ia.useReactToPrint({content:()=>s?.current});return e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsx(a.Card,{size:"small",title:e.jsxs("div",{children:[e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:t}),n?e.jsx(a.Typography.Text,{type:"secondary",style:{display:"block",marginTop:2,fontSize:12},children:n}):null]}),extra:e.jsx(Qt,{actions:["add","export","print","download","refresh"],onAdd:d,onExport:()=>uy({rows:r,columns:l,fileName:`${C}.csv`}),onPrint:b,onDownload:()=>py({value:r,fileName:`${C}.json`}),onRefresh:o}),children:c}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:12,alignItems:"start"},children:[e.jsx(Co,{summary:g}),y===!1?null:y||e.jsx(Da,{summary:g})]}),e.jsx(a.Card,{size:"small",title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:p}),extra:m,styles:{body:{padding:0}},children:A})]})}const hy=[{label:"Present",value:"1"},{label:"Absent",value:"4"},{label:"Late",value:"3"},{label:"Leave",value:"2"}];function fy({rows:t,loading:n,sunday:s,holiday:r,holidayTitle:l,onChangeRows:o,onEmergency:d}){const c=(y,p)=>{const m=(Array.isArray(t)?t:[]).map((A,C)=>(A?.student_session_id??A?.student_id??A?.id??C)===y?{...A,...p}:A);o?.(m)},g=i.useMemo(()=>[{title:"Sl No.",key:"sl",width:70,render:(y,p,m)=>m+1},{title:"Admission No",dataIndex:"admission_no",key:"admission_no",width:130},{title:"EC No",dataIndex:"ecno",key:"ecno",width:100},{title:"Roll No",dataIndex:"roll_no",key:"roll_no",width:100},{title:"Full Name",key:"full_name",render:(y,p)=>p?.full_name??p?.student_name??p?.name??"--"},{title:"Attendance",dataIndex:"attendence_type_id",key:"attendence_type_id",width:180,render:(y,p,m)=>{const A=p?.student_session_id??p?.student_id??p?.id??m;return e.jsx(a.Select,{size:"small",style:{width:"100%"},options:hy,value:String(y??"1"),onChange:C=>c(A,{attendence_type_id:C})})}},{title:"Date",dataIndex:"date",key:"date",width:120,render:y=>y?se(y).format("DD-MM-YYYY"):"--"},{title:"Remarks",dataIndex:"remark",key:"remark",width:140},{title:"In Time",dataIndex:"intime",key:"intime",width:120},{title:"Out Time",dataIndex:"outtime",key:"outtime",width:120},{title:"Emergency Leave",key:"emergency_leave",width:140,render:(y,p)=>e.jsx(a.Tag,{color:"orange",style:{cursor:"pointer"},icon:e.jsx(ee.ClockCircleOutlined,{}),onClick:()=>d?.(p),children:"E.L"})}],[d,t]);return s?e.jsx("div",{style:{textAlign:"center",fontWeight:700,padding:"32px 0"},children:"Weekly Off"}):r?e.jsxs("div",{style:{textAlign:"center",padding:"32px 0"},children:[e.jsx("div",{style:{fontWeight:700,marginBottom:8},children:"Holiday"}),e.jsx("div",{children:l||"--"})]}):e.jsx(a.Table,{bordered:!0,size:"small",rowKey:(y,p)=>String(y?.student_session_id??y?.student_id??y?.id??p),columns:g,dataSource:Array.isArray(t)?t:[],loading:n,pagination:{pageSize:25},scroll:{x:"max-content"}})}function yy({rows:t,loading:n,sunday:s,holiday:r,holidayTitle:l}){const o=i.useMemo(()=>[{title:"Sl No.",key:"sl",width:70,render:(d,c,g)=>g+1},{title:"Admission No",dataIndex:"admission_no",key:"admission_no",width:130},{title:"EC No",dataIndex:"ecno",key:"ecno",width:100},{title:"Roll No",dataIndex:"roll_no",key:"roll_no",width:100},{title:"Full Name",key:"full_name",render:(d,c)=>c?.full_name??c?.student_name??c?.name??"--"},{title:"Attendance",dataIndex:"attendence_type_id",key:"attendence_type_id",width:120,render:d=>hr(d)},{title:"Date",dataIndex:"date",key:"date",width:120,render:d=>d?se(d).format("DD-MM-YYYY"):"--"},{title:"Remarks",dataIndex:"remark",key:"remark",width:140},{title:"In Time",dataIndex:"intime",key:"intime",width:120},{title:"Out Time",dataIndex:"outtime",key:"outtime",width:120}],[]);return s?e.jsx("div",{style:{textAlign:"center",fontWeight:700,padding:"32px 0"},children:"Weekly Off"}):r?e.jsxs("div",{style:{textAlign:"center",padding:"32px 0"},children:[e.jsx("div",{style:{fontWeight:700,marginBottom:8},children:"Holiday"}),e.jsx("div",{children:l||"--"})]}):e.jsx(a.Table,{bordered:!0,size:"small",rowKey:(d,c)=>String(d?.student_session_id??d?.student_id??d?.id??c),columns:o,dataSource:Array.isArray(t)?t:[],loading:n,pagination:{pageSize:25},scroll:{x:"max-content"}})}function gy({data:t,loading:n,onViewStudent:s}){const r=t?.data??t??{},l=Array.isArray(r?.studentAttendance)?r.studentAttendance:Array.isArray(r?.students)?r.students:Array.isArray(r?.report)?r.report:Array.isArray(r?.data?.resultlist)?r.data.resultlist:Array.isArray(r?.resultlist)?r.resultlist:Array.isArray(r?.data)?r.data:Array.isArray(r)?r:[],o=Array.isArray(r?.monthly_holiday)?r.monthly_holiday:[],d=Array.isArray(r?.dateSun)?r.dateSun:[],c=Number(r?.totalDaysMonth??0),g=i.useMemo(()=>{const y=[{title:"Roll No",dataIndex:"roll_no",key:"roll_no",width:20,fixed:"left"},{title:"Name",key:"student_name",fixed:"left",render:(p,m)=>e.jsx(a.Button,{type:"link",style:{padding:0},onClick:()=>s?.(m),children:m?.student_name??m?.full_name??"--"})}];return[...new Array(c).keys()].forEach(p=>{y.push({title:String(p+1),key:`day-${p+1}`,align:"center",render:(m,A)=>{const b=A?.[`${A?.student_id}_${l.indexOf(A)}`]?.[p]??{},f=b?.attendance_date,x=o.find(R=>R?.date===f);return d.includes(f)?Gr("sunday","W"):x?Gr("holiday","H"):hr(b?.attendence_type_id)}})}),y.push({title:"Total",key:"total",fixed:"right",render:(p,m)=>{let A=0,C=0,b=0;return[...new Array(c).keys()].forEach(f=>{const x=m?.[`${m?.student_id}_${l.indexOf(m)}`]?.[f]??{},R=String(x?.attendence_type_id??"");R==="1"&&(A+=1),R==="4"&&(C+=1),R==="3"&&(b+=1)}),e.jsxs("span",{children:["P: ",A," A: ",C," L: ",b]})}}),y},[o,s,l,d,c]);return e.jsx(a.Table,{bordered:!0,size:"small",rowKey:(y,p)=>String(y?.student_id??p),columns:g,dataSource:l,loading:n,pagination:{pageSize:20},scroll:{x:"max-content"},locale:{emptyText:e.jsx(a.Empty,{description:"No monthly report found"})}})}function xy({open:t,onClose:n,loading:s,data:r,studentName:l}){const o=Array.isArray(r?.data?.report)?r.data.report:[],d=[{title:"Date",dataIndex:"attendance_date",key:"attendance_date",render:c=>c?se(c).format("DD-MM-YYYY"):"--"},{title:"Status",key:"status",render:(c,g)=>hr(g?.attendence_type_id??g?.attendance_type)},{title:"In Time",dataIndex:"intime",key:"intime"},{title:"Out Time",dataIndex:"outtime",key:"outtime"},{title:"Remark",dataIndex:"remark",key:"remark"}];return e.jsx(a.Modal,{open:t,onCancel:n,footer:null,width:900,title:`Monthly Details${l?` - ${l}`:""}`,children:e.jsx(a.Table,{bordered:!0,size:"small",rowKey:(c,g)=>String(c?.attendance_date??g),columns:d,dataSource:o,loading:s,pagination:{pageSize:20},scroll:{x:"max-content"}})})}function by({open:t,onClose:n,onSubmit:s,loading:r}){const[l,o]=a.Modal.useModal(),[d,c]=i.useState(null),[g,y]=i.useState(""),p=async()=>{if(!d){await l.warning({title:"Select time"});return}await s?.({outtime:d.format("h:mm a"),message:g}),c(null),y("")};return e.jsxs(e.Fragment,{children:[o,e.jsx(a.Modal,{title:"Emergency Leave",open:t,onCancel:n,onOk:p,confirmLoading:r,children:e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:13,fontWeight:500,marginBottom:6},children:"Select Time"}),e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm a",value:d,onChange:c,style:{width:"100%"}})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:13,fontWeight:500,marginBottom:6},children:"Purpose"}),e.jsx(a.Input.TextArea,{rows:4,value:g,onChange:m=>y(m.target.value)})]})]})})]})}const Ao=t=>dy(t),qi=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n.reduce((s,r)=>({present:s.present+Number(r?.present??r?.Present??r?.total_present??0),absent:s.absent+Number(r?.absent??r?.Absent??r?.total_absent??0),late:s.late+Number(r?.late??r?.Late??0),leave:s.leave+Number(r?.leave??r?.Leave??0)}),{present:0,absent:0,late:0,leave:0}):{present:Number(n?.present??n?.Present??n?.total_present??0),absent:Number(n?.absent??n?.Absent??n?.total_absent??0),late:Number(n?.late??n?.Late??0),leave:Number(n?.leave??n?.Leave??0)}};function jy({token:t}){const{data:n}=K(t?[Lt.dashboard.monthlyGraph,t]:null,([o,d])=>Vt(o,d)),{data:s}=K(t?[Lt.dashboard.weeklyGraph,t]:null,([o,d])=>Vt(o,d)),r=i.useMemo(()=>qi(n),[n]),l=i.useMemo(()=>qi(s),[s]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsxs(a.Card,{children:[e.jsx(a.Typography.Title,{level:4,style:{marginTop:0},children:"Attendance Dashboard"}),e.jsx(a.Typography.Paragraph,{style:{marginBottom:0},children:"Student attendance overview with monthly and weekly analytics migrated from the ERP dashboard."})]}),e.jsx(Co,{summary:r}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:20},children:[e.jsx(Da,{summary:r,title:"Monthly Attendance Chart"}),e.jsx(Da,{summary:l,title:"Weekly Attendance Chart"})]})]})}const Us=Lt.studentAttendance,Sy={width:"100%",height:40};function vy({token:t}){const n=i.useRef(null),[s,r]=i.useState(""),[l,o]=i.useState(""),[d,c]=i.useState(""),[g,y]=i.useState(""),[p,m]=i.useState(""),[A,C]=i.useState(""),[b,f]=i.useState(se()),[x,R]=i.useState(0),[k,O]=i.useState([]),[_,D]=i.useState(!1),[u,h]=i.useState(null),[S,E]=i.useState(!1),[$,q]=i.useState(!1),T=us(t),F=ps(s,t),j=i.useMemo(()=>!s||!d||x===0?null:nn(Us.list,{cID:s,sID:d,batch_id:p,date:b.format("YYYY-MM-DD")}),[p,s,b,x,d]),{data:P,isLoading:I,mutate:N}=K(t&&j?[j,t]:null,([J,H])=>Vt(J,H));i.useEffect(()=>{O(wo(P,"student"))},[P]);const W=P?.data?.data??P?.data??P??{},Y=!!W?.sunday,B=!!W?.holiday?.holiday,U=W?.holiday?.title??"",M=i.useMemo(()=>Ao(k),[k]),L=i.useMemo(()=>[{title:"Admission No",dataIndex:"admission_no"},{title:"EC No",dataIndex:"ecno"},{title:"Roll No",dataIndex:"roll_no"},{title:"Full Name",dataIndex:"full_name"},{title:"Attendance",dataIndex:"attendence_type_id"},{title:"Date",dataIndex:"date"},{title:"Remarks",dataIndex:"remark"},{title:"In Time",dataIndex:"intime"},{title:"Out Time",dataIndex:"outtime"}],[]),z=async()=>{if(k.length)try{q(!0),await ry(Us.save,{attendenceData:k,date:b.format("YYYY-MM-DD"),holiday:_?"YES":"NO"},t),v.success("Student attendance saved."),N?.()}catch(J){v.error(J?.message??"Failed to save attendance.")}finally{q(!1)}},ne=async({outtime:J,message:H})=>{if(u?.attendence_id)try{E(!0),await iy(Us.emergencyLeave,{outtime:J,message:H,id:u.attendence_id},t),v.success("Emergency leave updated."),h(null),N?.()}catch(Q){v.error(Q?.message??"Failed to update emergency leave.")}finally{E(!1)}},X=e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16,alignItems:"end"},children:[e.jsx(Z,{options:T.options,label:"Class",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:J=>{r(J?.value??""),o(J?.label??""),c(""),y(""),m(""),C("")},required:!0}),e.jsx(Z,{options:F.options,label:"Section",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:J=>{c(J?.value??""),y(J?.label??""),m(""),C("")},required:!0},`section-${s}`),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Date"}),e.jsx(a.DatePicker,{value:b,onChange:J=>J&&f(J),style:Sy,allowClear:!1})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"button",value:"Search",color:"primary",onClick:()=>R(J=>J+1)})})]}),e.jsx(Ht,{items:[{label:"Class",value:l},{label:"Section",value:g},{label:"Date",value:b.format("DD-MM-YYYY")}]})]});return e.jsxs(e.Fragment,{children:[e.jsx(v.Toaster,{}),e.jsx(ms,{title:"Student Attendance",printRef:n,exportRows:k,exportColumns:L,onRefresh:()=>N?.(),filterSection:X,summary:M,chartContent:!1,reportTitle:"Student Attendance List",reportExtra:e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsx(a.Button,{size:"small",type:_?"primary":"default",onClick:()=>D(J=>!J),children:_?"Marked":"Mark As Holiday"}),e.jsx(a.Button,{size:"small",type:"primary",onClick:z,loading:$,disabled:!k.length,children:"Save Attendance"})]}),fileBaseName:"student-attendance",children:e.jsxs("div",{ref:n,children:[e.jsxs("div",{className:"print-only",children:[e.jsx($t,{}),e.jsx(a.Typography.Title,{level:5,children:"Student Attendance"}),e.jsx(a.Card,{size:"small",style:{marginBottom:12},children:e.jsx(Ht,{items:[{label:"Class",value:l},{label:"Section",value:g},{label:"Date",value:b.format("DD-MM-YYYY")}]})})]}),e.jsx(fy,{rows:k,loading:I,sunday:Y,holiday:B,holidayTitle:U,onChangeRows:O,onEmergency:h})]})}),e.jsx(by,{open:!!u,onClose:()=>h(null),onSubmit:ne,loading:S})]})}const wy=Lt.dailyAttendance,_y={width:"100%",height:40};function Cy({token:t}){const n=i.useRef(null),[s,r]=i.useState(""),[l,o]=i.useState(""),[d,c]=i.useState(""),[g,y]=i.useState(""),[p,m]=i.useState(""),[A,C]=i.useState(""),[b,f]=i.useState(se()),[x,R]=i.useState(0),k=us(t),O=ps(s,t),_=i.useMemo(()=>!s||!d||x===0?null:nn(wy.list,{cID:s,sID:d,batch_id:p,date:b.format("YYYY-MM-DD")}),[p,s,b,x,d]),{data:D,isLoading:u,mutate:h}=K(t&&_?[_,t]:null,([I,N])=>Vt(I,N)),S=i.useMemo(()=>wo(D,"student"),[D]),E=D?.data?.data??D?.data??D??{},$=!!E?.sunday,q=!!E?.holiday?.holiday,T=E?.holiday?.title??"",F=i.useMemo(()=>Ao(S),[S]),j=i.useMemo(()=>[{title:"Admission No",dataIndex:"admission_no"},{title:"EC No",dataIndex:"ecno"},{title:"Roll No",dataIndex:"roll_no"},{title:"Full Name",dataIndex:"full_name"},{title:"Attendance",dataIndex:"attendence_type_id"},{title:"Date",dataIndex:"date"},{title:"Remarks",dataIndex:"remark"},{title:"In Time",dataIndex:"intime"},{title:"Out Time",dataIndex:"outtime"}],[]),P=e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16,alignItems:"end"},children:[e.jsx(Z,{options:k.options,label:"Class",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:I=>{r(I?.value??""),o(I?.label??""),c(""),y(""),m(""),C("")},required:!0}),e.jsx(Z,{options:O.options,label:"Section",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:I=>{c(I?.value??""),y(I?.label??""),m(""),C("")},required:!0},`section-${s}`),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Date"}),e.jsx(a.DatePicker,{value:b,onChange:I=>I&&f(I),style:_y,allowClear:!1})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"button",value:"Search",color:"primary",onClick:()=>R(I=>I+1)})})]}),e.jsx(Ht,{items:[{label:"Class",value:l},{label:"Section",value:g},{label:"Date",value:b.format("DD-MM-YYYY")}]})]});return e.jsx(ms,{title:"Daily Attendance",subtitle:"Read-only daily attendance enquiry migrated from ERP AttendanceDashboard.",printRef:n,exportRows:S,exportColumns:j,onRefresh:()=>h?.(),filterSection:P,summary:F,chartContent:e.jsx(Da,{summary:F,title:"Daily Attendance Overview"}),reportTitle:"Daily Attendance List",fileBaseName:"daily-attendance",children:e.jsxs("div",{ref:n,children:[e.jsxs("div",{className:"print-only",children:[e.jsx($t,{}),e.jsx(Ht,{items:[{label:"Class",value:l},{label:"Section",value:g},{label:"Date",value:b.format("DD-MM-YYYY")}]})]}),e.jsx(yy,{rows:S,loading:u,sunday:$,holiday:q,holidayTitle:T})]})})}const zi=Lt.monthlyReport,Do=t=>Array.isArray(t?.studentAttendance)?t.studentAttendance:Array.isArray(t?.students)?t.students:Array.isArray(t?.report)?t.report:Array.isArray(t?.data?.resultlist)?t.data.resultlist:Array.isArray(t?.resultlist)?t.resultlist:Array.isArray(t?.data)?t.data:Array.isArray(t)?t:[],Ay=t=>{const n=Do(t),s=Number(t?.totalDaysMonth??0),r={present:0,absent:0,late:0,leave:0};return n.forEach((l,o)=>{[...new Array(s).keys()].forEach(d=>{const c=l?.[`${l?.student_id}_${o}`]?.[d]??{},g=String(c?.attendence_type_id??"");g==="1"&&(r.present+=1),g==="4"&&(r.absent+=1),g==="3"&&(r.late+=1),g==="2"&&(r.leave+=1)})}),r},Dy=t=>{const n=Do(t),s=Number(t?.totalDaysMonth??0);return n.map((r,l)=>{let o=0,d=0,c=0;return[...new Array(s).keys()].forEach(g=>{const y=r?.[`${r?.student_id}_${l}`]?.[g]??{},p=String(y?.attendence_type_id??"");p==="1"&&(o+=1),p==="4"&&(d+=1),p==="3"&&(c+=1)}),{roll_no:r?.roll_no??"",student_name:r?.student_name??r?.full_name??"",present:o,absent:d,late:c}})};function Ty({token:t}){const n=i.useRef(null),[s,r]=i.useState(""),[l,o]=i.useState(""),[d,c]=i.useState(""),[g,y]=i.useState(""),[p,m]=i.useState(""),[A,C]=i.useState(""),[b,f]=i.useState(String(new Date().getFullYear())),[x,R]=i.useState(String(new Date().getMonth()+1).padStart(2,"0")),[k,O]=i.useState(0),[_,D]=i.useState(null),u=us(t),h=ps(s,t),S=i.useMemo(()=>cr(Number(b)),[b]),E=i.useMemo(()=>dr(10),[]),$=i.useMemo(()=>!s||!d||!b||!x||k===0?null:nn(zi.table,{session:Ni(),class_id:s,section_id:d,year:b,month:x,batch_id:p}),[p,s,x,k,d,b]),{data:q,isLoading:T,mutate:F}=K(t&&$?[$,t]:null,([M,L])=>Vt(M,L)),j=q?.data?.data??q?.data??q??{},P=i.useMemo(()=>Ay(j),[j]),I=i.useMemo(()=>Dy(j),[j]),N=i.useMemo(()=>[{title:"Roll No",dataIndex:"roll_no"},{title:"Name",dataIndex:"student_name"},{title:"Present",dataIndex:"present"},{title:"Absent",dataIndex:"absent"},{title:"Late",dataIndex:"late"}],[]),W=i.useMemo(()=>_?.student_id?nn(zi.byStudent,{student_id:_.student_id,month:x,year:b,session:Ni()}):null,[x,_,b]),{data:Y,isLoading:B}=K(t&&W?[W,t]:null,([M,L])=>Vt(M,L)),U=e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12,alignItems:"end"},children:[e.jsx(Z,{options:u.options,label:"Class",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:M=>{r(M?.value??""),o(M?.label??""),c(""),y(""),m(""),C("")},required:!0}),e.jsx(Z,{options:h.options,label:"Section",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:M=>{c(M?.value??""),y(M?.label??""),m(""),C("")},required:!0},`section-${s}`),e.jsx(Z,{options:E,label:"Year",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:E.find(M=>String(M?.value)===String(b))??null,onChange:M=>f(String(M?.value??"")),required:!0}),e.jsx(Z,{options:S,label:"Month",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:S.find(M=>String(M?.value)===String(x))??null,onChange:M=>R(String(M?.value??"").padStart(2,"0")),required:!0},`month-${b}`),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"button",value:"Search",color:"primary",onClick:()=>O(M=>M+1)})})]}),e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:12,alignItems:"center",justifyContent:"space-between"},children:[e.jsx(Ht,{items:[{label:"Class",value:l},{label:"Section",value:g},{label:"Month",value:S.find(M=>String(M?.value)===String(x))?.label??x},{label:"Year",value:b}]}),e.jsx(my,{})]})]});return e.jsxs(e.Fragment,{children:[e.jsx(ms,{title:"Monthly Report",subtitle:"Monthly class-wise attendance matrix and student drilldown.",printRef:n,exportRows:I,exportColumns:N,onRefresh:()=>F?.(),filterSection:U,summary:P,chartContent:e.jsx(Da,{summary:P,title:"Monthly Attendance Summary"}),reportTitle:"Monthly Attendance Table",fileBaseName:"monthly-attendance-report",children:e.jsxs("div",{ref:n,children:[e.jsxs("div",{className:"print-only",children:[e.jsx($t,{}),e.jsx(Ht,{items:[{label:"Class",value:l},{label:"Section",value:g},{label:"Month",value:S.find(M=>String(M?.value)===String(x))?.label??x},{label:"Year",value:b}]})]}),e.jsx(gy,{data:j,loading:T,onViewStudent:D})]})}),e.jsx(xy,{open:!!_,onClose:()=>D(null),loading:B,data:Y,studentName:_?.student_name??_?.full_name})]})}const Ry=Lt.yearlyReport,Iy=t=>{const n=t?.data?.data??t?.data??t??{};return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:Array.isArray(n?.students)?n.students:Array.isArray(n?.report)?n.report:Array.isArray(n?.resultlist)?n.resultlist:[]},ky=t=>(Array.isArray(t)?t:[]).reduce((n,s)=>({present:n.present+Number(s?.singleStudentPresentData??s?.present??0),absent:n.absent+Number(s?.singleStudentAbsentData??s?.absent??0),late:n.late+Number(s?.late??0),leave:n.leave+Number(s?.leave??0)}),{present:0,absent:0,late:0,leave:0});function Py({token:t}){const n=i.useRef(null),[s,r]=i.useState(""),[l,o]=i.useState(""),[d,c]=i.useState(""),[g,y]=i.useState(""),[p,m]=i.useState(""),[A,C]=i.useState(""),[b,f]=i.useState(""),[x,R]=i.useState(""),[k,O]=i.useState(0),_=us(t),D=ps(s,t),u=cy(t),h=i.useMemo(()=>!s||!d||k===0?null:nn(Ry.table,{class_id:s,section_id:d,session_id:p,batch_id:b}),[b,s,k,d,p]),{data:S,isLoading:E,mutate:$}=K(t&&h?[h,t]:null,([I,N])=>Vt(I,N)),q=i.useMemo(()=>Iy(S),[S]),T=i.useMemo(()=>ky(q),[q]),F=i.useMemo(()=>[{title:"Roll No",dataIndex:"roll_no"},{title:"Full Name",dataIndex:"full_name"},{title:"Present",dataIndex:"singleStudentPresentData"},{title:"Absent",dataIndex:"singleStudentAbsentData"}],[]),j=i.useMemo(()=>[{title:"Sl No.",key:"sl",width:70,render:(I,N,W)=>W+1},{title:"Roll No",dataIndex:"roll_no",key:"roll_no",width:100},{title:"Full Name",dataIndex:"full_name",key:"full_name"},{title:"Total Present",dataIndex:"singleStudentPresentData",key:"singleStudentPresentData",width:130},{title:"Total Absent",dataIndex:"singleStudentAbsentData",key:"singleStudentAbsentData",width:130}],[]),P=e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16,alignItems:"end"},children:[e.jsx(Z,{options:_.options,label:"Class",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:I=>{r(I?.value??""),o(I?.label??""),c(""),y(""),f(""),R("")},required:!0}),e.jsx(Z,{options:D.options,label:"Section",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:I=>{c(I?.value??""),y(I?.label??""),f(""),R("")},required:!0},`section-${s}`),e.jsx(Z,{options:u.options,label:"Session",closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:I=>{m(I?.value??""),C(I?.label??"")},required:!0}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"button",value:"Search",color:"primary",onClick:()=>O(I=>I+1)})})]}),e.jsx(Ht,{items:[{label:"Class",value:l},{label:"Section",value:g},{label:"Session",value:A}]})]});return e.jsx(ms,{title:"Yearly Report",subtitle:"Yearly attendance summary migrated from ERP AttendanceDashboard.",printRef:n,exportRows:q,exportColumns:F,onRefresh:()=>$?.(),filterSection:P,summary:T,chartContent:e.jsx(Da,{summary:T,title:"Yearly Attendance Summary"}),reportTitle:"Yearly Attendance List",fileBaseName:"yearly-attendance-report",children:e.jsxs("div",{ref:n,children:[e.jsxs("div",{className:"print-only",children:[e.jsx($t,{}),e.jsx(Ht,{items:[{label:"Class",value:l},{label:"Section",value:g},{label:"Session",value:A}]})]}),e.jsx(a.Table,{bordered:!0,size:"small",rowKey:(I,N)=>String(I?.student_id??I?.id??N),columns:j,dataSource:q,loading:E,pagination:{pageSize:25},scroll:{x:"max-content"}})]})})}const Oy=(t,n)=>{const s=String(t??""),r=String(n??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},To=t=>{const n=qt(t);if(n)return n;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}},Yi=(t,n)=>{const s=`${t||""}`.trim();if(!s)return"";if(/^https?:\/\//i.test(s))return s;const r=To(n),l=s.startsWith("/")?s.slice(1):s;return Oy(at(),`uploads/school_${r}/branch/income/${l}`)},My=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n.map(s=>({value:s?.value??s?.id??"",label:s?.label??s?.name??s?.income_category??s?.title??""})):[]};function Ey({data:t}){const{handleUpdate:n,token:s}=t||{},r=i.useContext(Mt),{isLoading:l,data:o}=K(s&&r?[`${nu}?id=${r}`,s]:null,([u,h])=>G(u,h)),{data:d}=K(s?[Ql,s]:null,([u,h])=>G(u,h)),c=i.useMemo(()=>My(d),[d]),g=i.useMemo(()=>{if(Array.isArray(o))return o[0];const u=o?.data?.data??o?.data??o??{};return Array.isArray(u)?u[0]:u??{}},[o]),[y,p]=i.useState({income_head:"",name:"",invoice_no:"",date:se(),amount:"",description:"",doc:""}),[m,A]=i.useState(!1),[C,b]=i.useState(!1),[f,x]=i.useState(""),[R,k]=i.useState(""),O=async u=>{u.preventDefault(),A(!0);try{await n(u,r)}finally{A(!1)}};i.useEffect(()=>{g&&p({income_head:g?.inc_head_id||"",name:g?.name||"",invoice_no:g?.invoice_no||"",date:g?.date?se(g.date):se(),amount:g?.amount||"",description:g?.note||"",doc:g?.documents||""})},[g]);const _=(u,h)=>{p(S=>({...S,[u]:h}))},D=c.find(u=>String(u.value)===String(y.income_head))??null;return l?e.jsx(w,{pt:4,pb:1,style:{width:550,display:"flex",justifyContent:"center",alignItems:"center"},children:e.jsx(a.Spin,{tip:"Loading..."})}):e.jsxs(w,{pt:4,pb:1,style:{width:550},children:[e.jsx("form",{onSubmit:O,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Edit Income"})}),e.jsx(w,{p:2,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsxs(w,{children:[e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}}),e.jsx(Z,{label:"Income Head",options:c,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"income_head",required:!0,value:D,onChange:u=>_("income_head",u?.value||"")})]})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"name",type:"text",label:"Name",required:!0,value:y.name,onChange:u=>_("name",u.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"invoice_no",type:"text",label:"Invoice Number",required:!0,value:y.invoice_no,onChange:u=>_("invoice_no",u.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",value:y.date,Desplay:"Date",name:"date",required:!0,onChange:u=>_("date",u)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"amount",type:"number",label:"Amount",required:!0,value:y.amount,onChange:u=>_("amount",u.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(gt,{name:"description",label:"Description",rows:3,value:y.description,onChange:u=>_("description",u.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsxs(w,{children:[e.jsx(a.Upload,{action:`${at()}/uploadfile.php`,name:"file",data:{filepath:`uploads/school_${To(s)}/branch/income`},headers:{Authorization:s},maxCount:1,onChange:u=>{if(u.file.status==="removed"&&_("doc",""),u.file.status==="done"){const h=u.file.response?.data??u.file.response?.file??"";_("doc",String(h??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:y.doc?"Change":"Upload"})},y.doc||"empty"),y.doc&&e.jsx("a",{href:Yi(y.doc,s),target:"_blank",rel:"noreferrer",style:{display:"block",marginTop:8,fontSize:12,color:"#1677ff",textDecoration:"underline"},onClick:u=>{u.preventDefault(),x(Yi(y.doc,s)),k(y.doc||"Document"),b(!0)},children:"View existing document"}),e.jsx("input",{type:"hidden",name:"doc",value:y.doc||"",readOnly:!0})]})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"center",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:m?"Saving...":"Submit",color:"primary",disabled:m})})})})})]})})]})}),e.jsx(a.Modal,{open:C,onCancel:()=>{b(!1),x(""),k("")},footer:null,width:900,closable:!0,children:e.jsxs(w,{p:3,children:[e.jsx(w,{mb:2,children:e.jsx(be,{level:5,children:R||"View Document"})}),f?f.match(/\.pdf(?:[?#]|$)/i)?e.jsx("iframe",{src:f,title:R||"Document Preview",style:{width:"100%",height:"70vh",border:"none"}}):e.jsx("img",{src:f,alt:R||"Document Preview",style:{width:"100%",maxHeight:"70vh",objectFit:"contain"}}):e.jsx(be,{children:"No document found"})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const Fy=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},$y=(t,n)=>{const s=String(t??""),r=String(n??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},Wi=t=>{const n=qt(t);if(n)return n;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}};function Uy({token:t}){const[n,s]=i.useState([]),[r,l]=i.useState(""),[o,d]=i.useState(""),[c,g]=i.useState({income_head:"",name:"",invoice_no:"",date:se().format("YYYY-MM-DD"),amount:"",description:"",doc:""}),[y,p]=i.useState(!1),[m,A]=i.useState({page:1,rowsPerPage:10}),C=(T,F)=>{A({...m,page:T,rowsPerPage:parseInt(F,10)})},b=async(T,F)=>{try{await k(Ge(T,F,t),st(F)),v.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{v.error("Failed to add the new item.",{duration:1e3})}},{isLoading:f,error:x,data:R,mutate:k}=K(t?[Gc,t,m.page,m.rowsPerPage]:null,([T,F,j,P])=>G(`${T}?page=${j}&per_page=${P}`,F)),O=i.useMemo(()=>[{id:"1",name:"Name",selector:"name",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0},{id:"3",name:"Income Category",selector:"income_category",sortable:!0},{id:"4",name:"Invoice No",selector:"invoice_no",sortable:!0},{id:"5",name:"Date",selector:"date",sortable:!0},{id:"6",name:"Note",selector:"note",sortable:!0},{id:"7",name:"Amount",selector:"amount",sortable:!0},{id:"8",name:"File",selector:"documents",sortable:!1,render:T=>{const F=Wi(t),j=T?/^https?:\/\//i.test(T)?T:$y(at(),`uploads/school_${F}/branch/income/${T}`):null;return T?e.jsx("span",{style:{textDecoration:"underline",color:"#5080f8",cursor:"pointer"},onClick:()=>j&&window.open(j,"_blank"),children:"View"}):"Not Uploaded"}}],[t]),_=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],D=async T=>{try{await k(Ze(Xc,T,t),nt(T)),v.success("Success! Deleted item.",{duration:1e3,icon:"ðïļ"})}catch{v.error("Failed to delete the item.",{duration:1e3})}},u=async(T,F,j)=>{try{await k(tt(T,F,t)),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),await j(null)}catch{v.error("Failed to update the item.",{duration:1e3})}},h=async(T,F)=>{T.preventDefault();const j=new FormData(T.target);await u(Qc,j,F),E(!1)},S=async T=>{if(T.preventDefault(),!T.target.date.value)v.error("Select required dates",{duration:1e3}),T.target?.date?.focus(),d("textDanger");else{const F=new FormData(T.target);await b(Jc,F),T.target.reset(),l(""),g(j=>({...j,date:se().format("YYYY-MM-DD")}))}},E=T=>{p(T)},{data:$}=K(t?[Ql,t]:null,([T,F])=>G(T,F)),q=i.useMemo(()=>Fy($),[$]);return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Add Income"})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:S,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{label:"Income Head",options:q,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"income_head",required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"name",type:"text",label:"Name",required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"invoice_no",type:"text",label:"Invoice Number",required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",defaultValue:se(),Desplay:"Date",name:"date",status:o===""?"":"error",classnme:o,onChange:()=>d("")})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"amount",type:"number",label:"Amount",required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsxs(w,{children:[e.jsx(a.Upload,{action:`${at()}/uploadfile.php`,name:"file",data:{filepath:`uploads/school_${Wi(t)}/branch/income`},headers:{Authorization:t},maxCount:1,onChange:T=>{if(T.file.status==="removed"&&l(""),T.file.status==="done"){const F=T.file.response?.data??T.file.response?.file??"";l(String(F??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:r?"Change":"Upload"})},r||"empty"),e.jsx("input",{type:"hidden",name:"doc",value:r||"",readOnly:!0})]})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(gt,{name:"description",label:"Description",rows:3})})}),e.jsx(a.Col,{xs:24,md:12,className:"buttonCoustom",children:e.jsx(a.Row,{justifyContent:"flex-end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})})})})]})})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Income List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:C,data:{newData:R,columns:O,action:!0,Loading:f,ActionView:_,error:x,editDesign:e.jsx(Ey,{data:{handleUpdate:h,token:t}}),deleteTodoMutation:D,open:y,DrawerUpdate:E}})})]})})]}),e.jsx("style",{children:".noDisplay { display: none; } .textDanger { color: #dc2626; } .buttonCoustom { margin-top: 8px; }"})]})}const Vi={width:"100%",height:40};function By({token:t}){const[n,s]=i.useState(null),[r,l]=i.useState(null),[o,d]=i.useState(""),[c,g]=i.useState(""),[y,p]=i.useState(""),[m,A]=i.useState({page:1,rowsPerPage:10}),C=(_,D)=>{A({...m,page:_,rowsPerPage:parseInt(D,10)})},{isLoading:b,error:f,data:x,mutate:R}=K(t&&o?[o,t,m.page,m.rowsPerPage]:null,([_,D,u,h])=>G(`${_}page=${u}&per_page=${h}`,D)),k=i.useMemo(()=>[{id:"1",name:"Invoice No",selector:"invoice_no",sortable:!0},{id:"2",name:"Date",selector:"date",sortable:!0},{id:"3",name:"Name",selector:"name",sortable:!0},{id:"4",name:"Description",selector:"description",sortable:!0},{id:"5",name:"Income Category",selector:"income_category",sortable:!0},{id:"6",name:"Note",selector:"note",sortable:!0},{id:"7",name:"Amount",selector:"amount",sortable:!0}],[]),O=()=>{if(!n){v.error("Select required dates",{duration:1e3}),g("textDanger");return}if(!r){v.error("Select required dates",{duration:1e3}),p("textDanger");return}const _=n.format("YYYY-MM-DD"),D=r.format("YYYY-MM-DD");d(`${ru}?from_date=${_}&to_date=${D}&`),A(u=>({...u,page:1}))};return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Search Income"})}),e.jsx(w,{p:3,children:e.jsxs(a.Row,{gutter:[16,16],alignItems:"end",children:[e.jsx(a.Col,{xs:24,md:8,children:e.jsxs(w,{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"From Date"}),e.jsx(a.DatePicker,{value:n,onChange:_=>{s(_),g("")},style:Vi,allowClear:!1})]})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsxs(w,{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"To Date"}),e.jsx(a.DatePicker,{value:r,onChange:_=>{l(_),p("")},style:Vi,allowClear:!1})]})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsx(ie,{type:"button",value:"Search",color:"primary",onClick:O})})]})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Income List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:C,data:{newData:x,columns:k,action:!1,Loading:b,error:f,pageController:m}})})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}function Ny({data:t}){const{handleUpdate:n,token:s}=t||{},r=i.useContext(Mt),{isLoading:l,data:o}=K(s&&r?[`${su}?id=${r}`,s]:null,([C,b])=>G(C,b)),d=i.useMemo(()=>{if(Array.isArray(o))return o[0];const C=o?.data?.data??o?.data??o??{};return Array.isArray(C)?C[0]:C??{}},[o]),[c,g]=i.useState({incomehead:"",description:""}),[y,p]=i.useState(!1);i.useEffect(()=>{d&&g({incomehead:d?.income_category||d?.incomehead||"",description:d?.description||""})},[d]);const m=(C,b)=>{g(f=>({...f,[C]:b}))},A=async C=>{C.preventDefault(),p(!0);try{await n(C)}finally{p(!1)}};return l?e.jsx(w,{pt:4,pb:1,style:{width:350,display:"flex",justifyContent:"center",alignItems:"center"},children:e.jsx(a.Spin,{tip:"Loading..."})}):e.jsxs(w,{pt:4,pb:1,style:{width:350},children:[e.jsx("form",{onSubmit:A,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(w,{children:[e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}}),e.jsx(V,{name:"incomehead",type:"text",label:"Income Head Name",required:!0,value:c.incomehead,onChange:C=>m("incomehead",C.target.value)})]})}),e.jsx(a.Col,{xs:24,children:e.jsx(w,{children:e.jsx(V,{name:"description",type:"text",label:"Description",required:!0,value:c.description,onChange:C=>m("description",C.target.value)})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justifyContent:"flex-end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:y?"Saving...":"Submit",color:"primary",disabled:y})})})})})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}function Ly({token:t}){const[n,s]=i.useState({incomehead:"",description:""}),[r,l]=i.useState(!1),[o,d]=i.useState(!1),[c,g]=i.useState({page:1,rowsPerPage:10}),y=(u,h)=>{g({...c,page:u,rowsPerPage:parseInt(h,10)})},p=async(u,h)=>{try{await b(Ge(u,h,t),st(h)),v.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{v.error("Failed to add the new item.",{duration:1e3})}},{isLoading:m,error:A,data:C,mutate:b}=K(t?[Zc,t,c.page,c.rowsPerPage]:null,([u,h,S,E])=>G(`${u}?page=${S}&per_page=${E}`,h)),f=i.useMemo(()=>[{id:"1",name:"Name",selector:"income_category",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0}],[]),x=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],R=async u=>{try{await b(Ze(au,u,t),nt(u)),v.success("Success! Deleted item.",{duration:1e3,icon:"ðïļ"})}catch{v.error("Failed to delete the item.",{duration:1e3})}},k=async(u,h)=>{try{await b(tt(u,h,t)),v.success("Success! Updated item.",{duration:1e3,icon:"ð"})}catch{v.error("Failed to update the item.",{duration:1e3})}},O=async u=>{u.preventDefault();const h=new FormData(u.target);await k(tu,h),D(!1)},_=async u=>{u.preventDefault(),d(!0);try{await p(eu,new FormData(u.target)),s({incomehead:"",description:""})}finally{d(!1)}},D=u=>{l(u)};return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:5,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Income Head"})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:_,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsx(w,{children:e.jsx(V,{name:"incomehead",type:"text",label:"Income Head Name",required:!0,value:n.incomehead,onChange:u=>s(h=>({...h,incomehead:u.target.value}))})})}),e.jsx(a.Col,{xs:24,children:e.jsx(w,{children:e.jsx(V,{name:"description",type:"text",label:"Description",required:!0,value:n.description,onChange:u=>s(h=>({...h,description:u.target.value}))})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justifyContent:"flex-end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:o?"Saving...":"Save",color:"primary",disabled:o})})})})})]})})})]})}),e.jsx(a.Col,{xs:24,md:19,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Income Head List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:y,data:{newData:C,columns:f,action:!0,Loading:m,ActionView:x,error:A,editDesign:e.jsx(Ny,{data:{handleUpdate:O,token:t}}),deleteTodoMutation:R,open:r,DrawerUpdate:D}})})]})})]}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const qy=(t,n)=>{const s=String(t??""),r=String(n??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},Ro=t=>{const n=qt(t);if(n)return n;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}},Hi=(t,n)=>{const s=`${t||""}`.trim();if(!s)return"";if(/^https?:\/\//i.test(s))return s;const r=Ro(n),l=s.startsWith("/")?s.slice(1):s;return qy(at(),`uploads/school_${r}/branch/expense/${l}`)},Ki=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n.map(s=>({value:s?.value??s?.id??"",label:s?.label??s?.name??s?.exp_category??s?.vendor_name??s?.title??""})):[]},Gi=[{label:"Cash",value:"cash"},{label:"UPI",value:"upi"},{label:"Phonepay",value:"phonepay"},{label:"Google Pay",value:"google_pay"},{label:"Net Banking",value:"net_banking"},{label:"Cheque",value:"cheque"},{label:"Demand Draft",value:"demand_draft"}];function zy({data:t}){const{handleUpdate:n,token:s}=t||{},r=i.useContext(Mt),{isLoading:l,data:o}=K(s&&r?[`${hu}?id=${r}`,s]:null,([$,q])=>G($,q)),{data:d}=K(s?[Xl,s]:null,([$,q])=>G($,q)),{data:c}=K(s?[Zl,s]:null,([$,q])=>G($,q)),g=i.useMemo(()=>Ki(d),[d]),y=i.useMemo(()=>Ki(c),[c]),p=i.useMemo(()=>{if(Array.isArray(o))return o[0];const $=o?.data?.data??o?.data??o??{};return Array.isArray($)?$[0]:$??{}},[o]),[m,A]=i.useState(!1),[C,b]=i.useState(!1),[f,x]=i.useState(""),[R,k]=i.useState(""),O=async $=>{$.preventDefault(),A(!0);try{await n($,r)}finally{A(!1)}},[_,D]=i.useState({expense_head:"",vendor:"",name:"",invoice_no:"",date:se(),amount:"",payment_mode:"",note:"",doc:""});i.useEffect(()=>{p&&D({expense_head:p?.exp_head_id||"",vendor:p?.fk_vendor_id||"",name:p?.name||"",invoice_no:p?.invoice_no||"",date:p?.date?se(p.date):se(),amount:p?.amount||"",payment_mode:p?.payment_mode||"",note:p?.note||"",doc:p?.documents||""})},[p]);const u=($,q)=>{D(T=>({...T,[$]:q}))},h=g.find($=>String($.value)===String(_.expense_head))??null,S=y.find($=>String($.value)===String(_.vendor))??null,E=Gi.find($=>String($.value)===String(_.payment_mode))??null;return l?e.jsx(w,{pt:4,pb:1,style:{width:550,display:"flex",justifyContent:"center",alignItems:"center"},children:e.jsx(a.Spin,{tip:"Loading..."})}):e.jsxs(w,{pt:4,pb:1,style:{width:550},children:[e.jsx("form",{onSubmit:O,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Edit Expense"})}),e.jsx(w,{p:2,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsxs(w,{children:[e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}}),e.jsx(Z,{label:"Expense Head",options:g,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"expense_head",required:!0,value:h,onChange:$=>u("expense_head",$?.value||"")})]})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{label:"Vendor",options:y,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"vendor",value:S,onChange:$=>u("vendor",$?.value||"")})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"name",type:"text",label:"Name",required:!0,value:_.name,onChange:$=>u("name",$.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"invoice_no",type:"text",label:"Invoice Number",required:!0,value:_.invoice_no,onChange:$=>u("invoice_no",$.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",value:_.date,Desplay:"Date",name:"date",required:!0,onChange:$=>u("date",$)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"amount",type:"number",label:"Amount",required:!0,value:_.amount,onChange:$=>u("amount",$.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{label:"Payment Mode",options:Gi,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"payment_mode",required:!0,value:E,onChange:$=>u("payment_mode",$?.value||"")})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(gt,{name:"note",label:"Description",rows:3,value:_.note,onChange:$=>u("note",$.target.value)})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsxs(w,{children:[e.jsx(a.Upload,{action:`${at()}/uploadfile.php`,name:"file",data:{filepath:`uploads/school_${Ro(s)}/branch/expense`},headers:{Authorization:s},maxCount:1,onChange:$=>{if($.file.status==="removed"&&u("doc",""),$.file.status==="done"){const q=$.file.response?.data??$.file.response?.file??"";u("doc",String(q??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:_.doc?"Change":"Upload"})}),_.doc&&e.jsx("a",{href:Hi(_.doc,s),target:"_blank",rel:"noreferrer",style:{display:"block",marginTop:8,fontSize:12,color:"#1677ff",textDecoration:"underline"},onClick:$=>{$.preventDefault(),x(Hi(_.doc,s)),k(_.doc||"Document"),b(!0)},children:"View existing document"}),e.jsx("input",{type:"hidden",name:"doc",value:_.doc||"",readOnly:!0})]})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"center",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:m?"Saving...":"Submit",color:"primary",disabled:m})})})})})]})})]})}),e.jsx(a.Modal,{open:C,onCancel:()=>{b(!1),x(""),k("")},footer:null,width:900,closable:!0,children:e.jsxs(w,{p:3,children:[e.jsx(w,{mb:2,children:e.jsx(be,{level:5,children:R||"View Document"})}),f?f.match(/\.pdf(?:[?#]|$)/i)?e.jsx("iframe",{src:f,title:R||"Document Preview",style:{width:"100%",height:"70vh",border:"none"}}):e.jsx("img",{src:f,alt:R||"Document Preview",style:{width:"100%",maxHeight:"70vh",objectFit:"contain"}}):e.jsx(be,{children:"No document found"})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}const Ji=t=>{const n=t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},Yy=(t,n)=>{const s=String(t??""),r=String(n??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},Io=t=>{const n=qt(t);if(n)return n;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}},Wy=(t,n)=>{const s=`${t||""}`.trim();if(!s)return"";if(/^https?:\/\//i.test(s))return s;const r=Io(n),l=s.startsWith("/")?s.slice(1):s;return Yy(at(),`uploads/school_${r}/branch/expense/${l}`)},Vy=[{label:"Cash",value:"cash"},{label:"UPI",value:"upi"},{label:"Phonepay",value:"phonepay"},{label:"Google Pay",value:"google_pay"},{label:"Net Banking",value:"net_banking"},{label:"Cheque",value:"cheque"},{label:"Demand Draft",value:"demand_draft"}];function Hy({token:t}){const[n,s]=i.useState(""),[r,l]=i.useState(""),[o,d]=i.useState({expense_head:"",vendor:"",name:"",invoice_no:"",date:se(),amount:"",payment_mode:"",note:"",doc:""}),[c,g]=i.useState(!1),[y,p]=i.useState(!1),[m,A]=i.useState({page:1,rowsPerPage:10}),C=(j,P)=>{A({...m,page:j,rowsPerPage:parseInt(P,10)})},b=async(j,P)=>{try{await Ge(j,P,t),k(),v.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{v.error("Failed to add the new item.",{duration:1e3})}},{isLoading:f,error:x,data:R,mutate:k}=K(t?[iu,t,m.page,m.rowsPerPage]:null,([j,P,I,N])=>G(`${j}?page=${I}&per_page=${N}`,P)),O=i.useMemo(()=>[{title:"Sl No",dataIndex:"__serialNumber",key:"sl",sorter:(j,P)=>(j.__serialNumber??0)-(P.__serialNumber??0)},{title:"Name",dataIndex:"name",key:"name",sorter:(j,P)=>String(j.name??"").localeCompare(String(P.name??""))},{title:"Description",dataIndex:"description",key:"description"},{title:"Expense Category",dataIndex:"exp_category",key:"exp_category"},{title:"Invoice No",dataIndex:"invoice_no",key:"invoice_no"},{title:"Note",dataIndex:"note",key:"note"},{title:"Amount",dataIndex:"amount",key:"amount"},{title:"File",dataIndex:"documents",key:"documents",render:(j,P)=>j?e.jsx("span",{style:{textDecoration:"underline",color:"#5080f8",cursor:"pointer"},onClick:()=>window.open(Wy(j,t),"_blank"),children:"View"}):"Not Uploaded"}],[t]),_=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],D=async j=>{try{await Ze(du,j,t),k(),v.success("Success! Deleted item.",{duration:1e3,icon:"ðïļ"})}catch{v.error("Failed to delete the item.",{duration:1e3})}},u=async(j,P,I)=>{try{await k(tt(j,P,t)),v.success("Success! Updated item.",{duration:1e3,icon:"ð"}),await I(null)}catch{v.error("Failed to update the item.",{duration:1e3})}},h=async(j,P)=>{j.preventDefault();const I=new FormData(j.target);await u(ou,I,P),E(!1)},S=async j=>{if(j.preventDefault(),!j.target.date.value)v.error("Select required dates",{duration:1e3}),j.target?.date?.focus(),l("textDanger");else{const P=new FormData(j.target);p(!0);try{await b(lu,P)}finally{p(!1)}j.target.reset(),d(I=>({...I,date:se()})),s("")}},E=j=>{g(j)},{data:$}=K(t?[Xl,t]:null,([j,P])=>G(j,P)),{data:q}=K(t?[Zl,t]:null,([j,P])=>G(j,P)),T=i.useMemo(()=>Ji($),[$]),F=i.useMemo(()=>Ji(q),[q]);return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Add Expense"})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:S,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{label:"Expense Head",options:T,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"expense_head",required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{label:"Vendor",options:F,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"vendor"})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"name",type:"text",label:"Name",required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"invoice_no",type:"text",label:"Invoice Number",required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD",defaultValue:se(),Desplay:"Date",name:"date",status:r===""?"":"error",classnme:r,onChange:()=>l("")})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(V,{name:"amount",type:"number",label:"Amount",required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(Z,{label:"Payment Mode",options:Vy,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,name:"payment_mode",required:!0})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx(w,{children:e.jsx(gt,{name:"note",label:"Description",rows:3})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsxs(w,{children:[e.jsx(a.Upload,{action:`${at()}/uploadfile.php`,name:"file",data:{filepath:`uploads/school_${Io(t)}/branch/expense`},headers:{Authorization:t},maxCount:1,onChange:j=>{if(j.file.status==="removed"&&s(""),j.file.status==="done"){const P=j.file.response?.data??j.file.response?.file??"";s(String(P??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:n?"Change":"Upload"})}),e.jsx("input",{type:"hidden",name:"doc",value:n||"",readOnly:!0})]})}),e.jsx(a.Col,{xs:24,md:12,className:"buttonCoustom",children:e.jsx(a.Row,{justifyContent:"flex-end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:y?"Saving...":"Save",color:"primary",disabled:y})})})})})]})})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Expense List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:C,data:{newData:R,columns:O,columnstype:"antd",action:!0,Loading:f,ActionView:_,error:x,editDesign:e.jsx(zy,{data:{handleUpdate:h,token:t}}),deleteTodoMutation:D,open:c,DrawerUpdate:E}})})]})})]}),e.jsx("style",{children:".noDisplay { display: none; } .textDanger { color: #dc2626; } .buttonCoustom { margin-top: 8px; }"})]})}const Ky=[{label:"Paid to",key:"vendor_name"},{label:"Address",key:"address"},{label:"GST Number",key:"gst"},{label:"Bussiness Name",key:"business_name"}],Gy=[{label:"Date",key:"date"},{label:"Voucher Number",key:"voucher_number"},{label:"Payment Mode",key:"payment_mode"}];function Jy({onClick:t}){return e.jsx(a.Button,{type:"primary",icon:e.jsx(ee.PrinterOutlined,{}),onClick:t,children:"Print"})}function Qy({data:t}){const n=i.useMemo(()=>{if(!t)return null;if(Array.isArray(t))return t[0];const s=t?.data?.data??t?.data??t??{};return Array.isArray(s)?s[0]:s},[t]);return e.jsx("div",{style:{width:"100%"},children:e.jsxs("div",{style:{border:"1px solid ",margin:"5px"},children:[e.jsx("div",{style:{display:"flex",alignItems:"center",flexDirection:"column",justifyContent:"center",borderBottom:"1px solid black",fontWeight:"bold",padding:"10px",backgroundColor:"#dfdfdf",fontSize:"18px"},children:"Expense Voucher"}),e.jsx("div",{style:{width:"100%",display:"flex",justifyContent:"center",borderBottom:"1px solid black"},children:e.jsx("div",{style:{width:"90%"},children:e.jsx($t,{})})}),e.jsx("div",{style:{width:"100%",borderBottom:"1px solid black"},children:e.jsxs(a.Row,{style:{paddingLeft:4,paddingRight:4},children:[e.jsx(a.Col,{xs:12,style:{borderRight:"1px solid black",display:"flex",alignItems:"flex-start",flexDirection:"column"},children:Ky.map((s,r)=>e.jsxs("div",{style:{marginBottom:4},children:[e.jsx("span",{style:{fontWeight:"bold"},children:s.label}),":"," ",n?.[s.key]]},`vendor${r}`))}),e.jsx(a.Col,{xs:12,style:{display:"flex",alignItems:"flex-end",flexDirection:"column"},children:Gy.map((s,r)=>e.jsxs("div",{style:{marginBottom:4},children:[e.jsx("span",{style:{fontWeight:"bold"},children:s.label}),":"," ",n?.[s.key]]},`payment${r}`))})]})}),e.jsx("div",{style:{width:"100%",borderBottom:"1px solid black"},children:e.jsxs(a.Row,{style:{paddingLeft:4,paddingRight:4},children:[e.jsx(a.Col,{xs:12,style:{borderRight:"1px solid black",display:"flex",alignItems:"flex-start",flexDirection:"column"},children:e.jsxs("div",{children:[e.jsx("span",{style:{fontWeight:"bold"},children:"Description"}),":"," ",n?.note]})}),e.jsx(a.Col,{xs:12,style:{display:"flex",alignItems:"flex-end",flexDirection:"column"},children:e.jsx("div",{children:e.jsx("span",{style:{fontWeight:"bold"},children:"Amount"})})})]})}),e.jsx("div",{style:{width:"100%",borderBottom:"1px solid black"},children:e.jsxs(a.Row,{style:{paddingLeft:4,paddingRight:4},children:[e.jsx(a.Col,{xs:12,style:{borderRight:"1px solid black",display:"flex",alignItems:"flex-start",flexDirection:"column"},children:e.jsxs("div",{children:[e.jsx("span",{style:{fontWeight:"bold"},children:n?.name})," "]})}),e.jsx(a.Col,{xs:12,style:{display:"flex",alignItems:"flex-end",flexDirection:"column"},children:e.jsx("div",{children:n?.amount})})]})}),e.jsx("div",{style:{width:"100%",borderBottom:"1px solid black"},children:e.jsxs(a.Row,{style:{paddingLeft:4,paddingRight:4},children:[e.jsx(a.Col,{xs:12,style:{paddingRight:4,borderRight:"1px solid black",display:"flex",alignItems:"flex-end",flexDirection:"column"},children:e.jsxs("div",{children:[e.jsx("span",{style:{fontWeight:"bold"},children:"Total"})," "]})}),e.jsx(a.Col,{xs:12,style:{display:"flex",alignItems:"flex-end",flexDirection:"column"},children:e.jsxs("div",{children:[e.jsx("span",{style:{fontWeight:"bold"},children:n?.amount})," "]})})]})}),e.jsx("div",{style:{width:"100%",height:"75px",display:"flex",alignItems:"flex-end"},children:e.jsxs(a.Row,{style:{paddingLeft:4,paddingRight:4},justify:"flex-end",align:"flex-end",children:[e.jsx(a.Col,{xs:4,style:{borderTop:"1px solid gray",display:"flex",justifyContent:"center"},children:"Approved by"}),e.jsx(a.Col,{xs:1}),e.jsx(a.Col,{xs:4,style:{borderTop:"1px solid gray",display:"flex",justifyContent:"flex-end"},children:"Signature"})]})})]})})}function Xy({token:t}){const n=i.useMemo(()=>typeof window>"u"?null:new URLSearchParams(window.location.search).get("id")??null,[]),s=i.useRef(null),r=ia.useReactToPrint({content:()=>s.current}),{isLoading:l,data:o,error:d}=K(t&&n?[fu,n,t]:null,([c,g,y])=>G(`${c}?id=${g}`,y));return e.jsx(w,{pt:4,pb:1,children:e.jsx(a.Row,{gutter:[16,16],children:e.jsx(a.Col,{xs:24,children:e.jsx("div",{style:{width:"75%"},className:"container",children:e.jsx("div",{className:"row",children:e.jsx("div",{className:"col-lg-12",children:e.jsxs("div",{className:"card",ref:s,children:[e.jsx("div",{style:{width:"100%",display:"flex"},children:l?e.jsx("div",{style:{padding:40,textAlign:"center"},children:e.jsx(a.Spin,{tip:"Loading..."})}):d?e.jsx("div",{style:{padding:40,textAlign:"center"},children:"Error loading data"}):o?.Status==="Success"?e.jsx(Qy,{data:o}):e.jsx("div",{style:{padding:40,textAlign:"center"},children:"No Data Found"})}),e.jsxs("div",{className:"d-print-none mt-4",children:[e.jsx("div",{className:"float-end",children:e.jsx(Jy,{onClick:r})}),e.jsx("div",{className:"float-end",style:{marginRight:"2%"},children:e.jsx(a.Button,{type:"text",onClick:()=>window.history.back(),children:"Back"})})]})]})})})})})})})}const Qi={width:"100%",height:40};function Zy({token:t}){const[n,s]=i.useState(null),[r,l]=i.useState(null),[o,d]=i.useState(""),[c,g]=i.useState(""),[y,p]=i.useState(""),[m,A]=i.useState({page:1,rowsPerPage:10}),C=(_,D)=>{A({...m,page:_,rowsPerPage:parseInt(D,10)})},{isLoading:b,error:f,data:x,mutate:R}=K(t&&o?[o,t,m.page,m.rowsPerPage]:null,([_,D,u,h])=>G(`${_}page=${u}&per_page=${h}`,D)),k=i.useMemo(()=>[{id:"1",name:"Invoice No",selector:"invoice_no",sortable:!0},{id:"2",name:"Date",selector:"date",sortable:!0},{id:"3",name:"Name",selector:"name",sortable:!0},{id:"4",name:"Description",selector:"description",sortable:!0},{id:"5",name:"Expense Category",selector:"exp_category",sortable:!0},{id:"6",name:"Note",selector:"note",sortable:!0},{id:"7",name:"Amount",selector:"amount",sortable:!0}],[]),O=()=>{if(!n){v.error("Select required dates",{duration:1e3}),g("textDanger");return}if(!r){v.error("Select required dates",{duration:1e3}),p("textDanger");return}const _=n.format("YYYY-MM-DD"),D=r.format("YYYY-MM-DD");d(`${gu}?from_date=${_}&to_date=${D}&`),A(u=>({...u,page:1}))};return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Search Expense"})}),e.jsx(w,{p:3,children:e.jsxs(a.Row,{gutter:[16,16],alignItems:"end",children:[e.jsx(a.Col,{xs:24,md:8,children:e.jsxs(w,{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"From Date"}),e.jsx(a.DatePicker,{value:n,onChange:_=>{s(_),g("")},style:Qi,allowClear:!1})]})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsxs(w,{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"To Date"}),e.jsx(a.DatePicker,{value:r,onChange:_=>{l(_),p("")},style:Qi,allowClear:!1})]})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsx(ie,{type:"button",value:"Search",color:"primary",onClick:O})})]})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Expense List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:C,data:{newData:x,columns:k,action:!1,Loading:b,error:f,pageController:m}})})]})})]}),e.jsx("style",{children:".textDanger { color: #dc2626; }"})]})}function eg({data:t}){const{handleUpdate:n,token:s}=t||{},r=i.useContext(Mt),{isLoading:l,data:o}=K(s&&r?[`${yu}?id=${r}`,s]:null,([C,b])=>G(C,b)),d=i.useMemo(()=>{if(Array.isArray(o))return o[0];const C=o?.data?.data??o?.data??o??{};return Array.isArray(C)?C[0]:C??{}},[o]),[c,g]=i.useState({expensehead:"",description:""}),[y,p]=i.useState(!1);i.useEffect(()=>{d&&g({expensehead:d?.exp_category||d?.expensehead||"",description:d?.description||""})},[d]);const m=(C,b)=>{g(f=>({...f,[C]:b}))},A=async C=>{C.preventDefault(),p(!0);try{await n(C)}finally{p(!1)}};return l?e.jsx(w,{pt:4,pb:1,style:{width:350,display:"flex",justifyContent:"center",alignItems:"center"},children:e.jsx(a.Spin,{tip:"Loading..."})}):e.jsxs(w,{pt:4,pb:1,style:{width:350},children:[e.jsx("form",{onSubmit:A,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(w,{children:[e.jsx(V,{type:"text",value:r,name:"id",required:!0,className:"noDisplay",onChange:()=>{}}),e.jsx(V,{name:"expensehead",type:"text",label:"Expense Head Name",required:!0,value:c.expensehead,onChange:C=>m("expensehead",C.target.value)})]})}),e.jsx(a.Col,{xs:24,children:e.jsx(w,{children:e.jsx(V,{name:"description",type:"text",label:"Description",required:!0,value:c.description,onChange:C=>m("description",C.target.value)})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justifyContent:"flex-end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:y?"Saving...":"Submit",color:"primary",disabled:y})})})})})]})}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}function tg({token:t}){const[n,s]=i.useState({expensehead:"",description:""}),[r,l]=i.useState(!1),[o,d]=i.useState(!1),[c,g]=i.useState({page:1,rowsPerPage:10}),y=(u,h)=>{g({...c,page:u,rowsPerPage:parseInt(h,10)})},p=async(u,h)=>{try{await b(Ge(u,h,t),st(h)),v.success("Success! Added new item.",{duration:1e3,icon:"ð"})}catch{v.error("Failed to add the new item.",{duration:1e3})}},{isLoading:m,error:A,data:C,mutate:b}=K(t?[cu,t,c.page,c.rowsPerPage]:null,([u,h,S,E])=>G(`${u}?page=${S}&per_page=${E}`,h)),f=i.useMemo(()=>[{id:"1",name:"Name",selector:"exp_category",sortable:!0},{id:"2",name:"Description",selector:"description",sortable:!0}],[]),x=[{key:"Edit",status:!0},{key:"Delete",status:!0},{key:"View",status:!1}],R=async u=>{try{await b(Ze(mu,u,t),nt(u)),v.success("Success! Deleted item.",{duration:1e3,icon:"ðïļ"})}catch{v.error("Failed to delete the item.",{duration:1e3})}},k=async(u,h)=>{try{await b(tt(u,h,t)),v.success("Success! Updated item.",{duration:1e3,icon:"ð"})}catch{v.error("Failed to update the item.",{duration:1e3})}},O=async u=>{u.preventDefault();const h=new FormData(u.target);await k(pu,h),D(!1)},_=async u=>{u.preventDefault(),d(!0);try{await p(uu,new FormData(u.target)),s({expensehead:"",description:""})}finally{d(!1)}},D=u=>{l(u)};return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:5,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Expense Head"})}),e.jsx(w,{p:3,children:e.jsx("form",{onSubmit:_,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsx(w,{children:e.jsx(V,{name:"expensehead",type:"text",label:"Expense Head Name",required:!0,value:n.expensehead,onChange:u=>s(h=>({...h,expensehead:u.target.value}))})})}),e.jsx(a.Col,{xs:24,children:e.jsx(w,{children:e.jsx(V,{name:"description",type:"text",label:"Description",required:!0,value:n.description,onChange:u=>s(h=>({...h,description:u.target.value}))})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justifyContent:"flex-end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:o?"Saving...":"Save",color:"primary",disabled:o})})})})})]})})})]})}),e.jsx(a.Col,{xs:24,md:19,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Expense Head List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:y,data:{newData:C,columns:f,action:!0,Loading:m,ActionView:x,error:A,editDesign:e.jsx(eg,{data:{handleUpdate:O,token:t}}),deleteTodoMutation:R,open:r,DrawerUpdate:D}})})]})})]}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}function ag({token:t}){const[n,s]=i.useState(""),[r,l]=i.useState(""),[o,d]=i.useState(""),[c,g]=i.useState(0),[y,p]=i.useState(""),[m,A]=i.useState({page:1,rowsPerPage:10}),C=(E,$)=>{A({...m,page:E,rowsPerPage:parseInt($,10)})},{isLoading:b,error:f,data:x,mutate:R}=K(t&&y?[y,t,m.page,m.rowsPerPage]:null,([E,$,q,T])=>G(`${E}page=${q}&per_page=${T}`,$)),{data:k}=K(t?[un,t]:null,([E,$])=>G(E,$)),{data:O}=K(t&&n?[`${pn}?class_id=${n}`,t]:null,([E,$])=>G(E,$)),_=i.useMemo(()=>k?Array.isArray(k)?k:Array.isArray(k?.data)?k.data:[]:[],[k]),D=i.useMemo(()=>O?Array.isArray(O)?O:Array.isArray(O?.data)?O.data:[]:[],[O]),u=i.useMemo(()=>[{id:"1",name:"First Name",selector:"firstname",sortable:!0},{id:"2",name:"Last Name",selector:"lastname",sortable:!0},{id:"3",name:"Class",selector:"class",sortable:!0},{id:"4",name:"Section",selector:"section",sortable:!0},{id:"5",name:"ID",selector:"username",sortable:!0},{id:"6",name:"Password",selector:"password",sortable:!0}],[]),h=E=>{s(E?.value||""),l(""),g($=>$+1)},S=E=>{if(E.preventDefault(),!n){v.error("Please select class",{duration:1e3});return}if(!r){v.error("Please select section",{duration:1e3});return}const $=`${xu}?class_id=${n}§ion_id=${r}&keyword=${o||""}&`;p($),A(q=>({...q,page:1}))};return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Student Login Credential"})}),e.jsx(w,{p:3,children:e.jsxs(a.Row,{gutter:[16,16],align:"bottom",children:[e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{children:e.jsx(Z,{label:"Class",options:_,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:_.find(E=>String(E.value)===String(n))??null,onChange:h})})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{children:e.jsx(Z,{label:"Section",options:D,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:D.find(E=>String(E.value)===String(r))??null,onChange:E=>l(E?.value||"")})})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{children:e.jsx(V,{name:"keyword",type:"text",label:"Search By Keyword",value:o,onChange:E=>d(E.target.value)})})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(ie,{type:"button",value:"Search",color:"primary",onClick:S})})]})})]})}),y&&e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Student List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:C,data:{newData:x,columns:u,action:!1,Loading:b,error:f,pageController:m}})})]})})]}),e.jsx("style",{children:".noDisplay { display: none; }"})]})}function ng({token:t}){const[n,s]=i.useState(""),[r,l]=i.useState(""),[o,d]=i.useState(""),[c,g]=i.useState(0),[y,p]=i.useState(eo),[m,A]=i.useState(!1),[C,b]=i.useState(null);console.log("Selected Student ID:",m);const[f,x]=i.useState({page:1,rowsPerPage:10}),R=(P,I)=>{x({...f,page:P,rowsPerPage:parseInt(I,10)})},{isLoading:k,error:O,data:_,mutate:D}=K(t&&y?[y,t,f.page,f.rowsPerPage]:null,([P,I,N,W])=>G(`${P}page=${N}&per_page=${W}`,I)),{data:u}=K(t?[un,t]:null,([P,I])=>G(P,I)),{data:h}=K(t&&n?[`${pn}?class_id=${n}`,t]:null,([P,I])=>G(P,I)),S=i.useMemo(()=>u?Array.isArray(u)?u:Array.isArray(u?.data)?u.data:[]:[],[u]),E=i.useMemo(()=>h?Array.isArray(h)?h:Array.isArray(h?.data)?h.data:[]:[],[h]),$=i.useMemo(()=>[{id:"1",name:"EC No",selector:"ec_no",sortable:!0},{id:"2",name:"Roll NO",selector:"roll_no",sortable:!0},{id:"3",name:"Admission Number",selector:"admission_no",sortable:!0},{id:"4",name:"First Name",selector:"firstname",sortable:!0},{id:"5",name:"Last Name",selector:"lastname",sortable:!0},{id:"6",name:"Class",selector:"class",sortable:!0},{id:"7",name:"Section",selector:"section",sortable:!0},{id:"8",name:"Father Name",selector:"father_name",sortable:!0},{id:"9",name:"Medicine",selector:"Medical",sortable:!1,render:(P,I)=>e.jsx(a.Button,{type:"primary",size:"small",onClick:()=>{b(I.id),A(!0)},children:"Medical"})}],[]),q=P=>{s(P?.value||""),l(""),g(I=>I+1)},T=P=>{if(P.preventDefault(),!n||!r){v.error("Please select class and section",{duration:1e3});return}const I=`${ao}?cID=${n}&sID=${r}&page=${f.page}&per_page=${f.rowsPerPage}&`;p(I),x(N=>({...N,page:1}))},F=P=>{P.preventDefault();const I=P.target.searchField?.value||"";d(I);const N=`${to}?key=${I}&page=${f.page}&per_page=${f.rowsPerPage}&`;p(N),x(W=>({...W,page:1}))},j=async P=>{P.preventDefault();const I=new FormData(P.target),N=bu;try{await D(addData(N,I,t)),v.success("Medicine added successfully",{duration:1e3}),P.target.reset()}catch{v.error("Failed to add medicine",{duration:1e3})}};return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Medical Report"})}),e.jsx(w,{p:3,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx("form",{onSubmit:T,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:8,children:e.jsx(w,{children:e.jsx(Z,{label:"Class",options:S,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:S.find(P=>String(P.value)===String(n))??null,onChange:q})})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsx(w,{children:e.jsx(Z,{label:"Section",options:E,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:E.find(P=>String(P.value)===String(r))??null,onChange:P=>l(P?.value||"")})})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsx(ie,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx("form",{onSubmit:F,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:16,children:e.jsx(V,{name:"searchField",type:"text",label:"Search By Keyword",value:o,onChange:P=>d(P.target.value)})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsx(ie,{type:"submit",value:"Submit",color:"primary"})})]})})})]})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Student List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:R,data:{newData:_,columns:$,action:!1,Loading:k,error:O,pageController:f}})})]})})]}),e.jsx(a.Drawer,{title:"Medical Report",placement:"right",width:600,open:m,footer:e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsx(ie,{type:"button",value:"Close",color:"default"})})}),children:e.jsx(sg,{studentId:C,token:t,onAddMedicine:j})}),e.jsx("style",{children:".noDisplay { display: none; } .buttonCoustom { margin-top: 8px; }"})]})}function sg({studentId:t,token:n,onAddMedicine:s}){const{data:r}=K(n&&t?[`${no}?id=${t}`,n]:null,([g,y])=>G(g,y)),{data:l}=K(n&&t?[`${ju}?student_id=${t}`,n]:null,([g,y])=>G(g,y)),o=r?.studentBasicDetails?.[0];let d=[];Array.isArray(l?.data)?d=l.data:Array.isArray(l)&&(d=l);const c=[{title:"Medicine",dataIndex:"medicine",key:"medicine"},{title:"Notes",dataIndex:"notes",key:"notes"},{title:"Date",dataIndex:"date_time",key:"date_time"}];return e.jsxs(w,{children:[o&&e.jsxs(w,{mb:3,children:[e.jsxs(be,{level:4,children:["Name: ",o?.firstname," ",o?.lastname]}),e.jsxs("div",{style:{fontSize:15},children:["Class: ",o?.class," (",o?.section,")"]}),e.jsxs("div",{style:{fontSize:15},children:["Admission No: ",o?.admission_no]})]}),e.jsx(be,{level:5,style:{marginBottom:8},children:"Add Medicine"}),e.jsx("form",{onSubmit:s,style:{marginBottom:24},children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(w,{children:[e.jsx(V,{name:"medicine",type:"text",label:"Medicine Name",required:!0}),e.jsx("input",{name:"student_id",type:"hidden",value:t||"",readOnly:!0})]})}),e.jsx(a.Col,{xs:24,children:e.jsx(w,{children:e.jsx(gt,{name:"notes",label:"Note",rows:3})})}),e.jsx(a.Col,{xs:24,children:e.jsx(w,{children:e.jsx(He,{format:"YYYY-MM-DD HH:mm",Desplay:"Date",name:"date_time",defaultValue:se()})})}),e.jsx(a.Col,{xs:24,children:e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Add",color:"primary"})})})})})]})}),e.jsx(be,{level:5,style:{marginBottom:8},children:"Previous Medicine"}),e.jsx(a.Table,{size:"small",dataSource:d,pagination:!1,columns:c})]})}const{Group:Xi}=a.Checkbox;function rg({token:t}){const[n,s]=i.useState(""),[r,l]=i.useState(""),[o,d]=i.useState(""),[c,g]=i.useState(0),[y,p]=i.useState(eo),[m,A]=i.useState(!1),[C,b]=i.useState(null),[f,x]=i.useState({page:1,rowsPerPage:10}),R=(N,W)=>{x({...f,page:N,rowsPerPage:parseInt(W,10)})},{isLoading:k,error:O,data:_,mutate:D}=K(t&&y?[y,t,f.page,f.rowsPerPage]:null,([N,W,Y,B])=>G(`${N}page=${Y}&per_page=${B}`,W)),{data:u}=K(t?[un,t]:null,([N,W])=>G(N,W)),{data:h}=K(t&&n?[`${pn}?class_id=${n}`,t]:null,([N,W])=>G(N,W)),S=i.useMemo(()=>u?Array.isArray(u)?u:Array.isArray(u?.data)?u.data:[]:[],[u]),E=i.useMemo(()=>h?Array.isArray(h)?h:Array.isArray(h?.data)?h.data:[]:[],[h]),$=i.useMemo(()=>[{id:"1",name:"EC No",selector:"ec_no",sortable:!0},{id:"2",name:"Roll NO",selector:"roll_no",sortable:!0},{id:"3",name:"Admission Number",selector:"admission_no",sortable:!0},{id:"4",name:"First Name",selector:"firstname",sortable:!0},{id:"5",name:"Last Name",selector:"lastname",sortable:!0},{id:"6",name:"Class",selector:"class",sortable:!0},{id:"7",name:"Section",selector:"section",sortable:!0},{id:"8",name:"Father Name",selector:"father_name",sortable:!0},{id:"9",name:"Assign Subject",selector:"Assign",sortable:!1,render:(N,W)=>e.jsx(a.Button,{type:"primary",size:"small",onClick:()=>{b(W.id),A(!0)},children:"Assign"})}],[]),q=N=>{s(N?.value||""),l(""),g(W=>W+1)},T=N=>{if(N.preventDefault(),!n||!r){v.error("Please select class and section",{duration:1e3});return}const W=`${ao}?cID=${n}&sID=${r}&page=${f.page}&per_page=${f.rowsPerPage}&`;p(W),x(Y=>({...Y,page:1}))},F=N=>{N.preventDefault();const W=N.target.searchField?.value||"";d(W);const Y=`${to}?key=${W}&page=${f.page}&per_page=${f.rowsPerPage}&`;p(Y),x(B=>({...B,page:1}))},j=async N=>{N.preventDefault();const W=new FormData(N.target),Y=vu;try{await D(tt(Y,W,t)),v.success("Subject updated successfully",{duration:1e3}),N.target.reset(),A(!1)}catch{v.error("Failed to update subject",{duration:1e3})}},P=async N=>{N.preventDefault();const W=new FormData(N.target),Y=er;try{await D(tt(Y,W,t)),v.success("Extra curricular updated successfully",{duration:1e3}),N.target.reset(),A(!1)}catch{v.error("Failed to update extra curricular",{duration:1e3})}},I=N=>{A(N)};return e.jsxs(w,{pt:5,pb:1,children:[e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Assign Student Subject"})}),e.jsx(w,{p:3,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:12,children:e.jsx("form",{onSubmit:T,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:8,children:e.jsx(w,{children:e.jsx(Z,{label:"Class",options:S,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:S.find(N=>String(N.value)===String(n))??null,onChange:q})})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsx(w,{children:e.jsx(Z,{label:"Section",options:E,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:E.find(N=>String(N.value)===String(r))??null,onChange:N=>l(N?.value||"")})})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsx(ie,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(a.Col,{xs:24,md:12,children:e.jsx("form",{onSubmit:F,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:16,children:e.jsx(V,{name:"searchField",type:"text",label:"Search By Keyword",value:o,onChange:N=>d(N.target.value)})}),e.jsx(a.Col,{xs:24,md:8,children:e.jsx(ie,{type:"submit",value:"Submit",color:"primary"})})]})})})]})})]})}),e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Student List"})}),e.jsx(w,{pt:3,children:e.jsx(ze,{parentCallback:R,data:{newData:_,columns:$,action:!1,Loading:k,error:O,pageController:f}})})]})})]}),m&&e.jsx(ig,{open:m,DrawerUpdate:I,studentId:C,token:t,onUpdate:j,onUpdate2:P}),e.jsx("style",{children:".noDisplay { display: none; } .buttonCoustom { margin-top: 8px; }"})]})}function ig({open:t,DrawerUpdate:n,studentId:s,token:r,onUpdate:l,onUpdate2:o}){const[d,c]=i.useState([]),[g,y]=i.useState([]),[p,m]=i.useState([]),[A,C]=i.useState(!1),[b,f]=i.useState([]),[x,R]=i.useState([]),[k,O]=i.useState([]),{trigger:_}=pt(no,async($,{arg:q})=>await G(`${$}?id=${q.id}`,r)),{trigger:D}=pt(er,async()=>await G(`${er}?student_id=${s}`,r)),{trigger:u}=pt(Su,async($,{arg:q})=>await G(`${$}?id=${q.id}`,r));i.useEffect(()=>{(async()=>{if(!s)return;C(!0);const q=await _({id:s});q?.studentBasicDetails?.[0];const T=await D(),F=await u({id:s});c(q),m(F),q&&y(T),C(!1)})()},[s,_,D,u]);const h=$=>{R($);const q=d?.data?.filter(T=>!$.includes(T.value));f(JSON.stringify(q))},S=$=>{O($)},E=d?.studentBasicDetails?.[0];return!A&&s?e.jsx("div",{style:{position:"fixed",top:0,right:0,width:400,height:"100vh",background:"#fff",boxShadow:"-2px 0 8px rgba(0,0,0,0.15)",zIndex:9999,overflow:"auto"},children:e.jsxs(w,{p:3,children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Edit Assigned Subjects"})}),e.jsxs(w,{p:3,children:[E&&e.jsxs("div",{style:{marginBottom:16},children:[e.jsxs(be,{level:4,children:["Name: ",E?.firstname," ",E?.lastname]}),e.jsxs("div",{style:{fontSize:15},children:["Class: ",E?.class," (",E?.section,")"]}),e.jsxs("div",{style:{fontSize:15},children:["Admission No: ",E?.admission_no]})]}),e.jsx("form",{onSubmit:l,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsxs(a.Col,{xs:24,children:[e.jsx(be,{level:5,children:"Subjects"}),e.jsx(Xi,{options:d?.data?.map($=>({label:$.label||$.name,value:$.value})),value:x,onChange:h,style:{display:"grid",gap:8}})]}),e.jsxs(a.Col,{xs:24,children:[e.jsx("input",{name:"student_id",type:"hidden",value:s||"",readOnly:!0}),e.jsx("input",{name:"subjectUncheck[]",type:"hidden",value:b,readOnly:!0})]}),d?.data?.length===0?e.jsx(a.Col,{xs:24,children:e.jsx("span",{style:{cursor:"pointer",fontSize:15,color:"blue",textDecoration:"underline"},children:"Please Assign Subject"})}):e.jsx(a.Col,{xs:24,className:"buttonCoustom",children:e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Update",color:"primary"})})})})})]})}),g?.data?.length>0&&e.jsx("form",{onSubmit:o,style:{marginTop:24},children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsxs(a.Col,{xs:24,children:[e.jsx(be,{level:5,children:"Extra Curricular Activities"}),e.jsx(Xi,{options:g?.data?.map($=>({label:$.label||$.name,value:$.value})),value:k,onChange:S,style:{display:"grid",gap:8}})]}),e.jsx(a.Col,{xs:24,children:e.jsx("input",{name:"student_id",type:"hidden",value:s||"",readOnly:!0})}),e.jsx(a.Col,{xs:24,className:"buttonCoustom",children:e.jsx(a.Row,{justify:"end",children:e.jsx(a.Col,{children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:"Update",color:"primary"})})})})})]})})]})]})}):e.jsx("div",{style:{position:"fixed",top:0,right:0,width:400,height:"100vh",background:"#fff",boxShadow:"-2px 0 8px rgba(0,0,0,0.15)",zIndex:9999,overflow:"auto"},children:e.jsx(w,{p:3,children:e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:200},children:e.jsx(a.Spin,{size:"large"})})})})}function lg({token:t}){const[n,s]=i.useState(""),[r,l]=i.useState(""),[o,d]=i.useState(0),[c,g]=i.useState(null),[y,p]=i.useState(!1),{data:m}=K(t?[un,t]:null,([u,h])=>G(u,h)),{data:A}=K(t&&n?[`${pn}?class_id=${n}`,t]:null,([u,h])=>G(u,h)),{data:C}=K(t?[_u,t]:null,([u,h])=>G(`${u}?page=1&per_page=10`,h)),b=i.useMemo(()=>m?Array.isArray(m)?m:Array.isArray(m?.data)?m.data:[]:[],[m]),f=i.useMemo(()=>A?Array.isArray(A)?A:Array.isArray(A?.data)?A.data:[]:[],[A]),x=i.useMemo(()=>[{id:"1",name:"Category Id",selector:"id",sortable:!0},{id:"2",name:"Category",selector:"category",sortable:!0}],[]),R=u=>{s(u?.value||""),l(""),d(h=>h+1)},k=u=>{l(u?.value||"")},O=()=>{const u=document.createElement("a");u.href="/sample_student.xlsx",u.download="sample_student.xlsx",u.click()},_=u=>{u.fileList.length>0?g(u.fileList[0].originFileObj):g(null)},D=async u=>{if(u.preventDefault(),!n){v.error("Please select class",{duration:1e3});return}if(!r){v.error("Please select section",{duration:1e3});return}if(!c){v.error("Please select file",{duration:1e3});return}p(!0);const h=new FormData;h.append("file",c),h.append("class_id",n),h.append("section_id",r);try{const S=await Ca(wu,h,t);S?.Status==="Failed"?v.error(S?.msg||"Upload failed",{duration:2e3}):(v.success(S?.msg||"Upload successful",{duration:2e3}),g(null),s(""),l(""))}catch(S){v.error(S?.response?.data?.msg||"Upload failed",{duration:2e3})}finally{p(!1)}};return e.jsx(w,{pt:5,pb:1,children:e.jsx(a.Row,{gutter:[16,16],children:e.jsx(a.Col,{xs:24,children:e.jsxs(a.Card,{children:[e.jsx(w,{mx:2,mt:-3,py:1,px:1,style:{background:"linear-gradient(90deg, #5080f8 0%, #3b5de7 100%)",borderRadius:8,color:"#fff",display:"inline-block"},children:e.jsx(be,{level:5,style:{margin:0,color:"#fff"},children:"Bulk Upload Students"})}),e.jsxs(w,{p:3,children:[e.jsx(a.Row,{justify:"end",style:{marginBottom:16},children:e.jsx(a.Col,{children:e.jsx(a.Button,{type:"primary",icon:e.jsx(ee.DownloadOutlined,{}),onClick:O,style:{background:"#368fed"},children:"Download Sample Import File"})})}),e.jsxs("div",{style:{marginBottom:16,padding:16,background:"#f5f5f5",borderRadius:8},children:[e.jsx(be,{level:5,style:{marginBottom:8},children:"Information"}),e.jsx("div",{children:"1. Your Excel data should be in the format below. The first line of your Excel file should be the column headers as in the table example. Also make sure that your file is UTF-8 to avoid unnecessary encoding problems."}),e.jsx("div",{children:"2. If the column you are trying to import is date make sure that is formatted in format Y-m-d (2024-01-10)."}),e.jsx("div",{children:"3. Duplicate Admission Number, ec_no, aadhaar_number, (unique) rows will not be imported."}),e.jsx("div",{children:"4. For student Gender use Male, Female value."}),e.jsx("div",{children:"5. For student Blood Group use A+, A-, B+, B-, O+, O-, AB+, AB- value."}),e.jsx("div",{children:"6. * Imported field are admission_no, ec_no, firstname, lastname, roll_no, guardian_phone, aadhaar_number, category_id"})]}),e.jsxs("div",{style:{marginBottom:24},children:[e.jsx(be,{level:5,style:{marginBottom:8},children:"Category Table"}),e.jsx(ze,{parentCallback:()=>{},data:{newData:C,columns:x,action:!1,Loading:!1,error:null,pageController:{page:1,rowsPerPage:10}}})]}),e.jsx("form",{onSubmit:D,children:e.jsxs(a.Row,{gutter:[16,16],children:[e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{children:e.jsx(Z,{label:"Class",options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0,value:b.find(u=>String(u.value)===String(n))??null,onChange:R})})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsx(w,{children:e.jsx(Z,{label:"Section",options:f,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,required:!0,value:f.find(u=>String(u.value)===String(r))??null,onChange:k},`section-${o}`)})}),e.jsx(a.Col,{xs:24,md:6,children:e.jsxs(w,{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"File"}),e.jsx(a.Upload,{beforeUpload:()=>!1,onChange:_,maxCount:1,accept:".xlsx,.xls",children:e.jsx(a.Button,{icon:e.jsx(ee.UploadOutlined,{}),style:{width:"100%"},children:c?c.name:"Select Excel File"})})]})}),e.jsx(a.Col,{xs:24,md:6,style:{display:"flex",alignItems:"flex-end"},children:e.jsx(w,{children:e.jsx(ie,{type:"submit",value:y?"Processing...":"Save",color:"primary",loading:y})})})]})})]})]})})})})}function og(){return null}const hs=t=>t??localStorage.getItem("authToken")??"",ko=(t,n)=>{const s=String(t??""),r=String(n??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},Po=()=>JSON.parse(localStorage.getItem("genrall_settings")??"null")?.session_id??"1",Ue={uploadNotes:"api/branchapi/Academy/uploadNotes",master:{classes:{dropdown:"api/branchapi/academy/classdropdownlist",table:"api/branchapi/academy/classestableList",add:"api/branchapi/academy/addclasses",edit:"api/branchapi/academy/editclass",remove:"api/branchapi/academy/deleteclass",show:"api/branchapi/academy/classShowdata"},sections:{list:"api/branchapi/academy/sectionlist",table:"api/branchapi/academy/sectiontableList",add:"api/branchapi/academy/addsections",edit:"api/branchapi/academy/editsection",remove:"api/branchapi/academy/deletesection",show:"api/branchapi/academy/sectionShowdata",byClass:"api/branchapi/academy/sectionoftheClass"},subjects:{dropdown:"api/branchapi/Academy/getClassSubjectdropdown",byClassLabelValue:"api/branchapi/Academy/getSubjectsbyClassaslablevalue",table:"api/branchapi/academy/subjecttableList",add:"api/branchapi/academy/addsubjects",edit:"api/branchapi/academy/editsubject",remove:"api/branchapi/academy/deletesubject",show:"api/branchapi/academy/subjectShowdata"},holidays:{table:"api/branchapi/academy/holidayList",add:"api/branchapi/academy/addholidays",edit:"api/branchapi/academy/editholidays",remove:"api/branchapi/academy/deleteholiday",show:"api/branchapi/academy/getByIdholidays"}},assignSubjects:{assign:"api/branchapi/Academy/assignClassSubjects",list:"api/branchapi/academy/getSubjectsbyClass",update:"api/branchapi/academy/updateAssignSubject",editByClass:"api/branchapi/academy/editSubjectsbyClass"},assignByClass:{teacherDropdown:"api/branchapi/topics/getTeacherDropdown",classWithSection:"api/branchapi/academy/getClasswithSection",assignedSubjectsOfTeacher:"api/branchapi/academy/getassignedSubjectsofTeacher",subjectsOfTeacherByTeacherId:"api/branchapi/academy/getSubjectsofTeacherbyTeacherID",assignClassToTeacher:"api/branchapi/academy/assignClasstoTeacher",deleteTeacherSub:"api/branchapi/academy/deleteTeacherSub"},promoteStudents:{searchByClassSection:"api/branchapi/student/currentSessionStudentlist",sessionDropdown:"api/branchapi/generalSettings/sessiondropdown",promote:"api/branchapi/student/promotestudent"},timeGroup:{table:"api/branchapi/academy/getTimeGroupTable",add:"api/branchapi/academy/addTimeGroup",edit:"api/branchapi/academy/editTimeGroup",remove:"api/branchapi/academy/deleteTimeGroup",show:"api/branchapi/academy/getTimeGroupDataById",dropdown:"api/branchapi/academy/getTimeGroupDropDown"},assignTimeGroup:{classIdByTimeGroup:"api/branchapi/academy/getClassIdByTimeGroup",table:"api/branchapi/academy/getAssignedTimeGroupTable",show:"api/branchapi/academy/getAssignedTimeGroupDataById",assign:"api/branchapi/academy/assignTimeGroup"},timetable:{save:"api/timetable/save",byClassSection:"api/timetable/class",teacherTimetable:"api/timetable/teacher/",teachersBySubject:"api/branchapi/Academy/gettechersSubject"},notes:{table:"api/branchapi/Academy/getNotesTable",add:"api/branchapi/Academy/addNotes"},syllabus:{table:"api/branchapi/Academy/getsyllabusTable",add:"api/branchapi/Academy/addsyllabus",edit:"api/branchapi/Academy/editsyllabus",uploadFile:"api/SuperAdmin/uploadFile"},transferCertificate:{studentList:"api/branchapi/student/getstudenttransferCertificateList",addData:"api/branchapi/academy/addtransferCertificatedata",view:"api/branchapi/academy/gettransferCertificateUrl"},coscholastic:{table:"api/branchapi/academy/getcoscholastic",addSkill:"api/branchapi/academy/add_coscholastic_skill",deleteSkill:"api/branchapi/academy/deleteCoscholastic",categoryDropdown:"api/branchapi/academy/coscholastic_categorydropdown",addCategory:"api/branchapi/academy/addcoscholastic_category",deleteCategory:"api/branchapi/academy/coscholasticCategoryDelete"}},dg=()=>ko(At(),Ue.uploadNotes),cg=()=>ko(At(),Ue.syllabus.uploadFile),ug=async({baseUrl:t,page:n=1,perPage:s=10},r)=>{const l=t.includes("?")?"&":"?",o=`${t}${l}page=${encodeURIComponent(String(n))}&per_page=${encodeURIComponent(String(s))}`;return G(o,hs(r))},Pt=async(t,n,s,{includeSession:r=!1}={})=>{const l=n instanceof FormData?n:new FormData;return r&&!l.has("session_id")&&l.append("session_id",Po()),Ge(t,l,hs(s))},Kt=async(t,n,s,{includeSession:r=!1}={})=>{const l=n instanceof FormData?n:new FormData;return r&&!l.has("session_id")&&l.append("session_id",Po()),tt(t,l,hs(s))},Gt=async(t,n,s)=>Ze(t,n,hs(s)),Jn=Ue.master.sections,gn=({baseUrl:t,page:n=1,perPage:s=10,token:r})=>K(r&&t?[t,n,s,r]:null,([o,d,c,g])=>ug({baseUrl:o,page:d,perPage:c},g)),pg=({token:t,page:n=1,perPage:s=10})=>gn({token:t,baseUrl:Jn.table,page:n,perPage:s}),mg=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]};function hg({token:t}){const[n,s]=i.useState({page:1,perPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(null),[c]=a.Form.useForm(),{data:g,isLoading:y,mutate:p}=pg({token:t,page:n.page,perPage:n.perPage}),m=i.useMemo(()=>mg(g),[g]),A=i.useMemo(()=>g?.pagination?.total_rows??g?.pagination?.total??m.length??0,[g,m]),C=async k=>{k.preventDefault();const O=new FormData(k.target);try{await Pt(Jn.add,O,t),v.success("Success! Added new item.",{duration:1e3}),k.target.reset(),p()}catch(_){v.error(_?.response?.data?.msg??_?.message??"Failed to add the new item.",{duration:1500})}},b=async k=>{try{await Gt(Jn.remove,k,t),v.success("Success! Deleted item.",{duration:1e3}),p()}catch(O){v.error(O?.response?.data?.msg??O?.message??"Failed to delete the item.",{duration:1500})}},f=k=>{d(k),l(!0),c.setFieldsValue({section:k?.section??""})},x=async k=>{const O=new FormData;O.append("id",String(o?.id??"")),O.append("section",k.section??"");try{await Kt(Jn.edit,O,t),v.success("Success! Updated item.",{duration:1e3}),l(!1),d(null),p()}catch(_){v.error(_?.response?.data?.msg??_?.message??"Failed to update the item.",{duration:1500})}},R=i.useMemo(()=>[{title:"Section",dataIndex:"section",key:"section"},{title:"Actions",key:"actions",width:120,render:(k,O)=>e.jsxs(a.Space,{children:[e.jsx(a.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>f(O)}),e.jsx(a.Popconfirm,{title:"Delete this section?",onConfirm:()=>b(O?.id),children:e.jsx(a.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[c]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Drawer,{title:"Edit Section",open:r,onClose:()=>{l(!1),d(null)},width:420,children:e.jsxs(a.Form,{form:c,layout:"vertical",onFinish:x,children:[e.jsx(a.Form.Item,{label:"Section Name",name:"section",rules:[{required:!0,message:"Section Name is required"}],children:e.jsx(a.Input,{placeholder:"Section Name"})}),e.jsxs(a.Space,{children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{l(!1),d(null)},children:"Cancel"})]})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Section"}),children:e.jsx("form",{onSubmit:C,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(V,{type:"text",name:"section",label:"Section Name",required:!0}),e.jsx(ie,{type:"submit",value:"Submit",color:"primary"})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Section List"}),extra:e.jsx(a.Space,{}),children:e.jsx(a.Table,{rowKey:k=>k.id,columns:R,dataSource:m,loading:y,pagination:{current:n.page,pageSize:n.perPage,total:A,showSizeChanger:!0,onChange:(k,O)=>s({page:k,perPage:O})}})})]})}function fg({token:t}){return e.jsx(hg,{token:t})}const Ja=Ue.master.classes,yg=({token:t,page:n=1,perPage:s=10})=>gn({token:t,baseUrl:Ja.table,page:n,perPage:s}),gg=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},xg=t=>Array.isArray(t)?t:Array.isArray(t?.data)?t.data:[];function bg({token:t}){const[n,s]=i.useState({page:1,perPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(null),[c]=a.Form.useForm(),[g]=a.Form.useForm(),{data:y}=K(t?[Ue.master.sections.list,t]:null,([S,E])=>G(S,E)),p=i.useMemo(()=>xg(y),[y]),m=i.useMemo(()=>p.map(S=>({label:S.label??S.section??String(S.value??""),value:String(S.value??S.id??"")})),[p]),{data:A,isLoading:C,mutate:b}=yg({token:t,page:n.page,perPage:n.perPage}),f=i.useMemo(()=>gg(A),[A]),x=i.useMemo(()=>A?.pagination?.total_rows??A?.pagination?.total??f.length??0,[A,f]),{data:R}=K(t&&o?[`${Ja.show}?id=${encodeURIComponent(String(o))}`,t]:null,([S,E])=>G(S,E)),k=i.useMemo(()=>{const S=R?.data??R;return Array.isArray(S)?S:Array.isArray(S?.data)?S.data:S?[S]:[]},[R]),O=S=>{const E=S?.id??S?.class_id;E&&(d(E),l(!0))};i.useEffect(()=>{if(!r||!k.length)return;const S=k[0],E=k.map(T=>T?.section_id??T?.fk_sectionId??T?.sectionId??T?.section).filter(T=>T!=null&&String(T).trim()!=="").map(T=>String(T)),$=Array.isArray(S?.section_ids)?S.section_ids.map(T=>String(T)):typeof S?.section_ids=="string"?S.section_ids.split(",").map(T=>T.trim()).filter(Boolean):Array.isArray(S?.section)?S.section.map(T=>String(T)):[],q=E.length?E:$;g.setFieldsValue({name:S?.class??S?.name??"",section:q})},[r,k,g]);const _=async S=>{const E=new FormData;E.append("name",S.name??""),(S.section??[]).forEach($=>E.append("section[]",String($)));try{await Pt(Ja.add,E,t),v.success("Success! Added new item.",{duration:1e3}),c.resetFields(),b()}catch($){v.error($?.response?.data?.msg??$?.message??"Failed to add the new item.",{duration:1500})}},D=async S=>{const E=new FormData;E.append("id",String(o??"")),E.append("name",S.name??""),(S.section??[]).forEach($=>E.append("section[]",String($)));try{await Kt(Ja.edit,E,t),v.success("Success! Updated item.",{duration:1e3}),l(!1),d(null),b()}catch($){v.error($?.response?.data?.msg??$?.message??"Failed to update the item.",{duration:1500})}},u=async S=>{try{await Gt(Ja.remove,S,t),v.success("Success! Deleted item.",{duration:1e3}),b()}catch(E){v.error(E?.response?.data?.msg??E?.message??"Failed to delete the item.",{duration:1500})}},h=i.useMemo(()=>[{title:"Class",dataIndex:"class",key:"class",render:(S,E)=>S??E?.name??""},{title:"Section",dataIndex:"sections",key:"sections",render:S=>S??""},{title:"Actions",key:"actions",width:120,render:(S,E)=>e.jsxs(a.Space,{children:[e.jsx(a.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>O(E)}),e.jsx(a.Popconfirm,{title:"Delete this class?",onConfirm:()=>u(E?.id),children:e.jsx(a.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Drawer,{title:"Edit Class",open:r,onClose:()=>{l(!1),d(null)},width:520,children:e.jsxs(a.Form,{form:g,layout:"vertical",onFinish:D,children:[e.jsx(a.Form.Item,{label:"Class",name:"name",rules:[{required:!0,message:"Class is required"}],children:e.jsx(a.Input,{placeholder:"Class"})}),e.jsx(a.Form.Item,{label:"Sections",name:"section",rules:[{required:!0,message:"Please select at least one section"}],children:e.jsx(a.Checkbox.Group,{options:m})}),e.jsxs(a.Space,{children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{l(!1),d(null)},children:"Cancel"})]})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Class"}),children:e.jsx(a.Form,{form:c,layout:"vertical",onFinish:_,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(a.Form.Item,{name:"name",label:"Class",rules:[{required:!0,message:"Class is required"}],children:e.jsx(a.Input,{placeholder:"Class"})}),e.jsx(a.Form.Item,{name:"section",label:"Sections",rules:[{required:!0,message:"Select at least one section"}],children:e.jsx(a.Checkbox.Group,{options:m})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Class List"}),children:e.jsx(a.Table,{rowKey:S=>S.id,columns:h,dataSource:f,loading:C,pagination:{current:n.page,pageSize:n.perPage,total:x,showSizeChanger:!0,onChange:(S,E)=>s({page:S,perPage:E})}})})]})}function jg({token:t}){return e.jsx(bg,{token:t})}const Qa=Ue.master.subjects,Sg=({token:t,page:n=1,perPage:s=10})=>gn({token:t,baseUrl:Qa.table,page:n,perPage:s}),vg=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},Zi=[{value:"Practical",label:"Practical"},{value:"Theory",label:"Theory"}],el=[{value:"Main",label:"Main"},{value:"Additional",label:"Minor/Additional"},{value:"extra_curricular_activities",label:"Extra Curricular Activities"}];function wg({token:t}){const[n,s]=i.useState({page:1,perPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(null),[c]=a.Form.useForm(),[g]=a.Form.useForm(),{data:y,isLoading:p,mutate:m}=Sg({token:t,page:n.page,perPage:n.perPage}),A=i.useMemo(()=>vg(y),[y]),C=i.useMemo(()=>y?.pagination?.total_rows??y?.pagination?.total??A.length??0,[y,A]),{data:b,isLoading:f}=K(t&&o?[`${Qa.show}?id=${encodeURIComponent(String(o))}`,t]:null,([u,h])=>G(u,h)),x=i.useMemo(()=>{const u=b?.data??b;return Array.isArray(u)?u[0]:u??null},[b]);i.useEffect(()=>{if(!r||!x)return;const u=[];["yes","1","true"].includes(String(x?.is_practical??"").toLowerCase())&&u.push("Practical"),["yes","1","true"].includes(String(x?.is_theory??"").toLowerCase())&&u.push("Theory"),g.setFieldsValue({name:x?.name??"",subject_type:x?.subject_type??x?.type??"",subject_types:u,code:x?.code??""})},[r,x,g]);const R=async u=>{const h=u?.subject_type??u?.type??"",S=Array.isArray(u?.subject_types)?u.subject_types:[],E={name:u?.name??"",subject_type:h,subject_types:S,code:u?.code??"",is_practical:S.includes("Practical")?"yes":"no",is_theory:S.includes("Theory")?"yes":"no"};try{await Ge(Qa.add,E,t),v.success("Success! Added new item.",{duration:1e3}),c.resetFields(),m()}catch($){v.error($?.response?.data?.msg??$?.message??"Failed to add the new item.",{duration:1500})}},k=async u=>{const h=new FormData,S=u?.subject_type??u?.type??"",E=Array.isArray(u?.subject_types)?u.subject_types:[];h.append("id",String(o??"")),h.append("name",u.name??""),h.append("subject_type",S),h.append("code",u.code??""),h.append("subject_types",E),h.append("is_practical",E.includes("Practical")?"yes":"no"),h.append("is_theory",E.includes("Theory")?"yes":"no");try{await Kt(Qa.edit,h,t),v.success("Success! Updated item.",{duration:1e3}),l(!1),d(null),m()}catch($){v.error($?.response?.data?.msg??$?.message??"Failed to update the item.",{duration:1500})}},O=async u=>{try{await Gt(Qa.remove,u,t),v.success("Success! Deleted item.",{duration:1e3}),m()}catch(h){v.error(h?.response?.data?.msg??h?.message??"Failed to delete the item.",{duration:1500})}},_=u=>{const h=u?.id;h&&(d(h),l(!0))},D=i.useMemo(()=>[{title:"Subject Name",dataIndex:"name",key:"name"},{title:"Subject",dataIndex:"subject_type",key:"subject_type"},{title:"Subject Code",dataIndex:"code",key:"code"},{title:"Subject Type",key:"subject_types",render:(u,h)=>{const S=[],E=h?.subject_types;Array.isArray(E)?E.forEach(j=>{const P=String(j??"").trim();if(!P)return;const I=P.toLowerCase();["yes","1","true"].includes(I)||S.push(P)}):typeof E=="string"&&E.split(",").map(j=>j.trim()).filter(Boolean).forEach(j=>{const P=j.toLowerCase();["yes","1","true"].includes(P)||S.push(j)});const $=["yes","1","true"].includes(String(h?.is_practical??"").toLowerCase()),q=["yes","1","true"].includes(String(h?.is_theory??"").toLowerCase());$&&S.push("Practical"),q&&S.push("Theory");const T=S.map(j=>String(j??"").trim()).filter(Boolean).map(j=>j.toLowerCase()==="practical"?"Practical":j.toLowerCase()==="theory"?"Theory":j),F=Array.from(new Set(T));return F.length?F.join(", "):"-"}},{title:"Actions",key:"actions",width:120,render:(u,h)=>e.jsxs(a.Space,{children:[e.jsx(a.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>_(h)}),e.jsx(a.Popconfirm,{title:"Delete this subject?",onConfirm:()=>O(h?.id),children:e.jsx(a.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Drawer,{title:"Edit Subject",open:r,onClose:()=>{l(!1),d(null)},width:560,children:f?e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:200},children:e.jsx(a.Spin,{size:"large"})}):e.jsxs(a.Form,{form:g,layout:"vertical",onFinish:k,children:[e.jsx(a.Form.Item,{label:"Subject Name",name:"name",rules:[{required:!0,message:"Subject Name is required"}],children:e.jsx(V,{placeholder:"Subject Name"})}),e.jsx(a.Form.Item,{label:"Subject",name:"subject_type",rules:[{required:!0,message:"Select subject category"}],children:e.jsx(a.Radio.Group,{options:el})}),e.jsx(a.Form.Item,{label:"Subject Type",name:"subject_types",rules:[{required:!0,type:"array",min:1,message:"Please choose at least one field"}],children:e.jsx(a.Checkbox.Group,{options:Zi})}),e.jsx(a.Form.Item,{label:"Subject Code",name:"code",children:e.jsx(V,{placeholder:"Subject Code"})}),e.jsxs(a.Space,{children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{l(!1),d(null)},children:"Cancel"})]})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Subject"}),children:e.jsx(a.Form,{form:c,layout:"vertical",onFinish:R,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(a.Form.Item,{name:"name",label:"Subject Name",rules:[{required:!0,message:"Subject Name is required"}],children:e.jsx(V,{placeholder:"Subject Name"})}),e.jsx(a.Form.Item,{name:"subject_type",label:"Subject",rules:[{required:!0,message:"Select subject"}],children:e.jsx(a.Radio.Group,{options:el})}),e.jsx(a.Form.Item,{name:"subject_types",label:"Subject Type",rules:[{required:!0,type:"array",min:1,message:"Please choose at least one field"}],children:e.jsx(a.Checkbox.Group,{options:Zi})}),e.jsx(a.Form.Item,{name:"code",label:"Subject Code",children:e.jsx(V,{placeholder:"Subject Code"})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Subject List"}),children:e.jsx(a.Table,{rowKey:u=>u.id,columns:D,dataSource:A,loading:p,pagination:{current:n.page,pageSize:n.perPage,total:C,showSizeChanger:!0,onChange:(u,h)=>s({page:u,perPage:h})}})})]})}function _g({token:t}){return e.jsx(wg,{token:t})}const Xa=Ue.master.holidays,Cg=({token:t,page:n=1,perPage:s=10})=>gn({token:t,baseUrl:Xa.table,page:n,perPage:s}),Ag=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},Pn={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function Dg({token:t}){const[n,s]=i.useState({page:1,perPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(null),[c]=a.Form.useForm(),[g]=a.Form.useForm(),{data:y,isLoading:p,mutate:m}=Cg({token:t,page:n.page,perPage:n.perPage}),A=i.useMemo(()=>Ag(y),[y]),C=i.useMemo(()=>y?.pagination?.total_rows??y?.pagination?.total??A.length??0,[y,A]),{data:b}=K(t&&o?[`${Xa.show}?id=${encodeURIComponent(String(o))}`,t]:null,([D,u])=>G(D,u)),f=i.useMemo(()=>{const D=b?.data??b;return Array.isArray(D)?D[0]:D??null},[b]);i.useEffect(()=>{r&&f&&g.setFieldsValue({title:f?.holiday_title??"",description:f?.holiday_description??"",from:f?.start_date?se(f.start_date):null,to:f?.end_date?se(f.end_date):null})},[r,f,g]);const x=async D=>{const u=new FormData;u.append("title",D.title??""),u.append("description",D.description??""),u.append("from",D.from?se(D.from).format("YYYY-MM-DD"):""),u.append("to",D.to?se(D.to).format("YYYY-MM-DD"):"");try{await Pt(Xa.add,u,t,{includeSession:!0}),v.success("Success! Added new item.",{duration:1e3}),c.resetFields(),m()}catch(h){v.error(h?.response?.data?.msg??h?.message??"Failed to add the new item.",{duration:1500})}},R=async D=>{const u=new FormData;u.append("id",String(o??"")),u.append("title",D.title??""),u.append("description",D.description??""),u.append("from",D.from?se(D.from).format("YYYY-MM-DD"):""),u.append("to",D.to?se(D.to).format("YYYY-MM-DD"):"");try{await Kt(Xa.edit,u,t,{includeSession:!0}),v.success("Success! Updated item.",{duration:1e3}),l(!1),d(null),m()}catch(h){v.error(h?.response?.data?.msg??h?.message??"Failed to update the item.",{duration:1500})}},k=async D=>{try{await Gt(Xa.remove,D,t),v.success("Success! Deleted item.",{duration:1e3}),m()}catch(u){v.error(u?.response?.data?.msg??u?.message??"Failed to delete the item.",{duration:1500})}},O=D=>{const u=D?.id;u&&(d(u),l(!0))},_=i.useMemo(()=>[{title:"Holiday Title",dataIndex:"holiday_title",key:"holiday_title"},{title:"Holiday Description",dataIndex:"holiday_description",key:"holiday_description"},{title:"Start From",dataIndex:"start_date",key:"start_date"},{title:"End At",dataIndex:"end_date",key:"end_date"},{title:"Actions",key:"actions",width:120,render:(D,u)=>e.jsxs(a.Space,{children:[e.jsx(a.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>O(u)}),e.jsx(a.Popconfirm,{title:"Delete this holiday?",onConfirm:()=>k(u?.id),children:e.jsx(a.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Drawer,{title:"Edit Holiday",open:r,onClose:()=>{l(!1),d(null)},width:560,children:e.jsxs(a.Form,{form:g,layout:"vertical",onFinish:R,children:[e.jsx(a.Form.Item,{label:"Holiday Title",name:"title",rules:[{required:!0,message:"Holiday Title is required"}],children:e.jsx(V,{placeholder:"Holiday Title"})}),e.jsx(a.Form.Item,{label:"Holiday Description",name:"description",rules:[{required:!0,message:"Holiday Description is required"}],children:e.jsx(V,{placeholder:"Holiday Description"})}),e.jsx(a.Form.Item,{label:"Start From",name:"from",rules:[{required:!0,message:"Start date is required"}],children:e.jsx(a.DatePicker,{format:"YYYY-MM-DD",style:Pn})}),e.jsx(a.Form.Item,{label:"End At",name:"to",rules:[{required:!0,message:"End date is required"}],children:e.jsx(a.DatePicker,{format:"YYYY-MM-DD",style:Pn})}),e.jsxs(a.Space,{children:[e.jsx(ie,{type:"submit",value:"Update",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{l(!1),d(null)},children:"Cancel"})]})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Holidays"}),children:e.jsx(a.Form,{form:c,layout:"vertical",onFinish:x,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(a.Form.Item,{name:"title",label:"Holiday Title",rules:[{required:!0,message:"Holiday Title is required"}],children:e.jsx(V,{placeholder:"Holiday Title"})}),e.jsx(a.Form.Item,{name:"description",label:"Holiday Description",rules:[{required:!0,message:"Holiday Description is required"}],children:e.jsx(gt,{placeholder:"Holiday Description"})}),e.jsx(a.Form.Item,{name:"from",label:"Start From",rules:[{required:!0,message:"Start date is required"}],children:e.jsx(a.DatePicker,{format:"YYYY-MM-DD",style:Pn})}),e.jsx(a.Form.Item,{name:"to",label:"End At",rules:[{required:!0,message:"End date is required"}],children:e.jsx(a.DatePicker,{format:"YYYY-MM-DD",style:Pn})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Holidays List"}),children:e.jsx(a.Table,{rowKey:D=>D.id,columns:_,dataSource:A,loading:p,pagination:{current:n.page,pageSize:n.perPage,total:C,showSizeChanger:!0,onChange:(D,u)=>s({page:D,perPage:u})}})})]})}function Tg({token:t}){return e.jsx(Dg,{token:t})}const Qn=Ue.assignSubjects,Rg=({token:t,page:n=1,perPage:s=50})=>gn({token:t,baseUrl:Qn.list,page:n,perPage:s}),tl=t=>Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:[],Ig=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]};function kg({token:t}){const[n,s]=i.useState({page:1,perPage:50}),[r,l]=i.useState(null),[o,d]=i.useState([]),[c,g]=i.useState(!1),[y,p]=i.useState(!1),[m,A]=i.useState(null),[C,b]=i.useState([]),{data:f}=K(t?[Ue.master.classes.dropdown,t]:null,([j,P])=>G(j,P)),{data:x}=K(t?[Ue.master.subjects.dropdown,t]:null,([j,P])=>G(j,P)),R=i.useMemo(()=>tl(f),[f]),k=i.useMemo(()=>tl(x),[x]),O=i.useMemo(()=>k.map(j=>({label:j.label??j.subject??String(j.value??""),value:j.value??j.id})),[k]),{data:_,isLoading:D,mutate:u}=Rg({token:t,page:n.page,perPage:n.perPage}),h=i.useMemo(()=>Ig(_),[_]),S=i.useMemo(()=>_?.pagination?.total_rows??_?.pagination?.total??h.length??0,[_,h]),{data:E}=K(t&&m?[`${Qn.editByClass}?class_id=${encodeURIComponent(String(m))}`,t]:null,([j,P])=>G(j,P));i.useEffect(()=>{if(!y)return;const j=E?.data??E,P=Array.isArray(j)?j:Array.isArray(j?.data)?j.data:[];b(P.map(I=>I.subject_id).filter(Boolean))},[y,E]);const $=async j=>{if(j.preventDefault(),!r?.value){v.error("Please select class",{duration:1200});return}if(!o.length){v.error("Please select subjects",{duration:1200});return}const P=new FormData;P.append("class_id",String(r.value)),o.forEach(I=>P.append("subject[]",String(I)));try{g(!0),await Kt(Qn.assign,P,t),v.success("Success! Updated item.",{duration:1e3}),l(null),d([]),u()}catch(I){v.error(I?.response?.data?.msg??I?.message??"Failed to update the item.",{duration:1500})}finally{g(!1)}},q=j=>{j&&(A(j),p(!0))},T=async()=>{if(!m)return;if(!C.length){v.error("Please select subjects",{duration:1200});return}const j=new FormData;j.append("class_id",String(m)),C.forEach(P=>j.append("subject[]",String(P)));try{await Kt(Qn.update,j,t),v.success("Success! Updated item.",{duration:1e3}),p(!1),A(null),u()}catch(P){v.error(P?.response?.data?.msg??P?.message??"Failed to update the item.",{duration:1500})}},F=i.useMemo(()=>[{title:"Class",dataIndex:"class",align:"center",width:"15%"},{title:"Subject",dataIndex:"subject_name",width:"70%",render:(j,P)=>e.jsx("div",{style:{paddingLeft:10,paddingRight:10,fontSize:14},children:(P?.subject_name??j??"").split(",").join(", ")})},{title:"Action",width:"10%",render:(j,P)=>e.jsx(a.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>q(P?.class_id)})}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Drawer,{title:"Edit Assigned Subjects",open:y,onClose:()=>{p(!1),A(null)},width:520,extra:e.jsxs(a.Space,{children:[e.jsx(a.Button,{onClick:()=>p(!1),children:"Cancel"}),e.jsx(a.Button,{type:"primary",onClick:T,children:"Update"})]}),children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(Z,{options:R,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",allowSelectAll:!1,value:R.find(j=>String(j.value)===String(m))??null,onChange:()=>{},isDisabled:!0}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Subjects"}),e.jsx(a.Checkbox.Group,{options:O,value:C,onChange:b})]})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Assign Subject"}),children:e.jsx("form",{onSubmit:$,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Z,{options:R,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",required:!0,allowSelectAll:!1,value:r,onChange:j=>l(j??null)}),e.jsxs("div",{style:{gridColumn:"1 / -1"},children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Subjects"}),e.jsx(a.Checkbox.Group,{options:O,value:o,onChange:d})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:c?"Please Wait..":"Save",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Assigned Subject List"}),children:e.jsx(a.Table,{rowKey:j=>j.id,columns:F,dataSource:h,loading:D,pagination:{current:n.page,pageSize:n.perPage,total:S,showSizeChanger:!0,onChange:(j,P)=>s({page:j,perPage:P})}})})]})}function Pg({token:t}){return e.jsx(kg,{token:t})}const ja=Ue.assignByClass,Oo=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(typeof t?.data?.Status=="string"&&Array.isArray(t?.data?.data))return t.data.data;if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},za=t=>Oo(t),Og=t=>Oo(t),Ya=t=>Array.isArray(t)?t:t==null||t===""?[]:[t];function Mg({token:t}){const[n,s]=i.useState(null),[r,l]=i.useState(null),[o,d]=i.useState(null),[c,g]=i.useState("No"),[y,p]=i.useState([]),[m,A]=i.useState([]),[C,b]=i.useState(null),[f,x]=i.useState(null),[R,k]=i.useState(!1),[O,_]=i.useState(""),{data:D}=K(t?[ja.teacherDropdown,t]:null,([ue,oe])=>G(ue,oe)),{data:u}=K(t?[Ue.master.classes.dropdown,t]:null,([ue,oe])=>G(ue,oe)),{data:h}=K(t&&f?[f,t]:null,([ue,oe])=>G(ue,oe)),{data:S}=K(t&&C?[C,t]:null,([ue,oe])=>G(ue,oe)),E=i.useMemo(()=>za(D),[D]),$=i.useMemo(()=>za(u),[u]),q=i.useMemo(()=>za(h),[h]),T=i.useMemo(()=>za(S),[S]),{data:F}=K(t&&n&&r&&o?[`${ja.subjectsOfTeacherByTeacherId}?teacher_id=${encodeURIComponent(String(n))}&class_id=${encodeURIComponent(String(r))}§ion_id=${encodeURIComponent(String(o))}`,t]:null,([ue,oe])=>G(ue,oe)),j=F?.data??F??null;i.useEffect(()=>{j&&(p(Array.isArray(j?.subject_ids)?j.subject_ids:[]),g(j?.isClassTeacher||"No"),A([]))},[j]);const{data:P}=K(t?[ja.classWithSection,t]:null,([ue,oe])=>G(ue,oe)),I=i.useMemo(()=>za(P),[P]),[N,W]=i.useState(null),[Y,B]=i.useState({page:1,perPage:25});i.useEffect(()=>{N||I?.[0]&&W(`${I[0].class_id}val${I[0].section_id}`)},[I,N]);const U=i.useMemo(()=>typeof window>"u"?"1":JSON.parse(localStorage.getItem("genrall_settings")??"null")?.session_id??"1",[]),M=i.useMemo(()=>{if(!N)return null;const[ue,oe]=String(N).split("val");if(!ue||!oe)return null;const Ce=Y.page??1,Ne=Y.perPage??25;return`${ja.assignedSubjectsOfTeacher}?page=${encodeURIComponent(String(Ce))}&per_page=${encodeURIComponent(String(Ne))}&session_id=${encodeURIComponent(String(U))}&class_id=${encodeURIComponent(String(ue))}§ion_id=${encodeURIComponent(String(oe))}`},[N,Y.page,Y.perPage,U]),{data:L,isLoading:z,mutate:ne}=K(t&&M?[M,t]:null,([ue,oe])=>G(ue,oe),{revalidateOnFocus:!1}),X=i.useMemo(()=>Og(L),[L]),J=i.useMemo(()=>{const ue=L?.pagination??L?.data?.pagination??L?.data?.data?.pagination;return ue?.total_rows??ue?.total??X.length??0},[L,X]),H=async ue=>{if(ue.preventDefault(),_(""),!n||!r||!o){v.error("Please select Teacher, Class and Section",{duration:1200});return}if(!Array.isArray(y)||y.length===0){_("error"),v.error("Please Select Subject",{duration:1200});return}const oe=new FormData;oe.append("teacher_id",String(n)),oe.append("class_id",String(r)),oe.append("section_id",String(o)),oe.append("isClassTeacher",String(c??"No")),Ya(y).forEach(Ce=>oe.append("subject_ids[]",String(Ce))),Ya(m).forEach(Ce=>oe.append("delete_subject[]",String(Ce)));try{await Pt(ja.assignClassToTeacher,oe,t,{includeSession:!0}),v.success("Success! Added new item.",{duration:1e3}),_(""),ne()}catch(Ce){v.error(Ce?.response?.data?.msg??Ce?.message??"Failed to add the new item.",{duration:1500})}},Q=async ue=>{try{await Gt(ja.deleteTeacherSub,ue,t),v.success("Success! Deleted item.",{duration:1e3}),ne(),window.location.reload()}catch(oe){v.error(oe?.response?.data?.msg??oe?.message??"Failed to delete the item.",{duration:1500})}},ce=ue=>{const oe=Array.isArray(ue?.child)?ue.child:[],Ce=[{title:"Subject",dataIndex:"subject",key:"subject",align:"center"},{title:"Subject Code",dataIndex:"code",key:"code",align:"center"},{title:"Action",key:"action",align:"center",render:(Ne,et)=>e.jsx(a.Popconfirm,{title:"Delete this subject?",onConfirm:()=>Q(et?.id),children:e.jsx(a.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})}];return e.jsx("div",{style:{margin:12},children:e.jsx(a.Table,{columns:Ce,bordered:!0,size:"small",dataSource:oe,pagination:!1,rowKey:Ne=>Ne.id})})},De=[{title:"Teacher Name",dataIndex:"teacher_name",key:"teacher_name",align:"center",render:(ue,oe)=>e.jsxs("div",{children:[oe.teacher_name,oe.classTeacher==="Yes"?e.jsx("span",{style:{fontWeight:700},children:" (Class Teacher)"}):null]})}],le=i.useMemo(()=>(I??[]).map(ue=>({label:ue.label??`${ue.class_name??""} ${ue.section_name??""}`.trim(),key:`${ue.class_id}val${ue.section_id}`,children:e.jsx(a.Table,{size:"small",columns:De,bordered:!0,dataSource:Array.isArray(X)?X:[],loading:z,rowKey:oe=>oe.id,expandable:{expandedRowRender:ce},pagination:{current:Y.page,pageSize:Y.perPage,total:J,showSizeChanger:!0,onChange:(oe,Ce)=>B({page:oe,perPage:Ce})}})})),[I,Y.page,Y.perPage,X,z,J]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(320px, 380px) 1fr",gap:20},children:[e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Assign by Class"}),children:e.jsx("form",{onSubmit:H,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(Z,{options:E,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Teachers",name:"teacher_id",required:!0,allowSelectAll:!1,value:E.find(ue=>String(ue.value)===String(n))??null,onChange:ue=>s(ue?.value??null)}),e.jsx(Z,{options:$,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",required:!0,allowSelectAll:!1,value:$.find(ue=>String(ue.value)===String(r))??null,onChange:ue=>{const oe=ue?.value??null;l(oe),d(null),b(oe?`${Ue.master.subjects.byClassLabelValue}?class_id=${encodeURIComponent(String(oe))}`:null),x(oe?`${Ue.master.sections.byClass}?class_id=${encodeURIComponent(String(oe))}`:null),k(Ce=>!Ce)}}),e.jsx(Z,{options:q,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",required:!0,allowSelectAll:!1,value:q.find(ue=>String(ue.value)===String(o))??null,onChange:ue=>d(ue?.value??null)},`section_${R}`),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Is Class Teacher?"}),(()=>{const ue=[{label:"Yes",value:"Yes"},{label:"No",value:"No"}];return e.jsx(Z,{style:{width:"100%"},options:ue,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:ue.find(oe=>String(oe.value)===String(c??"No"))??ue[1],onChange:oe=>g(oe?.value??"No")})})()]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Subject"}),e.jsx(Z,{isMulti:!0,style:{width:"100%"},placeholder:"select Subject",options:T,value:(T??[]).filter(ue=>Ya(y).some(oe=>String(oe)===String(ue.value))),onChange:(ue,oe)=>{const Ne=(Array.isArray(ue)?ue:[]).map(Fe=>Fe?.value).filter(Fe=>Fe!=null&&Fe!=="");p(Ne);const et=Array.isArray(j?.subject_ids)?j.subject_ids.map(String):[],we=oe?.removedValue?.value,Ae=oe?.option?.value;(oe?.action==="remove-value"||oe?.action==="pop-value")&&we!=null&&et.includes(String(we))&&A(Fe=>Array.from(new Set([...Ya(Fe).map(String),String(we)]))),oe?.action==="select-option"&&Ae!=null&&et.includes(String(Ae))&&A(Fe=>Ya(Fe).filter(me=>String(me)!==String(Ae)))}},`subjects_${R}`),O?e.jsx("div",{style:{color:"#ff4d4f",marginTop:6,fontSize:12},children:"Please select subject"}):null]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Submit",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Assign Teacher List"}),children:e.jsx(a.Tabs,{activeKey:N??void 0,onChange:ue=>{W(ue),B(oe=>({...oe,page:1}))},items:le,type:"card",size:"small"})})]})]})}function Eg({token:t}){return e.jsx(Mg,{token:t})}const Wa=Ue.timeGroup,Fg=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]},Yt={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"};function On(t){if(!t)return null;const n=se(String(t),["h:mm a","HH:mm:ss","HH:mm"],!0);return n.isValid()?n:null}function Wt(t){return t?se(t).format("h:mm a"):""}function $g({token:t}){const[n,s]=i.useState({page:1,perPage:50}),[r,l]=i.useState(!1),[o,d]=i.useState(null),[c]=a.Form.useForm(),[g]=a.Form.useForm(),y=`${Wa.table}?page=${encodeURIComponent(String(n.page))}&per_page=${encodeURIComponent(String(n.perPage))}`,{data:p,isLoading:m,mutate:A}=K(t?[y,t]:null,([h,S])=>G(h,S)),C=i.useMemo(()=>Fg(p),[p]),b=i.useMemo(()=>p?.pagination?.total_rows??p?.pagination?.total??C.length??0,[p,C]),{data:f,isLoading:x}=K(t&&o?[`${Wa.show}?id=${encodeURIComponent(String(o))}`,t]:null,([h,S])=>G(h,S)),R=i.useMemo(()=>{const h=f?.data??f;return Array.isArray(h)?h[0]:h??null},[f]);i.useEffect(()=>{r&&R&&g.setFieldsValue({title:R?.title??"",start_time_from:On(R?.start_time_from),start_time_to:On(R?.start_time_to),end_time_from:On(R?.end_time_from),end_time_to:On(R?.end_time_to)})},[r,R,g]);const k=async h=>{const S=new FormData;S.append("title",h.title??""),S.append("start_time_from",Wt(h.start_time_from)),S.append("start_time_to",Wt(h.start_time_to)),S.append("end_time_from",Wt(h.end_time_from)),S.append("end_time_to",Wt(h.end_time_to));try{await Pt(Wa.add,S,t),v.success("Success! Added new item.",{duration:1e3}),c.resetFields(),A()}catch(E){v.error(E?.response?.data?.msg??E?.message??"Failed to add the new item.",{duration:1500})}},O=async h=>{const S=new FormData;S.append("id",String(o??"")),S.append("title",h.title??""),S.append("start_time_from",Wt(h.start_time_from)),S.append("start_time_to",Wt(h.start_time_to)),S.append("end_time_from",Wt(h.end_time_from)),S.append("end_time_to",Wt(h.end_time_to));try{await Kt(Wa.edit,S,t),v.success("Success! Updated item.",{duration:1e3}),l(!1),d(null),A()}catch(E){v.error(E?.response?.data?.msg??E?.message??"Failed to update the item.",{duration:1500})}},_=async h=>{try{await Gt(Wa.remove,h,t),v.success("Success! Deleted item.",{duration:1e3}),A()}catch(S){v.error(S?.response?.data?.msg??S?.message??"Failed to delete the item.",{duration:1500})}},D=h=>{h?.id&&(d(h.id),l(!0))},u=i.useMemo(()=>[{title:"Title",dataIndex:"title",align:"center"},{title:"Start Time From",dataIndex:"start_time_from",align:"center"},{title:"Start Time To",dataIndex:"start_time_to",align:"center"},{title:"End Time From",dataIndex:"end_time_from",align:"center"},{title:"End Time To",dataIndex:"end_time_to",align:"center"},{title:"Action",align:"center",width:120,render:(h,S)=>e.jsxs(a.Space,{children:[e.jsx(a.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>D(S)}),e.jsx(a.Popconfirm,{title:"Delete this time group?",onConfirm:()=>_(S?.id),children:e.jsx(a.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Drawer,{title:"Edit Time Group",open:r,onClose:()=>{l(!1),d(null)},width:520,children:x?e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:200},children:e.jsx(a.Spin,{size:"large"})}):e.jsxs(a.Form,{form:g,layout:"vertical",onFinish:O,children:[e.jsx(a.Form.Item,{name:"title",label:"Title",rules:[{required:!0,message:"Title is required"}],children:e.jsx(V,{placeholder:"Title"})}),e.jsx(a.Form.Item,{name:"start_time_from",label:"Start Time From",rules:[{required:!0,message:"Start Time From is required"}],children:e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm a",style:Yt})}),e.jsx(a.Form.Item,{name:"start_time_to",label:"Start Time To",rules:[{required:!0,message:"Start Time To is required"}],children:e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm a",style:Yt})}),e.jsx(a.Form.Item,{name:"end_time_from",label:"End Time From",rules:[{required:!0,message:"End Time From is required"}],children:e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm a",style:Yt})}),e.jsx(a.Form.Item,{name:"end_time_to",label:"End Time To",rules:[{required:!0,message:"End Time To is required"}],children:e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm a",style:Yt})}),e.jsxs(a.Space,{children:[e.jsx(ie,{type:"submit",value:"Submit",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>{l(!1),d(null)},children:"Cancel"})]})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Create Time Group"}),children:e.jsx(a.Form,{form:c,layout:"vertical",onFinish:k,initialValues:{},children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(a.Form.Item,{name:"title",label:"Title",rules:[{required:!0,message:"Title is required"}],children:e.jsx(V,{placeholder:"Title"})}),e.jsx(a.Form.Item,{name:"start_time_from",label:"Start Time From",rules:[{required:!0,message:"Start Time From is required"}],children:e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm a",style:Yt})}),e.jsx(a.Form.Item,{name:"start_time_to",label:"Start Time To",rules:[{required:!0,message:"Start Time To is required"}],children:e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm a",style:Yt})}),e.jsx(a.Form.Item,{name:"end_time_from",label:"End Time From",rules:[{required:!0,message:"End Time From is required"}],children:e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm a",style:Yt})}),e.jsx(a.Form.Item,{name:"end_time_to",label:"End Time To",rules:[{required:!0,message:"End Time To is required"}],children:e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm a",style:Yt})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Submit",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Time Group List"}),children:e.jsx(a.Table,{rowKey:h=>h.id,columns:u,dataSource:C,loading:m,pagination:{current:n.page,pageSize:n.perPage,total:b,showSizeChanger:!0,onChange:(h,S)=>s({page:h,perPage:S})}})})]})}function Ug({token:t}){return e.jsx($g,{token:t})}const Va=Ue.assignTimeGroup,Bg=Ue.timeGroup.dropdown,Ng=Ue.master.classes.dropdown,al=t=>Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:[],Lg=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:Array.isArray(n?.data)?n.data:[]};function qg({token:t}){const[n,s]=i.useState({page:1,perPage:50}),[r,l]=i.useState(null),[o,d]=i.useState([]),[c,g]=i.useState(""),[y,p]=i.useState(""),[m,A]=i.useState(null),[C,b]=i.useState(!1),[f,x]=i.useState(!1),[R,k]=i.useState(null),[O,_]=i.useState([]),[D,u]=i.useState(""),[h,S]=i.useState(""),{data:E}=K(t?[Bg,t]:null,([J,H])=>G(J,H)),{data:$}=K(t?[Ng,t]:null,([J,H])=>G(J,H)),q=i.useMemo(()=>al(E?.data??E),[E]),T=i.useMemo(()=>al($),[$]),{data:F}=K(t&&m?[m,t]:null,([J,H])=>G(J,H));i.useEffect(()=>{const J=Array.isArray(F?.data)?F.data.map(H=>H.fk_classId):[];J.length&&d(J)},[F]);const j=`${Va.table}?page=${encodeURIComponent(String(n.page))}&per_page=${encodeURIComponent(String(n.perPage))}`,{data:P,isLoading:I,mutate:N}=K(t?[j,t]:null,([J,H])=>G(J,H)),W=i.useMemo(()=>Lg(P),[P]),Y=i.useMemo(()=>P?.pagination?.total_rows??P?.pagination?.total??W.length??0,[P,W]),{data:B,isLoading:U}=K(t&&R?[`${Va.show}?id=${encodeURIComponent(String(R))}`,t]:null,([J,H])=>G(J,H)),M=B?.data??B??null;i.useEffect(()=>{if(!f||!M)return;const J=Array.isArray(M?.class_ids)?M.class_ids:[];_(J);const H=Array.isArray(q)?q.find(Q=>String(Q.value)===String(M?.timegroup_id)):null;H&&S(`${H.start_time_from} -> ${H.end_time_from}`)},[f,M,q]);const L=async J=>{if(J.preventDefault(),g(""),!r?.value){v.error("Select Time Group",{duration:1200});return}if(!o.length){g("error"),v.error("Please Select Classes",{duration:1200});return}const H=new FormData;H.append("timegroup_id",String(r.value)),o.forEach(Q=>H.append("class_ids[]",String(Q)));try{await Pt(Va.assign,H,t),v.success("Success! Added new item.",{duration:1e3}),d([]),l(null),p(""),N()}catch(Q){v.error(Q?.response?.data?.msg??Q?.message??"Failed to add the new item.",{duration:1500})}},z=async()=>{if(u(""),!R)return;if(!O.length){u("error"),v.error("Please Select Classes",{duration:1200});return}const J=new FormData;J.append("id",String(R)),J.append("timegroup_id",String(M?.timegroup_id??"")),O.forEach(H=>J.append("class_ids[]",String(H)));try{await Kt(Va.assign,J,t),v.success("Success! Updated item.",{duration:1e3}),x(!1),k(null),N()}catch(H){v.error(H?.response?.data?.msg??H?.message??"Failed to update the item.",{duration:1500})}},ne=J=>{J&&(k(J),x(!0))},X=i.useMemo(()=>[{title:"Title",dataIndex:"title",align:"center"},{title:"Class Names",dataIndex:"class_names",align:"center"},{title:"Start Time From",dataIndex:"start_time_from",align:"center"},{title:"Start Time To",dataIndex:"start_time_to",align:"center"},{title:"End Time From",dataIndex:"end_time_from",align:"center"},{title:"End Time To",dataIndex:"end_time_to",align:"center"},{title:"Action",align:"center",width:90,render:(J,H)=>H?.class_names?e.jsx(a.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>ne(H?.id)}):null}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Drawer,{title:"Edit Assigned Time Group",open:f,onClose:()=>{x(!1),k(null)},width:520,extra:e.jsxs(a.Space,{children:[e.jsx(a.Button,{onClick:()=>x(!1),children:"Cancel"}),e.jsx(a.Button,{type:"primary",onClick:z,children:"Submit"})]}),children:U?e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:200},children:e.jsx(a.Spin,{size:"large"})}):e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(Z,{options:Array.isArray(q)?q:[],closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Select Time Group",name:"timegroup_id",allowSelectAll:!1,value:q.find(J=>String(J.value)===String(M?.timegroup_id))??null,onChange:()=>{},isDisabled:!0}),e.jsx("div",{style:{marginTop:4,fontSize:16},children:h}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Select Classes"}),e.jsx(a.Select,{mode:"multiple",style:{width:"100%"},status:D,value:O,placeholder:"Select Classes",onChange:J=>_(J),options:Array.isArray(T)?T:[]})]})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Assign Time Group"}),children:e.jsx("form",{onSubmit:L,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsxs("div",{children:[e.jsx(Z,{options:Array.isArray(q)?q:[],closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Select Time Group",name:"timegroup_id",required:!0,allowSelectAll:!1,value:r,onChange:J=>{l(J??null),d([]),g(""),J?.value?(A(`${Va.classIdByTimeGroup}?id=${encodeURIComponent(String(J.value))}`),p(`${J.start_time_from} -> ${J.end_time_from}`)):(A(null),p("")),b(H=>!H)}}),e.jsx("div",{style:{marginTop:6},children:y})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Select Classes"}),e.jsx(Z,{isMulti:!0,style:{width:"100%"},status:c,value:(T??[]).filter(J=>Array.isArray(o)&&o.some(H=>String(H)===String(J.value))),placeholder:"Select Classes",onChange:J=>{const H=Array.isArray(J)?J:[];d(H.map(Q=>Q?.value).filter(Q=>Q!=null&&Q!==""))},options:Array.isArray(T)?T:[]},`class_${C}`)]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Assigned Time group List"}),children:e.jsx(a.Table,{rowKey:J=>J.id,columns:X,dataSource:W,loading:I,pagination:{current:n.page,pageSize:n.perPage,total:Y,showSizeChanger:!0,onChange:(J,H)=>s({page:J,perPage:H})}})})]})}function zg({token:t}){return e.jsx(qg,{token:t})}const tr=Ue.promoteStudents,Yg=({token:t})=>K(t?[tr.sessionDropdown,t]:null,([n,s])=>G(n,s)),Mn=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},Wg=(t,n)=>{const s=t?.pagination??t?.data?.pagination??t?.data?.data?.pagination,r=s?.total_rows??s?.total??s?.totalItems;return Number.isFinite(Number(r))?Number(r):n};function Vg({token:t}){const[n]=a.Form.useForm(),[s,r]=i.useState({page:1,perPage:300}),[l,o]=i.useState({classId:null,sectionId:null}),[d,c]=i.useState({sessionId:null,classId:null}),[g,y]=i.useState(!1),[p,m]=i.useState([]),A=i.useMemo(()=>new Set(p),[p]),[C,b]=i.useState({}),[f,x]=i.useState({}),{data:R}=K(t?[Ue.master.classes.dropdown,t]:null,([L,z])=>G(L,z)),k=i.useMemo(()=>Mn(R),[R]),O=i.useMemo(()=>l.classId?`${Ue.master.sections.byClass}?class_id=${encodeURIComponent(String(l.classId))}`:null,[l.classId]),{data:_}=K(t&&O?[O,t]:null,([L,z])=>G(L,z)),D=i.useMemo(()=>Mn(_),[_]),u=i.useMemo(()=>d.classId?`${Ue.master.sections.byClass}?class_id=${encodeURIComponent(String(d.classId))}`:null,[d.classId]),{data:h}=K(t&&u?[u,t]:null,([L,z])=>G(L,z),{revalidateOnFocus:!1}),S=i.useMemo(()=>Mn(h),[h]),{data:E}=Yg({token:t}),$=i.useMemo(()=>Mn(E),[E]),{trigger:q,data:T,isMutating:F}=pt(t?tr.searchByClassSection:null,(L,{arg:z})=>na(L,{arg:z},t)),j=i.useMemo(()=>{const L=T?.data?.data??T?.data??T??[];return Array.isArray(L)?L:Array.isArray(L?.data)?L.data:[]},[T]),P=i.useMemo(()=>Wg(T,j.length??0),[T,j.length]),I=i.useMemo(()=>{const L=new Map;return(Array.isArray(j)?j:[]).forEach(z=>{z?.id!==void 0&&z?.id!==null&&L.set(String(z.id),z)}),L},[j]),N=i.useCallback((L,z)=>{const ne=String(L);x(X=>({...X,[ne]:{...X?.[ne]??{},...z}}))},[]),W=i.useCallback((L,z)=>{const ne=String(L),X=z==="Leave";b(J=>({...J,[ne]:X}))},[]),Y=L=>{const z=L?.class_id?.value??L?.class_id??null,ne=L?.section_id?.value??L?.section_id??null;if(!z||!ne){v.error("Please select Class and Section",{duration:1200});return}r(X=>({...X,page:1})),o({classId:z,sectionId:ne}),m([]),b({}),x({})},B=async()=>{if(!d.sessionId||!d.classId){v.error("Please select Session and Class for promotion",{duration:1300});return}if(!Array.isArray(p)||p.length===0){v.error("Please select students to promote",{duration:1200});return}const L=p.map(J=>String(J)).map(J=>{const H=I.get(J)??{},Q=!!C?.[J],ce=f?.[J]??{},De=String(ce.current_result??"Pass");if(Q){const oe=String(ce.leave_date??"");return{student_id:J,current_result:De,next_session_status:"Leave",leave_date:oe}}const le=String(ce.roll_no??H?.roll_no??""),ue=String(ce.section_id??"");return{student_id:J,roll_no:le,section_id:ue,current_result:De,next_session_status:"Continue"}});if(L.some(J=>J?.next_session_status==="Leave"&&!String(J?.leave_date??"").trim())){v.error("Leave date is required for Leave students.",{duration:1500});return}if(L.some(J=>J?.next_session_status==="Continue"&&!String(J?.section_id??"").trim())){v.error("Section is required for Continue students.",{duration:1500});return}const X={class_id:String(d.classId),session_id:String(d.sessionId),students:L};try{const J=await tt(tr.promote,X,t);if(J?.Status&&String(J.Status)!=="success")throw new Error(J?.msg||"Failed to update");v.success("Success! Updated.",{duration:1e3});const H=Number(J?.success_count??0)+Number(J?.leave_count??0),Q=s.page===Math.ceil((Number(P)||0)/s.perPage||1),ce=H>0&&H===j.length&&j.length===p.length,De=Q&&ce&&s.page>1?s.page-1:s.page;r(le=>({...le,page:De})),q?.({cID:l.classId,sID:l.sectionId,page:De,per_page:s.perPage}),m([]),b({}),x({})}catch(J){v.error(J?.response?.data?.msg??J?.message??"Failed to update",{duration:1500})}},U=i.useMemo(()=>[{title:"Admission No",dataIndex:"admission_no",key:"admission_no",width:140},{title:"Roll No",dataIndex:"roll_no",key:"roll_no",width:120,render:(L,z)=>{const ne=String(z?.id??""),X=A.has(ne),J=!!C?.[ne],Q=(f?.[ne]??{}).roll_no??(J?"":z?.roll_no??"");return e.jsx(a.Input,{value:X?Q:z?.roll_no,style:X?{textAlign:"center"}:{textAlign:"center",border:"none",background:"transparent",cursor:"default"},disabled:!X||J,onChange:ce=>N(ne,{roll_no:ce.target.value})})}},{title:"Name",dataIndex:"firstname",key:"name",render:(L,z)=>`${z?.firstname??""} ${z?.lastname??""}`.trim()},{title:"Section",dataIndex:"section",key:"section",width:160,render:(L,z)=>{const ne=String(z?.id??""),X=A.has(ne),J=!!C?.[ne],Q=(f?.[ne]??{}).section_id??"",ce=Array.isArray(S)?S:[];return e.jsx(a.Select,{options:ce,placeholder:X&&!J?"Select Section":"Section",disabled:!X||J,value:X&&!J&&Q||void 0,style:{width:"100%"},onChange:De=>N(ne,{section_id:De})},`section_${ne}_${g}_${J?"L":"C"}`)}},{title:"Current Result",dataIndex:"current_result",key:"current_result",width:160,render:(L,z)=>{const ne=String(z?.id??""),X=A.has(ne),J=f?.[ne]??{},H=String(J.current_result??"Pass");return e.jsxs(a.Radio.Group,{value:H,disabled:!X,buttonStyle:"solid",onChange:Q=>N(ne,{current_result:Q.target.value}),children:[e.jsx(a.Radio.Button,{value:"Pass",children:"Pass"}),e.jsx(a.Radio.Button,{value:"Fail",children:"Fail"})]})}},{title:"Next Session Status",dataIndex:"next_session_status",key:"next_session_status",width:220,render:(L,z)=>{const ne=String(z?.id??""),X=A.has(ne),J=!!C?.[ne],H=f?.[ne]??{},Q=String(H.leave_date??"");return e.jsxs("div",{style:{display:"grid",gap:6},children:[e.jsxs(a.Radio.Group,{value:J?"Leave":"Continue",disabled:!X,buttonStyle:"solid",onChange:ce=>W(ne,ce.target.value),children:[e.jsx(a.Radio.Button,{value:"Continue",children:"Continue"}),e.jsx(a.Radio.Button,{value:"Leave",children:"Leave"})]}),X&&J&&e.jsx(a.DatePicker,{style:{width:"100%"},value:Q?se(Q):null,onChange:ce=>N(ne,{leave_date:ce?ce.format("YYYY-MM-DD"):""}),placeholder:"Leave date"})]})}}],[W,C,f,A,g,S,N]),M=i.useMemo(()=>({selectedRowKeys:p,onChange:L=>m((Array.isArray(L)?L:[]).map(z=>String(z)))}),[p]);return i.useEffect(()=>{!l.classId||!l.sectionId||q&&q({cID:l.classId,sID:l.sectionId,page:s.page,per_page:s.perPage})},[s.page,s.perPage,q,l.classId,l.sectionId]),e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Promote Students"}),children:e.jsx(a.Form,{form:n,layout:"vertical",onFinish:Y,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(a.Form.Item,{name:"class_id",label:"Class",rules:[{required:!0,message:"Class is required"}],getValueFromEvent:L=>L,children:e.jsx(Z,{options:k,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:L=>{const z=L?.value??null;n.setFieldValue("section_id",null),o({classId:z,sectionId:null})}})}),e.jsx(a.Form.Item,{name:"section_id",label:"Section",rules:[{required:!0,message:"Section is required"}],getValueFromEvent:L=>L,children:e.jsx(Z,{options:D,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Promote Students In Next Session"}),extra:e.jsx(Qt,{actions:["export","print"],onExport:()=>{},onPrint:()=>window.print()}),children:e.jsxs("div",{style:{display:"grid",gap:12},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsxs(a.Typography.Text,{children:["Selected: ",p.length]}),e.jsx(a.Typography.Text,{type:"secondary",children:"Select students â set Continue/Leave â Save"})]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Z,{label:"Session",options:$,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:$.find(L=>String(L.value)===String(d.sessionId))??null,onChange:L=>c(z=>({...z,sessionId:L?.value??null}))}),e.jsx(Z,{label:"Class",options:k,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:k.find(L=>String(L.value)===String(d.classId))??null,onChange:L=>{const z=L?.value??null;c(ne=>({...ne,classId:z})),y(ne=>!ne)}}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"button",value:"Save",color:"primary",onClick:B})})]}),e.jsx(a.Table,{rowKey:L=>String(L.id),rowSelection:M,columns:U,dataSource:j,loading:F,pagination:{current:s.page,pageSize:s.perPage,total:P,showSizeChanger:!0,onChange:(L,z)=>{r({page:L,perPage:z}),m([]),b({}),x({})}}})]})})]})}function Hg({token:t}){return e.jsx(Vg,{token:t})}const wa=Ue.coscholastic,Kg=({token:t})=>K(t?[wa.table,t]:null,([n,s])=>G(n,s),{revalidateOnFocus:!1}),Gg=({token:t})=>K(t?[wa.categoryDropdown,t]:null,([n,s])=>G(n,s),{revalidateOnFocus:!1}),nl=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]};function Jg({token:t}){const[n,s]=i.useState(""),[r,l]=i.useState(null),[o,d]=i.useState(null),c=i.useRef(null),{data:g}=K(t?[Ue.master.classes.dropdown,t]:null,([h,S])=>G(h,S)),y=i.useMemo(()=>nl(g),[g]),{data:p,isLoading:m,mutate:A}=Kg({token:t}),C=i.useMemo(()=>{const h=p?.data?.data??p?.data??p??[];return Array.isArray(h)?h:Array.isArray(h?.data)?h.data:[]},[p]),{data:b,mutate:f}=Gg({token:t}),x=i.useMemo(()=>nl(b),[b]),R=i.useMemo(()=>(Array.isArray(x)?x:[]).map(h=>({value:h?.value??h?.id,label:h?.label??h?.title??""})),[x]),k=async()=>{const h=String(n??"").trim();if(!h){v.error("Please enter category title",{duration:1200});return}try{await Ge(wa.addCategory,{title:h},t),v.success("Success! Added category.",{duration:1e3}),s(""),f()}catch(S){v.error(S?.response?.data?.msg??S?.message??"Failed to add category",{duration:1500})}},O=async h=>{try{await Gt(wa.deleteCategory,h,t),v.success("Success! Deleted category.",{duration:1e3}),f()}catch(S){v.error(S?.response?.data?.msg??S?.message??"Failed to delete category",{duration:1500})}},_=async h=>{if(h.preventDefault(),!r){v.error("Please select Category",{duration:1200});return}if(!o){v.error("Please select Class",{duration:1200});return}if(!h?.target?.skill?.value){v.error("Please enter Skill Name",{duration:1200});return}const E=new FormData(h.target);E.append("scholastic_catid",String(r)),E.append("class_id",String(o));try{await Pt(wa.addSkill,E,t),v.success("Success! Added new item.",{duration:1e3}),h.target.reset(),d(null),A()}catch($){v.error($?.response?.data?.msg??$?.message??"Failed to add the new item.",{duration:1500})}},D=async h=>{try{await Gt(wa.deleteSkill,h,t),v.success("Success! Deleted item.",{duration:1e3}),A()}catch(S){v.error(S?.response?.data?.msg??S?.message??"Failed to delete the item.",{duration:1500})}},u=i.useMemo(()=>[{title:"Skill Category",dataIndex:"title",key:"title"},{title:"Class",dataIndex:"class",key:"class"},{title:"Skill Name",dataIndex:"skill",key:"skill"},{title:"Action",key:"action",width:90,render:(h,S)=>e.jsx(a.Popconfirm,{title:"Delete this skill?",onConfirm:()=>D(S?.id),children:e.jsx(a.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Co Scholastic Area"}),children:e.jsx("form",{onSubmit:_,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Category"}),e.jsx(Z,{style:{width:"100%"},value:R.find(h=>String(h.value)===String(r))??null,placeholder:"Select Category",onChange:h=>l(h?.value??null),options:R}),e.jsxs("div",{style:{display:"flex",gap:10,alignItems:"center",marginTop:10},children:[e.jsx(V,{placeholder:"New category",ref:c,value:n,onChange:h=>s(h.target.value)}),e.jsx(a.Button,{type:"text",icon:e.jsx(ee.PlusOutlined,{}),onClick:k}),e.jsx(a.Popconfirm,{title:"Delete selected category?",onConfirm:()=>{r&&(O(r),l(null))},children:e.jsx(a.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{}),disabled:!r})})]})]}),e.jsx(Z,{label:"Class",options:y,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,value:y.find(h=>String(h.value)===String(o))??null,onChange:h=>d(h?.value??null)}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"Skill Name"}),e.jsx(V,{name:"skill",placeholder:"Skill Name"})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Co Scholastic Area List"}),extra:e.jsx(Qt,{actions:["export","print"],onExport:()=>{},onPrint:()=>window.print()}),children:e.jsx(a.Table,{rowKey:h=>h.id,columns:u,dataSource:C,loading:m,pagination:!1})})]})}function Qg({token:t}){return e.jsx(Jg,{token:t})}const Xg=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"",Mo=({token:t,value:n,onChange:s,action:r,filePath:l})=>{const o=i.useMemo(()=>{if(t)return{Authorization:t}},[t]),d=r??dg(),c=i.useMemo(()=>{if(!l)return d;const g=d.includes("?")?"&":"?";return`${d}${g}filepath=${encodeURIComponent(l)}`},[d,l]);return e.jsx(a.Upload,{maxCount:1,action:c,headers:o,onChange:g=>{if(g?.file?.status==="done"){const y=Xg(g?.file?.response);y&&s?.(y)}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:n?"Change":"Upload"})})},sl=Ue.notes,Zg=({token:t,url:n})=>K(t&&n?[n,t]:null,([s,r])=>G(s,r),{revalidateOnFocus:!1}),En=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},ex=(t,n)=>{const s=String(t??""),r=String(n??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r};function tx({token:t}){const[n]=a.Form.useForm(),[s]=a.Form.useForm(),[r,l]=i.useState({page:1,perPage:50}),[o,d]=i.useState({classId:null,sectionId:null}),[c,g]=i.useState(!1),[y,p]=i.useState(""),{data:m}=K(t?[Ue.master.classes.dropdown,t]:null,([M,L])=>G(M,L)),A=i.useMemo(()=>En(m),[m]),C=i.useMemo(()=>o.classId?`${Ue.master.sections.byClass}?class_id=${encodeURIComponent(String(o.classId))}`:null,[o.classId]),{data:b}=K(t&&C?[C,t]:null,([M,L])=>G(M,L)),f=i.useMemo(()=>En(b),[b]),x=i.useMemo(()=>!o.classId||!o.sectionId?null:`${sl.table}?class_id=${encodeURIComponent(String(o.classId))}§ion_id=${encodeURIComponent(String(o.sectionId))}&page=${encodeURIComponent(String(r.page))}&per_page=${encodeURIComponent(String(r.perPage))}`,[o.classId,o.sectionId,r.page,r.perPage]),{data:R,isLoading:k,mutate:O}=Zg({token:t,url:x}),_=i.useMemo(()=>{const M=R?.data?.data??R?.data??R??[];return Array.isArray(M)?M:Array.isArray(M?.data)?M.data:[]},[R]),D=i.useMemo(()=>R?.pagination?.total_rows??R?.pagination?.total??_.length??0,[R,_.length]),[u,h]=i.useState(null),[S,E]=i.useState(null),[$,q]=i.useState(null),[T,F]=i.useState(!1),{data:j}=K(t&&$?[$,t]:null,([M,L])=>G(M,L),{revalidateOnFocus:!1}),P=i.useMemo(()=>En(j),[j]),{data:I}=K(t&&S?[S,t]:null,([M,L])=>G(M,L)),N=i.useMemo(()=>En(I),[I]),W=M=>{const L=M?.class_id?.value??null,z=M?.section_id?.value??null;!L||!z||(l(ne=>({...ne,page:1})),d({classId:L,sectionId:z}))},Y=()=>{p(""),g(!0),h(null),E(null),q(null),F(M=>!M),s.resetFields()},B=async M=>{const L=M?.class_id?.value??null,z=M?.section_id?.value??null,ne=M?.sub_id?.value??null,X=M?.status?.value??"publish",J=M?.title??"",H=M?.remark??"";if(!L||!z||!ne||!J||!H||!y){v.error("Please fill all fields",{duration:1200});return}const Q=new FormData;Q.append("class_id",String(L)),Q.append("section_id",String(z)),Q.append("sub_id",String(ne)),Q.append("title",String(J)),Q.append("remark",String(H)),Q.append("status",String(X)),Q.append("file",String(y));try{await Pt(sl.add,Q,t),v.success("Success! Added new item.",{duration:1e3}),g(!1),O()}catch(ce){v.error(ce?.response?.data?.msg??ce?.message??"Failed to add the new item.",{duration:1500})}},U=i.useMemo(()=>[{title:"Title",dataIndex:"title",key:"title",align:"center"},{title:"Remarks",dataIndex:"remark",key:"remark",align:"center"},{title:"Subject",dataIndex:"subject",key:"subject",align:"center"},{title:"Staff Name",dataIndex:"teacher_name",key:"teacher_name",align:"center"},{title:"Status",key:"status",align:"center",render:(M,L)=>{const z=String(L?.status??"").toLowerCase();return e.jsx(a.Tag,{color:z==="publish"?"green":"red",children:L?.status??"-"})}},{title:"File",key:"file",align:"center",render:(M,L)=>{const z=L?.file;if(!z)return"-";const ne=ex(at(),`uploads/school_${L?.fk_branchID}/student/note/${z}`);return e.jsx("a",{href:ne,target:"_blank",rel:"noreferrer",children:"View File"})}},{title:"Date",dataIndex:"date",key:"date",align:"center"}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Modal,{title:"Add Note",open:c,onCancel:()=>g(!1),footer:null,width:820,destroyOnClose:!0,children:e.jsx(a.Form,{form:s,layout:"vertical",onFinish:B,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(a.Form.Item,{label:"Class",name:"class_id",rules:[{required:!0,message:"Class is required"}],getValueFromEvent:M=>M,children:e.jsx(Z,{options:A,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:M=>{const L=M?.value??null;h(L),s.setFieldValue("section_id",null),s.setFieldValue("sub_id",null),q(L?`${Ue.master.sections.byClass}?class_id=${encodeURIComponent(String(L))}`:null),E(L?`${Ue.master.subjects.dropdown}?class_id=${encodeURIComponent(String(L))}`:null),F(z=>!z)}},`class_${T}`)}),e.jsx(a.Form.Item,{label:"Section",name:"section_id",rules:[{required:!0,message:"Section is required"}],getValueFromEvent:M=>M,children:e.jsx(Z,{options:P,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1},`section_${T}_${u??"none"}`)}),e.jsx(a.Form.Item,{label:"Subject",name:"sub_id",rules:[{required:!0,message:"Subject is required"}],getValueFromEvent:M=>M,children:e.jsx(Z,{options:N,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1},`sub_${T}_${S??"none"}`)}),e.jsx(a.Form.Item,{label:"Title",name:"title",rules:[{required:!0,message:"Title is required"}],children:e.jsx(V,{placeholder:"Title"})}),e.jsx(a.Form.Item,{label:"Remark",name:"remark",rules:[{required:!0,message:"Remark is required"}],children:e.jsx(V,{placeholder:"Remark"})}),e.jsx(a.Form.Item,{label:"Status",name:"status",initialValue:{label:"Publish",value:"publish"},getValueFromEvent:M=>M,children:e.jsx(Z,{options:[{label:"Publish",value:"publish"},{label:"Unpublish",value:"unpublish"}],closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1})}),e.jsx(a.Form.Item,{label:"File",required:!0,children:e.jsx(Mo,{token:t,value:y,onChange:p})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:10},children:[e.jsx(ie,{type:"submit",value:"Save",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>g(!1),children:"Cancel"})]})]})})}),e.jsx(a.Card,{title:e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Notes"}),e.jsx(Qt,{actions:["add","export","print","download","filter"],onAdd:Y,onPrint:()=>window.print()})]}),children:e.jsx(a.Form,{form:n,layout:"vertical",onFinish:W,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(a.Form.Item,{label:"Class",name:"class_id",rules:[{required:!0,message:"Class is required"}],getValueFromEvent:M=>M,children:e.jsx(Z,{options:A,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:M=>{const L=M?.value??null;n.setFieldValue("section_id",null),d({classId:L,sectionId:null})}})}),e.jsx(a.Form.Item,{label:"Section",name:"section_id",rules:[{required:!0,message:"Section is required"}],getValueFromEvent:M=>M,children:e.jsx(Z,{options:f,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Note List"}),children:e.jsx(a.Table,{rowKey:M=>M.id,columns:U,dataSource:_,loading:k,pagination:{current:r.page,pageSize:r.perPage,total:D,showSizeChanger:!0,onChange:(M,L)=>l({page:M,perPage:L})}})})]})}function ax({token:t}){return e.jsx(tx,{token:t})}const nx=({token:t})=>K(t?[Ue.promoteStudents.sessionDropdown,t]:null,([n,s])=>G(n,s),{revalidateOnFocus:!1}),rl=Ue.transferCertificate,Bs=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},sx={width:"100%",height:40,background:"transparent",border:"none",borderBottom:"1px solid #d9d9d9",borderRadius:0,boxShadow:"none"},rx=(t,n)=>t.inputtype==="Select"?null:t.inputtype==="date"?se():"",il=t=>[{name:"ncc_details",inputtype:"text",label:"Ncc Details",required:!1},{name:"extra_curricular_activites",inputtype:"text",label:"Games played or extra-curricular activities in which the pupil usually took part",required:!1},{name:"generalConduct",inputtype:"text",label:"General conduct",required:!1},{name:"qualified_class",inputtype:"Select",label:"Qualified class",required:!1},{name:"application_date",inputtype:"date",label:"Date of application for certificate",required:!1},{name:"issue_date",inputtype:"date",label:"Date of issue of certificate",required:!1},{name:"reason_of_leaving",inputtype:"text",label:"Reason for leaving the school",required:!1},{name:"otherRemarks",inputtype:"text",label:"Any other remarks",required:!1},{name:"student_id",inputtype:"hidden",label:"",required:!1,value:t},{name:"qualified_for_promotion",inputtype:"radio",label:"Qualified for promotion",required:!1},{name:"failed",inputtype:"radio",label:"Failed",required:!1},{name:"nationality",inputtype:"text",label:"Nationality",required:!1},{name:"checked_by",inputtype:"text",label:"Checked By",required:!1},{name:"checked_by_designation",inputtype:"text",label:"Checked By Designation",required:!1}],ll=t=>[{name:"change_of_school",inputtype:"text",label:"Change of School",required:!1},{name:"character_remark",inputtype:"text",label:"Character",required:!1},{name:"generalConduct",inputtype:"text",label:"General conduct",required:!1},{name:"application_date",inputtype:"date",label:"Date of application for certificate",required:!1},{name:"issue_date",inputtype:"date",label:"Date of issue of certificate",required:!1},{name:"last_attendance",inputtype:"date",label:"Last Class Attendence",required:!1},{name:"otherRemarks",inputtype:"text",label:"Any other remarks",required:!1},{name:"student_id",inputtype:"hidden",label:"",required:!1,value:t},{name:"qualified_for_promotion",inputtype:"radio",label:"Qualified for promotion",required:!1}];function ix({token:t,transferCertificateViewPath:n="/AcademicsDashboard/TransferCertificateView",onOpenTransferCertificateView:s}){const[r]=a.Form.useForm(),[l]=a.Form.useForm(),[o,d]=i.useState({page:1,perPage:10}),[c,g]=i.useState({classId:null,sectionId:null,sessionId:null}),[y,p]=i.useState(null),[m,A]=i.useState(!1),{data:C}=K(t?[Ue.master.classes.dropdown,t]:null,([U,M])=>G(U,M)),b=i.useMemo(()=>Bs(C),[C]),{data:f}=K(t&&y?[y,t]:null,([U,M])=>G(U,M)),x=i.useMemo(()=>Bs(f),[f]),{data:R}=nx({token:t}),k=i.useMemo(()=>Bs(R),[R]),O=i.useMemo(()=>!c.classId||!c.sectionId||!c.sessionId?null:`${rl.studentList}?class_id=${encodeURIComponent(String(c.classId))}§ion_id=${encodeURIComponent(String(c.sectionId))}&session_id=${encodeURIComponent(String(c.sessionId))}&page=${encodeURIComponent(String(o.page))}&per_page=${encodeURIComponent(String(o.perPage))}`,[c.classId,c.sectionId,c.sessionId,o.page,o.perPage]),{data:_,isLoading:D,mutate:u}=K(t&&O?[O,t]:null,([U,M])=>G(U,M),{revalidateOnFocus:!1,onSuccess:U=>{const M=U?.data?.data??U?.data??[];Array.isArray(M)&&M[0]?.transefer_certificate_id&&j(String(M[0].transefer_certificate_id))}}),h=i.useMemo(()=>{const U=_?.data?.data??_?.data??_??[];return Array.isArray(U)?U:Array.isArray(U?.data)?U.data:[]},[_]),S=i.useMemo(()=>_?.pagination?.total_rows??_?.pagination?.total??h.length??0,[_,h.length]),[E,$]=i.useState(!1),[q,T]=i.useState(null),[F,j]=i.useState("1"),P=U=>{T(U);const M=F==="1"?il(U):ll(U),L={};M.forEach(z=>{L[z.name]=z.value??rx(z)}),l.setFieldsValue(L),$(!0)},I=async U=>{if(!U)return;if(typeof s=="function")return s(U);const M=`${n}?id=${encodeURIComponent(String(U))}`;window.location.href=M},N=U=>{const M=U?.class_id?.value??null,L=U?.section_id?.value??null,z=U?.session_id?.value??null;if(!M||!L||!z){v.error("Please select Class, Section and Session",{duration:1200});return}d(ne=>({...ne,page:1})),g({classId:M,sectionId:L,sessionId:z})},W=async U=>{const M=new FormData;Object.entries(U??{}).forEach(([L,z])=>{if(z!=null){if(se.isDayjs(z)){M.append(L,z.format("YYYY-MM-DD"));return}M.append(L,String(z))}});try{await Pt(rl.addData,M,t),v.success("Success! Added new item.",{duration:1e3}),$(!1),T(null),u()}catch(L){v.error(L?.response?.data?.msg??L?.message??"Failed to add the new item.",{duration:1500})}},Y=i.useMemo(()=>F==="1"?il(q):ll(q),[F,q]),B=i.useMemo(()=>[{title:"Admission no",dataIndex:"admission_no",key:"admission_no",align:"center"},{title:"Roll NO",dataIndex:"roll_no",key:"roll_no",align:"center"},{title:"Name",dataIndex:"full_name",key:"full_name",align:"center"},{title:"Class",dataIndex:"class",key:"class",align:"center"},{title:"Section",dataIndex:"section",key:"section",align:"center"},{title:"Guardian Name",dataIndex:"guardian_name",key:"guardian_name",align:"center"},{title:"Mobile No",dataIndex:"mobileno",key:"mobileno",align:"center"},{title:"Action",key:"action",align:"center",width:80,render:(U,M)=>e.jsx(a.Button,{type:"text",icon:M?.transfer_certificate_data==="not_present"?e.jsx(ee.EyeOutlined,{}):e.jsx(ee.CheckOutlined,{}),onClick:()=>{M?.transfer_certificate_data==="not_present"?P(M?.id):I(M?.id)}})}],[F]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Modal,{title:"Transfer Certificate",open:E,onCancel:()=>$(!1),footer:null,width:820,destroyOnClose:!0,children:e.jsxs(a.Form,{form:l,layout:"vertical",onFinish:W,children:[e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(240px, 1fr))",gap:16},children:Y.map(U=>U.inputtype==="hidden"?e.jsx(a.Form.Item,{name:U.name,initialValue:U.value??"",style:{display:"none"},children:e.jsx("input",{type:"hidden"})},U.name):U.inputtype==="date"?e.jsx(a.Form.Item,{label:U.label,name:U.name,children:e.jsx(a.DatePicker,{format:"YYYY-MM-DD",style:sx})},U.name):U.inputtype==="radio"?e.jsx(a.Form.Item,{label:U.label,name:U.name,children:e.jsx(a.Radio.Group,{options:[{label:"Yes",value:"Yes"},{label:"No",value:"No"}]})},U.name):U.inputtype==="Select"?e.jsx(a.Form.Item,{label:U.label,name:U.name,getValueFromEvent:M=>M,children:e.jsx(Z,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1})},U.name):e.jsx(a.Form.Item,{label:U.label,name:U.name,children:e.jsx(V,{placeholder:U.label})},U.name))}),e.jsxs(a.Space,{style:{width:"100%",justifyContent:"flex-end"},children:[e.jsx(ie,{type:"submit",value:"Submit",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>$(!1),children:"Cancel"})]})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Student History"}),children:e.jsx(a.Form,{form:r,layout:"vertical",onFinish:N,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(a.Form.Item,{label:"Class",name:"class_id",rules:[{required:!0,message:"Class is required"}],getValueFromEvent:U=>U,children:e.jsx(Z,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:U=>{const M=U?.value??null;p(M?`${Ue.master.sections.byClass}?class_id=${encodeURIComponent(String(M))}`:null),A(L=>!L),r.setFieldValue("section_id",null)}})}),e.jsx(a.Form.Item,{label:"Section",name:"section_id",getValueFromEvent:U=>U,children:e.jsx(Z,{options:x,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1},`section_${m}`)}),e.jsx(a.Form.Item,{label:"Session",name:"session_id",rules:[{required:!0,message:"Session is required"}],getValueFromEvent:U=>U,children:e.jsx(Z,{options:k,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Student List"}),extra:e.jsx(Qt,{actions:["export","print"],onExport:()=>{},onPrint:()=>window.print()}),children:e.jsx(a.Table,{rowKey:U=>U.id,columns:B,dataSource:h,loading:D,pagination:{current:o.page,pageSize:o.perPage,total:S,showSizeChanger:!0,onChange:(U,M)=>d({page:U,perPage:M})}})})]})}function lx({token:t,transferCertificateViewPath:n,onOpenTransferCertificateView:s}){return e.jsx(ix,{token:t,transferCertificateViewPath:n,onOpenTransferCertificateView:s})}const ox=({token:t,url:n})=>K(t&&n?[n,t]:null,([s,r])=>G(s,r),{revalidateOnFocus:!1}),Ns=Ue.syllabus,ol=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},dx=(t,n)=>{const s=String(t??""),r=String(n??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r};function cx({token:t}){const[n]=a.Form.useForm(),[s]=a.Form.useForm(),[r,l]=i.useState({page:1,perPage:50}),[o,d]=i.useState({classId:null}),[c,g]=i.useState(!1),[y,p]=i.useState(null),[m,A]=i.useState(""),{data:C}=K(t?[Ue.master.classes.dropdown,t]:null,([I,N])=>G(I,N)),b=i.useMemo(()=>ol(C),[C]),f=i.useMemo(()=>o.classId?`${Ns.table}?class_id=${encodeURIComponent(String(o.classId))}&page=${encodeURIComponent(String(r.page))}&per_page=${encodeURIComponent(String(r.perPage))}`:null,[o.classId,r.page,r.perPage]),{data:x,isLoading:R,mutate:k}=ox({token:t,url:f}),O=i.useMemo(()=>{const I=x?.data?.data??x?.data??x??[];return Array.isArray(I)?I:Array.isArray(I?.data)?I.data:[]},[x]),_=i.useMemo(()=>x?.pagination?.total_rows??x?.pagination?.total??O.length??0,[x,O.length]),[D,u]=i.useState(null),[h,S]=i.useState(!1),{data:E}=K(t&&D?[D,t]:null,([I,N])=>G(I,N),{revalidateOnFocus:!1}),$=i.useMemo(()=>ol(E),[E]),q=I=>{const N=I?.class_id?.value??null;N&&(l(W=>({...W,page:1})),d({classId:N}))},T=()=>{p(null),A(""),u(null),S(I=>!I),s.resetFields(),g(!0)},F=I=>{p(I),A(I?.attchement??"");const N=I?.class_id;u(N?`${Ue.master.subjects.dropdown}?class_id=${encodeURIComponent(String(N))}`:null),S(W=>!W),s.setFieldsValue({class_id:b.find(W=>String(W.value)===String(N))??null,sub_id:$.find(W=>String(W.value)===String(I?.sub_id??I?.subject_id))??(I?.sub_id||I?.subject_id?{label:I?.subject_title??"Subject",value:I?.sub_id??I?.subject_id}:null),title:I?.title??"",description:I?.description??""}),g(!0)},j=async I=>{const N=I?.class_id?.value??null,W=I?.sub_id?.value??null,Y=I?.title??"",B=I?.description??"";if(!N||!W||!Y||!B||!m){v.error("Please fill all fields",{duration:1200});return}const U=new FormData;U.append("class_id",String(N)),U.append("sub_id",String(W)),U.append("title",String(Y)),U.append("description",String(B)),U.append("file",String(m));try{y?.id?(U.append("id",String(y.id)),await Pt(Ns.edit,U,t),v.success("Success! Updated item.",{duration:1e3})):(await Pt(Ns.add,U,t),v.success("Success! Added new item.",{duration:1e3})),g(!1),p(null),k()}catch(M){v.error(M?.response?.data?.msg??M?.message??"Failed to save",{duration:1500})}},P=i.useMemo(()=>[{title:"Title",dataIndex:"title",key:"title",align:"center"},{title:"Description",dataIndex:"description",key:"description",align:"center"},{title:"Subject",dataIndex:"subject_title",key:"subject_title",align:"center"},{title:"File",key:"file",align:"center",render:(I,N)=>{const W=N?.attchement;if(!W)return"-";const Y=dx(at(),`uploads/school_${N?.fk_branchID}/student/syllabus/${W}`);return e.jsx("a",{href:Y,target:"_blank",rel:"noreferrer",children:"View File"})}},{title:"Action",key:"action",width:80,align:"center",render:(I,N)=>e.jsx(a.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>F(N)})}],[$,b]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Modal,{title:y?"Edit Syllabus":"Add Syllabus",open:c,onCancel:()=>{g(!1),p(null),A("")},footer:null,width:820,destroyOnClose:!0,children:e.jsx(a.Form,{form:s,layout:"vertical",onFinish:j,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(a.Form.Item,{label:"Class",name:"class_id",rules:[{required:!0,message:"Class is required"}],getValueFromEvent:I=>I,children:e.jsx(Z,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1,onChange:I=>{const N=I?.value??null;s.setFieldValue("sub_id",null),u(N?`${Ue.master.subjects.dropdown}?class_id=${encodeURIComponent(String(N))}`:null),S(W=>!W)}},`class_${y?.id??"add"}_${h}`)}),e.jsx(a.Form.Item,{label:"Subject",name:"sub_id",rules:[{required:!0,message:"Subject is required"}],getValueFromEvent:I=>I,children:e.jsx(Z,{options:$,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1},`sub_${y?.id??"add"}_${h}_${D??"none"}`)}),e.jsx(a.Form.Item,{label:"Title",name:"title",rules:[{required:!0,message:"Title is required"}],children:e.jsx(V,{placeholder:"Title"})}),e.jsx(a.Form.Item,{label:"Description",name:"description",rules:[{required:!0,message:"Description is required"}],children:e.jsx(gt,{placeholder:"Description"})}),e.jsx(a.Form.Item,{label:"File",required:!0,children:e.jsx(Mo,{token:t,value:m,onChange:A,action:cg(),filePath:"student/syllabus"})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:10},children:[e.jsx(ie,{type:"submit",value:"Save",color:"primary"}),e.jsx(a.Button,{type:"text",onClick:()=>g(!1),children:"Cancel"})]})]})})}),e.jsx(a.Card,{title:e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Syllabus"}),e.jsx(Qt,{actions:["add","export","print","download","filter"],onAdd:T,onPrint:()=>window.print()})]}),children:e.jsx(a.Form,{form:n,layout:"vertical",onFinish:q,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(a.Form.Item,{label:"Class",name:"class_id",rules:[{required:!0,message:"Class is required"}],getValueFromEvent:I=>I,children:e.jsx(Z,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,allowSelectAll:!1})}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Syllabus List"}),children:e.jsx(a.Table,{rowKey:I=>I.id,columns:P,dataSource:O,loading:R,pagination:{current:r.page,pageSize:r.perPage,total:_,showSizeChanger:!0,onChange:(I,N)=>l({page:I,perPage:N})}})})]})}function ux({token:t}){return e.jsx(cx,{token:t})}const fs=Ue.timetable,dl=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},cl=t=>{if(!t)return"";const n=se(t,"HH:mm:ss");return n.isValid()?n.format("h:mm a"):String(t)},px=t=>{const n=String(t).trim().toLowerCase();if(!n)return"default";let s=0;for(let l=0;l<n.length;l+=1)s=(s*31+n.charCodeAt(l))%1e5;const r=["magenta","red","volcano","orange","gold","lime","green","cyan","blue","geekblue","purple"];return r[s%r.length]},ul=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],mx=t=>{const n=String(t||"");return n?n.charAt(0).toUpperCase()+n.slice(1):"-"};function hx({token:t}){const[n,s]=i.useState(null),[r,l]=i.useState(!1),[o,d]=i.useState(null),[c,g]=i.useState(""),[y,p]=i.useState(""),{data:m}=K(t?[Ue.master.classes.dropdown,t]:null,([u,h])=>G(u,h)),A=i.useMemo(()=>dl(m),[m]),{data:C}=K(t&&n?[n,t]:null,([u,h])=>G(u,h)),b=i.useMemo(()=>dl(C),[C]),{data:f,isLoading:x}=K(t&&o?[o,t]:null,([u,h])=>G(u,h),{revalidateOnFocus:!1}),R=i.useMemo(()=>f?.days??f?.data?.days??f?.data?.data?.days??{},[f]),{dataSource:k,daySpanByFirstKey:O}=i.useMemo(()=>{const u=Object.entries(R||{}).slice().sort((E,$)=>ul.indexOf(String(E[0]).toLowerCase())-ul.indexOf(String($[0]).toLowerCase())),h=new Map,S=[];for(const[E,$]of u){const q=(Array.isArray($)?$:[]).slice().sort((F,j)=>Number(F?.order_no||0)-Number(j?.order_no||0)),T=q.length;for(let F=0;F<T;F+=1){const j=q[F],P=j?.id||`${E}-${j?.order_no}-${F}`;F===0&&h.set(P,T),S.push({key:P,_dayKey:E,...j})}}return{dataSource:S,daySpanByFirstKey:h}},[R]),_=i.useMemo(()=>[{title:"Day",dataIndex:"_dayKey",key:"_dayKey",width:140,render:(u,h)=>{const S=O.get(h.key);return S===void 0?{children:null,props:{rowSpan:0}}:{children:e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(ee.CalendarOutlined,{style:{color:"#5080f8"}}),e.jsx(a.Tag,{color:"geekblue",style:{margin:0,fontWeight:500},children:mx(u)})]}),props:{rowSpan:S}}}},{title:"Period",dataIndex:"order_no",key:"order_no",width:90,render:u=>e.jsx(a.Tag,{color:"#5080f8",style:{fontWeight:500},children:u})},{title:"Time",key:"time",width:180,render:(u,h)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[e.jsx(ee.ClockCircleOutlined,{style:{color:"#5080f8",fontSize:14}}),e.jsxs(a.Typography.Text,{children:[cl(h?.time_from)," - ",cl(h?.time_to)]})]})},{title:"Subject",key:"subject",render:(u,h)=>{if(String(h?.is_break)==="1")return e.jsx(a.Tag,{color:"orange",style:{fontWeight:500},children:"Tiffin Break"});const E=h?.subject_name||"-";return e.jsx(a.Tag,{color:px(E),style:{fontWeight:500},children:E})}},{title:"Teacher",key:"teacher",render:(u,h)=>{const S=String(h?.is_break)==="1";return e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[e.jsx(ee.UserOutlined,{style:{color:"#5080f8",fontSize:14}}),e.jsx(a.Typography.Text,{children:S?"-":h?.teacher_full_name||"-"})]})}},{title:"Room",key:"room_no",width:120,render:(u,h)=>{const S=String(h?.is_break)==="1";return e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[e.jsx(ee.HomeOutlined,{style:{color:"#5080f8",fontSize:14}}),e.jsx(a.Typography.Text,{children:S?"-":h?.room_no||"-"})]})}}],[O]),D=u=>{u.preventDefault();const h=u.target.class_id?.value,S=u.target.section_id?.value;if(!h||!S)return;const E=A.find(F=>String(F.value)===String(h)),$=b.find(F=>String(F.value)===String(S));g(E?.label||""),p($?.label||"");const T=`${fs.byClassSection}/${h}/section/${S}`;d(T)};return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Class / Section Wise Timetable"}),extra:e.jsx(Qt,{actions:["export","print"],onExport:()=>{},onPrint:()=>window.print()}),children:e.jsx("form",{onSubmit:D,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Z,{options:A,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Class",name:"class_id",allowSelectAll:!1,required:!0,onChange:u=>{s(`${Ue.master.sections.byClass}?class_id=${encodeURIComponent(String(u?.value??""))}`),l(h=>!h)}}),e.jsx(Z,{options:b,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Section",name:"section_id",allowSelectAll:!1,required:!0},`section_${r}`),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:c||y?`Timetable: ${c} ${y}`:"Timetable"}),children:e.jsx(a.Table,{size:"middle",bordered:!1,pagination:!1,dataSource:k,columns:_,rowKey:"key",loading:x,scroll:{x:"max-content"}})})]})}const fx=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},pl=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],yx=t=>{const n=String(t||"");return n?n.charAt(0).toUpperCase()+n.slice(1):"-"},ml=t=>{if(!t)return"";const n=se(t,"HH:mm:ss");return n.isValid()?n.format("h:mm a"):String(t)},gx=t=>{const n=String(t).trim().toLowerCase();if(!n)return"default";let s=0;for(let l=0;l<n.length;l+=1)s=(s*31+n.charCodeAt(l))%1e5;const r=["magenta","red","volcano","orange","gold","lime","green","cyan","blue","geekblue","purple"];return r[s%r.length]};function xx({token:t}){const[n,s]=i.useState(null),[r,l]=i.useState(null),{data:o}=K(t?[Ue.assignByClass.teacherDropdown,t]:null,([C,b])=>G(C,b)),d=i.useMemo(()=>fx(o),[o]),{data:c,isLoading:g}=K(t&&r?[r,t]:null,([C,b])=>G(C,b),{revalidateOnFocus:!1}),{dataSource:y,daySpanByFirstKey:p}=i.useMemo(()=>{const b=(Array.isArray(c?.data)&&c.data||Array.isArray(c?.data?.data)&&c.data.data||[]).slice().sort((k,O)=>{const _=pl.indexOf(String(k?.day_name||"").toLowerCase()),D=pl.indexOf(String(O?.day_name||"").toLowerCase());if(_!==D)return _-D;const u=Number(k?.order_no||0),h=Number(O?.order_no||0);return u!==h?u-h:String(k?.time_from||"").localeCompare(String(O?.time_from||""))}),f=new Map,x=[];let R=0;for(;R<b.length;){const k=String(b[R]?.day_name||"").toLowerCase();let O=R;for(;O<b.length&&String(b[O]?.day_name||"").toLowerCase()===k;)O+=1;const _=O-R;for(let D=R;D<O;D+=1){const u=b[D],h=u?.id||`${k}-${u?.order_no}-${D}`;D===R&&f.set(h,_),x.push({key:h,_dayKey:k,...u})}R=O}return{dataSource:x,daySpanByFirstKey:f}},[c]),m=i.useMemo(()=>[{title:"Day",dataIndex:"_dayKey",key:"_dayKey",width:140,render:(C,b)=>{const f=p.get(b.key);return f===void 0?{children:null,props:{rowSpan:0}}:{children:e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(ee.CalendarOutlined,{style:{color:"#5080f8"}}),e.jsx(a.Tag,{color:"geekblue",style:{margin:0,fontWeight:500},children:yx(C)})]}),props:{rowSpan:f}}}},{title:"Period",dataIndex:"order_no",key:"order_no",width:90,render:C=>e.jsx(a.Tag,{color:"#5080f8",style:{fontWeight:500},children:C})},{title:"Time",key:"time",width:180,render:(C,b)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[e.jsx(ee.ClockCircleOutlined,{style:{color:"#5080f8",fontSize:14}}),e.jsxs(a.Typography.Text,{children:[ml(b?.time_from)," - ",ml(b?.time_to)]})]})},{title:"Subject",key:"subject",render:(C,b)=>{if(String(b?.is_break)==="1")return e.jsx(a.Tag,{color:"orange",style:{fontWeight:500},children:"Tiffin Break"});const x=b?.subject_name||"-";return e.jsx(a.Tag,{color:gx(x),style:{fontWeight:500},children:x})}},{title:"Class",key:"class",width:160,render:(C,b)=>e.jsxs(a.Tag,{color:"purple",style:{fontWeight:500},children:[b?.class_name||b?.class_id||"-"," ",b?.section_name?`(${b.section_name})`:""]})},{title:"Room",key:"room_no",width:120,render:(C,b)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[e.jsx(ee.HomeOutlined,{style:{color:"#5080f8",fontSize:14}}),e.jsx(a.Typography.Text,{children:b?.room_no||"-"})]})}],[p]),A=C=>{C.preventDefault();const b=C.target.teacher_id?.value;if(!b)return;s(b);const x=`${fs.teacherTimetable}${encodeURIComponent(String(b))}`;l(x)};return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Teacher Wise Timetable"}),extra:e.jsx(Qt,{actions:["export","print"],onExport:()=>{},onPrint:()=>window.print()}),children:e.jsx("form",{onSubmit:A,children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(Z,{options:d,closeMenuOnSelect:!0,hideSelectedOptions:!1,label:"Teacher",name:"teacher_id",allowSelectAll:!1,required:!0}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Search",color:"primary"})})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Timetable"}),children:e.jsx(a.Table,{size:"middle",bordered:!1,pagination:!1,dataSource:y,columns:m,rowKey:"key",loading:g,scroll:{x:"max-content"}})})]})}function hl(t){if(!t)return null;const n=String(t).trim().replaceAll(".",":");if(!n)return null;const s=n.toLowerCase(),r=s.includes("am")||s.includes("pm");let l=0,o=0,d=0;if(r){const g=s.replace(/\s+/g," ").match(/^(\d{1,2})\s*:\s*(\d{1,2})(?:\s*:\s*(\d{1,2}))?\s*(am|pm)$/i);if(!g)return null;l=Number.parseInt(g[1],10),o=Number.parseInt(g[2],10),d=Number.parseInt(g[3]||"0",10);const y=g[4].toLowerCase();y==="pm"&&l<12&&(l+=12),y==="am"&&l===12&&(l=0)}else{const c=n.split(":").map(g=>g.trim());if(c.length<2)return null;l=Number.parseInt(c[0],10),o=Number.parseInt(c[1],10),d=Number.parseInt(c[2]||"0",10)}return![l,o,d].every(c=>Number.isFinite(c))||l<0||l>23||o<0||o>59||d<0||d>59?null:se().hour(l).minute(o).second(d).millisecond(0)}function Ha(t,n){const s=Number.parseInt(n,10);return!Number.isFinite(s)||s<=0||!t||!t.isValid?.()?null:t.add(s,"minute")}const Xn=t=>{if(Array.isArray(t))return t;if(t&&typeof t=="object"){if(typeof t?.Status=="string"){if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}if(Array.isArray(t?.data))return t.data;if(Array.isArray(t?.data?.data))return t.data.data}return[]},Za={0:"sunday",1:"monday",2:"tuesday",3:"wednesday",4:"thursday",5:"friday",6:"saturday"},bx=t=>{const n=Za[String(t)];return n?n.charAt(0).toUpperCase()+n.slice(1):String(t)},jx=({token:t,classId:n,sectionId:s,subjectId:r,value:l,onChange:o,disabled:d})=>{const c=t&&n&&s&&r?`${fs.teachersBySubject}?subject_id=${encodeURIComponent(String(r))}&class_id=${encodeURIComponent(String(n))}§ion_id=${encodeURIComponent(String(s))}`:null,{data:g,isLoading:y}=K(c?[c,t]:null,([m,A])=>G(m,A),{revalidateOnFocus:!1}),p=i.useMemo(()=>Xn(g?.data??g).map(A=>({value:A?.value??A?.id,label:A?.label??A?.name??A?.teacher_name??""})),[g]);return e.jsx(a.Select,{placeholder:d?"-":"Select Teacher",loading:y,disabled:d,style:{width:"100%"},options:p,value:l?String(l):void 0,onChange:m=>o?.(m),showSearch:!0,optionFilterProp:"label"})};function Sx({token:t}){const[n]=a.Form.useForm(),[s,r]=i.useState({classId:null,sectionId:null,dayKey:"1",daysEnabled:{0:!1,1:!0,2:!0,3:!0,4:!0,5:!0,6:!0}}),[l,o]=i.useState({startTime:null,endTime:null,duration:40,interval:0,roomNo:"",tiffinEnabled:!1,tiffinAfterPeriod:3,tiffinDuration:20}),[d,c]=i.useState({0:[],1:[],2:[],3:[],4:[],5:[],6:[]}),[g,y]=i.useState(!1),p=i.useMemo(()=>t?Ue.master.classes.dropdown:null,[t]),{data:m}=K(p?[p,t]:null,([T,F])=>G(T,F)),A=i.useMemo(()=>Xn(m).map(T=>({value:T?.value??T?.id,label:T?.label??T?.title??""})),[m]),C=i.useMemo(()=>!t||!s.classId?null:`${Ue.master.sections.byClass}?class_id=${encodeURIComponent(String(s.classId))}`,[s.classId,t]),{data:b}=K(C?[C,t]:null,([T,F])=>G(T,F)),f=i.useMemo(()=>Xn(b).map(T=>({value:T?.value??T?.id,label:T?.label??T?.title??""})),[b]),x=i.useMemo(()=>!t||!s.classId?null:`${Ue.master.subjects.byClassLabelValue}?class_id=${encodeURIComponent(String(s.classId))}`,[s.classId,t]),{data:R}=K(x?[x,t]:null,([T,F])=>G(T,F)),k=i.useMemo(()=>Xn(R).map(T=>({value:T?.value??T?.id,label:T?.label??T?.title??""})),[R]),O=i.useMemo(()=>Array.isArray(d?.[s.dayKey])?d[s.dayKey]:[],[s.dayKey,d]),_=i.useCallback((T,F,j)=>{c(P=>{const I={...P},N=Array.isArray(I[T])?I[T].slice():[];return N[F]={...N[F]??{},...j},I[T]=N,I})},[]),D=i.useCallback((T,F)=>{c(j=>{const P={...j},I=Array.isArray(P[T])?P[T].slice():[];return I.splice(F,1),P[T]=I.map((N,W)=>({...N,order_no:W+1})),P})},[]),u=i.useCallback(T=>{c(F=>{const j={...F},P=Array.isArray(j[T])?j[T].slice():[];let I=null,N=null;const W=P[P.length-1];if(W?.time_to){const Y=hl(W.time_to),B=Number.parseInt(l.interval,10)||0,U=Number.parseInt(l.duration,10)||0,M=Ha(Y,B),L=U>0?Ha(M,U):null;I=M?.isValid?.()?M.format("HH:mm:ss"):null,N=L?.isValid?.()?L.format("HH:mm:ss"):null}return P.push({order_no:P.length+1,subject_id:"",teacher_id:"",room_no:l.roomNo??"",time_from:I,time_to:N,is_break:!1}),j[T]=P,j})},[l.duration,l.interval,l.roomNo]),h=i.useCallback(()=>{const T=l.startTime,F=l.endTime,j=Number.parseInt(l.duration,10),P=Number.parseInt(l.interval,10);if(!T||!T.isValid?.()){v.error("Start time is required",{duration:1500});return}if(!F||!F.isValid?.()){v.error("End time is required",{duration:1500});return}if(!F.isAfter(T)){v.error("End time must be after start time",{duration:1500});return}if(!Number.isFinite(j)||j<=0){v.error("Duration must be a positive number",{duration:1500});return}if(!Number.isFinite(P)||P<0){v.error("Interval must be 0 or more",{duration:1500});return}const I=()=>{const N=[];let W=T;for(let Y=0;Y<50;Y+=1){const B=Ha(W,j);if(!B||!B.isValid?.()||B.isAfter(F))break;N.push({order_no:N.length+1,subject_id:"",teacher_id:"",room_no:l.roomNo??"",time_from:W.format("HH:mm:ss"),time_to:B.format("HH:mm:ss"),is_break:!1});const U=Ha(B,P);if(!U||!U.isValid?.()||U.isAfter(F)||U.isSame(F))break;W=U}if(l.tiffinEnabled){const Y=Math.max(0,Number.parseInt(l.tiffinAfterPeriod,10)||0),B=Math.max(0,Number.parseInt(l.tiffinDuration,10)||0),U=Math.min(Y,N.length);if(U>0&&B>0){const M=N[U-1],L=M?.time_to?hl(M.time_to):null,z=L?Ha(L,B):null;L?.isValid?.()&&z?.isValid?.()&&!z.isAfter(F)&&N.splice(U,0,{order_no:U+1,subject_id:"",teacher_id:"",room_no:l.roomNo??"",time_from:L.format("HH:mm:ss"),time_to:z.format("HH:mm:ss"),is_break:!0})}}return N.map((Y,B)=>({...Y,order_no:B+1}))};c(N=>{const W={...N};return Object.keys(Za).forEach(Y=>{s.daysEnabled?.[Y]&&(W[Y]=I())}),W}),v.success("Generated schedule",{duration:1e3})},[l,s.daysEnabled]),S=i.useCallback(()=>{const T=localStorage.getItem("genrall_settings"),j=(T?JSON.parse(T):{})?.session_id??"1",P=s.classId,I=s.sectionId,N=Object.keys(Za).map(W=>{const Y=(Array.isArray(d?.[W])?d[W]:[]).map((B,U)=>({order_no:U+1,subject_id:B?.is_break?0:B?.subject_id??null,teacher_id:B?.is_break?0:B?.teacher_id??null,room_no:B?.room_no??"",time_from:B?.time_from??null,time_to:B?.time_to??null,is_break:B?.is_break?1:0}));return{day:Za[W],class_id:P,section_id:I,session_id:j,args:Y}});return{class_id:P,section_id:I,session_id:j,days:N}},[s.classId,s.sectionId,d]),E=i.useCallback(async()=>{if(!s.classId||!s.sectionId){v.error("Please select Class and Section",{duration:1500});return}const T=S(),F=Array.isArray(T?.days)?T.days:[];if(!F.some(I=>Array.isArray(I?.args)&&I.args.length>0)){v.error("No timetable rows to submit",{duration:1500});return}const P=I=>{const N=I?.is_break;return N===1||N==="1"||N===!0?!0:String(N??"").toLowerCase()==="true"};F.some(I=>(Array.isArray(I?.args)?I.args:[]).some(N=>String(N?.time_from??"").trim()&&String(N?.time_to??"").trim()?P(N)?!1:!String(N?.subject_id??"").trim()||!String(N?.teacher_id??"").trim():!0)),y(!0);try{const I=fs.save,N=I==="api/timetable/save"?"timetable/save":null,W=async U=>{const M=await os(U,T,t);if(M&&typeof M=="object")return M;throw new Error("No response from server")};let Y;try{Y=await W(I)}catch{Y=await W(N)}const B=String(Y?.msg??"");if(String(Y?.Status)==="Success"){if(Array.isArray(Y?.data)&&Y.data.length===0&&B){v.error(B,{duration:3e3});return}v.success(B||"Weekly Time Table added successfully!",{duration:1200});return}v.error(B||"Failed to add time table",{duration:3e3})}catch(I){v.error(I?.response?.data?.msg??I?.message??"Failed to add time table",{duration:3e3})}finally{y(!1)}},[S,s.classId,s.sectionId,t]),$=i.useMemo(()=>[{title:"Period",dataIndex:"order_no",key:"order_no",width:80},{title:"Time From",dataIndex:"time_from",key:"time_from",width:120,render:T=>T?se(T,"HH:mm:ss").format("h:mm a"):"-"},{title:"Time To",dataIndex:"time_to",key:"time_to",width:120,render:T=>T?se(T,"HH:mm:ss").format("h:mm a"):"-"},{title:"Break",dataIndex:"is_break",key:"is_break",width:90,render:(T,F,j)=>e.jsx(a.Switch,{checked:!!F?.is_break,onChange:P=>{_(s.dayKey,j,{is_break:P,subject_id:P?"":F?.subject_id??"",teacher_id:P?"":F?.teacher_id??""})}})},{title:"Subject",dataIndex:"subject_id",key:"subject_id",width:220,render:(T,F,j)=>e.jsx(a.Select,{placeholder:F?.is_break?"-":"Select Subject",disabled:!!F?.is_break,style:{width:"100%"},options:k,value:F?.subject_id?String(F.subject_id):void 0,onChange:P=>_(s.dayKey,j,{subject_id:P,teacher_id:""}),showSearch:!0,optionFilterProp:"label"})},{title:"Teacher",dataIndex:"teacher_id",key:"teacher_id",width:240,render:(T,F,j)=>e.jsx(jx,{token:t,classId:s.classId,sectionId:s.sectionId,subjectId:F?.subject_id,disabled:!!F?.is_break||!F?.subject_id,value:F?.teacher_id,onChange:P=>_(s.dayKey,j,{teacher_id:P})})},{title:"Room",dataIndex:"room_no",key:"room_no",width:140,render:(T,F,j)=>e.jsx(a.Input,{value:F?.room_no??"",onChange:P=>_(s.dayKey,j,{room_no:P.target.value})})},{title:"Action",key:"action",width:90,render:(T,F,j)=>e.jsx(a.Popconfirm,{title:"Delete this row?",onConfirm:()=>D(s.dayKey,j),children:e.jsx(a.Button,{danger:!0,type:"text",children:"Delete"})})}],[s.classId,s.dayKey,s.sectionId,D,k,t,_]),q=e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Create Time Table"}),children:e.jsx(a.Form,{form:n,layout:"vertical",initialValues:{duration:l.duration,interval:l.interval,roomNo:l.roomNo,tiffinEnabled:l.tiffinEnabled,tiffinAfterPeriod:l.tiffinAfterPeriod,tiffinDuration:l.tiffinDuration},children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsx(a.Form.Item,{label:"Class",required:!0,children:e.jsx(a.Select,{placeholder:"Select Class",options:A,value:s.classId?String(s.classId):void 0,onChange:T=>{r(F=>({...F,classId:T,sectionId:null})),c({0:[],1:[],2:[],3:[],4:[],5:[],6:[]})},showSearch:!0,optionFilterProp:"label"})}),e.jsx(a.Form.Item,{label:"Section",required:!0,children:e.jsx(a.Select,{placeholder:"Select Section",options:f,value:s.sectionId?String(s.sectionId):void 0,onChange:T=>r(F=>({...F,sectionId:T})),disabled:!s.classId,showSearch:!0,optionFilterProp:"label"})}),e.jsx(a.Form.Item,{label:"Start Time",required:!0,children:e.jsx(a.TimePicker,{value:l.startTime,onChange:T=>o(F=>({...F,startTime:T})),use12Hours:!0,format:"h:mm a",style:{width:"100%"}})}),e.jsx(a.Form.Item,{label:"End Time",required:!0,children:e.jsx(a.TimePicker,{value:l.endTime,onChange:T=>o(F=>({...F,endTime:T})),use12Hours:!0,format:"h:mm a",style:{width:"100%"}})}),e.jsx(a.Form.Item,{label:"Duration (min)",required:!0,children:e.jsx(a.InputNumber,{min:1,value:l.duration,onChange:T=>o(F=>({...F,duration:T})),style:{width:"100%"}})}),e.jsx(a.Form.Item,{label:"Interval (min)",children:e.jsx(a.InputNumber,{min:0,value:l.interval,onChange:T=>o(F=>({...F,interval:T})),style:{width:"100%"}})}),e.jsx(a.Form.Item,{label:"Room No",children:e.jsx(a.Input,{value:l.roomNo,onChange:T=>o(F=>({...F,roomNo:T.target.value}))})}),e.jsx(a.Form.Item,{label:"Tiffin Break",children:e.jsxs(a.Space,{children:[e.jsx(a.Switch,{checked:l.tiffinEnabled,onChange:T=>o(F=>({...F,tiffinEnabled:T}))}),e.jsx(a.Typography.Text,{type:"secondary",children:l.tiffinEnabled?"Enabled":"Disabled"})]})}),e.jsx(a.Form.Item,{label:"After Period",tooltip:"Insert break row after this period",style:{marginBottom:0},children:e.jsx(a.InputNumber,{min:1,value:l.tiffinAfterPeriod,onChange:T=>o(F=>({...F,tiffinAfterPeriod:T})),style:{width:"100%"},disabled:!l.tiffinEnabled})}),e.jsx(a.Form.Item,{label:"Break Duration (min)",style:{marginBottom:0},children:e.jsx(a.InputNumber,{min:1,value:l.tiffinDuration,onChange:T=>o(F=>({...F,tiffinDuration:T})),style:{width:"100%"},disabled:!l.tiffinEnabled})}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:10},children:[e.jsx(a.Button,{onClick:h,children:"Generate"}),e.jsx(a.Button,{type:"primary",loading:g,onClick:E,children:"Save"})]})]})})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Edit Week"}),extra:e.jsxs(a.Space,{children:[e.jsx(a.Typography.Text,{type:"secondary",children:"Day"}),e.jsx(a.Select,{style:{width:160},value:s.dayKey,onChange:T=>r(F=>({...F,dayKey:T})),options:Object.keys(Za).map(T=>({value:String(T),label:bx(T)}))}),e.jsx(a.Button,{onClick:()=>u(s.dayKey),children:"Add Row"})]}),children:e.jsx(a.Table,{rowKey:(T,F)=>`${s.dayKey}_${F}`,columns:$,dataSource:O,pagination:!1,size:"middle",scroll:{x:"max-content"}})})]});return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(a.Typography.Title,{level:4,style:{margin:0},children:"Time Table"}),e.jsx(a.Tabs,{type:"card",items:[{key:"create",label:"Create",children:q},{key:"routine",label:"Routine",children:e.jsx(hx,{token:t})},{key:"teacher",label:"Teacher Wise",children:e.jsx(xx,{token:t})}]})]})}function vx({token:t}){return e.jsx(Sx,{token:t})}function wx(){return null}const la=t=>t??localStorage.getItem("authToken")??"",_x=(t,n)=>{const s=String(t??""),r=String(n);return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},Qe={organization:{get:"api/branchapi/generalSettings/getorganizationsettingsData",save:"api/branchapi/generalSettings/addorganizationSetting",currencyDropdown:"api/branchapi/generalSettings/currencyDropdown",countryCodeDropdown:"api/branchapi/generalSettings/contrycodeDropdown",timezoneDropdown:"api/branchapi/generalSettings/timezoneDropdown",boardsDropdown:"api/branchapi/generalSettings/getAffliatedBoardsDropDown",uploadLogo:"api/superAdmin/upload_logo",uploadSignature:"api/branchapi/generalSettings/upload_signature",uploadFirebaseJson:"api/branchapi/generalSettings/firebaseJsonUpload"},academicYear:{table:"api/branchapi/generalSettings/sessiontable",add:"api/branchapi/generalSettings/addsession",setActive:"api/branchapi/generalSettings/setsession",remove:"api/branchapi/generalSettings/deletesession"},feeReceiptSetting:{get:"api/branchapi/generalSettings/feesReceiptSettingData",save:"api/branchapi/generalSettings/feesReceiptSetting"},marksheetSetting:{templateTypes:"api/branchapi/GeneralSettings/getmarkssheetTemplate",classDropdown:"api/exam/exam/getClassforAssignMarksSheetType",assignedTable:"api/branchapi/GeneralSettings/getassign_templete",assign:"api/branchapi/GeneralSettings/assign_templete",remove:"api/branchapi/GeneralSettings/deleteTemplate"},legalPages:{get:"api/branchapi/generalSettings/getlegalpage",termsSave:"api/branchapi/generalSettings/terms",privacySave:"api/branchapi/generalSettings/privacy",aboutSave:"api/branchapi/generalSettings/about_us"},feesInfo:{get:"api/branchapi/generalSettings/getFeesInfo",save:"api/branchapi/generalSettings/addFeesInfo",statesDropdown:"api/superAdmin/states"},payrollSettings:{table:"api/branchapi/GeneralSettings/getsetting_allowances_dedection",add:"api/branchapi/GeneralSettings/addsetting_allowances_dedection",edit:"api/branchapi/GeneralSettings/updatesetting_allowances_dedection",remove:"api/branchapi/GeneralSettings/deletesetting_allowances_dedection",byId:"api/branchapi/GeneralSettings/getsetting_allowances_dedectionById"},paymentGateway:{get:"api/payment_gateway/PaymentProcess/getPaymentGatewayList",save:"api/payment_gateway/PaymentProcess"},smsGateway:{get:"api/branchapi/generalSettings/smsalertsettingData",save:"api/branchapi/generalSettings/addsmsalertsetting"},smsDetails:{get:"api/branchapi/generalSettings/smsdetailsData",save:"api/branchapi/generalSettings/addsmsdetails"},smsTemplates:{table:"api/branchapi/communication/Sms/templatetableList",add:"api/branchapi/communication/Sms/addtemplate",edit:"api/branchapi/communication/Sms/edittemplate",delete:"api/branchapi/communication/Sms/deletetemplate",changeStatus:"api/branchapi/communication/Sms/changetemplatestatus",templateDropdown:"api/branchapi/communication/Sms/templatedropdown"},smsCompose:{templateDropdown:"api/branchapi/communication/Sms/templatedropdown",classDropdown:"api/branchapi/academy/classdropdownlist",sectionByClass:"api/branchapi/academy/sectionoftheClass",roleDropdown:"api/Branch/getRoledropdownforBranch",staffSearch:"api/branchapi/staff/staffsearchbyKeywords",studentDropdown:"api/branchapi/student/studentDropdown",sendMessage:"api/branchapi/communication/Message"},chat:{whatsappBaseUrl:"",groupList:"api/branchapi/communication/Message/whatappgroupList",groupCreate:"api/branchapi/communication/Message/createWhatsappGroup",teacherDropdown:"api/branchapi/topics/getTeacherDropdown",classDropdown:"api/branchapi/academy/classdropdownlist",sectionByClass:"api/branchapi/academy/sectionoftheClass",roleDropdown:"api/Branch/getRoledropdownforBranch"},getMessages:t=>`${String(t??"")}/api/messages`,getSendMessages:t=>`${String(t??"")}/api/messages/send`},Cx=t=>_x(At(),t),Ax=async({baseUrl:t,page:n=1,perPage:s=10},r)=>{const l=t.includes("?")?"&":"?",o=`${t}${l}page=${encodeURIComponent(String(n))}&per_page=${encodeURIComponent(String(s))}`;return G(o,la(r))},Dx=async(t,n)=>G(t,la(n)),xn=async(t,n,s)=>Ge(t,n,la(s)),Eo=async(t,n,s)=>tt(t,n,la(s)),fr=async(t,n,s)=>Ze(t,n,la(s)),Tx=async(t,n,s)=>os(t,{arg:n},la(s)),Fo=async(t,n,s)=>an(t,{arg:n},la(s)),$o=({baseUrl:t,page:n=1,perPage:s=10,token:r})=>K(r&&t?[t,n,s,r]:null,([o,d,c,g])=>Ax({baseUrl:o,page:d,perPage:c},g)),Dt=({url:t,token:n})=>K(n&&t?[t,n]:null,([r,l])=>Dx(r,l)),Rx={border:"1px solid #d9d9d9",borderRadius:8,padding:12,minHeight:320,background:"#fff"};function Ix({value:t,onChange:n,placeholder:s}){const[r,l]=i.useState(t??""),o=i.useMemo(()=>typeof t=="string"?t:r,[r,t]);return e.jsx("div",{style:Rx,children:e.jsx(oo,{html:o||"",onChange:d=>{const c=d?.target?.value??"";l(c),n?.(c)},style:{outline:"none",minHeight:280},placeholder:s})})}function Xt({title:t,actions:n,children:s,headerExtra:r}){return e.jsx("div",{style:{display:"grid",gap:20},children:s})}const kx=t=>t?Array.isArray(t?.data)?t.data[0]??null:Array.isArray(t?.data?.data)?t.data.data[0]??null:Array.isArray(t)?t[0]??null:t?.data?.data?.[0]??null:null;function yr({token:t,title:n,fetchUrl:s,saveUrl:r,fieldName:l,initialHtmlFieldName:o}){const d=i.useRef(null),c=Dt({url:s,token:t}),y=i.useMemo(()=>kx(c.data),[c.data])?.[o??l]??"",[p,m]=i.useState("");i.useEffect(()=>{m(typeof y=="string"?y:"")},[y]);const A=()=>m(typeof y=="string"?y:""),C=()=>{const x=new Blob([String(p??"")],{type:"text/html"}),R=URL.createObjectURL(x),k=document.createElement("a");k.href=R,k.download=`${String(n??"legal").toLowerCase().replaceAll(" ","-")}.html`,k.click(),URL.revokeObjectURL(R)},b=i.useMemo(()=>[{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>d.current?.requestSubmit?.()},{key:"update",label:"Update",icon:e.jsx(ee.SyncOutlined,{}),onClick:()=>d.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:A},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:C,disabled:!p}],[p,y]),f=async x=>{x.preventDefault();try{(await Fo(r,{[l]:p??""},t))?.Status==="Success"?v.success("Updated successfully.",{duration:1e3}):v.success("Updated.",{duration:1e3}),c.mutate?.()}catch(R){v.error(R?.response?.data?.msg??R?.message??"Failed to update.",{duration:1500})}};return c.isLoading&&!c.data?e.jsx("div",{children:"Loading..."}):e.jsxs(e.Fragment,{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Xt,{title:n,actions:b,children:e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Editor"}),children:e.jsxs("form",{ref:d,onSubmit:f,children:[e.jsx(Ix,{value:p,onChange:m,placeholder:`Enter ${n} content...`}),e.jsx(a.Divider,{}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Update"})})]})})})]})}const Px=t=>t?typeof t=="string"?t:typeof t?.data=="string"?t.data:typeof t?.filename=="string"?t.filename:typeof t?.file=="string"?t.file:"":"",Ox=t=>/^https?:\/\//i.test(String(t??""))||String(t??"").startsWith("data:");function en({token:t,value:n,onChange:s,action:r,accept:l,maxCount:o=1,previewUrl:d,data:c}){const g=i.useMemo(()=>{if(t)return{Authorization:t}},[t]),y=i.useMemo(()=>n?d||(Ox(n)?n:""):"",[d,n]);return e.jsxs("div",{style:{display:"grid",gap:8},children:[y?e.jsx("img",{src:y,alt:"upload-preview",style:{width:88,height:88,objectFit:"cover",borderRadius:8,border:"1px solid #d9d9d9",background:"#fafafa"}}):null,e.jsx(a.Upload,{maxCount:o,action:r,data:c,accept:l,headers:g,onChange:p=>{if(p?.file?.status==="removed"&&s?.(""),p?.file?.status==="done"){const m=Px(p?.file?.response);m&&s?.(m)}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:n?"Change":"Upload"})})]})}const oa=Qe.organization,Mx=()=>Cx(oa.uploadFirebaseJson),Ex=t=>t?Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:Array.isArray(t?.data?.data?.data)?t.data.data.data:[]:[],Fx=({token:t})=>Dt({url:oa.get,token:t}),$x=({token:t})=>Dt({url:oa.currencyDropdown,token:t}),Ux=({token:t})=>Dt({url:oa.countryCodeDropdown,token:t}),Bx=({token:t})=>Dt({url:oa.timezoneDropdown,token:t}),Nx=({token:t})=>Dt({url:oa.boardsDropdown,token:t}),Fn=t=>Ex(t?.data),Lx=(t,n)=>{const s=String(t??""),r=String(n??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},Uo=t=>{const n=qt(t);if(n)return n;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}},qx=(t,n)=>{const s=`${t||""}`.trim();if(!s)return"";if(/^https?:\/\//i.test(s))return s;const r=Uo(n),l=s.startsWith("/")?s.slice(1):s;return Lx(at(),`uploads/school_${r}/schoolFile/${l}`)},fl={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},zx=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"].map(t=>({value:t,label:t})),yl=[{value:"Yes",label:"Yes"},{value:"No",label:"No"}],gl=[{value:"yes",label:"Yes"},{value:"no",label:"No"}],Yx=t=>{const n=t?.data;return Array.isArray(n?.data)?n.data[0]??null:Array.isArray(n)?n[0]??null:Array.isArray(t)?t[0]??null:t?.data?.data?.[0]??null},Wx=t=>t?.data?.inout_setting?.[0]??t?.inout_setting?.[0]??null,Vx=t=>t?.data?.notification_settings?.[0]??t?.notification_settings?.[0]??null;function Hx({token:t}){const n=i.useRef(null),s=Fx({token:t}),r=$x({token:t}),l=Ux({token:t}),o=Bx({token:t}),d=Nx({token:t}),c=i.useMemo(()=>Yx(s.data),[s.data]),g=i.useMemo(()=>Wx(s.data),[s.data]),y=i.useMemo(()=>Vx(s.data),[s.data]),p=i.useMemo(()=>Fn(r),[r.data]),m=i.useMemo(()=>Fn(l),[l.data]),A=i.useMemo(()=>Fn(o),[o.data]),C=i.useMemo(()=>Fn(d),[d.data]),[b,f]=i.useState(null),[x,R]=i.useState(null),[k,O]=i.useState(null),[_,D]=i.useState(null),[u,h]=i.useState([]),[S,E]=i.useState("No"),[$,q]=i.useState("yes"),[T,F]=i.useState("no"),[j,P]=i.useState("Yes"),[I,N]=i.useState(""),[W,Y]=i.useState(""),[B,U]=i.useState(!1),[M,L]=i.useState(""),[z,ne]=i.useState(null),[X,J]=i.useState(null),[H,Q]=i.useState(null),[ce,De]=i.useState(null),le=()=>{const we=(()=>{try{const Ae=c?.weekly_off;if(!Ae)return[];const Fe=Array.isArray(Ae)?Ae:JSON.parse(Ae);return Array.isArray(Fe)?Fe.filter(Boolean).map(me=>({value:me,label:me})):[]}catch{return[]}})();h(we),f(p.find(Ae=>Ae?.value===c?.currency)??null),R(m.find(Ae=>Ae?.value===c?.country_code)??null),O(A.find(Ae=>Ae?.value===c?.time_zone)??null),D(C.find(Ae=>Ae?.value===c?.affliated_board_id)??null),N(c?.logo??""),Y(c?.json_file??""),E(c?.attendance_salary_calculation??"No"),q(c?.salary_period??"yes"),F(c?.multiple_shift??"no"),P(c?.readmission_charges??"Yes"),ne(g?.in_from?se(g.in_from,"h:mm A"):null),J(g?.in_to?se(g.in_to,"h:mm A"):null),Q(g?.out_from?se(g.out_from,"h:mm A"):null),De(g?.out_to?se(g.out_to,"h:mm A"):null)};i.useEffect(()=>{c&&le()},[c,p,m,A,C]);const ue=()=>{n.current?.reset?.(),le()},oe=()=>{const we=new FormData(n.current??void 0),Ae=Object.fromEntries(we.entries());Ae.weekly_off_day=u.map(Re=>Re?.value).filter(Boolean);const Fe=new Blob([JSON.stringify(Ae,null,2)],{type:"application/json"}),me=URL.createObjectURL(Fe),de=document.createElement("a");de.href=me,de.download="organization-setting.json",de.click(),URL.revokeObjectURL(me)},Ce=i.useMemo(()=>[{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>n.current?.requestSubmit?.()},{key:"update",label:"Update",icon:e.jsx(ee.SyncOutlined,{}),onClick:()=>n.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:ue},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:oe,disabled:!c}],[c,u]),Ne=async we=>{we.preventDefault();try{const Ae=new FormData(we.target);Ae.set("currency",b?.value??""),Ae.set("code",x?.value??""),Ae.set("time_zone",k?.value??""),Ae.set("affliated_board_id",_?.value??""),Ae.set("board_name",_?.label??""),Ae.set("attendance_salary_calculation",S),Ae.set("salary_period",$),Ae.set("multiple_shift",T),Ae.set("readmission_charges",j),u.forEach(de=>{de?.value&&Ae.append("weekly_off_day[]",de.value)}),Ae.set("logo",I??""),Ae.set("json_file",W??""),Ae.set("server_key",y?.server_key??""),Ae.set("in_time_start",z?se(z).format("h:mm A"):""),Ae.set("in_time_end",X?se(X).format("h:mm A"):""),Ae.set("out_time_start",H?se(H).format("h:mm A"):""),Ae.set("out_time_end",ce?se(ce).format("h:mm A"):""),await xn(oa.save,Ae,t);const me={...JSON.parse(localStorage.getItem("genrall_settings")??"null")??{},logo:I||c?.logo||"",affliated_board_id:_?.value??c?.affliated_board_id??"",board_name:_?.label??c?.board_name??"",multiple_shift:T??c?.multiple_shift??""};localStorage.setItem("genrall_settings",JSON.stringify(me)),v.success("Organization settings saved.",{duration:1e3}),s.mutate?.()}catch(Ae){v.error(Ae?.response?.data?.msg??Ae?.message??"Failed to save settings.",{duration:1500})}},et=S==="Yes";return s.isLoading&&!s.data?e.jsx("div",{children:"Loading..."}):e.jsxs(e.Fragment,{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Xt,{title:"Organization",actions:Ce,children:e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Organization Details"}),children:e.jsxs("form",{ref:n,onSubmit:Ne,children:[e.jsxs("div",{style:fl,children:[e.jsx(V,{type:"text",name:"name",label:"Organization Name*",required:!0,defaultValue:c?.name??""}),e.jsxs("div",{children:[e.jsx(Z,{label:"Currency*",options:p,value:b,onChange:we=>f(we)}),e.jsx("input",{type:"hidden",name:"currency",value:b?.value??""})]}),e.jsxs("div",{children:[e.jsx(Z,{label:"Default Country Code*",options:m,value:x,onChange:we=>R(we)}),e.jsx("input",{type:"hidden",name:"code",value:x?.value??""})]}),e.jsxs("div",{children:[e.jsx(Z,{label:"Time Zone*",options:A,value:k,onChange:we=>O(we)}),e.jsx("input",{type:"hidden",name:"time_zone",value:k?.value??""})]}),e.jsx(V,{type:"text",name:"admission_prefix",label:"Receipt Prefix*",required:!0,defaultValue:c?.admission_prefix??""}),e.jsx(V,{type:"number",name:"admission_start_number",label:"Admission Start Number*",required:!0,defaultValue:c?.admission_no_prefix??c?.admission_start_number??""}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Re-admission Charges"}),e.jsx(a.Radio.Group,{options:yl,optionType:"button",buttonStyle:"solid",value:j,onChange:we=>P(we.target.value)}),e.jsx("input",{type:"hidden",name:"readmission_charges",value:j})]}),e.jsxs("div",{children:[e.jsx(Z,{label:"Weekly off Day",options:zx,isMulti:!0,value:u,onChange:we=>h(we??[])}),u.map(we=>e.jsx("input",{type:"hidden",name:"weekly_off_day[]",value:we.value},we.value))]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"In Time Start*"}),e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm A",value:z,onChange:we=>ne(we),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"in_time_start",value:z?se(z).format("h:mm A"):""})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"In Time End*"}),e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm A",value:X,onChange:we=>J(we),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"in_time_end",value:X?se(X).format("h:mm A"):""})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Out Time Start*"}),e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm A",value:H,onChange:we=>Q(we),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"out_time_start",value:H?se(H).format("h:mm A"):""})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Out Time End*"}),e.jsx(a.TimePicker,{use12Hours:!0,format:"h:mm A",value:ce,onChange:we=>De(we),style:{width:"100%"}}),e.jsx("input",{type:"hidden",name:"out_time_end",value:ce?se(ce).format("h:mm A"):""})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Salary Period"}),e.jsx(a.Radio.Group,{options:gl,optionType:"button",buttonStyle:"solid",value:$,onChange:we=>q(we.target.value)}),e.jsx("input",{type:"hidden",name:"salary_period",value:$})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Salary Deduction"}),e.jsx(a.Radio.Group,{options:yl,optionType:"button",buttonStyle:"solid",value:S,onChange:we=>E(we.target.value)}),e.jsx("input",{type:"hidden",name:"attendance_salary_calculation",value:S})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Multiple Shift"}),e.jsx(a.Radio.Group,{options:gl,optionType:"button",buttonStyle:"solid",value:T,onChange:we=>F(we.target.value)}),e.jsx("input",{type:"hidden",name:"multiple_shift",value:T})]}),et?e.jsx(V,{type:"number",name:"late_absent_day",label:"No of Late",defaultValue:c?.late_absent_day??""}):e.jsx("input",{type:"hidden",name:"late_absent_day",value:""})]}),e.jsx(a.Divider,{}),e.jsxs("div",{style:fl,children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Logo Upload"}),e.jsx(a.Upload,{action:`${at()}/uploadfile.php`,name:"file",data:{filepath:`uploads/school_${Uo(t)}/schoolFile`},headers:{Authorization:t},maxCount:1,accept:"image/*",onChange:we=>{if(we.file.status==="removed"&&N(""),we.file.status==="done"){const Ae=we.file.response?.data??we.file.response?.file??"";N(String(Ae??""))}},children:e.jsx("div",{style:{cursor:"pointer",fontSize:12,color:"#1677ff"},children:I?"Change":"Upload"})}),I&&e.jsxs("div",{style:{marginTop:8,display:"flex",alignItems:"center",gap:8},children:[e.jsx("a",{style:{fontSize:12,color:"#1677ff",textDecoration:"underline",cursor:"pointer"},onClick:()=>{L(qx(I,t)),U(!0)},children:"View existing logo"}),e.jsx("a",{style:{fontSize:12,color:"#1677ff",textDecoration:"underline",cursor:"pointer"},onClick:()=>N(""),children:"Remove"})]}),e.jsx("input",{type:"hidden",name:"logo",value:I??""})]}),e.jsxs("div",{children:[e.jsx(Z,{label:"Select Affiliated Board",options:C,value:_,onChange:we=>D(we)}),e.jsx("input",{type:"hidden",name:"affliated_board_id",value:_?.value??""}),e.jsx("input",{type:"hidden",name:"board_name",value:_?.label??""})]}),e.jsx(gt,{label:"Address",name:"address",rows:3,defaultValue:c?.location_name??c?.address??""}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Json for Notification"}),e.jsx(en,{token:t,action:Mx(),value:W,accept:".json",onChange:we=>Y(we)}),e.jsx("input",{type:"hidden",name:"json_file",value:W??""})]})]}),e.jsx(a.Divider,{}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Save",color:"primary"})})]})})}),e.jsx(a.Modal,{open:B,onCancel:()=>{U(!1),L("")},footer:null,width:500,closable:!0,children:M?e.jsx("img",{src:M,alt:"Organization Logo",style:{width:"100%",maxHeight:"70vh",objectFit:"contain"}}):e.jsx(be,{children:"No logo found"})})]})}function Kx({token:t}){return e.jsx(Hx,{token:t})}const Zn=Qe.academicYear,Gx=({token:t,page:n=1,perPage:s=10})=>$o({baseUrl:Zn.table,token:t,page:n,perPage:s}),Jx={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},Qx=t=>Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:Array.isArray(t?.data?.data?.data)?t.data.data.data:[],Xx=(t,n=0)=>t?.pagination?.total_rows??t?.data?.pagination?.total_rows??t?.data?.data?.pagination?.total_rows??n;function Zx({token:t}){const[n,s]=i.useState({page:1,rowsPerPage:10}),[r,l]=i.useState(!1),[o,d]=i.useState(()=>{const u=se(),h=se().add(1,"year");return`${u.format("YYYY")}-${h.format("YYYY")}`}),[c,g]=i.useState(se()),[y,p]=i.useState(se().add(1,"year")),{isLoading:m,data:A,mutate:C}=Gx({token:t,page:n.page,perPage:n.rowsPerPage}),b=i.useMemo(()=>Qx(A),[A]),f=i.useMemo(()=>Xx(A,b.length),[A,b.length]),x=async()=>{if(!o){v.error("Session name is required.");return}if(y&&c&&se(y).isBefore(c)){v.error("End date must be after start date.");return}try{const u=new FormData;u.set("name",o),u.set("start_date",c?se(c).format("YYYY-MM-DD"):""),u.set("end_date",y?se(y).format("YYYY-MM-DD"):""),await xn(Zn.add,u,t),v.success("Academic year added.",{duration:1e3}),l(!1),C?.()}catch(u){v.error(u?.response?.data?.msg??u?.message??"Failed to add academic year.",{duration:1500})}},R=async u=>{try{const h=new FormData;h.set("session",String(u)),await Eo(Zn.setActive,h,t);const S=JSON.parse(localStorage.getItem("genrall_settings")??"null")??{};localStorage.setItem("genrall_settings",JSON.stringify({...S,session_id:String(u)})),v.success("Academic year activated.",{duration:1e3}),C?.()}catch(h){v.error(h?.response?.data?.msg??h?.message??"Failed to activate academic year.",{duration:1500})}},k=async u=>{try{await C(fr(Zn.remove,u,t)),v.success("Academic year deleted.",{duration:1e3})}catch(h){v.error(h?.response?.data?.msg??h?.message??"Failed to delete academic year.",{duration:1500})}},O=()=>{const u=new Blob([JSON.stringify(b,null,2)],{type:"application/json"}),h=URL.createObjectURL(u),S=document.createElement("a");S.href=h,S.download="academic-years.json",S.click(),URL.revokeObjectURL(h)},_=i.useMemo(()=>[{key:"add",label:"Add",icon:e.jsx(ee.PlusOutlined,{}),onClick:()=>l(!0)},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:()=>C?.()},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:O,disabled:b.length===0}],[b.length,C]),D=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name"},{title:"Start Date",dataIndex:"start_date",key:"start_date"},{title:"End Date",dataIndex:"end_date",key:"end_date"},{title:"Active",key:"active",render:(u,h)=>{const S=h.status==="Active";return e.jsxs("span",{children:[e.jsx(a.Popconfirm,{title:S?"Deactivate Academic Year?":"Activate Academic Year?",description:S?"Deactivate is not allowed. Activate another session to switch.":"This will set this year as the current academic session.",onConfirm:()=>{S?v.error("Deactivate is not allowed. Activate another session to switch."):R(h.id)},okText:"Yes",cancelText:"No",children:e.jsx(a.Switch,{checked:S})}),S&&e.jsx(a.Tag,{color:"green",style:{marginLeft:8},children:"Active"})]})}},{title:"Action",key:"action",render:(u,h)=>e.jsx(a.Popconfirm,{title:"Delete academic year?",description:"This will remove the session.",onConfirm:()=>k(h.id),okText:"Yes",cancelText:"No",children:e.jsx(a.Button,{type:"link",danger:!0,children:"Delete"})})}],[t,b.length]);return e.jsxs(e.Fragment,{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Xt,{title:"Academic Year",actions:_,children:e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Sessions"}),children:e.jsx(a.Table,{rowKey:"id",dataSource:b,columns:D,loading:m,pagination:{current:n.page,pageSize:n.rowsPerPage,total:f,showSizeChanger:!0,onChange:(u,h)=>s({page:u,rowsPerPage:Number(h)})}})})}),e.jsx(a.Modal,{open:r,onCancel:()=>l(!1),footer:null,title:"Add Academic Year",children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{style:Jx,children:[e.jsx(V,{label:"Session Name*",value:o,onChange:u=>d(u.target.value)}),e.jsxs("div",{children:[e.jsx(He,{Desplay:"Start Date*",value:c,onChange:u=>g(u),format:"YYYY-MM-DD"}),e.jsx("input",{type:"hidden",value:c?se(c).format("YYYY-MM-DD"):""})]}),e.jsxs("div",{children:[e.jsx(He,{Desplay:"End Date*",value:y,onChange:u=>p(u),format:"YYYY-MM-DD"}),e.jsx("input",{type:"hidden",value:y?se(y).format("YYYY-MM-DD"):""})]})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:10},children:[e.jsx(ie,{value:"Submit",type:"button",onClick:x}),e.jsx(a.Button,{onClick:()=>l(!1),children:"Cancel"})]})]})})]})}function eb({token:t}){return e.jsx(Zx,{token:t})}const Bo=Qe.feeReceiptSetting,tb=({token:t})=>Dt({url:Bo.get,token:t}),Ls={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:16,alignItems:"start"},ab=t=>t?Array.isArray(t?.data)?t.data[0]??null:Array.isArray(t?.data?.data)?t.data.data[0]??null:Array.isArray(t)?t[0]??null:t?.data?.data?.[0]??null:null;function nb({token:t}){const n=i.useRef(null),s=tb({token:t}),r=i.useMemo(()=>ab(s.data),[s.data]),[l,o]=i.useState(""),[d,c]=i.useState(!1),[g,y]=i.useState(!1),[p,m]=i.useState(!1),[A,C]=i.useState("0"),[b,f]=i.useState("0"),[x,R]=i.useState("0"),[k,O]=i.useState(!1),[_,D]=i.useState(!1),[u,h]=i.useState(""),[S,E]=i.useState("0"),[$,q]=i.useState("0"),[T,F]=i.useState("0"),[j,P]=i.useState(""),[I,N]=i.useState(!1),W=()=>{o(r?.number_of_receipt??""),c(String(r?.roll_number??"0")==="1"),y(String(r?.address??"0")==="1"),m(String(r?.gardian_name??"0")==="1"),C(String(r?.authorized_signatory??"0")),f(String(r?.parent_signatory??"0")),R(String(r?.dynamic_qr_code_device??"0")),O(String(r?.sequence_payment??"0")==="1"),D(String(r?.previois_fees??"0")==="1"),h(r?.title??""),E(String(r?.class_id??"0")),q(String(r?.discount??"0")),F(String(r?.sections??"0")),P(r?.upfront_payment_months??"")};i.useEffect(()=>{r&&W()},[r]);const Y=()=>{n.current?.reset?.(),W()},B=()=>{const L={number_of_receipt:l,rollnumber:d?1:0,address:g?1:0,gardianname:p?1:0,authorizedsignatory:A,parentsignatory:b,dynamic_qr_code_device:x,sequence_payment:k?1:0,previois_fees:_?1:0,upfront_payment_months:j,title:u,class_id:S,discount:$,sections:T},z=new Blob([JSON.stringify(L,null,2)],{type:"application/json"}),ne=URL.createObjectURL(z),X=document.createElement("a");X.href=ne,X.download="fee-receipt-setting.json",X.click(),URL.revokeObjectURL(ne)},U=i.useMemo(()=>[{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>n.current?.requestSubmit?.()},{key:"update",label:"Update",icon:e.jsx(ee.SyncOutlined,{}),onClick:()=>n.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:Y},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:B,disabled:!r}],[r,l,d,g,p,A,b,x,k,_,j,u,S,$,T]),M=async L=>{L.preventDefault(),N(!0);try{const z=new FormData;z.set("number_of_receipt",String(l??"")),z.set("rollnumber",d?"1":"0"),z.set("address",g?"1":"0"),z.set("gardianname",p?"1":"0"),z.set("authorizedsignatory",String(A??"0")),z.set("parentsignatory",String(b??"0")),z.set("dynamic_qr_code_device",String(x??"0")),z.set("sequence_payment",k?"1":"0"),z.set("previois_fees",_?"1":"0"),z.set("upfront_payment_months",String(j??"")),z.set("title",String(u??"")),z.set("class_id",String(S??"0")),z.set("discount",String($??"0")),z.set("sections",String(T??"0")),await xn(Bo.save,z,t),v.success("Fee receipt settings updated.",{duration:1e3}),s.mutate?.()}catch(z){v.error(z?.response?.data?.msg??z?.message??"Failed to update settings.",{duration:1500})}finally{N(!1)}};return s.isLoading&&!s.data?e.jsx("div",{children:"Loading..."}):e.jsxs(e.Fragment,{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Xt,{title:"Fee Receipt Setting",actions:U,children:e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Settings Form"}),children:e.jsxs("form",{ref:n,onSubmit:M,children:[e.jsxs("div",{style:Ls,children:[e.jsx(V,{type:"number",name:"number_of_receipt",label:"Number Of Receipt",value:l,onChange:L=>o(L.target.value)}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Roll Number"}),e.jsx(a.Checkbox,{checked:d,onChange:L=>c(L.target.checked),children:"Show Roll Number in Fees Receipt"})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Address"}),e.jsx(a.Checkbox,{checked:g,onChange:L=>y(L.target.checked),children:"Show address in Fees Receipt"})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Guardian Name"}),e.jsx(a.Checkbox,{checked:p,onChange:L=>m(L.target.checked),children:"Show Guardian Name in Fees Receipt"})]})]}),e.jsx(a.Divider,{}),e.jsxs("div",{style:Ls,children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Authorized Signatory"}),e.jsxs(a.Radio.Group,{value:A,onChange:L=>C(L.target.value),children:[e.jsx(a.Radio,{value:"1",children:"Enable"}),e.jsx(a.Radio,{value:"0",children:"Disable"})]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Parent Signatory"}),e.jsxs(a.Radio.Group,{value:b,onChange:L=>f(L.target.value),children:[e.jsx(a.Radio,{value:"1",children:"Enable"}),e.jsx(a.Radio,{value:"0",children:"Disable"})]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Dynamic QR Code Device"}),e.jsxs(a.Radio.Group,{value:x,onChange:L=>R(L.target.value),children:[e.jsx(a.Radio,{value:"1",children:"Enable"}),e.jsx(a.Radio,{value:"0",children:"Disable"})]})]})]}),e.jsx(a.Divider,{}),e.jsxs("div",{style:Ls,children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Sequence Payment"}),e.jsx(a.Checkbox,{checked:k,onChange:L=>O(L.target.checked),children:"Student can pay in sequence"})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Previous Fees"}),e.jsx(a.Checkbox,{checked:_,onChange:L=>D(L.target.checked),children:"Previous Fees Carry Over to Next Year"})]}),e.jsx(V,{type:"text",name:"title",label:"Title",value:u,onChange:L=>h(L.target.value)}),e.jsxs("div",{style:{display:"none"},children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Class"}),e.jsxs(a.Radio.Group,{value:S,onChange:L=>E(L.target.value),children:[e.jsx(a.Radio,{value:"1",children:"Enable"}),e.jsx(a.Radio,{value:"0",children:"Disable"})]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Discount"}),e.jsxs(a.Radio.Group,{value:$,onChange:L=>q(L.target.value),children:[e.jsx(a.Radio,{value:"1",children:"Enable"}),e.jsx(a.Radio,{value:"0",children:"Disable"})]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Sections"}),e.jsxs(a.Radio.Group,{value:T,onChange:L=>F(L.target.value),children:[e.jsx(a.Radio,{value:"1",children:"Enable"}),e.jsx(a.Radio,{value:"0",children:"Disable"})]})]}),e.jsx(V,{type:"number",name:"upfront_payment_months",label:"Max Advance Payment (Months)",value:j,onChange:L=>P(L.target.value)})]}),e.jsx(a.Divider,{}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:I?"Updating...":"Done",disabled:I})})]})})})]})}function sb({token:t}){return e.jsx(nb,{token:t})}const sn=Qe.marksheetSetting,rb=({token:t})=>Dt({url:sn.templateTypes,token:t}),ib=({token:t})=>Dt({url:sn.classDropdown,token:t}),lb=({token:t})=>Dt({url:sn.assignedTable,token:t}),ob={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:20,alignItems:"end"},xl=t=>t?Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:Array.isArray(t?.data?.data?.data)?t.data.data.data:[]:[],db=Array.from({length:12},(t,n)=>({value:String(n+1),label:`Design ${n+1}`})),cb=t=>t?Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:Array.isArray(t)?t:[]:[];function ub({token:t}){const n=i.useRef(null),s=rb({token:t}),r=ib({token:t}),l=lb({token:t}),o=i.useMemo(()=>xl(s.data),[s.data]),d=i.useMemo(()=>xl(r.data),[r.data]),c=i.useMemo(()=>cb(l.data),[l.data]),[g,y]=i.useState(null),[p,m]=i.useState(null),[A,C]=i.useState([]),b=()=>{n.current?.reset?.(),y(null),m(null),C([])},f=()=>{const _=new Blob([JSON.stringify(c,null,2)],{type:"application/json"}),D=URL.createObjectURL(_),u=document.createElement("a");u.href=D,u.download="marksheet-templates.json",u.click(),URL.revokeObjectURL(D)},x=i.useMemo(()=>[{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>n.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:b},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:f,disabled:c.length===0}],[c.length]),R=async _=>{if(_.preventDefault(),!g?.value){v.error("Select marksheet type.",{duration:1200});return}if(!p?.value){v.error("Select design.",{duration:1200});return}if(!A?.length){v.error("Select at least one class.",{duration:1200});return}try{const D=new FormData;D.set("temp_id",String(g.value)),D.set("ui_id",String(p.value)),A.forEach(u=>D.append("class_id[]",String(u))),await xn(sn.assign,D,t),v.success("Marksheet template assigned.",{duration:1e3}),l.mutate?.(),b()}catch(D){v.error(D?.response?.data?.msg??D?.message??"Failed to assign template.",{duration:1500})}},k=async _=>{try{await fr(sn.remove,_,t),v.success("Template removed.",{duration:1e3}),l.mutate?.()}catch(D){v.error(D?.response?.data?.msg??D?.message??"Failed to remove template.",{duration:1500})}},O=i.useMemo(()=>[{title:"Class",dataIndex:"class",key:"class"},{title:"Template Name",dataIndex:"name",key:"name"},{title:"Template Design",dataIndex:"ui_id",key:"ui_id"},{title:"Action",key:"action",render:(_,D)=>e.jsx(wt,{id:D?.id,funcName:k})}],[t]);return e.jsxs(e.Fragment,{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Xt,{title:"Marksheet Setting",actions:x,children:e.jsxs("div",{style:{display:"grid",gap:20,gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))"},children:[e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Assign Template"}),children:e.jsxs("form",{ref:n,onSubmit:R,children:[e.jsxs("div",{style:ob,children:[e.jsxs("div",{children:[e.jsx(Z,{label:"Select Marksheet Type",options:o,value:g,onChange:_=>y(_)}),e.jsx("input",{type:"hidden",name:"temp_id",value:g?.value??""})]}),e.jsxs("div",{children:[e.jsx(Z,{label:"Select Design",options:db,value:p,onChange:_=>m(_)}),e.jsx("input",{type:"hidden",name:"ui_id",value:p?.value??""})]})]}),e.jsx(a.Divider,{}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:8},children:"Class"}),e.jsx(a.Checkbox.Group,{options:d,value:A,onChange:_=>C(_)})]}),e.jsx(a.Divider,{}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Save"})})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Marksheet List"}),children:e.jsx(a.Table,{size:"small",rowKey:"id",columns:O,dataSource:c,pagination:!1})})]})})]})}function pb({token:t}){return e.jsx(ub,{token:t})}const qs={fetch:`${Qe.legalPages.get}?page_name=terms`,save:Qe.legalPages.termsSave,fieldName:"terms_data"};function mb({token:t}){return e.jsx(yr,{token:t,title:"Terms",fetchUrl:qs.fetch,saveUrl:qs.save,fieldName:qs.fieldName})}function hb({token:t}){return e.jsx(mb,{token:t})}const zs={fetch:`${Qe.legalPages.get}?page_name=privacy`,save:Qe.legalPages.privacySave,fieldName:"privacy_data"};function fb({token:t}){return e.jsx(yr,{token:t,title:"Privacy",fetchUrl:zs.fetch,saveUrl:zs.save,fieldName:zs.fieldName})}function yb({token:t}){return e.jsx(fb,{token:t})}const Ys={fetch:`${Qe.legalPages.get}?page_name=about_us`,save:Qe.legalPages.aboutSave,fieldName:"about_data"};function gb({token:t}){return e.jsx(yr,{token:t,title:"About",fetchUrl:Ys.fetch,saveUrl:Ys.save,fieldName:Ys.fieldName})}function xb({token:t}){return e.jsx(gb,{token:t})}const gr=Qe.feesInfo,bb=({token:t})=>Dt({url:gr.get,token:t}),jb=({token:t})=>Dt({url:gr.statesDropdown,token:t}),Sb=(t,n)=>{const s=String(t??""),r=String(n??"");return s?r?s.endsWith("/")&&r.startsWith("/")?`${s}${r.slice(1)}`:!s.endsWith("/")&&!r.startsWith("/")?`${s}/${r}`:`${s}${r}`:s:r},tn=t=>{const n=qt(t);if(n)return n;try{return JSON.parse(localStorage.getItem("genrall_settings")??"null")?.fk_branchID??JSON.parse(localStorage.getItem("Userdata")??"null")?.branch_id??""}catch{return""}},No=(t,n,s)=>{const r=`${t||""}`.trim();if(!r)return"";if(/^https?:\/\//i.test(r))return r;const l=tn(n),o=r.startsWith("/")?r.slice(1):r;return Sb(at(),`uploads/school_${l}/${s}/${o}`)},Ws={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},vb=t=>t?Array.isArray(t?.data)?t.data[0]??null:Array.isArray(t?.data?.data)?t.data.data[0]??null:Array.isArray(t)?t[0]??null:t?.data?.data?.[0]??null:null,wb=t=>t?Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:[]:[],_b=(t,n)=>t?No(t,n,"schoolFile"):"",Vs=(t,n)=>t?No(t,n,"schoolFile"):"";function Cb({token:t}){const n=i.useRef(null),s=bb({token:t}),r=jb({token:t}),l=i.useMemo(()=>vb(s.data),[s.data]),o=i.useMemo(()=>wb(r.data),[r.data]),[d,c]=i.useState(null),[g,y]=i.useState(""),[p,m]=i.useState(""),[A,C]=i.useState(""),[b,f]=i.useState(""),x=u=>{const h=new FormData(u),S=Object.fromEntries(h.entries());return S.state_id=d?.value??"",S.fees_receipt_logo=g,S.manager_signature=p,S.principal_signature=A,S.stamp=b,S},R=()=>{c(o.find(u=>String(u?.value)===String(l?.fk_state_id??l?.state_id??l?.country_code??""))??null),y(l?.logo??l?.fees_receipt_logo??""),m(l?.manager_signature??""),C(l?.principal_signature??""),f(l?.stamp??"")};i.useEffect(()=>{l&&R()},[l,o]);const k=()=>{n.current?.reset?.(),R()},O=()=>{const u=x(n.current),h=new Blob([JSON.stringify(u,null,2)],{type:"application/json"}),S=URL.createObjectURL(h),E=document.createElement("a");E.href=S,E.download="fees-info.json",E.click(),URL.revokeObjectURL(S)},_=i.useMemo(()=>[{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>n.current?.requestSubmit?.()},{key:"update",label:"Update",icon:e.jsx(ee.SyncOutlined,{}),onClick:()=>n.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:k},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:O,disabled:!l}],[l,d,g,p,A,b]),D=async u=>{u.preventDefault();try{const h=x(u.target);await Tx(gr.save,h,t),v.success("Fees info saved.",{duration:1e3}),s.mutate?.()}catch(h){v.error(h?.response?.data?.msg??h?.message??"Failed to save fees info.",{duration:1500})}};return s.isLoading&&!s.data?e.jsx("div",{children:"Loading..."}):e.jsxs(e.Fragment,{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Xt,{title:"Fees Info",actions:_,children:e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"School Information"}),children:e.jsxs("form",{ref:n,onSubmit:D,children:[e.jsxs("div",{style:Ws,children:[e.jsx(V,{name:"Bussiness_name",label:"Business Name*",defaultValue:l?.name??"",required:!0}),e.jsx(V,{name:"cin",label:"Sub Heading",defaultValue:l?.cin??""}),e.jsx(V,{name:"school_no",type:"number",label:"School Number",defaultValue:l?.school_no??""}),e.jsx(V,{name:"website",label:"Website",defaultValue:l?.website??""}),e.jsx(V,{name:"school_Code",label:"School Code",defaultValue:l?.school_Code??""}),e.jsx(V,{name:"offical_number",label:"Official Number",defaultValue:l?.offical_number??""}),e.jsx(V,{name:"email_id",label:"Email",defaultValue:l?.email_id??""}),e.jsx(V,{name:"receipt_prefix",label:"Receipt Prefix",defaultValue:l?.admission_prefix??l?.receipt_prefix??""}),e.jsx(V,{name:"recipt_start_number",type:"number",label:"Receipt Start Number",defaultValue:l?.admission_no_prefix??l?.admission_start_number??l?.recipt_start_number??""}),e.jsxs("div",{children:[e.jsx(Z,{label:"State",options:o,value:d,onChange:c}),e.jsx("input",{type:"hidden",name:"state_id",value:d?.value??""})]}),e.jsx(V,{name:"affiliation_no",label:"Affiliation Number",defaultValue:l?.affiliation_no??""}),e.jsx(V,{name:"affiliation_desc",label:"Affiliation Description",defaultValue:l?.affiliation_desc??l?.affliated_description??""}),e.jsx(V,{name:"udise_code",label:"UDISE Code",defaultValue:l?.udise_code??""}),e.jsx(V,{name:"color_code",label:"Primary Color",defaultValue:l?.color_code??""}),e.jsx(V,{name:"fontcolor_code",label:"Font Color",defaultValue:l?.fontcolor_code??""})]}),e.jsx(a.Divider,{}),e.jsxs("div",{style:Ws,children:[e.jsx(gt,{name:"Bussiness_address",rows:3,label:"Business Address",defaultValue:l?.Bussiness_address??l?.bussiness_address??l?.address??l?.location_name??""}),e.jsx(gt,{name:"note",rows:3,label:"Note",defaultValue:l?.note??""})]}),e.jsx(a.Divider,{}),e.jsxs("div",{style:Ws,children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Fees Receipt Logo"}),e.jsx(en,{token:t,action:`${at()}/uploadfile.php`,data:{filepath:`uploads/school_${tn(t)}/schoolFile`},value:g,previewUrl:_b(g,t),accept:"image/*",onChange:y}),e.jsx("input",{type:"hidden",name:"fees_receipt_logo",value:g})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Manager Signature"}),e.jsx(en,{token:t,action:`${at()}/uploadfile.php`,data:{filepath:`uploads/school_${tn(t)}/schoolFile`},value:p,previewUrl:Vs(p,t),accept:"image/*",onChange:m}),e.jsx("input",{type:"hidden",name:"manager_signature",value:p})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Principal Signature"}),e.jsx(en,{token:t,action:`${at()}/uploadfile.php`,data:{filepath:`uploads/school_${tn(t)}/schoolFile`},value:A,previewUrl:Vs(A,t),accept:"image/*",onChange:C}),e.jsx("input",{type:"hidden",name:"principal_signature",value:A})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:"Stamp"}),e.jsx(en,{token:t,action:`${at()}/uploadfile.php`,data:{filepath:`uploads/school_${tn(t)}/schoolFile`},value:b,previewUrl:Vs(b,t),accept:"image/*",onChange:f}),e.jsx("input",{type:"hidden",name:"stamp",value:b})]})]}),e.jsx(a.Divider,{}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Save"})})]})})})]})}function Ab({token:t}){return e.jsx(Cb,{token:t})}const es=Qe.payrollSettings,Db=({token:t,page:n=1,perPage:s=10})=>$o({baseUrl:es.table,token:t,page:n,perPage:s}),Tb={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},Ka=[{value:"Allowances",label:"Allowances"},{value:"Dedection",label:"Dedection"}],Hs=[{value:"Flat",label:"Flat"},{value:"Percentage",label:"Percentage"}],Rb=t=>Array.isArray(t)?t:Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.data)?t.data.data:[],Ib=(t,n=0)=>t?.pagination?.total_rows??t?.data?.pagination?.total_rows??t?.data?.data?.pagination?.total_rows??n;function kb({token:t}){const n=i.useRef(null),s=i.useRef(null),[r,l]=i.useState({page:1,rowsPerPage:10}),[o,d]=i.useState(!1),[c,g]=i.useState(null),[y,p]=i.useState(Ka[0]),[m,A]=i.useState(null),[C,b]=i.useState(null),[f,x]=i.useState(null),[R,k]=i.useState(!1),[O,_]=i.useState(!1),D=Db({token:t,page:r.page,perPage:r.rowsPerPage}),u=i.useMemo(()=>Rb(D.data),[D.data]),h=i.useMemo(()=>Ib(D.data,u.length),[D.data,u.length]),S=async P=>{P.preventDefault(),_(!0);try{const I=new FormData(P.target);I.set("type",y?.value??""),I.set("amount_type",m?.value??""),await xn(es.add,I,t),v.success("Payroll setting added.",{duration:1e3}),D.mutate?.(),P.target.reset(),A(null),p(Ka[0])}catch(I){v.error(I?.response?.data?.msg??I?.message??"Failed to add payroll setting.",{duration:1500})}finally{_(!1)}},E=P=>{g(P),b(Ka.find(I=>I.value===P?.type)??null),x(Hs.find(I=>I.value===P?.amount_type)??null),d(!0)},$=async P=>{P.preventDefault(),k(!0);try{const I=new FormData(P.target);I.set("id",String(c?.id??"")),I.set("type",C?.value??""),I.set("amount_type",f?.value??""),await Eo(es.edit,I,t),v.success("Payroll setting updated.",{duration:1e3}),d(!1),D.mutate?.()}catch(I){v.error(I?.response?.data?.msg??I?.message??"Failed to update payroll setting.",{duration:1500})}finally{k(!1)}},q=async P=>{try{await fr(es.remove,P,t),v.success("Payroll setting deleted.",{duration:1e3}),D.mutate?.()}catch(I){v.error(I?.response?.data?.msg??I?.message??"Failed to delete payroll setting.",{duration:1500})}},T=()=>{const P=new Blob([JSON.stringify(u,null,2)],{type:"application/json"}),I=URL.createObjectURL(P),N=document.createElement("a");N.href=I,N.download="payroll-settings.json",N.click(),URL.revokeObjectURL(I)},F=i.useMemo(()=>[{key:"add",label:"Add",icon:e.jsx(ee.PlusOutlined,{}),onClick:()=>n.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:()=>D.mutate?.()},{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>n.current?.requestSubmit?.()},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:T,disabled:u.length===0}],[u.length]),j=i.useMemo(()=>[{title:"Title",dataIndex:"title",key:"title"},{title:"Type",dataIndex:"type",key:"type"},{title:"Amount Type",dataIndex:"amount_type",key:"amount_type"},{title:"Amount",dataIndex:"Amount",key:"Amount"},{title:"Action",key:"action",render:(P,I)=>e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsx(a.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>E(I)}),e.jsx(a.Popconfirm,{title:"Delete payroll setting?",onConfirm:()=>q(I.id),children:e.jsx(a.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{})})})]})}],[t]);return e.jsxs(e.Fragment,{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Xt,{title:"Payroll Settings",actions:F,children:e.jsxs("div",{style:{display:"grid",gap:20,gridTemplateColumns:"minmax(320px, 420px) 1fr"},children:[e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Add Allowances / Deductions"}),children:e.jsxs("form",{ref:n,onSubmit:S,children:[e.jsxs("div",{style:Tb,children:[e.jsx(V,{name:"title",label:"Title",required:!0}),e.jsxs("div",{children:[e.jsx(Z,{label:"Type",options:Ka,value:y,onChange:p}),e.jsx("input",{type:"hidden",name:"type",value:y?.value??""})]}),e.jsxs("div",{children:[e.jsx(Z,{label:"Amount Type",options:Hs,value:m,onChange:A}),e.jsx("input",{type:"hidden",name:"amount_type",value:m?.value??""})]}),e.jsx(V,{name:"Amount",type:"number",label:"Amount",required:!0})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:20},children:e.jsx(ie,{type:"submit",value:O?"Adding...":"Submit",disabled:O,loading:O})})]})}),e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Payroll Settings List"}),children:e.jsx(a.Table,{rowKey:"id",columns:j,dataSource:u,loading:D.isLoading,pagination:{current:r.page,pageSize:r.rowsPerPage,total:h,showSizeChanger:!0,onChange:(P,I)=>l({page:P,rowsPerPage:Number(I)})}})})]})}),e.jsx(a.Drawer,{open:o,onClose:()=>d(!1),title:"Edit Payroll Setting",width:420,destroyOnClose:!0,footer:e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[e.jsx(a.Button,{onClick:()=>d(!1),disabled:R,children:"Cancel"}),e.jsx(ie,{type:"submit",value:R?"Updating...":"Update",disabled:R,loading:R,form:"payroll-edit-form"})]}),children:e.jsx(a.Spin,{spinning:R,tip:"Updating...",children:e.jsx("form",{id:"payroll-edit-form",ref:s,onSubmit:$,children:e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(V,{name:"title",label:"Title",required:!0,defaultValue:c?.title??""}),e.jsxs("div",{children:[e.jsx(Z,{label:"Type",options:Ka,value:C,onChange:b}),e.jsx("input",{type:"hidden",name:"type",value:C?.value??""})]}),e.jsxs("div",{children:[e.jsx(Z,{label:"Amount Type",options:Hs,value:f,onChange:x}),e.jsx("input",{type:"hidden",name:"amount_type",value:f?.value??""})]}),e.jsx(V,{name:"Amount",type:"number",label:"Amount",required:!0,defaultValue:c?.Amount??""})]})},c?.id??"new")})})]})}function Pb({token:t}){return e.jsx(kb,{token:t})}const Lo=Qe.paymentGateway,Ob=({token:t})=>Dt({url:Lo.get,token:t}),Mb=[{id:"Razorpay",title:"Razorpay",fields:["keyId","keySecret"]},{id:"PhonePe",title:"Pine Labs",fields:["merchantId","saltKey","saltIndex"]},{id:"Paytm",title:"HDFC",fields:["merchantId","merchantKey"]},{id:"SabPaisa",title:"SabPaisa",fields:["clientCode","transUserName","transUserPassword","authKey","authIV"]}],ea={Razorpay:{keyId:"",keySecret:"",isActive:!0},PhonePe:{merchantId:"",saltKey:"",saltIndex:"1",isActive:!1},Paytm:{merchantId:"",merchantKey:"",isActive:!1},SabPaisa:{clientCode:"",transUserName:"",transUserPassword:"",authKey:"",authIV:"",isActive:!1}},bl=t=>{const n=Array.isArray(t?.data)&&t.data[0]||Array.isArray(t?.data?.data)&&t.data.data[0]||Array.isArray(t)&&t[0]||null;if(!n?.data)return ea;try{const s=JSON.parse(n.data||"{}"),r=s?.data&&typeof s.data=="object"?s.data:s;return{Razorpay:{...ea.Razorpay,...r?.Razorpay??{}},PhonePe:{...ea.PhonePe,...r?.PhonePe??r?.PineLab??r?.PineLabs??{}},Paytm:{...ea.Paytm,...r?.Paytm??r?.HDFC??{}},SabPaisa:{...ea.SabPaisa,...r?.SabPaisa??{}}}}catch{return ea}};function Eb({token:t}){const n=i.useRef(null),s=Ob({token:t}),[r,l]=i.useState(ea);i.useEffect(()=>{s.data&&l(bl(s.data))},[s.data]);const o=(p,m,A)=>{l(C=>({...C,[p]:{...C[p],[m]:A}}))},d=()=>l(bl(s.data)),c=()=>{const p=new Blob([JSON.stringify(r,null,2)],{type:"application/json"}),m=URL.createObjectURL(p),A=document.createElement("a");A.href=m,A.download="payment-gateway-settings.json",A.click(),URL.revokeObjectURL(m)},g=i.useMemo(()=>[{key:"save",label:"Save",icon:e.jsx(ee.SaveOutlined,{}),onClick:()=>n.current?.requestSubmit?.()},{key:"update",label:"Update",icon:e.jsx(ee.SyncOutlined,{}),onClick:()=>n.current?.requestSubmit?.()},{key:"reset",label:"Reset",icon:e.jsx(ee.ReloadOutlined,{}),onClick:d},{key:"export",label:"Export",icon:e.jsx(ee.ExportOutlined,{}),onClick:c}],[r,s.data]),y=async p=>{p.preventDefault();try{await Fo(Lo.save,{data:r},t),v.success("Payment gateway settings saved.",{duration:1e3}),s.mutate?.()}catch(m){v.error(m?.response?.data?.msg??m?.message??"Failed to save gateway settings.",{duration:1500})}};return s.isLoading&&!s.data?e.jsx("div",{children:"Loading..."}):e.jsxs(e.Fragment,{children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsx(Xt,{title:"Payment Gateway",actions:g,children:e.jsxs("form",{ref:n,onSubmit:y,style:{display:"grid",gap:20},children:[Mb.map(p=>{const m=r[p.id]??{};return e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:p.title}),children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsxs("span",{style:{fontSize:14,fontWeight:500},children:["Enable ",p.title]}),e.jsx(a.Switch,{checked:!!m.isActive,onChange:A=>o(p.id,"isActive",A)})]}),e.jsx(a.Divider,{style:{margin:0}}),e.jsx("div",{style:{display:"grid",gap:16,gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))"},children:p.fields.map(A=>e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,color:"#222",marginBottom:6},children:A}),e.jsx(a.Input,{value:m[A]??"",type:A.toLowerCase().includes("secret")||A.toLowerCase().includes("password")?"password":"text",onChange:C=>o(p.id,A,C.target.value)})]},A))})]})},p.id)}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsx(ie,{type:"submit",value:"Save"})})]})})]})}function Fb({token:t}){return e.jsx(Eb,{token:t})}const $b="{{student_name}} {{parent_name}} {{amount}} {{date}} {{time}} {{id}} {{school_name}} {{date_time}}",Sa=t=>{const n=t?.data?.data??t?.data??t??[];return Array.isArray(n)?n:[]};function Ub({token:t}){const[n,s]=i.useState("1"),[r,l]=i.useState(""),[o,d]=i.useState(""),[c,g]=i.useState(""),[y,p]=i.useState(""),[m,A]=i.useState(""),[C,b]=i.useState([]),[f,x]=i.useState(""),[R,k]=i.useState(""),[O,_]=i.useState(""),[D,u]=i.useState([]),[h,S]=i.useState({label:"",value:""}),[E,$]=i.useState(!1),[q,T]=i.useState(""),[F,j]=i.useState([]),[P,I]=i.useState([]),[N,W]=i.useState(!1),{data:Y}=K(t?[Qe.smsCompose.templateDropdown,t]:null,([me,de])=>G(me,de)),B=i.useMemo(()=>Sa(Y).map(de=>({label:de.name??de.title??"",value:String(de.id??de.value??""),template_body:de.template_body??de.body??""})),[Y]),{data:U}=K(t?[Qe.smsCompose.roleDropdown,t]:null,([me,de])=>G(me,de)),M=i.useMemo(()=>Sa(U).map(de=>({label:de.role_name??de.name??de.label??"",value:String(de.id??de.role_id??de.value??"")})),[U]),L=i.useMemo(()=>[{label:"Student",value:"Student"},...M],[M]),{data:z}=K(t?[Qe.smsCompose.classDropdown,t]:null,([me,de])=>G(me,de)),ne=i.useMemo(()=>Sa(z).map(de=>({label:de.class_name??de.name??de.label??"",value:String(de.id??de.class_id??de.value??""),...de})),[z]),X=i.useMemo(()=>q?`${Qe.smsCompose.sectionByClass}?class_id=${encodeURIComponent(q)}`:null,[q]),{data:J}=K(t&&X?[X,t]:null,([me,de])=>G(me,de)),H=i.useMemo(()=>Sa(J).map(de=>({label:de.section_name??de.name??de.label??"",value:String(de.id??de.section_id??de.value??""),...de})),[J]),Q=me=>{const de=ne.find(Re=>Re.value===me)||{label:"",value:me};S({label:de.label,value:de.value}),T(de.value),$(Re=>!Re),j([])},ce=()=>{if(!h.value||F.length===0)return;const me=P.find(Re=>Re.kind==="class"&&Re.class_id===h.value),de=F;if(me){const Re=Array.from(new Set([...me.section_ids,...de]));I(Be=>Be.map($e=>$e.kind==="class"&&$e.class_id===h.value?{...$e,section_ids:Re}:$e))}else I(Re=>[...Re,{kind:"class",label:`Class: ${h.label}`,class_id:h.value,class_label:h.label,section_ids:de}]);j([])},De=async me=>{if(A(me),!me){b([]);return}try{const de=`${Qe.smsCompose.staffSearch}?name=${encodeURIComponent(me)}&role=${encodeURIComponent(y)}`,Re=await G(de,t),Be=Sa(Re);b(Be.map($e=>({label:$e.staff_name??$e.name??$e.full_name??"",value:String($e.id??$e.staff_id??$e.employee_id??$e.value??""),...$e})))}catch{b([])}},le=(me,de)=>{P.find(Be=>Be.kind==="staff"&&Be.value===de.value)||I(Be=>[...Be,{kind:"staff",label:de.label,value:de.value,type:c}])},ue=async me=>{if(_(me),!me){u([]);return}try{const de=`${Qe.smsCompose.studentDropdown}?class=${encodeURIComponent(f)}§ion=${encodeURIComponent(R)}&name=${encodeURIComponent(me)}`,Re=await G(de,t),Be=Sa(Re);u(Be.map($e=>({label:$e.student_name??$e.name??"",value:String($e.roll_no??$e.roll??$e.value??""),id:String($e.id??$e.student_id??$e.value??""),...$e})))}catch{u([])}},oe=(me,de)=>{P.find(Be=>Be.kind==="student"&&Be.id===de.id)||I(Be=>[...Be,{kind:"student",label:de.label,value:de.value,id:de.id}])},Ce=me=>{I(de=>de.filter((Re,Be)=>Be!==me))},Ne=i.useMemo(()=>{if(!o)return[];const de=(o.match(/\{\{\s*[^{}]+\s*\}\}/g)||[]).map(Re=>Re.replace(/\s+/g,""));return Array.from(new Set(de))},[o]),et=async()=>{if(!r||P.length===0)return;const me=new FormData;me.append("is_individual",n==="1"?"1":"0"),me.append("is_class",n==="2"?"1":"0"),me.append("message",o),me.append("template_id",r),P.forEach((de,Re)=>{de.kind==="staff"?me.append("staff_ids[]",de.value):de.kind==="student"?me.append("student_ids[]",de.id):de.kind==="class"&&(me.append(`classArr[${Re}][class_id]`,de.class_id),de.section_ids.forEach(Be=>me.append(`classArr[${Re}][section_ids][]`,Be)))}),W(!0);try{const de=await Ca(Qe.smsCompose.sendMessage,me,t);de?.Status==="Success"?(a.message.success("SMS sent successfully!"),I([]),$(!1),S({label:"",value:""}),j([])):a.message.error(de?.msg??"Failed to send SMS")}catch(de){a.message.error(de?.message??"Failed to send SMS")}finally{W(!1)}},we=P.length,Ae=[{title:"Recipient",key:"label",render:(me,de)=>de.kind==="student"?e.jsxs(e.Fragment,{children:[e.jsx(a.Tag,{color:"blue",children:"Student"}),de.label]}):de.kind==="class"?e.jsxs(e.Fragment,{children:[e.jsx(a.Tag,{color:"purple",children:"Class"}),de.label," â ",de.section_ids.length," section(s)"]}):e.jsxs(e.Fragment,{children:[e.jsx(a.Tag,{color:"green",children:de.type||"Staff"}),de.label]})},{title:"Actions",key:"actions",render:(me,de,Re)=>e.jsx(a.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{}),onClick:()=>Ce(Re)})}],Fe=me=>{s(me),I([]),g(""),p(""),A(""),b([]),x(""),k(""),_(""),u([]),S({label:"",value:""}),$(!1),j([])};return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:e.jsxs(a.Space,{children:[e.jsx(ee.MailOutlined,{}),e.jsx("span",{children:"SMS Campaign Composer"})]})}),children:[e.jsx("div",{style:{marginBottom:16},children:e.jsxs(a.Typography.Text,{type:"secondary",children:["Available placeholders: ",e.jsx("code",{children:$b})]})}),e.jsx(a.Tabs,{size:"small",type:"card",value:n,onChange:Fe,items:[{key:"1",label:"Individual"},{key:"2",label:"Class"}]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:24},children:[e.jsx(a.Card,{size:"small",title:"Message Details",children:e.jsxs(a.Space,{direction:"vertical",size:16,style:{width:"100%"},children:[e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:14,fontWeight:500,marginBottom:6},children:"Choose Template*"}),e.jsx(a.Select,{style:{width:"100%"},placeholder:"Select a template",value:r||void 0,onChange:me=>{l(me);const de=B.find(Re=>Re.value===me);d(de?.template_body??"")},options:B,showSearch:!0,optionFilterProp:"label"}),B.length===0&&e.jsx(a.Typography.Text,{type:"secondary",style:{display:"block",marginTop:6},children:"No active templates available. Add one in SMS Alert Setting."})]}),e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:14,fontWeight:500,marginBottom:6},children:"Message*"}),e.jsx(a.Input.TextArea,{rows:5,value:o,readOnly:!0,placeholder:"Select a template to preview the message"})]}),Ne.length>0&&e.jsxs("div",{children:[e.jsx(a.Typography.Text,{strong:!0,style:{display:"block",marginBottom:8},children:"Available placeholders"}),e.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:Ne.map(me=>e.jsx(a.Tag,{color:"blue",children:me},me))}),e.jsx(a.Typography.Text,{type:"secondary",style:{display:"block",marginTop:6},children:"The server replaces these placeholders per recipient."})]})]})}),e.jsx(a.Card,{size:"small",title:"Recipient Selection",children:e.jsxs(a.Space,{direction:"vertical",size:16,style:{width:"100%"},children:[n==="1"&&e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:14,fontWeight:500,marginBottom:6},children:"Message To*"}),e.jsx(a.Select,{style:{width:"100%"},placeholder:"Select recipient type",value:c||void 0,onChange:me=>{g(me),p(me==="Student"?"Student":""),A(""),b([]),_(""),u([]),x(""),k("")},options:L}),c&&c!=="Student"&&e.jsx("div",{style:{marginTop:16},children:e.jsx(a.AutoComplete,{style:{width:"100%"},value:m,placeholder:`Search ${c} by name`,options:C,onSearch:De,onSelect:le,notFoundContent:m?"No staff found":""})}),c==="Student"&&e.jsxs("div",{style:{marginTop:16,display:"grid",gap:12},children:[e.jsx(a.Select,{placeholder:"Class",value:f||void 0,onChange:me=>{x(me),T(me),k(""),_(""),u([])},options:ne,showSearch:!0,optionFilterProp:"label"}),f&&e.jsx(a.Select,{placeholder:"Section",value:R||void 0,onChange:me=>{k(me),_(""),u([])},options:H}),f&&R&&e.jsx(a.AutoComplete,{placeholder:"Search student",value:O,options:D,onSearch:ue,onSelect:oe,notFoundContent:O?"No student found":""})]})]}),n==="2"&&e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:14,fontWeight:500,marginBottom:6},children:"Class*"}),e.jsx(a.Select,{style:{width:"100%"},placeholder:"Select class",value:h.value||void 0,onChange:Q,options:ne,showSearch:!0,optionFilterProp:"label"}),h.value&&H.length>0&&e.jsxs("div",{style:{marginTop:16},children:[e.jsx("label",{style:{display:"block",fontSize:14,fontWeight:500,marginBottom:6},children:"Sections"}),e.jsx(a.Select,{style:{width:"100%"},mode:"multiple",placeholder:"Select sections",value:F,onChange:j,options:H.map(me=>({label:me.label,value:me.value}))}),e.jsx(a.Button,{type:"primary",size:"small",style:{marginTop:8},onClick:ce,disabled:F.length===0,children:"Add Class Recipients"})]})]}),e.jsxs("div",{children:[e.jsxs(a.Typography.Text,{strong:!0,style:{display:"block",marginBottom:10},children:["Selected Recipients (",we,")"]}),e.jsx(a.Table,{bordered:!0,size:"small",columns:Ae,dataSource:P,rowKey:(me,de)=>`${me.kind}-${de}`,pagination:!1,scroll:{y:200},locale:{emptyText:"No recipients selected"}})]})]})})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:12,alignItems:"center"},children:[e.jsxs(a.Typography.Text,{type:"secondary",children:["Mode: ",n==="1"?"Individual":"Class"," | ",we," recipients selected"]}),e.jsx(ie,{type:"button",value:N?"Sending...":"Send SMS",color:"primary",onClick:et,disabled:N||!r||we===0})]})]})]})}const Ga=Qe.smsTemplates,Bb=Qe.smsGateway,Nb="{{student_name}} {{parent_name}} {{amount}} {{date}} {{time}} {{id}} {{school_name}} {{date_time}}";function Lb({token:t}){const[n,s]=i.useState(!1),[r,l]=i.useState(""),[o,d]=i.useState(!1),[c,g]=i.useState(""),[y,p]=i.useState(!1),[m,A]=i.useState(!1),[C,b]=i.useState([]),[f,x]=i.useState(!0),[R,k]=i.useState(1),[O]=i.useState(10),[_,D]=i.useState(""),[u,h]=i.useState(""),[S,E]=i.useState(""),[$,q]=i.useState({current_page:1,total_pages:1,total_rows:0}),[T,F]=i.useState(null),[j,P]=i.useState({name:!1,template_body:!1}),[I,N]=i.useState(!1),W=async()=>{try{const H=await G(Bb.get,t);if(H?.Status==="Success"){const Q=H?.data?.[0]??H?.data??null;if(!Q)return;l(Q.header??Q.header_key??""),g(Q.api_key??""),s(!0)}}catch(H){console.log(H)}},Y=async H=>{const Q={},ce={page:Q.page??R,perPage:Q.perPage??O,search:Q.search??u,status:Q.status??S},De=new URLSearchParams;De.set("page",ce.page),De.set("per_page",ce.perPage),ce.search&&De.set("search",ce.search),ce.status&&De.set("status",ce.status),x(!0);try{const le=await G(`${Ga.table}?${De.toString()}`,t);le?.Status==="Success"?(b(Array.isArray(le.data)?le.data:[]),q({current_page:le?.pagination?.current_page??1,total_pages:le?.pagination?.total_pages??1,total_rows:le?.pagination?.total_rows??(Array.isArray(le.data)?le.data.length:0)})):(b([]),q({current_page:1,total_pages:1,total_rows:0}),le?.msg==="Invalid page number"&&Number(ce.page)>1?k(1):le?.msg&&le.msg!=="No data found."&&v.error(le.msg,{duration:1500}))}catch(le){console.log(le),b([]),q({current_page:1,total_pages:1,total_rows:0}),v.error(le?.message??"Failed to load templates",{duration:1500})}finally{x(!1)}};i.useEffect(()=>{W()},[]),i.useEffect(()=>{Y()},[R,O,u,S]);const B=()=>{F({name:"",template_body:"",status:"Active"}),P({name:!1,template_body:!1})},U=H=>{F({id:H.id,name:H.name,template_body:H.template_body,status:H.status}),P({name:!1,template_body:!1})},M=()=>{F(null),P({name:!1,template_body:!1})},L=()=>{const H={name:!T?.name?.trim(),template_body:!T?.template_body?.trim()};return P(H),!H.name&&!H.template_body},z=async()=>{if(!(!T||!L())){N(!0);try{const H={name:T.name.trim(),template_body:T.template_body,status:T.status||"Active"},Q=T.id?Ga.edit:Ga.add;await Ca(Q,{id:T.id??"",...H},t),v.success(T.id?"Template updated!":"Template added!",{duration:1e3}),M(),Y()}catch(H){v.error(H?.message??"Failed to save template",{duration:1500})}finally{N(!1)}}},ne=async H=>{const Q=H.status==="Active"?"Deactive":"Active";try{const ce=await Ca(Ga.changeStatus,{id:H.id,status:Q},t);ce?.Status==="Success"?(v.success(`Template ${Q}`,{duration:1e3}),Y()):v.error(ce?.msg??"Failed to update status",{duration:1500})}catch(ce){v.error(ce?.message??"Failed to update status",{duration:1500})}},X=async H=>{if(window.confirm(`Delete template "${H.name}"?`))try{const Q=await Ze(Ga.delete,H.id,t);Q?.Status==="Success"?(v.success("Template deleted",{duration:1e3}),Y()):v.error(Q?.msg??"Failed to delete template",{duration:1500})}catch(Q){v.error(Q?.message??"Failed to delete template",{duration:1500})}},J=i.useMemo(()=>[{title:"Name",dataIndex:"name",key:"name",ellipsis:!0},{title:"Template Body",dataIndex:"template_body",key:"template_body",ellipsis:!0},{title:"Status",key:"status",width:140,render:(H,Q)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx(a.Tag,{color:Q?.status==="Active"?"green":"red",children:Q?.status??""}),e.jsx(a.Switch,{size:"small",checked:Q?.status==="Active",onChange:()=>ne(Q)})]})},{title:"Actions",key:"actions",width:120,render:(H,Q)=>e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsx(a.Button,{type:"text",icon:e.jsx(ee.EditOutlined,{}),onClick:()=>U(Q)}),e.jsx(a.Button,{type:"text",danger:!0,icon:e.jsx(ee.DeleteOutlined,{}),onClick:()=>X(Q)})]})}],[]);return e.jsxs("div",{style:{display:"grid",gap:20},children:[e.jsx(v.Toaster,{toastOptions:{position:"top-center"}}),e.jsxs(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"SMS Templates"}),children:[e.jsx("div",{style:{marginBottom:16},children:e.jsxs("div",{style:{fontSize:14,color:"#666",marginBottom:8},children:["Available placeholders: ",e.jsx("code",{children:Nb})]})}),T?e.jsxs(a.Card,{style:{borderRadius:8,border:"1px solid #B7D4FF",backgroundColor:"#F7FBFF",padding:16,marginBottom:16},children:[e.jsx(a.Typography.Title,{level:7,style:{margin:0,marginBottom:16},children:T.id?`Edit Template #${T.id}`:"New Template"}),e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:14,fontWeight:500,marginBottom:6},children:"Template Name*"}),e.jsx(a.Input,{maxLength:45,value:T.name,onChange:H=>F(Q=>({...Q,name:H.target.value})),status:j.name?"error":"",placeholder:"Template name"}),j.name&&e.jsx("div",{style:{color:"red",fontSize:12,marginTop:4},children:"Required field"})]}),e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:14,fontWeight:500,marginBottom:6},children:"Template Body*"}),e.jsx(a.Input.TextArea,{rows:4,value:T.template_body,onChange:H=>F(Q=>({...Q,template_body:H.target.value})),status:j.template_body?"error":"",placeholder:"Template body"}),j.template_body&&e.jsx("div",{style:{color:"red",fontSize:12,marginTop:4},children:"Required field"})]}),e.jsxs("div",{style:{display:"flex",gap:12,justifyContent:"flex-end"},children:[e.jsx(a.Button,{size:"small",onClick:M,disabled:I,children:"Cancel"}),e.jsx(a.Button,{size:"small",type:"primary",loading:I,onClick:z,children:I?"Saving...":"Save"})]})]})]}):e.jsx(a.Button,{icon:e.jsx(ee.PlusOutlined,{}),type:"primary",style:{marginBottom:16},onClick:B,children:"Add Template"}),e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12},children:[e.jsxs("div",{style:{display:"flex",gap:12},children:[e.jsx(a.Input,{placeholder:"Search by name or body",value:_,onChange:H=>D(H.target.value),onKeyDown:H=>{H.key==="Enter"&&(k(1),h(_.trim()))},style:{width:280}}),e.jsxs("select",{value:S,onChange:H=>{k(1),E(H.target.value)},style:{padding:"6px 12px",borderRadius:6,border:"1px solid #d9d9d9"},children:[e.jsx("option",{value:"",children:"All statuses"}),e.jsx("option",{value:"Active",children:"Active"}),e.jsx("option",{value:"Deactive",children:"Deactive"})]})]}),e.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[e.jsxs("span",{style:{fontSize:13,color:"#666"},children:["Page ",$.current_page," of ",Math.max($.total_pages,1)," - ",$.total_rows," total"]}),e.jsx(a.Button,{size:"small",onClick:()=>k(H=>Math.max(1,H-1)),disabled:$.current_page<=1||f,children:"Prev"}),e.jsx(a.Button,{size:"small",onClick:()=>k(H=>H+1),disabled:$.current_page>=$.total_pages||f,children:"Next"})]})]}),e.jsx(a.Table,{bordered:!0,size:"small",columns:J,dataSource:C,loading:f,rowKey:H=>H.id,pagination:!1,scroll:{x:"max-content"}})]})]})}const jl=Qe.smsDetails,Sl=t=>{try{const n=new URL(t.trim());return(n.protocol==="http:"||n.protocol==="https:")&&!!n.hostname}catch{return!1}};function qb({token:t}){const[n,s]=i.useState(!1),[r,l]=i.useState(!1),[o,d]=i.useState({api_key:!1,url:!1}),[c,g]=i.useState(!1),[y,p]=i.useState({api_key:"",url:"",header_key:""}),[m,A]=i.useState("");i.useEffect(()=>{C()},[]);const C=async()=>{try{const R=await Ca(jl.get,{},t);if(R?.Status==="Success"){const k=R?.data?.[0]??R?.data??null;if(!k){s(!1);return}p({api_key:"",url:k.url||"",header_key:k.header_key||""}),A(k.api_key||""),s(!0)}}catch(R){console.error("SMS settings fetch error:",R)}},b=R=>{const{name:k,value:O}=R.target;p(_=>({..._,[k]:O})),o[k]&&d(_=>({..._,[k]:!1}))},f=()=>{s(!1),p(R=>({...R,api_key:""})),g(!1)},x=async()=>{const R={api_key:!y.api_key.trim(),url:!y.url.trim()||!Sl(y.url)};if(d(R),!Object.values(R).some(Boolean)){l(!0);try{const O={api_key:y.api_key.trim(),url:y.url.trim(),header_key:y.header_key.trim()},_=await Ca(jl.save,O,t);_?.Status==="Success"?(a.message.success("Data Updated successfully!"),await C()):a.message.error(_?.msg??"Failed to update SMS settings")}catch(O){console.error("SMS settings save error:",O),a.message.error("Failed to update SMS settings.")}finally{l(!1)}}};return e.jsx("div",{style:{display:"grid",gap:20},children:e.jsx(a.Card,{title:e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"SMS Details Setting"}),children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:20,alignItems:"end"},children:[e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:14,fontWeight:500,marginBottom:6},children:"API Key"}),e.jsxs("div",{style:{position:"relative",display:"flex",alignItems:"flex-end"},children:[e.jsx(a.Input,{name:"api_key",value:n?"*****":y.api_key,onChange:b,disabled:n,status:o.api_key?"error":"",placeholder:"Enter API key",style:{paddingRight:n?40:0}}),n&&e.jsx(a.Button,{type:"text",icon:e.jsx(ee.EyeOutlined,{}),size:"small",style:{position:"absolute",right:4,padding:0,height:"auto"},onClick:()=>g(!c)})]}),n&&c&&e.jsx("div",{style:{marginTop:4,fontSize:12,wordBreak:"break-all"},children:m||"No key saved"}),o.api_key&&e.jsx("div",{style:{color:"red",fontSize:12,marginTop:4},children:"Required field"})]}),e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:14,fontWeight:500,marginBottom:6},children:"URL"}),e.jsx(a.Input,{name:"url",value:y.url,onChange:b,onBlur:()=>{y.url&&!Sl(y.url)&&d(R=>({...R,url:!0}))},disabled:n,status:o.url?"error":"",placeholder:"https://example.com"}),o.url&&e.jsx("div",{style:{color:"red",fontSize:12,marginTop:4},children:"Please enter a valid URL (e.g. https://example.com)"})]}),e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:14,fontWeight:500,marginBottom:6},children:"Header Key"}),e.jsx(a.Input,{name:"header_key",value:y.header_key,onChange:b,disabled:n,placeholder:"Enter header key"})]}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end",gap:12},children:n?e.jsx(a.Button,{type:"primary",onClick:f,children:"Edit"}):e.jsx(ie,{type:"button",value:r?"Saving...":"Save",color:"primary",onClick:x,disabled:r})})]})})})}const Zt=Qe.chat,zb=t=>Qe.getMessages(t),Yb=t=>Qe.getSendMessages(t),vl=t=>{try{return t?JSON.parse(t):null}catch{return null}},Wb=t=>/\.(jpg|jpeg|png|gif|webp|bmp|svg)$/i.test(t);function wl(t,n){if(!t)return"";try{const s=new URL(n),r=new URL(t,n);return(r.hostname==="localhost"||r.hostname==="127.0.0.1")&&(r.protocol=s.protocol,r.host=s.host),r.toString()}catch{return t}}function Vb(t){if(!t)return"";const n=new Date(t);return Number.isNaN(n.getTime())?"":n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function Hb(t){return t?.fromMe?"You":t?.senderName??t?.contactName??t?.senderJid??t?.chatJid??"Unknown"}function _l(t){return{phone:t?.phone??t?.mobile??t?.mobileno??t?.whatsapp_number??"",jid:t?.jid??t?.chatJid??t?.whatsapp_jid??t?.whatsapp_group_id??""}}const Kb=["ð","ð","ð","ð
","ð","ð","ð","ð","ðĒ","ð","ð","âĪïļ","ðĨ","ð"],Cl={people:["ð","ð","ð","ðĪĢ","ð","ð","ð","ð","ð","ð","ðĨ°","ð","ð","ð","ð","ð","ðĪŠ","ðĪ","ð","ðĪĐ","ðĨģ","ð","ð","ð","ð","ð"],nature:["ðš","ðŧ","ðķ","ðą","ð","ðđ","ð°","ðĶ","ðŧ","ðž","ðĻ","ðŊ","ðĶ","ðŪ","ð·","ðļ"],food:["ð","ð","ð","ðŋ","ð§","ð°","ð","ðŠ","ðŠ","ðŦ","ðŽ","ðĐ","ð","ð","ð"],activities:["â―","ð","ð","âū","ðū","ð","ð","ðą","ð","ðļ","ðĨ
","ð","ð","ðŊ","ðŊ"],travel:["âïļ","ð","ð","ð","ð","ð","ðïļ","ðē","ðģïļ","ðĒ","ð","ð"],objects:["ðą","ðŧ","ðš","ð","ð§","ð·","ðđ","ðū","ðŋ","ð ","ð ","ðĻïļ"],symbols:["â","ð","â
","â","â","â","ðī","ðĒ","ðĩ","âŠ","âŦ","ðķ"],flags:["ð","ðĐ","ð","ðī","ðģïļ"]},Gb={people:"People",nature:"Nature",food:"Food & Drink",activities:"Activities",travel:"Travel",objects:"Objects",symbols:"Symbols",flags:"Flags"};function qo({token:t}){const n=i.useMemo(()=>vl(localStorage.getItem("Userdata"))||{},[]),s=i.useMemo(()=>vl(localStorage.getItem("genrall_settings"))||{},[]),r=i.useMemo(()=>n?.branch_id??"",[n?.branch_id]),l=i.useMemo(()=>s?.session_id??"1",[s?.session_id]),o=Zt.whatsappBaseUrl,[d,c]=i.useState("teacher"),[g,y]=i.useState({}),[p,m]=i.useState(""),[A,C]=i.useState(""),[b,f]=i.useState([]),[x,R]=i.useState(!1),[k,O]=i.useState("people"),[_,D]=i.useState(""),[u,h]=i.useState(!1),[S,E]=i.useState(0),[$,q]=i.useState(!1),[T,F]=i.useState(!1),[j,P]=i.useState("Staff"),[I,N]=i.useState([]),[W,Y]=i.useState([]),[B,U]=i.useState(""),[M,L]=i.useState(null),z=i.useRef(null),ne=i.useRef(null),X=i.useRef(null),J=i.useRef(new Set),H=i.useRef(new Set),Q=i.useRef(""),[ce,De]=i.useState({}),{data:le}=K(t?[Zt.teacherDropdown,t]:null,([ae,pe])=>G(ae,pe)),ue=i.useMemo(()=>{const ae=le?.data?.data??le?.data??le??[];return Array.isArray(ae)?ae.map(pe=>({label:pe.staff_name??pe.name??pe.full_name??"",value:String(pe.id??pe.staff_id??pe.employee_id??pe.value??""),...pe})):[]},[le]),{data:oe}=K(t?[Zt.classDropdown,t]:null,([ae,pe])=>G(ae,pe)),Ce=i.useMemo(()=>{const ae=oe?.data?.data??oe?.data??oe??[];return Array.isArray(ae)?ae.map(pe=>({label:pe.class_name??pe.name??pe.label??"",value:String(pe.id??pe.class_id??pe.value??""),...pe})):[]},[oe]),{data:Ne}=K(M?[M,t]:null,([ae,pe])=>G(ae,pe)),et=i.useMemo(()=>{const ae=Ne?.data?.data??Ne?.data??Ne??[];return Array.isArray(ae)?ae.map(pe=>({label:pe.section_name??pe.name??pe.label??"",value:String(pe.id??pe.section_id??pe.value??""),...pe})):[]},[Ne]),{data:we}=K(t?[`${Zt.groupList}?type=staff`,t]:null,([ae,pe])=>G(ae,pe)),{data:Ae}=K(t?[`${Zt.groupList}?type=student`,t]:null,([ae,pe])=>G(ae,pe)),Fe=d==="teacher"?Array.isArray(we?.data)?we.data:[]:Array.isArray(Ae?.data)?Ae.data:[];i.useEffect(()=>{if(!Fe||Fe.length===0){m("");return}Fe.some(ae=>ae.id===p)||m(Fe[0].id)},[Fe,p]);const me=Fe.find(ae=>ae.id===p)??Fe[0]??null,de=me?.id??null,Re=me?g[me.id]??[]:[],Be=async ae=>{const{jid:pe}=_l(ae);if(pe)try{const Pe=`${zb(o)}?schoolCode=${encodeURIComponent(r)}&chatJid=${encodeURIComponent(pe)}`,Ee=await Xe.get(Pe),it=Array.isArray(Ee?.data?.messages)?Ee.data.messages:[];y(lt=>({...lt,[ae.id]:it.map(ft=>({...ft,fromMe:ft.direction==="outbound",text:ft.body||""}))}))}catch(Pe){const Ee=Pe?.response?.data?.message||Pe?.message||"Failed to load messages.";message.error(Ee)}};i.useEffect(()=>{!de||g[de]||Be(me)},[g,me,de]);const $e=ae=>{y(pe=>{const Pe={...pe},Ee=Pe[p]??[];return Pe[p]=[...Ee,{id:Date.now(),fromMe:!0,text:ae}],Pe})},ge=(ae="smooth")=>{if(typeof X.current?.scrollIntoView=="function"){X.current.scrollIntoView({behavior:ae,block:"end"});return}ne.current&&(ne.current.scrollTop=ne.current.scrollHeight)},_e=()=>{const ae=ne.current;return ae?ae.scrollHeight-ae.scrollTop-ae.clientHeight:0},ve=()=>{const ae=_e()<100;h(!ae),ae&&E(0)};i.useEffect(()=>{Q.current="",h(!1),E(0);const ae=globalThis.setTimeout(()=>{ge("auto"),ve()},0);return()=>globalThis.clearTimeout(ae)},[de]),i.useEffect(()=>{const ae=Re[Re.length-1];if(!ae)return;const pe=`${ae.id}-${ae.createdAt||""}-${Re.length}`,Pe=Q.current,Ee=_e()<100;if(!Pe||Ee||ae.fromMe){const it=globalThis.setTimeout(()=>{ge(Pe?"smooth":"auto"),ve()},0);return Q.current=pe,()=>globalThis.clearTimeout(it)}Pe!==pe&&!ae.fromMe&&(h(!0),E(it=>it+1)),Q.current=pe},[Re]);const[re,xe]=i.useState({});i.useEffect(()=>{const ae=Re.filter(Ee=>Ee?.messageType==="image"&&Ee?.mediaUrl&&!ce[Ee.id]&&!re[Ee.id]);if(ae.length===0)return;let pe=!1;return(async()=>{for(const Ee of ae){const it=wl(Ee.mediaUrl,o);try{const lt=await Xe.get(it,{responseType:"blob"}),ft=URL.createObjectURL(lt.data);H.current.add(ft),pe||De(he=>({...he,[Ee.id]:ft}))}catch{pe||xe(lt=>({...lt,[Ee.id]:it}))}}})(),()=>{pe=!0}},[Re,ce,re,o]);const je=()=>{f(ae=>(ae.forEach(pe=>{pe?.previewUrl&&(URL.revokeObjectURL(pe.previewUrl),J.current.delete(pe.previewUrl))}),[]))},Le=ae=>{f(pe=>{const Pe=[...pe],[Ee]=Pe.splice(ae,1);return Ee?.previewUrl&&(URL.revokeObjectURL(Ee.previewUrl),J.current.delete(Ee.previewUrl)),Pe})};i.useEffect(()=>()=>{J.current.forEach(ae=>URL.revokeObjectURL(ae)),J.current.clear(),H.current.forEach(ae=>URL.revokeObjectURL(ae)),H.current.clear()},[]);const qe=ae=>{if(!ae||ae.length===0)return;const pe=ae.filter(Boolean).filter(Pe=>Pe.type?.startsWith("image/")||Pe.type==="application/pdf").map(Pe=>{const Ee=Pe.type?.startsWith("image/")?URL.createObjectURL(Pe):"";return Ee&&J.current.add(Ee),{file:Pe,name:Pe.name||"Attachment",previewUrl:Ee,type:Pe.type||""}});f(Pe=>[...Pe,...pe])},fe=({url:ae,trimmedMessage:pe,attachments:Pe,schoolCode:Ee,sessionId:it,phone:lt,jid:ft})=>{if(Pe.length>0){const Te=new FormData;return Te.append(Ee?"schoolCode":"sessionId",Ee||it),Te.append(lt?"phone":"jid",lt||ft),Te.append("queue","false"),pe&&Te.append("text",pe),Pe.forEach(Ke=>{Te.append("file",Ke.file)}),Xe.post(ae,Te,{headers:{"Content-Type":"multipart/form-data"}})}const he={text:pe,queue:!1,[Ee?"schoolCode":"sessionId"]:Ee||it,[lt?"phone":"jid"]:lt||ft};return Xe.post(ae,he,{headers:{"Content-Type":"application/json"}})},Ie=({selectedItem:ae,trimmedMessage:pe,attachments:Pe,schoolCode:Ee,sessionId:it,phone:lt,jid:ft})=>!pe&&Pe.length===0||!ae?{shouldProceed:!1,message:""}:!Ee&&!it?{shouldProceed:!1,message:"School code or session id is required."}:!lt&&!ft?{shouldProceed:!1,message:"Phone or jid is required for the selected chat."}:{shouldProceed:!0,message:""},Je=async()=>{const ae=A.trim(),{phone:pe,jid:Pe}=_l(me),Ee=Ie({selectedItem:me,trimmedMessage:ae,attachments:b,schoolCode:r,sessionId:l,phone:pe,jid:Pe});if(!Ee.shouldProceed){Ee.message&&message.error(Ee.message);return}try{await fe({url:`${Yb(o)}`,trimmedMessage:ae,attachments:b,schoolCode:r,sessionId:l,phone:pe,jid:Pe}),$e(ae),C(""),je(),R(!1),message.success("Message sent.")}catch(it){const lt=it?.response?.data?.message||it?.message||"Failed to send message.";message.error(lt)}},mt=[{value:"Staff",label:"Staff"},{value:"Class",label:"Class"}],Et=async ae=>{ae.preventDefault(),F(!0);const pe=new FormData(ae.target);pe.append("session_id",l),pe.set("type",j),j==="Staff"?Array.isArray(I)&&I.forEach(Pe=>{Pe!=null&&Pe!==""&&pe.append("staff_id[]",Pe)}):(B!=null&&B!==""&&pe.set("class_id",B),Array.isArray(W)&&W.forEach(Pe=>{Pe!=null&&Pe!==""&&pe.append("section_id[]",Pe)}));try{await Oc(Zt.groupCreate,pe,t)?(message.success("Group created successfully!"),q(!1),N([]),Y([]),U("")):message.error("Failed to create group.")}catch{message.error("Failed to create group.")}finally{F(!1)}ae.target.reset()},Tt=()=>q(!1),ye=ae=>{C(pe=>pe+ae),R(!1)},ke=(g[me?.id]??[]).slice(-1)[0]?.text??"No messages";return e.jsxs("div",{style:{height:"100%",overflow:"hidden",display:"flex",flexDirection:"column"},children:[e.jsx(a.Modal,{title:"Create Group",footer:null,open:$,onCancel:Tt,children:e.jsx("form",{onSubmit:Et,children:e.jsxs("div",{style:{display:"grid",gap:16},children:[e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:14,fontWeight:500,marginBottom:6},children:"Group Name*"}),e.jsx(a.Input,{name:"name",type:"text",required:!0})]}),e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:14,fontWeight:500,marginBottom:6},children:"Type*"}),e.jsx(a.Select,{value:j,onChange:P,options:mt,style:{width:"100%"}})]}),j==="Staff"?e.jsx(a.Select,{mode:"multiple",label:"Staff",options:ue,closeMenuOnSelect:!0,value:I,onChange:N,placeholder:"Select staff"}):e.jsxs(e.Fragment,{children:[e.jsx(a.Select,{label:"Class",options:Ce,closeMenuOnSelect:!0,value:B||void 0,onChange:ae=>{U(ae),L(`${Zt.sectionByClass}?class_id=${ae}`),Y([])},placeholder:"Select class"}),e.jsx(a.Select,{mode:"multiple",label:"Section",options:et.map(ae=>({label:ae.label,value:ae.value})),placeholder:"Select sections",value:W,onChange:Y})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:12},children:[e.jsx(a.Button,{onClick:Tt,children:"Cancel"}),e.jsx(a.Button,{type:"primary",htmlType:"submit",loading:T,children:"Create"})]})]})})}),e.jsxs("div",{style:{flex:1,overflow:"hidden",display:"grid",gridTemplateColumns:"350px 1fr"},children:[e.jsxs("div",{style:{borderRight:"1px solid #e0e0e0",display:"flex",flexDirection:"column"},children:[e.jsxs("div",{style:{padding:"10px 16px",borderBottom:"1px solid #eee",display:"flex",gap:8,justifyContent:"space-between",alignItems:"center"},children:[e.jsxs(a.Space,{children:[e.jsx(a.Button,{type:d==="teacher"?"primary":"default",onClick:()=>c("teacher"),children:"Teacher"}),e.jsx(a.Button,{type:d==="class"?"primary":"default",onClick:()=>c("class"),children:"Student"})]}),e.jsx(a.Button,{type:"primary",onClick:()=>q(!0),children:"Create Group"})]}),e.jsx("div",{style:{flex:1,overflowY:"auto"},children:Fe.map(ae=>{const pe=p===ae.id;return e.jsxs("div",{onClick:()=>m(ae.id),style:{display:"flex",alignItems:"center",gap:8,padding:"12px 16px",cursor:"pointer",backgroundColor:pe?"#f5f9ff":"transparent",borderBottom:"1px solid #f0f0f0"},children:[e.jsx("div",{style:{width:36,height:36,borderRadius:"50%",backgroundColor:"#e0e0e0",display:"flex",alignItems:"center",justifyContent:"center",fontSize:14,fontWeight:"bold",color:"#555"},children:(ae.group_name||ae.name||"?").charAt(0)}),e.jsxs("div",{style:{flex:1,minWidth:0},children:[e.jsx(a.Typography.Text,{strong:!0,style:{display:"block"},children:ae.group_name||ae.name||""}),e.jsx(a.Typography.Text,{type:"secondary",style:{fontSize:12,display:"block"},children:ke})]})]},ae.id)})})]}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[e.jsxs("div",{style:{padding:"10px 16px",borderBottom:"1px solid #eee",display:"flex",gap:8,alignItems:"center"},children:[e.jsx("div",{style:{width:36,height:36,borderRadius:"50%",backgroundColor:"#e0e0e0",display:"flex",alignItems:"center",justifyContent:"center",fontSize:14,fontWeight:"bold",color:"#555"},children:(me?.group_name||"?").charAt(0)}),e.jsxs("div",{children:[e.jsx(a.Typography.Text,{strong:!0,style:{display:"block"},children:me?.group_name||"Select a chat"}),e.jsx(a.Typography.Text,{type:"secondary",style:{fontSize:11},children:d==="teacher"?"Teacher":"Class"})]})]}),e.jsxs("div",{ref:ne,onScroll:ve,style:{flex:1,minHeight:0,padding:"12px 16px",overflowY:"auto",backgroundColor:"#f7f8fa"},children:[Re.length===0?e.jsx(a.Typography.Text,{type:"secondary",children:"No messages yet"}):Re.map((ae,pe)=>e.jsx("div",{style:{display:"flex",justifyContent:ae.fromMe?"flex-end":"flex-start",marginBottom:16},children:e.jsxs("div",{style:{maxWidth:"75%",padding:"10px 14px",borderRadius:12,backgroundColor:ae.fromMe?"#d1e7ff":"#ffffff",border:"1px solid #e6e6e6"},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:4,marginBottom:ae.text?6:0},children:[e.jsx(a.Typography.Text,{style:{fontSize:12,fontWeight:500,color:"#555"},children:Hb(ae)}),e.jsx(a.Typography.Text,{style:{fontSize:11,color:"#999"},children:Vb(ae.createdAt)})]}),(ae.text||ae.body)&&e.jsx(a.Typography.Text,{style:{display:"block",fontSize:14},children:ae.text||ae.body}),ae.messageType==="image"&&(ae.mediaUrl||ae?._data?.body)&&(ce[ae.id]?e.jsx("img",{alt:"Chat attachment",src:ce[ae.id],style:{marginTop:8,width:180,maxWidth:"100%",borderRadius:8,border:"1px solid #ddd"}}):re[ae.id]?e.jsx("img",{alt:"Chat attachment",src:re[ae.id],style:{marginTop:8,width:180,maxWidth:"100%",borderRadius:8,border:"1px solid #ddd"}}):ae.mediaUrl?e.jsx("img",{alt:"Chat attachment",src:wl(ae.mediaUrl,o),style:{marginTop:8,width:180,maxWidth:"100%",borderRadius:8,border:"1px solid #ddd"}}):null)]})},ae.id??pe)),e.jsx("div",{ref:X})]}),u?e.jsx(a.Button,{onClick:()=>{ge("smooth"),h(!1),E(0)},style:{position:"absolute",right:16,bottom:b.length>0?160:80,minWidth:44,width:44,height:44,borderRadius:"50%",backgroundColor:"#fff",color:"#1976d2",border:"1px solid #d9e3f0",boxShadow:"0 6px 18px rgba(0,0,0,0.14)",zIndex:3},"aria-label":"Scroll to bottom",children:e.jsxs("div",{style:{position:"relative",display:"flex",alignItems:"center"},children:[e.jsx(ee.DownOutlined,{}),S>0?e.jsx("span",{style:{position:"absolute",top:-12,right:-18,minWidth:18,height:18,borderRadius:999,background:"#f44336",color:"#fff",fontSize:10,lineHeight:"18px",padding:"0 5px",textAlign:"center",fontWeight:700},children:S}):null]})}):null,e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:4,borderTop:"1px solid #eee",backgroundColor:"#fff",borderRadius:9999,width:"100%",flexShrink:0,padding:"8px 8px 8px 12px",boxSizing:"border-box"},onDragOver:ae=>ae.preventDefault(),onDrop:ae=>{ae.preventDefault();const pe=Array.from(ae.dataTransfer?.files||[]);qe(pe)},children:[e.jsx("input",{type:"file",multiple:!0,ref:z,style:{display:"none"},accept:"image/*,application/pdf",capture:"environment",onChange:ae=>{const pe=Array.from(ae.target.files||[]);qe(pe),ae.target.value=""}}),e.jsx(a.Button,{type:"text",onClick:()=>z.current?.click(),style:{minWidth:0,width:38,height:38,borderRadius:"50%"},"aria-label":"Attach",icon:e.jsx(ee.PlusOutlined,{})}),e.jsx(a.Button,{type:"text",onClick:()=>R(!x),style:{minWidth:0,width:38,height:38,borderRadius:"50%"},"aria-label":"Emoji",icon:e.jsx(ee.SmileOutlined,{})}),e.jsx(a.Input,{placeholder:"Type a message",value:A,onChange:ae=>C(ae.target.value),onPaste:ae=>{const Pe=Array.from(ae.clipboardData?.items||[]).filter(Ee=>Ee.kind==="file").map(Ee=>Ee.getAsFile()).filter(Boolean);Pe.length&&qe(Pe)},style:{flex:1,borderRadius:9999},onPressEnter:Je}),e.jsx(a.Button,{type:"primary",onClick:Je,disabled:!A.trim()&&b.length===0||!me,style:{minWidth:0,width:40,height:40,borderRadius:"50%",backgroundColor:"#25D366",border:"none"},"aria-label":"Send",icon:e.jsx(ee.SendOutlined,{})})]}),x&&e.jsx("div",{style:{borderTop:"1px solid #eee",display:"flex",flexWrap:"wrap",gap:2,padding:"6px 8px",maxHeight:180,overflowY:"auto"},children:Kb.map((ae,pe)=>e.jsx("button",{type:"button",onClick:()=>ye(ae),style:{fontSize:20,background:"none",border:"none",cursor:"pointer",padding:2},children:ae},pe))}),x&&e.jsxs("div",{style:{borderTop:"1px solid #eee",padding:"8px",maxHeight:200,overflowY:"auto"},children:[e.jsx("div",{style:{fontSize:12,color:"#666",marginBottom:6},children:Gb[k]}),e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(8, 1fr)",gap:2},children:(_.trim()?Object.values(Cl).flat().filter(ae=>ae.toLowerCase().includes(_.toLowerCase())):Cl[k]).map((ae,pe)=>e.jsx("button",{type:"button",onClick:()=>ye(ae),style:{fontSize:20,background:"none",border:"none",cursor:"pointer",padding:2,textAlign:"center"},children:ae},`emoji-${ae}-${pe}`))})]}),b.length>0&&e.jsx("div",{style:{borderTop:"1px solid #eee",display:"flex",flexWrap:"wrap",gap:8,padding:8},children:b.map((ae,pe)=>ae?.previewUrl||Wb(ae?.name||"")?e.jsxs("div",{style:{position:"relative"},children:[e.jsx("img",{alt:"Attachment preview",src:ae.previewUrl,style:{width:80,height:80,objectFit:"cover",borderRadius:6,border:"1px solid #eee"}}),e.jsx(a.Button,{type:"text",danger:!0,onClick:()=>Le(pe),style:{position:"absolute",top:0,right:0,minWidth:0,padding:"2px 6px"},icon:e.jsx(ee.DeleteOutlined,{})})]},pe):e.jsxs("div",{style:{padding:"4px 8px",borderRadius:6,border:"1px solid #ddd",backgroundColor:"#fafafa",fontSize:12,display:"flex",alignItems:"center",gap:6},children:[ae?.name||"Attachment",e.jsx(a.Button,{type:"text",danger:!0,onClick:()=>Le(pe),style:{minWidth:0,padding:"2px 6px"},icon:e.jsx(ee.DeleteOutlined,{})})]},pe))})]})]})]})}function Jb({token:t}){return e.jsx("div",{style:{display:"grid",gap:20,height:"calc(100vh - 140px)"},children:e.jsx(a.Card,{title:e.jsxs(a.Space,{children:[e.jsx(ee.MailOutlined,{}),e.jsx(a.Typography.Title,{level:5,style:{margin:0},children:"Send Whatsapp Message"})]}),style:{height:"100%",display:"flex",flexDirection:"column",overflow:"hidden"},children:e.jsx("div",{style:{flex:1,minHeight:0,overflow:"hidden",padding:24},children:e.jsx(qo,{token:t})})})})}const Qb=({routes:t=[],onNavigate:n})=>e.jsx(a.Row,{gutter:[16,16],children:t.map((s,r)=>e.jsx(a.Col,{xs:24,md:8,lg:8,children:e.jsx(w,{children:e.jsx(Tl,{icon:s?.icon??"",title:s?.title??"",path:s?.path??"",onClick:n})})},`${r}route001`))});exports.About=xb;exports.AcademicYear=eb;exports.Academics=og;exports.AddBook=Tm;exports.AddDriver=bm;exports.AddExpense=Hy;exports.AddHomework=Cm;exports.AddIncome=Uy;exports.AddStaff=Xh;exports.AdmissionEnquiry=Qu;exports.ApplyLeave=$f;exports.AprroveLeaveRequest=If;exports.AssignByClass=Eg;exports.AssignStudentSubject=rg;exports.AssignStudentToTransport=xm;exports.AssignSubjects=Pg;exports.AssignTimeGroup=zg;exports.AssignVehicles=dm;exports.AttendanceDashboard=jy;exports.BookList=Rm;exports.BulkUpload=lg;exports.BuySellProduct=ph;exports.Category=th;exports.Chat=Jb;exports.ChatBar=qo;exports.Class=jg;exports.CoScholasticArea=Qg;exports.Complain=Gp;exports.CreateTimeGroup=Ug;exports.DailyAttendance=Cy;exports.Department=zf;exports.Designation=Vf;exports.DownloadExpense=Xy;exports.ErpDashboard=Vo;exports.ExpenseHead=tg;exports.FeeReceiptSetting=sb;exports.FeesInfo=Ab;exports.GatePass=rm;exports.GeneralSetting=wx;exports.Holidays=Tg;exports.IncomeHead=Ly;exports.IssueReturn=km;exports.LeaveType=Nf;exports.LibraryAssignStudent=Pm;exports.LibraryCategory=Om;exports.LibraryRenewalReport=Em;exports.LibraryReport=Mm;exports.ManageStock=Ch;exports.MarksheetSetting=pb;exports.MedicalReport=ng;exports.MenuSubmenu=Ou;exports.MonthlyReport=Ty;exports.Notes=ax;exports.NpmReport=kh;exports.Organization=Kx;exports.PaymentGateway=Fb;exports.Payroll=Cf;exports.PayrollReceiptDetails=sy;exports.PayrollSettings=Pb;exports.PhoneCallLog=Dp;exports.PostalDispatch=Op;exports.PostalReceive=Bp;exports.Privacy=yb;exports.Products=Qm;exports.PromoteStudents=Hg;exports.RoutePage=Qb;exports.RouteTimeTable=jm;exports.SearchExpense=Zy;exports.SearchIncome=By;exports.Sections=fg;exports.SellReports=vh;exports.SetupFrontOffice=am;exports.Shift=Gf;exports.Sms=Ub;exports.SmsAlertSetting=Lb;exports.SmsSetting=qb;exports.StaffAttendance=yf;exports.StaffAttendanceReport=jf;exports.StaffDailyAttendance=ty;exports.StaffDirectory=nf;exports.StockReport=Ih;exports.Stoppage=vm;exports.StudentAttendance=vy;exports.StudentLoginCredential=ag;exports.SubCategory=lh;exports.Subjects=_g;exports.SubmissionDetails=Am;exports.Syllabus=ux;exports.Terms=hb;exports.TimeTable=vx;exports.TransferCertificate=lx;exports.TransportBulkUpload=wm;exports.TransportRoutes=im;exports.TransportVehicles=lm;exports.Unit=yh;exports.Vendor=zm;exports.VisitorBook=xp;exports.YearlyReport=Py;exports.getImageBaseUrl=at;exports.setBaseUrl=Rc;exports.setImageBaseUrl=Ic;
|