diff --git a/backend-api/serverless.yml b/backend-api/serverless.yml index 2a74615..351c30b 100644 --- a/backend-api/serverless.yml +++ b/backend-api/serverless.yml @@ -28,6 +28,7 @@ provider: DB_USERNAME: ${self:custom.DB_CONFIG.${self:custom.STAGE}.DB_USERNAME} DB_PASSWORD: ${self:custom.DB_CONFIG.${self:custom.STAGE}.DB_PASSWORD} DB_NAME: ${self:custom.DB_CONFIG.${self:custom.STAGE}.DB_NAME} + CORS_ORIGIN: ${file(./config.serverless.yml):CORS_ORIGIN} apiGateway: binaryMediaTypes: - '*/*' diff --git a/backend-api/src/app.module.ts b/backend-api/src/app.module.ts index c7d6fb6..9500913 100644 --- a/backend-api/src/app.module.ts +++ b/backend-api/src/app.module.ts @@ -14,6 +14,10 @@ import { ConnectionModule } from './connection/connection.module'; @Module({ imports: [ + ConfigModule.forRoot({ + isGlobal: true, + envFilePath: process.env.NODE_ENV == 'dev' ? '.env.dev' : '.env.prod', + }), TypeOrmModule.forRoot({ type: 'mysql', host: process.env.DB_HOST, diff --git a/backend-api/src/widget/widget.service.ts b/backend-api/src/widget/widget.service.ts index 6f3117a..c87ee06 100644 --- a/backend-api/src/widget/widget.service.ts +++ b/backend-api/src/widget/widget.service.ts @@ -55,7 +55,13 @@ export class WidgetService { const find_all = await this.widgetRepository .createQueryBuilder('widget') .innerJoin(Component, 'component', 'component.id = widget.componentId') - .select(['widget.*', 'component.type as componentType', 'component.icon as icon']) + .select([ + 'widget.*', + 'component.type as componentType', + 'component.icon as icon', + 'component.title as componentTitle', + 'component.description as componentDescription', + ]) .orderBy('widget.updatedAt', 'DESC') .getRawMany(); @@ -76,7 +82,13 @@ export class WidgetService { const find_widget = await this.componentRepository .createQueryBuilder('component') - .select(['widgetInfo.*', 'component.type as componentType', 'component.icon as icon']) + .select([ + 'widgetInfo.*', + 'component.type as componentType', + 'component.icon as icon', + 'component.title as componentTitle', + 'component.description as componentDescription', + ]) .innerJoin(widgetInfo, 'widgetInfo', 'widgetInfo.componentId = component.id') .setParameter('id', id) .getRawOne(); diff --git a/frontend-web/src/pages/Dashboard/Components/RecommendDashboardPopup.tsx b/frontend-web/src/pages/Dashboard/Components/RecommendDashboardPopup.tsx index 8df24d1..55f1ad2 100644 --- a/frontend-web/src/pages/Dashboard/Components/RecommendDashboardPopup.tsx +++ b/frontend-web/src/pages/Dashboard/Components/RecommendDashboardPopup.tsx @@ -295,6 +295,7 @@ export const TemplateList = ({ handleWidgetConfirm = null, handleWidgetCancel = padding: '12px 12px 20px', backgroundColor: selected ? '#edf8ff' : '#f5f6f8', borderRadius: '6px', + position: 'relative', border: selected ? 'solid 1px #0f5ab2' : 'solid 1px #f5f6f8', '&:hover': { background: '#ebfbff', @@ -302,14 +303,13 @@ export const TemplateList = ({ handleWidgetConfirm = null, handleWidgetCancel = }} onClick={() => handleItemClick(item)} > - - {getTemplateIcon(item.id)} - {/**/} - + {getTemplateIcon(item.id)} + {selected ? ( + + ) : ( + <> + )} +