import $ from 'jquery';
import _ from 'underscore';
import Backbone from 'backbone';
import Metrika from '../common/metrika';
import './style.scss';

const PageView = Backbone.View.extend({
    notes: [
        'Люблю фильм "Три идиота".',
        'Люблю кататься на велосипеде.',
        'Люблю читать фантастические книги.',
        'Люблю шоколад.',
        'На день рождения ко мне можно прийти без подарка.',
        'Не люблю пьяных людей.',
        'Предпочитаю ходить в кино на 2D-сеансы.',
        'Проехал на велосипеде 200 километров за день.',
        'Работаю программистом.',
        'Хотел бы побывать в горах.',
    ],

    shown: [],

    events: {
        'click #know-better': 'onClickKnowBetter',
    },

    initialize() {
        this.render();
    },

    render() {
        this.showRandomFact();
        return this;
    },

    pickRandomFact() {
        let available = _.difference(this.notes, this.shown);
        if (_.size(available) === 0) {
            available = this.notes;
            this.shown = [];
        }

        const phrase = _.sample(available);
        this.shown.push(phrase);

        return phrase;
    },

    showRandomFact() {
        const fact = this.pickRandomFact();
        this.$('#about-me-note').text(fact);
    },

    onClickKnowBetter(evt) {
        evt.preventDefault();
        this.showRandomFact();
        Metrika.hit(location.href);
    },
});

new PageView({ el: $('.js-about-me') });