Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/wincloud_gateway/node_modules/strapi-admin/admin/src/components/Roles/Tabs/ drwxr-xr-x | |
| Viewing file: Select action/file-type: import React, { useState } from 'react';
import { Flex, Text, Padded } from '@buffetjs/core';
import PropTypes from 'prop-types';
import { LoadingIndicator } from 'strapi-helper-plugin';
import { useIntl } from 'react-intl';
import TabsWrapper from './TabsWrapper';
import Tab from './Tab';
const Tabs = ({ children, isLoading, tabsLabel }) => {
const { formatMessage } = useIntl();
const [selectedTabIndex, setSelectedTabIndex] = useState(0);
const selectedChild = React.Children.toArray(children)[selectedTabIndex];
const handleSelectedTab = index => {
if (index !== selectedTabIndex) {
setSelectedTabIndex(index);
}
};
return (
<TabsWrapper>
{isLoading ? (
<Padded top bottom size="lg">
<LoadingIndicator />
</Padded>
) : (
<>
<Flex alignItems="stretch">
{tabsLabel.map((tab, index) => (
<Tab
isActive={index === selectedTabIndex}
key={tab.id}
onClick={() => handleSelectedTab(index)}
>
<Text fontWeight={index === selectedTabIndex ? 'bold' : 'semiBold'}>
{formatMessage({ id: tab.labelId, defaultMessage: tab.defaultMessage })}
</Text>
</Tab>
))}
</Flex>
{selectedChild}
</>
)}
</TabsWrapper>
);
};
Tabs.defaultProps = {
isLoading: false,
};
Tabs.propTypes = {
children: PropTypes.node.isRequired,
isLoading: PropTypes.bool,
tabsLabel: PropTypes.arrayOf(
PropTypes.shape({
id: PropTypes.string.isRequired,
defaultMessage: PropTypes.string.isRequired,
labelId: PropTypes.string.isRequired,
})
).isRequired,
};
export default Tabs;
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0238 ]-- |