/* This file is part of the Notesnook project (https://notesnook.com/) Copyright (C) 2023 Streetwriters (Private) Limited This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ import React from "react"; import { Dimensions, FlatList, ScrollView, View } from "react-native"; import Icon from "react-native-vector-icons/MaterialCommunityIcons"; import { useActions } from "../../hooks/use-actions"; import { DDS } from "../../services/device-detection"; import { useSettingStore } from "../../stores/use-setting-store"; import { useThemeColors } from "@notesnook/theme"; import { SIZE } from "../../utils/size"; import { Button } from "../ui/button"; import { PressableButton } from "../ui/pressable"; import Paragraph from "../ui/typography/paragraph"; export const Items = ({ item, buttons, close }) => { const { colors } = useThemeColors(); const dimensions = useSettingStore((state) => state.dimensions); const actions = useActions({ item, close }); const data = actions.filter((i) => buttons.indexOf(i.id) > -1 && !i.hidden); let width = dimensions.width > 600 ? 600 : dimensions.width; const shouldShrink = Dimensions.get("window").fontScale > 1 && Dimensions.get("window").width < 450; let columnItemsCount = DDS.isLargeTablet() ? 7 : shouldShrink ? 4 : 5; let columnItemWidth = DDS.isTab ? (width - 12) / columnItemsCount : (width - 12) / columnItemsCount; const _renderRowItem = ({ item }) => ( {item.title} ); const renderColumnItem = (item) => (