from tkinter import *
from tkinter import messagebox
import tkinter.scrolledtext as scrolledtext
import json

class AccountNotesApp:
    def init(self, master):
        self.master = master
        self.master.title(“Заметки Аккаунтов Майнкрафт”)

        self.create_button = Button(self.master, text=“Создать новую заметку”, command=self.create_note)
        self.create_button.pack()

        self.view_button = Button(self.master, text=“Посмотреть сохраненные”, command=self.view_notes)
        self.view_button.pack()

        self.notes_list = Listbox(self.master)
        self.notes_list.pack()

        self.notes = []
        self.load_notes()

    def create_note(self):
        top = Toplevel(self.master)
        top.title(“Новая заметка”)

        Label(top, text=“Имя аккаунта:”).grid(row=0, sticky=W)
        Label(top, text=“Пароль:”).grid(row=1, sticky=W)
        Label(top, text=“Сервер:”).grid(row=2, sticky=W)
        Label(top, text=“Забанен?:”).grid(row=3, sticky=W)

        self.name_entry = Entry(top)
        self.name_entry.grid(row=0, column=1)
        self.password_entry = Entry(top, show=“•”)
        self.password_entry.grid(row=1, column=1)
        self.server_entry = Entry(top)
        self.server_entry.grid(row=2, column=1)
        self.banned_var = BooleanVar()
        self.banned_checkbutton = Checkbutton(top, variable=self.banned_var)
        self.banned_checkbutton.grid(row=3, column=1)

        save_button = Button(top, text=“Сохранить”, command=self.save_note)
        save_button.grid(row=4, columnspan=2)

    def save_note(self):
        name = self.name_entry.get()
        password = self.password_entry.get()
        server = self.server_entry.get()
        banned = self.banned_var.get()

        note = {
            “name”: name,
            “password”: password,
            “server”: server,
            “banned”: banned
        }
        self.notes.append(note)
        self.notes_list.insert(END, name)
        messagebox.showinfo(“Сохранено”, “Заметка успешно сохранена.”)
        self.master.focus()
        self.save_notes()

    def view_notes(self):
        if len(self.notes) == 0:
            messagebox.showinfo(“Пусто”, “Нет сохраненных заметок.”)
        else:
            selected_index = self.notes_list.curselection()
            if len(selected_index) > 0:
                selected_note = self.notes[selected_index[0]]
                view_top = Toplevel(self.master)
                view_top.title(“Информация об аккаунте”)

                info_text = f"Имя аккаунта: {selected_note[‘name’]}\n" <br/>                            f"Пароль: {selected_note[‘password’]}\n" <br/>                            f"Сервер: {selected_note[‘server’]}\n" <br/>                            f"Забанен: {‘Да’ if selected_note[‘banned’] else ‘Нет’}"

                info = scrolledtext.ScrolledText(view_top, width=30, height=6)
                info.insert(END, info_text)
                info.pack()

                copy_button = Button(view_top, text=“Копировать”, command=lambda: self.copy_text(selected_note))
                copy_button.pack()
            else:
                messagebox.showinfo(“Ошибка”, “Выберите заметку для просмотра.”)

    def copy_text(self, note):
        copy_top = Toplevel(self.master)
        copy_top.title(“Выберите что скопировать”)

        copy_button_name = Button(copy_top, text=“Скопировать имя аккаунта”, command=lambda: self.copy_to_clipboard(note[‘name’]))
        copy_button_name.pack()

        copy_button_password = Button(copy_top, text=“Скопировать пароль”, command=lambda: self.copy_to_clipboard(note[‘password’]))
        copy_button_password.pack()

        copy_button_server = Button(copy_top, text=“Скопировать сервер”, command=lambda: self.copy_to_clipboard(note[‘server’]))
        copy_button_server.pack()

    def copy_to_clipboard(self, text):
        self.master.clipboard_clear()
        self.master.clipboard_append(text)
        messagebox.showinfo(“Скопировано”, “Текст скопирован в буфер обмена.”)

    def save_notes(self):
        with open(‘notes.json’, ‘w’) as file:
            json.dump(self.notes, file)

    def load_notes(self):
        try:
            with open(‘notes.json’, ‘r’) as file:
                self.notes = json.load(file)
                for note in self.notes:
                    self.notes_list.insert(END, note[‘name’])
        except FileNotFoundError:
            pass

if name == “main”:
    root = Tk()
    app = AccountNotesApp(root)
    root.mainloop().        Каким образом отображается список сохранённых заметок?