26 lines
695 B
TypeScript
26 lines
695 B
TypeScript
import { parseLocation } from './utils';
|
|
|
|
const SESSION_KEY = 'travian_automation_mode';
|
|
const SESSION_VALUE = 'command_execution';
|
|
const MODE_PARAMETER_NAME = 'auto-management';
|
|
|
|
export class ModeDetector {
|
|
isAuto(): boolean {
|
|
return this.isAutoByLocation() || this.isAutoBySession();
|
|
}
|
|
|
|
setAuto(): void {
|
|
sessionStorage.setItem(SESSION_KEY, SESSION_VALUE);
|
|
}
|
|
|
|
private isAutoByLocation(): boolean {
|
|
const p = parseLocation();
|
|
return p.query[MODE_PARAMETER_NAME] !== undefined;
|
|
}
|
|
|
|
private isAutoBySession(): boolean {
|
|
const sessionKey = sessionStorage.getItem(SESSION_KEY);
|
|
return sessionKey === SESSION_VALUE;
|
|
}
|
|
}
|