Spaces:
Runtime error
Runtime error
File size: 2,585 Bytes
92189dd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import LoadingStateScreen from '@/common/loading/LoadingStateScreen';
import useSettingsContext from '@/settings/useSettingsContext';
import {Cog6ToothIcon} from '@heroicons/react/24/outline';
import stylex from '@stylexjs/stylex';
import {Suspense} from 'react';
import {Button, Indicator} from 'react-daisyui';
import {Outlet} from 'react-router-dom';
const styles = stylex.create({
container: {
display: 'flex',
flexDirection: 'column',
height: '100%',
maxHeight: '100vh',
backgroundColor: '#000',
},
content: {
position: 'relative',
flex: '1 1 0%',
display: 'flex',
flexDirection: 'column',
overflowX: 'auto',
overflowY: {
default: 'auto',
'@media screen and (max-width: 768px)': 'auto',
},
},
debugActions: {
display: 'flex',
flexDirection: 'column',
position: 'fixed',
top: 100,
right: 0,
backgroundColor: 'white',
borderRadius: 3,
},
});
export default function RootLayout() {
const {openModal, hasChanged} = useSettingsContext();
return (
<div {...stylex.props(styles.container)}>
<div {...stylex.props(styles.content)}>
<Suspense
fallback={
<LoadingStateScreen
title="Loading demo..."
description="This may take a few moments, you're almost there!"
/>
}>
<Outlet />
</Suspense>
</div>
<div {...stylex.props(styles.debugActions)}>
<Indicator>
{hasChanged && (
<Indicator.Item
className="badge badge-primary scale-50"
horizontal="start"
vertical="top"
/>
)}
<Button
color="ghost"
onClick={openModal}
shape="circle"
size="xs"
startIcon={<Cog6ToothIcon className="w-4 h-4" />}
title="Bugnub"
/>
</Indicator>
</div>
</div>
);
}
|