From 765164705078b76b56df65e2934cbbbfae8d9dfe Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Tue, 31 Mar 2026 18:52:26 +0300 Subject: [PATCH] Add IoT Hub home page with interactive hero, category cards, and popular items - Create TbIotHubHomeComponent as default route at /iot-hub - Move browse page to /iot-hub/browse, accept type/search query params - Interactive hero: hoverable keywords cycle through item types with color changes, background gradient transitions, and floating icon animations - Page load animation: hero and categories fade in with slide (down/up) - Category cards: 3x2 grid with exact Figma gradients and separated title/image layout - Popular sections: 5-column grid for widgets/dashboards/solutions, 3-column grid for calculated fields/rule chains - Become a Creator footer section - Export category card images and hero floating icons from Figma - Add plural item type translations and home page locale keys --- .../pages/iot-hub/iot-hub-browse.component.ts | 14 +- .../pages/iot-hub/iot-hub-home.component.html | 200 +++++++++ .../pages/iot-hub/iot-hub-home.component.scss | 419 ++++++++++++++++++ .../pages/iot-hub/iot-hub-home.component.ts | 222 ++++++++++ .../pages/iot-hub/iot-hub-routing.module.ts | 15 +- .../home/pages/iot-hub/iot-hub.module.ts | 2 + .../category-calculated-fields-img.svg | 233 ++++++++++ .../iot-hub/category-dashboards-img.svg | 84 ++++ .../iot-hub/category-device-library-img.svg | 95 ++++ .../iot-hub/category-rule-chains-img.svg | 107 +++++ .../category-solution-templates-img.png | Bin 0 -> 130222 bytes .../assets/iot-hub/category-widgets-img.svg | 181 ++++++++ .../assets/iot-hub/hero-dashboard-icon-1.svg | 30 ++ .../assets/iot-hub/hero-dashboard-icon-2.svg | 25 ++ .../assets/iot-hub/hero-dashboard-icon-3.svg | 30 ++ .../assets/iot-hub/hero-dashboard-icon-4.svg | 30 ++ .../src/assets/iot-hub/hero-widget-icon-1.svg | 27 ++ .../src/assets/iot-hub/hero-widget-icon-2.svg | 25 ++ .../src/assets/iot-hub/hero-widget-icon-3.svg | 35 ++ .../src/assets/iot-hub/hero-widget-icon-4.svg | 35 ++ .../assets/locale/locale.constant-en_US.json | 20 +- 21 files changed, 1825 insertions(+), 4 deletions(-) create mode 100644 ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-home.component.html create mode 100644 ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-home.component.scss create mode 100644 ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-home.component.ts create mode 100644 ui-ngx/src/assets/iot-hub/category-calculated-fields-img.svg create mode 100644 ui-ngx/src/assets/iot-hub/category-dashboards-img.svg create mode 100644 ui-ngx/src/assets/iot-hub/category-device-library-img.svg create mode 100644 ui-ngx/src/assets/iot-hub/category-rule-chains-img.svg create mode 100644 ui-ngx/src/assets/iot-hub/category-solution-templates-img.png create mode 100644 ui-ngx/src/assets/iot-hub/category-widgets-img.svg create mode 100644 ui-ngx/src/assets/iot-hub/hero-dashboard-icon-1.svg create mode 100644 ui-ngx/src/assets/iot-hub/hero-dashboard-icon-2.svg create mode 100644 ui-ngx/src/assets/iot-hub/hero-dashboard-icon-3.svg create mode 100644 ui-ngx/src/assets/iot-hub/hero-dashboard-icon-4.svg create mode 100644 ui-ngx/src/assets/iot-hub/hero-widget-icon-1.svg create mode 100644 ui-ngx/src/assets/iot-hub/hero-widget-icon-2.svg create mode 100644 ui-ngx/src/assets/iot-hub/hero-widget-icon-3.svg create mode 100644 ui-ngx/src/assets/iot-hub/hero-widget-icon-4.svg diff --git a/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-browse.component.ts b/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-browse.component.ts index 4a9418eec8..083b858c70 100644 --- a/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-browse.component.ts +++ b/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-browse.component.ts @@ -30,7 +30,7 @@ import { IotHubInstalledItem } from '@shared/models/iot-hub/iot-hub-installed-it import { IotHubApiService } from '@core/http/iot-hub-api.service'; import { MatDialog } from '@angular/material/dialog'; import { TranslateService } from '@ngx-translate/core'; -import { Router } from '@angular/router'; +import { ActivatedRoute, Router } from '@angular/router'; import { TbIotHubItemDetailDialogComponent, IotHubItemDetailDialogData } from './iot-hub-item-detail-dialog.component'; import { TbIotHubInstallDialogComponent, IotHubInstallDialogData } from './iot-hub-install-dialog.component'; import { TbIotHubUpdateDialogComponent, IotHubUpdateDialogData } from './iot-hub-update-dialog.component'; @@ -101,7 +101,8 @@ export class TbIotHubBrowseComponent implements OnInit, OnDestroy { private iotHubApiService: IotHubApiService, private dialog: MatDialog, private translate: TranslateService, - private router: Router + private router: Router, + private route: ActivatedRoute ) {} ngOnInit(): void { @@ -112,6 +113,15 @@ export class TbIotHubBrowseComponent implements OnInit, OnDestroy { this.pageIndex = 0; this.loadItems(); }); + if (!this.embedded) { + const params = this.route.snapshot.queryParams; + if (params['type'] && Object.values(ItemType).includes(params['type'])) { + this.activeType = params['type'] as ItemType; + } + if (params['search']) { + this.textSearch = params['search']; + } + } this.updateCategories(); this.loadItems(); } diff --git a/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-home.component.html b/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-home.component.html new file mode 100644 index 0000000000..8794fe53b1 --- /dev/null +++ b/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-home.component.html @@ -0,0 +1,200 @@ + +
+ +
+ +
+ + + @for (heroType of heroTypes; track heroType.type) { + @if (heroType.icons.length) { +
+ @for (iconUrl of heroType.icons; track iconUrl; let i = $index) { + + } +
+ } + } + +
+

