blob: a3fcf8adb3394d8d55c405daf54e310fb174d260 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
import { getAuth } from './auth';
const TEMPLATES = {
default: 'Bisa tolong bantu kebutuhan saya?',
product:
'Saya mencari barang berikut:\n\n{{url}}\n\n```Brand: {{manufacture}}\nName: {{productName}}```',
};
interface WhatsappUrlProps {
template: keyof typeof TEMPLATES;
payload: any;
greeting?: boolean;
needLogin?: boolean;
fallbackUrl?: string;
}
export const whatsappUrl = ({
template,
payload,
greeting = true,
needLogin = true,
fallbackUrl,
}: WhatsappUrlProps) => {
const auth = getAuth();
let greetingText = '';
if (needLogin && !auth) {
return fallbackUrl
? `/login?next=${encodeURIComponent(fallbackUrl)}`
: '/login';
}
let result = TEMPLATES[template].replace(
/{{(.*?)}}/g,
(match, key) => payload[key] || ''
);
if (greeting && typeof auth === 'object') {
greetingText = `Halo Indoteknik.com, Saya ${auth.name} `;
if (auth.parentName) greetingText += `dari ${auth.parentName}`;
greetingText += '.\n\n';
result = greetingText + result;
}
return `https://wa.me/6281717181922?text=${encodeURIComponent(result)}`;
};
|