Comment le style Meteor.js loginButtons?

Les documents spécifient d'utiliser le modèle {{> loginButtons}} pour implémenter les boutons de connexion par défaut.

Quelle est la meilleure façon d'appliquer mes propres styles à cela?

  • réécrire un nouveau modèle (comment cela serait-il fait?)
  • Ajouter des styles à mes fichiers CSS marqués !important
  • autres?
32
demandé sur Swadq 2013-02-22 17:44:12

4 réponses

Il s'avère qu'une combinaison des deux idées peut être utilisée. Après avoir fouillé dans le package accounts-ui , il s'avère qu'il ne contient qu'un seul fichier .less. Le modèle réel est inclus dans comptes-ui-non stylé, qui est automatiquement inclus dans accounts-ui est ajouté à un meteor projet.

Par conséquent, le CSS peut être supprimé comme suit:

meteor remove accounts-ui
meteor add accounts-ui-unstyled

Vous êtes alors laissé avec le HTML brut , qui peut être stylé comme vous le souhaitez.

41
répondu Swadq 2013-02-22 22:11:21

Créer vos propres modèles vous donnerait certainement plus de contrôle.

Vous créez un modèle en utilisant la balise "template":

<template name="player">
  <div class="player {{selected}}">
    <span class="name">{{name}}</span>
    <span class="score">{{score}}</span>
    <span class="wins"> {{wins}} </span>
    <span class="losses"> {{loss}} </span>
  </div>

</template>

Ou Vous pouvez vérifier les "classes" ou "id "des boutons de connexion après leur rendu sur une page Web, en utilisant" Inspect Element " sur Chrome, et utiliser ces classes comme sélecteurs CSS pour les styliser en conséquence.

Par exemple:

HTML:

//The login button has a class of loginButton
<button class="loginButton"> Login! </button>

CSS:

#Then you can Have a style for the login button as:
.loginButton{
     width: 100px;
     background-color: cyan;
}
11
répondu Siddharth Gupta 2013-02-22 13:50:05
6
répondu fraherm 2013-02-22 13:50:49

Créez votre propre modèle html similaire à celui ci-dessous. Style à votre goût.

meteor add accounts-password accounts-ui

                <template name="login">
                     <form class="login-form">
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <h3>Login</h3>
                            </div>
                            <div class="panel-body">
                                <div class="form-group">
                                    <label>Email</label>
                                    <input type="email"  class="form-control" id="email" placeholder="Email address">
                                </div>
                                <div class="form-group">
                                    <label>Password</label>
                                    <input type="password" class="form-control" id="password" placeholder="password">
                                </div>
                            </div>
                            <div class="panel-footer">
                                <button type="submit" class="btn btn-danger btn-lg">Login</button>
                            </div>
                        </div>
                    </form>
                </template>

Vous pouvez maintenant appeler Meteor.loginWithPassword dans l'événement template comme ceci:

Template.login.events({
    'submit .login-form': function(e) {
        e.preventDefault();
        var email = e.target.email.value;
        var password = e.target.password.value;
      Meteor.loginWithPassword(email, password,function(error){
            if(error) {
                //do something if error occurred or 
            }else{
               FlowRouter.go('/');
            }
        });
     }
 });

Vous pouvez également créer un autre formulaire d'inscription.

Appelez simplement Accounts.createUser(object, callback);

1
répondu Abk 2017-07-17 23:13:00