https://ozone-bes-os.vercel.app/_next/static/chunks/pages/liff/customer-approval-792ce2e1421e94b7.js
1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4356],{47643:(e,t,s)=>{"use strict";var r=s(99742);s(72552);var i=s(14232),a=i&&"object"==typeof i&&"default"in i?i:{default:i},n=void 0!==r&&r.env&&!0,d=function(e){return"[object String]"===Object.prototype.toString.call(e)},o=function(){function e(e){var t=void 0===e?{}:e,s=t.name,r=void 0===s?"stylesheet":s,i=t.optimizeForSpeed,a=void 0===i?n:i;l(d(r),"`name` must be a string"),this._name=r,this._deletedRulePlaceholder="#"+r+"-deleted-rule____{}",l("boolean"==typeof a,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=a,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var o=document.querySelector('meta[property="csp-nonce"]');this._nonce=o?o.getAttribute("content"):null}var t,s=e.prototype;return s.setOptimizeForSpeed=function(e){l("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),l(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},s.isOptimizeForSpeed=function(){return this._optimizeForSpeed},s.inject=function(){var e=this;if(l(!this._injected,"sheet already injected"),this._injected=!0,this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(n||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(t,s){return"number"==typeof s?e._serverSheet.cssRules[s]={cssText:t}:e._serverSheet.cssRules.push({cssText:t}),s},deleteRule:function(t){e._serverSheet.cssRules[t]=null}}},s.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]},s.getSheet=function(){return this.getSheetForTag(this._tags[this._tags.length-1])},s.insertRule=function(e,t){if(l(d(e),"`insertRule` accepts only strings"),this._optimizeForSpeed){var s=this.getSheet();"number"!=typeof t&&(t=s.cssRules.length);try{s.insertRule(e,t)}catch(t){return n||console.warn("StyleSheet: illegal rule: \n\n"+e+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),-1}}else{var r=this._tags[t];this._tags.push(this.makeStyleTag(this._name,e,r))}return this._rulesCount++},s.replaceRule=function(e,t){if(this._optimizeForSpeed){var s=this.getSheet();if(t.trim()||(t=this._deletedRulePlaceholder),!s.cssRules[e])return e;s.deleteRule(e);try{s.insertRule(t,e)}catch(r){n||console.warn("StyleSheet: illegal rule: \n\n"+t+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),s.insertRule(this._deletedRulePlaceholder,e)}}else{var r=this._tags[e];l(r,"old rule at index `"+e+"` not found"),r.textContent=t}return e},s.deleteRule=function(e){if(this._optimizeForSpeed)this.replaceRule(e,"");else{var t=this._tags[e];l(t,"rule at index `"+e+"` not found"),t.parentNode.removeChild(t),this._tags[e]=null}},s.flush=function(){this._injected=!1,this._rulesCount=0,this._tags.forEac
1h(function(e){return e&&e.parentNode.removeChild(e)}),this._tags=[]},s.cssRules=function(){var e=this;return this._tags.reduce(function(t,s){return s?t=t.concat(Array.prototype.map.call(e.getSheetForTag(s).cssRules,function(t){return t.cssText===e._deletedRulePlaceholder?null:t})):t.push(null),t},[])},s.makeStyleTag=function(e,t,s){t&&l(d(t),"makeStyleTag accepts only strings as second parameter");var r=document.createElement("style");this._nonce&&r.setAttribute("nonce",this._nonce),r.type="text/css",r.setAttribute("data-"+e,""),t&&r.appendChild(document.createTextNode(t));var i=document.head||document.getElementsByTagName("head")[0];return s?i.insertBefore(r,s):i.appendChild(r),r},t=[{key:"length",get:function(){return this._rulesCount}}],function(e,t){for(var s=0;s<t.length;s++){var r=t[s];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(e.prototype,t),e}();function l(e,t){if(!e)throw Error("StyleSheet: "+t+".")}var c=function(e){for(var t=5381,s=e.length;s;)t=33*t^e.charCodeAt(--s);return t>>>0},u={};function h(e,t){if(!t)return"jsx-"+e;var s=String(t),r=e+s;return u[r]||(u[r]="jsx-"+c(e+"-"+s)),u[r]}function m(e,t){var s=e+t;return u[s]||(u[s]=t.replace(/__jsx-style-dynamic-selector/g,e)),u[s]}var p=function(){function e(e){var t=void 0===e?{}:e,s=t.styleSheet,r=void 0===s?null:s,i=t.optimizeForSpeed,a=void 0!==i&&i;this._sheet=r||new o({name:"styled-jsx",optimizeForSpeed:a}),this._sheet.inject(),r&&"boolean"==typeof a&&(this._sheet.setOptimizeForSpeed(a),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var t=e.prototype;return t.add=function(e){var t=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer||(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,t){return e[t]=0,e},{}));var s=this.getIdAndRules(e),r=s.styleId,i=s.rules;if(r in this._instancesCounts){this._instancesCounts[r]+=1;return}var a=i.map(function(e){return t._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[r]=a,this._instancesCounts[r]=1},t.remove=function(e){var t=this,s=this.getIdAndRules(e).styleId;if(function(e,t){if(!e)throw Error("StyleSheetRegistry: "+t+".")}(s in this._instancesCounts,"styleId: `"+s+"` not found"),this._instancesCounts[s]-=1,this._instancesCounts[s]<1){var r=this._fromServer&&this._fromServer[s];r?(r.parentNode.removeChild(r),delete this._fromServer[s]):(this._indices[s].forEach(function(e){return t._sheet.deleteRule(e)}),delete this._indices[s]),delete this._instancesCounts[s]}},t.update=function(e,t){this.add(t),this.remove(e)},t.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},t.cssRules=function(){var e=this,t=this._fromServer?Object.keys(this._fromServer).map(function(t){return[t,e._fromServer[t]]}):[],s=this._sheet.cssRules();return t.concat(Object.keys(this._indices).map(function(t){return[t,e._indices[t].map(function(e){return s[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},t.styles=function(e){var t,s;return t=this.cssRules(),void 0===(s=e)&&(s={}),t.map(function(e){var t=e[0],r=e[1];return a.default.createElement("style",{id:"__"+t,key:"__"+t,nonce:s.nonce?s.nonce:void 0,dangerouslySetInnerHTML:{__html:r}})})},t.getIdAndRules=function(e){var t=e.children,s=e.dynamic,r=e.id;if(s){var i=h(r,s);return{styleId:i,rules:Array.isArray(t)?t.map(function(e){return m(i,e)}):[m(i,t)]}}return{styleId:h(r),rules:Array.isArray(t)?t:[t]}},t.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,t){return e[t.id.slice(2)]=t,e},{})},e}(),f=i.createContext(null);f.displayName="StyleSheetContext";var x=a.default.useInsertionEffect||a.default.useLayoutEffect,j=new p;function b(e){var t=j||i.useContext(f);return t&&x(function(){return t.add(e),function(){t.remove(e)}},[e.id,String(e.dynamic)]),null}b.dynamic=function(e){return e.map(function(e){return h(e[0],e[1])}).join(" ")},t.style=b},72552:()=>{},89224:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>h});var r=s(37876),i=s(94208),a=s.n(i),n=s(89099),d=s(14232);let o={requestId:"",reviewToken:""};function l(e){return"string"==typeof e?e.trim():""}function c(e){return!!(e.requestId&&e.reviewToken)}function u({value:e}){let t=Object.entries(e||{});return t.length?(0,r.jsx)("dl",{children:t.map(([e,t])=>(0,r.jsxs)("div",{children:[(0,r.jsx)("dt",{children:e}),(0,r.jsx)("dd",{children:"object"==typeof t?JSON.stringify(t):String(t)})]},e))}):(0,r.jsx)("p",{className:"muted",children:"No submitted data."})}function h(){var e;let t,s=(0,n.useRouter)(),[i,h]=(0,d.useState)(null),[m,p]=(0,d.useState)(""),[f,x]=(0,d.useState)(""),[j,b]=(0,d.useState)(""),[v,g]=(0,d.useState)(!0),{requestId:_,reviewToken:S}=c(t={requestId:l((e=s.query).requestId),reviewToken:l(e.reviewToken)})?t:function(e){if(!e||e.length>8192)return o;let t=e;for(let e=0;e<3;e+=1){let e=function(e){let t=e.indexOf("?"),s=t>
1=0?e.slice(t+1):e;if(s.startsWith("#")&&(s=s.slice(1)),!s||s.startsWith("/"))return o;let r=new URLSearchParams(s);return{requestId:(r.get("requestId")||"").trim(),reviewToken:(r.get("reviewToken")||"").trim()}}(t);if(c(e))return e;if(!t.includes("%"))break;try{let e=decodeURIComponent(t);if(e===t)break;t=e}catch{break}}return o}(l(e["liff.state"]));async function y(e){if(i&&m){if("APPROVE"!==e&&!f.trim())return void b("A reviewer note is required.");g(!0),b("");try{let t=await fetch(`/api/customer-approvals/${encodeURIComponent(i.id)}/action`,{method:"POST",headers:{"content-type":"application/json","x-line-id-token":m},body:JSON.stringify({action:e,note:f,reviewToken:S})}),s=await t.json();if(!t.ok)throw Error(s.error?.message||"Decision could not be saved.");h({...i,status:s.status})}catch(e){b(e instanceof Error?e.message:"Decision could not be saved.")}finally{g(!1)}}}(0,d.useEffect)(()=>{if(!s.isReady)return;let e=!0;return async function(){try{let t="2011096422-Az5G5YPk";if(!t||!_||!S)throw Error("This approval link is not configured or is incomplete.");if(await (window.liff?Promise.resolve():new Promise((e,t)=>{let s=document.querySelector('script[data-bes-liff="true"]');if(s)return void s.addEventListener("load",()=>e(),{once:!0});let r=document.createElement("script");r.src="https://static.line-scdn.net/liff/edge/2/sdk.js",r.async=!0,r.dataset.besLiff="true",r.onload=()=>e(),r.onerror=()=>t(Error("Could not load LINE review.")),document.head.appendChild(r)})),!window.liff)throw Error("LINE review is unavailable.");if(await window.liff.init({liffId:t}),!window.liff.isLoggedIn())return void window.liff.login({redirectUri:window.location.href});let s=window.liff.getIDToken();if(!s)throw Error("LINE reviewer authentication is required.");let r=await fetch(`/api/customer-approvals/${encodeURIComponent(_)}?reviewToken=${encodeURIComponent(S)}`,{headers:{"x-line-id-token":s}}),i=await r.json();if(!r.ok)throw Error(i.error?.message||"Could not load approval request.");e&&(p(s),h(i.request))}catch(t){e&&b(t instanceof Error?t.message:"Could not load approval request.")}finally{e&&g(!1)}}(),()=>{e=!1}},[_,S,s.isReady]);let N=i?.customerSnapshot||{},w=i?.aiReview,R=[...w?.risks||w?.riskFlags||[],...w?.missingInformation||[]];return(0,r.jsxs)("main",{className:"jsx-d67aa5d0421801b0 page",children:[(0,r.jsxs)("section",{className:"jsx-d67aa5d0421801b0 review",children:[(0,r.jsx)("p",{className:"jsx-d67aa5d0421801b0 eyebrow",children:"BES CUSTOMER ACCESS"}),(0,r.jsx)("h1",{className:"jsx-d67aa5d0421801b0",children:"Human approval review"}),v&&!i?(0,r.jsx)("p",{className:"jsx-d67aa5d0421801b0",children:"Loading secure review..."}):j&&!i?(0,r.jsx)("p",{role:"alert",className:"jsx-d67aa5d0421801b0 error",children:j}):i?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"jsx-d67aa5d0421801b0 status",children:["Status: ",(0,r.jsx)("strong",{className:"jsx-d67aa5d0421801b0",children:i.status})]}),(0,r.jsxs)("section",{className:"jsx-d67aa5d0421801b0",children:[(0,r.jsx)("h2",{className:"jsx-d67aa5d0421801b0",children:"Customer"}),(0,r.jsxs)("p",{className:"jsx-d67aa5d0421801b0",children:[(0,r.jsx)("strong",{className:"jsx-d67aa5d0421801b0",children:String(N.fullName||"Customer")}),(0,r.jsx)("br",{className:"jsx-d67aa5d0421801b0"}),String(N.companyName||""),(0,r.jsx)("br",{className:"jsx-d67aa5d0421801b0"}),String(N.email||"")]})]}),(0,r.jsxs)("section",{className:"jsx-d67aa5d0421801b0",children:[(0,r.jsx)("h2",{className:"jsx-d67aa5d0421801b0",children:"Application and product"}),(0,r.jsxs)("p",{className:"jsx-d67aa5d0421801b0",children:[String(N.requestedApplication||"BES Website"),(0,r.jsx)("br",{className:"jsx-d67aa5d0421801b0"}),String(N.selectedProduct||"No product specified")]})]}),(0,r.jsxs)("section",{className:"jsx-d67aa5d0421801b0",children:[(0,r.jsx)("h2",{className:"jsx-d67aa5d0421801b0",children:"Submitted engineering / simulation inputs"}),(0,r.jsx)(u,{value:i.submittedData?.simulationInputs})]}),(0,r.jsxs)("section",{className:"jsx-d67aa5d0421801b0",children:[(0,r.jsx)("h2",{className:"jsx-d67aa5d0421801b0",children:"Important outputs"}),(0,r.jsx)(u,{value:i.submittedData?.importantOutputs})]}),(0,r.jsxs)("section",{className:"jsx-d67aa5d0421801b0",children:[(0,r.jsx)("h2",{className:"jsx-d67aa5d0421801b0",children:"AI review"}),(0,r.jsxs)("p",{className:"jsx-d67aa5d0421801b0",children:["Status: ",(0,r.jsx)("strong",{className:"jsx-d67aa5d0421801b0",children:w?.status||"NOT_RUN"})]}),(0,r.jsxs)("p",{className:"jsx-d67aa5d0421801b0",children:["Recommendation: ",(0,r.jsx)("strong",{className:"jsx-d67aa5d0421801b0",children:w?.recommendation||"Not available"})]}),w?.summary&&(0,r.jsx)("p",{className:"jsx-d67aa5d0421801b0",children:w.summary}),"number"==typeof w?.confidence&&(0,r.jsxs)("p",{className:"jsx-d67aa5d0421801b0",children:["Confidence: ",(0,r.jsxs)("strong",{className:"jsx-d67aa5d0421801b0",children:[Math.round(100*w.confidence),"%"]})]}),(0,r.jsx)("p",{className:"jsx-d67aa5d0421801b0 warning",children:"AI is advisory only. A verified human reviewer must make the final decision."}),(0,r.jsx)("h3",{className:"jsx-d67aa5d0421801b0",children:"Reasons"}),(0,r.jsx)("ul",{className:"jsx-d67aa5d0421801b0",children:w?.reasons?.length?w.reasons.map(e=>(0,r.jsx)("li",{className:"jsx-d67aa5d0421801b0",children:e},e)):(0,r.jsx)("li",{className:"jsx-d67aa5d0421801b0",children:"No AI assessment has been generated."})}),(0,r.jsx)("h3",{className:"jsx-d67aa5d0421801b0",children:"Risks / missing information"}),(0,r.jsx)("ul",{className:"jsx-d67aa5d0421801b0",children:R.length?R.map(e=>(0,r.jsx)("li",{className:"jsx-d67aa5d0421801b0",children:e},e)):(0,r.jsx)("li",{className:"jsx-d67aa5d0421801b0",children:"Not assessed."})})]}),"PENDING_REVIEW"===i.status?(0,r.jsxs)("section",{className:"jsx-d67aa5d0421801b0",children:[(0,r.jsxs)("label",{className:"jsx-d67aa5d0421801b0",children:["Reviewer note",(0,r.jsx)("textarea",{value:f,onChange:e=>x(e.target.value),maxLength:1e3,className:"jsx-d67aa5d0421801b0"})]}),j&&(0,r.jsx)("p",{role:"alert",className:"jsx-d67aa5d0421801b0 error",children:j}),(0,r.jsxs)("div",{className:"jsx-d67aa5d0421801b0 actions",children:[(0,r.jsx)("button",{disabled:v,onClick:()=>void y("APPROVE"),className:"jsx-d67aa5d0421801b0",children:"APPROVE"}),(0,r.jsx)("button",{disabled:v,onClick:()=>void y("MORE_INFO"),className:"jsx-d67aa5d0421801b0",children:"MORE INFO"}),(0,r.jsx)("button",{disabled:v,onClick:()=>void y("REJECT"),className:"jsx-d67aa5d0421801b0",children:"REJECT"})]})]}):(0,r.jsx)("p",{className:"jsx-d67aa5d0421801b0 done",children:"Decision saved."})]}):null]}),(0,r.jsx)(a(),{id:"d67aa5d0421801b0",children:".page.jsx-d67aa5d0421801b0{min-height:100vh;background:#071326;color:#e2e8f0;padding:18px}.review.jsx-d67aa5d0421801b0{max-width:760px;margin:auto;display:grid;gap:14px}.eyebrow.jsx-d67aa5d0421801b0{color:#38bdf8;font-weight:800;letter-spacing:.08em}.review.jsx-d67aa5d0421801b0 h1.jsx-d67aa5d0421801b0{font-size:32px}.review.jsx-d67aa5d0421801b0 section.jsx-d67aa5d0421801b0,.status.jsx-d67aa5d0421801b0{background:#0f2139;border:1px solid#27415f;border-radius:16px;padding:18px}.review.jsx-d67aa5d0421801b0 h2.jsx-d67aa5d0421801b0{margin-top:0;font-size:20px}.warning.jsx-d67aa5d0421801b0{color:#fbbf24}.error.jsx-d67aa5d0421801b0{color:#fca5a5}.muted.jsx-d67aa5d0421801b0{color:#94a3b8}dl.jsx-d67aa5d0421801b0 div.jsx-d67aa5d0421801b0{display:grid;grid-template-columns:minmax(140px,1fr)2fr;gap:12px;border-top:1px solid#27415f;padding:8px 0}dt.jsx-d67aa5d0421801b0{color:#94a3b8}dd.jsx-d67aa5d0421801b0{margin:0;word-break:break-word}label.jsx-d67aa5d0421801b0{display:grid;gap:8px}textarea.jsx-d67aa5d0421801b0{min-height:96px;border-radius:10px;padding:10px}.actions.jsx-d67aa5d0421801b0{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.actions.jsx-d67aa5d0421801b0 button.jsx-d67aa5d0421801b0{min-height:46px;border:0;border-radius:10px;font-weight:800}.done.jsx-d67aa5d0421801b0{color:#86efac}@media(max-width:540px){.actions.jsx-d67aa5d0421801b0{grid-template-columns:1fr}dl.jsx-d67aa5d0421801b0 div.jsx-d67aa5d0421801b0{grid-template-columns:1fr}}"})]})}},90672:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/liff/customer-approval",function(){return s(89224)}])},94208:(e,t,s)=>{"use strict";e.exports=s(47643).style}},e=>{e.O(0,[636,6593,8792],()=>e(e.s=90672)),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.