From 0e11a6a5e945193fd4c9869d5a90ba5720808308 Mon Sep 17 00:00:00 2001 From: Angel3245 <61286681+Angel3245@users.noreply.github.com> Date: Mon, 3 May 2021 16:08:48 +0200 Subject: [PATCH 01/26] Add Spanish translation --- locales/ES_es.json | 139 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 locales/ES_es.json diff --git a/locales/ES_es.json b/locales/ES_es.json new file mode 100644 index 0000000..27627c2 --- /dev/null +++ b/locales/ES_es.json @@ -0,0 +1,139 @@ +{ + "nav": { + "about": "Acerca de", + "faq": "FAQ", + "credits": "Créditos", + "progress": "Progreso" + }, + "hero": { + "subtitle": "Servidores en línea", + "title": "Recreados", + "text": "Pretendo es un reemplazo gratuito y de código abierto de los servidores de Nintendo para 3DS y Wii U que permite la comunicación en línea incluso después del cierre de los servidores oficiales.", + "buttons": { + "readMore": "Leer más" + } + }, + "aboutUs": { + "title": "Sobre nosotros", + "paragraphs": [ + "Pretendo es un proyecto de código abierto que busca recrear Nintendo Network para 3DS y Wii U aplicando ingeniería inversa con un diseño en sala limpia.", + "Como nuestros servicios serán gratuitos y de código abierto, podrán existir tras el inevitable cierre de Nintendo Network." + ] + }, + "progress": { + "title": "Progreso", + "paragraphs": [ + "Actualmente, estamos trabajando en Miiverse, junto con los servidores de cuentas y la integración con los servicios.", + "En 3DS también trabajamos en el soporte de Mario Kart 7, con el deseo de continuar trabajando en otros juegos en cuanto sea posible." + ] + }, + "faq": { + "title": "Frequently Asked Questions", + "text": "Aquí se muestran algunas cuestiones comunes.", + "QAs": [ + { + "question": "¿Qué es Pretendo?", + "answer": "Pretendo es un reemplazo gratuito y de código abierto de Nintendo Network que nace con el objetivo de crear servidores en línea personalizados para las consolas Wii U y 3DS. Nuestra meta es preservar las funcionalidades en línea de esas consolas, permitiendo a los jugadores seguir jugando sus juegos favoritos de Wii U y 3DS en su plena capacidad." + }, + { + "question": "¿Mi NNID actual funciona en Pretendo?", + "answer": "Tristemente, no. Los NNID no funcionan en Pretendo, ya que solo Nintendo almacena tus datos de usuario. Aunque una migración NNID-a-PNID es teóricamente posible, sería arriesgado y requiere datos de usuario sensibles que preferimos no almacenar." + }, + { + "question": "¿Cómo uso Pretendo?", + "answer": "Pretendo no está actualmente en un estado adecuado para el uso público. Sin embargo, en cuanto esté listo podrás usar Pretendo simplemente cargando nuestro parcheador homebrew en tu consola." + }, + { + "question": "¿Sabéis cuándo estará listo/a?", + "answer": "No. Muchos/as funciones/servicios de Pretendo son desarrolladas independientemente (por ejemplo, un desarrollador puede estar trabajando en Miiverse mientras otro se encarga de las Cuentas y los Amigos) y, por lo tanto, no podemos dar una ETA exacta de cuánto puede tardar en estar listo." + }, + { + "question": "¿Pretendo funciona en Cemu/emuladores?", + "answer": "Pretendo está diseñado con el hardware de Wii U y 3DS en mente. Hasta ahora, el único emulador para esas consolas con soporte de NN es Cemu. Cemu no soporta oficialmente servidores personalizados, pero debería ser posible en un futuro llegar a usar Pretendo con Cemu.
A día de hoy, Pretendo no soporta Cemu." + }, + { + "question": "Si estoy baneado en Nintendo Network, ¿seguiré baneado al usar Pretendo?", + "answer": "No tenemos acceso a los baneos de Nintendo Network motivo por el nadie estará baneado en nuestros servidores al principio. Sin embargo, tendremos reglas a seguir al acceder a nuestros servicios y no hacerlo resultará en un baneo." + }, + { + "question": "¿Pretendo soportará Wii/Switch?", + "answer": "La Wii ya tiene servidores en línea personalizados de parte de Wiimmfi. No tenemos planeado trabajar con Switch ya que sus servidores son de pago y completamente diferentes a los de Nintendo Network." + }, + { + "question": "¿Necesitaré modificar mi consola para conectarme?", + "answer": "Sí, necesitas modificar tu consola para conectarte. Sin embargo, en Wii U solo necesitas acceso al Homebrew Launcher (p.e. Haxchi, Coldboot Haxchi, o el exploit web). La información sobre como conectarse con una 3DS llegará posteriormente." + } + ] + }, + "credits": { + "title": "Equipo", + "text": "Conoce al equipo tras el proyecto", + "people": [ + { + "name": "Jonathan Barrow (RedDucks)", + "caption": "Líder del proyecto y desarrollador principal", + "picture": "https://github.com/redduckss.png", + "github": "https://github.com/RedDuckss" + }, + { + "name": "Jemma (CaramelKat)", + "caption": "Estudio y desarrollo de Miiverse", + "picture": "https://github.com/caramelkat.png", + "github": "https://github.com/CaramelKat" + }, + { + "name": "superwhiskers", + "caption": "Desarrollo de librerías crunch", + "picture": "https://github.com/superwhiskers.png", + "github": "https://github.com/superwhiskers" + }, + { + "name": "SuperMarioDaBom", + "caption": "Estudio de consolas y otros sistemas", + "picture": "https://github.com/supermariodabom.png", + "github": "https://github.com/SuperMarioDaBom" + }, + { + "name": "Rambo6Glaz", + "caption": "Instalador de la red y estudio de consolas", + "picture": "https://github.com/Rambo6Glaz.png", + "github": "https://github.com/NexoDevelopment" + }, + { + "name": "mrjvs", + "caption": "Desarrollo web y temprano estudio de eShop", + "picture": "https://github.com/mrjvs.png", + "github": "https://github.com/mrjvs" + }, + { + "name": "Benjamin Moss (kxpler442b)", + "caption": "Desarrollo web", + "picture": "https://github.com/kxpler442b.png", + "github": "https://github.com/kxpler442b" + }, + { + "name": "Jip Fr", + "caption": "Desarrollo web", + "picture": "https://github.com/jipfr.png", + "github": "https://github.com/jipfr" + }, + { + "name": "Shutterbug2000", + "caption": "Estudio de Mario Kart 7 y 3DS", + "picture": "https://cdn.discordapp.com/avatars/191370953807233024/0311b61e2009c1576828dd2e9a59d72e.png?size=128", + "github": "https://github.com/shutterbug2000" + }, + { + "name": "Kinnay", + "special": "Agradecimientos", + "caption": "Estudio de las estructuras de datos de Nintendo", + "picture": "https://cdn.discordapp.com/avatars/186572995848830987/b55c0d4e7bfd792edf0689f83a25d8ea.png?size=128", + "github": "https://github.com/Kinnay" + } + ] + }, + "progressPage": { + "title": "Progreso", + "description": "¡Comprueba el progreso y las metas pendientes! (Se actualiza cada hora, así que no refleja TODAS nuestras metas o el progreso total)" + } +} \ No newline at end of file From 65b6d29cb7504f6cdc89441c6426a1357a3eaa67 Mon Sep 17 00:00:00 2001 From: Monty Date: Thu, 27 May 2021 21:50:27 +0200 Subject: [PATCH 02/26] Fix and update broken OpenGraph description tag --- views/layouts/main.handlebars | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/layouts/main.handlebars b/views/layouts/main.handlebars index 0a75a4f..267ebab 100644 --- a/views/layouts/main.handlebars +++ b/views/layouts/main.handlebars @@ -15,7 +15,7 @@ - + From 9861a2c6e11f8493f2e8b34b9fcbb2539f12219f Mon Sep 17 00:00:00 2001 From: Monty Date: Thu, 27 May 2021 22:02:00 +0200 Subject: [PATCH 03/26] Update copyright date --- views/partials/footer.handlebars | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/partials/footer.handlebars b/views/partials/footer.handlebars index 2800ebb..b397961 100644 --- a/views/partials/footer.handlebars +++ b/views/partials/footer.handlebars @@ -1 +1 @@ -
Copyright 2020 - Design by mrjvs, development by Jip Fr
\ No newline at end of file +
Copyright 2021 - Design by mrjvs, development by Jip Fr
\ No newline at end of file From dda6dc893adafe1e991fb7b1ae011f7071a6b1be Mon Sep 17 00:00:00 2001 From: Monty Date: Sun, 6 Jun 2021 13:45:00 +0200 Subject: [PATCH 04/26] Fix Jon's broken url and pfp --- locales/IT_it.json | 6 +++--- locales/US_en.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/locales/IT_it.json b/locales/IT_it.json index 8065a87..2da9773 100644 --- a/locales/IT_it.json +++ b/locales/IT_it.json @@ -70,10 +70,10 @@ "text": "Incontra il team dietro al progetto", "people": [ { - "name": "Jonathan Barrow (RedDucks)", + "name": "Jonathan Barrow (jonbarrow)", "caption": "Proprietario del progetto e sviluppatore principale", - "picture": "https://github.com/redduckss.png", - "github": "https://github.com/RedDuckss" + "picture": "https://github.com/jonbarrow.png", + "github": "https://github.com/jonbarrow" }, { "name": "Jemma (CaramelKat)", diff --git a/locales/US_en.json b/locales/US_en.json index 5269e29..67c1173 100644 --- a/locales/US_en.json +++ b/locales/US_en.json @@ -70,10 +70,10 @@ "text": "Meet the team behind the project", "people": [ { - "name": "Jonathan Barrow (RedDucks)", + "name": "Jonathan Barrow (jonbarrow)", "caption": "Project owner and lead developer", - "picture": "https://github.com/redduckss.png", - "github": "https://github.com/RedDuckss" + "picture": "https://github.com/jonbarrow.png", + "github": "https://github.com/jonbarrow" }, { "name": "Jemma (CaramelKat)", From f757142dd42f32cd11f623672607915a9dd126d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zontellekt=C3=BCel?= <82156816+zontellektuel@users.noreply.github.com> Date: Sat, 7 Aug 2021 16:50:06 +0300 Subject: [PATCH 05/26] Add files via upload From 001bf6628dca12e702f3bc3df35e8218ca3baad8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zontellekt=C3=BCel?= <82156816+zontellektuel@users.noreply.github.com> Date: Sat, 7 Aug 2021 16:50:54 +0300 Subject: [PATCH 06/26] Add files via upload From 1930a3569ac20f41fe0e73dc44c96a48c88590c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zontellekt=C3=BCel?= <82156816+zontellektuel@users.noreply.github.com> Date: Sat, 7 Aug 2021 17:06:00 +0300 Subject: [PATCH 07/26] Update and rename US_en.json to TR_tr.json --- locales/{US_en.json => TR_tr.json} | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) rename locales/{US_en.json => TR_tr.json} (82%) diff --git a/locales/US_en.json b/locales/TR_tr.json similarity index 82% rename from locales/US_en.json rename to locales/TR_tr.json index 67c1173..623ad33 100644 --- a/locales/US_en.json +++ b/locales/TR_tr.json @@ -1,30 +1,30 @@ { "nav": { - "about": "About", - "faq": "FAQ", - "credits": "Credits", - "progress": "Progress" + "about": "Hakkında", + "faq": "SSS", + "credits": "Katkıda bulunanlar", + "progress": "İlerleme" }, "hero": { - "subtitle": "Game servers", - "title": "Recreated", - "text": "Pretendo is a free and open source replacement for Nintendo's servers for both the 3DS and Wii U, allowing online connectivity for all, even after the original servers are discontinued", + "subtitle": "Oyun sunucuları", + "title": "Yeniden oluşturuldu", + "text": "Pretendo, Nintendo'nun Wii U ve 3DS konsollarının sunucuları yerine kullanılabilen asıl sunucular kapatılmış olmasına rağmen çevrimiçi bağlantıya olanak sağlayan ücretsiz açık kaynaklı bir yazılımdır.", "buttons": { - "readMore": "Read more" + "readMore": "Daha fazlasını oku" } }, "aboutUs": { - "title": "About us", + "title": "Hakkımızda", "paragraphs": [ - "Pretendo is an open-source project that aims to recreate Nintendo Network for the 3DS and Wii U using clean-room reverse engineering.", - "As our services would be both free and open source, they can exist long after the inevitable closure of Nintendo Network." + "Pretendo, Wii U ve 3DS için yapılmış Nintendo Network'ü temiz oda tekniğini kullanarak yeniden oluşturmayı hedefleyen açık kaynaklı bir projedir.", + "Hem ücretsiz hem de açık kaynaklı olan hizmetlerimiz, Nintendo Network'ün kaçınılmaz kapanışından sonra uzun bir süre çalışabilecektir." ] }, "progress": { - "title": "Progress", + "title": "İlerleme", "paragraphs": [ - "Currently, we are working on Miiverse, along with our account servers and its integration with the services.", - "For 3DS, we are also working on Mario Kart 7, with a desire to continue working on other games when possible." + "Şu anda, hesap sunucularımız ve hizmetlerle entegrason ile birlikte Miiverse üzerinde çalışıyoruz.", + "3DS için ise, mümkün olduğu vakit diğer oyunlar üzerinde çalışmaya devam etme arzusuyla Mario Kart 7 üzerinde çalışıyoruz." ] }, "faq": { @@ -136,4 +136,4 @@ "title": "Our progress", "description": "Check the project progress and goals! (Updated every hour or so, does not reflect ALL project goals or progress)" } -} \ No newline at end of file +} From 579a0fcc20bcea13f65e2b4e76b4d866878b8d83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zontellekt=C3=BCel?= <82156816+zontellektuel@users.noreply.github.com> Date: Sat, 7 Aug 2021 17:06:18 +0300 Subject: [PATCH 08/26] Add files via upload --- locales/US_en.json | 139 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 locales/US_en.json diff --git a/locales/US_en.json b/locales/US_en.json new file mode 100644 index 0000000..67c1173 --- /dev/null +++ b/locales/US_en.json @@ -0,0 +1,139 @@ +{ + "nav": { + "about": "About", + "faq": "FAQ", + "credits": "Credits", + "progress": "Progress" + }, + "hero": { + "subtitle": "Game servers", + "title": "Recreated", + "text": "Pretendo is a free and open source replacement for Nintendo's servers for both the 3DS and Wii U, allowing online connectivity for all, even after the original servers are discontinued", + "buttons": { + "readMore": "Read more" + } + }, + "aboutUs": { + "title": "About us", + "paragraphs": [ + "Pretendo is an open-source project that aims to recreate Nintendo Network for the 3DS and Wii U using clean-room reverse engineering.", + "As our services would be both free and open source, they can exist long after the inevitable closure of Nintendo Network." + ] + }, + "progress": { + "title": "Progress", + "paragraphs": [ + "Currently, we are working on Miiverse, along with our account servers and its integration with the services.", + "For 3DS, we are also working on Mario Kart 7, with a desire to continue working on other games when possible." + ] + }, + "faq": { + "title": "Frequently Asked Questions", + "text": "Here are some common questions we're asked for easy information.", + "QAs": [ + { + "question": "What is Pretendo?", + "answer": "Pretendo is an open source Nintendo Network replacement that aims to build custom servers for the Wii U and 3DS family of consoles. Our goal is to preserve the online functionality of these consoles, to allow players to continue to play their favorite Wii U and 3DS games to their fullest capacity." + }, + { + "question": "Will my existing NNIDs work on Pretendo?", + "answer": "Sadly, no. Existing NNIDs will not work on Pretendo, as only Nintendo holds your user data; while an NNID-to-PNID migration is theoretically possible, it would be risky and require sensitive user data we do not wish to hold." + }, + { + "question": "How do I use Pretendo?", + "answer": "Pretendo is currently not in a state that is ready for public use. However, once it is you will be able to use Pretendo simply by running our homebrew patcher on your console." + }, + { + "question": "Do you know when will be ready?", + "answer": "No. Lots of Pretendo's features/services are developed independently (for example, Miiverse may be worked on by one developer while Accounts and Friends is being worked on by another) and therefore we cannot give an overall ETA for how long this will take." + }, + { + "question": "Does Pretendo work on Cemu/emulators?", + "answer": "Pretendo is designed for the Wii U and 3DS hardware at heart; at this time the only emulator for these consoles with NN support is Cemu. Cemu does not officially support custom servers, but it should still be possible to use Pretendo with Cemu.
Pretendo does not currently support Cemu." + }, + { + "question": "If I am banned on Nintendo Network, will I stay banned when using Pretendo?", + "answer": "We will not have access to Nintendo Network's bans, and all users will not be banned on our service. However, we will have rules to follow when using the service and failing to follow these rules could result in a ban." + }, + { + "question": "Will Pretendo support the Wii/Switch?", + "answer": "The Wii already has custom servers provided by Wiimmfi. We currently do not wish to target the Switch as it is both paid and completely different to Nintendo Network." + }, + { + "question": "Will I need hacks to connect?", + "answer": "Yes, you will need to hack your device to connect; however, on Wii U you will only need access to the Homebrew Launcher (i.e. Haxchi, Coldboot Haxchi, or even the web browser exploit), with info on how the 3DS will connect coming at a later date." + } + ] + }, + "credits": { + "title": "The team", + "text": "Meet the team behind the project", + "people": [ + { + "name": "Jonathan Barrow (jonbarrow)", + "caption": "Project owner and lead developer", + "picture": "https://github.com/jonbarrow.png", + "github": "https://github.com/jonbarrow" + }, + { + "name": "Jemma (CaramelKat)", + "caption": "Miiverse research and development", + "picture": "https://github.com/caramelkat.png", + "github": "https://github.com/CaramelKat" + }, + { + "name": "superwhiskers", + "caption": "crunch library development", + "picture": "https://github.com/superwhiskers.png", + "github": "https://github.com/superwhiskers" + }, + { + "name": "SuperMarioDaBom", + "caption": "Console and other system research", + "picture": "https://github.com/supermariodabom.png", + "github": "https://github.com/SuperMarioDaBom" + }, + { + "name": "Rambo6Glaz", + "caption": "Network installer and console research", + "picture": "https://github.com/Rambo6Glaz.png", + "github": "https://github.com/Rambo6Glaz" + }, + { + "name": "mrjvs", + "caption": "Web development and early eShop research", + "picture": "https://github.com/mrjvs.png", + "github": "https://github.com/mrjvs" + }, + { + "name": "Benjamin Moss (kxpler442b)", + "caption": "Web development", + "picture": "https://github.com/kxpler442b.png", + "github": "https://github.com/kxpler442b" + }, + { + "name": "Jip Fr", + "caption": "Web development", + "picture": "https://github.com/jipfr.png", + "github": "https://github.com/jipfr" + }, + { + "name": "Shutterbug2000", + "caption": "Mario Kart 7 and 3DS research", + "picture": "https://cdn.discordapp.com/avatars/191370953807233024/0311b61e2009c1576828dd2e9a59d72e.png?size=128", + "github": "https://github.com/shutterbug2000" + }, + { + "name": "Kinnay", + "special": "Special thanks", + "caption": "Research on Nintendo datastructures", + "picture": "https://cdn.discordapp.com/avatars/186572995848830987/b55c0d4e7bfd792edf0689f83a25d8ea.png?size=128", + "github": "https://github.com/Kinnay" + } + ] + }, + "progressPage": { + "title": "Our progress", + "description": "Check the project progress and goals! (Updated every hour or so, does not reflect ALL project goals or progress)" + } +} \ No newline at end of file From 86ca5f7bddd3285167edeb2c06fdd6d2bb086fec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zontellekt=C3=BCel?= <82156816+zontellektuel@users.noreply.github.com> Date: Sat, 7 Aug 2021 17:34:23 +0300 Subject: [PATCH 09/26] Update TR_tr.json --- locales/TR_tr.json | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/locales/TR_tr.json b/locales/TR_tr.json index 623ad33..6a9dcc1 100644 --- a/locales/TR_tr.json +++ b/locales/TR_tr.json @@ -7,8 +7,8 @@ }, "hero": { "subtitle": "Oyun sunucuları", - "title": "Yeniden oluşturuldu", - "text": "Pretendo, Nintendo'nun Wii U ve 3DS konsollarının sunucuları yerine kullanılabilen asıl sunucular kapatılmış olmasına rağmen çevrimiçi bağlantıya olanak sağlayan ücretsiz açık kaynaklı bir yazılımdır.", + "title": "Yenilendi", + "text": "Pretendo, Nintendo'nun Wii U ve 3DS konsollarının sunucuları yerine kullanılabilmesi için tasarlanmış, asıl sunucular kapatılmış olmasına rağmen çevrimiçi bağlantıya olanak sağlayan ücretsiz açık kaynaklı bir yazılımdır.", "buttons": { "readMore": "Daha fazlasını oku" } @@ -28,12 +28,12 @@ ] }, "faq": { - "title": "Frequently Asked Questions", - "text": "Here are some common questions we're asked for easy information.", + "title": "Sıkça Sorulan Sorular", + "text": "Temel bilgilendirme için bize sorulan bazı genel sorular ve cevapları:", "QAs": [ { - "question": "What is Pretendo?", - "answer": "Pretendo is an open source Nintendo Network replacement that aims to build custom servers for the Wii U and 3DS family of consoles. Our goal is to preserve the online functionality of these consoles, to allow players to continue to play their favorite Wii U and 3DS games to their fullest capacity." + "question": "Pretendo nedir?", + "answer": "Pretendo, Wii U ve 3DS konsolları için özel sunucu oluşturmayı amaç edinen Nintendo Network replasmanıdır. Hedefimiz, oyuncuların favori Wii U ve 3DS oyunlarını tam kapasitede oynayabilmelerini sağlamak adına konsolların çevrimiçi işlevlerini temin etmektir." }, { "question": "Will my existing NNIDs work on Pretendo?", @@ -66,74 +66,74 @@ ] }, "credits": { - "title": "The team", - "text": "Meet the team behind the project", + "title": "Ekip", + "text": "Projenin arkasındaki ekiple tanışın", "people": [ { "name": "Jonathan Barrow (jonbarrow)", - "caption": "Project owner and lead developer", + "caption": "Proje sahibi ve rehber geliştirici", "picture": "https://github.com/jonbarrow.png", "github": "https://github.com/jonbarrow" }, { "name": "Jemma (CaramelKat)", - "caption": "Miiverse research and development", + "caption": "Miiverse üzerine araştırma ve geliştirme", "picture": "https://github.com/caramelkat.png", "github": "https://github.com/CaramelKat" }, { "name": "superwhiskers", - "caption": "crunch library development", + "caption": "Sıkıştırılmış kütüphane geliştirilme", "picture": "https://github.com/superwhiskers.png", "github": "https://github.com/superwhiskers" }, { "name": "SuperMarioDaBom", - "caption": "Console and other system research", + "caption": "Konsol ve diğer sistem üzerine araştırma", "picture": "https://github.com/supermariodabom.png", "github": "https://github.com/SuperMarioDaBom" }, { "name": "Rambo6Glaz", - "caption": "Network installer and console research", + "caption": "Ağ yükleyicisi and konsol üzerine araştırma", "picture": "https://github.com/Rambo6Glaz.png", "github": "https://github.com/Rambo6Glaz" }, { "name": "mrjvs", - "caption": "Web development and early eShop research", + "caption": "Web sayfası geliştirme ve başlarda eShop üzerine araştırma", "picture": "https://github.com/mrjvs.png", "github": "https://github.com/mrjvs" }, { "name": "Benjamin Moss (kxpler442b)", - "caption": "Web development", + "caption": "Web sayfası geliştirme", "picture": "https://github.com/kxpler442b.png", "github": "https://github.com/kxpler442b" }, { "name": "Jip Fr", - "caption": "Web development", + "caption": "Web sayfası geliştirme", "picture": "https://github.com/jipfr.png", "github": "https://github.com/jipfr" }, { "name": "Shutterbug2000", - "caption": "Mario Kart 7 and 3DS research", + "caption": "Mario Kart 7 ve 3DS üzerine araştırma", "picture": "https://cdn.discordapp.com/avatars/191370953807233024/0311b61e2009c1576828dd2e9a59d72e.png?size=128", "github": "https://github.com/shutterbug2000" }, { "name": "Kinnay", - "special": "Special thanks", - "caption": "Research on Nintendo datastructures", + "special": "Özel teşekkür", + "caption": "Nintendo'nun veri yapıları üzerine araştırma", "picture": "https://cdn.discordapp.com/avatars/186572995848830987/b55c0d4e7bfd792edf0689f83a25d8ea.png?size=128", "github": "https://github.com/Kinnay" } ] }, "progressPage": { - "title": "Our progress", - "description": "Check the project progress and goals! (Updated every hour or so, does not reflect ALL project goals or progress)" + "title": "İlerlememiz", + "description": "Proje ilerlemesini ve hedeflerini kontrol edin! (Her saat başı güncellenir. TÜM proje hedeflerini veya ilerlemesini yansıtmaz)" } } From c349721d6266d5ae68fc417853e7a28d2b6b9c76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zontellekt=C3=BCel?= <82156816+zontellektuel@users.noreply.github.com> Date: Sat, 7 Aug 2021 18:13:56 +0300 Subject: [PATCH 10/26] Update TR_tr.json --- locales/TR_tr.json | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/locales/TR_tr.json b/locales/TR_tr.json index 6a9dcc1..4b4facf 100644 --- a/locales/TR_tr.json +++ b/locales/TR_tr.json @@ -29,39 +29,39 @@ }, "faq": { "title": "Sıkça Sorulan Sorular", - "text": "Temel bilgilendirme için bize sorulan bazı genel sorular ve cevapları:", + "text": "Bize sorulan bazı genel sorular ve cevapları:", "QAs": [ { "question": "Pretendo nedir?", - "answer": "Pretendo, Wii U ve 3DS konsolları için özel sunucu oluşturmayı amaç edinen Nintendo Network replasmanıdır. Hedefimiz, oyuncuların favori Wii U ve 3DS oyunlarını tam kapasitede oynayabilmelerini sağlamak adına konsolların çevrimiçi işlevlerini temin etmektir." + "answer": "Pretendo, Wii U ve 3DS konsolları için özel sunucu oluşturmayı amaç edinen Nintendo Network replasmanıdır. Hedefimiz, oyuncuların favori Wii U ve 3DS oyunlarını tam kapasitede oynayabilmeleri için konsolların çevrimiçi işlevlerini temin etmektir." }, { - "question": "Will my existing NNIDs work on Pretendo?", - "answer": "Sadly, no. Existing NNIDs will not work on Pretendo, as only Nintendo holds your user data; while an NNID-to-PNID migration is theoretically possible, it would be risky and require sensitive user data we do not wish to hold." + "question": "Varolan Nintendo Network Kimliklerim Pretendo'da çalışacak mı?", + "answer": "Ne yazık ki, hayır. Varolan Nintendo Kimlikleri ,kullanıcı verileriniz sadece Nintendo sahip olduğundan, Pretendo'da çalışmaz. Tabi, Nintendo Network'ten Prentendo Network'e kimlik intikali teorik olarak mümkündür. Ancak bu işlemin risk ihtimali bulunmakta; ve işlem için sahip olmak istemediğimiz hassas kullanıcı verileri gerekmektedir." }, { - "question": "How do I use Pretendo?", - "answer": "Pretendo is currently not in a state that is ready for public use. However, once it is you will be able to use Pretendo simply by running our homebrew patcher on your console." + "question": "Pretendo'yu nasıl kullanırım?", + "answer": "Pretendo, şuanlık topluluk kullanımı için uygun bir vaziyette değil. Bununla birlikte, hazır olduğunda Pretendo'yu sadece konsolunuzdaki Homebrew Yamamızı çalıştırarak kullanabileceksiniz." }, { - "question": "Do you know when will be ready?", - "answer": "No. Lots of Pretendo's features/services are developed independently (for example, Miiverse may be worked on by one developer while Accounts and Friends is being worked on by another) and therefore we cannot give an overall ETA for how long this will take." + "question": "<Özel aksam/Hizmet> işlevinin ne zaman hazır olacağını biliyor musunuz?", + "answer": "Maalesef. Pek çok Pretendo aksamı/hizmeti bağımsız olarak geliştirilmekte (örneğin, Miiverse üzerinde bir geliştirici çalışırken, Hesaplar ve Arkadaşlar üzerinde başka bir geliştirici çalışmaktadır.). Bu yüzden, bu işin ne kadar süreceği hakkında herhangi bir tahmin yapamıyoruz." }, { - "question": "Does Pretendo work on Cemu/emulators?", - "answer": "Pretendo is designed for the Wii U and 3DS hardware at heart; at this time the only emulator for these consoles with NN support is Cemu. Cemu does not officially support custom servers, but it should still be possible to use Pretendo with Cemu.
Pretendo does not currently support Cemu." + "question": "Pretendo Cemu/emülatörlerde çalışır mı??", + "answer": "Pretendo tasarımında, Wii U ve 3DS donanımını esas alır. Konsollara Nintendo Network desteği sağlayan tek emülatör de Cemu'dur. Cemu resmî olarak özel suncuları desteklemiyor ancak yine de Pretendo'yu Cemu üzerinden kullanabilmek mümkün olmalı.
Pretendo şu anlık Cemu'yu desteklemiyor." }, { - "question": "If I am banned on Nintendo Network, will I stay banned when using Pretendo?", - "answer": "We will not have access to Nintendo Network's bans, and all users will not be banned on our service. However, we will have rules to follow when using the service and failing to follow these rules could result in a ban." + "question": "Nintendo Network'ten banlandıysam, Pretendo'da da banlı kalır mıyım?", + "answer": "Nintendo Network'ün banlarına erişemediğimizden dolayı herhangi bir kullanıcı banlı olmayacak. Ancak, hizmetimiz kullanılırken uyulması gerek kurallar olacak ve uyulmadığı takdirde banlanmalar meydana gelebilecektir." }, { - "question": "Will Pretendo support the Wii/Switch?", - "answer": "The Wii already has custom servers provided by Wiimmfi. We currently do not wish to target the Switch as it is both paid and completely different to Nintendo Network." + "question": "Pretendo Wii/Switch'i destekleyecek mi?", + "answer": "Wii'nin hâlihazırda Wiimmfi tarafından sağlanan özel sunucuları bulunmaktadır. Switch için ise ,hem sunucular çalıştığından hem de Nintendo Network'ten tamamen farklı olduğundan dolayı, şimdilik üzerine uğraşmayı düşünmüyoruz." }, { - "question": "Will I need hacks to connect?", - "answer": "Yes, you will need to hack your device to connect; however, on Wii U you will only need access to the Homebrew Launcher (i.e. Haxchi, Coldboot Haxchi, or even the web browser exploit), with info on how the 3DS will connect coming at a later date." + "question": "Bağlanmak için hacke ihtiyacım var mı?", + "answer": "Evet, cihazınızı hacklemeniz gerekmektedir. Ancak, Wii U'nuzda sadece Homebrew Launcher'a erişebilmeniz gerekmektedir (yani Haxchi, Coldboot Haxchi ve web tarayıcı exploiti gerekmektedir). 3DS'in nasıl bağlanacağı ile ilgili bilgilendirme ileriki tarihlerde verilecektir." } ] }, @@ -83,7 +83,7 @@ }, { "name": "superwhiskers", - "caption": "Sıkıştırılmış kütüphane geliştirilme", + "caption": "Sıkıştırılmış kütüphane geliştirme", "picture": "https://github.com/superwhiskers.png", "github": "https://github.com/superwhiskers" }, From dd15f2914846e28b45c480905af754ca789134c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zontellekt=C3=BCel?= <82156816+zontellektuel@users.noreply.github.com> Date: Sat, 7 Aug 2021 18:16:07 +0300 Subject: [PATCH 11/26] Update TR_tr.json --- locales/TR_tr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/TR_tr.json b/locales/TR_tr.json index 4b4facf..df82353 100644 --- a/locales/TR_tr.json +++ b/locales/TR_tr.json @@ -95,7 +95,7 @@ }, { "name": "Rambo6Glaz", - "caption": "Ağ yükleyicisi and konsol üzerine araştırma", + "caption": "Ağ yükleyicisi ve konsol üzerine araştırma", "picture": "https://github.com/Rambo6Glaz.png", "github": "https://github.com/Rambo6Glaz" }, From 46d6e56ff5af85fd2e26b1402b996774e7f17a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zontellekt=C3=BCel?= <82156816+zontellektuel@users.noreply.github.com> Date: Sat, 7 Aug 2021 18:17:36 +0300 Subject: [PATCH 12/26] Update TR_tr.json --- locales/TR_tr.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/locales/TR_tr.json b/locales/TR_tr.json index df82353..1d034b8 100644 --- a/locales/TR_tr.json +++ b/locales/TR_tr.json @@ -1,8 +1,8 @@ { "nav": { - "about": "Hakkında", + "about": "Hakkımızda", "faq": "SSS", - "credits": "Katkıda bulunanlar", + "credits": "Katkıda Bulunanlar", "progress": "İlerleme" }, "hero": { From 74f0fd268cc3a7e8da9396390a4ec421660983c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zontellekt=C3=BCel?= <82156816+zontellektuel@users.noreply.github.com> Date: Sat, 7 Aug 2021 18:23:50 +0300 Subject: [PATCH 13/26] Update TR_tr.json --- locales/TR_tr.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locales/TR_tr.json b/locales/TR_tr.json index 1d034b8..38e3842 100644 --- a/locales/TR_tr.json +++ b/locales/TR_tr.json @@ -37,7 +37,7 @@ }, { "question": "Varolan Nintendo Network Kimliklerim Pretendo'da çalışacak mı?", - "answer": "Ne yazık ki, hayır. Varolan Nintendo Kimlikleri ,kullanıcı verileriniz sadece Nintendo sahip olduğundan, Pretendo'da çalışmaz. Tabi, Nintendo Network'ten Prentendo Network'e kimlik intikali teorik olarak mümkündür. Ancak bu işlemin risk ihtimali bulunmakta; ve işlem için sahip olmak istemediğimiz hassas kullanıcı verileri gerekmektedir." + "answer": "Ne yazık ki, hayır. Varolan Nintendo Kimlikleri, kullanıcı verilerinize sadece Nintendo sahip olduğundan, Pretendo'da çalışmaz. Tabi, Nintendo Network'ten Prentendo Network'e kimlik intikali teorik olarak mümkündür. Ancak bu işlemin risk ihtimali bulunmakta; ve işlem için sahip olmak istemediğimiz hassas kullanıcı verileri gerekmektedir." }, { "question": "Pretendo'yu nasıl kullanırım?", @@ -45,7 +45,7 @@ }, { "question": "<Özel aksam/Hizmet> işlevinin ne zaman hazır olacağını biliyor musunuz?", - "answer": "Maalesef. Pek çok Pretendo aksamı/hizmeti bağımsız olarak geliştirilmekte (örneğin, Miiverse üzerinde bir geliştirici çalışırken, Hesaplar ve Arkadaşlar üzerinde başka bir geliştirici çalışmaktadır.). Bu yüzden, bu işin ne kadar süreceği hakkında herhangi bir tahmin yapamıyoruz." + "answer": "Maalesef. Pek çok Pretendo aksamı/hizmeti bağımsız olarak geliştirilmekte (örneğin, Miiverse üzerinde bir geliştirici çalışırken, Hesaplar ve Arkadaşlar üzerinde başka bir geliştirici çalışmaktadır). Bu yüzden, bu işin ne kadar süreceği hakkında herhangi bir tahmin yapamıyoruz." }, { "question": "Pretendo Cemu/emülatörlerde çalışır mı??", @@ -53,15 +53,15 @@ }, { "question": "Nintendo Network'ten banlandıysam, Pretendo'da da banlı kalır mıyım?", - "answer": "Nintendo Network'ün banlarına erişemediğimizden dolayı herhangi bir kullanıcı banlı olmayacak. Ancak, hizmetimiz kullanılırken uyulması gerek kurallar olacak ve uyulmadığı takdirde banlanmalar meydana gelebilecektir." + "answer": "Nintendo Network'ün banlarına erişemediğimizden dolayı herhangi bir kullanıcı banlı olmayacak. Ancak, hizmetimiz kullanılırken uyulması gereken kurallar olacak ve uyulmadığı takdirde banlanmalar meydana gelebilecektir." }, { "question": "Pretendo Wii/Switch'i destekleyecek mi?", - "answer": "Wii'nin hâlihazırda Wiimmfi tarafından sağlanan özel sunucuları bulunmaktadır. Switch için ise ,hem sunucular çalıştığından hem de Nintendo Network'ten tamamen farklı olduğundan dolayı, şimdilik üzerine uğraşmayı düşünmüyoruz." + "answer": "Wii'nin hâlihazırda Wiimmfi tarafından sağlanan özel sunucuları bulunmaktadır. Switch için ise, hem sunucular çalıştığından hem de sistemi Nintendo Network'ten tamamen farklı olduğundan dolayı, şimdilik üzerine uğraşmayı düşünmüyoruz." }, { "question": "Bağlanmak için hacke ihtiyacım var mı?", - "answer": "Evet, cihazınızı hacklemeniz gerekmektedir. Ancak, Wii U'nuzda sadece Homebrew Launcher'a erişebilmeniz gerekmektedir (yani Haxchi, Coldboot Haxchi ve web tarayıcı exploiti gerekmektedir). 3DS'in nasıl bağlanacağı ile ilgili bilgilendirme ileriki tarihlerde verilecektir." + "answer": "Evet, cihazınızı hacklemeniz gerekmektedir. Ancak, Wii U'nuzda sadece Homebrew Launcher'a erişebilmeniz gerekmektedir (yani Haxchi, Coldboot Haxchi veya web tarayıcı exploiti gerekmektedir). 3DS'in nasıl bağlanacağı ile ilgili bilgilendirme ileriki tarihlerde verilecektir." } ] }, From c59852db812fffa423c005dcdba9c645788b88b2 Mon Sep 17 00:00:00 2001 From: montylion Date: Fri, 20 Aug 2021 13:58:11 +0200 Subject: [PATCH 14/26] Add russian localization by Julia Prower Cleaned up by me --- locales/RU_ru.json | 139 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 locales/RU_ru.json diff --git a/locales/RU_ru.json b/locales/RU_ru.json new file mode 100644 index 0000000..9f74e68 --- /dev/null +++ b/locales/RU_ru.json @@ -0,0 +1,139 @@ +{ + "nav": { + "about": "О нас", + "faq": "ЧЗВ", + "credits": "Титры", + "progress": "Прогресс" + }, + "hero": { + "subtitle": "Игровые сервера", + "title": "Воссозданы", + "text": "Pretendo - это бесплатная замена серверов с открытым исходным кодом от серверов Nintendo для 3DS и Wii U, обеспечивающая подключение к Интернету для всех, даже после того, как исходные сервера перестанут поддерживаться", + "buttons": { + "readMore": "Читать дальше" + } + }, + "aboutUs": { + "title": "О нас", + "paragraphs": [ + "Pretendo - это проект с открытым исходным кодом, целью которого является воссоздание Nintendo Network для 3DS и Wii U с использованием обратного проектирования чистой комнаты", + "Поскольку наши услуги будут бесплатными и с открытым исходным кодом, они могут существовать еще долго после неизбежного закрытия Nintendo Network" + ] + }, + "progress": { + "title": "Прогресс", + "paragraphs": [ + "В настоящее время мы работаем над Miiverse, а также над серверами наших учетных записей и их интеграцией с сервисами", + "Что касается 3DS, мы также работаем над Mario Kart 7 с желанием продолжить работу над другими играми, когда это возможно" + ] + }, + "faq": { + "title": "Часто задаваемые вопросы", + "text": "Вот несколько общих вопросов, которые нам задают, чтобы получить лёгкую информацию.", + "QAs": [ + { + "question": "Что такое Pretendo?", + "answer": "Pretendo - это замена Nintendo Network с открытым исходным кодом, цель которой - создание собственных серверов для консолей Wii U и 3DS. Наша цель - сохранить онлайн-функциональность этих консолей, чтобы игроки могли продолжать играть в свои любимые игры. Игры Wii U и 3DS на полную мощность" + }, + { + "question": "Будут ли мои существующие NNID работать на Pretendo?", + "answer": "К сожалению, нет. Существующие NNID не будут работать на Pretendo, так как только Nintendo хранит ваши пользовательские данные; хотя переход с NNID на PNID теоретически возможен, это было бы рискованно и потребовало бы конфиденциальных данных пользователя, которых мы не желаем. держать." + }, + { + "question": "Как использовать Pretendo?", + "answer": "Pretendo в настоящее время не находится в состоянии, готовом к общедоступному использованию. Однако, как только это произойдет, вы сможете использовать Pretendo, просто запустив нашу прошивку на вашей консоли." + }, + { + "question": "Вы знаете, когда будет готова <функция / услуга>?", + "answer": "Нет. Многие функции / услуги Pretendo разрабатываются независимо (например, над Miiverse может работать один разработчик, а над учетными записями и друзьями - другой), поэтому мы не можем дать общее точное время выхода, как долго это займет." + }, + { + "question": "Работает ли Pretendo на Cemu / эмуляторах?", + "answer": "Pretendo по сути своей разработана для оборудования Wii U и 3DS; в настоящее время единственным эмулятором для этих консолей с поддержкой NN является Cemu. Cemu официально не поддерживает настраиваемые серверы, но все же можно использовать Pretendo. с Cemu.
Pretendo в настоящее время не поддерживает Cemu." + }, + { + "question": "Если меня забанят в Nintendo Network, я останусь заблокированным при использовании Pretendo?", + "answer": "У нас не будет доступа к запретам Nintendo Network, и все пользователи не будут заблокированы на нашем сервисе. Однако у нас будут правила, которым нужно следовать при использовании сервиса, и их несоблюдение может привести к бану." + }, + { + "question": "Будет ли Pretendo поддерживать Wii / Switch?", + "answer": "У Wii уже есть настраиваемые серверы, предоставленные Wiimmfi. В настоящее время мы не хотим ориентироваться на Switch, поскольку он одновременно платный и полностью отличается от Nintendo Network" + }, + { + "question": "Нужны ли мне хаки для подключения?", + "answer": "Да, вам нужно будет взломать свое устройство для подключения; однако на Wii U вам понадобится только доступ к Homebrew Launcher (например, Haxchi, Coldboot Haxchi или даже эксплойту веб-браузера) с информацией о том, как 3DS подключится позже" + } + ] + }, + "credits": { + "title": "Команда", + "text": "Познакомьтесь с командой, стоящей за проектом", + "people": [ + { + "name": "Jonathan Barrow (RedDucks)", + "caption": "Владелец проекта и ведущий разработчик", + "picture": "https://github.com/jonbarrow.png", + "github": "https://github.com/jonbarrow" + }, + { + "name": "Jemma (CaramelKat)", + "caption": "Исследования и разработки Miiverse", + "picture": "https://github.com/caramelkat.png", + "github": "https://github.com/CaramelKat" + }, + { + "name": "superwhiskers", + "caption": "разработка библиотеки сжатия текстур", + "picture": "https://github.com/superwhiskers.png", + "github": "https://github.com/superwhiskers" + }, + { + "name": "SuperMarioDaBom", + "caption": "Консольные и другие системные исследования", + "picture": "https://github.com/supermariodabom.png", + "github": "https://github.com/SuperMarioDaBom" + }, + { + "name": "Rambo6Glaz", + "caption": "Сетевой установщик и исследование консоли", + "picture": "https://github.com/Rambo6Glaz.png", + "github": "https://github.com/Rambo6Glaz" + }, + { + "name": "mrjvs", + "caption": "Веб-разработка и ранние исследования интернет-магазина eshop", + "picture": "https://github.com/mrjvs.png", + "github": "https://github.com/mrjvs" + }, + { + "name": "Benjamin Moss (kxpler442b)", + "caption": "Веб-разработка", + "picture": "https://github.com/kxpler442b.png", + "github": "https://github.com/kxpler442b" + }, + { + "name": "Jip Fr", + "caption": "Веб-разработка", + "picture": "https://github.com/jipfr.png", + "github": "https://github.com/jipfr" + }, + { + "name": "Shutterbug2000", + "caption": "Исследование Mario Kart 7 и 3DS", + "picture": "https://cdn.discordapp.com/avatars/191370953807233024/0311b61e2009c1576828dd2e9a59d72e.png?size=128", + "github": "https://github.com/shutterbug2000" + }, + { + "name": "Kinnay", + "special": "Особая благодарность", + "caption": "Исследование структур данных Nintendo", + "picture": "https://cdn.discordapp.com/avatars/186572995848830987/b55c0d4e7bfd792edf0689f83a25d8ea.png?size=128", + "github": "https://github.com/Kinnay" + } + ] + }, + "progressPage": { + "title": "Наш прогресс", + "description": "Проверяйте прогресс и цели проекта! (Обновляется каждый час или около того, не отражает ВСЕ цели или прогресс проекта)" + } +} From 1d3f42eb5c5c48740d8993502c66247f2318e8b3 Mon Sep 17 00:00:00 2001 From: Monty Date: Fri, 20 Aug 2021 15:52:55 +0200 Subject: [PATCH 15/26] Update Jon's old username I fixed the pfp and the url but I completely missed the username. Whoops --- locales/RU_ru.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/RU_ru.json b/locales/RU_ru.json index 9f74e68..98dc550 100644 --- a/locales/RU_ru.json +++ b/locales/RU_ru.json @@ -70,7 +70,7 @@ "text": "Познакомьтесь с командой, стоящей за проектом", "people": [ { - "name": "Jonathan Barrow (RedDucks)", + "name": "Jonathan Barrow (jonbarrow)", "caption": "Владелец проекта и ведущий разработчик", "picture": "https://github.com/jonbarrow.png", "github": "https://github.com/jonbarrow" From 8e0a40079cd4f15c1ec82c6ee3b0d4b96af24b80 Mon Sep 17 00:00:00 2001 From: montylion Date: Sun, 22 Aug 2021 16:37:51 +0200 Subject: [PATCH 16/26] Add auto locale detection and custom locale selection (preference saved to cookie) --- package-lock.json | 33 +++++++++++++++++++++ package.json | 2 ++ public/assets/css/main.css | 3 ++ public/assets/js/locale-dropdown-handler.js | 11 +++++++ src/routers/home.js | 8 +++-- src/routers/progress.js | 10 +++++-- src/server.js | 23 ++++++++++++++ views/layouts/main.handlebars | 3 ++ views/partials/header.handlebars | 7 +++++ 9 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 public/assets/js/locale-dropdown-handler.js diff --git a/package-lock.json b/package-lock.json index e0a5d6b..ae41cbf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,8 +10,10 @@ "license": "ISC", "dependencies": { "colors": "^1.4.0", + "cookie-parser": "^1.4.5", "express": "^4.17.1", "express-handlebars": "^4.0.4", + "express-locale": "^2.0.0", "fs-extra": "^9.1.0", "ioredis": "^4.26.0", "morgan": "^1.10.0", @@ -156,6 +158,18 @@ "node": ">= 0.6" } }, + "node_modules/cookie-parser": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz", + "integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==", + "dependencies": { + "cookie": "0.4.0", + "cookie-signature": "1.0.6" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", @@ -287,6 +301,11 @@ "node": ">=0.10" } }, + "node_modules/express-locale": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/express-locale/-/express-locale-2.0.0.tgz", + "integrity": "sha512-SUwsgOTV8lplAkgyfKSwKH3ZVSKUrAa+b48acPGXpwWX211WZ/BYWX2WcZO57+xLOqPYb6rSNpWCFnhGrt0moA==" + }, "node_modules/finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -1114,6 +1133,15 @@ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" }, + "cookie-parser": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz", + "integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==", + "requires": { + "cookie": "0.4.0", + "cookie-signature": "1.0.6" + } + }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", @@ -1224,6 +1252,11 @@ "promise": "^8.1.0" } }, + "express-locale": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/express-locale/-/express-locale-2.0.0.tgz", + "integrity": "sha512-SUwsgOTV8lplAkgyfKSwKH3ZVSKUrAa+b48acPGXpwWX211WZ/BYWX2WcZO57+xLOqPYb6rSNpWCFnhGrt0moA==" + }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", diff --git a/package.json b/package.json index 1ccbbd2..cb99e41 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,10 @@ "homepage": "https://github.com/PretendoNetwork/website#readme", "dependencies": { "colors": "^1.4.0", + "cookie-parser": "^1.4.5", "express": "^4.17.1", "express-handlebars": "^4.0.4", + "express-locale": "^2.0.0", "fs-extra": "^9.1.0", "ioredis": "^4.26.0", "morgan": "^1.10.0", diff --git a/public/assets/css/main.css b/public/assets/css/main.css index c659843..347bd49 100644 --- a/public/assets/css/main.css +++ b/public/assets/css/main.css @@ -80,6 +80,9 @@ header nav a { text-decoration: none; } +.locale-dropdown { + margin-left: auto; +} /* Misc */ .purple-circle { diff --git a/public/assets/js/locale-dropdown-handler.js b/public/assets/js/locale-dropdown-handler.js new file mode 100644 index 0000000..a3b561c --- /dev/null +++ b/public/assets/js/locale-dropdown-handler.js @@ -0,0 +1,11 @@ +function setFormDefaultLocale(localeString) { + try { + document.querySelector(`option[value=${localeString}`).selected = true; + } catch {} // If the locale isn't listed +} + +function localeFormHandler() { + const selectedLocale = document.querySelector("#locale-dropdown").value; + document.cookie = `preferredLocale=${selectedLocale};max-age=31536000`; + window.location.reload(); +} diff --git a/src/routers/home.js b/src/routers/home.js index 84dba26..8d02c6b 100644 --- a/src/routers/home.js +++ b/src/routers/home.js @@ -5,12 +5,16 @@ const router = new Router(); const { getTrelloCache } = require('../trello'); router.get('/', async (request, response) => { - const tmpLocale = util.getLocale('US', 'en'); + + const reqLocale = request.locale + const locale = util.getLocale(reqLocale.region, reqLocale.language); + const cache = await getTrelloCache(); response.render('home', { layout: 'main', - locale: tmpLocale, + locale, + localeString: reqLocale.toString(), featuredFeatureList: cache.sections[0] }); }); diff --git a/src/routers/progress.js b/src/routers/progress.js index 6d590f4..b7ed205 100644 --- a/src/routers/progress.js +++ b/src/routers/progress.js @@ -5,12 +5,18 @@ const router = new Router(); const { getTrelloCache } = require('../trello'); router.get('/', async (request, response) => { - const tmpLocale = util.getLocale('US', 'en'); + + const reqLocale = request.locale + const locale = util.getLocale(reqLocale.region, reqLocale.language); + + const localeString = reqLocale.toString() + const cache = await getTrelloCache(); response.render('progress', { layout: 'main', - locale: tmpLocale, + locale, + localeString, progressLists: cache }); }); diff --git a/src/server.js b/src/server.js index 9136623..ae3e41d 100644 --- a/src/server.js +++ b/src/server.js @@ -3,6 +3,8 @@ process.title = 'Pretendo - Website'; const express = require('express'); const handlebars = require('express-handlebars'); const morgan = require('morgan'); +const expressLocale = require('express-locale'); +const cookieParser = require('cookie-parser') const logger = require('./logger'); const util = require('./util'); const config = require('../config.json'); @@ -23,6 +25,27 @@ const routers = { progress: require('./routers/progress') }; +app.use(cookieParser()) + +// Locale express middleware setup +app.use(expressLocale({ + "priority": ["cookie", "accept-language", "map", "default"], + cookie: {name: 'preferredLocale'}, + // fallbacks for browsers that don't send a region code, but only a language + map: { + de: 'de-DE', + es: 'es-ES', + fr: 'fr-FR', + it: 'it-IT', + ko: 'ko-KR', + ru: 'ru-RU', + }, + "default": "en-US" +})) + + + + app.use('/', routers.home); app.use('/faq', routers.faq); app.use('/progress', routers.progress); diff --git a/views/layouts/main.handlebars b/views/layouts/main.handlebars index 267ebab..fac0f27 100644 --- a/views/layouts/main.handlebars +++ b/views/layouts/main.handlebars @@ -40,5 +40,8 @@ + + + \ No newline at end of file diff --git a/views/partials/header.handlebars b/views/partials/header.handlebars index 384efe3..cda76c7 100644 --- a/views/partials/header.handlebars +++ b/views/partials/header.handlebars @@ -30,4 +30,11 @@ {{ locale.nav.credits }} {{ locale.nav.progress }} + + + \ No newline at end of file From 84b1e09bc631363e61ede11dd8cfac3c0ab04cd2 Mon Sep 17 00:00:00 2001 From: montylion Date: Sun, 22 Aug 2021 18:56:54 +0200 Subject: [PATCH 17/26] Update function names for consistency --- public/assets/js/locale-dropdown-handler.js | 4 ++-- views/layouts/main.handlebars | 2 +- views/partials/header.handlebars | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/public/assets/js/locale-dropdown-handler.js b/public/assets/js/locale-dropdown-handler.js index a3b561c..6ed72cb 100644 --- a/public/assets/js/locale-dropdown-handler.js +++ b/public/assets/js/locale-dropdown-handler.js @@ -1,10 +1,10 @@ -function setFormDefaultLocale(localeString) { +function setDefaultDropdownLocale(localeString) { try { document.querySelector(`option[value=${localeString}`).selected = true; } catch {} // If the locale isn't listed } -function localeFormHandler() { +function localeDropdownHandler() { const selectedLocale = document.querySelector("#locale-dropdown").value; document.cookie = `preferredLocale=${selectedLocale};max-age=31536000`; window.location.reload(); diff --git a/views/layouts/main.handlebars b/views/layouts/main.handlebars index fac0f27..e49b00e 100644 --- a/views/layouts/main.handlebars +++ b/views/layouts/main.handlebars @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/views/partials/header.handlebars b/views/partials/header.handlebars index cda76c7..0731b40 100644 --- a/views/partials/header.handlebars +++ b/views/partials/header.handlebars @@ -31,7 +31,7 @@ {{ locale.nav.progress }} - From 106e78d2c476fbe42403e0435098c47743149c1c Mon Sep 17 00:00:00 2001 From: Angel3245 <61286681+Angel3245@users.noreply.github.com> Date: Sun, 22 Aug 2021 19:02:28 +0200 Subject: [PATCH 18/26] Update locales/ES_es.json Co-authored-by: mrjvs --- locales/ES_es.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/ES_es.json b/locales/ES_es.json index 27627c2..af1eb4b 100644 --- a/locales/ES_es.json +++ b/locales/ES_es.json @@ -70,10 +70,10 @@ "text": "Conoce al equipo tras el proyecto", "people": [ { - "name": "Jonathan Barrow (RedDucks)", + "name": "Jonathan Barrow (jonbarrow)", "caption": "Líder del proyecto y desarrollador principal", - "picture": "https://github.com/redduckss.png", - "github": "https://github.com/RedDuckss" + "picture": "https://github.com/jonbarrow.png", + "github": "https://github.com/jonbarrow" }, { "name": "Jemma (CaramelKat)", From d0dd10519bd6b70069170407b8bf084560c77648 Mon Sep 17 00:00:00 2001 From: montylion Date: Sun, 22 Aug 2021 21:37:45 +0200 Subject: [PATCH 19/26] Added dropdown menu by @mrjvs Co-Authored-By: mrjvs --- public/assets/css/dropdown.css | 93 +++++++++++++++++++++ public/assets/css/main.css | 15 +++- public/assets/icons/down-arrow.svg | 1 + public/assets/js/locale-dropdown-handler.js | 59 +++++++++++-- views/layouts/main.handlebars | 9 ++ views/partials/header.handlebars | 38 +++++++-- 6 files changed, 201 insertions(+), 14 deletions(-) create mode 100644 public/assets/css/dropdown.css create mode 100644 public/assets/icons/down-arrow.svg diff --git a/public/assets/css/dropdown.css b/public/assets/css/dropdown.css new file mode 100644 index 0000000..edf782a --- /dev/null +++ b/public/assets/css/dropdown.css @@ -0,0 +1,93 @@ +.select-box { + display: flex; + width: 200px; + flex-direction: column; + position: relative; +} + +.select-box > * { + box-sizing: border-box; +} + +.select-box .options-container { + max-height: 0; + width: calc(100% - 12px); + opacity: 0; + transition: all 0.4s; + overflow: hidden; + border-radius: 5px; + background-color: var(--btn-secondary); + order: 1; + position: absolute; + top: 50px; +} + +.selected-locale { + margin-bottom: 8px; + position: relative; + width: 188px; + height: 45px; + border-radius: 5px; + display: flex; + align-items: center; + background-color: var(--btn-secondary); + color: white; + order: 0; +} + +.selected-locale::after { + content: url("/assets/icons/down-arrow.svg"); + position: absolute; + right: 15px; + top: 50%; + transition: transform 150ms; + transform: translateY(-50%); +} + +.select-box .option .item { + color: #afb5dd; +} + +.select-box .options-container.active { + max-height: 240px; + opacity: 1; + overflow-y: scroll; +} + +.select-box .options-container.active + .selected-locale::after { + transform: translateY(-50%) rotateX(180deg); +} + +.select-box .options-container::-webkit-scrollbar { + width: 8px; + background: #0d141f; + background: #81878f; + background: #f1f2f3; + border-radius: 0 5px 5px 0; +} + +.select-box .options-container::-webkit-scrollbar-thumb { + background: #525861; + background: #81878f; + border-radius: 0 5px 5px 0; +} +.select-box .option, +.selected-locale { + padding: 12px 15px; + cursor: pointer; +} + +.select-box .option:hover { + background: #2f345b; +} +.select-box .option:hover .item { + color: white; +} + +.select-box label { + cursor: pointer; +} + +.select-box .option .radio { + display: none; +} diff --git a/public/assets/css/main.css b/public/assets/css/main.css index 347bd49..2f0eb88 100644 --- a/public/assets/css/main.css +++ b/public/assets/css/main.css @@ -4,6 +4,7 @@ --text: white; --text-secondary: #A1A8D9; --btn: #673DB6; + --btn-secondary: #333960; --theme: var(--btn); --text-secondary-2: #8990C1; } @@ -82,6 +83,7 @@ header nav a { .locale-dropdown { margin-left: auto; + z-index: 2; } /* Misc */ @@ -117,7 +119,7 @@ header nav a { left: 50%; transform: translate(-50%, -50%); margin-left: -40px; - z-index: 3; + z-index: 1; } .light-purple-circle .deco { position: absolute; @@ -127,6 +129,15 @@ header nav a { z-index: -2; } +/* Twemoji */ + +img.emoji { + height: 1em; + width: 1em; + margin: 0 .05em 0 .1em; + vertical-align: -0.1em; + } + /* Title business */ .sect .title[id] { padding-top: 100px; @@ -220,7 +231,7 @@ header nav a { background: var(--btn); } .button.secondary { - background: #333960; + background: var(--btn-secondary); } .button.secondary.discord svg { margin-bottom: -1px; diff --git a/public/assets/icons/down-arrow.svg b/public/assets/icons/down-arrow.svg new file mode 100644 index 0000000..619f62a --- /dev/null +++ b/public/assets/icons/down-arrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/js/locale-dropdown-handler.js b/public/assets/js/locale-dropdown-handler.js index 6ed72cb..7e8dc6d 100644 --- a/public/assets/js/locale-dropdown-handler.js +++ b/public/assets/js/locale-dropdown-handler.js @@ -1,11 +1,56 @@ function setDefaultDropdownLocale(localeString) { - try { - document.querySelector(`option[value=${localeString}`).selected = true; - } catch {} // If the locale isn't listed + const selected = document.querySelector(".selected-locale"); + selected.innerHTML = document.querySelector(`label[for=${localeString}`).innerHTML } -function localeDropdownHandler() { - const selectedLocale = document.querySelector("#locale-dropdown").value; - document.cookie = `preferredLocale=${selectedLocale};max-age=31536000`; - window.location.reload(); +function localeDropdownHandler(selectedLocale) { + document.cookie = `preferredLocale=${selectedLocale};max-age=31536000`; + window.location.reload(); } + +const dropdowns = document.querySelectorAll("*[data-dropdown]"); +const dropdownOptions = document.querySelectorAll( + "*[data-dropdown] .options-container" +); + +dropdowns.forEach((el) => { + const selected = el.querySelector(".selected-locale"); + const optionsContainer = el.querySelector(".options-container"); + const optionsList = el.querySelectorAll(".option"); + + // click dropdown element will open dropdown + selected.addEventListener("click", () => { + optionsContainer.classList.toggle("active"); + }); + + // clicking on any option will close dropdown and change value + optionsList.forEach((option) => { + option.addEventListener("click", () => { + selected.innerHTML = option.querySelector("label").innerHTML; + optionsContainer.classList.remove("active"); + const selectedLocale = option.querySelector("label").getAttribute("for"); + localeDropdownHandler(selectedLocale); + }); + }); +}); + +// close all dropdowns on scroll +document.addEventListener("scroll", () => { + dropdownOptions.forEach((el) => el.classList.remove("active")); +}); + +// click outside of dropdown will close all dropdowns +document.addEventListener("click", (e) => { + const targetElement = e.target; + + // check if target is from a dropdown + let found = false; + dropdowns.forEach((v) => { + if (v == targetElement || v.contains(targetElement)) found = true; + }); + + if (found) return; + + // click outside of dropdowns + dropdownOptions.forEach((el) => el.classList.remove("active")); +}); diff --git a/views/layouts/main.handlebars b/views/layouts/main.handlebars index e49b00e..eb50001 100644 --- a/views/layouts/main.handlebars +++ b/views/layouts/main.handlebars @@ -28,11 +28,20 @@ Pretendo + + + + +
diff --git a/views/partials/header.handlebars b/views/partials/header.handlebars index 0731b40..fbfbd4d 100644 --- a/views/partials/header.handlebars +++ b/views/partials/header.handlebars @@ -31,10 +31,38 @@ {{ locale.nav.progress }} - +
+
+
+ + +
+ +
+ + +
+ +
+ + +
+
+ + +
+
+
+
English
+
+
\ No newline at end of file From 2bf633e1277ff94fff9762550f820d8dcec110f7 Mon Sep 17 00:00:00 2001 From: mrjvs Date: Sun, 22 Aug 2021 21:58:07 +0200 Subject: [PATCH 20/26] layout shift fix + centered chevron --- public/assets/css/dropdown.css | 16 ++++++++++++++-- views/partials/header.handlebars | 10 +++++----- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/public/assets/css/dropdown.css b/public/assets/css/dropdown.css index edf782a..99dce10 100644 --- a/public/assets/css/dropdown.css +++ b/public/assets/css/dropdown.css @@ -36,22 +36,34 @@ } .selected-locale::after { - content: url("/assets/icons/down-arrow.svg"); + content: ""; + width: 1.2rem; + height: 1.2rem; + background: url("/assets/icons/down-arrow.svg"); position: absolute; right: 15px; top: 50%; transition: transform 150ms; transform: translateY(-50%); + background-size: contain; + background-position: center; } .select-box .option .item { color: #afb5dd; } +.select-box .lang { + width: 1.3rem; + height: 1rem; + margin-right: .2rem; + display: inline-block; +} + .select-box .options-container.active { max-height: 240px; opacity: 1; - overflow-y: scroll; + overflow-y: auto; } .select-box .options-container.active + .selected-locale::after { diff --git a/views/partials/header.handlebars b/views/partials/header.handlebars index fbfbd4d..a032235 100644 --- a/views/partials/header.handlebars +++ b/views/partials/header.handlebars @@ -36,32 +36,32 @@
-
English
+
From 59904bea790bb80b8035df257ffc28d63e0115c3 Mon Sep 17 00:00:00 2001 From: mrjvs Date: Sun, 22 Aug 2021 22:00:13 +0200 Subject: [PATCH 21/26] disallow selecting dropdown --- public/assets/css/dropdown.css | 1 + 1 file changed, 1 insertion(+) diff --git a/public/assets/css/dropdown.css b/public/assets/css/dropdown.css index 99dce10..1d842fa 100644 --- a/public/assets/css/dropdown.css +++ b/public/assets/css/dropdown.css @@ -3,6 +3,7 @@ width: 200px; flex-direction: column; position: relative; + user-select: none; } .select-box > * { From 6ff919b2fb432b1d6a2e7e1b3882ff5e14114faf Mon Sep 17 00:00:00 2001 From: montylion Date: Sun, 22 Aug 2021 22:10:21 +0200 Subject: [PATCH 22/26] Add Turkish locale to dropdown --- src/server.js | 1 + views/partials/header.handlebars | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/server.js b/src/server.js index ae3e41d..24cf770 100644 --- a/src/server.js +++ b/src/server.js @@ -39,6 +39,7 @@ app.use(expressLocale({ it: 'it-IT', ko: 'ko-KR', ru: 'ru-RU', + tr: 'tr-TR' }, "default": "en-US" })) diff --git a/views/partials/header.handlebars b/views/partials/header.handlebars index a032235..de64dbf 100644 --- a/views/partials/header.handlebars +++ b/views/partials/header.handlebars @@ -59,6 +59,12 @@
🇷🇺Pусский
+
+ + +
From f8c7eca29474e70ad44f82f94aadfdd5825f21eb Mon Sep 17 00:00:00 2001 From: montylion Date: Sun, 22 Aug 2021 22:28:04 +0200 Subject: [PATCH 23/26] Fix vulnerabilities Switch from trello to trello-new, a clone of the original package with security fixes --- package-lock.json | 228 +++++++++++++++++++--------------------------- package.json | 2 +- src/trello.js | 2 +- 3 files changed, 98 insertions(+), 134 deletions(-) diff --git a/package-lock.json b/package-lock.json index ae41cbf..244fd72 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "ioredis": "^4.26.0", "morgan": "^1.10.0", "redis-json": "^5.0.0", - "trello": "^0.10.0" + "trello-new": "github:mmoomocow/trello" } }, "node_modules/accepts": { @@ -228,11 +228,6 @@ "node": ">= 0.8" } }, - "node_modules/es6-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=" - }, "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -385,9 +380,9 @@ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "node_modules/handlebars": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", - "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.0", @@ -621,6 +616,40 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "node_modules/needle": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.8.0.tgz", + "integrity": "sha512-ZTq6WYkN/3782H1393me3utVYdq2XyqNUFBsprEE3VMAT0+hP/cItpnITpqsY6ep2yeFE4Tqtqwc74VqUlUYtw==", + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/needle/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/needle/node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, "node_modules/negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -802,33 +831,6 @@ "node": ">=4" } }, - "node_modules/restler": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/restler/-/restler-3.3.0.tgz", - "integrity": "sha1-+TpZteG8LFrQwrlz94EpshgbYHY=", - "dependencies": { - "iconv-lite": "0.2.11", - "qs": "1.2.0", - "xml2js": "0.4.0", - "yaml": "0.2.3" - }, - "engines": { - "node": ">= 0.10.x" - } - }, - "node_modules/restler/node_modules/iconv-lite": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", - "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/restler/node_modules/qs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-1.2.0.tgz", - "integrity": "sha1-7Qeb4oaCFH5v2aNMwrDB4OxkU+4=" - }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -839,11 +841,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "node_modules/sax": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", - "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=" - }, "node_modules/send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -920,19 +917,24 @@ "node": ">=0.6" } }, - "node_modules/trello": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/trello/-/trello-0.10.0.tgz", - "integrity": "sha512-l2uDieuUkFU+qlZG1dtu11Uzg5yKZLl+NjVCAQWumaHnclH46cTuBEyHjnz7kPqZDNoGf7qzcsln0BOVjrFajw==", + "node_modules/trello-new": { + "version": "1.1.0", + "resolved": "git+ssh://git@github.com/mmoomocow/trello.git#770f1b38ed48843d8b9e09e90f9979cf7a2726cf", + "license": "MIT", "dependencies": { - "es6-promise": "~3.0.2", - "object-assign": "~4.1.0", - "restler": "~3.3.0" + "es6-promise": "~4.2.8", + "needle": "^2.4.0", + "object-assign": "~4.1.0" }, "engines": { "node": ">= 0.10.x" } }, + "node_modules/trello-new/node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -1001,28 +1003,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/xml2js": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.0.tgz", - "integrity": "sha1-Ek/EEUtBKcgQgA7LKshs8lRiy5o=", - "dependencies": { - "sax": "0.5.x", - "xmlbuilder": ">=0.4.2" - } - }, - "node_modules/xmlbuilder": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", - "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", - "engines": { - "node": ">=8.0" - } - }, - "node_modules/yaml": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-0.2.3.tgz", - "integrity": "sha1-tUUOkudu82td0k42YAkeuu7z5cc=" } }, "dependencies": { @@ -1188,11 +1168,6 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, - "es6-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=" - }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -1321,9 +1296,9 @@ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "handlebars": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", - "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "requires": { "minimist": "^1.2.5", "neo-async": "^2.6.0", @@ -1497,6 +1472,36 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "needle": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.8.0.tgz", + "integrity": "sha512-ZTq6WYkN/3782H1393me3utVYdq2XyqNUFBsprEE3VMAT0+hP/cItpnITpqsY6ep2yeFE4Tqtqwc74VqUlUYtw==", + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + } + } + }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -1630,29 +1635,6 @@ "redis-errors": "^1.0.0" } }, - "restler": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/restler/-/restler-3.3.0.tgz", - "integrity": "sha1-+TpZteG8LFrQwrlz94EpshgbYHY=", - "requires": { - "iconv-lite": "0.2.11", - "qs": "1.2.0", - "xml2js": "0.4.0", - "yaml": "0.2.3" - }, - "dependencies": { - "iconv-lite": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", - "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=" - }, - "qs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-1.2.0.tgz", - "integrity": "sha1-7Qeb4oaCFH5v2aNMwrDB4OxkU+4=" - } - } - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -1663,11 +1645,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "sax": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", - "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=" - }, "send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -1731,14 +1708,20 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, - "trello": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/trello/-/trello-0.10.0.tgz", - "integrity": "sha512-l2uDieuUkFU+qlZG1dtu11Uzg5yKZLl+NjVCAQWumaHnclH46cTuBEyHjnz7kPqZDNoGf7qzcsln0BOVjrFajw==", + "trello-new": { + "version": "git+ssh://git@github.com/mmoomocow/trello.git#770f1b38ed48843d8b9e09e90f9979cf7a2726cf", + "from": "trello-new@mmoomocow/trello", "requires": { - "es6-promise": "~3.0.2", - "object-assign": "~4.1.0", - "restler": "~3.3.0" + "es6-promise": "~4.2.8", + "needle": "^2.4.0", + "object-assign": "~4.1.0" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + } } }, "type-is": { @@ -1788,25 +1771,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "xml2js": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.0.tgz", - "integrity": "sha1-Ek/EEUtBKcgQgA7LKshs8lRiy5o=", - "requires": { - "sax": "0.5.x", - "xmlbuilder": ">=0.4.2" - } - }, - "xmlbuilder": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", - "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==" - }, - "yaml": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-0.2.3.tgz", - "integrity": "sha1-tUUOkudu82td0k42YAkeuu7z5cc=" } } } diff --git a/package.json b/package.json index cb99e41..2d48325 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,6 @@ "ioredis": "^4.26.0", "morgan": "^1.10.0", "redis-json": "^5.0.0", - "trello": "^0.10.0" + "trello-new": "github:mmoomocow/trello" } } diff --git a/src/trello.js b/src/trello.js index f8de99c..8795f85 100644 --- a/src/trello.js +++ b/src/trello.js @@ -1,4 +1,4 @@ -const Trello = require('trello'); +const Trello =require("trello-new") const Redis = require('ioredis'); const JSONCache = require('redis-json'); const config = require('../config.json'); From de9180d31210237aab650587ecabb57719674726 Mon Sep 17 00:00:00 2001 From: montylion Date: Sun, 22 Aug 2021 22:41:27 +0200 Subject: [PATCH 24/26] Get module from npm, not github --- package-lock.json | 59 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 30 insertions(+), 31 deletions(-) diff --git a/package-lock.json b/package-lock.json index 244fd72..25e11b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "ioredis": "^4.26.0", "morgan": "^1.10.0", "redis-json": "^5.0.0", - "trello-new": "github:mmoomocow/trello" + "trello-new": "^1.0.0" } }, "node_modules/accepts": { @@ -228,6 +228,11 @@ "node": ">= 0.8" } }, + "node_modules/es6-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=" + }, "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -645,11 +650,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "node_modules/needle/node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, "node_modules/negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -841,6 +841,11 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, "node_modules/send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -918,11 +923,11 @@ } }, "node_modules/trello-new": { - "version": "1.1.0", - "resolved": "git+ssh://git@github.com/mmoomocow/trello.git#770f1b38ed48843d8b9e09e90f9979cf7a2726cf", - "license": "MIT", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trello-new/-/trello-new-1.0.0.tgz", + "integrity": "sha512-6nX6eHElNLufQ0xF6bwyiMnSfszhRunA+N2qC7Za5VpM6hOmzkckp0muIo3XCuCaIyMfkZCAV37xYry1nD98yw==", "dependencies": { - "es6-promise": "~4.2.8", + "es6-promise": "~3.0.2", "needle": "^2.4.0", "object-assign": "~4.1.0" }, @@ -930,11 +935,6 @@ "node": ">= 0.10.x" } }, - "node_modules/trello-new/node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -1168,6 +1168,11 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, + "es6-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -1494,11 +1499,6 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" } } }, @@ -1645,6 +1645,11 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, "send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -1709,19 +1714,13 @@ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, "trello-new": { - "version": "git+ssh://git@github.com/mmoomocow/trello.git#770f1b38ed48843d8b9e09e90f9979cf7a2726cf", - "from": "trello-new@mmoomocow/trello", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trello-new/-/trello-new-1.0.0.tgz", + "integrity": "sha512-6nX6eHElNLufQ0xF6bwyiMnSfszhRunA+N2qC7Za5VpM6hOmzkckp0muIo3XCuCaIyMfkZCAV37xYry1nD98yw==", "requires": { - "es6-promise": "~4.2.8", + "es6-promise": "~3.0.2", "needle": "^2.4.0", "object-assign": "~4.1.0" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - } } }, "type-is": { diff --git a/package.json b/package.json index 2d48325..917f7fb 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,6 @@ "ioredis": "^4.26.0", "morgan": "^1.10.0", "redis-json": "^5.0.0", - "trello-new": "github:mmoomocow/trello" + "trello-new": "^1.0.0" } } From 159868e401bf9afbddfa41011c91c7f01bdeac92 Mon Sep 17 00:00:00 2001 From: montylion Date: Sun, 22 Aug 2021 23:49:46 +0200 Subject: [PATCH 25/26] Hide language switcher on mobile --- public/assets/css/main.css | 5 +++++ views/layouts/main.handlebars | 4 +--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/public/assets/css/main.css b/public/assets/css/main.css index 2f0eb88..a6b6917 100644 --- a/public/assets/css/main.css +++ b/public/assets/css/main.css @@ -541,6 +541,11 @@ footer { display: none; } + .locale-dropdown { + /* You don't really need this either on mobile IMHO */ + display: none; + } + .hero-meta { margin-top: 100px; } diff --git a/views/layouts/main.handlebars b/views/layouts/main.handlebars index eb50001..dc8875a 100644 --- a/views/layouts/main.handlebars +++ b/views/layouts/main.handlebars @@ -27,10 +27,8 @@ Pretendo - - - + From 19a42d36130c0ede62e7f06d21750131d4562a2b Mon Sep 17 00:00:00 2001 From: montylion Date: Sun, 22 Aug 2021 23:55:29 +0200 Subject: [PATCH 26/26] Replace trello-new with trello (reverts f8c7eca) OK so apparently trello-new is broken --- package-lock.json | 196 ++++++++++++++++++++++++++++------------------ package.json | 2 +- src/trello.js | 2 +- 3 files changed, 121 insertions(+), 79 deletions(-) diff --git a/package-lock.json b/package-lock.json index 25e11b7..bb04624 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "ioredis": "^4.26.0", "morgan": "^1.10.0", "redis-json": "^5.0.0", - "trello-new": "^1.0.0" + "trello": "^0.10.0" } }, "node_modules/accepts": { @@ -621,35 +621,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "node_modules/needle": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.8.0.tgz", - "integrity": "sha512-ZTq6WYkN/3782H1393me3utVYdq2XyqNUFBsprEE3VMAT0+hP/cItpnITpqsY6ep2yeFE4Tqtqwc74VqUlUYtw==", - "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/needle/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/needle/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, "node_modules/negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -831,6 +802,33 @@ "node": ">=4" } }, + "node_modules/restler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/restler/-/restler-3.3.0.tgz", + "integrity": "sha1-+TpZteG8LFrQwrlz94EpshgbYHY=", + "dependencies": { + "iconv-lite": "0.2.11", + "qs": "1.2.0", + "xml2js": "0.4.0", + "yaml": "0.2.3" + }, + "engines": { + "node": ">= 0.10.x" + } + }, + "node_modules/restler/node_modules/iconv-lite": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/restler/node_modules/qs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-1.2.0.tgz", + "integrity": "sha1-7Qeb4oaCFH5v2aNMwrDB4OxkU+4=" + }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -841,11 +839,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, "node_modules/send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -922,14 +915,14 @@ "node": ">=0.6" } }, - "node_modules/trello-new": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trello-new/-/trello-new-1.0.0.tgz", - "integrity": "sha512-6nX6eHElNLufQ0xF6bwyiMnSfszhRunA+N2qC7Za5VpM6hOmzkckp0muIo3XCuCaIyMfkZCAV37xYry1nD98yw==", + "node_modules/trello": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/trello/-/trello-0.10.0.tgz", + "integrity": "sha512-l2uDieuUkFU+qlZG1dtu11Uzg5yKZLl+NjVCAQWumaHnclH46cTuBEyHjnz7kPqZDNoGf7qzcsln0BOVjrFajw==", "dependencies": { "es6-promise": "~3.0.2", - "needle": "^2.4.0", - "object-assign": "~4.1.0" + "object-assign": "~4.1.0", + "restler": "~3.3.0" }, "engines": { "node": ">= 0.10.x" @@ -1003,6 +996,36 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/xml2js": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.0.tgz", + "integrity": "sha1-Ek/EEUtBKcgQgA7LKshs8lRiy5o=", + "dependencies": { + "sax": "0.5.x", + "xmlbuilder": ">=0.4.2" + } + }, + "node_modules/xml2js/node_modules/sax": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=" + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/yaml": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-0.2.3.tgz", + "integrity": "sha1-tUUOkudu82td0k42YAkeuu7z5cc=", + "engines": { + "node": "*" + } } }, "dependencies": { @@ -1477,31 +1500,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "needle": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.8.0.tgz", - "integrity": "sha512-ZTq6WYkN/3782H1393me3utVYdq2XyqNUFBsprEE3VMAT0+hP/cItpnITpqsY6ep2yeFE4Tqtqwc74VqUlUYtw==", - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -1635,6 +1633,29 @@ "redis-errors": "^1.0.0" } }, + "restler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/restler/-/restler-3.3.0.tgz", + "integrity": "sha1-+TpZteG8LFrQwrlz94EpshgbYHY=", + "requires": { + "iconv-lite": "0.2.11", + "qs": "1.2.0", + "xml2js": "0.4.0", + "yaml": "0.2.3" + }, + "dependencies": { + "iconv-lite": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=" + }, + "qs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-1.2.0.tgz", + "integrity": "sha1-7Qeb4oaCFH5v2aNMwrDB4OxkU+4=" + } + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -1645,11 +1666,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, "send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -1713,14 +1729,14 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, - "trello-new": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trello-new/-/trello-new-1.0.0.tgz", - "integrity": "sha512-6nX6eHElNLufQ0xF6bwyiMnSfszhRunA+N2qC7Za5VpM6hOmzkckp0muIo3XCuCaIyMfkZCAV37xYry1nD98yw==", + "trello": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/trello/-/trello-0.10.0.tgz", + "integrity": "sha512-l2uDieuUkFU+qlZG1dtu11Uzg5yKZLl+NjVCAQWumaHnclH46cTuBEyHjnz7kPqZDNoGf7qzcsln0BOVjrFajw==", "requires": { "es6-promise": "~3.0.2", - "needle": "^2.4.0", - "object-assign": "~4.1.0" + "object-assign": "~4.1.0", + "restler": "~3.3.0" } }, "type-is": { @@ -1770,6 +1786,32 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xml2js": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.0.tgz", + "integrity": "sha1-Ek/EEUtBKcgQgA7LKshs8lRiy5o=", + "requires": { + "sax": "0.5.x", + "xmlbuilder": ">=0.4.2" + }, + "dependencies": { + "sax": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=" + } + } + }, + "xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==" + }, + "yaml": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-0.2.3.tgz", + "integrity": "sha1-tUUOkudu82td0k42YAkeuu7z5cc=" } } } diff --git a/package.json b/package.json index 917f7fb..cb99e41 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,6 @@ "ioredis": "^4.26.0", "morgan": "^1.10.0", "redis-json": "^5.0.0", - "trello-new": "^1.0.0" + "trello": "^0.10.0" } } diff --git a/src/trello.js b/src/trello.js index 8795f85..c93e3bc 100644 --- a/src/trello.js +++ b/src/trello.js @@ -1,4 +1,4 @@ -const Trello =require("trello-new") +const Trello =require("trello") const Redis = require('ioredis'); const JSONCache = require('redis-json'); const config = require('../config.json');