From 9296e3af45f5e14eb4065cdf7b7494f56d183126 Mon Sep 17 00:00:00 2001 From: Steve Lindenberg Date: Fri, 31 Dec 2021 15:44:09 -0800 Subject: [PATCH] Work in progress --- .../components/app_header/AppHeader.vue | 58 ++++++- .../app_header/FullTimeInvisibleLogic.vue | 2 +- .../components/app_header/MainHeader.vue | 128 --------------- .../components/app_header/ModeToggles.vue | 133 --------------- .../components/score_clock/ScoreClock.vue | 29 ++++ .../score_clock/ServerCommandsMixin.vue | 80 +++++++++ .../components/score_clock/clock/Clock.vue | 54 ++++++ .../score_clock/clock/ClockMixin.vue | 135 +++++++++++++++ .../score_clock/clock/ClockNumberDisplay.vue | 30 ++++ .../clock/controller/ControllerClock.vue | 97 +++++++++++ .../clock/focused/FocusedClock.vue | 101 ++++++++++++ .../components/score_clock/routes.json | 6 + .../components/score_clock/score/Score.vue | 154 ++++++++++++++++++ .../score_clock/score/ScoreNumberDisplay.vue | 33 ++++ .../routes/front_page/FrontPageRoute.vue | 8 +- assets/js/su_score_clock_js/store/modules.js | 6 +- .../store/score_clock/header_icons.js | 46 ++++++ .../store/score_clock/score_clock.js | 46 ++++++ .../score_clock/score_clock_mutation_types.js | 1 + 19 files changed, 871 insertions(+), 276 deletions(-) delete mode 100644 assets/js/su_score_clock_js/components/app_header/MainHeader.vue delete mode 100644 assets/js/su_score_clock_js/components/app_header/ModeToggles.vue create mode 100644 assets/js/su_score_clock_js/components/score_clock/ScoreClock.vue create mode 100644 assets/js/su_score_clock_js/components/score_clock/ServerCommandsMixin.vue create mode 100644 assets/js/su_score_clock_js/components/score_clock/clock/Clock.vue create mode 100644 assets/js/su_score_clock_js/components/score_clock/clock/ClockMixin.vue create mode 100644 assets/js/su_score_clock_js/components/score_clock/clock/ClockNumberDisplay.vue create mode 100644 assets/js/su_score_clock_js/components/score_clock/clock/controller/ControllerClock.vue create mode 100644 assets/js/su_score_clock_js/components/score_clock/clock/focused/FocusedClock.vue create mode 100644 assets/js/su_score_clock_js/components/score_clock/routes.json create mode 100644 assets/js/su_score_clock_js/components/score_clock/score/Score.vue create mode 100644 assets/js/su_score_clock_js/components/score_clock/score/ScoreNumberDisplay.vue create mode 100644 assets/js/su_score_clock_js/store/score_clock/header_icons.js create mode 100644 assets/js/su_score_clock_js/store/score_clock/score_clock.js create mode 100644 assets/js/su_score_clock_js/store/score_clock/score_clock_mutation_types.js diff --git a/assets/js/su_score_clock_js/components/app_header/AppHeader.vue b/assets/js/su_score_clock_js/components/app_header/AppHeader.vue index a1fba03..460980c 100644 --- a/assets/js/su_score_clock_js/components/app_header/AppHeader.vue +++ b/assets/js/su_score_clock_js/components/app_header/AppHeader.vue @@ -3,13 +3,21 @@
- +
- +
@@ -22,10 +30,10 @@ module.exports = { components: { "full-time-invisible-logic": () => import("./FullTimeInvisibleLogic.vue"), - "network-error-detection": () => import("../../../su_client_js/components/header/NetworkErrorDetection.vue"), - "theme-manager": () => import("../../../su_client_js/components/header/ThemeManager.vue"), - "version-update-in-progress": () => import("../../../su_client_js/components/header/VersionUpdateInProgress.vue"), - "main-header": require("./MainHeader.vue").default, + "network-error-detection": () => import("../../../su_client_js/components/banners/NetworkErrorDetection.vue"), + "theme-manager": () => import("../../../su_client_js/components/banners/ThemeManager.vue"), + "version-update-in-progress": () => import("../../../su_client_js/components/banners/VersionUpdateInProgress.vue"), + "main-header": require("../../../su_client_js/components/app_header/MainHeader.vue").default, }, data: function () { @@ -35,14 +43,46 @@ module.exports = { methods: {}, computed: { - show_visible_header: function() { - if (this.$store.getters.being_kind_to_mobile_mode_restarts) return false; - return true; + show_visible_header: function () { + if (this.$store.getters.being_kind_to_mobile_mode_restarts) return false + return true }, show_theme_manager: function () { return this.$store.getters.is_running_locally }, + + score_clock_app_header_icons_ar: function () { + return this.$store.getters.score_clock_app_header_icons_ar + }, + + main_label: function () { + return "Score Clock" + }, + + net_main_label_target: function () { + if (!this.main_label_target) return null + if (this.main_label_target == this.$route.path) return null + + return this.main_label_target + }, + + main_label_target: function () { + if (this.$store.getters.is_hamburger_expanded) return null + + if (this.$route.path == "/login") return null + + if (this.$route.params["username"]) return "/u/" + this.$route.params["username"] + + var _route_cs = this.$route.params["context_slug"] + + if (_route_cs) { + var _username = this.$store.getters.status_text_value(_route_cs, "user", "username", _route_cs) + if (_username) return "/u/" + _username + } + + return null + }, }, } diff --git a/assets/js/su_score_clock_js/components/app_header/FullTimeInvisibleLogic.vue b/assets/js/su_score_clock_js/components/app_header/FullTimeInvisibleLogic.vue index c617486..de6953f 100644 --- a/assets/js/su_score_clock_js/components/app_header/FullTimeInvisibleLogic.vue +++ b/assets/js/su_score_clock_js/components/app_header/FullTimeInvisibleLogic.vue @@ -14,7 +14,7 @@ module.exports = { components: { "missing-data-manager": () => import("../../../su_client_js/store/missing_data/MissingDataManager.vue"), "network-connection-error-detection": () => import("../../../su_client_js/store/network/NetworkConnectionErrorDetection.vue"), - "status-header": () => import("../../../su_client_js/components/header/StatusHeader.vue"), + "status-header": () => import("../../../su_client_js/components/banners/StatusHeader.vue"), "user-auth-session": () => import("../../../su_user_js/components/session/Session.vue"), }, diff --git a/assets/js/su_score_clock_js/components/app_header/MainHeader.vue b/assets/js/su_score_clock_js/components/app_header/MainHeader.vue deleted file mode 100644 index 2eb02f3..0000000 --- a/assets/js/su_score_clock_js/components/app_header/MainHeader.vue +++ /dev/null @@ -1,128 +0,0 @@ - - - - - diff --git a/assets/js/su_score_clock_js/components/app_header/ModeToggles.vue b/assets/js/su_score_clock_js/components/app_header/ModeToggles.vue deleted file mode 100644 index a467ebb..0000000 --- a/assets/js/su_score_clock_js/components/app_header/ModeToggles.vue +++ /dev/null @@ -1,133 +0,0 @@ - - - - - diff --git a/assets/js/su_score_clock_js/components/score_clock/ScoreClock.vue b/assets/js/su_score_clock_js/components/score_clock/ScoreClock.vue new file mode 100644 index 0000000..da65a57 --- /dev/null +++ b/assets/js/su_score_clock_js/components/score_clock/ScoreClock.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/assets/js/su_score_clock_js/components/score_clock/ServerCommandsMixin.vue b/assets/js/su_score_clock_js/components/score_clock/ServerCommandsMixin.vue new file mode 100644 index 0000000..3e453d3 --- /dev/null +++ b/assets/js/su_score_clock_js/components/score_clock/ServerCommandsMixin.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/assets/js/su_score_clock_js/components/score_clock/clock/Clock.vue b/assets/js/su_score_clock_js/components/score_clock/clock/Clock.vue new file mode 100644 index 0000000..609b665 --- /dev/null +++ b/assets/js/su_score_clock_js/components/score_clock/clock/Clock.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/assets/js/su_score_clock_js/components/score_clock/clock/ClockMixin.vue b/assets/js/su_score_clock_js/components/score_clock/clock/ClockMixin.vue new file mode 100644 index 0000000..0af46d2 --- /dev/null +++ b/assets/js/su_score_clock_js/components/score_clock/clock/ClockMixin.vue @@ -0,0 +1,135 @@ + + + + + diff --git a/assets/js/su_score_clock_js/components/score_clock/clock/ClockNumberDisplay.vue b/assets/js/su_score_clock_js/components/score_clock/clock/ClockNumberDisplay.vue new file mode 100644 index 0000000..fbfc31e --- /dev/null +++ b/assets/js/su_score_clock_js/components/score_clock/clock/ClockNumberDisplay.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/assets/js/su_score_clock_js/components/score_clock/clock/controller/ControllerClock.vue b/assets/js/su_score_clock_js/components/score_clock/clock/controller/ControllerClock.vue new file mode 100644 index 0000000..208c029 --- /dev/null +++ b/assets/js/su_score_clock_js/components/score_clock/clock/controller/ControllerClock.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/assets/js/su_score_clock_js/components/score_clock/clock/focused/FocusedClock.vue b/assets/js/su_score_clock_js/components/score_clock/clock/focused/FocusedClock.vue new file mode 100644 index 0000000..3c9217f --- /dev/null +++ b/assets/js/su_score_clock_js/components/score_clock/clock/focused/FocusedClock.vue @@ -0,0 +1,101 @@ + + + + + diff --git a/assets/js/su_score_clock_js/components/score_clock/routes.json b/assets/js/su_score_clock_js/components/score_clock/routes.json new file mode 100644 index 0000000..ef04ad6 --- /dev/null +++ b/assets/js/su_score_clock_js/components/score_clock/routes.json @@ -0,0 +1,6 @@ +[ + { + "path": "/", + "component": () => import("./ScoreClockRoute") + } +] diff --git a/assets/js/su_score_clock_js/components/score_clock/score/Score.vue b/assets/js/su_score_clock_js/components/score_clock/score/Score.vue new file mode 100644 index 0000000..4ae1d0f --- /dev/null +++ b/assets/js/su_score_clock_js/components/score_clock/score/Score.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/assets/js/su_score_clock_js/components/score_clock/score/ScoreNumberDisplay.vue b/assets/js/su_score_clock_js/components/score_clock/score/ScoreNumberDisplay.vue new file mode 100644 index 0000000..de87803 --- /dev/null +++ b/assets/js/su_score_clock_js/components/score_clock/score/ScoreNumberDisplay.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/assets/js/su_score_clock_js/routes/front_page/FrontPageRoute.vue b/assets/js/su_score_clock_js/routes/front_page/FrontPageRoute.vue index c797ddc..9f8e854 100644 --- a/assets/js/su_score_clock_js/routes/front_page/FrontPageRoute.vue +++ b/assets/js/su_score_clock_js/routes/front_page/FrontPageRoute.vue @@ -1,6 +1,6 @@ @@ -9,19 +9,19 @@ module.exports = { props: [], components: { - + "score-clock": () => import("../../components/score_clock/ScoreClock.vue"), }, data: function () { return {} }, - created: function() { + created: function () { setTimeout(this.redirect_if_necessary, 1500) }, methods: { - redirect_if_necessary: function() { + redirect_if_necessary: function () { if (this.$store.getters.logged_in_username) if (this.$store.getters.logged_in_user_channel_connected) this.$router.push("/u/" + this.$store.getters.logged_in_username, () => {}) diff --git a/assets/js/su_score_clock_js/store/modules.js b/assets/js/su_score_clock_js/store/modules.js index f53f5c2..d7af602 100644 --- a/assets/js/su_score_clock_js/store/modules.js +++ b/assets/js/su_score_clock_js/store/modules.js @@ -1,7 +1,11 @@ import app_versions from "./app_versions/app_versions" +import header_icons from "./score_clock/header_icons" +import score_clock from "./score_clock/score_clock" let store_modules = { - app_versions + app_versions, + header_icons, + score_clock, } export default store_modules diff --git a/assets/js/su_score_clock_js/store/score_clock/header_icons.js b/assets/js/su_score_clock_js/store/score_clock/header_icons.js new file mode 100644 index 0000000..0fba655 --- /dev/null +++ b/assets/js/su_score_clock_js/store/score_clock/header_icons.js @@ -0,0 +1,46 @@ +const state = {} + +const getters = { + score_clock_app_header_icons_ar: (state, getters) => { + var _ar = [] + + _ar.push({toggle_app_mode: "timed_games", fa_icon: "fas fa-clock"}) + _ar.push({toggle_app_mode: "focused_view", fa_icon: "fas fa-expand"}) + + return _ar + }, + + show_lists_app_header_mode_toggles: (state, getters) => { + if (getters.in_mobile_mode && getters.is_hamburger_expanded) return false + + if (getters.current_route_name == "user_settings") return false + // if (this.$route.params.username) if (!this.$route.params.nested_user_panel) return true + + if (getters.current_route_name == "su_project-user") + if (getters.current_route_params_value("specifier") == "settings") return false + + if (getters.current_route_name == "su_project-user") return true + if (getters.current_route_name == "su_project-user_list_item") return true + + return false + }, +} + +const actions = { + handle_lists_app_header_filters_toggle(store, ignored_param) { + if (store.getters.current_search_term) store.dispatch("clear_text_filter_results", {}) + + if (store.getters.current_privacy_level_visibility_int < 100) store.commit("update_current_privacy_level_visibility_int", 100) + + store.dispatch("toggle_app_mode", "filtering") + }, +} + +const mutations = {} + +export default { + state, + getters, + actions, + mutations, +} diff --git a/assets/js/su_score_clock_js/store/score_clock/score_clock.js b/assets/js/su_score_clock_js/store/score_clock/score_clock.js new file mode 100644 index 0000000..7b1f186 --- /dev/null +++ b/assets/js/su_score_clock_js/store/score_clock/score_clock.js @@ -0,0 +1,46 @@ +// import { stateMerge } from "vue-object-merge" +import * as types from "./score_clock_mutation_types" + +const state = { + score_clock_ob: { + left_score: 0, + right_score: 0, + timer_direction_int: -1, + timer_count_seconds: 15 * 60, + timer_running_bool: false, + transition_timer_count_seconds: null, + transition_timer_running_bool: false, + }, +} + +const getters = { + score_clock_state: (state) => { + return state.score_clock_ob + }, + + score_clock_state: (state) => (key) => { + if (state.score_clock_ob[key]) return state.score_clock_ob[key] + + return null + }, +} + +const actions = { + update_score_clock(store, score_clock_ob) { + store.commit(types.UPDATE_SCORE_CLOCK, score_clock_ob) + }, +} + +const mutations = { + [types.UPDATE_SCORE_CLOCK](state, server_ob) { + console.log(server_ob) + // stateMerge(state.score_clock_ob, server_ob) + }, +} + +export default { + state, + getters, + actions, + mutations, +} diff --git a/assets/js/su_score_clock_js/store/score_clock/score_clock_mutation_types.js b/assets/js/su_score_clock_js/store/score_clock/score_clock_mutation_types.js new file mode 100644 index 0000000..bce546b --- /dev/null +++ b/assets/js/su_score_clock_js/store/score_clock/score_clock_mutation_types.js @@ -0,0 +1 @@ +export const UPDATE_SCORE_CLOCK = "update_score_clock"