Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
d26208d
Andy/ds 6363 displacement disclaimer (#2403)
artisticlight Jan 13, 2026
1188998
bug: remove recommended product tag from science product filter
SpicyGarlicAlbacoreRoll Jan 14, 2026
218e43a
Merge pull request #2405 from asfadmin/topic-nisar-product-rec-removal
SpicyGarlicAlbacoreRoll Jan 14, 2026
d85fb8a
DS-6220 Remove file type filter for ARIA S1 GUNW
yoreley777 Jan 14, 2026
c321d14
Merge pull request #2406 from asfadmin/Yoreley-DS6220
yoreley777 Jan 14, 2026
9bdcb7a
DS-6221 ARIA GUNW: Remove campaign selector filter (#2407)
yoreley777 Jan 15, 2026
7306e86
DS-6374 Displacement: Collapse Icons when screen sizes are smaller (#…
artisticlight Jan 15, 2026
4432f75
Updated translations from Phrase
ASF-Discovery Jan 17, 2026
e100a85
Merge branch 'test' into phrase-translations
yoreley777 Jan 17, 2026
99042d3
Merge pull request #2409 from asfadmin/phrase-translations
yoreley777 Jan 17, 2026
ea8de90
WIP: On Demand Keys (#2410)
yoreley777 Jan 17, 2026
82f7f89
Updated translations from Phrase
ASF-Discovery Jan 20, 2026
d90b684
Merge branch 'test' into phrase-translations
yoreley777 Jan 20, 2026
f6945b5
Merge pull request #2413 from asfadmin/phrase-translations
yoreley777 Jan 20, 2026
f976bdb
DS-6357: Update Science Product level group display names (#2412)
yoreley777 Jan 22, 2026
f903f2b
fix: nisar browse images disabled
tylercchase Jan 22, 2026
d8e0753
fix: nisar frame coverage gear off row
tylercchase Jan 22, 2026
66b448a
fix: add CRID attribute
tylercchase Jan 22, 2026
a17c426
Merge pull request #2414 from asfadmin/tyler/nisar-fixes
SpicyGarlicAlbacoreRoll Jan 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
246 changes: 187 additions & 59 deletions src/app/components/header/header-buttons/header-buttons.component.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@if (breakpoint$ | async; as breakpoint) {
<div xmlns="http://www.w3.org/1999/html" class="fx-row">
<div class="fx-row header-buttons-container">
@if (breakpoint > breakpoints.MOBILE) {
@if (searchType$ | async; as searchType) {
@if (searchType !== searchTypes.DISPLACEMENT) {
Expand Down Expand Up @@ -71,82 +71,217 @@
</div>
</button>
}
@if (searchType === searchTypes.DISPLACEMENT) {
<app-search-button></app-search-button>
@if (
searchType === searchTypes.DISPLACEMENT &&
breakpoint === breakpoints.SMALL
) {
<!-- Drawer wrapper for Displacement + SMALL breakpoint -->
<div
#panelWrapper
class="collapsed-panel-wrapper"
[class.expanded]="isHeaderExpanded"
>
<!-- Drawer tab handle (left side of drawer) -->
<button
class="drawer-tab"
(click)="toggleHeaderExpanded(); $event.stopPropagation()"
[attr.aria-expanded]="isHeaderExpanded"
aria-controls="displacement-panel"
[attr.aria-label]="
(isHeaderExpanded ? 'COLLAPSE_PANEL' : 'EXPAND_PANEL')
| translate
"
matTooltip="{{
(isHeaderExpanded ? 'COLLAPSE_PANEL' : 'EXPAND_PANEL')
| translate
}}"
>
<mat-icon>{{
isHeaderExpanded ? 'chevron_right' : 'chevron_left'
}}</mat-icon>
</button>
<!-- Panel content (right side of drawer) -->
<div id="displacement-panel" class="collapsed-buttons-panel">
<app-search-button></app-search-button>
<button
class="spacing nav-icon-buttons nav-icon-buttons-raised panel-storymap-button"
color="basic"
mat-button
matTooltip="{{ 'STORYMAP' | translate }}"
(click)="onOpenStoryMap()"
>
<img
src="assets/StoryMaps.png"
alt="StoryMap"
class="storymap-icon"
/>
<div class="text-under faint-text text-adjust-storymap">
{{ 'STORYMAP' | translate }}
<mat-icon class="external-link-icon">open_in_new</mat-icon>
</div>
</button>
<button
class="spacing nav-icon-buttons nav-icon-buttons-raised panel-info-button"
color="basic"
mat-button
matTooltip="{{ 'DATASET_INFO' | translate }}"
(click)="onOpenOperaInfo()"
>
<mat-icon class="material-symbols-outlined large-icon"
>description</mat-icon
>
<div class="text-under faint-text text-adjust-info">
{{ 'INFO' | translate }}
<mat-icon class="external-link-icon">open_in_new</mat-icon>
</div>
</button>
<button
[matMenuTriggerFor]="helpMenu"
matTooltip="{{ 'HELP_AND_INFORMATION' | translate }}"
class="spacing nav-icon-buttons"
color="basic"
mat-button
>
<mat-icon class="large-icon">help_outline</mat-icon>
<div class="text-under faint-text">
{{ 'HELP' | translate }}
</div>
</button>
<button
[matMenuTriggerFor]="languageMenu"
matTooltip="{{ 'LANGUAGE' | translate }}"
class="spacing nav-icon-buttons disp-translate-button"
color="basic"
mat-button
>
<mat-icon class="large-icon">translate</mat-icon>
<div class="text-under faint-text">
{{ language.getName() }}
</div>
</button>
</div>
</div>
<!-- Login/Profile always visible -->
<div #loginContainer class="login-button-container">
@if (!isLoggedIn) {
<button
(click)="onAccountButtonClicked()"
class="spacing nav-icon-buttons"
color="basic"
matTooltip="{{ 'LOGIN' | translate }}"
mat-button
>
<mat-icon class="large-icon">account_circle</mat-icon>
<div class="text-under faint-text">
{{ 'SIGN_IN' | translate }}
</div>
</button>
} @else {
<button
[matMenuTriggerFor]="profileMenu"
class="spacing nav-icon-buttons"
color="basic"
matTooltip="{{ 'PROFILE' | translate }}"
mat-button
>
<mat-icon class="large-icon">account_circle</mat-icon>
<div class="text-under faint-text">{{ this.userAuth?.id }}</div>
</button>
}
</div>
}
@if (
searchType === searchTypes.DISPLACEMENT &&
breakpoint > breakpoints.SMALL
) {
<!-- Normal Displacement buttons for MEDIUM and FULL breakpoints -->
<app-search-button class="disp-search-adjust"></app-search-button>
<button
class="spacing nav-icon-buttons"
class="spacing nav-icon-buttons disp-icon-adjust panel-storymap-button"
color="basic"
mat-button
matTooltip="{{ 'STORYMAP' | translate }}"
(click)="onOpenStoryMap()"
style="padding: 0"
>
<img
src="assets/StoryMaps.png"
alt="StoryMap"
class="storymap-icon"
/>
<div class="text-under faint-text" style="margin-top: -3px">
<div class="text-under faint-text text-adjust-storymap">
{{ 'STORYMAP' | translate }}
<mat-icon class="external-link-icon">open_in_new</mat-icon>
</div>
</button>
<button class="spacing nav-icon-buttons" color="basic" mat-button>
<app-docs-modal
class="icon-description"
matTooltip="{{ 'DATASET_INFO' | translate }}"
description="description"
url="https://asf.alaska.edu/datasets/daac/opera/"
<button
class="spacing nav-icon-buttons disp-icon-adjust panel-info-button"
color="basic"
mat-button
matTooltip="{{ 'DATASET_INFO' | translate }}"
(click)="onOpenOperaInfo()"
>
<mat-icon class="material-symbols-outlined large-icon"
>description</mat-icon
>
</app-docs-modal>
<div class="text-under faint-text" style="margin-top: -3px">
<div class="text-under faint-text text-adjust-info">
{{ 'INFO' | translate }}
<mat-icon class="external-link-icon">open_in_new</mat-icon>
</div>
</button>
}
<button
[matMenuTriggerFor]="helpMenu"
matTooltip="{{ 'HELP_AND_INFORMATION' | translate }}"
class="spacing nav-icon-buttons"
color="basic"
mat-button
>
<mat-icon class="large-icon">help_outline</mat-icon>
<div class="text-under faint-text">{{ 'HELP' | translate }}</div>
</button>
<button
[matMenuTriggerFor]="languageMenu"
matTooltip="{{ 'LANGUAGE' | translate }}"
class="spacing nav-icon-buttons"
color="basic"
mat-button
>
<mat-icon class="large-icon">translate</mat-icon>
<div class="text-under faint-text">{{ language.getName() }}</div>
</button>
@if (!isLoggedIn) {
@if (
searchType !== searchTypes.DISPLACEMENT ||
breakpoint > breakpoints.SMALL
) {
<!-- Help, Language, Login for non-Displacement OR Displacement with larger breakpoints -->
<button
(click)="onAccountButtonClicked()"
[matMenuTriggerFor]="helpMenu"
matTooltip="{{ 'HELP_AND_INFORMATION' | translate }}"
class="spacing nav-icon-buttons"
color="basic"
matTooltip="{{ 'LOGIN' | translate }}"
mat-button
>
<mat-icon class="large-icon">account_circle</mat-icon>
<div class="text-under faint-text">{{ 'SIGN_IN' | translate }}</div>
<mat-icon class="large-icon">help_outline</mat-icon>
<div class="text-under faint-text">{{ 'HELP' | translate }}</div>
</button>
}
@if (isLoggedIn) {
<button
[matMenuTriggerFor]="profileMenu"
[matMenuTriggerFor]="languageMenu"
matTooltip="{{ 'LANGUAGE' | translate }}"
class="spacing nav-icon-buttons"
[class.disp-translate-button]="
searchType === searchTypes.DISPLACEMENT
"
color="basic"
matTooltip="{{ 'PROFILE' | translate }}"
mat-button
>
<mat-icon class="large-icon">account_circle</mat-icon>
<div class="text-under faint-text">{{ this.userAuth.id }}</div>
<mat-icon class="large-icon">translate</mat-icon>
<div class="text-under faint-text">{{ language.getName() }}</div>
</button>
@if (!isLoggedIn) {
<button
(click)="onAccountButtonClicked()"
class="spacing nav-icon-buttons"
color="basic"
matTooltip="{{ 'LOGIN' | translate }}"
mat-button
>
<mat-icon class="large-icon">account_circle</mat-icon>
<div class="text-under faint-text">
{{ 'SIGN_IN' | translate }}
</div>
</button>
} @else {
<button
[matMenuTriggerFor]="profileMenu"
class="spacing nav-icon-buttons"
color="basic"
matTooltip="{{ 'PROFILE' | translate }}"
mat-button
>
<mat-icon class="large-icon">account_circle</mat-icon>
<div class="text-under faint-text">{{ this.userAuth?.id }}</div>
</button>
}
}
}
}
Expand Down Expand Up @@ -211,8 +346,7 @@
>
account_circle
</mat-icon>
}
@if (isLoggedIn) {
} @else {
<mat-icon class="mobile-icon-spacing" [matMenuTriggerFor]="profileMenu">
account_circle
</mat-icon>
Expand Down Expand Up @@ -256,8 +390,7 @@
<mat-icon>video_library</mat-icon>
{{ 'VIDEO_TUTORIALS' | translate }}
</div>
}
@if ((breakpoint$ | async) !== breakpoints.MOBILE) {
} @else {
<div class="menu-item">
<div class="menu-item-content">
<div class="item-title">{{ 'WATCH_OUR_TUTORIALS' | translate }}</div>
Expand All @@ -283,8 +416,7 @@
<mat-icon>menu_book</mat-icon>
{{ 'VERTEX_USER_GUIDE' | translate }}
</div>
}
@if ((breakpoint$ | async) !== breakpoints.MOBILE) {
} @else {
<div class="menu-item">
<div class="menu-item-content">
<div class="item-title">{{ 'READ_OUR_USER_GUIDE' | translate }}</div>
Expand All @@ -311,8 +443,7 @@
<mat-icon>book</mat-icon>
{{ 'HY_P3_USER_GUIDE' | translate | titlecase }}
</div>
}
@if ((breakpoint$ | async) !== breakpoints.MOBILE) {
} @else {
<div class="menu-item">
<div class="menu-item-content">
<div class="item-title">
Expand Down Expand Up @@ -341,8 +472,7 @@
<mat-icon>api</mat-icon>
{{ 'ASF_SEARCH_API' | translate }}
</div>
}
@if ((breakpoint$ | async) !== breakpoints.MOBILE) {
} @else {
<div class="menu-item">
<div class="menu-item-content">
<div class="item-title">
Expand Down Expand Up @@ -375,8 +505,7 @@
<mat-icon>language</mat-icon>
{{ 'ASF_WEBSITE' | translate }}
</div>
}
@if ((breakpoint$ | async) !== breakpoints.MOBILE) {
} @else {
<div class="menu-item">
<div class="menu-item-content">
<div class="item-title">
Expand Down Expand Up @@ -404,8 +533,7 @@
<mat-icon>language</mat-icon>
{{ 'DEVELOPER' | translate }}
</div>
}
@if ((breakpoint$ | async) !== breakpoints.MOBILE) {
} @else {
<div class="menu-item">
<div class="menu-item-content">
<div class="item-title">
Expand Down
Loading
Loading