Merge pull request #4471 from mempool/nymkappa/fix-one-bug-add-two-more
Various fixes and improvements
This commit is contained in:
		
						commit
						025788e78c
					
				@ -0,0 +1,16 @@
 | 
			
		||||
<div id="become-sponsor-container">
 | 
			
		||||
  <div class="become-sponsor community">
 | 
			
		||||
    <p style="font-weight: 700; font-size: 18px;">If you're an individual...</p>
 | 
			
		||||
    <a href="https://mempool.space/sponsor" class="btn" style="background-color: rgba(152, 88, 255, 0.75); box-shadow: 0px 0px 50px 5px rgba(152, 88, 255, 0.75)" i18n="about.community-sponsor-button" (click)="onSponsorClick($event)">Become a Community Sponsor</a>
 | 
			
		||||
    <p class="sponsor-feature"><fa-icon [icon]="['fas', 'check']"></fa-icon> Exclusive swag</p>
 | 
			
		||||
    <p class="sponsor-feature"><fa-icon [icon]="['fas', 'check']"></fa-icon> Your avatar on the About page</p>
 | 
			
		||||
    <p class="sponsor-feature"><fa-icon [icon]="['fas', 'check']"></fa-icon> And more coming soon :)</p>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div class="become-sponsor enterprise">
 | 
			
		||||
    <p style="font-weight: 700; font-size: 18px;">If you're a business...</p>
 | 
			
		||||
    <a href="https://mempool.space/enterprise" class="btn" style="background-color: rgba(152, 88, 255, 0.75); box-shadow: 0px 0px 50px 5px rgba(152, 88, 255, 0.75)" i18n="about.enterprise-sponsor-button" (click)="onEnterpriseClick($event)">Become an Enterprise Sponsor</a>
 | 
			
		||||
    <p class="sponsor-feature"><fa-icon [icon]="['fas', 'check']"></fa-icon> Increased API limits</p>
 | 
			
		||||
    <p class="sponsor-feature"><fa-icon [icon]="['fas', 'check']"></fa-icon> Co-branded instance</p>
 | 
			
		||||
    <p class="sponsor-feature"><fa-icon [icon]="['fas', 'check']"></fa-icon> 99% service-level agreement</p>
 | 
			
		||||
  </div>
 | 
			
		||||
</div>
 | 
			
		||||
@ -0,0 +1,45 @@
 | 
			
		||||
