@newskit-render/standalone-components 1.14.2 → 1.14.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/cjs/rss-console/client/index.d.ts +18 -0
  2. package/dist/cjs/rss-console/client/index.js +81 -0
  3. package/dist/cjs/rss-console/client/index.js.map +1 -0
  4. package/dist/cjs/rss-console/hooks/useFeed.d.ts +11 -0
  5. package/dist/cjs/rss-console/hooks/useFeed.js +53 -0
  6. package/dist/cjs/rss-console/hooks/useFeed.js.map +1 -0
  7. package/dist/cjs/rss-console/hooks/useFeedList.d.ts +11 -0
  8. package/dist/cjs/rss-console/hooks/useFeedList.js +55 -0
  9. package/dist/cjs/rss-console/hooks/useFeedList.js.map +1 -0
  10. package/dist/cjs/rss-console/pages/FeedDetailsPage.d.ts +2 -2
  11. package/dist/cjs/rss-console/pages/FeedDetailsPage.js +6 -2
  12. package/dist/cjs/rss-console/pages/FeedDetailsPage.js.map +1 -1
  13. package/dist/cjs/rss-console/pages/FeedsListPage.js +54 -1
  14. package/dist/cjs/rss-console/pages/FeedsListPage.js.map +1 -1
  15. package/dist/cjs/rss-console/pages/types.d.ts +3 -0
  16. package/dist/esm/rss-console/client/index.d.ts +18 -0
  17. package/dist/esm/rss-console/client/index.js +78 -0
  18. package/dist/esm/rss-console/client/index.js.map +1 -0
  19. package/dist/esm/rss-console/hooks/useFeed.d.ts +11 -0
  20. package/dist/esm/rss-console/hooks/useFeed.js +47 -0
  21. package/dist/esm/rss-console/hooks/useFeed.js.map +1 -0
  22. package/dist/esm/rss-console/hooks/useFeedList.d.ts +11 -0
  23. package/dist/esm/rss-console/hooks/useFeedList.js +49 -0
  24. package/dist/esm/rss-console/hooks/useFeedList.js.map +1 -0
  25. package/dist/esm/rss-console/pages/FeedDetailsPage.d.ts +2 -2
  26. package/dist/esm/rss-console/pages/FeedDetailsPage.js +6 -2
  27. package/dist/esm/rss-console/pages/FeedDetailsPage.js.map +1 -1
  28. package/dist/esm/rss-console/pages/FeedsListPage.js +54 -1
  29. package/dist/esm/rss-console/pages/FeedsListPage.js.map +1 -1
  30. package/dist/esm/rss-console/pages/types.d.ts +3 -0
  31. package/package.json +2 -2
