import { action } from 'mobx';
import * as React from 'react';
import { Doc } from '../../../../fields/Doc';
import { InkTool } from '../../../../fields/InkField';
import { SelectionManager } from '../../../util/SelectionManager';
import { SnappingManager } from '../../../util/SnappingManager';
import { CollectionDockingView } from '../../collections/CollectionDockingView';
import { OpenWhereMod } from '../../nodes/DocumentView';
import { NewLightboxView } from '../NewLightboxView';
import './ButtonMenu.scss';
import { IButtonMenu } from './utils';

export const ButtonMenu = (props: IButtonMenu) => {
    return (
        <div className={`newLightboxButtonMenu-container`}>
            <div
                className="newLightboxView-navBtn"
                title="toggle fit width"
                onClick={e => {
                    e.stopPropagation();
                    NewLightboxView.LightboxDoc!._fitWidth = !NewLightboxView.LightboxDoc!._fitWidth;
                }}></div>
            <div
                className="newLightboxView-tabBtn"
                title="open in tab"
                onClick={e => {
                    e.stopPropagation();
                    CollectionDockingView.AddSplit(NewLightboxView.LightboxDoc || NewLightboxView.LightboxDoc!, OpenWhereMod.none);
                    SelectionManager.DeselectAll();
                    NewLightboxView.SetNewLightboxDoc(undefined);
                }}></div>
            <div
                className="newLightboxView-penBtn"
                title="toggle pen annotation"
                style={{ background: Doc.ActiveTool === InkTool.Pen ? 'white' : undefined }}
                onClick={e => {
                    e.stopPropagation();
                    Doc.ActiveTool = Doc.ActiveTool === InkTool.Pen ? InkTool.None : InkTool.Pen;
                }}></div>
            <div
                className="newLightboxView-exploreBtn"
                title="toggle explore mode to navigate among documents only"
                style={{ background: SnappingManager.ExploreMode ? 'white' : undefined }}
                onClick={action(e => {
                    e.stopPropagation();
                    SnappingManager.SetExploreMode(!SnappingManager.ExploreMode);
                })}></div>
        </div>
    );
};
