"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
/**
 * penguins-eggs
 * components: partitions.tsx
 * author: Piero Proietti
 * email: piero.proietti@gmail.com
 * license: MIT
 */
const react_1 = tslib_1.__importDefault(require("react"));
const ink_1 = require("ink");
const title_1 = tslib_1.__importDefault(require("./elements/title"));
const steps_1 = tslib_1.__importDefault(require("./elements/steps"));
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
const fs_1 = tslib_1.__importDefault(require("fs"));
function Partitions({ installationDevice, installationMode, filesystemType, userSwapChoice }) {
    let installer = 'krill';
    let productName = 'unknown';
    let version = 'x.x.x';
    let configRoot = '/etc/penguins-eggs.d/krill/';
    if (fs_1.default.existsSync('/etc/calamares/settings.conf')) {
        configRoot = '/etc/calamares/';
    }
    const settings = js_yaml_1.default.load(fs_1.default.readFileSync(configRoot + 'settings.conf', 'utf-8'));
    const branding = settings.branding;
    const calamares = js_yaml_1.default.load(fs_1.default.readFileSync(configRoot + 'branding/' + branding + '/branding.desc', 'utf-8'));
    productName = calamares.strings.productName;
    version = calamares.strings.version;
    /**
    * totale width=74
    * step width=15
    * finestra with=59
    */
    let bios = 'standard';
    if (fs_1.default.existsSync('/sys/firmware/efi/efivars')) {
        bios = 'UEFI';
    }
    let partitions = {};
    if (fs_1.default.existsSync(configRoot + 'modules/partition.conf')) {
        partitions = js_yaml_1.default.load(fs_1.default.readFileSync(configRoot + 'modules/partition.conf', 'utf-8'));
    }
    else {
        partitions.initialSwapChoice = 'small';
    }
    return (react_1.default.createElement(react_1.default.Fragment, null,
        react_1.default.createElement(title_1.default, { title: productName }),
        react_1.default.createElement(ink_1.Box, { width: 74, height: 11, borderStyle: "round", flexDirection: "column" },
            react_1.default.createElement(ink_1.Box, { flexDirection: "column" },
                react_1.default.createElement(ink_1.Box, { flexDirection: "row" },
                    react_1.default.createElement(steps_1.default, { step: 4 }),
                    react_1.default.createElement(ink_1.Box, { flexDirection: "column" }),
                    react_1.default.createElement(ink_1.Box, { flexDirection: "column" },
                        react_1.default.createElement(ink_1.Box, { flexDirection: "row" },
                            react_1.default.createElement(ink_1.Text, { underline: true }, "erase disk:"),
                            react_1.default.createElement(ink_1.Text, null, " this will "),
                            react_1.default.createElement(ink_1.Text, { color: "red" }, "delete "),
                            react_1.default.createElement(ink_1.Text, null, "all data currently")),
                        react_1.default.createElement(ink_1.Box, null,
                            react_1.default.createElement(ink_1.Text, null, "present on the selected storage device")),
                        react_1.default.createElement(ink_1.Box, null,
                            react_1.default.createElement(ink_1.Text, null, "BIOS: "),
                            react_1.default.createElement(ink_1.Text, { color: "cyan" }, bios)),
                        react_1.default.createElement(ink_1.Box, null,
                            react_1.default.createElement(ink_1.Text, null, "Installation device: "),
                            react_1.default.createElement(ink_1.Text, { color: "cyan" }, installationDevice)),
                        react_1.default.createElement(ink_1.Box, null,
                            react_1.default.createElement(ink_1.Text, null, "Installation mode: "),
                            react_1.default.createElement(ink_1.Text, { color: "cyan" }, installationMode)),
                        react_1.default.createElement(ink_1.Box, null,
                            react_1.default.createElement(ink_1.Text, null, "Filesystem: "),
                            react_1.default.createElement(ink_1.Text, { color: "cyan" }, filesystemType)),
                        react_1.default.createElement(ink_1.Box, null,
                            react_1.default.createElement(ink_1.Text, null, "User swap choice: : "),
                            react_1.default.createElement(ink_1.Text, { color: "cyan" }, userSwapChoice))))))));
}
exports.default = Partitions;