@@ -0,0 +1,18 @@
1
+ export default function createRSSClient(): {
2
+ getFeedList: () => Promise<{
3
+ id: number;
4
+ name: string;
5
+ categories_included: string[];
6
+ categories_excluded: string[];
7
+ tags_included: string[];
8
+ tags_excluded: string[];
9
+ }[]>;
10
+ getFeedById: (id: number) => Promise<{
11
+ id: number;
12
+ name: string;
13
+ categories_included: string[];
14
+ categories_excluded: string[];
15
+ tags_included: string[];
16
+ tags_excluded: string[];
17
+ } | undefined>;
18
+ };
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var feeds = [
40
+ {
41
+ id: 1,
42
+ name: 'Sun Showbiz & Entertainment',
43
+ categories_included: ['Showbiz', 'Entertainment'],
44
+ categories_excluded: [],
45
+ tags_included: ['Test', 'Another tag'],
46
+ tags_excluded: ['Explicit'],
47
+ },
48
+ {
49
+ id: 2,
50
+ name: 'Sun Soccer',
51
+ categories_included: ['Showbiz', 'Entertainment'],
52
+ categories_excluded: ['Glamour', 'Politics'],
53
+ tags_included: ['Test', 'Another tag'],
54
+ tags_excluded: ['Explicit'],
55
+ },
56
+ {
57
+ id: 3,
58
+ name: 'Sun Test',
59
+ categories_included: ['Showbiz', 'Entertainment'],
60
+ categories_excluded: [],
61
+ tags_included: ['Test', 'Another tag'],
62
+ tags_excluded: ['Explicit'],
63
+ },
64
+ ];
65
+ function createRSSClient() {
66
+ var _this = this;
67
+ return {
68
+ getFeedList: function () { return __awaiter(_this, void 0, void 0, function () {
69
+ return __generator(this, function (_a) {
70
+ return [2 /*return*/, feeds];
71
+ });
72
+ }); },
73
+ getFeedById: function (id) { return __awaiter(_this, void 0, void 0, function () {
74
+ return __generator(this, function (_a) {
75
+ return [2 /*return*/, feeds.find(function (feed) { return feed.id === id; })];
76
+ });
77
+ }); },
78
+ };
79
+ }
80
+ exports.default = createRSSClient;
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rss-console/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,KAAK,GAAG;IACZ;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,6BAA6B;QACnC,mBAAmB,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;QACjD,mBAAmB,EAAE,EAAE;QACvB,aAAa,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;QACtC,aAAa,EAAE,CAAC,UAAU,CAAC;KAC5B;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,YAAY;QAClB,mBAAmB,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;QACjD,mBAAmB,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QAC5C,aAAa,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;QACtC,aAAa,EAAE,CAAC,UAAU,CAAC;KAC5B;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,UAAU;QAChB,mBAAmB,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;QACjD,mBAAmB,EAAE,EAAE;QACvB,aAAa,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;QACtC,aAAa,EAAE,CAAC,UAAU,CAAC;KAC5B;CACF,CAAA;AAED,SAAwB,eAAe;IAAvC,iBASC;IARC,OAAO;QACL,WAAW,EAAE;;gBACX,sBAAO,KAAK,EAAA;;aACb;QACD,WAAW,EAAE,UAAO,EAAU;;gBAC5B,sBAAO,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,EAAE,KAAK,EAAE,EAAd,CAAc,CAAC,EAAA;;aAC5C;KACF,CAAA;AACH,CAAC;AATD,kCASC"}
@@ -0,0 +1,11 @@
1
+ export default function useFeed(feedId: number): {
2
+ feed: {
3
+ id: number;
4
+ name: string;
5
+ categories_included: string[];
6
+ categories_excluded: string[];
7
+ tags_included: string[];
8
+ tags_excluded: string[];
9
+ } | undefined;
10
+ error: any;
11
+ };
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var client_1 = __importDefault(require("../client"));
43
+ var swr_1 = __importDefault(require("swr"));
44
+ function useFeed(feedId) {
45
+ var _this = this;
46
+ var client = (0, client_1.default)();
47
+ var _a = (0, swr_1.default)("feed/".concat(feedId), function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
48
+ return [2 /*return*/, client.getFeedById(feedId)];
49
+ }); }); }), data = _a.data, error = _a.error;
50
+ return { feed: data, error: error };
51
+ }
52
+ exports.default = useFeed;
53
+ //# sourceMappingURL=useFeed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFeed.js","sourceRoot":"","sources":["../../../../src/rss-console/hooks/useFeed.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AACvC,4CAAwB;AAExB,SAAwB,OAAO,CAAC,MAAc;IAA9C,iBAQC;IAPC,IAAM,MAAM,GAAG,IAAA,gBAAe,GAAE,CAAA;IAE1B,IAAA,KAAkB,IAAA,aAAM,EAAC,eAAQ,MAAM,CAAE,EAAE;QAC/C,sBAAA,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAA;aAAA,CAC3B,EAFO,IAAI,UAAA,EAAE,KAAK,WAElB,CAAA;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,OAAA,EAAE,CAAA;AAC9B,CAAC;AARD,0BAQC"}
@@ -0,0 +1,11 @@
1
+ export default function useFeedList(): {
2
+ feeds: {
3
+ id: number;
4
+ name: string;
5
+ categories_included: string[];
6
+ categories_excluded: string[];
7
+ tags_included: string[];
8
+ tags_excluded: string[];
9
+ }[] | undefined;
10
+ error: any;
11
+ };
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var client_1 = __importDefault(require("../client"));
43
+ var swr_1 = __importDefault(require("swr"));
44
+ function useFeedList() {
45
+ var _this = this;
46
+ var client = (0, client_1.default)();
47
+ var _a = (0, swr_1.default)('feeds', function () { return __awaiter(_this, void 0, void 0, function () {
48
+ return __generator(this, function (_a) {
49
+ return [2 /*return*/, client.getFeedList()];
50
+ });
51
+ }); }), data = _a.data, error = _a.error;
52
+ return { feeds: data, error: error };
53
+ }
54
+ exports.default = useFeedList;
55
+ //# sourceMappingURL=useFeedList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFeedList.js","sourceRoot":"","sources":["../../../../src/rss-console/hooks/useFeedList.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AACvC,4CAAwB;AAExB,SAAwB,WAAW;IAAnC,iBAQC;IAPC,IAAM,MAAM,GAAG,IAAA,gBAAe,GAAE,CAAA;IAE1B,IAAA,KAAkB,IAAA,aAAM,EAAC,OAAO,EAAE;;YACtC,sBAAO,MAAM,CAAC,WAAW,EAAE,EAAA;;SAC5B,CAAC,EAFM,IAAI,UAAA,EAAE,KAAK,WAEjB,CAAA;IAEF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,OAAA,EAAE,CAAA;AAC/B,CAAC;AARD,8BAQC"}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- import { BasePageProps } from './types';
3
- export declare const FeedsListPage: React.FC<BasePageProps>;
2
+ import { FeedDetailsPageProps } from './types';
3
+ export declare const FeedsListPage: React.FC<FeedDetailsPageProps>;
4
4
  export default FeedsListPage;