#become-sponsor-container {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  flex-direction: row;
 | 
			
		||||
  flex-wrap: nowrap;
 | 
			
		||||
  justify-content: center;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
  gap: 20px;
 | 
			
		||||
  margin: 68px auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.become-sponsor {
 | 
			
		||||
  background-color: #1d1f31;
 | 
			
		||||
  border-radius: 16px;
 | 
			
		||||
  padding: 12px 20px;
 | 
			
		||||
  width: 400px;
 | 
			
		||||
  padding: 40px 20px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.become-sponsor a {
 | 
			
		||||
  margin-top: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#become-sponsor-container .btn {
 | 
			
		||||
  margin-bottom: 24px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#become-sponsor-container .ng-fa-icon {
 | 
			
		||||
  color: #2ecc71;
 | 
			
		||||
  margin-right: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#become-sponsor-container .sponsor-feature {
 | 
			
		||||
  text-align: left;
 | 
			
		||||
  width: 250px;
 | 
			
		||||
  margin: 12px auto;
 | 
			
		||||
  white-space: nowrap;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (max-width: 992px) {
 | 
			
		||||
 | 
			
		||||
  #become-sponsor-container {
 | 
			
		||||
    flex-wrap: wrap;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,22 @@
 | 
			
		||||
import { Component } from '@angular/core';
 | 
			
		||||
import { EnterpriseService } from '../../services/enterprise.service';
 | 
			
		||||
 | 
			
		||||
@Component({
 | 
			
		||||
  selector: 'app-about-sponsors',
 | 
			
		||||
  templateUrl: './about-sponsors.component.html',
 | 
			
		||||
  styleUrls: ['./about-sponsors.component.scss'],
 | 
			
		||||
})
 | 
			
		||||
export class AboutSponsorsComponent {
 | 
			
		||||
  constructor(private enterpriseService: EnterpriseService) {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  onSponsorClick(e): boolean {
 | 
			
		||||
    this.enterpriseService.goal(5);
 | 
			
		||||
    return true;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  onEnterpriseClick(e): boolean {
 | 
			
		||||
    this.enterpriseService.goal(6);
 | 
			
		||||
    return true;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -33,22 +33,7 @@
 | 
			
		||||
  </video>
 | 
			
		||||
 | 
			
		||||
  <ng-container *ngIf="officialMempoolSpace">
 | 
			
		||||
    <div id="become-sponsor-container">
 | 
			
		||||
      <div class="become-sponsor community">
 | 
			
		||||
        <p style="font-weight: 700; font-size: 18px;">If you're an individual...</p>
 | 
			
		||||
        <a href="https://mempool.space/sponsor" class="btn" style="background-color: rgba(152, 88, 255, 0.75); box-shadow: 0px 0px 50px 5px rgba(152, 88, 255, 0.75)" i18n="about.community-sponsor-button" (click)="onSponsorClick($event)">Become a Community Sponsor</a>
 | 
			
		||||
        <p class="sponsor-feature"><fa-icon [icon]="['fas', 'check']"></fa-icon> Exclusive swag</p>
 | 
			
		||||
        <p class="sponsor-feature"><fa-icon [icon]="['fas', 'check']"></fa-icon> Your avatar on the About page</p>
 | 
			
		||||
        <p class="sponsor-feature"><fa-icon [icon]="['fas', 'check']"></fa-icon> And more coming soon :)</p>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="become-sponsor enterprise">
 | 
			
		||||
        <p style="font-weight: 700; font-size: 18px;">If you're a business...</p>
 | 
			
		||||
        <a href="https://mempool.space/enterprise" class="btn" style="background-color: rgba(152, 88, 255, 0.75); box-shadow: 0px 0px 50px 5px rgba(152, 88, 255, 0.75)" i18n="about.enterprise-sponsor-button" (click)="onEnterpriseClick($event)">Become an Enterprise Sponsor</a>
 | 
			
		||||
        <p class="sponsor-feature"><fa-icon [icon]="['fas', 'check']"></fa-icon> Increased API limits</p>
 | 
			
		||||
        <p class="sponsor-feature"><fa-icon [icon]="['fas', 'check']"></fa-icon> Co-branded instance</p>
 | 
			
		||||
        <p class="sponsor-feature"><fa-icon [icon]="['fas', 'check']"></fa-icon> 99% service-level agreement</p>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <app-about-sponsors></app-about-sponsors>
 | 
			
		||||
  </ng-container>
 | 
			
		||||
 | 
			
		||||
  <div class="enterprise-sponsor" id="enterprise-sponsors">
 | 
			
		||||
@ -197,7 +182,7 @@
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
  <ng-container *ngIf="officialMempoolSpace">
 | 
			
		||||
    <div *ngIf="profiles$ | async as profiles" id="community-sponsors">
 | 
			
		||||
    <div *ngIf="profiles$ | async as profiles" id="community-sponsors-anchor">
 | 
			
		||||
      <div class="community-sponsor" style="margin-bottom: 68px" *ngIf="profiles.whales.length > 0">
 | 
			
		||||
        <h3 i18n="about.sponsors.withHeart">Whale Sponsors</h3>
 | 
			
		||||
        <div class="wrapper">
 | 
			
		||||
 | 
			
		||||
@ -246,49 +246,3 @@
 | 
			
		||||
  width: 64px;
 | 
			
		||||
  height: 64px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#become-sponsor-container {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  flex-direction: row;
 | 
			
		||||
  flex-wrap: nowrap;
 | 
			
		||||
  justify-content: center;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
  gap: 20px;
 | 
			
		||||
  margin: 68px auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.become-sponsor {
 | 
			
		||||
  background-color: #1d1f31;
 | 
			
		||||
  border-radius: 16px;
 | 
			
		||||
  padding: 12px 20px;
 | 
			
		||||
  width: 400px;
 | 
			
		||||
  padding: 40px 20px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.become-sponsor a {
 | 
			
		||||
  margin-top: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#become-sponsor-container .btn {
 | 
			
		||||
  margin-bottom: 24px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#become-sponsor-container .ng-fa-icon {
 | 
			
		||||
  color: #2ecc71;
 | 
			
		||||
  margin-right: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#become-sponsor-container .sponsor-feature {
 | 
			
		||||
  text-align: left;
 | 
			
		||||
  width: 250px;
 | 
			
		||||
  margin: 12px auto;
 | 
			
		||||
  white-space: nowrap;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (max-width: 992px) {
 | 
			
		||||
 | 
			
		||||
  #become-sponsor-container {
 | 
			
		||||
    flex-wrap: wrap;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -49,8 +49,13 @@ export class AboutComponent implements OnInit {
 | 
			
		||||
    this.websocketService.want(['blocks']);
 | 
			
		||||
 | 
			
		||||
    this.profiles$ = this.apiService.getAboutPageProfiles$().pipe(
 | 
			
		||||
      tap(() => {
 | 
			
		||||
        this.goToAnchor()
 | 
			
		||||
      tap((profiles: any) => {
 | 
			
		||||
        const scrollToSponsors = this.route.snapshot.fragment === 'community-sponsors';
 | 
			
		||||
        if (scrollToSponsors && !profiles?.whales?.length && !profiles?.chads?.length) {
 | 
			
		||||
          return;
 | 
			
		||||
        } else {
 | 
			
		||||
          this.goToAnchor(scrollToSponsors)
 | 
			
		||||
        }
 | 
			
		||||
      }),
 | 
			
		||||
      share(),
 | 
			
		||||
    )
 | 
			
		||||
@ -85,11 +90,19 @@ export class AboutComponent implements OnInit {
 | 
			
		||||
    this.goToAnchor();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  goToAnchor() {
 | 
			
		||||
  goToAnchor(scrollToSponsor = false) {
 | 
			
		||||
    if (!scrollToSponsor) {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
    setTimeout(() => {
 | 
			
		||||
      if (this.route.snapshot.fragment) {
 | 
			
		||||
        if (this.document.getElementById(this.route.snapshot.fragment)) {
 | 
			
		||||
          this.document.getElementById(this.route.snapshot.fragment).scrollIntoView({behavior: 'smooth'});
 | 
			
		||||
        const el = scrollToSponsor ? this.document.getElementById('community-sponsors-anchor') : this.document.getElementById(this.route.snapshot.fragment);
 | 
			
		||||
        if (el) {
 | 
			
		||||
          if (scrollToSponsor) {
 | 
			
		||||
            el.scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});
 | 
			
		||||
          } else {
 | 
			
		||||
            el.scrollIntoView({behavior: 'smooth'});
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }, 1);
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,7 @@ import { NgModule } from '@angular/core';
 | 
			
		||||
import { CommonModule } from '@angular/common';
 | 
			
		||||
import { Routes, RouterModule } from '@angular/router';
 | 
			
		||||
import { AboutComponent } from './about.component';
 | 
			
		||||
import { AboutSponsorsComponent } from './about-sponsors.component';
 | 
			
		||||
import { SharedModule } from '../../shared/shared.module';
 | 
			
		||||
 | 
			
		||||
const routes: Routes = [
 | 
			
		||||
@ -29,6 +30,10 @@ export class AboutRoutingModule { }
 | 
			
		||||
  ],
 | 
			
		||||
  declarations: [
 | 
			
		||||
    AboutComponent,
 | 
			
		||||
    AboutSponsorsComponent,
 | 
			
		||||
  ],
 | 
			
		||||
  exports: [
 | 
			
		||||
    AboutSponsorsComponent,
 | 
			
		||||
  ]
 | 
			
		||||
})
 | 
			
		||||
export class AboutModule { }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user