diff --git a/forge.config.js b/forge.config.js index e2850c8..747e0c1 100644 --- a/forge.config.js +++ b/forge.config.js @@ -2,17 +2,14 @@ module.exports = { packagerConfig: { icon: './src/images/icon.ico', asar: true, - "extraResource": [ - "./src/config/loquendo.db", - "./src/sounds" - ] + extraResource: ['./src/config/loquendo.db', './src/sounds', './backend', './speech_to_text_models'], }, rebuildConfig: {}, makers: [ { name: '@electron-forge/maker-squirrel', config: { - setupIcon: './src/images/icon.ico' + setupIcon: './src/images/icon.ico', }, }, { @@ -22,14 +19,12 @@ module.exports = { { name: '@electron-forge/maker-deb', config: { - options: { - } + options: {}, }, }, { name: '@electron-forge/maker-rpm', - config: { - }, + config: {}, }, ], plugins: [ diff --git a/languages.txt b/languages.txt new file mode 100644 index 0000000..89df109 --- /dev/null +++ b/languages.txt @@ -0,0 +1 @@ +{'acehnese': {'IETF': 'ace-ID', 'ISO-639': 'ace'}, 'afrikaans': {'IETF': 'af-ZA', 'ISO-639': 'af'}, 'akan': {'IETF': 'ak-GH', 'ISO-639': 'ak'}, 'albanian': {'IETF': 'sq-AL', 'ISO-639': 'sq'}, 'amharic': {'IETF': 'am-ET', 'ISO-639': 'am'}, 'antigua and barbuda creole english': {'IETF': 'aig-AG', 'ISO-639': 'aig'}, 'arabic': {'IETF': 'ar-SA', 'ISO-639': 'ar'}, 'arabic egyptian': {'IETF': 'ar-EG', 'ISO-639': 'ar'}, 'aragonese': {'IETF': 'an-ES', 'ISO-639': 'an'}, 'armenian': {'IETF': 'hy-AM', 'ISO-639': 'hy'}, 'assamese': {'IETF': 'as-IN', 'ISO-639': 'as'}, 'asturian': {'IETF': 'ast-ES', 'ISO-639': 'ast'}, 'austrian german': {'IETF': 'de-AT', 'ISO-639': 'de'}, 'awadhi': {'IETF': 'awa-IN', 'ISO-639': 'awa'}, 'ayacucho quechua': {'IETF': 'quy-PE', 'ISO-639': 'quy'}, 'azerbaijani': {'IETF': 'az-AZ', 'ISO-639': 'az'}, 'bahamas creole english': {'IETF': 'bah-BS', 'ISO-639': 'bah'}, 'bajan': {'IETF': 'bjs-BB', 'ISO-639': 'bjs'}, 'balinese': {'IETF': 'ban-ID', 'ISO-639': 'ban'}, 'balkan gipsy': {'IETF': 'rm-RO', 'ISO-639': 'rm'}, 'bambara': {'IETF': 'bm-ML', 'ISO-639': 'bm'}, 'banjar': {'IETF': 'bjn-ID', 'ISO-639': 'bjn'}, 'bashkir': {'IETF': 'ba-RU', 'ISO-639': 'ba'}, 'basque': {'IETF': 'eu-ES', 'ISO-639': 'eu'}, 'belarusian': {'IETF': 'be-BY', 'ISO-639': 'be'}, 'belgian french': {'IETF': 'fr-BE', 'ISO-639': 'fr'}, 'bemba': {'IETF': 'bem-ZM', 'ISO-639': 'bem'}, 'bengali': {'IETF': 'bn-IN', 'ISO-639': 'bn'}, 'bhojpuri': {'IETF': 'bho-IN', 'ISO-639': 'bho'}, 'bihari': {'IETF': 'bh-IN', 'ISO-639': 'bh'}, 'bislama': {'IETF': 'bi-VU', 'ISO-639': 'bi'}, 'borana': {'IETF': 'gax-KE', 'ISO-639': 'gax'}, 'bosnian': {'IETF': 'bs-BA', 'ISO-639': 'bs'}, 'bosnian (cyrillic)': {'IETF': 'bs-Cyrl-BA', 'ISO-639': 'bs'}, 'breton': {'IETF': 'br-FR', 'ISO-639': 'br'}, 'buginese': {'IETF': 'bug-ID', 'ISO-639': 'bug'}, 'bulgarian': {'IETF': 'bg-BG', 'ISO-639': 'bg'}, 'burmese': {'IETF': 'my-MM', 'ISO-639': 'my'}, 'catalan': {'IETF': 'ca-ES', 'ISO-639': 'ca'}, 'catalan valencian': {'IETF': 'cav-ES', 'ISO-639': 'cav'}, 'cebuano': {'IETF': 'ceb-PH', 'ISO-639': 'ceb'}, 'central atlas tamazight': {'IETF': 'tzm-MA', 'ISO-639': 'tzm'}, 'central aymara': {'IETF': 'ayr-BO', 'ISO-639': 'ayr'}, 'central kanuri (latin script)': {'IETF': 'knc-NG', 'ISO-639': 'knc'}, 'chadian arabic': {'IETF': 'shu-TD', 'ISO-639': 'shu'}, 'chamorro': {'IETF': 'ch-GU', 'ISO-639': 'ch'}, 'cherokee': {'IETF': 'chr-US', 'ISO-639': 'chr'}, 'chhattisgarhi': {'IETF': 'hne-IN', 'ISO-639': 'hne'}, 'chinese simplified': {'IETF': 'zh-CN', 'ISO-639': 'zh'}, 'chinese trad. (hong kong)': {'IETF': 'zh-HK', 'ISO-639': 'zh'}, 'chinese traditional': {'IETF': 'zh-TW', 'ISO-639': 'zh'}, 'chinese traditional macau': {'IETF': 'zh-MO', 'ISO-639': 'zh'}, 'chittagonian': {'IETF': 'ctg-BD', 'ISO-639': 'ctg'}, 'chokwe': {'IETF': 'cjk-AO', 'ISO-639': 'cjk'}, 'classical greek': {'IETF': 'grc-GR', 'ISO-639': 'grc'}, 'comorian ngazidja': {'IETF': 'zdj-KM', 'ISO-639': 'zdj'}, 'coptic': {'IETF': 'cop-EG', 'ISO-639': 'cop'}, 'crimean tatar': {'IETF': 'crh-RU', 'ISO-639': 'crh'}, 'crioulo upper guinea': {'IETF': 'pov-GW', 'ISO-639': 'pov'}, 'croatian': {'IETF': 'hr-HR', 'ISO-639': 'hr'}, 'czech': {'IETF': 'cs-CZ', 'ISO-639': 'cs'}, 'danish': {'IETF': 'da-DK', 'ISO-639': 'da'}, 'dari': {'IETF': 'prs-AF', 'ISO-639': 'prs'}, 'dimli': {'IETF': 'diq-TR', 'ISO-639': 'diq'}, 'dutch': {'IETF': 'nl-NL', 'ISO-639': 'nl'}, 'dyula': {'IETF': 'dyu-CI', 'ISO-639': 'dyu'}, 'dzongkha': {'IETF': 'dz-BT', 'ISO-639': 'dz'}, 'eastern yiddish': {'IETF': 'ydd-US', 'ISO-639': 'ydd'}, 'emakhuwa': {'IETF': 'vmw-MZ', 'ISO-639': 'vmw'}, 'english': {'IETF': 'en-GB', 'ISO-639': 'en'}, 'english australia': {'IETF': 'en-AU', 'ISO-639': 'en'}, 'english canada': {'IETF': 'en-CA', 'ISO-639': 'en'}, 'english india': {'IETF': 'en-IN', 'ISO-639': 'en'}, 'english ireland': {'IETF': 'en-IE', 'ISO-639': 'en'}, 'english new zealand': {'IETF': 'en-NZ', 'ISO-639': 'en'}, 'english singapore': {'IETF': 'en-SG', 'ISO-639': 'en'}, 'english south africa': {'IETF': 'en-ZA', 'ISO-639': 'en'}, 'english us': {'IETF': 'en-US', 'ISO-639': 'en'}, 'esperanto': {'IETF': 'eo-EU', 'ISO-639': 'eo'}, 'estonian': {'IETF': 'et-EE', 'ISO-639': 'et'}, 'ewe': {'IETF': 'ee-GH', 'ISO-639': 'ee'}, 'fanagalo': {'IETF': 'fn-FNG', 'ISO-639': 'fn'}, 'faroese': {'IETF': 'fo-FO', 'ISO-639': 'fo'}, 'fijian': {'IETF': 'fj-FJ', 'ISO-639': 'fj'}, 'filipino': {'IETF': 'fil-PH', 'ISO-639': 'fil'}, 'finnish': {'IETF': 'fi-FI', 'ISO-639': 'fi'}, 'flemish': {'IETF': 'nl-BE', 'ISO-639': 'nl'}, 'fon': {'IETF': 'fon-BJ', 'ISO-639': 'fon'}, 'french': {'IETF': 'fr-FR', 'ISO-639': 'fr'}, 'french canada': {'IETF': 'fr-CA', 'ISO-639': 'fr'}, 'french swiss': {'IETF': 'fr-CH', 'ISO-639': 'fr'}, 'friulian': {'IETF': 'fur-IT', 'ISO-639': 'fur'}, 'fula': {'IETF': 'ff-FUL', 'ISO-639': 'ff'}, 'galician': {'IETF': 'gl-ES', 'ISO-639': 'gl'}, 'gamargu': {'IETF': 'mfi-NG', 'ISO-639': 'mfi'}, 'garo': {'IETF': 'grt-IN', 'ISO-639': 'grt'}, 'georgian': {'IETF': 'ka-GE', 'ISO-639': 'ka'}, 'german': {'IETF': 'de-DE', 'ISO-639': 'de'}, 'gilbertese': {'IETF': 'gil-KI', 'ISO-639': 'gil'}, 'glavda': {'IETF': 'glw-NG', 'ISO-639': 'glw'}, 'greek': {'IETF': 'el-GR', 'ISO-639': 'el'}, 'grenadian creole english': {'IETF': 'gcl-GD', 'ISO-639': 'gcl'}, 'guarani': {'IETF': 'gn-PY', 'ISO-639': 'gn'}, 'gujarati': {'IETF': 'gu-IN', 'ISO-639': 'gu'}, 'guyanese creole english': {'IETF': 'gyn-GY', 'ISO-639': 'gyn'}, 'haitian creole french': {'IETF': 'ht-HT', 'ISO-639': 'ht'}, 'halh mongolian': {'IETF': 'khk-MN', 'ISO-639': 'khk'}, 'hausa': {'IETF': 'ha-NE', 'ISO-639': 'ha'}, 'hawaiian': {'IETF': 'haw-US', 'ISO-639': 'haw'}, 'hebrew': {'IETF': 'he-IL', 'ISO-639': 'he'}, 'higi': {'IETF': 'hig-NG', 'ISO-639': 'hig'}, 'hiligaynon': {'IETF': 'hil-PH', 'ISO-639': 'hil'}, 'hill mari': {'IETF': 'mrj-RU', 'ISO-639': 'mrj'}, 'hindi': {'IETF': 'hi-IN', 'ISO-639': 'hi'}, 'hmong': {'IETF': 'hmn-CN', 'ISO-639': 'hmn'}, 'hungarian': {'IETF': 'hu-HU', 'ISO-639': 'hu'}, 'icelandic': {'IETF': 'is-IS', 'ISO-639': 'is'}, 'igbo ibo': {'IETF': 'ibo-NG', 'ISO-639': 'ibo'}, 'igbo ig': {'IETF': 'ig-NG', 'ISO-639': 'ig'}, 'ilocano': {'IETF': 'ilo-PH', 'ISO-639': 'ilo'}, 'indonesian': {'IETF': 'id-ID', 'ISO-639': 'id'}, 'inuktitut greenlandic': {'IETF': 'kl-GL', 'ISO-639': 'kl'}, 'irish gaelic': {'IETF': 'ga-IE', 'ISO-639': 'ga'}, 'italian': {'IETF': 'it-IT', 'ISO-639': 'it'}, 'italian swiss': {'IETF': 'it-CH', 'ISO-639': 'it'}, 'jamaican creole english': {'IETF': 'jam-JM', 'ISO-639': 'jam'}, 'japanese': {'IETF': 'ja-JP', 'ISO-639': 'ja'}, 'javanese': {'IETF': 'jv-ID', 'ISO-639': 'jv'}, 'jingpho': {'IETF': 'kac-MM', 'ISO-639': 'kac'}, "k'iche'": {'IETF': 'quc-GT', 'ISO-639': 'quc'}, 'kabiyè': {'IETF': 'kbp-TG', 'ISO-639': 'kbp'}, 'kabuverdianu': {'IETF': 'kea-CV', 'ISO-639': 'kea'}, 'kabylian': {'IETF': 'kab-DZ', 'ISO-639': 'kab'}, 'kalenjin': {'IETF': 'kln-KE', 'ISO-639': 'kln'}, 'kamba': {'IETF': 'kam-KE', 'ISO-639': 'kam'}, 'kannada': {'IETF': 'kn-IN', 'ISO-639': 'kn'}, 'kanuri': {'IETF': 'kr-KAU', 'ISO-639': 'kr'}, 'karen': {'IETF': 'kar-MM', 'ISO-639': 'kar'}, 'kashmiri (devanagari script)': {'IETF': 'ks-IN', 'ISO-639': 'ks'}, 'kashmiri (arabic script)': {'IETF': 'kas-IN', 'ISO-639': 'kas'}, 'kazakh': {'IETF': 'kk-KZ', 'ISO-639': 'kk'}, 'khasi': {'IETF': 'kha-IN', 'ISO-639': 'kha'}, 'khmer': {'IETF': 'km-KH', 'ISO-639': 'km'}, 'kikuyu kik': {'IETF': 'kik-KE', 'ISO-639': 'kik'}, 'kikuyu ki': {'IETF': 'ki-KE', 'ISO-639': 'ki'}, 'kimbundu': {'IETF': 'kmb-AO', 'ISO-639': 'kmb'}, 'kinyarwanda': {'IETF': 'rw-RW', 'ISO-639': 'rw'}, 'kirundi': {'IETF': 'rn-BI', 'ISO-639': 'rn'}, 'kisii': {'IETF': 'guz-KE', 'ISO-639': 'guz'}, 'kongo': {'IETF': 'kg-CG', 'ISO-639': 'kg'}, 'konkani': {'IETF': 'kok-IN', 'ISO-639': 'kok'}, 'korean': {'IETF': 'ko-KR', 'ISO-639': 'ko'}, 'northern kurdish': {'IETF': 'kmr-TR', 'ISO-639': 'kmr'}, 'kurdish sorani': {'IETF': 'ckb-IQ', 'ISO-639': 'ckb'}, 'kyrgyz': {'IETF': 'ky-KG', 'ISO-639': 'ky'}, 'lao': {'IETF': 'lo-LA', 'ISO-639': 'lo'}, 'latgalian': {'IETF': 'ltg-LV', 'ISO-639': 'ltg'}, 'latin': {'IETF': 'la-XN', 'ISO-639': 'la'}, 'latvian': {'IETF': 'lv-LV', 'ISO-639': 'lv'}, 'ligurian': {'IETF': 'lij-IT', 'ISO-639': 'lij'}, 'limburgish': {'IETF': 'li-NL', 'ISO-639': 'li'}, 'lingala': {'IETF': 'ln-LIN', 'ISO-639': 'ln'}, 'lithuanian': {'IETF': 'lt-LT', 'ISO-639': 'lt'}, 'lombard': {'IETF': 'lmo-IT', 'ISO-639': 'lmo'}, 'luba-kasai': {'IETF': 'lua-CD', 'ISO-639': 'lua'}, 'luganda': {'IETF': 'lg-UG', 'ISO-639': 'lg'}, 'luhya': {'IETF': 'luy-KE', 'ISO-639': 'luy'}, 'luo': {'IETF': 'luo-KE', 'ISO-639': 'luo'}, 'luxembourgish': {'IETF': 'lb-LU', 'ISO-639': 'lb'}, 'maa': {'IETF': 'mas-KE', 'ISO-639': 'mas'}, 'macedonian': {'IETF': 'mk-MK', 'ISO-639': 'mk'}, 'magahi': {'IETF': 'mag-IN', 'ISO-639': 'mag'}, 'maithili': {'IETF': 'mai-IN', 'ISO-639': 'mai'}, 'malagasy': {'IETF': 'mg-MG', 'ISO-639': 'mg'}, 'malay': {'IETF': 'ms-MY', 'ISO-639': 'ms'}, 'malayalam': {'IETF': 'ml-IN', 'ISO-639': 'ml'}, 'maldivian': {'IETF': 'dv-MV', 'ISO-639': 'dv'}, 'maltese': {'IETF': 'mt-MT', 'ISO-639': 'mt'}, 'mandara': {'IETF': 'mfi-CM', 'ISO-639': 'mfi'}, 'manipuri': {'IETF': 'mni-IN', 'ISO-639': 'mni'}, 'manx gaelic': {'IETF': 'gv-IM', 'ISO-639': 'gv'}, 'maori': {'IETF': 'mi-NZ', 'ISO-639': 'mi'}, 'marathi': {'IETF': 'mr-IN', 'ISO-639': 'mr'}, 'margi': {'IETF': 'mrt-NG', 'ISO-639': 'mrt'}, 'mari': {'IETF': 'mhr-RU', 'ISO-639': 'mhr'}, 'marshallese': {'IETF': 'mh-MH', 'ISO-639': 'mh'}, 'mende': {'IETF': 'men-SL', 'ISO-639': 'men'}, 'meru': {'IETF': 'mer-KE', 'ISO-639': 'mer'}, 'mijikenda': {'IETF': 'nyf-KE', 'ISO-639': 'nyf'}, 'minangkabau': {'IETF': 'min-ID', 'ISO-639': 'min'}, 'mizo': {'IETF': 'lus-IN', 'ISO-639': 'lus'}, 'mongolian': {'IETF': 'mn-MN', 'ISO-639': 'mn'}, 'montenegrin': {'IETF': 'sr-ME', 'ISO-639': 'sr'}, 'morisyen': {'IETF': 'mfe-MU', 'ISO-639': 'mfe'}, 'moroccan arabic': {'IETF': 'ar-MA', 'ISO-639': 'ar'}, 'mossi': {'IETF': 'mos-BF', 'ISO-639': 'mos'}, 'ndau': {'IETF': 'ndc-MZ', 'ISO-639': 'ndc'}, 'ndebele': {'IETF': 'nr-ZA', 'ISO-639': 'nr'}, 'nepali': {'IETF': 'ne-NP', 'ISO-639': 'ne'}, 'nigerian fulfulde': {'IETF': 'fuv-NG', 'ISO-639': 'fuv'}, 'niuean': {'IETF': 'niu-NU', 'ISO-639': 'niu'}, 'north azerbaijani': {'IETF': 'azj-AZ', 'ISO-639': 'azj'}, 'sesotho': {'IETF': 'nso-ZA', 'ISO-639': 'nso'}, 'northern uzbek': {'IETF': 'uzn-UZ', 'ISO-639': 'uzn'}, 'norwegian bokmål': {'IETF': 'nb-NO', 'ISO-639': 'nb'}, 'norwegian nynorsk': {'IETF': 'nn-NO', 'ISO-639': 'nn'}, 'nuer': {'IETF': 'nus-SS', 'ISO-639': 'nus'}, 'nyanja': {'IETF': 'ny-MW', 'ISO-639': 'ny'}, 'occitan': {'IETF': 'oc-FR', 'ISO-639': 'oc'}, 'occitan aran': {'IETF': 'oc-ES', 'ISO-639': 'oc'}, 'odia': {'IETF': 'or-IN', 'ISO-639': 'or'}, 'oriya': {'IETF': 'ory-IN', 'ISO-639': 'ory'}, 'urdu': {'IETF': 'ur-PK', 'ISO-639': 'ur'}, 'palauan': {'IETF': 'pau-PW', 'ISO-639': 'pau'}, 'pali': {'IETF': 'pi-IN', 'ISO-639': 'pi'}, 'pangasinan': {'IETF': 'pag-PH', 'ISO-639': 'pag'}, 'papiamentu': {'IETF': 'pap-CW', 'ISO-639': 'pap'}, 'pashto': {'IETF': 'ps-PK', 'ISO-639': 'ps'}, 'persian': {'IETF': 'fa-IR', 'ISO-639': 'fa'}, 'pijin': {'IETF': 'pis-SB', 'ISO-639': 'pis'}, 'plateau malagasy': {'IETF': 'plt-MG', 'ISO-639': 'plt'}, 'polish': {'IETF': 'pl-PL', 'ISO-639': 'pl'}, 'portuguese': {'IETF': 'pt-PT', 'ISO-639': 'pt'}, 'portuguese brazil': {'IETF': 'pt-BR', 'ISO-639': 'pt'}, 'potawatomi': {'IETF': 'pot-US', 'ISO-639': 'pot'}, 'punjabi': {'IETF': 'pa-IN', 'ISO-639': 'pa'}, 'punjabi (pakistan)': {'IETF': 'pnb-PK', 'ISO-639': 'pnb'}, 'quechua': {'IETF': 'qu-PE', 'ISO-639': 'qu'}, 'rohingya': {'IETF': 'rhg-MM', 'ISO-639': 'rhg'}, 'rohingyalish': {'IETF': 'rhl-MM', 'ISO-639': 'rhl'}, 'romanian': {'IETF': 'ro-RO', 'ISO-639': 'ro'}, 'romansh': {'IETF': 'roh-CH', 'ISO-639': 'roh'}, 'rundi': {'IETF': 'run-BI', 'ISO-639': 'run'}, 'russian': {'IETF': 'ru-RU', 'ISO-639': 'ru'}, 'saint lucian creole french': {'IETF': 'acf-LC', 'ISO-639': 'acf'}, 'samoan': {'IETF': 'sm-WS', 'ISO-639': 'sm'}, 'sango': {'IETF': 'sg-CF', 'ISO-639': 'sg'}, 'sanskrit': {'IETF': 'sa-IN', 'ISO-639': 'sa'}, 'santali': {'IETF': 'sat-IN', 'ISO-639': 'sat'}, 'sardinian': {'IETF': 'sc-IT', 'ISO-639': 'sc'}, 'scots gaelic': {'IETF': 'gd-GB', 'ISO-639': 'gd'}, 'sena': {'IETF': 'seh-ZW', 'ISO-639': 'seh'}, 'serbian cyrillic': {'IETF': 'sr-Cyrl-RS', 'ISO-639': 'sr'}, 'serbian latin': {'IETF': 'sr-Latn-RS', 'ISO-639': 'sr'}, 'seselwa creole french': {'IETF': 'crs-SC', 'ISO-639': 'crs'}, 'setswana (south africa)': {'IETF': 'tn-ZA', 'ISO-639': 'tn'}, 'shan': {'IETF': 'shn-MM', 'ISO-639': 'shn'}, 'shona': {'IETF': 'sn-ZW', 'ISO-639': 'sn'}, 'sicilian': {'IETF': 'scn-IT', 'ISO-639': 'scn'}, 'silesian': {'IETF': 'szl-PL', 'ISO-639': 'szl'}, 'sindhi snd': {'IETF': 'snd-PK', 'ISO-639': 'snd'}, 'sindhi sd': {'IETF': 'sd-PK', 'ISO-639': 'sd'}, 'sinhala': {'IETF': 'si-LK', 'ISO-639': 'si'}, 'slovak': {'IETF': 'sk-SK', 'ISO-639': 'sk'}, 'slovenian': {'IETF': 'sl-SI', 'ISO-639': 'sl'}, 'somali': {'IETF': 'so-SO', 'ISO-639': 'so'}, 'sotho southern': {'IETF': 'st-LS', 'ISO-639': 'st'}, 'south azerbaijani': {'IETF': 'azb-AZ', 'ISO-639': 'azb'}, 'southern pashto': {'IETF': 'pbt-PK', 'ISO-639': 'pbt'}, 'southwestern dinka': {'IETF': 'dik-SS', 'ISO-639': 'dik'}, 'spanish': {'IETF': 'es-ES', 'ISO-639': 'es'}, 'spanish argentina': {'IETF': 'es-AR', 'ISO-639': 'es'}, 'spanish colombia': {'IETF': 'es-CO', 'ISO-639': 'es'}, 'spanish latin america': {'IETF': 'es-419', 'ISO-639': 'es'}, 'spanish mexico': {'IETF': 'es-MX', 'ISO-639': 'es'}, 'spanish united states': {'IETF': 'es-US', 'ISO-639': 'es'}, 'sranan tongo': {'IETF': 'srn-SR', 'ISO-639': 'srn'}, 'standard latvian': {'IETF': 'lvs-LV', 'ISO-639': 'lvs'}, 'standard malay': {'IETF': 'zsm-MY', 'ISO-639': 'zsm'}, 'sundanese': {'IETF': 'su-ID', 'ISO-639': 'su'}, 'swahili': {'IETF': 'sw-KE', 'ISO-639': 'sw'}, 'swati': {'IETF': 'ss-SZ', 'ISO-639': 'ss'}, 'swedish': {'IETF': 'sv-SE', 'ISO-639': 'sv'}, 'swiss german': {'IETF': 'de-CH', 'ISO-639': 'de'}, 'syriac (aramaic)': {'IETF': 'syc-TR', 'ISO-639': 'syc'}, 'tagalog': {'IETF': 'tl-PH', 'ISO-639': 'tl'}, 'tahitian': {'IETF': 'ty-PF', 'ISO-639': 'ty'}, 'tajik': {'IETF': 'tg-TJ', 'ISO-639': 'tg'}, 'tamashek (tuareg)': {'IETF': 'tmh-DZ', 'ISO-639': 'tmh'}, 'tamasheq': {'IETF': 'taq-ML', 'ISO-639': 'taq'}, 'tamil india': {'IETF': 'ta-IN', 'ISO-639': 'ta'}, 'tamil sri lanka': {'IETF': 'ta-LK', 'ISO-639': 'ta'}, 'taroko': {'IETF': 'trv-TW', 'ISO-639': 'trv'}, 'tatar': {'IETF': 'tt-RU', 'ISO-639': 'tt'}, 'telugu': {'IETF': 'te-IN', 'ISO-639': 'te'}, 'tetum': {'IETF': 'tet-TL', 'ISO-639': 'tet'}, 'thai': {'IETF': 'th-TH', 'ISO-639': 'th'}, 'tibetan': {'IETF': 'bo-CN', 'ISO-639': 'bo'}, 'tigrinya': {'IETF': 'ti-ET', 'ISO-639': 'ti'}, 'tok pisin': {'IETF': 'tpi-PG', 'ISO-639': 'tpi'}, 'tokelauan': {'IETF': 'tkl-TK', 'ISO-639': 'tkl'}, 'tongan': {'IETF': 'to-TO', 'ISO-639': 'to'}, 'tosk albanian': {'IETF': 'als-AL', 'ISO-639': 'als'}, 'tsonga': {'IETF': 'ts-ZA', 'ISO-639': 'ts'}, 'tswa': {'IETF': 'tsc-MZ', 'ISO-639': 'tsc'}, 'tswana': {'IETF': 'tn-BW', 'ISO-639': 'tn'}, 'tumbuka': {'IETF': 'tum-MW', 'ISO-639': 'tum'}, 'turkish': {'IETF': 'tr-TR', 'ISO-639': 'tr'}, 'turkmen': {'IETF': 'tk-TM', 'ISO-639': 'tk'}, 'tuvaluan': {'IETF': 'tvl-TV', 'ISO-639': 'tvl'}, 'twi': {'IETF': 'tw-GH', 'ISO-639': 'tw'}, 'udmurt': {'IETF': 'udm-RU', 'ISO-639': 'udm'}, 'ukrainian': {'IETF': 'uk-UA', 'ISO-639': 'uk'}, 'uma': {'IETF': 'ppk-ID', 'ISO-639': 'ppk'}, 'umbundu': {'IETF': 'umb-AO', 'ISO-639': 'umb'}, 'uyghur uig': {'IETF': 'uig-CN', 'ISO-639': 'uig'}, 'uyghur ug': {'IETF': 'ug-CN', 'ISO-639': 'ug'}, 'uzbek': {'IETF': 'uz-UZ', 'ISO-639': 'uz'}, 'venetian': {'IETF': 'vec-IT', 'ISO-639': 'vec'}, 'vietnamese': {'IETF': 'vi-VN', 'ISO-639': 'vi'}, 'vincentian creole english': {'IETF': 'svc-VC', 'ISO-639': 'svc'}, 'virgin islands creole english': {'IETF': 'vic-US', 'ISO-639': 'vic'}, 'wallisian': {'IETF': 'wls-WF', 'ISO-639': 'wls'}, 'waray (philippines)': {'IETF': 'war-PH', 'ISO-639': 'war'}, 'welsh': {'IETF': 'cy-GB', 'ISO-639': 'cy'}, 'west central oromo': {'IETF': 'gaz-ET', 'ISO-639': 'gaz'}, 'western persian': {'IETF': 'pes-IR', 'ISO-639': 'pes'}, 'wolof': {'IETF': 'wo-SN', 'ISO-639': 'wo'}, 'xhosa': {'IETF': 'xh-ZA', 'ISO-639': 'xh'}, 'yiddish': {'IETF': 'yi-YD', 'ISO-639': 'yi'}, 'yoruba': {'IETF': 'yo-NG', 'ISO-639': 'yo'}, 'zulu': {'IETF': 'zu-ZA', 'ISO-639': 'zu'}} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 88b67d4..7095942 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "loquendo-bot", - "version": "2.1.0", + "version": "2.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "loquendo-bot", - "version": "2.1.0", + "version": "2.2.0", "license": "ISC", "dependencies": { "axios": "^1.4.0", @@ -14,6 +14,7 @@ "express": "^4.18.2", "franc": "^6.1.0", "i18next-electron-language-detector": "^0.0.10", + "iconv-lite": "^0.6.3", "ini": "^2.0.0", "kill-port": "^2.0.1", "langdetect": "^0.2.1", @@ -26,6 +27,7 @@ "sound-play": "^1.1.0", "tmi.js": "^1.8.5", "url": "^0.11.1", + "voice-recognition": "^1.0.6", "winston": "^3.10.0", "write-ini-file": "^4.0.1" }, @@ -1180,6 +1182,14 @@ "tweetnacl": "^0.14.3" } }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -1228,6 +1238,17 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -2513,18 +2534,6 @@ "iconv-lite": "^0.6.2" } }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -2899,6 +2908,11 @@ "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "node_modules/filename-reserved-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", @@ -3681,11 +3695,11 @@ "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info." }, "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" @@ -4633,6 +4647,17 @@ "ms": "^2.1.1" } }, + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -5356,6 +5381,17 @@ "node": ">= 0.8" } }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/rcedit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-3.0.2.tgz", @@ -6709,6 +6745,14 @@ "extsprintf": "^1.2.0" } }, + "node_modules/voice-recognition": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/voice-recognition/-/voice-recognition-1.0.6.tgz", + "integrity": "sha512-y0DcHDoWx2Kw21WsshjL8WDT6qbAPmqIW9a0bnwQwJ0xJ6/RqIUqCdjNEcoXbC4tUnf05S1h/gWT76Zb2toCNw==", + "dependencies": { + "bindings": "^1.5.0" + } + }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", diff --git a/package.json b/package.json index b377841..042c640 100644 --- a/package.json +++ b/package.json @@ -5,10 +5,11 @@ "main": "src/main.js", "scripts": { "start": "electron-forge start", - "package": "electron-forge package", + "package": "npm run backend && electron-forge package", "make": "electron-forge make", "publish": "electron-forge publish", - "lint": "echo \"No linting configured\"" + "lint": "echo \"No linting configured\"", + "backend": "pyinstaller --noconsole --onefile --collect-all vosk --distpath ./backend ./src/backend/loquendoBot_backend.py" }, "keywords": [], "author": { @@ -22,6 +23,7 @@ "express": "^4.18.2", "franc": "^6.1.0", "i18next-electron-language-detector": "^0.0.10", + "iconv-lite": "^0.6.3", "ini": "^2.0.0", "kill-port": "^2.0.1", "langdetect": "^0.2.1", @@ -34,6 +36,7 @@ "sound-play": "^1.1.0", "tmi.js": "^1.8.5", "url": "^0.11.1", + "voice-recognition": "^1.0.6", "winston": "^3.10.0", "write-ini-file": "^4.0.1" }, diff --git a/src/config/languages.txt b/src/config/languages.txt deleted file mode 100644 index 73adeae..0000000 --- a/src/config/languages.txt +++ /dev/null @@ -1,3 +0,0 @@ -EN -ES -NL \ No newline at end of file diff --git a/src/css/chat.css b/src/css/chat.css index b41a751..d01cd88 100644 --- a/src/css/chat.css +++ b/src/css/chat.css @@ -1,6 +1,5 @@ @font-face { font-family: 'FRAMDCN'; - } h1 { @@ -45,7 +44,7 @@ h1 { border-bottom-right-radius: 2px; max-width: 80%; margin-right: 10px; - animation: floatup .5s forwards; + animation: floatup 0.5s forwards; } .botText { @@ -65,13 +64,13 @@ h1 { border-bottom-left-radius: 2px; max-width: 80%; margin-left: 10px; - animation: floatup .5s forwards + animation: floatup 0.5s forwards; } @keyframes floatup { from { transform: translateY(14px); - opacity: .0; + opacity: 0; } to { @@ -80,7 +79,7 @@ h1 { } } -@media screen and (max-width:600px) { +@media screen and (max-width: 600px) { .full-chat-block { width: 100%; border-radius: 0px; @@ -159,44 +158,38 @@ h1 { margin: 10px; } -.chat-input input[good]+button { - box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 4px rgba(0, 0, 0, .24); +.chat-input input[good] + button { + box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.24); } -.chat-input input[good]+button:hover { +.chat-input input[good] + button:hover { box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); /* filter: brightness(150%); */ } -.chat-input input[good]+button path { +.chat-input input[good] + button path { fill: var(--chat-bubble-message); } .msg-container { - position: relative; + position: static; display: inline-block; width: 100%; - margin: 0 0 10px 0; - padding: 0; + margin: 0px 0px 0px 0px; + padding: 0px 0px 10px 0px; } .msg-box { - display: flex; background: var(--chat-bubble); - padding: 5px 5px 5px 5px; - border-radius: 6px 6px 6px 6px; - margin-left: -20px; - margin-right: 10px; - margin-top: 10px; - max-width: 80%; - width: auto; - float: left; - word-wrap: break-word; - box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 4px rgba(0, 0, 0, .24); + color: white; + border-radius: 5px; + padding: 20px 5px 5px 25px; + margin: 20px 0px 0px 25px; + box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.24); + width: fit-content; } .msg-box-user { - display: flex; background: var(--chat-bubble); padding: 5px 5px 5px 5px; border-radius: 6px 6px 6px 6px; @@ -206,7 +199,7 @@ h1 { width: auto; float: right; word-wrap: break-word; - box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 4px rgba(0, 0, 0, .24); + box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.24); } .msg-box-user-temp { @@ -216,9 +209,8 @@ h1 { .user-img { display: inline-block; border-radius: 50%; - height: 40px; - width: 40px; - margin: 0 10px 10px 0; + height: 50px; + width: 50px; } .user-img-user { @@ -229,45 +221,33 @@ h1 { margin: 0 0px 10px 10px; } -.flr { - flex: 1 0 auto; - display: flex; - flex-direction: column; - width: calc(100% - 50px); -} - .messages { margin-left: 20px; - min-width: 200px; } .messages-user { margin-right: 20px; - min-width: 200px; } .msg { - font-size: 11pt; - line-height: 13pt; + font-size: 12pt; color: var(--chat-bubble-message); - margin: 0 0 4px 0; - display: flex; - align-items: self-end; + margin: 0 0 0 0; } .msg-temp { color: var(--chat-bubble-message-temp); } -.msg:first-of-type { +/* .msg:first-of-type { margin-top: 8px; -} +} */ .timestamp { color: var(--chat-bubble-header); font-size: 10pt; align-items: center; - font-family: "xxii_avenmedium"; + font-family: 'xxii_avenmedium'; } .timestamp-temp { @@ -277,7 +257,14 @@ h1 { .username { float: left; color: var(--chat-bubble-header); - font-weight: bold; + background-color: var(--main-color4); + margin-left: 25px; + color: white; + position: relative; + z-index: 2; + padding: 5px 5px 5px 30px; + border-radius: 5px; + top: 10px; } .username-temp { @@ -286,7 +273,9 @@ h1 { .post-time { float: right; - font-weight: bold; + font-size: 8pt; + padding: 10px 0px 0px 5px; + display: inline-block; } .msg-self .msg-box { @@ -311,10 +300,11 @@ h1 { .icon-container { width: 50px; height: 50px; - position: relative; + position: absolute; float: left; display: flex; align-items: center; + z-index: 3; } .icon-container-user { @@ -324,6 +314,7 @@ h1 { float: right; display: flex; align-items: center; + z-index: 3; } .img { @@ -336,10 +327,8 @@ h1 { width: 20px; height: 20px; border-radius: 50%; - bottom: 0; - right: 0; - margin-left: -20px; - margin-top: 10px; + margin-left: -15px; + margin-top: -30px; } .status-circle-user { @@ -353,19 +342,55 @@ h1 { } select { +} + +.menu-select { + font-size: 0.9rem; + height: 40px; + border-radius: 20px; + background-color: var(--main-color3); + color: var(--main-color2); + align-items: center; + border: 0px; + padding-left: 10px; + width: 300px; font-size: 100%; padding: 10px; - padding-right: 40px; + padding-right: 25px; outline: none; -webkit-appearance: none; -moz-appearance: none; - background: transparent; background-image: url("data:image/svg+xml;utf8,"); background-repeat: no-repeat; - background-position-x: 95%; + background-position-x: 100%; background-position-y: 5px; } +.top-select { + width: auto; + height: 24px; + padding: 0px; + margin: 0px; + background-color: transparent; + color: white; + -webkit-appearance: none; + -moz-appearance: none; + border: none; +} + +.info-image { + width: 50px; + height: 50px; +} + +.top-select option { + margin: 40px; + background: rgba(0, 0, 0, 0.3); + color: #fff; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4); + background-color: var(--top-bar); +} + .AdvancedMenu { border: 1px var(--main-color2) solid; margin-top: 10px; @@ -394,7 +419,7 @@ select { font-size: 10pt; padding-right: 5px; margin-left: 10px; - width: 125px + width: 125px; } .AdvancedMenuLabel2 { @@ -403,6 +428,12 @@ select { margin-left: 10px; } +.AdvancedMenuLabel3 { + font-size: 12pt; + padding-right: 5px; + margin-left: 10px; +} + #SaveAdvancedSettingsButton { margin-left: 10px; } @@ -416,7 +447,6 @@ select { border-radius: 20px; } - /* After slide changes */ .toggle:after { @@ -430,31 +460,26 @@ select { top: 5px; } - /* Checkbox checked effect */ -.checkbox:checked+.toggle::after { +.checkbox:checked + .toggle::after { left: 25px; } - /* Checkbox checked toggle label bg color */ -.checkbox:checked+.toggle { +.checkbox:checked + .toggle { background-color: var(--main-color1); } - /* Checkbox vanished */ .checkbox { display: none; } - /* Small toggle */ - /* toggle in label designing */ .toggle-small { @@ -464,9 +489,9 @@ select { height: 20px; background-color: var(--main-color3); border-radius: 10px; + margin-left: 10px; } - /* After slide changes */ .toggle-small:after { @@ -480,16 +505,14 @@ select { top: 2px; } - /* Checkbox checked effect */ -.checkbox:checked+.toggle-small::after { +.checkbox:checked + .toggle-small::after { left: 13px; } - /* Checkbox checked toggle label bg color */ -.checkbox:checked+.toggle-small { +.checkbox:checked + .toggle-small { background-color: var(--main-color1); -} \ No newline at end of file +} diff --git a/src/css/home.css b/src/css/home.css index cf04350..b612164 100644 --- a/src/css/home.css +++ b/src/css/home.css @@ -1,26 +1,28 @@ /* Basic styling */ :root { + overflow: hidden; --main-color1: #6e2c8c; --main-color1-temp: #6e2c8c; /*Left bar and top right bar*/ --main-color2: white; --main-color2-temp: white; /*Icons and text*/ - --main-color3: #211E1E; - --main-color3-temp: #211E1E; + --main-color3: #211e1e; + --main-color3-temp: #211e1e; /*Buttons and input*/ --main-color4: #2f2c34; --main-color4-temp: #2f2c34; - --top-bar: #100B12; - --top-bar-temp: #100B12; + --top-bar: #100b12; + --top-bar-temp: #100b12; --mid-section: #352d3d; --mid-section-temp: #352d3d; - --chat-bubble: #7A6D7F; - --chat-bubble-temp: #7A6D7F; + --chat-bubble: #7a6d7f; --chat-bubble-header: #141414; - --chat-bubble-header-temp: #141414; + --chat-bubble-username: white; --chat-bubble-message: white; + --chat-bubble-temp: #7a6d7f; + --chat-bubble-header-temp: #141414; --chat-bubble-message-temp: white; } @@ -44,11 +46,10 @@ body { } body { - font-family: "Segoe UI", sans-serif; + font-family: 'Segoe UI', sans-serif; background: transparent; } - /* Styling of window frame and titlebar */ body { @@ -76,6 +77,7 @@ body { margin-top: 32px; padding: 20px; overflow-y: auto; + display: flex; } #titlebar { @@ -86,24 +88,20 @@ body { width: 100%; height: 100%; -webkit-app-region: drag; + display: inline-flex; } #titlebar { color: var(--main-color2); } -#titlebar #drag-region { - display: grid; - grid-template-columns: auto 138px; -} - #window-title { grid-column: 1; display: flex; align-items: center; margin-left: 8px; overflow: hidden; - font-family: "Segoe UI", sans-serif; + font-family: 'Segoe UI', sans-serif; font-size: 12px; } @@ -125,9 +123,6 @@ body { top: 0; right: 0; height: 32px; -} - -#window-controls { -webkit-app-region: no-drag; } @@ -141,11 +136,11 @@ body { } @media (-webkit-device-pixel-ratio: 1.5), -(device-pixel-ratio: 1.5), -(-webkit-device-pixel-ratio: 2), -(device-pixel-ratio: 2), -(-webkit-device-pixel-ratio: 3), -(device-pixel-ratio: 3) { + (device-pixel-ratio: 1.5), + (-webkit-device-pixel-ratio: 2), + (device-pixel-ratio: 2), + (-webkit-device-pixel-ratio: 3), + (device-pixel-ratio: 3) { #window-controls .icon { width: 10px; height: 10px; @@ -168,16 +163,16 @@ body { #close-button:hover { background: rgba(255, 255, 255, 0.1); /* border-top-right-radius: 20px; */ - background: #F1707A !important; + background: #f1707a !important; } #close-button:active { - background: #F1707A !important; + background: #f1707a !important; } #close-button:active .icon { filter: invert(1); - background: #F1707A !important; + background: #f1707a !important; } #min-button { @@ -205,15 +200,29 @@ body { display: none; } -.language-selector { +.active-mic { + position: absolute; + bottom: 0; +} + +.about { -webkit-app-region: no-drag; position: absolute; + left: 0; + width: 32px; + text-align: -webkit-center; +} + +.language-selector { + position: absolute; + -webkit-app-region: no-drag; display: inline-block; background-color: transparent; cursor: pointer; - font-family: 'NotoColorEmojiLimited', -apple-system, BlinkMacSystemFont, - 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', - 'Segoe UI Emoji', 'Segoe UI Symbol'; + font-family: 'NotoColorEmojiLimited', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + left: 50%; + transform: translateX(-50%); } .language-dropdown { @@ -223,9 +232,8 @@ body { width: 55px; box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); z-index: 2; - font-family: 'NotoColorEmojiLimited', -apple-system, BlinkMacSystemFont, - 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', - 'Segoe UI Emoji', 'Segoe UI Symbol'; + font-family: 'NotoColorEmojiLimited', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; } .language-item { @@ -242,4 +250,4 @@ body { font-family: NotoColorEmojiLimited; unicode-range: U+1F1E6-1F1FF; src: url(https://raw.githack.com/googlefonts/noto-emoji/main/fonts/NotoColorEmoji.ttf); -} \ No newline at end of file +} diff --git a/src/css/menu.css b/src/css/menu.css index 0a5b65d..efdfed2 100644 --- a/src/css/menu.css +++ b/src/css/menu.css @@ -48,7 +48,7 @@ #rpe { font-size: 8pt; - margin: 2px 0px 0px 0px + margin: 2px 0px 0px 0px; } .menu .items .item { @@ -78,7 +78,6 @@ filter: brightness(120%); } - .sidepanel-left { position: relative; width: 50px; @@ -87,7 +86,7 @@ font-family: Helvetica; text-align: center; box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px; - transition: .3s ease-in-out; + transition: 0.3s ease-in-out; } .sidepanel-right { @@ -98,7 +97,7 @@ font-family: Helvetica; text-align: center; box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px; - transition: .3s ease-in-out; + transition: 0.3s ease-in-out; } .collapse-menu-left { @@ -134,7 +133,7 @@ cursor: pointer; display: flex; z-index: 1; - transition: .3s ease-in-out; + transition: 0.3s ease-in-out; } .collapse-circle-left { @@ -156,7 +155,7 @@ cursor: pointer; display: flex; z-index: 1; - transition: .3s ease-in-out; + transition: 0.3s ease-in-out; } .collapse-circle-right { @@ -224,4 +223,4 @@ flex: 2; background-color: var(--main-color4-temp); height: 100%; -} \ No newline at end of file +} diff --git a/src/css/sliders.css b/src/css/sliders.css index f9eea45..ce80bf7 100644 --- a/src/css/sliders.css +++ b/src/css/sliders.css @@ -53,19 +53,19 @@ input[type='range'].styled-slider::-webkit-slider-runnable-track { } input[type='range'].styled-slider.slider-progress1::-webkit-slider-runnable-track { - background: linear-gradient(#7b2cbf, #7b2cbf) 0 / var(--sx) 100% no-repeat, #1a1a1a; + background: linear-gradient(var(--main-color1), var(--main-color1)) 0 / var(--sx) 100% no-repeat, #1a1a1a; } input[type='range'].styled-slider.slider-progress2::-webkit-slider-runnable-track { - background: linear-gradient(#7b2cbf, #7b2cbf) 0 / var(--sx) 100% no-repeat, #1a1a1a; + background: linear-gradient(var(--main-color1), var(--main-color1)) 0 / var(--sx) 100% no-repeat, #1a1a1a; } input[type='range'].styled-slider.slider-progress3::-webkit-slider-runnable-track { - background: linear-gradient(#7b2cbf, #7b2cbf) 0 / var(--sx) 100% no-repeat, #1a1a1a; + background: linear-gradient(var(--main-color1), var(--main-color1)) 0 / var(--sx) 100% no-repeat, #1a1a1a; } input[type='range'].styled-slider.slider-progress4::-webkit-slider-runnable-track { - background: linear-gradient(#7b2cbf, #7b2cbf) 0 / var(--sx) 100% no-repeat, #1a1a1a; + background: linear-gradient(var(--main-color1), var(--main-color1)) 0 / var(--sx) 100% no-repeat, #1a1a1a; } /*mozilla*/ @@ -82,24 +82,24 @@ input[type='range'].styled-slider::-moz-range-track { height: 40px; border: none; border-radius: 20px; - background: #1a1a1a; + background: var(--main-color3); box-shadow: none; } input[type='range'].styled-slider.slider-progress1::-moz-range-track { - background: linear-gradient(#7b2cbf, #7b2cbf) 0 / var(--sx) 100% no-repeat, #464646; + background: linear-gradient(var(--main-color1), var(--main-color1)) 0 / var(--sx) 100% no-repeat, #464646; } input[type='range'].styled-slider.slider-progress2::-moz-range-track { - background: linear-gradient(#7b2cbf, #7b2cbf) 0 / var(--sx) 100% no-repeat, #464646; + background: linear-gradient(var(--main-color1), var(--main-color1)) 0 / var(--sx) 100% no-repeat, #464646; } input[type='range'].styled-slider.slider-progress3::-moz-range-track { - background: linear-gradient(#7b2cbf, #7b2cbf) 0 / var(--sx) 100% no-repeat, #464646; + background: linear-gradient(var(--main-color1), var(--main-color1)) 0 / var(--sx) 100% no-repeat, #464646; } input[type='range'].styled-slider.slider-progress4::-moz-range-track { - background: linear-gradient(#7b2cbf, #7b2cbf) 0 / var(--sx) 100% no-repeat, #464646; + background: linear-gradient(var(--main-color1), var(--main-color1)) 0 / var(--sx) 100% no-repeat, #464646; } /*ms*/ @@ -127,7 +127,7 @@ input[type='range'].styled-slider::-ms-thumb { input[type='range'].styled-slider::-ms-track { height: 40px; border-radius: 20px; - background: #1a1a1a; + background: var(--main-color3); border: none; box-shadow: none; box-sizing: border-box; @@ -137,7 +137,7 @@ input[type='range'].styled-slider.slider-progress1::-ms-fill-lower { height: 40px; border-radius: 1em 0 0 1em; margin: -undefined 0 -undefined -undefined; - background: #7b2cbf; + background: var(--main-color1); border: none; border-right-width: 0; } @@ -146,7 +146,7 @@ input[type='range'].styled-slider.slider-progress2::-ms-fill-lower { height: 40px; border-radius: 1em 0 0 1em; margin: -undefined 0 -undefined -undefined; - background: #7b2cbf; + background: var(--main-color1); border: none; border-right-width: 0; } @@ -155,7 +155,7 @@ input[type='range'].styled-slider.slider-progress3::-ms-fill-lower { height: 40px; border-radius: 1em 0 0 1em; margin: -undefined 0 -undefined -undefined; - background: #7b2cbf; + background: var(--main-color1); border: none; border-right-width: 0; } @@ -164,7 +164,7 @@ input[type='range'].styled-slider.slider-progress4::-ms-fill-lower { height: 40px; border-radius: 1em 0 0 1em; margin: -undefined 0 -undefined -undefined; - background: #7b2cbf; + background: var(--main-color1); border: none; border-right-width: 0; } diff --git a/src/css/tabs.css b/src/css/tabs.css index 47cef1b..e634850 100644 --- a/src/css/tabs.css +++ b/src/css/tabs.css @@ -191,21 +191,9 @@ input:checked + label { height: 32 px; } -select { - font-size: 0.9rem; - height: 40px; - border-radius: 20px; - background-color: var(--main-color3); - color: var(--main-color2); - align-items: center; - border: 0px; - padding-left: 20px; - width: 300px; -} - .language { width: 80px; - margin-left: 10px; + text-align: center; } #AdvancedMenu_mask { @@ -304,7 +292,7 @@ input[type='lol'] { background-color: transparent; border: none; cursor: pointer; - left: 425px; + left: 450px; } /* Hide the default appearance of the button */ @@ -315,19 +303,17 @@ input[type='lol'] { /* Style the reveal icon (you can use your preferred icon or font) */ .password-toggle-icon { font-size: 16px; - color: #555; + color: var(--main-color2); } #toasts { - position: fixed; + position: absolute; bottom: 20px; /* Adjust the distance from the bottom of the screen */ - right: 50%; + right: 0%; /* Center the toasts horizontally */ display: flex; flex-direction: column; - align-items: center; - /* Center the toasts horizontally */ z-index: 999; } diff --git a/src/css/tts-menu.css b/src/css/tts-menu.css index a44cfe8..fd36954 100644 --- a/src/css/tts-menu.css +++ b/src/css/tts-menu.css @@ -1,8 +1,7 @@ #tstx { display: flex; flex-direction: row; - margin-top: 40px; - margin-left: 50px; + margin-left: 40px; } .optionrow { @@ -50,20 +49,16 @@ font-size: 12pt; } -#TTSTest { - width: 296px; - height: 85px; -} - textarea { - font-size: 14pt; + height: 60px; + padding: 5px; + width: 300px; resize: none; + border-radius: 5px; background: var(--main-color3); color: var(--main-color2); font-family: 'xxii_avenmedium'; border: none; - outline: none; - border-radius: 5px; } .SaveConfig { @@ -73,7 +68,6 @@ textarea { justify-content: center; color: var(--main-color2); margin-bottom: 10px; - margin-top: 40px; } .SmallButton { @@ -129,7 +123,39 @@ textarea { } .AdvancedMenuIcon { - /* filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(350deg) brightness(104%) contrast(101%); */ + filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(350deg) brightness(104%) contrast(101%); align-items: flex-start; margin: auto; + height: 24px; + width: 24px; +} + +.AdvancedMenuIcon2 { + align-items: flex-start; + margin: auto; + height: 24px; + width: 24px; +} + +input:hover { + filter: brightness(120%); +} + +select:hover { + filter: brightness(120%); +} + +textarea:hover { + filter: brightness(120%); +} + +label:hover { + filter: brightness(120%); +} + +.circle-right:hover { + filter: brightness(120%); +} +.circle-left:hover { + filter: brightness(120%); } diff --git a/src/images/amazon.png b/src/images/amazon.png new file mode 100644 index 0000000..460762c Binary files /dev/null and b/src/images/amazon.png differ diff --git a/src/images/amazon.svg b/src/images/amazon.svg deleted file mode 100644 index 4f35504..0000000 --- a/src/images/amazon.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - \ No newline at end of file diff --git a/src/images/google.png b/src/images/google.png new file mode 100644 index 0000000..6e4f2c2 Binary files /dev/null and b/src/images/google.png differ diff --git a/src/images/google.svg b/src/images/google.svg deleted file mode 100644 index 6678410..0000000 --- a/src/images/google.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - \ No newline at end of file diff --git a/src/images/icon-256.png b/src/images/icon-256.png new file mode 100644 index 0000000..87b48b5 Binary files /dev/null and b/src/images/icon-256.png differ diff --git a/src/images/icon-512.png b/src/images/icon-512.png new file mode 100644 index 0000000..8066012 Binary files /dev/null and b/src/images/icon-512.png differ diff --git a/src/images/icon.ico b/src/images/icon.ico index 7303011..84862b2 100644 Binary files a/src/images/icon.ico and b/src/images/icon.ico differ diff --git a/src/images/icon.png b/src/images/icon.png deleted file mode 100644 index c145646..0000000 Binary files a/src/images/icon.png and /dev/null differ diff --git a/src/images/note.svg b/src/images/note.svg deleted file mode 100644 index 8f060d3..0000000 --- a/src/images/note.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/images/server.png b/src/images/server.png new file mode 100644 index 0000000..c4fa629 Binary files /dev/null and b/src/images/server.png differ diff --git a/src/images/server.svg b/src/images/server.svg deleted file mode 100644 index a2db046..0000000 --- a/src/images/server.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - \ No newline at end of file diff --git a/src/images/settings.png b/src/images/settings.png new file mode 100644 index 0000000..174670a Binary files /dev/null and b/src/images/settings.png differ diff --git a/src/images/sound.png b/src/images/sound.png new file mode 100644 index 0000000..62f4fe5 Binary files /dev/null and b/src/images/sound.png differ diff --git a/src/images/stt.png b/src/images/stt.png new file mode 100644 index 0000000..4edace5 Binary files /dev/null and b/src/images/stt.png differ diff --git a/src/images/stt.svg b/src/images/stt.svg deleted file mode 100644 index 2b35389..0000000 --- a/src/images/stt.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/images/theme.png b/src/images/theme.png new file mode 100644 index 0000000..e4f4f40 Binary files /dev/null and b/src/images/theme.png differ diff --git a/src/images/translate.png b/src/images/translate.png new file mode 100644 index 0000000..e9a1f2d Binary files /dev/null and b/src/images/translate.png differ diff --git a/src/images/tts.png b/src/images/tts.png new file mode 100644 index 0000000..7512b4f Binary files /dev/null and b/src/images/tts.png differ diff --git a/src/images/tts.svg b/src/images/tts.svg deleted file mode 100644 index 6d20ed6..0000000 --- a/src/images/tts.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/images/twitch.png b/src/images/twitch.png new file mode 100644 index 0000000..0b6cb45 Binary files /dev/null and b/src/images/twitch.png differ diff --git a/src/images/twitch.svg b/src/images/twitch.svg deleted file mode 100644 index c6b96f9..0000000 --- a/src/images/twitch.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/index.html b/src/index.html index 55a4d06..64b444b 100644 --- a/src/index.html +++ b/src/index.html @@ -29,36 +29,33 @@
+