@@ -20,12 +20,16 @@ var Templates_1 = __importDefault(require("../components/Templates"));
20
20
  var lodash_assign_1 = __importDefault(require("lodash.assign"));
21
21
  var types_1 = require("../context/types");
22
22
  var shared_components_1 = require("@newskit-render/shared-components");
23
+ var useFeed_1 = __importDefault(require("../hooks/useFeed"));
24
+ var newskit_1 = require("newskit");
23
25
  var feedDetailsPageContext = {};
24
26
  var FeedsListPage = function (_a) {
25
- var context = _a.context, customTheme = _a.customTheme, themeDropdownObject = _a.themeDropdownObject;
27
+ var feedId = _a.feedId, context = _a.context, customTheme = _a.customTheme, themeDropdownObject = _a.themeDropdownObject;
26
28
  var enhancedContext = __assign({}, (0, lodash_assign_1.default)({}, feedDetailsPageContext, context));
29
+ var feed = (0, useFeed_1.default)(feedId).feed;
27
30
  return (react_1.default.createElement(Templates_1.default, { context: enhancedContext, contextName: types_1.PagesNameMap.FeedDetailsPage, customTheme: customTheme, themeDropdownObject: themeDropdownObject },
28
- react_1.default.createElement(shared_components_1.Header, __assign({}, enhancedContext.header))));
31
+ react_1.default.createElement(shared_components_1.Header, __assign({}, enhancedContext.header)),
32
+ react_1.default.createElement(newskit_1.TextBlock, { as: "h1" }, feed === null || feed === void 0 ? void 0 : feed.name)));
29
33
  };
30
34
  exports.FeedsListPage = FeedsListPage;
31
35
  exports.default = exports.FeedsListPage;
