diff --git a/src/config.json b/src/config.json index cd170594..da1ec4c6 100644 --- a/src/config.json +++ b/src/config.json @@ -8,37 +8,37 @@ "contact": "https://wukko.me/contacts", "support": { "default": { + "email": { + "emoji": "📧", + "url": "mailto:support@cobalt.tools", + "name": "support@cobalt.tools" + }, "twitter": { "emoji": "🐦", "url": "https://twitter.com/justusecobalt", - "handle": "@justusecobalt" + "name": "@justusecobalt" }, "discord": { "emoji": "👾", "url": "https://discord.gg/pQPt8HBUPu", - "handle": "cobalt community server" + "name": "cobalt discord server" }, "mastodon": { "emoji": "🐘", "url": "https://wetdry.world/@cobalt", - "handle": "@cobalt@wetdry.world" - }, - "support email": { - "emoji": "📧", - "url": "mailto:support@cobalt.tools", - "handle": "support@cobalt.tools" + "name": "@cobalt@wetdry.world" } }, "ru": { - "канал в telegram": { + "telegram": { "emoji": "📬", "url": "https://t.me/justusecobalt_ru", - "handle": "@justusecobalt_ru" + "name": "канал в telegram" }, - "поддержка по почте": { + "email": { "emoji": "📧", "url": "mailto:support@cobalt.tools", - "handle": "support@cobalt.tools" + "name": "support@cobalt.tools" } } } @@ -58,7 +58,9 @@ } }, "links": { - "saveToGalleryShortcut": "https://www.icloud.com/shortcuts/b401917928fd407daf1db0fd07eb7e78" + "saveToGalleryShortcut": "https://www.icloud.com/shortcuts/b401917928fd407daf1db0fd07eb7e78", + "statusPage": "https://status.cobalt.tools/", + "troubleshootingGuide": "https://github.com/wukko/cobalt/blob/current/docs/troubleshooting.md" }, "celebrations": { "01-01": "🎄", diff --git a/src/front/cobalt.css b/src/front/cobalt.css index ce364dc3..be41f997 100644 --- a/src/front/cobalt.css +++ b/src/front/cobalt.css @@ -797,6 +797,7 @@ button:active, .collapse-body { display: none; padding: var(--padding-1); + padding-bottom: 1rem; user-select: text; -webkit-user-select: text; } diff --git a/src/front/emoji/loudspeaker.svg b/src/front/emoji/loudspeaker.svg new file mode 100644 index 00000000..6acd5873 --- /dev/null +++ b/src/front/emoji/loudspeaker.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/front/emoji/wrench.svg b/src/front/emoji/wrench.svg new file mode 100644 index 00000000..b186d3b3 --- /dev/null +++ b/src/front/emoji/wrench.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/localization/languages/en.json b/src/localization/languages/en.json index ddb5cb76..159a2e78 100644 --- a/src/localization/languages/en.json +++ b/src/localization/languages/en.json @@ -1,7 +1,7 @@ { "name": "english", "substrings": { - "ContactLink": "create an issue on github" + "ContactLink": "check the status page or create an issue on github." }, "strings": { "AppTitleCobalt": "cobalt", @@ -45,7 +45,6 @@ "SettingsEnableDownloadPopup": "ask how to save", "AccessibilityEnableDownloadPopup": "ask what to do with downloads", "SettingsQualityDescription": "if selected quality isn't available, closest one is used instead.", - "LinkGitHubChanges": ">> see previous commits and contribute on github", "NoScriptMessage": "cobalt uses javascript for api requests and interactive interface. you have to allow javascript to use this site. there are no pesty scripts, pinky promise.", "DownloadPopupDescriptionIOS": "easiest way to save videos on ios:\n1. add this siri shortcut.\n2. press \"share\" above and select \"save to photos\" in appeared share sheet.\nif asked, review the permission request, and press \"always allow\".\n\nalternative method:\npress and hold the download button, hide the video preview, and select \"download linked file\" to download.\nthen, open safari downloads, select the file you downloaded, open share menu, and finally press \"save video\".", "DownloadPopupDescription": "download button opens a new tab with requested file. you can disable this popup in settings.", @@ -127,7 +126,7 @@ "FeatureErrorGeneric": "your browser doesn't allow or support this feature. check if there are any updates available and try again!", "ClipboardErrorFirefox": "you're using firefox where all clipboard reading functionality is disabled.\n\nyou can fix this by following steps listed here!\n\n...or you can paste the link manually instead.", "ClipboardErrorNoPermission": "cobalt can't access the most recent item in your clipboard without your permission.\n\nif you don't want to give access, just paste the link manually instead.\n\nif you do, go to site settings and enable the clipboard permission.", - "SupportSelfTroubleshooting": "experiencing issues? try self-troubleshooting guide first!", + "SupportSelfTroubleshooting": "experiencing issues? try one of these first:", "AccessibilityGoBack": "go back and close the popup", "CollapseKeyboard": "keyboard shortcuts", "KeyboardShortcutsIntro": "use cobalt even faster with keyboard shortcuts:", @@ -157,6 +156,8 @@ "FilenamePreviewAudioTitle": "Audio Title", "FilenamePreviewAudioAuthor": "Audio Author", "UrgentFilenameUpdate": "customizable file names!", - "UrgentTwitterPatch": "fixes and easier downloads" + "UrgentTwitterPatch": "fixes and easier downloads", + "StatusPage": "service status page", + "TroubleshootingGuide": "self-troubleshooting guide" } } diff --git a/src/localization/languages/ru.json b/src/localization/languages/ru.json index 3b00fa3c..c81eb558 100644 --- a/src/localization/languages/ru.json +++ b/src/localization/languages/ru.json @@ -1,14 +1,14 @@ { "name": "русский", "substrings": { - "ContactLink": "напиши об этом на github (можно на русском)" + "ContactLink": "глянь статус серверов или напиши о проблеме на github (можно на русском)" }, "strings": { "AppTitleCobalt": "кобальт", "LinkInput": "вставь ссылку сюда", "AboutSummary": "кобальт - твой друг при скачивании контента из соцсетей и других сервисов. никакой рекламы, трекеров и прочего мусора. вставляешь ссылку и получаешь файл. всё. ничего лишнего.", "EmbedBriefDescription": "сохраняй то, что любишь. без рекламы, трекеров и лишней мороки.", - "MadeWithLove": "сделано wukko, с <3", + "MadeWithLove": "сделано с любовью <3", "AccessibilityInputArea": "зона вставки ссылки", "AccessibilityOpenAbout": "открыть окно с инфой", "AccessibilityDownloadButton": "кнопка скачивания", @@ -45,7 +45,6 @@ "SettingsEnableDownloadPopup": "выбор метода скачивания", "AccessibilityEnableDownloadPopup": "спрашивать, что делать с загрузками", "SettingsQualityDescription": "если выбранное качество недоступно, то выбирается ближайшее к нему.", - "LinkGitHubChanges": ">> смотри предыдущие изменения на github", "NoScriptMessage": "кобальт использует javascript для обработки ссылок и интерактивного интерфейса. ты должен разрешить использование javascript, чтобы пользоваться сайтом. тут нет никаких зловредных скриптов, обещаю.", "DownloadPopupDescriptionIOS": "наиболее простой метод скачивания видео на ios:\n1. добавь этот сценарий siri.\n2. нажми \"поделиться\" выше и выбери \"save to photos\" в открывшемся окне.\nесли появляется окно с запросом разрешения, то прочитай его, потом нажми \"всегда разрешать\".\n\nальтернативный метод:\nзажми кнопку \"скачать\", затем скрой превью и выбери \"загрузить файл по ссылке\" в появившемся окне.\nпотом открой загрузки в safari, выбери скачанный файл, нажми иконку \"поделиться\", и, наконец, нажми \"сохранить видео\".", "DownloadPopupDescription": "кнопка скачивания открывает новое окно с файлом. ты можешь отключить выбор метода скачивания файла в настройках.", @@ -128,7 +127,7 @@ "FeatureErrorGeneric": "твой браузер не разрешает или не поддерживает эту функцию. проверь наличие обновлений и попробуй ещё раз!", "ClipboardErrorFirefox": "ты используешь firefox в котором все функции чтения из буфера обмена отключены по умолчанию.\n\nно это можно исправить следуя шагам, описанным здесь\n\n...или же ты можешь просто вставить ссылку вручную.", "ClipboardErrorNoPermission": "кобальт не может прочитать последний элемент в буфере обмена без твоего разрешения.\n\nесли ты не хочешь давать доступ, просто вставь ссылку вручную.\n\nну а если хочешь, то открой настройки сайта и разреши доступ на чтение буфера обмена.", - "SupportSelfTroubleshooting": "возникли проблемы? попробуй сначала исправить всё сам по этому гиду!", + "SupportSelfTroubleshooting": "возникли проблемы? попробуй сначала что-то из этого:", "AccessibilityGoBack": "вернуться назад и закрыть окно", "CollapseKeyboard": "горячие клавиши", "KeyboardShortcutsIntro": "пользуйся кобальтом ещё быстрее с горячими клавишами:", @@ -159,6 +158,8 @@ "FilenamePreviewAudioTitle": "Название Аудио", "FilenamePreviewAudioAuthor": "Автор Аудио", "UrgentFilenameUpdate": "изменяемые названия файлов!", - "UrgentTwitterPatch": "фиксы и удобное скачивание" + "UrgentTwitterPatch": "фиксы и удобное скачивание", + "StatusPage": "статус серверов", + "TroubleshootingGuide": "гайд по устранению проблем" } } diff --git a/src/localization/manager.js b/src/localization/manager.js index 2a2389b9..ce396891 100644 --- a/src/localization/manager.js +++ b/src/localization/manager.js @@ -16,7 +16,12 @@ export async function loadLoc() { } export function replaceBase(s) { - return s.replace(/\n/g, '
').replace(/{saveToGalleryShortcut}/g, links.saveToGalleryShortcut).replace(/{repo}/g, repo).replace(/\*;/g, "•"); + return s + .replace(/\n/g, '
') + .replace(/{saveToGalleryShortcut}/g, links.saveToGalleryShortcut) + .replace(/{repo}/g, repo) + .replace(/{statusPage}/g, links.statusPage) + .replace(/\*;/g, "•"); } export function replaceAll(lang, str, string, replacement) { let s = replaceBase(str[string]) diff --git a/src/modules/emoji.js b/src/modules/emoji.js index b2d759ed..48806b87 100644 --- a/src/modules/emoji.js +++ b/src/modules/emoji.js @@ -39,7 +39,9 @@ const names = { "🎞️": "film_frames", "🎧": "headphone", "📧": "email", - "📬": "mailbox" + "📬": "mailbox", + "📢": "loudspeaker", + "🔧": "wrench" } let sizing = { 18: 0.8, diff --git a/src/modules/pageRender/elements.js b/src/modules/pageRender/elements.js index 8415fb25..f74bb097 100644 --- a/src/modules/pageRender/elements.js +++ b/src/modules/pageRender/elements.js @@ -158,15 +158,15 @@ export function popupWithBottomButtons(obj) { ` } -export function socialLink(emji, name, handle, url) { - return `` +export function socialLink(emji, name, url) { + return `` } export function socialLinks(lang) { let links = authorInfo.support[lang] ? authorInfo.support[lang] : authorInfo.support.default; let r = ``; for (let i in links) { r += socialLink( - emoji(links[i].emoji), i, links[i].handle, links[i].url + emoji(links[i].emoji), links[i].name, links[i].url ) } return r diff --git a/src/modules/pageRender/page.js b/src/modules/pageRender/page.js index 9e486169..a741dbc9 100644 --- a/src/modules/pageRender/page.js +++ b/src/modules/pageRender/page.js @@ -1,5 +1,5 @@ import { checkbox, collapsibleList, explanation, footerButtons, multiPagePopup, popup, popupWithBottomButtons, sep, settingsCategory, switcher, socialLink, socialLinks, urgentNotice, keyboardShortcuts, webLoc, sponsoredList, betaTag } from "./elements.js"; -import { services as s, authorInfo, version, repo, donations, supportedAudio } from "../config.js"; +import { services as s, authorInfo, version, repo, donations, supportedAudio, links } from "../config.js"; import { getCommitInfo } from "../sub/currentCommit.js"; import loc from "../../localization/manager.js"; import emoji from "../emoji.js"; @@ -146,15 +146,15 @@ export default function(obj) { }, { name: "support", title: `${emoji("❤️‍🩹")} ${t("CollapseSupport")}`, - body: - `${t("SupportSelfTroubleshooting")}

` - + `${t("FollowSupport")}
` - + `${socialLinks(obj.lang)}
` - + `${t("SourceCode")}
` - + `${socialLink( - emoji("🐙"), "github", repo.replace("https://github.com/", ''), repo - )}
- ${t("SupportNote")}` + body: `${t("SupportSelfTroubleshooting")}` + + `${socialLink(emoji("📢"), t("StatusPage"), links.statusPage)}` + + `${socialLink(emoji("🔧"), t("TroubleshootingGuide"), links.troubleshootingGuide)}` + + `
` + + `${t("FollowSupport")}` + + `${socialLinks(obj.lang)}` + + `
` + + `${t("SourceCode")}` + + `${socialLink(emoji("🐙"), repo.replace("https://github.com/", ''), repo)}` }, { name: "privacy", title: `${emoji("🔒")} ${t("CollapsePrivacy")}`,