Fixed some startup issue where the overlay shows prematurely

merge-notes
isark 2 years ago committed by Websystem
parent 6f2f7f27fc
commit f140ed279b

@ -34,7 +34,6 @@ mod storage;
#[tauri::command]
fn set_interactable(interactable: bool, state: tauri::State<Sender<Event>>) {
log::info!("set_interactable: {interactable:?}");
if interactable {
state.send(overlay::State::Interactable {}.into()).ok();
} else {

@ -21,6 +21,7 @@ export class AppComponent implements OnInit {
isBinding: boolean = false;
isOverlay: boolean;
overlayShowSettings: boolean = false;
hasAttachedOnce: boolean = false;
constructor(
public overlayService: OverlayService,

@ -15,8 +15,9 @@ import { ResizedEvent } from 'angular-resize-event';
import { from } from 'rxjs';
import { open } from '@tauri-apps/api/dialog';
import { OverlayRef } from '@angular/cdk/overlay';
import { OverlayService } from '../services/overlay.service';
import { OverlayService, StateEvent } from '../services/overlay.service';
import { appWindow } from '@tauri-apps/api/window';
import { EventsService } from '../services/events.service';
@Component({
selector: 'plan-display',
@ -36,13 +37,22 @@ export class PlanDisplayComponent implements AfterViewInit, OnInit {
worldAreaMap?: Map<String, WorldArea>;
settingsOpen: boolean = false;
init: boolean = false;
hasAttachedOnce: boolean = false;
constructor(private configService: ConfigService, private cdr: ChangeDetectorRef, private shortcut: ShortcutService, public planService: PlanService, public worldAreaService: WorldAreaService, public overlayService: OverlayService) {
constructor(private events: EventsService, private configService: ConfigService, private cdr: ChangeDetectorRef, private shortcut: ShortcutService, public planService: PlanService, public worldAreaService: WorldAreaService, public overlayService: OverlayService) {
// for (let i = 0; i < 100; i++) {
// this.slides.push(i);
// }
window.addEventListener("resize", this.windowInitHandler.bind(this));
const test = this.events.listen<StateEvent>("OverlayStateChange").subscribe(event => {
if (!this.hasAttachedOnce) {
this.hasAttachedOnce = true;
test.unsubscribe();
if(!event.payload.Hidden)
overlayService.setInteractable();
}
});
appWindow.listen("entered", (entered) => {
console.log("entered", entered);

@ -6,7 +6,7 @@ import { invoke } from '@tauri-apps/api';
import { ConfigService } from './config.service';
import { appWindow } from '@tauri-apps/api/window';
class StateEvent {
export class StateEvent {
Visible?: any;
Interactable?: any;
Hidden?: any;

Loading…
Cancel
Save