@@ -1 +1 @@
1
- {"version":3,"file":"FeedDetailsPage.js","sourceRoot":"","sources":["../../../../src/rss-console/pages/FeedDetailsPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAyB;AACzB,sEAA4C;AAC5C,gEAAkC;AAClC,0CAA8E;AAE9E,uEAA0D;AAE1D,IAAM,sBAAsB,GAAG,EAAE,CAAA;AAE1B,IAAM,aAAa,GAA4B,UAAC,EAItD;QAHC,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,mBAAmB,yBAAA;IAEnB,IAAM,eAAe,gBAChB,IAAA,uBAAM,EAAC,EAAE,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAC/C,CAAA;IAED,OAAO,CACL,8BAAC,mBAAM,IACL,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,oBAAY,CAAC,eAAe,EACzC,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB;QAExC,8BAAC,0BAAM,eAAK,eAAe,CAAC,MAAM,EAAI,CAC/B,CACV,CAAA;AACH,CAAC,CAAA;AAnBY,QAAA,aAAa,iBAmBzB;AAED,kBAAe,qBAAa,CAAA"}
1
+ {"version":3,"file":"FeedDetailsPage.js","sourceRoot":"","sources":["../../../../src/rss-console/pages/FeedDetailsPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAyB;AACzB,sEAA4C;AAC5C,gEAAkC;AAClC,0CAA8E;AAE9E,uEAA0D;AAC1D,6DAAsC;AACtC,mCAAmC;AAEnC,IAAM,sBAAsB,GAAG,EAAE,CAAA;AAE1B,IAAM,aAAa,GAAmC,UAAC,EAK7D;QAJC,MAAM,YAAA,EACN,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,mBAAmB,yBAAA;IAEnB,IAAM,eAAe,gBAChB,IAAA,uBAAM,EAAC,EAAE,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAC/C,CAAA;IAEO,IAAA,IAAI,GAAK,IAAA,iBAAO,EAAC,MAAM,CAAC,KAApB,CAAoB;IAEhC,OAAO,CACL,8BAAC,mBAAM,IACL,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,oBAAY,CAAC,eAAe,EACzC,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB;QAExC,8BAAC,0BAAM,eAAK,eAAe,CAAC,MAAM,EAAI;QACtC,8BAAC,mBAAS,IAAC,EAAE,EAAC,IAAI,IAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAa,CACpC,CACV,CAAA;AACH,CAAC,CAAA;AAvBY,QAAA,aAAa,iBAuBzB;AAED,kBAAe,qBAAa,CAAA"}
@@ -20,12 +20,65 @@ var Templates_1 = __importDefault(require("../components/Templates"));
20
20
  var lodash_assign_1 = __importDefault(require("lodash.assign"));
21
21
  var types_1 = require("../context/types");
22
22
  var shared_components_1 = require("@newskit-render/shared-components");
23
+ var newskit_1 = require("newskit");
24
+ var useFeedList_1 = __importDefault(require("../hooks/useFeedList"));
23
25
  var feedsListPageContext = {};
26
+ function formatArrayToString(list) {
27
+ if (list.length === 0) {
28
+ return '-';
29
+ }
30
+ return list.join(', ');
31
+ }
24
32
  var FeedsListPage = function (_a) {
25
33
  var context = _a.context, customTheme = _a.customTheme, themeDropdownObject = _a.themeDropdownObject;
26
34
  var enhancedContext = __assign({}, (0, lodash_assign_1.default)({}, feedsListPageContext, context));
35
+ if (customTheme === null || customTheme === void 0 ? void 0 : customTheme.stylePresets) {
36
+ customTheme.stylePresets = __assign(__assign({}, customTheme.stylePresets), { card: {
37
+ base: {
38
+ boxShadow: '{{shadows.shadow020}}',
39
+ },
40
+ hover: {
41
+ boxShadow: '{{shadows.shadow040}}',
42
+ },
43
+ }, cardTitle: {
44
+ base: {
45
+ color: '{{colors.neutral070}}',
46
+ },
47
+ } });
48
+ }
49
+ var feeds = (0, useFeedList_1.default)().feeds;
27
50
  return (react_1.default.createElement(Templates_1.default, { context: enhancedContext, contextName: types_1.PagesNameMap.FeedsListPage, customTheme: customTheme, themeDropdownObject: themeDropdownObject },
28
- react_1.default.createElement(shared_components_1.Header, __assign({}, enhancedContext.header))));
51
+ react_1.default.createElement(shared_components_1.Header, __assign({}, enhancedContext.header)),
52
+ react_1.default.createElement(newskit_1.Stack, { flow: "horizontal-top", height: "auto", stackDistribution: "space-between", marginBlockEnd: "space040" },
53
+ react_1.default.createElement(newskit_1.TextBlock, { as: "h1" }, "RSS Feeds"),
54
+ react_1.default.createElement(newskit_1.Button, { size: "small" }, "Create Feed")),
55
+ feeds &&
56
+ feeds.map(function (feed) { return (react_1.default.createElement(newskit_1.CardInset, { href: "#", overrides: {
57
+ stylePreset: 'card',
58
+ marginBlockEnd: 'space040',
59
+ } },
60
+ react_1.default.createElement(newskit_1.TextBlock, { as: "h3", marginBlockEnd: "space040", stylePreset: "cardTitle" }, feed.name),
61
+ react_1.default.createElement(newskit_1.GridLayout, { columns: "1fr 1fr", rowGap: "space060" },
62
+ react_1.default.createElement(newskit_1.GridLayoutItem, null,
63
+ react_1.default.createElement(newskit_1.Caption, { creditText: "Included Categories", overrides: {
64
+ spaceStack: 'space020',
65
+ stylePreset: 'inkBrand010',
66
+ } }, formatArrayToString(feed.categories_included))),
67
+ react_1.default.createElement(newskit_1.GridLayoutItem, null,
68
+ react_1.default.createElement(newskit_1.Caption, { creditText: "Excluded Categories", overrides: {
69
+ spaceStack: 'space020',
70
+ stylePreset: 'inkBrand010',
71
+ } }, formatArrayToString(feed.categories_excluded))),
72
+ react_1.default.createElement(newskit_1.GridLayoutItem, null,
73
+ react_1.default.createElement(newskit_1.Caption, { creditText: "Included Tags", overrides: {
74
+ spaceStack: 'space020',
75
+ stylePreset: 'inkBrand010',
76
+ } }, formatArrayToString(feed.tags_included))),
77
+ react_1.default.createElement(newskit_1.GridLayoutItem, null,
78
+ react_1.default.createElement(newskit_1.Caption, { creditText: "Excluded Tags", overrides: {
79
+ spaceStack: 'space020',
80
+ stylePreset: 'inkBrand010',
81
+ } }, formatArrayToString(feed.tags_excluded)))))); })));
29
82
  };
