Release 1.6.1
This commit is contained in:
@@ -184,4 +184,131 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card card-elevated mt-4">
|
||||
<div class="card-header">
|
||||
<h2 class="h5 mb-0">Ticker tape (RSS)</h2>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="text-muted small mb-3">
|
||||
Configure the RSS feed and styling for the ticker tape. Individual displays can enable/disable the ticker from the Dashboard.
|
||||
</div>
|
||||
|
||||
<form method="post" action="{{ url_for('company.update_company_ticker_settings') }}" class="d-flex flex-column gap-3">
|
||||
<div>
|
||||
<label class="form-label" for="companyTickerRssUrl">RSS feed URL</label>
|
||||
<input
|
||||
class="form-control"
|
||||
id="companyTickerRssUrl"
|
||||
name="ticker_rss_url"
|
||||
type="url"
|
||||
value="{{ company.ticker_rss_url or '' }}"
|
||||
placeholder="https://example.com/feed.xml"
|
||||
/>
|
||||
<div class="form-text">Leave empty to disable headlines (even if displays have ticker enabled).</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-2">
|
||||
<div class="col-12 col-md-4">
|
||||
<label class="form-label" for="companyTickerColor">Text color</label>
|
||||
<input
|
||||
class="form-control form-control-color"
|
||||
id="companyTickerColor"
|
||||
name="ticker_color"
|
||||
type="color"
|
||||
value="{{ company.ticker_color or '#ffffff' }}"
|
||||
title="Choose text color"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-12 col-md-4">
|
||||
<label class="form-label" for="companyTickerBgColor">Background color</label>
|
||||
<input
|
||||
class="form-control form-control-color"
|
||||
id="companyTickerBgColor"
|
||||
name="ticker_bg_color"
|
||||
type="color"
|
||||
value="{{ company.ticker_bg_color or '#000000' }}"
|
||||
title="Choose background color"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-12 col-md-4">
|
||||
<label class="form-label" for="companyTickerBgOpacity">Background opacity</label>
|
||||
<input
|
||||
class="form-range"
|
||||
id="companyTickerBgOpacity"
|
||||
name="ticker_bg_opacity"
|
||||
type="range"
|
||||
min="0"
|
||||
max="100"
|
||||
step="1"
|
||||
value="{{ company.ticker_bg_opacity if company.ticker_bg_opacity is not none else 75 }}"
|
||||
/>
|
||||
<div class="form-text"><span id="companyTickerBgOpacityLabel">{{ company.ticker_bg_opacity if company.ticker_bg_opacity is not none else 75 }}</span>%</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-2">
|
||||
<div class="col-12 col-md-6">
|
||||
<label class="form-label" for="companyTickerFontFamily">Font</label>
|
||||
<select class="form-select" id="companyTickerFontFamily" name="ticker_font_family">
|
||||
{% set ff = company.ticker_font_family or 'system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif' %}
|
||||
<option value="system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif" {{ 'selected' if ff == 'system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif' else '' }}>System (default)</option>
|
||||
<option value="Arial, Helvetica, sans-serif" {{ 'selected' if ff == 'Arial, Helvetica, sans-serif' else '' }}>Arial</option>
|
||||
<option value="Segoe UI, Arial, sans-serif" {{ 'selected' if ff == 'Segoe UI, Arial, sans-serif' else '' }}>Segoe UI</option>
|
||||
<option value="Roboto, Arial, sans-serif" {{ 'selected' if ff == 'Roboto, Arial, sans-serif' else '' }}>Roboto</option>
|
||||
<option value="Georgia, serif" {{ 'selected' if ff == 'Georgia, serif' else '' }}>Georgia</option>
|
||||
<option value="Times New Roman, Times, serif" {{ 'selected' if ff == 'Times New Roman, Times, serif' else '' }}>Times New Roman</option>
|
||||
<option value="ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace" {{ 'selected' if ff == 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace' else '' }}>Monospace</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-12 col-md-3">
|
||||
<label class="form-label" for="companyTickerFontSize">Font size (px)</label>
|
||||
<input
|
||||
class="form-control"
|
||||
id="companyTickerFontSize"
|
||||
name="ticker_font_size_px"
|
||||
type="number"
|
||||
min="10"
|
||||
max="200"
|
||||
step="1"
|
||||
value="{{ company.ticker_font_size_px if company.ticker_font_size_px is not none else 28 }}"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-12 col-md-3">
|
||||
<label class="form-label" for="companyTickerSpeed">Speed</label>
|
||||
<input
|
||||
class="form-range"
|
||||
id="companyTickerSpeed"
|
||||
name="ticker_speed"
|
||||
type="range"
|
||||
min="1"
|
||||
max="100"
|
||||
step="1"
|
||||
value="{{ company.ticker_speed if company.ticker_speed is not none else 25 }}"
|
||||
/>
|
||||
<div class="form-text">Slower ⟷ Faster</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<button class="btn btn-brand" type="submit">Save ticker settings</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block page_scripts %}
|
||||
<script>
|
||||
(function () {
|
||||
const opacityEl = document.getElementById('companyTickerBgOpacity');
|
||||
const opacityLabelEl = document.getElementById('companyTickerBgOpacityLabel');
|
||||
function syncOpacity() {
|
||||
if (!opacityEl || !opacityLabelEl) return;
|
||||
opacityLabelEl.textContent = String(opacityEl.value || '0');
|
||||
}
|
||||
if (opacityEl) opacityEl.addEventListener('input', syncOpacity);
|
||||
syncOpacity();
|
||||
})();
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user