import tkinter as tk from app.views.login import LoginView from app.views.initial import InitialView from app.views.signup import SignupView class MainApplication(tk.Tk): def __init__(self): super().__init__() self.title("Messenger App") screen_height = self.winfo_screenheight() self.geometry(f"{screen_height // 2}x{screen_height // 2}") self.current_view = None self.change_to_initial_view() def change_to_initial_view(self): self.change_view(InitialView(self)) def change_to_sing_in_view(self): self.change_view(SignupView(self)) def change_to_login_view(self): self.change_view(LoginView(self)) def change_view(self, view: tk.Frame): if self.current_view: self.current_view.destroy() self.current_view = view self.current_view.pack(expand=True, fill=tk.BOTH) self.current_view.place(relx=0.5, rely=0.5, anchor=tk.CENTER)