diff --git a/src/lang/es.json b/src/lang/es.json index 4ac807d6..05617474 100644 --- a/src/lang/es.json +++ b/src/lang/es.json @@ -5,6 +5,9 @@ "modules": { "invalid": { "title": "#Error#" + }, + "youtube": { + "title": "Vídeos informativos" } }, "module_group": { @@ -16,6 +19,9 @@ }, "utilities": { "title": "Utilidades" + }, + "midias_online": { + "title": "Medios Online" } }, "components": { @@ -41,4 +47,4 @@ "error_import_module": "Error al importar el módulo", "misconfigured_module": "Este módulo está mal configurado. ¡La identificación ingresada en manifest.json debe tener el mismo nombre que la carpeta donde se encuentra!" } -} \ No newline at end of file +} diff --git a/src/lang/pt.json b/src/lang/pt.json index cdecfa45..f49696c2 100644 --- a/src/lang/pt.json +++ b/src/lang/pt.json @@ -5,6 +5,9 @@ "modules": { "invalid": { "title": "#Erro#" + }, + "youtube": { + "title": "Momentos Missionários" } }, "module_group": { @@ -16,6 +19,9 @@ }, "utilities": { "title": "Utilitários" + }, + "midias_online": { + "title": "Mídias Online" } }, "components": { diff --git a/src/modules/youtube/config/playlists.json b/src/modules/youtube/config/playlists.json new file mode 100644 index 00000000..5ca60398 --- /dev/null +++ b/src/modules/youtube/config/playlists.json @@ -0,0 +1,40 @@ +{ + "playlists": [ + { + "id": "prova_e_vede_com_libras", + "name": "Prova e Vede - Com Libras", + "icon": "mdi-book-open-page-variant", + "color": "blue", + "type": "playlist", + "playlistId": "PLRzhXS-xO9iExRwxSXUF9t4skBu3f7cZE", + "url": "https://www.youtube.com/playlist?list=PLRzhXS-xO9iExRwxSXUF9t4skBu3f7cZE" + }, + { + "id": "prova_e_vede", + "name": "Prova e Vede", + "icon": "mdi-cross", + "color": "indigo", + "type": "playlist", + "playlistId": "PLRzhXS-xO9iGgK8_6fX1hF1U5H4S9HJge", + "url": "https://www.youtube.com/playlist?list=PLRzhXS-xO9iGgK8_6fX1hF1U5H4S9HJge" + }, + { + "id": "informativo_missoes", + "name": "Informativo Mundial das Missões", + "icon": "mdi-earth", + "color": "green", + "type": "playlist", + "playlistId": "PL_GfLCIoktxXUrnxifx8lGSdBxXR4gWLH", + "url": "https://www.youtube.com/playlist?list=PL_GfLCIoktxXUrnxifx8lGSdBxXR4gWLH" + }, + { + "id": "minutos_saudade", + "name": "Minutos de Saudade", + "icon": "mdi-heart", + "color": "red", + "type": "playlist", + "playlistId": "PLTXME2yWP8A8UJO12bsCQ0pZCF3OL4k2U", + "url": "https://www.youtube.com/playlist?list=PLTXME2yWP8A8UJO12bsCQ0pZCF3OL4k2U" + } + ] +} diff --git a/src/modules/youtube/index.js b/src/modules/youtube/index.js new file mode 100644 index 00000000..2fe37c29 --- /dev/null +++ b/src/modules/youtube/index.js @@ -0,0 +1,18 @@ +import BaseModule from "../BaseModule"; +import es from "./lang/es.json"; +import pt from "./lang/pt.json"; +import manifest from "./manifest.json"; + +export default class extends BaseModule { + constructor() { + // Load translations + manifest.translations = { pt, es }; + + // Load manifest + super(manifest); + } + + onInstall() { + console.log(`${this.manifest.name} installed successfully`); + } +} diff --git a/src/modules/youtube/interface/Index.vue b/src/modules/youtube/interface/Index.vue new file mode 100644 index 00000000..ee3b2fc0 --- /dev/null +++ b/src/modules/youtube/interface/Index.vue @@ -0,0 +1,178 @@ + + + + + + mdi-youtube + YouTube + + + + + + + + + + + + mdi-playlist-play + {{ t('playlists') }} + + + + + {{ playlist.icon }} + + {{ playlist.name }} + + + + + + + + + + + {{ selectedPlaylistData?.icon || 'mdi-youtube' }} + + {{ selectedPlaylistTitle }} + + + {{ t('videos') }} + + + + + + + + + + + + + mdi-open-in-new + {{ t('open_in_youtube') }} + + + + + + + + + + + + + + + + + + + + + diff --git a/src/modules/youtube/lang/es.json b/src/modules/youtube/lang/es.json new file mode 100644 index 00000000..7bf9ec63 --- /dev/null +++ b/src/modules/youtube/lang/es.json @@ -0,0 +1,35 @@ +{ + "title": "Vídeos informativos", + "name": "Vídeos informativos", + "description": "Integración con YouTube para reproducción de videos - Prueba y Ve, Informativo Mundial de las Misiones, Minutos de Saudade", + "search": "Buscar video", + "search_placeholder": "Escribe para buscar en YouTube...", + "playlists": "Listas de reproducción", + "videos": "Videos", + "now_playing": "Reproduciendo ahora", + "no_videos": "Ningún video encontrado", + "loading": "Cargando...", + "error_loading": "Error al cargar videos", + "prova_e_vede_com_libras": "Prueba y Ve - Con Libras", + "prova_e_vede": "Prueba y Ve", + "informativo_missões": "Informativo Mundial de las Misiones", + "minutos_saudade": "Minutos de Saudade", + "categories": "Categorías", + "all_videos": "Todos los Videos", + "add_to_queue": "Añadir a la cola", + "play_now": "Reproducir ahora", + "queue": "Cola de reproducción", + "clear_queue": "Limpiar cola", + "fullscreen": "Pantalla completa", + "exit_fullscreen": "Salir de pantalla completa", + "volume": "Volumen", + "mute": "Silenciar", + "unmute": "Activar sonido", + "settings": "Configuración", + "quality": "Calidad", + "speed": "Velocidad", + "normal": "Normal", + "autoplay": "Reproducción automática", + "related_videos": "Videos relacionados", + "open_in_youtube": "Abrir en YouTube" +} diff --git a/src/modules/youtube/lang/pt.json b/src/modules/youtube/lang/pt.json new file mode 100644 index 00000000..188838d0 --- /dev/null +++ b/src/modules/youtube/lang/pt.json @@ -0,0 +1,37 @@ +{ + "title": "Vídeos informativos", + "name": "Vídeos informativos", + "description": "Integração com YouTube para reprodução de vídeos - Prova e Vede, Informativo Mundial das Missões, Minutos de Saudade", + "search": "Buscar vídeo", + "search_placeholder": "Digite para buscar no YouTube...", + "playlists": "Playlists", + "videos": "Vídeos", + "now_playing": "Reproduzindo agora", + "no_videos": "Nenhum vídeo encontrado", + "loading": "Carregando...", + "error_loading": "Erro ao carregar vídeos", + "prova_e_vede_com_libras": "Prova e Vede - Com Libras", + "prova_e_vede": "Prova e Vede", + "informativo_missões": "Informativo Mundial das Missões", + "minutos_saudade": "Minutos de Saudade", + "categories": "Categorias", + "all_videos": "Todos os Vídeos", + "add_to_queue": "Adicionar à fila", + "play_now": "Reproduzir agora", + "queue": "Fila de reprodução", + "clear_queue": "Limpar fila", + "fullscreen": "Tela cheia", + "exit_fullscreen": "Sair da tela cheia", + "volume": "Volume", + "mute": "Silenciar", + "unmute": "Ativar som", + "settings": "Configurações", + "quality": "Qualidade", + "speed": "Velocidade", + "normal": "Normal", + "autoplay": "Reprodução automática", + "related_videos": "Vídeos relacionados", + "open_in_youtube": "Abrir no YouTube", + "total_time": "Tempo total", + "time_remaining": "restante" +} diff --git a/src/modules/youtube/manifest.json b/src/modules/youtube/manifest.json new file mode 100644 index 00000000..a0ab3ff5 --- /dev/null +++ b/src/modules/youtube/manifest.json @@ -0,0 +1,13 @@ +{ + "id": "youtube", + "name": "Vídeos informativos", + "version": "1.0.0", + "description": "Integração com YouTube para reprodução de vídeos - Prova e Vede, Informativo Mundial das Missões, Minutos de Saudade", + "author": "LouvorJA", + "category": "midias_online", + "icon": "mdi-youtube", + "showInMainMenu": true, + "minAppVersion": "1.0.0", + "dependencies": [], + "permissions": ["network"] +} diff --git a/src/store/state.js b/src/store/state.js index 2be3bb88..dd836ef9 100644 --- a/src/store/state.js +++ b/src/store/state.js @@ -23,6 +23,10 @@ export default { title: "module_group.utilities.title", modules: [], }, + midias_online: { + title: "module_group.midias_online.title", + modules: [], + }, }, menu: { show: false,