Compare commits
10 Commits
849f09d10a
...
85c73c22c8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
85c73c22c8 | ||
|
|
c0f2a38f4d | ||
|
|
6e459767ed | ||
|
|
2eb619b253 | ||
|
|
7b5002a475 | ||
|
|
25931d05d7 | ||
|
|
b029153657 | ||
|
|
4e77f50d70 | ||
|
|
0652e5e55e | ||
|
|
1a6e489f9a |
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;
|
||||
}
|
||||
|
|
@ -11,11 +11,21 @@ import {MapComponent} from './map/map.component';
|
|||
import {RulesComponent} from './rules/rules.component';
|
||||
import {CopyIpComponent} from './copy-ip/copy-ip.component';
|
||||
import {FooterComponent} from './footer/footer.component';
|
||||
import {TermsComponent} from './terms/terms.component';
|
||||
import {PrivacyComponent} from './privacy/privacy.component';
|
||||
import {TeamComponent} from './team/team.component';
|
||||
import {AboutComponent} from './about/about.component';
|
||||
import {SocialsComponent} from './socials/socials.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{path: '', component: HomeComponent},
|
||||
{path: 'map', component: MapComponent},
|
||||
{path: 'rules', component: RulesComponent},
|
||||
{path: 'about', component: AboutComponent},
|
||||
{path: 'socials', component: SocialsComponent},
|
||||
{path: 'team', component: TeamComponent},
|
||||
{path: 'terms', component: TermsComponent},
|
||||
{path: 'privacy', component: PrivacyComponent},
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
|
|
@ -23,10 +33,15 @@ const routes: Routes = [
|
|||
AppComponent,
|
||||
HeaderComponent,
|
||||
FooterComponent,
|
||||
HomeComponent,
|
||||
ThemeComponent,
|
||||
HomeComponent,
|
||||
MapComponent,
|
||||
RulesComponent
|
||||
RulesComponent,
|
||||
AboutComponent,
|
||||
SocialsComponent,
|
||||
TeamComponent,
|
||||
TermsComponent,
|
||||
PrivacyComponent,
|
||||
],
|
||||
imports: [
|
||||
BrowserModule,
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ footer ul, footer p {
|
|||
}
|
||||
|
||||
.followUs img {
|
||||
margin-right: 15px;
|
||||
margin-right: 5px;
|
||||
float: left;
|
||||
filter: grayscale(100%);
|
||||
-webkit-filter: grayscale(100%);
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
<li><a [routerLink]="['/team']">Team</a></li>
|
||||
<li><a [routerLink]="['/birthdays']">Famous Birthdays</a></li>
|
||||
<li><a [routerLink]="['/community']">Community</a></li>
|
||||
<li><a href="https://alttd.typeform.com/to/dnKlkX">Contact Us</a></li>
|
||||
<li><a [routerLink]="['/contact']">Contact Us</a></li>
|
||||
<li><a href="https://alttd.com/appeal">Ban Appeal</a></li>
|
||||
<li><a href="https://alttd.com/blog/">Blog</a></li>
|
||||
</ul>
|
||||
|
|
@ -120,8 +120,8 @@
|
|||
<li class="nav_li"><a class="nav_link2" [routerLink]="['/team']">Team</a></li>
|
||||
<li class="nav_li"><a class="nav_link2" [routerLink]="['/birthdays']">Famous Birthdays</a></li>
|
||||
<li class="nav_li"><a class="nav_link2" [routerLink]="['/community']">Community</a></li>
|
||||
<li class="nav_li"><a class="nav_link2" target="_blank" rel="noopener"
|
||||
href="https://alttd.typeform.com/to/dnKlkX">Contact Us</a></li>
|
||||
<li class="nav_li"><a class="nav_link2" target="_blank" rel="noopener" [routerLink]="['/contact']">Contact
|
||||
Us</a></li>
|
||||
<li class="nav_li"><a class="nav_link2" target="_blank" rel="noopener" href="https://alttd.com/appeal">Ban
|
||||
Appeal</a></li>
|
||||
<li class="nav_li"><a class="nav_link2" target="_blank" href="https://alttd.com/blog/">Blog</a></li>
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
</section>
|
||||
-->
|
||||
<section class="darkmodeSection">
|
||||
<div class="container">
|
||||
<div class="container" style="padding: 30px 0">
|
||||
<iframe id="discord-widget" src="https://discordapp.com/widget?id=141644560005595136&theme=dark"></iframe>
|
||||
<div class="paragraph" id="discordp">
|
||||
<h2>Meet the Community</h2>
|
||||
|
|
@ -109,8 +109,9 @@
|
|||
<section class="removemobile darkmodeSection">
|
||||
<div class="customContainer">
|
||||
<h2 style="padding-bottom: 35px; font-size: 2.8em;">Community Builds</h2>
|
||||
<p style="padding-bottom: 35px; font-size: 1.1em; margin: auto;">Have a look at some of the incredible builds
|
||||
made by the community. something more? idk placeholder placeholder</p>
|
||||
<p style="padding-bottom: 35px; font-size: 1.1em; margin: auto;">Thank you to our brilliant players for sharing
|
||||
their impressive builds. Take a look at some of them here!<br>
|
||||
If you know of any builds that should be featured, please let us know!</p>
|
||||
<div class="sliderWrapper">
|
||||
<div class="sliderContent">
|
||||
<div class="indexSlider">
|
||||
|
|
|
|||
|
|
@ -1,3 +1,13 @@
|
|||
.map-button {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.title h2 {
|
||||
width: 80%;
|
||||
max-width: 600px;
|
||||
font-family: 'open-sans', sans-serif;
|
||||
text-shadow: none;
|
||||
font-size: 1.2em;
|
||||
padding-bottom: 25px;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
|
|
|||
138
frontend/src/app/privacy/privacy.component.html
Normal file
138
frontend/src/app/privacy/privacy.component.html
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
<ng-container>
|
||||
<app-header [current_page]="'privacy'" height="250px" background_image="/public/img/backgrounds/trees.jpg">
|
||||
<div class="title" header-content>
|
||||
<h1 class="titleColor">Privacy Policy</h1>
|
||||
</div>
|
||||
</app-header>
|
||||
|
||||
<main>
|
||||
<section class="darkmodeSection">
|
||||
<div class="container">
|
||||
<div class="paragraph">
|
||||
<p>Last updated: April 6th, 2025</p>
|
||||
<p>Welcome to Altitude! This privacy policy (“Policy”) describes the data practices of the Altitude
|
||||
Community (a group consisting of server owner and staffing team members) and its subsidiaries
|
||||
(collectively “we” , or "Altitude"). This Policy covers the services under our control (collectively
|
||||
"Services"), which includes, but is not limited to, this website and our Minecraft server. Before using
|
||||
our Services please take a moment to read this Privacy Policy. This Privacy Policy outlines what
|
||||
information we collect from you and how we use it. Any use of our Services will constitute your acceptance
|
||||
of this Policy as well as our <a [routerLink]="['/terms']">Terms of Use</a>. If you do not agree to our
|
||||
Privacy
|
||||
Policy or Terms of Use, please do not use our Services. Thank you!</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>Information we collect</h2>
|
||||
<p>When you use our Services we may collect PII, DII, and log information about your interactions with our
|
||||
Services as described below.</p>
|
||||
<p>Personally identifiable information (PII) is information that can be used to identify or contact you
|
||||
online or offline, such as your name, username, Minecraft UUID, address, email, phone number, and payment
|
||||
information. The Services may collect PII when it is provided to us, such as when you use our Services,
|
||||
attempt to contact us, submit an application using one of our forms, or connect with us on social media or
|
||||
one of our partners.</p>
|
||||
<p>We may also create or collect device-identifiable information (DII), such as cookies, unique device and
|
||||
advertising identifiers, and similar identifiers that are linkable to a browser or device. We may also
|
||||
receive other information during your use of our Services, such as your IP address, user agent,
|
||||
timestamps, precise and imprecise geolocation, sensor data, apps, fonts, battery life information, and
|
||||
screen size.</p>
|
||||
<p>Our Services also collect information about your use of our Services, including navigation paths, search
|
||||
queries, crashes, timestamps, purchases, clicks and shares, and referral URLs. We may combine this data
|
||||
with PII and DII. We may also partner with third parties that collect additional information or assist us
|
||||
with processing the information we collect – please see their privacy policies for more details and see
|
||||
below for your choices regarding these parties.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>How we use information we collect</h2>
|
||||
<p>We use the information we collect from our Services to provide, maintain, protect and improve our
|
||||
Services, to develop new Services and offerings, and to protect us and our users.</p>
|
||||
<p>PII is primarily used for business purposes, such as for sending you occasional newsletters and updates,
|
||||
responding to inquiries and applications, logins, and providing Services. When you contact us, we may keep
|
||||
a record of your communication as well as the other information provided to us. We may use your email
|
||||
address to inform you about our Services, such as letting you know about changes or improvements.</p>
|
||||
<p>We share PII with companies, outside organizations, and individuals for limited reasons, outlined
|
||||
below:</p>
|
||||
<ol>
|
||||
<li>With your consent - We will share PII with companies, outside organizations or individuals if we have
|
||||
your consent to do so.
|
||||
</li>
|
||||
<li>For external processing - We provide PII to our affiliates or other trusted businesses or persons to
|
||||
process it for us, based on our instructions and in compliance with our Privacy Policy and any other
|
||||
appropriate confidentiality and security measures.
|
||||
</li>
|
||||
<li>For legal reasons - We will share PII with companies, outside organizations or individuals if we have
|
||||
a good-faith belief that access, use, preservation or disclosure of the information is reasonably
|
||||
necessary to meet any applicable law, regulation, legal process or enforceable governmental request,
|
||||
detect, prevent, or otherwise address fraud, security or technical issues or protect against harm to the
|
||||
rights, property or safety of our users or the public as required or permitted by law.
|
||||
</li>
|
||||
<li>In case of a sale or asset transfer - If we become involved in a merger, acquisition or other
|
||||
transaction involving the sale of some or all of our assets, user information, including PII collected
|
||||
from you through your use of our Services, could be included in the transferred assets. Should such an
|
||||
event occur, we will use reasonable means to notify you, either through email and/or a prominent notice
|
||||
on the Services.
|
||||
</li>
|
||||
<li>In aggregated form for business purposes - We may share aggregated information and DII with our
|
||||
partners such as businesses we have a relationship with, advertisers or connected sites. For example, we
|
||||
may share information to show trends about the general use of our Services.
|
||||
</li>
|
||||
</ol>
|
||||
<p>We use DII to operate our Services and manage user sessions, including analyzing usage of our Services,
|
||||
preventing malicious behavior and fraud, improving the content, to link your identity across devices and
|
||||
browsers in order to provide you with a more seamless experience online, and helping third parties provide
|
||||
relevant advertising and related metrics. We share DII with third parties primarily for advertising and
|
||||
analytics purposes, for external processing, and for security purposes.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>Third parties</h2>
|
||||
<p>Altitude uses many external services to provide additional services or features for you. Whenever you are
|
||||
using any of these external services you are bound by the respective service's Privacy Policy. This Policy
|
||||
does not apply to services offered by other companies or individuals, including products or sites that may
|
||||
be displayed to you on our Services. Please be aware that Altitude will not be responsible or liable for
|
||||
the collection of any information by these external services or their use of any information collected.
|
||||
You should always read the Privacy Policy of any service you use.</p>
|
||||
<p>We may use third parties, such as Google, to help offer you more tailored ads and better Services, such
|
||||
as obtaining analytics about the users of our site and to help tailor advertising to your preferences.
|
||||
Google's use of advertising cookies enables it and its partners to serve ads to your users based on their
|
||||
visit to your sites and/or other sites on the Internet. Users may opt out of personalized advertising by
|
||||
visiting <a href="https://www.google.com/settings/ads">www.google.com/settings/ads</a>. You may also be
|
||||
able to opt-out of some third-party vendors individually by visiting <a
|
||||
href="https://www.aboutads.info/choices/">www.aboutads.info</a>.</p>
|
||||
<p>Please note that any use of the Minecraft game and launcher is governed by Microsoft's Privacy Policy.
|
||||
Therefore, by visiting our Minecraft server, you consent to Microsoft's Privacy Policy and Terms of Use. To
|
||||
see Microsoft's Privacy Policy please visit their website at <a
|
||||
href="https://www.microsoft.com/en-us/privacy/privacystatement">microsoft.com/en-us/privacy/privacystatement</a>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>Children under 13</h2>
|
||||
<p>We do not knowingly collect personally identifying information from children under the age of 13. If you
|
||||
are under the age of 13, please do not submit any personal information through and of our services. Never
|
||||
share your name, address, or any other personal information on our Minecraft server, forums, or any of our
|
||||
other services. Always ask a parent or legal guardian to make purchases for you if you wish to make a
|
||||
purchase from Altitude.</p>
|
||||
<p>If you are the parent or guardian of a child under the age of 13 and have a concern regarding your
|
||||
child’s information on our Services, please contact us at <a
|
||||
[routerLink]="['/contact']">alttd.com/contact</a>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>Managing your information</h2>
|
||||
<p>If you believe we have information that needs to be removed, or would like to know what information we've
|
||||
collected from you, you may contact us at <a
|
||||
[routerLink]="['/contact']">alttd.com/contact</a>. We will work with you to ensure your
|
||||
privacy is protected. In some cases, we may keep PII for legitimate business or legal purposes.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>Changes to this policy</h2>
|
||||
<p>Our Privacy Policy may change from time to time. We will post any Policy changes on this page. Please
|
||||
check back periodically to view changes to our privacy policy. By continuing to access or use our website
|
||||
or services after any revisions become effective, you agree to be bound by the revised Policy. If you do
|
||||
not agree to the new Policy, please stop using our website and services.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<a (click)="this.scrollService.scrollToTop()" class="scroll-up-button, active">
|
||||
<span></span>
|
||||
<p style="display: none;">Scroll Down</p>
|
||||
</a>
|
||||
</main>
|
||||
</ng-container>
|
||||
12
frontend/src/app/privacy/privacy.component.scss
Normal file
12
frontend/src/app/privacy/privacy.component.scss
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
main .container {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.paragraph {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.paragraph p, .paragraph ol {
|
||||
margin-bottom: 15px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
23
frontend/src/app/privacy/privacy.component.spec.ts
Normal file
23
frontend/src/app/privacy/privacy.component.spec.ts
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { PrivacyComponent } from './privacy.component';
|
||||
|
||||
describe('PrivacyComponent', () => {
|
||||
let component: PrivacyComponent;
|
||||
let fixture: ComponentFixture<PrivacyComponent>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [PrivacyComponent]
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(PrivacyComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
12
frontend/src/app/privacy/privacy.component.ts
Normal file
12
frontend/src/app/privacy/privacy.component.ts
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-privacy',
|
||||
standalone: false,
|
||||
templateUrl: './privacy.component.html',
|
||||
styleUrl: './privacy.component.scss'
|
||||
})
|
||||
export class PrivacyComponent {
|
||||
scrollService: any;
|
||||
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<ng-container>
|
||||
<app-header [current_page]="'rules'" background_image="/public/img/backgrounds/trees.jpg" height="460px">
|
||||
<app-header [current_page]="'rules'" height="460px" background_image="/public/img/backgrounds/trees.jpg">
|
||||
<div class="title" header-content>
|
||||
<h1>Server Rules</h1>
|
||||
<h2>We aim to be an inclusive community server where players of all ages can find something to enjoy.</h2>
|
||||
|
|
@ -255,7 +255,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<a href="#top" id="scroll-up-button">
|
||||
<a (click)="this.scrollService.scrollToTop()" class="scroll-up-button, active">
|
||||
<span></span>
|
||||
<p style="display: none;">Scroll Down</p>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -1,21 +1,6 @@
|
|||
@media (max-width: 1000px) {
|
||||
main .container {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.list {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 670px) {
|
||||
main .container {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.list {
|
||||
margin-left: 50px;
|
||||
}
|
||||
.paragraph {
|
||||
width: 100%;
|
||||
margin-bottom: -25px;
|
||||
}
|
||||
|
||||
.highlighted-content {
|
||||
|
|
@ -40,6 +25,10 @@
|
|||
transition: 0.5s ease;
|
||||
}
|
||||
|
||||
.full-page-list li {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.full-page-list-2 {
|
||||
margin-left: 70px;
|
||||
font-family: 'opensans', sans-serif;
|
||||
|
|
@ -53,6 +42,31 @@
|
|||
transition: 0.5s ease;
|
||||
}
|
||||
|
||||
.hide {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.copy-link {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
// Different resolution changes
|
||||
@media (max-width: 1000px) {
|
||||
main .container {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.list {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 670px) {
|
||||
main .container {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.list {
|
||||
margin-left: 50px;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ import {Component} from '@angular/core';
|
|||
styleUrl: './rules.component.scss'
|
||||
})
|
||||
export class RulesComponent {
|
||||
|
||||
scrollService: any;
|
||||
}
|
||||
|
|
|
|||
34
frontend/src/app/socials/socials.component.html
Normal file
34
frontend/src/app/socials/socials.component.html
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<ng-container>
|
||||
<app-header [current_page]="'privacy'" height="250px" background_image="/public/img/backgrounds/trees.jpg">
|
||||
<div class="title" header-content>
|
||||
<h1 class="titleColor">Altitude Socials</h1>
|
||||
</div>
|
||||
</app-header>
|
||||
|
||||
<main>
|
||||
<section class="darkmodeSection">
|
||||
<div class="socialContainer" style="padding-top: 50px;">
|
||||
<a href="https://discord.com/invite/alttd"><img class="socialIcon" ngSrc="/public/img/logos/discordsocial.png"
|
||||
title="discord.gg/alttd" alt="Altitude Discord" height="150"
|
||||
width="150" style="width: 150px;"></a>
|
||||
<a href="https://www.tiktok.com/@alttdmc"><img class="socialIcon" ngSrc="/public/img/logos/tiktoksocial.png"
|
||||
title="alttdmc" alt="Altitude Discord" height="150" width="150"
|
||||
style="width: 150px;"></a>
|
||||
</div>
|
||||
<div class="socialContainer">
|
||||
<a href="https://www.instagram.com/alttdmc/"><img class="socialIcon"
|
||||
ngSrc="/public/img/logos/instagramsocial.png"
|
||||
title="alttdmc" alt="Altitude Discord" height="150"
|
||||
width="150" style="width: 150px;"></a>
|
||||
<a href="https://twitter.com/alttdmc"><img class="socialIcon" ngSrc="/public/img/logos/twittersocial.png"
|
||||
title="alttdmc" alt="Altitude Discord" height="150" width="150"
|
||||
style="width: 150px;"></a>
|
||||
</div>
|
||||
<div class="socialContainer" style="padding-bottom: 50px;">
|
||||
<a href="https://www.youtube.com/c/alttd"><img class="socialIcon" ngSrc="/public/img/logos/youtubesocial.png"
|
||||
title="Altitude Community" alt="Altitude Discord" height="150"
|
||||
width="150" style="width: 150px;"></a>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
</ng-container>
|
||||
32
frontend/src/app/socials/socials.component.scss
Normal file
32
frontend/src/app/socials/socials.component.scss
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
main .socialContainer {
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
.socialContainer {
|
||||
width: 80%;
|
||||
max-width: 1020px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: auto;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.socialIcon {
|
||||
max-width: 150px;
|
||||
width: 100%;
|
||||
padding: 0 50px 0 50px;
|
||||
transition: transform 0.2s ease-in-out;
|
||||
}
|
||||
|
||||
.socialIcon:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
//Different resolution changes
|
||||
@media (max-width: 500px) {
|
||||
.socialIcon {
|
||||
max-width: 120px;
|
||||
width: 100%;
|
||||
padding: 0 20px 0 20px;
|
||||
}
|
||||
}
|
||||
23
frontend/src/app/socials/socials.component.spec.ts
Normal file
23
frontend/src/app/socials/socials.component.spec.ts
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { SocialsComponent } from './socials.component';
|
||||
|
||||
describe('SocialsComponent', () => {
|
||||
let component: SocialsComponent;
|
||||
let fixture: ComponentFixture<SocialsComponent>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [SocialsComponent]
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(SocialsComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
11
frontend/src/app/socials/socials.component.ts
Normal file
11
frontend/src/app/socials/socials.component.ts
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-socials',
|
||||
standalone: false,
|
||||
templateUrl: './socials.component.html',
|
||||
styleUrl: './socials.component.scss'
|
||||
})
|
||||
export class SocialsComponent {
|
||||
scrollService: any;
|
||||
}
|
||||
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 ngSrc="https://crafatar.com/avatars/55e46bc32a294c53850fdbd944dc5c5f?overlay"
|
||||
alt="akastijn's Minecraft skin" height="160" width="160" style="width: 160px;">
|
||||
<h2>akastijn</h2>
|
||||
<p>Owner</p>
|
||||
</div>
|
||||
<div class="member">
|
||||
<img ngSrc="https://crafatar.com/avatars/0b06c1b9ae5845d5af60731e4c788dc8?overlay"
|
||||
alt="akalexu's Minecraft skin" height="160" width="160" style="width: 160px;">
|
||||
<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;
|
||||
}
|
||||
144
frontend/src/app/terms/terms.component.html
Normal file
144
frontend/src/app/terms/terms.component.html
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
<ng-container>
|
||||
<app-header [current_page]="'terms'" height="250px" background_image="/public/img/backgrounds/trees.jpg">
|
||||
<div class="title" header-content>
|
||||
<h1 class="titleColor">Terms of Use</h1>
|
||||
</div>
|
||||
</app-header>
|
||||
|
||||
<main>
|
||||
<section class="darkmodeSection">
|
||||
<div class="container">
|
||||
<div class="paragraph">
|
||||
<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
|
||||
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
|
||||
Services will constitute your acceptance of these Terms as well as our <a [routerLink]="['/privacy']">Privacy
|
||||
Policy</a>.
|
||||
If you do not agree to our Privacy Policy or Terms of Use, please do not use our Services. Thank you!</p>
|
||||
<p>Also, please note that Altitude is not affiliated with Mojang and is run independently by the server owner.
|
||||
Any questions or concerns should be directed to our support team at <a [routerLink]="['/contact']">alttd.com/contact</a>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>Fair Use</h2>
|
||||
<p>Our Minecraft server is governed under the Minecraft EULA (End User License Agreement). The Minecraft EULA
|
||||
states that everyone who accesses our server must have fair and reasonable access to all parts of the game
|
||||
and server. Hacking, duping, or using modifications to have an advantage over other players is not allowed
|
||||
and will result in termination of access to the server. Vanilla exploits that all users are capable of using
|
||||
with a vanilla copy of the game are generally allowed, but can be restricted or prohibited at our
|
||||
discretion. By joining our Minecraft server you have agreed to the Minecraft EULA and to <a
|
||||
[routerLink]="['/rules']">our server rules</a>.
|
||||
You should read the Minecraft EULA before joining any Minecraft server at <a
|
||||
href="https://www.minecraft.net/en-us/eula">minecraft.net/en-us/eula</a>.</p>
|
||||
<p>Any actions that are interpreted to have negative intentions towards another person using our services, or
|
||||
towards the services themselves, could result in termination of access to our services. Final interpretation
|
||||
of actions performed by any person using our services, and choice of correction for said actions, is at the
|
||||
discretion of our staff. This decision can only be overridden by any member of the <a
|
||||
[routerLink]="['/team']">staffing
|
||||
team</a> here on Altitude.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>Appropriate Use</h2>
|
||||
<p>All of the services we offer are intended for a mature audience. We do not guarantee that the content found
|
||||
on any of our services will be appropriate for younger audiences. That said, we want to highlight the term
|
||||
"mature". We believe that part of maturity is knowing what is appropriate, and what isn't, for each
|
||||
individual circumstance. For example, you will not find any set rules on profanity for any of our services.
|
||||
We reserve the right to determine, at our discretion, what is appropriate and what is not in every
|
||||
circumstance. Furthermore, we reserve the right to determine appropriate correction of inappropriate actions
|
||||
by anyone using our services.</p>
|
||||
<p>We want to provide a server that is appropriate for all ages, while still keeping a mature feel that is
|
||||
welcoming to an older audience. Please help us maintain this balance. We are a place for everyone to come
|
||||
together, and many parents would like a safe environment for their children to play as well. Thank you.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>Intellectual Property Rights</h2>
|
||||
<p>By posting or creating content of any form on any of our services you grant us a license to modify,
|
||||
commercialize, or delete your content at our discretion. We may commercialize your content by using the
|
||||
content in any form of advertising that we do. We will NEVER sell your content or the rights to your
|
||||
content, only use it to promote Altitude. Also, please keep our services clean by only creating appropriate
|
||||
content. We may remove any content you create if we determine it to be inappropriate! </p>
|
||||
<p>Second, you can request a copy of your content by contacting us. Only the author of the content will be
|
||||
allowed to request a copy. We will always provide a copy of your content as long as we still have the
|
||||
ability to do so (that is, if is still exists!). We may retain a copy of anything you create, even if you
|
||||
delete it (often in the backups of our Minecraft server), so be careful what you create!</p>
|
||||
<p>Finally, if you believe your intellectual property rights have been infringed upon you may contact us at
|
||||
<a [routerLink]="['/contact']">alttd.com/contact</a>. Please note that this only applies for
|
||||
content that was originally created outside of our services.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>Donations and Purchases</h2>
|
||||
<p>Please note that in-game items, ranks, and other stuff received from donating (collectively referred to as
|
||||
"perks") are subject to change as our services change. Our server is constantly changing with features being
|
||||
added and removed, and the perks donors receive may change with it. We make no guarantee that the perks you
|
||||
receive today will always be available.</p>
|
||||
<p>Any package, rank, or other perk that is defined as "lifetime" is intended to last the lifetime of the
|
||||
service they apply to, not the lifetime of the receiver of the perks. Lifetime perks may be terminated if
|
||||
they are abused, please see "Termination of Perks".</p>
|
||||
<p>Additionally, abuse of any of your perks will result in termination of some or all of your perks. "Abuse"
|
||||
of a perk includes using the perk to harm our services or individuals using our services (such as taunting a
|
||||
player about how you have a special perk and they don't), or finding a way to exploit the perk and use it in
|
||||
a manner that was not intended (such as changing your nickname to impersonate other players).</p>
|
||||
<p>We will not transfer the perks you've received from donating to another account. Please do not attempt to
|
||||
give away your perks, or sell them. If you wish to give someone a perk as a gift you use the "Gift This
|
||||
Package" option when you add an item to your cart in the store. We will make an exception of this rule for
|
||||
users who have their Minecraft accounts hacked, stolen, or lost. If you are using a new Minecraft account
|
||||
and need perks transferred please contact us at <a [routerLink]="['/contact']">alttd.com/contact</a>.
|
||||
</p>
|
||||
<p>For Stripe transactions only: temporary packages, perks or other including but not limited to the McMMO
|
||||
boosters, are non-refundable. Packages, perks, or other that do not expire can be refunded up to 14 days
|
||||
from the day of purchase. Lifetime Ranks can be refunded within 90 days of purchase if the perks of the
|
||||
purchased rank change after your purchase date. After this time period we will not refund any perks,
|
||||
packages, or other purchased.</p>
|
||||
<p>Any donations made through Patreon are non-refundable. You can cancel your Patreon donation at any time.
|
||||
You will continue to have access to your perks until the next billing date.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>Termination and Limitation</h2>
|
||||
<p>We may terminate or suspend any user's access to one or all of our services immediately, without prior
|
||||
notice or liability, for any reason. This includes failure to follow these Terms! A termination of access
|
||||
will prohibit you from accessing one or all of our services. Termination of access on our Minecraft Server
|
||||
(a server ban) can be appealed by <a [routerLink]="['/appeal']">submitting a form here</a>. Submitting
|
||||
an appeal does not guarantee a lift of the termination. We will attempt to process your appeal within 48
|
||||
hours of submitting at which point it will be decided if your termination is lifted or not.</p>
|
||||
<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
|
||||
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>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>External Services</h2>
|
||||
<p>Altitude uses many external services to provide additional services or features for you. Whenever you are
|
||||
using any of these external services you are bound by the respective service's Terms and Condition. Please
|
||||
be aware that Altitude will not be responsible or liable for any damage or loss caused by, or in connection
|
||||
with, the use of any external services. You should always read the Terms and Conditions of any service you
|
||||
use.</p>
|
||||
<p>This means that by joining our Minecraft server you have agreed to Minecraft's Terms of Use (<a
|
||||
href="https://www.microsoft.com/en-us/legal/terms-of-use">microsoft.com/en-us/legal/terms-of-use</a>), and
|
||||
the Minecraft EULA (<a
|
||||
href="https://www.minecraft.net/en-us/eula">minecraft.net/en-us/eula</a>).
|
||||
</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>Accuracy of Information</h2>
|
||||
<p>All the information on our website and services is published in good faith and is for general information
|
||||
purposes only. Altitude does not make any warranties about the completeness, reliability or accuracy of any
|
||||
information found on our website or services. Any action you take upon the information you find on any of
|
||||
our services is strictly at your own risk. Altitude will not be responsible or liable for any damage or loss
|
||||
caused by, or in connection with, the use of our website or services.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<h2>Changes of Terms</h2>
|
||||
<p>Our Terms may change from time to time. We will post any Policy changes on this page. Please check back
|
||||
periodically to view changes to our Terms. By continuing to access or use our website or services after any
|
||||
revisions become effective, you agree to be bound by the revised Terms. If you do not agree to the new
|
||||
Terms, please stop using our website and services.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<a (click)="this.scrollService.scrollToTop()" class="scroll-up-button, active">
|
||||
<span></span>
|
||||
<p style="display: none;">Scroll Down</p>
|
||||
</a>
|
||||
</main>
|
||||
</ng-container>
|
||||
12
frontend/src/app/terms/terms.component.scss
Normal file
12
frontend/src/app/terms/terms.component.scss
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
main .container {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.paragraph {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.paragraph p {
|
||||
margin-bottom: 15px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
23
frontend/src/app/terms/terms.component.spec.ts
Normal file
23
frontend/src/app/terms/terms.component.spec.ts
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { TermsComponent } from './terms.component';
|
||||
|
||||
describe('TermsComponent', () => {
|
||||
let component: TermsComponent;
|
||||
let fixture: ComponentFixture<TermsComponent>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [TermsComponent]
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(TermsComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
12
frontend/src/app/terms/terms.component.ts
Normal file
12
frontend/src/app/terms/terms.component.ts
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-terms',
|
||||
standalone: false,
|
||||
templateUrl: './terms.component.html',
|
||||
styleUrl: './terms.component.scss'
|
||||
})
|
||||
export class TermsComponent {
|
||||
scrollService: any;
|
||||
|
||||
}
|
||||
|
|
@ -212,7 +212,7 @@ ol li {
|
|||
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;
|
||||
}
|
||||
|
||||
|
|
@ -221,6 +221,13 @@ tr {
|
|||
transition: 0.5s ease;
|
||||
}
|
||||
|
||||
main .container {
|
||||
padding: 80px 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 80%;
|
||||
max-width: 1020px;
|
||||
|
|
@ -229,7 +236,6 @@ tr {
|
|||
align-items: center;
|
||||
}
|
||||
|
||||
|
||||
.title {
|
||||
height: calc(100% - 110px);
|
||||
display: flex;
|
||||
|
|
@ -250,6 +256,35 @@ tr {
|
|||
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 {
|
||||
display: inline-block;
|
||||
font-family: 'minecraft-text', sans-serif;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user