#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Главное меню
Дата последней оптимизации: 21.04.2023
"""

from app import app  # чтение из config.py
from flask import request  # получение данных Cookie, GET и  POST
import sys
import os
import json

# Подключаем свои библиотеки
sys.path.append("app/source")
sys.path.append("app/pages")
import API_Common as APIC

# Глобальные Переменные
CurPath: str = "app/pages"
NameModule = "rustdesk"


###############################################################################
# MAIN
###############################################################################
def Main(SessionID):

    # Объявление переменных
    Var = {"Title": "Главное меню", "ProgName": app.config['PROGNAME']}
    Modal_Vars = {}

    ###
    TemplateData = ""
    ScriptBody = ""

    # Генерируем HTML
    TemplateName = os.path.join(str(CurPath), str(NameModule), 'template.htm')
    if (os.path.exists(TemplateName) == True):
        with open(TemplateName) as fp:
            TemplateData = fp.read()
        fp.close()

    # Подгружаем ява скрипт для вставки его в тело шаблона
    ScriptName = os.path.join(CurPath, NameModule, 'script.js')
    if (os.path.exists(ScriptName) == True):
        with open(ScriptName) as fp:
            ScriptBody = fp.read()
        fp.close()

    # Подставляем переменные в HTML
    TemplateData = TemplateData = TemplateData.replace('}}', '}}')
    TemplateData = TemplateData.replace('{{head}}', APIC.UserHead(Var))  # Подключаем раздел head со скриптами и css
    TemplateData = TemplateData.replace('{{UserHeader}}', APIC.UserHeader(SessionID, Var))  # Рисуем шапку на странице
    TemplateData = TemplateData.replace('{{Modals}}', APIC.Modals(Modal_Vars))  # Модальные окна
    TemplateData = TemplateData.replace('{{ThreadVars_message}}', APIC.ThreadVars_Message())  # Сообщения от потока
    TemplateData = TemplateData.replace('{{version}}', app.config['VERSION'])  # Версия Сервера КМС-ИК
    TemplateData = TemplateData.replace('{{IPServer}}', request.host.split(":")[0])  # Версия Сервера КМС-ИК
    TemplateData = TemplateData.replace('{{ScriptBody}}', ScriptBody)  # Скрипты. Например, Vue.JS
    
    return TemplateData  # Отправляем обработанный шаблон
