mirror of https://github.com/ghostfolio/ghostfolio
committed by
GitHub
21 changed files with 264 additions and 19 deletions
@ -0,0 +1,21 @@ |
|||
import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; |
|||
|
|||
import { NgModule } from '@angular/core'; |
|||
import { RouterModule, Routes } from '@angular/router'; |
|||
|
|||
import { TermsOfServicePageComponent } from './terms-of-service-page.component'; |
|||
|
|||
const routes: Routes = [ |
|||
{ |
|||
canActivate: [AuthGuard], |
|||
component: TermsOfServicePageComponent, |
|||
path: '', |
|||
title: $localize`Terms of Service` |
|||
} |
|||
]; |
|||
|
|||
@NgModule({ |
|||
exports: [RouterModule], |
|||
imports: [RouterModule.forChild(routes)] |
|||
}) |
|||
export class TermsOfServicePageRoutingModule {} |
@ -0,0 +1,17 @@ |
|||
import { Component, OnDestroy } from '@angular/core'; |
|||
import { Subject } from 'rxjs'; |
|||
|
|||
@Component({ |
|||
selector: 'gf-terms-of-service-page', |
|||
standalone: false, |
|||
styleUrls: ['./terms-of-service-page.scss'], |
|||
templateUrl: './terms-of-service-page.html' |
|||
}) |
|||
export class TermsOfServicePageComponent implements OnDestroy { |
|||
private unsubscribeSubject = new Subject<void>(); |
|||
|
|||
public ngOnDestroy() { |
|||
this.unsubscribeSubject.next(); |
|||
this.unsubscribeSubject.complete(); |
|||
} |
|||
} |
@ -0,0 +1,10 @@ |
|||
<div class="container"> |
|||
<div class="mb-5 row"> |
|||
<div class="col"> |
|||
<h1 class="d-none d-sm-block h3 mb-4 text-center" i18n> |
|||
Terms of Service |
|||
</h1> |
|||
<markdown [src]="'../assets/terms-of-service.md'"></markdown> |
|||
</div> |
|||
</div> |
|||
</div> |
@ -0,0 +1,17 @@ |
|||
import { CommonModule } from '@angular/common'; |
|||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; |
|||
import { MarkdownModule } from 'ngx-markdown'; |
|||
|
|||
import { TermsOfServicePageRoutingModule } from './terms-of-service-page-routing.module'; |
|||
import { TermsOfServicePageComponent } from './terms-of-service-page.component'; |
|||
|
|||
@NgModule({ |
|||
declarations: [TermsOfServicePageComponent], |
|||
imports: [ |
|||
CommonModule, |
|||
MarkdownModule.forChild(), |
|||
TermsOfServicePageRoutingModule |
|||
], |
|||
schemas: [CUSTOM_ELEMENTS_SCHEMA] |
|||
}) |
|||
export class TermsOfServicePageModule {} |
@ -0,0 +1,29 @@ |
|||
:host { |
|||
color: rgb(var(--dark-primary-text)); |
|||
display: block; |
|||
|
|||
::ng-deep { |
|||
markdown { |
|||
a { |
|||
color: rgba(var(--palette-primary-500), 1); |
|||
font-weight: 500; |
|||
|
|||
&:hover { |
|||
color: rgba(var(--palette-primary-300), 1); |
|||
} |
|||
} |
|||
|
|||
h2 { |
|||
font-size: 1.5rem; |
|||
} |
|||
|
|||
h3 { |
|||
font-size: 1.25rem; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
:host-context(.theme-dark) { |
|||
color: rgb(var(--light-primary-text)); |
|||
} |
@ -0,0 +1,4 @@ |
|||
export interface ShowAccessTokenDialogParams { |
|||
deviceType: string; |
|||
needsToAcceptTermsOfService: boolean; |
|||
} |
@ -1,6 +1,16 @@ |
|||
:host { |
|||
--mat-dialog-with-actions-content-padding: 0; |
|||
|
|||
a { |
|||
color: rgba(var(--palette-primary-500), 1); |
|||
font-weight: 500; |
|||
|
|||
&:hover { |
|||
color: rgba(var(--palette-primary-300), 1); |
|||
} |
|||
} |
|||
|
|||
.mat-mdc-dialog-actions { |
|||
padding-left: 0 !important; |
|||
padding-right: 0 !important; |
|||
padding: 0 !important; |
|||
} |
|||
} |
|||
|
@ -0,0 +1,58 @@ |
|||
This Terms of Service Agreement (hereinafter referred to as the "Agreement") is a legally binding contract between you (hereinafter referred to as the "User" or "You") and Ghostfolio LLC (hereinafter referred to as "LICENSEE") governing your use of the web application and the application programming interface (API) (hereinafter referred to as the "Service") provided by LICENSEE. By either accessing or using the Service, or by downloading data provided by the Service, you agree to be bound by the terms and conditions of this Agreement. If you do not agree to these terms, please do not access or use the Service. |
|||
|
|||
## Definitions |
|||
|
|||
<ol type="a"> |
|||
<li>"Service" refers to the services provided by LICENSEE, including, but not limited to, the web application, the application programming interface (API), and the provision of financial market data.</li> |
|||
<li>"User" refers to any individual or entity that either accesses or uses the Service, or downloads data provided by the Service.</li> |
|||
<li>"LICENSEE" refers to Ghostfolio LLC, the provider of the Service.</li> |
|||
</ol> |
|||
|
|||
## License Grant |
|||
|
|||
LICENSEE grants the User a non-exclusive, non-transferable, revocable license to access and use the Service, and download data provided by the Service, solely for lawful and non-commercial purposes in accordance with the terms and conditions of this Agreement. |
|||
|
|||
## Use Restrictions |
|||
|
|||
The User agrees to the following use restrictions: |
|||
|
|||
<ol type="a"> |
|||
<li>The Service provided by LICENSEE is for informational and educational purposes only and shall not be used for any commercial purposes.</li> |
|||
<li>The User shall not distribute, sell, rent, lease, sublicense, or otherwise transfer the data provided by the Service to any third party.</li> |
|||
<li>The User shall not modify, adapt, reverse engineer, decompile, disassemble, or create derivative works based on the Service.</li> |
|||
<li>The User shall not use the Service in any manner that violates applicable laws or regulations.</li> |
|||
</ol> |
|||
|
|||
## Ownership |
|||
|
|||
The Service, and all data provided by the Service, is the property of LICENSEE and is protected by intellectual property laws. The User acknowledges that LICENSEE retains all rights, title, and interest in and to the Service. |
|||
|
|||
## Disclaimer of Warranty |
|||
|
|||
LICENSEE provides the Service and data provided by the Service "as is" and makes no representations or warranties regarding the accuracy, completeness, or reliability of the Service. The User uses the Service at their own risk. |
|||
|
|||
## Limitation of Liability |
|||
|
|||
LICENSEE shall not be liable for any direct, indirect, incidental, special, or consequential damages arising out of or in connection with the use or inability to use the Service or the data provided by the Service. |
|||
|
|||
## Termination |
|||
|
|||
This Agreement is effective until terminated by either party. The User may terminate this Agreement by ceasing to use the Service. LICENSEE may terminate this Agreement at any time without notice if the User breaches any of its terms. Upon termination, the User must cease all use of the Service and data provided by the Service. |
|||
|
|||
## Governing Law |
|||
|
|||
This Agreement shall be governed by and construed in accordance with the laws of Zurich, Switzerland, without regard to its conflict of law principles. |
|||
|
|||
## Entire Agreement |
|||
|
|||
This Agreement constitutes the entire agreement between the User and LICENSEE regarding the Service and supersedes all prior agreements and understandings, whether oral or written. |
|||
|
|||
## Changes to Agreement |
|||
|
|||
LICENSEE reserves the right to modify this Agreement at any time. Users are encouraged to review this Agreement periodically for updates. Continued use of the Service after changes to this Agreement constitutes acceptance of the modified terms. |
|||
|
|||
By accessing or using the Service, or downloading data provided by the Service, the User acknowledges that they have read, understood, and agreed to be bound by this Terms of Service Agreement. |
|||
|
|||
For any questions or concerns regarding this Agreement, please contact us [here](https://ghostfol.io/en/about). |
|||
|
|||
Date of Last Revision: March 29, 2025 |
Loading…
Reference in new issue