ADD: class pour le principe S

stub-api
Thomas Chazot 3 years ago
parent c94585f07f
commit fe24058f38

@ -1,7 +1,7 @@
import { Message } from "./core/message" import { Message } from "./core/message"
import { Conversation } from "./core/conversation" import { Conversation } from "./core/conversation"
import tabSkinApp from './constSkin' import tabSkinApp from './constSkin'
import { User } from "./core/user"; import { User } from "./core/User/user";
let UserActu:User=new User("14", "leBg", "MdpDeOuf", "ouioui", "grand", new Date(2022,12,12), 12222, 123324, 12, tabSkinApp[0], tabSkinApp, undefined); let UserActu:User=new User("14", "leBg", "MdpDeOuf", "ouioui", "grand", new Date(2022,12,12), 12222, 123324, 12, tabSkinApp[0], tabSkinApp, undefined);

@ -2,56 +2,68 @@ import { randomBytes } from "crypto";
import { ImageSourcePropType } from "react-native"; import { ImageSourcePropType } from "react-native";
export abstract class Game{ export abstract class Game{
private Name:string; private name:string;
private ImageSource:ImageSourcePropType; private imageSource:ImageSourcePropType;
private GameSource:string; private gameSource:string;
private NbPlayer: number; private nbPlayerMin: number;
private nbPlayerMax:number;
/* Constructor of the class */ /* Constructor of the class */
constructor (name:string, imageSource:ImageSourcePropType, gameSource:string, nbPlayer:number){ constructor (name:string, imageSource:ImageSourcePropType, gameSource:string, nbPlayerMin:number, nbPlayerMax:number){
this.Name=name; this.name=name;
this.ImageSource=imageSource; this.imageSource=imageSource;
this.GameSource=gameSource; this.gameSource=gameSource;
this.NbPlayer=nbPlayer; this.nbPlayerMin=nbPlayerMin;
this.nbPlayerMax=nbPlayerMax;
} }
/* Brief : Function getting the name of a game */ /* Brief : Function getting the name of a game */
getName(){ getName(){
return this.Name; return this.name;
} }
/* Brief : Function setting the name of a game */ /* Brief : Function setting the name of a game */
setName(name:string){ setName(name:string){
this.Name=name; this.name=name;
} }
/* Brief : Function getting the image of a game */ /* Brief : Function getting the image of a game */
getImageSource(){ getImageSource(){
return this.ImageSource; return this.imageSource;
} }
/* Brief : Function setting the image of a game */ /* Brief : Function setting the image of a game */
setImageSource(imageSource:ImageSourcePropType){ setImageSource(imageSource:ImageSourcePropType){
this.ImageSource=imageSource; this.imageSource=imageSource;
} }
/* Brief : Function getting the source of a game */ /* Brief : Function getting the source of a game */
getGameSource(){ getGameSource(){
return this.GameSource; return this.gameSource;
} }
/* Brief : Function setting the source of a game */ /* Brief : Function setting the source of a game */
setGameSource(gameSource:string){ setGameSource(gameSource:string){
this.GameSource=gameSource; this.gameSource=gameSource;
} }
/* Brief : Function getting the number of player */ /* Brief : Function getting the number of player */
getNbPlayer(){ getNbPlayerMin(){
return this.NbPlayer; return this.nbPlayerMin;
} }
/* Brief : Function setting the number of player*/ /* Brief : Function setting the number of player*/
setNbPlayer(nbPlayer:number){ setNbPlayerMin(nbPlayerMin:number){
this.NbPlayer=nbPlayer; this.nbPlayerMin=nbPlayerMin;
}
/* Brief : Function getting the number of player */
getNbPlayerMax(){
return this.nbPlayerMax;
}
/* Brief : Function setting the number of player*/
setNbPlayerMax(nbPlayerMax:number){
this.nbPlayerMax=nbPlayerMax;
} }
} }

@ -0,0 +1,14 @@
import { User } from "./user";
import { Skin } from "../Skin";
import { ManagerCoinsUser } from "./managerCoinsUser";
//import ManagerCoinsUser
export class SkinBuyer{
buy(u:User, s:Skin){
const manage=new ManagerCoinsUser();
u.getTabSkin().push(s);
manage.removeCoins(u, s.getSkinCost());
}
}

