nitro-renderer/packages/utils/src/HabboWebTools.ts
2024-03-19 21:53:17 -04:00

339 lines
7.9 KiB
TypeScript

import { LegacyExternalInterface } from './LegacyExternalInterface';
import { NitroLogger } from './NitroLogger';
export class HabboWebTools
{
public static ADVERTISEMENT: string = 'advertisement';
public static OPENLINK: string = 'openlink';
public static OPENROOM: string = 'openroom';
public static logEventLog(data: string): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('logEventLog', data);
}
}
catch (e)
{
NitroLogger.log('External interface not working, failed to log event log.');
}
}
public static openPage(pageUrl: string): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('openPage', pageUrl);
}
else
{
NitroLogger.log('External interface not available, openPage failed.');
}
}
catch (e)
{
NitroLogger.log('Failed to open web page', pageUrl);
}
}
public static openWebPage(pageUrl: string): void
{
window.open(pageUrl);
}
public static sendHeartBeat(): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('heartBeat');
}
}
catch (e)
{
NitroLogger.log('Failed to send heartbeat');
}
}
public static openWebPageAndMinimizeClient(pageUrl: string): void
{
try
{
if(LegacyExternalInterface.available)
{
HabboWebTools.openPage(pageUrl);
}
}
catch (e)
{
NitroLogger.log('Failed to open web page', pageUrl);
}
}
public static closeWebPageAndRestoreClient(): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('closeWebPageAndRestoreClient');
}
}
catch (e)
{
NitroLogger.log('Failed to close web page and restore client!');
}
}
public static openHabblet(name: string, param: string = null): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('openHabblet', name, param);
}
}
catch (e)
{
NitroLogger.log('Failed to open Habblet', name);
}
}
public static closeHabblet(name: string, param: string = null): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('closeHabblet', name, param);
}
}
catch (e)
{
NitroLogger.log('Failed to close Habblet', name);
}
}
public static send(reasonCode: number, reasonString: string): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('disconnect', reasonCode, reasonString);
}
}
catch (e)
{
NitroLogger.log('Failed to close send ');
}
}
public static showGame(gameUrl: string): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.callGame('showGame', gameUrl);
}
}
catch (e)
{
NitroLogger.log('Failed to open game', e);
}
}
public static hideGame(): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.callGame('hideGame');
}
}
catch (e)
{
NitroLogger.log('Failed to hide game');
}
}
public static open(url: string): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('openExternalLink', escape(url));
}
else
{
NitroLogger.log(('External interface not available. Could not request to open: ' + url));
}
}
catch (e)
{
NitroLogger.log(('External interface not working. Could not request to open: ' + url));
}
}
public static roomVisited(roomId: number): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('roomVisited', roomId);
}
else
{
NitroLogger.log('External interface not available. Could not store last room visit.');
}
}
catch (e)
{
NitroLogger.log('External interface not working. Could not store last room visit.');
}
}
public static openMinimail(target: string): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('openMinimail', target);
}
else
{
NitroLogger.log('External interface not available. Could not open minimail.');
}
}
catch (e)
{
NitroLogger.log('External interface not working. Could not open minimail.');
}
}
public static openNews(): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('openNews');
}
else
{
NitroLogger.log('External interface not available. Could not open news.');
}
}
catch (e)
{
NitroLogger.log('External interface not working. Could not open news.');
}
}
public static closeNews(): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('closeNews');
}
else
{
NitroLogger.log('External interface not available. Could not close news.');
}
}
catch (e)
{
NitroLogger.log('External interface not working. Could not close news.');
}
}
public static openAvatars(): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('openAvatars');
}
else
{
NitroLogger.log('External interface not available. Could not open avatars.');
}
}
catch (e)
{
NitroLogger.log('External interface not working. Could not open avatars.');
}
}
public static openRoomEnterAd(): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('openRoomEnterAd');
}
else
{
NitroLogger.log('External interface not available. Could not open roomenterad.');
}
}
catch (e)
{
NitroLogger.log('External interface not working. Could not open roomenterad.');
}
}
public static updateFigure(figure: string): void
{
try
{
if(LegacyExternalInterface.available)
{
LegacyExternalInterface.call('updateFigure', figure);
}
else
{
NitroLogger.log('External interface not available. Could not update figure.');
}
}
catch (e)
{
NitroLogger.log('External interface not working. Could not update figure.');
}
}
}