Skip to content

Commit

Permalink
v3.6
Browse files Browse the repository at this point in the history
Se añadió renameCourses.js para renombrar cursos y el nombre del usuario. Y se corrigieron varios errores en easyCopyCourseDetails.js, easyCopyGrades.js, easyCopyMembers.js y resizePreviewPDF.js. Entre ellos una visualización más limpia del estado de copia en cada una de las funciones, y también se corrigió un error que no permitía escalar la vista previa del PDF en resizePreviewPDF.js.
  • Loading branch information
matias-saavedra-g committed Nov 9, 2024
1 parent 40ef27c commit b61fbef
Show file tree
Hide file tree
Showing 20 changed files with 276 additions and 82 deletions.
84 changes: 55 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,25 @@ Extension de Chromium que agrega funciones adicionales a la plataforma de [U-Cur

---

# Índice

# Índice <!-- omit in toc -->
- [Funcionalidades de las Extensiones para U-Cursos](#funcionalidades-de-las-extensiones-para-u-cursos)
- [📋 Copia Fácil de Notas](#-copia-fácil-de-notas)
- [📋 Copia Fácil de Miembros](#-copia-fácil-de-miembros)
- [📋 Copia Fácil de Datos del Curso](#-copia-fácil-de-datos-del-curso)
- [📖 Recortar Texto Largo](#-recortar-texto-largo)
- [🔘 Otras Realizaciones del Curso](#-otras-realizaciones-del-curso)
- [✔ Ventana Emergente de Calificaciones](#-ventana-emergente-de-calificaciones)
- [📐 Redimensionar Vista Previa de PDF](#-redimensionar-vista-previa-de-pdf)
- [📆 Contador de Semanas](#-contador-de-semanas)
- [🔔 Notificación de Tareas Pendientes](#-notificación-de-tareas-pendientes)
- [🔔 Notificación de Pendientes](#-notificación-de-pendientes)
- [💥 Secciones colapsables](#-secciones-colapsables)
- [⚙ Menú de Configuración](#-menú-de-configuración)
- [🖌 Renombrar Cursos (Preview)](#-renombrar-cursos-preview)
- [Instalación](#instalación)

- [Chrome](#chrome)
- [Opera](#opera)
- [Microsoft Edge](#microsoft-edge)

---

Expand All @@ -22,8 +36,8 @@ Extension de Chromium que agrega funciones adicionales a la plataforma de [U-Cur

> Por matias-saavedra-g
### Descripción:
Esta función permite copiar fácilmente las notas de los estudiantes desde [U-Cursos](https://www.u-cursos.cl/) de manera horizontal o vertical, para pegarlas dentro de una hoja de cálculo, o separadas por el símbolo de suma, para ingresarlas (junto a sus ponderaciones) en un software de cálculo simbólico como [Wolfram Alpha](https://www.wolframalpha.com/).
### Descripción: <!-- omit in toc -->
Con los botones en la esquina superior derecha, esta función permite copiar fácilmente las notas de los estudiantes desde [U-Cursos](https://www.u-cursos.cl/) de manera horizontal o vertical, para pegarlas dentro de una hoja de cálculo, o separadas por el símbolo de suma, para ingresarlas (junto a sus ponderaciones) en un software de cálculo simbólico como [Wolfram Alpha](https://www.wolframalpha.com/).

---

Expand All @@ -33,8 +47,8 @@ Esta función permite copiar fácilmente las notas de los estudiantes desde [U-C

> Por matias-saavedra-g
### Descripción:
Proporciona una forma sencilla de copiar la lista de miembros de un curso en [U-Cursos](https://www.u-cursos.cl/) de manera horizontal o vertical, para pegarlos dentro de una hoja de cálculo, o en software de composición de textos como [Overleaf](https://www.overleaf.com/)
### Descripción: <!-- omit in toc -->
Con los botones sobre cada categoría de miembros, proporciona una forma sencilla de copiar la lista de miembros de un curso en [U-Cursos](https://www.u-cursos.cl/) de manera horizontal o vertical, para pegarlos dentro de una hoja de cálculo, o en software de composición de textos como [Overleaf](https://www.overleaf.com/)

---

Expand All @@ -44,8 +58,8 @@ Proporciona una forma sencilla de copiar la lista de miembros de un curso en [U-

> Por matias-saavedra-g
### Descripción:
Proporciona una forma sencilla de copiar el nombre y código de un curso en [U-Cursos](https://www.u-cursos.cl/) para pegarlos dentro como texto.
### Descripción: <!-- omit in toc -->
Con los botones a la derecha de los detalles del curso (aunque estén renombrados), proporciona una forma sencilla de copiar el nombre y código de un curso en [U-Cursos](https://www.u-cursos.cl/) para pegarlos dentro como texto.

---

Expand All @@ -57,8 +71,8 @@ Proporciona una forma sencilla de copiar el nombre y código de un curso en [U-C
> (Se cambian los nombres de los botones)
### Descripción:
Permite recortar y mostrar una versión corta de textos largos en [U-Cursos](https://www.u-cursos.cl/), con la opción de expandirlos mostrándose como "Mucho Texto".
### Descripción: <!-- omit in toc -->
Con un botón bajo el texto en algún subforo, permite recortar y mostrar una versión corta de textos largos en [U-Cursos](https://www.u-cursos.cl/), con la opción de expandirlos mostrándose como "Mucho Texto".

---

Expand All @@ -68,8 +82,8 @@ Permite recortar y mostrar una versión corta de textos largos en [U-Cursos](htt

> Por matias-saavedra-g
### Descripción:
Crea un botón de "Otros Realizaciones del Curso" dentro de algún curso en [U-Cursos](https://www.u-cursos.cl/).
### Descripción: <!-- omit in toc -->
Al final del menú de cada curso, crea un botón de "Otras Realizaciones del Curso" dentro de algún curso en [U-Cursos](https://www.u-cursos.cl/).

---

Expand All @@ -79,7 +93,7 @@ Crea un botón de "Otros Realizaciones del Curso" dentro de algún curso en [U-C
> (No testeado)
### Descripción:
### Descripción: <!-- omit in toc -->
Abre el editor de calificaciones de los estudiantes en una ventana emergente en [U-Cursos](https://www.u-cursos.cl/) en lugar de redirigir a otra página.

---
Expand All @@ -92,8 +106,8 @@ Abre el editor de calificaciones de los estudiantes en una ventana emergente en
> (Se añade alerta para mostrar esta funcionalidad)
### Descripción:
Permite el ajuste de la vista previa de los PDF en [U-Cursos](https://www.u-cursos.cl/) para ocupar todo el espacio disponible en la pantalla que se esté ocupando..
### Descripción: <!-- omit in toc -->
Al clickear en la esquina inferior derecha, permite el ajuste de la vista previa de los PDF en [U-Cursos](https://www.u-cursos.cl/) para ocupar todo el espacio disponible en la pantalla que se esté ocupando (mejor para pantallas verticales).

---

Expand All @@ -103,9 +117,9 @@ Permite el ajuste de la vista previa de los PDF en [U-Cursos](https://www.u-curs

> Por TaconeoMental
> (Se añade soporte de inglés)
> (Se añade soporte de inglés por matias-saavedra-g)
### Descripción:
### Descripción: <!-- omit in toc -->
Cuenta y muestra el número de semanas entre la primera semana de clases del calendario y la fecha actual en [U-Cursos](https://www.u-cursos.cl/).

---
Expand All @@ -116,8 +130,8 @@ Cuenta y muestra el número de semanas entre la primera semana de clases del cal

> Por matias-saavedra-g
### Descripción:
Muestra el número de tareas pendientes en una insignia de notificaciones. Este conteo ocurre cada vez que se entra a tareas en la página de inicio de [U-Cursos](https://www.u-cursos.cl/). Por la misma razón se aconseja utilizar esta página como la principal.
### Descripción: <!-- omit in toc -->
Muestra el número de tareas pendientes en una insignia de notificaciones. Este conteo ocurre cada vez que se entra a tareas en la página de inicio de [U-Cursos](https://www.u-cursos.cl/). (Por esta razón se aconseja utilizar esta página como la principal).

---

Expand All @@ -127,8 +141,8 @@ Muestra el número de tareas pendientes en una insignia de notificaciones. Este

> Por matias-saavedra-g
### Descripción:
Muestra el número de notificaciones pendientes en una insignia. Este conteo ocurre cada vez que se entra a la página [U-Cursos](https://www.u-cursos.cl/).
### Descripción: <!-- omit in toc -->
Muestra el número de notificaciones pendientes en una insignia en la parte superior del listado de cursos. Este conteo ocurre cada vez que se entra a la página [U-Cursos](https://www.u-cursos.cl/). (Aparentemente no funciona cuando tienes +300 notificaciones pendientes).

---

Expand All @@ -138,8 +152,8 @@ Muestra el número de notificaciones pendientes en una insignia. Este conteo ocu

> Por matias-saavedra-g
### Descripción:
Permite colapsar las secciones en la página de inicio de [U-Cursos](https://www.u-cursos.cl/), y tiene memoria para saber en qué estado quedaron en la última sesión.
### Descripción: <!-- omit in toc -->
Con botones a la derecha de cada curso en el listado de cursos, permite colapsar las secciones en la página de inicio de [U-Cursos](https://www.u-cursos.cl/), y tiene memoria local para saber en qué estado quedaron en la última sesión.

---

Expand All @@ -149,15 +163,27 @@ Permite colapsar las secciones en la página de inicio de [U-Cursos](https://www

> Por matias-saavedra-g
### Descripción:
### Descripción: <!-- omit in toc -->

Añade un botón en el menú de la pantalla de inicio de [U-Cursos](https://www.u-cursos.cl/), el cual permite acceder a la configuración de [U-Cursden't](http://github.com/matias-saavedra-g/ucursednt) y borrar los datos locales generados por la misma.

---

## 🖌 Renombrar Cursos (Preview)

<img src="images/renameCourses.png"/>

> Por matias-saavedra-g
### Descripción: <!-- omit in toc -->

En un botón en la pantalla de inicio de [U-Cursos](https://www.u-cursos.cl/) permite acceder a la configuración de [U-Cursden't](http://github.com/matias-saavedra-g/ucursednt) y borrar los datos locales generados por la misma.
Permite renombrar los cursos (y nombre del estudiante) en todo [U-Cursos](https://www.u-cursos.cl/), y tiene memoria local para saber en qué estado quedaron en la última sesión. (No está optimizada, puede crear muchas variables locales).

---

# Instalación

## Chrome:
## Chrome

> Tutorial en [video](https://www.youtube.com/watch?v=oswjtLwCUqg) (24s).
Expand All @@ -174,7 +200,7 @@ En un botón en la pantalla de inicio de [U-Cursos](https://www.u-cursos.cl/) pe

5. La extensión debería cargarse y aparecer en la lista de extensiones instaladas.

## Opera:
## Opera

> Tutorial en [video](https://www.youtube.com/watch?v=5X9wGp3kWwA) (86s).
Expand All @@ -189,7 +215,7 @@ En un botón en la pantalla de inicio de [U-Cursos](https://www.u-cursos.cl/) pe

4. La extensión debería cargarse y aparecer en la lista de extensiones instaladas.

## Microsoft Edge:
## Microsoft Edge

> Tutorial en [video](https://www.youtube.com/watch?v=ruMPPADElqU) (39s).
Expand Down
Binary file modified images/collapsableMenus.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/easyCopyCourseDetails.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/easyCopyGrades.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/easyCopyMembers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/menuGen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/muchoTexto.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/otrasRealizaciones.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/pendingNotifications.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/pendingTasks.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/renameCourses.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/resizePreviewPDF.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/weekCounter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 24 additions & 2 deletions js/easyCopyCourseDetails.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,31 @@
textArea.value = text;
document.body.appendChild(textArea);
textArea.select();
document.execCommand('copy');
navigator.clipboard.writeText(textArea.value)
.then(() => {
console.log('Text copied to clipboard');
})
.catch(err => {
console.error('Error in copying text: ', err);
});
document.body.removeChild(textArea);
alert('Texto copiado al portapapeles');

// Cambia el ícono del botón de acuerdo con su texto (course code or course name) a un checkmark por 2 segundos
const courseNameButton = document.querySelector("#navigation-wrapper > div.curso > div > div > h1 > button");
const courseCodeButton = document.querySelector("#navigation-wrapper > div.curso > div > div > h2 > button");
const checkmarkIcon = `<i class="fa-solid fa-check"></i>`;

if (text === getCourseName()) {
courseNameButton.innerHTML = checkmarkIcon;
setTimeout(() => {courseNameButton.innerHTML = `<i class="fa-solid fa-paste"></i>`}, 2000);
} else if (text === getCourseCode()) {
courseCodeButton.innerHTML = checkmarkIcon;
setTimeout(() => {courseCodeButton.innerHTML = `<i class="fa-solid fa-paste"></i>`}, 2000);
} else {
// Renamed courses, override
courseNameButton.innerHTML = checkmarkIcon;
setTimeout(() => {courseNameButton.innerHTML = `<i class="fa-solid fa-paste"></i>`}, 2000);
}
}

// Función para obtener el nombre del curso
Expand Down
39 changes: 30 additions & 9 deletions js/easyCopyGrades.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,13 @@
textArea.value = text;
document.body.appendChild(textArea);
textArea.select();
document.execCommand('copy');
navigator.clipboard.writeText(textArea.value)
.then(() => {
console.log('Text copied to clipboard');
})
.catch(err => {
console.error('Error in copying text: ', err);
});
document.body.removeChild(textArea);
}

Expand Down Expand Up @@ -54,7 +60,22 @@

// Copiar al portapapeles y mostrar alerta
copyToClipboard(text);
alert('Notas copiadas al portapapeles en formato ' + formato);
console.log('Notas copiadas al portapapeles en formato ' + formato);

// Cambia el ícono del botón de acuerdo con su formato a un checkmark por 2 segundos
if (formato === 'horizontal') {
const botonHorizontal = document.querySelector('thead > div > button:nth-child(2)');
botonHorizontal.innerHTML = '<i class="fa-solid fa-check"></i>';
setTimeout(() => botonHorizontal.innerHTML = '<i class="fa-solid fa-arrows-alt-h"></i>', 2000);
} else if (formato === 'vertical') {
const botonVertical = document.querySelector('thead > div > button:nth-child(3)');
botonVertical.innerHTML = '<i class="fa-solid fa-check"></i>';
setTimeout(() => botonVertical.innerHTML = '<i class="fa-solid fa-arrows-alt-v"></i>', 2000);
} else if (formato === 'suma') {
const botonSuma = document.querySelector('thead > div > button:nth-child(1)');
botonSuma.innerHTML = '<i class="fa-solid fa-check"></i>';
setTimeout(() => botonSuma.innerHTML = '<i class="fa-solid fa-plus"></i>', 2000);
}
}

// Añadir botones para copiar en diferentes formatos
Expand All @@ -64,11 +85,11 @@
function añadirBotones() {
const botonesContainer = document.createElement('div');
botonesContainer.style.position = 'absolute';
botonesContainer.style.top = '0px';
botonesContainer.style.marginRight = '0px';
botonesContainer.style.top = '-35px';
botonesContainer.style.right = '0';
botonesContainer.style.marginRight = '20px';
botonesContainer.style.zIndex = '1000';
// Setea el color de fondo para el contenedor de botones como #222 y su opacidad al 0.2
botonesContainer.style.backgroundColor = "rgba(34, 34, 34, 0.0)";
botonesContainer.style.textAlign = 'right';
// Inherits the color of the text
botonesContainer.style.color = "inherit";

Expand Down Expand Up @@ -107,9 +128,9 @@
botonesContainer.appendChild(botonVertical);

// Insertar los botones en el contenedor de notas
const notasAvg = document.querySelector('th.number.gris, th.number.gris.desc, th.number.gris.asc');
if (notasAvg) {
notasAvg.appendChild(botonesContainer);
const notesStickyHead = document.querySelector("thead");
if (notesStickyHead) {
notesStickyHead.appendChild(botonesContainer);
}
}

Expand Down
21 changes: 19 additions & 2 deletions js/easyCopyMembers.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,13 @@
textArea.value = text;
document.body.appendChild(textArea);
textArea.select();
document.execCommand('copy');
navigator.clipboard.writeText(textArea.value)
.then(() => {
console.log('Text copied to clipboard');
})
.catch(err => {
console.error('Error in copying text: ', err);
});
document.body.removeChild(textArea);
}

Expand Down Expand Up @@ -53,7 +59,18 @@
// Copiar al portapapeles y mostrar alerta con el nombre de la categoría
copyToClipboard(text);
const nombreCategoria = document.querySelector(`tbody:nth-child(${categoria-1}) > tr > td`).textContent.trim();
alert(`Integrantes de la categoría ${nombreCategoria} copiados al portapapeles en formato ${formato}`);
console.log(`Integrantes de la categoría ${nombreCategoria} copiados al portapapeles en formato ${formato}`);

// Cambia el ícono del botón de acuerdo con su formato y categoría, a un checkmark por 2 segundos
const botonHorizontal = document.querySelector(`tbody:nth-child(${categoria-1}) > tr > td > div > button:nth-child(1)`);
const botonVertical = document.querySelector(`tbody:nth-child(${categoria-1}) > tr > td > div > button:nth-child(2)`);
if (formato === 'horizontal') {
botonHorizontal.innerHTML = '<i class="fas fa-check"></i>';
setTimeout(() => botonHorizontal.innerHTML = '<i class="fas fa-arrows-alt-h"></i>', 2000);
} else if (formato === 'vertical') {
botonVertical.innerHTML = '<i class="fas fa-check"></i>';
setTimeout(() => botonVertical.innerHTML = '<i class="fas fa-arrows-alt-v"></i>', 2000);
}
}

// Función para agregar botones para copiar integrantes en cada categoría
Expand Down
2 changes: 2 additions & 0 deletions js/menuGen.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
easyCopyCourseDetails: true,
collapsableMenus: true,
pendingNotifications: true,
renameCourses: true,
},
};

Expand Down Expand Up @@ -58,6 +59,7 @@
{ id: "easyCopyCourseDetails", name: "Copia Fácil de Detalles del Curso 🏷" },
{ id: "collapsableMenus", name: "Menús Colapsables 💥" },
{ id: "pendingNotifications", name: "Notificaciones Pendientes 🔔" },
{ id: "renameCourses", name: "Renombrar Cursos 📚" },
];

featuresList.forEach(feature => {
Expand Down
Loading

0 comments on commit b61fbef

Please sign in to comment.