diff --git a/apps/lfx-one/src/app/layouts/main-layout/main-layout.component.html b/apps/lfx-one/src/app/layouts/main-layout/main-layout.component.html index 3436a010..6a179a9e 100644 --- a/apps/lfx-one/src/app/layouts/main-layout/main-layout.component.html +++ b/apps/lfx-one/src/app/layouts/main-layout/main-layout.component.html @@ -30,9 +30,13 @@

Menu

} -
- - - +
+
+
+ +
+ + +
diff --git a/apps/lfx-one/src/app/modules/dashboards/board-member/board-member-dashboard.component.html b/apps/lfx-one/src/app/modules/dashboards/board-member/board-member-dashboard.component.html index e71e9d8a..f753f515 100644 --- a/apps/lfx-one/src/app/modules/dashboards/board-member/board-member-dashboard.component.html +++ b/apps/lfx-one/src/app/modules/dashboards/board-member/board-member-dashboard.component.html @@ -1,11 +1,11 @@ -
+
@if (selectedFoundation()) {
-

{{ selectedFoundation()?.name }} Overview

+

{{ selectedFoundation()?.name }} Overview

} diff --git a/apps/lfx-one/src/app/modules/dashboards/components/foundation-health/foundation-health.component.html b/apps/lfx-one/src/app/modules/dashboards/components/foundation-health/foundation-health.component.html index 82bf6e84..7b2a9c67 100644 --- a/apps/lfx-one/src/app/modules/dashboards/components/foundation-health/foundation-health.component.html +++ b/apps/lfx-one/src/app/modules/dashboards/components/foundation-health/foundation-health.component.html @@ -4,7 +4,7 @@
-

{{ title() }}

+

{{ title() }}

