mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-14 09:02:06 +00:00
* Add OrcaCloud sync platform and preset bundle sharing system Introduce OrcaCloud, a cloud sync platform for user presets, alongside a preset bundle system that enables sharing printer/filament/process profiles as local exportable bundles or subscribed cloud bundles. OrcaCloud platform: - Auth to Orca Cloud - Encrypted token storage (file-based or system keychain) - User preset sync with - Profile migration from default/bambu folders on first login - Homepage integration with entrance to cloud.orcaslicer.com Preset bundles: - Local bundle import/export with bundle_structure.json metadata - Subscribed cloud bundles with version-based update checking - Thread-safe concurrent bundle access with read-write mutex - Canonical bundle preset naming (_local/<id>/... and _subscribed/<id>/...) - Bundle presets are read-only; grouped under subheaders in combo boxes - PresetBundleDialog with auto-sync toggle, refresh, update notifications - Hyperlinked bundle names to cloud bundle pages Co-authored-by: Sabriel Koh <sabrielkcr@gmail.com> Co-authored-by: Derrick <derrick992110@gmail.com> Co-authored-by: Mykola Nahirnyi <mnahirnyi@amcbridge.com> Co-authored-by: Ian Chua <iancrb00@gmail.com> Co-authored-by: Draginraptor <draginraptor@gmail.com> Co-authored-by: ExPikaPaka <112851715+ExPikaPaka@users.noreply.github.com> Co-authored-by: Ian Bassi <ian.bassi@outlook.com> Co-authored-by: Ocraftyone <Ocraftyone@users.noreply.github.com> Co-authored-by: yw4z <ywsyildiz@gmail.com> Co-authored-by: peterm-m <101202951+peterm-m@users.noreply.github.com> * Fixed an issue on Windows it failed to login Orca Cloud with Google account
72 lines
11 KiB
HTML
72 lines
11 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>Preset Bundle</title>
|
|
<link rel="stylesheet" href="./styles.css" />
|
|
<link rel="stylesheet" type="text/css" href="../../include/global.css" /> <!-- ORCA One for all-->
|
|
<link rel="stylesheet" type="text/css" href="../css/common.css" />
|
|
<!-- <link rel="stylesheet" type="text/css" href="23.css" /> -->
|
|
<link rel="stylesheet" type="text/css" href="../css/dark.css" />
|
|
<script type="text/javascript" src="../js/jquery-3.6.0.min.js"></script>
|
|
<script type="text/javascript" src="../js/json2.js"></script>
|
|
<script type="text/javascript" src="../../data/text.js"></script>
|
|
<script type="text/javascript" src="../js/globalapi.js"></script>
|
|
<script type="text/javascript" src="../js/common.js"></script>
|
|
<!-- <script type="text/javascript" src="./23.js"></script> -->
|
|
<script src="./index.js"></script>
|
|
</head>
|
|
<body onLoad="OnInit()">
|
|
<div class="app">
|
|
<div class="split">
|
|
<div class="top-toolbar">
|
|
<button id="refresh_btn" class="ButtonStyleConfirm ButtonTypeChoice toolbar-btn">Refresh</button>
|
|
|
|
<!-- <label class="auto-update-switch" for="auto_update_toggle">
|
|
<span class="auto-update-label">Auto update</span>
|
|
<input id="auto_update_toggle" type="checkbox" />
|
|
<span class="auto-update-slider" aria-hidden="true">
|
|
<span class="auto-update-text auto-update-text-off">OFF</span>
|
|
<span class="auto-update-text auto-update-text-on">ON</span>
|
|
</span>
|
|
</label> -->
|
|
</div>
|
|
|
|
<section class="pane top">
|
|
<div class="hdr top-cols">
|
|
<span>Name</span>
|
|
<span>Type</span>
|
|
<span>Version</span>
|
|
<span>Update</span>
|
|
</div>
|
|
<div id="topList" class="body"></div>
|
|
</section>
|
|
|
|
<section class="pane bottom">
|
|
<div class="hdr bot-cols">
|
|
<span>Name</span>
|
|
<span>Type</span>
|
|
</div>
|
|
<div id="bottomList" class="body"></div>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Footer -->
|
|
<div id="AcceptArea">
|
|
<div id="export_btn" class="ButtonStyleConfirm ButtonTypeChoice" hidden>Export Presets</div>
|
|
<div id="close_btn" class="ButtonStyleRegular ButtonTypeChoice">Close</div>
|
|
</div>
|
|
|
|
<!-- Context Menu -->
|
|
<div id="ctxMenu" class="ctx" hidden>
|
|
<button class="ctx-item" data-action="open_folder">Open folder in explorer</button>
|
|
<button id = "delete_btn" class="ctx-item-delete" data-action="delete_bundle" hidden>Delete bundle</button>
|
|
<button id = "unsubscribe_btn" class="ctx-item-subscribed" data-action="unsubscribe_bundle" hidden>Unsubscribe bundle</button>
|
|
</div>
|
|
|
|
|
|
</body>
|
|
</html>
|