Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"ci": "npm ci --legacy-peer-deps && npm run build"
},
"dependencies": {
"@conduction/docusaurus-preset": "^3.17.0",
"@conduction/docusaurus-preset": "^3.18.0",
"@docusaurus/core": "^3.5.0",
"@docusaurus/plugin-client-redirects": "^3.5.0",
"@docusaurus/preset-classic": "^3.5.0",
Expand Down
85 changes: 85 additions & 0 deletions src/components/PartnersFor.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
/**
* <PartnersForApp /> and <PartnersForSolution />
*
* Thin site-side wrappers around the preset's <PartnersFor> section.
* The MDX pages call these with just a slug; the wrappers resolve the
* partner list from `partners-catalog.js` (single source of truth) and
* pick locale-keyed copy from the current Docusaurus locale.
*
* Pages drop one line directly below their "What it does" Section:
*
* import {PartnersForApp} from '@site/src/components/PartnersFor';
* <PartnersForApp slug="openregister" />
*
* import {PartnersForSolution} from '@site/src/components/PartnersFor';
* <PartnersForSolution slug="openwoo" />
*
* When the catalog has no partners for the subject the section still
* renders, collapsed to just the BecomePartner CTA cell, so every
* product surface keeps recruiting partners.
*/

import React from 'react';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import {PartnersFor} from '@conduction/docusaurus-preset/components';
import {getApp} from '@conduction/docusaurus-preset/data/apps-registry';
import {usePartnersByApp, usePartnersBySolution, useBecomePartner} from '@site/src/data/partners-catalog';
import {solutionBySlug} from '@site/src/data/solutions-catalog';

function localizedCopy({locale, kind, subject}) {
const nl = locale === 'nl';
if (kind === 'app') {
return {
eyebrow: 'Partners',
title: nl ? `Partners die ${subject} leveren` : `Partners shipping ${subject}`,
lede: nl
? `Implementatie-, hosting- en integratiepartners die ${subject} bij hun klanten uitrollen. Kies de partner met wie je al werkt, of een waarvan de stack bij die van jou past.`
: `Implementation, hosting, and integration partners that deliver ${subject} to their customers. Pick the partner you already work with, or one whose stack matches yours.`,
};
}
return {
eyebrow: 'Partners',
title: nl ? `Partners die ${subject} leveren` : `Partners delivering ${subject}`,
lede: nl
? `Implementatie-, hosting- en integratiepartners die ${subject} bij hun klanten uitrollen. De apps en de data-flow blijven hetzelfde.`
: `Implementation, hosting, and integration partners that deliver ${subject} to their customers. The apps and the data flow stay the same.`,
};
}

export function PartnersForApp({slug, name, ...rest}) {
const {i18n} = useDocusaurusContext();
const app = getApp(slug);
const subject = name || (app && app.name) || slug;
const partners = usePartnersByApp(subject);
const becomePartner = useBecomePartner();
const copy = localizedCopy({locale: i18n.currentLocale, kind: 'app', subject});
return (
<PartnersFor
eyebrow={copy.eyebrow}
title={copy.title}
lede={copy.lede}
partners={partners}
becomePartner={becomePartner}
{...rest}
/>
);
}

export function PartnersForSolution({slug, name, ...rest}) {
const {i18n} = useDocusaurusContext();
const solution = solutionBySlug(slug);
const subject = name || (solution && solution.shortTitle) || slug;
const partners = usePartnersBySolution(slug);
const becomePartner = useBecomePartner();
const copy = localizedCopy({locale: i18n.currentLocale, kind: 'solution', subject});
return (
<PartnersFor
eyebrow={copy.eyebrow}
title={copy.title}
lede={copy.lede}
partners={partners}
becomePartner={becomePartner}
{...rest}
/>
);
}
3 changes: 3 additions & 0 deletions src/pages/apps/decidesk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, PairCard, CtaBanner, AppMock, RotatingCards, WidgetShelf, Showcase, AgentTrace, McpToolShelf, AppCrossLinks} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -68,6 +69,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, Pai
</div>
</Section>

<PartnersForApp slug="decidesk" />

<RotatingCards
eyebrow="Three ways DeciDesk earns its place"
title="Minutes, decisions, action items, all linked."
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/docudesk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, PairCard, CtaBanner, AppMock, RotatingCards, WidgetShelf, Showcase, AgentTrace, AppCrossLinks} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -74,6 +75,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, Pai
</div>
</Section>

<PartnersForApp slug="docudesk" />

<RotatingCards
eyebrow="Three ways DocuDesk earns its place"
title="Generate, anonymise, sign, on the same registers."
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/doriath.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, CtaBanner} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand All @@ -30,6 +31,8 @@ import {DetailHero, Section, SectionHead, CtaBanner} from '@conduction/docusauru
/>
</Section>

<PartnersForApp slug="doriath" />

<Section spacing="default" background="tinted">
<SectionHead
eyebrow="Status"
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/larpingapp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, PairCard, CtaBanner, AppMock, RotatingCards, WidgetShelf, Showcase, AgentTrace, AppCrossLinks} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -80,6 +81,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, Pai
</div>
</Section>

