рдмрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЪреНрдЫреА app.svelte
рдлрд╝рд╛рдЗрд▓ рдкрд░ рдореБрдЭреЗ рдЙрдкрд░реЛрдХреНрдд рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред
рд╕рд┐рд╕реНрдЯрдо (рдХреГрдкрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВ):
рдХреНрдпрд╛ рдЖрдк рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░рд╛ рдХреЛрдб рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдпрд╣ рд╢рд╛рдпрдж рдХреЛрдб рдХреА рд╡рдЬрд╣ рд╕реЗ рд▓рд╛рдкрддрд╛ рдмреНрд░реИрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдб рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
<script>
import { onMount } from "svelte";
import u from "./Helper/utils.js";
import msgbox from "./Components/msgbox.js";
import Tabs from "./Components/tabs.svelte";
import Button from "./Components/Button.svelte";
import InboxTab from "./Main/Inbox.svelte";
import ArchiveTab from "./Main/Archive.svelte";
import HelpTab from "./Main/Help.svelte";
import SettingsTab from "./Main/Settings.svelte";
import DocOutTab from "./Main/DocOut.svelte";
let mainid = "mainid";
let server = "";
let TABS;
let timer = null;
// let RTL = false;
onMount(() => {
u.addPrototypes();
TABS.addtab({
name: "inbox",
description: "$Inbox$",
icon: "gi-save-file", //icons.faFolderOpen
});
TABS.addtab({
name: "docout",
description: "$Docs Out$",
icon: "gi-open-file", //icons.faFilter
});
TABS.addtab({
name: "archive",
description: "$Search Letters$",
icon: "gi-search", //icons.faFilter
});
TABS.addtab({
name: "settings",
description: "$Settings$",
icon: "gi-cog", // icons.faCog
});
TABS.addtab({
name: "help",
description: "$Help$",
icon: "gi-question-sign",
});
setTimeout(() => {
// kludge to get the server for fetch
u.GET("/api/getuser").then((r) => (server = r));
// server = window.ServerURL;
u.GET("/api/inbox.getsettings").then((data) => {
if (data.Color) {
u.SetTheme(data.Color);
}
if (data.Language == "fa") {
document.body.dir = "rtl";
// document.documentElement.style.setProperty("--tblAlign", "right");
}
});
TABS.setInitial();
}, 0);
// Heartbeat for auto update
timer = setInterval(() => {
u.GET("/api/getuser").catch(() => {
clearInterval(timer);
msgbox.Ok("$Connection Failed!$", "", () => window.location.reload(true));
});
}, 10 * 1000);
});
// register all tabs to be created here for Tab component
function createTab(tabname, id, props) {
var tab = null;
switch (tabname) {
case "inbox":
tab = new InboxTab({
target: document.getElementById(id),
});
break;
case "help":
tab = new HelpTab({
target: document.getElementById(id),
});
break;
case "archive":
tab = new ArchiveTab({
target: document.getElementById(id),
});
break;
case "settings":
tab = new SettingsTab({
target: document.getElementById(id),
});
break;
case "docout":
tab = new DocOutTab({
target: document.getElementById(id),
});
break;
}
return tab;
}
// function configeditor() {
// // console.log("here");
// }
</script>
рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ App.svelte
рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдореЗрдВ рдФрд░ рдХреНрдпрд╛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
рдореИрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдореБрдЭреЗ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛/рдХрд╣рд╛рдВ рджреЗрдЦрдирд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк рдорд╛рд░реНрдХрдЕрдк рдФрд░ рд╕реНрдХрд╛рдИрд▓ рдЯреИрдЧ рднреА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдореБрдЭреЗ рдЕрдкрд░рд╛рдзреА рдорд┐рд▓рд╛:
<svelte:head>
<link rel="stylesheet" href="/lib/jodit.es2018.min.css" />
<script src="/lib/jodit.es2018.min.js">
</script>
</svelte:head>
рдпрд╣ script
head
рдЕрдиреБрднрд╛рдЧ рдореЗрдВ script
рдЯреИрдЧ рд╣реИ рдЬреЛ рдкрд╛рд░реНрд╕рд░ рдХреЛ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджреЗрддрд╛ рд╣реИред