Better yet, the main script into its own file.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3644 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
		@@ -1 +1 @@
 | 
			
		||||
{"type":"tildefriends-app","files":{"app.js":"&qvp1qQcymJp9pWxnZXA9/VXFt6FRGj9JCAxNCt/afsU=.sha256","index.html":"&vMOt54ko7CqKGDOaFkozfGwOoCU4QbL2+JE9r4/zDAk=.sha256","vue-material.js":"&K5cdLqXYCENPak/TCINHQhyJhpS4G9DlZHGwoh/LF2g=.sha256","tf-user.js":"&V9Ol799hM6i1PZDbAS91CMhgx7aENDTJnT+KrwK4Lh4=.sha256","tf-message.js":"&e811GqoyT6JhNrgXA1rCB/Y7ggtbOz2xcZP5+rQrrws=.sha256"}}
 | 
			
		||||
{"type":"tildefriends-app","files":{"app.js":"&qvp1qQcymJp9pWxnZXA9/VXFt6FRGj9JCAxNCt/afsU=.sha256","index.html":"&sXphZUl6JQm0Cd4UOVqPZu13PDhqQqFk/EOmKneaEhY=.sha256","vue-material.js":"&K5cdLqXYCENPak/TCINHQhyJhpS4G9DlZHGwoh/LF2g=.sha256","tf-user.js":"&V9Ol799hM6i1PZDbAS91CMhgx7aENDTJnT+KrwK4Lh4=.sha256","tf-message.js":"&e811GqoyT6JhNrgXA1rCB/Y7ggtbOz2xcZP5+rQrrws=.sha256","tf.js":"&lYgDJTZaYTvss6Ykzmr3o6KBc6hPFiEzPn6DR3R5Peo=.sha256"}}
 | 
			
		||||
