The student app's login page offers Microsoft 365 when the provider is configured, /auth/oauth/callback redeems the one-time code, a consent screen finishes a first sign-in, the profile attaches Microsoft through a link ticket, and the service worker leaves /oauth alone. The build also carries the summer presentation theme already committed in the frontend sources.
2 lines
3.5 KiB
JavaScript
2 lines
3.5 KiB
JavaScript
import{d as U,u as q,c as o,b as t,i as w,j as _,e as c,p as n,t as l,F as V,h as B,f as k,w as j,g as h,x as N,r as i,l as E,k as P,n as a,A as S,m as D}from"./index-DmTksCHf.js";import{s as F,f as I}from"./forms-X1As8WqF.js";const O={class:"auth"},T={key:0,class:"stack"},K={key:1,class:"stack"},L={class:"notice",role:"status"},W={key:0},G={class:"muted",style:{"margin-bottom":"14px"}},H={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"14px"}},J={class:"check"},Q={key:1,class:"error-text"},X={class:"check"},Y={key:2,class:"error-text"},$={class:"check",style:{"margin-bottom":"16px"}},ee=["disabled"],te={class:"auth-links"},ne=U({__name:"OAuthRegisterView",setup(se){const A=q(),C=P(),Z=D();function d(s){const e=C.query[s];return typeof e=="string"?e:""}const x=d("pending"),p=d("email"),M=d("reason"),f=N(()=>{const s=d("provider");return s==="microsoft"||s===""?"Microsoft 365":s.charAt(0).toUpperCase()+s.slice(1)}),m=i(!1),v=i(!1),g=i(!1),y=i(!1),r=i(null),z=i(!x);async function R(){y.value=!0,r.value=null;try{const{returnTo:s}=await A.completeOAuthRegistration({pending_code:x,terms_accepted:m.value,privacy_accepted:v.value,marketing_consent:g.value});await Z.replace(F(s))}catch(s){s instanceof S&&s.status===410?z.value=!0:r.value=I(s)}finally{y.value=!1}}return(s,e)=>{const b=E("router-link");return a(),o("div",O,[e[13]||(e[13]=t("header",{class:"page-head"},[t("span",{class:"eyebrow"},"BM II° · UWr"),t("h1",null,"Rejestracja")],-1)),z.value?(a(),o("div",T,[e[4]||(e[4]=t("p",{class:"notice error",role:"alert"},"Sesja rejestracji wygasła. Zaloguj się ponownie.",-1)),w(b,{class:"btn primary",to:"/logowanie"},{default:_(()=>[...e[3]||(e[3]=[n("Przejdź do logowania",-1)])]),_:1})])):c(M)==="unverified_match"?(a(),o("div",K,[t("p",L,[e[5]||(e[5]=n(" Konto z adresem ",-1)),c(p)?(a(),o("b",W,l(c(p)),1)):(a(),o(V,{key:1},[n("e-mail z konta "+l(f.value),1)],64)),n(" już istnieje. Zaloguj się hasłem, a potem połącz konto "+l(f.value)+" w profilu („Połącz konto Microsoft”). ",1)]),w(b,{class:"btn primary",to:"/logowanie"},{default:_(()=>[...e[6]||(e[6]=[n("Zaloguj się hasłem",-1)])]),_:1})])):(a(),o("form",{key:2,onSubmit:B(R,["prevent"]),novalidate:""},[t("p",G,[n(" Pierwsze logowanie przez "+l(f.value),1),c(p)?(a(),o(V,{key:0},[e[7]||(e[7]=n(" jako ",-1)),t("b",null,l(c(p)),1)],64)):k("",!0),e[8]||(e[8]=n(". Zaakceptuj warunki, aby założyć konto. ",-1))]),r.value?.message?(a(),o("div",H,l(r.value.message),1)):k("",!0),t("label",J,[j(t("input",{"onUpdate:modelValue":e[0]||(e[0]=u=>m.value=u),type:"checkbox",required:""},null,512),[[h,m.value]]),e[9]||(e[9]=t("span",null,"Akceptuję regulamin serwisu (wymagane)",-1))]),r.value?.fields.terms_accepted?(a(),o("p",Q,l(r.value.fields.terms_accepted),1)):k("",!0),t("label",X,[j(t("input",{"onUpdate:modelValue":e[1]||(e[1]=u=>v.value=u),type:"checkbox",required:""},null,512),[[h,v.value]]),e[10]||(e[10]=t("span",null,"Zgadzam się na przetwarzanie moich danych zgodnie z polityką prywatności (wymagane)",-1))]),r.value?.fields.privacy_accepted?(a(),o("p",Y,l(r.value.fields.privacy_accepted),1)):k("",!0),t("label",$,[j(t("input",{"onUpdate:modelValue":e[2]||(e[2]=u=>g.value=u),type:"checkbox"},null,512),[[h,g.value]]),e[11]||(e[11]=t("span",null,"Chcę otrzymywać wiadomości o nowościach (opcjonalnie)",-1))]),t("button",{class:"btn primary block",type:"submit",disabled:y.value||!m.value||!v.value},l(y.value?"Zakładanie…":"Załóż konto"),9,ee)],32)),t("div",te,[w(b,{to:"/logowanie"},{default:_(()=>[...e[12]||(e[12]=[n("Mam już konto",-1)])]),_:1})])])}}});export{ne as default};
|