Files
yw4z 2ec2a60b81 Homepage Fixes / Improvements (#15785)
* 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
2026-10-25 02:01:57 +03:00

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>