mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-22 10:55:19 -04:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
f309f5dad3
8 changed files with 66 additions and 53 deletions
app
assets/images/pages/about
locale
models
templates
views
BIN
app/assets/images/pages/about/robin_small.png
Normal file
BIN
app/assets/images/pages/about/robin_small.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 17 KiB |
|
@ -579,6 +579,8 @@
|
|||
carlos_blurb: "Celery Man"
|
||||
maka_title: "Customer Advocate"
|
||||
maka_blurb: "Storyteller"
|
||||
robin_title: "UX Design & Research"
|
||||
robin_blurb: "Scaffolding"
|
||||
|
||||
teachers:
|
||||
who_for_title: "Who is CodeCombat for?"
|
||||
|
|
|
@ -4,7 +4,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
no_ie: "CodeCombat ne fonctionnera pas sous Internet Explorer 8 ou moins. Désolé !" # Warning that only shows up in IE8 and older
|
||||
no_mobile: "CodeCombat n'a pas été créé pour les plateformes mobiles, il est donc possible qu'il ne fonctionne pas correctement !" # Warning that shows up on mobile devices
|
||||
play: "Jouer" # The big play button that opens up the campaign view.
|
||||
play_campaign_version: "Jouer en mode Campagnes" # Shows up under big play button if you only play /courses
|
||||
play_campaign_version: "Jouer en mode Campagne" # Shows up under big play button if you only play /courses
|
||||
old_browser: "Oh oh, votre navigateur est trop vieux pour exécuter CodeCombat. Désolé !" # Warning that shows up on really old Firefox/Chrome/Safari
|
||||
old_browser_suffix: "Vous pouvez essayer quand même, mais cela ne marchera probablement pas."
|
||||
ipad_browser: "Mauvaise nouvelle : CodeCombat ne fonctionne pas avec le navigateur iPad. Bonne nouvelle : notre application est en cours de validation par Apple !"
|
||||
|
@ -84,10 +84,10 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
campaign_multiplayer: "Campagne multi-joueurs"
|
||||
campaign_multiplayer_description: "... dans laquelle vous coderez en face-à-face contre d'autres joueurs."
|
||||
campaign_old_multiplayer: "(Obsolète) Ancienne arènes multijoueurs"
|
||||
# campaign_old_multiplayer_description: "Relics of a more civilized age. No simulations are run for these older, hero-less multiplayer arenas."
|
||||
campaign_old_multiplayer_description: "Reliques d'un âge plus civilisé. Il n'y a aucune simulation pour ces vielles arènes multijoueur vides de tout héros."
|
||||
|
||||
share_progress_modal:
|
||||
blurb: "Vous faites beaucoup de progrès ! Partagez ce que vous avez appris grâce à CodeCombat avec vos amis." # {change}
|
||||
blurb: "Vous faites beaucoup de progrès ! Partagez ce que vous avez appris grâce à CodeCombat avec vos amis !" # {change}
|
||||
email_invalid: "Adresse e-mail non valide"
|
||||
form_blurb: "Entres leur adresse e-mail ci-dessous, on leur montrera !"
|
||||
form_label: "Adresse e-mail"
|
||||
|
@ -114,9 +114,9 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
log_in: "se connecter avec votre mot de passe"
|
||||
required: "Vous devez être connecté pour voir cela"
|
||||
login_switch: "Avez-vous déjà un compte ?"
|
||||
school_name: "Nom de l'école et ville"
|
||||
school_name: "Nom et ville de votre école"
|
||||
optional: "facultatif"
|
||||
school_name_placeholder: "Exemple Ecole Jules Ferry, Lyon"
|
||||
school_name_placeholder: "Exemple : Lycée Champollion, Figeac"
|
||||
|
||||
recover:
|
||||
recover_account_title: "Récupérer son compte"
|
||||
|
@ -256,7 +256,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
victory_saving_progress: "Sauvegarder la progression"
|
||||
victory_go_home: "Retourner à l'accueil"
|
||||
victory_review: "Dites-nous en plus !"
|
||||
victory_review_placeholder: "Comment était le niveau?"
|
||||
victory_review_placeholder: "Comment était ce niveau?"
|
||||
victory_hour_of_code_done: "Déjà fini ?"
|
||||
victory_hour_of_code_done_yes: "Oui, j'ai fini mon heure de code !"
|
||||
victory_experience_gained: "XP gagnée"
|
||||
|
@ -438,16 +438,16 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
payment_methods_title: "Moyens de paiement acceptés"
|
||||
payment_methods_blurb1: "Nous acceptons, pour le moment, les cartes de crédit et les paiment par Alipay." # {change}
|
||||
payment_methods_blurb2: "Si vous avez besoins d'un autre moyen de paiement, merci de nous contacter"
|
||||
sale_button: "Vendre!"
|
||||
sale_button_title: "Econimisez 21$ en achetant un abonnement d'un an"
|
||||
sale_button: "Promotion!"
|
||||
sale_button_title: "Économisez 21$ en achetant un abonnement d'un an"
|
||||
stripe_description: "Inscription mensuelle"
|
||||
stripe_description_year_sale: "Abonnement 1 an (réduction de {{discount}}$)"
|
||||
stripe_description_year_sale: "1 an d'abonnement (Économie de {{discount}}$ !)"
|
||||
subscription_required_to_play: "Vous avez besoin d'un abonnement pour jouer à ce niveau."
|
||||
unlock_help_videos: "Abonnez vous pour débloquer tous les tutoriels vidéo."
|
||||
personal_sub: "Abonnement individuel" # Accounts Subscription View below
|
||||
loading_info: "Chargement des informations sur votre abonnement..."
|
||||
managed_by: "Gérer par"
|
||||
will_be_cancelled: "Ceci va être annuler"
|
||||
will_be_cancelled: "Ceci va être annulé"
|
||||
currently_free: "Vous avez un abonnement gratuit en ce moment"
|
||||
currently_free_until: "Vous avez un abonnement gratuit jusqu'à"
|
||||
was_free_until: "Vous aviez un abonnement gratuit jusqu'à"
|
||||
|
@ -500,8 +500,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
writable: "éditable" # Hover over "attack" in Your Skills while playing a level to see most of this
|
||||
read_only: "lecture seulement"
|
||||
action: "Action"
|
||||
spell: "Invoquer"
|
||||
action_name: "nom"
|
||||
spell: "Sort"
|
||||
action_name: "Nom"
|
||||
action_cooldown: "Durée"
|
||||
action_specific_cooldown: "Rechargement"
|
||||
action_damage: "Dégât"
|
||||
|
@ -564,7 +564,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
matt_blurb: "Bicycliste"
|
||||
cat_title: "Chef Artisan"
|
||||
cat_blurb: "Seigneur de l'air"
|
||||
josh_title: "Designer de jeu"
|
||||
josh_title: "Game Designer"
|
||||
josh_blurb: "Le plancher est de la lave"
|
||||
jose_title: "Musique"
|
||||
jose_blurb: "Décollage"
|
||||
|
@ -572,12 +572,12 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
retrostyle_blurb: "Jeux RetroStyle"
|
||||
# rob_title: "Compiler Engineer"
|
||||
# rob_blurb: "Codes things and stuff"
|
||||
# josh_c_title: "Game Designer"
|
||||
# josh_c_blurb: "Designs games"
|
||||
# carlos_title: "Region Manager, Brazil"
|
||||
# carlos_blurb: "Celery Man"
|
||||
# maka_title: "Customer Advocate"
|
||||
# maka_blurb: "Storyteller"
|
||||
josh_c_title: "Game Designer"
|
||||
josh_c_blurb: "Conçoit des jeux"
|
||||
carlos_title: "Manager de la région Brésil"
|
||||
carlos_blurb: "Homme-céleri"
|
||||
maka_title: "Responsable clientèle"
|
||||
maka_blurb: "Conteur"
|
||||
|
||||
teachers:
|
||||
who_for_title: "A qui CodeCombat est-il destiné ?"
|
||||
|
@ -611,12 +611,12 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
email: "Adresse email"
|
||||
school: "Nom de l'école"
|
||||
location: "Nom de la ville"
|
||||
age_students: "Quel age ont vos élèves?"
|
||||
age_students: "Quel âge ont vos élèves?"
|
||||
under: "Moins de"
|
||||
other: "Autre:"
|
||||
amount_students: "A combien d'élèves enseignez-vous?"
|
||||
hear_about: "Comment avez-vous entendu parler de CodeCombat?"
|
||||
fill_fields: "Veuillez remplir tous les champs svp."
|
||||
amount_students: "À combien d'étudiants enseignez-vous ?"
|
||||
hear_about: "Comment avez-vous connu CodeCombat?"
|
||||
fill_fields: "Prière de remplir tous les champs."
|
||||
thanks: "Merci! Nous vous enverrons rapidement les instructions."
|
||||
|
||||
versions:
|
||||
|
@ -627,7 +627,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
cla_url: "Copyright"
|
||||
cla_suffix: "."
|
||||
cla_agree: "J'accepte"
|
||||
owner_approve: "Un propriétaire devra valider vos changements avant qu'ils ne soient visibles."
|
||||
owner_approve: "Un propriétaire devra l'approuver avant que vos changements ne soient visibles."
|
||||
|
||||
contact:
|
||||
contact_us: "Contacter CodeCombat"
|
||||
|
@ -656,18 +656,18 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
wrong_password: "Mauvais mot de passe"
|
||||
upload_picture: "Télécharger une image"
|
||||
delete_this_account: "Supprimer votre compte définitivement"
|
||||
reset_progress_tab: "Supprimer la progression"
|
||||
reset_your_progress: "Supprime toute la progression et recommence"
|
||||
reset_progress_tab: "Réinitialiser toute la progression"
|
||||
reset_your_progress: "Supprimer toute votre progression et recommencer à zéro"
|
||||
god_mode: "Puissance Divine"
|
||||
password_tab: "Mot de passe"
|
||||
emails_tab: "E-mails"
|
||||
admin: "Admin"
|
||||
manage_subscription: "Veuillez clicker ici pour gérer vos abonnements."
|
||||
manage_subscription: "Cliquez ici pour gérer votre abonnement.."
|
||||
new_password: "Nouveau mot de passe"
|
||||
new_password_verify: "Vérifier"
|
||||
type_in_email: "Entrez votre adresse e-mail pour confirmer la supression de votre compte"
|
||||
type_in_email_progress: "Veuillez entrer votre adresse email pour confirmer la suppression de votre progression."
|
||||
type_in_password: "Aussi, veuillez entrer votre mot de passe."
|
||||
type_in_email_progress: "Entrez votre adresse e-mail pour confirmer la supression de votre progression."
|
||||
type_in_password: "Entrez aussi votre mot de passe."
|
||||
email_subscriptions: "Abonnements"
|
||||
email_subscriptions_none: "Aucun e-mail d'abonnement."
|
||||
email_announcements: "Annonces"
|
||||
|
@ -699,11 +699,11 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
run_code: "Exécuter le code actuel."
|
||||
run_real_time: "Exécuter en temps réel."
|
||||
continue_script: "Continuer le script passé courant."
|
||||
# skip_scripts: "Skip past all skippable scripts."
|
||||
skip_scripts: "Passer le plus de scripts possibles."
|
||||
toggle_playback: "Basculer entre lecture/pause."
|
||||
# scrub_playback: "Scrub back and forward through time."
|
||||
# single_scrub_playback: "Scrub back and forward through time by a single frame."
|
||||
# scrub_execution: "Scrub through current spell execution."
|
||||
scrub_playback: "Avancer et reculer dans le temps."
|
||||
single_scrub_playback: "Avancer et reculer dans le temps au coup par coup."
|
||||
scrub_execution: "Avancer dans l'exécution du sort."
|
||||
toggle_debug: "Afficher la console de déboggage"
|
||||
toggle_grid: "Afficher une grille"
|
||||
toggle_pathfinding: "Toggle pathfinding overlay."
|
||||
|
@ -720,7 +720,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
article_editor_prefix: "Vous voyez une erreur dans certaines de nos docs ? Vous voulez faire des instructions pour vos propres créations ? Découvrez-le"
|
||||
article_editor_suffix: "et aidez les joueurs CodeCombat à tirer le meilleur parti de leur temps de jeu."
|
||||
find_us: "Trouvez-nous sur ces sites"
|
||||
social_github: "Jetez un oeil à notre code sur GitHub"
|
||||
social_github: "Venez voir tous les codes sources sur Github"
|
||||
social_blog: "Lire le blog CodeCombat sur Sett"
|
||||
social_discource: "Participez à la discussion sur notre forum Discourse"
|
||||
social_facebook: "Aimer CodeCombat sur Facebook"
|
||||
|
@ -739,7 +739,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
create_clan: "Créer un nouveau clan"
|
||||
private_preview: "Aperçu"
|
||||
private_clans: "Clans privés"
|
||||
public_clans: "Clans publiques"
|
||||
public_clans: "Clans publics"
|
||||
my_clans: "Mes clans"
|
||||
clan_name: "Nom du clan"
|
||||
name: "Nom"
|
||||
|
@ -1049,7 +1049,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
indoor: "Intérieur"
|
||||
desert: "Desert"
|
||||
grassy: "Herbeux"
|
||||
mountain: "Mountagne"
|
||||
mountain: "Montagne"
|
||||
glacier: "Glacier"
|
||||
small: "Petit"
|
||||
large: "Large"
|
||||
|
@ -1073,7 +1073,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
level_tab_thangs_all: "Tout"
|
||||
level_tab_thangs_conditions: "Conditions de départ"
|
||||
level_tab_thangs_add: "Ajouter des Thangs"
|
||||
level_tab_thangs_search: "Rechercher des thangs"
|
||||
level_tab_thangs_search: "Rechercher des Thangs"
|
||||
add_components: "Ajouter des composants"
|
||||
component_configs: "Configuration des composants"
|
||||
config_thang: "Double-cliquez pour configurer un Thang"
|
||||
|
@ -1119,7 +1119,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
pop_i18n: "Renseigner I18N"
|
||||
tasks: "Tâches"
|
||||
clear_storage: "Vider vos changements locaux"
|
||||
# add_system_title: "Add Systems to Level"
|
||||
add_system_title: "Ajouter des sysèmes au niveau"
|
||||
done_adding: "Fait Ajouter"
|
||||
|
||||
article:
|
||||
|
@ -1206,7 +1206,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
simulate_games: "Simuler une partie !"
|
||||
games_simulated_by: "Parties que vous avez simulées :"
|
||||
games_simulated_for: "Parties simulées pour vous :"
|
||||
# games_in_queue: "Games currently in the queue:"
|
||||
games_in_queue: "Parties actuellement en attente :"
|
||||
games_simulated: "Partie simulée"
|
||||
games_played: "Parties jouées"
|
||||
ratio: "Moyenne"
|
||||
|
@ -1243,7 +1243,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
fight: "Combattez !"
|
||||
watch_victory: "Regardez votre victoire"
|
||||
defeat_the: "Vaincre le"
|
||||
# watch_battle: "Watch the battle"
|
||||
watch_battle: "Regarder le combat"
|
||||
tournament_started: ", a démarré"
|
||||
tournament_ends: "Fin du tournoi"
|
||||
tournament_ended: "Tournoi terminé"
|
||||
|
@ -1292,7 +1292,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
|
||||
account:
|
||||
payments: "Paiements"
|
||||
prepaid_codes: "Codes Prépayés"
|
||||
prepaid_codes: "Codes prépayés"
|
||||
purchased: "Acheté"
|
||||
subscription: "Souscrit"
|
||||
invoices: "Factures"
|
||||
|
@ -1429,15 +1429,15 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
boolean_logic: "Logique Booléenne"
|
||||
break_statements: "Déclarations de sortie"
|
||||
classes: "Classes"
|
||||
# continue_statements: "Continue Statements"
|
||||
for_loops: "Bloucles Pour"
|
||||
continue_statements: "Instructions Continuer"
|
||||
for_loops: "Boucles Pour"
|
||||
functions: "Fonctions"
|
||||
# graphics: "Graphics"
|
||||
graphics: "Graphiques"
|
||||
if_statements: "Déclarations conditionnelles Si"
|
||||
input_handling: "Manipulation des entrées"
|
||||
math_operations: "Opérations mathématiques"
|
||||
object_literals: "Objets littéraux"
|
||||
parameters: "Parametres"
|
||||
parameters: "Paramètres"
|
||||
strings: "Chaînes de caractères"
|
||||
variables: "Variables"
|
||||
vectors: "Vecteurs"
|
||||
|
@ -1447,7 +1447,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
delta:
|
||||
added: "Ajouté"
|
||||
modified: "Modifié"
|
||||
not_modified: "Non Modifié"
|
||||
not_modified: "Non modifié"
|
||||
deleted: "Supprimé"
|
||||
moved_index: "Index changé"
|
||||
text_diff: "Différence de texte"
|
||||
|
@ -1483,7 +1483,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
email_settings_url: "vos paramètres d'e-mail "
|
||||
email_description_suffix: "ou avec des liens disponibles dans nos e-mails, vous pouvez changer vos préférences ou vous désinscrire à tout moment."
|
||||
cost_title: "Coût"
|
||||
# cost_description_a: "CodeCombat is free to play for all of its core levels, with a ${{price}} USD/mo subscription for access to extra level branches and {{gems}} bonus gems per month. You can cancel with a click, and we offer a 100% money-back guarantee."
|
||||
cost_description_a: "CodeCombat est gratuit sur tous ses niveaux principaux, avec un abonnement de {{price}}$/mois pour l'accès à de nouveaux niveaux et {{gems}} gemmes bonus par mois. Vous pouvez annuler en un clic, et nous vous garantissons un remboursement intégral."
|
||||
copyrights_title: "Copyrights et Licences"
|
||||
contributor_title: "Contributor License Agreement"
|
||||
contributor_description_prefix: "Toute contribution, sur le site et sur le répertoire GitHub, est sujette à nos"
|
||||
|
@ -1518,8 +1518,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
nutshell_title: "En un mot"
|
||||
nutshell_description: "Chaque ressource que nous fournissons dans l'éditeur de niveau est libre d'utilisation pour créer des niveaux. Mais nous nous réservons le droit de restreindre la distribution des niveaux créés (qui sont créés sur codecombat.com) ils peuvent donc devenir payants dans le futur, si c'est ce qui doit arriver."
|
||||
canonical: "La version de ce document est la version définitive et canonique. En cas d'irrégularité dans les traductions, le document anglais fait foi."
|
||||
# third_party_title: "Third Party Services"
|
||||
# third_party_description: "CodeCombat uses the following third party services (among others):"
|
||||
third_party_title: "Services tiers"
|
||||
third_party_description: "CodeCombat utilise les services tiers suivants, entre autres :"
|
||||
|
||||
ladder_prizes:
|
||||
title: "Prix du tournoi" # This section was for an old tournament and doesn't need new translations now.
|
||||
|
|
|
@ -16,7 +16,7 @@ module.exports =
|
|||
'en-US': { nativeDescription: 'English (US)', englishDescription: 'English (US)' }
|
||||
'en-GB': { nativeDescription: 'English (UK)', englishDescription: 'English (UK)' }
|
||||
'zh-HANS': { nativeDescription: '简体中文', englishDescription: 'Chinese (Simplified)' }
|
||||
'zh-HANT': { nativeDescription: '繁体中文', englishDescription: 'Chinese (Traditional)' }
|
||||
'zh-HANT': { nativeDescription: '繁體中文', englishDescription: 'Chinese (Traditional)' }
|
||||
'ru': { nativeDescription: 'русский', englishDescription: 'Russian' }
|
||||
'es-ES': { nativeDescription: 'español (ES)', englishDescription: 'Spanish (Spain)' }
|
||||
'es-419': { nativeDescription: 'español (América Latina)', englishDescription: 'Spanish (Latin America)' }
|
||||
|
|
|
@ -473,7 +473,7 @@ module.exports = class ThangType extends CocoModel
|
|||
name: name, display: display, matchedShortName: matchedShortName
|
||||
|
||||
isSilhouettedItem: ->
|
||||
return console.error "Trying to determine whether #{@get('name')} should be a silhouetted item, but it has no gem cost." unless @get('gems') or @get('tier')
|
||||
return console.error "Trying to determine whether #{@get('name')} should be a silhouetted item, but it has no gem cost." unless @get('gems')? or @get('tier')?
|
||||
console.info "Add (or make sure you have fetched) a tier for #{@get('name')} to more accurately determine whether it is silhouetted." unless @get('tier')?
|
||||
tier = @get 'tier'
|
||||
if tier?
|
||||
|
|
|
@ -219,3 +219,14 @@ block content
|
|||
| Customer Advocate
|
||||
p(data-i18n="about.maka_blurb")
|
||||
| Storyteller
|
||||
|
||||
li.row
|
||||
|
||||
img(src="/images/pages/about/robin_small.png").img-thumbnail
|
||||
.team_bio
|
||||
h4.team_name
|
||||
| Robin Yang
|
||||
p(data-i18n="about.robin_title")
|
||||
| UX Design & Research
|
||||
p(data-i18n="about.robin_blurb")
|
||||
| Scaffolding
|
|
@ -94,7 +94,7 @@ module.exports = class DiplomatView extends ContributeClassView
|
|||
'es-419': ['2xG', 'Federico Tomas', 'Jesús Ruppel', 'Mariano Luzza', 'Matthew Burt'] # español (América Latina), Spanish (Latin America)
|
||||
'es-ES': ['3rr3s3v3n', 'Anon', 'DanielRodriguezRivero', 'Matthew Burt', 'OviiiOne', 'Pouyio', 'Vindurrin'] # español (ES), Spanish (Spain)
|
||||
'zh-HANS': ['1c7', 'Adam23', 'BonnieBBS', 'Cheng Zheng', 'Vic020', 'ZephyrSails', 'julycoolwind', 'onion7878', 'spacepope', 'yangxuan8282', 'yfdyh000'] # 简体中文, Chinese (Simplified)
|
||||
'zh-HANT': ['Adam23', 'gintau'] # 繁体中文, Chinese (Traditional)
|
||||
'zh-HANT': ['Adam23', 'gintau'] # 繁體中文, Chinese (Traditional)
|
||||
'zh-WUU-HANS': [] # 吴语, Wuu (Simplified)
|
||||
'zh-WUU-HANT': ['benojan'] # 吳語, Wuu (Traditional)
|
||||
fr: ['Anon', 'Armaldio', 'ChrisLightman', 'Elfisen', 'Feugy', 'MartinDelille', 'Oaugereau', 'Xeonarno', 'dc55028', 'jaybi', 'pstweb', 'veritable', 'xavismeh'] # français, French
|
||||
|
|
|
@ -159,7 +159,7 @@ module.exports = class HeroVictoryModal extends ModalView
|
|||
for achievement in (@achievements?.models or [])
|
||||
earnedAchievement = earnedAchievementMap[achievement.id]
|
||||
if earnedAchievement
|
||||
achievement.completedAWhileAgo = new Date().getTime() - Date.parse(earnedAchievement.get('created')) > 30 * 1000
|
||||
achievement.completedAWhileAgo = new Date().getTime() - Date.parse(earnedAchievement.attributes.changed) > 30 * 1000
|
||||
achievement.worth = achievement.get 'worth', true
|
||||
achievement.gems = achievement.get('rewards')?.gems
|
||||
c.achievements = @achievements?.models.slice() or []
|
||||
|
|
Loading…
Reference in a new issue