slider+header15.12

This commit is contained in:
Dairse
2025-12-15 20:01:05 +03:00
parent 3343e81133
commit f7d7c83d86
9 changed files with 305 additions and 432 deletions

431
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -212,6 +212,9 @@ import TripHomepage from 'pages/apps/travel-agency/trip/Homepage';
import TripDetails from 'pages/apps/travel-agency/trip/TripDetails'; import TripDetails from 'pages/apps/travel-agency/trip/TripDetails';
import TripCheckout from 'pages/apps/travel-agency/trip/Checkout'; import TripCheckout from 'pages/apps/travel-agency/trip/Checkout';
import TripLayout from 'layouts/TripLayout'; import TripLayout from 'layouts/TripLayout';
import { Range } from 'react-range';
import PhoenixReactRange from './components/forms/PhoenixReactRange';
import { Slider } from './module-dimmer/Slider';
const routes: RouteObject[] = [ const routes: RouteObject[] = [
{ {
@@ -227,10 +230,14 @@ const routes: RouteObject[] = [
children: [ children: [
{ {
index: true, index: true,
element: <div> body </div> element: <div> body </div>
}, },
{ {
element: <div>monitor</div>, element: (
<div >
<Slider/>
</div>
),
path: '/monitor' path: '/monitor'
}, },
{ {

View File

@@ -11,20 +11,27 @@ const Footer = ({ className }: FooterProps) => {
<Row className="g-1 justify-content-between align-items-center h-100"> <Row className="g-1 justify-content-between align-items-center h-100">
<Col xs={12} sm="auto" className="text-center"> <Col xs={12} sm="auto" className="text-center">
<p className="mb-0 mt-2 mt-sm-0 text-body"> <p className="mb-0 mt-2 mt-sm-0 text-body">
Thank you for creating with {process.env.REACT_APP_TITLE} React
<span className="d-none d-sm-inline-block" />
<span className="d-none d-sm-inline-block mx-1">|</span> {/*Thank you for creating with {process.env.REACT_APP_TITLE} React*/}
<br className="d-sm-none" /> {/*<span className="d-none d-sm-inline-block" />*/}
{new Date().getFullYear()} &copy;{' '} {/*<span className="d-none d-sm-inline-block mx-1">|</span>*/}
<a href="https://themewagon.com" target="_blank" rel="noreferrer"> {/*<br className="d-sm-none" />*/}
{/*{new Date().getFullYear()} &copy;{' '}*/}
<ul>
Themewagon Themewagon
</a> </ul>
</p> </p>
</Col> </Col>
<Col xs={12} sm="auto" className="text-center"> <Col xs={12} sm="auto" className="text-center">
<p className="mb-0 text-body-tertiary text-opacity-85"> {/*<p className="mb-0 text-body-tertiary text-opacity-85">*/}
v{process.env.REACT_APP_VERSION} {/* v{process.env.REACT_APP_VERSION}*/}
</p> {/*</p>*/}
</Col> </Col>
</Row> </Row>
</footer> </footer>

View File

@@ -35,6 +35,7 @@ export interface PhoenixReactRangeProps {
renderThumb?: (params: IRenderThumbParams) => React.ReactNode; renderThumb?: (params: IRenderThumbParams) => React.ReactNode;
renderTrack?: (params: IRenderTrackParams) => React.ReactNode; renderTrack?: (params: IRenderTrackParams) => React.ReactNode;
classNames?: string; classNames?: string;
orientation?: 'horizontal' | 'vertical';
} }
const PhoenixReactRange = ({ const PhoenixReactRange = ({

View File

@@ -20,7 +20,7 @@ const NavItems = () => {
const [openSearchModal, setOpenSearchModal] = useState(false); const [openSearchModal, setOpenSearchModal] = useState(false);
return ( return (
<div className="navbar-nav navbar-nav-icons flex-row"> <div className="w-50 navbar-nav navbar-nav-icons flex-row justify-content-end">
<Nav.Item> <Nav.Item>
<ThemeToggler className="px-2" /> <ThemeToggler className="px-2" />
</Nav.Item> </Nav.Item>
@@ -47,47 +47,47 @@ const NavItems = () => {
<NotificationDropdownMenu /> <NotificationDropdownMenu />
</Dropdown> </Dropdown>
</Nav.Item> </Nav.Item>
{/*<Nav.Item>*/}
{/* <Dropdown autoClose="outside" className="h-100">*/}
{/* <Dropdown.Toggle*/}
{/* as={Link}*/}
{/* to="#!"*/}
{/* className="dropdown-caret-none nav-link h-100"*/}
{/* variant=""*/}
{/* >*/}
{/* <svg*/}
{/* width="16"*/}
{/* height="16"*/}
{/* viewBox="0 0 16 16"*/}
{/* fill="none"*/}
{/* xmlns="http://www.w3.org/2000/svg"*/}
{/* >*/}
{/* <circle cx="2" cy="2" r="2" fill="currentColor"></circle>*/}
{/* <circle cx="2" cy="8" r="2" fill="currentColor"></circle>*/}
{/* <circle cx="2" cy="14" r="2" fill="currentColor"></circle>*/}
{/* <circle cx="8" cy="8" r="2" fill="currentColor"></circle>*/}
{/* <circle cx="8" cy="14" r="2" fill="currentColor"></circle>*/}
{/* <circle cx="14" cy="8" r="2" fill="currentColor"></circle>*/}
{/* <circle cx="14" cy="14" r="2" fill="currentColor"></circle>*/}
{/* <circle cx="8" cy="2" r="2" fill="currentColor"></circle>*/}
{/* <circle cx="14" cy="2" r="2" fill="currentColor"></circle>*/}
{/* </svg>*/}
{/* </Dropdown.Toggle>*/}
{/* <NineDotMenu />*/}
{/* </Dropdown>*/}
{/*</Nav.Item>*/}
<Nav.Item> <Nav.Item>
<Dropdown autoClose="outside" className="h-100"> {/*<Dropdown autoClose="outside" className="h-100">*/}
<Dropdown.Toggle {/* <Dropdown.Toggle*/}
as={Link} {/* as={Link}*/}
to="#!" {/* to="#!"*/}
className="dropdown-caret-none nav-link h-100" {/* className="dropdown-caret-none nav-link pe-0 py-0 lh-1 h-100 d-flex align-items-center"*/}
variant="" {/* variant=""*/}
> {/* >*/}
<svg
width="16" {/* </Dropdown.Toggle>*/}
height="16" {/* <ProfileDropdownMenu />*/}
viewBox="0 0 16 16" {/*</Dropdown>*/}
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<circle cx="2" cy="2" r="2" fill="currentColor"></circle>
<circle cx="2" cy="8" r="2" fill="currentColor"></circle>
<circle cx="2" cy="14" r="2" fill="currentColor"></circle>
<circle cx="8" cy="8" r="2" fill="currentColor"></circle>
<circle cx="8" cy="14" r="2" fill="currentColor"></circle>
<circle cx="14" cy="8" r="2" fill="currentColor"></circle>
<circle cx="14" cy="14" r="2" fill="currentColor"></circle>
<circle cx="8" cy="2" r="2" fill="currentColor"></circle>
<circle cx="14" cy="2" r="2" fill="currentColor"></circle>
</svg>
</Dropdown.Toggle>
<NineDotMenu />
</Dropdown>
</Nav.Item>
<Nav.Item>
<Dropdown autoClose="outside" className="h-100">
<Dropdown.Toggle
as={Link}
to="#!"
className="dropdown-caret-none nav-link pe-0 py-0 lh-1 h-100 d-flex align-items-center"
variant=""
>
<Avatar src={avatar57} size="l" />
</Dropdown.Toggle>
<ProfileDropdownMenu />
</Dropdown>
</Nav.Item> </Nav.Item>
<Modal <Modal

View File

@@ -6,6 +6,8 @@ import NavItemsSlim from 'components/navbars/nav-items/NavItemsSlim';
import NavItems from 'components/navbars/nav-items/NavItems'; import NavItems from 'components/navbars/nav-items/NavItems';
import NavbarTopNav from './NavbarTopNav'; import NavbarTopNav from './NavbarTopNav';
import { useBreakpoints } from 'providers/BreakpointsProvider'; import { useBreakpoints } from 'providers/BreakpointsProvider';
import { Header } from "module-dimmer/Header";
const NavbarTopHorizontal = () => { const NavbarTopHorizontal = () => {
const { const {
@@ -21,14 +23,13 @@ const NavbarTopHorizontal = () => {
return ( return (
<Navbar <Navbar
className={classNames('navbar-bottom ', { className={classNames('navbar-top ', {
'navbar-slim': navbarTopShape === 'slim' 'navbar-slim': navbarTopShape === 'slim'
})} })}
expand="lg" expand="lg"
variant="" variant=""
data-navbar-appearance={navbarTopAppearance === 'darker' ? 'darker' : ''} data-navbar-appearance={navbarTopAppearance === 'darker' ? 'darker' : ''}
> >
<NavbarBrand />
{!(navbarPosition === 'combo' && breakpoints.down('lg')) && ( {!(navbarPosition === 'combo' && breakpoints.down('lg')) && (
<Navbar.Collapse <Navbar.Collapse
className="navbar-top-collapse order-1 order-lg-0 justify-content-center pb-0" className="navbar-top-collapse order-1 order-lg-0 justify-content-center pb-0"
@@ -37,6 +38,7 @@ const NavbarTopHorizontal = () => {
<NavbarTopNav /> <NavbarTopNav />
</Navbar.Collapse> </Navbar.Collapse>
)} )}
{navbarTopShape === 'default' ? <NavItems /> : <NavItemsSlim />} {navbarTopShape === 'default' ? <NavItems /> : <NavItemsSlim />}
</Navbar> </Navbar>
); );

View File

@@ -53,19 +53,19 @@ const NavbarTopNavItem = ({ route }: { route: RouteItems }) => {
onMouseLeave={handleMouseLeave} onMouseLeave={handleMouseLeave}
onToggle={() => setShow(!show)} onToggle={() => setShow(!show)}
> >
<Dropdown.Toggle {/*<Dropdown.Toggle*/}
as="a" {/* as="a"*/}
variant="" {/* variant=""*/}
className="nav-link lh-1 d-flex align-items-center cursor-pointer" {/* className="nav-link lh-1 d-flex align-items-center cursor-pointer"*/}
// onClick={handleClick} {/* // onClick={handleClick}*/}
> {/*>*/}
<Icon className="me-2" size={16} /> {/* <Icon className="me-2" size={16} />*/}
<span> {/* <span>*/}
{capitalize( {/* {capitalize(*/}
route.horizontalNavLabel ? route.horizontalNavLabel : route.label {/* route.horizontalNavLabel ? route.horizontalNavLabel : route.label*/}
)} {/* )}*/}
</span> {/* </span>*/}
</Dropdown.Toggle> {/*</Dropdown.Toggle>*/}
{route.megaMenu ? ( {route.megaMenu ? (
<TopNavMegaMenu route={route} /> <TopNavMegaMenu route={route} />
) : ( ) : (

View File

@@ -10,6 +10,7 @@ import { useAppContext } from 'providers/AppProvider';
import { useMainLayoutContext } from 'providers/MainLayoutProvider'; import { useMainLayoutContext } from 'providers/MainLayoutProvider';
import { Container } from 'react-bootstrap'; import { Container } from 'react-bootstrap';
import { Outlet } from 'react-router-dom'; import { Outlet } from 'react-router-dom';
import { Header } from '../module-dimmer/Header';
const MainLayout = () => { const MainLayout = () => {
const { const {
@@ -20,21 +21,20 @@ const MainLayout = () => {
return ( return (
<Container fluid className="px-0"> <Container fluid className="px-0">
{/* {(navbarPosition === 'vertical' || navbarPosition === 'combo') && ( {/*{(navbarPosition === 'vertical' || navbarPosition === 'combo') && (*/}
<NavbarVertical /> {/* <NavbarVertical />*/}
)} {/*)}*/}
{navbarPosition === 'vertical' && <NavbarTopDefault />} {/*{navbarPosition === 'vertical' && <NavbarTopDefault />}*/}
{(navbarPosition === 'horizontal' || navbarPosition === 'combo') && ( {/*{(navbarPosition === 'horizontal' || navbarPosition === 'combo') && (*/}
<NavbarTopHorizontal /> {/* <NavbarTopHorizontal />*/}
)} {/*)}*/}
{navbarPosition === 'dual' && <NavbarDual />} */} {/*{navbarPosition === 'dual' && <NavbarDual />}*/}
<div className={classNames(contentClass, 'content')}>
<div className={classNames(contentClass, 'content pt-0 pe-0 ps-0')}>
{/*<Footer className={classNames(footerClass, 'position-md-relative')} />*/}
<Header/>
<Outlet /> <Outlet />
<NavBarMy /> <NavBarMy />
<Footer className={classNames(footerClass, 'position-absolute')} />
</div> </div>
</Container> </Container>
); );

View File

@@ -0,0 +1,129 @@
import { Col, Navbar, Row, Table } from 'react-bootstrap';
import NavbarTopHorizontal from '../components/navbars/navbar-horizontal/NavbarTopHorizontal';
import NavItems from '../components/navbars/nav-items/NavItems';
import { useAppContext } from '../providers/AppProvider';
import { useBreakpoints } from '../providers/BreakpointsProvider';
import classNames from 'classnames';
import NavbarTopNav from '../components/navbars/navbar-horizontal/NavbarTopNav';
import NavItemsSlim from '../components/navbars/nav-items/NavItemsSlim';
export const Header = () => {
const {
config: {
navbarPosition,
openNavbarVertical,
navbarTopShape,
navbarTopAppearance
}
} = useAppContext();
const { breakpoints } = useBreakpoints();
return (
<Navbar
className="navbar-top"
expand="lg"
variant=""
data-navbar-appearance={
navbarTopAppearance === 'darker' ? 'darker' : ''
}
>
{!(navbarPosition === 'combo' && breakpoints.down('lg')) && (
<Navbar.Collapse
className="w-50 navbar-top-collapse order-1 order-lg-0 justify-content-between pb-0"
in={openNavbarVertical}
>
<Col className="p-0" xs="auto">
<Row>
<Col className="p-0 pe-3" xs="auto">
<div>A:</div>
</Col>
<Col className="p-0 pe-3" xs="auto">
<div>DDSR 24</div>
</Col>
</Row>
<Row>
<Col className="p-0 pe-3" xs="auto">
<div>B.:</div>
</Col>
<Col className="p-0 pe-3" xs="auto">
<div>выкл.</div>
</Col>
</Row>
<Row>
<Col className="p-0 pe-3" xs="auto">
<div>C:</div>
</Col>
<Col className="p-0 pe-3" xs="auto">
<div>123</div>
</Col>
</Row>
</Col>
<Col className="p-0" xs="auto">
<Row>
<Col className="p-0 pe-3" xs="auto">
<div>A:</div>
</Col>
<Col className="p-0 pe-3" xs="auto">
<div>DDSR 24</div>
</Col>
</Row>
<Row>
<Col className="p-0 pe-3" xs="auto">
<div>B.:</div>
</Col>
<Col className="p-0 pe-3" xs="auto">
<div>выкл.</div>
</Col>
</Row>
<Row>
<Col className="p-0 pe-3" xs="auto">
<div>C:</div>
</Col>
<Col className="p-0 pe-3" xs="auto">
<div>123</div>
</Col>
</Row>
</Col>
<Col className="p-0" xs="auto">
<Row>
<Col className="p-0 pe-3" xs="auto">
<div>A:</div>
</Col>
<Col className="p-0 pe-3" xs="auto">
<div>DDSR 24</div>
</Col>
</Row>
<Row>
<Col className="p-0 pe-3" xs="auto">
<div>B.:</div>
</Col>
<Col className="p-0 pe-3" xs="auto">
<div>выкл.</div>
</Col>
</Row>
<Row>
<Col className="p-0 pe-3" xs="auto">
<div>C:</div>
</Col>
<Col className="p-0 pe-3" xs="auto">
<div>123</div>
</Col>
</Row>
</Col>
</Navbar.Collapse>
)}
<NavItems />
</Navbar>
);
}