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
+
+
+
+
-
+ The Netherlands
+
+
+
-
-
+
+ Subscribe to our newsletter
+
+ {formError.email && (
+
- Subscribe to our newsletter
-
- {formError.email && (
-
- Please enter a valid email address.
-
- )}
-
+ )}
+
-
-
-
- {isSubscribed
- ? "Thank you for subscribing!"
- : isSubscriptionFailed
- ? "Oops! Something went wrong with the request! Please fill your email again."
- : " You will receive occasional emails from DX. You always have choice to unsubscribe within every Email."}
-
-
+ }
+ button {
+ border: none;
+ outline: none;
+ border-radius: 0 34.5px 34.5px 0;
+ background: #231d2c;
+ text-transform: uppercase;
+ color: #fff;
+ font-family: "Inter", sans-serif;
+ font-size: 14px;
+ width: 30%;
+ font-weight: 700;
+ cursor: pointer;
+ }
+ `}
+ >
+
+
+
+ {isSubscribed
+ ? "Thank you for subscribing!"
+ : isSubscriptionFailed
+ ? "Oops! Something went wrong with the request! Please fill your email again."
+ : " You will receive occasional emails from DX. You always have choice to unsubscribe within every Email."}
+
-
- >
+ 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 (
- <>
+
+
+
+
+
-
-
-
-
-
-
+
+ {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 (
- <>
-
-
+
+
);
}
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%;
+ }
+ }
+ }
+ `}
+ >
+ socialAuth("google-oauth2")}>
+ sign in for free
+
+ socialAuth("linkedin")}>
+ sign in for free
+
+ socialAuth("windowslive")}>
+ sign in for free
+
+
+ )}
+
+
+
+
- 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 && (
-
- )}
+ ))}
-
+
+
+
+
+
+ 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) => (
-
-
(
+
+
- {feature.title}
-
+ />
- {feature.subtitle}
+ {member.name}
- {feature.text}
+ {member.role}
))}
+ {Array.from({ length: 2 }).map((_, index) => (
+
+
+
+ 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.role}
-
-
- ))}
- {Array.from({ length: 2 }).map((_, index) => (
-
-
-
- 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.
-
-
+
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;