30
83
  exports.FeedsListPage = FeedsListPage;
31
84
  exports.default = exports.FeedsListPage;
@@ -1 +1 @@
1
- {"version":3,"file":"FeedsListPage.js","sourceRoot":"","sources":["../../../../src/rss-console/pages/FeedsListPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAyB;AACzB,sEAA4C;AAC5C,gEAAkC;AAClC,0CAA4E;AAE5E,uEAA0D;AAE1D,IAAM,oBAAoB,GAAG,EAAE,CAAA;AAExB,IAAM,aAAa,GAA4B,UAAC,EAItD;QAHC,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,mBAAmB,yBAAA;IAEnB,IAAM,eAAe,gBAChB,IAAA,uBAAM,EAAC,EAAE,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAC7C,CAAA;IAED,OAAO,CACL,8BAAC,mBAAM,IACL,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,oBAAY,CAAC,aAAa,EACvC,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB;QAExC,8BAAC,0BAAM,eAAK,eAAe,CAAC,MAAM,EAAI,CAC/B,CACV,CAAA;AACH,CAAC,CAAA;AAnBY,QAAA,aAAa,iBAmBzB;AAED,kBAAe,qBAAa,CAAA"}
1
+ {"version":3,"file":"FeedsListPage.js","sourceRoot":"","sources":["../../../../src/rss-console/pages/FeedsListPage.tsx"],"names":[],"mappings":"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"}
@@ -6,3 +6,6 @@ export interface BasePageProps {
6
6
  themeDropdownObject?: ThemeDropdownObject;
7
7
  context?: Partial<ContextOptions>;
8
8
  }
9
+ export interface FeedDetailsPageProps extends BasePageProps {
10
+ feedId: number;
11
+ }
@@ -0,0 +1,18 @@
1
+ export default function createRSSClient(): {
2
+ getFeedList: () => Promise<{
3
+ id: number;
4
+ name: string;
5
+ categories_included: string[];
6
+ categories_excluded: string[];
7
+ tags_included: string[];
8
+ tags_excluded: string[];
9
+ }[]>;
10
+ getFeedById: (id: number) => Promise<{
11
+ id: number;
12
+ name: string;
13
+ categories_included: string[];
14
+ categories_excluded: string[];
15
+ tags_included: string[];
16
+ tags_excluded: string[];
17
+ } | undefined>;
18
+ };
@@ -0,0 +1,78 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ var feeds = [
38
+ {
39
+ id: 1,
40
+ name: 'Sun Showbiz & Entertainment',
41
+ categories_included: ['Showbiz', 'Entertainment'],
42
+ categories_excluded: [],
43
+ tags_included: ['Test', 'Another tag'],
44
+ tags_excluded: ['Explicit'],
45
+ },
46
+ {
47
+ id: 2,
48
+ name: 'Sun Soccer',
49
+ categories_included: ['Showbiz', 'Entertainment'],
50
+ categories_excluded: ['Glamour', 'Politics'],
51
+ tags_included: ['Test', 'Another tag'],
52
+ tags_excluded: ['Explicit'],
53
+ },
54
+ {
55
+ id: 3,
56
+ name: 'Sun Test',
57
+ categories_included: ['Showbiz', 'Entertainment'],
58
+ categories_excluded: [],
59
+ tags_included: ['Test', 'Another tag'],
60
+ tags_excluded: ['Explicit'],
61
+ },
62
+ ];
63
+ export default function createRSSClient() {
64
+ var _this = this;
65
+ return {
66
+ getFeedList: function () { return __awaiter(_this, void 0, void 0, function () {
67
+ return __generator(this, function (_a) {
68
+ return [2 /*return*/, feeds];
69
+ });
70
+ }); },
71
+ getFeedById: function (id) { return __awaiter(_this, void 0, void 0, function () {
72
+ return __generator(this, function (_a) {
73
+ return [2 /*return*/, feeds.find(function (feed) { return feed.id === id; })];
74
+ });
75
+ }); },
76
+ };
77
+ }
78
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rss-console/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,KAAK,GAAG;IACZ;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,6BAA6B;QACnC,mBAAmB,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;QACjD,mBAAmB,EAAE,EAAE;QACvB,aAAa,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;QACtC,aAAa,EAAE,CAAC,UAAU,CAAC;KAC5B;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,YAAY;QAClB,mBAAmB,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;QACjD,mBAAmB,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QAC5C,aAAa,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;QACtC,aAAa,EAAE,CAAC,UAAU,CAAC;KAC5B;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,UAAU;QAChB,mBAAmB,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;QACjD,mBAAmB,EAAE,EAAE;QACvB,aAAa,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;QACtC,aAAa,EAAE,CAAC,UAAU,CAAC;KAC5B;CACF,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,eAAe;IAAvC,iBASC;IARC,OAAO;QACL,WAAW,EAAE;;gBACX,sBAAO,KAAK,EAAA;;aACb;QACD,WAAW,EAAE,UAAO,EAAU;;gBAC5B,sBAAO,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,EAAE,KAAK,EAAE,EAAd,CAAc,CAAC,EAAA;;aAC5C;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ export default function useFeed(feedId: number): {
2
+ feed: {
3
+ id: number;
4
+ name: string;
5
+ categories_included: string[];
6
+ categories_excluded: string[];
7
+ tags_included: string[];
8
+ tags_excluded: string[];
9
+ } | undefined;
10
+ error: any;
11
+ };
@@ -0,0 +1,47 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import createRSSClient from '../client';
38
+ import useSWR from 'swr';
39
+ export default function useFeed(feedId) {
40
+ var _this = this;
41
+ var client = createRSSClient();
42
+ var _a = useSWR("feed/".concat(feedId), function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
43
+ return [2 /*return*/, client.getFeedById(feedId)];
44
+ }); }); }), data = _a.data, error = _a.error;
45
+ return { feed: data, error: error };
46
+ }
47
+ //# sourceMappingURL=useFeed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFeed.js","sourceRoot":"","sources":["../../../../src/rss-console/hooks/useFeed.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,eAAe,MAAM,WAAW,CAAA;AACvC,OAAO,MAAM,MAAM,KAAK,CAAA;AAExB,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,MAAc;IAA9C,iBAQC;IAPC,IAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAE1B,IAAA,KAAkB,MAAM,CAAC,eAAQ,MAAM,CAAE,EAAE;QAC/C,sBAAA,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAA;aAAA,CAC3B,EAFO,IAAI,UAAA,EAAE,KAAK,WAElB,CAAA;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,OAAA,EAAE,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,11 @@
1
+ export default function useFeedList(): {
2
+ feeds: {
3
+ id: number;
4
+ name: string;
5
+ categories_included: string[];
6
+ categories_excluded: string[];
7
+ tags_included: string[];
8
+ tags_excluded: string[];
9
+ }[] | undefined;
10
+ error: any;
11
+ };
@@ -0,0 +1,49 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import createRSSClient from '../client';
38
+ import useSWR from 'swr';
39
+ export default function useFeedList() {
40
+ var _this = this;
41
+ var client = createRSSClient();
42
+ var _a = useSWR('feeds', function () { return __awaiter(_this, void 0, void 0, function () {
43
+ return __generator(this, function (_a) {
44
+ return [2 /*return*/, client.getFeedList()];
45
+ });
46
+ }); }), data = _a.data, error = _a.error;
47
+ return { feeds: data, error: error };
48
+ }
49
+ //# sourceMappingURL=useFeedList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFeedList.js","sourceRoot":"","sources":["../../../../src/rss-console/hooks/useFeedList.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,eAAe,MAAM,WAAW,CAAA;AACvC,OAAO,MAAM,MAAM,KAAK,CAAA;AAExB,MAAM,CAAC,OAAO,UAAU,WAAW;IAAnC,iBAQC;IAPC,IAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAE1B,IAAA,KAAkB,MAAM,CAAC,OAAO,EAAE;;YACtC,sBAAO,MAAM,CAAC,WAAW,EAAE,EAAA;;SAC5B,CAAC,EAFM,IAAI,UAAA,EAAE,KAAK,WAEjB,CAAA;IAEF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,OAAA,EAAE,CAAA;AAC/B,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- import { BasePageProps } from './types';
3
- export declare const FeedsListPage: React.FC<BasePageProps>;
2
+ import { FeedDetailsPageProps } from './types';
3
+ export declare const FeedsListPage: React.FC<FeedDetailsPageProps>;
4
4
  export default FeedsListPage;
@@ -14,12 +14,16 @@ import Layout from '../components/Templates';
14
14
  import assign from 'lodash.assign';
15
15
  import { PagesNameMap } from '../context/types';
16
16
  import { Header } from '@newskit-render/shared-components';
17
+ import useFeed from '../hooks/useFeed';
18
+ import { TextBlock } from 'newskit';
17
19
  var feedDetailsPageContext = {};
18
20
  export var FeedsListPage = function (_a) {
19
- var context = _a.context, customTheme = _a.customTheme, themeDropdownObject = _a.themeDropdownObject;
21
+ var feedId = _a.feedId, context = _a.context, customTheme = _a.customTheme, themeDropdownObject = _a.themeDropdownObject;
20
22
  var enhancedContext = __assign({}, assign({}, feedDetailsPageContext, context));
23
+ var feed = useFeed(feedId).feed;
21
24
  return (React.createElement(Layout, { context: enhancedContext, contextName: PagesNameMap.FeedDetailsPage, customTheme: customTheme, themeDropdownObject: themeDropdownObject },
22
- React.createElement(Header, __assign({}, enhancedContext.header))));
25
+ React.createElement(Header, __assign({}, enhancedContext.header)),
26
+ React.createElement(TextBlock, { as: "h1" }, feed === null || feed === void 0 ? void 0 : feed.name)));
23
27
  };
