"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = BEMobileSummary;
const contexts_1 = require("../../contexts/index.js");
const hooks_1 = require("../../hooks/index.js");
const react_1 = __importStar(require("react"));
const react_i18next_1 = require("react-i18next");
const Translation_1 = require("translations/Translation");
const Currency_1 = __importDefault(require("../generic/Currency"));
const Icon_1 = __importStar(require("../generic/Icon/Icon"));
const Text_1 = __importDefault(require("../generic/Text"));
const StepDatePricePerRoom_1 = __importDefault(require("../steps/date/StepDatePricePerRoom"));
const BEMobileSummaryModal_1 = __importDefault(require("./BEMobileSummaryModal"));
const useSearchScopeHook_1 = require("../../hooks/useSearchScopeHook");
const StepDate_1 = __importDefault(require("../../pages/steps/StepDate/StepDate"));
const Color_1 = require("../../util/Color");
const ScreenSize_1 = __importDefault(require("../../util/ScreenSize"));
const TextAlignment_1 = require("../../util/TextAlignment");
function BEMobileSummary() {
    var _a;
    const { screenSize } = (0, react_1.useContext)(contexts_1.BookingEngineContext);
    const { currentStep } = (0, react_1.useContext)(contexts_1.FullPageEngineContext);
    const basketContext = (0, react_1.useContext)(contexts_1.BasketContext);
    const { t } = (0, react_i18next_1.useTranslation)();
    const { hotel } = (0, hooks_1.useCurrentHotel)();
    const [modalOpen, setModalOpen] = (0, react_1.useState)(false);
    const { showChildren } = (0, useSearchScopeHook_1.useSearchScopeHook)();
    if (screenSize <= ScreenSize_1.default.Medium) {
        const openModal = () => {
            setModalOpen(true);
        };
        const closeModal = () => {
            setModalOpen(false);
        };
        return (react_1.default.createElement(react_1.default.Fragment, null,
            react_1.default.createElement("div", { className: "be-mobile-summary row u-border-bottom u-pad u-marg-bottom", onClick: openModal },
                react_1.default.createElement("div", { className: "be-mobile-summary-select-date-header" },
                    react_1.default.createElement("div", { className: "u-flex u-flex-flex-start" },
                        react_1.default.createElement(Text_1.default, { className: "select-date-header-title" },
                            react_1.default.createElement("span", Object.assign({}, (basketContext.startDate ? { style: { color: Color_1.Color.Accent, fontWeight: 'bold' } } : {})), basketContext.startDate ? basketContext.startDate.format('MMM D') : t(Translation_1.Translation.Step.Date.Arrival))),
                        react_1.default.createElement("span", { className: "u-marg-left-right--light" },
                            react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.ArrowRight2, size: "18px", color: Color_1.Color.DarkGrey })),
                        react_1.default.createElement(Text_1.default, { className: "select-date-header-title" },
                            react_1.default.createElement("span", Object.assign({}, (basketContext.endDate ? { style: { color: Color_1.Color.Accent, fontWeight: 'bold' } } : {})), basketContext.endDate ? basketContext.endDate.format('MMM D') : t(Translation_1.Translation.Step.Date.Departure)))),
                    react_1.default.createElement("div", { style: {
                            flex: 0,
                            display: 'flex',
                            flexDirection: 'row',
                        } },
                        react_1.default.createElement(Text_1.default, { bold: true, size: "normal", align: TextAlignment_1.TextAlign.Right, className: "select-date-header-title" }, currentStep === StepDate_1.default ? react_1.default.createElement(StepDatePricePerRoom_1.default, { isMobile: true }) : react_1.default.createElement(Currency_1.default, null, basketContext.getTotalPrice())),
                        react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.Dropdown, size: "18px", color: Color_1.Color.DarkGrey }))),
                react_1.default.createElement("div", { className: "be-mobile-summary-select-date-header" },
                    react_1.default.createElement("div", { style: { flex: 1 } },
                        react_1.default.createElement(Text_1.default, { className: "select-date-header-subtitle" },
                            basketContext.getNumberOfAdults(true),
                            ",\u00A0",
                            showChildren ? react_1.default.createElement(react_1.default.Fragment, null,
                                basketContext.getNumberOfChildren(true),
                                ",\u00A0") : null,
                            ((_a = hotel === null || hotel === void 0 ? void 0 : hotel.childConfiguration) === null || _a === void 0 ? void 0 : _a.supportInfants) ? react_1.default.createElement(react_1.default.Fragment, null,
                                basketContext.getNumberOfInfants(true),
                                ",\u00A0") : null,
                            basketContext.getNumberOfRooms(true))),
                    react_1.default.createElement(Text_1.default, { className: "select-date-header-subtitle" }, "+ Taxes & fees"))),
            react_1.default.createElement(BEMobileSummaryModal_1.default, { isOpen: modalOpen, onClose: closeModal })));
    }
    return react_1.default.createElement(react_1.default.Fragment, null);
}
//# sourceMappingURL=BEMobileSummary.js.map