from minibase.menuDictionary import generate_blueprint_structure

 # Color pallette of kynsight
black           = "#191717"
white           = "#f1f1f1"
light_blue      = "#9bd7d1"
dark_blue       = "#305d7a"
light_orange    = "#f9a36c"
orange          = "#f26628"
yellow          = "#f8cb66"

label_font_size = "14pt"
field_font_size = "14pt"

class maineTheme: 
    div_style           = "background-color:" + yellow


class form:
    div_style           = "background-color:" + black + "; " +" width:98%;"
    div_class           = "container rounded p-4 py-4"
    div_error_class     = "invalid-feedback"

    default_label_class = "col-form-label"
    default_label_style = "color:" + orange + "; font-size: " + label_font_size + "; font-weight: bold;"
    default_field_style = "color:" + black + "; font-size: " + field_font_size + "; background-color: " + white + ";"
    default_error_class = "form-control is-invalid"

    input_label_class   = default_label_class
    input_label_style   = default_label_style
    input_class         = "form-control"
    input_style         = default_field_style
    input_error_class   = default_error_class

    check_label_class   = "form-check-label"
    check_label_style   = "input_label_style"
    check_class         = "form-check-input"

    file_label_class    = default_label_class
    file_label_style    = default_label_style
    file_class          = input_class
    file_style           = default_field_style
    file_type           = "file"

    url_label_class     = default_label_class
    url_label_style     = default_label_style
    url_class           = input_class
    url_style           = default_field_style
    url_default         = "https://example.com/"

    select_label_class  = default_label_class
    select_label_style  = default_label_style
    select_class        = "btn btn-lg form-select"
    select_style        = "color:" + black + "; font-size: 14pt; background-color: " + white + ";"

    integer_label_class   = default_label_class
    integer_label_style   = default_label_style
    integer_class         = input_class
    integer_style         = default_field_style

    date_label_class    = default_label_class
    date_label_style    = default_label_style
    date_class          = input_class
    date_style       = default_field_style
    date_type           = "date"

    submit_class        = "btn btn-outline-info mb-2 mt-2"
    submit_style        = ""
 


class menu:
    menuDict = generate_blueprint_structure('minibase/blueprints')
    navbar_items_navigation = [
            {"menuName":"Company",
                "sublinks": [
                    {"text": "List", "url": "company.list"},
                    {"decoration": "line"},
                    {"text": "Add", "url": "company.add"},
                    {"decoration": "line"},
                    {"text": "Remove", "url": "main.index"},
                ],},

            {"menuName":"Sensor",
                "sublinks": [
                    {"text": "List", "url": "sensor.list"},
                    {"decoration": "line"},
                    {"text": "Add", "url": "main.index"},
                    {"decoration": "line"},
                    {"text": "Edit", "url": "main.index"},
                ],},
    ]

    navbar_items_user = [
            {"menuName": "Login", "url": "user.login", "show":"not_logged"},
            {"menuName": "Register", "url": "user.register", "show":"not_logged"},
            {"menuName": "Account", "url": "user.account", "show":"logged"},
            {"menuName": "Logout", "url": "user.logout", "show":"logged"}
    ]

    navbar_items_admin = [
            {"menuName": "Admin",
                "sublinks": [
                    {"text": "Create User", "url": "main.index"},
                    {"text": "Delete User", "url": "main.index"},
                    {"text": "Update User", "url": "main.index"},
                ],},
            {"menuName": "Database",
                "sublinks": [
                    {"text": "Tables", "url": "main.index"},
                    {"text": "Entires", "url": "main.index"},
                    {"text": "Databases", "url": "main.index"},
                ],},
    ]