`VideoSection` can be refactored
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Refactorisation
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- javascript, react
- Domaine
- frontend
Piste de recherche
Commencez par comparer src/components/challenges/VideoSection.js et src/components/tracks/VideoSection.js, ainsi que leurs fichiers CSS, afin d’identifier la structure commune et les différences intentionnelles. Suivez le comportement au clic de Track Stop et Part, puis vérifiez que le composant partagé refactorisé et les styles fusionnés préservent les deux variantes et corrigent le comportement dupliqué de la timeline.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I've listed some bugs below, but this is mostly a critique of the code structure which is the overarching problem.
I was trying to fix a small issue in #1339 that requires setting the background of the VideoSection component's .timeline. But there are 2 independent, yet similar implementations of VideoSection for Tracks and Challenges - this required changing 2 files for a feature that is common to both.
In fact, challenges/VideoSection.js and tracks/VideoSection.js are mostly the same except for a few variables and what happens when a "Track Stop" or a "Part" is clicked. Their respective CSS files are have even more similarity, differing in hardly a few lines (and these may be unintentional).
Is this important? Well yeah, because code redundancy has already caused some differences:
| Challenges | Tracks |
|---|---|
Potential Solution
If we refactor VideoSection to be a Class Component instead of a Functional Component, we can inherit from a more general VideoSection that'll make the code more readable and DRY. The CSS files have practically no differences because we pass in the variant programmatically for UI changes. They can be merged, and we can use this merged file for the base VideoSection class.
- Langage dominant
- JavaScript
- Étoiles
- 283
- Forks
- 125
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de CodingTrain/thecodingtrain.com
-
"SHOP" link in footer 404s Ouverte
CodingTrain/thecodingtrain.com#1991 · 1 commentaire · 1 personne assignée ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
CodingTrain/thecodingtrain.com#1805 · 1 commentaire ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
CodingTrain/thecodingtrain.com#1785 · 1 réaction ·
-
help wanted
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
CodingTrain/thecodingtrain.com#1750 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
CodingTrain/thecodingtrain.com#1730 ·
Toutes les issues de CodingTrain/thecodingtrain.com
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
TheOdinProject/curriculum#31423 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
WGBH-MLA/dream-aapb#69 ·
-
Difficulté 1/5 1-3 heures Accessibilité débutants 78/100
Mintplex-Labs/anything-llm#6490 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 86/100
openlayers/ol-cesium#1364 ·