diff --git a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FavouritesFragment.kt b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FavouritesFragment.kt new file mode 100644 index 0000000000..97c712fd28 --- /dev/null +++ b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FavouritesFragment.kt @@ -0,0 +1,28 @@ +package ru.practicum.android.diploma.ui.fragments + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import ru.practicum.android.diploma.databinding.FragmentFavouritesBinding + +class FavouritesFragment : Fragment() { + + private var _binding: FragmentFavouritesBinding? = null + private val binding get() = _binding!! + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentFavouritesBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } +} diff --git a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FilterFragment.kt b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FilterFragment.kt new file mode 100644 index 0000000000..5dcaa6601b --- /dev/null +++ b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FilterFragment.kt @@ -0,0 +1,38 @@ +package ru.practicum.android.diploma.ui.fragments + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.navigation.fragment.findNavController +import ru.practicum.android.diploma.R +import ru.practicum.android.diploma.databinding.FragmentFilterBinding + +class FilterFragment : Fragment() { + + private var _binding: FragmentFilterBinding? = null + private val binding get() = _binding!! + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentFilterBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + binding.buttonBackToSearchFromFilter.setOnClickListener { + findNavController().navigate(R.id.mainFragment) + } + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } +} diff --git a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/SearchFragment.kt b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/SearchFragment.kt new file mode 100644 index 0000000000..af72f49da9 --- /dev/null +++ b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/SearchFragment.kt @@ -0,0 +1,42 @@ +package ru.practicum.android.diploma.ui.fragments + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.navigation.fragment.findNavController +import ru.practicum.android.diploma.R +import ru.practicum.android.diploma.databinding.FragmentSearchBinding + +class SearchFragment : Fragment() { + + private var _binding: FragmentSearchBinding? = null + private val binding get() = _binding!! + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentSearchBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + binding.buttonToFilter.setOnClickListener { + findNavController().navigate(R.id.action_searchFragment_to_filterFragment) + } + + binding.buttonToVacancy.setOnClickListener { + findNavController().navigate(R.id.action_searchFragment_to_vacancyFragment) + } + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } +} diff --git a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/TeamFragment.kt b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/TeamFragment.kt new file mode 100644 index 0000000000..effff7c52e --- /dev/null +++ b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/TeamFragment.kt @@ -0,0 +1,28 @@ +package ru.practicum.android.diploma.ui.fragments + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import ru.practicum.android.diploma.databinding.FragmentTeamBinding + +class TeamFragment : Fragment() { + + private var _binding: FragmentTeamBinding? = null + private val binding get() = _binding!! + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentTeamBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } +} diff --git a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/VacancyFragment.kt b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/VacancyFragment.kt new file mode 100644 index 0000000000..fe69ea1515 --- /dev/null +++ b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/VacancyFragment.kt @@ -0,0 +1,38 @@ +package ru.practicum.android.diploma.ui.fragments + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.navigation.fragment.findNavController +import ru.practicum.android.diploma.R +import ru.practicum.android.diploma.databinding.FragmentVacancyBinding + +class VacancyFragment : Fragment() { + + private var _binding: FragmentVacancyBinding? = null + private val binding get() = _binding!! + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentVacancyBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + binding.buttonBackToSearchFromVacancy.setOnClickListener { + findNavController().navigate(R.id.mainFragment) + } + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } +} diff --git a/app/src/main/java/ru/practicum/android/diploma/ui/root/RootActivity.kt b/app/src/main/java/ru/practicum/android/diploma/ui/root/RootActivity.kt index b02bd17d18..f77ded41ef 100644 --- a/app/src/main/java/ru/practicum/android/diploma/ui/root/RootActivity.kt +++ b/app/src/main/java/ru/practicum/android/diploma/ui/root/RootActivity.kt @@ -2,6 +2,7 @@ package ru.practicum.android.diploma.ui.root import android.os.Bundle import androidx.appcompat.app.AppCompatActivity +import androidx.navigation.fragment.NavHostFragment import ru.practicum.android.diploma.BuildConfig import ru.practicum.android.diploma.R @@ -9,6 +10,8 @@ class RootActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_root) + val navHostFragment = supportFragmentManager.findFragmentById(R.id.container) as NavHostFragment + val navController = navHostFragment.navController // Пример использования access token для HeadHunter API networkRequestExample(accessToken = BuildConfig.HH_ACCESS_TOKEN) diff --git a/app/src/main/res/layout/activity_root.xml b/app/src/main/res/layout/activity_root.xml index ea46b92d7b..e5a414077a 100644 --- a/app/src/main/res/layout/activity_root.xml +++ b/app/src/main/res/layout/activity_root.xml @@ -6,14 +6,18 @@ android:layout_height="match_parent" tools:context=".ui.root.RootActivity"> - + app:layout_constraintTop_toTopOf="parent" + app:navGraph="@navigation/main_navigation_graph" /> + + + - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_favourites.xml b/app/src/main/res/layout/fragment_favourites.xml new file mode 100644 index 0000000000..97b73e1ce0 --- /dev/null +++ b/app/src/main/res/layout/fragment_favourites.xml @@ -0,0 +1,23 @@ + + + + + + + diff --git a/app/src/main/res/layout/fragment_filter.xml b/app/src/main/res/layout/fragment_filter.xml new file mode 100644 index 0000000000..82b7e40871 --- /dev/null +++ b/app/src/main/res/layout/fragment_filter.xml @@ -0,0 +1,37 @@ + + + + + +