{{ 'iot-hub.home-title' | translate }}

+
+ {{ 'iot-hub.home-subtitle-prefix' | translate }} + @for (ht of heroTypes; track ht.type; let last = $last) { + {{ ht.labelKey | translate }}@if (!last) {,} + } +
+ + + + +
+
+ + +
+ @for (card of categoryCards; track card.type) { +
+ {{ card.titleKey | translate }} + +
+ } +
+ + @if (!isLoading) { + + @if (popularWidgets.length) { +
+ + {{ 'iot-hub.popular-widgets' | translate }} + chevron_right + +
+ @for (item of popularWidgets; track item.id) { + + + } +
+
+ } + + + @if (popularDashboards.length) { +
+ + {{ 'iot-hub.popular-dashboards' | translate }} + chevron_right + +
+ @for (item of popularDashboards; track item.id) { + + + } +
+
+ } + + + @if (popularSolutionTemplates.length) { +
+ + {{ 'iot-hub.popular-solution-templates' | translate }} + chevron_right + +
+ @for (item of popularSolutionTemplates; track item.id) { + + + } +
+
+ } + + + @if (popularCalcFields.length) { +
+ + {{ 'iot-hub.popular-calculated-fields' | translate }} + chevron_right + +
+ @for (item of popularCalcFields; track item.id) { + + + } +
+
+ } + + + @if (popularRuleChains.length) { +
+ + {{ 'iot-hub.popular-rule-chains' | translate }} + chevron_right + +
+ @for (item of popularRuleChains; track item.id) { + + + } +
+
+ } + + +
+
+

{{ 'iot-hub.become-a-creator' | translate }}

+

{{ 'iot-hub.become-creator-text' | translate }}

+ +
+ } + + @if (isLoading) { +
+ +
+ } +
diff --git a/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-home.component.scss b/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-home.component.scss new file mode 100644 index 0000000000..401d9ec234 --- /dev/null +++ b/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-home.component.scss @@ -0,0 +1,419 @@ +/** + * Copyright © 2016-2026 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Outer page — 16px padding around the white container +:host { + display: block; + padding: 16px; +} + +// Page container — white card with 8px radius, matches Figma "page-container" +.tb-iot-hub-home { + position: relative; + background: white; + border-radius: 8px; + overflow: hidden; + + // Dot grid pattern — covers top 800px, fades out via gradient mask + &::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 800px; + background-image: radial-gradient(circle, rgba(0, 0, 0, 0.1) 1px, transparent 1px); + background-size: 20px 20px; + mask-image: linear-gradient(to bottom, black 0%, transparent 100%); + -webkit-mask-image: linear-gradient(to bottom, black 0%, transparent 100%); + pointer-events: none; + z-index: 0; + } + + > * { + position: relative; + z-index: 1; + } +} + +// Hero section +.tb-iot-hub-hero { + text-align: center; + padding: 140px 40px 80px; + position: relative; + overflow: hidden; +} + +// Animated background gradient +.tb-iot-hub-hero-gradient { + position: absolute; + inset: 0; + transition: background 0.6s ease; + pointer-events: none; +} + +// Floating icons container per type +.tb-iot-hub-hero-icons { + position: absolute; + inset: 0; + pointer-events: none; + + // Icons start near center (translate toward center, scaled down, invisible) + .tb-iot-hub-hero-float-icon { + opacity: 0; + transform: var(--icon-rotation) translate(var(--start-x), var(--start-y)) scale(0.9); + transition: opacity 0.5s ease, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); + } + + // Active: icons move outward to final position, scale to 1, fully visible + &.active .tb-iot-hub-hero-float-icon { + opacity: 1; + transform: var(--icon-rotation) translate(0, 0) scale(1); + } +} + +// Individual floating icon — final (resting) positions match Figma +.tb-iot-hub-hero-float-icon { + position: absolute; + width: 64px; + height: 64px; + + // Top-left: moves from center-right and center-down to final pos + &.icon-pos-1 { + top: 40px; + left: 23%; + --icon-rotation: rotate(-15deg); + --start-x: 40px; + --start-y: 12px; + } + + // Top-right: moves from center-left and center-down + &.icon-pos-2 { + top: 40px; + right: 23%; + --icon-rotation: rotate(15deg); + --start-x: -40px; + --start-y: 12px; + } + + // Bottom-left: moves from center-right and center-up + &.icon-pos-3 { + bottom: 100px; + left: 18%; + --icon-rotation: rotate(-30deg); + --start-x: 50px; + --start-y: -8px; + } + + // Bottom-right: moves from center-left and center-up + &.icon-pos-4 { + bottom: 100px; + right: 18%; + --icon-rotation: rotate(30deg); + --start-x: -45px; + --start-y: -4px; + } +} + +.tb-iot-hub-hero-content { + display: flex; + flex-direction: column; + align-items: center; + gap: 40px; + position: relative; + z-index: 1; +} + +.tb-iot-hub-hero-title { + font-size: 56px; + font-weight: 500; + line-height: 1.2; + letter-spacing: 0.14px; + color: rgba(0, 0, 0, 0.87); + margin: 0; +} + +.tb-iot-hub-hero-subtitle { + font-size: 20px; + line-height: 24px; + letter-spacing: 0.1px; + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 6px; +} + +.tb-iot-hub-hero-prefix { + font-weight: 400; + color: rgba(0, 0, 0, 0.76); +} + +.tb-iot-hub-hero-keyword { + font-weight: 600; + color: rgba(0, 0, 0, 0.54); + opacity: 0.48; + cursor: pointer; + transition: color 0.3s ease, opacity 0.3s ease; + + &.active { + color: var(--keyword-color); + opacity: 1; + } + + &:hover { + opacity: 0.8; + } +} + +.tb-iot-hub-hero-search { + width: 600px; + max-width: 100%; + + ::ng-deep .mat-mdc-text-field-wrapper { + background: white; + border-radius: 8px; + box-shadow: + 0 7px 16px 0 rgba(0, 0, 0, 0.04), + 0 29px 29px 0 rgba(0, 0, 0, 0.03), + 0 64px 38px 0 rgba(0, 0, 0, 0.02); + } + + .mat-mdc-form-field-subscript-wrapper { + display: none; + } +} + +// Category cards — Figma: centered 1200px container, flex-col gap=20, pb=48, 3-col rows +.tb-iot-hub-categories { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 20px; + max-width: 1200px; + margin: 0 auto; + padding-bottom: 48px; +} + +// Card — Figma: flex-col, gap=24, pt=24, rounded-8, border, overflow-clip, h=220 +.tb-iot-hub-category-card { + height: 220px; + border-radius: 8px; + cursor: pointer; + display: flex; + flex-direction: column; + align-items: center; + gap: 24px; + padding-top: 24px; + transition: transform 0.2s, box-shadow 0.2s; + border: 1px solid rgba(0, 0, 0, 0.12); + overflow: hidden; + + &:hover { + transform: translateY(-2px); + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); + } +} + +// Title — Figma: 18px Medium, centered, tracking=0.15, flex child +.tb-iot-hub-category-title { + font-size: 18px; + font-weight: 500; + line-height: 24px; + letter-spacing: 0.15px; + color: rgba(0, 0, 0, 0.87); + text-align: center; + width: 100%; + flex-shrink: 0; +} + +// Card image — Figma: h=148, w=full, overflow-clip, fills remaining space +.tb-iot-hub-category-img { + width: 100%; + height: 148px; + object-fit: cover; + flex-shrink: 0; +} + +// Exact Figma gradients (104.75deg angle) +.category-widgets { + background: linear-gradient(104.75deg, rgb(240, 255, 245) 0%, rgb(147, 246, 182) 100%); +} + +.category-dashboards { + background: linear-gradient(104.75deg, rgb(245, 246, 255) 0%, rgb(189, 197, 255) 100%); +} + +.category-solutions { + background: linear-gradient(104.75deg, rgb(245, 250, 255) 0%, rgb(149, 200, 255) 100%); +} + +.category-calc-fields { + background: linear-gradient(104.75deg, rgb(245, 252, 255) 0%, rgb(149, 222, 248) 100%); +} + +.category-rule-chains { + background: linear-gradient(104.75deg, rgb(255, 252, 245) 0%, rgb(255, 238, 194) 100%); +} + +.category-devices { + background: linear-gradient(104.75deg, rgb(245, 255, 252) 0%, rgb(147, 240, 213) 100%); +} + +// Sections — matches Figma "items-section" (px=40, gap between sections ~48px) +.tb-iot-hub-section { + padding: 0 40px; + margin-top: 48px; +} + +// Section header — matches Figma "button" (height=40, font-size=20, font-weight=500) +.tb-iot-hub-section-header { + display: inline-flex; + align-items: center; + gap: 4px; + font-size: 20px; + font-weight: 500; + line-height: 40px; + color: rgba(0, 0, 0, 0.87); + cursor: pointer; + text-decoration: none; + + mat-icon { + font-size: 20px; + width: 20px; + height: 20px; + } + + &:hover { + color: #00695c; + } +} + +// Big card row — matches Figma "cards-row" (5 cards, gap=20, mt=12 from header) +.tb-iot-hub-big-cards-row { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 20px; + margin-top: 12px; +} + +// Compact card grid — matches Figma "cards" (3 columns, row gap=20, col gap=20) +.tb-iot-hub-compact-cards-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 20px; + margin-top: 12px; +} + +// Divider — matches Figma "divider" (1px, rgba(0,0,0,0.12)) +.tb-iot-hub-divider { + height: 1px; + background: rgba(0, 0, 0, 0.12); + margin: 48px 0 0; +} + +// Become a Creator — matches Figma (pt=64, text centered, button at y=156) +.tb-iot-hub-become-creator { + text-align: center; + padding: 64px 40px; + + h2 { + font-size: 24px; + font-weight: 500; + line-height: 32px; + color: rgba(0, 0, 0, 0.87); + margin: 0 0 8px; + } + + p { + font-size: 14px; + line-height: 20px; + color: rgba(0, 0, 0, 0.54); + margin: 0 0 32px; + } +} + +// Loading +.tb-iot-hub-loading { + display: flex; + justify-content: center; + padding: 80px 0; +} + +// Page load animation — Figma: Default→appear-first, Smart Animate 1.02s, Gentle easing +// Hero elements fade in + slide DOWN 20px; categories fade in + slide UP 20px +@keyframes iot-hub-fade-slide-down { + from { + opacity: 0; + transform: translateY(-20px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +@keyframes iot-hub-fade-slide-up { + from { + opacity: 0; + transform: translateY(20px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +.tb-iot-hub-hero-title, +.tb-iot-hub-hero-subtitle, +.tb-iot-hub-hero-search { + animation: iot-hub-fade-slide-down 1s cubic-bezier(0.19, 1, 0.22, 1) 0.2s both; +} + +.tb-iot-hub-categories { + animation: iot-hub-fade-slide-up 1s cubic-bezier(0.19, 1, 0.22, 1) 0.2s both; +} + +// Responsive +@media (max-width: 1200px) { + .tb-iot-hub-big-cards-row { + grid-template-columns: repeat(3, 1fr); + } + + .tb-iot-hub-compact-cards-grid { + grid-template-columns: repeat(2, 1fr); + } +} + +@media (max-width: 900px) { + .tb-iot-hub-categories { + grid-template-columns: repeat(2, 1fr); + + .tb-iot-hub-category-card { + height: 180px; + } + } + + .tb-iot-hub-big-cards-row { + grid-template-columns: repeat(2, 1fr); + } + + .tb-iot-hub-hero-title { + font-size: 36px; + } + + .tb-iot-hub-hero { + padding: 80px 24px 40px; + } +} diff --git a/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-home.component.ts b/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-home.component.ts new file mode 100644 index 0000000000..e0633aa243 --- /dev/null +++ b/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-home.component.ts @@ -0,0 +1,222 @@ +/// +/// Copyright © 2016-2026 The Thingsboard Authors +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. +/// + +import { Component, OnInit, OnDestroy } from '@angular/core'; +import { Router } from '@angular/router'; +import { MatDialog } from '@angular/material/dialog'; +import { forkJoin } from 'rxjs'; +import { PageLink } from '@shared/models/page/page-link'; +import { Direction, SortOrder } from '@shared/models/page/sort-order'; +import { MpItemVersionQuery, MpItemVersionView } from '@shared/models/iot-hub/iot-hub-version.models'; +import { ItemType, itemTypeTranslations } from '@shared/models/iot-hub/iot-hub-item.models'; +import { IotHubApiService } from '@core/http/iot-hub-api.service'; +import { TbIotHubItemDetailDialogComponent, IotHubItemDetailDialogData } from './iot-hub-item-detail-dialog.component'; +import { TbIotHubInstallDialogComponent, IotHubInstallDialogData } from './iot-hub-install-dialog.component'; + +interface CategoryCard { + type: ItemType; + titleKey: string; + icon: string; + cssClass: string; + image: string; +} + +interface HeroTypeConfig { + type: ItemType; + labelKey: string; + color: string; + gradientColor: string; + icons: string[]; +} + +@Component({ + selector: 'tb-iot-hub-home', + standalone: false, + templateUrl: './iot-hub-home.component.html', + styleUrls: ['./iot-hub-home.component.scss'] +}) +export class TbIotHubHomeComponent implements OnInit, OnDestroy { + + readonly ItemType = ItemType; + + searchText = ''; + + heroTypes: HeroTypeConfig[] = [ + { + type: ItemType.WIDGET, labelKey: 'item.type-widget-plural', color: '#2c9755', + gradientColor: 'rgba(44, 151, 85, 0.1)', + icons: ['assets/iot-hub/hero-widget-icon-1.svg', 'assets/iot-hub/hero-widget-icon-2.svg', 'assets/iot-hub/hero-widget-icon-3.svg', 'assets/iot-hub/hero-widget-icon-4.svg'] + }, + { + type: ItemType.DASHBOARD, labelKey: 'item.type-dashboard-plural', color: '#4d5fd0', + gradientColor: 'rgba(77, 95, 208, 0.1)', + icons: ['assets/iot-hub/hero-dashboard-icon-1.svg', 'assets/iot-hub/hero-dashboard-icon-2.svg', 'assets/iot-hub/hero-dashboard-icon-3.svg', 'assets/iot-hub/hero-dashboard-icon-4.svg'] + }, + { + type: ItemType.SOLUTION_TEMPLATE, labelKey: 'item.type-solution-template-plural', color: '#2666a9', + gradientColor: 'rgba(38, 102, 169, 0.1)', icons: [] + }, + { + type: ItemType.CALCULATED_FIELD, labelKey: 'item.type-calculated-field-plural', color: '#006d92', + gradientColor: 'rgba(0, 109, 146, 0.1)', icons: [] + }, + { + type: ItemType.RULE_CHAIN, labelKey: 'item.type-rule-chain-plural', color: '#95694b', + gradientColor: 'rgba(149, 105, 75, 0.1)', icons: [] + }, + { + type: ItemType.DEVICE, labelKey: 'iot-hub.and-devices', color: '#4b8a79', + gradientColor: 'rgba(75, 138, 121, 0.1)', icons: [] + } + ]; + + activeHeroType: HeroTypeConfig = this.heroTypes[0]; + heroIconsReady = false; + private heroInterval: any; + + categoryCards: CategoryCard[] = [ + { type: ItemType.WIDGET, titleKey: 'item.type-widget-plural', icon: 'widgets', cssClass: 'category-widgets', image: 'assets/iot-hub/category-widgets-img.svg' }, + { type: ItemType.DASHBOARD, titleKey: 'item.type-dashboard-plural', icon: 'dashboard', cssClass: 'category-dashboards', image: 'assets/iot-hub/category-dashboards-img.svg' }, + { type: ItemType.SOLUTION_TEMPLATE, titleKey: 'item.type-solution-template-plural', icon: 'integration_instructions', cssClass: 'category-solutions', image: 'assets/iot-hub/category-solution-templates-img.png' }, + { type: ItemType.CALCULATED_FIELD, titleKey: 'item.type-calculated-field-plural', icon: 'functions', cssClass: 'category-calc-fields', image: 'assets/iot-hub/category-calculated-fields-img.svg' }, + { type: ItemType.RULE_CHAIN, titleKey: 'item.type-rule-chain-plural', icon: 'account_tree', cssClass: 'category-rule-chains', image: 'assets/iot-hub/category-rule-chains-img.svg' }, + { type: ItemType.DEVICE, titleKey: 'iot-hub.device-library', icon: 'memory', cssClass: 'category-devices', image: 'assets/iot-hub/category-device-library-img.svg' } + ]; + + popularWidgets: MpItemVersionView[] = []; + popularDashboards: MpItemVersionView[] = []; + popularSolutionTemplates: MpItemVersionView[] = []; + popularCalcFields: MpItemVersionView[] = []; + popularRuleChains: MpItemVersionView[] = []; + + isLoading = true; + + constructor( + private router: Router, + private dialog: MatDialog, + private iotHubApiService: IotHubApiService + ) {} + + ngOnInit(): void { + this.loadPopularItems(); + // One-tick delay so Angular renders icons in hidden state first, then triggers transition + requestAnimationFrame(() => { + this.heroIconsReady = true; + this.startHeroCycle(); + }); + } + + ngOnDestroy(): void { + this.stopHeroCycle(); + } + + onHeroTypeHover(config: HeroTypeConfig): void { + this.stopHeroCycle(); + this.activeHeroType = config; + } + + onHeroTypeLeave(): void { + this.startHeroCycle(); + } + + private startHeroCycle(): void { + this.stopHeroCycle(); + this.heroInterval = setInterval(() => { + const idx = this.heroTypes.indexOf(this.activeHeroType); + this.activeHeroType = this.heroTypes[(idx + 1) % this.heroTypes.length]; + }, 3000); + } + + private stopHeroCycle(): void { + if (this.heroInterval) { + clearInterval(this.heroInterval); + this.heroInterval = null; + } + } + + onSearch(): void { + if (this.searchText?.trim()) { + this.router.navigate(['/iot-hub/browse'], { queryParams: { search: this.searchText.trim() } }); + } + } + + navigateToBrowse(type: ItemType): void { + this.router.navigate(['/iot-hub/browse'], { queryParams: { type } }); + } + + navigateToInstalledItems(): void { + this.router.navigate(['/iot-hub/installed']); + } + + openItemDetail(item: MpItemVersionView): void { + this.dialog.open(TbIotHubItemDetailDialogComponent, { + panelClass: ['tb-dialog', 'tb-fullscreen-dialog'], + autoFocus: false, + data: { + item, + iotHubApiService: this.iotHubApiService + } as IotHubItemDetailDialogData + }); + } + + installItem(item: MpItemVersionView): void { + this.dialog.open(TbIotHubInstallDialogComponent, { + panelClass: ['tb-dialog'], + data: { + item, + iotHubApiService: this.iotHubApiService + } as IotHubInstallDialogData + }); + } + + navigateToCreator(creatorId: string): void { + this.router.navigate(['/iot-hub/creator', creatorId]); + } + + openSignup(): void { + window.open('https://iothub.thingsboard.io/signup', '_blank'); + } + + private loadPopularItems(): void { + const sortOrder: SortOrder = { property: 'totalInstallCount', direction: Direction.DESC }; + const config = { ignoreLoading: true }; + + const buildQuery = (type: ItemType, size: number): MpItemVersionQuery => { + const pageLink = new PageLink(size, 0, null, sortOrder); + return new MpItemVersionQuery(pageLink, type); + }; + + forkJoin({ + widgets: this.iotHubApiService.getPublishedVersions(buildQuery(ItemType.WIDGET, 5), config), + dashboards: this.iotHubApiService.getPublishedVersions(buildQuery(ItemType.DASHBOARD, 5), config), + solutionTemplates: this.iotHubApiService.getPublishedVersions(buildQuery(ItemType.SOLUTION_TEMPLATE, 5), config), + calcFields: this.iotHubApiService.getPublishedVersions(buildQuery(ItemType.CALCULATED_FIELD, 6), config), + ruleChains: this.iotHubApiService.getPublishedVersions(buildQuery(ItemType.RULE_CHAIN, 6), config) + }).subscribe({ + next: (results) => { + this.popularWidgets = results.widgets.data; + this.popularDashboards = results.dashboards.data; + this.popularSolutionTemplates = results.solutionTemplates.data; + this.popularCalcFields = results.calcFields.data; + this.popularRuleChains = results.ruleChains.data; + this.isLoading = false; + }, + error: () => { + this.isLoading = false; + } + }); + } +} diff --git a/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-routing.module.ts b/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-routing.module.ts index 33580a26bd..040bf2ef5c 100644 --- a/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-routing.module.ts +++ b/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub-routing.module.ts @@ -18,6 +18,7 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { Authority } from '@shared/models/authority.enum'; +import { TbIotHubHomeComponent } from './iot-hub-home.component'; import { TbIotHubBrowseComponent } from './iot-hub-browse.component'; import { TbIotHubCreatorProfileComponent } from './iot-hub-creator-profile.component'; import { TbIotHubInstalledItemsComponent } from './iot-hub-installed-items.component'; @@ -35,10 +36,22 @@ const routes: Routes = [ children: [ { path: '', + component: TbIotHubHomeComponent, + data: { + auth: [Authority.TENANT_ADMIN], + title: 'iot-hub.iot-hub' + } + }, + { + path: 'browse', component: TbIotHubBrowseComponent, data: { auth: [Authority.TENANT_ADMIN], - title: 'iot-hub.browse' + title: 'iot-hub.browse', + breadcrumb: { + label: 'iot-hub.browse', + icon: 'search' + } } }, { diff --git a/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub.module.ts b/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub.module.ts index 94110fb092..092dbc401c 100644 --- a/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub.module.ts +++ b/ui-ngx/src/app/modules/home/pages/iot-hub/iot-hub.module.ts @@ -18,6 +18,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { SharedModule } from '@shared/shared.module'; import { IotHubRoutingModule } from './iot-hub-routing.module'; +import { TbIotHubHomeComponent } from './iot-hub-home.component'; import { TbIotHubBrowseComponent } from './iot-hub-browse.component'; import { TbIotHubCreatorProfileComponent } from './iot-hub-creator-profile.component'; import { TbIotHubItemDetailDialogComponent } from './iot-hub-item-detail-dialog.component'; @@ -28,6 +29,7 @@ import { TbIotHubUpdateDialogComponent } from './iot-hub-update-dialog.component @NgModule({ declarations: [ + TbIotHubHomeComponent, TbIotHubBrowseComponent, TbIotHubCreatorProfileComponent, TbIotHubItemDetailDialogComponent, diff --git a/ui-ngx/src/assets/iot-hub/category-calculated-fields-img.svg b/ui-ngx/src/assets/iot-hub/category-calculated-fields-img.svg new file mode 100644 index 0000000000..e74a12f489 --- /dev/null +++ b/ui-ngx/src/assets/iot-hub/category-calculated-fields-img.svg @@ -0,0 +1,233 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui-ngx/src/assets/iot-hub/category-dashboards-img.svg b/ui-ngx/src/assets/iot-hub/category-dashboards-img.svg new file mode 100644 index 0000000000..2db1d0fafa --- /dev/null +++ b/ui-ngx/src/assets/iot-hub/category-dashboards-img.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui-ngx/src/assets/iot-hub/category-device-library-img.svg b/ui-ngx/src/assets/iot-hub/category-device-library-img.svg new file mode 100644 index 0000000000..57b90cde55 --- /dev/null +++ b/ui-ngx/src/assets/iot-hub/category-device-library-img.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui-ngx/src/assets/iot-hub/category-rule-chains-img.svg b/ui-ngx/src/assets/iot-hub/category-rule-chains-img.svg new file mode 100644 index 0000000000..09bd6882da --- /dev/null +++ b/ui-ngx/src/assets/iot-hub/category-rule-chains-img.svg @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui-ngx/src/assets/iot-hub/category-solution-templates-img.png b/ui-ngx/src/assets/iot-hub/category-solution-templates-img.png new file mode 100644 index 0000000000000000000000000000000000000000..efcd683abdd28d84f26f5d223b85e521a27a20ba GIT binary patch literal 130222 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˜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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui-ngx/src/assets/iot-hub/hero-dashboard-icon-1.svg b/ui-ngx/src/assets/iot-hub/hero-dashboard-icon-1.svg new file mode 100644 index 0000000000..471177f37b --- /dev/null +++ b/ui-ngx/src/assets/iot-hub/hero-dashboard-icon-1.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui-ngx/src/assets/iot-hub/hero-dashboard-icon-2.svg b/ui-ngx/src/assets/iot-hub/hero-dashboard-icon-2.svg new file mode 100644 index 0000000000..3e453e4b17 --- /dev/null +++ b/ui-ngx/src/assets/iot-hub/hero-dashboard-icon-2.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui-ngx/src/assets/iot-hub/hero-dashboard-icon-3.svg b/ui-ngx/src/assets/iot-hub/hero-dashboard-icon-3.svg new file mode 100644 index 0000000000..fc733a6dc8 --- /dev/null +++ b/ui-ngx/src/assets/iot-hub/hero-dashboard-icon-3.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui-ngx/src/assets/iot-hub/hero-dashboard-icon-4.svg b/ui-ngx/src/assets/iot-hub/hero-dashboard-icon-4.svg new file mode 100644 index 0000000000..949f7c267d --- /dev/null +++ b/ui-ngx/src/assets/iot-hub/hero-dashboard-icon-4.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui-ngx/src/assets/iot-hub/hero-widget-icon-1.svg b/ui-ngx/src/assets/iot-hub/hero-widget-icon-1.svg new file mode 100644 index 0000000000..9740f9c55a --- /dev/null +++ b/ui-ngx/src/assets/iot-hub/hero-widget-icon-1.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui-ngx/src/assets/iot-hub/hero-widget-icon-2.svg b/ui-ngx/src/assets/iot-hub/hero-widget-icon-2.svg new file mode 100644 index 0000000000..1d02f2d107 --- /dev/null +++ b/ui-ngx/src/assets/iot-hub/hero-widget-icon-2.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui-ngx/src/assets/iot-hub/hero-widget-icon-3.svg b/ui-ngx/src/assets/iot-hub/hero-widget-icon-3.svg new file mode 100644 index 0000000000..0bd4d29731 --- /dev/null +++ b/ui-ngx/src/assets/iot-hub/hero-widget-icon-3.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui-ngx/src/assets/iot-hub/hero-widget-icon-4.svg b/ui-ngx/src/assets/iot-hub/hero-widget-icon-4.svg new file mode 100644 index 0000000000..37d0c227b0 --- /dev/null +++ b/ui-ngx/src/assets/iot-hub/hero-widget-icon-4.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui-ngx/src/assets/locale/locale.constant-en_US.json b/ui-ngx/src/assets/locale/locale.constant-en_US.json index 4ebba5fd38..7b82928c68 100644 --- a/ui-ngx/src/assets/locale/locale.constant-en_US.json +++ b/ui-ngx/src/assets/locale/locale.constant-en_US.json @@ -3684,14 +3684,32 @@ "item": { "selected": "Selected", "type-widget": "Widget", + "type-widget-plural": "Widgets", "type-dashboard": "Dashboard", + "type-dashboard-plural": "Dashboards", "type-solution-template": "Solution Template", + "type-solution-template-plural": "Solution Templates", "type-calculated-field": "Calculated Field", + "type-calculated-field-plural": "Calculated Fields", "type-rule-chain": "Rule Chain", - "type-device": "Device" + "type-rule-chain-plural": "Rule Chains", + "type-device": "Device", + "type-device-plural": "Devices" }, "iot-hub": { "iot-hub": "IoT Hub", + "home-title": "ThingsBoard IoT Hub", + "home-subtitle-prefix": "Discover ready-to-use", + "and-devices": "& Devices", + "search-placeholder": "Search in IoT Hub...", + "device-library": "Device Library", + "popular-widgets": "Popular Widgets", + "popular-dashboards": "Popular Dashboards", + "popular-solution-templates": "Popular Solution Templates", + "popular-calculated-fields": "Popular Calculated Fields", + "popular-rule-chains": "Popular Rule Chains", + "become-creator-text": "Submit your templates to the ThingsBoard IoT Hub to get featured and showcase your solutions to our global community.", + "submit-template": "Submit Template", "browse": "Browse IoT Hub", "creator-profile": "Creator Profile", "title-widgets": "Widgets",