diff --git a/app/src/main/java/org/hackillinois/android/view/MainActivity.kt b/app/src/main/java/org/hackillinois/android/view/MainActivity.kt index 132df17f6..150ccd8c8 100644 --- a/app/src/main/java/org/hackillinois/android/view/MainActivity.kt +++ b/app/src/main/java/org/hackillinois/android/view/MainActivity.kt @@ -56,6 +56,7 @@ class MainActivity : AppCompatActivity() { private fun setupBottomAppBar() { // by default, home button is selected + val selectedIconColor = ContextCompat.getColor(this, R.color.black) val unselectedIconColor = ContextCompat.getColor(this, R.color.black) diff --git a/app/src/main/java/org/hackillinois/android/view/schedule/ScheduleFragment.kt b/app/src/main/java/org/hackillinois/android/view/schedule/ScheduleFragment.kt index 62ed17f7d..d65ac03ec 100644 --- a/app/src/main/java/org/hackillinois/android/view/schedule/ScheduleFragment.kt +++ b/app/src/main/java/org/hackillinois/android/view/schedule/ScheduleFragment.kt @@ -7,7 +7,6 @@ import android.view.LayoutInflater import android.view.View import android.view.View.OnClickListener import android.view.ViewGroup -import android.widget.ImageButton import android.widget.ImageView import android.widget.TextView import androidx.core.content.ContextCompat @@ -19,8 +18,8 @@ import androidx.lifecycle.ViewModelProviders import com.google.android.material.bottomappbar.BottomAppBar import com.google.android.material.floatingactionbutton.FloatingActionButton import com.google.android.material.tabs.TabLayout -import kotlinx.android.synthetic.main.fragment_schedule.scheduleDays -import kotlinx.android.synthetic.main.fragment_schedule.view.* +import kotlinx.android.synthetic.main.fragment_copy_schedule.scheduleDays +import kotlinx.android.synthetic.main.fragment_copy_schedule.view.* import org.hackillinois.android.R import org.hackillinois.android.common.JWTUtilities import org.hackillinois.android.viewmodel.ScheduleViewModel @@ -29,7 +28,7 @@ class ScheduleFragment : Fragment() { private lateinit var shift_header: TextView private lateinit var schedule_header: TextView - private lateinit var favoriteButton: ImageButton + private lateinit var saved_header: TextView private lateinit var scheduleViewModel: ScheduleViewModel private lateinit var scheduleBackground: ImageView private var showingFavorites: Boolean = false @@ -40,40 +39,33 @@ class ScheduleFragment : Fragment() { } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - val view = inflater.inflate(R.layout.fragment_schedule, container, false) - - // Link tab/day selection to the ViewPager + val view = inflater.inflate(R.layout.fragment_copy_schedule, container, false) view.scheduleContainer.adapter = SectionsPagerAdapter(childFragmentManager) view.scheduleContainer.offscreenPageLimit = 2 view.scheduleContainer.addOnPageChangeListener(TabLayout.TabLayoutOnPageChangeListener(view.scheduleDays)) view.scheduleDays.addOnTabSelectedListener(TabLayout.ViewPagerOnTabSelectedListener(view.scheduleContainer)) setupCustomTabs(view.scheduleDays) - favoriteButton = view.findViewById(R.id.lightBookmarkButton) schedule_header = view.findViewById(R.id.schedule_header) shift_header = view.findViewById(R.id.shift_header) - scheduleBackground = view.findViewById(R.id.scheduleBackground) - scheduleBackground.setImageResource(R.drawable.dark_fantasy_bg_2024) + saved_header = view.findViewById(R.id.saved_header) - // set bottom app bar visible again and pop scanner fragment from the backstack + scheduleBackground = view.findViewById(R.id.scheduleBackground) + scheduleBackground.setImageResource(R.drawable.saved_events_background) + scheduleBackground.alpha = 0.8f val appBar = activity?.findViewById(R.id.bottomAppBar) val scannerBtn = activity?.findViewById(R.id.code_entry_fab) if (appBar != null && scannerBtn != null) { appBar.visibility = View.VISIBLE scannerBtn.visibility = View.VISIBLE } - scheduleViewModel = ViewModelProviders.of(this).get(ScheduleViewModel::class.java) scheduleViewModel.initEvents() - // Observe "Favorites" LiveData scheduleViewModel.showFavorites.observe( this, Observer { - favoriteButton.isSelected = it ?: false - favoriteButton.setImageResource(if (showingFavorites) R.drawable.light_bookmark_filled else R.drawable.light_bookmark_hollow) - schedule_header.text = if (it) "Saved Events" else "Schedule" + saved_header.isSelected = it ?: false } ) - scheduleViewModel.showShifts.observe( this, Observer { @@ -83,26 +75,34 @@ class ScheduleFragment : Fragment() { if (isStaff() || !hasLoggedIn()) { Log.d("ISSTAFF", scheduleViewModel.isAttendeeViewing.toString()) scheduleViewModel.isAttendeeViewing = false - favoriteButton.visibility = View.GONE + saved_header.visibility = View.VISIBLE + shift_header.setTextColor(ContextCompat.getColor(requireContext(), R.color.deepTeal)) + schedule_header.setTextColor(ContextCompat.getColor(requireContext(), R.color.ivoryBlush)) + shift_header.setBackgroundResource(0) + schedule_header.setBackgroundResource(R.drawable.schedule_underline) + scheduleBackground.setImageResource(R.drawable.saved_events_background) } else { Log.d("ISATTENDEE", scheduleViewModel.isAttendeeViewing.toString()) scheduleViewModel.isAttendeeViewing = true - favoriteButton.visibility = View.VISIBLE - favoriteButton.setOnClickListener(favScheduleClickListener) + saved_header.visibility = View.VISIBLE + saved_header.setOnClickListener(favScheduleClickListener) } if (isStaff()) { scheduleViewModel.initShifts() shift_header.visibility = View.VISIBLE + saved_header.visibility = View.GONE + val context = requireActivity().applicationContext + schedule_header.setTextColor(getResources().getColor(R.color.ivoryBlush)) + shift_header.setTextColor(getResources().getColor(R.color.deepTeal)) schedule_header.background = ContextCompat.getDrawable(context, R.drawable.schedule_underline) shift_header.setOnClickListener(shiftScheduleClickListener) - schedule_header.setOnClickListener(eventScheduleClickListener) } else { shift_header.visibility = View.GONE + saved_header.visibility = View.VISIBLE schedule_header.setBackgroundResource(0) } - // If hackathon is underway, change tab to current day val time = System.currentTimeMillis() view.scheduleContainer.currentItem = when { time < scheduleViewModel.fridayEnd -> 0 @@ -111,29 +111,56 @@ class ScheduleFragment : Fragment() { else -> 0 } view.scheduleDays.getTabAt(view.scheduleContainer.currentItem)?.customView?.background = - context?.let { ContextCompat.getDrawable(it, R.drawable.tab_selected) } + context?.let { ContextCompat.getDrawable(it, R.drawable.vase_selected) } + + schedule_header.setOnClickListener(eventScheduleClickListener) + saved_header.setTextColor(ContextCompat.getColor(requireContext(), R.color.deepTeal)) + shift_header.setTextColor(ContextCompat.getColor(requireContext(), R.color.deepTeal)) + schedule_header.setTextColor(ContextCompat.getColor(requireContext(), R.color.ivoryBlush)) + shift_header.setBackgroundResource(0) + schedule_header.setBackgroundResource(R.drawable.schedule_underline) + scheduleBackground.setImageResource(R.drawable.saved_events_background) return view } private fun setupCustomTabs(tabLayout: TabLayout) { - val tabDayOfMonth = arrayOf("23", "24", "25") + val tabDayOfMonth = arrayOf("28", "29", "30") val tabDayOfWeek = arrayOf("FRI", "SAT", "SUN") - for (i in tabDayOfMonth.indices) { val tab = tabLayout.newTab() tab.customView = createTabView(tabDayOfMonth[i], tabDayOfWeek[i]) tabLayout.addTab(tab) } - + for (i in 0 until tabLayout.tabCount) { + val tab = tabLayout.getTabAt(i) + if (tab != null && !tab.isSelected) { + val customView = tab.customView + val dayOfMonthText = customView?.findViewById(R.id.tab_day_of_month) + val dayOfWeekText = customView?.findViewById(R.id.tab_day_of_week) + val unselectedColor = ContextCompat.getColor(requireContext(), R.color.goldenBrown) + dayOfMonthText?.setTextColor(unselectedColor) + dayOfWeekText?.setTextColor(unselectedColor) + } + } tabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { override fun onTabSelected(tab: TabLayout.Tab) { - val tabDrawable = if (showingShifts) R.drawable.tab_selected_light else R.drawable.tab_selected + val tabDrawable = if (showingShifts) R.drawable.vase_selected else R.drawable.vase_selected tab.customView?.background = context?.let { ContextCompat.getDrawable(it, tabDrawable) } + val dayOfMonthText = tab.customView?.findViewById(R.id.tab_day_of_month) + val dayOfWeekText = tab.customView?.findViewById(R.id.tab_day_of_week) + val selectedColor = ContextCompat.getColor(requireContext(), R.color.ivoryBlush) + dayOfMonthText?.setTextColor(selectedColor) + dayOfWeekText?.setTextColor(selectedColor) } override fun onTabUnselected(tab: TabLayout.Tab) { - val tabDrawable = if (showingShifts) R.drawable.tab_unselected_light else R.drawable.tab_unselected + val tabDrawable = if (showingShifts) R.drawable.vase_unselected else R.drawable.vase_unselected tab.customView?.background = context?.let { ContextCompat.getDrawable(it, tabDrawable) } + val dayOfMonthText = tab.customView?.findViewById(R.id.tab_day_of_month) + val dayOfWeekText = tab.customView?.findViewById(R.id.tab_day_of_week) + val unselectedColor = ContextCompat.getColor(requireContext(), R.color.goldenBrown) + dayOfMonthText?.setTextColor(unselectedColor) + dayOfWeekText?.setTextColor(unselectedColor) } override fun onTabReselected(tab: TabLayout.Tab) {} }) @@ -148,38 +175,42 @@ class ScheduleFragment : Fragment() { return view } - // Construct DayFragments for ViewPager inner class SectionsPagerAdapter constructor(fm: FragmentManager) : FragmentPagerAdapter(fm) { override fun getItem(position: Int) = DayFragment.newInstance(position) override fun getCount() = 3 override fun getPageTitle(position: Int): CharSequence? { return null } } - // Update "Favorites" ViewModel on click private val favScheduleClickListener = OnClickListener { - favoriteButton.apply { - isSelected = !favoriteButton.isSelected - setImageResource( - when (isSelected) { - true -> R.drawable.light_bookmark_filled - else -> R.drawable.light_bookmark_hollow - } - ) + if (!saved_header.isSelected) { + saved_header.isSelected = true + + saved_header.setTextColor(ContextCompat.getColor(requireContext(), R.color.ivoryBlush)) + schedule_header.setTextColor(ContextCompat.getColor(requireContext(), R.color.deepTeal)) + + saved_header.setBackgroundResource(R.drawable.schedule_underline) + schedule_header.setBackgroundResource(0) + + scheduleViewModel.showFavorites.postValue(true) + showingFavorites = true + + scheduleViewModel.initEvents() + view?.scheduleContainer?.adapter = SectionsPagerAdapter(childFragmentManager) + view?.scheduleContainer?.adapter?.notifyDataSetChanged() + + Log.d("ScheduleFragment", "Switched to Saved events") } - scheduleViewModel.showFavorites.postValue(favoriteButton.isSelected) - showingFavorites = favoriteButton.isSelected } private val shiftScheduleClickListener = OnClickListener { - // Log.d("shift_header.isSelected", "${shift_header.isSelected}") - shift_header.setBackgroundResource(R.drawable.shift_underline) + shift_header.setBackgroundResource(R.drawable.schedule_underline) schedule_header.setBackgroundResource(0) - schedule_header.setTextColor(getResources().getColor(R.color.burntBark)) - shift_header.setTextColor(getResources().getColor(R.color.burntBark)) - scheduleBackground.setImageResource(R.drawable.light_fantasy_bg_2024) + schedule_header.setTextColor(getResources().getColor(R.color.deepTeal)) + shift_header.setTextColor(getResources().getColor(R.color.ivoryBlush)) + scheduleBackground.setImageResource(R.drawable.shift_background) for (i in 0 until scheduleDays.tabCount) { val tab = scheduleDays.getTabAt(i) - val tabDrawable = if (tab?.isSelected == true) R.drawable.tab_selected_light else R.drawable.tab_unselected_light + val tabDrawable = if (tab?.isSelected == true) R.drawable.vase_selected else R.drawable.vase_unselected tab?.customView?.background = context?.let { ContextCompat.getDrawable(it, tabDrawable) } } scheduleViewModel.showShifts.postValue(true) @@ -187,19 +218,43 @@ class ScheduleFragment : Fragment() { } private val eventScheduleClickListener = OnClickListener { - // Log.d("shift_header.isSelected", "${shift_header.isSelected}") - shift_header.setBackgroundResource(0) - schedule_header.setBackgroundResource(R.drawable.schedule_underline) - schedule_header.setTextColor(getResources().getColor(R.color.palePeach)) - shift_header.setTextColor(getResources().getColor(R.color.palePeach)) - scheduleBackground.setImageResource(R.drawable.dark_fantasy_bg_2024) - for (i in 0 until scheduleDays.tabCount) { - val tab = scheduleDays.getTabAt(i) - val tabDrawable = if (tab?.isSelected == true) R.drawable.tab_selected else R.drawable.tab_unselected - tab?.customView?.background = context?.let { ContextCompat.getDrawable(it, tabDrawable) } + Log.d("ScheduleFragment", "Schedule clicked, saved_header.isSelected = ${saved_header.isSelected}, showingShifts = $showingShifts") + + if (isStaff()) { + if (showingShifts) { + shift_header.isSelected = false + schedule_header.isSelected = true + showingShifts = false + shift_header.setTextColor(ContextCompat.getColor(requireContext(), R.color.deepTeal)) + schedule_header.setTextColor(ContextCompat.getColor(requireContext(), R.color.ivoryBlush)) + shift_header.setBackgroundResource(0) + schedule_header.setBackgroundResource(R.drawable.schedule_underline) + scheduleBackground.setImageResource(R.drawable.saved_events_background) + scheduleViewModel.showShifts.postValue(false) + scheduleViewModel.initEvents() + view?.scheduleContainer?.adapter = SectionsPagerAdapter(childFragmentManager) + view?.scheduleContainer?.adapter?.notifyDataSetChanged() + + Log.d("ScheduleFragment", "Staff: Switched from Shifts to Full Schedule") + } + } else { + if (saved_header.isSelected) { + saved_header.isSelected = false + schedule_header.isSelected = true + saved_header.setTextColor(ContextCompat.getColor(requireContext(), R.color.deepTeal)) + schedule_header.setTextColor(ContextCompat.getColor(requireContext(), R.color.ivoryBlush)) + saved_header.setBackgroundResource(0) + schedule_header.setBackgroundResource(R.drawable.schedule_underline) + scheduleViewModel.showFavorites.postValue(false) + showingFavorites = false + + scheduleViewModel.initEvents() + view?.scheduleContainer?.adapter = SectionsPagerAdapter(childFragmentManager) + view?.scheduleContainer?.adapter?.notifyDataSetChanged() + + Log.d("ScheduleFragment", "Attendee: Switched from Saved to Full Schedule") + } } - scheduleViewModel.showShifts.postValue(false) - showingShifts = false } private fun isStaff(): Boolean { @@ -209,7 +264,6 @@ class ScheduleFragment : Fragment() { } private fun hasLoggedIn(): Boolean { - // Reads JWT and checks if it is equal to an empty JWT return JWTUtilities.readJWT(requireActivity().applicationContext) != JWTUtilities.DEFAULT_JWT } } diff --git a/app/src/main/java/org/hackillinois/android/viewmodel/ScheduleViewModel.kt b/app/src/main/java/org/hackillinois/android/viewmodel/ScheduleViewModel.kt index d2a753be6..00daaedc3 100644 --- a/app/src/main/java/org/hackillinois/android/viewmodel/ScheduleViewModel.kt +++ b/app/src/main/java/org/hackillinois/android/viewmodel/ScheduleViewModel.kt @@ -12,28 +12,28 @@ class ScheduleViewModel : ViewModel() { private val eventRepository = EventRepository.instance private val shiftRepository = ShiftRepository.instance - // 2/23/24 00:00:00 + // 2/28/25 00:00:00 val fridayStart = Calendar.getInstance().apply { timeZone = TimeZone.getTimeZone("America/Chicago") - timeInMillis = 1708668000000 + timeInMillis = 1740722400000 }.timeInMillis - // 2/23/24 23:59:59 + // 2/28/25 23:59:59 val fridayEnd = Calendar.getInstance().apply { timeZone = TimeZone.getTimeZone("America/Chicago") - timeInMillis = 1708754399000 + timeInMillis = 1740808799000 }.timeInMillis - // 2/24/24 23:59:59 + // 2/29/25 23:59:59 val saturdayEnd = Calendar.getInstance().apply { timeZone = TimeZone.getTimeZone("America/Chicago") - timeInMillis = 1708840799000 + timeInMillis = 1740895199000 }.timeInMillis - // 2/25/24 23:59:59 + // 2/30/25 23:59:59 val sundayEnd = Calendar.getInstance().apply { timeZone = TimeZone.getTimeZone("America/Chicago") - timeInMillis = 1708927199000 + timeInMillis = 1740895199000 }.timeInMillis var fridayEventsLiveData = eventRepository.fetchEventsHappeningBetweenTimes(fridayStart, fridayEnd) diff --git a/app/src/main/res/drawable/architecture_icon.xml b/app/src/main/res/drawable/architecture_icon.xml new file mode 100644 index 000000000..cfdeecc83 --- /dev/null +++ b/app/src/main/res/drawable/architecture_icon.xml @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable/brown_tab.xml b/app/src/main/res/drawable/brown_tab.xml new file mode 100644 index 000000000..f48e3952c --- /dev/null +++ b/app/src/main/res/drawable/brown_tab.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/filled_bookmark.xml b/app/src/main/res/drawable/filled_bookmark.xml new file mode 100644 index 000000000..9a805c411 --- /dev/null +++ b/app/src/main/res/drawable/filled_bookmark.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/flag.xml b/app/src/main/res/drawable/flag.xml new file mode 100644 index 000000000..7403ba472 --- /dev/null +++ b/app/src/main/res/drawable/flag.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/app/src/main/res/drawable/hourglass.png b/app/src/main/res/drawable/hourglass.png new file mode 100644 index 000000000..04a317109 Binary files /dev/null and b/app/src/main/res/drawable/hourglass.png differ diff --git a/app/src/main/res/drawable/new_underline.png b/app/src/main/res/drawable/new_underline.png new file mode 100644 index 000000000..a0f25bd7c Binary files /dev/null and b/app/src/main/res/drawable/new_underline.png differ diff --git a/app/src/main/res/drawable/orange_tab_new.xml b/app/src/main/res/drawable/orange_tab_new.xml new file mode 100644 index 000000000..fac1a1d1f --- /dev/null +++ b/app/src/main/res/drawable/orange_tab_new.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/rounded_brown.xml b/app/src/main/res/drawable/rounded_brown.xml new file mode 100644 index 000000000..548a9aff7 --- /dev/null +++ b/app/src/main/res/drawable/rounded_brown.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/app/src/main/res/drawable/rounded_pro.xml b/app/src/main/res/drawable/rounded_pro.xml index 8c7df1d44..92aa7ec4b 100644 --- a/app/src/main/res/drawable/rounded_pro.xml +++ b/app/src/main/res/drawable/rounded_pro.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/rounded_wand_wood.xml b/app/src/main/res/drawable/rounded_wand_wood.xml index 8c6ff0a50..3843f8546 100644 --- a/app/src/main/res/drawable/rounded_wand_wood.xml +++ b/app/src/main/res/drawable/rounded_wand_wood.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/saved_events_background.png b/app/src/main/res/drawable/saved_events_background.png new file mode 100644 index 000000000..011399378 Binary files /dev/null and b/app/src/main/res/drawable/saved_events_background.png differ diff --git a/app/src/main/res/drawable/schedule_underline.xml b/app/src/main/res/drawable/schedule_underline.xml index 8d0e87924..fce7a5ed5 100644 --- a/app/src/main/res/drawable/schedule_underline.xml +++ b/app/src/main/res/drawable/schedule_underline.xml @@ -8,7 +8,8 @@ + android:color="@color/ivoryBlush" /> + diff --git a/app/src/main/res/drawable/schedule_with_line.png b/app/src/main/res/drawable/schedule_with_line.png new file mode 100644 index 000000000..68d10fa0c Binary files /dev/null and b/app/src/main/res/drawable/schedule_with_line.png differ diff --git a/app/src/main/res/drawable/shift_background.png b/app/src/main/res/drawable/shift_background.png new file mode 100644 index 000000000..e6dc6d24a Binary files /dev/null and b/app/src/main/res/drawable/shift_background.png differ diff --git a/app/src/main/res/drawable/unfilled_bookmark.xml b/app/src/main/res/drawable/unfilled_bookmark.xml new file mode 100644 index 000000000..44d48dd36 --- /dev/null +++ b/app/src/main/res/drawable/unfilled_bookmark.xml @@ -0,0 +1,14 @@ + + + + diff --git a/app/src/main/res/drawable/vase_selected.png b/app/src/main/res/drawable/vase_selected.png new file mode 100644 index 000000000..236ffb30f Binary files /dev/null and b/app/src/main/res/drawable/vase_selected.png differ diff --git a/app/src/main/res/drawable/vase_unselected.png b/app/src/main/res/drawable/vase_unselected.png new file mode 100644 index 000000000..efb1b14f5 Binary files /dev/null and b/app/src/main/res/drawable/vase_unselected.png differ diff --git a/app/src/main/res/font/montserrat_extra_bold.ttf b/app/src/main/res/font/montserrat_extra_bold.ttf new file mode 100644 index 000000000..6725d537d Binary files /dev/null and b/app/src/main/res/font/montserrat_extra_bold.ttf differ diff --git a/app/src/main/res/layout/custom_tab.xml b/app/src/main/res/layout/custom_tab.xml index 18cb61257..46d0af499 100644 --- a/app/src/main/res/layout/custom_tab.xml +++ b/app/src/main/res/layout/custom_tab.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:background="@drawable/tab_unselected"> + android:background="@drawable/vase_unselected"> @@ -158,9 +158,9 @@ android:layout_marginStart="6dp" android:layout_marginTop="7dp" android:layout_marginEnd="72dp" - android:fontFamily="@font/montserrat_semi_bold" + android:fontFamily="@font/montserrat_medium" android:lineSpacingExtra="3sp" - android:textColor="@color/midnight" + android:textColor="@color/darkForest" android:textSize="14sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" @@ -176,7 +176,7 @@ app:layout_constraintBottom_toBottomOf="@+id/sponsoredTextView" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/sponsoredTextView" - app:srcCompat="@drawable/ic_building_marker_outline" /> + app:srcCompat="@drawable/architecture_icon" /> + app:srcCompat="@drawable/flag" /> + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_event_info.xml b/app/src/main/res/layout/fragment_event_info.xml index 30670c2c8..81f95fb84 100644 --- a/app/src/main/res/layout/fragment_event_info.xml +++ b/app/src/main/res/layout/fragment_event_info.xml @@ -5,7 +5,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" - android:background="@drawable/dark_fantasy_bg_2024" + android:background="@drawable/saved_events_background" android:fillViewport="true"> + app:layout_constraintTop_toTopOf="parent" /> @@ -103,8 +103,8 @@ android:layout_marginEnd="72dp" android:textSize="14sp" android:lineSpacingExtra="3sp" - android:fontFamily="@font/montserrat_semi_bold" - android:textColor="@color/midnight" + android:fontFamily="@font/montserrat_medium" + android:textColor="@color/darkForest" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toEndOf="@+id/event_time_icon" @@ -119,7 +119,7 @@ app:layout_constraintBottom_toBottomOf="@+id/event_sponsor" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/event_sponsor" - app:srcCompat="@drawable/ic_building_marker_outline" /> + app:srcCompat="@drawable/architecture_icon" /> + app:srcCompat="@drawable/flag" /> + - + #FFFFFF #66FFFFFF #A5DAD5 @@ -21,7 +21,6 @@ #C9D2E5 #1D2644 #0D3F41 - #DAFFFFFF #FFF8F5 @@ -34,6 +33,11 @@ #800D3F41 #964C1A #662B13 + #0A3A3C + #0E3F41 + #DE8E45 + #84BCB9 + #C5673F #F9D7E6 #1D2644 #A977AB @@ -41,16 +45,18 @@ #562411 #753214 #FFF8F5 + #FFF4E9 + #6D291A + #AC7B46 + #C5673F #DC8AA9 #FFC95B #84BCB9 #C62A6C #2A2A2A #D84177 - #84BCB9 - #DE8E45 #C5673F #903D2B #F9C126 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ed8e4721b..d9ad26a4d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -55,6 +55,7 @@ Schedule Shifts + SAVED FRI\n23 SAT\n24 SUN\n25