24
28
  export default FeedsListPage;
25
29
  //# sourceMappingURL=FeedDetailsPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedDetailsPage.js","sourceRoot":"","sources":["../../../../src/rss-console/pages/FeedDetailsPage.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,yBAAyB,CAAA;AAC5C,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,EAAiC,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAE1D,IAAM,sBAAsB,GAAG,EAAE,CAAA;AAEjC,MAAM,CAAC,IAAM,aAAa,GAA4B,UAAC,EAItD;QAHC,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,mBAAmB,yBAAA;IAEnB,IAAM,eAAe,gBAChB,MAAM,CAAC,EAAE,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAC/C,CAAA;IAED,OAAO,CACL,oBAAC,MAAM,IACL,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,YAAY,CAAC,eAAe,EACzC,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB;QAExC,oBAAC,MAAM,eAAK,eAAe,CAAC,MAAM,EAAI,CAC/B,CACV,CAAA;AACH,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"FeedDetailsPage.js","sourceRoot":"","sources":["../../../../src/rss-console/pages/FeedDetailsPage.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,yBAAyB,CAAA;AAC5C,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,EAAiC,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC1D,OAAO,OAAO,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,IAAM,sBAAsB,GAAG,EAAE,CAAA;AAEjC,MAAM,CAAC,IAAM,aAAa,GAAmC,UAAC,EAK7D;QAJC,MAAM,YAAA,EACN,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,mBAAmB,yBAAA;IAEnB,IAAM,eAAe,gBAChB,MAAM,CAAC,EAAE,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAC/C,CAAA;IAEO,IAAA,IAAI,GAAK,OAAO,CAAC,MAAM,CAAC,KAApB,CAAoB;IAEhC,OAAO,CACL,oBAAC,MAAM,IACL,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,YAAY,CAAC,eAAe,EACzC,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB;QAExC,oBAAC,MAAM,eAAK,eAAe,CAAC,MAAM,EAAI;QACtC,oBAAC,SAAS,IAAC,EAAE,EAAC,IAAI,IAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAa,CACpC,CACV,CAAA;AACH,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -14,12 +14,65 @@ import Layout from '../components/Templates';
14
14
  import assign from 'lodash.assign';
15
15
  import { PagesNameMap } from '../context/types';
16
16
  import { Header } from '@newskit-render/shared-components';
17
+ import { Stack, Button, Caption, TextBlock, GridLayout, GridLayoutItem, CardInset, } from 'newskit';
18
+ import useFeedList from '../hooks/useFeedList';
17
19
  var feedsListPageContext = {};
