diff --git a/src/app/components/AppBar/index.tsx b/src/app/components/AppBar/index.tsx index 1ae6f303b..f23f1066f 100644 --- a/src/app/components/AppBar/index.tsx +++ b/src/app/components/AppBar/index.tsx @@ -42,7 +42,6 @@ const NavList = (props: { ]; const handleNavigation = () => { props.setIsNavExpanded?.(false); - document.body.style.overflow = "auto"; }; return ( <> diff --git a/src/app/components/Mobile/AppBarSearch/index.tsx b/src/app/components/Mobile/AppBarSearch/index.tsx deleted file mode 100644 index af33f1304..000000000 --- a/src/app/components/Mobile/AppBarSearch/index.tsx +++ /dev/null @@ -1,123 +0,0 @@ -/* third-party */ -import React from "react"; -import get from "lodash/get"; -import { useHistory } from "react-router-dom"; -import SearchIcon from "@material-ui/icons/Search"; -import IconButton from "@material-ui/core/IconButton"; -import { useStoreActions, useStoreState } from "app/state/store/hooks"; -import { - useDebounce, - useUpdateEffect, - useSessionStorage, - useUnmount, -} from "react-use"; -/* project */ -import { SearchLayout } from "app/components/Search/layout"; -import { SearchResultsTabModel } from "app/components/Search/components/results/data"; - -export function MobileAppbarSearch() { - const history = useHistory(); - const [open, setOpen] = React.useState(false); - const [storedValue, setStoredValue] = useSessionStorage( - "stored-search-string", - "" - ); - const [value, setValue] = React.useState(storedValue); - - // api call & data - const clearData = useStoreActions((store) => store.GlobalSearch.clear); - const fetchData = useStoreActions((store) => store.GlobalSearch.fetch); - const data = useStoreState( - (state) => - get(state.GlobalSearch.data, "data", []) as SearchResultsTabModel[] - ); - const isLoading = useStoreState((state) => state.GlobalSearch.loading); - const datasource = useStoreState((state) => state.DataSourceState.value); - - React.useEffect(() => { - history.listen(() => { - if (open) { - setOpen(false); - } - }); - }, [history]); - - useUpdateEffect(() => { - const gihubBtn = document.getElementById("github-linkbtn"); - if (open) { - document.body.style.overflowY = "hidden"; - if (gihubBtn) { - gihubBtn.style.display = "none"; - } - } else { - document.body.style.overflowY = "auto"; - if (gihubBtn) { - gihubBtn.style.display = "inherit"; - } - } - }, [open]); - - useUnmount(() => { - document.body.style.overflowY = "auto"; - }); - - useUpdateEffect(() => { - setStoredValue(value); - }, [value]); - - const [,] = useDebounce( - () => { - if (value.length > 0) { - fetchData({ - filterString: `q=${value}&datasource=${datasource}`, - }); - } else { - clearData(); - } - }, - 500, - [value] - ); - - return ( - - {!open && ( - setOpen(!open)} - > - - - )} - {open && ( -
div { - height: 100% !important; - } - } - `} - > - setOpen(false)} - setStoredValue={setStoredValue} - /> -
- )} -
- ); -} diff --git a/src/app/modules/chart-module/__test__/filter.test.tsx b/src/app/modules/chart-module/__test__/filter.test.tsx index 62be42c83..65815cd2a 100644 --- a/src/app/modules/chart-module/__test__/filter.test.tsx +++ b/src/app/modules/chart-module/__test__/filter.test.tsx @@ -103,7 +103,7 @@ const checkIfAllOptionsAreChecked = (options: FilterGroupOptionModel[]) => { options.forEach((option: FilterGroupOptionModel) => { expect( screen.getByRole("checkbox", { - name: option.label, + name: option.label + " ()", }) ).toBeChecked(); if (option.subOptions && isOptionExpanded) { @@ -118,7 +118,7 @@ const checkIfAllOptionsAreUnchecked = (options: FilterGroupOptionModel[]) => { options.forEach((option: FilterGroupOptionModel) => { expect( screen.getByRole("checkbox", { - name: option.label, + name: option.label + " ()", }) ).not.toBeChecked(); if (option.subOptions && isOptionExpanded) { @@ -354,14 +354,14 @@ test("search input should filter options", async () => { expect(screen.getAllByTestId("filter-option-checkbox").length).toBe(5); const filteredOptions = ["100", "1000", "10016", "10033", "1005"]; filteredOptions.forEach((option: string) => { - expect(screen.getByLabelText(option)).toBeInTheDocument(); + expect(screen.getByLabelText(option + " ()")).toBeInTheDocument(); }); //delete search input await user.clear(searchInput); expect(screen.getAllByTestId("filter-option-checkbox").length).toBe(3); props.options.forEach((option: any) => { - expect(screen.getByLabelText(option.label)).toBeInTheDocument(); + expect(screen.getByLabelText(option.label + " ()")).toBeInTheDocument(); }); }); @@ -380,7 +380,9 @@ test("should multi check and uncheck filter options", async () => { render(app); const checkboxList: HTMLElement[] = []; props.options.forEach((option: any) => { - checkboxList.push(screen.getByRole("checkbox", { name: option.label })); + checkboxList.push( + screen.getByRole("checkbox", { name: option.label + " ()" }) + ); }); expect(checkboxList.length).toBe(3); //multi check filte options diff --git a/src/app/modules/common/no-match-page/index.tsx b/src/app/modules/common/no-match-page/index.tsx index 4f5eb31ab..05a68acdc 100644 --- a/src/app/modules/common/no-match-page/index.tsx +++ b/src/app/modules/common/no-match-page/index.tsx @@ -1,5 +1,4 @@ import React from "react"; -import get from "lodash/get"; import { Link, useHistory } from "react-router-dom"; import { ReactComponent as NotFoundIcon } from "app/modules/common/no-match-page/asset/404.svg"; import { ReactComponent as BgImg } from "app/modules/common/no-match-page/asset/bg-ellipse.svg"; @@ -11,7 +10,14 @@ import SmallFooter from "app/modules/home-module/components/Footer/smallFooter"; export const NoMatchPage = () => { const history = useHistory(); return ( -
+
state.AuthToken.value); - const limit = 15; + const limit = getLimit(); const [offset, setOffset] = React.useState(0); const { isObserved } = useInfinityScroll(observerTarget); diff --git a/src/app/modules/home-module/components/AssetCollection/Charts/chartsGrid.tsx b/src/app/modules/home-module/components/AssetCollection/Charts/chartsGrid.tsx index e29bdd243..6f4bce3dc 100644 --- a/src/app/modules/home-module/components/AssetCollection/Charts/chartsGrid.tsx +++ b/src/app/modules/home-module/components/AssetCollection/Charts/chartsGrid.tsx @@ -22,6 +22,7 @@ import GridItem from "app/modules/home-module/components/AssetCollection/Charts/ import { useAuth0 } from "@auth0/auth0-react"; import { useSetRecoilState } from "recoil"; import { planDialogAtom } from "app/state/recoil/atoms"; +import { getLimit } from "app/modules/home-module/components/AssetCollection/Datasets/datasetsGrid"; interface Props { sortBy: string; @@ -48,7 +49,8 @@ export default function ChartsGrid(props: Props) { const [enableButton, setEnableButton] = React.useState(false); const token = useStoreState((state) => state.AuthToken.value); const initialRender = React.useRef(true); - const limit = 15; + const limit = getLimit(); + const [offset, setOffset] = React.useState(0); const { isObserved } = useInfinityScroll(observerTarget); diff --git a/src/app/modules/home-module/components/AssetCollection/Datasets/datasetsGrid.tsx b/src/app/modules/home-module/components/AssetCollection/Datasets/datasetsGrid.tsx index aa2be3a9c..0312fe374 100644 --- a/src/app/modules/home-module/components/AssetCollection/Datasets/datasetsGrid.tsx +++ b/src/app/modules/home-module/components/AssetCollection/Datasets/datasetsGrid.tsx @@ -30,12 +30,22 @@ interface Props { userOnly?: boolean; } +export const getLimit = () => { + let rows = 4; + const size = Math.floor(window.innerHeight / 400); + if (window.innerHeight <= 1050) { + return rows * 4; + } else { + rows += size; + return rows * 4; + } +}; export default function DatasetsGrid(props: Readonly) { + const limit = getLimit(); const observerTarget = React.useRef(null); const [cardId, setCardId] = React.useState(""); const [enableButton, setEnableButton] = React.useState(false); const [modalDisplay, setModalDisplay] = React.useState(false); - const limit = 15; const initialRender = React.useRef(true); const [offset, setOffset] = React.useState(0); const { isObserved } = useInfinityScroll(observerTarget); @@ -43,7 +53,6 @@ export default function DatasetsGrid(props: Readonly) { const setPlanDialog = useSetRecoilState(planDialogAtom); const [loadedDatasets, setLoadedDatasets] = useRecoilState(loadedDatasetsAtom); - const datasets = useStoreState( (state) => (state.dataThemes.DatasetGetList.crudData ?? diff --git a/src/app/modules/home-module/components/AssetCollection/Reports/reportsGrid.tsx b/src/app/modules/home-module/components/AssetCollection/Reports/reportsGrid.tsx index e5aa095c5..4aef70263 100644 --- a/src/app/modules/home-module/components/AssetCollection/Reports/reportsGrid.tsx +++ b/src/app/modules/home-module/components/AssetCollection/Reports/reportsGrid.tsx @@ -16,6 +16,7 @@ import { EditorState, convertFromRaw } from "draft-js"; import { useSetRecoilState } from "recoil"; import { planDialogAtom } from "app/state/recoil/atoms"; import CircleLoader from "app/modules/home-module/components/Loader"; +import { getLimit } from "app/modules/home-module/components/AssetCollection/Datasets/datasetsGrid"; interface Props { sortBy: string; @@ -31,7 +32,7 @@ export default function ReportsGrid(props: Readonly) { const [modalDisplay, setModalDisplay] = React.useState(false); const [enableButton, setEnableButton] = React.useState(false); const [loadedReports, setLoadedReports] = React.useState([]); - const limit = 15; + const limit = getLimit(); const initialRender = React.useRef(true); const [offset, setOffset] = React.useState(0); const { isObserved } = useInfinityScroll(observerTarget); diff --git a/src/app/modules/home-module/components/Footer/DesktopFooter.tsx b/src/app/modules/home-module/components/Footer/DesktopFooter.tsx index 3a5222885..6eae38f50 100644 --- a/src/app/modules/home-module/components/Footer/DesktopFooter.tsx +++ b/src/app/modules/home-module/components/Footer/DesktopFooter.tsx @@ -18,264 +18,256 @@ export default function DesktopFooter() { }> >({}); return ( - <> -
-
- +
+ + - -
    -
  • - - - -
  • -
  • - Explore{" "} -
  • -
  • - Why Dataxplorer{" "} -
  • -
  • - About -
  • -
  • - Partners -
  • -
  • - Pricing -
  • -
  • - Contact -
  • -
-
- + + + + +
  • + Explore{" "} +
  • +
  • + Why Dataxplorer{" "} +
  • +
  • + About +
  • +
  • + Partners +
  • +
  • + Pricing +
  • +
  • + Contact +
  • + +
    + - + - -

    +

    + Subscribe to our newsletter +

    + {formError.email && ( +
    -
    +
    +

    -

    + {moment(new Date()).format("YYYY")} Dataxplorer All Rights Reserved +

    +

    + {" "} + - - {moment(new Date()).format("YYYY")} Dataxplorer All Rights - Reserved -

    -

    - {" "} - - Privacy - {" "} -

    -

    - {" "} - - Terms and conditions - {" "} -

    -
    - -
    - + Privacy + {" "} +

    +

    + {" "} + + Terms and conditions + {" "} +

    +
    +
    +
    ); } diff --git a/src/app/modules/home-module/components/Footer/MobileFooter.tsx b/src/app/modules/home-module/components/Footer/MobileFooter.tsx index 51d0322f1..6d39879fc 100644 --- a/src/app/modules/home-module/components/Footer/MobileFooter.tsx +++ b/src/app/modules/home-module/components/Footer/MobileFooter.tsx @@ -6,101 +6,90 @@ import moment from "moment"; export default function MobileFooter() { return ( - <> +
    + + + +
    - - - -
    -
    -
    + + Privacy + {" "} + + Terms and conditions + {" "} +

    +

    -

    - - Privacy - {" "} - - Terms and conditions - {" "} -

    -

    - - {moment(new Date()).format("YYYY")} Dataxplorer All Rights Reserved -

    -
    + + {moment(new Date()).format("YYYY")} Dataxplorer All Rights Reserved +

    - +
    ); } diff --git a/src/app/modules/home-module/components/Footer/smallFooter.tsx b/src/app/modules/home-module/components/Footer/smallFooter.tsx index 7bcf27039..fc23b6cdc 100644 --- a/src/app/modules/home-module/components/Footer/smallFooter.tsx +++ b/src/app/modules/home-module/components/Footer/smallFooter.tsx @@ -5,75 +5,63 @@ import { Container } from "@material-ui/core"; function SmallFooter() { return ( - <> -
    -
    - -
    + +
    +

    -

    + {moment(new Date()).format("YYYY")} Dataxplorer All Rights Reserved +

    +

    + - - {moment(new Date()).format("YYYY")} Dataxplorer All Rights - Reserved -

    -

    - - Privacy - -

    -

    - - Terms and conditions - -

    -
    -
    -
    - + Privacy + +

    +

    + + Terms and conditions + +

    +
    + +
    ); } diff --git a/src/app/modules/home-module/components/Footer/style.ts b/src/app/modules/home-module/components/Footer/style.ts index 88bad723a..a1b0068bf 100644 --- a/src/app/modules/home-module/components/Footer/style.ts +++ b/src/app/modules/home-module/components/Footer/style.ts @@ -1,10 +1,8 @@ import { css } from "styled-components/macro"; export const homeFootercss = css` - /* width: 100vw; */ background: #fff; padding-top: 27px; - position: absolute; bottom: 0; left: 0; right: 0; diff --git a/src/app/modules/home-module/index.tsx b/src/app/modules/home-module/index.tsx index 6d5c2eac0..0569dae03 100644 --- a/src/app/modules/home-module/index.tsx +++ b/src/app/modules/home-module/index.tsx @@ -40,6 +40,10 @@ export default function HomeModule() {
    {!isAuthenticated ? ( diff --git a/src/app/modules/home-module/sub-modules/about/index.tsx b/src/app/modules/home-module/sub-modules/about/index.tsx index bb4e9dc17..2962be775 100644 --- a/src/app/modules/home-module/sub-modules/about/index.tsx +++ b/src/app/modules/home-module/sub-modules/about/index.tsx @@ -204,585 +204,599 @@ export default function AboutModule() { const allTeamCarousel = [...teamCarousel, ...futureTeam]; return ( -
    - -
    - - + > +
    + /> + +
    -

    - Our Story -

    +

    + Our Story +

    + +

    + With 20+ years combined experience in data and global health + development, we empower organisations with innovative data + solutions to enhance their communication. Our decade-long + commitment drives us to advance data communication continually. +
    +
    + Discover the true potential of your data with Dataxplorer. Let + us help you harness its power! +

    + +
    + {isAuthenticated && ( +
    + + + CREATE REPORT + + + + + EXPLORE REPORTS + + +
    + )} + {!isAuthenticated && ( +
    button { + gap: 10px; + color: #fff; + display: flex; + padding: 9px 18px !important; + background: #a1a2ff; + align-items: center; + justify-content: center; + text-transform: uppercase; + height: 41px; + border-radius: 30px; + outline: none; + border: none; + font-family: "Inter", sans-serif; + font-weight: 700; + font-size: 14px; + text-transform: uppercase; + text-decoration: none; + white-space: nowrap; + :hover { + opacity: 0.8; + cursor: pointer; + } + + > svg { + transform: scale(0.8); + } + @media (max-width: 600px) { + gap: 3px; + } + } + @media (max-width: 660px) { + flex-direction: column; + gap: 10px; + button { + width: 80%; + } + @media (max-width: 475px) { + button { + width: 100%; + } + } + } + `} + > + + + +
    + )} +
    +
    + +
    - With 20+ years combined experience in data and global health - development, we empower organisations with innovative data - solutions to enhance their communication. Our decade-long - commitment drives us to advance data communication continually. -
    -
    - Discover the true potential of your data with Dataxplorer. Let us - help you harness its power! -

    - + +
    +
    +
    + +
    +
    - {isAuthenticated && ( + {features.map((feature, index) => (
    - - - CREATE REPORT - - - - - EXPLORE REPORTS - - -
    - )} - {!isAuthenticated && ( -
    button { - gap: 10px; - color: #fff; - display: flex; - padding: 9px 18px !important; - background: #a1a2ff; - align-items: center; - justify-content: center; - text-transform: uppercase; - height: 41px; - border-radius: 30px; - outline: none; - border: none; - font-family: "Inter", sans-serif; - font-weight: 700; - font-size: 14px; - text-transform: uppercase; - text-decoration: none; - white-space: nowrap; - :hover { - opacity: 0.8; - cursor: pointer; - } - - > svg { - transform: scale(0.8); - } - @media (max-width: 600px) { - gap: 3px; - } - } - @media (max-width: 660px) { - flex-direction: column; - gap: 10px; - button { - width: 80%; + width: ${index === 2 ? "100%" : "auto"}; + @media (max-width: 1218px) { + h2 { + margin-left: unset; } - @media (max-width: 475px) { - button { + p { + &:nth-of-type(1) { + margin-left: unset; + } + &:nth-of-type(2) { width: 100%; } } } `} > - - - +

    + {feature.title} +

    +

    + {feature.subtitle} +

    +

    + {feature.text} +

    - )} + ))}
    -
    + +
    + + +

    + Meet Our Team +

    +

    + Zimmerman B.V. is a data information technology company based in + Amsterdam that specialises +
    in making data meaningful through visualisation tooling and + dashboards. +

    +
    - + + {allTeamCarousel} +
    -
    - - -
    -
    - {features.map((feature, index) => ( -
    -

    ( +
    + {member.name} - {feature.title} -

    + />

    - {feature.subtitle} + {member.name}

    - {feature.text} + {member.role}

    ))} + {Array.from({ length: 2 }).map((_, index) => ( +
    + {"Empty"} + + Join Our Team + +
    + ))}
    -
    -
    - - - -

    - Meet Our Team -

    -

    - Zimmerman B.V. is a data information technology company based in - Amsterdam that specialises -
    in making data meaningful through visualisation tooling and - dashboards. -

    - -
    - - {allTeamCarousel} - -
    -
    - {team.map((member) => ( -
    - {member.name} -

    - {member.name} -

    -

    - {member.role} -

    -
    - ))} - {Array.from({ length: 2 }).map((_, index) => ( -
    - {"Empty"} - - Join Our Team - -
    - ))} -
    -
    -
    -
    -

    - Mission -

    -
    - -
    + `} + /> +
    -

    +

    Mission

    -

    - Our mission is to create lasting impact for organizations that - bring positive change to our world by helping them to unlock the - power of data. Our trusted and easy-to-use data solutions boost - an organization's performance by powering its core mission. -

    + > + +
    +
    +

    + Mission +

    +
    +

    + Our mission is to create lasting impact for organizations that + bring positive change to our world by helping them to unlock + the power of data. Our trusted and easy-to-use data solutions + boost an organization's performance by powering its core + mission. +

    +
    -
    -
    -
    div:nth-of-type(1) { - display: flex; - flex-direction: column-reverse; +
    -
    + `} + /> +
    div:nth-of-type(1) { + display: flex; + flex-direction: column-reverse; + } + } + `} + >
    -

    +
    +

    + Dataxplorer +

    + +

    + Many organizations struggle to convey the data they collect, + analyze, and share. We specialize in turning data into a + strategic asset, helping global organizations communicate + their impact with precision and effectiveness. +

    To position your organization as a leader in + your field using the power of data, we offer Dataxplorer, an + AI-powered, purpose-driven data platform. Dataxplorer equips + people with insightful data for making informed decisions, + driving us closer to an equitable future for all. +

    +
    + +
    + +
    +

    Dataxplorer

    - -

    - Many organizations struggle to convey the data they collect, - analyze, and share. We specialize in turning data into a - strategic asset, helping global organizations communicate their - impact with precision and effectiveness. -

    To position your organization as a leader in your - field using the power of data, we offer Dataxplorer, an - AI-powered, purpose-driven data platform. Dataxplorer equips - people with insightful data for making informed decisions, - driving us closer to an equitable future for all. -

    - -
    - -
    -

    - Dataxplorer -

    -
    - - + + + - +
    ); } diff --git a/src/app/modules/home-module/sub-modules/contact/index.tsx b/src/app/modules/home-module/sub-modules/contact/index.tsx index e82fcc5fd..b77485eb5 100644 --- a/src/app/modules/home-module/sub-modules/contact/index.tsx +++ b/src/app/modules/home-module/sub-modules/contact/index.tsx @@ -116,263 +116,272 @@ export default function ContactModule() { message={message} /> {loading && } - - -
    - -

    Contact us!

    -

    - Schedule a free demo now or ask us any data related
    question - you may have. -

    -
    + + +
    - - - - - -
    -
    +

    Contact us!

    +

    + Schedule a free demo now or ask us any data related
    {" "} + question you may have. +

    + - -
    - -
    -
    -
    + +
    + +
    p:nth-of-type(1) { - color: #fff; - font-family: "GothamNarrow-Bold", sans-serif; - font-size: 24px; - margin: 0; - } - > p:nth-of-type(2) { - color: #fff; - font-family: "GothamNarrow-Book", sans-serif; - font-size: 14px; - margin-bottom: 28px; - line-height: 17px; - margin-top: 8px; + @media (max-width: 1024px) { + @media (min-width: 601px) { + display: block; + height: 81px; } } `} + /> +
    -

    Want to stay up to date with new releases?

    -

    - Stay informed with exclusive updates, offers, and exclusive - content delivered straight to your inbox! -

    - +
    p:nth-of-type(1) { + color: #fff; + font-family: "GothamNarrow-Bold", sans-serif; + font-size: 24px; + margin: 0; + } + > p:nth-of-type(2) { + color: #fff; + font-family: "GothamNarrow-Book", sans-serif; + font-size: 14px; + margin-bottom: 28px; + line-height: 17px; + margin-top: 8px; + } + } + `} + > +

    Want to stay up to date with new releases?

    +

    + Stay informed with exclusive updates, offers, and exclusive + content delivered straight to your inbox! +

    + +
    -
    -
    + +
    ); diff --git a/src/app/modules/home-module/sub-modules/dashboard/index.tsx b/src/app/modules/home-module/sub-modules/dashboard/index.tsx index 7a231cee8..9b28ea345 100644 --- a/src/app/modules/home-module/sub-modules/dashboard/index.tsx +++ b/src/app/modules/home-module/sub-modules/dashboard/index.tsx @@ -11,7 +11,10 @@ function DashboardModule() { css={` margin-top: 48px; padding-top: 32px; - min-height: calc(100vh - 125px); + min-height: calc(100vh - 48px); + display: flex; + flex-direction: column; + justify-content: space-between; `} > diff --git a/src/app/modules/home-module/sub-modules/partners/index.tsx b/src/app/modules/home-module/sub-modules/partners/index.tsx index 0353f6d9c..b25329afb 100644 --- a/src/app/modules/home-module/sub-modules/partners/index.tsx +++ b/src/app/modules/home-module/sub-modules/partners/index.tsx @@ -129,130 +129,148 @@ export default function PartnersModule() { return ( <> - - - - - -
    setAutoPlay(false)} - onMouseLeave={() => setAutoPlay(true)} - css={` - width: 100%; - margin-top: 78px; - position: relative; - height: 639px; - @media (max-width: 1129px) { - width: 83%; - height: 100%; - } - @media (max-width: 600px) { - width: 100%; - height: 100%; - } - `} - > -
    +
    + + + - + +
    setAutoPlay(false)} + onMouseLeave={() => setAutoPlay(true)} css={` - margin-left: 5px; + width: 100%; + margin-top: 78px; + position: relative; + height: 639px; + @media (max-width: 1129px) { + width: 83%; + height: 100%; + } + @media (max-width: 600px) { + width: 100%; + height: 100%; + } `} - TabIndicatorProps={{ - style: { - bottom: "0px", - height: "4px", - }, - }} - value={displayTab} - onChange={handleChange} - indicatorColor="primary" - textColor="primary" - className="Home-MuiTabs-flexContainer" > - - - - - -
    -
    -
    - autoPlay && handleChange(null, index)} - animateTransitions={true} - interval={3000} - > - {cards.map((card, index) => ( -
    {card}
    - ))} -
    - handleChange(null, index)} +
    + + + + + + +
    +
    +
    + + autoPlay && handleChange(null, index) + } + animateTransitions={true} + interval={3000} + > + {cards.map((card, index) => ( +
    {card}
    + ))} +
    + handleChange(null, index)} + /> +
    +
    +
    +
    -
    + +
    -
    -
    - - -
    - - -
    - + + + +
    +
    + +
    ); } diff --git a/src/app/modules/home-module/sub-modules/pricing/index.tsx b/src/app/modules/home-module/sub-modules/pricing/index.tsx index 96d2530e1..c5d8d73ad 100644 --- a/src/app/modules/home-module/sub-modules/pricing/index.tsx +++ b/src/app/modules/home-module/sub-modules/pricing/index.tsx @@ -160,6 +160,10 @@ export default function PricingModule() { background-position: center 72px; background-repeat: no-repeat; padding-top: 48px; // AppBar height + display: flex; + flex-direction: column; + justify-content: space-between; + min-height: 100vh; `} > diff --git a/src/app/modules/home-module/sub-modules/why-dx/index.tsx b/src/app/modules/home-module/sub-modules/why-dx/index.tsx index 17e15e2da..89ef15641 100644 --- a/src/app/modules/home-module/sub-modules/why-dx/index.tsx +++ b/src/app/modules/home-module/sub-modules/why-dx/index.tsx @@ -23,39 +23,50 @@ export default function WhyDX() { return ( <> -
    - - +
    +
    -
    - -
    - + > + + +
    +
    + +
    + +
    +
    +
    +
    -
    - ); } diff --git a/src/index.css b/src/index.css index 69ded48e0..788490a02 100644 --- a/src/index.css +++ b/src/index.css @@ -77,10 +77,16 @@ body { -webkit-font-smoothing: antialiased; transition: background 0.2s ease-in-out; font-family: "GothamNarrow-Book", "Helvetica Neue", sans-serif; + overflow: hidden; +} +html, +body, +#root { + width: 100%; + height: 100%; } #root { - min-height: 100vh; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #f2f7fd 100%); overflow: auto; position: relative;