{"version":3,"file":"index.7e3b1c24.js","sources":["../../../../components/jpbl/UI/menu_fantasy_arena.vue","../../../../commands/top.js","../../../../components/jpbl/UI/timeline/item/base.js","../../../../components/jpbl/UI/timeline/item/card_pack/controller.js","../../../../components/jpbl/UI/timeline/item/trade/controller.js","../../../../components/jpbl/UI/timeline/item/builder.js","../../../../components/jpbl/UI/timeline/controller.js","../../../../components/jpbl/UI/dialog/monthly_ranking/controller.js","../../../../components/jpbl/UI/dialog/new_login_bonus/controller.js","../../../../commands/oshirase.js","../../../../components/jpbl/UI/dialog/access_point/controller.js","../../../../pages/index.vue"],"sourcesContent":["\n\n\n\n\n","/**\n * top関連のコマンドを集約するファイル\n */\n\nimport ConfigurationBuilder from \"./api/configuration_builder\";\nimport { TopApi, AjaxApi } from \"~/plugins/openapi/api\";\n\nexport class GetTopCommand {\n /**\n * @param {TopApi} $topApi - Top関連のAPI通信を担うオブジェクト\n */\n constructor($topApi = new TopApi(new ConfigurationBuilder().buildDefault())) {\n this.$topApi = $topApi;\n }\n\n /**\n * @returns {Promise} Topに関するJSONデータ\n * @throws {AxiosError}\n */\n execute() {\n return this.$topApi.topIndexApiPost().then(({ data }) => data);\n }\n}\n\n/**\n * タイムラインのアイテムを取得するコマンド\n */\nexport class GetTopTimelineItemsCommand {\n /**\n * @param {number} int_rows_limit\n * @param {string} current_last_post_id\n * @param {TopApi} $topApi\n */\n constructor(\n int_rows_limit,\n current_last_post_id,\n $topApi = new TopApi(new ConfigurationBuilder().buildDefault())\n ) {\n this.int_rows_limit = int_rows_limit;\n this.current_last_post_id = current_last_post_id;\n this.$topApi = $topApi;\n }\n\n /**\n * @returns {Promise} タイムラインのアイテムデータ\n * @throws {AxiosError}\n */\n execute() {\n return this.$topApi\n .topGetTopPostListPost(\n String(this.int_rows_limit),\n undefined, // offsetパラメータは使われてなさそう @see https://gitlab.com/future-techno-developers/da06/card-collection/cc-jpbl-emtg-jp/blob/release/web/application/controllers/Top.php#L265\n this.current_last_post_id\n )\n .then(({ data }) => data)\n .catch((error) => {\n console.error(error);\n return [];\n });\n }\n}\nexport class PostAjaxDebugTerminalReplaceCommand {\n /**\n * @param {number} debug_flg\n * @param {string} debug_time\n * @param {AjaxApi} $ajaxApi - Top関連のAPI通信を担うオブジェクト\n */\n constructor(\n debug_flg,\n debug_time,\n $ajaxApi = new AjaxApi(new ConfigurationBuilder().buildDefault())) {\n this.debug_flg = debug_flg;\n this.debug_time = debug_time;\n this.$ajaxApi = $ajaxApi;\n }\n\n /**\n * @returns {Promise} Topに関するJSONデータ\n * @throws {AxiosError}\n */\n execute() {\n return this.$ajaxApi.ajaxDebugTerminalReplacePost(\n String(this.debug_flg),\n this.debug_time\n ).then(({ data }) => data)\n .catch((error) => {\n console.error(error);\n return [];\n });\n }\n}\n\nexport class PostAjaxSetIsAddhomeCommand {\n /**\n * @param {number} is_addhome\n * @param {AjaxApi} $ajaxApi - Top関連のAPI通信を担うオブジェクト\n */\n constructor(\n is_addhome,\n $ajaxApi = new AjaxApi(new ConfigurationBuilder().buildDefault())) {\n this.$ajaxApi = $ajaxApi;\n this.is_addhome = is_addhome;\n }\n\n /**\n * @returns {Promise} Topに関するJSONデータ\n * @throws {AxiosError}\n */\n execute() {\n return this.$ajaxApi.ajaxSetIsAddhomePost(\n this.is_addhome\n ).then(({ data }) => data)\n .catch((error) => {\n console.error(error);\n return [];\n });\n }\n}\n\nexport class PostAjaxShowAddhomeNoticeCommand {\n /**\n * @param {AjaxApi} $ajaxApi - Top関連のAPI通信を担うオブジェクト\n */\n constructor(\n $ajaxApi = new AjaxApi(new ConfigurationBuilder().buildDefault())) {\n this.$ajaxApi = $ajaxApi;\n }\n\n /**\n * @returns {Promise} Topに関するJSONデータ\n * @throws {AxiosError}\n */\n execute() {\n return this.$ajaxApi.ajaxShowAddhomeNoticePost(\n ).then(({ data }) => data)\n .catch((error) => {\n console.error(error);\n return [];\n });\n }\n}","/**\n * 全タイプで共通な機能をこのBaseControllerに隠蔽し、各タイプのController内でこれをコンポジションして使う。\n */\nexport default class TimelineItemBaseController {\n /**\n * @type {string}\n */\n _id;\n\n /**\n * @type {object}\n */\n _body;\n\n /**\n * @param {{id: string, body: object}} item \n * @returns {TimelineItemBaseController}\n */\n constructor(item) {\n this._id = item.id;\n this._body = item.body;\n }\n\n /**\n * @returns {string}\n */\n get id() {\n return this._id;\n }\n}","import TimelineItemBaseController from \"../base\";\nimport TimelineItemType from \"../type\";\nimport { SNS } from \"/utils/modules/sns-module\";\n\nexport default class TimelineCardPackItemController {\n /**\n * @type {TimelineItemBaseController}\n */\n _base;\n\n /**\n * @type {{\n * card_id: string\n * card_num: string,\n * club_id: string | undefined,\n * status: {\n * has_count: number,\n * has_kind_count: number,\n * master_kind_count: number,\n * },\n * user: {\n * disp_uid: string,\n * id: string,\n * nickname: string,\n * ranking_class_id: number,\n * ranking_is_holding: boolean,\n * ranking_joined: boolean,\n * thumb_path: string,\n * },\n * }}\n */\n _cardPackData;\n\n /**\n * @param {{id: string, body: object}} item \n * @returns {TimelineCardPackItemController}\n */\n constructor(item) {\n this._base = new TimelineItemBaseController(item);\n this._cardPackData = item.body;\n }\n\n /**\n * @returns {string}\n */\n get id() {\n return this._base.id;\n }\n\n /**\n * @returns {string}\n */\n get type() {\n return TimelineItemType.CardPack;\n }\n\n /**\n * @returns {string|undefined}\n */\n get clubId() {\n return this._cardPackData.club_id;\n }\n\n /**\n * @returns {string}\n */\n get userId() {\n return this._cardPackData.user.id;\n }\n\n /**\n * @returns {string}\n */\n get userNickname() {\n return this._cardPackData.user.nickname;\n }\n\n /**\n * @returns {string}\n */\n get userThumbPath() {\n return this._cardPackData.user.thumb_path;\n }\n\n /**\n * @returns {string}\n */\n get cardNum() {\n return this._cardPackData.card_num;\n }\n\n /**\n * @returns {number}\n */\n get hasKindCount() {\n return this._cardPackData.status.has_kind_count;\n }\n\n /**\n * @returns {number}\n */\n get masterKindCount() {\n return this._cardPackData.status.master_kind_count;\n }\n \n get myPageUrl() {\n return `/user/mypage/${this._cardPackData.user.disp_uid}`;\n }\n\n /**\n * @todo DA06003-232 カードビルダークラスを作成し、そちらに責任を移す。\n */\n buildCard(m_cards) {\n if (card = m_cards[this._cardPackData.card_id]) {\n return card;\n } else {\n var card = [];\n card.rare_id = 0; // オブジェクトではなく配列にプロパティを設定している意図は不明だが、修正するとデグレの可能性があるため、一旦そのまま移植。\n card.title = '提供終了';\n return card;\n }\n }\n\n /**\n * @todo DA06003-232 別の適切なドメイン内でURLビルダーを作成し、そちらに責任を移す。\n */\n buildUserThumbUrl(cf_domain, RESOURCE_BASE_S3_URL) {\n return SNS.replace_domain(this.userThumbPath, cf_domain, RESOURCE_BASE_S3_URL);\n }\n}","import moment from \"moment\";\nimport TimelineItemBaseController from \"../base\";\nimport TimelineItemType from \"../type\";\n\nexport default class TimelineTradeItemController {\n /**\n * @type {TimelineItemBaseController}\n */\n _base;\n\n /**\n * @type {{\n * user_1: {\n * id: string,\n * disp_uid: string,\n * thumb_path,\n * },\n * user_2: {\n * id: string,\n * disp_uid: string,\n * thumb_path,\n * },\n * card_1_id,\n * card_2_id,\n * }}\n */\n _tradeData;\n\n /**\n * @param {{id: string, body: object}} item \n * @returns {TimelineTradeItemController}\n */\n constructor(item) {\n this._base = new TimelineItemBaseController(item);\n this._tradeData = item.body;\n }\n\n /**\n * @returns {string}\n */\n get id() {\n return this._base.id;\n }\n\n /**\n * @returns {string}\n */\n get type() {\n return TimelineItemType.Trade;\n }\n\n /**\n * @returns {{\n * id: string,\n * disp_uid: string,\n * thumb_path,\n * }}\n */\n get userSelf() {\n return this._tradeData.user_1;\n }\n\n /**\n * @returns {{\n * id: string,\n * disp_uid: string,\n * thumb_path,\n * }}\n */\n get userOther() {\n return this._tradeData.user_2;\n }\n \n /**\n * @todo DA06003-232 カードビルダークラスを作成し、そちらに責任を移す。\n */\n buildCardSelf(m_cards) {\n if (card = m_cards[this._tradeData.card_1_id]) {\n return card;\n } else {\n var card = [];\n card.title = '提供終了'; // オブジェクトではなく配列にプロパティを設定している意図は不明だが、修正するとデグレの可能性があるため、一旦そのまま移植。\n return card;\n }\n }\n\n /**\n * @todo DA06003-232 カードビルダークラスを作成し、そちらに責任を移す。\n */\n buildCardOther(m_cards) {\n if (card = m_cards[this._tradeData.card_2_id]) {\n return card;\n } else {\n var card = [];\n card.title = '提供終了'; // オブジェクトではなく配列にプロパティを設定している意図は不明だが、修正するとデグレの可能性があるため、一旦そのまま移植。\n return card;\n }\n }\n \n /**\n * @returns {string}\n */\n buildUrlSelf(self_user_id) {\n return `/user/mypage/${this.userSelf.disp_uid}`;\n }\n\n /**\n * @returns {string}\n * \n * @todo DA06003-232 マイページのURL生成はこのコントローラの責務ではないため、マイページドメインのオブジェクトに責任を移す。\n */\n buildUrlOther(self_user_id) {\n return `/user/mypage/${this.userOther.disp_uid}`;\n }\n\n /**\n * サムネイル画像URLを生成して返す。サムネイル画像のパスが空の場合はnullを返す。\n *\n * @returns {string | null}\n * \n * @todo DA06003-232 別の適切なドメイン内でURLビルダーを作成し、そちらに責任を移す。\n */\n buildSelfThumbUrl(SNS, cf_domain, RESOURCE_BASE_S3_URL) {\n return this.userSelf.thumb_path\n ? SNS.replace_domain(this.userSelf.thumb_path, cf_domain, RESOURCE_BASE_S3_URL)\n : null;\n }\n\n /**\n * サムネイル画像URLを生成して返す。サムネイル画像のパスが空の場合はnullを返す。\n *\n * @returns {string | null}\n * \n * @todo DA06003-232 別の適切なドメイン内でURLビルダーを作成し、そちらに責任を移す。\n */\n buildOtherThumbUrl(SNS, cf_domain, RESOURCE_BASE_S3_URL) {\n return this.userOther.thumb_path\n ? SNS.replace_domain(this.userOther.thumb_path, cf_domain, RESOURCE_BASE_S3_URL)\n : null;\n }\n}","import TimelineCardPackItemController from \"./card_pack/controller\";\nimport TimelineTradeItemController from \"./trade/controller\";\nimport TimelineItemType from \"./type\";\n\nexport default class TimelineItemControllerBuilder {\n /**\n * @type {{id: string, type: string, body: object}}\n */\n _item;\n\n /**\n * @param {{id: string, type: string, body: string}} rawItem \n * @returns {TimelineItemControllerBuilder}\n */\n static createWithRaw(rawItem) {\n return new TimelineItemControllerBuilder({\n ...rawItem,\n body: JSON.parse(rawItem.body),\n });\n }\n\n /**\n * @param {{id: string, type: string, body: object}} item \n * @returns {TimelineItemControllerBuilder}\n */\n constructor(item) {\n this._item = item;\n }\n\n /**\n * typeの値に応じて、適切なタイプのTimelineItemControllerを生成する。\n * \n * @returns {(TimelineCardPackItemController|TimelineTradeItemController)}\n */\n build() {\n return this._item.type === TimelineItemType.CardPack\n ? new TimelineCardPackItemController(this._item)\n : new TimelineTradeItemController(this._item);\n }\n}","import { until } from '@vueuse/core'\nimport { GetTopTimelineItemsCommand } from \"~/commands/top\";\nimport TimelineItemControllerBuilder from \"./item/builder\";\nimport CardMaster from \"~/masters/cards\";\n\nexport default class TimelineController {\n /**\n * @type {(TimelineCardPackItemController|TimelineTradeItemController)[]}\n */\n _items = [];\n\n /**\n * @type {boolean}\n */\n _moreAvailable = true;\n\n /**\n * @type {boolean}\n */\n _isLoading = false;\n\n /**\n * 保持するアイテム数の上限\n * @type {number}\n */\n _maxItems = 100;\n\n /**\n * 一回でロードするアイテムの上限数を表す値オブジェクト\n */\n _maxItemsInOneLoad = new MaxItemsInOneLoad();\n\n constructor(imageCacheLoader) {\n this.imageCacheLoader = imageCacheLoader;\n }\n\n /**\n * タイムラインのアイテムをロードし、items配列にプッシュする。\n * @returns {Promise}\n */\n async loadItems() {\n /**\n * すでにローディング中の場合、または、保持するアイテムの上限数に達した場合には、新たなローディングを発火しない。\n */\n if (this._isLoading || this.maxItemCountReached) return;\n\n this._isLoading = true;\n\n const { data, pending, error } = useAsyncData('get_timeline', () => new GetTopTimelineItemsCommand(\n this._maxItemsInOneLoad.limit,\n (this.lastItem ? this.lastItem.id : ''),\n ).execute());\n // キャッシュを扱える形になっていないので、終了まで待ってから更新\n await until(pending).toMatch(v => v === false || error.value != null);\n if (error.value) {\n console.error(error.value);\n } else {\n const loaded = data.value;\n if (loaded) {\n await CardMaster.update();\n this._items.push(...loaded.map(rawItem => TimelineItemControllerBuilder.createWithRaw(rawItem).build()));\n\n nextTick(() => {\n this.imageCacheLoader.set_m_cards_state(CardMaster.getCardsState());\n this.imageCacheLoader.start_load_image('timeline');\n });\n \n if (loaded.length === 0) this._moreAvailable = false;\n this._isLoading = false;\n this._maxItemsInOneLoad.increaseCapacity();\n }\n }\n }\n\n /**\n * ロード済みのアイテムを全て解放した上で、再度アイテムをロードし直す。\n */\n async reloadItems() {\n this._items = [];\n this._maxItemsInOneLoad.init();\n await this.loadItems(this._maxItemsInOneLoad.limit);\n }\n\n /**\n * ロード済みのタイムラインのアイテムを返す。\n * \n * @returns {(TimelineCardPackItemController|TimelineTradeItemController)[]}\n */\n get items() {\n return this._items;\n }\n\n /**\n * 最後にロードされたアイテムを返す。無い場合にはundefinedを返す。\n * \n * @returns {(TimelineCardPackItemController|TimelineTradeItemController|undefined)}\n */\n get lastItem() {\n return this.items[this.items.length - 1];\n }\n\n /**\n * まだ未ロードのアイテムがある場合にtrue、それ以外の場合にfalseを返す。\n * \n * @returns {boolean}\n */\n get moreAvailable() {\n return this._moreAvailable;\n }\n\n /**\n * ロード可能なアイテム数の上限に達した場合にtrue、それ以外の場合にfalseを返す。\n * \n * @returns {boolean}\n */\n get maxItemCountReached() {\n return this.items.length >= this._maxItems;\n }\n \n /**\n * ローディング中場合にtrue、それ以外の場合にfalseを返す。\n * \n * @returns {boolean}\n */\n get isLoading() {\n return this._isLoading;\n }\n}\n\n/**\n * 一回でロードするアイテムの上限数を表す値オブジェクト\n */\nclass MaxItemsInOneLoad {\n /**\n * @type {number[]}\n */\n _limits = [10,30,60];\n\n /**\n * @type {number[]}\n */\n _idx = 0;\n\n /**\n * 呼び出された時点でのロード上限数を返す\n */\n get limit() {\n return this._idx >= this._limits.length\n ? this._limits[this._limits.length - 1]\n : this._limits[this._idx];\n }\n\n increaseCapacity() {\n ++this._idx;\n }\n\n init() {\n this._idx = 0;\n }\n}","import { DialogType } from \"..\";\nimport BaseDialogCtrl from \"../base/controller\";\n\nexport default class MonthlyRankingDialogCtrl extends BaseDialogCtrl {\n _type = DialogType.MonthlyRanking;\n}","import { DialogType } from \"..\";\nimport BaseDialogCtrl from \"../base/controller\";\n\nexport default class NewLoginBonusCtrl extends BaseDialogCtrl {\n _type = DialogType.NewLoginBonus;\n\n /**\n * @param {object} login_board_campaign\n */\n constructor(login_board_campaign) {\n super();\n\n this.login_board_campaign = login_board_campaign;\n }\n}","/**\n * お知らせ関連のコマンドを集約するファイル\n */\n\nimport ConfigurationBuilder from \"./api/configuration_builder\";\nimport { AjaxApi } from \"~/plugins/openapi/api\";\n\n/**\n * お知らせの既読処理を実行するコマンド\n */\nexport class MarkOshiraseAsReadCommand {\n /**\n * @param {string} oshiraseId\n * @param {AjaxApi} $ajaxApi\n */\n constructor(oshiraseId, $ajaxApi = new AjaxApi(new ConfigurationBuilder().buildDefault())) {\n this.oshiraseId = oshiraseId;\n this.$ajaxApi = $ajaxApi;\n }\n\n /**\n * @returns {any}\n */\n execute() {\n try {\n this.$ajaxApi.ajaxPushOshiraseReadPost(this.oshiraseId)\n } catch (error) {\n console.error(error);\n }\n }\n}","import { DialogType } from \"..\";\nimport BaseDialogCtrl from \"../base/controller\";\n\nexport default class AccessPointCtrl extends BaseDialogCtrl {\n _type = DialogType.AccessPoint;\n\n constructor(next_mission) {\n super();\n this.next_mission = next_mission;\n }\n}","\n\n\n\n\n"],"names":["defineNuxtComponent","GetTopCommand","$topApi","TopApi","ConfigurationBuilder","data","GetTopTimelineItemsCommand","int_rows_limit","current_last_post_id","error","PostAjaxDebugTerminalReplaceCommand","debug_flg","debug_time","$ajaxApi","AjaxApi","PostAjaxShowAddhomeNoticeCommand","TimelineItemBaseController","item","__publicField","TimelineCardPackItemController","TimelineItemType","m_cards","card","cf_domain","RESOURCE_BASE_S3_URL","SNS","TimelineTradeItemController","self_user_id","TimelineItemControllerBuilder","rawItem","TimelineController","imageCacheLoader","MaxItemsInOneLoad","pending","useAsyncData","until","v","loaded","CardMaster","nextTick","MonthlyRankingDialogCtrl","BaseDialogCtrl","DialogType","NewLoginBonusCtrl","login_board_campaign","MarkOshiraseAsReadCommand","oshiraseId","AccessPointCtrl","next_mission","__default__","dialogAdapter","useDialogAdapter","$ImageCacheLoader","$router","useNuxtApp","isDev","refresh","useLazyAsyncData","user","ref","user_card_count","top_cards","myclub","current_match","banners","item_first","item_monthly","is_displayed_rank_result","login_board_campaigns","card_master_updated_at","section_info","top_message","has_result","is_setting_require","is_entryable","mini_banner","is_show_addhome_notice","is_require_addhome_notice","is_android","current_match_game_start_date_formatted","current_match_game_start_time_formatted","gacha_btn_href","computed","isset","isShowDeck","config","useRuntimeConfig","showInformation","InformationDialogCtrl","DEBUG_TERMINAL","DEBUG_FLG","DEBUG_DATE","is_development","timelineController","o_confirm","var_o_confirm_item","oshirase_id","title","body","btn_title","btn_link","btns","SimpleDialog2Ctrl","show_accesspoint_dialog","un_read_db","user_notice_id","url_next","PushUserNoticePostCommand","un_confirm","otherBtnTitle","otherBtnLink","show_addhome_notice","set_show_addhome_notice","close_addhome_notice","cardDetailCtrl","onClickCard","cardId","mCards","CardDetailCtrl","get_back_card_image_url","closeCardDetail","onDataAndDocumentReady","params","arena_slots","target_slot","ai","crystal","oshirase","show_news_flg","login_bonus_message","next_login_mission","can_class_rank_up","is_request_push_notification","uuid_post","allstar_visit_msg","dialogQueue","my_ai","my_crystal","campaign","last_day_card","site_host","banner","idx","id","img_src","loginBoardsToShow","should_show_news_today","val","URLEncoder","user_notice","PullUserNoticeGetCommand","template","cf_app_confirmPushNotification","current_match_game_start_at_moment","moment","post_debug_replace","e_val1","e_val2","res","onMounted","watch","newData","User","OnClickMiniBanner","url","getNotice","URLBuilder"],"mappings":"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"}