sucresware / 4sucres Goto Github PK
View Code? Open in Web Editor NEWParce qu'à 2 on était pas assez.
Home Page: https://4sucres.org
Parce qu'à 2 on était pas assez.
Home Page: https://4sucres.org
Étape 1. "Sécuriser" les catégories avec des filtres d'accès.
Étape 2. Et créer les catégories suivantes :
Catégorie #nsfw
User::class()->dob
)Catégorie #supporter
Des choses à rajouter @hawezo ?
Il est beau, il est là, il est responsive et compatible mobile (swipe!), c'est OwlCaroussel : https://owlcarousel2.github.io/OwlCarousel2/
Intégrer ça en lieu et place de la bannière, avec les deux banières du repo qui se battent en duel.
L'idée est de pouvoir, à la création d'un topic, sélectionner le type de ce dernier. Pour l'instant, le seul type existant est un topic normal, comprenant un message.
La suggestion suivante est d'ajouter deux autres types : un topic dit "live", et un topic sondage.
Le principe serait de pouvoir informer le plus facilement possible l'avancée d'un évènement.
Le topic agira comme les topics normaux, à l'acception de la possibilité de mettre en valeur des réponses concernant des actualités.
La mise en valeur pourrait être une copie du message sur le premier post du topic (comme une timeline) et/ou une accentuation de la couleur et/ou de la taille du message concerné (à la suite).
L'idée d'une timeline minimaliste sur le côté du topic est également à prendre en compte.
Un topic sondage serait, à la manière de Twitter et de JVC, un topic dont l'auteur choisi la question et un nombre (indéfini ?) de réponses possibles.
L'auteur pourrait avoir la possibilité de laisser aux utilisateurs de choisir une seule ou plusieurs réponses.
Actuellement, lorsque l'on édite un message, le corps de ce dernier est totalement remplacé.
Le but serait de créer une table qui contiendrait un historique de modification, et dont les informations contenues seraient :
Ces informations pourraient être utiles dans un cadre de modération.
Je trouverais ça sympa que l'affichage des dates soit un peu plus intelligent que d'afficher le classique le d/m/Y a H:i:s
, par exemple, on pourrait afficher Aujourd'hui/Hier à la place de la date :
Il serait aussi possible facilement d'afficher aveec le diffForHumans()
de Carbon un texte de ce genre :
En gros ce que je propose :
aujourd'hui il y a (i minutes|H heures)
hier à H:m:s
le d/m/Y à H:i:s
Votre avis avant réalisation ?
Sur téléphone, la pagination sort du conteneur et déforme la mise en page quand il y a trop d'options.
Je vois deux solutions : faire en sorte que les éléments de pagination retournent à la ligne (flexbox ?), ou afficher moins de pages possibles.
Je préfère la deuxième solution dans la mesure où, quand il y a 12 pages, je serais peut-être intéressé d'accéder aux pages 1, 2, 3, 10, 11, 12, mais beaucoup moins intéressé d'accéder aux pages 4, 5, 6, 7 et 8.
Il faut invalider les notifications qui n’ont plus de "valeur"
Exemple : Si tu consulte une discussion et qu’une notification faisait référence a cette discussion => void
Rien à ajouter, hormis peut-être l'ajout d'une catégorie #hobbies pour parler des passions des uns et des autres (développement, anime).
Originally posted by @hawezo in #32 (comment)
Même avec le système de "flair", certain de vouloir mélanger #hobbies et #développement ?
Il va falloir vraiment bien l'intégrer, j'ai encore du mal à me l'imaginer, mais je me voispas chercher mes petits devs parmi les kj D:
Sauvegarder les images envoyées par Imgur et les afficher dans le profil de l’utilisateur pour pouvoir les retrouver plus facilement.
Ok, pas ok ?
Il va être compliqué à terme pour la db de soutenir la table has_read_discussion_users
J'ai deux solutions en tête :
localstorage
du navigateur (enregistrer le couple discussion_id
et last_reply_at
lors de la consultation)has_read_discussion_users
quotidiennement.Par des parsers automatiques !
_show_as_quote
).Ne pas oublier :
Et soit :
Un exemple du thumbs up :
Prévoir l'affichage du rôle de la personne, sur son profil et à coté de son pseudo (pour pouvoir identifier facilement un gradé)
Pour faire les choses bien, je pense qu'il faut bouger dans le modèle un getPresentedNameAttribute
qui renvoie directement le bon markup qui peut être utilisé partout.
Par exemple, en cas de mention + nouveau message dans une discussion, on reçoit de notifications pour le même contexte, mais qui ne portent pas la même information.
Je suis d'avis de laisser le comportement actuel, parce que c'est chiant à modifier, les deux notifications ne sont pas envoyées du tout au même endroit.
Seulement à partir d'un lien genre comme ça : https://imgur.com/JSmDfQV
ça permet d'afficher autre chose que les images classiques (gifv notamment)
L'affichage de l'ancienneté dans le profil n'est pas bon pour les tous membres inscrits dans les dernières 24h. C'est une erreur d'affichage.
En effet, le calcul actuel est : Si le membre est inscrit depuis moins d'une journée, on affiche "aujourd'hui"
Or, il faudrait : Si le membre est inscrit depuis le début de la journée, alors on affiche aujourd'hui
(il faudra faire attention aussi à "Membre depuis 0 jours" qui pourra apparaître)
Pour l'instant la modification s'effectue ici en attendant un refacto pour tout bouger dans le controller :
(l'image c'est uniquement pour le contexte, le "bug" n'est pas présent dessus)
La balise @ est en conflit avec le système de mention. Les fixs possibles sont de changer le caractère de la balise, ou de changer le RegEx de celle-ci.
Exemple : https://4sucres.org/d/401-lhistoire-de-4sucres
Parent : #12
Créer une interface pour laisser à l'utilisateur la possibilité de sélectionner un thème.
Pour l'instant, un thème, c'est uniquement un fichier css
.
Suite au refacto, les paramètres WebPush ne fonctionnent plus (script directement injecté dans la page)
https://github.com/4sucres/board/blob/master/resources/views/user/settings/notifications.blade.php
Choix (les deux) :
L'idée est que le web-terminal soit disponible sur toutes les pages, dans une modal ou un truc un peu plus élégant (genre c'est sur le coté, et ça peut se slide et arriver sur la page, ou popout pour l'avoir toujours sous la main)
Pistes :
https://github.com/recca0120/laravel-terminal
https://github.com/php-school/cli-menu
https://github.com/thephpleague/climate
S'appuyer sur le package https://github.com/cybercog/laravel-ban pour rendre le modèle User
bannable dans les règles de l'art.
Prévoir une interface pour pouvoir distribuer des bannissements temporaires ou définitifs, révoquer un banissement.
Pour aller plus loin à l'instar de Discord, proposer la suppression des messages postés par l'utilisateurs sur une certaine période.
Est-ce qu'on implémente la Risidex (made in Onche), ou on améliore notre intégration de Risibank avec une gestions des favoris (sur le navigateur par exemple).
On peut imaginer pouvoir, au survol d'un sticker, l'ajouter directement à nos favoris et le réutiliser lors de la rédaction du prochain post.
Fonctionnalité désactivable dans les paramètres, activé par défaut.
Les retours simples <br>
sont ignorés par Parsedown.
C'est à investiguer.
Putain c'est ça qui faut, un système de références !
Originally posted by @mgkprod in #32 (comment)
Use cases :
Pouvoir suivre différents topics en faisant un lien "entre les deux" :
Pouvoir citer un post et y répondre dans un autre topic (exactement comme je fais la), pour éviter un hors-sujet par exemple
Exemple :
Peut être un conflit avec :
Laisser à l'utilisateur le choix d'alléger ses notifications (ou d'en rajouter). Pour l'instant la liste est courte :
Je souhaite être notifié..
Markup presque prêt :
color-class
pour les catégories (comme les rôles Discord) dans le stylecolor-class
aux catégories (prévoir une classe par défaut)color-class
dans le CategoriesTableSeeder.php
https://github.com/4sucres/board/blob/master/database/seeds/CategoriesTableSeeder.php
Pourquoi les gens sont réticents au scolling infini ?
J'aime beaucoup la solution qu'a trouvé Laracasts pour ça, c'est selon moi très élégant :
https://laracasts.com/discuss/channels/general-discussion/where-are-you-all-from
Avis ?
La liste se remplit au fur et à mesure, certains sont encore en cours de réalisation chez le graphiste.
Au passage :
Direction technique à prendre :
@hawezo ton avis ?
En attente de l'API !
@mgkprod TU FOUS QUOI ?!
Permettre à un utilisateur de nous remonter un post ou un compte.
Affichage dans l'interface d'administration.
On peut prévoir le mécanisme sans gérer l'affichage dans un premier temps (#50)
Avec la mise en cache des posts il est, à première vue, plus possible de définir la taille des stickers selon l'utilisateur qui consulte le post (sachant que le cache est mutualisé).
J'ai temporairement désactivé le fait de rendre les stickers en "inline" : bd2e8aa
Scope: Liste des topics
Corriger le hook de clic sur toute la ligne pour rétablir le bon comportement du Ctrl+clic (nouvel onglet)
Habituellement j'utilise la librairie Imagine, qui a un bundle Symfony. Une petite recherche a donné ce wrapper pour Laravel : https://github.com/orchestral/imagine, ça conviendrait ?
Yep, bonne idée, c'est compatible avec les gifs animés, contrairement à Intervention/image
qui est utilisé actuellement. Si on veut faire le truc proprement, il faudrait utiliser Imagine à la place d'Intervention du coup, pour l'existant aussi.
Originally posted by @mgkprod in #35 (comment)
L'idée est de passer l'affichage des notifications dans un dropdown visible sur chaque page, peuplé par VueJS (permet d'ajouter simplement des notifications à la volée lors de la réception dans le socket).
La page actuelle des notifications peut être conservée mais l'affichage doit être revu.
Globalement, coté backend :
Coté front:
Pour enlever la dépendance à Pusher et au free-tier
Parent : #24
Faut bien s'y coller. A moins que quelqu'un ait une meilleure idée, je propose d'utiliser la palette Nord Dark (sachant que la light est globalement respectée pour le Light theme/Mode jour)
Visiblement, il va falloir passer par un coup de JS, impossible de reproduire le même comportement du script en question en PHP.
Balise : ~Aesthetic~
Délimiteur : ~
Script à "hook" :
Afin de pouvoir implémenter les fonctionnalités relatives aux thèmes, je compte réorganiser le CSS et le Javascript du thème.
Le Javascript se verra probablement attribuer un fichier par fonctionnalité.
Les styles se verront organisés en suivant cet article : https://medium.com/@dannyhuang_75970/sass-project-structure-for-big-projects-8c4a740846ee
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.