コード例 #1
0
ファイル: footer.js プロジェクト: ferggren/ferg.in
/**
 * @file Site footer
 * @name SiteFooter
 * @author ferg <*****@*****.**>
 * @copyright 2016 ferg
 */

var React              = require('react');
var Lang               = require('libs/lang');
var { browserHistory } = require('react-router');
var { connect }        = require('react-redux');

require('./style.scss');
require('styles/partials/floating_clear');

Lang.exportStrings('footer', require('./lang/ru.js'), 'ru');
Lang.exportStrings('footer', require('./lang/en.js'), 'en');

var SiteFooter = React.createClass({
  shouldComponentUpdate(nextProps, nextState) {
    if (this.props.lang != nextProps.lang) {
      return true;
    }

    if (this.props.location != nextProps.location) {
      return true;
    }

    return false;
  },
コード例 #2
0
ファイル: nice-time.js プロジェクト: ferggren/ferg.in
/**
 * @file Provides nice time support
 * @name NiceTime
 * @author ferg <*****@*****.**>
 * @copyright 2016 ferg
 */

var Lang = require('libs/lang');

Lang.exportStrings('nice-time', require('./lang/ru.js'), 'ru');
Lang.exportStrings('nice-time', require('./lang/en.js'), 'en');

var NiceTime = {
  /**
   *  Makes nice date & time string from unix timetamp
   *
   *  @param {number} time Unix timestamp
   *  @return {string} Nice formatted date & time
   */
  niceTimeFormat: function(time) {
    var date = new Date(time * 1000);

    var hours = date.getHours();
    if (hours < 10) hours = '0' + hours;

    var minutes = date.getMinutes();
    if (minutes < 10) minutes = '0' + minutes;

    var ret = NiceTime.niceDateFormat(time);
    ret += ', ' + hours + ':' + minutes;
コード例 #3
0
ファイル: gallery-photo.js プロジェクト: ferggren/ferg.in
var PHOTO_API_KEY = 'photo';

var React              = require('react');
var { connect }        = require('react-redux');
var { Link }           = require('react-router');
var { browserHistory } = require('react-router');
var { setTitle }       = require('redux/actions/title');
var Lang               = require('libs/lang');
var NiceTime           = require('libs/nice-time');
var Wrapper            = require('components/site/view-wrapper');
var TagsCloud          = require('components/shared/tags-cloud');

var { makeApiRequest, clearApiData } = require('redux/actions/api');

Lang.exportStrings('gallery-photo', require('./lang/en.js'), 'en');
Lang.exportStrings('gallery-photo', require('./lang/ru.js'), 'ru');

require('./styles.scss');
require('styles/partials/loader');
require('styles/partials/floating_clear');

var GalleryPhoto = React.createClass({
  componentWillMount() {
    this._updateTitle();
  },

  componentDidMount() {
    this._updateTitle();
    this._updatePhotoIfNeeded();
コード例 #4
0
ファイル: photo-library.js プロジェクト: ferggren/ferg.in
var Request      = require('libs/request');
var Popups       = require('libs/popups-nice');
var Photo        = require('./components/photo.js');
var Cover        = require('./components/cover.js');
var Collections  = require('./components/collections.js');
var ButtonAttach = require('./components/button-attach.js');
var Tags         = require('./components/tags.js');
var PhotoEditor  = require('./components/editor.js');
var Storage      = require('components/shared/storage/');
var Paginator    = require('components/shared/paginator');

require('./style.scss');
require('styles/partials/floating_clear');
require('styles/partials/loader');

Lang.exportStrings('photolibrary', require('./lang/ru.js'), 'ru');
Lang.exportStrings('photolibrary', require('./lang/en.js'), 'en');

var PhotoLibrary = React.createClass({
  /** Requests list **/
  _requests: {},

  getInitialState() {
    return {
      photos:         [],
      loading:        false,
      collections:    [],
      collection:     0,
      page:           1,
      pages:          1,
      selected:       {},
コード例 #5
0
ファイル: page-editor.js プロジェクト: ferggren/ferg.in
var React     = require('react');
var Lang      = require('libs/lang');
var Request   = require('libs/request');
var Popups    = require('libs/popups-nice');
var Window    = require('components/shared/popup-window');
var Tags      = require('components/shared/tags-selector');
var Wrapper   = require('components/admin/view-wrapper');
var Editor    = require('components/admin/media-editor');
var Preview   = require('./components/preview');

require('./style.scss');
require('styles/partials/floating_clear');
require('styles/partials/loader');

Lang.exportStrings('page-editor', require('./lang/ru.js'), 'ru');
Lang.exportStrings('page-editor', require('./lang/en.js'), 'en');

var PageEditor = React.createClass({
  _requests: {},

  getInitialState() {
    return {
      page:    false,
      type:    this.props.params.page_type,
      id:      this.props.params.page_id,
      tags:    false,
      loading: false,
    }
  },