mirror of
https://github.com/denizsafak/abogen.git
synced 2026-07-18 21:50:28 +02:00
feat: Enhance find books page with template options and settings integration
This commit is contained in:
@@ -2759,6 +2759,8 @@ def find_books_page() -> ResponseReturnValue:
|
||||
"find_books.html",
|
||||
integrations=integrations,
|
||||
opds_available=_calibre_integration_enabled(integrations),
|
||||
options=_template_options(),
|
||||
settings=_load_settings(),
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -367,11 +367,22 @@ if (modal && browser) {
|
||||
throw new Error(payload.error || 'Unable to queue this book.');
|
||||
}
|
||||
setStatus('Preparing the conversion wizard…', 'success');
|
||||
if (payload.redirect_url) {
|
||||
closeModal();
|
||||
window.setTimeout(() => {
|
||||
window.location.assign(payload.redirect_url);
|
||||
}, 150);
|
||||
closeModal();
|
||||
const redirectUrl = payload.redirect_url || '';
|
||||
if (redirectUrl) {
|
||||
const wizard = window.AbogenWizard;
|
||||
if (wizard?.requestStep) {
|
||||
try {
|
||||
const target = new URL(redirectUrl, window.location.origin);
|
||||
target.searchParams.set('format', 'json');
|
||||
await wizard.requestStep(target.toString(), { method: 'GET' });
|
||||
} catch (wizardError) {
|
||||
console.error('Unable to open wizard via JSON payload', wizardError);
|
||||
window.location.assign(redirectUrl);
|
||||
}
|
||||
} else {
|
||||
window.location.assign(redirectUrl);
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
setStatus(error instanceof Error ? error.message : 'Unable to queue this book.', 'error');
|
||||
|
||||
@@ -80,10 +80,18 @@
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% with pending=None, readonly=False, active_step='settings' %}
|
||||
{% include "partials/upload_modal.html" %}
|
||||
{% endwith %}
|
||||
{% include "partials/reader_modal.html" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
{{ super() }}
|
||||
<script id="voice-sample-texts" type="application/json">{{ options.sample_voice_texts | tojson }}</script>
|
||||
<script type="module" src="{{ url_for('static', filename='dashboard.js') }}"></script>
|
||||
<script type="module" src="{{ url_for('static', filename='prepare.js') }}"></script>
|
||||
<script type="module" src="{{ url_for('static', filename='speakers.js') }}"></script>
|
||||
{% if opds_available %}
|
||||
<script type="module" src="{{ url_for('static', filename='find_books.js') }}"></script>
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user