DarkLightTheme
parent
f1b34cd3f2
commit
1aff6817f8
@ -1,19 +1,54 @@
|
||||
import { StatusBar } from 'expo-status-bar';
|
||||
import { StyleSheet, Text, View, Button } from 'react-native';
|
||||
import React, { useState } from "react";
|
||||
import React, { useState, useEffect } from "react";
|
||||
|
||||
|
||||
import Navigation from './navigation/Navigation';
|
||||
import StackNavigation from './navigation/StackNavigation';
|
||||
|
||||
import { createStackNavigator } from '@react-navigation/stack';
|
||||
|
||||
import {useDispatch, useSelector} from 'react-redux';
|
||||
|
||||
// Import your application store
|
||||
//import store from "./redux/store";
|
||||
|
||||
|
||||
import {
|
||||
SafeAreaView,
|
||||
SafeAreaProvider,
|
||||
} from 'react-native-safe-area-context';
|
||||
|
||||
import { Provider } from 'react-redux';
|
||||
|
||||
|
||||
|
||||
export default function App() {
|
||||
//safearea
|
||||
//mettre le navigateur ayant le princ
|
||||
|
||||
return (
|
||||
<SafeAreaProvider>
|
||||
<Navigation/>
|
||||
</SafeAreaProvider>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// ///décommenter quand API Fonctionnel///
|
||||
|
||||
// // export default function App() {
|
||||
// // return (
|
||||
// // <>
|
||||
// // {/* Bind your application store to the Provider store */}
|
||||
// // <Provider store={store}>
|
||||
// // <SafeAreaProvider>
|
||||
// // <Navigation/>
|
||||
// // </SafeAreaProvider>
|
||||
// // </Provider>
|
||||
// // </>
|
||||
// // );
|
||||
// // }
|
||||
|
@ -1,188 +0,0 @@
|
||||
export class City {
|
||||
private _name: string;
|
||||
private _latitude: number;
|
||||
private _longitude: number;
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
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];
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
import {THEME_CHANGE} from '../constants';
|
||||
|
||||
|
||||
|
||||
// switch mode according to what is specified...
|
||||
|
||||
//@ts-ignore
|
||||
export const switchMode = (mode) => {
|
||||
return {
|
||||
type: THEME_CHANGE,
|
||||
payload: mode,
|
||||
};
|
||||
};
|
@ -0,0 +1,9 @@
|
||||
|
||||
|
||||
export const FETCH_DATA = "FETCH_DATA"
|
||||
|
||||
export const ADD_FAVORITE_DATA = "ADD_FAVORITE_DATA"
|
||||
|
||||
export const DISPLAY_ALL_CARD = "DISPLAY_ALL_CARD"
|
||||
|
||||
export const THEME_CHANGE = 'THEME_CHANGE';
|
@ -0,0 +1,29 @@
|
||||
import {THEME_CHANGE, FETCH_DATA, ADD_FAVORITE_DATA} from '../constants'
|
||||
|
||||
const initialState = {
|
||||
mode: 'light',
|
||||
cards: [],
|
||||
favoriteCards: [],
|
||||
// cards: ["C_ace", "C_K", "C_Q", "C_J"],
|
||||
// favoriteCards: [ "C_ace", "C_K"],
|
||||
}
|
||||
|
||||
|
||||
// @ts-ignore
|
||||
export default appReducer = (state = initialState, action) => {
|
||||
switch (action.type) {
|
||||
case ADD_FAVORITE_DATA:
|
||||
// @ts-ignore
|
||||
return {...state, favoriteCards: state.favoriteCards.push(action.payload)};
|
||||
case FETCH_DATA:
|
||||
// @ts-ignore
|
||||
return {...state, cards: action.payload};
|
||||
|
||||
case THEME_CHANGE:
|
||||
return {...state,mode: action.payload};
|
||||
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in new issue