@@ -9,90 +9,8 @@
 | 
			
		||||
		<script src="vue-material.js"></script>
 | 
			
		||||
		<script src="tf-user.js"></script>
 | 
			
		||||
		<script src="tf-message.js"></script>
 | 
			
		||||
		<script src="tf.js"></script>
 | 
			
		||||
		<script src="https://cdnjs.cloudflare.com/ajax/libs/commonmark/0.29.1/commonmark.min.js"></script>
 | 
			
		||||
		<script>
 | 
			
		||||
			var g_data = {
 | 
			
		||||
				whoami: null,
 | 
			
		||||
				connections: [],
 | 
			
		||||
				messages: [],
 | 
			
		||||
				users: {},
 | 
			
		||||
				broadcasts: [],
 | 
			
		||||
				showUsers: false,
 | 
			
		||||
				show_connect_dialog: false,
 | 
			
		||||
				show_user_dialog: null,
 | 
			
		||||
				connect: null,
 | 
			
		||||
				pubs: [],
 | 
			
		||||
				votes: [],
 | 
			
		||||
				apps: {},
 | 
			
		||||
				share_app: null,
 | 
			
		||||
			};
 | 
			
		||||
			var g_data_initial = JSON.parse(JSON.stringify(g_data));
 | 
			
		||||
			window.addEventListener('message', function(event) {
 | 
			
		||||
				var key = Object.keys(event.data)[0];
 | 
			
		||||
				if (key + 's' in g_data && Array.isArray(g_data[key + 's'])) {
 | 
			
		||||
					g_data[key + 's'].push(event.data[key]);
 | 
			
		||||
				} else if (key == 'user') {
 | 
			
		||||
					Vue.set(g_data.users, event.data.user.user, Object.assign({}, g_data.users[event.data.user.user] || {}, event.data.user.about));
 | 
			
		||||
				} else if (key == 'followers') {
 | 
			
		||||
					if (!g_data.users[event.data.followers.id]) {
 | 
			
		||||
						Vue.set(g_data.users, event.data.followers.id, {});
 | 
			
		||||
					}
 | 
			
		||||
					Vue.set(g_data.users[event.data.followers.id], 'followers', event.data.followers.users);
 | 
			
		||||
				} else if (key == 'following') {
 | 
			
		||||
					if (!g_data.users[event.data.following.id]) {
 | 
			
		||||
						Vue.set(g_data.users, event.data.following.id, {});
 | 
			
		||||
					}
 | 
			
		||||
					Vue.set(g_data.users[event.data.following.id], 'following', event.data.following.users);
 | 
			
		||||
				} else if (key == 'broadcasts') {
 | 
			
		||||
					g_data.broadcasts = event.data.broadcasts;
 | 
			
		||||
				} else if (key == 'pubs') {
 | 
			
		||||
					g_data.pubs = event.data.pubs;
 | 
			
		||||
				} else if (key == 'apps') {
 | 
			
		||||
					g_data.apps = event.data.apps;
 | 
			
		||||
				} else if (key == 'clear') {
 | 
			
		||||
					Object.keys(g_data_initial).forEach(function(key) {
 | 
			
		||||
						Vue.set(g_data, key, JSON.parse(JSON.stringify(g_data_initial[key])));
 | 
			
		||||
					});
 | 
			
		||||
				} else {
 | 
			
		||||
					g_data[key] = event.data[key];
 | 
			
		||||
				}
 | 
			
		||||
			});
 | 
			
		||||
			window.addEventListener('load', function() {
 | 
			
		||||
				Vue.use(VueMaterial.default);
 | 
			
		||||
				var vue = new Vue({
 | 
			
		||||
					el: '#app',
 | 
			
		||||
					data: g_data,
 | 
			
		||||
					methods: {
 | 
			
		||||
						post_message: function() {
 | 
			
		||||
							if (g_data.share_app) {
 | 
			
		||||
								window.parent.postMessage({share_app: {
 | 
			
		||||
									app: g_data.apps[g_data.share_app],
 | 
			
		||||
									name: g_data.share_app,
 | 
			
		||||
									text: document.getElementById('post_text').value,
 | 
			
		||||
								}}, '*');
 | 
			
		||||
							} else {
 | 
			
		||||
								window.parent.postMessage({post: document.getElementById('post_text').value}, '*');
 | 
			
		||||
							}
 | 
			
		||||
							document.getElementById('post_text').value = '';
 | 
			
		||||
						},
 | 
			
		||||
						ssb_connect: function(connection) {
 | 
			
		||||
							window.parent.postMessage({connect: connection}, '*');
 | 
			
		||||
						},
 | 
			
		||||
						content_json: function(message) {
 | 
			
		||||
							try {
 | 
			
		||||
								return JSON.parse(message.content);
 | 
			
		||||
							} catch {
 | 
			
		||||
								return undefined;
 | 
			
		||||
							}
 | 
			
		||||
						},
 | 
			
		||||
						refresh: function() {
 | 
			
		||||
							window.parent.postMessage({refresh: true}, '*');
 | 
			
		||||
						},
 | 
			
		||||
					}
 | 
			
		||||
				});
 | 
			
		||||
			});
 | 
			
		||||
			window.parent.postMessage('ready', '*');
 | 
			
		||||
		</script>
 | 
			
		||||
	</head>
 | 
			
		||||
	<body style="color: #fff">
 | 
			
		||||
		<div id="app">
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										83
									
								
								apps/cory/index/tf.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								apps/cory/index/tf.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,83 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
