Added About and Team components with routing
This commit introduces new "About" and "Team" components, integrating them into the application and updating the routing module.
This commit is contained in:
parent
2eb619b253
commit
6e459767ed
56
frontend/src/app/about/about.component.html
Normal file
56
frontend/src/app/about/about.component.html
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
<ng-container>
|
||||||
|
<app-header [current_page]="'rules'" height="460px" background_image="/public/img/backgrounds/trees.jpg">
|
||||||
|
<div class="title" header-content>
|
||||||
|
<h1>About Us</h1>
|
||||||
|
<h2>We are a simple server born out of nostalgia, and working to maintain a semi-vanilla feel today's Minecraft
|
||||||
|
world.</h2>
|
||||||
|
</div>
|
||||||
|
</app-header>
|
||||||
|
|
||||||
|
<main>
|
||||||
|
<section class="darkmodeSection">
|
||||||
|
<section class="columnSection">
|
||||||
|
<div class="columnContainer">
|
||||||
|
<div class="columnParagraph">
|
||||||
|
<h2>Our Concept</h2>
|
||||||
|
<p>You could say it all started with a bit of nostalgia. Altitude was inspired by a small server back in
|
||||||
|
2012. It was a simple survival and creative server with a community that felt like family, and when the
|
||||||
|
server closed we took that concept and created Altitude.</p>
|
||||||
|
<p>From the very beginning we've been all about our community - adding features suggested by our members,
|
||||||
|
and designing a server that encourages cooperation and playing together. On Altitude, it's about coming
|
||||||
|
together as a community and creating new adventures every day.</p>
|
||||||
|
<p>We want to be the server you call home and always feel welcome to come on and relax for a while.</p>
|
||||||
|
</div>
|
||||||
|
<div class="columnParagraph">
|
||||||
|
<h2>Our Hardware</h2>
|
||||||
|
<p>As the community has grown and evolved so has the server. We started with a little desktop PC running in
|
||||||
|
the basement and have expanded through the years from Minecraft hosting, to a VPS, and finally to
|
||||||
|
dedicated servers hosted by OVH in Canada.</p>
|
||||||
|
<p>Today we run on a VPS and a gaming server from OVH with <span
|
||||||
|
style="font-family: 'opensans-bold', sans-serif;">32GB of DDR4 memory</span>, an <span
|
||||||
|
style="font-family: 'opensans-bold', sans-serif;">Intel i7 6700k</span> processor, <span
|
||||||
|
style="font-family: 'opensans-bold', sans-serif;">2x 500GB SSD drives</span> and <span
|
||||||
|
style="font-family: 'opensans-bold', sans-serif;">500Mbps bandwidth</span>. The VPS serves as our proxy
|
||||||
|
and website, while the gaming server hosts our Minecraft servers and SQL databases.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="columnContainer">
|
||||||
|
<div class="columnParagraph">
|
||||||
|
<h2>Our History</h2>
|
||||||
|
<p>Altitude began as a private server to get together with friends and it quickly became tradition to come
|
||||||
|
together every afternoon. Eventually we wanted to share our adventures with others, and went public,
|
||||||
|
inviting people from all around the globe to be a part of the community they had formed.</p>
|
||||||
|
<p>In the beginning, the server was named "The Underground", and was a small hangout spot mostly spread by
|
||||||
|
word of mouth. A few months after going public we renamed ourselves to "Altitude" and have kept the name
|
||||||
|
ever since. Altitude has evolved quite a bit over the years, but the concept has never changed - we are
|
||||||
|
home.</p>
|
||||||
|
<p>Today, Altitude thrives on the community that has formed. Many great people have decided to call Altitude
|
||||||
|
home, and many more people come every day. We are constantly learning more about what makes Altitude
|
||||||
|
great, and what we can do to make it even greater.</p>
|
||||||
|
<p>We hope you will join us on this adventure and learn with us as we embark on this amazing journey!</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
</ng-container>
|
||||||
0
frontend/src/app/about/about.component.scss
Normal file
0
frontend/src/app/about/about.component.scss
Normal file
23
frontend/src/app/about/about.component.spec.ts
Normal file
23
frontend/src/app/about/about.component.spec.ts
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { AboutComponent } from './about.component';
|
||||||
|
|
||||||
|
describe('AboutComponent', () => {
|
||||||
|
let component: AboutComponent;
|
||||||
|
let fixture: ComponentFixture<AboutComponent>;
|
||||||
|
|
||||||
|
beforeEach(async () => {
|
||||||
|
await TestBed.configureTestingModule({
|
||||||
|
imports: [AboutComponent]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
|
||||||
|
fixture = TestBed.createComponent(AboutComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
11
frontend/src/app/about/about.component.ts
Normal file
11
frontend/src/app/about/about.component.ts
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
import {Component} from '@angular/core';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-about',
|
||||||
|
standalone: false,
|
||||||
|
templateUrl: './about.component.html',
|
||||||
|
styleUrl: './about.component.scss'
|
||||||
|
})
|
||||||
|
export class AboutComponent {
|
||||||
|
scrollService: any;
|
||||||
|
}
|
||||||
|
|
@ -13,11 +13,15 @@ import {CopyIpComponent} from './copy-ip/copy-ip.component';
|
||||||
import {FooterComponent} from './footer/footer.component';
|
import {FooterComponent} from './footer/footer.component';
|
||||||
import {TermsComponent} from './terms/terms.component';
|
import {TermsComponent} from './terms/terms.component';
|
||||||
import {PrivacyComponent} from './privacy/privacy.component';
|
import {PrivacyComponent} from './privacy/privacy.component';
|
||||||
|
import {TeamComponent} from './team/team.component';
|
||||||
|
import {AboutComponent} from './about/about.component';
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{path: '', component: HomeComponent},
|
{path: '', component: HomeComponent},
|
||||||
{path: 'map', component: MapComponent},
|
{path: 'map', component: MapComponent},
|
||||||
{path: 'rules', component: RulesComponent},
|
{path: 'rules', component: RulesComponent},
|
||||||
|
{path: 'about', component: AboutComponent},
|
||||||
|
{path: 'team', component: TeamComponent},
|
||||||
{path: 'terms', component: TermsComponent},
|
{path: 'terms', component: TermsComponent},
|
||||||
{path: 'privacy', component: PrivacyComponent},
|
{path: 'privacy', component: PrivacyComponent},
|
||||||
];
|
];
|
||||||
|
|
@ -27,12 +31,14 @@ const routes: Routes = [
|
||||||
AppComponent,
|
AppComponent,
|
||||||
HeaderComponent,
|
HeaderComponent,
|
||||||
FooterComponent,
|
FooterComponent,
|
||||||
HomeComponent,
|
|
||||||
ThemeComponent,
|
ThemeComponent,
|
||||||
|
HomeComponent,
|
||||||
MapComponent,
|
MapComponent,
|
||||||
RulesComponent,
|
RulesComponent,
|
||||||
|
AboutComponent,
|
||||||
|
TeamComponent,
|
||||||
TermsComponent,
|
TermsComponent,
|
||||||
PrivacyComponent
|
PrivacyComponent,
|
||||||
],
|
],
|
||||||
imports: [
|
imports: [
|
||||||
BrowserModule,
|
BrowserModule,
|
||||||
|
|
|
||||||
44
frontend/src/app/team/team.component.html
Normal file
44
frontend/src/app/team/team.component.html
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
<ng-container>
|
||||||
|
<app-header [current_page]="'rules'" height="460px" background_image="/public/img/backgrounds/staff.png">
|
||||||
|
<div class="title" header-content>
|
||||||
|
<h1>Staffing Team</h1>
|
||||||
|
<h2>The team that makes Altitude happen. Your owners, admins, moderators, and trainees are all working together to
|
||||||
|
create Altitude, to create home. This is where the magic happens.</h2>
|
||||||
|
</div>
|
||||||
|
</app-header>
|
||||||
|
|
||||||
|
<main>
|
||||||
|
<section class="darkmodeSection">
|
||||||
|
<div class="container" style="padding: 50px 0 0 0; justify-content: center;">
|
||||||
|
<h2 class="sectionTitle">Management</h2>
|
||||||
|
<div class="member">
|
||||||
|
<img src="https://crafatar.com/avatars/55e46bc32a294c53850fdbd944dc5c5f?overlay"
|
||||||
|
alt="akastijn's Minecraft skin">
|
||||||
|
<h2>akastijn</h2>
|
||||||
|
<p>Owner</p>
|
||||||
|
</div>
|
||||||
|
<div class="member">
|
||||||
|
<img src="https://crafatar.com/avatars/0b06c1b9ae5845d5af60731e4c788dc8?overlay"
|
||||||
|
alt="akalexu's Minecraft skin">
|
||||||
|
<h2>akalexu</h2>
|
||||||
|
<p>Manager</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="darkmodeSectionThree">
|
||||||
|
<div class="container" style="padding: 50px 0 0 0; justify-content: center;">
|
||||||
|
<h2 class="sectionTitle">Admins</h2>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="darkmodeSection">
|
||||||
|
<div class="container" style="padding: 50px 0 0 0; justify-content: center;">
|
||||||
|
<h2 class="sectionTitle">Head Moderators</h2>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="darkmodeSectionThree">
|
||||||
|
<div class="container" style="padding: 50px 0 0 0; justify-content: center;">
|
||||||
|
<h2 class="sectionTitle">Moderators</h2>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
</ng-container>
|
||||||
21
frontend/src/app/team/team.component.scss
Normal file
21
frontend/src/app/team/team.component.scss
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
.sectionTitle {
|
||||||
|
flex: 0 0 100%;
|
||||||
|
text-align: center;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
font-size: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.member {
|
||||||
|
width: 33%;
|
||||||
|
min-width: 250px;
|
||||||
|
padding-bottom: 50px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.member img {
|
||||||
|
padding-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.member p {
|
||||||
|
font-family: 'opensans-bold', sans-serif;
|
||||||
|
}
|
||||||
23
frontend/src/app/team/team.component.spec.ts
Normal file
23
frontend/src/app/team/team.component.spec.ts
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { TeamComponent } from './team.component';
|
||||||
|
|
||||||
|
describe('TeamComponent', () => {
|
||||||
|
let component: TeamComponent;
|
||||||
|
let fixture: ComponentFixture<TeamComponent>;
|
||||||
|
|
||||||
|
beforeEach(async () => {
|
||||||
|
await TestBed.configureTestingModule({
|
||||||
|
imports: [TeamComponent]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
|
||||||
|
fixture = TestBed.createComponent(TeamComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
11
frontend/src/app/team/team.component.ts
Normal file
11
frontend/src/app/team/team.component.ts
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
import {Component} from '@angular/core';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-team',
|
||||||
|
standalone: false,
|
||||||
|
templateUrl: './team.component.html',
|
||||||
|
styleUrl: './team.component.scss'
|
||||||
|
})
|
||||||
|
export class TeamComponent {
|
||||||
|
scrollService: any;
|
||||||
|
}
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
<p>Last updated: April 6th, 2025</p>
|
<p>Last updated: April 6th, 2025</p>
|
||||||
<p>Welcome to Altitude! These Terms of Use (“Terms”) is a binding agreement between you and the Altitude
|
<p>Welcome to Altitude! These Terms of Use (“Terms”) is a binding agreement between you and the Altitude
|
||||||
Community (a group consisting of server owner and staffing team members) and our subsidiaries (collectively
|
Community (a group consisting of server owner and staffing team members) and our subsidiaries (collectively
|
||||||
“we” , or "Altitude"). These Terms describe the manner in which you may use our services. Any use of our
|
“we”, or "Altitude"). These Terms describe the manner in which you may use our services. Any use of our
|
||||||
Services will constitute your acceptance of these Terms as well as our <a [routerLink]="['/privacy']">Privacy
|
Services will constitute your acceptance of these Terms as well as our <a [routerLink]="['/privacy']">Privacy
|
||||||
Policy</a>.
|
Policy</a>.
|
||||||
If you do not agree to our Privacy Policy or Terms of Use, please do not use our Services. Thank you!</p>
|
If you do not agree to our Privacy Policy or Terms of Use, please do not use our Services. Thank you!</p>
|
||||||
|
|
@ -104,7 +104,7 @@
|
||||||
<p>We also hold the right to put your use of any of our services under limitation without prior notice or
|
<p>We also hold the right to put your use of any of our services under limitation without prior notice or
|
||||||
liability, for any reason. Limitations can be in any form up to complete termination of access. Limitations
|
liability, for any reason. Limitations can be in any form up to complete termination of access. Limitations
|
||||||
on the Minecraft server include, but are not limited to, being "jailed", muted, or having specific features
|
on the Minecraft server include, but are not limited to, being "jailed", muted, or having specific features
|
||||||
taken away from your Minecraft account on the server. </p>
|
taken away from your Minecraft account on the server.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="paragraph">
|
<div class="paragraph">
|
||||||
<h2>External Services</h2>
|
<h2>External Services</h2>
|
||||||
|
|
|
||||||
|
|
@ -212,7 +212,7 @@ ol li {
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.paragraph h2, .paragraph h3, .paragraph p, .columnparagraph h2, .columnparagraph p {
|
.paragraph h2, .paragraph h3, .paragraph p, .columnParagraph h2, .columnParagraph p {
|
||||||
padding-bottom: 15px;
|
padding-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -256,6 +256,35 @@ main .container {
|
||||||
font-family: 'minecraft-text', sans-serif;
|
font-family: 'minecraft-text', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Column styling
|
||||||
|
.columnSection {
|
||||||
|
width: 80%;
|
||||||
|
padding-top: 60px;
|
||||||
|
max-width: 1020px;
|
||||||
|
margin: 0 auto;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
flex: 1 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.columnContainer {
|
||||||
|
width: 50%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 0 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.columnParagraph {
|
||||||
|
line-height: 1.5em;
|
||||||
|
padding-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.columnParagraph img {
|
||||||
|
padding: 30px 0;
|
||||||
|
display: block;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Call to Action button
|
||||||
.button-outer {
|
.button-outer {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-family: 'minecraft-text', sans-serif;
|
font-family: 'minecraft-text', sans-serif;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user