{% extends "admin/layout.html" %} {% block title %}General Settings{% endblock %} {% block body %}
{% trans %}Recommended: SVG or PNG, max 2MB{% endtrans %}
{% trans %}Enter CSS font-family value (e.g., 'Helvetica', Arial, sans-serif){% endtrans %}
{% trans %}Link to Google Fonts or custom font stylesheet{% endtrans %}
{% trans %}Color for dark mode (light text on dark background){% endtrans %}
{% trans %}Preview shows light mode colors. Dark mode colors will apply automatically.{% endtrans %}
{% trans %}Recommended: ICO or PNG, 32x32 or 64x64{% endtrans %}
{% trans %}Replaces the old domain across all templates automatically when you save settings. No extra steps needed.{% endtrans %}
{% trans %}The domain currently in your templates (what to replace from).{% endtrans %}
{% trans %}Your new domain (any TLD).{% endtrans %}
{% trans %}Replaces the brand name (e.g. OnlineConvert). Auto-derived from domain if left blank.{% endtrans %}
{% trans %}Applied automatically across all template files when you save settings.{% endtrans %}
{% trans %}Controls the primary accent color used across buttons, links, borders, focus rings, and the scrollbar across the entire site.{% endtrans %}
{% trans %}Tip: Set thumb color equal to Primary color for a consistent look. Changes apply on next page load.{% endtrans %}
{% trans %}Controls the circular progress indicator color in the file upload dropzone widget. Changes apply on next page load.{% endtrans %}
{% trans %}Customize the hero section background and text colors across all public pages.{% endtrans %}
{% trans %}Recommended: Wide image (1920×600 px), max 5 MB{% endtrans %}
{% trans %}Applied to the left text column and behind the image in the right column.{% endtrans %}
{% trans %}Applied to headings and body text inside the hero section on all public pages.{% endtrans %}
{% trans %}When enabled, converter pages use subdomains (e.g. audio.yourdomain.com). When disabled, all pages use path-based URLs (e.g. yourdomain.com/converter/audio/mp3).{% endtrans %}
{% trans %}This HTML will be injected into the <head> section of every page. Useful for analytics, custom fonts, etc.{% endtrans %}
{% trans %}This HTML is injected into <head> only for users whose plan has "Plan Head HTML Enabled" checked. Useful for injecting analytics or ad scripts for free/guest users.{% endtrans %}
{% trans %}This HTML will be injected right after the opening <body> tag on every page. Useful for tag managers, noscript tags, etc.{% endtrans %}
{% trans %}HTML is allowed. Leave empty to use the default copyright text.{% endtrans %}
{% trans %}Configure Bookmark, Like, Share, and Tweet buttons shown below ratings on all pages{% endtrans %}
{% trans %}Display count next to Like button (e.g. 106k, 1.2M){% endtrans %}
{% trans %}Display count next to Share button (e.g. 2k, 500){% endtrans %}
{% trans %}Default text for tweet (page URL is auto-appended). Leave empty to use page title.{% endtrans %}
{% trans %}Google reCAPTCHA v2 for contact and report forms{% endtrans %}
{% trans %}Public site key from{% endtrans %} {% trans %}Google reCAPTCHA Admin{% endtrans %}
{% trans %}Private secret key (kept server-side only){% endtrans %}
{% trans %}Paste your ad code for each position. Ads are hidden from users on paid subscription plans.{% endtrans %}
{% trans %}Configure outgoing email for password resets and notifications.{% endtrans %}
{% trans %}smtp.gmail.com{% endtrans %}
587
{% trans %}Notify users when their file conversion is ready.{% endtrans %}
{% trans %}Always free for all users. Uses the browser Notification API.{% endtrans %}
{% trans %}Can be restricted per plan. Uses dedicated SMTP below (falls back to main SMTP if empty).{% endtrans %}
{% trans %}Sends background push notifications to browsers even when the tab is closed. VAPID keys are auto-generated.{% endtrans %}
{% trans %}Open DevTools → Application → Service Workers → Push subscription, paste the JSON below, then click Send.{% endtrans %}
{% trans %}Used to sign broadcast click/open tracking tokens. Set any long random string. Falls back to the Flask session secret if left blank.{% endtrans %}
{% trans %}Changing this invalidates all existing tracking links in previously sent broadcasts.{% endtrans %}
{% trans %}Allow users to sign in with their Google account.{% endtrans %}
{% trans %}Create OAuth 2.0 credentials at{% endtrans %} console.cloud.google.com. {% trans %}Set the Authorised Redirect URI to:{% endtrans %} /auth/google/callback
/auth/google/callback
{% trans %}Allow users to sign in with their Microsoft account.{% endtrans %}
{% trans %}Register an app at{% endtrans %} portal.azure.com. {% trans %}Set the Redirect URI to:{% endtrans %} /auth/microsoft/callback {% trans %}and ensure the supported account types include personal + work accounts.{% endtrans %}
/auth/microsoft/callback
{% trans %}Allow users to sign in with their Apple ID.{% endtrans %}
{% trans %}Register a Services ID at{% endtrans %} developer.apple.com. {% trans %}Set the Redirect URI to:{% endtrans %} /auth/apple/callback. {% trans %}You will also need your Team ID, a Sign In with Apple key (Key ID + .p8 file contents).{% endtrans %}
/auth/apple/callback
{% trans %}Enable Google Drive, Dropbox and OneDrive upload tabs on converter pages. Leave blank to hide that tab.{% endtrans %}
{% trans %}Important: In your Dropbox App Console → Settings → "Chooser/Saver domains", you must add your site's domain (e.g. example.com). Without this, Dropbox will show "App is misconfigured" when users try to pick files.{% endtrans %}
example.com
{% trans %}Control which display modes users can access and set the default when no preference is stored.{% endtrans %}
{% trans %}Allow Dark Mode{% endtrans %}
{% trans %}Let users switch to dark mode{% endtrans %}
{% trans %}Allow Light Mode{% endtrans %}
{% trans %}Let users switch to light mode{% endtrans %}
{% trans %}Default Mode{% endtrans %}
{% trans %}Shown when user has no stored preference or their preferred mode is disabled{% endtrans %}
{% trans %}If both modes are enabled, users can freely toggle between them. If only one mode is allowed, the toggle button is hidden and the selected default is enforced. If neither is enabled, the Default Mode is used as the fallback.{% endtrans %}