@ -0,0 +1,16 @@
import { User } from "./user";
export class ManagerCoinsUser{
addCoins(u:User, coins:number){
u.setCurrentCoins(u.getCurrentCoins()+coins);
u.setTotalCoins(u.getTotalCoins()+coins);
}
removeCoins(u:User, coins:number){
u.setCurrentCoins(u.getCurrentCoins()-coins);
}
changeCurrentCoins(u:User, coins:number){
u.setCurrentCoins(coins);
}
}

@ -1,159 +1,159 @@
import { Skin } from './Skin' import { Skin } from '../Skin'
import { Conversation } from './conversation'; import { Conversation } from '../conversation';
import { sign } from 'crypto'; import { sign } from 'crypto';
export class User{ export class User{
readonly Id: string; readonly id: string;
private Username: string; private username: string;
private Password: string; private password: string;
private Nationality: string; private nationality: string;
private Sexe: string; private sexe: string;
private DateOfBirth: Date; private dateOfBirth: Date;
private CurrentCoins: number; private currentCoins: number;
private TotalCoins: number; private totalCoins: number;
private NbGamePlayed: number; private nbGamePlayed: number;
private CurrentSkin: Skin; private currentSkin: Skin;
private TabSkin: Skin[]; private tabSkin: Skin[];
private TabConv?: Conversation[]; private tabConv?: Conversation[];
/* Consturctor of the class */ /* Consturctor of the class */
constructor(id: string, username: string, password:string, nationality: string, sexe: string, dateOfBirth: Date, currentCoins: number, totalCoins: number, constructor(id: string, username: string, password:string, nationality: string, sexe: string, dateOfBirth: Date, currentCoins: number, totalCoins: number,
nbGamePlayed:number, currentSkin: Skin, tabSkin: Skin[], tabConv?: Conversation[] ){ nbGamePlayed:number, currentSkin: Skin, tabSkin: Skin[], tabConv?: Conversation[] ){
this.Id=id; this.id=id;
this.Username=username; this.username=username;
this.Password=password; this.password=password;
this.Nationality=nationality; this.nationality=nationality;
this.Sexe=sexe; this.sexe=sexe;
this.DateOfBirth=dateOfBirth; this.dateOfBirth=dateOfBirth;
this.NbGamePlayed=nbGamePlayed; this.nbGamePlayed=nbGamePlayed;
this.CurrentCoins=currentCoins; this.currentCoins=currentCoins;
this.TotalCoins=totalCoins; this.totalCoins=totalCoins;
this.CurrentSkin=currentSkin; this.currentSkin=currentSkin;
this.TabSkin=[...tabSkin]; this.tabSkin=[...tabSkin];
tabConv?.forEach(conv => { tabConv?.forEach(conv => {
this.TabConv?.push(conv); this.tabConv?.push(conv);
}); });
} }
/* Brief : Function getting the name of an user */ /* Brief : Function getting the name of an user */
getUsername(){ getUsername(){
return this.Username; return this.username;
} }
/* Brief : Function setting the name of an user */ /* Brief : Function setting the name of an user */
setUsername(username: string){ setUsername(username: string){
this.Username=username; this.username=username;
} }
/* Brief : Function getting the id of an user */ /* Brief : Function getting the id of an user */
getId(){ getId(){
return this.Id; return this.id;
} }
getPassword(){ getPassword(){
return this.Password; return this.password;
} }
setPassword(password:string){ setPassword(password:string){
this.Password=password; this.password=password;
} }
/* Brief : Function getting the current number of coins of an user */ /* Brief : Function getting the current number of coins of an user */
getCurrentCoins(){ getCurrentCoins(){
return this.CurrentCoins; return this.currentCoins;
} }
/* Brief : Function setting the current number of coins of an user */ /* Brief : Function setting the current number of coins of an user */
setCurrentCoins(currentCoins: number){ setCurrentCoins(currentCoins: number){
this.CurrentCoins=currentCoins; this.currentCoins=currentCoins;
} }
/* Brief : Function getting the sex of an user */ /* Brief : Function getting the sex of an user */
getSexe(){ getSexe(){
return this.Sexe; return this.sexe;
} }
/* Brief : Function getting the sex of an user */ /* Brief : Function getting the sex of an user */
setSexe(sexe: string){ setSexe(sexe: string){
this.Sexe=sexe; this.sexe=sexe;
} }
/* Brief : Function getting the date of birth of an user */ /* Brief : Function getting the date of birth of an user */
getDateOfBirth(){ getDateOfBirth(){
return this.DateOfBirth; return this.dateOfBirth;
} }
/* Brief : Function setting the date of birth of an user */ /* Brief : Function setting the date of birth of an user */
setDateOfBirth(dateOfBirth: Date){ setDateOfBirth(dateOfBirth: Date){
this.DateOfBirth=dateOfBirth; this.dateOfBirth=dateOfBirth;
} }
/* Brief : Function getting the nationality of an user */ /* Brief : Function getting the nationality of an user */
getNationality(){ getNationality(){
return this.Nationality; return this.nationality;
} }
/* Brief : Function setting the nationality of an user */ /* Brief : Function setting the nationality of an user */
setNationality(nationality: string){ setNationality(nationality: string){
this.Nationality=nationality; this.nationality=nationality;
} }
/* Brief : Function getting the total number of coins of an user */ /* Brief : Function getting the total number of coins of an user */
getTotalCoins(){ getTotalCoins(){
return this.TotalCoins; return this.totalCoins;
} }
/* Brief : Function setting the total number of coins of an user */ /* Brief : Function setting the total number of coins of an user */
setTotalCoins(totalCoins: number){ setTotalCoins(totalCoins: number){
this.TotalCoins=totalCoins; this.totalCoins=totalCoins;
} }
/* Brief : Function getting the current number of game played by an user */ /* Brief : Function getting the current number of game played by an user */
getGamePlayed(){ getGamePlayed(){
return this.NbGamePlayed; return this.nbGamePlayed;
} }
/* Brief : Function setting the current number of game played by an user */ /* Brief : Function setting the current number of game played by an user */
setGamePlayed(nb: number){ setGamePlayed(nb: number){
this.NbGamePlayed=nb; this.nbGamePlayed=nb;
} }
/* Brief : Function getting the current skin of an user */ /* Brief : Function getting the current skin of an user */
getCurrentSkin(){ getCurrentSkin(){
return this.CurrentSkin; return this.currentSkin;
} }
/* Brief : Function setting the current skin of an user */ /* Brief : Function setting the current skin of an user */
setCurrentSkin(newSkin: Skin){ setCurrentSkin(newSkin: Skin){
this.CurrentSkin=newSkin; this.currentSkin=newSkin;
} }
/* Brief : Function getting the skins of an user */ /* Brief : Function getting the skins of an user */
getTabSkin(){ getTabSkin(){
return this.TabSkin; return this.tabSkin;
} }
/* Brief : Function setting the skins of an user */ /* Brief : Function setting the skins of an user */
setTabSkin(tabSkin: Skin[]){ setTabSkin(tabSkin: Skin[]){
this.TabSkin=[...tabSkin]; this.tabSkin=[...tabSkin];
} }
/* Brief : Function getting the conversations of an user */ /* Brief : Function getting the conversations of an user */
getTabConv(){ getTabConv(){
return this.TabConv; return this.tabConv;
} }
/* Brief : Function setting the conversations of an user */ /* Brief : Function setting the conversations of an user */
setTabConv(tabConv?: Conversation[]){ setTabConv(tabConv?: Conversation[]){
tabConv?.forEach(conv => { tabConv?.forEach(conv => {
this.TabConv?.push(conv); this.tabConv?.push(conv);
}); });
} }
/*
changeUserCoins(coin:number){ changeUserCoins(coin:number){
this.CurrentCoins+=coin; this.CurrentCoins+=coin;
if (coin>0){ if (coin>0){
@ -175,4 +175,9 @@ export class User{
} }
return false; return false;
} }
usrPasswordEquals(username:string, password:string){
return this.Password==password && this.Username==username;
}
*/
} }

@ -1,8 +1,9 @@
import { Conversation } from './Conversation'; import { Conversation } from './Conversation';
import { Message } from './Message'; import { Message } from './Message';
import { User } from './User';
import { Skin } from './Skin'; import { Skin } from './Skin';
import { User } from './User/user';
// Instances // Instances
let conv:Conversation[] = []; let conv:Conversation[] = [];

@ -1,5 +1,5 @@
import { Message } from "./message" import { Message } from "./message"
import { User } from "./user"; import { User } from "./User/user";
export class Conversation{ export class Conversation{
@ -15,13 +15,14 @@ export class Conversation{
} }
/* Brief : function returning the messages of a conversation */ /* Brief : function returning the messages of a conversation */
gettabMessage(){ getTabMessage(){
this.sortMessageDesc(); this.sortMessageDesc();
return this.tabMessage; return this.tabMessage;
} }
/* Brief : function returning the users of a conversation */ /* Brief : function returning the users of a conversation */
gettabUser(){
getTabUser(){
return this.tabUser; return this.tabUser;
} }
@ -37,12 +38,14 @@ export class Conversation{
} }
/* Brief : function returning the name to a conversation */ /* Brief : function returning the name to a conversation */
getname(){ getName(){
return this.name; return this.name;
} }
/* Brief : function setting the name to a conversation */ /* Brief : function setting the name to a conversation */
setname(name:string){
setName(name:string){
this.name=name; this.name=name;
} }

@ -2,24 +2,24 @@ import { ImageSourcePropType } from 'react-native';
import { Game } from './game' import { Game } from './game'
export class GameMulti extends Game{ export class GameMulti extends Game{
readonly RankToCoins:Map<number,number> readonly rankToCoins:Map<number,number>
constructor(name:string, imageSource:ImageSourcePropType, gameSource:string, nbPlayer:number, rankToCoins:Map<number,number>){ constructor(name:string, imageSource:ImageSourcePropType, gameSource:string, nbPlayerMin:number, nbPlayerMax:number, rankToCoins:Map<number,number>){
super(name, imageSource, gameSource, nbPlayer); super(name, imageSource, gameSource, nbPlayerMin, nbPlayerMax);
this.RankToCoins=rankToCoins; this.rankToCoins=rankToCoins;
} }
//Get the map of the game with the rank as the key and the coins as the values //Get the map of the game with the rank as the key and the coins as the values
getMultiMap(){ getMultiMap(){
return this.RankToCoins; return this.rankToCoins;
} }
//Returns the coins gained depending on the rank //Returns the coins gained depending on the rank
CoinsWithRank(rank:number){ CoinsWithRank(rank:number){
let coins; let coins;
for (let key of this.RankToCoins.keys()){ for (let key of this.rankToCoins.keys()){
coins = this.RankToCoins.get(key); coins = this.rankToCoins.get(key);
if (rank==key){ if (rank==key ){
return coins; return coins;
} }
} }

@ -2,24 +2,24 @@ import { ImageSourcePropType } from 'react-native';
import { Game } from './game' import { Game } from './game'
export class GameSolo extends Game{ export class GameSolo extends Game{
readonly PtsToCoins:Map<number,number> readonly ptsToCoins:Map<number,number>
constructor(name:string, imageSource:ImageSourcePropType, gameSource:string, nbPlayer:number, ptsToCoins:Map<number,number>){ constructor(name:string, imageSource:ImageSourcePropType, gameSource:string, nbPlayerMin:number, nbPlayerMax:number, ptsToCoins:Map<number,number>){
super(name, imageSource, gameSource, nbPlayer); super(name, imageSource, gameSource, nbPlayerMin,nbPlayerMax);
this.PtsToCoins=ptsToCoins; this.ptsToCoins=ptsToCoins;
} }
//Get the map of the game with points millestone as the keys and coins as the values //Get the map of the game with points millestone as the keys and coins as the values
getSoloMap(){ getSoloMap(){
return this.PtsToCoins; return this.ptsToCoins;
} }
//Returns the gain depending on the number of points //Returns the gain depending on the number of points
CoinsWithPoints(nbPoints:number){ CoinsWithPoints(nbPoints:number){
let coins; let coins;
for (let key of this.PtsToCoins.keys()){ for (let key of this.ptsToCoins.keys()){
coins = this.PtsToCoins.get(key); coins = this.ptsToCoins.get(key);
if (nbPoints<key){ if (nbPoints<key ){
return coins; return coins;
} }
} }

@ -3,55 +3,42 @@ import { Game } from './game';
import { GameCasino } from './gameCasino'; import { GameCasino } from './gameCasino';
import { GameMulti } from './gameMulti'; import { GameMulti } from './gameMulti';
import { GameSolo } from './gameSolo'; import { GameSolo } from './gameSolo';
import { User } from "./user"; import { User } from "./User/user";
let index:number=0;
export class Match{ export abstract class Match{
readonly Code:string; readonly code:string;
private TabUsers:User[]; private tabUsers:User[];
private TheGame:Game; private theGame:Game;
private GainingMechanism:number=0;
constructor(tabUser:User[], game:Game){ constructor(code:string, tabUser:User[], game:Game){
index++; this.code=code;
this.Code=index.toString(); this.tabUsers=[...tabUser];
this.TabUsers=[...tabUser]; this.theGame=game;
this.TheGame=game;
} }
getTabUsers(){ getTabUsers(){
return this.TabUsers; return this.tabUsers;
}
ajouterUser(us:User){
this.TabUsers.push(us);
} }
setTabUser(tabUser:User[]){ setTabUser(tabUser:User[]){
this.TabUsers=[...tabUser]; this.tabUsers=[...tabUser];
} }
getCode(){ getCode(){
return this.Code; return this.code;
} }
getGame(){ getGame(){
return this.TheGame; return this.theGame;
} }
setGame(game:Game){ setGame(game:Game){
this.TheGame=game; this.theGame=game;
} }
getGainingMechanism(){
return this.GainingMechanism;
}
setGainingMechanism(gain:number){
this.GainingMechanism=gain;
}
/*
convertMechanismToCoins(){ convertMechanismToCoins(){
if (this.TheGame instanceof GameSolo){ if (this.TheGame instanceof GameSolo){
return this.TheGame.CoinsWithPoints(this.GainingMechanism); return this.TheGame.CoinsWithPoints(this.GainingMechanism);
@ -62,6 +49,8 @@ export class Match{
else if (this.TheGame instanceof GameCasino){ else if (this.TheGame instanceof GameCasino){
return this.TheGame.betToCoins(this.GainingMechanism); return this.TheGame.betToCoins(this.GainingMechanism);
} }
return -1;
} }
*/
} }

@ -0,0 +1,11 @@
import { Match } from "./match";
import { User } from "./User/user";
import { Game } from "./game";
import { GameCasino } from "./gameCasino";
export class MatchMulti extends Match{
constructor(code:string, tabUser:User[], game:GameCasino){
super(code, tabUser, game);
}
}

@ -0,0 +1,11 @@
import { Match } from "./match";
import { User } from "./User/user";
import { Game } from "./game";
import { GameMulti } from "./gameMulti";
export class MatchMulti extends Match{
constructor(code:string, tabUser:User[], game:GameMulti){
super(code, tabUser, game);
}
}

@ -0,0 +1,11 @@
import { Match } from "./match";
import { GameSolo } from "./gameSolo";
import { User } from "./User/user";
import { Game } from "./game";
export class MatchSolo extends Match{
constructor(code:string, tabUser:User[], game:GameSolo){
super(code, tabUser, game);
}
}

@ -1,5 +1,5 @@
import { Message } from './Message'; import { Message } from './Message';
import { User } from './User'; import { User } from './User/user';
import { Conversation } from './Conversation'; import { Conversation } from './Conversation';
import { Skin } from './Skin'; import { Skin } from './Skin';

@ -1,4 +1,4 @@
import { User } from './user' import { User } from './User/user'
export class Message{ export class Message{

@ -1,51 +1,51 @@
import { ImageSourcePropType } from "react-native"; import { ImageSourcePropType } from "react-native";
export class Skin{ export class Skin{
readonly Id: string; readonly id: string;
private Name: string; private name: string;
private Source: ImageSourcePropType; private source: ImageSourcePropType;
private Cost:number; private cost:number;
/* Constructor of the class */ /* Constructor of the class */
constructor(id:string, name: string, source:ImageSourcePropType, Cost:number){ constructor(id:string, name: string, source:ImageSourcePropType, Cost:number){
this.Id=id; this.id=id;
this.Name=name; this.name=name;
this.Source=source; this.source=source;
this.Cost=Cost; this.cost=Cost;
} }
/* Brief : Fuction setting the name of a skin */ /* Brief : Fuction setting the name of a skin */
setSkinName(name: string){ setSkinName(name: string){
this.Name=name; this.name=name;
} }
/* Brief : Fuction setting the source of the image of a skin */ /* Brief : Fuction setting the source of the image of a skin */
setSkinSource(source: ImageSourcePropType){ setSkinSource(source: ImageSourcePropType){
this.Source=source; this.source=source;
} }
/* Brief : Fuction getting the source of the image of a skin */ /* Brief : Fuction getting the source of the image of a skin */
getSkinSource(){ getSkinSource(){
return this.Source; return this.source;
} }
/* Brief : Fuction getting the name of a skin */ /* Brief : Fuction getting the name of a skin */
getSkinName(){ getSkinName(){
return this.Name; return this.name;
} }
/* Brief : Fuction getting the id of a skin */ /* Brief : Fuction getting the id of a skin */
getSkinId(){ getSkinId(){
return this.Id; return this.id;
} }
/* Brief : Fuction getting the cost of a skin */ /* Brief : Fuction getting the cost of a skin */
getSkinCost(){ getSkinCost(){
return this.Cost; return this.cost;
} }
/* Brief : Fuction getting the cost of a skin */ /* Brief : Fuction getting the cost of a skin */
setSkinCost(cost:number){ setSkinCost(cost:number){
this.Cost=cost; this.cost=cost;
} }
} }

@ -1,4 +1,4 @@
import { User } from './User'; import { User } from './User/user';
import { Skin } from './Skin'; import { Skin } from './Skin';
import { Conversation } from './Conversation'; import { Conversation } from './Conversation';

@ -6,7 +6,7 @@ import { Skin } from '../core/skin';
import { TopBar } from '../components/TopBar'; import { TopBar } from '../components/TopBar';
import { BotBar } from '../components/BotBar'; import { BotBar } from '../components/BotBar';
import { ScreenIndicator } from '../components/ScreenIndicator'; import { ScreenIndicator } from '../components/ScreenIndicator';
import { User } from '../core/user'; import { User } from '../core/User/user';
import { FlatList } from 'react-native-gesture-handler'; import { FlatList } from 'react-native-gesture-handler';
import { ConversationComponent } from '../components/ConversationComponent'; import { ConversationComponent } from '../components/ConversationComponent';

@ -1,12 +1,12 @@
import { StatusBar } from 'expo-status-bar' import { StatusBar } from 'expo-status-bar'
import { StyleSheet, View, Text, Alert, Pressable, Image} from 'react-native' import { StyleSheet, View, Text, Alert, Pressable, Image} from 'react-native'
import React from 'react'; import React from 'react';
import { Game } from '../core/Game'; import { Game } from '../core/game';
import { Skin } from '../core/skin'; import { Skin } from '../core/skin';
import { TopBar } from '../components/TopBar'; import { TopBar } from '../components/TopBar';
import { BotBar } from '../components/BotBar'; import { BotBar } from '../components/BotBar';
import { GameComponent } from '../components/GameComponent'; import { GameComponent } from '../components/GameComponent';
import { User } from '../core/user'; import { User } from '../core/User/user';
import tabSkinApp from '../constSkin'; import tabSkinApp from '../constSkin';
import { Conversation } from '../core/conversation'; import { Conversation } from '../core/conversation';
import { GameSolo } from '../core/gameSolo'; import { GameSolo } from '../core/gameSolo';

@ -2,7 +2,7 @@ import { StatusBar } from 'expo-status-bar'
import { StyleSheet, View, ImageSourcePropType} from 'react-native' import { StyleSheet, View, ImageSourcePropType} from 'react-native'
import React from 'react'; import React from 'react';
import stylesScreen from './style/screens.style' import stylesScreen from './style/screens.style'
import { User } from '../core/user'; import { User } from '../core/User/user';
import { Skin } from '../core/skin'; import { Skin } from '../core/skin';
import { TopBar } from '../components/TopBar'; import { TopBar } from '../components/TopBar';
import { BotBar } from '../components/BotBar'; import { BotBar } from '../components/BotBar';

@ -6,7 +6,7 @@ import styles from './style/Profile.style'
import { TopBar } from '../components/TopBar'; import { TopBar } from '../components/TopBar';
import { BotBar } from '../components/BotBar'; import { BotBar } from '../components/BotBar';
import { SkinComponent } from '../components/Skin'; import { SkinComponent } from '../components/Skin';
import { User } from '../core/user'; import { User } from '../core/User/user';
import tabSkinApp from '../constSkin'; import tabSkinApp from '../constSkin';
import tabConv from '../constCov' import tabConv from '../constCov'
import { ButtonChangeSkin } from '../components/ButtonChangeSkin'; import { ButtonChangeSkin } from '../components/ButtonChangeSkin';

Loading…
Cancel
Save