2024-03-21 15:04:19 +00:00
|
|
|
/* eslint-disable no-console */
|
2024-03-21 14:09:55 +00:00
|
|
|
// (c) Copyright Ascensio System SIA 2009-2024
|
2024-03-18 09:54:09 +00:00
|
|
|
//
|
2024-03-17 23:13:02 +00:00
|
|
|
// This program is a free software product.
|
|
|
|
// You can redistribute it and/or modify it under the terms
|
|
|
|
// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software
|
|
|
|
// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended
|
|
|
|
// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of
|
|
|
|
// any third-party rights.
|
2024-03-18 09:54:09 +00:00
|
|
|
//
|
2024-03-17 23:13:02 +00:00
|
|
|
// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty
|
|
|
|
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see
|
|
|
|
// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
2024-03-18 09:54:09 +00:00
|
|
|
//
|
2024-03-17 23:13:02 +00:00
|
|
|
// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021.
|
2024-03-18 09:54:09 +00:00
|
|
|
//
|
2024-03-17 23:13:02 +00:00
|
|
|
// The interactive user interfaces in modified source and object code versions of the Program must
|
|
|
|
// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3.
|
2024-03-18 09:54:09 +00:00
|
|
|
//
|
2024-03-17 23:13:02 +00:00
|
|
|
// Pursuant to Section 7(b) of the License you must retain the original Product logo when
|
|
|
|
// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under
|
|
|
|
// trademark law for use of our trademarks.
|
2024-03-18 09:54:09 +00:00
|
|
|
//
|
2024-03-17 23:13:02 +00:00
|
|
|
// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing
|
|
|
|
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
|
|
|
|
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
|
|
|
|
2024-02-14 11:28:56 +00:00
|
|
|
export const getCampaignsLs = (standalone: boolean) => {
|
|
|
|
if (standalone) {
|
2024-06-11 08:23:31 +00:00
|
|
|
return window.ClientConfig?.campaigns || [];
|
2024-02-12 12:26:56 +00:00
|
|
|
}
|
|
|
|
return (localStorage.getItem("docspace_campaigns") || "")
|
|
|
|
.split(",")
|
|
|
|
.filter((campaign) => campaign.length > 0);
|
|
|
|
};
|
|
|
|
|
|
|
|
export const getImage = async (
|
|
|
|
campaign: string,
|
|
|
|
standalone: boolean,
|
2024-05-02 11:09:58 +00:00
|
|
|
isIcon: boolean = false,
|
2024-02-12 12:26:56 +00:00
|
|
|
): Promise<string> => {
|
|
|
|
if (standalone) {
|
2024-05-02 11:09:58 +00:00
|
|
|
if (isIcon) {
|
|
|
|
return `/static/campaigns/images/campaign.${campaign.toLowerCase()}.icon.svg`;
|
|
|
|
}
|
2024-02-19 17:38:47 +00:00
|
|
|
return `/static/campaigns/images/campaign.${campaign.toLowerCase()}.svg`;
|
2024-02-12 12:26:56 +00:00
|
|
|
}
|
2024-05-02 11:09:58 +00:00
|
|
|
const imageUrl = await window.firebaseHelper.getCampaignsImages(
|
|
|
|
campaign,
|
|
|
|
isIcon,
|
|
|
|
);
|
2024-02-12 12:26:56 +00:00
|
|
|
return imageUrl;
|
|
|
|
};
|
|
|
|
|
2024-03-20 10:59:10 +00:00
|
|
|
const checkExists = async (url: string) => {
|
|
|
|
try {
|
|
|
|
const res = await fetch(url, { method: "HEAD" });
|
|
|
|
return res.ok;
|
|
|
|
} catch (e) {
|
|
|
|
console.error(e);
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2024-02-12 12:26:56 +00:00
|
|
|
export const getTranslation = async (
|
|
|
|
campaign: string,
|
|
|
|
lng: string,
|
|
|
|
standalone: boolean,
|
|
|
|
) => {
|
|
|
|
let translationUrl;
|
|
|
|
if (standalone) {
|
2024-02-19 17:38:47 +00:00
|
|
|
translationUrl = `/static/campaigns/locales/${lng}/Campaign${campaign}.json`;
|
2024-02-12 12:26:56 +00:00
|
|
|
} else {
|
|
|
|
translationUrl = await window.firebaseHelper.getCampaignsTranslations(
|
|
|
|
campaign,
|
|
|
|
lng,
|
|
|
|
);
|
|
|
|
}
|
2024-02-21 09:12:33 +00:00
|
|
|
|
2024-03-20 10:59:10 +00:00
|
|
|
let exists = await checkExists(translationUrl);
|
|
|
|
|
|
|
|
if (exists) {
|
|
|
|
const res = await fetch(translationUrl);
|
|
|
|
return Promise.resolve(res.json());
|
|
|
|
}
|
|
|
|
|
|
|
|
if (standalone) {
|
|
|
|
translationUrl = `/static/campaigns/locales/en/Campaign${campaign}.json`;
|
|
|
|
} else {
|
|
|
|
translationUrl = await window.firebaseHelper.getCampaignsTranslations(
|
|
|
|
campaign,
|
|
|
|
"en",
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
exists = await checkExists(translationUrl);
|
|
|
|
|
|
|
|
if (exists) {
|
2024-02-21 09:12:33 +00:00
|
|
|
const enRes = await fetch(translationUrl);
|
|
|
|
return Promise.resolve(enRes.json());
|
|
|
|
}
|
|
|
|
|
2024-03-20 10:59:10 +00:00
|
|
|
return Promise.resolve(null);
|
2024-02-12 12:26:56 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
export const getConfig = async (campaign: string, standalone: boolean) => {
|
|
|
|
let configUrl;
|
|
|
|
if (standalone) {
|
2024-02-19 17:38:47 +00:00
|
|
|
configUrl = `/static/campaigns/configs/Campaign${campaign}.json`;
|
2024-02-12 12:26:56 +00:00
|
|
|
} else {
|
|
|
|
configUrl = await window.firebaseHelper.getCampaignConfig(campaign);
|
|
|
|
}
|
2024-03-20 10:59:10 +00:00
|
|
|
const exists = await checkExists(configUrl);
|
|
|
|
|
|
|
|
if (exists) {
|
|
|
|
const res = await fetch(configUrl);
|
|
|
|
return Promise.resolve(res.json());
|
|
|
|
}
|
|
|
|
|
|
|
|
return Promise.resolve(null);
|
2024-02-12 12:26:56 +00:00
|
|
|
};
|
2024-02-12 16:00:22 +00:00
|
|
|
|
|
|
|
export const isHideBannerForUser = (userType: string, hideFor: string[]) => {
|
|
|
|
if (hideFor.includes(userType)) return true;
|
|
|
|
return false;
|
|
|
|
};
|