ShareM.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import Utils from "../utils/Utils";
  2. import TgM from "./TgM";
  3. import { Tips } from "./Tips";
  4. export default class ShareM {
  5. private static _ins: ShareM;
  6. public static get ins(): ShareM {
  7. return (ShareM._ins ??= new ShareM());
  8. }
  9. private static readonly tgLink = `https://t.me/TelgatherPortalBot/portal`;
  10. private static readonly webLink = `https://portal.telgather.com`;
  11. async shareFamily(familyName: string, familyOwner: string) {
  12. let shareLink = await this.getFamilyShareLink(familyName, familyOwner);
  13. await this.share(shareLink);
  14. }
  15. async getFamilyShareLink(
  16. familyName: string,
  17. familyOwner: string
  18. ): Promise<string> {
  19. let isTg = await TgM.ins.isTG();
  20. let link = isTg ? ShareM.tgLink : ShareM.webLink;
  21. let fullString = `Join my Family from Telgather Game Portal now to share progress and unlock rewards together!
  22. [${familyName}] [${familyOwner}] ${link}`;
  23. return fullString;
  24. }
  25. async share(shareLink: string) {
  26. let isTg = await TgM.ins.isTG();
  27. if (isTg) {
  28. TgM.ins.shareToTg(shareLink);
  29. } else {
  30. Utils.copyText(shareLink);
  31. Tips.show("Copied to clipboard");
  32. }
  33. }
  34. }