saleor-apps-redis_apl/apps/cms-v2/src/modules/ui/app-header.tsx
Lukasz Ostrowski 70cb741f88
CMS App v2 (#721)
* initial setup

* GRaphql setup

* [skip ci]

* Manifest and register endpoints

* Add config schemas

* contentful client

* contentful client

* [skip ci] trpc setup

* metadata manager and contentful router

* Configuration config

* contentful config - adding providers

* add provider page

* wip contentful form

* contentful form

* list providrs

* edit contentful form

* [skip ci]

* [skip ci] replace contentful sdk

* replace contentful lib

* Delete contetnful provider feature

* variant created webhook draft

* channel provider connection model

* Channel connections ui

* adding new connection

* connections ui (adding)

* [skip ci] wip edit conn

* removing connection

* rebuild modal

* refactor providers

* implement update product webhook

* add deleting product

* [skip ci] wip

* refactor contentful router

* refactor wip

* refactor config

* webhooks processor

* webhook delegations

* bulk sync section

* bulk sync page

* gql for imports

* [skip ci] bulk import contentful

* temp variant sync list with rate limiters

* wip

* wip

* wip

* new frontend for uploading

* update zod

* print config keys

* wip

* [skip ci] datocms init

* dato add provdier page

* dato form skeleton

* dato  display content type select

* full dato form

* ButtonsBox extraction

* edit dato config form

* update product in dato

* [skip ci]

* extract bulk sync processor

* dato bulk update

* [skip ci] product updated webhook

* product webhook

* crud operations router

* update cruds

* refactor webhook operations

* refactors

* refactors

* helper texts

* [skip ci] deps

* Init

* fix macaw icon

* unify app skd

* unify nextjs

* strapi setup

* fix strapi types

* strapi upload product

* strapi delete product

* strapi product updated webhook

* processor for bulk sync strapi

* shared add provider page

* refactors

* refactors

* wrap providers into folder

* refactors

* refactors

* refactors

* pnpm lock

* add logs

* name configuration mapping name

* form configurable side notes

* remove commentns

* wip providers resolver working

* central config for providers resolving

* tests wip

* remove vscode condig

* cleanup

* provider meta extract

* some tests for contentufl

* contentful client test

* more tests for contentful

* strapi helper texts

* builderio setup

* builderio form

* builderio client draft

* validate connection modal

* Add sending product to builderio

* rename builder field

* add public api key for read access

* update products

* Builder.io - bulk sync

* Fix manifest

* cr fixes

* Make strapi to work with multiple products

* Github actions
2023-07-18 10:19:21 +02:00

43 lines
1.1 KiB
TypeScript

import { Breadcrumbs } from "@saleor/apps-ui/src/breadcrumbs";
import { Box, PropsWithBox, Text } from "@saleor/macaw-ui/next";
import { ComponentProps, ReactElement } from "react";
type Props = PropsWithBox<{
breadcrumbs?: ReactElement<ComponentProps<typeof Breadcrumbs.Item>>[];
text?: ReactElement | string;
}>;
export const AppHeader = ({
breadcrumbs,
text = "Connect Saleor Products to your favorite CMS platforms",
...props
}: Props) => {
const breadcrumbsRender = breadcrumbs ? (
<Breadcrumbs>
<Breadcrumbs.Item>Saleor App CMS</Breadcrumbs.Item>
<Breadcrumbs.Item href="/configuration">Configuration</Breadcrumbs.Item>
{breadcrumbs}
</Breadcrumbs>
) : (
<Breadcrumbs>
<Breadcrumbs.Item>Saleor App CMS</Breadcrumbs.Item>
<Breadcrumbs.Item>Configuration</Breadcrumbs.Item>
</Breadcrumbs>
);
return (
<Box
marginBottom={14}
borderBottomWidth={1}
borderBottomStyle="solid"
borderColor={"neutralHighlight"}
paddingBottom={6}
{...props}
>
{breadcrumbsRender}
<Text as="p" marginTop={4}>
{text}
</Text>
</Box>
);
};