<PartnersForApp slug="larpingapp" />

<RotatingCards
eyebrow="Three ways LarpingApp earns its place"
title="Characters, scenes, players, all in one workspace."
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/mydash.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, PairCard, CtaBanner, RotatingCards, AppMock, WidgetShelf, Showcase, AgentTrace, AppCrossLinks} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -74,6 +75,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, Pai
</div>
</Section>

<PartnersForApp slug="mydash" />

<RotatingCards
eyebrow="Three ways MyDash earns its place"
title="Tiles, BI graphs, every app's widget."
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/nldesign.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, PairCard, CtaBanner, AppMock, RotatingCards, WidgetShelf, Showcase, AppCrossLinks} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -80,6 +81,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, Pai
</div>
</Section>

<PartnersForApp slug="nldesign" />

<RotatingCards
eyebrow="Three ways NLDesign earns its place"
title="Tokens, accessibility, every app picks it up."
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/openbuilt.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, PairCard, CtaBanner, AgentTrace, McpToolShelf, AppCrossLinks} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -73,6 +74,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, Pai
</div>
</Section>

<PartnersForApp slug="openbuilt" />

<McpToolShelf
eyebrow="AI chat tools"
title="What OpenBuilt adds to the workspace AI."
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/opencatalogi.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, FeatureGrid, PairRow, PairCard, Pipeline, CtaBanner, AppMock, RotatingCards, WidgetShelf, Showcase, AppCrossLinks} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -74,6 +75,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, FeatureGrid,
</div>
</Section>

<PartnersForApp slug="opencatalogi" />

<Section spacing="default" background="tinted">
<SectionHead
eyebrow="How it works"
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/openconnector.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, FeatureGrid, PairRow, PairCard, CtaBanner, AppMock, RotatingCards, WidgetShelf, Showcase, AgentTrace, AppCrossLinks} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -74,6 +75,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, FeatureGrid,
</div>
</Section>

<PartnersForApp slug="openconnector" />

<RotatingCards
eyebrow="Three ways OpenConnector earns its place"
title="Source to register, observed end to end."
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/openregister.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, FeatureGrid, PairRow, PairCard, CtaBanner, AppMock, RotatingCards, WidgetShelf, Showcase, AgentTrace, McpToolShelf, AppCrossLinks} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -81,6 +82,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, FeatureGrid,
</div>
</Section>

<PartnersForApp slug="openregister" />

<RotatingCards
eyebrow="Three ways OpenRegister earns its place"
title="Schema-first, ingest-anywhere, visualised by default."
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/pipelinq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, PairCard, CtaBanner, AppMock, RotatingCards, WidgetShelf, Showcase, AgentTrace, AppCrossLinks} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -68,6 +69,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, Pai
</div>
</Section>

<PartnersForApp slug="pipelinq" />

<RotatingCards
eyebrow="Three ways PipelinQ earns its place"
title="Kanban, register-linked, dashboards on top."
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/procest.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, PairCard, CtaBanner, AppMock, RotatingCards, WidgetShelf, Showcase, AgentTrace} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -59,6 +60,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, Pai
</FeatureList>
</Section>

<PartnersForApp slug="procest" />

<RotatingCards
eyebrow="Three ways Procest earns its place"
title="Stage timeline, register-linked, in every queue."
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/scholiq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, PairCard, CtaBanner, AppCrossLinks} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -67,6 +68,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, Pai
</div>
</Section>

<PartnersForApp slug="scholiq" />

<Section spacing="default" background="tinted">
<SectionHead
eyebrow="Pairs well with"
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/shillinq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, PairCard, CtaBanner, AppCrossLinks} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -61,6 +62,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, Pai
</div>
</Section>

<PartnersForApp slug="shillinq" />

<Section spacing="default" background="tinted">
<SectionHead
eyebrow="Pairs well with"
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/softwarecatalog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, PairCard, CtaBanner, AppMock, RotatingCards, WidgetShelf, Showcase, AgentTrace} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -59,6 +60,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, Pai
</FeatureList>
</Section>

<PartnersForApp slug="softwarecatalog" />

<RotatingCards
eyebrow="Three ways SoftwareCatalog earns its place"
title="Discover, track, federate."
Expand Down
3 changes: 3 additions & 0 deletions src/pages/apps/zaakafhandelapp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ hide_table_of_contents: true
---

import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, PairCard, CtaBanner, AppMock, RotatingCards, WidgetShelf, Showcase, AgentTrace} from '@conduction/docusaurus-preset/components';
import {PartnersForApp} from '@site/src/components/PartnersFor';

<DetailHero
background="cobalt"
Expand Down Expand Up @@ -65,6 +66,8 @@ import {DetailHero, Section, SectionHead, FeatureList, FeatureItem, PairRow, Pai
</FeatureList>
</Section>

<PartnersForApp slug="zaakafhandelapp" />

<RotatingCards
eyebrow="Three ways ZaakAfhandelApp earns its place"
title="One portal, two sides, every step audited."
Expand Down
Loading
Loading