var g_data = {
 | 
			
		||||
	whoami: null,
 | 
			
		||||
	connections: [],
 | 
			
		||||
	messages: [],
 | 
			
		||||
	users: {},
 | 
			
		||||
	broadcasts: [],
 | 
			
		||||
	showUsers: false,
 | 
			
		||||
	show_connect_dialog: false,
 | 
			
		||||
	show_user_dialog: null,
 | 
			
		||||
	connect: null,
 | 
			
		||||
	pubs: [],
 | 
			
		||||
	votes: [],
 | 
			
		||||
	apps: {},
 | 
			
		||||
	share_app: null,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
var g_data_initial = JSON.parse(JSON.stringify(g_data));
 | 
			
		||||
window.addEventListener('message', function(event) {
 | 
			
		||||
	var key = Object.keys(event.data)[0];
 | 
			
		||||
	if (key + 's' in g_data && Array.isArray(g_data[key + 's'])) {
 | 
			
		||||
		g_data[key + 's'].push(event.data[key]);
 | 
			
		||||
	} else if (key == 'user') {
 | 
			
		||||
		Vue.set(g_data.users, event.data.user.user, Object.assign({}, g_data.users[event.data.user.user] || {}, event.data.user.about));
 | 
			
		||||
	} else if (key == 'followers') {
 | 
			
		||||
		if (!g_data.users[event.data.followers.id]) {
 | 
			
		||||
			Vue.set(g_data.users, event.data.followers.id, {});
 | 
			
		||||
		}
 | 
			
		||||
		Vue.set(g_data.users[event.data.followers.id], 'followers', event.data.followers.users);
 | 
			
		||||
	} else if (key == 'following') {
 | 
			
		||||
		if (!g_data.users[event.data.following.id]) {
 | 
			
		||||
			Vue.set(g_data.users, event.data.following.id, {});
 | 
			
		||||
		}
 | 
			
		||||
		Vue.set(g_data.users[event.data.following.id], 'following', event.data.following.users);
 | 
			
		||||
	} else if (key == 'broadcasts') {
 | 
			
		||||
		g_data.broadcasts = event.data.broadcasts;
 | 
			
		||||
	} else if (key == 'pubs') {
 | 
			
		||||
		g_data.pubs = event.data.pubs;
 | 
			
		||||
	} else if (key == 'apps') {
 | 
			
		||||
		g_data.apps = event.data.apps;
 | 
			
		||||
	} else if (key == 'clear') {
 | 
			
		||||
		Object.keys(g_data_initial).forEach(function(key) {
 | 
			
		||||
			Vue.set(g_data, key, JSON.parse(JSON.stringify(g_data_initial[key])));
 | 
			
		||||
		});
 | 
			
		||||
	} else {
 | 
			
		||||
		g_data[key] = event.data[key];
 | 
			
		||||
	}
 | 
			
		||||
});
 | 
			
		||||
window.addEventListener('load', function() {
 | 
			
		||||
	Vue.use(VueMaterial.default);
 | 
			
		||||
	var vue = new Vue({
 | 
			
		||||
		el: '#app',
 | 
			
		||||
		data: g_data,
 | 
			
		||||
		methods: {
 | 
			
		||||
			post_message: function() {
 | 
			
		||||
				if (g_data.share_app) {
 | 
			
		||||
					window.parent.postMessage({share_app: {
 | 
			
		||||
						app: g_data.apps[g_data.share_app],
 | 
			
		||||
						name: g_data.share_app,
 | 
			
		||||
						text: document.getElementById('post_text').value,
 | 
			
		||||
					}}, '*');
 | 
			
		||||
				} else {
 | 
			
		||||
					window.parent.postMessage({post: document.getElementById('post_text').value}, '*');
 | 
			
		||||
				}
 | 
			
		||||
				document.getElementById('post_text').value = '';
 | 
			
		||||
			},
 | 
			
		||||
			ssb_connect: function(connection) {
 | 
			
		||||
				window.parent.postMessage({connect: connection}, '*');
 | 
			
		||||
			},
 | 
			
		||||
			content_json: function(message) {
 | 
			
		||||
				try {
 | 
			
		||||
					return JSON.parse(message.content);
 | 
			
		||||
				} catch {
 | 
			
		||||
					return undefined;
 | 
			
		||||
				}
 | 
			
		||||
			},
 | 
			
		||||
			refresh: function() {
 | 
			
		||||
				window.parent.postMessage({refresh: true}, '*');
 | 
			
		||||
			},
 | 
			
		||||
		}
 | 
			
		||||
	});
 | 
			
		||||
	window.parent.postMessage('ready', '*');
 | 
			
		||||
});
 | 
			
		||||
		Reference in New Issue
	
	Block a user