@mikezimm/fps-library-v2
Version:
Library of reusable typescript/javascript functions, interfaces and constants
100 lines (98 loc) • 5.61 kB
JavaScript
/**
* CodeAnalizerComment: Updated 2 imports on 2024-09-22 14:49:52
* Update:: import { IWebpartBannerProps } to '@mikezimm/fps-core-v7/lib/banner/mainReact/IWebpartBannerProps;'
* Update:: import { sendFeedback } to '@mikezimm/fps-core-v7/lib/banner/bannerX/sendFeedback;'
*/
/**
* CodeAnalizerComment: Updated 6 imports on 2024-09-21 23:07:24
* Update:: import { sendFeedback } to '@mikezimm/fps-core-v7/lib/banner/bannerX/sendFeedback;'
* Update:: import { ecrptMe } to '@mikezimm/fps-core-v7/lib/banner/features/Tricky/logfun;'
* Update:: import { decrpt } to '@mikezimm/fps-core-v7/lib/banner/features/Tricky/verify;'
* Update:: import { encrpt } to '@mikezimm/fps-core-v7/lib/banner/features/Tricky/verify;'
* Update:: import { upperFirstLetter } to '@mikezimm/fps-core-v7/lib/logic/Strings/stringCase;'
* Update:: import { IPinMeState } to '@mikezimm/fps-core-v7/lib/banner/features/PinMe/Interfaces;'
*/
import * as React from 'react';
import { Icon, } from '@fluentui/react/lib/Icon';
import { sendFeedback } from '@mikezimm/fps-core-v7/lib/banner/bannerX/sendFeedback';
import { AmIOnDFW, ecrptMe } from '@mikezimm/fps-core-v7/lib/banner/features/Tricky/logfun';
import { decrpt, encrpt } from '@mikezimm/fps-core-v7/lib/banner/features/Tricky/verify';
import { upperFirstLetter } from '@mikezimm/fps-core-v7/lib/logic/Strings/stringCase';
const fCL1 = upperFirstLetter(ecrptMe(`-JRv= A.u u/`, decrpt, encrpt), true);
const fCL2 = upperFirstLetter(ecrptMe(`b// v//J WkIAj`, decrpt, encrpt), true);
const mValid = upperFirstLetter(ecrptMe(`lW$Jkn1 5i>WT XHuW>`, decrpt, encrpt), true);
const mExprd = upperFirstLetter(ecrptMe(`lW$Jkn1 MCc1-eZ`, decrpt, encrpt), true);
const mTitleF = upperFirstLetter(ecrptMe(`S/vJ IXH$GC/ki>WuD W] uJvkAARAC=w >WvWuJT Rn /b`, decrpt, encrpt), true);
const mTitle = upperFirstLetter(ecrptMe(`3=CvG =J/J GA $A1iuJ ik 1$RW> /Jq.1nuWkf =Cv1H]J A1H1UR=d`, decrpt, encrpt), true); // `C#1/( qoeo |a +})ejo ez ).}<= eo#$)~j<z& #1/)lgo })l)g}#o`
const cTitle1 = upperFirstLetter(ecrptMe(`c=1i]J vAHui$G`, decrpt, encrpt), true); // `P#)ego /alje+|`
const cTitle2 = upperFirstLetter(ecrptMe(`u/ A1H1U`, decrpt, encrpt), true); // `ju })l)g`
export function getCertElement(bannerProps, layoutType, pinState, styles = {}) {
const fpsCert = bannerProps.fpsCert;
const isPinned = pinState && pinState.indexOf('pin') > -1 ? true : false;
const useFriendlyCert = AmIOnDFW;
const isFPT = bannerProps.FPSUser.simFPT;
const onClick = () => sendFeedback(fpsCert.notify, bannerProps.gitHubRepo, fpsCert);
const warnIcon = React.createElement(Icon, { style: { color: fpsCert.expired === true || layoutType === 'Page' ? 'red' : 'yellow', marginRight: '5px', fontSize: 'larger' }, iconName: fpsCert.expired === true ? 'WarningSolid' : 'Warning' });
let expireSpan = undefined;
// --- TEXT VARIATIONS ---
const expirationText = fpsCert.expired
? useFriendlyCert
? `${mTitleF} ${fpsCert.expirationDStr}`
: `${mExprd} ${fpsCert.expirationDStr}`
: `${mValid} ${fpsCert.expirationDStr}`;
const contactLine = fpsCert.notify
? useFriendlyCert
? `${fCL1} ${fpsCert.notify} ${fCL2}`
: `${cTitle1} ${fpsCert.notify} ${cTitle2}`
: '';
if (isFPT === true) {
expireSpan = isPinned === true
? React.createElement("div", { title: mTitle, style: { cursor: 'pointer' }, onClick: onClick }, warnIcon)
: React.createElement("div", { style: { padding: '.5em 2em', background: '#fff7008c', fontSize: 'large' }, onClick: onClick },
React.createElement("div", { style: {}, title: mTitle },
warnIcon,
" ",
expirationText,
" "),
layoutType === 'Page' && fpsCert.notify ? React.createElement("div", { style: {} }, contactLine) : undefined);
return expireSpan;
}
let reactCSS = {
cursor: 'pointer',
margin: '0px 20px',
padding: useFriendlyCert ? '1em' : '2em',
background: fpsCert.expired === false ? '#ffff005c' : useFriendlyCert ? '#fff7008c' : 'yellow',
color: fpsCert.expired === false ? 'expired' : 'red',
// borderRadius: '5px',
// padding: '7px',
};
const expReact = {
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
borderRadius: '5px',
padding: '7px',
};
const notReact = {
textAlign: 'center',
color: 'darkblue',
fontSize: '20px',
fontWeight: 600,
};
if (layoutType === 'Page') {
// expReact.height = '3em';
// reactCSS.height = '7em';
reactCSS.fontSize = useFriendlyCert ? 'large' : 'x-large';
reactCSS.margin = '0px 20px';
}
// https://github.com/mikezimm/drilldown7/issues/503
reactCSS = { ...reactCSS, ...styles };
expireSpan = !fpsCert.expirationMsg ? undefined : isPinned === true ? React.createElement("div", { title: mTitle, style: { cursor: 'pointer' }, onClick: onClick }, warnIcon) : React.createElement("div", { style: reactCSS, onClick: onClick },
React.createElement("div", { style: expReact, title: mTitle },
warnIcon,
expirationText,
" "),
layoutType === 'Page' && fpsCert.notify ? React.createElement("div", { style: notReact }, contactLine) : undefined);
return expireSpan;
}
//# sourceMappingURL=getCertElement.js.map