mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-11-11 17:01:08 +00:00
* init * update * keep dimming for disabled login item * fix navigation buttons * Add translation support * fix button style not applies for cloud * add translations and fix actions bar height * translate page after updating recent list
224 lines
7.8 KiB
HTML
224 lines
7.8 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
|
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
|
|
<title>homepage</title>
|
|
<link rel="stylesheet" type="text/css" href="../include/global.css" /> <!-- ORCA One for all-->
|
|
<link rel="stylesheet" type="text/css" href="./css/home.css" />
|
|
<!-- <link rel="stylesheet" type="text/css" href="./css/dark.css" /> -->
|
|
|
|
<script type="text/javascript" src="../include/jquery-3.6.0.min.js"></script>
|
|
<script type="text/javascript" src="../include/json2.js"></script>
|
|
<script type="text/javascript" src="../include/globalapi.js"></script>
|
|
|
|
<link rel="stylesheet" type="text/css" href="../include/swiper/swiper-bundle.min.css" />
|
|
<script type="text/javascript" src="../include/swiper/swiper-bundle.min.js"></script>
|
|
<script type="text/javascript" src="../include/i18n.js"></script>
|
|
|
|
<script type="text/javascript" src="js/home.js"></script>
|
|
</head>
|
|
<body class="thin-scroll" onLoad="OnInit()">
|
|
<div id="LeftBoard">
|
|
<div id="LoginArea">
|
|
|
|
<!-- Orca Cloud account -->
|
|
<div id="OrcaAccount" class="AccountRow" tabindex="0" role="button" aria-haspopup="true" aria-expanded="false"
|
|
onClick="OnAccountRowClick('orca')">
|
|
<span class="AccountAvatar">
|
|
<img id="UserAvatarIcon" class="AccountAvatarImg" alt="" onerror="OnAvatarLoadError(this)" />
|
|
</span>
|
|
<span class="AccountText">
|
|
<span id="UserName" class="AccountName"></span>
|
|
<span class="AccountSecondary">Orca Cloud</span>
|
|
</span>
|
|
<span class="AccountSignIn" data-i18n="login">Login</span>
|
|
<svg class="AccountChevron" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
<path d="M3 4.75L6 7.75L9 4.75" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
|
|
</svg>
|
|
</div>
|
|
|
|
<!-- Bambu Cloud, a secondary provider folded away under the main account -->
|
|
<div id="BambuCloudSection">
|
|
<div id="BambuCloudHeader" tabindex="0" role="button" aria-expanded="false" aria-controls="BambuCloudBody"
|
|
onClick="ToggleBambuSection()">
|
|
<svg class="SectionChevron" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
<path d="M4.5 2.5L8 6L4.5 9.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
</svg>
|
|
<span class="SectionLabel">Bambu Cloud</span>
|
|
<span id="BambuStatusDot"></span>
|
|
</div>
|
|
|
|
<div id="BambuCloudBody">
|
|
<div id="BambuAccount" class="AccountRow AccountRowCompact" tabindex="0" role="button" aria-haspopup="true" aria-expanded="false"
|
|
onClick="OnAccountRowClick('bambu')">
|
|
<span class="AccountAvatar">
|
|
<img id="BambuAvatarIcon" class="AccountAvatarImg" alt="" onerror="OnAvatarLoadError(this)" />
|
|
</span>
|
|
<span class="AccountText">
|
|
<span id="BambuUserName" class="AccountName"></span>
|
|
<span class="AccountSecondary" data-i18n="not_signed_in">Not signed in</span>
|
|
</span>
|
|
<span class="AccountSignIn" data-i18n="login">Login</span>
|
|
<svg class="AccountChevron" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
<path d="M3 4.75L6 7.75L9 4.75" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
|
|
</svg>
|
|
</div>
|
|
|
|
<div id="NoPluginTip">
|
|
<div id="NoPluginText" class="RedFont"><a class="LinkBtn" onClick="BeginDownloadNetworkPlugin()"></a></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Shared account menu, anchored under the row it was opened from.
|
|
The row already carries the avatar, name and provider, so the menu only
|
|
adds the account handle. -->
|
|
<div id="AccountMenu" role="menu">
|
|
<div id="AccountMenuHandle" role="presentation"></div>
|
|
<div id="AccountMenuLogout" role="menuitem" tabindex="0" onClick="OnAccountMenuLogout()">
|
|
<span id="AccountMenuLogoutIcon"></span>
|
|
<span data-i18n="log_out">Log Out</span>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="BtnArea">
|
|
<div menu="recent" class="BtnItem BtnItemSelected" onClick="GotoMenu('recent')">
|
|
<div data-i18n="recent">Recent</div>
|
|
<div class="NavArrow icon16"></div>
|
|
</div>
|
|
<div menu="orca_cloud" class="BtnItem" onClick="GotoCloud()">
|
|
<div>OrcaCloud</div>
|
|
<div class="NavArrow icon16"></div>
|
|
</div>
|
|
<div class="BtnItem" onClick="OpenUrlInLocalBrowser('https://orcaslicer.com/wiki')">
|
|
<div>Wiki</div>
|
|
<div class="ShortcutIcon icon16"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="RightBoard">
|
|
<div id="ContentBoard" class="thin-scroll" board="recent">
|
|
<div style="height: 14px;"></div>
|
|
<div id="MenuArea">
|
|
<!-- <div class="MenuItem" onClick="OnClickModelDepot()">
|
|
<div class="MenuIcon"><img src="img/i6.png"></div>
|
|
<div>
|
|
<div class="trans TextS1" tid="t90">3D Model</div>
|
|
<div class="MenuDesc trans" tid="t91">Download 3D Models</div>
|
|
</div>
|
|
</div> -->
|
|
<div class="MenuItem" onClick="OnClickNewProject()">
|
|
<div class="MenuIcon"><img src="img/i4.png"></div>
|
|
<div>
|
|
<div class="TextS1" data-i18n="new_project">New Project</div>
|
|
<div class="MenuDesc" data-i18n="create_new_project">Create new project</div>
|
|
</div>
|
|
</div>
|
|
<div class="MenuItem" onClick="OnClickOpenProject()">
|
|
<div class="MenuIcon"><img src="img/i5.png"></div>
|
|
<div>
|
|
<div class="TextS1" data-i18n="open_project">Open Project</div>
|
|
<div class="MenuDesc">3mf</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="DebugText"></div>
|
|
<div id="RecentFileArea">
|
|
<div id="RecentTitleBlock">
|
|
<div id="RecentTitle" class="Content-Title TextS1" data-i18n="recently_opened">Recently opened</div>
|
|
<div id="RecentClearAllBtn" class="ButtonStyleRegular ButtonTypeWindow" onClick="OnDeleteAllRecentFiles()" data-i18n="clear_all">Clear all</div>
|
|
</div>
|
|
<div id="FileList" class="thin-scroll">
|
|
<!-- EXAMPLE GENERATED BLOCK
|
|
<div class="FileItem" fpath="sPath">
|
|
<a class="FileTip" title="sPath"></a>
|
|
<div class="FileImg" >
|
|
<img src="sImg" onerror="this.onerror=null;this.src=\'img/d.png\';" alt="No Image"/>
|
|
sLogoBadge
|
|
</div>
|
|
<div class="FileNamePack">
|
|
<div class="FileName TextS1">
|
|
orca-model.3mf
|
|
</div>
|
|
</div>
|
|
<div class="FileDate">
|
|
2026/05/27 09:22
|
|
</div>
|
|
<div class="FileActions">
|
|
<div class="FileActionsReveal ButtonStyleRegular ButtonTypeWindow" fpath="btnPath">Show in folder</div>
|
|
<div class="FileActionsRemove ButtonStyleAlert ButtonTypeWindow" fpath="sPath">
|
|
<div class="icon16"/></div>
|
|
</div>
|
|
</div>
|
|
-->
|
|
</div>
|
|
</div>
|
|
|
|
<div style="height: 14px;"></div>
|
|
<!--
|
|
<div id="recnet_context_menu">
|
|
<div id="CT_Delete_Bar" class="CT_Item" onClick="OnDeleteRecentFile()">
|
|
<div class="CT_Icon CT_Delete"></div>
|
|
<div class="CT_Text" data-i18n="remove">Remove</div>
|
|
</div>
|
|
<div id="CT_Folder_Bar" class="CT_Item " onClick="OnExploreRecentFile()" >
|
|
<div class="CT_Icon CT_Explore"></div>
|
|
<div class="CT_Text" data-i18n="open_containing_folder">Open Containing Folder</div>
|
|
</div>
|
|
</div>
|
|
-->
|
|
</div>
|
|
|
|
</div>
|
|
</body>
|
|
<script type="text/javascript">
|
|
//HandleStudio(TestData);
|
|
document.onkeydown = function (event) {
|
|
var e = event || window.event || arguments.callee.caller.arguments[0];
|
|
|
|
if (e.ctrlKey && e.metaKey)
|
|
OutputKey(e.keyCode, true, false, true);
|
|
else if (e.ctrlKey)
|
|
OutputKey(e.keyCode, true, false, false);
|
|
else if (e.metaKey)
|
|
OutputKey(e.keyCode, false, false, true);
|
|
|
|
if (e.shiftKey && e.ctrlKey)
|
|
OutputKey(e.keyCode, true, true, false);
|
|
|
|
if (e.shiftKey && e.metaKey)
|
|
OutputKey(e.keyCode, false, true, true);
|
|
|
|
if (window.event) {
|
|
try { e.keyCode = 0; } catch (e) { }
|
|
e.returnValue = false;
|
|
}
|
|
};
|
|
|
|
window.addEventListener('mousewheel', function (event) {
|
|
if (event.ctrlKey === true || event.metaKey) {
|
|
event.preventDefault();
|
|
}
|
|
}, { passive: false });
|
|
|
|
</script>
|
|
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|