Compare commits
7 Commits
8402774d77
...
fd45bf09db
Author | SHA1 | Date | |
---|---|---|---|
fd45bf09db | |||
43cc6e96ec | |||
8d1a676f5e | |||
eb9f11155a | |||
fc013c8ee9 | |||
f9b2d998c6 | |||
1cf47c6516 |
30
.gitea/workflows/build.yml
Normal file
30
.gitea/workflows/build.yml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
name: Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
types: [opened, synchronize, reopened]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build and analyze
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
|
||||||
|
- uses: sonarsource/sonarqube-scan-action@master
|
||||||
|
env:
|
||||||
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||||
|
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
|
||||||
|
# If you wish to fail your job when the Quality Gate is red, uncomment the
|
||||||
|
# following lines. This would typically be used to fail a deployment.
|
||||||
|
# We do not recommend to use this in a pull request. Prefer using pull request
|
||||||
|
# decoration instead.
|
||||||
|
# - uses: sonarsource/sonarqube-quality-gate-action@master
|
||||||
|
# timeout-minutes: 5
|
||||||
|
# env:
|
||||||
|
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
BIN
bun.lockb
BIN
bun.lockb
Binary file not shown.
1
sonar-project.properties
Normal file
1
sonar-project.properties
Normal file
@ -0,0 +1 @@
|
|||||||
|
sonar.projectKey=Hotel-Manager
|
@ -1,6 +1,5 @@
|
|||||||
import { Component } from "@angular/core";
|
import { Component, Input } from "@angular/core";
|
||||||
import { ChildComponent } from "../Child/child.component";
|
import { ChildComponent } from "../Child/child.component";
|
||||||
import { Input } from "@angular/core";
|
|
||||||
import { Hotel } from "./hotel";
|
import { Hotel } from "./hotel";
|
||||||
import { CurrencyPipe } from "@angular/common";
|
import { CurrencyPipe } from "@angular/common";
|
||||||
import { FormsModule } from "@angular/forms";
|
import { FormsModule } from "@angular/forms";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
export interface Hotel {
|
export interface Hotel {
|
||||||
hotelId: number;
|
hotelId: number;
|
||||||
hotelName: String;
|
hotelName: string;
|
||||||
description: String;
|
description: string;
|
||||||
price: number;
|
price: number;
|
||||||
imageUrl: String;
|
imageUrl: string;
|
||||||
rating: number;
|
rating: number;
|
||||||
}
|
}
|
||||||
|
42
src/app/Parent/services/hotel.service.ts
Normal file
42
src/app/Parent/services/hotel.service.ts
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
import { Injectable } from "@angular/core";
|
||||||
|
import { Hotel } from "../../HotelItem/hotel";
|
||||||
|
|
||||||
|
@Injectable()
|
||||||
|
export class HotelService {
|
||||||
|
public getHotels(): Hotel[] {
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
"hotelId": 1,
|
||||||
|
"hotelName": "Buea süßes Leben",
|
||||||
|
"description": "Schöne Aussicht am Meer",
|
||||||
|
"price": 230.5,
|
||||||
|
"imageUrl": "assets/img/1.jpg",
|
||||||
|
"rating": 3.5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hotelId": 2,
|
||||||
|
"hotelName": "Marrakesch",
|
||||||
|
"description": "Genießen Sie den Blick auf die Berge",
|
||||||
|
"price": 145.5,
|
||||||
|
"imageUrl": "assets/img/2.jpg",
|
||||||
|
"rating": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hotelId": 3,
|
||||||
|
"hotelName": "Abuja neuer Palast",
|
||||||
|
"description": "Kompletter Aufenthalt mit Autoservice",
|
||||||
|
"price": 120.12,
|
||||||
|
"imageUrl": "assets/img/3.jpg",
|
||||||
|
"rating": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hotelId": 4,
|
||||||
|
"hotelName": "Kapstadt Stadt",
|
||||||
|
"description": "Wunderschönes Ambiente für Ihren Aufenthalt",
|
||||||
|
"price": 135.12,
|
||||||
|
"imageUrl": "assets/img/4.jpg",
|
||||||
|
"rating": 2.5
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
@ -3,16 +3,20 @@ import { HotelItem } from './HotelItem/HotelItem.component';
|
|||||||
import { SearchComponent } from './Search/search.component';
|
import { SearchComponent } from './Search/search.component';
|
||||||
import { UpperCasePipe } from '@angular/common';
|
import { UpperCasePipe } from '@angular/common';
|
||||||
import { TextPipe } from '../text.pipe';
|
import { TextPipe } from '../text.pipe';
|
||||||
|
import { HotelService } from './Parent/services/hotel.service';
|
||||||
|
import { inject } from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-root',
|
selector: 'app-root',
|
||||||
standalone: true,
|
standalone: true,
|
||||||
imports: [HotelItem, SearchComponent, UpperCasePipe, TextPipe],
|
imports: [HotelItem, SearchComponent, UpperCasePipe, TextPipe],
|
||||||
templateUrl: './app.component.html',
|
templateUrl: './app.component.html',
|
||||||
|
providers: [HotelService],
|
||||||
styleUrl: './app.component.css'
|
styleUrl: './app.component.css'
|
||||||
})
|
})
|
||||||
export class AppComponent {
|
export class AppComponent {
|
||||||
public search: string = "";
|
public search: string = "";
|
||||||
|
public hotelService: HotelService = inject(HotelService);
|
||||||
|
|
||||||
public test() {
|
public test() {
|
||||||
console.log(this.search);
|
console.log(this.search);
|
||||||
@ -27,39 +31,6 @@ export class AppComponent {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public hotels = [
|
public hotels = this.hotelService.getHotels();
|
||||||
{
|
|
||||||
"hotelId": 1,
|
|
||||||
"hotelName": "Buea süßes Leben",
|
|
||||||
"description": "Schöne Aussicht am Meer",
|
|
||||||
"price": 230.5,
|
|
||||||
"imageUrl": "assets/img/1.jpg",
|
|
||||||
"rating": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"hotelId": 2,
|
|
||||||
"hotelName": "Marrakesch",
|
|
||||||
"description": "Genießen Sie den Blick auf die Berge",
|
|
||||||
"price": 145.5,
|
|
||||||
"imageUrl": "assets/img/2.jpg",
|
|
||||||
"rating": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"hotelId": 3,
|
|
||||||
"hotelName": "Abuja neuer Palast",
|
|
||||||
"description": "Kompletter Aufenthalt mit Autoservice",
|
|
||||||
"price": 120.12,
|
|
||||||
"imageUrl": "assets/img/3.jpg",
|
|
||||||
"rating": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"hotelId": 4,
|
|
||||||
"hotelName": "Kapstadt Stadt",
|
|
||||||
"description": "Wunderschönes Ambiente für Ihren Aufenthalt",
|
|
||||||
"price": 135.12,
|
|
||||||
"imageUrl": "assets/img/4.jpg",
|
|
||||||
"rating": 2.5
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user