Builds out About Us section
This commit is contained in:
parent
9462940037
commit
c52da09b68
|
@ -1,45 +1,30 @@
|
|||
<div class="about-us" fxLayout="row" [@scrollAnimation]="state" fxLayoutAlign="center start">
|
||||
<div fxFlex="33.33%" class="title">
|
||||
<h1 class="mat-display-1">About Us</h1>
|
||||
<h2 class="mat-display-3">What We Do</h2>
|
||||
</div>
|
||||
|
||||
<div fxFlex="67.67%" fxLayout="column" class="capabilities">
|
||||
<div
|
||||
class="about-us"
|
||||
fxLayout="column"
|
||||
fxLayoutGap="2%"
|
||||
*ngFor="let c of capabilities; let i = index"
|
||||
[fxLayout]="i % 2 === 0 ? 'row' : 'row-reverse'"
|
||||
[ngClass]="i % 2 === 0 ? 'even' : 'odd'"
|
||||
fxLayoutAlign="start start"
|
||||
>
|
||||
<div>
|
||||
<h1>Meet Sartography</h1>
|
||||
<mat-tab-group mat-stretch-tabs>
|
||||
<mat-tab label="Who We Are">
|
||||
<div class="tab-content">
|
||||
<h3>We are Software Developers.</h3>
|
||||
<p>We create engaging web applications using modern web development tools. </p>
|
||||
<p>Here are a few areas where we are particularly effective:</p>
|
||||
<ul class="aboutList">
|
||||
<li><b>Beautiful Information:</b> We create beautiful interfaces that help people navigate complex information to find critical knowledge. Through thoughtful design, architecture, and animations we find novel approaches that make information come alive. </li>
|
||||
<li><b>Mobile Friendly:</b> Even our most complex applications work well on phones and tablets, as well as desktops using the Angular Framework.</li>
|
||||
<li><b>Secure and Discrete:</b> We build applications that allow scientists to safely collect, monitor and study medical information.</li>
|
||||
<li><b>Scientific:</b> As a small tightly focused team, we can dig very deeply into complex domains where larger organizations would fail to adapt. And as Python becomes the predominant programming language of science, we build applications that our clients can understand and extend.</li>
|
||||
<li><b>Big Data:</b> We know how to manage exceedingly large data sets with tools such as Cassandra, and Elastic Search. Most importantly, we know when not to use these tools, and we strive to keep our systems as simple, clean, and extensible as possible.</li>
|
||||
</ul>
|
||||
<p>Be sure and look at our Case Studies to see these skills in action.</p>
|
||||
<div class="details" fxFlex="37.5%">
|
||||
<h3>{{c.title}}</h3>
|
||||
<p>{{c.description}}</p>
|
||||
</div>
|
||||
|
||||
<h3>We are Makers.</h3>
|
||||
<p> We are also some of the founders and leaders of the <a href="http://stauntonmakerspace.com" target="new">Staunton Makerspace</a>,
|
||||
Where we spend some of our spare time teaching others to delight in technology, learn new tools, and build great things. We live to inspire, teach, and above all to learn.</p>
|
||||
<div class="icon" fxFlex="12.5%">
|
||||
<span
|
||||
[inlineSVG]="c.icon_url"
|
||||
class="capability-icon"
|
||||
></span>
|
||||
</div>
|
||||
<div class="icon-spacer" fxFlex="12.5%"></div>
|
||||
<div class="details-spacer" fxFlex="37.5%"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</mat-tab>
|
||||
<mat-tab label="Mission and Vision">
|
||||
<div class="tab-content">
|
||||
<h3>Our Mission:</h3>
|
||||
<p>To partner with scientists and innovators to create engaging software that improves the health and well
|
||||
being of our communities through constant rigor, deep commitment to cause, and abiding resepect to our
|
||||
shared goal for a better world.</p>
|
||||
|
||||
<h3>Our Vision:</h3>
|
||||
<p>To build a world changing application that make a meaningful, scientifically proven impact in the mental
|
||||
health of our community.</p>
|
||||
</div>
|
||||
</mat-tab>
|
||||
</mat-tab-group>
|
||||
</div>
|
||||
<div fxLayoutAlign="center center">
|
||||
<img src="assets/logo/Sartography-Logo-Horizontal-Color.png">
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,63 +1,72 @@
|
|||
// Import theming functions
|
||||
@import '~@angular/material/theming';
|
||||
// Import your custom theme
|
||||
@import '../../sartography_material';
|
||||
// Load the Sartography Theme
|
||||
@include sartography-theme($sartography-theme);
|
||||
@import "../../config";
|
||||
|
||||
.about-us {
|
||||
padding: 5%;
|
||||
background-color: mat-color($sartography-primary, 50);
|
||||
color: mat-contrast($sartography-primary, 50);
|
||||
position: relative;
|
||||
background-color: $dark-gray;
|
||||
background-image: url("/assets/images/about-us.jpg");
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: bottom left;
|
||||
min-height: 1600px;
|
||||
|
||||
.tab-content {
|
||||
max-width: 800px;
|
||||
margin: auto;
|
||||
}
|
||||
.title {
|
||||
margin-top: 80px;
|
||||
margin-left: 80px;
|
||||
|
||||
h1 {
|
||||
text-align: center;
|
||||
padding: 2%;
|
||||
color: $brand-primary;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
button {
|
||||
margin: 2%;
|
||||
padding: 7px;
|
||||
background-color: mat-color($sartography-warn, 500);
|
||||
color: mat-contrast($sartography-warn, 500);
|
||||
cursor: pointer;
|
||||
.capabilities {
|
||||
margin-top: 300px;
|
||||
margin-right: 80px;
|
||||
|
||||
::ng-deep .capability-icon svg {
|
||||
margin-top: -52px;
|
||||
width: 128px;
|
||||
height: 128px;
|
||||
}
|
||||
}
|
||||
|
||||
mat-card {
|
||||
padding: 5%;
|
||||
.even {
|
||||
text-align: right;
|
||||
|
||||
.top {
|
||||
text-align: center;
|
||||
.details {
|
||||
background-color: transparent;
|
||||
h3 { color: $brand-primary-dark-1; }
|
||||
}
|
||||
.icon {
|
||||
background-color: transparent;
|
||||
::ng-deep .capability-icon svg path { fill: $brand-primary; }
|
||||
}
|
||||
.icon-spacer {
|
||||
background-color: $brand-gray;
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
width: 1px;
|
||||
height: 100%;
|
||||
background-color: $brand-gray-light-4;
|
||||
}
|
||||
}
|
||||
.details-spacer { background-color: $brand-gray; }
|
||||
}
|
||||
|
||||
.odd {
|
||||
text-align: left;
|
||||
|
||||
h2 {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
.details-spacer { background-color: transparent; }
|
||||
.icon-spacer { background-color: transparent; }
|
||||
.icon {
|
||||
background-color: $brand-gray;
|
||||
::ng-deep .capability-icon svg path { fill: $brand-primary-light-1; }
|
||||
}
|
||||
|
||||
img {
|
||||
border-radius: 200px;
|
||||
height: 200px;
|
||||
width: 200px;
|
||||
.details {
|
||||
background-color: $brand-gray;
|
||||
color: white;
|
||||
h3 { color: $brand-primary-light-2; }
|
||||
}
|
||||
}
|
||||
mat-tab-group {
|
||||
background-color: #ffffff;
|
||||
min-height: 400px;
|
||||
padding: 2%;
|
||||
}
|
||||
img {
|
||||
max-width: 90%;
|
||||
padding: 2%;
|
||||
}
|
||||
ul.aboutList {
|
||||
font-size: 14pt;
|
||||
line-height: 20pt;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,18 +1,54 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
import {Component, ElementRef, HostListener, OnInit} from '@angular/core';
|
||||
import {ApiService} from '../api.service';
|
||||
import {Capability} from '../interfaces';
|
||||
import {animate, state, style, transition, trigger, useAnimation} from '@angular/animations';
|
||||
import {fadeIn, fadeOut} from '../animation';
|
||||
|
||||
@Component({
|
||||
selector: 'app-about-us',
|
||||
templateUrl: './about-us.component.html',
|
||||
styleUrls: ['./about-us.component.scss']
|
||||
styleUrls: ['./about-us.component.scss'],
|
||||
animations: [
|
||||
trigger('fadeInOut', [
|
||||
transition('void <=> *', useAnimation(fadeIn)),
|
||||
transition('* <=> void', useAnimation(fadeOut))
|
||||
]),
|
||||
trigger('scrollAnimation', [
|
||||
state(
|
||||
'show',
|
||||
style({
|
||||
opacity: 1,
|
||||
zIndex: 0
|
||||
})
|
||||
),
|
||||
state(
|
||||
'hide',
|
||||
style({
|
||||
opacity: 0,
|
||||
zIndex: 0
|
||||
})
|
||||
),
|
||||
transition('show => hide', animate('700ms ease-out')),
|
||||
transition('hide => show', animate('700ms ease-in'))
|
||||
])
|
||||
]
|
||||
})
|
||||
export class AboutUsComponent implements OnInit {
|
||||
capabilities: Capability[];
|
||||
state = 'hide';
|
||||
|
||||
constructor(
|
||||
private api: ApiService
|
||||
) { }
|
||||
constructor(private api: ApiService, public el: ElementRef) {
|
||||
this.api.getCapabilities().subscribe(c => this.capabilities = c);
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
@HostListener('window:scroll', ['$event'])
|
||||
checkScroll() {
|
||||
const hOffset = window.innerHeight / 2;
|
||||
const componentPosition = this.el.nativeElement.offsetTop;
|
||||
const scrollPosition = window.pageYOffset + hOffset;
|
||||
this.state = scrollPosition >= componentPosition ? 'show' : 'hide';
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue