mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-04-03 00:33:30 +01:00
52 lines
1.5 KiB
TypeScript
52 lines
1.5 KiB
TypeScript
// Copyright 2026 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
import type {
|
|
RemoteMegaphoneId,
|
|
VisibleRemoteMegaphoneType,
|
|
} from '../types/Megaphone.std.js';
|
|
import { MegaphoneCtaId } from '../types/Megaphone.std.js';
|
|
import { DAY } from './durations/index.std.js';
|
|
|
|
const INTERNAL_TEST_ID = 'INTERNAL_TEST' as RemoteMegaphoneId;
|
|
export const TEST_MEGAPHONE_IMAGE = 'images/donate-heart.png';
|
|
|
|
export function internalGetTestMegaphone(
|
|
props?: Partial<VisibleRemoteMegaphoneType>
|
|
): VisibleRemoteMegaphoneType {
|
|
return {
|
|
priority: 100,
|
|
desktopMinVersion: '1.0.0',
|
|
dontShowBeforeEpochMs: Date.now() - 1 * DAY,
|
|
dontShowAfterEpochMs: Date.now() + 14 * DAY,
|
|
showForNumberOfDays: 30,
|
|
conditionalId: 'internal',
|
|
primaryCtaId: MegaphoneCtaId.Donate,
|
|
primaryCtaData: null,
|
|
secondaryCtaId: MegaphoneCtaId.Snooze,
|
|
secondaryCtaData: { snoozeDurationDays: [5, 7, 100] },
|
|
localeFetched: 'en',
|
|
title: 'Donate Today',
|
|
body: 'As a nonprofit, Signal needs your support.',
|
|
imagePath: TEST_MEGAPHONE_IMAGE,
|
|
primaryCtaText: 'Donate',
|
|
secondaryCtaText: 'Snooze',
|
|
snoozeCount: 0,
|
|
snoozedAt: null,
|
|
shownAt: null,
|
|
isFinished: false,
|
|
...props,
|
|
id: INTERNAL_TEST_ID,
|
|
};
|
|
}
|
|
|
|
export function isTestMegaphone(
|
|
megaphone: VisibleRemoteMegaphoneType
|
|
): boolean {
|
|
return megaphone.id === INTERNAL_TEST_ID;
|
|
}
|
|
|
|
export function isTestMegaphoneId(id: RemoteMegaphoneId): boolean {
|
|
return id === INTERNAL_TEST_ID;
|
|
}
|