import React, { useCallback } from "react";
import styled from "styled-components";
import { useDispatch, useSelector } from "react-redux";
import { updateApplicationLayout } from "ee/actions/applicationActions";
import type {
AppLayoutConfig,
SupportedLayouts,
} from "reducers/entityReducers/pageListReducer";
import {
getCurrentApplicationId,
getCurrentApplicationLayout,
} from "selectors/editorSelectors";
import { Icon, SegmentedControl, Tooltip } from "@appsmith/ads";
const StyledSegmentedControl = styled(SegmentedControl)`
> .ads-v2-segmented-control__segments-container {
flex: 1 1 0%;
}
`;
interface AppsmithLayoutConfigOption {
name: string;
type: SupportedLayouts;
icon: string;
}
export const AppsmithDefaultLayout: AppLayoutConfig = {
type: "FLUID",
};
const AppsmithLayouts: AppsmithLayoutConfigOption[] = [
{
name: "Fluid width",
type: "FLUID",
icon: "fluid",
},
{
name: "Desktop",
type: "DESKTOP",
icon: "desktop",
},
{
name: "Tablet (Landscape)",
type: "TABLET_LARGE",
icon: "tabletLandscape",
},
{
name: "Tablet (Portrait)",
type: "TABLET",
icon: "tablet",
},
{
name: "Mobile device",
type: "MOBILE",
icon: "mobile",
},
];
const options = AppsmithLayouts.map((layout, index) => ({
label: (