PageSourceSearch

https://www.brei.men/assets/js/page/bio.js

js brei.men collected 2026-10-04 21:18:50 UTC 4,857 bytes, 163 lines download raw bytes

1'use strict';
2(() => {
3  const layer = [
4    {
5      name: 'TOP',
6      href: '/',
7    },
8    {
9      name: 'BIOGRAPHY',
10      href: '/bio/',
11    },
12  ];
13
14  PAGE_FUNCTION.add('bio', {
15    enter() {
16      var _PAGE_LAYER, _PAGE_LAYER$change;
17      (_PAGE_LAYER = PAGE_LAYER) === null || _PAGE_LAYER === void 0 ? void 0 : (_PAGE_LAYER$change = _PAGE_LAYER.change) === null || _PAGE_LAYER$change === void 0 ? void 0 : _PAGE_LAYER$change.call(_PAGE_LAYER, layer);
18      PAGE_BIO.setup();
19    },
20    leave() {
21      PAGE_BIO.destroy();
22      // bioMovieStop();
23    },
24  });
25
26  const PAGE_BIO = {
27    instance: {},
28    setup() {
29      this.instance[CURRENT_AREA_ID] = Vue.createApp(vBio);
30      this.instance[CURRENT_AREA_ID].mount($_CURRENT_CONTENT.find('.v-bio').get()[0]);
31    },
32    destroy() {
33      this.instance[PREV_AREA_ID].unmount();
34    },
35  };
36
37  const vBio = Vue.defineComponent({
38    name: 'Bio',
39    components: {
40      vPagination,
41      vScrollVisual,
42    },
43    setup(props, context) {
44      // ========== INITIAL AREA ==========
45      const init = Vue.ref(false);
46      const loading = Vue.ref(false);
47      const state = Vue.ref(vStore.state);
48      const text = Vue.ref(null);
49
50      Vue.onMounted(() => {
51        Vue.nextTick(() => {
52          setTimeout(() => {
53            init.value = true;
54            Lazy.update();
55          }, 100);
56        });
57      });
58
59      // movie
60
61      const movieInit = Vue.ref(false);
62      const moviePlay = Vue.ref(false);
63      const movieId = Vue.ref(null);
64
65      let bioMovie = undefined;
66      const setMovie = (id) => {
67        bioMovie = new YT.Player('bio_player', {
68          videoId: id,
69          playerVars: {
70            rel: 0,
71            loop: 1,
72            cc_load_policy: 0,
73            playlist: id,
74            controls: 0,
75            disablekb: 1,
76            playsinline: 1,
77            html5: 1,
78          },
79        });
80        bioMovie.addEventListener('onReady', () => {
81          bioMovie.mute();
82          bioMovie.playVideo();
83        });
84        bioMovie.addEventListener('onStateChange', (_ref) => {
85          let {data} = _ref;
86          moviePlay.value = data === 1;
87        });
88      };
89
90      function bioMovieSet(id) {
91        movieInit.value = true;
92        if (!bioMovie) {
93          function set(id) {
94            var _YT;
95            if (typeof YT !== 'undefined' && (_YT = YT) !== null && _YT !== void 0 && _YT.Player) {
96              setMovie(id);
97            } else {
98              setTimeout(() => {
99                set(id);
100              }, 500);
101            }
102          }
103          set(id);
104        } else {
105          if (movieId.value !== id) {
106            bioMovieChange(id);
107          } else {
108            bioMoviePlay();
109          }
110        }
111        if (movieId.value !== id) movieId.value = id;
112      }
113      function bioMovieChange(id) {
114        var _bioMovie, _bioMovie$loadVideoBy, _bioMovie2, _bioMovie2$loadPlayli;
115        (_bioMovie = bioMovie) === null || _bioMovie === void 0 ? void 0 : (_bioMovie$loadVideoBy = _bioMovie.loadVideoById) === null || _bioMovie$loadVideoBy === void 0 ? void 0 : _bioMovie$loadVideoBy.call(_bioMovie, id);
116        (_bioMovie2 = bioMovie) === null || _bioMovie2 === void 0 ? void 0 : (_bioMovie2$loadPlayli = _bioMovie2.loadPlaylist) === null || _bioMovie2$loadPlayli === void 0 ? void 0 : _bioMovie2$loadPlayli.call(_bioMovie2, id);
117      }
118      function bioMoviePlay() {
119        var _bioMovie3, _bioMovie3$playVideo;
120        (_bioMovie3 = bioMovie) === null || _bioMovie3 === void 0 ? void 0 : (_bioMovie3$playVideo = _bioMovie3.playVideo) === null || _bioMovie3$playVideo === void 0 ? void 0 : _bioMovie3$playVideo.call(_bioMovie3);
121      }
122      function bioMoviePause() {
123        var _bioMovie4, _bioMovie4$pauseVideo;
124        (_bioMovie4 = bioMovie) === null || _bioMovie4 === void 0 ? void 0 : (_bioMovie4$pauseVideo = _bioMovie4.pauseVideo) === null || _bioMovie4$pauseVideo === void 0 ? void 0 : _bioMovie4$pauseVideo.call(_bioMovie4);
125      }
126      function bioMovieStop() {
127        bioMoviePause();
128        movieInit.value = false;
129      }
130      Vue.onMounted(() => {
131        bioMovieSet('Lrl6_7OKAio');
132      });
133      Vue.onUnmounted(() => {
134        bioMovieStop();
135      });
136
137      // ========== BIO AREA ==========
138      const bioApi = vStore.API.profile;
139      Vue.onMounted(() => {
140        Vue.nextTick(() => {
141          setTimeout(() => {
142            const links = text.value.querySelectorAll('a');
143            links === null || links === void 0 ? void 0 : links.forEach((el) => el.setAttribute('target', '_blank'));
144          }, 100);
145        });
146      });
147
148      return {
149        // initial
150        root: root,
151        init,
152        loading,
153        state,
154        bio: bioApi.data,
155        text,
156        // bio
157        nl2br,
158        movieInit,
159        moviePlay,
160      };
161    },
162  });
163})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.