1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[846],{1645:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=[{id:0,name:"Asst.Prof.Dr. Adisak Intana",awards:[{id:1,title:"Data Scientist (Level 5), Thailand Professional Qualification Institute (Public Organization)",year:"2023"}]},{id:1,name:"Asst.Prof.Dr. Kuljaree Tantayakul",awards:[{id:1,title:"ASEAN-Wide Cyber-Security Research Testbed",year:"2020",fund:"2,480,000 baht",year:"2020"},{id:2,title:"Artificial Intelligence Powered Comprehensive Cyber-Security for Smart Healthcare Systems (AIPOSH)",year:"2024",fund:"2,480,000 baht",year:"2024"},{id:3,title:"SENET (Software Engineering and Networking Technologies) Research Team",year:"2025",fund:"750,000 baht",year:"2025"}]}]},4652:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/AwardPage",function(){return s(8776)}])},8776:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>p});var a=s(7876),l=s(4232),i=s(7328),n=s.n(i),r=s(3122),d=s(9371),x=s(9099),m=s(1645);let c=e=>{let t=parseInt(String(e).replace(/[^\d]/g,""),10);return Number.isFinite(t)?t:0};function o(e){var t;let{award:s,categories:l}=e,i=(null==(t=l.find(e=>e.id===s.category))?void 0:t.name)||s.category;return(0,a.jsx)("article",{className:"rounded-2xl bg-bg-canvas p-6 sm:p-8 group",children:(0,a.jsxs)("div",{className:"flex flex-col lg:flex-row gap-6 lg:gap-10",children:[(0,a.jsxs)("div",{className:"lg:w-36 shrink-0",children:[(0,a.jsx)("p",{className:"font-display italic text-primary-action mb-2",children:s.year}),(0,a.jsx)("span",{className:"inline-flex items-center px-2.5 py-1 rounded-md text-[11px] font-semibold bg-bg-white text-text-muted",children:s.badge})]}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-3 mb-4",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h3",{className:"display-title text-xl sm:text-2xl text-text-main leading-snug mb-2",children:s.title}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1 text-sm text-text-muted",children:[(0,a.jsx)("span",{className:"font-medium text-text-main/90",children:s.subtitle}),s.month&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-border-light hidden sm:inline",children:"\xb7"}),(0,a.jsx)("span",{className:"tabular-nums",children:s.month})]}),s.amount&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-border-light hidden sm:inline",children:"\xb7"}),(0,a.jsx)("span",{className:"font-semibold text-primary-action",children:s.amount})]})]})]}),(0,a.jsx)("span",{className:"inline-flex self-start items-center px-3 py-1 rounded-md text-xs font-semibold bg-bg-white text-text-muted",children:i})]}),s.description?(0,a.jsx)("p",{className:"text-text-muted text-sm sm:text-base leading-relaxed mb-5 max-w-2xl",children:s.description}):null,(0,a.jsxs)("div",{className:"grid sm:grid-cols-2 gap-4 text-sm mb-5",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-xs font-semibold text-text-muted",children:"Recipient"}),(0,a.jsx)("p",{className:"text-text-main mt-1 font-medium",children:s.recipient})]}),s.institution&&"â"!==s.institution?(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-xs font-semibold text-text-muted",children:"Institution"}),(0,a.jsx)("p",{className:"text-text-main mt-1",children:s.institution})]}):null]}),s.impact&&s.impact.trim()?(0,a.jsxs)("div",{className:"rounded-xl bg-bg-white p-4 sm:p-5",children:[(0,a.jsx)("span",{className:"text-xs font-semibold text-primary-deep block mb-2",children:"Impact"}),(0,a.jsx)("p",{className:"text-text-muted text-sm leading-relaxed",children:s.impact})]}):null]})]})})}let p=()=>{let e=(0,x.useRouter)(),[t,s]=(0,l.useState)("all"),[i,p]=(0,l.useState)("all"),[u,h]=(0,l.useState)(""),[b,g]=(0,l.useState)("year-desc"),f=[{id:"all",name:"All awards"},{id:"research-excellence",name:"Research excellence"},{id:"innovation",name:"Innovation"},{id:"funding",name:"Funding & grants"},{id:"publication",name:"Publication awards"},{id:"collaboration",name:"Collaboration"}],j=(0,l.useMemo)(()=>m.A.flatMap(e=>e.awards.map(t=>({id:"".concat(e.id,"-").concat(t.id),title:t.title,subtitle:e.name||t.owner||"â",year:String(t.year),month:t.month||null,category:t.category||(t.fund?"funding":"research-excellence"),description:t.description||"",amount:t.fund?"string"==typeof t.fund?t.fund:"".concat(t.fund):null,recipient:t.owner||e.name||"â",institution:t.institution||"â",impact:t.impact||"",badge:t.badge||(t.fund?"Major Grant":"Award")}))),[]),y=(0,l.useMemo)(()=>[{id:"all",name:"All years"},...[...new Set(j.map(e=>
1e.year).filter(Boolean))].sort((e,t)=>Number(t)-Number(e)).map(e=>({id:e,name:e}))],[j]),N=(0,l.useMemo)(()=>{let e=j.filter(e=>e.amount),t=e.reduce((e,t)=>e+c(t.amount),0),s=j.map(e=>parseInt(e.year,10)).filter(e=>Number.isFinite(e)),a=s.length>0?String(Math.max(...s)):null;return{totalAwards:j.length,totalFunding:t,grantCount:e.length,latestYear:a,latestYearCount:a?j.filter(e=>e.year===a).length:0}},[j]),w=(0,l.useMemo)(()=>{let e=u.trim().toLowerCase();return j.filter(s=>{let a="all"===t||s.category===t,l="all"===i||s.year===i,n=!e||s.title.toLowerCase().includes(e)||s.subtitle.toLowerCase().includes(e)||s.recipient.toLowerCase().includes(e)||s.description&&s.description.toLowerCase().includes(e);return a&&l&&n})},[j,t,i,u]),v=(0,l.useMemo)(()=>{let e=[...w];return e.sort((e,t)=>{if("title"===b)return e.title.localeCompare(t.title,void 0,{sensitivity:"base"});let s=parseInt(e.year,10)||0,a=parseInt(t.year,10)||0;return"year-asc"===b?s-a:a-s}),e},[w,b]),k=(0,l.useMemo)(()=>{let e=new Map;for(let t of v){let s=t.year||"â";e.has(s)||e.set(s,[]),e.get(s).push(t)}return[...e.entries()].sort((e,t)=>{let s=parseInt(e[0],10),a=parseInt(t[0],10);return Number.isFinite(s)&&Number.isFinite(a)?"year-asc"===b?s-a:a-s:"year-asc"===b?e[0].localeCompare(t[0]):t[0].localeCompare(e[0])})},[v,b]),C=["all"!==t,"all"!==i,u.trim().length>0].filter(Boolean).length,S=()=>{s("all"),p("all"),h("")},A="year-desc"===b||"year-asc"===b,T=e=>"rounded-lg px-4 py-2 text-sm font-semibold transition-all duration-200 ".concat(e?"bg-primary-deep text-white":"bg-bg-off text-text-muted hover:text-primary-deep");return(0,a.jsxs)("div",{className:"min-h-dvh bg-bg-canvas",children:[(0,a.jsx)(n(),{children:(0,a.jsx)("title",{children:"Awards \xb7 SENET Lab"})}),(0,a.jsx)(r.A,{}),(0,a.jsxs)("main",{id:"main",children:[(0,a.jsxs)("section",{className:"relative overflow-hidden border-b border-border-light",children:[(0,a.jsx)("div",{className:"pointer-events-none absolute -right-24 -top-24 h-72 w-72 rounded-full bg-accent-warm/15 blur-3xl","aria-hidden":!0}),(0,a.jsxs)("div",{className:"relative max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-14 sm:py-16 lg:py-24",children:[(0,a.jsx)("p",{className:"kicker mb-4",children:"SENET Lab"}),(0,a.jsx)("h1",{className:"display-title text-3xl sm:text-4xl lg:text-5xl text-text-main mb-5 max-w-2xl",children:"Awards & recognition"}),(0,a.jsx)("p",{className:"text-base sm:text-lg text-text-muted max-w-2xl leading-relaxed mb-12",children:"Honors, qualifications, and grants in software engineering and networkingâfilter by year, category, or keyword."}),(0,a.jsxs)("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-x-8 gap-y-8 border-t border-border-light pt-10",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-3xl sm:text-4xl font-semibold text-primary-deep tabular-nums",children:N.totalAwards}),(0,a.jsx)("p",{className:"text-sm text-text-muted mt-1",children:"Total honors"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-3xl sm:text-4xl font-semibold text-primary-deep tabular-nums",children:N.grantCount}),(0,a.jsx)("p",{className:"text-sm text-text-muted mt-1",children:"Funded projects"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-2xl sm:text-3xl font-semibold text-text-main tabular-nums",children:N.totalFunding>0?N.totalFunding.toLocaleString("th-TH"):"â"}),(0,a.jsx)("p",{className:"text-sm text-text-muted mt-1",children:"THB aggregate"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-3xl sm:text-4xl font-semibold text-primary-deep tabular-nums",children:N.latestYear?N.latestYearCount:"â"}),(0,a.jsx)("p",{className:"text-sm text-text-muted mt-1",children:N.latestYear?"In ".concat(N.latestYear):"Recent year"})]})]})]})]}),(0,a.jsx)("section",{className:"py-8 sm:py-12 bg-bg-white border-b border-border-light",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,a.jsx)("div",{className:"sticky top-[4.5rem] z-[30] -mx-4 px-4 py-4 sm:mx-0 sm:px-0 sm:static sm:py-0 mb-6 sm:mb-8 glass-effect border-b border-border-light sm:border-0 sm:bg-transparent sm:backdrop-blur-none sm:shadow-none",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-end lg:justify-between",children:[(0,a.jsxs)("div",{className:"flex-1 max-w-xl",children:[(0,a.jsx)("label",{htmlFor:"award-search",className:"block text-xs font-semibold text-text-muted mb-2",children:"Search"}),(0,a.jsx)("input",{id:"award-search",type:"search",value:u,onChange:e=>h(e.target.value),placeholder:"Title, researcher, or keyword",className:"w-full rounded-lg border border-border-light bg-bg-canvas px-4 py-3 text-sm text-text-main placeholder:text-text-muted/70 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-action"})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{htmlFor:"award-sort",className:"block text-xs font-semibold text-text-muted mb-2 lg:sr-only",children:"Sort"}),(0,a.jsxs)("select",{id:"award-sort",value:b,onChange:e=>g(e.target.value),className:"rounded-lg border border-border-light bg-bg-canvas px-4 py-3 text-sm font-medium text-text-main min-w-[200px] focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-action",children:[(0,a.jsx)("option",{value:"year-desc",children:"Newest first"}),(0,a.jsx)("option",{value:"year-asc",children:"Oldest first"}),(0,a.jsx)("option",{value:"title",children:"Title (AâZ)"})]})]}),C>0&&(0,a.jsxs)("button",{type:"button",onClick:S,className:"inline-flex items-center gap-2 rounded-lg bg-primary-soft px-4 py-3 text-sm font-semibold text-primary-deep hover:bg-primary-action/10 transition-colors",children:["Clear filters",(0,a.jsx)("span",{className:"rounded-md bg-primary-deep px-2 py-0.5 text-[10px] text-white tabular-nums",children:C})]})]})]})}),(0,a.jsxs)("p",{className:"text-sm text-text-muted mb-6",children:["Showing"," ",(0,a.jsx)("span",{className:"font-semibold text-text-main tabular-nums",children:v.length})," ",1===v.length?"entry":"entries",v.length!==j.length&&(0,a.jsxs)("span",{children:[" of ",j.length," total"]})]}),(0,a.jsxs)("div",{className:"lg:hidden space-y-5 mb-8",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-xs font-semibold text-text-muted mb-2",children:"Category"}),(0,a.jsx)("select",{value:t,onChange:e=>s(e.target.value),className:"block w-full rounded-lg border border-border-light bg-bg-canvas px-4 py-3 text-sm font-medium text-text-main focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-action",children:f.map(e=>(0,a.jsx)("option",{value:e.id,children:e.name},e.id))})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-xs font-semibold text-text-muted mb-2",children:"Year"}),(0,a.jsx)("div",{className:"flex gap-2 overflow-x-auto pb-2 -mx-1 px-1",children:y.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>p(e.id),className:"flex-shrink-0 ".concat(T(i===e.id)),children:e.name},e.id))})]})]}),(0,a.jsxs)("div",{className:"hidden lg:block space-y-6 mb-10",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs font-semibold text-text-muted mb-3",children:"Category"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:f.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>s(e.id),className:T(t===e.id),children:e.name},e.id))})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs font-semibold text-text-muted mb-3",children:"Year"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:y.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>p(e.id),className:T(i===e.id),children:e.name},e.id))})]})]}),(0,a.jsx)("div",{className:"space-y-10 lg:space-y-14",children:A?k.map(e=>{let[t,s]=e;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-4 mb-6",children:[(0,a.jsx)("span",{className:"display-title text-2xl sm:text-3xl text-text-main tabular-nums",children:t}),(0,a.jsx)("span",{className:"h-px flex-1 bg-border-light"}),(0,a.jsxs)("span",{className:"text-sm font-medium text-text-muted tabular-nums",children:[s.length," ",1===s.length?"item":"items"]})]}),(0,a.jsx)("div",{className:"space-y-4",children:s.map(e=>(0,a.jsx)(o,{award:e,categories:f},e.id))})]},t)}):v.map(e=>(0,a.jsx)(o,{award:e,categories:f},e.id))}),0===w.length&&(0,a.jsxs)("div",{className:"text-center py-16 max-w-lg mx-auto",children:[(0,a.jsx)("h3",{className:"display-title text-2xl text-text-main mb-2",children:"No awards match"}),(0,a.jsx)("p",{className:"text-text-muted text-sm leading-relaxed mb-6",children:"Try a different keyword, category, or yearâor reset everything at once."}),(0,a.jsx)("button",{type:"button",onClick:S,className:"btn-primary text-sm",children:"Reset filters"})]})]})}),(0,a.jsx)("section",{className:"py-16 sm:py-20 bg-bg-off",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,a.jsx)("h2",{className:"display-title text-2xl sm:text-3xl text-text-main mb-4 max-w-xl",children:"From recognition to the next project"}),(0,a.jsx)("p",{className:"text-text-muted mb-8 max-w-xl leading-relaxed",children:"Awards are one signal. See how the work shows up in publications and collaborations."}),(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row gap-3",children:[(0,a.jsx)("button",{type:"button",onClick:()=>e.push("/ResearchPage"),className:"btn-primary",children:"View our research"}),(0,a.jsx)("button",{type:"button",onClick:()=>e.push("/JoinUs"),className:"btn-secondary",children:"Collaboration opportunities"})]})]})})]}),(0,a.jsx)(d.A,{})]})}}},e=>{var t=t=>e(e.s=t);e.O(0,[305,96,636,593,792],()=>t(4652)),_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.