@c-rex/templates 0.0.8 → 0.0.9
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.
- package/dist/home/layout.cjs.js +893 -0
- package/dist/home/layout.cjs.js.map +1 -0
- package/dist/home/layout.d.cts +13 -0
- package/dist/home/layout.d.ts +13 -0
- package/dist/home/layout.esm.js +827 -0
- package/dist/home/layout.esm.js.map +1 -0
- package/dist/home/page.cjs.js +812 -0
- package/dist/home/page.cjs.js.map +1 -0
- package/dist/home/page.d.cts +9 -0
- package/dist/home/page.d.ts +9 -0
- package/dist/home/page.esm.js +746 -0
- package/dist/home/page.esm.js.map +1 -0
- package/dist/info/page.cjs.js +820 -0
- package/dist/info/page.cjs.js.map +1 -0
- package/dist/info/page.d.cts +9 -0
- package/dist/info/page.d.ts +9 -0
- package/dist/info/page.esm.js +755 -0
- package/dist/info/page.esm.js.map +1 -0
- package/dist/layout.cjs.js +89 -0
- package/dist/layout.cjs.js.map +1 -0
- package/dist/layout.d.cts +9 -0
- package/dist/layout.d.ts +9 -0
- package/dist/layout.esm.js +28 -0
- package/dist/layout.esm.js.map +1 -0
- package/package.json +18 -12
- package/src/home/layout.tsx +0 -61
- package/src/home/page.tsx +0 -65
- package/src/info/page.tsx +0 -66
- package/src/layout.tsx +0 -26
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/periotto/Desktop/workspace/c-rex.net-web-client-foundation/packages/templates/dist/info/page.esm.js","../../src/info/page.tsx","../../../core/src/requests.ts","../../../constants/src/index.ts","../../../core/src/cookies.ts","../../../core/src/sdk.ts","../../../utils/src/utils.ts","../../../utils/src/classMerge.ts","../../../services/src/baseService.ts","../../../services/src/transforms/information.ts","../../../services/src/informationUnits.ts"],"names":["useEffect","useRef","useState","axios","API","MAX_RETRY","API_TIMEOUT","API_HEADERS","CrexApi","baseUrl","logger","apiClient","create","baseURL","headers","execute","url","method","params","body","response","retry","error","request","data","log","Error","GLOBAL_KEY","CONFIG_COOKIE_KEY","isBrowser","window","document","parseCookies","cookies","cookie","split","forEach","key","value","trim","decodeURIComponent","setCookie","name","days","expires","Date","now","toUTCString","encodeURIComponent","setConfig","config","JSON","stringify","global","globalConfig","getConfig","returnValue","configStr","parse","CrexSDK","customerConfig","api","createParams","fieldsList","map","item","generateQueryParams","queryParams","param","join","clsx","twMerge","BaseService","endpoint","SDK","path","transformer","length","console","transformInformationUnits","items","pageInfo","InformationUnitsService","getList","queries","page","fields","language","remainFields","toString","push","getItem","id","getLanguages","getSuggestions","query","suggestions","SidebarInset","SidebarProvider","SidebarTrigger","Separator","AppSidebar","Breadcrumb","jsx","jsxs","InfoPageTemplate","htmlContent","breadcrumbItems","setBreadcrumbItems","sidebarItems","setSidebarItems","loading","setLoading","effectRan","current","loadNavigationData","service","informationUnitsItem","directoryNodes","children","className","orientation","dangerouslySetInnerHTML","__html"],"mappings":"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","sourcesContent":["\"use client\";\n\n// src/info/page.tsx\nimport { useEffect, useRef, useState } from \"react\";\n\n// ../core/src/requests.ts\nimport axios from \"axios\";\n\n// ../constants/src/index.ts\nvar API = {\n MAX_RETRY: 3,\n API_TIMEOUT: 1e4,\n API_HEADERS: {\n \"content-Type\": \"application/json\"\n }\n};\n\n// ../core/src/requests.ts\nvar CrexApi = class {\n constructor(baseUrl, logger) {\n this.apiClient = axios.create({\n baseURL: baseUrl,\n headers: {\n \"content-Type\": \"application/json\"\n }\n });\n this.logger = logger;\n }\n async execute({\n url,\n method,\n params,\n body,\n headers\n }) {\n let response = void 0;\n for (let retry = 0; retry < API.MAX_RETRY; retry++) {\n try {\n response = await this.apiClient.request({\n url,\n method,\n data: body,\n params,\n headers\n });\n } catch (error) {\n this.logger.log(\"error\", `API.execute error when request ${url}. Error: ${error}`);\n throw error;\n }\n }\n if (response) {\n return response.data;\n }\n throw new Error(\"API.execute error: Failed to retrieve a valid response\");\n }\n};\n\n// ../core/src/cookies.ts\nvar GLOBAL_KEY = \"__CREX_INITIAL_CONFIG__\";\nvar CONFIG_COOKIE_KEY = \"crex_config\";\nfunction isBrowser() {\n return typeof window !== \"undefined\" && typeof document !== \"undefined\";\n}\nfunction parseCookies() {\n const cookies = {};\n if (typeof document === \"undefined\") {\n return cookies;\n }\n document.cookie.split(\";\").forEach((cookie) => {\n const [key, value] = cookie.split(\"=\");\n if (key && value) {\n cookies[key.trim()] = decodeURIComponent(value.trim());\n }\n });\n return cookies;\n}\nfunction setCookie(name, value, days = 30) {\n if (typeof document === \"undefined\") return;\n const expires = new Date(Date.now() + days * 86400 * 1e3).toUTCString();\n document.cookie = `${name}=${encodeURIComponent(value)}; path=/; expires=${expires}; SameSite=Lax`;\n}\nfunction setConfig(config) {\n if (isBrowser()) {\n setCookie(CONFIG_COOKIE_KEY, JSON.stringify(config));\n } else {\n if (typeof global !== \"undefined\" && !(GLOBAL_KEY in global)) {\n global[GLOBAL_KEY] = null;\n }\n const globalConfig = global[GLOBAL_KEY];\n if (globalConfig === null) {\n global[GLOBAL_KEY] = config;\n }\n }\n}\nfunction getConfig() {\n let returnValue;\n if (isBrowser()) {\n const cookies = parseCookies();\n const configStr = cookies[CONFIG_COOKIE_KEY];\n if (configStr) {\n try {\n return JSON.parse(configStr);\n } catch {\n return null;\n }\n }\n return null;\n } else {\n returnValue = global[GLOBAL_KEY];\n }\n return returnValue;\n}\n\n// ../core/src/sdk.ts\nvar CrexSDK = class {\n constructor() {\n const config = getConfig();\n this.customerConfig = config;\n this.api = new CrexApi(this.customerConfig.baseUrl, null);\n }\n static setConfig(config) {\n setConfig(config);\n }\n};\n\n// ../utils/src/utils.ts\nvar createParams = (fieldsList, key = \"Fields\") => fieldsList.map((item) => ({\n key,\n value: item\n}));\nvar generateQueryParams = (params) => {\n const queryParams = params.map(\n (param) => `${encodeURIComponent(param.key)}=${encodeURIComponent(param.value)}`\n ).join(\"&\");\n return queryParams;\n};\n\n// ../utils/src/classMerge.ts\nimport { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n// ../services/src/baseService.ts\nvar BaseService = class {\n constructor(endpoint) {\n this.SDK = new CrexSDK();\n this.api = this.SDK.api;\n this.endpoint = endpoint;\n }\n async request({\n path = \"\",\n method = \"get\",\n params = [],\n headers = {},\n transformer = (response) => response\n }) {\n try {\n let url = `${this.endpoint}${path}`;\n const queryParams = generateQueryParams(params);\n if (queryParams.length > 0) {\n url += `?${queryParams}`;\n }\n const response = await this.api.execute({\n url,\n method,\n headers\n });\n return await transformer(response);\n } catch (error) {\n console.log(\"error\", `BaseService.request error when request ${path}. Error: ${error}`);\n throw error;\n }\n }\n};\n\n// ../services/src/transforms/information.ts\nvar transformInformationUnits = (data) => {\n return {\n items: data.items.map((item) => item),\n pageInfo: data.pageInfo\n };\n};\n\n// ../services/src/informationUnits.ts\nvar InformationUnitsService = class extends BaseService {\n constructor() {\n super(\"InformationUnits/\");\n }\n async getList(queries, page, fields, language) {\n const remainFields = createParams(fields, \"Fields\");\n const params = [\n { key: \"pageSize\", value: \"8\" },\n { key: \"PageNumber\", value: (page - 1).toString() },\n { key: \"Query\", value: queries },\n ...remainFields\n ];\n if (language != null) {\n language.forEach((item) => {\n params.push({\n key: \"Restrict\",\n value: `languages~${item}`\n });\n });\n }\n return await this.request({\n params,\n transformer: transformInformationUnits\n });\n }\n async getItem(id) {\n const params = [\n { key: \"Fields\", value: \"renditions\" },\n { key: \"Fields\", value: \"directoryNodes\" }\n ];\n return await this.request({\n path: id,\n params\n });\n }\n async getLanguages() {\n return await this.request({\n path: `Languages`,\n transformer: (data) => {\n return data.map((item) => item.value);\n }\n });\n }\n async getSuggestions(query) {\n return await this.request({\n path: `Suggestions`,\n params: [{ key: \"prefix\", value: query }],\n transformer: (data) => {\n return data.suggestions.map((item) => item.value);\n }\n });\n }\n};\n\n// src/info/page.tsx\nimport { SidebarInset, SidebarProvider, SidebarTrigger } from \"@c-rex/ui/sidebar\";\nimport { Separator } from \"@c-rex/ui/separator\";\nimport { AppSidebar } from \"@c-rex/components/sidebar\";\nimport { Breadcrumb } from \"@c-rex/components/breadcrumb\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar InfoPageTemplate = ({ htmlContent, id }) => {\n const [breadcrumbItems, setBreadcrumbItems] = useState([]);\n const [sidebarItems, setSidebarItems] = useState([]);\n const [loading, setLoading] = useState(true);\n const effectRan = useRef(false);\n useEffect(() => {\n if (effectRan.current) return;\n effectRan.current = true;\n const loadNavigationData = async () => {\n const service = new InformationUnitsService();\n const informationUnitsItem = await service.getItem(id);\n if (informationUnitsItem?.directoryNodes != void 0) {\n setLoading(false);\n }\n };\n loadNavigationData();\n }, [id]);\n return /* @__PURE__ */ jsxs(SidebarProvider, { children: [\n /* @__PURE__ */ jsx(AppSidebar, { data: sidebarItems, loading }),\n /* @__PURE__ */ jsxs(SidebarInset, { children: [\n /* @__PURE__ */ jsxs(\"header\", { className: \"flex h-16 shrink-0 items-center\", children: [\n /* @__PURE__ */ jsx(SidebarTrigger, { className: \"-ml-1\" }),\n /* @__PURE__ */ jsx(Separator, { orientation: \"vertical\", className: \"mr-2 h-4\" }),\n /* @__PURE__ */ jsx(Breadcrumb, { items: breadcrumbItems, loading })\n ] }),\n /* @__PURE__ */ jsx(\n \"div\",\n {\n className: \"flex\",\n dangerouslySetInnerHTML: { __html: htmlContent }\n }\n )\n ] })\n ] });\n};\nexport {\n InfoPageTemplate\n};\n","\"use client\";\n\nimport { FC, useEffect, useRef, useState } from \"react\";\nimport { InformationUnitsService } from \"@c-rex/services\";\nimport { TreeOfContent } from \"@c-rex/interfaces\";\nimport { SidebarInset, SidebarProvider, SidebarTrigger } from \"@c-rex/ui/sidebar\";\nimport { Separator } from \"@c-rex/ui/separator\";\nimport { AppSidebar } from \"@c-rex/components/sidebar\";\nimport { Breadcrumb } from \"@c-rex/components/breadcrumb\";\n//import { generateTreeOfContent } from \"@c-rex/utils\";\n//import { generateBreadcrumbItems } from \"@c-rex/utils\";\n\ninterface InfoPageTemplateProps {\n htmlContent: string;\n id: string;\n}\n\nexport const InfoPageTemplate: FC<InfoPageTemplateProps> = ({ htmlContent, id }) => {\n const [breadcrumbItems, setBreadcrumbItems] = useState<TreeOfContent[]>([]);\n const [sidebarItems, setSidebarItems] = useState<TreeOfContent[]>([]);\n const [loading, setLoading] = useState(true);\n const effectRan = useRef(false);\n\n useEffect(() => {\n if (effectRan.current) return;\n effectRan.current = true;\n\n const loadNavigationData = async () => {\n const service = new InformationUnitsService();\n const informationUnitsItem = await service.getItem(id);\n\n if (informationUnitsItem?.directoryNodes != undefined) {\n /*\n const treeOfContent = await generateTreeOfContent(\n informationUnitsItem.directoryNodes,\n );\n const breadcrumbItems = generateBreadcrumbItems(treeOfContent);\n \n setBreadcrumbItems(breadcrumbItems);\n setSidebarItems(treeOfContent);\n */\n setLoading(false);\n }\n };\n\n loadNavigationData();\n }, [id]);\n\n return (\n <SidebarProvider>\n <AppSidebar data={sidebarItems} loading={loading} />\n <SidebarInset>\n <header className=\"flex h-16 shrink-0 items-center\">\n <SidebarTrigger className=\"-ml-1\" />\n <Separator orientation=\"vertical\" className=\"mr-2 h-4\" />\n <Breadcrumb items={breadcrumbItems} loading={loading} />\n </header>\n\n <div\n className=\"flex\"\n dangerouslySetInnerHTML={{ __html: htmlContent }}\n />\n </SidebarInset>\n </SidebarProvider>\n );\n};","import axios, { AxiosResponse, Method, AxiosInstance } from \"axios\";\nimport { API } from \"@c-rex/constants\";\n\ninterface APIGenericResponse<T> extends AxiosResponse {\n data: T;\n statusCode: number;\n}\n\ninterface CallParams {\n url: string;\n method: Method;\n body?: any;\n headers?: any;\n params?: any;\n}\n\nexport class CrexApi {\n private apiClient: AxiosInstance;\n private logger: any;\n\n public constructor(baseUrl: string, logger: any) {\n this.apiClient = axios.create({\n baseURL: baseUrl,\n headers: {\n \"content-Type\": \"application/json\",\n },\n });\n this.logger = logger;\n }\n\n async execute<T>({\n url,\n method,\n params,\n body,\n headers,\n }: CallParams): Promise<any> {\n let response: APIGenericResponse<T> | undefined = undefined;\n\n for (let retry = 0; retry < API.MAX_RETRY; retry++) {\n try {\n response = await this.apiClient.request({\n url,\n method,\n data: body,\n params,\n headers,\n });\n } catch (error) {\n this.logger.log(\"error\", `API.execute error when request ${url}. Error: ${error}`);\n throw error;\n }\n }\n\n if (response) {\n return response.data\n }\n\n throw new Error(\"API.execute error: Failed to retrieve a valid response\");\n }\n}\n","export const ALL = \"*\"\n\nexport const LOG_CATEGORIES = [\n \"NoLicense\",\n \"Scenario\",\n \"Favorites\",\n \"Subscription\",\n \"Share\",\n \"Document\",\n \"Search\",\n \"History\",\n \"Notification\",\n \"UserProfile\",\n] as const;\n\nexport const LOG_LEVELS = {\n critical: 2,\n error: 3,\n warning: 4,\n info: 6,\n debug: 7,\n} as const;\n\nexport const API = {\n MAX_RETRY: 3,\n API_TIMEOUT: 10000,\n API_HEADERS: {\n \"content-Type\": \"application/json\",\n },\n};","const GLOBAL_KEY = '__CREX_INITIAL_CONFIG__';\nconst CONFIG_COOKIE_KEY = 'crex_config';\n\nfunction isBrowser() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n\nfunction parseCookies(): Record<string, string> {\n const cookies: Record<string, string> = {};\n\n if (typeof document === 'undefined') {\n return cookies;\n }\n\n document.cookie.split(';').forEach(cookie => {\n const [key, value] = cookie.split('=');\n if (key && value) {\n cookies[key.trim()] = decodeURIComponent(value.trim());\n }\n });\n\n return cookies;\n}\n\nfunction setCookie(name: string, value: string, days = 30) {\n if (typeof document === 'undefined') return;\n\n const expires = new Date(Date.now() + days * 86400 * 1000).toUTCString();\n document.cookie = `${name}=${encodeURIComponent(value)}; path=/; expires=${expires}; SameSite=Lax`;\n}\n\nexport function setConfig(config: Record<string, any>) {\n\n if (isBrowser()) {\n setCookie(CONFIG_COOKIE_KEY, JSON.stringify(config));\n } else {\n if (typeof global !== 'undefined' && !(GLOBAL_KEY in global)) {\n (global as any)[GLOBAL_KEY] = null;\n }\n\n const globalConfig = (global as any)[GLOBAL_KEY] as any;\n\n if (globalConfig === null) {\n (global as any)[GLOBAL_KEY] = config;\n }\n }\n}\n\nexport function getConfig(): Record<string, any> | null {\n let returnValue\n\n if (isBrowser()) {\n const cookies = parseCookies();\n const configStr = cookies[CONFIG_COOKIE_KEY];\n if (configStr) {\n try {\n return JSON.parse(configStr);\n } catch {\n return null;\n }\n }\n return null;\n\n } else {\n returnValue = (global as any)[GLOBAL_KEY];\n }\n\n return returnValue\n}\n","import { CrexApi } from \"./requests\";\nimport { ConfigInterface } from \"@c-rex/interfaces\";\nimport { getConfig, setConfig } from \"./cookies\";\n\nexport class CrexSDK {\n public customerConfig!: ConfigInterface;\n public logger!: any;\n public api!: CrexApi;\n\n public constructor() {\n const config = getConfig();\n\n this.customerConfig = config as ConfigInterface;\n this.api = new CrexApi(this.customerConfig.baseUrl, null);\n }\n\n public static setConfig(config: ConfigInterface) {\n setConfig(config);\n }\n}","\nimport { QueryParams } from '@c-rex/types';\n//import * as Flags from 'country-flag-icons/react/3x2';\n//import { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime';\n\nexport const createParams = (fieldsList: string[], key: string = \"Fields\") =>\n fieldsList.map((item) => ({\n key: key,\n value: item,\n }));\n\nexport const updateUrlWithParams = (\n //router: AppRouterInstance,\n router: any,\n params: QueryParams[],\n) => {\n const searchParams = new URLSearchParams(window.location.search);\n\n params.forEach((param) => {\n searchParams.set(param.key, param.value.toString());\n });\n\n const queryString = searchParams.toString();\n router.push(`${window.location.pathname}?${queryString}`);\n};\n\nexport const generateQueryParams = (params: QueryParams[]): string => {\n const queryParams = params\n .map(\n (param) =>\n `${encodeURIComponent(param.key)}=${encodeURIComponent(param.value)}`,\n )\n .join(\"&\");\n return queryParams;\n};\n\n/*\nexport const getFlagIcon = (countryCode: string): JSX.Element | null => {\n if (countryCode === undefined) return null;\n \n return Flags[countryCode] || null;\n};\n\n\n*/","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { CrexSDK, CrexApi } from \"@c-rex/core\";\nimport { LogCategoriesType, LogLevelType, QueryParams } from \"@c-rex/types\";\nimport { generateQueryParams } from \"@c-rex/utils\";\nimport { Method } from \"axios\";\n\nexport class BaseService {\n protected api: CrexApi;\n //private log: (level: LogLevelType, message: string, category?: LogCategoriesType) => void;\n private endpoint: string;\n private SDK: CrexSDK;\n\n constructor(endpoint: string) {\n this.SDK = new CrexSDK();\n this.api = this.SDK.api;\n //this.log = this.SDK.logger.log;\n this.endpoint = endpoint;\n }\n\n protected async request<T>(\n {\n path = \"\",\n method = \"get\",\n params = [],\n headers = {},\n transformer = (response: any) => response,\n }: {\n path?: string,\n method?: Method,\n params?: QueryParams[],\n headers?: any,\n transformer?: (data: any) => T,\n }\n ): Promise<T> {\n try {\n let url = `${this.endpoint}${path}`;\n\n const queryParams = generateQueryParams(params);\n if (queryParams.length > 0) {\n url += `?${queryParams}`;\n }\n\n const response = await this.api.execute({\n url,\n method,\n headers,\n })\n\n return await transformer(response);\n\n } catch (error) {\n console.log(\"error\", `BaseService.request error when request ${path}. Error: ${error}`);\n\n throw error;\n }\n }\n}\n\n","import { DefaultRequest } from \"@c-rex/interfaces\";\nimport {\n informationUnits,\n informationUnitsItems,\n} from \"@c-rex/interfaces\";\n\nexport const transformInformationUnits = (\n data: DefaultRequest<informationUnitsItems>,\n): informationUnits => {\n return {\n items: data.items.map((item) => item),\n pageInfo: data.pageInfo,\n };\n};\n","import {\n AutocompleteSuggestion,\n informationUnits,\n informationUnitsItems,\n} from \"@c-rex/interfaces\";\nimport { transformInformationUnits } from \"./transforms/information\";\nimport { createParams } from \"@c-rex/utils\";\nimport { BaseService } from \"./baseService\";\n\nexport class InformationUnitsService extends BaseService {\n constructor() {\n super(\"InformationUnits/\");\n }\n\n public async getList(\n queries: string,\n page: number,\n fields: string[],\n language: string[] | null,\n ): Promise<informationUnits> {\n const remainFields = createParams(fields, \"Fields\");\n\n const params = [\n { key: \"pageSize\", value: \"8\" },\n { key: \"PageNumber\", value: (page - 1).toString() },\n { key: \"Query\", value: queries },\n ...remainFields,\n ];\n\n if (language != null) {\n language.forEach((item) => {\n params.push({\n key: \"Restrict\",\n value: `languages~${item}`,\n });\n });\n }\n\n return await this.request({\n params: params,\n transformer: transformInformationUnits\n });\n }\n\n public async getItem(id: string): Promise<informationUnitsItems> {\n const params = [\n { key: \"Fields\", value: \"renditions\" },\n { key: \"Fields\", value: \"directoryNodes\" },\n ];\n\n return await this.request({\n path: id,\n params,\n });\n }\n\n public async getLanguages(): Promise<string[]> {\n return await this.request({\n path: `Languages`,\n transformer: (data: { value: string; score: number }[]) => {\n return data.map((item) => item.value);\n },\n });\n }\n\n public async getSuggestions(query: string): Promise<string[]> {\n return await this.request({\n path: `Suggestions`,\n params: [{ key: \"prefix\", value: query }],\n transformer: (data: AutocompleteSuggestion) => {\n return data.suggestions.map((item) => item.value);\n },\n });\n }\n}\n"]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
function _type_of(obj) {
|
|
3
|
+
"@swc/helpers - typeof";
|
|
4
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
5
|
+
}
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
8
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __export = function(target, all) {
|
|
11
|
+
for(var name in all)__defProp(target, name, {
|
|
12
|
+
get: all[name],
|
|
13
|
+
enumerable: true
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = function(to, from, except, desc) {
|
|
17
|
+
if (from && (typeof from === "undefined" ? "undefined" : _type_of(from)) === "object" || typeof from === "function") {
|
|
18
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
19
|
+
try {
|
|
20
|
+
var _loop = function() {
|
|
21
|
+
var key = _step.value;
|
|
22
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
23
|
+
get: function() {
|
|
24
|
+
return from[key];
|
|
25
|
+
},
|
|
26
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
|
|
30
|
+
} catch (err) {
|
|
31
|
+
_didIteratorError = true;
|
|
32
|
+
_iteratorError = err;
|
|
33
|
+
} finally{
|
|
34
|
+
try {
|
|
35
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
36
|
+
_iterator.return();
|
|
37
|
+
}
|
|
38
|
+
} finally{
|
|
39
|
+
if (_didIteratorError) {
|
|
40
|
+
throw _iteratorError;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return to;
|
|
46
|
+
};
|
|
47
|
+
var __toCommonJS = function(mod) {
|
|
48
|
+
return __copyProps(__defProp({}, "__esModule", {
|
|
49
|
+
value: true
|
|
50
|
+
}), mod);
|
|
51
|
+
};
|
|
52
|
+
// src/layout.tsx
|
|
53
|
+
var layout_exports = {};
|
|
54
|
+
__export(layout_exports, {
|
|
55
|
+
DefaultRootLayout: function() {
|
|
56
|
+
return DefaultRootLayout;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
module.exports = __toCommonJS(layout_exports);
|
|
60
|
+
var import_navbar = require("@c-rex/components/navbar");
|
|
61
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
62
|
+
var DefaultRootLayout = function(param) {
|
|
63
|
+
var children = param.children;
|
|
64
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("html", {
|
|
65
|
+
lang: "en",
|
|
66
|
+
suppressHydrationWarning: true,
|
|
67
|
+
children: [
|
|
68
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("head", {}),
|
|
69
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("body", {
|
|
70
|
+
className: "min-h-screen bg-background font-sans antialiased",
|
|
71
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
72
|
+
className: "items-center flex flex-col",
|
|
73
|
+
children: [
|
|
74
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_navbar.NavBar, {}),
|
|
75
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
76
|
+
className: "container pt-6",
|
|
77
|
+
children: children
|
|
78
|
+
})
|
|
79
|
+
]
|
|
80
|
+
})
|
|
81
|
+
})
|
|
82
|
+
]
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
86
|
+
0 && (module.exports = {
|
|
87
|
+
DefaultRootLayout: DefaultRootLayout
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=layout.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/periotto/Desktop/workspace/c-rex.net-web-client-foundation/packages/templates/dist/layout.cjs.js","../src/layout.tsx"],"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","layout_exports","DefaultRootLayout","module","exports","import_navbar","require","import_jsx_runtime","children","jsxs","lang","suppressHydrationWarning","jsx","className","NavBar"],"mappings":"AAAA;;;;;AACA,IAAIA,YAAYC,OAAOC,cAAc;AACrC,IAAIC,mBAAmBF,OAAOG,wBAAwB;AACtD,IAAIC,oBAAoBJ,OAAOK,mBAAmB;AAClD,IAAIC,eAAeN,OAAOO,SAAS,CAACC,cAAc;AAClD,IAAIC,WAAW,SAACC,QAAQC;IACtB,IAAK,IAAIC,QAAQD,IACfZ,UAAUW,QAAQE,MAAM;QAAEC,KAAKF,GAAG,CAACC,KAAK;QAAEE,YAAY;IAAK;AAC/D;AACA,IAAIC,cAAc,SAACC,IAAIC,MAAMC,QAAQC;IACnC,IAAIF,QAAQ,CAAA,OAAOA,qCAAP,SAAOA,KAAG,MAAM,YAAY,OAAOA,SAAS,YAAY;YAC7D,kCAAA,2BAAA;;;gBAAA,IAAIG,MAAJ;gBACH,IAAI,CAACd,aAAae,IAAI,CAACL,IAAII,QAAQA,QAAQF,QACzCnB,UAAUiB,IAAII,KAAK;oBAAEP,KAAK;+BAAMI,IAAI,CAACG,IAAI;;oBAAEN,YAAY,CAAEK,CAAAA,OAAOjB,iBAAiBe,MAAMG,IAAG,KAAMD,KAAKL,UAAU;gBAAC;;YAFpH,QAAK,YAAWV,kBAAkBa,0BAA7B,SAAA,6BAAA,QAAA,yBAAA;;YAAA;YAAA;;;qBAAA,6BAAA;oBAAA;;;oBAAA;0BAAA;;;;IAGP;IACA,OAAOD;AACT;AACA,IAAIM,eAAe,SAACC;WAAQR,YAAYhB,UAAU,CAAC,GAAG,cAAc;QAAEyB,OAAO;IAAK,IAAID;;AAEtF,iBAAiB;ACnBjB,IAAAE,iBAAA,CAAA;AAAAhB,SAAAgB,gBAAA;IAAAC,mBAAA;eAAAA;;AAAA;AAAAC,OAAAC,OAAA,GAAAN,aAAAG;AAGA,IAAAI,gBAAuBC,QAAA;AAWX,IAAAC,qBAAAD,QAAA;AALL,IAAMJ,oBAAoB;QAC7BM,iBAAAA;IAEA,OACI,aAAA,GAAA,CAAA,GAAAD,mBAAAE,IAAA,EAAC,QAAA;QAAKC,MAAK;QAAKC,0BAAwB;QACpCH,UAAA;YAAA,aAAA,GAAA,CAAA,GAAAD,mBAAAK,GAAA,EAAC,QAAA,CAAA;YACD,aAAA,GAAA,CAAA,GAAAL,mBAAAK,GAAA,EAAC,QAAA;gBAAKC,WAAU;gBACZL,UAAA,aAAA,GAAA,CAAA,GAAAD,mBAAAE,IAAA,EAAC,OAAA;oBAAII,WAAU;oBAEXL,UAAA;wBAAA,aAAA,GAAA,CAAA,GAAAD,mBAAAK,GAAA,EAACP,cAAAS,MAAA,EAAA,CAAA;wBAED,aAAA,GAAA,CAAA,GAAAP,mBAAAK,GAAA,EAAC,OAAA;4BAAIC,WAAU;4BAAkBL,UAAAA;wBAAA;qBAAS;gBAAA;YAC9C;SACJ;IAAA;AAGZ;ADaA,6DAA6D;AAC7D,KAAML,CAAAA,OAAOC,OAAO,GAAG;IACrBF,mBAAAA;AACF,CAAA","sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/layout.tsx\nvar layout_exports = {};\n__export(layout_exports, {\n DefaultRootLayout: () => DefaultRootLayout\n});\nmodule.exports = __toCommonJS(layout_exports);\nvar import_navbar = require(\"@c-rex/components/navbar\");\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar DefaultRootLayout = ({\n children\n}) => {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(\"html\", { lang: \"en\", suppressHydrationWarning: true, children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"head\", {}),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"body\", { className: \"min-h-screen bg-background font-sans antialiased\", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(\"div\", { className: \"items-center flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_navbar.NavBar, {}),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"div\", { className: \"container pt-6\", children })\n ] }) })\n ] });\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n DefaultRootLayout\n});\n","//import \"@/styles/global.css\";\n\nimport React from \"react\";\nimport { NavBar } from \"@c-rex/components/navbar\";\n\ninterface DefaultRootLayoutProps {\n children: React.ReactNode;\n}\n\nexport const DefaultRootLayout = ({\n children,\n}: DefaultRootLayoutProps) => {\n return (\n <html lang=\"en\" suppressHydrationWarning>\n <head />\n <body className=\"min-h-screen bg-background font-sans antialiased\">\n <div className=\"items-center flex flex-col\">\n\n <NavBar />\n\n <div className=\"container pt-6\">{children}</div>\n </div>\n </body>\n </html>\n );\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
|
|
4
|
+
interface DefaultRootLayoutProps {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
declare const DefaultRootLayout: ({ children, }: DefaultRootLayoutProps) => react_jsx_runtime.JSX.Element;
|
|
8
|
+
|
|
9
|
+
export { DefaultRootLayout };
|
package/dist/layout.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
|
|
4
|
+
interface DefaultRootLayoutProps {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
declare const DefaultRootLayout: ({ children, }: DefaultRootLayoutProps) => react_jsx_runtime.JSX.Element;
|
|
8
|
+
|
|
9
|
+
export { DefaultRootLayout };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// src/layout.tsx
|
|
2
|
+
import { NavBar } from "@c-rex/components/navbar";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
var DefaultRootLayout = function(param) {
|
|
5
|
+
var children = param.children;
|
|
6
|
+
return /* @__PURE__ */ jsxs("html", {
|
|
7
|
+
lang: "en",
|
|
8
|
+
suppressHydrationWarning: true,
|
|
9
|
+
children: [
|
|
10
|
+
/* @__PURE__ */ jsx("head", {}),
|
|
11
|
+
/* @__PURE__ */ jsx("body", {
|
|
12
|
+
className: "min-h-screen bg-background font-sans antialiased",
|
|
13
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
14
|
+
className: "items-center flex flex-col",
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ jsx(NavBar, {}),
|
|
17
|
+
/* @__PURE__ */ jsx("div", {
|
|
18
|
+
className: "container pt-6",
|
|
19
|
+
children: children
|
|
20
|
+
})
|
|
21
|
+
]
|
|
22
|
+
})
|
|
23
|
+
})
|
|
24
|
+
]
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
export { DefaultRootLayout };
|
|
28
|
+
//# sourceMappingURL=layout.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/periotto/Desktop/workspace/c-rex.net-web-client-foundation/packages/templates/dist/layout.esm.js","../src/layout.tsx"],"names":["NavBar","jsx","jsxs","DefaultRootLayout","children","lang","suppressHydrationWarning","className"],"mappings":"AAAA,iBAAiB;ACGjB,SAASA,MAAA,QAAc,2BAAA;AAWX,SAAAC,GAAA,EAEIC,IAAA,QAFJ,oBAAA;AALL,IAAMC,oBAAoB;QAC7BC,iBAAAA;IAEA,OACI,aAAA,GAAAF,KAAC,QAAA;QAAKG,MAAK;QAAKC,0BAAwB;QACpCF,UAAA;YAAA,aAAA,GAAAH,IAAC,QAAA,CAAA;YACD,aAAA,GAAAA,IAAC,QAAA;gBAAKM,WAAU;gBACZH,UAAA,aAAA,GAAAF,KAAC,OAAA;oBAAIK,WAAU;oBAEXH,UAAA;wBAAA,aAAA,GAAAH,IAACD,QAAA,CAAA;wBAED,aAAA,GAAAC,IAAC,OAAA;4BAAIM,WAAU;4BAAkBH,UAAAA;wBAAA;qBAAS;gBAAA;YAC9C;SACJ;IAAA;AAGZ;ADXA,SACED,iBAAiB,GACjB","sourcesContent":["// src/layout.tsx\nimport { NavBar } from \"@c-rex/components/navbar\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar DefaultRootLayout = ({\n children\n}) => {\n return /* @__PURE__ */ jsxs(\"html\", { lang: \"en\", suppressHydrationWarning: true, children: [\n /* @__PURE__ */ jsx(\"head\", {}),\n /* @__PURE__ */ jsx(\"body\", { className: \"min-h-screen bg-background font-sans antialiased\", children: /* @__PURE__ */ jsxs(\"div\", { className: \"items-center flex flex-col\", children: [\n /* @__PURE__ */ jsx(NavBar, {}),\n /* @__PURE__ */ jsx(\"div\", { className: \"container pt-6\", children })\n ] }) })\n ] });\n};\nexport {\n DefaultRootLayout\n};\n","//import \"@/styles/global.css\";\n\nimport React from \"react\";\nimport { NavBar } from \"@c-rex/components/navbar\";\n\ninterface DefaultRootLayoutProps {\n children: React.ReactNode;\n}\n\nexport const DefaultRootLayout = ({\n children,\n}: DefaultRootLayoutProps) => {\n return (\n <html lang=\"en\" suppressHydrationWarning>\n <head />\n <body className=\"min-h-screen bg-background font-sans antialiased\">\n <div className=\"items-center flex flex-col\">\n\n <NavBar />\n\n <div className=\"container pt-6\">{children}</div>\n </div>\n </body>\n </html>\n );\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,34 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c-rex/templates",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"files": [
|
|
5
|
-
"
|
|
6
|
+
"dist"
|
|
6
7
|
],
|
|
7
8
|
"publishConfig": {
|
|
8
9
|
"access": "public"
|
|
9
10
|
},
|
|
10
11
|
"exports": {
|
|
11
12
|
"./home/layout": {
|
|
12
|
-
"types": "./
|
|
13
|
-
"import": "./
|
|
13
|
+
"types": "./dist/home/layout.d.ts",
|
|
14
|
+
"import": "./dist/home/layout.esm.js",
|
|
15
|
+
"require": "./dist/home/layout.cjs.js"
|
|
14
16
|
},
|
|
15
17
|
"./home/page": {
|
|
16
|
-
"types": "./
|
|
17
|
-
"import": "./
|
|
18
|
+
"types": "./dist/home/page.d.ts",
|
|
19
|
+
"import": "./dist/home/page.esm.js",
|
|
20
|
+
"require": "./dist/home/page.cjs.js"
|
|
18
21
|
},
|
|
19
22
|
"./info/page": {
|
|
20
|
-
"types": "./
|
|
21
|
-
"import": "./
|
|
23
|
+
"types": "./dist/info/page.d.ts",
|
|
24
|
+
"import": "./dist/info/page.esm.js",
|
|
25
|
+
"require": "./dist/info/page.cjs.js"
|
|
22
26
|
},
|
|
23
27
|
"./layout": {
|
|
24
|
-
"types": "./
|
|
25
|
-
"import": "./
|
|
28
|
+
"types": "./dist/layout.d.ts",
|
|
29
|
+
"import": "./dist/layout.esm.js",
|
|
30
|
+
"require": "./dist/layout.cjs.js"
|
|
26
31
|
},
|
|
27
32
|
"./package.json": "./package.json"
|
|
28
33
|
},
|
|
29
34
|
"scripts": {
|
|
30
|
-
"dev": "
|
|
31
|
-
"build": "
|
|
35
|
+
"dev": "tsup --watch",
|
|
36
|
+
"build": "tsup",
|
|
32
37
|
"lint": "eslint . --max-warnings 0"
|
|
33
38
|
},
|
|
34
39
|
"devDependencies": {
|
|
@@ -36,6 +41,7 @@
|
|
|
36
41
|
"@c-rex/typescript-config": "*",
|
|
37
42
|
"@turbo/gen": "^2.4.4",
|
|
38
43
|
"@types/node": "^22.13.10",
|
|
44
|
+
"@swc/core": "^1.11.22",
|
|
39
45
|
"@types/react": "19.0.10",
|
|
40
46
|
"@types/react-dom": "19.0.4",
|
|
41
47
|
"eslint": "^9.23.0",
|
package/src/home/layout.tsx
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { informationUnits } from "@c-rex/interfaces";
|
|
2
|
-
import { InformationUnitsService } from "@c-rex/services";
|
|
3
|
-
import { SearchStateWrapper } from "@c-rex/components/search-wrapper";
|
|
4
|
-
import { HomePage } from "./page";
|
|
5
|
-
|
|
6
|
-
interface SearchParams {
|
|
7
|
-
search?: string;
|
|
8
|
-
page?: string;
|
|
9
|
-
language?: string;
|
|
10
|
-
}
|
|
11
|
-
interface HomeProps {
|
|
12
|
-
searchParams: SearchParams;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const loadData = async ({
|
|
16
|
-
search,
|
|
17
|
-
page,
|
|
18
|
-
language,
|
|
19
|
-
}: SearchParams): Promise<any> => {
|
|
20
|
-
const service = new InformationUnitsService();
|
|
21
|
-
const pageAux = page != undefined ? Number(page) : 0;
|
|
22
|
-
const searchValue = search != undefined ? (search as string) : "";
|
|
23
|
-
const availableLanguages = await service.getLanguages();
|
|
24
|
-
|
|
25
|
-
let data = { items: [] } as unknown as informationUnits;
|
|
26
|
-
let selectedLanguages: string[] = [];
|
|
27
|
-
|
|
28
|
-
if (language != undefined) {
|
|
29
|
-
const aux = language as string;
|
|
30
|
-
selectedLanguages = aux.split(",");
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (searchValue) {
|
|
34
|
-
data = await service.getList(
|
|
35
|
-
searchValue,
|
|
36
|
-
pageAux,
|
|
37
|
-
selectedLanguages,
|
|
38
|
-
[],
|
|
39
|
-
);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return {
|
|
43
|
-
data: data,
|
|
44
|
-
filters: {
|
|
45
|
-
searchValue: searchValue,
|
|
46
|
-
page: pageAux,
|
|
47
|
-
selectedLanguage: selectedLanguages,
|
|
48
|
-
availableLanguages: availableLanguages,
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export const HomeLayout = async ({ searchParams }: HomeProps) => {
|
|
54
|
-
const { data, filters } = await loadData(searchParams);
|
|
55
|
-
|
|
56
|
-
return (
|
|
57
|
-
<SearchStateWrapper filters={filters}>
|
|
58
|
-
<HomePage data={data} />
|
|
59
|
-
</SearchStateWrapper>
|
|
60
|
-
);
|
|
61
|
-
};
|
package/src/home/page.tsx
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { FC } from "react";
|
|
4
|
-
import { informationUnits } from "@c-rex/interfaces";
|
|
5
|
-
import { InformationUnitsService } from "@c-rex/services";
|
|
6
|
-
import { updateUrlWithParams } from "@c-rex/utils";
|
|
7
|
-
import { useRouter } from "next/navigation";
|
|
8
|
-
import { Button } from "@c-rex/ui/button";
|
|
9
|
-
import { AutoComplete } from "@c-rex/components/autocomplete";
|
|
10
|
-
import { ResultList } from "@c-rex/components/result-list";
|
|
11
|
-
|
|
12
|
-
//import { useSearchContext } from '@/contexts/search'; TODO: replace for a lib how manage states from URL
|
|
13
|
-
|
|
14
|
-
interface HomePageProps {
|
|
15
|
-
data: informationUnits;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export const HomePage: FC<HomePageProps> = ({ data }) => {
|
|
19
|
-
const router = useRouter();
|
|
20
|
-
const initialValue = null;
|
|
21
|
-
|
|
22
|
-
const onSearch = (value: string): Promise<string[]> => {
|
|
23
|
-
const service = new InformationUnitsService();
|
|
24
|
-
return service.getSuggestions(value);
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const onSelect = (value: string) => {
|
|
29
|
-
updateUrlWithParams(router, [
|
|
30
|
-
{
|
|
31
|
-
key: "search",
|
|
32
|
-
value: value.split(" ").join(","),
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
key: "operator",
|
|
36
|
-
value: "OR",
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
key: "page",
|
|
40
|
-
value: "1",
|
|
41
|
-
},
|
|
42
|
-
]);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
return (
|
|
46
|
-
<div className="container">
|
|
47
|
-
<div className="grid grid-cols-12 gap-4 py-6">
|
|
48
|
-
<div className="col-span-12 sm:col-span-9 md:col-span-10">
|
|
49
|
-
<AutoComplete
|
|
50
|
-
initialValue={initialValue ?? ""}
|
|
51
|
-
onSearch={onSearch}
|
|
52
|
-
onSelect={onSelect}
|
|
53
|
-
/>
|
|
54
|
-
</div>
|
|
55
|
-
<div className="col-span-12 sm:col-span-3 md:col-span-2">
|
|
56
|
-
<div className="flex justify-end">
|
|
57
|
-
<Button variant="default">Filters</Button>
|
|
58
|
-
</div>
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
|
|
62
|
-
<ResultList items={data.items} />
|
|
63
|
-
</div>
|
|
64
|
-
);
|
|
65
|
-
};
|
package/src/info/page.tsx
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { FC, useEffect, useRef, useState } from "react";
|
|
4
|
-
import { InformationUnitsService } from "@c-rex/services";
|
|
5
|
-
import { TreeOfContent } from "@c-rex/interfaces";
|
|
6
|
-
import { SidebarInset, SidebarProvider, SidebarTrigger } from "@c-rex/ui/sidebar";
|
|
7
|
-
import { Separator } from "@c-rex/ui/separator";
|
|
8
|
-
import { AppSidebar } from "@c-rex/components/sidebar";
|
|
9
|
-
import { Breadcrumb } from "@c-rex/components/breadcrumb";
|
|
10
|
-
//import { generateTreeOfContent } from "@c-rex/utils";
|
|
11
|
-
//import { generateBreadcrumbItems } from "@c-rex/utils";
|
|
12
|
-
|
|
13
|
-
interface InfoPageTemplateProps {
|
|
14
|
-
htmlContent: string;
|
|
15
|
-
id: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export const InfoPageTemplate: FC<InfoPageTemplateProps> = ({ htmlContent, id }) => {
|
|
19
|
-
const [breadcrumbItems, setBreadcrumbItems] = useState<TreeOfContent[]>([]);
|
|
20
|
-
const [sidebarItems, setSidebarItems] = useState<TreeOfContent[]>([]);
|
|
21
|
-
const [loading, setLoading] = useState(true);
|
|
22
|
-
const effectRan = useRef(false);
|
|
23
|
-
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
if (effectRan.current) return;
|
|
26
|
-
effectRan.current = true;
|
|
27
|
-
|
|
28
|
-
const loadNavigationData = async () => {
|
|
29
|
-
const service = new InformationUnitsService();
|
|
30
|
-
const informationUnitsItem = await service.getItem(id);
|
|
31
|
-
|
|
32
|
-
if (informationUnitsItem?.directoryNodes != undefined) {
|
|
33
|
-
/*
|
|
34
|
-
const treeOfContent = await generateTreeOfContent(
|
|
35
|
-
informationUnitsItem.directoryNodes,
|
|
36
|
-
);
|
|
37
|
-
const breadcrumbItems = generateBreadcrumbItems(treeOfContent);
|
|
38
|
-
|
|
39
|
-
setBreadcrumbItems(breadcrumbItems);
|
|
40
|
-
setSidebarItems(treeOfContent);
|
|
41
|
-
*/
|
|
42
|
-
setLoading(false);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
loadNavigationData();
|
|
47
|
-
}, [id]);
|
|
48
|
-
|
|
49
|
-
return (
|
|
50
|
-
<SidebarProvider>
|
|
51
|
-
<AppSidebar data={sidebarItems} loading={loading} />
|
|
52
|
-
<SidebarInset>
|
|
53
|
-
<header className="flex h-16 shrink-0 items-center">
|
|
54
|
-
<SidebarTrigger className="-ml-1" />
|
|
55
|
-
<Separator orientation="vertical" className="mr-2 h-4" />
|
|
56
|
-
<Breadcrumb items={breadcrumbItems} loading={loading} />
|
|
57
|
-
</header>
|
|
58
|
-
|
|
59
|
-
<div
|
|
60
|
-
className="flex"
|
|
61
|
-
dangerouslySetInnerHTML={{ __html: htmlContent }}
|
|
62
|
-
/>
|
|
63
|
-
</SidebarInset>
|
|
64
|
-
</SidebarProvider>
|
|
65
|
-
);
|
|
66
|
-
};
|
package/src/layout.tsx
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
//import "@/styles/global.css";
|
|
2
|
-
|
|
3
|
-
import React from "react";
|
|
4
|
-
import { NavBar } from "@c-rex/components/navbar";
|
|
5
|
-
|
|
6
|
-
interface DefaultRootLayoutProps {
|
|
7
|
-
children: React.ReactNode;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export const DefaultRootLayout = ({
|
|
11
|
-
children,
|
|
12
|
-
}: DefaultRootLayoutProps) => {
|
|
13
|
-
return (
|
|
14
|
-
<html lang="en" suppressHydrationWarning>
|
|
15
|
-
<head />
|
|
16
|
-
<body className="min-h-screen bg-background font-sans antialiased">
|
|
17
|
-
<div className="items-center flex flex-col">
|
|
18
|
-
|
|
19
|
-
<NavBar />
|
|
20
|
-
|
|
21
|
-
<div className="container pt-6">{children}</div>
|
|
22
|
-
</div>
|
|
23
|
-
</body>
|
|
24
|
-
</html>
|
|
25
|
-
);
|
|
26
|
-
}
|