diff --git a/.phpunit.cache/test-results b/.phpunit.cache/test-results index b62e5fb..64b901d 100755 --- a/.phpunit.cache/test-results +++ b/.phpunit.cache/test-results @@ -1 +1 @@ -{"version":"pest_4.4.3","defects":{"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_returns_default_value_when_setting_not_found":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_returns_existing_setting_value":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_returns_default_for_non_existent_key":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_install_helper_creates_basic_settings":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_cache_works_correctly":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_can_be_updated_and_retrieved":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_handles_empty_string_default":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_handles_numeric_defaults":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_can_be_created_with_factory":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_factory_creates_proper_defaults":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_can_be_updated":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_can_be_deleted":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_password_is_hashed":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_multiple_users_can_be_created":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_articles_index_page_loads":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_published_article_can_be_viewed":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_unpublished_article_can_be_viewed":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_multiple_articles_appear_on_index":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_article_with_special_characters_in_title":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_article_with_long_content":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_non_existent_article_returns_404":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_article_url_contains_correct_slug":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_articles_can_be_filtered_or_sorted":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_article_page_has_proper_meta_tags":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_users_can_authenticate_using_the_login_screen":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_users_can_not_authenticate_with_invalid_password":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_requires_csrf_token":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_requires_username":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_requires_password":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_with_non_existent_user_fails":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_authenticated_user_is_redirected_from_login_page":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_user_can_logout":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_applications_page_loads":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_guest_cannot_access_staff_applications":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_page_loads":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_photos_page_loads":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_leaderboard_page_loads":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_community_pages_have_proper_structure":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_authenticated_user_can_access_community_pages":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_applications_requires_authentication":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_page_shows_team_members":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_photos_page_has_proper_layout":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_leaderboard_shows_rankings":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_community_routes_return_correct_status_codes":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_community_pages_load_within_reasonable_time":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_applications_page_shows_form_elements":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_page_loads_for_authenticated_user":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_page_loads_for_guest_user":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_user_can_create_help_ticket":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_guest_cannot_create_help_ticket":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_rules_page_loads":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_pages_are_accessible_to_all":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_has_proper_navigation":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_rules_page_contains_actual_rules":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_ticket_creation_page_has_form_elements":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_routes_exist":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_pages_load_within_time_limit":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_has_proper_html_structure":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_authenticated_user_sees_personalized_help_center":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_is_linked_from_main_navigation":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_multiple_users_can_access_help_center_simultaneously":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_welcome_page_loads":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_login_route_redirects_to_welcome":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_registration_page_loads_when_enabled":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_home_page_contains_navigation_elements":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_home_page_has_proper_html_structure":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_favicon_route_works":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_robots_txt_route_works":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_non_existent_route_returns_404":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_home_page_sets_proper_cookies":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_home_page_response_time_is_reasonable":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_new_users_can_register":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_username":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_email":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_password":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_password_confirmation":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_terms_acceptance":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_matching_passwords":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_unique_username":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_unique_email":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_valid_email_format":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_csrf_token":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_page_loads_without_category":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_page_loads_with_item":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_page_shows_multiple_items":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_items_have_correct_prices":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_items_can_have_categories":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_page_with_no_items_shows_empty_state":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_has_all_required_fields":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_can_be_updated":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_can_be_deleted":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_with_multiple_categories":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_with_zero_cost":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_with_very_high_cost":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_user_profile_route_requires_authentication":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_route_can_be_accessed_by_authenticated_user":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_user_can_view_their_own_profile":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_user_can_view_other_user_profiles":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_route_returns_404_for_non_existent_user":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_url_is_correctly_formatted":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_guest_is_redirected_when_accessing_profile":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_route_uses_correct_route_name":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_page_contains_user_information_when_accessible":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_multiple_users_can_have_profiles":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_username_is_case_sensitive":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_access_account_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_update_account_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_access_password_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_access_me_page":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_guest_cannot_access_user_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_guest_cannot_access_password_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_guest_cannot_access_me_page":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_update_password":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_cannot_update_password_with_wrong_current_password":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_settings_page_contains_navigation":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_see_their_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_settings_update_requires_csrf_token":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_unauthenticated_user_cannot_update_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_settings_are_isolated_per_user":8},"times":{"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_that_true_is_true":0.004,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_that_false_is_false":0,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_that_null_is_null":0,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_basic_arithmetic_operations":0,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_string_operations":0,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_array_operations":0}} \ No newline at end of file +{"version":"pest_4.7.0","defects":{"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_returns_default_value_when_setting_not_found":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_returns_existing_setting_value":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_returns_default_for_non_existent_key":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_install_helper_creates_basic_settings":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_cache_works_correctly":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_can_be_updated_and_retrieved":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_handles_empty_string_default":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_handles_numeric_defaults":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_can_be_created_with_factory":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_factory_creates_proper_defaults":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_can_be_updated":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_can_be_deleted":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_password_is_hashed":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_multiple_users_can_be_created":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_articles_index_page_loads":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_published_article_can_be_viewed":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_unpublished_article_can_be_viewed":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_multiple_articles_appear_on_index":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_article_with_special_characters_in_title":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_article_with_long_content":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_non_existent_article_returns_404":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_article_url_contains_correct_slug":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_articles_can_be_filtered_or_sorted":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_article_page_has_proper_meta_tags":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_users_can_authenticate_using_the_login_screen":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_users_can_not_authenticate_with_invalid_password":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_requires_csrf_token":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_requires_username":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_requires_password":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_with_non_existent_user_fails":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_authenticated_user_is_redirected_from_login_page":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_user_can_logout":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_applications_page_loads":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_guest_cannot_access_staff_applications":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_page_loads":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_photos_page_loads":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_leaderboard_page_loads":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_community_pages_have_proper_structure":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_authenticated_user_can_access_community_pages":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_applications_requires_authentication":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_page_shows_team_members":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_photos_page_has_proper_layout":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_leaderboard_shows_rankings":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_community_routes_return_correct_status_codes":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_community_pages_load_within_reasonable_time":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_applications_page_shows_form_elements":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_page_loads_for_authenticated_user":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_page_loads_for_guest_user":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_user_can_create_help_ticket":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_guest_cannot_create_help_ticket":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_rules_page_loads":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_pages_are_accessible_to_all":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_has_proper_navigation":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_rules_page_contains_actual_rules":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_ticket_creation_page_has_form_elements":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_routes_exist":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_pages_load_within_time_limit":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_has_proper_html_structure":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_authenticated_user_sees_personalized_help_center":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_is_linked_from_main_navigation":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_multiple_users_can_access_help_center_simultaneously":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_welcome_page_loads":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_login_route_redirects_to_welcome":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_registration_page_loads_when_enabled":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_home_page_contains_navigation_elements":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_home_page_has_proper_html_structure":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_favicon_route_works":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_robots_txt_route_works":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_non_existent_route_returns_404":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_home_page_sets_proper_cookies":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_home_page_response_time_is_reasonable":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_new_users_can_register":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_username":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_email":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_password":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_password_confirmation":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_terms_acceptance":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_matching_passwords":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_unique_username":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_unique_email":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_valid_email_format":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_csrf_token":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_page_loads_without_category":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_page_loads_with_item":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_page_shows_multiple_items":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_items_have_correct_prices":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_items_can_have_categories":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_page_with_no_items_shows_empty_state":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_has_all_required_fields":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_can_be_updated":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_can_be_deleted":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_with_multiple_categories":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_with_zero_cost":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_with_very_high_cost":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_user_profile_route_requires_authentication":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_route_can_be_accessed_by_authenticated_user":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_user_can_view_their_own_profile":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_user_can_view_other_user_profiles":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_route_returns_404_for_non_existent_user":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_url_is_correctly_formatted":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_guest_is_redirected_when_accessing_profile":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_route_uses_correct_route_name":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_page_contains_user_information_when_accessible":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_multiple_users_can_have_profiles":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_username_is_case_sensitive":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_access_account_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_update_account_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_access_password_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_access_me_page":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_guest_cannot_access_user_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_guest_cannot_access_password_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_guest_cannot_access_me_page":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_update_password":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_cannot_update_password_with_wrong_current_password":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_settings_page_contains_navigation":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_see_their_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_settings_update_requires_csrf_token":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_unauthenticated_user_cannot_update_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_settings_are_isolated_per_user":8},"times":{"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_that_true_is_true":0.006,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_that_false_is_false":0,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_that_null_is_null":0,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_basic_arithmetic_operations":0,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_string_operations":0,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_array_operations":0}} \ No newline at end of file diff --git a/app/Console/Commands/AutoDjPlayback.php b/app/Console/Commands/AutoDjPlayback.php old mode 100644 new mode 100755 diff --git a/app/Console/Commands/RecordSongPlays.php b/app/Console/Commands/RecordSongPlays.php old mode 100644 new mode 100755 diff --git a/app/Filament/Pages/Radio/ApiKeys.php b/app/Filament/Pages/Radio/ApiKeys.php old mode 100644 new mode 100755 diff --git a/app/Filament/Pages/Radio/AutoDjPlaylist.php b/app/Filament/Pages/Radio/AutoDjPlaylist.php old mode 100644 new mode 100755 diff --git a/app/Filament/Pages/Radio/DjModeration.php b/app/Filament/Pages/Radio/DjModeration.php old mode 100644 new mode 100755 diff --git a/app/Filament/Pages/Radio/EmbedCode.php b/app/Filament/Pages/Radio/EmbedCode.php old mode 100644 new mode 100755 diff --git a/app/Filament/Resources/RadioSongPlay/Pages/ManageRadioSongPlays.php b/app/Filament/Resources/RadioSongPlay/Pages/ManageRadioSongPlays.php old mode 100644 new mode 100755 diff --git a/app/Filament/Resources/RadioSongPlay/RadioSongPlayResource.php b/app/Filament/Resources/RadioSongPlay/RadioSongPlayResource.php old mode 100644 new mode 100755 diff --git a/app/Http/Controllers/Radio/EmbedController.php b/app/Http/Controllers/Radio/EmbedController.php old mode 100644 new mode 100755 diff --git a/app/Http/Controllers/Radio/SseController.php b/app/Http/Controllers/Radio/SseController.php old mode 100644 new mode 100755 index 54123f5..22bf12f --- a/app/Http/Controllers/Radio/SseController.php +++ b/app/Http/Controllers/Radio/SseController.php @@ -134,7 +134,7 @@ class SseController extends Controller private function getListeners(): int { - return Cache::remember('radio_listeners', 30, function () { + return (int) Cache::remember('radio_listeners', 30, function () { $apiUrl = $this->getSetting(RadioSettings::ListenersEnabled) ? ($this->getSetting(RadioSettings::ListenersApiUrl) ?: $this->getAzureCastApiUrl()) : null; diff --git a/app/Http/Middleware/RadioApiKey.php b/app/Http/Middleware/RadioApiKey.php old mode 100644 new mode 100755 diff --git a/app/Models/RadioApiKey.php b/app/Models/RadioApiKey.php old mode 100644 new mode 100755 diff --git a/app/Models/RadioAutoDjTrack.php b/app/Models/RadioAutoDjTrack.php old mode 100644 new mode 100755 diff --git a/app/Models/RadioSongPlay.php b/app/Models/RadioSongPlay.php old mode 100644 new mode 100755 diff --git a/ci_test.txt b/ci_test.txt old mode 100644 new mode 100755 diff --git a/database/migrations/2026_05_23_175328_add_attribute_changes_to_activity_log_table.php b/database/migrations/2026_05_23_175328_add_attribute_changes_to_activity_log_table.php old mode 100644 new mode 100755 diff --git a/database/migrations/2026_05_24_120000_create_radio_api_keys_table.php b/database/migrations/2026_05_24_120000_create_radio_api_keys_table.php old mode 100644 new mode 100755 diff --git a/database/migrations/2026_05_24_130000_create_radio_song_plays_table.php b/database/migrations/2026_05_24_130000_create_radio_song_plays_table.php old mode 100644 new mode 100755 diff --git a/database/migrations/2026_05_24_140000_add_moderation_to_radio_shouts_table.php b/database/migrations/2026_05_24_140000_add_moderation_to_radio_shouts_table.php old mode 100644 new mode 100755 diff --git a/database/migrations/2026_05_24_150000_create_radio_auto_dj_playlist_table.php b/database/migrations/2026_05_24_150000_create_radio_auto_dj_playlist_table.php old mode 100644 new mode 100755 diff --git a/resources/views/filament/pages/radio/api-keys.blade.php b/resources/views/filament/pages/radio/api-keys.blade.php old mode 100644 new mode 100755 diff --git a/resources/views/filament/pages/radio/auto-dj-playlist.blade.php b/resources/views/filament/pages/radio/auto-dj-playlist.blade.php old mode 100644 new mode 100755 diff --git a/resources/views/filament/pages/radio/dj-moderation.blade.php b/resources/views/filament/pages/radio/dj-moderation.blade.php old mode 100644 new mode 100755 index 62badc9..b255850 --- a/resources/views/filament/pages/radio/dj-moderation.blade.php +++ b/resources/views/filament/pages/radio/dj-moderation.blade.php @@ -7,145 +7,151 @@ use App\Models\RadioSongRequest; ?> - +
+
+ + + +
+ {{-- Shouts Tab --}} - -
- @php $pendingShouts = $this->getPendingShouts(); @endphp - @if($pendingShouts->count() > 0) -

Wachtend op goedkeuring

-
- @foreach($pendingShouts as $shout) -
-
-

{{ $shout->user?->username ?? 'Onbekend' }}

-

{{ $shout->message }}

-

{{ $shout->created_at->diffForHumans() }}

-
-
- - Goedkeuren - - - Verwijderen - -
-
- @endforeach - {{ $pendingShouts->links() }} -
- @endif +
+ @php $pendingShouts = $this->getPendingShouts(); @endphp + @php $reportedShouts = $this->getReportedShouts(); @endphp - @php $reportedShouts = $this->getReportedShouts(); @endphp - @if($reportedShouts->count() > 0) -

Gerapporteerde shouts

-
- @foreach($reportedShouts as $shout) -
-
-

{{ $shout->user?->username ?? 'Onbekend' }}

-

{{ $shout->message }}

-

{{ $shout->created_at->diffForHumans() }}

-
-
- - Negeren - - - Verwijderen - -
+ @if($pendingShouts->count() > 0) +

Wachtend op goedkeuring

+
+ @foreach($pendingShouts as $shout) +
+
+

{{ $shout->user?->username ?? 'Onbekend' }}

+

{{ $shout->message }}

+

{{ $shout->created_at->diffForHumans() }}

- @endforeach - {{ $reportedShouts->links() }} -
- @endif +
+ + Goedkeuren + + + Verwijderen + +
+
+ @endforeach + {{ $pendingShouts->links() }} +
+ @endif - @if($pendingShouts->count() === 0 && $reportedShouts->count() === 0) -

Geen shouts wachtend op moderatie

- @endif -
- + @if($reportedShouts->count() > 0) +

Gerapporteerde shouts

+
+ @foreach($reportedShouts as $shout) +
+
+

{{ $shout->user?->username ?? 'Onbekend' }}

+

{{ $shout->message }}

+

{{ $shout->created_at->diffForHumans() }}

+
+
+ + Negeren + + + Verwijderen + +
+
+ @endforeach + {{ $reportedShouts->links() }} +
+ @endif + + @if($pendingShouts->count() === 0 && $reportedShouts->count() === 0) +

Geen shouts wachtend op moderatie

+ @endif +
{{-- Song Requests Tab --}} - -
- @php $requests = $this->getPendingRequests(); @endphp - @if($requests->count() > 0) -
- @foreach($requests as $request) -
-
-

{{ $request->user?->username ?? 'Onbekend' }}

-

{{ $request->song_title }}

-

{{ $request->song_artist }}

-
- {{ $request->submitted_at->diffForHumans() }} - {{ $request->votes }} stemmen -
-
-
- - Goedkeuren - - - Afwijzen - +
+ @php $requests = $this->getPendingRequests(); @endphp + @if($requests->count() > 0) +
+ @foreach($requests as $request) +
+
+

{{ $request->user?->username ?? 'Onbekend' }}

+

{{ $request->song_title }}

+ @if($request->song_artist) +

{{ $request->song_artist }}

+ @endif +
+ {{ $request->submitted_at->diffForHumans() }} + {{ $request->votes }} stemmen
- @endforeach - {{ $requests->links() }} -
- @else -

Geen verzoeken wachtend op goedkeuring

- @endif -
- +
+ + Goedkeuren + + + Afwijzen + +
+
+ @endforeach + {{ $requests->links() }} +
+ @else +

Geen verzoeken wachtend op goedkeuring

+ @endif +
{{-- Applications Tab --}} - -
- @php $applications = $this->getPendingApplications(); @endphp - @if($applications->count() > 0) -
- @foreach($applications as $app) -
-
-

{{ $app->user?->username ?? 'Onbekend' }}

-

- {{ $app->rank?->name ?? 'Geen functie' }} · {{ $app->age }} jaar -

-

{{ $app->motivation }}

- @if($app->experience) -

Ervaring: {{ $app->experience }}

- @endif -

{{ $app->created_at->diffForHumans() }}

-
-
- - Goedkeuren - - - Afwijzen - -
+
+ @php $applications = $this->getPendingApplications(); @endphp + @if($applications->count() > 0) +
+ @foreach($applications as $app) +
+
+

{{ $app->user?->username ?? 'Onbekend' }}

+

+ {{ $app->rank?->name ?? 'Geen functie' }} · {{ $app->age }} jaar +

+

{{ $app->motivation }}

+ @if($app->experience) +

Ervaring: {{ $app->experience }}

+ @endif +

{{ $app->created_at->diffForHumans() }}

- @endforeach - {{ $applications->links() }} -
- @else -

Geen aanmeldingen wachtend

- @endif -
- - +
+ + Goedkeuren + + + Afwijzen + +
+
+ @endforeach + {{ $applications->links() }} +
+ @else +

Geen aanmeldingen wachtend

+ @endif +
+
diff --git a/resources/views/filament/pages/radio/embed-code.blade.php b/resources/views/filament/pages/radio/embed-code.blade.php old mode 100644 new mode 100755 diff --git a/resources/views/radio/embed.blade.php b/resources/views/radio/embed.blade.php old mode 100644 new mode 100755 diff --git a/theme-settings-export.json b/theme-settings-export.json index 6097f2f..ca6d492 100755 --- a/theme-settings-export.json +++ b/theme-settings-export.json @@ -1,5 +1,5 @@ { - "exported_at": "2026-05-22 18:56:37", + "exported_at": "2026-05-23 17:57:11", "settings": { "preset": "atom_original", "color_primary": "#eeb425", @@ -102,15 +102,15 @@ "card_border_width": "1", "card_border_radius": "12", "page_transition": true, - "login_effect_enabled": true, + "login_effect_enabled": false, "login_effect_animation": "fire", "login_effect_background": "#0088ff", "login_effect_icon_color": "#eeb425", "login_effect_text_color": "#ffffff", "login_effect_bar_color": "#eeb425", "login_effect_bar_style": "dots", - "login_effect_show_logo": true, - "login_effect_show_name": true, + "login_effect_show_logo": false, + "login_effect_show_name": false, "login_effect_icon_size": "120", "login_effect_custom_text": "", "header_background": "#2d2d44",