1- let base ;
21let terminal = new Worker ( "/SimpleThread/terminal.js" ) ;
2+ let base ;
3+ let locales = null ;
4+
5+
36
47window . addEventListener ( "DOMContentLoaded" , ( ) => {
58 let menuContainer = new DOM . ComponentLoader ( "/SimpleThread/libraries/common/" ) . doc . querySelector ( "Body" ) ;
@@ -43,115 +46,131 @@ window.addEventListener("DOMContentLoaded", () => {
4346
4447
4548 new DOM ( "@Main" ) . forEach ( elem => {
46- [ "mdc-typography" , "mdc-typography--body2 " , "mdc-elevation--z5" , "mdc-toolbar-fixed-adjust" ] . forEach ( className => elem . classList . add ( className ) ) ;
49+ [ "mdc-typography" , "mdc-typography--body1 " , "mdc-elevation--z5" , "mdc-toolbar-fixed-adjust" ] . forEach ( className => elem . classList . add ( className ) ) ;
4750 } ) ;
4851
4952
5053
5154 terminal . addEventListener ( "message" , event => {
52- if ( event . data . code == "Initialized" ) {
53- base = new DBLoader ( "/SimpleThread/firebase.json" , ( user ) => {
54- /*window.gapi.load("picker", () => {
55- window.Picker = class Picker extends google.picker.PickerBuilder {
56- static get PhotoPicker () {
57- return class PhotoPicker extends window.Picker {
58- constructor (onSelect = (data) => {}) {
59- super(onSelect);
60- super.addView(google.picker.ViewId.PHOTOS);
55+ switch ( event . data . code ) {
56+ case "LocalizeInitialized" :
57+ locales = new LangLoader ( ) ;
58+ locales . load ( localStorage . getItem ( "com.GenbuProject.SimpleThread.currentLang" ) ) ;
59+ locales . apply ( this ) ;
60+
61+ break ;
62+
63+ case "Initialized" :
64+ base = new DBLoader ( "/SimpleThread/firebase.json" , ( user ) => {
65+ /*window.gapi.load("picker", () => {
66+ window.Picker = class Picker extends google.picker.PickerBuilder {
67+ static get PhotoPicker () {
68+ return class PhotoPicker extends window.Picker {
69+ constructor (onSelect = (data) => {}) {
70+ super(onSelect);
71+ super.addView(google.picker.ViewId.PHOTOS);
72+ }
6173 }
6274 }
63- }
64-
65- static get FilePicker () {
66- return class FilePicker extends window.Picker {
67- constructor (onSelect = (data) => {}) {
68- super(onSelect );
69- super.addView(google.picker.ViewId.DOCS);
75+
76+ static get FilePicker () {
77+ return class FilePicker extends window.Picker {
78+ constructor (onSelect = (data) => {}) {
79+ super (onSelect);
80+ super.addView(google.picker.ViewId.DOCS );
81+ }
7082 }
7183 }
84+
85+
86+
87+ constructor (onSelect = (data) => {}) {
88+ super();
89+
90+ super.setOAuthToken(base.accessToken),
91+ super.setDeveloperKey(base.option.apiKey),
92+ super.setCallback(onSelect);
93+ }
94+
95+ show () {
96+ let picker = this.picker = this.build();
97+ picker.setVisible(true);
98+ }
99+
100+ dismiss () {
101+ this.picker.setVisible(false);
102+ }
72103 }
73-
74-
75-
76- constructor (onSelect = (data) => {}) {
77- super();
78-
79- super.setOAuthToken(base.accessToken),
80- super.setDeveloperKey(base.option.apiKey),
81- super.setCallback(onSelect);
82- }
83-
84- show () {
85- let picker = this.picker = this.build();
86- picker.setVisible(true);
87- }
88-
89- dismiss () {
90- this.picker.setVisible(false);
91- }
92- }
93- });
94-
95-
96-
97- if (user) {
98- new DOM("#Header_SignInOut").dataset.locales = "main.signOut";
99-
100- base.Database.getInfo(base.Database.ONCE, `users/${user.uid}`, (res) => {
101- new DOM('@A [UUID="ProfilePhoto-Btn"]').forEach((btn) => {
102- btn.dataset.uid = user.uid;
103- });
104-
105- if (!res.exists()) {
106- base.Database.set(`users/${user.uid}`, {
107- gplusName: user.providerData[0].displayName,
108- gplusPhoto: user.photoURL,
109- userName: user.providerData[0].displayName,
110- detail: "",
111- links: []
104+ });
105+
106+
107+
108+ if (user) {
109+ new DOM("#Header_SignInOut").dataset.locales = "main.signOut";
110+
111+ base.Database.getInfo(base.Database.ONCE, `users/${user.uid}`, (res) => {
112+ new DOM('@A [UUID="ProfilePhoto-Btn"]').forEach((btn) => {
113+ btn.dataset.uid = user.uid;
112114 });
113-
114- new DOM("#Dialogs_Account_CreateNotify").showModal();
115- } else {
116- base.Database.update(`users/${user.uid}`, {
117- gplusName: user.providerData[0].displayName,
118- gplusPhoto: user.photoURL
115+
116+ if (!res.exists()) {
117+ base.Database.set(`users/${user.uid}`, {
118+ gplusName: user.providerData[0].displayName,
119+ gplusPhoto: user.photoURL,
120+ userName: user.providerData[0].displayName,
121+ detail: "",
122+ links: []
123+ });
124+
125+ new DOM("#Dialogs_Account_CreateNotify").showModal();
126+ } else {
127+ base.Database.update(`users/${user.uid}`, {
128+ gplusName: user.providerData[0].displayName,
129+ gplusPhoto: user.photoURL
130+ });
131+ }
132+ });
133+
134+ base.Database.get(base.Database.ONCE, `users/${base.user.uid}`, (res) => {
135+ new DOM("#Dialogs_Thread_Poster_Header_ActorPhoto").dataset.uid = base.user.uid;
136+ new DOM("#Dialogs_Thread_Poster_Header_Actor").textContent = res.userName;
137+ });
138+ } else {
139+ window.addEventListener("DOMContentLoaded", () => {
140+ new DOM('@*[UUID="ProfilePhoto-Btn"]').forEach((btn) => {
141+ btn.setAttribute("Disabled", "");
119142 });
120- }
121- });
122-
123- base.Database.get(base.Database.ONCE, `users/${base.user.uid}`, (res) => {
124- new DOM("#Dialogs_Thread_Poster_Header_ActorPhoto").dataset.uid = base.user.uid;
125- new DOM("#Dialogs_Thread_Poster_Header_Actor").textContent = res.userName;
126- });
127- } else {
128- window.addEventListener("DOMContentLoaded", () => {
129- new DOM('@*[UUID="ProfilePhoto-Btn"]').forEach((btn) => {
130- btn.setAttribute("Disabled", "");
131143 });
132- });
133- }
134-
135- locales.applyToElement(new DOM("#Header_SignInOut"));
136-
137- base.Database.get(base.Database.ONCE, "users", (res) => {
138- for (let uid in res) {
139- let photoStyle = new Component.Styles.ProfilePhotoManager(uid, res[uid].gplusPhoto);
140-
141- document.head.appendChild(photoStyle);
142144 }
145+
146+ locales.applyToElement(new DOM("#Header_SignInOut"));
147+
148+ base.Database.get(base.Database.ONCE, "users", (res) => {
149+ for (let uid in res) {
150+ let photoStyle = new Component.Styles.ProfilePhotoManager(uid, res[uid].gplusPhoto);
151+
152+ document.head.appendChild(photoStyle);
153+ }
154+ });
155+
156+
157+
158+ let querys = location.querySort();
159+
160+ if (querys.TID) {
161+ new DOM("$IFrame.mdl-layout__content").src = `Thread/Viewer/?tid=${querys.TID}`;
162+ }*/
163+
164+ terminal . postMessage ( { code : "DBConnected" } ) ;
143165 } ) ;
144-
145-
146-
147- let querys = location.querySort();
148-
149- if (querys.TID) {
150- new DOM("$IFrame.mdl-layout__content").src = `Thread/Viewer/?tid=${querys.TID}`;
151- }*/
152-
153- terminal . postMessage ( { code : "DBConnected" } ) ;
154- } ) ;
166+
167+ break ;
155168 }
156169 } ) ;
170+ } ) ;
171+
172+ window . addEventListener ( "DOMNodeInserted" , ( event ) => {
173+ if ( event . target . nodeName != "#text" && event . relatedNode . dataset && event . relatedNode . dataset . locales ) {
174+ locales . applyToElement ( event . relatedNode ) ;
175+ }
157176} ) ;
0 commit comments