diff --git a/data/ApiDataManager.tsx b/data/ApiDataManager.tsx new file mode 100644 index 0000000..456eff9 --- /dev/null +++ b/data/ApiDataManager.tsx @@ -0,0 +1,14 @@ + +class ApiDataManager{ + + + public async getCards() : Promise { + + + const CardPromise = await fetch('https://omgvamp-hearthstone-v1.p.rapidapi.com/cards') + + const CardListJson = await CardPromise.json(); + const CardList: String[] = Array.of(CardListJson); + return CardList; + } +} diff --git a/data/stub.ts b/data/stub.ts index c2c79dd..7b0a096 100644 --- a/data/stub.ts +++ b/data/stub.ts @@ -1,188 +1,13 @@ -export class City { - private _name: string; - private _latitude: number; - private _longitude: number; +class StubLib { - constructor(name: string, latitude: number, longitude: number) { - this._name = name; - this._latitude = latitude; - this._longitude = longitude; - } - get name(): string { - return this._name; - } - - set name(value: string) { - this._name = value; - } - - get latitude(): number { - return this._latitude; - } - - set latitude(value: number) { - this._latitude = value; - } - - get longitude(): number { - return this._longitude; - } - - set longitude(value: number) { - this._longitude = value; - } + public getCards(): Card[] { + const NOUNOURS_LIST : Card[] = [ + new Card("Chewie"), + new Card("Rupert"), + new Card("Ronflex"), + ] + return NOUNOURS_LIST + } } -export class Weather { - private _at: string; - private _visibility: number; - private _weatherType: string; - private _weatherDescription: string; - private _temperature: number; - private _temperatureFeelsLike: number; - private _humidity: number; - private _windSpeed: number; - private _pressure: number; - private _city: City; - - constructor(at: string, visibility: number, weatherType: string, weatherDescription: string, temperature: number, temperatureFeelsLike: number, humidity: number, windSpeed: number, pressure: number, city: City) { - this._at = at; - this._visibility = visibility; - this._weatherType = weatherType; - this._weatherDescription = weatherDescription; - this._temperature = temperature; - this._temperatureFeelsLike = temperatureFeelsLike; - this._humidity = humidity; - this._windSpeed = windSpeed; - this._pressure = pressure; - this._city = city; - } - - get at(): string { - return this._at; - } - - set at(value: string) { - this._at = value; - } - - get visibility(): number { - return this._visibility; - } - - set visibility(value: number) { - this._visibility = value; - } - - get weatherType(): string { - return this._weatherType; - } - - set weatherType(value: string) { - this._weatherType = value; - } - - get weatherDescription(): string { - return this._weatherDescription; - } - - set weatherDescription(value: string) { - this._weatherDescription = value; - } - - get temperature(): number { - return this._temperature; - } - - set temperature(value: number) { - this._temperature = value; - } - - get temperatureFeelsLike(): number { - return this._temperatureFeelsLike; - } - - set temperatureFeelsLike(value: number) { - this._temperatureFeelsLike = value; - } - - get humidity(): number { - return this._humidity; - } - - set humidity(value: number) { - this._humidity = value; - } - - get windSpeed(): number { - return this._windSpeed; - } - - set windSpeed(value: number) { - this._windSpeed = value; - } - - get pressure(): number { - return this._pressure; - } - - set pressure(value: number) { - this._pressure = value; - } - - get city(): City { - return this._city; - } - - set city(value: City) { - this._city = value; - } -} - -export const CITIES_DATA: City[] = [ - new City("Paris", 48.866667, 2.333333), - new City("Clermont-Ferrand", 45.777222, 3.087025), - new City("Lyon", 45.764043, 4.835659), - new City("Marseille", 43.296482, 5.36978), - new City("Bruxelles", 50.85034, 4.35171), -]; - -export const FAVORITE_CITY_DATA = - new City("Clermont-Ferrand", 45.777222, 3.087025); - -export const DEFAULT_SELECTED_CITY_DATA: City = - new City("Paris", 48.866667, 2.333333); - -export const WEATHER_DATA: Weather[] = [ - new Weather("2023-01-22 09:55:59", 10000, "Nuageux", - "couvert", 0.52, -4.34, - 82, 5.14, 1032, - new City("Paris", 48.866667, 2.333333) - ), - new Weather("2023-01-22 09:55:59", 10000, "Nuageux", - "couvert", 0.52, -4.34, - 82, 5.14, 1032, - new City("Clermont-Ferrand", 45.777222, 3.087025) - ), - new Weather("2023-01-22 09:55:59", 10000, "Nuageux", - "couvert", 0.52, -4.34, - 82, 5.14, 1032, - new City("Lyon", 45.764043, 4.835659) - ), - new Weather("2023-01-22 09:55:59", 10000, "Nuageux", - "couvert", 0.52, -4.34, - 82, 5.14, 1032, - new City("Marseille", 43.296482, 5.36978) - ), - new Weather("2023-01-22 09:55:59", 10000, "Nuageux", - "couvert", 0.52, -4.34, - 82, 5.14, 1032, - new City("Bruxelles", 50.85034, 4.35171) - ), -]; - -export const getCurrentWeather = (cityName: string) => { - if (cityName === undefined) return {}; - return WEATHER_DATA.filter(elt => elt.city.name === cityName)[0]; -} diff --git a/models/Card.tsx b/models/Card.tsx new file mode 100644 index 0000000..eaf6ab1 --- /dev/null +++ b/models/Card.tsx @@ -0,0 +1,15 @@ +class Card { + + constructor(name :string) { + this._name=name + } + get name(): string { + return this._name; + } + + set name(value: string) { + this._name = value; + } + private _name : string; + +} \ No newline at end of file diff --git a/screens/ListScreen.tsx b/screens/ListScreen.tsx index bc68ccb..2a3f886 100644 --- a/screens/ListScreen.tsx +++ b/screens/ListScreen.tsx @@ -3,16 +3,18 @@ import { StyleSheet, Text, View, Button } from 'react-native'; import { StatusBar } from 'expo-status-bar'; import React, { useState } from "react"; - -export default function Main(){ +export default async function Main() { const [count, setCount] = useState(0); + const {getCards} = new StubLib(); + const list: Card[] = getCards(); return ( Maman, prend la caméra ! ! - + {count} -