20
+ function formatArrayToString(list) {
21
+ if (list.length === 0) {
22
+ return '-';
23
+ }
24
+ return list.join(', ');
25
+ }
18
26
  export var FeedsListPage = function (_a) {
19
27
  var context = _a.context, customTheme = _a.customTheme, themeDropdownObject = _a.themeDropdownObject;
20
28
  var enhancedContext = __assign({}, assign({}, feedsListPageContext, context));
29
+ if (customTheme === null || customTheme === void 0 ? void 0 : customTheme.stylePresets) {
30
+ customTheme.stylePresets = __assign(__assign({}, customTheme.stylePresets), { card: {
31
+ base: {
32
+ boxShadow: '{{shadows.shadow020}}',
33
+ },
34
+ hover: {
35
+ boxShadow: '{{shadows.shadow040}}',
36
+ },
37
+ }, cardTitle: {
38
+ base: {
39
+ color: '{{colors.neutral070}}',
40
+ },
41
+ } });
42
+ }
43
+ var feeds = useFeedList().feeds;
21
44
  return (React.createElement(Layout, { context: enhancedContext, contextName: PagesNameMap.FeedsListPage, customTheme: customTheme, themeDropdownObject: themeDropdownObject },
22
- React.createElement(Header, __assign({}, enhancedContext.header))));
45
+ React.createElement(Header, __assign({}, enhancedContext.header)),
46
+ React.createElement(Stack, { flow: "horizontal-top", height: "auto", stackDistribution: "space-between", marginBlockEnd: "space040" },
47
+ React.createElement(TextBlock, { as: "h1" }, "RSS Feeds"),
48
+ React.createElement(Button, { size: "small" }, "Create Feed")),
49
+ feeds &&
50
+ feeds.map(function (feed) { return (React.createElement(CardInset, { href: "#", overrides: {
51
+ stylePreset: 'card',
52
+ marginBlockEnd: 'space040',
53
+ } },
54
+ React.createElement(TextBlock, { as: "h3", marginBlockEnd: "space040", stylePreset: "cardTitle" }, feed.name),
55
+ React.createElement(GridLayout, { columns: "1fr 1fr", rowGap: "space060" },
56
+ React.createElement(GridLayoutItem, null,
57
+ React.createElement(Caption, { creditText: "Included Categories", overrides: {
58
+ spaceStack: 'space020',
59
+ stylePreset: 'inkBrand010',
60
+ } }, formatArrayToString(feed.categories_included))),
61
+ React.createElement(GridLayoutItem, null,
62
+ React.createElement(Caption, { creditText: "Excluded Categories", overrides: {
63
+ spaceStack: 'space020',
64
+ stylePreset: 'inkBrand010',
65
+ } }, formatArrayToString(feed.categories_excluded))),
66
+ React.createElement(GridLayoutItem, null,
67
+ React.createElement(Caption, { creditText: "Included Tags", overrides: {
68
+ spaceStack: 'space020',
69
+ stylePreset: 'inkBrand010',
70
+ } }, formatArrayToString(feed.tags_included))),
71
+ React.createElement(GridLayoutItem, null,
72
+ React.createElement(Caption, { creditText: "Excluded Tags", overrides: {
73
+ spaceStack: 'space020',
74
+ stylePreset: 'inkBrand010',
75
+ } }, formatArrayToString(feed.tags_excluded)))))); })));
23
76
  };
24
77
  export default FeedsListPage;
25
78
  //# sourceMappingURL=FeedsListPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedsListPage.js","sourceRoot":"","sources":["../../../../src/rss-console/pages/FeedsListPage.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,yBAAyB,CAAA;AAC5C,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,EAA+B,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAE1D,IAAM,oBAAoB,GAAG,EAAE,CAAA;AAE/B,MAAM,CAAC,IAAM,aAAa,GAA4B,UAAC,EAItD;QAHC,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,mBAAmB,yBAAA;IAEnB,IAAM,eAAe,gBAChB,MAAM,CAAC,EAAE,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAC7C,CAAA;IAED,OAAO,CACL,oBAAC,MAAM,IACL,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,YAAY,CAAC,aAAa,EACvC,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB;QAExC,oBAAC,MAAM,eAAK,eAAe,CAAC,MAAM,EAAI,CAC/B,CACV,CAAA;AACH,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"FeedsListPage.js","sourceRoot":"","sources":["../../../../src/rss-console/pages/FeedsListPage.tsx"],"names":[],"mappings":"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"}
@@ -6,3 +6,6 @@ export interface BasePageProps {
6
6
  themeDropdownObject?: ThemeDropdownObject;
7
7
  context?: Partial<ContextOptions>;
8
8
  }
9
+ export interface FeedDetailsPageProps extends BasePageProps {
10
+ feedId: number;
11
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newskit-render/standalone-components",
3
- "version": "1.14.2",
3
+ "version": "1.14.3-alpha.0",
4
4
  "description": "Newskit Render Standalone Components",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",
@@ -35,7 +35,7 @@
35
35
  "@emotion/react": "11.10.4",
36
36
  "@emotion/styled": "11.10.4",
37
37
  "@newskit-render/api": "^1.5.2",
38
- "@newskit-render/shared-components": "^1.22.1",
38
+ "@newskit-render/shared-components": "^1.22.2-alpha.0",
39
39
  "algoliasearch": "4.13.1",
40
40
  "cross-fetch": "3.1.5",
41
41
  "graphql": "15.6.0",