Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import bookmarks as groups, improved dialog UI #374

Merged
merged 14 commits into from
May 28, 2024
Merged
69 changes: 44 additions & 25 deletions src/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -26,31 +26,6 @@
</head>

<body class="init loading">
<dialog id="bookmarks">
<div id="bookmarks-container">
<template id="bookmarks-folder">
<div class="bookmarks-folder">
<h2></h2>
<ol></ol>
</div>
</template>
<template id="bookmarks-item">
<li>
<button>
<img draggable="false" loading="lazy" alt="" />
<p class="bookmark-title"></p>
<p class="bookmark-url"></p>
</button>
</li>
</template>
</div>
<hr />
<div id="bookmarks-buttons">
<button id="bmk_close" class="trn btn-red">Cancel</button>
<button id="bmk_apply" class="trn none">Select bookmarks</button>
</div>
</dialog>

<dialog id="editlink">
<form id="editlink-form">
<label id="edit-title" autofocus>
Expand Down Expand Up @@ -289,6 +264,50 @@ <h2 id="greetings" data-hide="greetings">
</div>

<div id="templates">
<template id="bookmarks-dialog-template">
<dialog id="bookmarks">
<div>
<div id="bookmarks-intro">
Here you can select bookmarks from your browser to add to Bonjourr. Selecting a folder will create a
group. "Syncing" a folder ties its changes to your browser bookmarks. Learn more on
<a target="_blank" href="https://bonjourr.fr/docs/overview">our documentation</a>.
</div>

<div id="bookmarks-buttons">
<div>
<button id="bmk_close" class="trn btn-red">Close</button>
<button id="bmk_apply" class="trn" disabled>Import selection</button>
</div>
</div>
</div>

<div id="bookmarks-container"></div>
</dialog>
</template>

<template id="bookmarks-folder-template">
<div class="bookmarks-folder">
<div class="bookmarks-folder-title">
<h2></h2>
<div>
<button class="trn b_bookmarks-folder-select">Select group</button>
<button class="trn b_bookmarks-folder-sync" disabled>Sync with browser</button>
</div>
</div>
<ol></ol>
</div>
</template>

<template id="bookmarks-item-template">
<li>
<button>
<img draggable="false" loading="lazy" alt="" />
<p class="bookmark-title"></p>
<p class="bookmark-url"></p>
</button>
</li>
</template>

<template id="link-group-template">
<div class="link-group">
<ul class="link-list"></ul>
Expand Down
22 changes: 12 additions & 10 deletions src/scripts/defaults.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,17 @@ export const FALLBACK_API = ['https://bonjourr-apis.victr.workers.dev', 'https:/
//@ts-expect-error
export const ENVIRONNEMENT: 'PROD' | 'DEV' | 'TEST' = ENV // defined by esbuild during build step

export const SYSTEM_OS =
['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) || (navigator.userAgent.includes('Mac') && 'ontouchend' in document)
? 'ios'
: window.navigator.appVersion.includes('Macintosh')
? 'mac'
: window.navigator.appVersion.includes('Windows')
? 'windows'
: window.navigator.userAgent.toLowerCase().includes('Android')
? 'android'
: 'unknown'
export const SYSTEM_OS =
['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) ||
(navigator.userAgent.includes('Mac') && 'ontouchend' in document)
? 'ios'
: window.navigator.appVersion.includes('Macintosh')
? 'mac'
: window.navigator.appVersion.includes('Windows')
? 'windows'
: window.navigator.userAgent.toLowerCase().includes('Android')
? 'android'
: 'unknown'

export const PLATFORM =
window.location.protocol === 'moz-extension:'
Expand Down Expand Up @@ -105,6 +106,7 @@ export const SYNC_DEFAULT: Sync.Storage = {
selected: '',
groups: [''],
pinned: [],
synced: [],
},
clock: {
size: 1,
Expand Down
Loading