UNPKG

nextjs-seo-manager

Version:
2 lines (1 loc) 1.43 kB
import{_ as t,a as e}from"./index-d33ebfb9.js";import s from"react";import{connect as i}from"react-redux";import{f as r}from"./firebase-f83deced.js";import{getAuth as a,onAuthStateChanged as o,signInAnonymously as p}from"firebase/auth";import"@reduxjs/toolkit";import"@mui/material";import"firebase/app";const c=a(r);class n extends s.Component{constructor(s){super(s),t(this,"componentDidMount",()=>{o(c,async t=>{t?this.loadUser(t):await p(c)}),c?.currentUser&&this.loadUser(c.currentUser)}),t(this,"loadUser",async t=>{const s=["owner","admin","editor"];let i=e({},t);if(t){const e=await t.getIdTokenResult(!0);if(e?.claims?.[this.props?.seoData?.initial?.projectId]&&s.includes(e?.claims?.[this.props?.seoData?.initial?.projectId]))i.authorizedProject=!0;else if(e?.claims?.[this.props?.seoData?.initial?.projectId]){const{timeStamp:t}=JSON.parse(e?.claims?.[this.props?.seoData?.initial?.projectId]),s=new Date(t).toISOString(),r=(new Date).toISOString();i.authorizedProject=r<s&&t}else{let t=!1,s={};Object.keys(e?.claims).forEach(i=>{if(i.includes(`${this.props?.seoData?.initial?.projectId}-`)){const{timeStamp:r}=JSON.parse(e?.claims?.[i]);t=!0;const a=i.split("-")[1];s[a]=r}}),t?i.authorizedPages=s:i.authorizedProject=!1}}const r={type:"SET_USER",results:JSON.parse(JSON.stringify(i))};this.props.dispatch(r)}),this.state={}}render(){return null}}var l=i(t=>({user:t.user,seoData:t?.seoData}))(n);export{l as default};