/*
 * Vesktop, a desktop app aiming to give you a snappier Discord Experience
 * Copyright (c) 2023 Vendicated and Vencord contributors
 * SPDX-License-Identifier: GPL-3.0-or-later
 */

export const enum IpcEvents {
    GET_VENCORD_PRELOAD_SCRIPT = "VCD_GET_VC_PRELOAD_SCRIPT",
    DEPRECATED_GET_VENCORD_PRELOAD_SCRIPT_PATH = "DEPRECATED_GET_VENCORD_PRELOAD_SCRIPT_PATH",
    GET_VENCORD_RENDERER_SCRIPT = "VCD_GET_VC_RENDERER_SCRIPT",

    GET_VESKTOP_RENDERER_SCRIPT = "VCD_GET_RENDERER_SCRIPT",
    GET_VESKTOP_RENDERER_CSS = "VCD_GET_RENDERER_CSS",
    VESKTOP_RENDERER_CSS_UPDATE = "VCD_PRELOAD_RENDERER_CSS_UPDATE",

    GET_VERSION = "VCD_GET_VERSION",
    SUPPORTS_WINDOWS_TRANSPARENCY = "VCD_SUPPORTS_WINDOWS_TRANSPARENCY",
    GET_ENABLE_HARDWARE_ACCELERATION = "VCD_GET_ENABLE_HARDWARE_ACCELERATION",

    RELAUNCH = "VCD_RELAUNCH",
    CLOSE = "VCD_CLOSE",
    FOCUS = "VCD_FOCUS",
    MINIMIZE = "VCD_MINIMIZE",
    MAXIMIZE = "VCD_MAXIMIZE",

    GET_SETTINGS = "VCD_GET_SETTINGS",
    SET_SETTINGS = "VCD_SET_SETTINGS",

    IS_USING_CUSTOM_VENCORD_DIR = "VCD_IS_USING_CUSTOM_VENCORD_DIR",
    SHOW_CUSTOM_VENCORD_DIR = "VCD_SHOW_CUSTOM_VENCORD_DIR",
    SELECT_VENCORD_DIR = "VCD_SELECT_VENCORD_DIR",

    UPDATER_IS_OUTDATED = "VCD_UPDATER_IS_OUTDATED",
    UPDATER_OPEN = "VCD_UPDATER_OPEN",

    SPELLCHECK_GET_AVAILABLE_LANGUAGES = "VCD_SPELLCHECK_GET_AVAILABLE_LANGUAGES",
    SPELLCHECK_RESULT = "VCD_SPELLCHECK_RESULT",
    SPELLCHECK_REPLACE_MISSPELLING = "VCD_SPELLCHECK_REPLACE_MISSPELLING",
    SPELLCHECK_ADD_TO_DICTIONARY = "VCD_SPELLCHECK_ADD_TO_DICTIONARY",

    SET_BADGE_COUNT = "VCD_SET_BADGE_COUNT",
    FLASH_FRAME = "FLASH_FRAME",

    CAPTURER_GET_LARGE_THUMBNAIL = "VCD_CAPTURER_GET_LARGE_THUMBNAIL",

    AUTOSTART_ENABLED = "VCD_AUTOSTART_ENABLED",
    ENABLE_AUTOSTART = "VCD_ENABLE_AUTOSTART",
    DISABLE_AUTOSTART = "VCD_DISABLE_AUTOSTART",

    VIRT_MIC_LIST = "VCD_VIRT_MIC_LIST",
    VIRT_MIC_START = "VCD_VIRT_MIC_START",
    VIRT_MIC_START_SYSTEM = "VCD_VIRT_MIC_START_ALL",
    VIRT_MIC_STOP = "VCD_VIRT_MIC_STOP",

    CLIPBOARD_COPY_IMAGE = "VCD_CLIPBOARD_COPY_IMAGE",

    DEBUG_LAUNCH_GPU = "VCD_DEBUG_LAUNCH_GPU",
    DEBUG_LAUNCH_WEBRTC_INTERNALS = "VCD_DEBUG_LAUNCH_WEBRTC",

    IPC_COMMAND = "VCD_IPC_COMMAND",

    DEVTOOLS_OPENED = "VCD_DEVTOOLS_OPENED",
    DEVTOOLS_CLOSED = "VCD_DEVTOOLS_CLOSED",

    CHOOSE_USER_ASSET = "VCD_CHOOSE_USER_ASSET"
}

export const enum UpdaterIpcEvents {
    GET_DATA = "VCD_UPDATER_GET_DATA",
    INSTALL = "VCD_UPDATER_INSTALL",
    DOWNLOAD_PROGRESS = "VCD_UPDATER_DOWNLOAD_PROGRESS",
    ERROR = "VCD_UPDATER_ERROR",
    SNOOZE_UPDATE = "VCD_UPDATER_SNOOZE_UPDATE",
    IGNORE_UPDATE = "VCD_UPDATER_IGNORE_UPDATE"
}

export const enum IpcCommands {
    RPC_ACTIVITY = "rpc:activity",
    RPC_INVITE = "rpc:invite",
    RPC_DEEP_LINK = "rpc:link",

    NAVIGATE_SETTINGS = "navigate:settings",

    GET_LANGUAGES = "navigator.languages",

    SCREEN_SHARE_PICKER = "screenshare:picker"
}
