From fc76507b04be80672886b5b7f5bc7b95d31e420a Mon Sep 17 00:00:00 2001 From: nanaya Date: Tue, 4 Jul 2023 16:34:44 +0900 Subject: [PATCH 1/2] Typescript StoreCart (rename) --- resources/js/{_classes/store-cart.coffee => utils/store-cart.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename resources/js/{_classes/store-cart.coffee => utils/store-cart.ts} (100%) diff --git a/resources/js/_classes/store-cart.coffee b/resources/js/utils/store-cart.ts similarity index 100% rename from resources/js/_classes/store-cart.coffee rename to resources/js/utils/store-cart.ts From 4af4ad0ffc6f83c85282a1dd65129ed0247b8eb8 Mon Sep 17 00:00:00 2001 From: nanaya Date: Tue, 4 Jul 2023 16:39:42 +0900 Subject: [PATCH 2/2] Typescript StoreCart Or more like converting the one static method into exported function. --- resources/js/core-legacy/store-supporter-tag.coffee | 3 ++- resources/js/entrypoints/app.ts | 1 - resources/js/store-username-change.coffee | 6 +++--- resources/js/utils/store-cart.ts | 13 ++++++------- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/resources/js/core-legacy/store-supporter-tag.coffee b/resources/js/core-legacy/store-supporter-tag.coffee index 1ab73dcb791..a47562df536 100644 --- a/resources/js/core-legacy/store-supporter-tag.coffee +++ b/resources/js/core-legacy/store-supporter-tag.coffee @@ -3,6 +3,7 @@ import { route } from 'laroute' import { fadeToggle } from 'utils/fade' +import { toggleCart } from 'utils/store-cart' export default class StoreSupporterTag RESOLUTION: 8 @@ -148,7 +149,7 @@ export default class StoreSupporterTag messageInputVisible = enabled && @user?.id != window.currentUser.id fadeToggle(@messageInput, messageInputVisible) - StoreCart.setEnabled(enabled) + toggleCart(enabled) # TODO: need to elevate this element when switching over to new store design. $(@el).toggleClass('js-store--disabled', !enabled) $('.js-slider').slider('disabled': !enabled) diff --git a/resources/js/entrypoints/app.ts b/resources/js/entrypoints/app.ts index 57b5142374c..5e67ecd25f4 100644 --- a/resources/js/entrypoints/app.ts +++ b/resources/js/entrypoints/app.ts @@ -5,7 +5,6 @@ import 'app-deps'; import 'jquery-pubsub.coffee'; -import '_classes/store-cart.coffee'; import '_classes/store-supporter-tag-price.coffee'; import '_classes/timeout.coffee'; diff --git a/resources/js/store-username-change.coffee b/resources/js/store-username-change.coffee index 370aed5b586..11ca5d37379 100644 --- a/resources/js/store-username-change.coffee +++ b/resources/js/store-username-change.coffee @@ -3,9 +3,10 @@ import { route } from 'laroute' import { trans } from 'utils/lang' +import { toggleCart } from 'utils/store-cart' preventUsernameSubmission = -> - StoreCart.setEnabled(false) + toggleCart(false) $('#username-check-price').text '' checkUsernameValidity = -> @@ -17,10 +18,9 @@ checkUsernameValidity = -> return unless data.username == $('.js-username-change-input').val() if data.available - $('.js-store-add-to-cart').attr 'disabled', false + toggleCart(true) $('#username-check-price').text data.costString $('#username-form-price').val data.cost - $('#product-form').data('disabled', false) else preventUsernameSubmission() diff --git a/resources/js/utils/store-cart.ts b/resources/js/utils/store-cart.ts index c173c7caa1c..ea723d94458 100644 --- a/resources/js/utils/store-cart.ts +++ b/resources/js/utils/store-cart.ts @@ -1,8 +1,7 @@ -# Copyright (c) ppy Pty Ltd . Licensed under the GNU Affero General Public License v3.0. -# See the LICENCE file in the repository root for full licence text. +// Copyright (c) ppy Pty Ltd . Licensed under the GNU Affero General Public License v3.0. +// See the LICENCE file in the repository root for full licence text. -# Cart-specific script should go here. -class window.StoreCart - @setEnabled: (flag) -> - $('.js-store-add-to-cart').prop 'disabled', !flag - $('#product-form').data 'disabled', !flag +export function toggleCart(flag: boolean) { + $('.js-store-add-to-cart').prop('disabled', !flag); + $('#product-form').data('disabled', !flag); +}