import Feather from "@expo/vector-icons/Feather";
import MaterialIcons from "@expo/vector-icons/MaterialCommunityIcons";
import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
import { createNativeStackNavigator } from "@react-navigation/native-stack";
import AlbumDetails from "./screens/AlbumDetails";
import ArtistDetails from "./screens/ArtistDetails";
import Home from "./screens/Home";
import Library from "./screens/Library";
import Profile from "./screens/Profile";
import Search from "./screens/Search";
import SongDetails from "./screens/SongDetails";
import Story from "./screens/Story";
const Tab = createBottomTabNavigator();
const Stack = createNativeStackNavigator();
const HomeStack = createNativeStackNavigator();
const ProfileStack = createNativeStackNavigator();
const LibraryStack = createNativeStackNavigator();
const SearchStack = createNativeStackNavigator();
function HomeStackScreen() {
return (
);
}
function ProfileStackScreen() {
return (
);
}
function LibraryStackScreen() {
return (
);
}
function SearchStackScreen() {
return (
);
}
function HomeTabs() {
return (
({
headerShown: false,
sceneStyle: {
backgroundColor: "#000",
},
tabBarStyle: {
backgroundColor: "#000",
borderTopWidth: 0,
height: 80,
paddingTop: 10,
},
tabBarShowLabel: false,
tabBarActiveTintColor: "#fff",
tabBarIcon: ({ focused, color }) => {
let iconName: string = "";
switch (route.name) {
case "HomeTab":
return (
);
case "SearchTab":
iconName = focused ? "search" : "search";
return (
);
case "LibraryTab":
iconName = focused
? "music-box-multiple-outline"
: "music-box-multiple-outline";
break;
case "ProfileTab":
iconName = focused ? "account-outline" : "account-outline";
break;
default:
break;
}
return (
);
},
})}
>
);
}
export function RootStack() {
return (
);
}
export type RootStackParamList = {
Home: undefined;
HomeTabs: undefined;
AlbumDetails: {
uri: string;
};
ArtistDetails: {
uri: string;
};
SongDetails: {
uri: string;
};
Library: undefined;
UserLibrary: {
handle?: string;
tab: number;
};
Profile: undefined;
UserProfile: {
handle: string;
};
Story: {
index: number;
};
};