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 ? (
+
+ ) : (
+ <>>
+ )}
+