• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

alkem-io / client-web / #9048

11 Oct 2024 01:42PM UTC coverage: 5.943%. First build
#9048

Pull #7022

travis-ci

Pull Request #7022: [v0.74.0] Roles API + Unauthenticated Explore page

202 of 10241 branches covered (1.97%)

Branch coverage included in aggregate %.

63 of 431 new or added lines in 60 files covered. (14.62%)

1468 of 17861 relevant lines covered (8.22%)

0.19 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/domain/innovationHub/InnovationHubHomePage/InnovationHubHomePage.tsx
1
import PageContent from '@/core/ui/content/PageContent';
2
import PageContentBlock from '@/core/ui/content/PageContentBlock';
3
import { InnovationHubAttrs } from './InnovationHubAttrs';
4
import WrapperMarkdown from '@/core/ui/markdown/WrapperMarkdown';
5
import { BlockTitle } from '@/core/ui/typography';
6
import Logo from '@/main/ui/logo/logoSmall.svg?react';
7
import { gutters } from '@/core/ui/grid/utils';
8
import InnovationHubBanner from './InnovationHubBanner';
9
import PageContentBlockHeader from '@/core/ui/content/PageContentBlockHeader';
10
import { useTranslation } from 'react-i18next';
11
import ScrollableCardsLayoutContainer from '@/core/ui/card/cardsLayout/ScrollableCardsLayoutContainer';
12
import { useDashboardSpacesQuery } from '@/core/apollo/generated/apollo-hooks';
13
import { CommunityMembershipStatus } from '@/core/apollo/generated/graphql-schema';
14
import SpaceCard from '@/domain/space/components/cards/SpaceCard';
15
import getMetricCount from '@/domain/platform/metrics/utils/getMetricCount';
16
import { MetricType } from '@/domain/platform/metrics/MetricType';
17
import RouterLink from '@/core/ui/link/RouterLink';
18
import Gutters from '@/core/ui/grid/Gutters';
19
import { ROUTE_HOME } from '@/domain/platform/routes/constants';
20
import { useConfig } from '@/domain/platform/config/useConfig';
21
import TopLevelLayout from '@/main/ui/layout/TopLevelLayout';
22
import TopLevelPageBreadcrumbs from '@/main/topLevelPages/topLevelPageBreadcrumbs/TopLevelPageBreadcrumbs';
23

24
const isMember = (about: { membership?: { myMembershipStatus?: CommunityMembershipStatus } }) =>
25
  about.membership?.myMembershipStatus === CommunityMembershipStatus.Member;
26

27
const InnovationHubHomePage = ({ innovationHub }: { innovationHub: InnovationHubAttrs }) => {
NEW
28
  const { t } = useTranslation();
×
NEW
29

×
30
  const { data: spacesData } = useDashboardSpacesQuery();
31

×
32
  const allSpaces = spacesData?.spaces;
×
33

34
  const { locations } = useConfig();
×
35

36
  const mainHomeUrl = `//${locations?.domain}${ROUTE_HOME}`;
×
37

38
  return (
×
39
    <TopLevelLayout
40
      header={
×
41
        <InnovationHubBanner
42
          banner={innovationHub.banner}
×
43
          displayName={innovationHub.displayName}
44
          tagline={innovationHub.tagline ?? ''}
45
        />
46
      }
47
      breadcrumbs={<TopLevelPageBreadcrumbs />}
48
    >
×
49
      <PageContent>
50
        <PageContentBlock>
51
          <WrapperMarkdown>{innovationHub.description ?? ''}</WrapperMarkdown>
52
        </PageContentBlock>
53
        <PageContentBlock>
54
          <PageContentBlockHeader title={t('innovationHub.selectedSpaces', { space: innovationHub.displayName })} />
55
          <ScrollableCardsLayoutContainer orientation="horizontal" cards>
×
56
            {allSpaces?.map(space => (
57
              <SpaceCard
58
                key={space.id}
59
                banner={space.about.profile.cardBanner}
60
                displayName={space.about.profile.displayName!}
61
                why={space.about.why!}
×
62
                membersCount={getMetricCount(space.about.metrics, MetricType.Member)}
63
                tagline={space.about.profile.tagline ?? ''}
64
                tags={space.about.profile.tagset?.tags ?? []}
65
                spaceUri={space.about.profile.url}
66
                member={isMember(space.about)}
67
                spaceVisibility={space.visibility}
×
68
              />
69
            ))}
70
          </ScrollableCardsLayoutContainer>
71
        </PageContentBlock>
72
        <PageContentBlock disablePadding>
73
          <Gutters
74
            row
75
            flexGrow={1}
76
            minHeight={gutters(4)}
77
            component={RouterLink}
78
            to={mainHomeUrl}
79
            justifyContent="center"
80
            alignItems="center"
81
            flexWrap="wrap"
82
            rowGap={0}
83
          >
84
            <Logo />
85
            <BlockTitle paddingY={gutters()}>{t('innovationHub.goToMainPage')}</BlockTitle>
86
          </Gutters>
87
        </PageContentBlock>
88
      </PageContent>
89
    </TopLevelLayout>
90
  );
91
};
92

93
export default InnovationHubHomePage;
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc