#Refonte de l’interface

Notre application Looter va avoir plusieurs features, nous devons donc changer l’interface en conséquence.

Nous allons créer un TabView qui permettra de switcher entre les différentes features de l’application.

Il va falloir commencer par créer un enum qui va représenter les différentes features de l’application.

enum LooterFeature {
    case loot
    case wishList
    case profile
}

Puis nous allons refactor notre ContentView pour qu’il affiche un TabView qui permettra de switcher entre les différentes features.

struct ContentView: View {
    @State private var selectedFeature: LooterFeature = .loot

    var body: some View {
        TabView(selection: $selectedFeature) {
            LootView()
                .tabItem {
                    Label("Loot", systemImage: "bag.fill")
                }
                .tag(LooterFeature.loot)
            WishListView()
                .tabItem {
                    Label("Wishlist", systemImage: "heart.fill")
                }
                .tag(LooterFeature.wishList)
            ProfileView()
                .tabItem {
                    Label("Profil", systemImage: "person.fill")
                }
                .tag(LooterFeature.profile)
        }
    }
}

A vous de créer les différentes vues pour faire fonctionner ce code.

Pour l’instant la vue WishList et la vue Profil seront vides.