{{ title() }}
-
-
+
+ + @if (canScrollLeft()) { + + } + + + @if (canScrollRight()) { + + } + +
@for (card of metricCards(); track card.title) { -
+
-
{{ card.title }}
+

{{ card.title }}

@@ -72,12 +82,14 @@
{{ card.title }}
@case ('top-projects') { @if (card.topProjects) { -
-
Top 3 Projects by Value
+
+
+ Top 3 Projects by Value +
@for (project of card.topProjects; track project.name) { -
- {{ project.name }} - {{ project.formattedValue }} +
+ {{ project.name }} + {{ project.formattedValue }}
}
@@ -137,7 +149,7 @@
{{ card.title }}
{{ card.value }}
} @if (card.subtitle) { -
{{ card.subtitle }}
+
{{ card.subtitle }}
}
} diff --git a/apps/lfx-one/src/app/modules/dashboards/components/foundation-health/foundation-health.component.ts b/apps/lfx-one/src/app/modules/dashboards/components/foundation-health/foundation-health.component.ts index 5e3f4157..0dce6656 100644 --- a/apps/lfx-one/src/app/modules/dashboards/components/foundation-health/foundation-health.component.ts +++ b/apps/lfx-one/src/app/modules/dashboards/components/foundation-health/foundation-health.component.ts @@ -2,7 +2,7 @@ // SPDX-License-Identifier: MIT import { CommonModule } from '@angular/common'; -import { Component, computed, ElementRef, signal, ViewChild, input } from '@angular/core'; +import { AfterViewInit, Component, computed, ElementRef, signal, ViewChild, input } from '@angular/core'; import { ChartComponent } from '@components/chart/chart.component'; import { FilterOption, FilterPillsComponent } from '@components/filter-pills/filter-pills.component'; import { AGGREGATE_FOUNDATION_METRICS, FOUNDATION_SPARKLINE_CHART_OPTIONS, FOUNDATION_BAR_CHART_OPTIONS } from '@lfx-one/shared/constants'; @@ -16,11 +16,14 @@ import { hexToRgba } from '@lfx-one/shared/utils'; templateUrl: './foundation-health.component.html', styleUrl: './foundation-health.component.scss', }) -export class FoundationHealthComponent { +export class FoundationHealthComponent implements AfterViewInit { @ViewChild('carouselScroll') public carouselScrollContainer!: ElementRef; public readonly title = input('Foundation Health'); + public readonly canScrollLeft = signal(false); + public readonly canScrollRight = signal(false); + public readonly selectedFilter = signal('all'); public readonly filterOptions: FilterOption[] = [ @@ -34,6 +37,11 @@ export class FoundationHealthComponent { public readonly barChartOptions = FOUNDATION_BAR_CHART_OPTIONS; + public ngAfterViewInit(): void { + // Initialize scroll state after view is ready + setTimeout(() => this.onScroll(), 0); + } + private readonly allMetricCards = computed(() => { const metrics = AGGREGATE_FOUNDATION_METRICS; @@ -62,7 +70,7 @@ export class FoundationHealthComponent { icon: 'fa-light fa-chart-bar', title: 'Software Value', value: this.formatSoftwareValue(metrics.softwareValue), - subtitle: 'Estimated total value of software managed', + subtitle: "Estimated total value of all foundation's projects", category: 'projects' as MetricCategory, testId: 'foundation-health-card-software-value', customContentType: 'top-projects', @@ -168,6 +176,18 @@ export class FoundationHealthComponent { container.scrollBy({ left: 320, behavior: 'smooth' }); } + public onScroll(): void { + if (!this.carouselScrollContainer?.nativeElement) return; + const container = this.carouselScrollContainer.nativeElement; + + // Check if can scroll left (not at the start) + this.canScrollLeft.set(container.scrollLeft > 0); + + // Check if can scroll right (not at the end) + const maxScrollLeft = container.scrollWidth - container.clientWidth; + this.canScrollRight.set(container.scrollLeft < maxScrollLeft - 1); + } + private formatSoftwareValue(valueInMillions: number): string { if (valueInMillions >= 1000) { const billions = valueInMillions / 1000; diff --git a/apps/lfx-one/src/app/modules/dashboards/components/my-meetings/my-meetings.component.html b/apps/lfx-one/src/app/modules/dashboards/components/my-meetings/my-meetings.component.html index 2f0b9131..d21f008b 100644 --- a/apps/lfx-one/src/app/modules/dashboards/components/my-meetings/my-meetings.component.html +++ b/apps/lfx-one/src/app/modules/dashboards/components/my-meetings/my-meetings.component.html @@ -4,7 +4,7 @@
-

My Meetings

+

My Meetings

My Meetings
-
+
@if (loading()) {
} @else { -
+ + @if (canScrollUp()) { +
+ } + + + @if (canScrollDown()) { +
+ } + +
@if (todayMeetings().length > 0 || upcomingMeetings().length > 0) { @if (todayMeetings().length > 0) {
-

Today

+

Today

@for (item of todayMeetings(); track item.meeting.uid) { Today @if (upcomingMeetings().length > 0) {
-

Upcoming

+

Upcoming

@for (item of upcomingMeetings(); track item.meeting.uid) { this.loading.set(false))), { initialValue: [] }); + public readonly canScrollUp = signal(false); + public readonly canScrollDown = signal(false); + + public ngAfterViewInit(): void { + // Initialize scroll state after view is ready + setTimeout(() => this.onScroll(), 0); + } + + public onScroll(): void { + if (!this.scrollContainer?.nativeElement) return; + const container = this.scrollContainer.nativeElement; + + // Check if can scroll up (not at the top) + this.canScrollUp.set(container.scrollTop > 0); + + // Check if can scroll down (not at the bottom) + const maxScrollTop = container.scrollHeight - container.clientHeight; + this.canScrollDown.set(container.scrollTop < maxScrollTop - 1); + } + protected readonly todayMeetings = computed(() => { const now = new Date(); const today = new Date(now.getFullYear(), now.getMonth(), now.getDate()); diff --git a/apps/lfx-one/src/app/modules/dashboards/components/my-projects/my-projects.component.html b/apps/lfx-one/src/app/modules/dashboards/components/my-projects/my-projects.component.html index b2b38aae..ee416cb3 100644 --- a/apps/lfx-one/src/app/modules/dashboards/components/my-projects/my-projects.component.html +++ b/apps/lfx-one/src/app/modules/dashboards/components/my-projects/my-projects.component.html @@ -3,10 +3,10 @@
-

My Projects

+

My Projects

-
+
@if (loading()) {
diff --git a/apps/lfx-one/src/app/modules/dashboards/components/organization-involvement/organization-involvement.component.html b/apps/lfx-one/src/app/modules/dashboards/components/organization-involvement/organization-involvement.component.html index 98b5d7a5..449f878d 100644 --- a/apps/lfx-one/src/app/modules/dashboards/components/organization-involvement/organization-involvement.component.html +++ b/apps/lfx-one/src/app/modules/dashboards/components/organization-involvement/organization-involvement.component.html @@ -4,7 +4,7 @@
-

{{ accountName() }}'s Involvement

+

{{ accountName() }}'s Involvement

@@ -49,18 +49,28 @@

{{ accountName() }}'s

} @else { -
-
+
+ + @if (canScrollLeft()) { + + } + + + @if (canScrollRight()) { + + } + +
@for (metric of primaryMetrics(); track metric.title) { @if (metric.isMembershipTier) {
-
{{ metric.title }}
+

{{ metric.title }}

@@ -84,11 +94,11 @@
{{ metric.title }}
} @else { -
+
-
{{ metric.title }}
+

{{ metric.title }}

@if (metric.chartData) {
diff --git a/apps/lfx-one/src/app/modules/dashboards/components/organization-involvement/organization-involvement.component.ts b/apps/lfx-one/src/app/modules/dashboards/components/organization-involvement/organization-involvement.component.ts index fe120bf5..4e7a900e 100644 --- a/apps/lfx-one/src/app/modules/dashboards/components/organization-involvement/organization-involvement.component.ts +++ b/apps/lfx-one/src/app/modules/dashboards/components/organization-involvement/organization-involvement.component.ts @@ -2,7 +2,7 @@ // SPDX-License-Identifier: MIT import { CommonModule } from '@angular/common'; -import { Component, computed, ElementRef, inject, signal, ViewChild } from '@angular/core'; +import { AfterViewInit, Component, computed, ElementRef, inject, signal, ViewChild } from '@angular/core'; import { toObservable, toSignal } from '@angular/core/rxjs-interop'; import { AccountContextService } from '@app/shared/services/account-context.service'; import { AnalyticsService } from '@app/shared/services/analytics.service'; @@ -22,13 +22,16 @@ import { combineLatest, finalize, map, of, switchMap } from 'rxjs'; templateUrl: './organization-involvement.component.html', styleUrl: './organization-involvement.component.scss', }) -export class OrganizationInvolvementComponent { +export class OrganizationInvolvementComponent implements AfterViewInit { @ViewChild('carouselScroll') public carouselScrollContainer!: ElementRef; private readonly analyticsService = inject(AnalyticsService); private readonly accountContextService = inject(AccountContextService); private readonly projectContextService = inject(ProjectContextService); + public readonly canScrollLeft = signal(false); + public readonly canScrollRight = signal(false); + private readonly contributionsLoading = signal(true); private readonly dashboardLoading = signal(true); private readonly eventsLoading = signal(true); @@ -50,6 +53,11 @@ export class OrganizationInvolvementComponent { { id: 'education', label: 'Education' }, ]; + public ngAfterViewInit(): void { + // Initialize scroll state after view is ready + setTimeout(() => this.onScroll(), 0); + } + public readonly primaryMetrics = computed((): OrganizationInvolvementMetricWithChart[] => { const contributionsData = this.contributionsOverviewData(); const dashboardData = this.boardMemberDashboardData(); @@ -121,6 +129,18 @@ export class OrganizationInvolvementComponent { container.scrollBy({ left: 300, behavior: 'smooth' }); } + public onScroll(): void { + if (!this.carouselScrollContainer?.nativeElement) return; + const container = this.carouselScrollContainer.nativeElement; + + // Check if can scroll left (not at the start) + this.canScrollLeft.set(container.scrollLeft > 0); + + // Check if can scroll right (not at the end) + const maxScrollLeft = container.scrollWidth - container.clientWidth; + this.canScrollRight.set(container.scrollLeft < maxScrollLeft - 1); + } + private initializeContributionsOverviewData() { return toSignal( this.selectedAccountId$.pipe( diff --git a/apps/lfx-one/src/app/modules/dashboards/components/pending-actions/pending-actions.component.html b/apps/lfx-one/src/app/modules/dashboards/components/pending-actions/pending-actions.component.html index 06f2a762..cb25727d 100644 --- a/apps/lfx-one/src/app/modules/dashboards/components/pending-actions/pending-actions.component.html +++ b/apps/lfx-one/src/app/modules/dashboards/components/pending-actions/pending-actions.component.html @@ -4,7 +4,7 @@
-

Pending Actions

+

Pending Actions

Pending Actions
-
-
+
+ + @if (canScrollUp()) { +
+ } + + + @if (canScrollDown()) { +
+ } + +
+
@for (item of pendingActions(); track item.text) {
- -
-
-
- -
- - {{ item.type }} - -
+ +
- {{ item.badge }} + class="inline-flex items-center gap-1.5 px-2 py-1 rounded text-xs" + [ngClass]="{ + 'bg-amber-100 text-amber-700': item.color === 'amber', + 'bg-blue-100 text-blue-700': item.color === 'blue', + 'bg-green-100 text-green-700': item.color === 'green', + 'bg-purple-100 text-purple-700': item.color === 'purple', + }"> + + {{ item.type }}
-

+

{{ item.text }} -

+

@@ -83,6 +72,7 @@

Pending Actions

} +
diff --git a/apps/lfx-one/src/app/modules/dashboards/components/pending-actions/pending-actions.component.ts b/apps/lfx-one/src/app/modules/dashboards/components/pending-actions/pending-actions.component.ts index fa0e5a7f..fb8f1760 100644 --- a/apps/lfx-one/src/app/modules/dashboards/components/pending-actions/pending-actions.component.ts +++ b/apps/lfx-one/src/app/modules/dashboards/components/pending-actions/pending-actions.component.ts @@ -2,7 +2,7 @@ // SPDX-License-Identifier: MIT import { CommonModule } from '@angular/common'; -import { Component, computed, inject, output } from '@angular/core'; +import { AfterViewInit, Component, computed, ElementRef, inject, output, signal, ViewChild } from '@angular/core'; import { PersonaService } from '@app/shared/services/persona.service'; import { ButtonComponent } from '@components/button/button.component'; import { BOARD_MEMBER_ACTION_ITEMS, CORE_DEVELOPER_ACTION_ITEMS, MAINTAINER_ACTION_ITEMS } from '@lfx-one/shared/constants'; @@ -16,12 +16,17 @@ import type { PendingActionItem } from '@lfx-one/shared/interfaces'; templateUrl: './pending-actions.component.html', styleUrl: './pending-actions.component.scss', }) -export class PendingActionsComponent { +export class PendingActionsComponent implements AfterViewInit { + @ViewChild('scrollContainer') private scrollContainer!: ElementRef; + private readonly personaService = inject(PersonaService); public readonly actionClick = output(); public readonly viewAll = output(); + public readonly canScrollUp = signal(false); + public readonly canScrollDown = signal(false); + /** * Computed signal that returns action items based on the current persona */ @@ -39,6 +44,23 @@ export class PendingActionsComponent { } }); + public ngAfterViewInit(): void { + // Initialize scroll state after view is ready + setTimeout(() => this.onScroll(), 0); + } + + public onScroll(): void { + if (!this.scrollContainer?.nativeElement) return; + const container = this.scrollContainer.nativeElement; + + // Check if can scroll up (not at the top) + this.canScrollUp.set(container.scrollTop > 0); + + // Check if can scroll down (not at the bottom) + const maxScrollTop = container.scrollHeight - container.clientHeight; + this.canScrollDown.set(container.scrollTop < maxScrollTop - 1); + } + public handleViewAll(): void { this.viewAll.emit(); } diff --git a/apps/lfx-one/src/app/modules/dashboards/components/recent-progress/recent-progress.component.html b/apps/lfx-one/src/app/modules/dashboards/components/recent-progress/recent-progress.component.html index a8f06f57..c61ce959 100644 --- a/apps/lfx-one/src/app/modules/dashboards/components/recent-progress/recent-progress.component.html +++ b/apps/lfx-one/src/app/modules/dashboards/components/recent-progress/recent-progress.component.html @@ -4,7 +4,7 @@
-

📈 Recent Progress

+

📈 Recent Progress

@if (showFilterPills()) { @@ -44,16 +44,26 @@

📈 -
+
+ + @if (canScrollLeft()) { + + } + + + @if (canScrollRight()) { + + } + +
@for (item of filteredProgressItems(); track item.label) { -
+
@if (item.icon) { } -
{{ item.label }}
+

{{ item.label }}

(false); + public readonly canScrollRight = signal(false); + private readonly personaService = inject(PersonaService); private readonly analyticsService = inject(AnalyticsService); private readonly projectContextService = inject(ProjectContextService); @@ -90,6 +93,11 @@ export class RecentProgressComponent { { id: 'projectHealth', label: 'Project Health' }, ]; + public ngAfterViewInit(): void { + // Initialize scroll state after view is ready + setTimeout(() => this.onScroll(), 0); + } + protected setFilter(filter: string): void { this.selectedFilter.set(filter); // Reset scroll position when filter changes @@ -108,6 +116,18 @@ export class RecentProgressComponent { container.scrollBy({ left: 300, behavior: 'smooth' }); } + public onScroll(): void { + if (!this.progressScrollContainer?.nativeElement) return; + const container = this.progressScrollContainer.nativeElement; + + // Check if can scroll left (not at the start) + this.canScrollLeft.set(container.scrollLeft > 0); + + // Check if can scroll right (not at the end) + const maxScrollLeft = container.scrollWidth - container.clientWidth; + this.canScrollRight.set(container.scrollLeft < maxScrollLeft - 1); + } + private transformActiveWeeksStreak(data: ActiveWeeksStreakResponse): ProgressItemWithChart { const chartData = data.data; diff --git a/apps/lfx-one/src/app/modules/dashboards/core-developer/core-developer-dashboard.component.html b/apps/lfx-one/src/app/modules/dashboards/core-developer/core-developer-dashboard.component.html index c32e5951..b2d77ac2 100644 --- a/apps/lfx-one/src/app/modules/dashboards/core-developer/core-developer-dashboard.component.html +++ b/apps/lfx-one/src/app/modules/dashboards/core-developer/core-developer-dashboard.component.html @@ -1,11 +1,11 @@ -
+
@if (selectedFoundation()) {
-

{{ selectedFoundation()?.name }} Overview

+

{{ selectedFoundation()?.name }} Overview

} diff --git a/apps/lfx-one/src/app/modules/dashboards/maintainer/maintainer-dashboard.component.html b/apps/lfx-one/src/app/modules/dashboards/maintainer/maintainer-dashboard.component.html index 18386e7e..67d6c30d 100644 --- a/apps/lfx-one/src/app/modules/dashboards/maintainer/maintainer-dashboard.component.html +++ b/apps/lfx-one/src/app/modules/dashboards/maintainer/maintainer-dashboard.component.html @@ -1,11 +1,11 @@ -
+
@if (selectedProject()) {
-

{{ selectedProject()?.name }} Overview

+

{{ selectedProject()?.name }} Overview

} diff --git a/apps/lfx-one/src/app/modules/meetings/meeting-join/meeting-join.component.html b/apps/lfx-one/src/app/modules/meetings/meeting-join/meeting-join.component.html index 846311f2..18f22f28 100644 --- a/apps/lfx-one/src/app/modules/meetings/meeting-join/meeting-join.component.html +++ b/apps/lfx-one/src/app/modules/meetings/meeting-join/meeting-join.component.html @@ -5,7 +5,7 @@
-
+
@if (project()?.logo_url) {
@@ -272,7 +272,7 @@

Resources

@if (authenticated() && user(); as user) {
-

I am signed in as:

+

You are signed in as:

@@ -285,12 +285,6 @@

Resources

{{ user.name }}

{{ user.email }}

- - - - - Log Out -
} @else { diff --git a/apps/lfx-one/src/app/modules/meetings/meetings-dashboard/meetings-dashboard.component.html b/apps/lfx-one/src/app/modules/meetings/meetings-dashboard/meetings-dashboard.component.html index 282aad56..dd37384e 100644 --- a/apps/lfx-one/src/app/modules/meetings/meetings-dashboard/meetings-dashboard.component.html +++ b/apps/lfx-one/src/app/modules/meetings/meetings-dashboard/meetings-dashboard.component.html @@ -1,7 +1,7 @@ -
+
Meetings @@ -16,7 +16,7 @@ }
-
+
diff --git a/apps/lfx-one/src/app/modules/pages/home/home.component.html b/apps/lfx-one/src/app/modules/pages/home/home.component.html index 6353e570..06027b8a 100644 --- a/apps/lfx-one/src/app/modules/pages/home/home.component.html +++ b/apps/lfx-one/src/app/modules/pages/home/home.component.html @@ -1,7 +1,7 @@ -
+

Your personalized control panel for managing projects, committees, and meetings. @@ -22,7 +22,7 @@

+

We couldn't find any projects or project resources matching "{{ form.get('search')?.value }} +

} -
+
@if (projects().length > 0) {
@for (project of filteredProjects(); track project.uid; let i = $index) { diff --git a/apps/lfx-one/src/app/modules/profile/developer/profile-developer.component.html b/apps/lfx-one/src/app/modules/profile/developer/profile-developer.component.html index a65962b7..b02bde8e 100644 --- a/apps/lfx-one/src/app/modules/profile/developer/profile-developer.component.html +++ b/apps/lfx-one/src/app/modules/profile/developer/profile-developer.component.html @@ -1,7 +1,7 @@ -
+
diff --git a/apps/lfx-one/src/app/modules/profile/edit/profile-edit.component.html b/apps/lfx-one/src/app/modules/profile/edit/profile-edit.component.html index 9a0cfd6b..3b57b5dc 100644 --- a/apps/lfx-one/src/app/modules/profile/edit/profile-edit.component.html +++ b/apps/lfx-one/src/app/modules/profile/edit/profile-edit.component.html @@ -1,7 +1,7 @@ -
+
@if (isLoading()) {
diff --git a/apps/lfx-one/src/app/modules/profile/email/profile-email.component.html b/apps/lfx-one/src/app/modules/profile/email/profile-email.component.html index 74d83770..5112099f 100644 --- a/apps/lfx-one/src/app/modules/profile/email/profile-email.component.html +++ b/apps/lfx-one/src/app/modules/profile/email/profile-email.component.html @@ -1,7 +1,7 @@ -
+
@if (loading()) {
diff --git a/apps/lfx-one/src/app/modules/profile/password/profile-password.component.html b/apps/lfx-one/src/app/modules/profile/password/profile-password.component.html index 28b19705..8f6cf53e 100644 --- a/apps/lfx-one/src/app/modules/profile/password/profile-password.component.html +++ b/apps/lfx-one/src/app/modules/profile/password/profile-password.component.html @@ -1,7 +1,7 @@ -
+
diff --git a/apps/lfx-one/src/app/modules/project/committees/committee-dashboard/committee-dashboard.component.html b/apps/lfx-one/src/app/modules/project/committees/committee-dashboard/committee-dashboard.component.html index 9a9cfb95..8769a564 100644 --- a/apps/lfx-one/src/app/modules/project/committees/committee-dashboard/committee-dashboard.component.html +++ b/apps/lfx-one/src/app/modules/project/committees/committee-dashboard/committee-dashboard.component.html @@ -1,7 +1,7 @@ -
+
@if (committeesLoading()) {
diff --git a/apps/lfx-one/src/app/modules/project/committees/committee-view/committee-view.component.html b/apps/lfx-one/src/app/modules/project/committees/committee-view/committee-view.component.html index b298d08a..2e696451 100644 --- a/apps/lfx-one/src/app/modules/project/committees/committee-view/committee-view.component.html +++ b/apps/lfx-one/src/app/modules/project/committees/committee-view/committee-view.component.html @@ -1,7 +1,7 @@ -
+
@if (loading()) {
diff --git a/apps/lfx-one/src/app/modules/project/dashboard/project-dashboard/project.component.html b/apps/lfx-one/src/app/modules/project/dashboard/project-dashboard/project.component.html index 2a6cd00c..08737d3c 100644 --- a/apps/lfx-one/src/app/modules/project/dashboard/project-dashboard/project.component.html +++ b/apps/lfx-one/src/app/modules/project/dashboard/project-dashboard/project.component.html @@ -1,7 +1,7 @@ -
+
@if (project()?.uid) {
diff --git a/apps/lfx-one/src/app/modules/project/mailing-lists/mailing-list-dashboard/mailing-list-dashboard.component.html b/apps/lfx-one/src/app/modules/project/mailing-lists/mailing-list-dashboard/mailing-list-dashboard.component.html index 0e888a53..19677c99 100644 --- a/apps/lfx-one/src/app/modules/project/mailing-lists/mailing-list-dashboard/mailing-list-dashboard.component.html +++ b/apps/lfx-one/src/app/modules/project/mailing-lists/mailing-list-dashboard/mailing-list-dashboard.component.html @@ -1,7 +1,7 @@ -
+
diff --git a/apps/lfx-one/src/app/modules/project/meetings/meeting-dashboard/meeting-dashboard.component.html b/apps/lfx-one/src/app/modules/project/meetings/meeting-dashboard/meeting-dashboard.component.html index 2c759c42..98ee6d32 100644 --- a/apps/lfx-one/src/app/modules/project/meetings/meeting-dashboard/meeting-dashboard.component.html +++ b/apps/lfx-one/src/app/modules/project/meetings/meeting-dashboard/meeting-dashboard.component.html @@ -1,7 +1,7 @@ -
+
@if (meetingsLoading()) {
diff --git a/apps/lfx-one/src/app/modules/project/settings/settings-dashboard/settings-dashboard.component.html b/apps/lfx-one/src/app/modules/project/settings/settings-dashboard/settings-dashboard.component.html index dafc6e62..815e6ae8 100644 --- a/apps/lfx-one/src/app/modules/project/settings/settings-dashboard/settings-dashboard.component.html +++ b/apps/lfx-one/src/app/modules/project/settings/settings-dashboard/settings-dashboard.component.html @@ -1,7 +1,7 @@ -
+
diff --git a/apps/lfx-one/src/app/shared/components/dashboard-meeting-card/dashboard-meeting-card.component.html b/apps/lfx-one/src/app/shared/components/dashboard-meeting-card/dashboard-meeting-card.component.html index b1ff8a94..2b504d80 100644 --- a/apps/lfx-one/src/app/shared/components/dashboard-meeting-card/dashboard-meeting-card.component.html +++ b/apps/lfx-one/src/app/shared/components/dashboard-meeting-card/dashboard-meeting-card.component.html @@ -3,13 +3,8 @@
- -
@@ -21,9 +16,9 @@
-

+

{{ meetingTitle() }} -

+

diff --git a/apps/lfx-one/src/app/shared/components/meeting-card/meeting-card.component.ts b/apps/lfx-one/src/app/shared/components/meeting-card/meeting-card.component.ts index ba8a3061..2e0b49f4 100644 --- a/apps/lfx-one/src/app/shared/components/meeting-card/meeting-card.component.ts +++ b/apps/lfx-one/src/app/shared/components/meeting-card/meeting-card.component.ts @@ -588,10 +588,10 @@ export class MeetingCardComponent implements OnInit { const config = type ? (MEETING_TYPE_CONFIGS[type] ?? DEFAULT_MEETING_TYPE_CONFIG) : DEFAULT_MEETING_TYPE_CONFIG; const leftBorderColor = config.borderColor; - const baseClasses = 'bg-white rounded-lg border-t border-r border-b border-l-4'; - const styleClasses = 'shadow-sm hover:shadow-md h-full transition-all duration-300'; + const baseClasses = 'bg-white rounded-lg'; + const styleClasses = 'shadow-[0px_1px_2px_-1px_rgba(0,0,0,0.10),0px_1px_3px_0px_rgba(0,0,0,0.10)] hover:shadow-md h-full transition-all duration-300'; - return `${baseClasses} ${leftBorderColor} ${styleClasses}`; + return `${baseClasses} ${styleClasses}`; }); } diff --git a/apps/lfx-one/src/app/shared/components/rsvp-button-group/rsvp-button-group.component.html b/apps/lfx-one/src/app/shared/components/rsvp-button-group/rsvp-button-group.component.html index 9828f03b..5713ed54 100644 --- a/apps/lfx-one/src/app/shared/components/rsvp-button-group/rsvp-button-group.component.html +++ b/apps/lfx-one/src/app/shared/components/rsvp-button-group/rsvp-button-group.component.html @@ -2,57 +2,70 @@ -
- - +
@if (showHeader()) {
-

RSVP for This Meeting

+

RSVP

}
- - + + Yes + - - + + No + - - + + Maybe +
diff --git a/apps/lfx-one/src/app/shared/components/rsvp-button-group/rsvp-button-group.component.ts b/apps/lfx-one/src/app/shared/components/rsvp-button-group/rsvp-button-group.component.ts index 83c5bc31..380a51b4 100644 --- a/apps/lfx-one/src/app/shared/components/rsvp-button-group/rsvp-button-group.component.ts +++ b/apps/lfx-one/src/app/shared/components/rsvp-button-group/rsvp-button-group.component.ts @@ -5,7 +5,6 @@ import { CommonModule } from '@angular/common'; import { HttpErrorResponse } from '@angular/common/http'; import { Component, computed, inject, input, InputSignal, output, OutputEmitterRef, Signal, signal, WritableSignal } from '@angular/core'; import { toObservable, toSignal } from '@angular/core/rxjs-interop'; -import { ButtonComponent } from '@components/button/button.component'; import { RsvpScopeModalComponent } from '@components/rsvp-scope-modal/rsvp-scope-modal.component'; import { CreateMeetingRsvpRequest, Meeting, MeetingRsvp, RsvpResponse, RsvpScope, User } from '@lfx-one/shared'; import { MeetingService } from '@services/meeting.service'; @@ -17,7 +16,7 @@ import { catchError, combineLatest, finalize, of, switchMap, tap } from 'rxjs'; @Component({ selector: 'lfx-rsvp-button-group', standalone: true, - imports: [CommonModule, ButtonComponent], + imports: [CommonModule], providers: [DialogService], templateUrl: './rsvp-button-group.component.html', }) diff --git a/apps/lfx-one/src/app/shared/components/sidebar/sidebar.component.html b/apps/lfx-one/src/app/shared/components/sidebar/sidebar.component.html index e08121a4..ee02dc81 100644 --- a/apps/lfx-one/src/app/shared/components/sidebar/sidebar.component.html +++ b/apps/lfx-one/src/app/shared/components/sidebar/sidebar.component.html @@ -2,7 +2,7 @@