Internal improvements
This commit is contained in:
parent
0ec5864e54
commit
12d4db5953
|
@ -31,6 +31,9 @@ var ApiSchema = {
|
||||||
Mastodon: "account",
|
Mastodon: "account",
|
||||||
Misskey: "user",
|
Misskey: "user",
|
||||||
},
|
},
|
||||||
|
Quoting: {
|
||||||
|
Mastodon: "reblog",
|
||||||
|
},
|
||||||
Time: {
|
Time: {
|
||||||
Mastodon: "created_at",
|
Mastodon: "created_at",
|
||||||
Misskey: "createdAt",
|
Misskey: "createdAt",
|
||||||
|
@ -57,24 +60,34 @@ var ApiSchema = {
|
||||||
Mastodon: "display_name",
|
Mastodon: "display_name",
|
||||||
Misskey: "name",
|
Misskey: "name",
|
||||||
},
|
},
|
||||||
Type: {}, // user, bot, channel, group
|
Type: { // user, bot, channel, group
|
||||||
|
Mastodon: {"__Eval__": `
|
||||||
|
var Type;
|
||||||
|
if (TreeOld.bot) Type = 'Bot';
|
||||||
|
if (TreeOld.group) Type = 'Group';
|
||||||
|
TreeNew[KeyNew] = Type;
|
||||||
|
`},
|
||||||
|
},
|
||||||
Url: {
|
Url: {
|
||||||
Mastodon: "url",
|
Mastodon: "url",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function ApiTransform(Data, FromSource, DestType) {
|
||||||
|
return JsonTransformB(Data, ApiSchema, ApiSchema[DestType], FromSource);
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
var TransParsers = {
|
var TransParsers = {
|
||||||
Mastodon: {
|
Mastodon: {
|
||||||
Account(Data) {
|
Account(Data) {
|
||||||
//return JsonTransformA(Data, TransSchemas.Mastodon.Author, TransSchemas.Mastodon);
|
//return JsonTransformA(Data, TransSchemas.Mastodon.Author, TransSchemas.Mastodon);
|
||||||
return JsonTransformB(Data, ApiSchema, ApiSchema.Profile, 'Mastodon');
|
return JsonTransformB(Data, ApiSchema, ApiSchema.Profile, 'Mastodon');
|
||||||
},
|
},
|
||||||
/*
|
|
||||||
Instance(Data) {
|
Instance(Data) {
|
||||||
return JsonTransformA(Data, TransSchemas.Mastodon.Instance, TransSchemas.Mastodon);
|
return JsonTransformA(Data, TransSchemas.Mastodon.Instance, TransSchemas.Mastodon);
|
||||||
},
|
},
|
||||||
*/
|
|
||||||
Status(Data) {
|
Status(Data) {
|
||||||
//return JsonTransformA(Data, TransSchemas.Mastodon.Status, TransSchemas.Mastodon);
|
//return JsonTransformA(Data, TransSchemas.Mastodon.Status, TransSchemas.Mastodon);
|
||||||
return JsonTransformB(Data, ApiSchema, ApiSchema.Note, 'Mastodon');
|
return JsonTransformB(Data, ApiSchema, ApiSchema.Note, 'Mastodon');
|
||||||
|
@ -83,3 +96,4 @@ var TransParsers = {
|
||||||
Misskey: {
|
Misskey: {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
|
|
|
@ -30,7 +30,7 @@ FakeApi.Mastodon.Account = {
|
||||||
url: "https://mastodon.example.com/@Tester",
|
url: "https://mastodon.example.com/@Tester",
|
||||||
};
|
};
|
||||||
FakeApi.Friendiiverse.Featured.Featured.push(
|
FakeApi.Friendiiverse.Featured.Featured.push(
|
||||||
TransParsers.Mastodon.Account(FakeApi.Mastodon.Account));
|
ApiTransform(FakeApi.Mastodon.Account, 'Mastodon', 'Profile'));
|
||||||
|
|
||||||
FakeApi.Mastodon.Status = {
|
FakeApi.Mastodon.Status = {
|
||||||
account: FakeApi.Mastodon.Account,
|
account: FakeApi.Mastodon.Account,
|
||||||
|
|
|
@ -13,6 +13,7 @@ var FriendicaCredentials = 'redacted:redacted';
|
||||||
// Development
|
// Development
|
||||||
var Debug = true;
|
var Debug = true;
|
||||||
var UseFakeApi = true;
|
var UseFakeApi = true;
|
||||||
|
var UserData = {};
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
@ -26,15 +27,12 @@ var UseFakeApi = true;
|
||||||
</div>
|
</div>
|
||||||
<!--
|
<!--
|
||||||
<div id="PlazasView"></div>
|
<div id="PlazasView"></div>
|
||||||
<textarea id="Input"></textarea>
|
|
||||||
<button id="Post">Post</button>
|
|
||||||
<div id="ChannelView"></div>
|
|
||||||
<div id="TimelineView"></div>
|
|
||||||
<xmp id="DataView"></xmp>
|
<xmp id="DataView"></xmp>
|
||||||
-->
|
-->
|
||||||
</div>
|
</div>
|
||||||
<div id="Bottom">
|
<div id="Bottom">
|
||||||
<a href="javascript:void(0);" onclick="Root.lastChild.remove();">↩️ Back</a>
|
<button onclick="Root.lastChild.remove();">↩️ Back</button>
|
||||||
|
<button onclick="ComposeNote();">Note</button>
|
||||||
<a href="https://gitlab.com/octtspacc/Friendiiverse">📜️ Source Code</a>
|
<a href="https://gitlab.com/octtspacc/Friendiiverse">📜️ Source Code</a>
|
||||||
</div>
|
</div>
|
||||||
<script>NoscriptView.remove();</script>
|
<script>NoscriptView.remove();</script>
|
||||||
|
|
|
@ -132,7 +132,7 @@ function FetchMastodon(Proc) {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
function ResFetchMastodon(Res) {
|
function ResFetchMastodon(Res) {
|
||||||
var Notes = TransParsers.Mastodon.Status(Res.responseJson);
|
var Notes = ApiTransform(Res.responseJson, 'Mastodon', 'Note');
|
||||||
LogDebug(Notes, 'l');
|
LogDebug(Notes, 'l');
|
||||||
Tasker[Res.Proc[0]].Return(Notes);
|
Tasker[Res.Proc[0]].Return(Notes);
|
||||||
};
|
};
|
||||||
|
@ -196,15 +196,22 @@ PlazasView.innerHTML = `
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<h3>Categories</h3>
|
|
||||||
<ul>
|
|
||||||
<li>Testing</li>
|
|
||||||
<li>#fediverse</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
`;
|
`;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
function ComposeNote() {
|
||||||
|
var Window = MakeWindow();
|
||||||
|
Window.innerHTML += `
|
||||||
|
<h2>Compose</h2>
|
||||||
|
<textarea style="width: 100%; height: 20em;"></textarea>
|
||||||
|
<p>
|
||||||
|
<button onclick="PostNote(this.parentNode.parentNode.querySelector('textarea').value);">Note!</button>
|
||||||
|
</p>
|
||||||
|
`;
|
||||||
|
};
|
||||||
|
function PostNote(Text) {
|
||||||
|
Obj = ExtrimObj(ApiSchema.Note);
|
||||||
|
};
|
||||||
|
|
||||||
DoAsync(FetchFeatured, FillFeatured);
|
DoAsync(FetchFeatured, FillFeatured);
|
||||||
CoverView.remove();
|
CoverView.remove();
|
||||||
|
|
|
@ -1,3 +1,10 @@
|
||||||
var Strings = {
|
var Strings = {
|
||||||
|
Back: {
|
||||||
|
en: "Back",
|
||||||
|
it: "Indietro",
|
||||||
|
},
|
||||||
|
Note: {
|
||||||
|
en: "Note",
|
||||||
|
it: "Nota",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,6 +16,10 @@ img, video {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#Bottom > button {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
#Root {
|
#Root {
|
||||||
/*margin-bottom: 2em;*/
|
/*margin-bottom: 2em;*/
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,14 @@ function CopyObj(Obj) {
|
||||||
return JSON.parse(JSON.stringify(Obj));
|
return JSON.parse(JSON.stringify(Obj));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function ExtrimObj(Obj) {
|
||||||
|
Obj = CopyObj(Obj);
|
||||||
|
Object.keys(Obj).forEach(function(Key){
|
||||||
|
Obj[Key] = undefined;
|
||||||
|
});
|
||||||
|
return Obj;
|
||||||
|
};
|
||||||
|
|
||||||
function B64Obj(Obj) {
|
function B64Obj(Obj) {
|
||||||
return btoa(JSON.stringify(Obj));
|
return btoa(JSON.stringify(Obj));
|
||||||
};
|
};
|
||||||
|
@ -81,6 +89,7 @@ function JsonTransformCycleA(TreeOld, SchemaCurr, SchemaRoot) {
|
||||||
});
|
});
|
||||||
return TreeNew;
|
return TreeNew;
|
||||||
};
|
};
|
||||||
|
|
||||||
function JsonTransformB(TreesOld, SchemaNew, NodeNew, TypeOld) {
|
function JsonTransformB(TreesOld, SchemaNew, NodeNew, TypeOld) {
|
||||||
if (Array.isArray(TreesOld)) {
|
if (Array.isArray(TreesOld)) {
|
||||||
var ListNew = [];
|
var ListNew = [];
|
||||||
|
@ -99,10 +108,14 @@ function JsonTransformCycleB(TreeOld, SchemaNew, NodeNew, TypeOld) {
|
||||||
var KeyOld = TreeNew[KeyNew][TypeOld];
|
var KeyOld = TreeNew[KeyNew][TypeOld];
|
||||||
var ObjOld = TreeOld[KeyOld];
|
var ObjOld = TreeOld[KeyOld];
|
||||||
if (IsObj(KeyOld)) {
|
if (IsObj(KeyOld)) {
|
||||||
// Deep nested children in TreeOld
|
// Object in SchemaNew / Deep nested children in TreeOld
|
||||||
|
Object.keys(KeyOld).forEach(function(KeyObj){
|
||||||
|
if (KeyObj === '__Eval__') {
|
||||||
|
eval(KeyOld[KeyObj]);
|
||||||
|
};
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
// Direct children in TreeOld
|
// Value in SchemaNew / Direct children in TreeOld
|
||||||
if (IsObj(ObjOld)) {
|
if (IsObj(ObjOld)) {
|
||||||
TreeNew[KeyNew] = JsonTransformB(ObjOld, SchemaNew, SchemaNew[KeyNew], TypeOld);
|
TreeNew[KeyNew] = JsonTransformB(ObjOld, SchemaNew, SchemaNew[KeyNew], TypeOld);
|
||||||
} else {
|
} else {
|
||||||
|
@ -111,5 +124,6 @@ function JsonTransformCycleB(TreeOld, SchemaNew, NodeNew, TypeOld) {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
TreeNew.__TreeOld__ = TreeOld;
|
||||||
return TreeNew;
|
return TreeNew;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue