@taole/newgiftbar 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -562,8 +562,8 @@ const options = {
562
562
  */
563
563
  isChatTest: false,
564
564
  /**
565
- * 接口域名。lib 拼 URL 时按 key 取。
566
- * papi:列表/支付;yapi:充值页。未注入时按 isChatTest 拼测试/正式域。
565
+ * 接口域名。lib 拼 URL 时按 key 取,必须由宿主注入。
566
+ * papi:列表/支付;yapi:充值页。
567
567
  * @type {{ papi?: string, yapi?: string, api?: string }}
568
568
  */
569
569
  apiDomain: {},
@@ -640,1604 +640,2179 @@ const options = {
640
640
  */
641
641
  playGiftAnimation: null,
642
642
  /**
643
- * 点顶栏「贵族」:厅内打开 levelm iframe。
643
+ * 打开限额设置页。不注入时 `window.open(getLimitSettingsUrl())`。
644
644
  * @type {() => void}
645
645
  */
646
- onOpenNobility: null,
646
+ onOpenLimitSettings: null,
647
647
  /**
648
- * 打开限额设置页。不注入时 `window.open(getLimitSettingsUrl())`。
649
- * @type {() => void}
648
+ * 栏内改收礼人。厅内对标旧栏点 #divTeacherList 写 giftToTeacher,下次开栏带回。
649
+ * @type {(user: { uid: number|string, nickname: string, color?: string }) => void}
650
650
  */
651
- onOpenLimitSettings: null
651
+ onSelectUser: null
652
652
  };
653
- function get_each_context$a(ctx, list, i) {
654
- const child_ctx = ctx.slice();
655
- child_ctx[8] = list[i];
656
- return child_ctx;
657
- }
658
- function create_if_block_3$8(ctx) {
659
- let b;
660
- return {
661
- c() {
662
- b = element("b");
663
- attr(b, "class", "giftbar-tab-dot");
664
- },
665
- m(target, anchor) {
666
- insert(target, b, anchor);
667
- },
668
- d(detaching) {
669
- if (detaching) {
670
- detach(b);
653
+ const deferred = function() {
654
+ const defer = {};
655
+ defer.promise = new Promise((resolve, reject) => {
656
+ defer.resolve = resolve;
657
+ defer.reject = reject;
658
+ });
659
+ return defer;
660
+ };
661
+ function createModal(_Class, props = {}, target = document.body) {
662
+ const wrap = document.createElement("div");
663
+ wrap.setAttribute("data-modal-overlay", "");
664
+ wrap.setAttribute("data-giftbar-modal", "");
665
+ target.appendChild(wrap);
666
+ let modal = new _Class({ target: wrap, props: { closeModal, ...props } });
667
+ const defer = deferred();
668
+ function closeModal(err, result) {
669
+ try {
670
+ modal && modal.$destroy();
671
+ } finally {
672
+ modal = null;
673
+ if (wrap.parentNode) {
674
+ wrap.parentNode.removeChild(wrap);
671
675
  }
672
676
  }
673
- };
674
- }
675
- function create_each_block$a(key_1, ctx) {
676
- let div;
677
- let span;
678
- let t0_value = (
679
- /*item*/
680
- ctx[8].title + ""
681
- );
682
- let t0;
683
- let t1;
684
- let t2;
685
- let div_class_value;
686
- let mounted;
687
- let dispose;
688
- let if_block = (
689
- /*item*/
690
- ctx[8].is_new == 1 && create_if_block_3$8()
691
- );
692
- function click_handler() {
693
- return (
694
- /*click_handler*/
695
- ctx[7](
696
- /*item*/
697
- ctx[8]
698
- )
699
- );
700
- }
701
- return {
702
- key: key_1,
703
- first: null,
704
- c() {
705
- div = element("div");
706
- span = element("span");
707
- t0 = text(t0_value);
708
- t1 = space();
709
- if (if_block) if_block.c();
710
- t2 = space();
711
- attr(div, "class", div_class_value = "giftbar-tab " + /*item*/
712
- (ctx[8].id == /*tabId*/
713
- ctx[1] ? "giftbar-tab-on" : ""));
714
- attr(div, "role", "presentation");
715
- this.first = div;
716
- },
717
- m(target, anchor) {
718
- insert(target, div, anchor);
719
- append(div, span);
720
- append(span, t0);
721
- append(div, t1);
722
- if (if_block) if_block.m(div, null);
723
- append(div, t2);
724
- if (!mounted) {
725
- dispose = listen(div, "click", stop_propagation(click_handler));
726
- mounted = true;
727
- }
728
- },
729
- p(new_ctx, dirty) {
730
- ctx = new_ctx;
731
- if (dirty & /*tabs*/
732
- 1 && t0_value !== (t0_value = /*item*/
733
- ctx[8].title + "")) set_data(t0, t0_value);
734
- if (
735
- /*item*/
736
- ctx[8].is_new == 1
737
- ) {
738
- if (if_block) ;
739
- else {
740
- if_block = create_if_block_3$8();
741
- if_block.c();
742
- if_block.m(div, t2);
743
- }
744
- } else if (if_block) {
745
- if_block.d(1);
746
- if_block = null;
747
- }
748
- if (dirty & /*tabs, tabId*/
749
- 3 && div_class_value !== (div_class_value = "giftbar-tab " + /*item*/
750
- (ctx[8].id == /*tabId*/
751
- ctx[1] ? "giftbar-tab-on" : ""))) {
752
- attr(div, "class", div_class_value);
753
- }
754
- },
755
- d(detaching) {
756
- if (detaching) {
757
- detach(div);
758
- }
759
- if (if_block) if_block.d();
760
- mounted = false;
761
- dispose();
677
+ if (err) {
678
+ defer.reject(err);
679
+ } else {
680
+ defer.resolve(result);
762
681
  }
763
- };
682
+ }
683
+ return { modal, closeModal, promise: defer.promise };
764
684
  }
765
- function create_if_block_1$l(ctx) {
766
- let a;
767
- let t0;
768
- let t1_value = (
769
- /*tip*/
770
- ctx[2].text + ""
771
- );
772
- let t1;
773
- let a_href_value;
774
- let if_block = (
775
- /*tip*/
776
- ctx[2].img && create_if_block_2$c(ctx)
777
- );
778
- return {
779
- c() {
780
- a = element("a");
781
- if (if_block) if_block.c();
782
- t0 = space();
783
- t1 = text(t1_value);
784
- attr(a, "href", a_href_value = /*tip*/
785
- ctx[2].link);
786
- attr(a, "target", "_blank");
787
- attr(a, "rel", "noopener noreferrer");
788
- },
789
- m(target, anchor) {
790
- insert(target, a, anchor);
791
- if (if_block) if_block.m(a, null);
792
- append(a, t0);
793
- append(a, t1);
794
- },
795
- p(ctx2, dirty) {
796
- if (
797
- /*tip*/
798
- ctx2[2].img
799
- ) {
800
- if (if_block) {
801
- if_block.p(ctx2, dirty);
802
- } else {
803
- if_block = create_if_block_2$c(ctx2);
804
- if_block.c();
805
- if_block.m(a, t0);
806
- }
807
- } else if (if_block) {
808
- if_block.d(1);
809
- if_block = null;
810
- }
811
- if (dirty & /*tip*/
812
- 4 && t1_value !== (t1_value = /*tip*/
813
- ctx2[2].text + "")) set_data(t1, t1_value);
814
- if (dirty & /*tip*/
815
- 4 && a_href_value !== (a_href_value = /*tip*/
816
- ctx2[2].link)) {
817
- attr(a, "href", a_href_value);
818
- }
819
- },
820
- d(detaching) {
821
- if (detaching) {
822
- detach(a);
823
- }
824
- if (if_block) if_block.d();
825
- }
826
- };
685
+ function joinQuery(parts) {
686
+ return parts.filter((item) => item && item[1] !== void 0 && item[1] !== null).map(([key, value]) => key + "=" + value).join("&");
827
687
  }
828
- function create_if_block_2$c(ctx) {
829
- let img;
830
- let img_src_value;
831
- return {
832
- c() {
833
- img = element("img");
834
- if (!src_url_equal(img.src, img_src_value = /*tip*/
835
- ctx[2].img)) attr(img, "src", img_src_value);
836
- attr(img, "alt", "");
837
- },
838
- m(target, anchor) {
839
- insert(target, img, anchor);
840
- },
841
- p(ctx2, dirty) {
842
- if (dirty & /*tip*/
843
- 4 && !src_url_equal(img.src, img_src_value = /*tip*/
844
- ctx2[2].img)) {
845
- attr(img, "src", img_src_value);
846
- }
847
- },
848
- d(detaching) {
849
- if (detaching) {
850
- detach(img);
851
- }
688
+ function appendQuery(url, params) {
689
+ let next = url || "";
690
+ Object.keys(params || {}).forEach((key) => {
691
+ const value = params[key];
692
+ if (value === void 0 || value === null) {
693
+ return;
852
694
  }
853
- };
695
+ const re = new RegExp("([?&])" + key + "=[^&]*");
696
+ if (re.test(next)) {
697
+ next = next.replace(re, "$1" + key + "=" + value);
698
+ } else {
699
+ next += (next.indexOf("?") >= 0 ? "&" : "?") + key + "=" + value;
700
+ }
701
+ });
702
+ return next;
854
703
  }
855
- function create_if_block$o(ctx) {
856
- let div;
857
- let mounted;
858
- let dispose;
859
- return {
860
- c() {
861
- div = element("div");
862
- div.innerHTML = `<img src="https://asset.tuwan.com/officialsite/images/king.png" alt=""/> <span>贵族</span>`;
863
- attr(div, "class", "giftbar-nobility");
864
- attr(div, "role", "presentation");
865
- },
866
- m(target, anchor) {
867
- insert(target, div, anchor);
868
- if (!mounted) {
869
- dispose = listen(div, "click", stop_propagation(
870
- /*openNobility*/
871
- ctx[5]
872
- ));
873
- mounted = true;
874
- }
875
- },
876
- p: noop,
877
- d(detaching) {
878
- if (detaching) {
879
- detach(div);
880
- }
881
- mounted = false;
882
- dispose();
883
- }
884
- };
704
+ function stripSlash(domain) {
705
+ return domain ? String(domain).replace(/\/$/, "") : "";
885
706
  }
886
- function create_fragment$s(ctx) {
887
- let div2;
888
- let div0;
889
- let each_blocks = [];
890
- let each_1_lookup = /* @__PURE__ */ new Map();
891
- let t0;
892
- let div1;
893
- let t1;
894
- let each_value = ensure_array_like(
895
- /*tabs*/
896
- ctx[0]
897
- );
898
- const get_key = (ctx2) => (
899
- /*item*/
900
- ctx2[8].id
901
- );
902
- for (let i = 0; i < each_value.length; i += 1) {
903
- let child_ctx = get_each_context$a(ctx, each_value, i);
904
- let key = get_key(child_ctx);
905
- each_1_lookup.set(key, each_blocks[i] = create_each_block$a(key, child_ctx));
707
+ function resolveApiDomain(kind) {
708
+ const map = options.apiDomain || {};
709
+ const injected = map[kind];
710
+ if (injected) {
711
+ return stripSlash(injected);
906
712
  }
907
- let if_block0 = (
908
- /*tip*/
909
- ctx[2] && /*tip*/
910
- ctx[2].text && /*tip*/
911
- ctx[2].link && /*tip*/
912
- ctx[2].kind !== "hidden" && create_if_block_1$l(ctx)
913
- );
914
- let if_block1 = (
915
- /*showNobility*/
916
- ctx[3] && create_if_block$o(ctx)
917
- );
918
- return {
919
- c() {
920
- div2 = element("div");
921
- div0 = element("div");
922
- for (let i = 0; i < each_blocks.length; i += 1) {
923
- each_blocks[i].c();
924
- }
925
- t0 = space();
926
- div1 = element("div");
927
- if (if_block0) if_block0.c();
928
- t1 = space();
929
- if (if_block1) if_block1.c();
930
- attr(div0, "class", "giftbar-tabs");
931
- attr(div1, "class", "giftbar-tip");
932
- attr(div2, "class", "giftbar-head");
933
- },
934
- m(target, anchor) {
935
- insert(target, div2, anchor);
936
- append(div2, div0);
937
- for (let i = 0; i < each_blocks.length; i += 1) {
938
- if (each_blocks[i]) {
939
- each_blocks[i].m(div0, null);
940
- }
941
- }
942
- append(div2, t0);
943
- append(div2, div1);
944
- if (if_block0) if_block0.m(div1, null);
945
- append(div1, t1);
946
- if (if_block1) if_block1.m(div1, null);
947
- },
948
- p(ctx2, [dirty]) {
949
- if (dirty & /*tabs, tabId, switchTab*/
950
- 19) {
951
- each_value = ensure_array_like(
952
- /*tabs*/
953
- ctx2[0]
954
- );
955
- each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx2, each_value, each_1_lookup, div0, destroy_block, create_each_block$a, null, get_each_context$a);
956
- }
957
- if (
958
- /*tip*/
959
- ctx2[2] && /*tip*/
960
- ctx2[2].text && /*tip*/
961
- ctx2[2].link && /*tip*/
962
- ctx2[2].kind !== "hidden"
963
- ) {
964
- if (if_block0) {
965
- if_block0.p(ctx2, dirty);
966
- } else {
967
- if_block0 = create_if_block_1$l(ctx2);
968
- if_block0.c();
969
- if_block0.m(div1, t1);
970
- }
971
- } else if (if_block0) {
972
- if_block0.d(1);
973
- if_block0 = null;
974
- }
975
- if (
976
- /*showNobility*/
977
- ctx2[3]
978
- ) {
979
- if (if_block1) {
980
- if_block1.p(ctx2, dirty);
981
- } else {
982
- if_block1 = create_if_block$o(ctx2);
983
- if_block1.c();
984
- if_block1.m(div1, null);
985
- }
986
- } else if (if_block1) {
987
- if_block1.d(1);
988
- if_block1 = null;
989
- }
990
- },
991
- i: noop,
992
- o: noop,
993
- d(detaching) {
994
- if (detaching) {
995
- detach(div2);
996
- }
997
- for (let i = 0; i < each_blocks.length; i += 1) {
998
- each_blocks[i].d();
999
- }
1000
- if (if_block0) if_block0.d();
1001
- if (if_block1) if_block1.d();
1002
- }
1003
- };
713
+ throw new Error("giftBarLib apiDomain." + kind + " is required");
1004
714
  }
1005
- function instance$s($$self, $$props, $$invalidate) {
1006
- let { tabs = [] } = $$props;
1007
- let { tabId = 0 } = $$props;
1008
- let { tip = {
1009
- kind: "magic",
1010
- text: "",
1011
- link: "",
1012
- img: ""
1013
- } } = $$props;
1014
- let { showNobility = true } = $$props;
1015
- let { onClickTab } = $$props;
1016
- function switchTab(item) {
1017
- onClickTab && onClickTab(item);
1018
- }
1019
- function openNobility(event) {
1020
- event && event.stopPropagation && event.stopPropagation();
1021
- if (typeof options.onOpenNobility === "function") {
1022
- options.onOpenNobility();
1023
- }
715
+ function assertSource(source) {
716
+ if (source !== "room" && source !== "im") {
717
+ throw new Error("giftBarLib source must be 'room' or 'im'");
1024
718
  }
1025
- const click_handler = (item) => switchTab(item);
1026
- $$self.$$set = ($$props2) => {
1027
- if ("tabs" in $$props2) $$invalidate(0, tabs = $$props2.tabs);
1028
- if ("tabId" in $$props2) $$invalidate(1, tabId = $$props2.tabId);
1029
- if ("tip" in $$props2) $$invalidate(2, tip = $$props2.tip);
1030
- if ("showNobility" in $$props2) $$invalidate(3, showNobility = $$props2.showNobility);
1031
- if ("onClickTab" in $$props2) $$invalidate(6, onClickTab = $$props2.onClickTab);
1032
- };
1033
- return [
1034
- tabs,
1035
- tabId,
1036
- tip,
1037
- showNobility,
1038
- switchTab,
1039
- openNobility,
1040
- onClickTab,
1041
- click_handler
1042
- ];
1043
719
  }
1044
- class GiftTabs extends SvelteComponent {
1045
- constructor(options2) {
1046
- super();
1047
- init(this, options2, instance$s, create_fragment$s, safe_not_equal, {
1048
- tabs: 0,
1049
- tabId: 1,
1050
- tip: 2,
1051
- showNobility: 3,
1052
- onClickTab: 6
1053
- });
720
+ function assertRoomPayContext(ctx) {
721
+ if (!ctx || ctx.cid === void 0 || ctx.cid === null || ctx.cid === "") {
722
+ throw new Error("source=room requires cid in getPayContext");
1054
723
  }
1055
- }
1056
- function giftHoverTip(node, html) {
1057
- let tip = null;
1058
- let currentHtml = html || "";
1059
- function hide() {
1060
- if (tip) {
1061
- tip.remove();
1062
- tip = null;
1063
- }
724
+ if (ctx.imuid !== void 0 || ctx.group_id !== void 0) {
725
+ throw new Error("source=room PayContext must not include imuid/group_id");
1064
726
  }
1065
- function show() {
1066
- hide();
1067
- if (!currentHtml) {
1068
- return;
1069
- }
1070
- tip = document.createElement("div");
1071
- tip.className = "giftbar-item-tooltip";
1072
- tip.innerHTML = '<div class="giftbar-item-tooltip-inner">' + currentHtml + '</div><div class="giftbar-item-tooltip-arrow"></div>';
1073
- document.body.appendChild(tip);
1074
- const rect = node.getBoundingClientRect();
1075
- tip.style.left = rect.left + rect.width / 2 + "px";
1076
- tip.style.top = rect.top + "px";
727
+ if (String(ctx.actid) === "101") {
728
+ throw new Error("source=room PayContext must not use actid=101");
1077
729
  }
1078
- node.addEventListener("mouseenter", show);
1079
- node.addEventListener("mouseleave", hide);
1080
- window.addEventListener("scroll", hide, true);
1081
- return {
1082
- update(nextHtml) {
1083
- currentHtml = nextHtml || "";
1084
- if (tip) {
1085
- if (!currentHtml) {
1086
- hide();
1087
- } else {
1088
- show();
1089
- }
1090
- }
1091
- },
1092
- destroy() {
1093
- hide();
1094
- node.removeEventListener("mouseenter", show);
1095
- node.removeEventListener("mouseleave", hide);
1096
- window.removeEventListener("scroll", hide, true);
1097
- }
1098
- };
1099
730
  }
1100
- const OSS_HOST_RE = /(^|\.)tuwandata\.com$|(^|\.)img\d*\.tuwan\.com$/i;
1101
- const PROCESS = "image/resize,m_fill,w_128,h_128/format,webp";
1102
- function giftListThumbUrl(src) {
1103
- if (!src || typeof src !== "string") {
1104
- return src || "";
1105
- }
1106
- if (/^(data:|blob:)/i.test(src)) {
1107
- return src;
731
+ function hasValue$3(value) {
732
+ return value !== void 0 && value !== null && value !== "";
733
+ }
734
+ function assertImPayContext(ctx) {
735
+ if (!ctx) {
736
+ throw new Error("source=im requires getPayContext");
1108
737
  }
1109
- if (/[?&]x-oss-process=/i.test(src)) {
1110
- return src;
738
+ if (!hasValue$3(ctx.imuid) && !hasValue$3(ctx.group_id)) {
739
+ throw new Error("source=im requires imuid or group_id in getPayContext");
1111
740
  }
1112
- try {
1113
- const url = new URL(src, typeof location !== "undefined" ? location.href : "https://www.tuwan.com");
1114
- if (!OSS_HOST_RE.test(url.hostname)) {
1115
- return src;
1116
- }
1117
- url.searchParams.set("x-oss-process", PROCESS);
1118
- return url.toString();
1119
- } catch (e) {
1120
- return src;
741
+ if (hasValue$3(ctx.cid)) {
742
+ throw new Error("source=im PayContext must not include cid");
743
+ }
744
+ if (ctx.is_whole_wheat !== void 0) {
745
+ throw new Error("source=im PayContext must not include is_whole_wheat");
1121
746
  }
1122
747
  }
1123
- const PRELOAD_MARGIN = "240px 0px";
1124
- const GIFT_IMG_PLACEHOLDER = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
1125
- function findGridRoot(node) {
1126
- return node.closest ? node.closest(".giftbar-grid") : null;
748
+ function getSource() {
749
+ return options.source;
1127
750
  }
1128
- function setSrc(node, src) {
1129
- if (node.getAttribute("src") === src) {
1130
- return;
751
+ function isImSource() {
752
+ return options.source === "im";
753
+ }
754
+ function papi() {
755
+ return resolveApiDomain("papi");
756
+ }
757
+ function yapi() {
758
+ return resolveApiDomain("yapi");
759
+ }
760
+ function hasValue$2(value) {
761
+ return value !== void 0 && value !== null && value !== "";
762
+ }
763
+ function sceneParts$1(ctx) {
764
+ if (hasValue$2(ctx && ctx.group_id)) {
765
+ return [["group_id", ctx.group_id]];
1131
766
  }
1132
- node.setAttribute("src", src);
767
+ return [["imuid", ctx && ctx.imuid]];
1133
768
  }
1134
- function lazyGiftImg(node, src) {
1135
- let currentSrc = src || "";
1136
- let observer = null;
1137
- function clearObserver() {
1138
- if (observer) {
1139
- observer.disconnect();
1140
- observer = null;
1141
- }
769
+ function openParts(giftId, num, paySure, ctx) {
770
+ return [
771
+ ["giftid", giftId],
772
+ ["num", num || 1],
773
+ ["pay_confirm", 1],
774
+ ["apiver", 1],
775
+ ["pay_sure", paySure || 0],
776
+ ["uids", ctx && ctx.selfUid],
777
+ ...sceneParts$1(ctx)
778
+ ];
779
+ }
780
+ function getRechargeUrl() {
781
+ return yapi() + "/activityapi/recharge";
782
+ }
783
+ function getLimitSettingsUrl() {
784
+ return "https://y" + (options.isChatTest ? "-test" : "") + ".tuwan.com/home/consume-check";
785
+ }
786
+ function giveUpConsumeLimitUrl() {
787
+ return yapi() + "/user/setGiftRemindSetting?format=jsonp";
788
+ }
789
+ function giftListsUrl(cid, navid) {
790
+ return papi() + "/Teacher/giftLists?format=jsonp&platform=0" + (hasValue$2(cid) ? "&cid=" + cid : "") + "&navid=" + navid + "&apiver=4";
791
+ }
792
+ function haveGiftUrl(cid, navid) {
793
+ return papi() + "/Teacher/haveGift?format=jsonp&mode=2" + (hasValue$2(cid) ? "&cid=" + cid : "") + "&navid=" + navid;
794
+ }
795
+ function getMoneyUrl() {
796
+ return papi() + "/Teacher/getMoney";
797
+ }
798
+ function diamondGiftMoreUrl(query) {
799
+ return papi() + "/Diamond/giftMore?" + query;
800
+ }
801
+ function giveGiftUrl(query) {
802
+ return papi() + "/Teacher/giveGift?" + query;
803
+ }
804
+ function giveGiftInfoUrl(cid, giftId) {
805
+ return yapi() + "/nobility/getGiveGiftInfo?cid=" + cid + "&id=" + giftId + "&freeCardTypeid=2&format=jsonp";
806
+ }
807
+ function treasureBuyUrl(query) {
808
+ return papi() + "/Treasure/buy?format=jsonp&" + query;
809
+ }
810
+ function blindBoxPayUrl(query) {
811
+ return papi() + "/treasure/blindBox?format=jsonp&" + query;
812
+ }
813
+ function blindBoxImgListUrl(giftId) {
814
+ return papi() + "/gift/blindBoxImgList?format=jsonp&gift_id=" + giftId;
815
+ }
816
+ function treasureGetInfoUrl(giftId) {
817
+ return papi() + "/TreasureV3/getInfo?giftid=" + giftId + "&apiver=1";
818
+ }
819
+ function treasureGetRecordUrl(giftId, page, step) {
820
+ return papi() + "/TreasureV3/getRecord?format=jsonp&giftid=" + giftId + "&page=" + page + "&step=" + (step || 10);
821
+ }
822
+ function treasureGoldUrl(giftId, cid, num, paySure, ctx) {
823
+ if (isImSource()) {
824
+ return papi() + "/TreasureV3/gold?" + joinQuery(openParts(giftId, num, paySure, ctx));
1142
825
  }
1143
- function applySrc() {
1144
- setSrc(node, currentSrc || GIFT_IMG_PLACEHOLDER);
826
+ return papi() + "/TreasureV3/gold?giftid=" + giftId + "&cid=" + cid + "&num=" + (num || 1) + "&pay_confirm=1&pay_sure=" + (paySure || 0);
827
+ }
828
+ function treasureV3BuyUrl(giftId, cid, num, paySure, ctx) {
829
+ if (isImSource()) {
830
+ return papi() + "/TreasureV3/buy?" + joinQuery(openParts(giftId, num, paySure, ctx));
1145
831
  }
1146
- function observe() {
1147
- clearObserver();
1148
- setSrc(node, GIFT_IMG_PLACEHOLDER);
1149
- if (!currentSrc) {
1150
- return;
1151
- }
1152
- if (typeof IntersectionObserver !== "function") {
1153
- applySrc();
1154
- return;
1155
- }
1156
- const root = findGridRoot(node);
1157
- observer = new IntersectionObserver(
1158
- (entries) => {
1159
- const hit = entries.some((item) => item.isIntersecting);
1160
- if (!hit) {
1161
- return;
1162
- }
1163
- applySrc();
1164
- clearObserver();
1165
- },
1166
- { root: root || null, rootMargin: PRELOAD_MARGIN, threshold: 0.01 }
1167
- );
1168
- observer.observe(node);
832
+ return papi() + "/TreasureV3/buy?giftid=" + giftId + "&cid=" + cid + "&num=" + (num || 1) + "&pay_confirm=1&pay_sure=" + (paySure || 0);
833
+ }
834
+ function modalBlindBoxPayUrl(giftId, cid, num, worth, isBuy, ctx) {
835
+ if (isImSource()) {
836
+ return papi() + "/treasure/blindBox?" + joinQuery([
837
+ ["anonymous", 0],
838
+ ["actid", 100],
839
+ ["platform", 0],
840
+ ["giftid", giftId],
841
+ ["num", num || 1],
842
+ ["pay_confirm", 1],
843
+ ["apiver", 1],
844
+ ["pay_sure", 0],
845
+ ["worth", worth || 0],
846
+ ["is_buy", isBuy || 0],
847
+ ["uids", ctx && ctx.selfUid],
848
+ ...sceneParts$1(ctx)
849
+ ]);
1169
850
  }
1170
- observe();
1171
- return {
1172
- update(nextSrc) {
1173
- const next = nextSrc || "";
1174
- if (next === currentSrc) {
1175
- return;
1176
- }
1177
- currentSrc = next;
1178
- observe();
1179
- },
1180
- destroy() {
1181
- clearObserver();
1182
- }
1183
- };
851
+ return papi() + "/treasure/blindBox?format=jsonp&giftid=" + giftId + "&cid=" + cid + "&num=" + (num || 1) + "&worth=" + (worth || 0) + "&is_buy=" + (isBuy || 0);
1184
852
  }
1185
- function get_each_context$9(ctx, list, i) {
1186
- const child_ctx = ctx.slice();
1187
- child_ctx[7] = list[i];
1188
- return child_ctx;
853
+ function diamondPrefixQuery(parts) {
854
+ return "anonymous=0&actid=" + (isImSource() ? 101 : 100) + "&platform=0&" + joinQuery(parts);
1189
855
  }
1190
- function create_if_block_5$5(ctx) {
1191
- let span;
1192
- let t_value = (
1193
- /*giftItem*/
1194
- ctx[7].tag + ""
1195
- );
1196
- let t;
1197
- return {
1198
- c() {
1199
- span = element("span");
1200
- t = text(t_value);
1201
- attr(span, "class", "giftbar-item-tag");
1202
- },
1203
- m(target, anchor) {
1204
- insert(target, span, anchor);
1205
- append(span, t);
1206
- },
1207
- p(ctx2, dirty) {
1208
- if (dirty & /*gifts*/
1209
- 1 && t_value !== (t_value = /*giftItem*/
1210
- ctx2[7].tag + "")) set_data(t, t_value);
1211
- },
1212
- d(detaching) {
1213
- if (detaching) {
1214
- detach(span);
1215
- }
1216
- }
1217
- };
856
+ function boxPrefixQuery(parts) {
857
+ return "anonymous=0&actid=100&platform=0&" + joinQuery(parts);
1218
858
  }
1219
- function create_if_block_3$7(ctx) {
1220
- let div;
1221
- let t0;
1222
- let t1_value = (
1223
- /*giftItem*/
1224
- ctx[7].unitText + ""
1225
- );
1226
- let t1;
1227
- let if_block = (
1228
- /*giftItem*/
1229
- ctx[7].picIcon && create_if_block_4$6(ctx)
1230
- );
1231
- return {
1232
- c() {
1233
- div = element("div");
1234
- if (if_block) if_block.c();
1235
- t0 = space();
1236
- t1 = text(t1_value);
1237
- attr(div, "class", "giftbar-item-unit");
1238
- },
1239
- m(target, anchor) {
1240
- insert(target, div, anchor);
1241
- if (if_block) if_block.m(div, null);
1242
- append(div, t0);
1243
- append(div, t1);
1244
- },
1245
- p(ctx2, dirty) {
1246
- if (
1247
- /*giftItem*/
1248
- ctx2[7].picIcon
1249
- ) {
1250
- if (if_block) {
1251
- if_block.p(ctx2, dirty);
1252
- } else {
1253
- if_block = create_if_block_4$6(ctx2);
1254
- if_block.c();
1255
- if_block.m(div, t0);
1256
- }
1257
- } else if (if_block) {
1258
- if_block.d(1);
1259
- if_block = null;
1260
- }
1261
- if (dirty & /*gifts*/
1262
- 1 && t1_value !== (t1_value = /*giftItem*/
1263
- ctx2[7].unitText + "")) set_data(t1, t1_value);
1264
- },
1265
- d(detaching) {
1266
- if (detaching) {
1267
- detach(div);
1268
- }
1269
- if (if_block) if_block.d();
1270
- }
1271
- };
859
+ function platformPrefixQuery(parts) {
860
+ return "platform=0&" + joinQuery(parts);
1272
861
  }
1273
- function create_if_block_4$6(ctx) {
1274
- let img;
1275
- let img_class_value;
1276
- let img_src_value;
1277
- return {
1278
- c() {
1279
- img = element("img");
1280
- attr(img, "class", img_class_value = /*giftItem*/
1281
- ctx[7].isCrystal ? "is-crystal" : "");
1282
- if (!src_url_equal(img.src, img_src_value = /*giftItem*/
1283
- ctx[7].picIcon)) attr(img, "src", img_src_value);
1284
- attr(img, "alt", "");
862
+ function getCrystalBlindBoxBaseUrl() {
863
+ if (options.isChatTest) {
864
+ return "https://act-test.tuwan.com/cdn/s1season-box.html";
865
+ }
866
+ const host = window.location.host || "";
867
+ const actHost = host.indexOf("diandiankaihei.com") > -1 ? "act.diandiankaihei.com" : "act.tuwan.com";
868
+ return "https://" + actHost + "/cdn/s1season-box.html";
869
+ }
870
+ function getCrystalBlindBoxUrl(cid, giftId, navid) {
871
+ const base = getCrystalBlindBoxBaseUrl();
872
+ if (isImSource()) {
873
+ return base + "?giftId=" + giftId + "&navid=" + navid;
874
+ }
875
+ return base + "?cid=" + cid + "&giftId=" + giftId;
876
+ }
877
+ const TAB_PACKAGE = 3;
878
+ const TAB_CRYSTAL = 7;
879
+ const PACKAGE_TAB_IDS = [TAB_PACKAGE, TAB_CRYSTAL];
880
+ const MAGIC_GIFT_IDS = [866, 873, 1583, 155, 156];
881
+ const NO_WHOLE_WHEAT_GIFT_IDS = [37, 9, 10, 55, 1293];
882
+ const CRYSTAL_IMG = "https://asset.tuwan.com/chatroom/images/icon_new_crystal.png";
883
+ const ZHUANSHI_IMG = "https://res.tuwan.com/templet/play/public/images/zuanshi.png";
884
+ const EMPTY_BAG_IMG = "https://asset.tuwan.com/images/chartRoomNoGift.png";
885
+ const DEFAULT_MAGIC_TIP_LINK = "https://y.tuwan.com/activities/900325Cdc25ee#/";
886
+ const DEFAULT_CRYSTAL_TIP_LINK = "https://y.tuwan.com/activity/340Cb43562?v=1703303588331#/";
887
+ const IM_DEFAULT_MAGIC_TIP_LINK = "https://y.tuwan.com/activity/36C33a2de?v=1656553263108#/";
888
+ function isPackageTab(tabId) {
889
+ return PACKAGE_TAB_IDS.indexOf(Number(tabId)) > -1;
890
+ }
891
+ function getVipLevelUrl() {
892
+ return "https://y" + (options.isChatTest ? "-test" : "") + ".tuwan.com/vip_level";
893
+ }
894
+ function getNobilityUrl() {
895
+ return "https://y" + (options.isChatTest ? "-test" : "") + ".tuwan.com/levelm";
896
+ }
897
+ function getEmptyBagImg() {
898
+ return EMPTY_BAG_IMG;
899
+ }
900
+ function nrTobr(desc) {
901
+ if (!desc || typeof desc !== "string") {
902
+ return "";
903
+ }
904
+ return desc.replace(/\r\n/g, "<br>").replace(/\n/g, "<br>");
905
+ }
906
+ function formatBoxtitle(text2) {
907
+ if (!text2 || typeof text2 !== "string") {
908
+ return "";
909
+ }
910
+ const arr = text2.split("有机会获得");
911
+ if (arr.length > 1) {
912
+ return '有机会获得<span style="color:#ff6691;">' + arr[1] + "</span>";
913
+ }
914
+ return "";
915
+ }
916
+ function formatMoney(money, location2) {
917
+ const value = money * 1;
918
+ if (isNaN(value)) {
919
+ return money == null ? "" : String(money);
920
+ }
921
+ if (location2) {
922
+ if (value >= 1e4) {
923
+ return (value / 1e4).toFixed(2) + "w";
924
+ }
925
+ const moneyStr = value.toFixed(2) + "";
926
+ if (moneyStr.indexOf(".") === 4) {
927
+ return parseInt(String(value), 10);
928
+ }
929
+ return value.toFixed(2);
930
+ }
931
+ return value >= 1e4 ? (value / 1e4).toFixed(2) + "w" : parseInt(String(value), 10);
932
+ }
933
+ function stripHonorName(nickname) {
934
+ if (!nickname || typeof nickname !== "string") {
935
+ return nickname || "";
936
+ }
937
+ const marks = ["♕", "♚", "♔", "☬"];
938
+ for (let i = 0; i < marks.length; i++) {
939
+ if (nickname.indexOf(marks[i]) > -1) {
940
+ const part = nickname.split(marks[i])[1] || "";
941
+ return part || nickname;
942
+ }
943
+ }
944
+ return nickname;
945
+ }
946
+ function isIframeBlindBox(gift, tabId) {
947
+ return Number(tabId) === TAB_CRYSTAL && Number(gift && gift.type) === 24 && Number(gift && gift.worth) === 3;
948
+ }
949
+ function isBlindBoxModalGift(gift, tabId) {
950
+ const navid = Number(tabId);
951
+ const type = Number(gift && gift.type);
952
+ const id = Number(gift && gift.id);
953
+ const worth = Number(gift && gift.worth);
954
+ if (type !== 24 || id <= 1218) {
955
+ return false;
956
+ }
957
+ if (isImSource()) {
958
+ if (navid !== TAB_PACKAGE && navid !== TAB_CRYSTAL) {
959
+ return false;
960
+ }
961
+ return worth !== 3;
962
+ }
963
+ return navid === TAB_PACKAGE;
964
+ }
965
+ function canSendToSelf(gift, tabId) {
966
+ return Number(tabId) === TAB_PACKAGE && Number(gift && gift.type) === 7 || Number(gift && gift.id) === 383;
967
+ }
968
+ function allowEmptyWheat(gift, tabId) {
969
+ const type = Number(gift && gift.type);
970
+ const navid = Number(tabId);
971
+ return navid === TAB_PACKAGE && type === 7 || navid === TAB_CRYSTAL && type === 7 || navid === TAB_PACKAGE && type === 24;
972
+ }
973
+ function getGiftButtonStatus(gift, tabId, isSend) {
974
+ const empty2 = { send: false, open: false, use: false, sendLabel: "赠送" };
975
+ if (!gift) {
976
+ return { send: true, open: false, use: false, sendLabel: "赠送" };
977
+ }
978
+ const id = Number(gift.id);
979
+ const type = Number(gift.type);
980
+ const worth = Number(gift.worth);
981
+ const touid = Number(gift.to_uid || 0);
982
+ const navid = Number(tabId);
983
+ if (type === 29) {
984
+ if (isImSource()) {
985
+ return { ...empty2, send: true };
986
+ }
987
+ return { ...empty2, use: true };
988
+ }
989
+ if (navid === TAB_PACKAGE || navid === TAB_CRYSTAL) {
990
+ if (isImSource() && type === 24 && worth === 3 && navid !== TAB_CRYSTAL) {
991
+ return { ...empty2, send: true };
992
+ }
993
+ if (id === 383 || id === 873) {
994
+ return { ...empty2, open: true };
995
+ }
996
+ if (id === 866 || id === 1583) {
997
+ return { ...empty2, open: true, send: isImSource() ? false : Number(isSend) === 1 };
998
+ }
999
+ if (isImSource() && (id === 155 || id === 156)) {
1000
+ return { ...empty2, open: true };
1001
+ }
1002
+ if (id === 384 || id === 389) {
1003
+ return { ...empty2, use: true };
1004
+ }
1005
+ if (type === 7 || type === 24) {
1006
+ return { ...empty2, open: true };
1007
+ }
1008
+ if (type === 16) {
1009
+ return touid === 0 ? { ...empty2, use: true } : { ...empty2, send: true };
1010
+ }
1011
+ if (type === 37) {
1012
+ return { ...empty2, send: true, sendLabel: "使用" };
1013
+ }
1014
+ return { ...empty2, send: true };
1015
+ }
1016
+ if (type === 37) {
1017
+ return { ...empty2, send: true, sendLabel: "使用" };
1018
+ }
1019
+ return { ...empty2, send: true };
1020
+ }
1021
+ function getSelectUiState(gift, tabId, isSend) {
1022
+ const buttons = getGiftButtonStatus(gift, tabId, isSend);
1023
+ const effectiveIsSend = buttons.send && buttons.open ? isSend : buttons.send ? 1 : 0;
1024
+ const state = {
1025
+ countLocked: false,
1026
+ showCountArrow: true,
1027
+ recipient: "user",
1028
+ showSendLabel: true,
1029
+ boxTitleHtml: "",
1030
+ sendLabel: buttons.sendLabel,
1031
+ buttons
1032
+ };
1033
+ if (!gift) {
1034
+ return state;
1035
+ }
1036
+ const id = Number(gift.id);
1037
+ const type = Number(gift.type);
1038
+ const navid = Number(tabId);
1039
+ const touid = Number(gift.to_uid || 0);
1040
+ const worth = Number(gift.worth);
1041
+ if (type === 30) {
1042
+ state.recipient = "room";
1043
+ return state;
1044
+ }
1045
+ if (type === 37) {
1046
+ state.countLocked = true;
1047
+ state.showCountArrow = false;
1048
+ state.showSendLabel = false;
1049
+ state.recipient = "giftTitle";
1050
+ return state;
1051
+ }
1052
+ if (id === 866 || id === 1583) {
1053
+ if (Number(effectiveIsSend) === 1) {
1054
+ state.recipient = "user";
1055
+ } else {
1056
+ state.recipient = "box";
1057
+ state.boxTitleHtml = formatBoxtitle(gift.intro);
1058
+ }
1059
+ return state;
1060
+ }
1061
+ if (id === 368) {
1062
+ state.recipient = "none";
1063
+ return state;
1064
+ }
1065
+ if (id === 389) {
1066
+ state.recipient = "box";
1067
+ state.boxTitleHtml = '礼包价值:<span style="color:#ff6691;">' + gift.price / 100 + "点点币</span>";
1068
+ return state;
1069
+ }
1070
+ if (navid === TAB_CRYSTAL && type === 7 || navid === TAB_PACKAGE && type === 7 || id === 873) {
1071
+ state.recipient = "box";
1072
+ state.boxTitleHtml = formatBoxtitle(gift.intro);
1073
+ return state;
1074
+ }
1075
+ if (type === 16) {
1076
+ state.recipient = touid === 0 ? "none" : "user";
1077
+ return state;
1078
+ }
1079
+ if (navid === TAB_CRYSTAL && type === 24 && worth === 3) {
1080
+ state.recipient = "user";
1081
+ return state;
1082
+ }
1083
+ if (navid === TAB_PACKAGE && type === 24) {
1084
+ state.recipient = "box";
1085
+ state.boxTitleHtml = formatBoxtitle(gift.intro);
1086
+ return state;
1087
+ }
1088
+ return state;
1089
+ }
1090
+ function getTipState(gift, tabId) {
1091
+ const navid = Number(tabId);
1092
+ if (isImSource()) {
1093
+ if (!gift) {
1094
+ return { kind: "hidden", text: "", link: "", img: "" };
1095
+ }
1096
+ const type2 = Number(gift.type);
1097
+ const id = Number(gift.id);
1098
+ if (type2 === 24 && (id <= 1218 || gift.explain_url)) {
1099
+ return {
1100
+ kind: "box",
1101
+ text: "礼盒礼物说明",
1102
+ link: id > 1218 ? gift.explain_url : "https://y.tuwan.com/activity/575C87d860?giftId=" + gift.id,
1103
+ img: gift.pic || ""
1104
+ };
1105
+ }
1106
+ if (gift.explain_url) {
1107
+ return {
1108
+ kind: "magic",
1109
+ text: navid === TAB_CRYSTAL ? "紫晶魔法说明" : "魔法礼物说明",
1110
+ link: gift.explain_url,
1111
+ img: ""
1112
+ };
1113
+ }
1114
+ if (navid === TAB_CRYSTAL) {
1115
+ return {
1116
+ kind: "magic",
1117
+ text: "紫晶魔法说明",
1118
+ link: DEFAULT_CRYSTAL_TIP_LINK,
1119
+ img: ""
1120
+ };
1121
+ }
1122
+ return {
1123
+ kind: "magic",
1124
+ text: "魔法礼物说明",
1125
+ link: IM_DEFAULT_MAGIC_TIP_LINK,
1126
+ img: ""
1127
+ };
1128
+ }
1129
+ const tabDefault = navid === TAB_CRYSTAL ? { kind: "magic", text: "紫晶魔法说明", link: DEFAULT_CRYSTAL_TIP_LINK, img: "" } : { kind: "magic", text: "魔法礼物说明", link: DEFAULT_MAGIC_TIP_LINK, img: "" };
1130
+ if (!gift) {
1131
+ return tabDefault;
1132
+ }
1133
+ const type = Number(gift.type);
1134
+ const worth = Number(gift.worth);
1135
+ if (type === 30 || type === 31 || type === 32) {
1136
+ return { kind: "vip", text: "VIP财富等级", link: getVipLevelUrl(), img: "" };
1137
+ }
1138
+ if (type === 37) {
1139
+ return tabDefault;
1140
+ }
1141
+ if (type === 24 && worth === 3 && navid !== TAB_PACKAGE && navid !== TAB_CRYSTAL) {
1142
+ return {
1143
+ kind: "magic",
1144
+ text: "魔法礼物说明",
1145
+ link: gift.explain_url || DEFAULT_MAGIC_TIP_LINK,
1146
+ img: ""
1147
+ };
1148
+ }
1149
+ if (type === 24) {
1150
+ if (gift.explain_url) {
1151
+ return {
1152
+ kind: "box",
1153
+ text: "礼盒礼物说明",
1154
+ link: gift.explain_url,
1155
+ img: gift.pic || ""
1156
+ };
1157
+ }
1158
+ return {
1159
+ kind: "magic",
1160
+ text: "魔法礼物说明",
1161
+ link: DEFAULT_MAGIC_TIP_LINK,
1162
+ img: ""
1163
+ };
1164
+ }
1165
+ if (gift.explain_url) {
1166
+ return {
1167
+ kind: "magic",
1168
+ text: "魔法礼物说明",
1169
+ link: gift.explain_url,
1170
+ img: ""
1171
+ };
1172
+ }
1173
+ return tabDefault;
1174
+ }
1175
+ function isMagicGift(gift, tabId) {
1176
+ const id = Number(gift && gift.id);
1177
+ const navid = Number(tabId);
1178
+ if (isImSource()) {
1179
+ if (navid !== TAB_PACKAGE && navid !== TAB_CRYSTAL) {
1180
+ return false;
1181
+ }
1182
+ if (Number(gift && gift.type) === 24 && Number(gift && gift.worth) === 3) {
1183
+ return false;
1184
+ }
1185
+ if (Number(gift && gift.type) === 24 && id > 1218) {
1186
+ return false;
1187
+ }
1188
+ return MAGIC_GIFT_IDS.indexOf(id) > -1;
1189
+ }
1190
+ if (id === 866 || id === 873 || id === 1583) {
1191
+ return true;
1192
+ }
1193
+ return navid === TAB_PACKAGE && (id === 155 || id === 156);
1194
+ }
1195
+ function getSelectHostEffect(gift, tabId) {
1196
+ if (!gift) {
1197
+ return "";
1198
+ }
1199
+ const id = Number(gift.id);
1200
+ const type = Number(gift.type);
1201
+ if (id === 368 || id === 389) {
1202
+ return "click";
1203
+ }
1204
+ if (id === 383) {
1205
+ return "";
1206
+ }
1207
+ if (type === 16 && Number(gift.to_uid || 0) === 0) {
1208
+ return "click";
1209
+ }
1210
+ if (type === 1e4) {
1211
+ return "click";
1212
+ }
1213
+ if (type === 29) {
1214
+ if (isImSource()) {
1215
+ return "";
1216
+ }
1217
+ return "pardon";
1218
+ }
1219
+ return "";
1220
+ }
1221
+ function resolveFooterAction(action, gift, tabId, selectedUser) {
1222
+ if (!gift || !gift.id) {
1223
+ return { kind: "alert", message: "请选择一个礼物" };
1224
+ }
1225
+ const id = Number(gift.id);
1226
+ const type = Number(gift.type);
1227
+ const navid = Number(tabId);
1228
+ const touid = Number(gift.to_uid || 0);
1229
+ const uid = selectedUser ? Number(selectedUser.uid) : 0;
1230
+ if (action === "use") {
1231
+ if (type === 29) {
1232
+ if (isImSource()) {
1233
+ return { kind: "pay", payAction: "send" };
1234
+ }
1235
+ return { kind: "pardon" };
1236
+ }
1237
+ if (id === 389) {
1238
+ return { kind: "hostClick" };
1239
+ }
1240
+ if (type === 16 && touid === 0) {
1241
+ return { kind: "hostClick" };
1242
+ }
1243
+ return { kind: "pay", payAction: "send" };
1244
+ }
1245
+ if (action === "send") {
1246
+ if (Number(gift.question_gift) === 1) {
1247
+ return { kind: "question" };
1248
+ }
1249
+ if (type === 30 || type === 37) {
1250
+ return { kind: "hostUse" };
1251
+ }
1252
+ if (id === 1293 && uid === 0) {
1253
+ return { kind: "alert", message: "该礼物不能赠送全麦" };
1254
+ }
1255
+ return { kind: "pay", payAction: "send" };
1256
+ }
1257
+ if (isIframeBlindBox(gift, navid)) {
1258
+ return { kind: "iframe" };
1259
+ }
1260
+ if (isBlindBoxModalGift(gift, navid)) {
1261
+ return { kind: "blindBox" };
1262
+ }
1263
+ if (isMagicGift(gift, navid)) {
1264
+ return { kind: "magic" };
1265
+ }
1266
+ if (id === 383) {
1267
+ return { kind: "hostClick" };
1268
+ }
1269
+ if (id === 368 || id === 389) {
1270
+ return { kind: "hostClick" };
1271
+ }
1272
+ if (type === 16 && touid === 0) {
1273
+ return { kind: "hostClick" };
1274
+ }
1275
+ return { kind: "pay", payAction: "open" };
1276
+ }
1277
+ let guidIdx = 0;
1278
+ function nextGuid(navid, id, index) {
1279
+ if (index !== void 0 && index !== null) {
1280
+ return "giftbar_" + navid + "_" + id + "_" + index;
1281
+ }
1282
+ guidIdx += 1;
1283
+ return "giftbar_" + navid + "_" + id + "_" + guidIdx;
1284
+ }
1285
+ function transformShopGift(navid, temp, index) {
1286
+ const worth = Number(temp.worth);
1287
+ temp.picIcon = worth === 3 ? CRYSTAL_IMG : ZHUANSHI_IMG;
1288
+ temp.isCrystal = worth === 3;
1289
+ temp.unitText = temp.diamond + (worth === 3 ? "紫晶" : "钻");
1290
+ temp.unitText2 = "";
1291
+ if (temp.worth === void 0) {
1292
+ temp.worth = 0;
1293
+ }
1294
+ temp.atitle = temp.intro && temp.intro !== " " ? nrTobr(temp.intro) : "";
1295
+ temp.guid = nextGuid(navid, temp.id, index);
1296
+ }
1297
+ function transformBagGift(navid, temp, index) {
1298
+ const type = Number(temp.type);
1299
+ const worth = Number(temp.worth);
1300
+ const id = Number(temp.id);
1301
+ const num = temp.num;
1302
+ const price = temp.price;
1303
+ const priority = Number(temp.priority_display) || 0;
1304
+ temp.picIcon = "";
1305
+ temp.unitText = "";
1306
+ temp.unitText2 = "";
1307
+ temp.isCrystal = false;
1308
+ if (type === 24 && worth === 3) {
1309
+ if (priority > 0) {
1310
+ temp.picIcon = CRYSTAL_IMG;
1311
+ temp.isCrystal = true;
1312
+ temp.unitText = String(price / 10);
1313
+ } else {
1314
+ temp.unitText2 = "x" + num;
1315
+ }
1316
+ } else if (Number(navid) === TAB_CRYSTAL && type === 7) {
1317
+ temp.picIcon = CRYSTAL_IMG;
1318
+ temp.isCrystal = true;
1319
+ temp.unitText = String(price / 10);
1320
+ } else {
1321
+ let giftNum = "";
1322
+ if (type === 7 || Number(navid) === TAB_PACKAGE && priority > 0) {
1323
+ giftNum = price / 10 + "钻";
1324
+ } else {
1325
+ giftNum = "x" + num;
1326
+ }
1327
+ if (Number(navid) === TAB_PACKAGE && priority > 0) {
1328
+ temp.picIcon = ZHUANSHI_IMG;
1329
+ temp.unitText = giftNum;
1330
+ } else if (id === 155 || id === 156) {
1331
+ temp.picIcon = ZHUANSHI_IMG;
1332
+ temp.unitText = giftNum;
1333
+ } else {
1334
+ temp.unitText2 = giftNum;
1335
+ }
1336
+ }
1337
+ if (temp.worth === void 0) {
1338
+ temp.worth = 0;
1339
+ }
1340
+ temp.atitle = temp.intro && temp.intro !== " " ? nrTobr(temp.intro) : "";
1341
+ temp.guid = nextGuid(navid, temp.id, index);
1342
+ }
1343
+ function create_fragment$s(ctx) {
1344
+ let div1;
1345
+ let div0;
1346
+ let iframe;
1347
+ let iframe_src_value;
1348
+ let mounted;
1349
+ let dispose;
1350
+ return {
1351
+ c() {
1352
+ div1 = element("div");
1353
+ div0 = element("div");
1354
+ iframe = element("iframe");
1355
+ attr(iframe, "title", "blind-box");
1356
+ if (!src_url_equal(iframe.src, iframe_src_value = /*url*/
1357
+ ctx[0])) attr(iframe, "src", iframe_src_value);
1358
+ attr(
1359
+ iframe,
1360
+ "width",
1361
+ /*width*/
1362
+ ctx[1]
1363
+ );
1364
+ attr(
1365
+ iframe,
1366
+ "height",
1367
+ /*height*/
1368
+ ctx[2]
1369
+ );
1370
+ attr(iframe, "frameborder", "0");
1371
+ attr(
1372
+ iframe,
1373
+ "allow",
1374
+ /*iframeAllow*/
1375
+ ctx[5]
1376
+ );
1377
+ attr(iframe, "class", "svelte-1ma5gxj");
1378
+ attr(div0, "role", "presentation");
1379
+ attr(div0, "class", "giftbar-iframe-wrap svelte-1ma5gxj");
1380
+ set_style(
1381
+ div0,
1382
+ "width",
1383
+ /*width*/
1384
+ ctx[1] + "px"
1385
+ );
1386
+ set_style(
1387
+ div0,
1388
+ "height",
1389
+ /*height*/
1390
+ ctx[2] + "px"
1391
+ );
1392
+ attr(
1393
+ div1,
1394
+ "id",
1395
+ /*iframeId*/
1396
+ ctx[3]
1397
+ );
1398
+ attr(div1, "class", "giftbar-iframe-mask svelte-1ma5gxj");
1399
+ attr(div1, "role", "presentation");
1285
1400
  },
1286
1401
  m(target, anchor) {
1287
- insert(target, img, anchor);
1402
+ insert(target, div1, anchor);
1403
+ append(div1, div0);
1404
+ append(div0, iframe);
1405
+ ctx[11](iframe);
1406
+ if (!mounted) {
1407
+ dispose = [
1408
+ listen(div0, "click", stop_propagation(
1409
+ /*click_handler*/
1410
+ ctx[10]
1411
+ )),
1412
+ listen(div1, "click", stop_propagation(
1413
+ /*onMaskClick*/
1414
+ ctx[6]
1415
+ ))
1416
+ ];
1417
+ mounted = true;
1418
+ }
1288
1419
  },
1289
- p(ctx2, dirty) {
1290
- if (dirty & /*gifts*/
1291
- 1 && img_class_value !== (img_class_value = /*giftItem*/
1292
- ctx2[7].isCrystal ? "is-crystal" : "")) {
1293
- attr(img, "class", img_class_value);
1420
+ p(ctx2, [dirty]) {
1421
+ if (dirty & /*url*/
1422
+ 1 && !src_url_equal(iframe.src, iframe_src_value = /*url*/
1423
+ ctx2[0])) {
1424
+ attr(iframe, "src", iframe_src_value);
1425
+ }
1426
+ if (dirty & /*width*/
1427
+ 2) {
1428
+ attr(
1429
+ iframe,
1430
+ "width",
1431
+ /*width*/
1432
+ ctx2[1]
1433
+ );
1294
1434
  }
1295
- if (dirty & /*gifts*/
1296
- 1 && !src_url_equal(img.src, img_src_value = /*giftItem*/
1297
- ctx2[7].picIcon)) {
1298
- attr(img, "src", img_src_value);
1435
+ if (dirty & /*height*/
1436
+ 4) {
1437
+ attr(
1438
+ iframe,
1439
+ "height",
1440
+ /*height*/
1441
+ ctx2[2]
1442
+ );
1443
+ }
1444
+ if (dirty & /*iframeAllow*/
1445
+ 32) {
1446
+ attr(
1447
+ iframe,
1448
+ "allow",
1449
+ /*iframeAllow*/
1450
+ ctx2[5]
1451
+ );
1452
+ }
1453
+ if (dirty & /*width*/
1454
+ 2) {
1455
+ set_style(
1456
+ div0,
1457
+ "width",
1458
+ /*width*/
1459
+ ctx2[1] + "px"
1460
+ );
1461
+ }
1462
+ if (dirty & /*height*/
1463
+ 4) {
1464
+ set_style(
1465
+ div0,
1466
+ "height",
1467
+ /*height*/
1468
+ ctx2[2] + "px"
1469
+ );
1470
+ }
1471
+ if (dirty & /*iframeId*/
1472
+ 8) {
1473
+ attr(
1474
+ div1,
1475
+ "id",
1476
+ /*iframeId*/
1477
+ ctx2[3]
1478
+ );
1299
1479
  }
1300
1480
  },
1481
+ i: noop,
1482
+ o: noop,
1301
1483
  d(detaching) {
1302
1484
  if (detaching) {
1303
- detach(img);
1485
+ detach(div1);
1304
1486
  }
1487
+ ctx[11](null);
1488
+ mounted = false;
1489
+ run_all(dispose);
1305
1490
  }
1306
1491
  };
1307
1492
  }
1308
- function create_if_block_2$b(ctx) {
1309
- let div;
1310
- let t_value = (
1311
- /*giftItem*/
1312
- ctx[7].unitText2 + ""
1493
+ function instance$s($$self, $$props, $$invalidate) {
1494
+ let iframeAllow;
1495
+ let { closeModal } = $$props;
1496
+ let { url = "" } = $$props;
1497
+ let { width = 400 } = $$props;
1498
+ let { height = 585 } = $$props;
1499
+ let { onRefreshHaveGift = null } = $$props;
1500
+ let { iframeId = "" } = $$props;
1501
+ let { closeOnMask = false } = $$props;
1502
+ let frameEl;
1503
+ let closed = false;
1504
+ function onMaskClick() {
1505
+ if (closeOnMask) {
1506
+ handleClose();
1507
+ return;
1508
+ }
1509
+ tryCloseIframe();
1510
+ }
1511
+ function tryCloseIframe() {
1512
+ if (!frameEl || !frameEl.contentWindow) {
1513
+ return;
1514
+ }
1515
+ frameEl.contentWindow.postMessage(
1516
+ {
1517
+ channel: "common_iframe",
1518
+ type: "tryClose",
1519
+ data: { iframeId }
1520
+ },
1521
+ "*"
1522
+ );
1523
+ }
1524
+ function handleClose() {
1525
+ if (closed) {
1526
+ return;
1527
+ }
1528
+ closed = true;
1529
+ onRefreshHaveGift && onRefreshHaveGift();
1530
+ closeModal && closeModal(null, true);
1531
+ }
1532
+ function onMessage(event) {
1533
+ const data = event.data;
1534
+ if (!data) {
1535
+ return;
1536
+ }
1537
+ if (data.closeIframe || data.channel === "common_iframe" && data.type === "closeIframe") {
1538
+ if (data.id && iframeId && String(data.id) !== String(iframeId)) {
1539
+ return;
1540
+ }
1541
+ handleClose();
1542
+ return;
1543
+ }
1544
+ if (data.channel === "common_iframe" && data.type === "refreshHaveGift") {
1545
+ onRefreshHaveGift && onRefreshHaveGift();
1546
+ }
1547
+ }
1548
+ onMount(() => {
1549
+ window.addEventListener("message", onMessage);
1550
+ });
1551
+ onDestroy(() => {
1552
+ window.removeEventListener("message", onMessage);
1553
+ });
1554
+ function click_handler(event) {
1555
+ bubble.call(this, $$self, event);
1556
+ }
1557
+ function iframe_binding($$value) {
1558
+ binding_callbacks[$$value ? "unshift" : "push"](() => {
1559
+ frameEl = $$value;
1560
+ $$invalidate(4, frameEl);
1561
+ });
1562
+ }
1563
+ $$self.$$set = ($$props2) => {
1564
+ if ("closeModal" in $$props2) $$invalidate(7, closeModal = $$props2.closeModal);
1565
+ if ("url" in $$props2) $$invalidate(0, url = $$props2.url);
1566
+ if ("width" in $$props2) $$invalidate(1, width = $$props2.width);
1567
+ if ("height" in $$props2) $$invalidate(2, height = $$props2.height);
1568
+ if ("onRefreshHaveGift" in $$props2) $$invalidate(8, onRefreshHaveGift = $$props2.onRefreshHaveGift);
1569
+ if ("iframeId" in $$props2) $$invalidate(3, iframeId = $$props2.iframeId);
1570
+ if ("closeOnMask" in $$props2) $$invalidate(9, closeOnMask = $$props2.closeOnMask);
1571
+ };
1572
+ $$invalidate(5, iframeAllow = options.isChatTest ? "local-network-access 'src'" : void 0);
1573
+ return [
1574
+ url,
1575
+ width,
1576
+ height,
1577
+ iframeId,
1578
+ frameEl,
1579
+ iframeAllow,
1580
+ onMaskClick,
1581
+ closeModal,
1582
+ onRefreshHaveGift,
1583
+ closeOnMask,
1584
+ click_handler,
1585
+ iframe_binding
1586
+ ];
1587
+ }
1588
+ class IframeModal extends SvelteComponent {
1589
+ constructor(options2) {
1590
+ super();
1591
+ init(this, options2, instance$s, create_fragment$s, safe_not_equal, {
1592
+ closeModal: 7,
1593
+ url: 0,
1594
+ width: 1,
1595
+ height: 2,
1596
+ onRefreshHaveGift: 8,
1597
+ iframeId: 3,
1598
+ closeOnMask: 9
1599
+ });
1600
+ }
1601
+ }
1602
+ function showExplainIframe(url) {
1603
+ if (!url) {
1604
+ return;
1605
+ }
1606
+ const iframeId = "iframe_" + Date.now();
1607
+ const joined = url + (url.indexOf("?") >= 0 ? "&" : "?") + "eleId=" + encodeURIComponent(iframeId);
1608
+ return createModal(
1609
+ IframeModal,
1610
+ {
1611
+ url: joined,
1612
+ iframeId,
1613
+ width: 375,
1614
+ height: 700,
1615
+ closeOnMask: true
1616
+ },
1617
+ document.body
1313
1618
  );
1314
- let t;
1619
+ }
1620
+ function showNobilityIframe() {
1621
+ return showExplainIframe(getNobilityUrl());
1622
+ }
1623
+ function showIframeBlindBox({ cid, giftId, navid, onRefreshHaveGift }) {
1624
+ const iframeId = "iframe_" + Date.now();
1625
+ const base = getCrystalBlindBoxUrl(cid, giftId, navid);
1626
+ const url = base + (base.indexOf("?") >= 0 ? "&" : "?") + "eleId=" + encodeURIComponent(iframeId);
1627
+ return createModal(
1628
+ IframeModal,
1629
+ {
1630
+ url,
1631
+ iframeId,
1632
+ width: 400,
1633
+ height: 585,
1634
+ onRefreshHaveGift
1635
+ },
1636
+ document.body
1637
+ );
1638
+ }
1639
+ function get_each_context$a(ctx, list, i) {
1640
+ const child_ctx = ctx.slice();
1641
+ child_ctx[8] = list[i];
1642
+ return child_ctx;
1643
+ }
1644
+ function create_if_block_3$8(ctx) {
1645
+ let b;
1315
1646
  return {
1316
1647
  c() {
1317
- div = element("div");
1318
- t = text(t_value);
1319
- attr(div, "class", "giftbar-item-unit");
1648
+ b = element("b");
1649
+ attr(b, "class", "giftbar-tab-dot");
1320
1650
  },
1321
1651
  m(target, anchor) {
1322
- insert(target, div, anchor);
1323
- append(div, t);
1324
- },
1325
- p(ctx2, dirty) {
1326
- if (dirty & /*gifts*/
1327
- 1 && t_value !== (t_value = /*giftItem*/
1328
- ctx2[7].unitText2 + "")) set_data(t, t_value);
1652
+ insert(target, b, anchor);
1329
1653
  },
1330
1654
  d(detaching) {
1331
1655
  if (detaching) {
1332
- detach(div);
1656
+ detach(b);
1333
1657
  }
1334
1658
  }
1335
1659
  };
1336
1660
  }
1337
- function create_each_block$9(key_1, ctx) {
1338
- let div2;
1339
- let div0;
1340
- let img;
1341
- let img_class_value;
1342
- let img_src_value;
1343
- let lazyGiftImg_action;
1661
+ function create_each_block$a(key_1, ctx) {
1662
+ let div;
1663
+ let span;
1664
+ let t0_value = (
1665
+ /*item*/
1666
+ ctx[8].title + ""
1667
+ );
1344
1668
  let t0;
1345
1669
  let t1;
1346
- let div1;
1347
- let t2_value = (
1348
- /*giftItem*/
1349
- ctx[7].title + ""
1350
- );
1351
1670
  let t2;
1352
- let t3;
1353
- let t4;
1354
- let div2_id_value;
1355
- let div2_class_value;
1356
- let giftHoverTip_action;
1671
+ let div_class_value;
1357
1672
  let mounted;
1358
1673
  let dispose;
1359
- let if_block0 = (
1360
- /*giftItem*/
1361
- ctx[7].tag && create_if_block_5$5(ctx)
1362
- );
1363
- let if_block1 = (
1364
- /*giftItem*/
1365
- ctx[7].unitText && create_if_block_3$7(ctx)
1366
- );
1367
- let if_block2 = (
1368
- /*giftItem*/
1369
- ctx[7].unitText2 && create_if_block_2$b(ctx)
1370
- );
1371
- function click_handler() {
1372
- return (
1373
- /*click_handler*/
1374
- ctx[6](
1375
- /*giftItem*/
1376
- ctx[7]
1377
- )
1378
- );
1379
- }
1380
- return {
1381
- key: key_1,
1382
- first: null,
1383
- c() {
1384
- div2 = element("div");
1385
- div0 = element("div");
1386
- img = element("img");
1387
- t0 = space();
1388
- if (if_block0) if_block0.c();
1389
- t1 = space();
1390
- div1 = element("div");
1391
- t2 = text(t2_value);
1392
- t3 = space();
1393
- if (if_block1) if_block1.c();
1394
- t4 = space();
1395
- if (if_block2) if_block2.c();
1396
- attr(img, "class", img_class_value = "giftbar-item-pic " + /*animGuid*/
1397
- (ctx[3] === /*giftItem*/
1398
- ctx[7].guid ? "gift-select-animation" : ""));
1399
- if (!src_url_equal(img.src, img_src_value = GIFT_IMG_PLACEHOLDER)) attr(img, "src", img_src_value);
1400
- attr(img, "alt", "");
1401
- attr(img, "decoding", "async");
1402
- attr(img, "loading", "lazy");
1403
- set_style(div0, "position", "relative");
1404
- attr(div1, "class", "giftbar-item-title");
1405
- attr(div2, "id", div2_id_value = /*giftItem*/
1406
- ctx[7].guid);
1407
- attr(div2, "class", div2_class_value = "giftbar-item " + /*selectGift*/
1408
- (ctx[1] === /*giftItem*/
1409
- ctx[7] ? "giftbar-item-on" : ""));
1410
- attr(div2, "role", "presentation");
1411
- this.first = div2;
1674
+ let if_block = (
1675
+ /*item*/
1676
+ ctx[8].is_new == 1 && create_if_block_3$8()
1677
+ );
1678
+ function click_handler() {
1679
+ return (
1680
+ /*click_handler*/
1681
+ ctx[7](
1682
+ /*item*/
1683
+ ctx[8]
1684
+ )
1685
+ );
1686
+ }
1687
+ return {
1688
+ key: key_1,
1689
+ first: null,
1690
+ c() {
1691
+ div = element("div");
1692
+ span = element("span");
1693
+ t0 = text(t0_value);
1694
+ t1 = space();
1695
+ if (if_block) if_block.c();
1696
+ t2 = space();
1697
+ attr(div, "class", div_class_value = "giftbar-tab " + /*item*/
1698
+ (ctx[8].id == /*tabId*/
1699
+ ctx[1] ? "giftbar-tab-on" : ""));
1700
+ attr(div, "role", "presentation");
1701
+ this.first = div;
1412
1702
  },
1413
1703
  m(target, anchor) {
1414
- insert(target, div2, anchor);
1415
- append(div2, div0);
1416
- append(div0, img);
1417
- append(div0, t0);
1418
- if (if_block0) if_block0.m(div0, null);
1419
- append(div2, t1);
1420
- append(div2, div1);
1421
- append(div1, t2);
1422
- append(div2, t3);
1423
- if (if_block1) if_block1.m(div2, null);
1424
- append(div2, t4);
1425
- if (if_block2) if_block2.m(div2, null);
1704
+ insert(target, div, anchor);
1705
+ append(div, span);
1706
+ append(span, t0);
1707
+ append(div, t1);
1708
+ if (if_block) if_block.m(div, null);
1709
+ append(div, t2);
1426
1710
  if (!mounted) {
1427
- dispose = [
1428
- action_destroyer(lazyGiftImg_action = lazyGiftImg.call(null, img, giftListThumbUrl(
1429
- /*giftItem*/
1430
- ctx[7].pic
1431
- ))),
1432
- action_destroyer(giftHoverTip_action = giftHoverTip.call(
1433
- null,
1434
- div2,
1435
- /*giftItem*/
1436
- ctx[7].atitle || ""
1437
- )),
1438
- listen(div2, "click", stop_propagation(click_handler))
1439
- ];
1711
+ dispose = listen(div, "click", stop_propagation(click_handler));
1440
1712
  mounted = true;
1441
1713
  }
1442
1714
  },
1443
1715
  p(new_ctx, dirty) {
1444
1716
  ctx = new_ctx;
1445
- if (dirty & /*animGuid, gifts*/
1446
- 9 && img_class_value !== (img_class_value = "giftbar-item-pic " + /*animGuid*/
1447
- (ctx[3] === /*giftItem*/
1448
- ctx[7].guid ? "gift-select-animation" : ""))) {
1449
- attr(img, "class", img_class_value);
1450
- }
1451
- if (lazyGiftImg_action && is_function(lazyGiftImg_action.update) && dirty & /*gifts*/
1452
- 1) lazyGiftImg_action.update.call(null, giftListThumbUrl(
1453
- /*giftItem*/
1454
- ctx[7].pic
1455
- ));
1456
- if (
1457
- /*giftItem*/
1458
- ctx[7].tag
1459
- ) {
1460
- if (if_block0) {
1461
- if_block0.p(ctx, dirty);
1462
- } else {
1463
- if_block0 = create_if_block_5$5(ctx);
1464
- if_block0.c();
1465
- if_block0.m(div0, null);
1466
- }
1467
- } else if (if_block0) {
1468
- if_block0.d(1);
1469
- if_block0 = null;
1470
- }
1471
- if (dirty & /*gifts*/
1472
- 1 && t2_value !== (t2_value = /*giftItem*/
1473
- ctx[7].title + "")) set_data(t2, t2_value);
1474
- if (
1475
- /*giftItem*/
1476
- ctx[7].unitText
1477
- ) {
1478
- if (if_block1) {
1479
- if_block1.p(ctx, dirty);
1480
- } else {
1481
- if_block1 = create_if_block_3$7(ctx);
1482
- if_block1.c();
1483
- if_block1.m(div2, t4);
1484
- }
1485
- } else if (if_block1) {
1486
- if_block1.d(1);
1487
- if_block1 = null;
1488
- }
1717
+ if (dirty & /*tabs*/
1718
+ 1 && t0_value !== (t0_value = /*item*/
1719
+ ctx[8].title + "")) set_data(t0, t0_value);
1489
1720
  if (
1490
- /*giftItem*/
1491
- ctx[7].unitText2
1721
+ /*item*/
1722
+ ctx[8].is_new == 1
1492
1723
  ) {
1493
- if (if_block2) {
1494
- if_block2.p(ctx, dirty);
1495
- } else {
1496
- if_block2 = create_if_block_2$b(ctx);
1497
- if_block2.c();
1498
- if_block2.m(div2, null);
1724
+ if (if_block) ;
1725
+ else {
1726
+ if_block = create_if_block_3$8();
1727
+ if_block.c();
1728
+ if_block.m(div, t2);
1499
1729
  }
1500
- } else if (if_block2) {
1501
- if_block2.d(1);
1502
- if_block2 = null;
1503
- }
1504
- if (dirty & /*gifts*/
1505
- 1 && div2_id_value !== (div2_id_value = /*giftItem*/
1506
- ctx[7].guid)) {
1507
- attr(div2, "id", div2_id_value);
1730
+ } else if (if_block) {
1731
+ if_block.d(1);
1732
+ if_block = null;
1508
1733
  }
1509
- if (dirty & /*selectGift, gifts*/
1510
- 3 && div2_class_value !== (div2_class_value = "giftbar-item " + /*selectGift*/
1511
- (ctx[1] === /*giftItem*/
1512
- ctx[7] ? "giftbar-item-on" : ""))) {
1513
- attr(div2, "class", div2_class_value);
1734
+ if (dirty & /*tabs, tabId*/
1735
+ 3 && div_class_value !== (div_class_value = "giftbar-tab " + /*item*/
1736
+ (ctx[8].id == /*tabId*/
1737
+ ctx[1] ? "giftbar-tab-on" : ""))) {
1738
+ attr(div, "class", div_class_value);
1514
1739
  }
1515
- if (giftHoverTip_action && is_function(giftHoverTip_action.update) && dirty & /*gifts*/
1516
- 1) giftHoverTip_action.update.call(
1517
- null,
1518
- /*giftItem*/
1519
- ctx[7].atitle || ""
1520
- );
1521
1740
  },
1522
1741
  d(detaching) {
1523
1742
  if (detaching) {
1524
- detach(div2);
1743
+ detach(div);
1525
1744
  }
1526
- if (if_block0) if_block0.d();
1527
- if (if_block1) if_block1.d();
1528
- if (if_block2) if_block2.d();
1745
+ if (if_block) if_block.d();
1529
1746
  mounted = false;
1530
- run_all(dispose);
1747
+ dispose();
1531
1748
  }
1532
1749
  };
1533
1750
  }
1534
- function create_if_block$n(ctx) {
1535
- let if_block_anchor;
1536
- function select_block_type(ctx2, dirty) {
1537
- if (
1538
- /*emptyImg*/
1539
- ctx2[2]
1540
- ) return create_if_block_1$k;
1541
- return create_else_block$c;
1542
- }
1543
- let current_block_type = select_block_type(ctx);
1544
- let if_block = current_block_type(ctx);
1751
+ function create_if_block_1$l(ctx) {
1752
+ let a;
1753
+ let t0;
1754
+ let t1_value = (
1755
+ /*tip*/
1756
+ ctx[2].text + ""
1757
+ );
1758
+ let t1;
1759
+ let a_href_value;
1760
+ let if_block = (
1761
+ /*tip*/
1762
+ ctx[2].img && create_if_block_2$c(ctx)
1763
+ );
1545
1764
  return {
1546
1765
  c() {
1547
- if_block.c();
1548
- if_block_anchor = empty();
1766
+ a = element("a");
1767
+ if (if_block) if_block.c();
1768
+ t0 = space();
1769
+ t1 = text(t1_value);
1770
+ attr(a, "href", a_href_value = /*tip*/
1771
+ ctx[2].link);
1772
+ attr(a, "target", "_blank");
1773
+ attr(a, "rel", "noopener noreferrer");
1549
1774
  },
1550
1775
  m(target, anchor) {
1551
- if_block.m(target, anchor);
1552
- insert(target, if_block_anchor, anchor);
1776
+ insert(target, a, anchor);
1777
+ if (if_block) if_block.m(a, null);
1778
+ append(a, t0);
1779
+ append(a, t1);
1553
1780
  },
1554
1781
  p(ctx2, dirty) {
1555
- if (current_block_type === (current_block_type = select_block_type(ctx2)) && if_block) {
1556
- if_block.p(ctx2, dirty);
1557
- } else {
1558
- if_block.d(1);
1559
- if_block = current_block_type(ctx2);
1782
+ if (
1783
+ /*tip*/
1784
+ ctx2[2].img
1785
+ ) {
1560
1786
  if (if_block) {
1787
+ if_block.p(ctx2, dirty);
1788
+ } else {
1789
+ if_block = create_if_block_2$c(ctx2);
1561
1790
  if_block.c();
1562
- if_block.m(if_block_anchor.parentNode, if_block_anchor);
1791
+ if_block.m(a, t0);
1563
1792
  }
1793
+ } else if (if_block) {
1794
+ if_block.d(1);
1795
+ if_block = null;
1796
+ }
1797
+ if (dirty & /*tip*/
1798
+ 4 && t1_value !== (t1_value = /*tip*/
1799
+ ctx2[2].text + "")) set_data(t1, t1_value);
1800
+ if (dirty & /*tip*/
1801
+ 4 && a_href_value !== (a_href_value = /*tip*/
1802
+ ctx2[2].link)) {
1803
+ attr(a, "href", a_href_value);
1564
1804
  }
1565
1805
  },
1566
1806
  d(detaching) {
1567
1807
  if (detaching) {
1568
- detach(if_block_anchor);
1808
+ detach(a);
1569
1809
  }
1570
- if_block.d(detaching);
1810
+ if (if_block) if_block.d();
1571
1811
  }
1572
1812
  };
1573
1813
  }
1574
- function create_else_block$c(ctx) {
1575
- let div;
1814
+ function create_if_block_2$c(ctx) {
1815
+ let img;
1816
+ let img_src_value;
1576
1817
  return {
1577
1818
  c() {
1578
- div = element("div");
1579
- div.textContent = "还没有礼物哦~";
1580
- attr(div, "class", "giftbar-empty");
1819
+ img = element("img");
1820
+ if (!src_url_equal(img.src, img_src_value = /*tip*/
1821
+ ctx[2].img)) attr(img, "src", img_src_value);
1822
+ attr(img, "alt", "");
1581
1823
  },
1582
1824
  m(target, anchor) {
1583
- insert(target, div, anchor);
1825
+ insert(target, img, anchor);
1826
+ },
1827
+ p(ctx2, dirty) {
1828
+ if (dirty & /*tip*/
1829
+ 4 && !src_url_equal(img.src, img_src_value = /*tip*/
1830
+ ctx2[2].img)) {
1831
+ attr(img, "src", img_src_value);
1832
+ }
1584
1833
  },
1585
- p: noop,
1586
1834
  d(detaching) {
1587
1835
  if (detaching) {
1588
- detach(div);
1836
+ detach(img);
1589
1837
  }
1590
1838
  }
1591
1839
  };
1592
1840
  }
1593
- function create_if_block_1$k(ctx) {
1594
- let img;
1595
- let img_src_value;
1841
+ function create_if_block$o(ctx) {
1842
+ let div;
1843
+ let mounted;
1844
+ let dispose;
1596
1845
  return {
1597
1846
  c() {
1598
- img = element("img");
1599
- attr(img, "class", "giftbar-empty-img");
1600
- if (!src_url_equal(img.src, img_src_value = /*emptyImg*/
1601
- ctx[2])) attr(img, "src", img_src_value);
1602
- attr(img, "alt", "");
1847
+ div = element("div");
1848
+ div.innerHTML = `<img src="https://asset.tuwan.com/officialsite/images/king.png" alt=""/> <span>贵族</span>`;
1849
+ attr(div, "class", "giftbar-nobility");
1850
+ attr(div, "role", "presentation");
1603
1851
  },
1604
1852
  m(target, anchor) {
1605
- insert(target, img, anchor);
1606
- },
1607
- p(ctx2, dirty) {
1608
- if (dirty & /*emptyImg*/
1609
- 4 && !src_url_equal(img.src, img_src_value = /*emptyImg*/
1610
- ctx2[2])) {
1611
- attr(img, "src", img_src_value);
1853
+ insert(target, div, anchor);
1854
+ if (!mounted) {
1855
+ dispose = listen(div, "click", stop_propagation(
1856
+ /*openNobility*/
1857
+ ctx[5]
1858
+ ));
1859
+ mounted = true;
1612
1860
  }
1613
1861
  },
1862
+ p: noop,
1614
1863
  d(detaching) {
1615
1864
  if (detaching) {
1616
- detach(img);
1865
+ detach(div);
1617
1866
  }
1867
+ mounted = false;
1868
+ dispose();
1618
1869
  }
1619
1870
  };
1620
1871
  }
1621
1872
  function create_fragment$r(ctx) {
1622
- let div;
1873
+ let div2;
1874
+ let div0;
1623
1875
  let each_blocks = [];
1624
1876
  let each_1_lookup = /* @__PURE__ */ new Map();
1625
- let t;
1877
+ let t0;
1878
+ let div1;
1879
+ let t1;
1626
1880
  let each_value = ensure_array_like(
1627
- /*gifts*/
1881
+ /*tabs*/
1628
1882
  ctx[0]
1629
1883
  );
1630
1884
  const get_key = (ctx2) => (
1631
- /*giftItem*/
1632
- ctx2[7].guid || /*giftItem*/
1633
- ctx2[7].id
1885
+ /*item*/
1886
+ ctx2[8].id
1634
1887
  );
1635
1888
  for (let i = 0; i < each_value.length; i += 1) {
1636
- let child_ctx = get_each_context$9(ctx, each_value, i);
1889
+ let child_ctx = get_each_context$a(ctx, each_value, i);
1637
1890
  let key = get_key(child_ctx);
1638
- each_1_lookup.set(key, each_blocks[i] = create_each_block$9(key, child_ctx));
1891
+ each_1_lookup.set(key, each_blocks[i] = create_each_block$a(key, child_ctx));
1639
1892
  }
1640
- let if_block = (
1641
- /*gifts*/
1642
- ctx[0].length === 0 && create_if_block$n(ctx)
1893
+ let if_block0 = (
1894
+ /*tip*/
1895
+ ctx[2] && /*tip*/
1896
+ ctx[2].text && /*tip*/
1897
+ ctx[2].link && /*tip*/
1898
+ ctx[2].kind !== "hidden" && create_if_block_1$l(ctx)
1899
+ );
1900
+ let if_block1 = (
1901
+ /*showNobility*/
1902
+ ctx[3] && create_if_block$o(ctx)
1643
1903
  );
1644
1904
  return {
1645
1905
  c() {
1646
- div = element("div");
1906
+ div2 = element("div");
1907
+ div0 = element("div");
1647
1908
  for (let i = 0; i < each_blocks.length; i += 1) {
1648
1909
  each_blocks[i].c();
1649
1910
  }
1650
- t = space();
1651
- if (if_block) if_block.c();
1652
- attr(div, "class", "giftbar-grid");
1911
+ t0 = space();
1912
+ div1 = element("div");
1913
+ if (if_block0) if_block0.c();
1914
+ t1 = space();
1915
+ if (if_block1) if_block1.c();
1916
+ attr(div0, "class", "giftbar-tabs");
1917
+ attr(div1, "class", "giftbar-tip");
1918
+ attr(div2, "class", "giftbar-head");
1653
1919
  },
1654
1920
  m(target, anchor) {
1655
- insert(target, div, anchor);
1921
+ insert(target, div2, anchor);
1922
+ append(div2, div0);
1656
1923
  for (let i = 0; i < each_blocks.length; i += 1) {
1657
1924
  if (each_blocks[i]) {
1658
- each_blocks[i].m(div, null);
1925
+ each_blocks[i].m(div0, null);
1659
1926
  }
1660
1927
  }
1661
- append(div, t);
1662
- if (if_block) if_block.m(div, null);
1928
+ append(div2, t0);
1929
+ append(div2, div1);
1930
+ if (if_block0) if_block0.m(div1, null);
1931
+ append(div1, t1);
1932
+ if (if_block1) if_block1.m(div1, null);
1663
1933
  },
1664
1934
  p(ctx2, [dirty]) {
1665
- if (dirty & /*gifts, selectGift, choose, animGuid*/
1666
- 27) {
1935
+ if (dirty & /*tabs, tabId, switchTab*/
1936
+ 19) {
1667
1937
  each_value = ensure_array_like(
1668
- /*gifts*/
1938
+ /*tabs*/
1669
1939
  ctx2[0]
1670
1940
  );
1671
- each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx2, each_value, each_1_lookup, div, destroy_block, create_each_block$9, t, get_each_context$9);
1941
+ each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx2, each_value, each_1_lookup, div0, destroy_block, create_each_block$a, null, get_each_context$a);
1672
1942
  }
1673
1943
  if (
1674
- /*gifts*/
1675
- ctx2[0].length === 0
1944
+ /*tip*/
1945
+ ctx2[2] && /*tip*/
1946
+ ctx2[2].text && /*tip*/
1947
+ ctx2[2].link && /*tip*/
1948
+ ctx2[2].kind !== "hidden"
1676
1949
  ) {
1677
- if (if_block) {
1678
- if_block.p(ctx2, dirty);
1950
+ if (if_block0) {
1951
+ if_block0.p(ctx2, dirty);
1679
1952
  } else {
1680
- if_block = create_if_block$n(ctx2);
1681
- if_block.c();
1682
- if_block.m(div, null);
1953
+ if_block0 = create_if_block_1$l(ctx2);
1954
+ if_block0.c();
1955
+ if_block0.m(div1, t1);
1683
1956
  }
1684
- } else if (if_block) {
1685
- if_block.d(1);
1686
- if_block = null;
1957
+ } else if (if_block0) {
1958
+ if_block0.d(1);
1959
+ if_block0 = null;
1960
+ }
1961
+ if (
1962
+ /*showNobility*/
1963
+ ctx2[3]
1964
+ ) {
1965
+ if (if_block1) {
1966
+ if_block1.p(ctx2, dirty);
1967
+ } else {
1968
+ if_block1 = create_if_block$o(ctx2);
1969
+ if_block1.c();
1970
+ if_block1.m(div1, null);
1971
+ }
1972
+ } else if (if_block1) {
1973
+ if_block1.d(1);
1974
+ if_block1 = null;
1687
1975
  }
1688
1976
  },
1689
1977
  i: noop,
1690
1978
  o: noop,
1691
1979
  d(detaching) {
1692
1980
  if (detaching) {
1693
- detach(div);
1981
+ detach(div2);
1694
1982
  }
1695
1983
  for (let i = 0; i < each_blocks.length; i += 1) {
1696
1984
  each_blocks[i].d();
1697
1985
  }
1698
- if (if_block) if_block.d();
1699
- }
1700
- };
1701
- }
1702
- function instance$r($$self, $$props, $$invalidate) {
1703
- let { gifts = [] } = $$props;
1704
- let { selectGift = null } = $$props;
1705
- let { emptyImg = "" } = $$props;
1706
- let { onClickItem } = $$props;
1707
- let animGuid = "";
1708
- function choose(item) {
1709
- $$invalidate(3, animGuid = item.guid);
1710
- onClickItem && onClickItem(item);
1711
- setTimeout(
1712
- () => {
1713
- if (animGuid === item.guid) {
1714
- $$invalidate(3, animGuid = "");
1715
- }
1716
- },
1717
- 300
1718
- );
1719
- }
1720
- const click_handler = (giftItem) => choose(giftItem);
1721
- $$self.$$set = ($$props2) => {
1722
- if ("gifts" in $$props2) $$invalidate(0, gifts = $$props2.gifts);
1723
- if ("selectGift" in $$props2) $$invalidate(1, selectGift = $$props2.selectGift);
1724
- if ("emptyImg" in $$props2) $$invalidate(2, emptyImg = $$props2.emptyImg);
1725
- if ("onClickItem" in $$props2) $$invalidate(5, onClickItem = $$props2.onClickItem);
1726
- };
1727
- return [gifts, selectGift, emptyImg, animGuid, choose, onClickItem, click_handler];
1728
- }
1729
- class GiftGrid extends SvelteComponent {
1730
- constructor(options2) {
1731
- super();
1732
- init(this, options2, instance$r, create_fragment$r, safe_not_equal, {
1733
- gifts: 0,
1734
- selectGift: 1,
1735
- emptyImg: 2,
1736
- onClickItem: 5
1737
- });
1738
- }
1739
- }
1740
- function assertSource(source) {
1741
- if (source !== "room" && source !== "im") {
1742
- throw new Error("giftBarLib source must be 'room' or 'im'");
1743
- }
1744
- }
1745
- function assertRoomPayContext(ctx) {
1746
- if (!ctx || ctx.cid === void 0 || ctx.cid === null || ctx.cid === "") {
1747
- throw new Error("source=room requires cid in getPayContext");
1748
- }
1749
- if (ctx.imuid !== void 0 || ctx.group_id !== void 0) {
1750
- throw new Error("source=room PayContext must not include imuid/group_id");
1751
- }
1752
- if (String(ctx.actid) === "101") {
1753
- throw new Error("source=room PayContext must not use actid=101");
1754
- }
1755
- }
1756
- function hasValue$3(value) {
1757
- return value !== void 0 && value !== null && value !== "";
1758
- }
1759
- function assertImPayContext(ctx) {
1760
- if (!ctx) {
1761
- throw new Error("source=im requires getPayContext");
1762
- }
1763
- if (!hasValue$3(ctx.imuid) && !hasValue$3(ctx.group_id)) {
1764
- throw new Error("source=im requires imuid or group_id in getPayContext");
1765
- }
1766
- if (hasValue$3(ctx.cid)) {
1767
- throw new Error("source=im PayContext must not include cid");
1768
- }
1769
- if (ctx.is_whole_wheat !== void 0) {
1770
- throw new Error("source=im PayContext must not include is_whole_wheat");
1771
- }
1772
- }
1773
- function getSource() {
1774
- return options.source;
1775
- }
1776
- function isImSource() {
1777
- return options.source === "im";
1778
- }
1779
- const TAB_PACKAGE = 3;
1780
- const TAB_CRYSTAL = 7;
1781
- const PACKAGE_TAB_IDS = [TAB_PACKAGE, TAB_CRYSTAL];
1782
- const MAGIC_GIFT_IDS = [866, 873, 1583, 155, 156];
1783
- const NO_WHOLE_WHEAT_GIFT_IDS = [37, 9, 10, 55, 1293];
1784
- const CRYSTAL_IMG = "https://asset.tuwan.com/chatroom/images/icon_new_crystal.png";
1785
- const ZHUANSHI_IMG = "https://res.tuwan.com/templet/play/public/images/zuanshi.png";
1786
- const EMPTY_BAG_IMG = "https://asset.tuwan.com/images/chartRoomNoGift.png";
1787
- const DEFAULT_MAGIC_TIP_LINK = "https://y.tuwan.com/activities/900325Cdc25ee#/";
1788
- const DEFAULT_CRYSTAL_TIP_LINK = "https://y.tuwan.com/activity/340Cb43562?v=1703303588331#/";
1789
- const IM_DEFAULT_MAGIC_TIP_LINK = "https://y.tuwan.com/activity/36C33a2de?v=1656553263108#/";
1790
- function isPackageTab(tabId) {
1791
- return PACKAGE_TAB_IDS.indexOf(Number(tabId)) > -1;
1792
- }
1793
- function getVipLevelUrl() {
1794
- return "https://y" + (options.isChatTest ? "-test" : "") + ".tuwan.com/vip_level";
1795
- }
1796
- function getEmptyBagImg() {
1797
- return EMPTY_BAG_IMG;
1798
- }
1799
- function nrTobr(desc) {
1800
- if (!desc || typeof desc !== "string") {
1801
- return "";
1802
- }
1803
- return desc.replace(/\r\n/g, "<br>").replace(/\n/g, "<br>");
1804
- }
1805
- function formatBoxtitle(text2) {
1806
- if (!text2 || typeof text2 !== "string") {
1807
- return "";
1808
- }
1809
- const arr = text2.split("有机会获得");
1810
- if (arr.length > 1) {
1811
- return '有机会获得<span style="color:#ff6691;">' + arr[1] + "</span>";
1812
- }
1813
- return "";
1814
- }
1815
- function formatMoney(money, location2) {
1816
- const value = money * 1;
1817
- if (isNaN(value)) {
1818
- return money == null ? "" : String(money);
1819
- }
1820
- if (location2) {
1821
- if (value >= 1e4) {
1822
- return (value / 1e4).toFixed(2) + "w";
1823
- }
1824
- const moneyStr = value.toFixed(2) + "";
1825
- if (moneyStr.indexOf(".") === 4) {
1826
- return parseInt(String(value), 10);
1827
- }
1828
- return value.toFixed(2);
1829
- }
1830
- return value >= 1e4 ? (value / 1e4).toFixed(2) + "w" : parseInt(String(value), 10);
1831
- }
1832
- function stripHonorName(nickname) {
1833
- if (!nickname || typeof nickname !== "string") {
1834
- return nickname || "";
1835
- }
1836
- const marks = ["♕", "♚", "♔", "☬"];
1837
- for (let i = 0; i < marks.length; i++) {
1838
- if (nickname.indexOf(marks[i]) > -1) {
1839
- const part = nickname.split(marks[i])[1] || "";
1840
- return part || nickname;
1841
- }
1842
- }
1843
- return nickname;
1844
- }
1845
- function isIframeBlindBox(gift, tabId) {
1846
- return Number(tabId) === TAB_CRYSTAL && Number(gift && gift.type) === 24 && Number(gift && gift.worth) === 3;
1986
+ if (if_block0) if_block0.d();
1987
+ if (if_block1) if_block1.d();
1988
+ }
1989
+ };
1847
1990
  }
1848
- function isBlindBoxModalGift(gift, tabId) {
1849
- const navid = Number(tabId);
1850
- const type = Number(gift && gift.type);
1851
- const id = Number(gift && gift.id);
1852
- const worth = Number(gift && gift.worth);
1853
- if (type !== 24 || id <= 1218) {
1854
- return false;
1991
+ function instance$r($$self, $$props, $$invalidate) {
1992
+ let { tabs = [] } = $$props;
1993
+ let { tabId = 0 } = $$props;
1994
+ let { tip = {
1995
+ kind: "magic",
1996
+ text: "",
1997
+ link: "",
1998
+ img: ""
1999
+ } } = $$props;
2000
+ let { showNobility = true } = $$props;
2001
+ let { onClickTab } = $$props;
2002
+ function switchTab(item) {
2003
+ onClickTab && onClickTab(item);
1855
2004
  }
1856
- if (isImSource()) {
1857
- if (navid !== TAB_PACKAGE && navid !== TAB_CRYSTAL) {
1858
- return false;
1859
- }
1860
- return worth !== 3;
2005
+ function openNobility(event) {
2006
+ event && event.stopPropagation && event.stopPropagation();
2007
+ showNobilityIframe();
1861
2008
  }
1862
- return navid === TAB_PACKAGE;
1863
- }
1864
- function canSendToSelf(gift, tabId) {
1865
- return Number(tabId) === TAB_PACKAGE && Number(gift && gift.type) === 7 || Number(gift && gift.id) === 383;
1866
- }
1867
- function allowEmptyWheat(gift, tabId) {
1868
- const type = Number(gift && gift.type);
1869
- const navid = Number(tabId);
1870
- return navid === TAB_PACKAGE && type === 7 || navid === TAB_CRYSTAL && type === 7 || navid === TAB_PACKAGE && type === 24;
2009
+ const click_handler = (item) => switchTab(item);
2010
+ $$self.$$set = ($$props2) => {
2011
+ if ("tabs" in $$props2) $$invalidate(0, tabs = $$props2.tabs);
2012
+ if ("tabId" in $$props2) $$invalidate(1, tabId = $$props2.tabId);
2013
+ if ("tip" in $$props2) $$invalidate(2, tip = $$props2.tip);
2014
+ if ("showNobility" in $$props2) $$invalidate(3, showNobility = $$props2.showNobility);
2015
+ if ("onClickTab" in $$props2) $$invalidate(6, onClickTab = $$props2.onClickTab);
2016
+ };
2017
+ return [
2018
+ tabs,
2019
+ tabId,
2020
+ tip,
2021
+ showNobility,
2022
+ switchTab,
2023
+ openNobility,
2024
+ onClickTab,
2025
+ click_handler
2026
+ ];
1871
2027
  }
1872
- function getGiftButtonStatus(gift, tabId, isSend) {
1873
- const empty2 = { send: false, open: false, use: false, sendLabel: "赠送" };
1874
- if (!gift) {
1875
- return { send: true, open: false, use: false, sendLabel: "赠送" };
2028
+ class GiftTabs extends SvelteComponent {
2029
+ constructor(options2) {
2030
+ super();
2031
+ init(this, options2, instance$r, create_fragment$r, safe_not_equal, {
2032
+ tabs: 0,
2033
+ tabId: 1,
2034
+ tip: 2,
2035
+ showNobility: 3,
2036
+ onClickTab: 6
2037
+ });
1876
2038
  }
1877
- const id = Number(gift.id);
1878
- const type = Number(gift.type);
1879
- const worth = Number(gift.worth);
1880
- const touid = Number(gift.to_uid || 0);
1881
- const navid = Number(tabId);
1882
- if (type === 29) {
1883
- if (isImSource()) {
1884
- return { ...empty2, send: true };
2039
+ }
2040
+ function giftHoverTip(node, html) {
2041
+ let tip = null;
2042
+ let currentHtml = html || "";
2043
+ function hide() {
2044
+ if (tip) {
2045
+ tip.remove();
2046
+ tip = null;
1885
2047
  }
1886
- return { ...empty2, use: true };
1887
2048
  }
1888
- if (navid === TAB_PACKAGE || navid === TAB_CRYSTAL) {
1889
- if (isImSource() && type === 24 && worth === 3 && navid !== TAB_CRYSTAL) {
1890
- return { ...empty2, send: true };
1891
- }
1892
- if (id === 383 || id === 873) {
1893
- return { ...empty2, open: true };
1894
- }
1895
- if (id === 866 || id === 1583) {
1896
- return { ...empty2, open: true, send: isImSource() ? false : Number(isSend) === 1 };
1897
- }
1898
- if (isImSource() && (id === 155 || id === 156)) {
1899
- return { ...empty2, open: true };
1900
- }
1901
- if (id === 384 || id === 389) {
1902
- return { ...empty2, use: true };
1903
- }
1904
- if (type === 7 || type === 24) {
1905
- return { ...empty2, open: true };
1906
- }
1907
- if (type === 16) {
1908
- return touid === 0 ? { ...empty2, use: true } : { ...empty2, send: true };
1909
- }
1910
- if (type === 37) {
1911
- return { ...empty2, send: true, sendLabel: "使用" };
2049
+ function show() {
2050
+ hide();
2051
+ if (!currentHtml) {
2052
+ return;
1912
2053
  }
1913
- return { ...empty2, send: true };
1914
- }
1915
- if (type === 37) {
1916
- return { ...empty2, send: true, sendLabel: "使用" };
1917
- }
1918
- return { ...empty2, send: true };
1919
- }
1920
- function getSelectUiState(gift, tabId, isSend) {
1921
- const buttons = getGiftButtonStatus(gift, tabId, isSend);
1922
- const effectiveIsSend = buttons.send && buttons.open ? isSend : buttons.send ? 1 : 0;
1923
- const state = {
1924
- countLocked: false,
1925
- showCountArrow: true,
1926
- recipient: "user",
1927
- showSendLabel: true,
1928
- boxTitleHtml: "",
1929
- sendLabel: buttons.sendLabel,
1930
- buttons
1931
- };
1932
- if (!gift) {
1933
- return state;
1934
- }
1935
- const id = Number(gift.id);
1936
- const type = Number(gift.type);
1937
- const navid = Number(tabId);
1938
- const touid = Number(gift.to_uid || 0);
1939
- const worth = Number(gift.worth);
1940
- if (type === 30) {
1941
- state.recipient = "room";
1942
- return state;
1943
- }
1944
- if (type === 37) {
1945
- state.countLocked = true;
1946
- state.showCountArrow = false;
1947
- state.showSendLabel = false;
1948
- state.recipient = "giftTitle";
1949
- return state;
2054
+ tip = document.createElement("div");
2055
+ tip.className = "giftbar-item-tooltip";
2056
+ tip.innerHTML = '<div class="giftbar-item-tooltip-inner">' + currentHtml + '</div><div class="giftbar-item-tooltip-arrow"></div>';
2057
+ document.body.appendChild(tip);
2058
+ const rect = node.getBoundingClientRect();
2059
+ tip.style.left = rect.left + rect.width / 2 + "px";
2060
+ tip.style.top = rect.top + "px";
1950
2061
  }
1951
- if (id === 866 || id === 1583) {
1952
- if (Number(effectiveIsSend) === 1) {
1953
- state.recipient = "user";
1954
- } else {
1955
- state.recipient = "box";
1956
- state.boxTitleHtml = formatBoxtitle(gift.intro);
2062
+ node.addEventListener("mouseenter", show);
2063
+ node.addEventListener("mouseleave", hide);
2064
+ window.addEventListener("scroll", hide, true);
2065
+ return {
2066
+ update(nextHtml) {
2067
+ currentHtml = nextHtml || "";
2068
+ if (tip) {
2069
+ if (!currentHtml) {
2070
+ hide();
2071
+ } else {
2072
+ show();
2073
+ }
2074
+ }
2075
+ },
2076
+ destroy() {
2077
+ hide();
2078
+ node.removeEventListener("mouseenter", show);
2079
+ node.removeEventListener("mouseleave", hide);
2080
+ window.removeEventListener("scroll", hide, true);
1957
2081
  }
1958
- return state;
1959
- }
1960
- if (id === 368) {
1961
- state.recipient = "none";
1962
- return state;
1963
- }
1964
- if (id === 389) {
1965
- state.recipient = "box";
1966
- state.boxTitleHtml = '礼包价值:<span style="color:#ff6691;">' + gift.price / 100 + "点点币</span>";
1967
- return state;
1968
- }
1969
- if (navid === TAB_CRYSTAL && type === 7 || navid === TAB_PACKAGE && type === 7 || id === 873) {
1970
- state.recipient = "box";
1971
- state.boxTitleHtml = formatBoxtitle(gift.intro);
1972
- return state;
1973
- }
1974
- if (type === 16) {
1975
- state.recipient = touid === 0 ? "none" : "user";
1976
- return state;
1977
- }
1978
- if (navid === TAB_CRYSTAL && type === 24 && worth === 3) {
1979
- state.recipient = "user";
1980
- return state;
1981
- }
1982
- if (navid === TAB_PACKAGE && type === 24) {
1983
- state.recipient = "box";
1984
- state.boxTitleHtml = formatBoxtitle(gift.intro);
1985
- return state;
1986
- }
1987
- return state;
2082
+ };
1988
2083
  }
1989
- function getTipState(gift, tabId) {
1990
- const navid = Number(tabId);
1991
- if (isImSource()) {
1992
- if (!gift) {
1993
- return { kind: "hidden", text: "", link: "", img: "" };
1994
- }
1995
- const type2 = Number(gift.type);
1996
- const id = Number(gift.id);
1997
- if (type2 === 24 && (id <= 1218 || gift.explain_url)) {
1998
- return {
1999
- kind: "box",
2000
- text: "礼盒礼物说明",
2001
- link: id > 1218 ? gift.explain_url : "https://y.tuwan.com/activity/575C87d860?giftId=" + gift.id,
2002
- img: gift.pic || ""
2003
- };
2004
- }
2005
- if (gift.explain_url) {
2006
- return {
2007
- kind: "magic",
2008
- text: navid === TAB_CRYSTAL ? "紫晶魔法说明" : "魔法礼物说明",
2009
- link: gift.explain_url,
2010
- img: ""
2011
- };
2012
- }
2013
- if (navid === TAB_CRYSTAL) {
2014
- return {
2015
- kind: "magic",
2016
- text: "紫晶魔法说明",
2017
- link: DEFAULT_CRYSTAL_TIP_LINK,
2018
- img: ""
2019
- };
2020
- }
2021
- return {
2022
- kind: "magic",
2023
- text: "魔法礼物说明",
2024
- link: IM_DEFAULT_MAGIC_TIP_LINK,
2025
- img: ""
2026
- };
2084
+ const OSS_HOST_RE = /(^|\.)tuwandata\.com$|(^|\.)img\d*\.tuwan\.com$/i;
2085
+ const PROCESS = "image/resize,m_fill,w_128,h_128/format,webp";
2086
+ function giftListThumbUrl(src) {
2087
+ if (!src || typeof src !== "string") {
2088
+ return src || "";
2027
2089
  }
2028
- const tabDefault = navid === TAB_CRYSTAL ? { kind: "magic", text: "紫晶魔法说明", link: DEFAULT_CRYSTAL_TIP_LINK, img: "" } : { kind: "magic", text: "魔法礼物说明", link: DEFAULT_MAGIC_TIP_LINK, img: "" };
2029
- if (!gift) {
2030
- return tabDefault;
2090
+ if (/^(data:|blob:)/i.test(src)) {
2091
+ return src;
2031
2092
  }
2032
- const type = Number(gift.type);
2033
- const worth = Number(gift.worth);
2034
- if (type === 30 || type === 31 || type === 32) {
2035
- return { kind: "vip", text: "VIP财富等级", link: getVipLevelUrl(), img: "" };
2093
+ if (/[?&]x-oss-process=/i.test(src)) {
2094
+ return src;
2036
2095
  }
2037
- if (type === 37) {
2038
- return tabDefault;
2096
+ try {
2097
+ const url = new URL(src, typeof location !== "undefined" ? location.href : "https://www.tuwan.com");
2098
+ if (!OSS_HOST_RE.test(url.hostname)) {
2099
+ return src;
2100
+ }
2101
+ url.searchParams.set("x-oss-process", PROCESS);
2102
+ return url.toString();
2103
+ } catch (e) {
2104
+ return src;
2039
2105
  }
2040
- if (type === 24 && worth === 3 && navid !== TAB_PACKAGE && navid !== TAB_CRYSTAL) {
2041
- return {
2042
- kind: "magic",
2043
- text: "魔法礼物说明",
2044
- link: gift.explain_url || DEFAULT_MAGIC_TIP_LINK,
2045
- img: ""
2046
- };
2106
+ }
2107
+ const PRELOAD_MARGIN = "240px 0px";
2108
+ const GIFT_IMG_PLACEHOLDER = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
2109
+ function findGridRoot(node) {
2110
+ return node.closest ? node.closest(".giftbar-grid") : null;
2111
+ }
2112
+ function setSrc(node, src) {
2113
+ if (node.getAttribute("src") === src) {
2114
+ return;
2047
2115
  }
2048
- if (type === 24) {
2049
- if (gift.explain_url) {
2050
- return {
2051
- kind: "box",
2052
- text: "礼盒礼物说明",
2053
- link: gift.explain_url,
2054
- img: gift.pic || ""
2055
- };
2116
+ node.setAttribute("src", src);
2117
+ }
2118
+ function lazyGiftImg(node, src) {
2119
+ let currentSrc = src || "";
2120
+ let observer = null;
2121
+ function clearObserver() {
2122
+ if (observer) {
2123
+ observer.disconnect();
2124
+ observer = null;
2056
2125
  }
2057
- return {
2058
- kind: "magic",
2059
- text: "魔法礼物说明",
2060
- link: DEFAULT_MAGIC_TIP_LINK,
2061
- img: ""
2062
- };
2063
2126
  }
2064
- if (gift.explain_url) {
2065
- return {
2066
- kind: "magic",
2067
- text: "魔法礼物说明",
2068
- link: gift.explain_url,
2069
- img: ""
2070
- };
2127
+ function applySrc() {
2128
+ setSrc(node, currentSrc || GIFT_IMG_PLACEHOLDER);
2071
2129
  }
2072
- return tabDefault;
2130
+ function observe() {
2131
+ clearObserver();
2132
+ setSrc(node, GIFT_IMG_PLACEHOLDER);
2133
+ if (!currentSrc) {
2134
+ return;
2135
+ }
2136
+ if (typeof IntersectionObserver !== "function") {
2137
+ applySrc();
2138
+ return;
2139
+ }
2140
+ const root = findGridRoot(node);
2141
+ observer = new IntersectionObserver(
2142
+ (entries) => {
2143
+ const hit = entries.some((item) => item.isIntersecting);
2144
+ if (!hit) {
2145
+ return;
2146
+ }
2147
+ applySrc();
2148
+ clearObserver();
2149
+ },
2150
+ { root: root || null, rootMargin: PRELOAD_MARGIN, threshold: 0.01 }
2151
+ );
2152
+ observer.observe(node);
2153
+ }
2154
+ observe();
2155
+ return {
2156
+ update(nextSrc) {
2157
+ const next = nextSrc || "";
2158
+ if (next === currentSrc) {
2159
+ return;
2160
+ }
2161
+ currentSrc = next;
2162
+ observe();
2163
+ },
2164
+ destroy() {
2165
+ clearObserver();
2166
+ }
2167
+ };
2073
2168
  }
2074
- function isMagicGift(gift, tabId) {
2075
- const id = Number(gift && gift.id);
2076
- const navid = Number(tabId);
2077
- if (isImSource()) {
2078
- if (navid !== TAB_PACKAGE && navid !== TAB_CRYSTAL) {
2079
- return false;
2169
+ function get_each_context$9(ctx, list, i) {
2170
+ const child_ctx = ctx.slice();
2171
+ child_ctx[10] = list[i];
2172
+ return child_ctx;
2173
+ }
2174
+ function create_if_block_6$4(ctx) {
2175
+ let span;
2176
+ let t_value = (
2177
+ /*giftItem*/
2178
+ ctx[10].tag + ""
2179
+ );
2180
+ let t;
2181
+ return {
2182
+ c() {
2183
+ span = element("span");
2184
+ t = text(t_value);
2185
+ attr(span, "class", "giftbar-item-tag");
2186
+ },
2187
+ m(target, anchor) {
2188
+ insert(target, span, anchor);
2189
+ append(span, t);
2190
+ },
2191
+ p(ctx2, dirty) {
2192
+ if (dirty & /*gifts*/
2193
+ 1 && t_value !== (t_value = /*giftItem*/
2194
+ ctx2[10].tag + "")) set_data(t, t_value);
2195
+ },
2196
+ d(detaching) {
2197
+ if (detaching) {
2198
+ detach(span);
2199
+ }
2080
2200
  }
2081
- if (Number(gift && gift.type) === 24 && Number(gift && gift.worth) === 3) {
2082
- return false;
2201
+ };
2202
+ }
2203
+ function create_if_block_4$6(ctx) {
2204
+ let div;
2205
+ let t0;
2206
+ let t1_value = (
2207
+ /*giftItem*/
2208
+ ctx[10].unitText + ""
2209
+ );
2210
+ let t1;
2211
+ let if_block = (
2212
+ /*giftItem*/
2213
+ ctx[10].picIcon && create_if_block_5$5(ctx)
2214
+ );
2215
+ return {
2216
+ c() {
2217
+ div = element("div");
2218
+ if (if_block) if_block.c();
2219
+ t0 = space();
2220
+ t1 = text(t1_value);
2221
+ attr(div, "class", "giftbar-item-unit");
2222
+ },
2223
+ m(target, anchor) {
2224
+ insert(target, div, anchor);
2225
+ if (if_block) if_block.m(div, null);
2226
+ append(div, t0);
2227
+ append(div, t1);
2228
+ },
2229
+ p(ctx2, dirty) {
2230
+ if (
2231
+ /*giftItem*/
2232
+ ctx2[10].picIcon
2233
+ ) {
2234
+ if (if_block) {
2235
+ if_block.p(ctx2, dirty);
2236
+ } else {
2237
+ if_block = create_if_block_5$5(ctx2);
2238
+ if_block.c();
2239
+ if_block.m(div, t0);
2240
+ }
2241
+ } else if (if_block) {
2242
+ if_block.d(1);
2243
+ if_block = null;
2244
+ }
2245
+ if (dirty & /*gifts*/
2246
+ 1 && t1_value !== (t1_value = /*giftItem*/
2247
+ ctx2[10].unitText + "")) set_data(t1, t1_value);
2248
+ },
2249
+ d(detaching) {
2250
+ if (detaching) {
2251
+ detach(div);
2252
+ }
2253
+ if (if_block) if_block.d();
2083
2254
  }
2084
- if (Number(gift && gift.type) === 24 && id > 1218) {
2085
- return false;
2255
+ };
2256
+ }
2257
+ function create_if_block_5$5(ctx) {
2258
+ let img;
2259
+ let img_class_value;
2260
+ let img_src_value;
2261
+ return {
2262
+ c() {
2263
+ img = element("img");
2264
+ attr(img, "class", img_class_value = /*giftItem*/
2265
+ ctx[10].isCrystal ? "is-crystal" : "");
2266
+ if (!src_url_equal(img.src, img_src_value = /*giftItem*/
2267
+ ctx[10].picIcon)) attr(img, "src", img_src_value);
2268
+ attr(img, "alt", "");
2269
+ },
2270
+ m(target, anchor) {
2271
+ insert(target, img, anchor);
2272
+ },
2273
+ p(ctx2, dirty) {
2274
+ if (dirty & /*gifts*/
2275
+ 1 && img_class_value !== (img_class_value = /*giftItem*/
2276
+ ctx2[10].isCrystal ? "is-crystal" : "")) {
2277
+ attr(img, "class", img_class_value);
2278
+ }
2279
+ if (dirty & /*gifts*/
2280
+ 1 && !src_url_equal(img.src, img_src_value = /*giftItem*/
2281
+ ctx2[10].picIcon)) {
2282
+ attr(img, "src", img_src_value);
2283
+ }
2284
+ },
2285
+ d(detaching) {
2286
+ if (detaching) {
2287
+ detach(img);
2288
+ }
2289
+ }
2290
+ };
2291
+ }
2292
+ function create_if_block_3$7(ctx) {
2293
+ let div;
2294
+ let t_value = (
2295
+ /*giftItem*/
2296
+ ctx[10].unitText2 + ""
2297
+ );
2298
+ let t;
2299
+ return {
2300
+ c() {
2301
+ div = element("div");
2302
+ t = text(t_value);
2303
+ attr(div, "class", "giftbar-item-unit");
2304
+ },
2305
+ m(target, anchor) {
2306
+ insert(target, div, anchor);
2307
+ append(div, t);
2308
+ },
2309
+ p(ctx2, dirty) {
2310
+ if (dirty & /*gifts*/
2311
+ 1 && t_value !== (t_value = /*giftItem*/
2312
+ ctx2[10].unitText2 + "")) set_data(t, t_value);
2313
+ },
2314
+ d(detaching) {
2315
+ if (detaching) {
2316
+ detach(div);
2317
+ }
2086
2318
  }
2087
- return MAGIC_GIFT_IDS.indexOf(id) > -1;
2088
- }
2089
- if (id === 866 || id === 873 || id === 1583) {
2090
- return true;
2091
- }
2092
- return navid === TAB_PACKAGE && (id === 155 || id === 156);
2319
+ };
2093
2320
  }
2094
- function getSelectHostEffect(gift, tabId) {
2095
- if (!gift) {
2096
- return "";
2097
- }
2098
- const id = Number(gift.id);
2099
- const type = Number(gift.type);
2100
- if (id === 368 || id === 389) {
2101
- return "click";
2102
- }
2103
- if (id === 383) {
2104
- return "";
2105
- }
2106
- if (type === 16 && Number(gift.to_uid || 0) === 0) {
2107
- return "click";
2108
- }
2109
- if (type === 1e4) {
2110
- return "click";
2321
+ function create_if_block_2$b(ctx) {
2322
+ let div;
2323
+ let mounted;
2324
+ let dispose;
2325
+ function click_handler(...args) {
2326
+ return (
2327
+ /*click_handler*/
2328
+ ctx[8](
2329
+ /*giftItem*/
2330
+ ctx[10],
2331
+ ...args
2332
+ )
2333
+ );
2111
2334
  }
2112
- if (type === 29) {
2113
- if (isImSource()) {
2114
- return "";
2335
+ return {
2336
+ c() {
2337
+ div = element("div");
2338
+ attr(div, "class", "giftbar-help-icon");
2339
+ attr(div, "role", "presentation");
2340
+ },
2341
+ m(target, anchor) {
2342
+ insert(target, div, anchor);
2343
+ if (!mounted) {
2344
+ dispose = listen(div, "click", stop_propagation(click_handler));
2345
+ mounted = true;
2346
+ }
2347
+ },
2348
+ p(new_ctx, dirty) {
2349
+ ctx = new_ctx;
2350
+ },
2351
+ d(detaching) {
2352
+ if (detaching) {
2353
+ detach(div);
2354
+ }
2355
+ mounted = false;
2356
+ dispose();
2115
2357
  }
2116
- return "pardon";
2117
- }
2118
- return "";
2358
+ };
2119
2359
  }
2120
- function resolveFooterAction(action, gift, tabId, selectedUser) {
2121
- if (!gift || !gift.id) {
2122
- return { kind: "alert", message: "请选择一个礼物" };
2360
+ function create_each_block$9(key_1, ctx) {
2361
+ let div2;
2362
+ let div0;
2363
+ let img;
2364
+ let img_class_value;
2365
+ let img_src_value;
2366
+ let lazyGiftImg_action;
2367
+ let t0;
2368
+ let t1;
2369
+ let div1;
2370
+ let t2_value = (
2371
+ /*giftItem*/
2372
+ ctx[10].title + ""
2373
+ );
2374
+ let t2;
2375
+ let t3;
2376
+ let t4;
2377
+ let t5;
2378
+ let show_if = canShowHelp(
2379
+ /*giftItem*/
2380
+ ctx[10],
2381
+ /*selectGift*/
2382
+ ctx[1]
2383
+ );
2384
+ let div2_id_value;
2385
+ let div2_class_value;
2386
+ let giftHoverTip_action;
2387
+ let mounted;
2388
+ let dispose;
2389
+ let if_block0 = (
2390
+ /*giftItem*/
2391
+ ctx[10].tag && create_if_block_6$4(ctx)
2392
+ );
2393
+ let if_block1 = (
2394
+ /*giftItem*/
2395
+ ctx[10].unitText && create_if_block_4$6(ctx)
2396
+ );
2397
+ let if_block2 = (
2398
+ /*giftItem*/
2399
+ ctx[10].unitText2 && create_if_block_3$7(ctx)
2400
+ );
2401
+ let if_block3 = show_if && create_if_block_2$b(ctx);
2402
+ function click_handler_12() {
2403
+ return (
2404
+ /*click_handler_1*/
2405
+ ctx[9](
2406
+ /*giftItem*/
2407
+ ctx[10]
2408
+ )
2409
+ );
2123
2410
  }
2124
- const id = Number(gift.id);
2125
- const type = Number(gift.type);
2126
- const navid = Number(tabId);
2127
- const touid = Number(gift.to_uid || 0);
2128
- const uid = selectedUser ? Number(selectedUser.uid) : 0;
2129
- if (action === "use") {
2130
- if (type === 29) {
2131
- if (isImSource()) {
2132
- return { kind: "pay", payAction: "send" };
2411
+ return {
2412
+ key: key_1,
2413
+ first: null,
2414
+ c() {
2415
+ div2 = element("div");
2416
+ div0 = element("div");
2417
+ img = element("img");
2418
+ t0 = space();
2419
+ if (if_block0) if_block0.c();
2420
+ t1 = space();
2421
+ div1 = element("div");
2422
+ t2 = text(t2_value);
2423
+ t3 = space();
2424
+ if (if_block1) if_block1.c();
2425
+ t4 = space();
2426
+ if (if_block2) if_block2.c();
2427
+ t5 = space();
2428
+ if (if_block3) if_block3.c();
2429
+ attr(img, "class", img_class_value = "giftbar-item-pic " + /*animGuid*/
2430
+ (ctx[3] === /*giftItem*/
2431
+ ctx[10].guid ? "gift-select-animation" : ""));
2432
+ if (!src_url_equal(img.src, img_src_value = GIFT_IMG_PLACEHOLDER)) attr(img, "src", img_src_value);
2433
+ attr(img, "alt", "");
2434
+ attr(img, "decoding", "async");
2435
+ attr(img, "loading", "lazy");
2436
+ set_style(div0, "position", "relative");
2437
+ attr(div1, "class", "giftbar-item-title");
2438
+ attr(div2, "id", div2_id_value = /*giftItem*/
2439
+ ctx[10].guid);
2440
+ attr(div2, "class", div2_class_value = "giftbar-item " + /*selectGift*/
2441
+ (ctx[1] === /*giftItem*/
2442
+ ctx[10] ? "giftbar-item-on" : ""));
2443
+ attr(div2, "role", "presentation");
2444
+ this.first = div2;
2445
+ },
2446
+ m(target, anchor) {
2447
+ insert(target, div2, anchor);
2448
+ append(div2, div0);
2449
+ append(div0, img);
2450
+ append(div0, t0);
2451
+ if (if_block0) if_block0.m(div0, null);
2452
+ append(div2, t1);
2453
+ append(div2, div1);
2454
+ append(div1, t2);
2455
+ append(div2, t3);
2456
+ if (if_block1) if_block1.m(div2, null);
2457
+ append(div2, t4);
2458
+ if (if_block2) if_block2.m(div2, null);
2459
+ append(div2, t5);
2460
+ if (if_block3) if_block3.m(div2, null);
2461
+ if (!mounted) {
2462
+ dispose = [
2463
+ action_destroyer(lazyGiftImg_action = lazyGiftImg.call(null, img, giftListThumbUrl(
2464
+ /*giftItem*/
2465
+ ctx[10].pic
2466
+ ))),
2467
+ action_destroyer(giftHoverTip_action = giftHoverTip.call(
2468
+ null,
2469
+ div2,
2470
+ /*giftItem*/
2471
+ ctx[10].atitle || ""
2472
+ )),
2473
+ listen(div2, "click", stop_propagation(click_handler_12))
2474
+ ];
2475
+ mounted = true;
2133
2476
  }
2134
- return { kind: "pardon" };
2135
- }
2136
- if (id === 389) {
2137
- return { kind: "hostClick" };
2138
- }
2139
- if (type === 16 && touid === 0) {
2140
- return { kind: "hostClick" };
2477
+ },
2478
+ p(new_ctx, dirty) {
2479
+ ctx = new_ctx;
2480
+ if (dirty & /*animGuid, gifts*/
2481
+ 9 && img_class_value !== (img_class_value = "giftbar-item-pic " + /*animGuid*/
2482
+ (ctx[3] === /*giftItem*/
2483
+ ctx[10].guid ? "gift-select-animation" : ""))) {
2484
+ attr(img, "class", img_class_value);
2485
+ }
2486
+ if (lazyGiftImg_action && is_function(lazyGiftImg_action.update) && dirty & /*gifts*/
2487
+ 1) lazyGiftImg_action.update.call(null, giftListThumbUrl(
2488
+ /*giftItem*/
2489
+ ctx[10].pic
2490
+ ));
2491
+ if (
2492
+ /*giftItem*/
2493
+ ctx[10].tag
2494
+ ) {
2495
+ if (if_block0) {
2496
+ if_block0.p(ctx, dirty);
2497
+ } else {
2498
+ if_block0 = create_if_block_6$4(ctx);
2499
+ if_block0.c();
2500
+ if_block0.m(div0, null);
2501
+ }
2502
+ } else if (if_block0) {
2503
+ if_block0.d(1);
2504
+ if_block0 = null;
2505
+ }
2506
+ if (dirty & /*gifts*/
2507
+ 1 && t2_value !== (t2_value = /*giftItem*/
2508
+ ctx[10].title + "")) set_data(t2, t2_value);
2509
+ if (
2510
+ /*giftItem*/
2511
+ ctx[10].unitText
2512
+ ) {
2513
+ if (if_block1) {
2514
+ if_block1.p(ctx, dirty);
2515
+ } else {
2516
+ if_block1 = create_if_block_4$6(ctx);
2517
+ if_block1.c();
2518
+ if_block1.m(div2, t4);
2519
+ }
2520
+ } else if (if_block1) {
2521
+ if_block1.d(1);
2522
+ if_block1 = null;
2523
+ }
2524
+ if (
2525
+ /*giftItem*/
2526
+ ctx[10].unitText2
2527
+ ) {
2528
+ if (if_block2) {
2529
+ if_block2.p(ctx, dirty);
2530
+ } else {
2531
+ if_block2 = create_if_block_3$7(ctx);
2532
+ if_block2.c();
2533
+ if_block2.m(div2, t5);
2534
+ }
2535
+ } else if (if_block2) {
2536
+ if_block2.d(1);
2537
+ if_block2 = null;
2538
+ }
2539
+ if (dirty & /*gifts, selectGift*/
2540
+ 3) show_if = canShowHelp(
2541
+ /*giftItem*/
2542
+ ctx[10],
2543
+ /*selectGift*/
2544
+ ctx[1]
2545
+ );
2546
+ if (show_if) {
2547
+ if (if_block3) {
2548
+ if_block3.p(ctx, dirty);
2549
+ } else {
2550
+ if_block3 = create_if_block_2$b(ctx);
2551
+ if_block3.c();
2552
+ if_block3.m(div2, null);
2553
+ }
2554
+ } else if (if_block3) {
2555
+ if_block3.d(1);
2556
+ if_block3 = null;
2557
+ }
2558
+ if (dirty & /*gifts*/
2559
+ 1 && div2_id_value !== (div2_id_value = /*giftItem*/
2560
+ ctx[10].guid)) {
2561
+ attr(div2, "id", div2_id_value);
2562
+ }
2563
+ if (dirty & /*selectGift, gifts*/
2564
+ 3 && div2_class_value !== (div2_class_value = "giftbar-item " + /*selectGift*/
2565
+ (ctx[1] === /*giftItem*/
2566
+ ctx[10] ? "giftbar-item-on" : ""))) {
2567
+ attr(div2, "class", div2_class_value);
2568
+ }
2569
+ if (giftHoverTip_action && is_function(giftHoverTip_action.update) && dirty & /*gifts*/
2570
+ 1) giftHoverTip_action.update.call(
2571
+ null,
2572
+ /*giftItem*/
2573
+ ctx[10].atitle || ""
2574
+ );
2575
+ },
2576
+ d(detaching) {
2577
+ if (detaching) {
2578
+ detach(div2);
2579
+ }
2580
+ if (if_block0) if_block0.d();
2581
+ if (if_block1) if_block1.d();
2582
+ if (if_block2) if_block2.d();
2583
+ if (if_block3) if_block3.d();
2584
+ mounted = false;
2585
+ run_all(dispose);
2141
2586
  }
2142
- return { kind: "pay", payAction: "send" };
2587
+ };
2588
+ }
2589
+ function create_if_block$n(ctx) {
2590
+ let if_block_anchor;
2591
+ function select_block_type(ctx2, dirty) {
2592
+ if (
2593
+ /*emptyImg*/
2594
+ ctx2[2]
2595
+ ) return create_if_block_1$k;
2596
+ return create_else_block$c;
2143
2597
  }
2144
- if (action === "send") {
2145
- if (Number(gift.question_gift) === 1) {
2146
- return { kind: "question" };
2598
+ let current_block_type = select_block_type(ctx);
2599
+ let if_block = current_block_type(ctx);
2600
+ return {
2601
+ c() {
2602
+ if_block.c();
2603
+ if_block_anchor = empty();
2604
+ },
2605
+ m(target, anchor) {
2606
+ if_block.m(target, anchor);
2607
+ insert(target, if_block_anchor, anchor);
2608
+ },
2609
+ p(ctx2, dirty) {
2610
+ if (current_block_type === (current_block_type = select_block_type(ctx2)) && if_block) {
2611
+ if_block.p(ctx2, dirty);
2612
+ } else {
2613
+ if_block.d(1);
2614
+ if_block = current_block_type(ctx2);
2615
+ if (if_block) {
2616
+ if_block.c();
2617
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
2618
+ }
2619
+ }
2620
+ },
2621
+ d(detaching) {
2622
+ if (detaching) {
2623
+ detach(if_block_anchor);
2624
+ }
2625
+ if_block.d(detaching);
2147
2626
  }
2148
- if (type === 30 || type === 37) {
2149
- return { kind: "hostUse" };
2627
+ };
2628
+ }
2629
+ function create_else_block$c(ctx) {
2630
+ let div;
2631
+ return {
2632
+ c() {
2633
+ div = element("div");
2634
+ div.textContent = "还没有礼物哦~";
2635
+ attr(div, "class", "giftbar-empty");
2636
+ },
2637
+ m(target, anchor) {
2638
+ insert(target, div, anchor);
2639
+ },
2640
+ p: noop,
2641
+ d(detaching) {
2642
+ if (detaching) {
2643
+ detach(div);
2644
+ }
2150
2645
  }
2151
- if (id === 1293 && uid === 0) {
2152
- return { kind: "alert", message: "该礼物不能赠送全麦" };
2646
+ };
2647
+ }
2648
+ function create_if_block_1$k(ctx) {
2649
+ let img;
2650
+ let img_src_value;
2651
+ return {
2652
+ c() {
2653
+ img = element("img");
2654
+ attr(img, "class", "giftbar-empty-img");
2655
+ if (!src_url_equal(img.src, img_src_value = /*emptyImg*/
2656
+ ctx[2])) attr(img, "src", img_src_value);
2657
+ attr(img, "alt", "");
2658
+ },
2659
+ m(target, anchor) {
2660
+ insert(target, img, anchor);
2661
+ },
2662
+ p(ctx2, dirty) {
2663
+ if (dirty & /*emptyImg*/
2664
+ 4 && !src_url_equal(img.src, img_src_value = /*emptyImg*/
2665
+ ctx2[2])) {
2666
+ attr(img, "src", img_src_value);
2667
+ }
2668
+ },
2669
+ d(detaching) {
2670
+ if (detaching) {
2671
+ detach(img);
2672
+ }
2153
2673
  }
2154
- return { kind: "pay", payAction: "send" };
2155
- }
2156
- if (isIframeBlindBox(gift, navid)) {
2157
- return { kind: "iframe" };
2158
- }
2159
- if (isBlindBoxModalGift(gift, navid)) {
2160
- return { kind: "blindBox" };
2161
- }
2162
- if (isMagicGift(gift, navid)) {
2163
- return { kind: "magic" };
2164
- }
2165
- if (id === 383) {
2166
- return { kind: "hostClick" };
2167
- }
2168
- if (id === 368 || id === 389) {
2169
- return { kind: "hostClick" };
2170
- }
2171
- if (type === 16 && touid === 0) {
2172
- return { kind: "hostClick" };
2173
- }
2174
- return { kind: "pay", payAction: "open" };
2674
+ };
2175
2675
  }
2176
- let guidIdx = 0;
2177
- function nextGuid(navid, id, index) {
2178
- if (index !== void 0 && index !== null) {
2179
- return "giftbar_" + navid + "_" + id + "_" + index;
2676
+ function create_fragment$q(ctx) {
2677
+ let div;
2678
+ let each_blocks = [];
2679
+ let each_1_lookup = /* @__PURE__ */ new Map();
2680
+ let t;
2681
+ let each_value = ensure_array_like(
2682
+ /*gifts*/
2683
+ ctx[0]
2684
+ );
2685
+ const get_key = (ctx2) => (
2686
+ /*giftItem*/
2687
+ ctx2[10].guid || /*giftItem*/
2688
+ ctx2[10].id
2689
+ );
2690
+ for (let i = 0; i < each_value.length; i += 1) {
2691
+ let child_ctx = get_each_context$9(ctx, each_value, i);
2692
+ let key = get_key(child_ctx);
2693
+ each_1_lookup.set(key, each_blocks[i] = create_each_block$9(key, child_ctx));
2180
2694
  }
2181
- guidIdx += 1;
2182
- return "giftbar_" + navid + "_" + id + "_" + guidIdx;
2695
+ let if_block = (
2696
+ /*gifts*/
2697
+ ctx[0].length === 0 && create_if_block$n(ctx)
2698
+ );
2699
+ return {
2700
+ c() {
2701
+ div = element("div");
2702
+ for (let i = 0; i < each_blocks.length; i += 1) {
2703
+ each_blocks[i].c();
2704
+ }
2705
+ t = space();
2706
+ if (if_block) if_block.c();
2707
+ attr(div, "class", "giftbar-grid");
2708
+ },
2709
+ m(target, anchor) {
2710
+ insert(target, div, anchor);
2711
+ for (let i = 0; i < each_blocks.length; i += 1) {
2712
+ if (each_blocks[i]) {
2713
+ each_blocks[i].m(div, null);
2714
+ }
2715
+ }
2716
+ append(div, t);
2717
+ if (if_block) if_block.m(div, null);
2718
+ },
2719
+ p(ctx2, [dirty]) {
2720
+ if (dirty & /*gifts, selectGift, choose, openHelp, canShowHelp, animGuid*/
2721
+ 59) {
2722
+ each_value = ensure_array_like(
2723
+ /*gifts*/
2724
+ ctx2[0]
2725
+ );
2726
+ each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx2, each_value, each_1_lookup, div, destroy_block, create_each_block$9, t, get_each_context$9);
2727
+ }
2728
+ if (
2729
+ /*gifts*/
2730
+ ctx2[0].length === 0
2731
+ ) {
2732
+ if (if_block) {
2733
+ if_block.p(ctx2, dirty);
2734
+ } else {
2735
+ if_block = create_if_block$n(ctx2);
2736
+ if_block.c();
2737
+ if_block.m(div, null);
2738
+ }
2739
+ } else if (if_block) {
2740
+ if_block.d(1);
2741
+ if_block = null;
2742
+ }
2743
+ },
2744
+ i: noop,
2745
+ o: noop,
2746
+ d(detaching) {
2747
+ if (detaching) {
2748
+ detach(div);
2749
+ }
2750
+ for (let i = 0; i < each_blocks.length; i += 1) {
2751
+ each_blocks[i].d();
2752
+ }
2753
+ if (if_block) if_block.d();
2754
+ }
2755
+ };
2183
2756
  }
2184
- function transformShopGift(navid, temp, index) {
2185
- const worth = Number(temp.worth);
2186
- temp.picIcon = worth === 3 ? CRYSTAL_IMG : ZHUANSHI_IMG;
2187
- temp.isCrystal = worth === 3;
2188
- temp.unitText = temp.diamond + (worth === 3 ? "紫晶" : "钻");
2189
- temp.unitText2 = "";
2190
- if (temp.worth === void 0) {
2191
- temp.worth = 0;
2192
- }
2193
- temp.atitle = temp.intro && temp.intro !== " " ? nrTobr(temp.intro) : "";
2194
- temp.guid = nextGuid(navid, temp.id, index);
2757
+ function canShowHelp(gift, selected) {
2758
+ return selected === gift && Number(gift && gift.is_multi_gift) === 1 && !!(gift && gift.explain_url);
2195
2759
  }
2196
- function transformBagGift(navid, temp, index) {
2197
- const type = Number(temp.type);
2198
- const worth = Number(temp.worth);
2199
- const id = Number(temp.id);
2200
- const num = temp.num;
2201
- const price = temp.price;
2202
- const priority = Number(temp.priority_display) || 0;
2203
- temp.picIcon = "";
2204
- temp.unitText = "";
2205
- temp.unitText2 = "";
2206
- temp.isCrystal = false;
2207
- if (type === 24 && worth === 3) {
2208
- if (priority > 0) {
2209
- temp.picIcon = CRYSTAL_IMG;
2210
- temp.isCrystal = true;
2211
- temp.unitText = String(price / 10);
2212
- } else {
2213
- temp.unitText2 = "x" + num;
2214
- }
2215
- } else if (Number(navid) === TAB_CRYSTAL && type === 7) {
2216
- temp.picIcon = CRYSTAL_IMG;
2217
- temp.isCrystal = true;
2218
- temp.unitText = String(price / 10);
2219
- } else {
2220
- let giftNum = "";
2221
- if (type === 7 || Number(navid) === TAB_PACKAGE && priority > 0) {
2222
- giftNum = price / 10 + "钻";
2223
- } else {
2224
- giftNum = "x" + num;
2225
- }
2226
- if (Number(navid) === TAB_PACKAGE && priority > 0) {
2227
- temp.picIcon = ZHUANSHI_IMG;
2228
- temp.unitText = giftNum;
2229
- } else if (id === 155 || id === 156) {
2230
- temp.picIcon = ZHUANSHI_IMG;
2231
- temp.unitText = giftNum;
2232
- } else {
2233
- temp.unitText2 = giftNum;
2234
- }
2760
+ function instance$q($$self, $$props, $$invalidate) {
2761
+ let { gifts = [] } = $$props;
2762
+ let { selectGift = null } = $$props;
2763
+ let { emptyImg = "" } = $$props;
2764
+ let { onClickItem } = $$props;
2765
+ let { onOpenHelp } = $$props;
2766
+ let animGuid = "";
2767
+ function choose(item) {
2768
+ $$invalidate(3, animGuid = item.guid);
2769
+ onClickItem && onClickItem(item);
2770
+ setTimeout(
2771
+ () => {
2772
+ if (animGuid === item.guid) {
2773
+ $$invalidate(3, animGuid = "");
2774
+ }
2775
+ },
2776
+ 300
2777
+ );
2235
2778
  }
2236
- if (temp.worth === void 0) {
2237
- temp.worth = 0;
2779
+ function openHelp(event, gift) {
2780
+ event && event.stopPropagation && event.stopPropagation();
2781
+ onOpenHelp && onOpenHelp(gift);
2782
+ }
2783
+ const click_handler = (giftItem, event) => openHelp(event, giftItem);
2784
+ const click_handler_12 = (giftItem) => choose(giftItem);
2785
+ $$self.$$set = ($$props2) => {
2786
+ if ("gifts" in $$props2) $$invalidate(0, gifts = $$props2.gifts);
2787
+ if ("selectGift" in $$props2) $$invalidate(1, selectGift = $$props2.selectGift);
2788
+ if ("emptyImg" in $$props2) $$invalidate(2, emptyImg = $$props2.emptyImg);
2789
+ if ("onClickItem" in $$props2) $$invalidate(6, onClickItem = $$props2.onClickItem);
2790
+ if ("onOpenHelp" in $$props2) $$invalidate(7, onOpenHelp = $$props2.onOpenHelp);
2791
+ };
2792
+ return [
2793
+ gifts,
2794
+ selectGift,
2795
+ emptyImg,
2796
+ animGuid,
2797
+ choose,
2798
+ openHelp,
2799
+ onClickItem,
2800
+ onOpenHelp,
2801
+ click_handler,
2802
+ click_handler_12
2803
+ ];
2804
+ }
2805
+ class GiftGrid extends SvelteComponent {
2806
+ constructor(options2) {
2807
+ super();
2808
+ init(this, options2, instance$q, create_fragment$q, safe_not_equal, {
2809
+ gifts: 0,
2810
+ selectGift: 1,
2811
+ emptyImg: 2,
2812
+ onClickItem: 6,
2813
+ onOpenHelp: 7
2814
+ });
2238
2815
  }
2239
- temp.atitle = temp.intro && temp.intro !== " " ? nrTobr(temp.intro) : "";
2240
- temp.guid = nextGuid(navid, temp.id, index);
2241
2816
  }
2242
2817
  function create_if_block_1$j(ctx) {
2243
2818
  let p;
@@ -2315,7 +2890,7 @@ function create_if_block$m(ctx) {
2315
2890
  }
2316
2891
  };
2317
2892
  }
2318
- function create_fragment$q(ctx) {
2893
+ function create_fragment$p(ctx) {
2319
2894
  let div1;
2320
2895
  let div0;
2321
2896
  let p;
@@ -2411,7 +2986,7 @@ function create_fragment$q(ctx) {
2411
2986
  }
2412
2987
  };
2413
2988
  }
2414
- function instance$q($$self, $$props, $$invalidate) {
2989
+ function instance$p($$self, $$props, $$invalidate) {
2415
2990
  let diamondText;
2416
2991
  let crystalText;
2417
2992
  let moneyText;
@@ -2458,172 +3033,8 @@ function instance$q($$self, $$props, $$invalidate) {
2458
3033
  class GiftBalance extends SvelteComponent {
2459
3034
  constructor(options2) {
2460
3035
  super();
2461
- init(this, options2, instance$q, create_fragment$q, safe_not_equal, { diamondInfo: 5, showMoney: 6 });
2462
- }
2463
- }
2464
- function joinQuery(parts) {
2465
- return parts.filter((item) => item && item[1] !== void 0 && item[1] !== null).map(([key, value]) => key + "=" + value).join("&");
2466
- }
2467
- function appendQuery(url, params) {
2468
- let next = url || "";
2469
- Object.keys(params || {}).forEach((key) => {
2470
- const value = params[key];
2471
- if (value === void 0 || value === null) {
2472
- return;
2473
- }
2474
- const re = new RegExp("([?&])" + key + "=[^&]*");
2475
- if (re.test(next)) {
2476
- next = next.replace(re, "$1" + key + "=" + value);
2477
- } else {
2478
- next += (next.indexOf("?") >= 0 ? "&" : "?") + key + "=" + value;
2479
- }
2480
- });
2481
- return next;
2482
- }
2483
- function stripSlash(domain) {
2484
- return domain ? String(domain).replace(/\/$/, "") : "";
2485
- }
2486
- function guessApiDomain(prefix) {
2487
- const host = window.location.host || "";
2488
- const main = host.split(".").slice(-2).join(".") || "tuwan.com";
2489
- if (options.isChatTest) {
2490
- return "https://" + prefix + "-test." + main;
2491
- }
2492
- return "https://" + prefix + "." + main;
2493
- }
2494
- function resolveApiDomain(kind) {
2495
- const map = options.apiDomain || {};
2496
- const injected = map[kind];
2497
- if (injected) {
2498
- return stripSlash(injected);
2499
- }
2500
- if (kind === "papi" || kind === "yapi") {
2501
- return guessApiDomain(kind);
2502
- }
2503
- throw new Error("giftBarLib apiDomain." + kind + " is required");
2504
- }
2505
- function papi() {
2506
- return resolveApiDomain("papi");
2507
- }
2508
- function yapi() {
2509
- return resolveApiDomain("yapi");
2510
- }
2511
- function hasValue$2(value) {
2512
- return value !== void 0 && value !== null && value !== "";
2513
- }
2514
- function sceneParts$1(ctx) {
2515
- if (hasValue$2(ctx && ctx.group_id)) {
2516
- return [["group_id", ctx.group_id]];
2517
- }
2518
- return [["imuid", ctx && ctx.imuid]];
2519
- }
2520
- function openParts(giftId, num, paySure, ctx) {
2521
- return [
2522
- ["giftid", giftId],
2523
- ["num", num || 1],
2524
- ["pay_confirm", 1],
2525
- ["apiver", 1],
2526
- ["pay_sure", paySure || 0],
2527
- ["uids", ctx && ctx.selfUid],
2528
- ...sceneParts$1(ctx)
2529
- ];
2530
- }
2531
- function getRechargeUrl() {
2532
- return yapi() + "/activityapi/recharge";
2533
- }
2534
- function getLimitSettingsUrl() {
2535
- return "https://y" + (options.isChatTest ? "-test" : "") + ".tuwan.com/home/consume-check";
2536
- }
2537
- function giveUpConsumeLimitUrl() {
2538
- return yapi() + "/user/setGiftRemindSetting?format=jsonp";
2539
- }
2540
- function giftListsUrl(cid, navid) {
2541
- return papi() + "/Teacher/giftLists?format=jsonp&platform=0" + (hasValue$2(cid) ? "&cid=" + cid : "") + "&navid=" + navid + "&apiver=4";
2542
- }
2543
- function haveGiftUrl(cid, navid) {
2544
- return papi() + "/Teacher/haveGift?format=jsonp&mode=2" + (hasValue$2(cid) ? "&cid=" + cid : "") + "&navid=" + navid;
2545
- }
2546
- function getMoneyUrl() {
2547
- return papi() + "/Teacher/getMoney";
2548
- }
2549
- function diamondGiftMoreUrl(query) {
2550
- return papi() + "/Diamond/giftMore?" + query;
2551
- }
2552
- function giveGiftUrl(query) {
2553
- return papi() + "/Teacher/giveGift?" + query;
2554
- }
2555
- function giveGiftInfoUrl(cid, giftId) {
2556
- return yapi() + "/nobility/getGiveGiftInfo?cid=" + cid + "&id=" + giftId + "&freeCardTypeid=2&format=jsonp";
2557
- }
2558
- function treasureBuyUrl(query) {
2559
- return papi() + "/Treasure/buy?format=jsonp&" + query;
2560
- }
2561
- function blindBoxPayUrl(query) {
2562
- return papi() + "/treasure/blindBox?format=jsonp&" + query;
2563
- }
2564
- function blindBoxImgListUrl(giftId) {
2565
- return papi() + "/gift/blindBoxImgList?format=jsonp&gift_id=" + giftId;
2566
- }
2567
- function treasureGetInfoUrl(giftId) {
2568
- return papi() + "/TreasureV3/getInfo?giftid=" + giftId + "&apiver=1";
2569
- }
2570
- function treasureGetRecordUrl(giftId, page, step) {
2571
- return papi() + "/TreasureV3/getRecord?format=jsonp&giftid=" + giftId + "&page=" + page + "&step=" + (step || 10);
2572
- }
2573
- function treasureGoldUrl(giftId, cid, num, paySure, ctx) {
2574
- if (isImSource()) {
2575
- return papi() + "/TreasureV3/gold?" + joinQuery(openParts(giftId, num, paySure, ctx));
2576
- }
2577
- return papi() + "/TreasureV3/gold?giftid=" + giftId + "&cid=" + cid + "&num=" + (num || 1) + "&pay_confirm=1&pay_sure=" + (paySure || 0);
2578
- }
2579
- function treasureV3BuyUrl(giftId, cid, num, paySure, ctx) {
2580
- if (isImSource()) {
2581
- return papi() + "/TreasureV3/buy?" + joinQuery(openParts(giftId, num, paySure, ctx));
2582
- }
2583
- return papi() + "/TreasureV3/buy?giftid=" + giftId + "&cid=" + cid + "&num=" + (num || 1) + "&pay_confirm=1&pay_sure=" + (paySure || 0);
2584
- }
2585
- function modalBlindBoxPayUrl(giftId, cid, num, worth, isBuy, ctx) {
2586
- if (isImSource()) {
2587
- return papi() + "/treasure/blindBox?" + joinQuery([
2588
- ["anonymous", 0],
2589
- ["actid", 100],
2590
- ["platform", 0],
2591
- ["giftid", giftId],
2592
- ["num", num || 1],
2593
- ["pay_confirm", 1],
2594
- ["apiver", 1],
2595
- ["pay_sure", 0],
2596
- ["worth", worth || 0],
2597
- ["is_buy", isBuy || 0],
2598
- ["uids", ctx && ctx.selfUid],
2599
- ...sceneParts$1(ctx)
2600
- ]);
2601
- }
2602
- return papi() + "/treasure/blindBox?format=jsonp&giftid=" + giftId + "&cid=" + cid + "&num=" + (num || 1) + "&worth=" + (worth || 0) + "&is_buy=" + (isBuy || 0);
2603
- }
2604
- function diamondPrefixQuery(parts) {
2605
- return "anonymous=0&actid=" + (isImSource() ? 101 : 100) + "&platform=0&" + joinQuery(parts);
2606
- }
2607
- function boxPrefixQuery(parts) {
2608
- return "anonymous=0&actid=100&platform=0&" + joinQuery(parts);
2609
- }
2610
- function platformPrefixQuery(parts) {
2611
- return "platform=0&" + joinQuery(parts);
2612
- }
2613
- function getCrystalBlindBoxBaseUrl() {
2614
- if (options.isChatTest) {
2615
- return "https://act-test.tuwan.com/cdn/s1season-box.html";
2616
- }
2617
- const host = window.location.host || "";
2618
- const actHost = host.indexOf("diandiankaihei.com") > -1 ? "act.diandiankaihei.com" : "act.tuwan.com";
2619
- return "https://" + actHost + "/cdn/s1season-box.html";
2620
- }
2621
- function getCrystalBlindBoxUrl(cid, giftId, navid) {
2622
- const base = getCrystalBlindBoxBaseUrl();
2623
- if (isImSource()) {
2624
- return base + "?giftId=" + giftId + "&navid=" + navid;
3036
+ init(this, options2, instance$p, create_fragment$p, safe_not_equal, { diamondInfo: 5, showMoney: 6 });
2625
3037
  }
2626
- return base + "?cid=" + cid + "&giftId=" + giftId;
2627
3038
  }
2628
3039
  function clickOutside(nodeOrSelector, callback) {
2629
3040
  const handleClick = (event) => {
@@ -3294,7 +3705,7 @@ function create_if_block$l(ctx) {
3294
3705
  }
3295
3706
  };
3296
3707
  }
3297
- function create_fragment$p(ctx) {
3708
+ function create_fragment$o(ctx) {
3298
3709
  let div3;
3299
3710
  let div0;
3300
3711
  let span0;
@@ -3406,7 +3817,6 @@ function create_fragment$p(ctx) {
3406
3817
  ctx[3].countLocked;
3407
3818
  attr(div0, "class", div0_class_value = "giftbar-count " + /*ui*/
3408
3819
  (ctx[3].countLocked ? "is-locked" : ""));
3409
- set_style(div0, "margin-left", "10px");
3410
3820
  attr(div1, "class", "giftbar-btns");
3411
3821
  attr(div2, "class", "giftbar-recharge");
3412
3822
  attr(div3, "class", "giftbar-footer");
@@ -3584,7 +3994,7 @@ function create_fragment$p(ctx) {
3584
3994
  }
3585
3995
  };
3586
3996
  }
3587
- function instance$p($$self, $$props, $$invalidate) {
3997
+ function instance$o($$self, $$props, $$invalidate) {
3588
3998
  let buttons;
3589
3999
  let { diamondInfo = {} } = $$props;
3590
4000
  let { showMoney = false } = $$props;
@@ -3717,8 +4127,8 @@ class GiftFooter extends SvelteComponent {
3717
4127
  init(
3718
4128
  this,
3719
4129
  options2,
3720
- instance$p,
3721
- create_fragment$p,
4130
+ instance$o,
4131
+ create_fragment$o,
3722
4132
  safe_not_equal,
3723
4133
  {
3724
4134
  diamondInfo: 1,
@@ -4048,7 +4458,7 @@ function create_if_block_1$h(ctx) {
4048
4458
  }
4049
4459
  };
4050
4460
  }
4051
- function create_fragment$o(ctx) {
4461
+ function create_fragment$n(ctx) {
4052
4462
  let div;
4053
4463
  function select_block_type(ctx2, dirty) {
4054
4464
  if (
@@ -4104,7 +4514,7 @@ function create_fragment$o(ctx) {
4104
4514
  }
4105
4515
  };
4106
4516
  }
4107
- function instance$o($$self, $$props, $$invalidate) {
4517
+ function instance$n($$self, $$props, $$invalidate) {
4108
4518
  let view;
4109
4519
  let roseUrl;
4110
4520
  let { data = null } = $$props;
@@ -4126,7 +4536,7 @@ function instance$o($$self, $$props, $$invalidate) {
4126
4536
  class JingpaiNotice extends SvelteComponent {
4127
4537
  constructor(options2) {
4128
4538
  super();
4129
- init(this, options2, instance$o, create_fragment$o, safe_not_equal, { data: 2 });
4539
+ init(this, options2, instance$n, create_fragment$n, safe_not_equal, { data: 2 });
4130
4540
  }
4131
4541
  }
4132
4542
  const GIFT_BAR_EXTRA = {
@@ -4141,38 +4551,6 @@ function giftBarLog(tag, extra) {
4141
4551
  } catch (_e) {
4142
4552
  }
4143
4553
  }
4144
- const deferred = function() {
4145
- const defer = {};
4146
- defer.promise = new Promise((resolve, reject) => {
4147
- defer.resolve = resolve;
4148
- defer.reject = reject;
4149
- });
4150
- return defer;
4151
- };
4152
- function createModal(_Class, props = {}, target = document.body) {
4153
- const wrap = document.createElement("div");
4154
- wrap.setAttribute("data-modal-overlay", "");
4155
- wrap.setAttribute("data-giftbar-modal", "");
4156
- target.appendChild(wrap);
4157
- let modal = new _Class({ target: wrap, props: { closeModal, ...props } });
4158
- const defer = deferred();
4159
- function closeModal(err, result) {
4160
- try {
4161
- modal && modal.$destroy();
4162
- } finally {
4163
- modal = null;
4164
- if (wrap.parentNode) {
4165
- wrap.parentNode.removeChild(wrap);
4166
- }
4167
- }
4168
- if (err) {
4169
- defer.reject(err);
4170
- } else {
4171
- defer.resolve(result);
4172
- }
4173
- }
4174
- return { modal, closeModal, promise: defer.promise };
4175
- }
4176
4554
  function hasValue$1(value) {
4177
4555
  return value !== void 0 && value !== null && value !== "";
4178
4556
  }
@@ -4348,7 +4726,7 @@ function mustHaveRequest() {
4348
4726
  throw new Error("giftBarLib requires host request(url)");
4349
4727
  }
4350
4728
  }
4351
- function create_fragment$n(ctx) {
4729
+ function create_fragment$m(ctx) {
4352
4730
  let div3;
4353
4731
  let div2;
4354
4732
  let div0;
@@ -4470,7 +4848,7 @@ function create_fragment$n(ctx) {
4470
4848
  }
4471
4849
  const defaultMessageText = "今日消费已超过最大限额,确定是否继续打赏?";
4472
4850
  const giveUpConfirmMessage = "是否放弃首次充值限额设置";
4473
- function instance$n($$self, $$props, $$invalidate) {
4851
+ function instance$m($$self, $$props, $$invalidate) {
4474
4852
  let isLimitSettingsError;
4475
4853
  let messageText;
4476
4854
  let cancelBtnText;
@@ -4564,7 +4942,7 @@ function instance$n($$self, $$props, $$invalidate) {
4564
4942
  class ConsumeCheck extends SvelteComponent {
4565
4943
  constructor(options2) {
4566
4944
  super();
4567
- init(this, options2, instance$n, create_fragment$n, safe_not_equal, { closeModal: 5, res: 6, url: 7 });
4945
+ init(this, options2, instance$m, create_fragment$m, safe_not_equal, { closeModal: 5, res: 6, url: 7 });
4568
4946
  }
4569
4947
  }
4570
4948
  function showConsumeCheck({ res, url }) {
@@ -4864,7 +5242,7 @@ function create_each_block$7(ctx) {
4864
5242
  }
4865
5243
  };
4866
5244
  }
4867
- function create_fragment$m(ctx) {
5245
+ function create_fragment$l(ctx) {
4868
5246
  let div5;
4869
5247
  let div4;
4870
5248
  let div0;
@@ -5017,7 +5395,7 @@ function create_fragment$m(ctx) {
5017
5395
  }
5018
5396
  const click_handler_1 = () => {
5019
5397
  };
5020
- function instance$m($$self, $$props, $$invalidate) {
5398
+ function instance$l($$self, $$props, $$invalidate) {
5021
5399
  let btnText;
5022
5400
  let { closeModal } = $$props;
5023
5401
  let { gift } = $$props;
@@ -5115,7 +5493,7 @@ function instance$m($$self, $$props, $$invalidate) {
5115
5493
  class PardonCard extends SvelteComponent {
5116
5494
  constructor(options2) {
5117
5495
  super();
5118
- init(this, options2, instance$m, create_fragment$m, safe_not_equal, { closeModal: 9, gift: 10, cid: 11 });
5496
+ init(this, options2, instance$l, create_fragment$l, safe_not_equal, { closeModal: 9, gift: 10, cid: 11 });
5119
5497
  }
5120
5498
  }
5121
5499
  let opening = false;
@@ -5152,7 +5530,7 @@ function create_if_block_1$f(ctx) {
5152
5530
  /*title*/
5153
5531
  ctx[0]
5154
5532
  );
5155
- attr(div, "class", "giftbar-confirm-title svelte-qctpdt");
5533
+ attr(div, "class", "giftbar-confirm-title svelte-1bi4u90");
5156
5534
  },
5157
5535
  m(target, anchor) {
5158
5536
  insert(target, div, anchor);
@@ -5177,6 +5555,7 @@ function create_if_block$i(ctx) {
5177
5555
  let div;
5178
5556
  let i;
5179
5557
  let t0;
5558
+ let span;
5180
5559
  let t1;
5181
5560
  let mounted;
5182
5561
  let dispose;
@@ -5185,12 +5564,13 @@ function create_if_block$i(ctx) {
5185
5564
  div = element("div");
5186
5565
  i = element("i");
5187
5566
  t0 = space();
5567
+ span = element("span");
5188
5568
  t1 = text(
5189
5569
  /*checkboxText*/
5190
5570
  ctx[4]
5191
5571
  );
5192
- attr(i, "class", "svelte-qctpdt");
5193
- attr(div, "class", "giftbar-confirm-choice svelte-qctpdt");
5572
+ attr(i, "class", "svelte-1bi4u90");
5573
+ attr(div, "class", "giftbar-confirm-choice svelte-1bi4u90");
5194
5574
  attr(div, "role", "presentation");
5195
5575
  toggle_class(
5196
5576
  div,
@@ -5203,7 +5583,8 @@ function create_if_block$i(ctx) {
5203
5583
  insert(target, div, anchor);
5204
5584
  append(div, i);
5205
5585
  append(div, t0);
5206
- append(div, t1);
5586
+ append(div, span);
5587
+ append(span, t1);
5207
5588
  if (!mounted) {
5208
5589
  dispose = listen(div, "click", stop_propagation(
5209
5590
  /*click_handler_1*/
@@ -5238,7 +5619,7 @@ function create_if_block$i(ctx) {
5238
5619
  }
5239
5620
  };
5240
5621
  }
5241
- function create_fragment$l(ctx) {
5622
+ function create_fragment$k(ctx) {
5242
5623
  let div3;
5243
5624
  let div2;
5244
5625
  let t0;
@@ -5283,15 +5664,15 @@ function create_fragment$l(ctx) {
5283
5664
  );
5284
5665
  t5 = space();
5285
5666
  if (if_block1) if_block1.c();
5286
- attr(div0, "class", "giftbar-confirm-body svelte-qctpdt");
5667
+ attr(div0, "class", "giftbar-confirm-body svelte-1bi4u90");
5287
5668
  attr(button0, "type", "button");
5288
- attr(button0, "class", "giftbar-confirm-btn giftbar-confirm-cancel svelte-qctpdt");
5669
+ attr(button0, "class", "giftbar-confirm-btn giftbar-confirm-cancel svelte-1bi4u90");
5289
5670
  attr(button1, "type", "button");
5290
- attr(button1, "class", "giftbar-confirm-btn giftbar-confirm-ok svelte-qctpdt");
5291
- attr(div1, "class", "giftbar-confirm-footer svelte-qctpdt");
5292
- attr(div2, "class", "giftbar-confirm-dialog svelte-qctpdt");
5671
+ attr(button1, "class", "giftbar-confirm-btn giftbar-confirm-ok svelte-1bi4u90");
5672
+ attr(div1, "class", "giftbar-confirm-footer svelte-1bi4u90");
5673
+ attr(div2, "class", "giftbar-confirm-dialog svelte-1bi4u90");
5293
5674
  attr(div2, "role", "presentation");
5294
- attr(div3, "class", "giftbar-confirm-mask svelte-qctpdt");
5675
+ attr(div3, "class", "giftbar-confirm-mask svelte-1bi4u90");
5295
5676
  attr(div3, "role", "presentation");
5296
5677
  },
5297
5678
  m(target, anchor) {
@@ -5313,18 +5694,14 @@ function create_fragment$l(ctx) {
5313
5694
  if (if_block1) if_block1.m(div2, null);
5314
5695
  if (!mounted) {
5315
5696
  dispose = [
5316
- listen(
5317
- button0,
5318
- "click",
5697
+ listen(button0, "click", stop_propagation(
5319
5698
  /*onCancel*/
5320
5699
  ctx[6]
5321
- ),
5322
- listen(
5323
- button1,
5324
- "click",
5700
+ )),
5701
+ listen(button1, "click", stop_propagation(
5325
5702
  /*onConfirm*/
5326
5703
  ctx[7]
5327
- ),
5704
+ )),
5328
5705
  listen(div2, "click", stop_propagation(
5329
5706
  /*click_handler*/
5330
5707
  ctx[9]
@@ -5397,7 +5774,7 @@ function create_fragment$l(ctx) {
5397
5774
  }
5398
5775
  };
5399
5776
  }
5400
- function instance$l($$self, $$props, $$invalidate) {
5777
+ function instance$k($$self, $$props, $$invalidate) {
5401
5778
  let { closeModal } = $$props;
5402
5779
  let { title = "温馨提示" } = $$props;
5403
5780
  let { message = "" } = $$props;
@@ -5405,11 +5782,20 @@ function instance$l($$self, $$props, $$invalidate) {
5405
5782
  let { confirmText = "确认" } = $$props;
5406
5783
  let { checkboxText = "" } = $$props;
5407
5784
  let checked = false;
5785
+ function finish(ok) {
5786
+ const payload = { ok, checked };
5787
+ setTimeout(
5788
+ () => {
5789
+ closeModal && closeModal(null, payload);
5790
+ },
5791
+ 0
5792
+ );
5793
+ }
5408
5794
  function onCancel() {
5409
- closeModal && closeModal(null, { ok: false, checked });
5795
+ finish(false);
5410
5796
  }
5411
5797
  function onConfirm() {
5412
- closeModal && closeModal(null, { ok: true, checked });
5798
+ finish(true);
5413
5799
  }
5414
5800
  function click_handler(event) {
5415
5801
  bubble.call(this, $$self, event);
@@ -5440,7 +5826,7 @@ function instance$l($$self, $$props, $$invalidate) {
5440
5826
  class ConfirmDialog extends SvelteComponent {
5441
5827
  constructor(options2) {
5442
5828
  super();
5443
- init(this, options2, instance$l, create_fragment$l, safe_not_equal, {
5829
+ init(this, options2, instance$k, create_fragment$k, safe_not_equal, {
5444
5830
  closeModal: 8,
5445
5831
  title: 0,
5446
5832
  message: 1,
@@ -5664,226 +6050,6 @@ async function payGiftAction({ gift, tabId, count, selectedUser, action, extra }
5664
6050
  });
5665
6051
  return requestPay(url, { gift, tabId, count, selectedUser, action, ctx, extra: extra || {} });
5666
6052
  }
5667
- function create_fragment$k(ctx) {
5668
- let div1;
5669
- let div0;
5670
- let iframe;
5671
- let iframe_src_value;
5672
- let mounted;
5673
- let dispose;
5674
- return {
5675
- c() {
5676
- div1 = element("div");
5677
- div0 = element("div");
5678
- iframe = element("iframe");
5679
- attr(iframe, "title", "blind-box");
5680
- if (!src_url_equal(iframe.src, iframe_src_value = /*url*/
5681
- ctx[0])) attr(iframe, "src", iframe_src_value);
5682
- attr(
5683
- iframe,
5684
- "width",
5685
- /*width*/
5686
- ctx[1]
5687
- );
5688
- attr(
5689
- iframe,
5690
- "height",
5691
- /*height*/
5692
- ctx[2]
5693
- );
5694
- attr(iframe, "frameborder", "0");
5695
- attr(iframe, "allow", "local-network-access 'src'");
5696
- attr(iframe, "class", "svelte-1ma5gxj");
5697
- attr(div0, "role", "presentation");
5698
- attr(div0, "class", "giftbar-iframe-wrap svelte-1ma5gxj");
5699
- set_style(
5700
- div0,
5701
- "width",
5702
- /*width*/
5703
- ctx[1] + "px"
5704
- );
5705
- set_style(
5706
- div0,
5707
- "height",
5708
- /*height*/
5709
- ctx[2] + "px"
5710
- );
5711
- attr(
5712
- div1,
5713
- "id",
5714
- /*iframeId*/
5715
- ctx[3]
5716
- );
5717
- attr(div1, "class", "giftbar-iframe-mask svelte-1ma5gxj");
5718
- attr(div1, "role", "presentation");
5719
- },
5720
- m(target, anchor) {
5721
- insert(target, div1, anchor);
5722
- append(div1, div0);
5723
- append(div0, iframe);
5724
- if (!mounted) {
5725
- dispose = [
5726
- listen(div0, "click", stop_propagation(
5727
- /*click_handler*/
5728
- ctx[7]
5729
- )),
5730
- listen(div1, "click", stop_propagation(
5731
- /*handleClose*/
5732
- ctx[4]
5733
- ))
5734
- ];
5735
- mounted = true;
5736
- }
5737
- },
5738
- p(ctx2, [dirty]) {
5739
- if (dirty & /*url*/
5740
- 1 && !src_url_equal(iframe.src, iframe_src_value = /*url*/
5741
- ctx2[0])) {
5742
- attr(iframe, "src", iframe_src_value);
5743
- }
5744
- if (dirty & /*width*/
5745
- 2) {
5746
- attr(
5747
- iframe,
5748
- "width",
5749
- /*width*/
5750
- ctx2[1]
5751
- );
5752
- }
5753
- if (dirty & /*height*/
5754
- 4) {
5755
- attr(
5756
- iframe,
5757
- "height",
5758
- /*height*/
5759
- ctx2[2]
5760
- );
5761
- }
5762
- if (dirty & /*width*/
5763
- 2) {
5764
- set_style(
5765
- div0,
5766
- "width",
5767
- /*width*/
5768
- ctx2[1] + "px"
5769
- );
5770
- }
5771
- if (dirty & /*height*/
5772
- 4) {
5773
- set_style(
5774
- div0,
5775
- "height",
5776
- /*height*/
5777
- ctx2[2] + "px"
5778
- );
5779
- }
5780
- if (dirty & /*iframeId*/
5781
- 8) {
5782
- attr(
5783
- div1,
5784
- "id",
5785
- /*iframeId*/
5786
- ctx2[3]
5787
- );
5788
- }
5789
- },
5790
- i: noop,
5791
- o: noop,
5792
- d(detaching) {
5793
- if (detaching) {
5794
- detach(div1);
5795
- }
5796
- mounted = false;
5797
- run_all(dispose);
5798
- }
5799
- };
5800
- }
5801
- function instance$k($$self, $$props, $$invalidate) {
5802
- let { closeModal } = $$props;
5803
- let { url = "" } = $$props;
5804
- let { width = 400 } = $$props;
5805
- let { height = 585 } = $$props;
5806
- let { onRefreshHaveGift = null } = $$props;
5807
- let { iframeId = "" } = $$props;
5808
- let closed = false;
5809
- function handleClose() {
5810
- if (closed) {
5811
- return;
5812
- }
5813
- closed = true;
5814
- onRefreshHaveGift && onRefreshHaveGift();
5815
- closeModal && closeModal(null, true);
5816
- }
5817
- function onMessage(event) {
5818
- const data = event.data || {};
5819
- if (data.closeIframe) {
5820
- if (data.id && iframeId && String(data.id) !== String(iframeId)) {
5821
- return;
5822
- }
5823
- handleClose();
5824
- return;
5825
- }
5826
- if (data.channel === "common_iframe" && data.type === "refreshHaveGift") {
5827
- onRefreshHaveGift && onRefreshHaveGift();
5828
- }
5829
- }
5830
- onMount(() => {
5831
- window.addEventListener("message", onMessage);
5832
- });
5833
- onDestroy(() => {
5834
- window.removeEventListener("message", onMessage);
5835
- });
5836
- function click_handler(event) {
5837
- bubble.call(this, $$self, event);
5838
- }
5839
- $$self.$$set = ($$props2) => {
5840
- if ("closeModal" in $$props2) $$invalidate(5, closeModal = $$props2.closeModal);
5841
- if ("url" in $$props2) $$invalidate(0, url = $$props2.url);
5842
- if ("width" in $$props2) $$invalidate(1, width = $$props2.width);
5843
- if ("height" in $$props2) $$invalidate(2, height = $$props2.height);
5844
- if ("onRefreshHaveGift" in $$props2) $$invalidate(6, onRefreshHaveGift = $$props2.onRefreshHaveGift);
5845
- if ("iframeId" in $$props2) $$invalidate(3, iframeId = $$props2.iframeId);
5846
- };
5847
- return [
5848
- url,
5849
- width,
5850
- height,
5851
- iframeId,
5852
- handleClose,
5853
- closeModal,
5854
- onRefreshHaveGift,
5855
- click_handler
5856
- ];
5857
- }
5858
- class IframeModal extends SvelteComponent {
5859
- constructor(options2) {
5860
- super();
5861
- init(this, options2, instance$k, create_fragment$k, safe_not_equal, {
5862
- closeModal: 5,
5863
- url: 0,
5864
- width: 1,
5865
- height: 2,
5866
- onRefreshHaveGift: 6,
5867
- iframeId: 3
5868
- });
5869
- }
5870
- }
5871
- function showIframeBlindBox({ cid, giftId, navid, onRefreshHaveGift }) {
5872
- const iframeId = "iframe_" + Date.now();
5873
- const base = getCrystalBlindBoxUrl(cid, giftId, navid);
5874
- const url = base + (base.indexOf("?") >= 0 ? "&" : "?") + "eleId=" + encodeURIComponent(iframeId);
5875
- return createModal(
5876
- IframeModal,
5877
- {
5878
- url,
5879
- iframeId,
5880
- width: 400,
5881
- height: 585,
5882
- onRefreshHaveGift
5883
- },
5884
- document.body
5885
- );
5886
- }
5887
6053
  class SvgaPlayer {
5888
6054
  constructor() {
5889
6055
  this.instance = null;
@@ -18886,7 +19052,11 @@ function create_if_block(ctx) {
18886
19052
  ),
18887
19053
  onClickItem: (
18888
19054
  /*chooseGift*/
18889
- ctx[18]
19055
+ ctx[19]
19056
+ ),
19057
+ onOpenHelp: (
19058
+ /*openGiftHelp*/
19059
+ ctx[20]
18890
19060
  )
18891
19061
  }
18892
19062
  });
@@ -18926,16 +19096,16 @@ function create_if_block(ctx) {
18926
19096
  ctx[12]
18927
19097
  ),
18928
19098
  onSelectUser: (
18929
- /*func*/
18930
- ctx[29]
19099
+ /*chooseUser*/
19100
+ ctx[18]
18931
19101
  ),
18932
19102
  onCountChange: (
18933
- /*func_1*/
18934
- ctx[30]
19103
+ /*func*/
19104
+ ctx[31]
18935
19105
  ),
18936
19106
  onAction: (
18937
19107
  /*handleAction*/
18938
- ctx[19]
19108
+ ctx[21]
18939
19109
  )
18940
19110
  }
18941
19111
  });
@@ -18978,7 +19148,7 @@ function create_if_block(ctx) {
18978
19148
  if (!mounted) {
18979
19149
  dispose = listen(div1, "click", stop_propagation(
18980
19150
  /*click_handler*/
18981
- ctx[28]
19151
+ ctx[30]
18982
19152
  ));
18983
19153
  mounted = true;
18984
19154
  }
@@ -19070,12 +19240,9 @@ function create_if_block(ctx) {
19070
19240
  if (dirty[0] & /*selectNum*/
19071
19241
  4096) giftfooter_changes.selectNum = /*selectNum*/
19072
19242
  ctx2[12];
19073
- if (dirty[0] & /*selectUser*/
19074
- 256) giftfooter_changes.onSelectUser = /*func*/
19075
- ctx2[29];
19076
19243
  if (dirty[0] & /*selectNum*/
19077
- 4096) giftfooter_changes.onCountChange = /*func_1*/
19078
- ctx2[30];
19244
+ 4096) giftfooter_changes.onCountChange = /*func*/
19245
+ ctx2[31];
19079
19246
  giftfooter.$set(giftfooter_changes);
19080
19247
  if (!current || dirty[0] & /*isShow*/
19081
19248
  8) {
@@ -19322,7 +19489,7 @@ function instance($$self, $$props, $$invalidate) {
19322
19489
  }
19323
19490
  function applyUpdate(payload) {
19324
19491
  if (payload && payload.extras) {
19325
- $$invalidate(27, extras = payload.extras);
19492
+ $$invalidate(29, extras = payload.extras);
19326
19493
  }
19327
19494
  }
19328
19495
  onMount(() => {
@@ -19485,7 +19652,7 @@ function instance($$self, $$props, $$invalidate) {
19485
19652
  const response = await options.request(giftListsUrl(cid, 0));
19486
19653
  applyTabList(response);
19487
19654
  if (response && response.error === 0) {
19488
- $$invalidate(26, isSend = response.is_send);
19655
+ $$invalidate(28, isSend = response.is_send);
19489
19656
  applyBanner(response);
19490
19657
  }
19491
19658
  }
@@ -19504,7 +19671,7 @@ function instance($$self, $$props, $$invalidate) {
19504
19671
  const response = await options.request(giftListsUrl(cid, activeTabId));
19505
19672
  if (response && response.error === 0) {
19506
19673
  applyTabList(response);
19507
- $$invalidate(26, isSend = response.is_send);
19674
+ $$invalidate(28, isSend = response.is_send);
19508
19675
  const data = response.data || [];
19509
19676
  decorateShop(data);
19510
19677
  $$invalidate(6, giftList = data);
@@ -19561,6 +19728,12 @@ function instance($$self, $$props, $$invalidate) {
19561
19728
  updateBaoguo();
19562
19729
  }
19563
19730
  }
19731
+ function chooseUser(user) {
19732
+ $$invalidate(8, selectUser = user);
19733
+ if (typeof options.onSelectUser === "function") {
19734
+ options.onSelectUser(user);
19735
+ }
19736
+ }
19564
19737
  function chooseGift(giftItem) {
19565
19738
  resetCount();
19566
19739
  if (Number(giftItem && giftItem.type) === 37) {
@@ -19569,6 +19742,13 @@ function instance($$self, $$props, $$invalidate) {
19569
19742
  $$invalidate(1, selectGiftItem = giftItem);
19570
19743
  applySelectEffect(giftItem);
19571
19744
  }
19745
+ function openGiftHelp(gift) {
19746
+ const url = gift && gift.explain_url;
19747
+ if (!url) {
19748
+ return;
19749
+ }
19750
+ showExplainIframe(url);
19751
+ }
19572
19752
  async function openIframe(giftItem) {
19573
19753
  const ctx = await options.getPayContext({
19574
19754
  gift: giftItem,
@@ -19669,11 +19849,10 @@ function instance($$self, $$props, $$invalidate) {
19669
19849
  function click_handler(event) {
19670
19850
  bubble.call(this, $$self, event);
19671
19851
  }
19672
- const func = (user) => $$invalidate(8, selectUser = user);
19673
- const func_1 = (num) => $$invalidate(12, selectNum = num);
19852
+ const func = (num) => $$invalidate(12, selectNum = num);
19674
19853
  $$self.$$.update = () => {
19675
19854
  if ($$self.$$.dirty[0] & /*selectGiftItem, activeTabId, isSend*/
19676
- 67108867) {
19855
+ 268435459) {
19677
19856
  $$invalidate(2, ui = getSelectUiState(selectGiftItem, activeTabId, isSend));
19678
19857
  }
19679
19858
  if ($$self.$$.dirty[0] & /*selectGiftItem, activeTabId*/
@@ -19685,7 +19864,7 @@ function instance($$self, $$props, $$invalidate) {
19685
19864
  $$invalidate(15, emptyImg = isPackageTab(activeTabId) ? getEmptyBagImg() : "");
19686
19865
  }
19687
19866
  if ($$self.$$.dirty[0] & /*extras*/
19688
- 134217728) {
19867
+ 536870912) {
19689
19868
  $$invalidate(14, jingpai = extras[GIFT_BAR_EXTRA.JINGPAI]);
19690
19869
  }
19691
19870
  if ($$self.$$.dirty[0] & /*ui*/
@@ -19714,7 +19893,9 @@ function instance($$self, $$props, $$invalidate) {
19714
19893
  emptyImg,
19715
19894
  tip,
19716
19895
  switchTab,
19896
+ chooseUser,
19717
19897
  chooseGift,
19898
+ openGiftHelp,
19718
19899
  handleAction,
19719
19900
  show,
19720
19901
  hide,
@@ -19725,8 +19906,7 @@ function instance($$self, $$props, $$invalidate) {
19725
19906
  isSend,
19726
19907
  extras,
19727
19908
  click_handler,
19728
- func,
19729
- func_1
19909
+ func
19730
19910
  ];
19731
19911
  }
19732
19912
  class GiftPanel extends SvelteComponent {
@@ -19739,34 +19919,34 @@ class GiftPanel extends SvelteComponent {
19739
19919
  create_fragment,
19740
19920
  safe_not_equal,
19741
19921
  {
19742
- show: 20,
19743
- hide: 21,
19744
- reset: 22,
19745
- updateDiamond: 23,
19746
- updateBaoguo: 24,
19747
- isShowing: 25
19922
+ show: 22,
19923
+ hide: 23,
19924
+ reset: 24,
19925
+ updateDiamond: 25,
19926
+ updateBaoguo: 26,
19927
+ isShowing: 27
19748
19928
  },
19749
19929
  null,
19750
19930
  [-1, -1]
19751
19931
  );
19752
19932
  }
19753
19933
  get show() {
19754
- return this.$$.ctx[20];
19934
+ return this.$$.ctx[22];
19755
19935
  }
19756
19936
  get hide() {
19757
- return this.$$.ctx[21];
19937
+ return this.$$.ctx[23];
19758
19938
  }
19759
19939
  get reset() {
19760
- return this.$$.ctx[22];
19940
+ return this.$$.ctx[24];
19761
19941
  }
19762
19942
  get updateDiamond() {
19763
- return this.$$.ctx[23];
19943
+ return this.$$.ctx[25];
19764
19944
  }
19765
19945
  get updateBaoguo() {
19766
- return this.$$.ctx[24];
19946
+ return this.$$.ctx[26];
19767
19947
  }
19768
19948
  get isShowing() {
19769
- return this.$$.ctx[25];
19949
+ return this.$$.ctx[27];
19770
19950
  }
19771
19951
  }
19772
19952
  function merge(target, source) {