{message}
diff --git a/apps/envited.ascs.digital/modules/Member/Member.intl.ts b/apps/envited.ascs.digital/modules/Member/Member.intl.ts
new file mode 100644
index 00000000..334988e3
--- /dev/null
+++ b/apps/envited.ascs.digital/modules/Member/Member.intl.ts
@@ -0,0 +1,12 @@
+import { Locale, TranslationsMap } from '../../common/i18n/types'
+import de from './locales/de_DE.json'
+import en from './locales/en_GB.json'
+
+export const translations: TranslationsMap = {
+ [Locale.en_GB]: {
+ Member: en,
+ },
+ [Locale.de_DE]: {
+ Member: de,
+ },
+}
diff --git a/apps/envited.ascs.digital/modules/Member/Member.tsx b/apps/envited.ascs.digital/modules/Member/Member.tsx
new file mode 100644
index 00000000..f2d2600a
--- /dev/null
+++ b/apps/envited.ascs.digital/modules/Member/Member.tsx
@@ -0,0 +1,83 @@
+'use client'
+
+import { Address, Card, ContactPerson, Heading, Pill } from '@envited-marketplace/design-system'
+import { has, isNil, map, propOr } from 'ramda'
+import React, { FC } from 'react'
+
+import { useTranslation } from '../../common/i18n'
+import { Profile } from '../../common/types'
+
+interface MemberProps {
+ member: Profile
+}
+export const Member: FC
= ({ member }) => {
+ const { t } = useTranslation('Member')
+
+ return (
+
+
+
+ {t('[Heading] member profile')}
+ {propOr('', 'name')(member)}
+
+
{t('[Heading] business categories')}
+
+ {map((categorie: string) =>
{categorie})(['OEM', 'Supplier'])}
+
+
+
+
{t('[Heading] about us')}
+
{propOr('', 'description')(member)}
+
+
+
+
+
+ {!isNil(propOr('', 'logo')(member)) && (
+
+ )}
+ {t('[Heading] address')}
+
+
+ {has('principalName')(member) && has('principalEmail')(member) && has('principalPhone')(member) && (
+
+ {t('[Heading] principal contact')}
+
+
+
+
+ )}
+ {has('salesName')(member) && has('salesEmail')(member) && has('salesPhone')(member) && (
+
+ {t('[Heading] sales contact')}
+
+
+
+
+ )}
+
+
+ )
+}
diff --git a/apps/envited.ascs.digital/modules/Member/index.ts b/apps/envited.ascs.digital/modules/Member/index.ts
new file mode 100644
index 00000000..2a4835a6
--- /dev/null
+++ b/apps/envited.ascs.digital/modules/Member/index.ts
@@ -0,0 +1,5 @@
+import { translations } from './Member.intl'
+
+export { Member } from './Member'
+
+export { translations as MemberTranslation }
diff --git a/apps/envited.ascs.digital/modules/Member/locales/de_DE.json b/apps/envited.ascs.digital/modules/Member/locales/de_DE.json
new file mode 100644
index 00000000..0eedf3f3
--- /dev/null
+++ b/apps/envited.ascs.digital/modules/Member/locales/de_DE.json
@@ -0,0 +1,8 @@
+{
+ "[Heading] member profile": "Member profile",
+ "[Heading] business categories": "Business categories",
+ "[Heading] about us": "About us",
+ "[Heading] address": "Address",
+ "[Heading] principal contact": "Principal contact",
+ "[Heading] sales contact": "Sales contact"
+}
diff --git a/apps/envited.ascs.digital/modules/Member/locales/en_GB.json b/apps/envited.ascs.digital/modules/Member/locales/en_GB.json
new file mode 100644
index 00000000..0eedf3f3
--- /dev/null
+++ b/apps/envited.ascs.digital/modules/Member/locales/en_GB.json
@@ -0,0 +1,8 @@
+{
+ "[Heading] member profile": "Member profile",
+ "[Heading] business categories": "Business categories",
+ "[Heading] about us": "About us",
+ "[Heading] address": "Address",
+ "[Heading] principal contact": "Principal contact",
+ "[Heading] sales contact": "Sales contact"
+}
diff --git a/apps/envited.ascs.digital/modules/Members/GridItem.tsx b/apps/envited.ascs.digital/modules/Members/GridItem.tsx
new file mode 100644
index 00000000..dd4f8e53
--- /dev/null
+++ b/apps/envited.ascs.digital/modules/Members/GridItem.tsx
@@ -0,0 +1,42 @@
+'use client'
+
+import { MemberProfileCard, Pill } from '@envited-marketplace/design-system'
+import Link from 'next/link'
+import { map } from 'ramda'
+import React, { FC } from 'react'
+
+interface ItemProps {
+ name: string
+ slug: string
+ logo: string
+ street: string
+ city: string
+ postalCode: string
+ country: string
+ businessCategories?: string[]
+}
+
+export const GridItem: FC = ({
+ name,
+ slug,
+ logo,
+ street,
+ city,
+ postalCode,
+ country,
+ businessCategories = [],
+}) => {
+ return (
+
+ {map((category: string) => {category})(businessCategories)}>}
+ />
+
+ )
+}
diff --git a/apps/envited.ascs.digital/modules/Members/Members.tsx b/apps/envited.ascs.digital/modules/Members/Members.tsx
new file mode 100644
index 00000000..190aacbe
--- /dev/null
+++ b/apps/envited.ascs.digital/modules/Members/Members.tsx
@@ -0,0 +1,51 @@
+'use client'
+
+import { GridRow } from '@envited-marketplace/design-system'
+import { map } from 'ramda'
+import React, { FC } from 'react'
+
+import { GridItem } from './GridItem'
+
+interface MembersProps {
+ members: []
+}
+
+export const Members: FC = ({ members }) => {
+ return (
+
+ {map(
+ ({
+ name,
+ slug,
+ logo,
+ streetAddress,
+ addressLocality,
+ postalCode,
+ addressCountry,
+ }: {
+ name: string
+ slug: string
+ logo: string
+ streetAddress: string
+ addressLocality: string
+ postalCode: string
+ addressCountry: string
+ }) => {
+ return (
+
+ )
+ },
+ )(members)}
+
+ )
+}
diff --git a/apps/envited.ascs.digital/modules/Members/index.ts b/apps/envited.ascs.digital/modules/Members/index.ts
new file mode 100644
index 00000000..eb655d19
--- /dev/null
+++ b/apps/envited.ascs.digital/modules/Members/index.ts
@@ -0,0 +1 @@
+export { Members } from './Members'