1import{A as Le,B as Mn,C as Ks,D as Ys,E as Qs,F as zs,G as Js,H as Xs,I as Zs,J as ed,K as td,L as Ln,M as id,N as An,O as nd,P as rd,Q as od,R as ad,S as sd,T as dd,U as ld,V as cd,W as ud,X as Bn,Y as md,a as Os,b as _e,c as En,d as xt,e as Tn,f as Fs,g as Ms,h as Ls,i as As,j as Dn,k as Bs,l as $s,m as Gs,n as qs,o as js,p as Vs,q as oe,r as Rn,s as kn,t as Hs,u as St,v as Ws,x as On,y as fe,z as Fn}from"./chunk-GR4ZNSQJ.js";import{a as Ct,b as Nn,g as In}from"./chunk-J54EVYDQ.js";import{a as Ce,b as $n,c as Gn,d as bt,e as ae,f as qn}from"./chunk-URBPWRB4.js";import{d as Ae,e as xe}from"./chunk-UWCNMQIK.js";import{e as ye}from"./chunk-LWW3WQYF.js";import{e as Pn,f as Un}from"./chunk-GRLAFD6F.js";import{c as yt}from"./chunk-6JFZUVRJ.js";import{M as ft,p as xn,s as Me,t as Sn,u as bn,v as wn,w as _t}from"./chunk-4EBU7RDJ.js";import{b as gn,d as hn,g as ht,h as z,j as _n}from"./chunk-GWJEKD2A.js";import{f as fn}from"./chunk-LNCUR4GP.js";import{c as yn,d as Cn,j as he}from"./chunk-7DOJZ5HO.js";import{$ as wi,Db as qi,Eb as Oe,Ec as lt,Fc as Hi,Kb as ie,Lb as ne,Qa as $i,V as Re,Y as xi,Yb as ji,Z as Si,_ as bi,d as _i,f as fi,k as b,lb as Q,tc as Vi,xb as Gi,y as at,z as Z}from"./chunk-DSA6URKX.js";import{K as Bi,k as A,l as B}from"./chunk-SEJDYJHB.js";import{a as yi,b as Ci}from"./chunk-I7EB3WPR.js";import{c as cn,g as pt,h as vt,i as gt,l as re,p as un,q as mn,r as pn,t as vn}from"./chunk-4P2SD5TQ.js";import"./chunk-GMC7JW65.js";import{O as Qi,P as zi,Q as ut,R as Fe,S as Ji,T as mt,U as Xi,V as Zi,W as en,Y as tn,da as nn,ea as rn,fa as on,g as ct,ga as an,ha as sn,i as Wi,ia as dn,ja as ln,k as Ki,y as Yi}from"./chunk-I5RBR5BZ.js";import{$b as nt,$c as mi,$d as Ei,Ab as P,Ae as te,B as $,Bd as L,C as Yt,Ca as Xt,Cb as s,Cc as pe,Cd as Bt,Db as ni,De as dt,Eb as ri,Ee as Mi,Ga as Zt,Gb as it,Gc as di,Ha as ei,Hb as Ie,Hc as M,Ib as Ee,J as X,Ja as ue,Jc as li,K as Qt,Ka as ze,Kd as Y,Lc as R,Ld as ee,N as zt,Nc as rt,O as Pe,Oa as r,Oc as ci,Od as Pi,Pa as ti,Pc as ve,Q as Ue,Rb as v,Sb as F,Sd as Ui,Ta as f,Tb as S,Tc as ui,Va as _,Vc as ot,Xd as Ni,Yd as $t,_a as Ne,_d as Ii,a as E,aa as Ft,ac as H,ae as Ti,b as le,ba as Mt,bc as oi,cb as Je,cc as Te,ce as Gt,da as K,dc as N,df as Li,ec as w,ee as Di,ef as Ai,fb as u,fc as De,gc as ai,ha as ce,hb as m,ib as ii,ie as Ri,jb as de,jc as h,je as ki,ka as Lt,kb as j,kc as C,la as G,lb as V,lc as I,mb as d,mc as At,md as W,n as Wt,nb as a,nc as si,nd as pi,ob as o,od as vi,pa as T,pb as c,pc as be,pd as ge,q as Kt,qa as D,qb as Xe,qd as gi,rb as Ze,re as Oi,tb as et,tc as me,te as Fi,ua as Jt,ub as tt,uc as p,ue as st,wd as hi,xb as O,za as q,ze as ke}from"./chunk-CXGUIZ5O.js";var Sr=t=>({"border-b border-gray-200 pb-16":t});
1function br(t,l){if(t&1&&(a(0,"div",1)(1,"div",3),c(2,"uc-loading-image-svg",4),o(),a(3,"div",5),c(4,"div",6)(5,"div",7)(6,"div",8),o()()),t&2){let e=s();d("ngClass",w(1,Sr,e.banner()))}}function wr(t,l){t&1&&(a(0,"div",2)(1,"div",9)(2,"div",10),c(3,"uc-loading-image-svg"),o(),a(4,"div",11)(5,"div",12),c(6,"div",6)(7,"div",7)(8,"div",13)(9,"div",14)(10,"div",15)(11,"div",16),o(),c(12,"div",17),o(),a(13,"span",18),v(14,"Loading..."),o()()())}var se=(()=>{class t{constructor(){this.header=p(!0),this.banner=p(!0)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-skeleton"]],inputs:{header:[1,"header"],banner:[1,"banner"]},decls:3,vars:2,consts:[["aria-hidden","true","role","status",1,"container","py-16"],[1,"hidden","space-y-8","animate-pulse","sm:space-y-0","sm:space-x-8","sm:flex","sm:items-center",3,"ngClass"],[1,"md:py-16"],[1,"flex","items-center","justify-center","w-20","h-20","bg-gray-300","rounded-full","dark:bg-gray-500"],["customStyles","w-10 h-10"],[1,"w-full"],[1,"h-3.5","bg-gray-200","rounded-full","dark:bg-gray-500","w-48","mb-4"],[1,"h-3","bg-gray-200","rounded-full","dark:bg-gray-500","max-w-[480px]","mb-2.5"],[1,"h-3","bg-gray-200","rounded-full","dark:bg-gray-500","mb-2.5","w-10/12"],[1,"space-y-8","animate-pulse","md:space-y-0","md:space-x-8","md:flex","md:items-center"],[1,"flex","items-center","justify-center","w-full","bg-gray-300","rounded","h-72","dark:bg-gray-500"],[1,"flex","flex-col","justify-between","w-full","p-8","h-72"],[1,"w-full","h-full"],[1,"h-3","bg-gray-200","rounded-full","dark:bg-gray-500","mb-2.5"],[1,"h-3","bg-gray-200","rounded-full","dark:bg-gray-500","max-w-[440px]","mb-2.5"],[1,"h-3","bg-gray-200","rounded-full","dark:bg-gray-500","max-w-[460px]","mb-2.5"],[1,"h-3","bg-gray-200","rounded-full","dark:bg-gray-500","max-w-[360px]"],[1,"w-full","h-10","bg-gray-200","rounded-lg","dark:bg-gray-500","sm:mx-auto"],[1,"sr-only"]],template:function(i,n){i&1&&(a(0,"div",0),u(1,br,7,3,"div",1),u(2,wr,15,0,"div",2),o()),i&2&&(r(),m(n.header()?1:-1),r(),m(n.banner()?2:-1))},dependencies:[M,Ki],encapsulation:2,changeDetection:0})}}return t})();var wt=class{constructor(){this.cvSrv=new Z,this.postExclusive=[b.PostgraduateLandingPage]}navigate(l,e,i){return this.cvSrv.checkFeature(l,this.postExclusive)||this.cvSrv.isPostgraduateOnly(l)&&e!=="undergraduate"?"postgraduate":i===L.Clearing?yi:i}};var Pr=t=>["/courses",t],Ur=t=>({uni:t});function Nr(t,l){if(t&1&&v(0),t&2){let e=s();S(" ",e.recommendedPercentage(),"% Recommended \u2022 ")}}function Ir(t,l){if(t&1&&c(0,"uc-write-review-btn",4),t&2){let e=s();d("universityId",e.uniId())("universityName",e.name())("universityUrl",e.slug())}}var J=(()=>{class t{constructor(){this.uniId=p.required(),this.product=p.required(),this.name=p.required(),this.slug=p.required(),this.paidFeatures=p.required(),this.subdirectory=p.required(),this.recommendedPercentage=p(),this.redirectTo=new wt}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-header-title"]],inputs:{uniId:[1,"uniId"],product:[1,"product"],name:[1,"name"],slug:[1,"slug"],paidFeatures:[1,"paidFeatures"],subdirectory:[1,"subdirectory"],recommendedPercentage:[1,"recommendedPercentage"]},decls:15,vars:10,consts:[[1,"mb-5","sm:pl-6","sm:mb-0"],[1,"text-2xl","font-bold","tracking-tight","text-black","sm:text-2xl"],[1,"flex","flex-wrap"],[1,"mr-1","text-gray-500"],["buttonText","Leave a review",3,"universityId","universityName","universityUrl"],[1,"text-base","cursor-pointer","blue-link-underline",3,"routerLink","queryParams"],[1,"hidden","sm:inline"],[1,"hidden","capitalize","sm:inline"],[1,"capitalize","sm:hidden"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"h1",1),v(2),o(),a(3,"div",2)(4,"p",3),u(5,Nr,1,1)(6,Ir,1,3,"uc-write-review-btn",4),o(),a(7,"a",5)(8,"span",6),v(9,"See all\xA0"),o(),a(10,"span",7),v(11),o(),a(12,"span",8),v(13),o(),v(14," Courses "),o()()()),i&2&&(r(2),S(" ",n.name()," "),r(3),m(n.recommendedPercentage()?5:6),r(2),d("routerLink",w(6,Pr,n.redirectTo.navigate(n.paidFeatures(),n.subdirectory(),n.product())))("queryParams",w(8,Ur,
1n.slug())),r(4),F(n.product()),r(2),S(" ",n.product()==="postgraduate"?"All Postgrad":n.product()==="clearing"?"All Clearing":"All Undergrad"," "))},dependencies:[ge,he],encapsulation:2,changeDetection:0})}}return t})();var Er=["*"],Pt=(()=>{class t{constructor(){this.cardTitle=p(),this.value=p()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-information-card"]],inputs:{cardTitle:[1,"cardTitle"],value:[1,"value"]},ngContentSelectors:Er,decls:8,vars:2,consts:[[1,"flex","w-full","py-6","bg-white","sm:p-6","sm:gap-5","sm:border","sm:rounded-lg"],[1,"hidden","p-4","text-white","rounded-md","bg-uc-blue-900","h-max","sm:block"],[1,"flex","items-center","justify-between","flex-grow","sm:block"],[1,"text-sm","font-medium","text-gray-500"],[1,"text-base","font-medium","text-gray-900","sm:text-xl","sm:font-semibold"]],template:function(i,n){i&1&&(ni(),Xe(0,"div",0)(1,"div",1),ri(2),Ze(),Xe(3,"div",2)(4,"p",3),v(5),Ze(),Xe(6,"p",4),v(7),Ze()()()),i&2&&(r(5),F(n.cardTitle()),r(2),S(" ",n.value(
1)&&n.value()!=="0"?n.value():"Varied"," "))},encapsulation:2,changeDetection:0})}}return t})();var Be=(()=>{class t{constructor(){this.totalStudents=p(),this.studentsInHalls=p(),this.fullTime=p(),this.avgTariffPoints=p()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-information"]],inputs:{totalStudents:[1,"totalStudents"],studentsInHalls:[1,"studentsInHalls"],fullTime:[1,"fullTime"],avgTariffPoints:[1,"avgTariffPoints"]},decls:13,vars:12,consts:[["headingTitle","University Information"],[1,"grid","grid-cols-1","divide-y","sm:divide-y-0","border-y","sm:border-y-0","sm:gap-6","sm:grid-cols-2","xl:grid-cols-4"],["cardTitle","Total Students",3,"value"],["cardTitle","Students in Halls",3,"value"],["cardTitle","Full Time (%)",3,"value"],["cardTitle","Avg Tariff Points",3,"value"]],template:function(i,n){i&1&&(a(0,"section"),c(1,"uc-heading",0),a(2,"div",1)(3,"uc-university-information-card",2),h(4,"number"),c(5,"uc-users-svg"),o(),a(6,"uc-university-information-card",3),h(7,"number"),c(8,"uc-house-svg"),o(),a(9,"uc-university-information-card",4),c(10,"uc-clock-svg"),o(),a(11,"uc-university-information-card",5),c(12,"uc-academic-cap-svg"),o()()()),i&2&&(r(3),d("value",At(4,4,n.totalStudents(),"","en-GB")),r(3),d("value",At(7,8,n.studentsInHalls(),"","en-GB")),r(3),d("value",n.fullTime()+"%"),r(2),d("value",n.avgTariffPoints()))},dependencies:[re,Pt,ut,Fe,Ji,mt,ve],encapsulation:2,changeDetection:0})}}return t})();var Tr=["container"],Dr=["scrollContainer"],Rr=["elements"],kr=t=>({"tab-selected":t});function Or(t,l){if(t&1){let e=O();a(0,"button",9),P("click",function(){T(e);let n=s();return D(n.onScrollContainer("left"))}),o()}}function Fr(t,l){if(t&1){let e=O();a(0,"li",7,2)(2,"button",10),P("click",function(){let n=T(e).$index,g=s();return g.selectIndex.emit(n),D(g.selectedIndex=n)}),v(3),h(4,"ucEntities"),o()()}if(t&2){let e=l.$implicit,i=l.$index,n=s();d("id","item-"+i),r(2),d("ngClass",w(5,kr,i===n.selectedIndex)),r(),S(" ",C(4,3,e)," ")}}function Mr(t,l){if(t&1){let e=O();a(0,"button",11),P("click",function(){T(e);let n=s();return D(n.onScrollContainer("right"))}),o()}}var jn=(()=>{class t{constructor(e){this._cd=e,this.navigationItems=p([]),this.selectIndex=me(),this.displayButton=!1,this.selectedIndex=0,this._containerWidth=0,this._scrollIndex=0,this._gap=24,this._buttonWidth=116}ngAfterViewInit(){this._containerWidth=this.container.nativeElement.scrollWidth-this._buttonWidth,this.displayButton=this._containerWidth<this.scrollContainer.nativeElement.scrollWidth,this._cd.detectChanges()}onScrollContainer(e){let i=this.elements.toArray()[this._scrollIndex];if(!i?.nativeElement||!this.container?.nativeElement||!this.scrollContainer?.nativeElement)return;let n=i.nativeElement.scrollWidth+this._gap;e==="right"&&this._containerWidth<this.scrollContainer.nativeElement.scrollWidth?(this.scrollContainer.nativeElement.scrollLeft+=n,this._scrollIndex++,this._containerWidth+=n):e==="left"&&this._containerWidth>this.container.nativeElement.scrollWidth&&(this.scrollContainer.nativeElement.scrollLeft-=n,this._scrollIndex--,this._containerWidth-=n)}static{this.\u0275fac=function(i){return new(i||t)(f(pe))}}static{this.\u0275cmp=_({type:t,selectors:[["uc-campus-card-navigation"]],viewQuery:function(i,n){if(i&1&&it(Tr,5)(Dr,5)(Rr,5),i&2){let g;Ie(g=Ee())&&(n.container=g.first),Ie(g=Ee())&&(n.scrollContainer=g.first),Ie(g=Ee())&&(n.elements=g)}},inputs:{navigationItems:[1,"navigationItems"]},outputs:{selectIndex:"selectIndex"},decls:9,vars:2,consts:[["container",""],["scrollContainer",""],["elements",""],[1,"flex","gap-3","border-b","border-gray-200"],["type","button","aria-label","Scroll campuses left",1,"carousel-navigation","swiper-button-prev","!m-auto","!hidden","sm:!block","!py-2","!mt-6","after:-ml-1","after:content-['prev']"],[1,"flex","items-center","justify-between","px-6","-mx-5","overflow-scroll","sm:px-0","sm:mx-0","hide-scrollbar","scroll-smooth"],["aria-label","Tabs",1,"flex","gap-6","whitespace-nowrap"],["role","presentation",1,"inline-block","list-none","cursor-pointer","whitespace-nowrap",3,"id"],["type","button","aria-label","Scroll campuses right",1,"carousel-navigation","swiper-button-next","!m-auto","!hidden","sm:!block","!py-2","!mt-6","after:-ml-[3px]","after:content-['next']"],["type","button","aria-label","Scroll campuses left",1,"carousel-navigation","swiper-button-prev","!m-auto","!hidden","sm:!block","!py-2","!mt-6","after:-ml-1","after:content-['prev']",3,"click"],["type","button","data-cy","campus-card-navigation-button",1,"inline-flex","items-center","py-6","text-base","font-medium","text-gray-500","border-b-2","border-transparent","cursor-pointer","tab-hover",3,"click","ngClass"],["type","button","aria-label","Scroll campuses right",1,"carousel-navigation","swiper-button-next","!m-auto","!hidden","sm:!block","!py-2","!mt-6","after:-ml-[3px]","after:content-['next']",3,"click"]],template:function(i,n){i&1&&(a(0,"div",3,0),u(2,Or,1,0,"button",4),a(3,"div",5,1)(5,"ul",6),j(6,Fr,5,7,"li",7,de),o()(),u(8,Mr,1,0,"button",8),o()),i&2&&(r(2),m(n.displayButton?2:-1),r(4),V(n.navigationItems()),r(2),m(n.displayButton?8:-1))},dependencies:[M,te],encapsulation:2,changeDetection:0})}}return t})();function Lr(t,l){if(t&1&&c(0,"uc-visit-website-btn",7),t&2){let e=s();d("externalUrl",e.externalUrl())("product",e.product())("componentName",e.componentName())("uniId",e.uniId())("source",e.uniName())("ugSearchOrderPosition",e.ugSearchOrderPosition())("uniName",e.uniName())}}var Ut=(()=>{class t{constructor(){this.uniName=p.required(),this.componentName=p.required(),this.uniId=p(null),this.name=p(""),this.description=p(""),this.image=p(),this.externalUrl=p(),this.product=p(null),this.ugSearchOrderPosition=p.required()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-section-card"]],inputs:{uniName:[1,"uniName"],componentName:[1,"componentName"],uniId:[1,"uniId"],name:[1,"name"],description:[1,"description"],image:[1,"image"],externalUrl:[1,"externalUrl"],product:[1,"product"],ugSearchOrderPosition:[1,"ugSearchOrderPosition"]},decls:12,vars:11,consts:[[1,"relative","mt-8"],[1,"h-56","sm:h-72","md:absolute","md:left-0","md:h-full","md:w-2/5"],[1,"object-cover","w-full","h-full","rounded-lg",3,"src"],[1,"pt-8","mx-auto","md:pl-8","md:py-4","lg:pl-16"],[1,"md:ml-auto","md:w-3/5"],[1,"text-xl","font-bold","text-gray-900"],[1,"mt-2","text-base","text-gray-500",3,"innerHtml"],["customStyles","mt-6 w-full md:w-auto","buttonText","Visit Website","sourceType","uni",3,"externalUrl","product","componentName","uniId","source","ugSearchOrderPosition","uniName"]],template:function(i,n){i&1&&(a(0,"article",0)(1,"div",1),c(2,"img",2),h(3,"cdn"),o(),a(4,"div",3)(5,"div",4)(6,"h3",5),v(7),h(8,"ucEntities"),o(),c(9,"p",6),h(10,"ucEntities"),u(11,Lr,1,7,"uc-visit-website-btn",7),o()()()),i&2&&(r(2),d("src",C(3,5,n.image()),ze),Je("alt",n.name()),r(5),F(C(8,7,n.name())),r(2),d("innerHtml",C(10,9,n.description()),ue),r(2),m(n.externalUrl()?11:-1))},dependencies:[z,ke,te],encapsulation:2,changeDetection:0})}}return t})();function Ar(t,l){if(t&1&&c(0,"uc-university-section-card",4),t&2){let e=l,i=s(2),n=s();d("name",e.name)("description",e.description)("image",e.image)("product",n.product)("externalUrl",i.external_url)("uniId",n.uniId())("uniName",n.uniName())("ugSearchOrderPosition",n.ugSearchOrderPosition())}}function Br(t,l){if(t&1){let e=O();a(0,"div",1)(1,"h2",2),v(2,"Campus Locations"),o(),a(3,"uc-campus-card-navigation",3),P("selectIndex",function(n){T(e);let g=s(2);return D(g.onSelectIndex(n))}),o(),u(4,Ar,1,8,"uc-university-section-card",4),o()}if(t&2){let e,i=s(),n=s();r(3),d("navigationItems",n.navigationItems),r(),m((e=i.locations[n.selectedIndex])?4:-1,e)}}function $r(t,l){if(t&1&&(a(0,"section",0),u(1,Br,5,2,"div",1),o()),t&2){let e=l;r(),m(e&&e.locations&&e.locations.length>0?1:-1)}}var Nt=(()=>{class t{constructor(e,i,n){this._store=e,this._route=i,this._readUrlSrv=n,this.uniId=p(null),this.uniName=p.required(),this.ugSearchOrderPosition=p(null),this.product=this._readUrlSrv.getProduct(),this.navigationItems=[],this.selectedIndex=0}ngOnInit(){let e=this._route.parent?.snapshot.params.uniName;this._store.dispatch(Mn({universityUrl:e})),this.campus$=this._store.pipe(B(Ln),K(i=>i?.locations?.forEach(n=>this.navigationItems.push(n.name))))}onSelectIndex(e){this.selectedIndex=e}static{this.\u0275fac=function(i){return new(i||t)(f(A),f(W),f(Q))}}static{this.\u0275cmp=_({type:t,selectors:[["uc-campus-locations"]],inputs:{uniId:[1,"uniId"],uniName:[1,"uniName"],ugSearchOrderPosition:[1,"ugSearchOrderPosition"]},features:[Te([Q])],decls:2,vars:3,consts:[[1,"container"],[1,"divi
1der"],[1,"secondary-header","!mb-0"],[3,"selectIndex","navigationItems"],["componentName","Campus Locations",3,"name","description","image","product","externalUrl","uniId","uniName","ugSearchOrderPosition"]],template:function(i,n){if(i&1&&(u(0,$r,2,1,"section",0),h(1,"async")),i&2){let g;m((g=C(1,1,n.campus$))?0:-1,g)}},dependencies:[jn,Ut,R],encapsulation:2,changeDetection:0})}}return t})();var Vn=["job_prospects","courses_lectures","accommodation","city_life","student_support"],Hn=["student_life","university_facilities","clubs_societies","student_union"],Wn=["tuition_fees","scholarships_bursaries"],Kn={job_prospects:"Job Prospects",courses_lectures:"Courses and Lectures",accommodation:"Accommodation",city_life:"City Life",student_support:"Student Support",student_life:"Student Life",university_facilities:"University Facilities",clubs_societies:"Clubs and Societies",student_union:"Students' Union",tuition_fees:"Tuition Fees",scholarships_bursaries:"Scholarships and Bursaries"};var qe=class{selectUniversitySectionData(l){return[this.selectObject(l,Vn),this.selectObject(l,Hn),this.selectObject(l,Wn)]}selectObject(l,e){if(!(!l||e?.length===0))return Object.fromEntries(e.filter(i=>i in l).map(i=>[i,l[i]]))}isPreviewMode(l,e){return!!((l.includes(b.UnderPreview)||l.includes(b.PostPreview))&&e===!0)}getCourseAvailabilityFaqAnswer(l,e,i,n,g){return l?`Clearing ${n} starts in July. Check back then to see if ${i} has any available courses.`:e?`Clearing has now closed at Uni Compare. Check back next year for Clearing ${n+1}.`:g?`Yes! ${i} currently has places available through Clearing at Uni Compare. If you're interested in a course, contact ${i} to secure your place as there's only limited spaces available.`:`Download our Clearing app and create an account to find your place in Clearing ${n}`}};var Gr=t=>({"tab-selected":t});function qr(t,l){if(t&1){let e=O();a(0,"li",3)(1,"button",4),P("click",function(){let n=T(e).$implicit,g=s();return D(g.selectKey.emit(n.key))}),v(2),o()()}if(t&2){let e=l.$implicit,i=s();r(),d("ngClass",w(2,Gr,i.selectedKey()===e.key)),r(),S(" ",e.value," ")}}var Yn=(()=>{class t{constructor(){this.navigationLabels=p(),this.selectedKey=p(),this.selectKey=me()}unsorted(){return 0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-section-navigation"]],inputs:{navigationLabels:[1,"navigationLabels"],selectedKey:[1,"selectedKey"]},outputs:{selectKey:"selectKey"},decls:6,vars:3,consts:[[1,"flex","items-center","justify-between","px-6","-mx-5","overflow-scroll","border-b","border-gray-200","hide-scrollbar","sm:px-0","sm:mx-0"],["aria-label","University sections"],[1,"flex","space-x-6","whitespace-nowrap"],["role","presentation",1,"inline-block","list-none","cursor-pointer"],["type","button","data-cy","university-section-navigation-button",1,"inline-flex","items-center","py-6","text-base","font-medium","text-gray-500","border-b-2","border-transparent","cursor-pointer","tab-hover",3,"click","ngClass"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"nav",1)(2,"ul",2),j(3,qr,3,4,"li",3,de),h(5,"keyvalue"),o()()()),i&2&&(r(3),V(I(5,0,n.navigationLabels(),n.unsorted)))},dependencies:[M,ci],encapsulation:2,changeDetection:0})}}return t})();function jr(t,l){if(t&1&&c(0,"uc-university-section-card",4),t&2){let e=l,i=s(2);d("name",e.label)("componentName",e.label)("description",e.text)("image",e.image)("product",i.product())("externalUrl",i.externalUrl())("uniId",i.uniId())("uniName",i.uniName())("ugSearchOrderPosition",i.ugSearchOrderPosition())}}function Vr(t,l){if(t&1){let e=O();a(0,"section",0)(1,"div",1)(2,"h2",2),v(3),o(),a(4,"uc-university-section-navigation",3),P("selectKey",function(n){T(e);let g=s();return D(g.onSelectKey(n))}),o(),u(5,jr,1,9,"uc-university-section-card",4),o()()}if(t&2){let e,i=s();r(3),S(" ",i.heading()," "),r(),d("navigationLabels",i.labels)("selectedKey",i.selectedKey),r(),m((e=i.universitySection()[i.selectedKey])?5:-1,e)}}var Qn=(()=>{class t{constructor(){this.uniName=p.required(),this.universitySection=p({}),this.heading=p(),this.externalUrl=p(),this.uniId=p(null),this.product=p(null),this.ugSearchOrderPosition=p.required(),this.labels={}}ngOnInit(){this.filterKeys(this.universitySection()),this.selectedKey=Object.keys(this.labels)[0]}filterKeys(e){Object.entries(e).forEach(i=>
1{if(i[1].image&&i[1].text){let n=Kn[i[0]];this.labels[i[0]]=n,e[i[0]]=le(E({},i[1]),{label:n})}})}onSelectKey(e){this.selectedKey=e}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-section"]],inputs:{uniName:[1,"uniName"],universitySection:[1,"universitySection"],heading:[1,"heading"],externalUrl:[1,"externalUrl"],uniId:[1,"uniId"],product:[1,"product"],ugSearchOrderPosition:[1,"ugSearchOrderPosition"]},decls:1,vars:1,consts:[[1,"container"],[1,"divider"],[1,"secondary-header","!mb-0"],[3,"selectKey","navigationLabels","selectedKey"],[3,"name","componentName","description","image","product","externalUrl","uniId","uniName","ugSearchOrderPosition"]],template:function(i,n){i&1&&u(0,Vr,6,4,"section",0),i&2&&m(n.universitySection()!==void 0?0:-1)},dependencies:[Yn,Ut],encapsulation:2,changeDetection:0})}}return t})();function Hr(t,l){if(t&1&&c(0,"uc-university-section",0),t&2){let e=s(2);d("heading",H("",e.uniName()," Key Information"))("externalUrl",e.externalUrl())("universitySection",e.universityInformation)("uniId",e.uniId())("product",e.product())("uniName",e.uniName())("ugSearchOrderPosition",e.ugSearchOrderPosition())}}function Wr(t,l){if(t&1&&c(0,"uc-university-section",1),t&2){let e=s(),i=s();d("externalUrl",e.external_campus_url)("universitySection",i.campusLife)("uniId",i.uniId())("product",i.product())("uniName",i.uniName())("ugSearchOrderPosition",i.ugSearchOrderPosition())}}function Kr(t,l){if(t&1&&c(0,"uc-university-section",2),t&2){let e=s(),i=s();d("externalUrl",e.external_tuition_fees_url)("universitySection",i.tuitionFees)("uniId",i.uniId())("product",i.product())("uniName",i.uniName())("ugSearchOrderPosition",i.ugSearchOrderPosition())}}function Yr(t,l){if(t&1&&(u(0,Hr,1,8,"uc-university-section",0),u(1,Wr,1,6,"uc-university-section",1),u(2,Kr,1,6,"uc-university-section",2)),t&2){let e=s();m(e.isObjectEmpty(e.universityInformation)?-1:0),r(),m(e.isObjectEmpty(e.campusLife)?-1:1),r(),m(e.isObjectEmpty(e.tuitionFees)?-1:2)}}var It=(()=>{class t{constructor(e,i){this._universityApiSrv=e,this._cd=i,this.product=p("undergraduate"),this.universityUrl=p(""),this.uniId=p(null),this.uniName=p(""),this.externalUrl=p(),this.ugSearchOrderPosition=p(null),this.universityUtils=new qe,this.isEmptyValue=n=>n===null||n===""?!0:typeof n=="object"?Object.values(n).every(this.isEmptyValue):!1}ngOnInit(){this.universitySections$=this._universityApiSrv.getUniversitySections({universityUrl:this.universityUrl(),product:this.product()}).pipe($(e=>{let[i,n,g]=this.universityUtils.selectUniversitySectionData(e);return this.universityInformation=i,this.campusLife=n,this.tuitionFees=g,this._cd.detectChanges(),e}))}isObjectEmpty(e){return e==null?!0:Object.values(e).every(this.isEmptyValue)}static{this.\u0275fac=function(i){return new(i||t)(f(On),f(pe))}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-sections"]],inputs:{product:[1,"product"],universityUrl:[1,"universityUrl"],uniId:[1,"uniId"],uniName:[1,"uniName"],externalUrl:[1,"externalUrl"],ugSearchOrderPosition:[1,"ugSearchOrderPosition"]},decls:2,vars:3,consts:[["data-cy","key-information-section",3,"externalUrl","universitySection","uniId","product","heading","uniName","ugSearchOrderPosition"],["heading","Campus Life","data-cy","campus-life-section",3,"externalUrl","universitySection","uniId","product","uniName","ugSearchOrderPosition"],["heading","Tuition Fees, Scholarships and Bursaries","data-cy","tuition-fees-section",3,"externalUrl","universitySection","uniId","product","uniName","ugSearchOrderPosition"]],template:function(i,n){if(i&1&&(u(0,Yr,3,3),h(1,"async")),i&2){let g;m((g=C(1,1,n.universitySections$))?0:-1,g)}},dependencies:[Qn,R],encapsulation:2,changeDetection:0})}}return t})();var Qr=t=>({"md:flex md:gap-16":t}),zr=t=>({"mb-4":t});function Jr(t,l){if(t&1&&c(0,"uc-visit-website-btn",9),t&2){let e=s();d("customStyles",H("",e.carousel()?"mt-4":"md:max-w-max mt-6"," w-full"))("externalUrl",e.externalUrl())("product",e.product())("uniId",e.uniId())("source",e.uniName())("ugSearchOrderPosition",e.ugSearchOrderPosition())("uniName",e.uniName())}}var Et=(()=>{class t{constructor(){this.uniName=p.required(),this.image=p(),this.name=p(),this.price=p(),this.totalRooms=p(),this.universityUrl=p(),this.uniId=p(null),this.product=p(null),this.externalUrl=p(),this.carousel=p(!1),this.ugSearchOrderPosition=p.required()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-accommodation-card"]],inputs:{uniName:[1,"uniName"],image:[1,"image"],name:[1,"name"],price:[1,"price"],totalRooms:[1,"totalRooms"],universityUrl:[1,"universityUrl"],uniId:[1,"uniId"],product:[1,"product"],externalUrl:[1,"externalUrl"],carousel:[1,"carousel"],ugSearchOrderPosition:[1,"ugSearchOrderPosition"]},decls:22,vars:15,consts:[[1,"h-full","bg-white",3,"ngClass"],[1,"relative","w-full",3,"ngClass"],["alt","Accommodation Image","fill","",1,"object-cover","rounded-2xl",3,"ngSrc"],[1,"flex-1",3,"ngClass"],[1,"mt-4","text-xl","font-bold","text-left","text-gray-900"],[1,"flex","items-center","justify-between","mt-4","text-lg"],[1,"flex","items-center","gap-3"],["customStyles","h-5 w-5 text-gray-900"],[1,"font-medium"],["componentName","Accommodation Choices","buttonText","Visit Website","sourceType","uni",3,"customStyles","externalUrl","product","uniId","source","ugSearchOrderPosition","uniName"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"div",1),c(2,"img",2),h(3,"cdn"),o(),a(4,"div",3)(5,"p",4),v(6),o(),a(7,"div",5)(8,"p",6),c(9,"uc-pound-svg",7),a(10,"span"),v(11,"Housing Price"),o()(),a(12,"span",8),v(13),o()(),a(14,"div",5)(15,"p",6),c(16,"uc-office-svg"),a(17,"span"),v(18,"Total Rooms"),o()(),a(19,"span",8),v(20),o()(),u(21,Jr,1,8,"uc-visit-website-btn",9),o()()),i&2&&(d("ngClass",w(11,Qr,!n.carousel())),r(),d("ngClass",nt(n.carousel()?"h-48":"md:!w-2/5 h-48 md:h-auto")),r(),d("ngSrc",C(3,9,n.image()??"/assets/img/acm.jpg")),r(2),d("ngClass",w(13,zr,!n.carousel())),r(2),S(" ",n.name()," "),r(7),F(n.price()?"\xA3"+n.price()+" pw":"Varied"),r(7),F(n.totalRooms()?n.totalRooms()+" rooms":"Varied"),r(),m(n.externalUrl()?21:-1))},dependencies:[M,ot,Yi,ct,z,ke],encapsulation:2,changeDetection:0})}}return t})();var Xr=["swiperRef"],Zr=(t,l)=>l.name;function eo(t,l){if(t&1&&(a(0,"swiper-slide"),c(1,"uc-accommodation-card",3),o()),t&2){let e=l.$implicit,i=s();r(),d("image",e.image)("name",e.name)("price",e.price)("totalRooms",e.total_rooms)("universityUrl",i.universityUrl())("uniId",i.uniId())("product",i.product())("externalUrl",i.externalUrl())("c
1arousel",!0)("uniName",i.uniName())("ugSearchOrderPosition",i.ugSearchOrderPosition())}}var zn=(()=>{class t{constructor(){this.uniName=p.required(),this.ugSearchOrderPosition=p(null),this.accommodationLocations=p(),this.externalUrl=p(),this.accommodationRank=p(),this.accommodationRating=p(),this.universityUrl=p(),this.uniId=p(null),this.product=p(null),ti(()=>{this._initSwiper()})}setValue(){return this.accommodationLocations?.length===2?2:3}_initSwiper(){let e={slidesPerView:1.1,spaceBetween:24,loop:!1,a11y:{enabled:!1},navigation:{nextEl:".swiper-button-next-accommodation",prevEl:".swiper-button-prev-accommodation"},pagination:{type:"fraction",el:".carousel-index-accommodation"},breakpoints:{590:{slidesPerView:2,spaceBetween:32,slidesPerGroup:2},879:{slidesPerView:this.setValue(),spaceBetween:32,slidesPerGroup:this.setValue()}}},i=this.swiperRef?.nativeElement;Object.assign(i,e),i.initialize()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-accommodation-carousel"]],viewQuery:function(i,n){if(i&1&&it(Xr,7),i&2){let g;Ie(g=Ee())&&(n.swiperRef=g.first)}},inputs:{uniName:[1,"uniName"],ugSearchOrderPosition:[1,"ugSearchOrderPosition"],accommodationLocations:[1,"accommodationLocations"],externalUrl:[1,"externalUrl"],accommodationRank:[1,"accommodationRank"],accommodationRating:[1,"accommodationRating"],universityUrl:[1,"universityUrl"],uniId:[1,"uniId"],product:[1,"product"]},decls:5,vars:0,consts:[["swiperRef",""],[1,"!px-5"],["init","false"],[3,"image","name","price","totalRooms","universityUrl","uniId","product","externalUrl","carousel","uniName","ugSearchOrderPosition"]],template:function(i,n){i&1&&(a(0,"div",1)(1,"swiper-container",2,0),j(3,eo,2,11,"swiper-slide",null,Zr),o()()),i&2&&(r(3),V(n.accommodationLocations()))},dependencies:[Et],encapsulation:2})}}return t})();var Jn=(()=>{class t{constructor(e){this._visitWebsiteApiSrv=e,this.universityExternalUrl=p.required(),this.uniId=p.required(),this.uniName=p.required(),this.ugSearchOrderPosition=p.required(),this.product=p.required()}onVisitWebsiteClick(){let e=Vi(this.uniName(),"uni");this._visitWebsiteApiSrv.visitWebsiteClick(this.uniId(),e)}static{this.\u0275fac=function(i){return new(i||t)(f($i))}}static{this.\u0275cmp=_({type:t,selectors:[["uc-no-accommodation"]],inputs:{universityExternalUrl:[1,"universityExternalUrl"],uniId:[1,"uniId"],uniName:[1,"uniName"],ugSearchOrderPosition:[1,"ugSearchOrderPosition"],product:[1,"product"]},decls:14,vars:6,consts:[[1,"divider","!border-b-0","grid","gap-8","lg:mt-0","lg:grid-cols-1"],[1,"flex","flex-col"],[1,"px-6","py-12","overflow-hidden","border","border-gray-200","rounded-lg","bg-gray-50"],[1,"flex","justify-center","mb-6"],["customStyles","w-6 h-6 mr-0.5 p-0.5"],["customStyles","w-6 h-6 p-0.5"],[1,"m-auto","text-xl","font-bold","leading-6","text-center"],[1,"max-w-4xl","px-6","m-auto","mt-3","text-base","text-center","text-gray-500"],["ucWebsiteClickGA","","componentName","Accommodation Empty State","rel","noopener sponsored","target","_blank","data-cy","no-accommodation-visit-website",1,"font-bold","text-gray-800","underline",3,"click","uniId","uniName","product","ugSearchOrderPosition","cleSearchOrderPosition"]],template:function(i,n){i&1&&(a(0,"section",0)(1,"div",1)(2,"div",2)(3,"div",3),c(4,"uc-house-svg",4)(5,"uc-key-svg")(6,"uc-office-svg",5),o(),a(7,"h2",6),v(8,"Accommodation"),o(),a(9,"p",7),v(10," Unfortunately, we're unable to gather accommodation for this university. "),a(11,"a",8),P("click",function(){return n.onVisitWebsiteClick()}),v(12,"Click here"),o(),v(13," to find out more about possible accommodation options on the university's website. "),o()()()()),i&2&&(r(11),d("uniId",n.uniId())("uniName",n.uniName())("product",n.product())("ugSearchOrderPosition",n.ugSearchOrderPosition())("cleSearchOrderPosition",null),Je("href",n.universityExternalUrl(),ze))},dependencies:[Fe,tn,ct,ji],encapsulation:2,changeDetection:0})}}return t})();function to(t,l){t&1&&(a(0,"div",6),c(1,"p",9),a(2,"div",10),c(3,"button",11)(4,"button",12),o()())}function io(t,l){if(t&1&&c(0,"uc-accommodation-card",7),t&2){let e=s(2),i=s();d("image",e.locations[0].image)("name",e.locations[0].name)("price",e.locations[0].price)("totalRooms",e.locations[0].total_rooms)("universityUrl",i.universityUrl())("uniId",i.uniId())("product",i.product())("externalUrl",e.external_url)("carousel",!1)("uniName",i.uniName())("ugSearchOrderPosition",i.ugSearchOrderPosition())}}function no(t,l){if(t&1&&(a(0,"div",8),c(1,"uc-accommodation-carousel",13),o()),t&2){let e=s(2),i=s();r(),d("accommodationLocations",e.locations)("accommodationRank",e.rank)("accommodationRating",e.rating)("externalUrl",e.external_url)("universityUrl",i.universityUrl())("uniId",i.uniId())("product",i.product())("uniName",i.uniName())("ugSearchOrderPosition",i.ugSearchOrderPosition())}}function ro(t,l){if(t&1&&(a(0,"div",1)(1,"div",3)(2,"div",4)(3,"h2",5),v(4),o(),u(5,to,5,0,"div",6),o()(),u(6,io,1,11,"uc-accommodation-card",7),u(7,no,2,9,"div",8),o()),t&2){let e=s(),i=s();r(4),S(" ",i.uniName()," Accommodation Choices "),r(),m(e.locations.length>1?5:-1),r(),m(e.locations.length===1?6:-1),r(),m(e.locations.length>=2?7:-1)}}function oo(t,l){if(t&1&&c(0,"uc-no-accommodation",2),t&2){let e=s(2);d("universityExternalUrl",e.universityExternalUrl())("uniId",e.uniId())("uniName",e.uniName())("ugSearchOrderPosition",e.ugSearchOrderPosition())("product",e.product())}}function ao(t,l){t&1&&(a(0,"section",0),u(1,ro,8,4,"div",1)(2,oo,1,5,"uc-no-accommodation",2),o()),t&2&&(r(),m(l.locations.length>0?1:2))}var Tt=(()=>{class t{constructor(e){this._store=e,this.universityUrl=p(""),this.uniId=p(null),this.uniName=p(""),this.universityExternalUrl=p(""),this.ugSearchOrderPosition=p.required(),this.product=p(null)}ngOnInit(){this._store.dispatch(An({universityUrl:this.universityUrl()})),this.accommodation$=this._store.select(Bn)}static{this.\u0275fac=function(i){return new(i||t)(f(A))}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-accommodation"]],inputs:{universityUrl:[1,"universityUrl"],uniId:[1,"uniId"],uniName:[1,"uniName"],universityExternalUrl:[1,"universityExternalUrl"],ugSearchOrderPosition:[1,"ugSearchOrderPosition"],product:[1,"product"]},decls:2,vars:3,consts:[[1,"container"],["id","uniAccommodation","data-cy","uni-accommodation",1,"!border-b-0","divider"],[3,"universityExternalUrl","uniId","uniName","ugSearchOrderPosition","product"],[1,"pb-2"],[1,"relative","flex","justify-between","gap-6"],[1,"secondary-header"],[1,"flex","items-center","gap-3"],[3,"image","name","price","totalRooms","universityUrl","uniId","product","externalUrl","carousel","uniName","ugSearchOrderPosition"],[1,"-mx-5"],[1,"carousel-pagination","carousel-index-accommodation"],[1,"hidden","gap-3","sm:flex"],["type","button","aria-label","Previous accommodation",1,"carousel-navigation","swiper-button-prev","swiper-button-prev-accommodation"],["type","button","aria-label","Next accommodation",1,"carousel-navigation","swiper-button-next","swiper-button-next-accommodation"],["ngSkipHydration","",3,"accommodationLocations","accommodationRank","accommodationRating","externalUrl","universityUrl","uniId","product","uniName","ugSearchOrderPosition"]],template:function(i,n){if(i&1&&(u(0,ao,3,1,"section",0),h(1,"async")),i&2){let g;m((g=C(1,1,n.accommodation$))?0:-1,g)}},dependencies:[Et,zn,Jn,R],encapsulation:2,changeDetection:0})}}return t})();var so=()=>["view"],lo=t=>({"border-t sm:border-t-0":t});function co(t,l){t&1&&c(0,"uc-university-skeleton",0),t&2&&d("header",!1)("banner",!0)}function uo(t,l){if(t&1&&(a(0,"div",7),c(1,"uc-university-information",12),o()),t&2){let e=s(2);r(),d("totalStudents",e.stats.total_students)("studentsInHalls",e.stats.students_in_hall)("fullTime",e.stats.full_time_students_percentage)("avgTariffPoints",e.stats.average_entry_tariff)}}function mo(t,l){if(t&1&&c(0,"uc-visit-website-btn",14),t&2){let e=s(3);d("externalUrl",e.undergraduate.external_url)("source",e.name)("uniId",e.id)("ugSearchOrderPosition",e.order)("uniName",e.name)}}function po(t,l){if(t&1&&(a(0,"div",8),c(1,"uc-heading",13),u(2,mo,1,5,"uc-visit-website-btn",14),o()),t&2){let e=s(2),i=s();d("ngClass",w(5,lo,!i.isFeaturedUndergraduate)),r(),d("headingTitle",H("About ",e.name))("description",e.overview),r(),m(i.isFeaturedUndergraduate?2:-1)}}function vo(t,l){if(t&1&&c(0,"uc-university-events",16),t&2){let e=s(3),i=s();d("paidFeatures",e.paid_features)("rating",e.stats.rating)("events",l)("uniName",e.name)("uniSlug",e.slug)("uniLogo",e.logo)("product",i.product)("uniId",e.id)("externalEventsUrl",e.undergraduate.external_events_url)("ugSearchOrderPosition",e.order)("privacyPolicyUrl",e.privacy_policy_url)}}function go(t,l){if(t&1&&(c(0,"uc-campus-locations",15),u(1,vo,1,11,"uc-university-events",16),h(2,"async"),c(3,"uc-course-search-banner",17)(4,"uc-u
1niversity-sections",18)(5,"uc-university-accommodation",19)),t&2){let e,i=s(2),n=s();d("uniId",i.id)("uniName",i.name)("ugSearchOrderPosition",i.order),r(),m((e=C(2,21,n.events$))?1:-1,e),r(2),d("description",H("Find more courses from ",i.name," with our undergraduate course search."))("product",n.product)("uniName",i.name)("uniSlug",i.slug),r(),d("universityUrl",n.universityUrl)("uniId",i.id)("product",n.product)("uniName",i.name)("externalUrl",i.undergraduate.external_url)("ugSearchOrderPosition",i.order),r(),d("universityExternalUrl",i.undergraduate.external_url)("universityUrl",n.universityUrl)("uniId",i.id)("uniName",i.name)("product",n.product)("ugSearchOrderPosition",i.order)}}function ho(t,l){t&1&&(a(0,"div",9),c(1,"uc-recommended-unis-grid",20),o())}function _o(t,l){if(t&1&&(a(0,"uc-client-profile-sticky-lead-bar-mobile",10),c(1,"uc-visit-website-btn",21),o()),t&2){let e=s(2),i=s();d("isFeatured",i.isFeaturedUndergraduate),r(),d("externalUrl",e.undergraduate.external_url)("uniId",e.id)("source",e.name)("uniName",e.name)("ugSearchOrderPosition",e.order)}}function fo(t,l){if(t&1&&c(0,"uc-client-profile-sticky-lead-bar-desktop",11),t&2){let e=s(2),i=s();d("uniId",e.id)("product",i.product)("paidFeatures",e.paid_features)("externalUrl",e.undergraduate.external_url)("externalEventsUrl",e.undergraduate.external_events_url)("prospectusExternalUrl",e.undergraduate.external_prospectus_url??"")("showClearing",!1)("source",e.name)("privacyPolicyUrl",e.privacy_policy_url)("ugSearchOrderPosition",e.order)("cleSearchOrderPosition",null)("uniName",e.name)("showRequestButton",i.showRequestButton)}}function yo(t,l){if(t&1&&(a(0,"div",2)(1,"uc-university-slider",3),c(2,"u
1c-university-header-title",4)(3,"uc-cta-non-clearing",5),o(),a(4,"div",6),u(5,uo,2,4,"div",7),u(6,po,3,7,"div",8),o(),u(7,go,6,23),u(8,ho,2,0,"div",9),u(9,_o,2,6,"uc-client-profile-sticky-lead-bar-mobile",10),u(10,fo,1,13,"uc-client-profile-sticky-lead-bar-desktop",11),o()),t&2){let e=s(),i=s();d("eventTypes",N(40,so))("uniId",e.id)("uniName",e.name)("ugSearchOrderPosition",e.order)("cleSearchOrderPosition",null)("regionFilter",e.address==null?null:e.address.region),r(),d("uniGallery",i.uniGallery)("product",i.product)("isFeaturedGallery",i.isFeaturedGallery)("uniSliderCopy",i.isFeaturedUndergraduate?i.uniSliderCopy.undergraduate:i.uniSliderCopy.nonClient)("id",e.id)("saved",e.saved)("delta",1)("ugSearchOrderPosition",e.order)("cleSearchOrderPosition",null)("uniName",e.name),r(),d("name",e.name)("recommendedPercentage",e.stats.recommended_percentage)("paidFeatures",e.paid_features)("subdirectory",i.product)("product",i.product)("slug",e.slug)("uniId",e.id),r(),d("isFeatured",i.isFeaturedUndergraduate)("uniId",e.id)("externalUrl",e.undergraduate.external_url)("externalEventsUrl",e.undergraduate.external_events_url)("externalProspectusUrl",e.undergraduate.external_prospectus_url??"")("product",i.product)("uniSlug",e.slug)("uniName",e.name)("privacyPolicyUrl",e.privacy_policy_url)("ugSearchOrderPosition",e.order)("showRequestButton",i.showRequestButton),r(2),m(i.isFeaturedUndergraduate?5:-1),r(),m(e.overview?6:-1),r(),m(i.isFeaturedUndergraduate?7:-1),r(),m(i.isFeaturedUndergraduate?-1:8),r(),m(e?9:-1),r(),m(i.isFeaturedUndergraduate?10:-1)}}function Co(t,l){if(t&1&&(a(0,"main",1),u(1,yo,11,41,"div",2),h(2,"async"),o()),t&2){let e=s();r(),m(C(2,1,e.isLoading$)===!1?1:-1)}}var Xn=(()=>{class t{constructor(e,i,n,g,k){this._store=e,this._route=i,this._seoSrv=n,this._cvSrv=g,this._videoGASrv=k,this.paidFeatures=[b.Undergraduate],this.paidFeaturesGallery=[...this.paidFeatures],this.product=L.Undergraduate,this.isLoading$=this._store.select(St),this.universityUrl=this._route.parent?.snapshot.params.uniName,this.uniSliderCopy=E({},Ce.uni),this.university$=this._store.pipe(B(oe),X(y=>!Y(y)),$(y=>{if(y)return this.isFeaturedUndergraduate=this._cvSrv.checkFeature(y?.paid_features,this.paidFeatures),this.showRequestButton=this._cvSrv.checkFeature(y?.paid_features,b.RequestInformation),this.isFeaturedGallery=this._cvSrv.checkFeature(y?.paid_features,this.paidFeaturesGallery),this.uniGallery={cover_image:y.undergraduate?.cover_image,images:y.universityGallery.images,video:y.universityGallery.video},this.handleSEO(y.seo),y})),this.events$=this._store.pipe(B(xi)),this._isPreview=this._route.parent?.snapshot.queryParams.preview==="true"}ngOnInit(){this._isPreview&&(this.paidFeatures.push(b.UnderPreview),this.paidFeaturesGallery.push(b.UnderPreview),this.paidFeaturesGallery.push(b.PostPreview)),this._routeSub=this._route.parent?.paramMap.subscribe(e=>{this.universityUrl=e.get("uniName");let i={universityUrl:this.universityUrl,product:this.product};this._store.dispatch(_e(i)),this._store.dispatch(xt(i))}),this._store.dispatch(Re({uniSlug:this.universityUrl})),this.onUniProfileImpression()}handleSEO(e){this._seoSrv.updateTitle(e.title),this._seoSrv.updateDescription(e.description)}ngOnDestroy(){this._routeSub?.unsubscribe()}onUniProfileImpression(){this.university$.pipe(Pe(1),$(e=>{e&&this.uniGallery.video?.url&&this._videoGASrv.impression(e.id,this.product)})).subscribe()}static{this.\u0275fac=function(i){return new(i||t)(f(A),f(W),f(ee),f(Z),f(Oe))}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-profile"]],decls:4,vars:6,consts:[[3,"header","banner"],[1,"relative","sm:mt-0"],["ucUniProfileGA","","ucUniImpressionGA","","product","undergraduate","profileTab","Undergraduate","degreeLevel","Undergraduate",3,"eventTypes","uniId","uniName","ugSearchOrderPosition","cleSearchOrderPosition","regionFilter"],[3,"uniGallery","product","isFeaturedGallery","uniSliderCopy","id","saved","delta","ugSearchOrderPosition","cleSearchOrderPosition","uniName"],["headerTitle","",3,"name","recommendedPercentage","paidFeatures","subdirectory","product","slug","uniId"],["sourceType","uni",3,"isFeatured","uniId","externalUrl","externalEventsUrl","externalProspectusUrl","product","uniSlug","uniName","privacyPolicyUrl","ugSearchOrderPosition","showRequestButton"],[1,"container","sm:border-t"],[1,"pt-8","border-t","sm:divider","sm:border-t-0"],[1,"flex","flex-col","gap-4","divider",3,"ngClass"],[1,"container","pb-8","lg:pb-0"],[3,"isFeatured"],["sourceType","uni",3,"uniId","product","paidFeatures","externalUrl","externalEventsUrl","prospectusExternalUrl","showClearing","source","privacyPolicyUrl","ugSearchOrderPosition","cleSearchOrderPosition","uniName","showRequestButton"],[3,"totalStudents","studentsInHalls","fullTime","avgTariffPoints"],[3,"headingTitle","description"],["product","undergraduate","sourceType","uni","customStyles","w-full sm:max-w-xs","componentName","University Overview","data-cy","university-overview-visit-website-btn",3,"externalUrl","source","uniId","ugSearchOrderPosition","uniName"],[3,"uniId","uniName","ugSearchOrderPosition"],[3,"paidFeatures","rating","events","uniName","uniSlug","uniLogo","product","uniId","externalEventsUrl","ugSearchOrderPosition","privacyPolicyUrl"],[3,"product","uniName","uniSlug","description"],[3,"universityUrl","uniId","product","uniName","externalUrl","ugSearchOrderPosition"],[3,"universityExternalUrl","universityUrl","uniId","uniName","product","ugSearchOrderPosition"],["product","undergraduate","componentName","UG Recommended Universities"],["customStyles","w-full","componentName","Sticky Lead Bar","sourceType","uni","product","undergraduate",3,"externalUrl","uniId","source","uniName","ugSearchOrderPosition"]],template:function(i,n){if(i&1&&(u(0,co,1,2,"uc-university-skeleton",0),h(1,"async"),u(2,Co,3,3,"main",1),h(3,"async")),i&2){let g;m(C(1,2,n.isLoading$)===!0?0:-1),r(2),m((g=C(3,4,n.university$))?2:-1,g)}},dependencies:[M,se,J,Be,re,z,Nt,_t,Me,It,Tt,Ae,xe,ye,bt,ae,ie,ne,R],encapsulation:2,changeDetection:0})}}return t})();var je=(t,l)=>{let e,i=t?.length;switch(l){case"postgraduate":i<22?e=`${t} Postgraduate | Ranking & Locations`:i===22?e=`${t} Postgraduate | Rating & Locations`:i>22&&i<34?e=`${t} Postgraduate Locations`:i===34?e=`${t} Postgraduate Openings`:i===35?e=`${t} Postgraduate Spaces`:e=`${t} Postgraduate`;break;case"clearing":e=`${t} Clearing | Degree Course Vacancies`;break;case"reviews":i<26?e=`${t} Reviews | Ranks & Testimonies`:i>=26&&i<=40?e=`${t} Reviews & Ratings`:e=`${t} Reviews`;break;default:e=`${t} | Ranking & Locations`}return e},Ve=(t,l)=>{let e;switch(l){case"postgraduate":e=`Find everything about ${t} Postgraduate Courses at University Compare. Read the latest information on rankings, reviews, accommodation and more.`;break;case"clearing":e=`Find everything about ${t} Clearing at University Compare. Read the latest information on rankings, reviews, testimonies and more.`;break;case"reviews":e=`Find everything about ${t} reviews at University Compare. Read the latest information on rankings, reviews, accommodation and more.`;break;default:e=`Find everything you need to know about ${t} at University Compare. Read the latest information on rankings, reviews, accommodation and more.`}return e};var xo=()=>["view"],So=t=>({"border-t sm:border-t-0":t});function bo(t,l){t&1&&c(0,"uc-university-skeleton",1),t&2&&d("header",!1)("banner",!0)}function wo(t,l){if(t&1&&(a(0,"div",7),c(1,"uc-university-information",12),o()),t&2){let e=s(2);r(),d("totalStudents",e.stats.total_students)("studentsInHalls",e.stats.students_in_hall)("fullTime",e.stats.full_time_students_percentage)("avgTariffPoints",e.stats.average_entry_tariff)}}function Po(t,l){if(t&1&&c(0,"uc-visit-website-btn",14),t&2){let e=s(3);d("externalUrl",e.postgraduate.external_url)("source",e.name)("uniId",e.id)("uniName",e.name)("ugSearchOrderPosition",null)}}function Uo(t,l){if(t&1&&(a(0,"div",8),c(1,"uc-heading",13),u(2,Po,1,5,"uc-visit-website-btn",14),o()),t&2){let e=s(2),i=s();d("ngClass",w(5,So,!i.isFeaturedPostgraduate)),r(),d("headingTitle",H("About ",e.name))("description",e.overview),r(),m(i.isFeaturedPostgraduate?2:-1)}}function No(t,l){if(t&1&&c(0,"uc-university-events",16),t&2){let e=s(3),i=s();d("paidFeatures",e.paid_features)("rating",e.stats.rating)("events",l)("uniName",e.name)("uniSlug",e.slug)("uniLogo",e.logo)("product",i.product)("uniId",e.id)("externalEventsUrl",e.postgraduate.external_events_url)("ugSearchOrderPosition",null)("privacyPolicyUrl",e.privacy_policy_url)}}function Io(t,l){t&1&&c(0,"uc-university-skeleton",1),t&2&&d("header",!1)("banner",!0)}function Eo(t,l){if(t&1&&(a(0,"div"),c(1,"uc-campus-locations",15),u(2,No,1,11,"uc-university-events",16),h(3,"async"),c(4,"uc-course-search-banner",17)(5,"uc-university-sections",18),Ne(6,Io,1,2,"ng-template",null,0,si),c(8,"uc-university-accommodation",19),o()),t&2){let e,i=s(2),n=s();r(),d("uniId",i.id)("uniName",i.name),r(),m((e=C(3,20,n.events$))?2:-1,e),r(2),d("description",H("Take the next steps at ",i.name," with our postgraduate course search."))("product",n.product)("uniName",i.name)("uniSlug",i.slug),r(),d("universityUrl",n.universityUrl)("uniId",i.id)("product",n.product)("uniName",i.name)("externalUrl",i.postgraduate.external_url)("ugSearchOrderPosition",null),r(3),d("universityExternalUrl",i.postgraduate.external_url)("universityUrl",n.universityUrl)("uniId",i.id)("uniName",i.name)("product",n.product)("ugSearchOrderPosition",null)}}function To(t,l){t&1&&(a(0,"div",9),c(1,"uc-recommended-unis-grid",20),o())}function Do(t,l){if(t&1&&(a(0,"uc-client-profile-sticky-lead-bar-mobile",10),c(1,"uc-visit-website-btn",21),o()),t&2){let e=s(2),i=s();d("isFeatured",i.isFeaturedPostgraduate),r(),d("externalUrl",e.postgraduate.external_url)("uniId",e.id)("source",e.name)("uniName",e.name)("ugSearchOrderPosition",null)}}function Ro(t,l){if(t&1&&c(0,"uc-client-profile-sticky-lead-bar-desktop",11),t&2){let e=s(2),i=s();d("uniId",e.id)("uniName",e.name)("product",i.product)("paidFeatures",e.paid_features)("externalUrl",e.postgraduate.external_url)("prospectusExternalUrl",e.postgraduate.external_prospectus_url??"")("externalEventsUrl",e.postgraduate.external_events_url)("showClearing",!1)("source",e.name)("privacyPolicyUrl",e.privacy_policy_url)("ugSearchOrderPosition",null)("cleSearchOrderPosition",null)("showRequestButton",i.showRequestButton)}}function ko(t,l){if(t&1&&(a(0,"uc-university-slider",3),c(1,"uc-university-header-title",4)(2,"uc-cta-non-clearing",5),o(),a(3,"div",6),u(4,wo,2,4,"div",7),u(5,Uo,3,7,"div",8),o(),u(6,Eo,9,22,"div"),u(7,To,2,0,"div",9),u(8,Do,2,6,"uc-client-profile-sticky-lead-bar-mobile",10),u(9,Ro,1,13,"uc-client-profile-sticky-lead-bar-desktop",11)),t&2){let e=s(),i=s();d("uniGallery",i.uniGallery)("product",i.product)("isFeaturedGallery",i.isFeaturedGallery)("uniSliderCopy",i.isFeaturedPostgraduate?i.uniSliderCopy.postgraduate:i.uniSliderCopy.nonClient)("id",e.id)("saved",e.saved)("delta",1)("uniName",e.name)("ugSearchOrderPosition",null)("cleSearchOrderPosition",null),r(),d("name",e.name)("recommendedPercentage",e.stats.recommended_percentage)("paidFeatures",e.paid_features)("subdirectory",i.product)("product",i.product)("slug",e.slug)("uniId",e.id),r(),d("isFeatured",i.isFeaturedPostgraduate)("uniId",e.id)("externalUrl",e.postgraduate.external_url)("externalEventsUrl",e.postgraduate.external_events_url)("externalProspectusUrl",e.postgraduate.external_prospectus_url??"")("product",i.product)("uniSlug",e.slug)("uniName",e.name)("privacyPolicyUrl",e.privacy_policy_url)("ugSearchOrderPosition",null)("showRequestButton",i.showRequestButton),r(2),m(i.isFeaturedPostgraduate?4:-1),r(),m(e.overview?5:-1),r(),m(i.isFeaturedPostgraduate?6:-1),r(),m(i.isFeaturedPostgraduate?-1:7),r(),m(e?8:-1),r(),m(i.isFeaturedPostgraduate?9:-1)}}function Oo(t,l){if(t&1&&(a(0,"main",2),u(1,ko,10,34),h(2,"async"),o()),t&2){let e=l,i=s();d("eventTypes",N(9,xo))("uniId",e.id)("uniName",e.name)("ugSearchOrderPosition",null)("cleSearchOrderPosition",null)("regionFilter",e.address==null?null:e.address.region),r(),m(C(2,7,i.isLoading$)===!1?1:-1)}}var Zn=(()=>{class t{constructor(e,i,n,g,k){this._store=e,this._route=i,this._seoSrv=n,this._cvSrv=g,this._videoGASrv=k,this.paidFeatures=[b.Postgraduate],this.paidFeaturesGallery=[...this.paidFeatures],this.product=L.Postgraduate,this.isLoading$=this._store.pipe(B(St)),this.universityUrl=this._route.parent?.snapshot.params.uniName,this.uniSliderCopy=E({},Ce.uni),this.university$=this._store.pipe(B(oe),X(y=>!Y(y)),$(y=>{if(y)return this.isFeaturedPostgraduate=this._cvSrv.checkFeature(y?.paid_features,this.paidFeatures),this.showRequestButton=this._cvSrv.checkFeature(y?.paid_features,b.RequestInformation),this.isFeaturedGallery=this._cvSrv.checkFeature(y?.paid_features,this.paidFeaturesGallery),this._createGallery(y),this.handleSEO(y.name),y})),this.events$=this._store.pipe(B(Si))}ngOnInit(){this._route.parent?.snapshot.queryParams.preview==="true"&&(this.paidFeatures.push(b.PostPreview),this.paidFeaturesGallery.push(b.PostPreview),this.paidFeaturesGallery.push(b.UnderPreview)),this._routeSub=this._route.parent?.paramMap.subscribe(e=>{this.universityUrl=e.get("uniName");let i={universityUrl:this.universityUrl,product:this.product};this._store.dispatch(_e(i)),this._store.dispatch(xt(i))}),this._store.dispatch(Re({uniSlug:this.universityUrl})),this.onUniProfileImpression()}ngOnDestroy(){this._routeSub?.unsubscribe()}handleSEO(e){let i=je(e,"postgraduate"),n=Ve(e,"postgraduate");this._seoSrv.updateTitle(i),this._seoSrv.updateDescription(n)}onUniProfileImpression(){this.university$.pipe(Pe(1),$(e=>{e&&this.uniGallery.video?.url&&this._videoGASrv.impression(e.id,this.product)})).subscribe()}_createGallery(e){if(!e||!e.universityGallery)return;let i=e.postgraduate?.cover_image?e.postgraduate.cover_image:e.undergraduate.cover_image;this.uniGallery={cover_image:i,images:e.universityGallery.images,video:e.universityGallery.video}}static{this.\u0275fac=function(i){return new(i||t)(f(A),f(W),f(ee),f(Z),f(Oe))}}static{this.\u0275cmp=_({type:t,selectors:[["uc-postgraduate-profile"]],decls:4,vars:6,consts:[["universitySectionsLoading",""],[3,"header","banner"],["ucUniProfileGA","","ucUniImpressionGA","","product","postgraduate","degreeLevel","Postgraduate","profileTab","Postgraduate",1,"relative","sm:mt-0",3,"eventTypes","uniId","uniName","ugSearchOrderPosition","cleSearchOrderPosition","regionFilter"],[3,"uniGallery","product","isFeaturedGallery","uniSliderCopy","id","saved","delta","uniName","ugSearchOrderPosition","cleSearchOrderPosition"],["headerTitle","",3,"name","recommendedPercentage","paidFeatures","subdirectory","product","slug","uniId"],["sourceType","uni",3,"isFeatured","uniId","externalUrl","externalEventsUrl","externalProspectusUrl","product","uniSlug","uniName","privacyPolicyUrl","ugSearchOrderPosition","showRequestButton"],[1,"container","sm:border-t"],[1,"pt-8","border-t","sm:divider","sm:border-t-0"],[1,"flex","flex-col","gap-4","divider",3,"ngClass"],[1,"container","pb-8","lg:pb-0"],[3,"isFeatured"],["sourceType","uni",3,"uniId","uniName","product","paidFeatures","externalUrl","prospectusExternalUrl","externalEventsUrl","showClearing","source","privacyPolicyUrl","ugSearchOrderPosition","cleSearchOrderPosition","showRequestButton"],[3,"totalStudents","studentsInHalls","fullTime","avgTariffPoints"],[3,"headingTitle","description"],["sourceType","uni","product","postgraduate","customStyles","w-full sm:max-w-xs","componentName","University Overview",3,"externalUrl","source","uniId","uniName","ugSearchOrderPosition"],[3,"uniId","uniName"],[3,"paidFeatures","rating","events","uniName","uniSlug","uniLogo","product","uniId","externalEventsUrl","ugSearchOrderPosition","privacyPolicyUrl"],[3,"product","uniName","uniSlug","description"],[3,"universityUrl","uniId","product","uniName","externalUrl","ugSearchOrderPosition"],[3,"universityExternalUrl","universityUrl","uniId","uniName","product","ugSearchOrderPosition"],["product","postgraduate","componentName","PG Recommended Universities"],["customStyles","w-full","componentName","Sticky Lead Bar","sourceType","uni","product","postgraduate",3,"externalUrl","uniId","source","uniName","ugSearchOrderPosition"]],template:function(i,n){if(i&1&&(u(0,bo,1,2,"uc-university-skeleton",1),h(1,"async"),u(2,Oo,3,10,"main",2),h(3,"async")),i&2)
1{let g;m(C(1,2,n.isLoading$)===!0?0:-1),r(2),m((g=C(3,4,n.university$))?2:-1,g)}},dependencies:[M,se,J,Be,re,z,Nt,_t,Me,It,Tt,xe,Ae,ye,bt,ae,ie,ne,R],encapsulation:2,changeDetection:0})}}return t})();function Fo(t,l){if(t&1&&(a(0,"a",1),v(1),o(),c(2,"uc-write-review-btn",2)),t&2){let e=s();r(),S(" Search ",e.currentYear," Open Days "),r(),d("universityUrl",e.uniSlug())("universityId",e.uniId())("universityName",e.uniName())}}function Mo(t,l){if(t&1&&c(0,"uc-book-event-btn",0),t&2){let e,i,n,g=s();d("externalUrl",((e=g.featuredEvent())==null?null:e.external_url)??"")("uniId",g.uniId())("product",g.product())("eventType",(i=g.featuredEvent())==null?null:i.type)("date",(n=g.featuredEvent())==null?null:n.date)("ugSearchOrderPosition",g.ugSearchOrderPosition())("privacyPolicyUrl",g.privacyPolicyUrl())("uniName",g.uniName())}}function Lo(t,l){if(t&1&&c(0,"uc-book-event-btn",3)(1,"uc-visit-website-btn",4),t&2){let e=s();d("externalUrl",e.externalEventsUrl())("uniId",e.uniId())("product",e.product())("ugSearchOrderPosition",e.ugSearchOrderPosition())("privacyPolicyUrl",e.privacyPolicyUrl())("uniName",e.uniName()),r(),d("uniId",e.uniId())("source",e.uniName())("product",e.product())("externalUrl",e.externalUrl())("ugSearchOrderPosition",e.ugSearchOrderPosition())("uniName",e.uniName())}}var er=(()=>{class t{constructor(){this.isFeatured=p.required(),this.featuredEvent=p.required(),this.uniId=p.required(),this.uniSlug=p.required(),this.product=p.required(),this.uniName=p.required(),this.ugSearchOrderPosition=p.required(),this.privacyPolicyUrl=p.required(),this.externalUrl=p(""),this.externalEventsUrl=p(""),this.componentName=p(""),this.currentYear=new Date().getFullYear()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-cta-open-days-btns"]],inputs:{isFeatured:[1,"isFeatured"],featuredEvent:[1,"featuredEvent"],uniId:[1,"uniId"],uniSlug:[1,"uniSlug"],product:[1,"product"],uniName:[1,"uniName"],ugSearchOrderPosition:[1,"ugSearchOrderPosition"],privacyPolicyUrl:[1,"privacyPolicyUrl"],externalUrl:[1,"externalUrl"],externalEventsUrl:[1,"externalEventsUrl"],componentName:[1,"componentName"]},decls:3,vars:1,consts:[["customStyles","w-full","componentName","Open Days Tab Profile Header",3,"externalUrl","uniId","product","eventType","date","ugSearchOrderPosition","privacyPolicyUrl","uniName"],["routerLink","/open-days",1,"inline-flex","items-center","justify-center","w-full","mb-3","rounded-md","book-event-btn","whitespace-nowrap"],["customStyles","block w-full secondary-button only-tab-focus !no-underline",3,"universityUrl","universityId","universityName"],["buttonText","Learn More About the Uni","customStyles","w-full mb-3","componentName","Open Days Tab Profile Header",3,"externalUrl","uniId","product","ugSearchOrderPosition","privacyPolicyUrl","uniName"],["sourceType","uni","customStyles","w-full secondary-button","componentName","Open Days tab",3,"uniId","source","product","externalUrl","ugSearchOrderPosition","uniName"]],template:function(i,n){i&1&&u(0,Fo,3,4)(1,Mo,1,8,"uc-book-event-btn",0)(2,Lo,2,12),i&2&&m(n.isFeatured()?n.featuredEvent()?1:2:0)},dependencies:[he,ht,z,ge],encapsulation:2,changeDetection:0})}}return t})();var Ao=t=>["/universities",t];function Bo(t,l){if(t&1&&(a(0,"p"),v(1),h(2,"ucEntities"),o()),t&2){let e=s().$implicit;r(),F(C(2,1,e.description))}}function $o(t,l){if(t&1&&(a(0,"p"),v(1),h(2,"ucEntities"),o()),t&2){let e=s().$implicit;r(),F(C(2,1,e.subtitle))}}function Go(t,l){if(t&1&&(a(0,"div",3)(1,"div",4)(2,"div",5)(3,"p",6),v(4),h(5,"date"),o(),a(6,"p",7),v(7),h(8,"date"),o()(),a(9,"div",8)(10,"h3",9)(11,"a",10),v(12),h(13,"ucEntities"),o()(),a(14,"div",11),u(15,Bo,3,3,"p"),u(16,$o,3,3,"p"),o()()(),a(17,"div",12),c(18,"uc-book-event-btn",13),h(19,"productToLowercase"),o()()),t&2){let e=l.$implicit,i=s(2);r(4),S(" ",I(5,16,e.date,"d")," "),r(3),S(" ",I(8,19,e.date,"MMM, yyy")," "),r(4),d("routerLink",w(26,Ao,i.uniSlug())),r(),S(" ",C(13,22,i.uniName())," "),r(3),m(e.description?15:-1),r(),m(e.subtitle?16:-1),r(2),d("externalUrl",e.external_url)("eventType",e.type)("date",e.date)("uniId",i.uniId())("componentName",i.componentName())("product",C(19,24,e.product))("eventId",e.id)("ugSearchOrderPosition",i.ugSearchOrderPosition())("privacyPolicyUrl",i.privacyPolicyUrl())("uniName",i.uniName())}}function qo(t,l){if(t&1&&(a(0,"div",0)(1,"span",1),v(2,"Recommended Events"),o(),a(3,"div",2),j(4,Go,20,28,"div",3,ii),o()()),t&2){let e=s();r(4),V(e.events())}}var tr=(()=>{class t{constructor(){this.events=p.required(),this.componentName=p.required(),this.uniName=p.required(),this.uniId=p.required(),this.uniSlug=p.required(),this.ugSearchOrderPosition=p.required(),this.privacyPolicyUrl=p.required()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-open-days-recommended-events-wrapper"]],inputs:{events:[1,"events"],componentName:[1,"componentName"],uniName:[1,"uniName"],uniId:[1,"uniId"],uniSlug:[1,"uniSlug"],ugSearchOrderPosition:[1,"ugSearchOrderPosition"],privacyPolicyUrl:[1,"privacyPolicyUrl"]},decls:1,vars:1,consts:[[1,"p-2","mb-6","rounded-lg","bg-uc-blue-900"],[1,"inline-block","pt-1","pb-3","pl-2","text-sm","text-white"],[1,"flex","flex-col","gap-4","rounded-lg"],[1,"flex","flex-col","justify-between","bg-white","rounded-lg","sm:flex-row"],[1,"flex","flex-col","items-center","w-full","px-6","py-6","rounded-t-lg","sm:rounded-tr-none","sm:rounded-l-lg","sm:flex-row","sm:pr-0"],[1,"w-full","p-6","border","border-gray-200","rounded-md","sm:max-w-max"],[1,"text-5xl","font-bold","text-center"],[1,"text-base","text-center","whitespace-nowrap"],[1,"flex","flex-col","items-center","mt-4","sm:ml-4","sm:mt-0","sm:self-ce
1nter","sm:block"],[1,"-mb-1","text-lg","font-medium"],[3,"routerLink"],[1,"text-base","text-center","text-gray-500","sm:text-left"],[1,"relative","flex","items-center","justify-center","pt-0","pb-6","bg-white","rounded-b-lg","sm:rounded-bl-none","sm:rounded-r-lg","sm:pl-4","sm:py-6","sm:w-56","sm:border-l-2","sm:border-gray-200","sm:border-dashed"],["customStyles","w-full sm:w-auto book-event-btn mx-auto",1,"w-full","mx-3","sm:w-auto","sm:mx-0",3,"externalUrl","eventType","date","uniId","componentName","product","eventId","ugSearchOrderPosition","privacyPolicyUrl","uniName"]],template:function(i,n){i&1&&u(0,qo,6,0,"div",0),i&2&&m(n.events()&&n.events().length>0?0:-1)},dependencies:[ge,ht,rt,te,Pi],encapsulation:2,changeDetection:0})}}return t})();var jo=()=>["view"];function Vo(t,l){t&1&&c(0,"uc-university-skeleton",0),t&2&&d("header",!1)("banner",!0)}function Ho(t,l){if(t&1&&c(0,"uc-event-card",14),t&2){let e=l.$implicit,i=s(5),n=s();d("uniName",i.name)("uniLogo",i.logo)("slug",i.slug)("uniId",i.id)("id",e.id)("date",e.date)("description",e.description)("subtitle",e.subtitle)("externalUrl",e.external_url)("componentName",n.componentName)("ugSearchOrderPosition",i.order)("privacyPolicyUrl",i.privacy_policy_url)("eventType",e.type)}}function Wo(t,l){if(t&1&&(a(0,"div",8)(1,"div",9),c(2,"uc-heading",10),o(),a(3,"div",11),c(4,"uc-open-days-recommended-events-wrapper",12),o(),a(5,"div",13),j(6,Ho,1,13,"uc-event-card",14,de),o()()),t&2){let e=s(4),i=s();r(2),d("headingTitle",H("",e.name," Open Days")),r(2),d("events",i.recommendedEvents)("componentName",i.componentName)("uniName",e.name)("uniId",e.id)("uniSlug",i.uniSlug)("ugSearchOrderPosition",e.order)("privacyPolicyUrl",e.privacy_policy_url),r(2),V(i.undergraduateEvents)}}function Ko(t,l){if(t&1&&c(0,"uc-event-card",16),t&2){let e=l.$implicit,i=s(5),n=s();d("uniName",i.name)("uniLogo",i.logo)("slug",i.slug)("uniId",i.id)("id",e.id)("date",e.date)("description",e.description)("subtitle",e.subtitle)("externalUrl",e.external_url)("componentName",n.componentName)("ugSearchOrderPosition",i.order)("privacyPolicyUrl",i.privacy_policy_url)("eventType",e.type)}}function Yo(t,l){if(t&1&&(a(0,"div",8)(1,"div",15),c(2,"uc-heading",10),o(),a(3,"div",13),j(4,Ko,1,13,"uc-event-card",16,de),o()()),t&2){let e=s(4),i=s();r(2),d("headingTitle",H("",e.name," Postgraduate Open Days")),r(2),V(i.postgraduateEvents)}}function Qo(t,l){if(t&1&&(u(0,Wo,8,9,"div",8),u(1,Yo,6,2,"div",8)),t&2){let e=s(4);m(e.undergraduateEvents.length>0?0:-1),r(),m(e.postgraduateEvents.length>0?1:-1)}}function zo(t,l){if(t&1&&(a(0,"div",7),c(1,"uc-no-open-days",17),o()),t&2){let e=s(3),i=s();r(),d("uniId",e.id)("uniName",e.name)("isFeatured",!0)("externalUrl",i.externalEventsUrl())("ugSearchOrderPosition",e.order)("privacyPolicyUrl",e.privacy_policy_url)}}function Jo(t,l){if(t&1&&(a(0,"div",5),u(1,Qo,2,2)(2,zo,2,6,"div",7),o()),t&2){let e=s(3);r(),m(e.undergraduateEvents.length>0||e.postgraduateEvents.length>0?1:2)}}function Xo(t,l){if(t&1&&c(0,"uc-our-location",6),t&2){let e=s(2),i=s();d("universityName",e.name)("googleMap",e.address.maps)("address1",i.universityAddress[0])("address2",i.universityAddress[1])("postcode",e.address.postcode)("country",e.address.region)}}function Zo(t,l){t&1&&(a(0,"div",5)(1,"div",18),c(2,"uc-recommended-unis-grid",19),o()())}function ea(t,l){if(t&1&&u(0,Zo,3,0,"div",5),t&2){let e=s(3);m(e.isFeatured?-1:0)}}function ta(t,l){if(t&1&&(a(0,"uc-university-slider",2),c(1,"uc-university-header-title",3)(2,"uc-cta-open-days-btns",4),o(),u(3,Jo,3,1,"div",5),h(4,"async"),u(5,Xo,1,6,"uc-our-location",6),u(6,ea,1,1)),t&2){let e=s(),i=s();d("uniGallery",i.uniGallery)("product",i.product)("isFeaturedGallery",i.isFeatured)("uniSliderCopy",i.uniSliderCopy())("id",e.id)("saved",e.saved)("delta",1)("ugSearchOrderPosition",e.order)("cleSearchOrderPosition",null)("uniName",e.name),r(),d("name",e.name)("paidFeatures",e.paid_features)("subdirectory",i.product)("product",i.product)("slug",e.slug)("uniId",e.id),r(),d("isFeatured",i.isFeatured)("featuredEvent",i.featuredEvent())("uniId",e.id)("uniSlug",i.uniSlug)("product",i.product)("uniName",e.name)("externalUrl",i.externalUrl())("externalEventsUrl",i.externalEventsUrl())("ugSearchOrderPosition",e.order)("privacyPolicyUrl",e.privacy_policy_url),r(),m(i.isFeatured&&C(4,29,i.events$)?3:-1),r(2),m(e.address&&i.universityAddress&&i.universityAddress.length===2?5:-1),r(),m(i.isFeatured?-1:6)}}function ia(t,l){if(t&1&&(a(0,"main",1),u(1,ta,7,31),h(2,"async"),o()),t&2){let e=l,i=s();d("eventTypes",N(10,jo))("uniId",e.id)("uniName",e.name)("ugSearchOrderPosition",e.order)("cleSearchOrderPosition",null)("product",i.product)("regionFilter",e.address==null?null:e.address.region),r(),m(C(2,8,i.isLoading$)===!1?1:-1)}}var ir=(()=>{class t{constructor(e,i,n,g,k){this._store=e,this._route=i,this._cvSrv=n,this._seoSrv=g,this._readUrlSrv=k,this.paidFeatures=[b.Undergraduate,b.Postgraduate],this.uniSlug=this._route.parent?.snapshot.params.uniName,this.product=L.Undergraduate,this.isLoading$=this._store.pipe(B(wi)),this.componentName="open-days",this.uniName="",this.uniSliderCopy=q(E({}
1,Ce.uni.openDaysNonClient(this.uniName))),this.recommendedEvents=[],this.undergraduateEvents=[],this.postgraduateEvents=[],this.featuredEvent=q(null),this.externalUrl=q(""),this.externalEventsUrl=q(""),this.events$=this._store.pipe(B(bi),K(y=>{let U=y.universityEvents;return U&&U.length?(this._allocateEvents(y),this._setHeaderData(U[0])):this._setHeaderData(),y})),this.university$=this._store.select(oe).pipe(Ue(1),X(y=>!Y(y)),$(y=>{if(y)return this.uniName=y.name,this.isFeatured=this._cvSrv.checkFeature(y?.paid_features,this.paidFeatures),this._setProductType(y),this._getExternalLinks(y),this.uniGallery={cover_image:y.undergraduate.cover_image,images:y.universityGallery.images},this.universityAddress=y?.address?.street.split(","),this._setSeo(y),this.uniSliderCopy.update(U=>E(E({},U),Ce.uni.openDaysNonClient(this.uniName))),this._readUrlSrv.setProductManually(this.product),y}))}ngOnInit(){this._store.dispatch(Re({uniSlug:this.uniSlug})),this._store.dispatch(_e({universityUrl:this.uniSlug,product:"undergraduate"})),this._route.parent?.snapshot.queryParams.preview==="true"&&this.paidFeatures.push(b.UnderPreview,b.PostPreview)}_setProductType(e){let i=this._cvSrv.checkFeature(e?.paid_features,b.Postgraduate),n=this._cvSrv.checkFeature(e?.paid_features,b.Undergraduate);i&&!n&&(this.product=L.Postgraduate)}_setHeaderData(e){e?this.uniSliderCopy.update(i=>le(E({},i),{text:e.description,subtitle:e.subtitle,heading:di(e.date,"dd MMMM yyyy","en-GB")})):this.isFeatured&&this.uniSliderCopy.update(i=>E(E({},i),Ce.uni.noOpenDays(this.uniName)))}_allocateEvents(e){e.universityEvents.forEach(i=>{i.product===Bt.Undergraduate?this.undergraduateEvents.push(i):i.product===Bt.Postgraduate&&this.postgraduateEvents.push(i),i.is_recommended&&this.recommendedEvents.push(i)}),this.recommendedEvents.length>0?this.featuredEvent.set(this.recommendedEvents[0]):e.universityEvents.length>0&&this.featuredEvent.set(e.universityEvents[0])}_setSeo(e){this._seoSrv.updateTitle(`${e.name} Open Days`),this._seoSrv.updateDescription(`Discover the excitement of ${e.name} through an immersive Open Day or Virtual Event. Experience all this university has to offer and plan your future with them.`)}_getExternalLinks(e){let{external_url:i,external_events_url:n}=Hi(e,["external_url","external_events_url"],this.product);this.externalUrl.set(i),this.externalEventsUrl.set(n)}static{this.\u0275fac=function(i){return new(i||t)(f(A),f(W),f(Z),f(ee),f(Q))}}static{this.\u0275cmp=_({type:t,selectors:[["uc-open-days"]],decls:4,vars:6,consts:[[3,"header","banner"],["ucUniProfileGA","","ucUniImpressionGA","","profileTab","Open-days",1,"relative","sm:mt-0",3,"eventTypes","uniId","uniName","ugSearchOrderPosition","cleSearchOrderPosition","product","regionFilter"],["tab","open-days",3,"uniGallery","product","isFeaturedGallery","uniSliderCopy","id","saved","delta","ugSearchOrderPosition","cleSearchOrderPosition","uniName"],["headerTitle","",3,"name","paidFeatures","subdirectory","product","slug","uniId"],["componentName","Event Empty State",3,"isFeatured","featuredEvent","uniId","uniSlug","product","uniName","externalUrl","externalEventsUrl","ugSearchOrderPosition","privacyPolicyUrl"],[1,"container"],["headerPrefix","Finding your way to ","headerSuffix","",3,"universityName","googleMap","address1","address2","postcode","country"],[1,"py-8","border-b","sm:py-12"],[1,"pb-4","border-b","sm:pb-16"],[1,"mt-12"],[3,"headingTitle"],[1,"mb-2"],[3,"events","componentName","uniName","uniId","uniSlug","ugSearchOrderPosition","privacyPolicyUrl"],[1,"grid","divide-y","sm:gap-8","sm:divide-y-0"],["product","undergraduate",3,"uniName","uniLogo","slug","uniId","id","date","description","subtitle","externalUrl","componentName","ugSearchOrderPosition","privacyPolicyUrl","eventType"],[1,"pt-8","mt-4","-mb-4","sm:-mb-0","sm:pt-12","sm:mt-0"],["product","postgraduate",3,"uniName","uniLogo","slug","uniId","id","date","description","subtitle","externalUrl","componentName","ugSearchOrderPosition","privacyPolicyUrl","eventType"],["product","undergraduate",3,"uniId","uniName","isFeatured","externalUrl","ugSearchOrderPosition","privacyPolicyUrl"],[1,"pb-8","border-t","lg:pb-0"],["product","undergraduate","componentName","Open Days Recommended Universities"]],template:function(i,n){if(i&1&&(u(0,Vo,1,2,"uc-university-skeleton",0),h(1,"async"),u(2,ia,3,11,"main",1),h(3,"async")),i&2){let g;m(C(1,2,n.isLoading$)===!0?0:-1),r(2),m((g=C(3,4,n.university$))?2:-1,g)}},dependencies:[se,J,er,re,tr,bn,wn,Sn,ye,ae,ie,ne,R],encapsulation:2,changeDetection:0})}}return t})();var na=t=>({width:t});function ra(t,l){if(t&1&&(a(0,"p",7),v(1),o()),t&2){let e=s(2);r(),S(" Based on total ",e.totalReviews()," reviews and ratings ")}}function oa(t,l){if(t&1&&(a(0,"div",8)(1,"p",11),v(2),h(3,"number"),o()()),t&2){let e=s(2);r(2),S(" ",I(3,1,e.universityRating(),"1.2-2")," / 5 ")}}function aa(t,l){if(t&1&&c(0,"div",14),t&2){let e=s().$implicit;d("ngStyle",w(1,na,e.value+"%"))}}function sa(t,l){if(t&1&&(a(0,"div",10)(1,"div",12),v(2),o(),a(3,"div",13),u(4,aa,1,3,"div",14),o(),a(5,"div",15),v(6),h(7,"number"),o()()),t&2){let e=l.$implicit,i=l.$index,n=s(2);r(2),S(" ",n.reversedStars.length-i," star "),r(2),m(e?4:-1),r(2),S("",I(7,3,+e.value,"1.0-0"),"%")}}function da(t,l){if(t&1&&(a(0,"div",0)(1,"div",5)(2,"div")(3,"h2",6),v(4,"Student Reviews"),o(),u(5,ra,2,1,"p",7),o(),u(6,oa,4,4,"div",8),o(),a(7,"div",9),j(8,sa,8,6,"div",10,de),o()()),t&2){let e=s();r(5),m(e.totalReviews()&&(e.totalReviews()??0)>0?5:-1),r(),m(e.totalReviews()&&(e.totalReviews()??0)>=10?6:-1),r(2),V(e.reversedStars)}}var nr=(()=>{class t{constructor(){this.universityRatingStats=p(),this.universityUrl=p(""),this.universityRating=p(),this.totalReviews=p(),this.uniId=p(),this.uniName=p(""),this.reversedStars=[]}convertObjectToArray(e){return e?Object.keys(e).map(i=>({key:i,value:e[i]})).reverse():[]}ngOnChanges(){this.reversedStars=this.convertObjectToArray(this.universityRatingStats()?.stars)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-reviews-stats"]],inputs:{universityRatingStats:[1,"universityRatingStats"],universityUrl:[1,"universityUrl"],universityRating:[1,"universityRating"],totalReviews:[1,"totalReviews"],uniId:[1,"uniId"],uniName:[1,"uniName"]},features:[Xt],decls:7,vars:4,consts:[[1,"w-full","mx-auto","bg-white","rounded-md"],[1,"py-6","border-y","sm:pt-8","sm:border-none"],[1,"mb-1","text-lg","font-medium"],[1,"mb-4","text-sm","font-medium","text-gray-500"],["customStyles","block w-full secondary-button only-tab-focus !no-underline",3,"universityId","universityUrl","universityName"],[1,"flex","items-center","justify-between","pb-8"],[1,"secondary-header","!mb-0"],[1,"text-sm","text-gray-900"],[1,"flex-shrink-0"],[1,"pb-6","space-y-3"],[1,"flex","justify-between","w-full","gap-2"],[1,"px-5","py-3","text-sm","font-bold","text-white","rounded-lg","bg-uc-blue-900"],[1,"text-left","whitespace-nowrap"],[1,"w-full","bg-gray-100","h-5","rounded-md","mt-0.5","overflow-hidden"],[1,"h-5","bg-yellow-500",3,"ngStyle"],[1,"text-right"]],template:function(i,n){if(i&1&&(u(0,da,10,2,"div",0),a(1,"div",1)(2,"p",2),v(3,"Write a review!"),o(),a(4,"p",3),v(5," Students appreciate unbiased university reviews "),o(),c(6,"uc-write-review-btn",4),o()),i&2){let g;m(n.universityRatingStats()&&((g=n.universityRatingStats())!=null&&g.stars)?0:-1),r(6),d("universityId",n.uniId())("universityUrl",n.universityUrl())("universityName",n.uniName())}},dependencies:[li,he,ve],encapsulation:2,changeDetection:0})}}return t})();function la(t,l){if(t&1&&(a(0,"uc-university-information-card",3),h(1,"number"),c(2,"u
1c-house-svg"),o()),t&2){let e,i=s(2);d("value",I(1,1,(e=i.ratingStats())==null?null:e.accommodation,"1.2-2")+"/ 5")}}function ca(t,l){if(t&1&&(a(0,"uc-university-information-card",4),h(1,"number"),c(2,"uc-academic-cap-svg"),o()),t&2){let e,i=s(2);d("value",I(1,1,(e=i.ratingStats())==null?null:e.graduate_careers,"1.2-2")+"/ 5")}}function ua(t,l){if(t&1&&(a(0,"uc-university-information-card",5),h(1,"number"),c(2,"uc-open-book-svg"),o()),t&2){let e,i=s(2);d("value",I(1,1,(e=i.ratingStats())==null?null:e.course_quality,"1.2-2")+"/ 5")}}function ma(t,l){if(t&1&&(a(0,"uc-university-information-card",6),h(1,"number"),c(2,"uc-users-svg"),o()),t&2){let e,i=s(2);d("value",I(1,1,(e=i.ratingStats())==null?null:e.social_life,"1.2-2")+"/ 5")}}function pa(t,l){if(t&1&&(a(0,"section",0)(1,"div",1)(2,"div",2),u(3,la,3,4,"uc-university-information-card",3),u(4,ca,3,4,"uc-university-information-card",4),u(5,ua,3,4,"uc-university-information-card",5),u(6,ma,3,4,"uc-university-information-card",6),o()()()),t&2){let e,i,n,g,k=s();r(3),m((e=k.ratingStats())!=null&&e.accommodation?3:-1),r(),m((i=k.ratingStats())!=null&&i.graduate_careers?4:-1),r(),m((n=k.ratingStats())!=null&&n.course_quality?5:-1),r(),m((g=k.ratingStats())!=null&&g.social_life?6:-1)}}var rr=(()=>{class t{constructor(){this.ratingStats=p(),this.totalReviews=p()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-reviews-overview"]],inputs:{ratingStats:[1,"ratingStats"],totalReviews:[1,"totalReviews"]},decls:1,vars:1,consts:[[1,"sm:pb-8","md:bg-gray-50"],[1,"container"],[1,"grid","grid-cols-1","border-b","divide-y","sm:gap-4","sm:divide-y-0","sm:grid-cols-2","xl:grid-cols-4","sm:border-b-0"],["cardTitle","Accommodation",3,"value"],["cardTitle","Employability",3,"value"],["cardTitle","Course Quality",3,"value"],["cardTitle","Student Life",3,"value"]],template:function(i,n){i&1&&u(0,pa,7,4,"section",0),i&2&&m(n.ratingStats()&&(n.totalReviews()??0)>=10?0:-1)},dependencies:[Fe,mt,Xi,ut,Pt,ve],encapsulation:2,changeDetection:0})}}return t})();var va=(t,l)=>({"text-uc-green-700":t,"text-uc-red-500":l});function ga(t,l){t&1&&c(0,"uc-exclamation-mark-round-svg",1)}function ha(t,l){t&1&&c(0,"uc-tick-svg",2)}var or=(()=>{class t{constructor(){this.error=p(),this.message=p.required()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-report-feedback"]],inputs:{error:[1,"error"],message:[1,"message"]},decls:5,vars:7,consts:[[1,"flex","gap-2","font-semibold",3,"ngClass"],["customStyles","flex-shrink-0 w-6 h-6"],["customStyles","flex-shrink-0"]],template:function(i,n){i&1&&(a(0,"div",0),u(1,ga,1,0,"uc-exclamation-mark-round-svg",1),u(2,ha,1,0,"uc-tick-svg",2),a(3,"p"),v(4),o()()),i&2&&(d("ngClass",De(4,va,!n.error(),n.error())),r(),m(n.error()?1:-1),r(),m(n.error()?-1:2),r(2),F(n.message()))},dependencies:[M,Zi,Wi],encapsulation:2,changeDetection:0})}}return t})();var Rt=(()=>{class t{constructor(e,i){this._http=e,this._apiSrv=i}setReviewId(e){this.reviewId=e}submitReport(e){return this._http.post(`${this._apiSrv.API_URL}reviews/${this.reviewId}/report`,e,{transferCache:!1})}static{this.\u0275fac=function(i){return new(i||t)(Lt(mi),Lt(Ci))}}static{this.\u0275prov=ce({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var fa=(t,l)=>({"border-red-500 focus-within:ring-red-600 focus-within:border-red-600":t,"border-gray-300 focus-within:ring-gray-400":l});function ya(t,l){if(t&1&&c(0,"uc-report-feedback",3),t&2){let e=s();d("error",e.formError)("message",e.reportFeedback)}}function Ca(t,l){if(t&1){let e=O();a(0,"form",5),P("ngSubmit",function(){T(e);let n=s();return D(n.onSubmitReport())}),c(1,"uc-input-field",6),a(2,"div",7)(3,"div",8)(4,"label",9),v(5," Report "),o(),c(6,"textarea",10),o(),c(7,"uc-form-error",11),o(),a(8,"button",12),v(9," Submit report "),o()()}if(t&2){let e=s();d("formGroup",e.reportForm),r(),d("formSubmitted",e.formSubmitted),r(2),d("ngClass",De(6,fa,e.formSubmitted&&e.reportForm.controls.message.errors,!e.formSubmitted&&!e.reportForm.controls.message.errors)),r(),d("ngClass",nt(e.reportForm.value.message?"show-label":"label")),r(3),d("formError",e.formSubmitted&&e.reportForm.controls.message.hasError("required"))}}var ar=(()=>{class t{constructor(e,i){this._reportApiSrv=e,this._cd=i,this.formSubmitted=!1,this.formSuccess=!1}ngOnInit(){this.reportForm=new Ti({email:new Gt("",[$t.required,fi]),message:new Gt("",[$t.required])})}
1onSubmitReport(){this.formSubmitted=!0,!this.reportForm.invalid&&(this._submitReportSub=this._reportApiSrv.submitReport(this.reportForm.value).subscribe({next:e=>{e?.message==="Review reported successfully"&&(this.formError=!1,this.reportFeedback="Thank you for your message. We will look into this review.",this.formSuccess=!0),this._cd.detectChanges()},error:e=>{let i=Li(e);i.includes("was already reported by student with email")?(this.formError=!0,this.reportFeedback="You already reported this review before.",this.formSuccess=!0):i.includes("is not a valid email address")&&(this.reportForm.get("email")?.setErrors({emailInvalid:!0}),this.formSuccess=!1),this._cd.detectChanges()}}))}ngOnDestroy(){this._submitReportSub?.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(f(Rt),f(pe))}}static{this.\u0275cmp=_({type:t,selectors:[["uc-report-modal"]],decls:7,vars:2,consts:[[1,"relative","w-full","px-6","py-10","bg-white","sm:!w-112","sm:p-14","rounded-lg","shadow-lg","mx-auto"],[1,"flex","items-center","justify-between","mb-4"],[1,"text-2xl","font-bold"],[3,"error","message"],[1,"grid","gap-6",3,"formGroup"],[1,"grid","gap-6",3,"ngSubmit","formGroup"],["formControlName","email","inputType","email","controlName","email","placeholder","Email Address","autocomplete","email","labelText","Email Address",3,"formSubmitted"],[1,"relative"],[1,"p-4","border","rounded-md","shadow-sm","h-52","input-focus-within",3,"ngClass"],["for","message",1,"absolute","top-0","inline-block","px-1","-mt-px","text-xs","font-medium","text-gray-700","bg-white","left-2",3,"ngClass"],["id","message","name","message","formControlName","message","placeholder","Please enter why you are reporting this review here",1,"w-full","h-full","border-0","outline-none","resize-none","focus:ring-0"],["fieldError","Please enter a reason.",3,"formError"],[1,"flex","justify-center","w-full","py-2","mx-auto","text-base","border","border-gray-200","rounded-lg","red-button"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"div",1)(2,"h2",2),v(3,"Report Review"),o(),c(4,"uc-close-modal"),o(),u(5,ya,1,2,"uc-report-feedback",3),u(6,Ca,10,9,"form",4),o()),i&2&&(r(5),m(n.formSuccess?5:-1),r(),m(n.formSuccess?-1:6))},dependencies:[M,Oi,Di,Ni,Ii,Ei,ki,Ri,gt,or,fn,vn],encapsulation:2,changeDetection:0})}}return t})();var sr=(()=>{class t{editReactionStatus(e,i){if(i===1)if(e.reaction===null){e.reaction="LIKE",e.likes++;return}else if(e.reaction==="LIKE"){e.reaction=null,e.likes--;return}else{e.reaction="LIKE",e.likes++,e.dislikes--;return}e.reaction===null?(e.reaction="DISLIKE",e.dislikes++):e.reaction==="DISLIKE"?(e.reaction=null,e.dislikes--):(e.reaction="DISLIKE",e.dislikes++,e.likes--)}getRandomAvatar(){return`/img/da${Math.ceil(Math.random()*13)}.svg`}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=ce({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var kt=(()=>{class t{setShareData(e){this.shareData=e}createShareLink(e){let i=this.shareData.review;if(i!==null){let n=this.shareData.universityUrl,g=this.shareData.universityName,k=i.username,y=i.rating,U=`${hi}universities/${n}/reviews/?reviewId=${i.id}`,He="";if(e==="twitter"){let We=`${k} gave ${g} ${y} stars via @uni_compare: `;He=`https://twitter.com/intent/tweet?text=${encodeURI(We)}&url=${U}`}else if(e==="facebook"){let Qe=`${k} gave ${g} ${y} stars via Uni Compare: `,We=encodeURI(Qe);He=`https://www.facebook.com/share.php?u=${U}"e=${We}`}return He}return""}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=ce({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var dr=(()=>{class t{constructor(){this._document=G(Jt),this._modalService=G(vt),this._shareService=G(kt),this.window=this._document.defaultView}closeModalPanel(){this._modalService.close()}onShare(e){if(e==="facebook"){let n=this._shareService.createShareLink(e);this.window.open(n,"sharer","toolbar=0,status=0,width=580,height=325"),this.closeModalPanel();return}let i=this._shareService.createShareLink(e);this.window.open(i,"sharer","toolbar=0,status=0,width=580,height=325"),this.closeModalPanel()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-share-modal"]],decls:11,vars:0,consts:[[1,"relative","w-full","px-6","py-10","mx-auto","space-y-6","bg-white","rounded-lg","shadow-lg","sm:p-14","sm:!w-96"],[1,"flex","items-center","justify-between","gap-4","mb-4"],[1,"text-2xl","font-bold"],["aria-label","Share on Twitter",1,"flex","items-center","w-full","gap-3","px-4","py-3","border","rounded-md","shadow-sm","cursor-pointer","hover:bg-gray-50",3,"click"],["aria-label","Share on Facebook",1,"flex","items-center","w-full","gap-3","px-4","py-3","border","rounded-md","shadow-sm","cursor-pointer","hover:bg-gray-50",3,"click"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"div",1)(2,"h2",2),v(3,"Share Review"),o(),c(4,"uc-close-modal"),o(),a(5,"a",3),P("click",function(){return n.onShare("twitter")}),c(6,"uc-twitter-v2-svg"),v(7," Twitter "),o(),a(8,"a",4),P("click",function(){return n.onShare("facebook")}),c(9,"uc-facebook-v2-svg"),v(10," Facebook "),o()())},dependencies:[gt,Qi,zi],encapsulation:2,changeDetection:0})}}return t})();function xa(t,l){if(t&1&&(c(0,"h2",6),h(1,"ucEntities"),h(2,"highlightSearch")),t&2){let e=s();d("innerHtml",I(2,3,C(1,1,e.review().title),e.searchTerm()),ue)}}function Sa(t,l){t&1&&(a(0,"h2",7),v(1," No Title Provided "),o())}function ba(t,l){if(t&1&&(a(0,"span",11)(1,"span"),v(2),h(3,"number"),o(),a(4,"span",13),v(5,"\xB7"),o()()),t&2){let e=s();r(2),S("(",I(3,1,e.review().rating,"1.0-0"),")")}}function wa(t,l){if(t&1&&(a(0,"span",11)(1,"span"),v(2),h(3,"number"),o(),a(4,"span",13),v(5,"\xB7"),o()()),t&2){let e=s();r(2),S("(",I(3,1,e.review().rating,"1.1-1"),")")}}function Pa(t,l){if(t&1&&(a(0,"span",12)(1,"span"),v(2),h(3,"lastNameInitial"),o(),a(4,"span",13),v(5,"\xB7"),o()()),t&2){let e=s();r(2),S("By ",C(3,1,e.review().username))}}function Ua(t,l){t&1&&(a(0,"span",13),v(1,"\xB7"),o())}function Na(t,l){if(t&1&&(a(0,"span",11),c(1,"span",14),h(2,"ucEntities"),h(3,"highlightSearch"),u(4,Ua,2,0,"span",13),o()),t&2){let e=s();r(),d("innerHtml",I(3,4,C(2,2,e.review().subject),e.searchTerm()),ue),r(3),m(e.review().published_at?4:-1)}}function Ia(t,l){if(t&1&&(a(0,"span",11),v(1),h(2,"date"),o()),t&2){let e=s();r(),S(" ",I(2,1,e.review().published_at,"MMM yyy")," ")}}var lr=(()=>{class t{constructor(){this.review=p.required(),this.avatar=p.required(),this.searchTerm=p.required()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-review-header"]],inputs:{review:[1,"review"],avatar:[1,"avatar"],searchTerm:[1,"searchTerm"]},decls:20,vars:14,consts:[[1,"px-2","pt-4","pb-2","md:bg-gray-50","md:border-b","md:px-6","md:pt-6","md:pb-6","rounded-t-md"],[1,"flex","items-center","gap-2","md:gap-4"],[1,"relative","flex-shrink-0","hidden","rounded-full","md:flex","h-9","w-9","md:h-10","md:w-10"],["fill","","alt","User Avatar",3,"ngSrc"],[1,"flex","gap-2","md:block"],[1,"relative","flex-shrink-0","rounded-full","md:hidden","h-9","w-9","md:h-10","md:w-10"],[1,"pt-px","text-xl","font-bold","tracking-tight","text-black",3,"innerHtml"],[1,"pt-px","text-xl","italic","font-bold","tracking-tight","text-gray-400"],[1,"mt-1","-ml-1","text-base"],[1,"flex","flex-wrap","font-semibold","text-gray-400","align-center"],[3,"rating"],[1,"ml-1","-mt-0.5"],[1,"ml-1","-mt-0.5","flex","capitalize"],[1,"ml-1"],[3,"innerHtml"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"div",1)(2,"div",2),c(3,"img",3),h(4,"cdn"),o(),a(5,"div")(6,"div",4)(7,"div",5),c(8,"img",3),h(9,"cdn"),o(),u(10,xa,3,6,"h2",6),u(11,Sa,2,0,"h2",7),o(),a(12,"div",8)(13,"span",9),c(14,"uc-star-rating",10),u(15,ba,6,4,"span",11),u(16,wa,6,4,"span",11),u(17,Pa,6,3,"span",12),u(18,Na,5,7,"span",11),u(19,Ia,3,4,"span",11),o()()()()()),i&2&&(r(3),d("ngSrc",C(4,10,n.review().avatar?n.review().avatar:n.avatar())),r(5),d("ngSrc",C(9,12,n.review().avatar?n.review().avatar:n.avatar())),r(2),m(n.review().title?10:-1),r(),m(n.review().title?-1:11),r(3),d("rating",n.review().rating),r(),m(n.review().rating%1===0?15:-1),r(),m(n.review().rating%1!==0?16:-1),r(),m(n.review().username?17:-1),r(),m(n.review().subject?18:-1),r(),m(n.review().published_at?19:-1))},dependencies:[ot,mn,ve,rt,ke,te,dt,Mi],encapsulation:2,changeDetection:0})}}return t})();function Ea(t,l){if(t&1){let e=O();a(0,"button",4),P("click",function(){T(e);let n=s();return D(n.onReviewReaction(n.react.LIKE,n.reviewId()))}),c(1,"uc-thumbs-up-outline-svg"),o()}}function Ta(t,l){if(t&1){let e=O();a(0,"button",6),P("click",function(){T(e);let n=s(2);return D(n.onReviewReaction(n.react.LIKE,n.reviewId()))}),c(1,"uc-thumbs-up-solid-svg"),o()}}function Da(t,l){if(t&1&&u(0,Ta,2,0,"button",5),t&2){let e=s();m(e.reaction()==="LIKE"?0:-1)}}function Ra(t,l){if(t&1&&(a(0,"span"),v(1),o()),t&2){let e=s();r(),F(e.likes())}}function ka(t,l){if(t&1){let e=O();a(0,"button",7),P("click",function(){T(e);let n=s();return D(n.onReviewReaction(n.react.DISLIKE,n.reviewId()))}),c(1,"uc-thumbs-down-outline-svg"),o()}}function Oa(t,l){if(t&1){let e=O();
1a(0,"button",9),P("click",function(){T(e);let n=s(2);return D(n.onReviewReaction(n.react.DISLIKE,n.reviewId()))}),c(1,"uc-thumbs-down-solid-svg"),o()}}function Fa(t,l){if(t&1&&u(0,Oa,2,0,"button",8),t&2){let e=s();m(e.reaction()==="DISLIKE"?0:-1)}}function Ma(t,l){if(t&1&&(a(0,"span"),v(1),o()),t&2){let e=s();r(),F(e.dislikes())}}var cr=(()=>{class t{constructor(){this.reviewId=p.required(),this.reaction=p(),this.likes=p(),this.dislikes=p(),this.reviewReaction=me(),this.react=Fn}onReviewReaction(e,i){this.reviewReaction.emit({reaction:e,reviewId:i})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-review-reaction"]],inputs:{reviewId:[1,"reviewId"],reaction:[1,"reaction"],likes:[1,"likes"],dislikes:[1,"dislikes"]},outputs:{reviewReaction:"reviewReaction"},decls:9,vars:4,consts:[[1,"flex","items-center","gap-2"],[1,"font-medium"],["aria-label","Remove dislike",1,"text-black","transition-all","only-tab-focus","hover:text-uc-green-900"],["aria-label","Dislike review",1,"text-gray-900","transition-all","hover:text-uc-red-900","only-tab-focus"],["aria-label","Remove dislike",1,"text-black","transition-all","only-tab-focus","hover:text-uc-green-900",3,"click"],["aria-label","Remove like",1,"transition-all","text-uc-green-900","only-tab-focus"],["aria-label","Remove like",1,"transition-all","text-uc-green-900","only-tab-focus",3,"click"],["aria-label","Dislike review",1,"text-gray-900","transition-all","hover:text-uc-red-900","only-tab-focus",3,"click"],["aria-label","Like review",1,"transition-all","text-uc-red-900","only-tab-focus"],["aria-label","Like review",1,"transition-all","text-uc-red-900","only-tab-focus",3,"click"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"span",1),v(2,"Helpful review?"),o(),u(3,Ea,2,0,"button",2)(4,Da,1,1),u(5,Ra,2,1,"span"),u(6,ka,2,0,"button",3)(7,Fa,1,1),u(8,Ma,2,1,"span"),o()),i&2&&(r(3),m(n.reaction()!=="LIKE"?3:4),r(2),m(n.likes()?5:-1),r(),m(n.reaction()!=="DISLIKE"?6:7
1),r(2),m(n.dislikes()?8:-1))},dependencies:[on,an,dn,sn],encapsulation:2,changeDetection:0})}}return t})();var ur=(()=>{class t{constructor(){this.showModalPanel=me()}onShowModalPanel(e){this.showModalPanel.emit(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-review-three-dots"]],outputs:{showModalPanel:"showModalPanel"},decls:11,vars:0,consts:[["ucDropdown","",1,"relative","pt-1","md:absolute","md:top-9","md:right-6"],[1,"flex","only-tab-focus","align-center"],["customStyles","pointer-events-none md:hidden","aria-label","More Options"],[1,"absolute","right-0","z-10","bg-white","border","rounded-md","shadow-xl","dropdown-content","top-8"],["aria-label","Share",1,"flex","items-center","gap-2","px-4","py-2","only-tab-focus",3,"click"],["aria-label","Report",1,"flex","items-center","gap-2","px-4","py-2","only-tab-focus",3,"click"],["customStyles","pointer-events-none"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"button",1),c(2,"uc-three-dots-horizontal-svg",2)(3,"uc-three-dots-vertical-svg"),o(),a(4,"div",3)(5,"button",4),P("click",function(){return n.onShowModalPanel("share")}),c(6,"uc-share-svg"),v(7," Share "),o(),a(8,"button",5),P("click",function(){return n.onShowModalPanel("report")}),c(9,"uc-exclamation-mark-triangular-svg",6),v(10," Report "),o()()())},dependencies:[Fi,nn,rn,ln,en],encapsulation:2,changeDetection:0})}}return t})();var La=t=>({"px-2 pb-2 bg-uc-blue-900 rounded-md":t}),Aa=(t,l)=>({"rounded-lg":t,"rounded-t-lg rounded-bl-lg":l});function Ba(t,l){t&1&&(a(0,"p",1),v(1,"Top Student Review"),o())}function $a(t,l){if(t&1&&(a(0,"div",8)(1,"span",9),v(2," Reply from: "),a(3,"span",10),v(4),o()(),c(5,"p",11),o()),t&2){let e=s(2);r(4),F(e.universityName()),r(),d("innerHtml",e.review().reply,ue)}}function Ga(t,l){if(t&1){let e=O();a(0,"div",0),u(1,Ba,2,0,"p",1),a(2,"div",2),c(3,"uc-review-header",3),h(4,"async"),c(5,"div",4),h(6,"ucEntities"),h(7,"async"),h(8,"highlightSearch"),a(9,"div",5)(10,"uc-review-reaction",6),P("reviewReaction",function(n){T(e);let g=s();return D(g.onReviewReaction(n))}),o(),a(11,"uc-review-three-dots",7),P("showModalPanel",function(n){T(e);let g=s();return D(g.showModalPanel(n))}),o()()(),u(12,$a,6,2,"div",8),o()}if(t&2){let e=s();d("ngClass",w(21,La,e.topReview())),r(),m(e.topReview()?1:-1),r(),d("ngClass",De(23,Aa,!e.review().reply,e.review().reply)),r(),d("review",e.review())("avatar",e.avatar)("searchTerm",C(4,12,e.inputValue$)),r(2),d("innerHtml",I(8,18,C(6,14,e.review().comment),C(7,16,e.inputValue$)),ue),r(5),d("reviewId",e.review().id)("reaction",e.review().reaction)("likes",e.review().likes)("dislikes",e.review().dislikes),r(2),m(e.review().reply?12:-1)}}var mr=(()=>{class t{constructor(){this._store=G(A),this._cd=G(pe),this._searchSrv=G(pt),this._modalSrv=G(vt),this._reviewSrv=G(sr),this._universityReviewsApiSrv=G(Le),this._shareSrv=G(kt),this._reportApiSrv=G(Rt),this._toastr=G(cn),this.review=p.required(),this.topReview=p(),this.universityName=p(),this.universityUrl=p(),this.inputValue$=this._searchSrv.inputValue$;let e=this._store.selectSignal(Bi)();this.userId=e?+e:null}ngOnInit(){this.review&&!this.review().avatar&&(this.avatar=this._reviewSrv.getRandomAvatar())}onReviewReaction(e){if(!this.userId){this._showNotLoggedInModal();return}this.reviewReactionSub=this._universityReviewsApiSrv.voteOnReview(e.reviewId,e.reaction).pipe(Qt(i=>(console.error(i),Ai(i)&&i.status===401?this._showNotLoggedInModal():this._toastr.show("error","An unknown error occurred. Please try again."),Kt))).subscribe(()=>{this._reviewSrv.editReactionStatus(this.review(),e.reaction),this._cd.markForCheck()})}showModalPanel(e){if(e){if(this._modalSrv.setContent(e==="share"?dr:ar),this._modalSrv.show(),e==="share"){let i={review:this.review(),universityName:this.universityName(),universityUrl:this.universityUrl()};this._shareSrv.setShareData(i);return}this._reportApiSrv.setReviewId(this.review().id)}}ngOnDestroy(){this.inputValueSub?.unsubscribe(),this.reviewReactionSub&&this.reviewReactionSub.unsubscribe()}_showNotLoggedInModal(){this._modalSrv.setContent(xn),this._modalSrv.show()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-review-card"]],inputs:{review:[1,"review"],topReview:[1,"topReview"],universityName:[1,"universityName"],universityUrl:[1,"universityUrl"]},decls:1,vars:1,consts:[[1,"mt-8",3,"ngClass"],[1,"py-4","text-lg","font-bold","text-white","md:pl-4"],[1,"relative","p-0","bg-white","border","rounded-lg",3,"ngClass"],[3,"review","avatar","searchTerm"],[1,"p-2","text-gray-500","md:p-6",3,"innerHtml"],[1,"flex","items-center","justify-between","px-2","py-4","border-t","md:p-6"],[3,"reviewReaction","reviewId","reaction","likes","dislikes"],[3,"showModalPanel"],[1,"px-4","py-4","ml-8","border-b","border-l","border-r","rounded-b-lg","bg-gray-50","sm:px-6"],[1,"text-sm","text-gray-500"],[1,"capitalize"],[1,"text-lg","italic","text-gray-700",3,"innerHtml"]],template:function(i,n){i&1&&u(0,Ga,13,26,"div",0),i&2&&m(n.review()?0:-1)},dependencies:[M,lr,cr,ur,R,te,dt],encapsulation:2,changeDetection:0})}}return t})();var pr=(()=>{class t{constructor(){this.sortOptions=[{id:fe.MostHelpful,text:"Most helpful"},{id:fe.LatestReview,text:"Latest review"},{id:fe.EarliestReview,text:"Earliest review"},{id:fe.HighestRanked,text:"Highest ranked"},{id:fe.LowestRanked,text:"Lowest ranked"}],this._initialQueryParams={university:"",page:1,limit:10,offset:1,contains:"",sortBy:this.sortOptions[3].id},this._queryParams=this._initialQueryParams,this._queryParamsState=new Wt(this._initialQueryParams),this.queryParamsState$=this._queryParamsState.asObservable()}getInitialQueryParamsState(){return this._initialQueryParams}updateQueryParamsState(e){let i=E(E({},this._queryParams),e);this._queryParams=i,this._queryParamsState.next(i)}resetQueryParamsState(){this._queryParamsState.next(this._initialQueryParams)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=ce({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var ja=(t,l,e)=>({university:t,ratingStats:l,reviews:e}),Va=()=>["view"],Ha=(t,l)=>l.id;function Wa(t,l){t&1&&c(0,"uc-university-skeleton",0),t&2&&d("header",!1)}function Ka(t,l){if(t&1&&c(0,"uc-university-reviews-stats",6),t&2){let e=s(2),i=s();d("universityUrl",i.universityUrl)("universityRatingStats",e.ratingStats)("universityRating",e.university.stats.rating)("totalReviews",e.university.stats.reviews_count)("universityUrl",i.universityUrl)("uniName",e.university.name)("uniId",e.university.id)}}function Ya(t,l){if(t&1&&(a(0,"div",8),c(1,"uc-review-card",17),o()),t&2){let e=s(2),i=s();r(),d("review",e.reviews.top)("topReview",!0)("universityName",e.university.name)("universityUrl",i.universityUrl)}}function Qa(t,l){t&1&&c(0,"uc-university-skeleton",15),t&2&&d("header",!0)("banner",!1)}function za(t,l){if(t&1&&c(0,"uc-review-card",17),t&2){let e=l.$implicit,i=s(3),n=s();d("review",e)("topReview",!1)("universityName",i.university.name)("universityUrl",n.universityUrl)}}function Ja(t,l){if(t&1&&(a(0,"p"),c(1,"uc-write-review-btn",21),o()),t&2){let e=s(4),i=s();r(),d("universityId",e.university.id)("universityName",e.university.name)("universityUrl",i.universityUrl)}}function Xa(t,l){if(t&1&&(a(0,"uc-no-result",20),u(1,Ja,2,3,"p"),o()),t&2){let e=s(3),i=s();d("message",i.getNoReviewsMessage(e.university.stats.reviews_count,e.university.name)),r(),m(e.university.stats.reviews_count<=1?1:-1)}}function Za(t,l){if(t&1&&(j(0,za,1,4,"uc-review-card",17,Ha),u(2,Xa,2,2,"uc-no-result",20)),t&2){let e=s(2);V(e.reviews==null?null:e.reviews.data),r(2),m((e.reviews==null||e.reviews.data==null?null:e.reviews.data.length)===0?2:-1)}}function es(t,l){if(t&1&&c(0,"uc-review-card",17),t&2){let e=s(2),i=s();d("review",i.singleReview)("topReview",!1)("universityName",e.university.name)("universityUrl",i.universityUrl)}}function ts(t,l){if(t&1&&(a(0,"div",18),c(1,"uc-load-more-btn",22),o()),t&2){let e=s(3);r(),d("isLoading",e.isLoadMore())("page",e.page)}}function is(t,l){if(t&1&&(a(0,"main",1)(1,"uc-university-slider",2)(2,"div",3),c(3,"uc-university-header-title",4)(4,"uc-write-review-btn",5),o(),u(5,Ka,1,7,"uc-university-reviews-stats",6),o(),c(6,"uc-university-reviews-overview",7),u(7,Ya,2,4,"div",8),a(8,"section",9)(9,"h2",10),v(10),o(),a(11,"div",11)(12,"div",12),c(13,"uc-search-bar",13),o(),c(14,"uc-sort",14),o()(),u(15,Qa,1,2,"uc-university-skeleton",15),a(16,"div",16),u(17,Za,3,1),u(18,es,1,4,"uc-review-card",17),u(19,t
1s,2,2,"div",18),o()(),c(20,"uc-client-profile-sticky-lead-bar-mobile",19)),t&2){let e=s(),i=s();d("eventTypes",N(41,Va))("uniId",e.university.id)("uniName",e.university.name)("ugSearchOrderPosition",e.university.order)("cleSearchOrderPosition",null),r(),d("uniGallery",i.uniGallery)("product",i.product)("isFeaturedGallery",!1)("id",e.university.id)("saved",e.university.saved)("delta",1)("ugSearchOrderPosition",e.university.order)("cleSearchOrderPosition",null)("uniName",e.university.name),r(2),d("name",e.university.name)("recommendedPercentage",e.university.stats.recommended_percentage)("paidFeatures",e.university.paid_features)("subdirectory",i.product.toLowerCase())("product",i.product)("slug",e.university.slug)("uniId",e.university.id),r(),d("universityId",e.university.id)("universityUrl",e.university.slug)("universityName",e.university.name),r(),m(e.ratingStats?5:-1),r(),d("ratingStats",e.ratingStats)("totalReviews",e.university.stats.reviews_count),r(),m(!i.displaySingleReview()&&e.reviews&&e.reviews.top?7:-1),r(3),S(" Student Reviews (",i.displaySingleReview()?e.university.stats.reviews_count:e.reviews==null?null:e.reviews.total,") "),r(3),d("displayButton",!1)("keyword",i.searchTerm()),r(),d("sortOptions",i.sortOptions),r(),m(i.showContentLoader()?15:-1),r(2),m(!i.displaySingleReview()&&i.canLoadMore()?17:-1),r(),m(i.displaySingleReview()?18:-1),r(),m(e.reviews!=null&&e.reviews.has_more_pages&&i.canLoadMore()?19:-1),r(),d("isFeatured",!1)("showWriteReviewButton",!0)("uniId",e.university.id)("uniName",e.university.name)("uniSlug",e.university.slug)}}function ns(t,l){t&1&&u(0,is,21,42),t&2&&m(l.university?0:-1)}var Vt="universityReviewsSsrRendered",vr=(()=>{class t{constructor(e,i,n,g,k,y,U,He,Qe,We,Ht,xr){this._route=e,this._store=i,this._seoSrv=n,this._searchSrv=g,this._sortSrv=k,this._reviewsSrv=y,this._queryParamsStateSrv=U,this._loadMoreSrv=He,this._loadMoreGASrv=Qe,this._routeUtils=We,this._readUrlSrv=Ht,this._nullResultsGASrv=xr,this.page=1,this.merge=!1,this.product=L.Undergraduate,this.queryParams=this._route.snapshot.queryParams,this.reviewId=this.queryParams.reviewId,this.universityUrl=this._route.parent?.snapshot.params.uniName,this.isPreview=this.queryParams.preview==="true",this.baseUrl=`/universities/${this.universityUrl}/reviews`,this._transferState=G(ei),this._isServer=ui(G(Zt)),this.displaySingleReview=q(!1),this.searchTerm=q(""),this.isLoadMore=q(!1),this.isLoading=q(!0),this.firstLoad=q(!0),this.filterInteraction=q(!1),this._renderedOnServer=q(!1),this._skipLoaders=be(()=>this._renderedOnServer()&&this.firstLoad()),this.showInitialLoader=be(()=>!this._skipLoaders()&&this.isLoading()&&this.firstLoad()&&!this.isLoadMore()&&!this.filterInteraction()),this.showContentLoader=be(()=>!this._skipLoaders()&&this.isLoading()&&!this.isLoadMore()),this.canLoadMore=be(()=>(this.isLoadMore()||!this.isLoading()&&!this.isLoadMore())&&!this.displaySingleReview()),this.sortOptions=this._queryParamsStateSrv.sortOptions,this.universityRatingStats$=this._store.pipe(B(kn)),this.defaultSortOptions={id:fe.HighestRanked,text:"Highest ranked"},this.universityReviews$=Yt([this._handleLoadMore(),this._handleSearchInput(),this._handleSortChange()]).pipe(Mt(()=>this._queryParamsStateSrv.queryParamsState$),K(()=>this.isLoading.set(!0)),Mt(Se=>this._getReviews(Se)),$(Se=>this._processReviews(Se)),K(Se=>{"data"in Se&&Se.data&&Se.data.length===0&&this._nullResultsGASrv.nullResults(this.searchTerm()),this.merge=!1}))}ngOnInit(){this._handleSsrRenderFlag(),this._store.dispatch(_e({universityUrl:this.universityUrl,product:"undergraduate"})),this._store.dispatch(Tn({universityUrl:this.universityUrl})),this._queryParamsStateSrv.resetQueryParamsState(),this._sortSrv.setDefaultOption(this.defaultSortOptions),this.displaySingleReview.set(!!this.reviewId);let e=this.queryParams.s,i=this.queryParams.page;this.page=i?+i:1,this.searchTerm.set(e||""),e&&this._searchSrv.onValueChange(e,""),this._queryParamsStateSrv.updateQueryParamsState({university:this.universityUrl,contains:e||"",page:this.page?this.page:1,offset:this.page&&this.page>1?0:1}),this.university$=this._store.select(oe).pipe(Ue(1),X(n=>!Y(n)),K(n=>n&&this._handleUniversityProfile(n)))}
1getNoReviewsMessage(e,i){return e===0?`${i} has no reviews yet`:e===1?`${i} has one review`:"It looks like your search didn't bring back any results"}_handleSsrRenderFlag(){if(this._isServer){this._transferState.set(Vt,!0);return}this._renderedOnServer.set(this._transferState.get(Vt,!1)),this._transferState.remove(Vt)}_getReviews(e){return this.reviewId?this._reviewsSrv.getUniversityReview(+this.reviewId):this._reviewsSrv.getUniversityReviews(e)}_handleSEO(e){this._seoSrv.updateTitle(je(e,"reviews")),this._seoSrv.updateDescription(Ve(e,"reviews"))}_setProduct(){this.product=this.clientFeatures.postgraduate&&!this.clientFeatures.undergraduate?L.Postgraduate:L.Undergraduate}_handleLoadMore(){let e=Number(this._route.snapshot.queryParams.page||1);return this._loadMoreSrv.getLoadMorePage$.pipe(Ft({page:e}),K(({page:i})=>{this.firstLoad()||(i>1&&(this._routeUtils.appendToUrl("page",i,this.baseUrl),this._loadMoreGASrv.loadResults(this.searchTerm())),this.page=i,this.merge=!0,this.isLoadMore.set(!0),this._queryParamsStateSrv.updateQueryParamsState({page:i,offset:1}))}))}_handleSearchInput(){return this._searchSrv.inputValue$.pipe(K(e=>{this.searchTerm.set(e||"")}),zt(500),K(()=>{this.firstLoad()||(this.page=1,this.filterInteraction.set(!0),this._routeUtils.appendToUrl("s",this.searchTerm(),this.baseUrl),this._routeUtils.appendToUrl("page",this.page,this.baseUrl),this._queryParamsStateSrv.updateQueryParamsState({contains:this.searchTerm(),page:this.page}))}))}_handleSortChange(){return this._sortSrv.selectedOption$.pipe(Ft(this.defaultSortOptions),K(e=>{this.firstLoad()||(this.page=1,this.filterInteraction.set(!0),this._routeUtils.appendToUrl("page",this.page,this.baseUrl),this._queryParamsStateSrv.updateQueryParamsState({sortBy:e.id,page:this.page}))}))}_processReviews(e){if(this.isLoading.set(!1),this.isLoadMore.set(!1),this.firstLoad.set(!1),this.reviewId=null,this.filterInteraction.set(!1),this._routeUtils.appendToUrl("reviewId","",this.baseUrl),"data"in e){if(this.displaySingleReview.set(!1),this.merge===!1)return this.universityReviews=e,e;let i=le(E({},e),{data:[...this.universityReviews.data,...e.data]});return this.universityReviews=i,i}else return this.displaySingleReview.set(!0),this.singleReview=e.universityReview,this.searchTerm.set(this.singleReview.title),{}}_handleUniversityProfile(e){this.clientFeatures=new at(e.paid_features,this.isPreview),this._setProduct(),this._readUrlSrv.setProductManually(this.product),this._handleSEO(e.name),this.uniGallery={cover_image:e.undergraduate.cover_image,images:e.universityGallery?.images}}static{this.\u0275fac=function(i){return new(i||t)(f(W),f(A),f(ee),f(pt),f(Nn),f(Le),f(pr),f(yn),f(Gi),f(Ct),f(Q),f(qi))}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-reviews"]],features:[Te([Le,Ct])],decls:5,vars:12,consts:[[3,"header"],["ucUniProfileGA","","ucUniImpressionGA","","product","","profileTab","Reviews",1,"relative","sm:mt-0",3,"eventTypes","uniId","uniName","ugSearchOrderPosition","cleSearchOrderPosition"],[3,"uniGallery","product","isFeaturedGallery","id","saved","delta","ugSearchOrderPosition","cleSearchOrderPosition","uniName"],["headerTitle","",1,"w-full"],[3,"name","recommendedPercentage","paidFeatures","subdirectory","product","slug","uniId"],["data-cy","cta-section-write-review-btn","customStyles","block w-full secondary-button only-tab-focus !no-underline",3,"universityId","universityUrl","universityName"],[1,"w-full","mt-8","sm:mt-0","md:col-span-2",3,"universityUrl","universityRatingStats","universityRating","totalReviews","uniName","uniId"],[3,"ratingStats","totalReviews"],[1,"container"],[1,"container","pt-16","mb-8"],[1,"secondary-header"],[1,"flex","items-center","justify-between","pb-6"],[1,"w-4/6"],["customStyles","py-2",3,"displayButton","keyword"],["customStyles","right-0 left-auto w-48 sm:w-auto",3,"sortOptions"],[3,"header","banner"],[1,"container","pb-8","sm:pb-16"],[3,"review","topReview","universityName","universityUrl"],[1,"mt-8"],[3,"isFeatured","showWriteReviewButton","uniId","uniName","uniSlug"],[3,"message"],["buttonText","Leave a review",3,"universityId","universityName","universityUrl"],[3,"isLoading","page"]],template:function(i,n){if(i&1&&(u(0,Wa,1,1,"uc-university-skeleton",0),u(1,ns,1,1),h(2,"async"),h(3,"async"),h(4,"async")),i&2){let g;m(n.showInitialLoader()?0:-1),r(),m((g=ai(8,ja,C(2,2,n.university$),C(3,4,n.universityRatingStats$),C(4,6,n.universityReviews$)))?1:-1,g)}},dependencies:[se,J,nr,rr,mr,un,pn,he,Cn,xe,In,ae,ie,ne,R],encapsulation:2})}}return t})();var gr=(t,l)=>({studyType:"Clearing",heading:`Clearing ${t} at ${l}`,text:`Clearing ${t}
1 starts in July. Check back then to see if ${l} has any available courses.`}),hr={studyType:"Clearing",heading:"Clearing vacancies are available \u{1F389} ",text:"Get in touch with the university to learn more now."},_r={studyType:"Clearing",heading:"Clearing at Uni Compare is closed",text:`Clearing has now closed at Uni Compare. Check back next year for Clearing ${new Date().getFullYear()+1}.`},fr=t=>({studyType:"Clearing",heading:`This University Is Not Active for Clearing ${t} at Uni Compare`,text:`Download our Clearing app and create an account to find your place in Clearing ${t}.`});var os=t=>["/universities",t,"postgraduate"],Ke=()=>({preview:"true"}),Ye=()=>({}),as=t=>["/universities",t,"open-days"],ss=t=>["/universities",t,"reviews"],ds=t=>["/universities",t],ls=t=>({exact:t}),cs=t=>["/universities",t,"clearing"];function us(t,l){if(t&1&&(a(0,"a",2),v(1," Undergrad"),a(2,"span",4),v(3,"uate"),o()()),t&2){let e=s();d("routerLink",w(3,ds,e.uniSlug()))("queryParams",e.isPreview()?N(5,Ke):N(6,Ye))("routerLinkActiveOptions",w(7,ls,e.isRouteActive()))}}function ms(t,l){if(t&1&&(a(0,"a",3)(1,"span"),v(2,"Clearing"),o()()),t&2){let e=s();d("routerLink",w(2,cs,e.uniSlug()))("queryParams",e.isPreview()?N(4,Ke):N(5,Ye))}}var Ot=(()=>{class t{constructor(){this.postExclusive=p.required(),this.selectedTab=p.required(),this.isPreview=p.required(),this.uniSlug=p.required(),this.clearingEnabled=!1}isRouteActive(){return!(this.isPreview()&&this.selectedTab()==="undergraduate")}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["uc-navigation-tabs"]],inputs:{postExclusive:[1,"postExclusive"],selectedTab:[1,"selectedTab"],isPreview:[1,"isPreview"],uniSlug:[1,"uniSlug"]},decls:12,vars:20,consts:[["navigation",""],["aria-label","Tabs","id","navigation-tabs",1,"z-20","overflow-x-scroll","border-b","sm:border-b-0","uni-mobile-nav-container"],["routerLinkActive","tab-selected-uni-nav",1,"uni-mobile-nav-button",3,"routerLink","queryParams","routerLinkActiveOptions"],["routerLinkActive","tab-selected-uni-nav",1,"uni-mobile-nav-button",3,"routerLink","queryParams"],[1,"hidden","sm:inline-block"]],template:function(i,n){i&1&&(a(0,"nav",1,0),u(2,us,4,9,"a",2),a(3,"a",3),v(4," Postgrad"),a(5,"span",4),v(6,"uate"),o()(),u(7,ms,3,6,"a",3),a(8,"a",3),v(9," Open Days "),o(),a(10,"a",3),v(11," Reviews "),o()()),i&2&&(r(2),m(n.postExclusive()?-1:2),r(),d("routerLink",w(8,os,n.uniSlug()))("queryParams",n.isPreview()?N(10,Ke):N(11,Ye)),r(4),m(n.clearingEnabled?7:-1),r(),d("routerLink",w(12,as,n.uniSlug()))("queryParams",n.isPreview()?N(14,Ke):N(15,Ye)),r(2),d("routerLink",w(16,ss,n.uniSlug()))("queryParams",n.isPreview()?N(18,Ke):N(19,Ye)))},dependencies:[ge,gi],encapsulation:2,changeDetection:0})}}return t})();var ps=()=>["view"];function vs(t,l){t&1&&c(0,"uc-university-skeleton",0),t&2&&d("header",!1)("banner",!0)}function gs(t,l){if(t&1&&(a(0,"uc-university-header",15),c(1,"uc-bookmark",16)(2,"uc-university-header-title",17),a(3,"div",18),c(4,"uc-navigation-tabs",3),o()()),t&2){let e=s(3),i=s();d("logo",e.logo)("uniName",e.name),r(),d("saved",e.saved)("id",e.id)("uniName",e.name)("delta",1)("bookmarkBtn",!0)("ugSearchOrderPosition",null)("cleSearchOrderPosition",e.order),r(),d("name",e.name)("recommendedPercentage",e.stats.recommended_percentage)("paidFeatures",e.paid_features)("subdirectory","clearing")("product",i.product)("slug",e.slug)("uniId",e.id),r(2),d("postExclusive",i.isFeaturedPostgraduateLandingPage)("selectedTab","clearing")("isPreview",i.isPreview)("uniSlug",e.slug)}}function hs(t,l){if(t&1&&(et(0),u(1,gs,5,20,"uc-university-header",15),tt()
1),t&2){let e=s(2);r(),m(e?1:-1)}}function _s(t,l){if(t&1&&c(0,"uc-clearing-available-badge",6),t&2){let e=s(3);d("currentClearingYear",e.currentClearingYear)}}function fs(t,l){if(t&1&&c(0,"uc-cta-clearing",9),t&2){let e=s(2),i=s();d("isFeaturedClearingVisitWebsite",i.isFeaturedClearingVisitWebsite)("isFeaturedRegisterInterest",i.isFeaturedRegisterInterest)("isFeaturedCalls",i.isFeaturedCalls)("externalUrl",e.external_url)("uniName",e.name)("uniId",e.id)("phoneNumber",e.phone_number)("source",e.name)("cleSearchOrderPosition",e.order)("privacyPolicyUrl",e.privacy_policy_url)("uniNickname",e.short_name)}}function ys(t,l){if(t&1&&c(0,"uc-cta-clearing-non-featured",10),t&2){let e=s(2);d("slug",e.slug)}}function Cs(t,l){if(t&1&&c(0,"uc-clearing-visit-website-btn",28),t&2){let e=s(4);d("externalUrl",e.external_url)("source",e.name)("uniId",e.id)("uniName",e.name)("cleSearchOrderPosition",e.order)("privacyPolicyUrl",e.privacy_policy_url)("uniNickname",e.short_name)}}function xs(t,l){if(t&1&&(a(0,"div",22),c(1,"uc-heading",27),u(2,Cs,1,7,"uc-clearing-visit-website-btn",28),o()),t&2){let e=s(3),i=s();r(),d("headingTitle",oi("",e.name," Clearing ",i.currentClearingYear," Overview"))("description",e.overview),r(),m(i.isFeaturedClearingVisitWebsite&&e.external_url?2:-1)}}function Ss(t,l){if(t&1&&c(0,"uc-clearing-visit-website-btn",29),t&2){let e=s(4);d("externalUrl",e.external_url)("source",e.name)("uniId",e.id)("uniName",e.name)("cleSearchOrderPosition",e.order)("privacyPolicyUrl",e.privacy_policy_url)("uniNickname",e.short_name)}}function bs(t,l){if(t&1&&(a(0,"div",25),c(1,"uc-heading",27),u(2,Ss,1,7,"uc-clearing-visit-website-btn",29),o()),t&2){let e=s(3),i=s();r(),d("headingTitle",H("Why Choose ",e.name," During Clearing"))("description",e.usp.text),r(),m(i.isFeaturedClearingVisitWebsite&&e.external_url?2:-1)}}function ws(t,l){if(t&1&&(a(0,"main",11)(1,"div",19)(2,"div",20),c(3,"uc-university-information",21),o(),u(4,xs,3,5,"div",22),o(),c(5,"uc-course-search-banner",23),a(6,"div",24),u(7,bs,3,4,"div",25),o(),c(8,"uc-clearing-cta-final",26),o()),t&2){let e=s(2),i=s();r(3),d("totalStudents",e.stats.total_students)("studentsInHalls",e.stats.students_in_hall)("fullTime",e.stats.full_time_students_percentage)("avgTariffPoints",e.stats.average_entry_tariff),r(),m(e.overview?4:-1),r(),d("product",i.product)("uniName",e.name)("uniSlug",e.slug),r(2),m(e.usp.text?7:-1),r(),d("uniId",e.id)("uniName",e.name)("isFeaturedCalls",i.isFeaturedCalls)("isFeaturedRegisterInterest",i.isFeaturedRegisterInterest)("isFeaturedClearingVisitWebsite",i.isFeaturedClearingVisitWebsite)("phoneNumber",e.phone_number)("externalUrl",e.external_url)("currentClearingYear",i.currentClearingYear)("source",e.name)("cleSearchOrderPosition",e.order)("privacyPolicyUrl",e.privacy_policy_url)("uniNickname",e.short_name)}}function Ps(t,l){if(t&1&&(a(0,"div",12),c(1,"uc-recommended-unis-grid",30),o()),t&2){let e=s(3);
1r(),d("product",e.product)("componentName",e.recommendedUnisComponentName())}}function Us(t,l){if(t&1&&(a(0,"uc-client-profile-sticky-lead-bar-mobile",13),c(1,"uc-clearing-visit-website-btn",31),o()),t&2){let e=s(2),i=s();d("isFeatured",i.isFeaturedClearing),r(),d("externalUrl",e.external_url)("uniId",e.id)("source",e.name)("uniName",e.name)("cleSearchOrderPosition",e.order)("privacyPolicyUrl",e.privacy_policy_url)("uniNickname",e.short_name)}}function Ns(t,l){if(t&1&&c(0,"uc-client-profile-sticky-lead-bar-desktop",14),t&2){let e=s(2),i=s();d("uniId",e.id)("uniName",e.name)("uniNickname",e.short_name)("product",i.product)("paidFeatures",e.paid_features)("externalUrl",e.external_url)("phoneNumber",e.phone_number)("showClearing",!0)("source",e.name)("ugSearchOrderPosition",null)("cleSearchOrderPosition",e.order)("privacyPolicyUrl",e.privacy_policy_url??"")}}function Is(t,l){if(t&1&&(a(0,"div",1)(1,"div",2),c(2,"uc-navigation-tabs",3),o(),Ne(3,hs,2,1,"ng-container",4),a(4,"div",5),u(5,_s,1,1,"uc-clearing-available-badge",6),a(6,"uc-university-slider",7),c(7,"uc-university-header-title",8),u(8,fs,1,11,"uc-cta-clearing",9)(9,ys,1,1,"uc-cta-clearing-non-featured",10),o()(),u(10,ws,9,21,"main",11),u(11,Ps,2,2,"div",12),u(12,Us,2,8,"uc-client-profile-sticky-lead-bar-mobile",13),u(13,Ns,1,12,"uc-client-profile-sticky-lead-bar-desktop",14),o()),t&2){let e=s(),i=s();d("eventTypes",N(33,ps))("uniId",e.id)("uniName",e.name)("ugSearchOrderPosition",null)("cleSearchOrderPosition",e.order)("regionFilter",e.address==null?null:e.address.region),r(2),d("postExclusive",i.isFeaturedPostgraduateLandingPage)("selectedTab","clearing")("isPreview",i.isPreview)("uniSlug",e.slug),r(),d("ucRemoveDuplicateDomElement","hideOnMobile"),r(2),m(i.isFeaturedClearing?5:-1),r(),d("uniGallery",i.uniGallery)("product",i.product)("isFeaturedGallery",i.isFeaturedClearing)("uniSliderCopy",i.uniSliderCopy)("id",e.id)("saved",e.saved)("delta",1)("uniName",e.name)("ugSearchOrderPosition",null)("cleSearchOrderPosition",e.order),r(),d("name",e.name)("recommendedPercentage",e.stats.recommended_percentage)("paidFeatures",e.paid_features)("product",i.product)("slug",e.slug)("uniId",e.id),r(),m(i.isFeaturedClearing&&(i.isClearing||i.isPreview)?8:9),r(2),m(i.isFeaturedClearing&&(i.isClearing||i.isPreview)?10:-1),r(),m(i.isFeaturedClearing?-1:11),r(),m(e?12:-1),r(),m(i.isFeaturedClearing?13:-1)}}function Es(t,l){if(t&1&&u(0,Is,14,34,"div",1),t&2){let e=s();m(e.isLoading?-1:0)}}var yr=(()=>{class t{constructor(e,i,n,g,k,y){this._store=e,this._route=i,this._seoSrv=n,this._cvSrv=g,this._clearingSrv=k,this._videoGASrv=y,this.paidFeatures=[b.Clearing],this.product=L.Clearing,this.isLoading=!1,this.uniSliderCopy={},this.isPreview=this._route.snapshot.queryParams.preview==="true",this.uniSlug=this._route.parent?.snapshot.params.uniName,this.currentClearingYear=this._clearingSrv.getYear(),this.isClearing=this._clearingSrv.isClearing(),this.isPreClearing=this._clearingSrv.isPreClearing(),this.isPostClearing=this._clearingSrv.isPostClearing(),this.recommendedUnisComponentName=be(()=>this.isClearing?"CLE Recommended Universities":"UG Recommended Universities"),this.university$=this._store.pipe(B(Rn),X(U=>!Y(U)),$(U=>{if(U)return this.isLoading=!1,this.hasFeatures(U.paid_features),this.getClearingCopy(U.name),this.handleSEO(U.name),this.uniGallery={cover_image:U.cover_image,images:U.gallery,video:U.video},U})),this._currentYear=new Date().getFullYear()}ngOnInit(){this.isLoading=!0,this.isPreview&&this.paidFeatures.push(b.ClearingPreview),this._routeSub=this._route.paramMap.subscribe(e=>{this.uniSlug=e.get("uniName"),this._store.dispatch(En({uniSlug:this.uniSlug}))}),this.onUniProfileImpression()}ngOnDestroy(){this._routeSub?.unsubscribe()}handleSEO(e){let i=je(e,"clearing"),n=Ve(e,"clearing");this._seoSrv.updateTitle(i),this._seoSrv.updateDescription(n)}getClearingCopy(e){this.isClearing||this.isPreview?this.uniSliderCopy=this.isFeaturedClearing?hr:fr(this.currentClearingYear):this.isPreClearing?this.uniSliderCopy=gr(this._currentYear,e):this.isPostClearing&&(this.uniSliderCopy=_r)}hasFeatures(e){this.isFeaturedClearing=this._cvSrv.checkFeature(e,this.paidFeatures),this.isFeaturedCalls=this._cvSrv.checkFeature(e,b.Calls),this.isFeaturedRegisterInterest=this._cvSrv.checkFeature(e,b.RegisterInterest),this.isFeaturedClearingVisitWebsite=this._cvSrv.checkFeature(e,b.ClearingVisitWebsite),this.isFeaturedPostgraduateLandingPage=this._cvSrv.checkFeature(e,b.PostgraduateLandingPage)}onUniProfileImpression(){this.university$.pipe(X(e=>!!e?.id),Pe(1),$(e=>{if(!e)return;let{video:i,id:n}=e;i?.url&&this._videoGASrv.impression(n,L.Clearing)})).subscribe()}static{this.\u0275fac=function(i){return new(i||t)(f(A),f(W),f(ee),f(Z),f(Ui),f(Oe))}}static{this.\u0275cmp=_({type:t,selectors:[["uc-clearing-profile"]],decls:3,vars:4,consts:[[3,"header","banner"],["ucUniProfileGA","","ucUniImpressionGA","","product","clearing","degreeLevel","Clearing","profileTab","Clearing",3,"eventTypes","uniId","uniName","ugSearchOrderPosition","cleSearchOrderPosition","regionFilter"],[1,"sticky","top-0","z-50","sm:hidden"],[3,"postExclusive","selectedTab","isPreview","uniSlug"],[4,"ucRemoveDuplicateDomElement"],[1,"relative"],[3,"currentClearingYear"],[3,"uniGallery","product","isFeaturedGallery","uniSliderCopy","id","saved","delta","uniName","ugSearchOrderPosition","cleSearchOrderPosition"],["headerTitle","","subdirectory","clearing",3,"name","recommendedPercentage","paidFeatures","product","slug","uniId"],["sourceType","uni","componentName","Profile Header",3,"isFeaturedClearingVisitWebsite","isFeaturedRegisterInterest","isFeaturedCalls","externalUrl","uniName","uniId","phoneNumber","source","cleSearchOrderPosition","privacyPolicyUrl","uniNickname"],[3,"slug"],[1,"relative","sm:mt-0"],[1,"container","pb-8","lg:pb-0"],[3,"isFeatured"],["sourceType","uni",3,"uniId","uniName","uniNickname","product","paidFeatures","externalUrl","phoneNumber","showClearing","source","ugSearchOrderPosition","cleSearchOrderPosition","privacyPolicyUrl"],[3,"logo","uniName"],["bookmark","","componentName","Profile Header","product","clearing",3,"saved","id","uniName","delta","bookmarkBtn","ugSearchOrderPosition","cleSearchOrderPosition"],["headerTitle","",3,"name","recommendedPercentage","paidFeatures","subdirectory","product","slug","uniId"],["navigation","",1,"flex","items-center","justify-between","text-xs","font-medium","sm:border-t"],[1,"container","sm:border-t"],[1,"pt-8","border-t","sm:divider","sm:border-t-0"],[3,"totalStudents","studentsInHalls","fullTime","avgTariffPoints"],[1,"flex","flex-col","gap-4","divider"],["description","Fancy a new challenge? Find the perfect course for you with our Clearing course search.",3,"product","uniName","uniSlug"],[1,"container"],[1,"flex","flex-col","gap-4","!border-b-0","divider"],[3,"uniId","uniName","isFeaturedCalls","isFeaturedRegisterInterest","isFeaturedClearingVisitWebsite","phoneNumber","externalUrl","currentClearingYear","source","cleSearchOrderPosition","privacyPolicyUrl","uniNickname"],[3,"headingTitle","description"],["sourceType","uni","customStyles","w-full sm:max-w-xs","componentName","About University","data-cy","overview-visit-website-btn",3,"externalUrl","source","uniId","uniName","cleSearchOrderPosition","privacyPolicyUrl","uniNickname"],["sourceType","uni","customStyles","w-full sm:max-w-xs","componentName","Why Choose University","data-cy","why-choose-visit-website-btn",3,"externalUrl","source","uniId","uniName","cleSearchOrderPosition","privacyPolicyUrl","uniNickname"],[3,"product","componentName"],["customStyles","w-full","componentName","Sticky Lead Bar","sourceType","uni","data-cy","mobile-sticky-lead-bar-visit-website-btn",3,"externalUrl","uniId","source","uniName","cleSearchOrderPosition","privacyPolicyUrl","uniNickname"]],template:function(i,n){if(i&1&&(u(0,vs,1,2,"uc-university-skeleton",0),u(1,Es,1,1),h(2,"async")),i&2){let g;m(n.isLoading?0:-1),r(),m((g=C(2,2,n.university$))?1:-1,g)}},dependencies:[st,se,Ot,ft,J,Un,Be,re,gn,Me,Pn,xe,Ae,ye,$n,Gn,ae,ie,ne,yt,R],encapsulation:2,changeDetection:0})}}return t})();function Ts(t,l){if(t&1&&(a(0,"div",7),c(1,"uc-visit-website-btn",9)(2,"uc-prospectus-btn",10)(3,"uc-request-btn",11),o()),t&2){let e=s(3),i=s();r(),d("externalUrl",i.externalLink())("product",i.product)("uniId",e==null?null:e.id)("source",e==null?null:e.name)("uniName",e.name)("ugSearchOrderPosition",e.order),r(),d("params",e.id)("link",i.externalProspectusLink())("product",null)("privacyPolicyUrl",e.privacy_policy_url)("isFeaturedPostgraduate",i.clientFeatures.postgraduate||i.clientFeatures.postPreview)("isFeaturedUndergraduate",i.clientFeatures.undergraduate||i.clientFeatures.underPreview)("showModal",!0)("ugSearchOrderPosition",e.order),r(),d("params",e.id)("product",null)("ugSearchOrderPosition",e.order)}}function Ds(t,l){if(t&1&&(a(0,"uc-university-header",4),c(1,"uc-bookmark",5)(2,"uc-university-header-title",6),u(3,Ts,4,17,"div",7),a(4,"div",8),c(5,"uc-navigation-tabs",2),o()()),t&2){let e=s(2),i=s();d("logo",e.logo)("uniName",e.name),r(),d("saved",e.saved)("id",e.id)("uniName",e.name)("delta",1)("bookmarkBtn",!0)("ugSearchOrderPosition",e.order)("cleSearchOrderPosition",null)("product",i.product),r(),d("name",e.name)("recommendedPercentage",e.stats.recommended_percentage)("paidFeatures",e.paid_features)("subdirectory",i.subdirectory)("product",i.product)("slug",e.slug)("uniId",e.id),r(),m(i.clientFeatures.isFeatured&&i.subdirectory==="reviews"?3:-1),r(2),d("postExclusive",i.clientFeatures.isPostExclusive)("selectedTab",i.subdirectory)("isPreview",i.isPreview)("uniSlug",e.slug)}}function Rs(t,l){if(t&1&&(et(0),u(1,Ds,6,22,"uc-university-header",4),tt()),t&2){let e=s();r(),m(e?1:-1)}}function ks(t,l){if(t&1&&(c(0,"uc-profile-accelerator-tickertape",0),a(1,"div",1),c(2,"uc-navigation-tabs",2),o(),Ne(3,Rs,2,1,"ng-container",3)),t&2){let e=l,i=s();d("tickertapes",e.accelerator_tickertapes)("clientFeatures",e.paid_features)("isFeatured",i.clientFeatures.isFeatured),r(2),d("postExclusive",i.clientFeatures.isPostExclusive)("selectedTab",i.subdirectory)("isPreview",i.isPreview)("uniSlug",e.slug),r(),d("ucRemoveDuplicateDomElement","hideOnMobile")}}var Cr=(()=>{class t{constructor(e,i,n,g,k){this._store=e,this._route=i,this._router=n,this._readUrlSrv=g,this._jsonLdSrv=k,this.universityUtils=new qe,this.queryParams=this._route.snapshot.queryParams,this.universityUrl=this._route.snapshot.params.uniName,this.isPreview=this.queryParams.preview==="true",this.externalLink=q(""),this.externalProspectusLink=q(""),this.university$=this._store.pipe(B(oe),Ue(1),$(y=>Y(y)?null:(y&&(this._jsonLdSrv.addUniversitySchema(this._prepareSchemaObject(y)),this.clientFeatures=new at(y.paid_features,this.isPreview),this._createGallery(y),this.externalProspectusLink.set(lt(y,"external_prospectus_url",this.product)),this.externalLink.set(lt(y,"external_url",this.product)),this.clientFeatures.isPostExclusive&&this.product===L.Undergraduate&&this._router.navigate(["/universities",this.universityUrl,"postgraduate"]),this._removePreviewQueryParam(y.paid_features)),y))),this._productSub=this._readUrlSrv.getProduct$().subscribe(y=>this.product=y),this._subdirectorySub=this._readUrlSrv.getSubdirectory().subscribe(y=>this.subdirectory=y)}ngOnDestroy(){this._jsonLdSrv.removeSchema("university-schema"),this._productSub?.unsubscribe(),this._subdirectorySub?.unsubscribe()}onUpdateSavedInStore(e){if(e===void 0)return;let i=e===1;this._store.dispatch(Dn({saved:i}))}_createGallery(e){if(!e||!e.universityGallery)return;let i=lt(e,"cover_image",this.product);this.uniGallery={cover_image:i,images:e.universityGallery.images}}_removePreviewQueryParam(e){let i=this.universityUtils.isPreviewMode(e,this.isPreview);if(!this.clientFeatures.isPostExclusive&&!i){let n=le(E({},this.queryParams),{preview:null});this._router.navigate([],{relativeTo:this._route,queryParams:this.subdirectory==="reviews"?n:{}}),this.isPreview=!1}}_prepareSchemaObject(e){return{name:e.name,region:e.address?.region??"",address:e.address?.street??"",postcode:e.address?.postcode??"",rating:e.stats.rating,reviewsCount:e.stats.reviews_count}}static{this.\u0275fac=function(i){return new(i||t)(f(A),f(W),f(vi),f(Q),f(_i))}}static{this.\u0275cmp=_({type:t,selectors:[["uc-university-shell"]],features:[Te([Q])],decls:3,vars:3,consts:[[3,"tickertapes","clientFeatures","isFeatured"],[1,"sticky","top-0","z-50","sm:hidden"],[3,"postExclusive","selectedTab","isPreview","uniSlug"],[4,"ucRemoveDuplicateDomElement"],[1,"hidden","sm:block",3,"logo","uniName"],["bookmark","","componentName","Profile Header",3,"saved","id","uniName","delta","bookmarkBtn","ugSearchOrderPosition","cleSearchOrderPosition","product"],["headerTitle","",3,"name","recommendedPercentage","paidFeatures","subdirectory","product","slug","uniId"],["ctaButtons","",1,"w-full","pb-8","sm:flex","
1sm:gap-3","sm:pb-0","sm:max-w-max"],["navigation","",1,"flex","items-center","justify-between","sm:border-t"],["customStyles","sm:hidden w-full mb-4","componentName","Profile Header","buttonText","Visit Website","sourceType","uni",3,"externalUrl","product","uniId","source","uniName","ugSearchOrderPosition"],["customStyles","w-full sm:max-w-max mr-0","componentName","Profile Header",3,"params","link","product","privacyPolicyUrl","isFeaturedPostgraduate","isFeaturedUndergraduate","showModal","ugSearchOrderPosition"],["customStyles","w-full sm:max-w-max","componentName","Profile Header",3,"params","product","ugSearchOrderPosition"]],template:function(i,n){if(i&1&&(u(0,ks,4,8),h(1,"async"),c(2,"router-outlet")),i&2){let g;m((g=C(1,1,n.university$))?0:-1,g)}},dependencies:[pi,st,Ot,ft,J,z,hn,_n,yt,qn,R],encapsulation:2})}}return t})();var cv=[{path:"",component:Cr,children:[{path:"",component:Xn},{path:"undergraduate",redirectTo:"",pathMatch:"full"},{path:"postgraduate",component:Zn},{path:"open-days",component:ir},{path:"reviews",component:vr}]},{path:"clearing",component:yr}];export{cv as UNIVERSITY_ROUTES,ad as _STATE_ACCOMMODATIONS_FEATURE_KEY,zs as _STATE_CAMPUS_LOCATIONS_FEATURE_KEY,Gs as _STATE_UNIVERSITY_FEATURE_KEY,sd as accommodationsInitialState,dd as accommodationsReducer,Js as campusLocationsInitialState,Xs as campusLocationsReducer,An as fetchAccommodationsList,Mn as fetchCampusesList,En as fetchClearingUniversity,xt as fetchUniByProduct,_e as fetchUniversity,Tn as fetchUniversityRatingStats,ld as getAccommodationState,Zs as getCampusLocationsState,md as getStateAccommodationUniversityUrl,Bn as getStateAccommodations,ud as getStateAccommodationsError,cd as getStateAccommodationsLoaded,Ln as getStateCampusLocations,td as getStateCampusLocationsError,ed as getStateCampusLocationsLoaded,id as getStateCampusLocationsUniversityUrl,Rn as getStateClearingUniversity,St as getStateIsLoading,oe as getStateUniversity,Ws as getStateUniversityError,kn as getStateUniversityRatingStats,Vs as getStateUniversityState,Hs as getStateUniversityUrl,qs as initialState,$s as loadMoreUniversityReviews,od as loadStateAccommodationsFailure,Qs as loadStateCampusLocationsFailure,Os as loadStateUniversityFailure,js as reducer,nd as updateAccommodationsList,rd as updateAccommodationsUniversityUrl,Ys as updateCampusLocationsUniversityUrl,Ks as updateCampusesList,Ms as updateClearingUniversity,Dn as updateSavedProperty,Ls as updateUniByProduct,Fs as updateUniversity,Bs as updateUniversityRatingStats,As as updateUniversityUrl};
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.