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
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
All notable changes to this project will be documented in this file.

## [Unreleased]
- [#292](https://github.com/os2display/display-admin-client/pull/292)
- Add BRND Booking feed type

## [2.5.2] - 2025-09-25

Expand Down
9 changes: 9 additions & 0 deletions src/components/feed-sources/feed-source-form.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import EventDatabaseApiFeedType from "./templates/event-database-feed-type";
import ColiboFeedType from "./templates/colibo-feed-type";
import StickyFooter from "../util/sticky-footer";
import EventDatabaseApiV2FeedType from "./templates/event-database-v2-feed-type";
import BrndFeedType from "./templates/brnd-feed-type";

/**
* The feed-source form component.
Expand Down Expand Up @@ -126,6 +127,14 @@ function FeedSourceForm({
feedSourceId={feedSource["@id"]}
/>
)}
{feedSource?.feedType === "App\\Feed\\BrndFeedType" && (
<BrndFeedType
handleInput={handleSecretInput}
formStateObject={feedSource.secrets}
mode={mode}
feedSourceId={feedSource["@id"]}
/>
)}
{feedSource?.feedType ===
"App\\Feed\\EventDatabaseApiFeedType" && (
<EventDatabaseApiFeedType
Expand Down
10 changes: 10 additions & 0 deletions src/components/feed-sources/feed-source-manager.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,16 @@ function FeedSourceManager({
recipients: [],
},
},
{
value: "App\\Feed\\BrndFeedType",
title: t("brnd-feed-type.title"),
key: "8",
secretsDefault: {
api_base_uri: "",
company_id: "",
api_auth_key: "",
},
},
{
value: "App\\Feed\\EventDatabaseApiFeedType",
title: t("dynamic-fields.event-database-api-feed-type.title"),
Expand Down
62 changes: 62 additions & 0 deletions src/components/feed-sources/templates/brnd-feed-type.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
import React from "react";
import PropTypes from "prop-types";
import { useTranslation } from "react-i18next";
import FormInput from "../../util/forms/form-input";

const BrndFeedType = ({ handleInput, formStateObject, mode }) => {
const { t } = useTranslation("common", {
keyPrefix: "brnd-feed-type",
});

return (
<>
<FormInput
name="api_base_uri"
type="text"
label={t("api-base-uri")}
className="mb-2"
onChange={handleInput}
placeholder={
mode === "PUT" ? t("redacted-value-input-placeholder") : ""
}
value={formStateObject?.api_base_uri}
/>

<FormInput
name="company_id"
type="text"
className="mb-2"
label={t("company-id")}
onChange={handleInput}
placeholder={
mode === "PUT" ? t("redacted-value-input-placeholder") : ""
}
value={formStateObject?.company_id}
/>

<FormInput
name="api_auth_key"
type="text"
label={t("api-auth-key")}
onChange={handleInput}
placeholder={
mode === "PUT" ? t("redacted-value-input-placeholder") : ""
}
value={formStateObject?.api_auth_key}
/>
</>
);
};

BrndFeedType.propTypes = {
handleInput: PropTypes.func,
formStateObject: PropTypes.shape({
api_base_uri: PropTypes.string,
company_id: PropTypes.string,
api_auth_key: PropTypes.string,
}),
// feedSourceId: PropTypes.string, // removed as unused
mode: PropTypes.string,
};

export default BrndFeedType;
11 changes: 11 additions & 0 deletions src/translations/da/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,9 @@
"colibo-feed-type": {
"title": "Colibo"
},
"brnd-feed-type": {
"title": "BRND"
},
"dynamic-fields": {
"event-database-api-feed-type": {
"title": "Eventdatabase API",
Expand Down Expand Up @@ -1157,6 +1160,14 @@
"save-before-recipients-can-be-set": "Bemærk! Datakilden skal gemmes før der kan tilkobles tilladte modtagergrupper. Gem og åbn datakilden igen.",
"allowed-recipients-help": "Det er kun disse modtagergrupper, der vil være tilgængelige, når man opretter et slide, der bruger datakilden."
},
"brnd-feed-type": {
"title": "BRND feed",
"api-base-uri": "API Base URI",
"company-id": "Company ID",
"api-auth-key": "API Auth Key",
"values-info": "Værdierne Company ID og API Auth Key udleveres af BRND. Ret henvendelse til BRND support.",
"redacted-value-input-placeholder": "Skjult værdi"
},
"event-database-api-v2-feed-type": {
"title": "Event databasen v.2",
"host": "Host",
Expand Down