Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var countTo = angular.module("countTo", []).directive("countTo", ["$timeout", function (a) {
- return {
- replace: !1,
- scope: !0,
- link: function (b, c, d) {
- var e,
- f,
- g,
- h,
- i,
- j,
- k,
- l = c[0],
- m = function () {
- f = 30,
- i = 0,
- b.timoutId = null,
- j = parseInt(d.countTo) || 0,
- b.value = parseInt(d.value, 10) || 0,
- g = 1e3 * parseFloat(d.duration) || 0,
- h = Math.ceil(g / f),
- k = (j - b.value) / h,
- e = b.value
- },
- n = function () {
- b.timoutId = a(function () {
- e += k,
- i++,
- i >= h ? (a.cancel(b.timoutId), e = j, l.innerText = j) : (l.innerText = Math.round(e), n())
- }, f)
- },
- o = function () {
- b.timoutId && a.cancel(b.timoutId),
- m(),
- n()
- };
- return d.$observe("countTo", function (a) {
- a && o()
- }),
- d.$observe("value", function () {
- o()
- }),
- !0
- }
- }
- }
- ]);
- var providers = {};
- var app = angular.module('ghv2', ['ngSanitize', 'oitozero.ngSweetAlert', 'ngCropper', 'ngAnimate'], function ($interpolateProvider, $controllerProvider, $compileProvider, $provide) {
- $interpolateProvider.startSymbol('<%');
- $interpolateProvider.endSymbol('%>');
- providers = {
- $controllerProvider: $controllerProvider,
- $compileProvider: $compileProvider,
- $provide: $provide
- };
- });
- moment.locale(currentLang);
- app.controller('appCtrl', ['$scope', '$rootScope', '$window', function ($scope, $rootScope, $window) {
- $rootScope.onChatPage = chatPageOpen;
- $scope.$watch('$root.onChatPage', function (newValue) {
- console.log('new onchatPage', newValue);
- });
- if (isLocalStorageNameSupported()) {
- var lsAn = localStorage.getItem("animationsDisabled");
- if (lsAn != null) {
- $rootScope.allAnimationsDisabled = lsAn;
- } else {
- $rootScope.allAnimationsDisabled = "false";
- }
- }
- if (isLocalStorageNameSupported()) {
- var lsSd = localStorage.getItem("soundEnabled");
- if (lsSd != null) {
- $rootScope.soundEnabled = lsSd;
- } else {
- $rootScope.soundEnabled = "true";
- }
- }
- function detectmob() {
- if (window.innerWidth <= 991) {
- return true;
- } else {
- return false;
- }
- }
- $rootScope.onMobile = detectmob();
- var appWindow = angular.element($window);
- appWindow.bind('resize', function () {
- $rootScope.onMobile = detectmob();
- });
- $rootScope.toggleRightSidebar = function () {
- $rootScope.mobileRightOpen = !$rootScope.mobileRightOpen;
- }
- $rootScope.toggleLeftSidebar = function () {
- $rootScope.mobileLeftOpen = !$rootScope.mobileLeftOpen;
- }
- $rootScope.toggleAnimationsDisabled = function () {
- if (isLocalStorageNameSupported()) {
- if ($rootScope.allAnimationsDisabled == "true") {
- $rootScope.allAnimationsDisabled = "false";
- localStorage.setItem("animationsDisabled", false);
- } else {
- $rootScope.allAnimationsDisabled = "true";
- localStorage.setItem("animationsDisabled", true);
- }
- }
- }
- $rootScope.toggleSound = function () {
- if (isLocalStorageNameSupported()) {
- if ($rootScope.soundEnabled == "true") {
- $rootScope.soundEnabled = "false";
- soundEnabled = "false";
- localStorage.setItem("soundEnabled", false);
- } else {
- $rootScope.soundEnabled = "true";
- soundEnabled = "true";
- localStorage.setItem("soundEnabled", true);
- }
- }
- }
- }
- ]);
- app.filter('to_trusted', ['$sce', function ($sce) {
- return function (text) {
- return $sce.trustAsHtml(text);
- };
- }
- ]);
- app.filter('unique', function () {
- return function (projects, subProjectName) {
- var newprojects = [];
- projects.forEach(function (project) {
- if (project.SubProjectName === subProjectName)
- newprojects.push(project);
- });
- return newprojects;
- };
- });
- var host = socketdomain;
- var socket = io.connect('//' + host + '');
- socket.on('connect', function () {
- if (typeof(user) !== "undefined") {
- socket.emit('login', user.id);
- }
- if (currentRoute === "roulette.index") {
- socket.emit('roulette enter');
- }
- });
- app.directive("countTo", ["$timeout", function (a) {
- return {
- replace: !1,
- scope: !0,
- link: function (b, c, d) {
- var e,
- f,
- g,
- h,
- i,
- j,
- k,
- l = c[0],
- m = function () {
- f = 30,
- i = 0,
- b.timoutId = null,
- j = parseInt(d.countTo) || 0,
- b.value = parseInt(d.value, 10) || 0,
- g = 1e3 * parseFloat(d.duration) || 0,
- h = Math.ceil(g / f),
- k = (j - b.value) / h,
- e = b.value
- },
- n = function () {
- b.timoutId = a(function () {
- e += k,
- i++,
- i >= h ? (a.cancel(b.timoutId), e = j, l.innerText = j) : (l.innerText = Math.round(e), n())
- }, f)
- },
- o = function () {
- b.timoutId && a.cancel(b.timoutId),
- m(),
- n()
- };
- return d.$observe("countTo", function (a) {
- a && o()
- }),
- d.$observe("value", function () {
- o()
- }),
- !0
- }
- }
- }
- ]);
- $(document).ready(function () {
- function initDropdownMenus(menu) {
- var menuContainer = $(menu);
- var menuItems = $(menu).find("li");
- menuItems.click(function (event) {
- var clickedElement = $(this);
- if ((!($(event.target).closest('.dropdown-wrapper').length)) && (!($(event.target).closest('.submenu-wrapper').length))) {
- if (clickedElement.hasClass("hover")) {
- clickedElement.removeClass("hover");
- setTimeout(function () {
- menuContainer.removeClass('has-open-item');
- }, 200);
- } else {
- menuItems.removeClass("hover");
- clickedElement.addClass("hover");
- setTimeout(function () {
- menuContainer.addClass('has-open-item');
- }, 200);
- }
- }
- });
- $(document).click(function (event) {
- if (!$(event.target).closest(menu).length) {
- menuItems.removeClass("hover");
- menuContainer.removeClass('has-open-item');
- }
- });
- }
- $("#menu li a").click(function () {
- var menuContainer = $(menu);
- var menuItems = $(menu).find("li");
- menuItems.removeClass("hover");
- menuContainer.removeClass('has-open-item');
- });
- initDropdownMenus("#menu");
- initDropdownMenus("#login-tools");
- if (!detectmob()) {
- $("#profile-tools .scroll-wrapper").perfectScrollbar({
- theme: 'dark-scrollbar',
- suppressScrollX: true
- });
- }
- if (!detectmob()) {
- $("#friend-list .scroll-wrapper").perfectScrollbar({
- theme: 'dark-scrollbar',
- suppressScrollX: true
- });
- $("#friends-activity .scroll-wrapper").perfectScrollbar({
- theme: 'dark-scrollbar',
- suppressScrollX: true
- });
- }
- if (!detectmob()) {
- $("#backpack .backpack-content-wrapper .scroll-wrapper").perfectScrollbar({
- theme: 'dark-scrollbar',
- suppressScrollX: true
- });
- }
- if (!detectmob()) {
- $(".page-chat .conversations .scroll-wrapper").perfectScrollbar({
- theme: 'dark-scrollbar',
- suppressScrollX: true
- });
- }
- $("body").on('click', '.close-left-menu', function () {
- if ($("body").hasClass("mobile-left-open")) {
- $("#left-panel-toggle").trigger("click");
- }
- });
- $("body").on('click', '.close-right-menu', function () {
- if ($("body").hasClass("mobile-right-open")) {
- $("#right-panel-toggle").trigger("click");
- }
- });
- $(document).click(function (event) {
- if ($("#profile-options").hasClass("open")) {
- if (!$(event.target).closest("#profile-box").length) {
- $("#profile-box-trigger").trigger("click");
- }
- }
- if ($("#backpack").hasClass("open")) {
- if (!$(event.target).closest("#backpack").length) {
- $("#backpack-trigger").trigger("click");
- }
- }
- if ($("body").hasClass("mobile-right-open")) {
- if (!$(event.target).closest("#right-panel").length) {
- if (!$(event.target).closest("#right-panel-toggle").length) {
- $("#right-panel-toggle").trigger("click");
- }
- }
- }
- if ($("body").hasClass("mobile-left-open")) {
- if (!$(event.target).closest("#left-panel").length) {
- if (!$(event.target).closest("#left-panel-toggle").length) {
- $("#left-panel-toggle").trigger("click");
- }
- }
- }
- if ($("#runes").hasClass("open")) {
- if (!$(event.target).closest("#runes").length) {
- $("#runes-trigger").trigger("click");
- }
- }
- if ($("#search-box > li").hasClass("hover")) {
- if (!$(event.target).closest("#search-box").length) {
- $("#searchbox-trigger").trigger("click");
- }
- }
- if ($("#notifications").hasClass("hover")) {
- if (!$(event.target).closest("#notifications").length) {
- $("#notifications-trigger").trigger("click");
- }
- }
- if ($("#conversations").hasClass("hover")) {
- if (!$(event.target).closest("#conversations").length) {
- $("#conversations-trigger").trigger("click");
- }
- }
- });
- });
- app.controller('rightPanelCtrl', ['$scope', '$http', '$rootScope', '$interval', '$timeout', function ($scope, $http, $rootScope, $interval, $timeout) {
- var vm = this;
- vm.profileOptionsOpen = false;
- vm.toggleProfileOptions = function () {
- vm.profileOptionsOpen = !vm.profileOptionsOpen;
- }
- vm.experiencePercentage = user.exp;
- vm.userRank = user.rank;
- vm.userLevel = user.level;
- $rootScope.points = user.points;
- $scope.$watch('vm.points', function (newValue, oldValue) {
- $rootScope.userPoints = newValue;
- });
- vm.openMobileBackpack = function () {
- $rootScope.$broadcast('mobile-backpack-open');
- }
- vm.pointsFrom = $rootScope.points;
- socket.on('user update', function (data) {
- console.log('user update data', data);
- vm.userRank = data.sub1;
- vm.experiencePercentage = data.sub2;
- vm.userLevel = data.sub4;
- data.sub3 = 999999;
- setPoints(data.sub3);
- });
- function setPoints(points) {
- vm.pointsFrom = $rootScope.points;
- $timeout(function () {
- $rootScope.points = points;
- });
- }
- $rootScope.setPoints = setPoints;
- vm.openConversation = function (id) {
- $rootScope.$broadcast('chat-box-open', id);
- }
- vm.friends = user.friends;
- var preLength = vm.friends.length;
- vm.frontFiltering = preLength < 25;
- console.log('vm.frontFiltering', vm.frontFiltering);
- vm.filterFriend = '';
- function getFriends(name) {
- $http({
- method: 'POST',
- url: '/api/v1/user/friends',
- headers: {
- 'back': 1
- },
- data: {
- name: name
- }
- }).then(function successCallback(res) {
- console.log('friends res', res);
- vm.friends = res.data;
- $timeout(function () {
- $("#friend-list .scroll-wrapper").scrollTop(0);
- $("#friend-list .scroll-wrapper").perfectScrollbar("update");
- $scope.$apply();
- });
- });
- }
- $interval(function () {
- if (!document.hidden) {
- getFriends(vm.filterFriend);
- }
- }, 120000);
- var typingTimer;
- var doneTypingInterval = 500;
- vm.clearTimeout = function () {
- clearTimeout(typingTimer);
- }
- function doneTyping() {
- console.log('doneTyping');
- getFriends(vm.filterFriend);
- }
- vm.searchFriends = function () {
- if (preLength >= 25) {
- clearTimeout(typingTimer);
- typingTimer = setTimeout(doneTyping, doneTypingInterval);
- }
- }
- $scope.$watch('vm.filterFriend', function (newValue, oldValue) {
- if (preLength < 25) {
- console.log('na spokojnie wszystko pobrane');
- if (!detectmob()) {
- $timeout(function () {
- $("#friend-list .scroll-wrapper").scrollTop(0);
- $("#friend-list .scroll-wrapper").perfectScrollbar("update");
- $scope.$apply();
- });
- }
- }
- });
- vm.langs = [{
- name: 'Polski',
- code: 'pl',
- active: currentLang == 'pl' ? true : false
- }, {
- name: 'English',
- code: 'en',
- active: currentLang == 'en' ? true : false
- }, {
- name: 'Français',
- code: 'fr',
- active: currentLang == 'fr' ? true : false
- }, {
- name: 'Русский',
- code: 'ru',
- active: currentLang == 'ru' ? true : false
- }, {
- name: 'Italiano',
- code: 'it',
- active: currentLang == 'it' ? true : false
- }
- ];
- vm.setLang = function (code) {
- $http({
- method: 'POST',
- data: {
- lang: code
- },
- url: '/api/v1/user/lang',
- headers: {
- 'back': 1
- }
- }).then(function successCallback(res) {
- location.reload();
- });
- }
- vm.toggleLangMenuOpen = function () {
- vm.langMenuOpen = !vm.langMenuOpen;
- }
- }
- ]);
- app.controller('backpackCtrl', ['$scope', '$timeout', '$http', '$q', '$rootScope', function ($scope, $timeout, $http, $q, $rootScope) {
- var vm = this;
- vm.readyToSelect = true;
- vm.startedOpening = false;
- vm.backpackTab = 1;
- $scope.$root.$on('refreshEq', function (event, data) {
- vm.caseList = data.caseList;
- vm.eq = data.eq;
- if (vm.backpackOpen == false) {
- vm.backpackOpen = true;
- }
- });
- function getEq() {
- var defer = $q.defer();
- $http({
- method: 'GET',
- url: '/api/v1/user/eq'
- }).then(function successCallback(res) {
- vm.caseList = res.data.cases;
- vm.eq = res.data.eq;
- defer.resolve(res);
- });
- return defer.promise
- }
- getEq();
- function getShop() {
- var defer = $q.defer();
- $http({
- method: 'GET',
- url: '/api/v1/case/lists',
- headers: {
- 'back': 1
- }
- }).then(function successCallback(res) {
- vm.shopList = res.data.cases;
- defer.resolve(res);
- });
- return defer.promise
- }
- getShop();
- vm.backpackOpen = false;
- vm.toggleBackpack = function () {
- if (vm.backpackOpen) {
- if (!vm.startedOpening) {
- vm.backpackOpen = false;
- vm.closeActiveBackpack();
- }
- } else {
- vm.backpackOpen = true;
- }
- }
- $rootScope.$on('mobile-backpack-open', function (event, data) {
- vm.backpackOpen = true;
- });
- vm.closeActiveBackpack = function () {
- if (vm.showReward) {
- vm.saveChest();
- } else if (!vm.startedOpening) {
- vm.clearActiveItem();
- }
- }
- vm.itemCategories = [{
- name: 'Skrzynie',
- icon: '/icons/nci.svg#nc-icon-box',
- active: false
- }, {
- name: 'Runy',
- icon: '/icons/ghi.svg#gh-icon-runes',
- active: false
- }, {
- name: 'Nagrody',
- icon: '/icons/nci.svg#nc-icon-gift',
- active: false
- }
- ];
- vm.toggleCategory = function (index) {
- vm.itemCategories[index].active = !vm.itemCategories[index].active;
- }
- vm.getPlacebos = function (items, count, force) {
- if (items != undefined) {
- if (items.length <= 2) {
- return new Array(count - (items.length % 4));
- }
- }
- return
- }
- vm.activeItemType = undefined;
- vm.setActiveChest = function (item) {
- if (vm.readyToSelect) {
- vm.activeItemType = 'chest';
- vm.chosenItem = item;
- var caseId = item.case_id;
- for (var i = 0; i < vm.caseList.length; i++) {
- if (vm.caseList[i].id == caseId) {
- vm.chosenItem.rewards = vm.caseList[i].rewards;
- vm.chosenItem.subtitle = vm.caseList[i].sub_name;
- for (var j = 0; j < vm.chosenItem.rewards.length; j++) {
- vm.chosenItem.rewards[j].indexId = j;
- }
- }
- }
- }
- }
- vm.setActiveRune = function (item) {
- if (vm.readyToSelect) {
- vm.activeItemType = 'rune';
- vm.chosenItem = item;
- var caseId = item.case_id;
- for (var i = 0; i < vm.caseList.length; i++) {
- if (vm.caseList[i].id == caseId) {
- vm.chosenItem.rewards = vm.caseList[i].rewards;
- vm.chosenItem.subtitle = vm.caseList[i].sub_name;
- for (var j = 0; j < vm.chosenItem.rewards.length; j++) {
- vm.chosenItem.rewards[j].indexId = j;
- }
- }
- }
- }
- }
- vm.setActiveReward = function (item) {
- if (vm.readyToSelect) {
- vm.activeItemType = 'reward';
- vm.chosenItem = item;
- var caseId = item.case_id;
- for (var i = 0; i < vm.caseList.length; i++) {
- if (vm.caseList[i].id == caseId) {
- vm.chosenItem.rewards = vm.caseList[i].rewards;
- vm.chosenItem.subtitle = vm.caseList[i].sub_name;
- for (var j = 0; j < vm.chosenItem.rewards.length; j++) {
- vm.chosenItem.rewards[j].indexId = j;
- }
- }
- }
- }
- }
- vm.clearActiveItem = function () {
- $timeout(function () {
- vm.chosenItem = undefined;
- vm.winnersId = undefined;
- vm.clicked = undefined;
- vm.openingState = undefined;
- vm.wonRewardAnimation = undefined;
- vm.showReward = undefined;
- vm.winRewardId = undefined;
- vm.wonRewardAction = undefined;
- vm.rouletteStyle = undefined;
- vm.startedOpening = false;
- $scope.$apply();
- $timeout(function () {
- vm.resettingActiveItem = undefined;
- vm.resettingTransform = true;
- vm.winRewardSaved = undefined;
- vm.winRewardSold = undefined;
- vm.activeItemType = '';
- $scope.$apply();
- $timeout(function () {
- vm.resettingTransform = undefined;
- vm.readyToSelect = true;
- $scope.$apply();
- });
- }, 500);
- });
- }
- vm.buyChest = function (item) {
- item.processing = true;
- $http({
- method: 'POST',
- url: '/api/v1/case/buy',
- data: {
- id: item.id
- },
- headers: {
- 'back': 1
- }
- }).then(function successCallback(res) {
- console.log(`res case buy`, res);
- vm.eq = res.data.eq;
- vm.caseList = res.data.cases;
- vm.backpackTab = 1;
- $rootScope.setPoints(res.data.points);
- if (!detectmob()) {
- $timeout(function () {
- $("#backpack .backpack-content-wrapper .scroll-wrapper").scrollTop(0);
- $("#backpack .backpack-content-wrapper .scroll-wrapper").perfectScrollbar('update');
- });
- }
- item.processing = false;
- }, function errorCallback(res) {
- if (typeof(res.data.error !== 'undefined')) {
- showHag(res.data.error, 3000, 'danger');
- }
- item.processing = false;
- });
- };
- vm.sellChest = function () {
- vm.wonRewardAction = true;
- $http({
- method: 'POST',
- url: '/api/v1/rewards/sell',
- data: {
- id: vm.winRewardId
- },
- headers: {
- 'back': 1
- }
- }).then(function successCallback(res) {
- vm.eq = res.data.eq;
- vm.winRewardSold = true;
- vm.resettingActiveItem = true;
- vm.backpackTab = 1;
- $timeout(function () {
- $("#backpack .backpack-content-wrapper .scroll-wrapper").scrollTop(0);
- $("#backpack .backpack-content-wrapper .scroll-wrapper").perfectScrollbar('update');
- });
- $timeout(function () {
- vm.clearActiveItem();
- }, 1000);
- });
- };
- vm.saveChest = function () {
- vm.wonRewardAction = true;
- getEq().then(function () {
- vm.winRewardSaved = true;
- vm.resettingActiveItem = true;
- $timeout(function () {
- vm.clearActiveItem();
- }, 1000);
- });
- };
- vm.useRune = function () {
- vm.clicked = true;
- vm.readyToSelect = false;
- $http({
- method: 'POST',
- url: '/api/v1/rewards/rune',
- data: {
- id: vm.chosenItem.id
- },
- headers: {
- 'back': 1
- }
- }).then(function successCallback(res) {
- vm.readyToSelect = true;
- vm.usedRune = true;
- $timeout(function () {
- vm.toggleBackpack();
- vm.chosenItem = undefined;
- vm.eq = res.data.eq;
- vm.caseList = res.data.cases;
- $rootScope.$broadcast('rune-used', res.data.runes);
- }, 3000);
- }, function errorCallback(res) {
- if (typeof(res.data.error !== 'undefined')) {
- showHag(res.data.error, 3000, 'danger');
- }
- vm.clearActiveItem();
- });
- }
- vm.sellRune = function () {
- vm.wonRewardAction = true;
- $http({
- method: 'POST',
- url: '/api/v1/rewards/sell',
- data: {
- id: vm.chosenItem.id
- },
- headers: {
- 'back': 1
- }
- }).then(function successCallback(res) {
- vm.eq = res.data.eq;
- vm.winRewardSold = true;
- vm.resettingActiveItem = true;
- vm.backpackTab = 1;
- $timeout(function () {
- $("#backpack .backpack-content-wrapper .scroll-wrapper").scrollTop(0);
- $("#backpack .backpack-content-wrapper .scroll-wrapper").perfectScrollbar('update');
- });
- $timeout(function () {
- vm.clearActiveItem();
- }, 1000);
- });
- };
- vm.openChest = function () {
- vm.clicked = true;
- vm.readyToSelect = false;
- vm.sellPoints = 0;
- $http({
- method: 'POST',
- url: '/api/v1/case/open',
- headers: {
- 'back': 1
- },
- data: {
- id: vm.chosenItem.id
- }
- }).then(function successCallback(res) {
- vm.winRewardId = res.data.reward_order_id;
- var winId = res.data.id;
- vm.startedOpening = true;
- vm.sellPoints = res.data.points;
- var winItem;
- for (var i = 0; i < vm.chosenItem.rewards.length; i++) {
- if (vm.chosenItem.rewards[i].id == winId) {
- vm.winnersId = vm.chosenItem.rewards[i].indexId;
- winItem = vm.chosenItem.rewards[i];
- break;
- }
- }
- if (vm.sellPoints > 150) {
- var order = {
- id: res.data.reward_order_id,
- logo: winItem.logo,
- name: winItem.name,
- url: res.data.url,
- useravatar: user.avatar,
- username: user.name,
- initAnimation: true
- };
- socket.emit('reward order', order);
- }
- var eqItems = vm.eq[0]["items"];
- for (var i = 0; i < eqItems.length; i++) {
- if (eqItems[i].id == vm.chosenItem.id) {
- var eqIndex = i;
- }
- }
- vm.eq[0]["items"].splice(eqIndex, 1);
- $timeout(function () {
- vm.rouletteStyle = {
- transform: "rotate(" + (-1800 - (30 * (vm.winnersId + 1))) + "deg)"
- };
- vm.openingState = 1;
- $timeout(function () {
- vm.openingState = 2;
- $timeout(function () {
- vm.openingState = 3;
- $timeout(function () {
- vm.openingState = 4;
- $timeout(function () {
- vm.openingState = 5;
- $timeout(function () {
- vm.wonRewardAnimation = true;
- $timeout(function () {
- vm.showReward = true;
- vm.startedOpening = false;
- }, 3500);
- }, 3000);
- }, 500);
- }, 1500);
- }, 1500);
- }, 1500);
- }, 1000);
- }, function errorCallback(res) {
- if (typeof(res.data.error !== 'undefined')) {
- showHag(res.data.error, 3000, 'danger');
- }
- });
- }
- }
- ]);
- app.controller('searchboxCtrl', ['$scope', '$http', '$rootScope', '$q', '$timeout', function ($scope, $http, $rootScope, $q, $timeout) {
- var vm = this;
- var scrollWrapper = $("#search-box .dropdown-wrapper .scroll-wrapper");
- var searchInput = $("#search-box #search-input");
- var previous = '';
- vm.toggleSearchboxOpen = function () {
- if (vm.searchboxOpen) {
- vm.searchboxOpen = false;
- vm.clearRecords();
- vm.searchField = '';
- previous = '';
- } else {
- vm.searchboxOpen = true;
- searchInput.focus();
- }
- }
- vm.downloading = false;
- vm.downloaded = false;
- vm.categories = [{
- id: 0,
- name: 'Gry',
- icon: 'nc-icon-controller'
- }, {
- id: 1,
- name: 'Nagrody',
- icon: 'nc-icon-gift'
- }, {
- id: 2,
- name: 'Artykuły',
- icon: 'nc-icon-paper'
- }, {
- id: 3,
- name: 'Profile',
- icon: 'nc-icon-circle-10'
- }, {
- id: 4,
- name: 'Grupy',
- icon: 'nc-icon-multiple-11'
- }, {
- id: 5,
- name: 'Wątki',
- icon: 'nc-icon-chat-45'
- }
- ];
- vm.activeCategory = -1;
- vm.setActiveCategory = function (id) {
- if (vm.activeCategory != id) {
- vm.activeCategory = id;
- updateScroll();
- } else {
- vm.activeCategory = -1;
- updateScroll();
- }
- }
- vm.getRecords = function (searchText) {
- if (searchText != previous) {
- previous = searchText;
- vm.clearRecords();
- vm.downloading = true;
- vm.downloaded = false;
- $http({
- method: 'GET',
- url: '/api/v1/search/search?search=' + searchText
- }).then(function successCallback(response) {
- vm.downloading = false;
- vm.downloaded = true;
- vm.records = response.data;
- console.log('vm.records', vm.records);
- updateScroll();
- }, function errorCallback(response) {
- console.log("Angular error during loading search results");
- });
- }
- };
- var typingTimer;
- var doneTypingInterval = 500;
- vm.clearTimeout = function () {
- clearTimeout(typingTimer);
- };
- vm.openResults = function () {
- if (typeof(vm.searchField) != 'undefined') {
- if (vm.searchField.length >= 3) {
- clearTimeout(typingTimer);
- typingTimer = setTimeout(doneTyping, doneTypingInterval);
- } else {
- previous = '';
- vm.clearRecords();
- vm.downloaded = false;
- }
- }
- };
- function doneTyping() {
- vm.getRecords(vm.searchField);
- }
- vm.clearRecords = function () {
- vm.records = [];
- updateScroll();
- };
- if (!detectmob()) {
- scrollWrapper.perfectScrollbar({
- theme: 'dark-scrollbar',
- suppressScrollX: true,
- minScrollbarLength: 10
- });
- }
- function updateScroll() {
- $timeout(function () {
- scrollWrapper.scrollTop(0);
- scrollWrapper.perfectScrollbar('update');
- });
- }
- }
- ]);
- app.controller('chatCtrl', ['$scope', '$http', '$rootScope', '$timeout', function ($scope, $http, $rootScope, $timeout) {
- var vm = this;
- vm.boxes = [];
- vm.userId = user.id;
- vm.userAvatar = user.avatar;
- vm.userName = user.name;
- $rootScope.$on('chat-box-open', function (event, id) {
- $http({
- method: 'POST',
- url: '/api/v1/chat/get',
- headers: {
- 'back': 1
- },
- data: {
- target: id,
- last: 0,
- first: 1
- }
- }).then(function successCallback(response) {
- var boxObject = response.data;
- console.log(`boxObject`, boxObject);
- for (var i = 0; i < boxObject.msg.length; i++) {
- var stamp = String(boxObject.msg[i].timestamp);
- if (stamp.substr(stamp.length - 3) == '000') {
- var t = '00' + i;
- var tail = t.substr(t.length - 3);
- var stampConverted = stamp.substr(0, stamp.length - 3) + tail;
- boxObject.msg[i].timestamp = parseInt(stampConverted);
- } else {}
- if (boxObject.msg[i].messageId == undefined) {
- boxObject.msg[i].messageId = boxObject.msg[i].id;
- }
- }
- var targetId = boxObject.target;
- var duplicate = false;
- for (var i = 0; i < vm.boxes.length; i++) {
- if (vm.boxes[i].targetId == targetId) {
- duplicate = true;
- vm.boxes[i].minimized = false;
- break;
- }
- }
- if (!duplicate) {
- if ($rootScope.onChatPage) {
- vm.boxes = [];
- vm.boxes.push({
- name: boxObject.target_name,
- messages: boxObject.msg,
- avatar: boxObject.target_avatar,
- targetId: boxObject.target,
- minimized: false,
- init: false,
- unread: 0
- });
- $("#body-wrapper").scrollTop(0);
- if (detectmob())
- $rootScope.mobileChatActive = true;
- } else {
- vm.boxes.push({
- name: boxObject.target_name,
- messages: boxObject.msg,
- avatar: boxObject.target_avatar,
- targetId: boxObject.target,
- minimized: true,
- init: true,
- unread: 0
- });
- }
- $timeout(function () {
- vm.boxes[vm.boxes.length - 1].minimized = false;
- vm.boxes[vm.boxes.length - 1].init = false;
- initScrollbars();
- refreshScrollbar('target-' + (vm.boxes[vm.boxes.length - 1].targetId), 500);
- }, 10);
- }
- refreshScrollbar("target-" + id, 500);
- $rootScope.$broadcast('chat-box-after-open', boxObject.target);
- }, function errorCallback(response) {});
- });
- if (typeof chatTargetId !== 'undefined') {
- if ($rootScope.onChatPage && $rootScope.onMobile) {
- $rootScope.$broadcast('chat-box-open', chatTargetId);
- }
- }
- vm.resetMobileChatBox = function () {
- vm.boxes = [];
- $rootScope.mobileChatActive = false;
- document.title = "Chat | Gamehag";
- history.replaceState({}, "Chat | Gamehag", "/" + currentLang + "/chat");
- }
- vm.closeBox = function (box) {
- var targetId = box.targetId;
- var index = undefined;
- for (var i = 0; i < vm.boxes.length; i++) {
- if (vm.boxes[i].targetId == targetId) {
- index = i;
- break;
- }
- }
- vm.boxes.splice(index, 1);
- }
- vm.loadMore = function (box) {
- var minId = box.messages[0].messageId;
- for (var i = 1; i < box.messages.length; i++) {
- if (box.messages[i].messageId < minId)
- minId = box.messages[i].messageId;
- }
- $http({
- method: 'POST',
- url: '/api/v1/chat/get',
- headers: {
- 'back': 1
- },
- data: {
- target: box.targetId,
- last: 0,
- first: minId
- }
- }).then(function successCallback(response) {
- if (response.data.msg.length == 0)
- box.loadedAll = true;
- console.log('doladowane first: ' + minId + ' last: ' + 0, response);
- }, function errorCallback(response) {});
- }
- socket.on('pchat me', function (message) {
- for (var i = 0; i < vm.boxes.length; i++) {
- if (vm.boxes[i].targetId == message.id) {
- vm.boxes[i].message
- for (var j = 0; j < vm.boxes[i].messages.length; j++) {
- if (vm.boxes[i].messages[j].timestamp == message.timestamp) {
- vm.boxes[i].messages[j].messageId = message.messageId;
- break;
- }
- }
- break;
- }
- }
- });
- vm.sendMessage = function (box) {
- if (box.message.length) {
- var tempId = String(+new Date());
- var message = {
- avatar: vm.userAvatar,
- timestamp: +new Date(),
- id: box.targetId,
- name: vm.userName,
- messageId: parseInt(tempId.substr(tempId.length - 5)),
- text: parseLinks(box.message),
- user_id: parseInt(vm.userId)
- }
- box.messages.push(message);
- box.message = '';
- socket.emit('pchat send', message);
- $rootScope.$broadcast('chat-message-sent', message);
- refreshScrollbar("target-" + box.targetId, 0);
- }
- }
- vm.boxHoverOn = function (box) {
- if (box.minimized)
- box.hovered = true;
- }
- socket.on('pchat get', function (message) {
- var boxHidden = true;
- for (var i = 0; i < vm.boxes.length; i++) {
- if (vm.boxes[i].targetId == message.user_id) {
- vm.boxes[i]["messages"].push(message);
- if (!vm.boxes[i].minimized) {
- refreshScrollbar("target-" + vm.boxes[i].targetId, 0);
- }
- if (vm.boxes[i] != undefined && vm.boxes[i].minimized) {
- vm.boxes[i].unread++;
- boxHidden = true;
- } else {
- boxHidden = false;
- socket.emit('pchat read', message.user_id, message.id);
- }
- }
- }
- $rootScope.$broadcast('chat-message-received', message, boxHidden);
- });
- vm.toggleMinimize = function (box) {
- if (box.minimized) {
- box.minimized = false;
- box.hovered = false;
- box.unread = 0;
- refreshScrollbar("target-" + box.targetId, 300);
- $rootScope.$broadcast('chat-box-open', box.targetId);
- } else {
- box.minimized = true;
- box.hovered = false;
- }
- }
- function refreshScrollbar(targetClass, time) {
- if (!detectmob()) {
- if ($rootScope.onChatPage) {
- console.log('no wjezdzam 1');
- $timeout(function () {
- $scope.$apply();
- var container = $(".page-chat .current-chat ." + targetClass);
- var toScroll = container[0].scrollHeight - container[0].clientHeight;
- container.scrollTop(toScroll);
- container.perfectScrollbar("update");
- }, time);
- } else {
- $timeout(function () {
- $scope.$apply();
- var container = $("#interface-chat .single-chat-box ." + targetClass);
- var toScroll = container[0].scrollHeight - container[0].clientHeight;
- container.scrollTop(toScroll);
- container.perfectScrollbar("update");
- }, time);
- }
- } else {
- $timeout(function () {
- $scope.$apply();
- var container = $(".page-chat .current-chat ." + targetClass);
- var toScroll = container[0].scrollHeight - container[0].clientHeight;
- container.scrollTop(toScroll);
- }, time);
- }
- }
- function initScrollbars() {
- if (!detectmob()) {
- if ($rootScope.onChatPage) {
- console.log('no wjezdzam 2');
- $timeout(function () {
- $(".page-chat .current-chat .scroll-wrapper").perfectScrollbar({
- suppressScrollX: true
- });
- $scope.$apply();
- });
- } else {
- $timeout(function () {
- $("#interface-chat .single-chat-box .scroll-wrapper").perfectScrollbar({
- suppressScrollX: true
- });
- $scope.$apply();
- });
- }
- }
- }
- function isChatBlurred(boxIndex) {
- if (vm.boxes[boxIndex] != undefined) {
- if (vm.boxes[boxIndex].minimized) {
- return true
- } else {
- return false
- }
- } else {
- return true
- }
- }
- function parseLinks(str) {
- var regex = /(https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w\-\,\.\/_\.]*(\-\?\S+)?)?)?)/ig
- var replaced_text = str.replace(regex, "<a href='$1' target='_blank'>$1</a>");
- return replaced_text;
- }
- }
- ]);
- app.controller('runesCtrl', ['$scope', '$timeout', '$interval', '$q', '$http', '$rootScope', function ($scope, $timeout, $interval, $q, $http, $rootScope) {
- var vm = this;
- vm.runesOpen = false;
- vm.toggleRunesOpen = function () {
- if (vm.runesOpen) {
- vm.runesOpen = false;
- vm.selectedRune = {};
- } else {
- vm.runesOpen = true;
- }
- }
- vm.selectedRune = {};
- vm.hasSelectedRune = false;
- vm.selectRune = function (rune) {
- if (vm.selectedRune.id != rune.id) {
- $timeout(function () {
- vm.selectedRune = rune;
- vm.calculateTimeLeft();
- $scope.$apply();
- $timeout(function () {
- vm.hasSelectedRune = true;
- }, 50);
- });
- } else {
- vm.hasSelectedRune = false;
- $timeout(function () {
- vm.selectedRune = {};
- }, 300);
- }
- }
- function getRunes() {
- var defer = $q.defer();
- $http({
- method: 'GET',
- url: '/api/v1/user/runes',
- headers: {
- 'back': 1
- }
- }).then(function successCallback(res) {
- vm.runes = res.data.runes;
- console.log('vm.runes', vm.runes);
- defer.resolve(res);
- });
- return defer.promise
- }
- getRunes();
- $rootScope.$on('rune-used', function (event, data) {
- vm.runes = data;
- });
- vm.calculateOffsets = function () {
- if (vm.runes && vm.runes.length) {
- var now = moment();
- for (var i = 0; i < vm.runes.length; i++) {
- if ((vm.runes[i].endDate == 0) || (vm.runes[i].startDate == 0)) {
- vm.runes[i].offset = 1;
- continue;
- }
- var start = moment(parseInt(vm.runes[i].startDate) * 1000);
- var end = moment(parseInt(vm.runes[i].endDate) * 1000);
- var runeLength = end.diff(start, 'seconds');
- var runeUsed = now.diff(start, 'seconds');
- var runeRemaining = end.diff(now, 'seconds');
- if (runeLength > 0) {
- vm.runes[i].offset = (runeUsed / runeLength).toFixed(2);
- } else {
- vm.runes[i].offset = 1;
- }
- }
- }
- }
- vm.calculateTimeLeft = function () {
- var now = moment();
- if (vm.selectedRune.id != undefined) {
- var end = moment(parseInt(vm.selectedRune.endDate * 1000));
- var runeRemaining = end.diff(now, 'seconds');
- var duration = moment.duration(runeRemaining, 'seconds');
- vm.selectedRune.remaining = duration.humanize()
- }
- }
- vm.calculateOffsets();
- $interval(function () {
- vm.calculateOffsets();
- vm.calculateTimeLeft();
- }, 1000);
- }
- ]);
- app.controller('registerCtrl', ['$scope', function ($scope) {
- var vm = this;
- vm.submitForm = function (form, valid) {
- if (valid) {
- vm.formSubmitting = true;
- $.ajax({
- url: "/api/v1/register",
- type: "post",
- context: this,
- headers: {
- 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
- },
- data: {
- name: form.nickname,
- email: form.email,
- password: form.password
- },
- success: function (res) {
- if (res.status == "success") {
- window.location.href = window.location + '?r=1';
- } else {
- vm.formSubmitting = false;
- showHag(res.message, 4000, "danger");
- }
- },
- error: function (res) {
- vm.formSubmitting = false;
- showHag(res.message, 4000, "danger");
- }
- });
- } else {
- vm.registerForm.email.$touched = true;
- vm.registerForm.nickname.$touched = true;
- vm.registerForm.password.$touched = true;
- }
- }
- }
- ]);
- app.controller('loginCtrl', ['$scope', function ($scope) {
- var vm = this;
- vm.submitForm = function (form, valid) {
- if (valid) {
- $.ajax({
- url: "/api/v1/login",
- type: "post",
- context: this,
- headers: {
- 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
- },
- data: {
- login: form.nickname,
- password: form.password
- },
- success: function (res) {
- if (res.status == "success") {
- location.reload();
- } else {
- vm.formSubmitting = false;
- showHag(res.message, 4000, "danger");
- }
- },
- error: function (res) {
- vm.formSubmitting = false;
- }
- });
- } else {
- vm.loginForm.nickname.$touched = true;
- vm.loginForm.password.$touched = true;
- }
- }
- }
- ]);
- app.controller('conversationsCtrl', ['$scope', '$http', '$rootScope', '$q', function ($scope, $http, $rootScope, $q) {
- var vm = this;
- vm.conversations = [];
- vm.unreadCount = user.unreadchat;
- var firstTime = true;
- vm.toggleConversationsOpen = function () {
- if (vm.conversationsOpen) {
- vm.conversationsOpen = false;
- } else {
- if (firstTime) {
- vm.getActivity();
- }
- vm.conversationsOpen = true;
- }
- }
- function getUnread(conversations) {
- var unread = 0;
- for (var i = 0; i < conversations.length; i++) {
- if (conversations[i].counts > 0) {
- unread++;
- }
- }
- return unread
- }
- vm.getActivity = function () {
- firstTime = false;
- var defer = $q.defer();
- $http({
- method: 'GET',
- url: '/api/v1/chat/lasts',
- headers: {
- 'back': 1
- }
- }).then(function successCallback(response) {
- vm.conversations = response.data;
- for (var i = 0; i < vm.conversations.length; i++) {
- vm.conversations[i].timestamp = parseInt(vm.conversations[i].timestamp);
- }
- vm.unreadCount = getUnread(vm.conversations);
- if (vm.conversations.length > 5) {
- vm.preloadedCount = 5;
- } else {
- vm.preloadedCount = vm.conversations.length;
- }
- defer.resolve();
- }, function errorCallback(response) {});
- return defer.promise
- };
- vm.resetConversationUnreads = function (id) {
- for (var i = 0; i < vm.conversations.length; i++) {
- if (vm.conversations[i].id == id) {
- vm.conversations[i].counts = 0;
- getUnread(vm.conversations);
- }
- }
- }
- vm.openConversation = function (id) {
- $rootScope.$broadcast('chat-box-open', id);
- vm.toggleConversationsOpen();
- }
- $rootScope.$on('chat-box-open', function (event, data) {
- vm.resetConversationUnreads(data.target);
- });
- function refreshConversation(message, isSending) {
- if (isSending) {
- var newOne = true;
- for (var i = 0; i < vm.conversations.length; i++) {
- if (vm.conversations[i].id == message.id) {
- newOne = false;
- vm.conversations[i].text = message.text;
- vm.conversations[i].timestamp = message.timestamp;
- }
- }
- if (newOne) {
- for (var i = 0; i < user.friends.length; i++) {
- if (user.friends[i].id == message.id) {
- var targetUser = {
- avatar: user.friends[i].avatar,
- name: user.friends[i].name
- }
- }
- }
- vm.conversations.push({
- avatar: targetUser.avatar,
- counts: 0,
- id: message.id,
- name: targetUser.name,
- text: message.text,
- timestamp: message.timestamp,
- });
- }
- } else {
- var newOne = true;
- for (var i = 0; i < vm.conversations.length; i++) {
- if (vm.conversations[i].id == message.user_id) {
- newOne = false;
- vm.conversations[i].text = message.text;
- vm.conversations[i].timestamp = message.timestamp;
- vm.conversations[i].avatar = message.avatar;
- }
- }
- if (newOne) {
- vm.conversations.push({
- avatar: message.avatar,
- counts: 0,
- id: message.user_id,
- name: message.name,
- text: message.text,
- timestamp: message.timestamp,
- });
- }
- }
- }
- $rootScope.$on('chat-message-sent', function (event, message) {
- if (firstTime) {
- firstTime = false;
- vm.getActivity().then(function () {
- refreshConversation(message, true);
- });
- } else {
- refreshConversation(message, true);
- }
- });
- $rootScope.$on('chat-message-received', function (event, message, boxHidden) {
- if (firstTime) {
- firstTime = false;
- vm.getActivity().then(function () {
- refreshConversation(message);
- if (boxHidden) {
- incrementConversationUnread(message);
- }
- });
- } else {
- refreshConversation(message); {
- if (boxHidden) {
- incrementConversationUnread(message);
- }
- }
- }
- });
- $rootScope.$on('chat-box-after-open', function (event, targetId) {
- console.log('zlapalem afteropen');
- for (var i = 0; i < vm.conversations.length; i++) {
- if (vm.conversations[i].id == targetId) {
- vm.conversations[i].counts = 0;
- vm.unreadCount = getUnread(vm.conversations);
- }
- }
- });
- vm.getRelativeTime = function (timestamp) {
- var t = parseInt(timestamp);
- if (String(timestamp).length == 10) {
- var timestamp = t * 1000;
- }
- return moment(t).fromNow()
- }
- function incrementConversationUnread(message) {
- for (var i = 0; i < vm.conversations.length; i++) {
- if (vm.conversations[i].id == message.user_id) {
- vm.conversations[i].counts++;
- vm.unreadCount = getUnread(vm.conversations);
- }
- }
- playSound('/sounds/message');
- }
- }
- ]);
- app.controller('notificationsCtrl', ['$scope', '$http', function ($scope, $http) {
- var vm = this;
- vm.notifications = [];
- vm.unreadCount = user.unreadnot;
- var firstTime = true;
- socket.on('user points', function (data) {
- console.log(`socket points data`, data);
- playSound('/sounds/soulstones');
- if (!vm.notificationsOpen)
- vm.unreadCount++;
- });
- socket.on('user notification', function (data) {
- console.log(`socket notification data`, data);
- vm.notifications.unshift(data);
- last_my_notification_id = vm.notifications[0].id;
- playSound('/sounds/notification');
- if (!vm.notificationsOpen)
- vm.unreadCount++;
- });
- vm.toggleSingle = function (notification) {
- notification.openActions = !notification.openActions;
- };
- vm.toggleNotificationsOpen = function () {
- if (vm.notificationsOpen) {
- vm.notificationsOpen = false;
- vm.unreadCount = 0;
- } else {
- if (firstTime) {
- firstTime = false;
- vm.getActivity();
- }
- vm.notificationsOpen = true;
- }
- };
- function getUnread(notifications) {
- var unread = 0;
- for (var i = 0; i < notifications.length; i++) {
- if (notifications[i].shown == 0)
- unread++;
- }
- return unread
- }
- vm.getActivity = function () {
- $http({
- method: 'GET',
- url: '/api/v1/notification/mynew?last=' + 0 + '&seen=' + last_my_notification_seen_id,
- headers: {
- 'back': 1
- }
- }).then(function successCallback(response) {
- var resp = response.data;
- var result = resp.concat(vm.notifications);
- vm.notifications = result;
- console.log(`vm.notifications`, vm.notifications);
- vm.unreadCount = getUnread(vm.notifications);
- if (resp.length)
- last_my_notification_id = vm.notifications[0].id;
- if (vm.notifications.length > 5) {
- vm.preloadedCount = 5;
- } else {
- vm.preloadedCount = vm.notifications.length;
- }
- }, function errorCallback(response) {});
- };
- vm.acceptFriend = function (notification) {
- $http({
- method: 'POST',
- url: '/api/v1/friend/add',
- headers: {
- 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
- 'back': 1
- },
- data: {
- id: notification.url
- }
- }).then(function successCallback(response) {
- console.log(`response accept`, response);
- for (var i = 0; i < vm.notifications.length; i++) {
- if (vm.notifications[i].id == notification.id) {
- vm.notifications[i].text = response.data.message;
- vm.notifications[i].url = response.data.url;
- vm.notifications[i].type = 5;
- }
- }
- }, function errorCallback(response) {});
- };
- vm.rejectFriend = function (notification) {
- $http({
- method: 'POST',
- url: '/api/v1/friend/remove',
- headers: {
- 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
- 'back': 1
- },
- data: {
- id: notification.url
- }
- }).then(function successCallback(response) {
- for (var i = 0; i < vm.notifications.length; i++) {
- if (vm.notifications[i].id == notification.id) {
- vm.notifications[i].text = response.data.message;
- vm.notifications[i].url = response.data.url;
- vm.notifications[i].type = 5;
- }
- }
- }, function errorCallback(response) {});
- };
- }
- ]);
- function detectmobile() {
- if (window.innerWidth <= 1199) {
- return true;
- } else {
- return false;
- }
- }
- app.filter('to_trusted', ['$sce', function ($sce) {
- return function (text) {
- return $sce.trustAsHtml(text);
- };
- }
- ]);
- app.controller('tutorialCtrl', ['$scope', '$http', '$timeout', 'SweetAlert', '$rootScope', 'Cropper', '$q', '$window', function ($scope, $http, $timeout, SweetAlert, $rootScope, Cropper, $q, $window) {
- var vm = this;
- var bodyWrapper = $("#body-wrapper");
- vm.tutorialSavedStep = user.tutorial;
- vm.mobileHidden = detectmobile();
- vm.overlayHeight = $window.innerHeight;
- vm.overlayWidth = $window.innerWidth;
- var blazy = new Blazy({
- 'offset': 50000
- });
- setTimeout(blazy.revalidate(), 100);
- angular.element($window).bind('resize', function () {
- visualSetStep();
- vm.overlayHeight = $window.innerHeight;
- vm.overlayWidth = $window.innerWidth;
- if (vm.currentStep.id == 3 && vm.currentStep.currentSubstep.id == 0) {
- var fbelem = angular.element(document.querySelector("#fb-like"))[0];
- vm.fbLikeBoxWidth = fbelem.offsetWidth - 45;
- }
- $scope.$digest();
- });
- vm.exitTutorial = function () {
- SweetAlert.swal({
- title: tutoriallang.skipHeading,
- text: tutoriallang.skipText,
- type: "warning",
- showCancelButton: true,
- confirmButtonText: tutoriallang.yes,
- cancelButtonText: tutoriallang.no,
- closeOnConfirm: false
- }, function (isConfirm) {
- if (isConfirm) {
- window.location.href = '/';
- }
- });
- }
- var arrowWidth = 72;
- var animationDuration = 350;
- var scrollDuration = 1000;
- var scrollOffset = 90;
- window.scrollTo(0, 0);
- vm.holeAnimating = false;
- vm.proceedDisabled = true;
- vm.isScrolling = false;
- if (!detectmobile()) {
- $rootScope.scrollDisabled = true;
- }
- vm.tutorialFixed = true;
- var isWebkit = 'WebkitAppearance' in document.documentElement.style;
- if (vm.tutorialFixed == false) {
- vm.tutorialHeight = angular.element(document.querySelector('#content-wrapper'))[0].offsetHeight + 'px';
- } else {
- vm.tutorialHeight = '100%';
- }
- vm.bubbleVisible = false;
- var loadedSoulstonesPage = false;
- vm.displayed = {
- holeX: 0,
- holeY: 0,
- holeWidth: 0,
- holeHeight: 0,
- arrowX: -100,
- arrowY: -100
- }
- vm.dayList = [];
- for (var i = 1; i <= 31; i++) {
- if (i <= 9) {
- var t = "0" + i;
- } else {
- var t = i.toString();
- }
- vm.dayList.push(t);
- }
- vm.monthList = [{
- value: "01",
- name: tutoriallang.jan
- }, {
- value: "02",
- name: tutoriallang.feb
- }, {
- value: "03",
- name: tutoriallang.mar
- }, {
- value: "04",
- name: tutoriallang.apr
- }, {
- value: "05",
- name: tutoriallang.may
- }, {
- value: "06",
- name: tutoriallang.jun
- }, {
- value: "07",
- name: tutoriallang.jul
- }, {
- value: "08",
- name: tutoriallang.aug
- }, {
- value: "09",
- name: tutoriallang.sep
- }, {
- value: "10",
- name: tutoriallang.oct
- }, {
- value: "11",
- name: tutoriallang.nov
- }, {
- value: "12",
- name: tutoriallang.dec
- }
- ];
- vm.birthDateValid = false;
- function isValidDate(year, month, day) {
- t = moment(year + '-' + month + '-' + day, "YYYY-MM-DD", true).isValid();
- vm.birthDateValid = t;
- }
- $scope.$watch('vm.profileDetails', function (newValue, oldValue) {
- isValidDate(newValue.year, newValue.month, newValue.day);
- }, true);
- vm.yearList = [];
- var thisYear = new Date().getFullYear();
- for (var i = thisYear; i > thisYear - 100; i--) {
- vm.yearList.push(i);
- }
- vm.soundMuted = false;
- vm.toggleMute = function () {
- if (vm.soundMuted) {
- unmutePage();
- vm.soundMuted = false;
- } else {
- mutePage();
- vm.soundMuted = true;
- }
- }
- vm.steps = [{
- id: 0,
- points: 20,
- substeps: [{
- id: 0,
- sound: '1',
- hagText: tutoriallang.step1,
- }
- ]
- }, {
- id: 1,
- points: 10,
- substeps: [{
- id: 0,
- highlightElement: ".featured-games .big-game",
- direction: "l",
- hagText: tutoriallang.step2,
- radius: 3,
- sound: '2'
- }, {
- id: 1,
- highlightElement: ".featured-games .big-game .reward-tag .soulstones",
- direction: "tr",
- hagText: tutoriallang.step3,
- radius: 3,
- sound: '3'
- }, {
- id: 2,
- highlightElement: ".earth-bg .gh-grid .reward-tile",
- direction: "l",
- radius: 3,
- hagText: tutoriallang.step4,
- sound: '4'
- }, {
- id: 3,
- highlightElement: ".earth-bg .gh-grid .reward-tile .reward-tag .soulstones",
- direction: "r",
- radius: 3,
- hagText: tutoriallang.step4bis,
- sound: '5'
- }
- ]
- }, {
- id: 2,
- points: 10,
- substeps: [{
- id: 0,
- highlightElement: "#profile-stuff .stuff.soulstones",
- direction: "tr",
- radius: 3,
- sound: '6',
- initFunction: function () {},
- hagText: tutoriallang.step5,
- hagPushed: false
- }, {
- id: 1,
- highlightElement: "#profile-experience",
- direction: "t",
- radius: 0,
- sound: '7',
- hagText: tutoriallang.step6,
- hagPushed: false
- }, {
- id: 2,
- highlightElement: "#profile-box .profile-link .rank",
- direction: "t",
- radius: 7,
- sound: '8',
- hagText: tutoriallang.step7,
- hagPushed: false
- }, {
- id: 3,
- highlightElement: "#profile-box .profile-link .avatar-badge",
- direction: "tl",
- radius: 5,
- sound: '9',
- hagText: tutoriallang.step8,
- hagPushed: false
- }, {
- id: 4,
- highlightElement: "#profile-tools",
- direction: "tr",
- sound: '10',
- hagText: tutoriallang.step9,
- }, {
- id: 5,
- highlightElement: "#friend-list",
- direction: "r",
- sound: '11',
- hagText: tutoriallang.step10,
- }, {
- id: 6,
- highlightElement: "#friends-activity",
- direction: "r",
- sound: '12',
- hagText: tutoriallang.step11,
- }, {
- id: 7,
- highlightElement: "#today-occassion",
- direction: "tr",
- sound: '13',
- hagText: tutoriallang.step12,
- }, {
- id: 8,
- highlightElement: "#profile-stuff .stuff.soulstones",
- direction: "t",
- sound: '14',
- hagText: tutoriallang.step13,
- hagPushed: false,
- clickFunction: function () {
- $timeout(function () {
- var t = true;
- vm.loaderVisible = true;
- getPage(soulgems_page, 0).then(function () {
- vm.loaderVisible = false;
- vm.proceed();
- });
- }, 0);
- }
- }
- ]
- }, {
- id: 3,
- points: 50,
- substeps: [{
- id: 0,
- highlightElement: "#page-content",
- direction: "tl",
- sound: '15',
- initFunction: function () {
- window.scrollTo(0, 0);
- var elem = angular.element(document.querySelector("#fb-like"))[0];
- vm.currentTemplate = 'fblike.html';
- if (typeof(elem) !== "undefined") {
- var toScroll = elem.getBoundingClientRect().top - scrollOffset - 50;
- $(isWebkit ? "body" : "html").animate({
- scrollTop: toScroll
- }, 7000, function () {
- vm.confirmSubstep();
- });
- } else {
- vm.confirmSubstep();
- vm.confirmSubstep();
- }
- },
- hagText: tutoriallang.step14,
- }, {
- id: 1,
- highlightElement: "#fb-like",
- radius: 10,
- direction: "tl",
- initFunction: function () {
- var fboriginal = angular.element(document.querySelector("#fbiframe"))[0].getBoundingClientRect();
- vm.confirmArrowDisabled = true;
- vm.tutorialContentVisible = true;
- vm.tutorialContentStyle = {
- position: 'absolute',
- top: fboriginal.top,
- left: fboriginal.left,
- bottom: 'auto',
- right: 'auto'
- }
- vm.fbLikeBoxWidth = angular.element(document.querySelector("#fbiframe"))[0].offsetWidth;
- vm.tutorialContentMouseover = function () {
- $timeout(function () {
- vm.confirmArrowDisabled = false;
- }, 300);
- }
- },
- hagText: tutoriallang.step14,
- }, {
- id: 2,
- sound: '16',
- initFunction: function () {
- vm.tutorialContentVisible = false;
- vm.tutorialContentStyle = {}
- vm.tutorialContentMouseover = undefined;
- },
- highlightElement: "#friend-inv",
- direction: "tl",
- radius: 3,
- hagText: tutoriallang.step15,
- }
- ]
- }, {
- id: 4,
- points: 10,
- initFunction: function () {
- $("#main-content").prepend("<div class='container-fluid single-game-page-wrapper'></div>");
- vm.displayed = {
- holeX: 0,
- holeY: 0,
- holeWidth: 0,
- holeHeight: 0,
- arrowX: -100,
- arrowY: -100
- }
- },
- substeps: [{
- id: 0,
- sound: '17',
- hagText: tutoriallang.step16,
- initFunction: function () {
- vm.currentTemplate = 'profile0.html';
- vm.tutorialContentVisible = true;
- }
- }
- ]
- }, {
- id: 5,
- points: 20,
- substeps: [{
- id: 0,
- sound: '19',
- hagText: tutoriallang.step17,
- initFunction: function () {
- vm.currentTemplate = 'profile1.html';
- vm.tutorialContentVisible = true;
- }
- }, {
- id: 1,
- sound: '20',
- hagText: tutoriallang.step18,
- initFunction: function () {
- vm.currentTemplate = 'profile2.html';
- vm.tutorialContentVisible = true;
- }
- }, {
- id: 2,
- sound: '21',
- hagText: tutoriallang.step19,
- initFunction: function () {
- vm.proceedHidden = true;
- vm.currentTemplate = 'profile3.html';
- vm.tutorialContentVisible = true;
- }
- }
- ]
- }, {
- id: 6,
- points: 0,
- substeps: [{
- id: 0,
- highlightElement: "#page-content",
- direction: "tl",
- sound: '22',
- initFunction: function () {
- window.scrollTo(0, 0);
- $(isWebkit ? "body" : "html").animate({
- scrollTop: 270
- }, 9000, function () {
- vm.confirmSubstep();
- });
- },
- hagText: tutoriallang.step20,
- }, {
- id: 1,
- highlightElement: "#single-game-task",
- sound: '23',
- direction: "tr",
- radius: 3,
- hagText: tutoriallang.step21,
- }, {
- id: 2,
- highlightElement: "#single-game-points",
- sound: '24',
- direction: "br",
- radius: 5,
- hagText: tutoriallang.step22,
- }, {
- id: 3,
- highlightElement: "#single-game-play",
- sound: '25',
- direction: "r",
- radius: 3,
- hagText: tutoriallang.step23,
- initFunction: function () {
- vm.proceedHidden = true;
- },
- clickFunction: function () {
- window.open(vm.chosenGamePlayUrl, '_blank');
- location.reload();
- }
- }
- ]
- }
- ];
- if (!vm.mobileHidden) {
- setStep(0, 0);
- }
- vm.rewardCategories = [{
- id: 1,
- name: tutoriallang.currency,
- bg: '/img/rewards/background/1000%20z%C5%82ota_min.jpg'
- }, {
- id: 2,
- name: tutoriallang.cdkeys,
- bg: '/img/rewards/background/wied%C5%BAmin%203:%20dziki%20gon_min.jpg'
- }, {
- id: 3,
- name: tutoriallang.voucher,
- bg: '/img/rewards/background/steam%20wallet%205%E2%82%AC_min.jpg'
- }, {
- id: 4,
- name: tutoriallang.others,
- bg: '/img/rewards/background/world%20of%20warcraft%2060_min.jpg'
- }, {
- id: 5,
- name: 'CS:GO',
- bg: '/img/rewards/background/counter%20strike%20global%20offensive_min.jpg'
- }
- ];
- $scope.$watch('vm.chosenRewardCategory', function (newValue, oldValue) {
- $http({
- method: 'POST',
- url: '/api/v1/tutorial/rewards',
- data: {
- id: newValue,
- random: false,
- count: 4
- }
- }).then(function (result) {
- vm.rewardList = result.data;
- }, function (result) {});
- });
- vm.croppers = {
- list: {
- 1: {
- file: undefined,
- data: undefined,
- url: undefined,
- options: {
- viewMode: 2,
- autoCropArea: 0.9,
- zoomable: false,
- aspectRatio: 1,
- minContainerWidth: 10,
- minContainerHeight: 10,
- minNaturalWidth: 150,
- minNaturalHeight: 150,
- destinationWidth: 256,
- destinationHeight: 256,
- crop: function (dataNew) {
- vm.graphicsSaved = false;
- vm.croppers.list[1].data = dataNew;
- }
- },
- showFunction: function () {
- $scope.$broadcast('show1');
- },
- hideFunction: function () {
- $scope.$broadcast('hide1');
- },
- showEvent: 'show1',
- hideEvent: 'hide1',
- onFile: function (blob) {
- encodeBlob(blob, 1);
- },
- crop: function () {
- Cropper.crop(vm.croppers.list[1].file, vm.croppers.list[1].data).then(Cropper.encode).then(function (result) {
- return result
- });
- }
- }
- }
- }
- vm.surfaceClick = function (event, stepId, substepId) {
- var clickX = event.offsetX;
- var clickY = event.offsetY;
- if (clickX >= vm.displayed.holeX && clickX <= vm.displayed.holeX + vm.displayed.holeWidth) {
- if (clickY >= vm.displayed.holeY && clickY <= vm.displayed.holeY + vm.displayed.holeHeight) {
- if (vm.steps[stepId].substeps[substepId].clickFunction != undefined) {
- vm.steps[stepId].substeps[substepId].clickFunction();
- }
- }
- }
- }
- vm.profileDetails = {
- sex: 0
- }
- if (usertutorial.avatar.length >= 0)
- vm.defaultAvatarUrl = usertutorial.avatar;
- if (usertutorial.birth_day.length >= 0)
- vm.profileDetails.day = usertutorial.birth_day;
- if (usertutorial.birth_month.length >= 0)
- vm.profileDetails.month = usertutorial.birth_day;
- if (usertutorial.birth_year.length >= 0)
- vm.profileDetails.year = usertutorial.birth_year;
- if (usertutorial.city.length >= 0)
- vm.profileDetails.city = usertutorial.city;
- if (usertutorial.sex != undefined)
- vm.profileDetails.sex = usertutorial.sex;
- vm.confirmSubstep = function () {
- var currentSubstepId = vm.currentStep.currentSubstep.id;
- var currentStepId = vm.currentStep.id;
- if (vm.currentStep.substeps.length > currentSubstepId + 1) {
- setStep(vm.currentStep.id, currentSubstepId + 1);
- } else if (vm.steps.length > currentStepId + 1) {
- vm.proceed();
- }
- }
- vm.proceed = function () {
- vm.proceedHidden = true;
- var currentStepId = vm.currentStep.id;
- if (currentStepId != 5) {
- var t = vm.currentStep.id + 1;
- $.ajax({
- url: "/api/v1/tutorial/step" + t,
- type: "post",
- headers: {
- 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
- },
- success: function (res) {
- setStep(currentStepId + 1, 0);
- }
- });
- }
- }
- vm.chooseReward = function (id) {
- vm.loaderVisible = true;
- vm.chosenRewardId = id;
- $http({
- method: 'POST',
- url: '/api/v1/tutorial/games',
- data: {
- random: false,
- count: 4
- }
- }).then(function (result) {
- vm.gameList = result.data;
- vm.loaderVisible = false;
- vm.confirmSubstep();
- }, function (result) {});
- }
- vm.loadRandomRewards = function (id) {
- vm.loaderVisible = true;
- $http({
- method: 'POST',
- url: '/api/v1/tutorial/rewards',
- data: {
- id: id,
- random: true,
- count: 4
- }
- }).then(function (result) {
- vm.rewardList = result.data;
- vm.loaderVisible = false;
- }, function (result) {});
- }
- vm.loadRandomGames = function () {
- vm.loaderVisible = true;
- $http({
- method: 'POST',
- url: '/api/v1/tutorial/games',
- data: {
- random: true,
- count: 4
- }
- }).then(function (result) {
- vm.gameList = result.data;
- vm.loaderVisible = false;
- }, function (result) {});
- }
- vm.chooseGame = function (id, url, playurl) {
- vm.chosenGameId = id;
- vm.loaderVisible = true;
- var currentStepId = vm.currentStep.id;
- var stepObject = {};
- vm.currentTemplate = undefined;
- vm.tutorialContentVisible = false;
- if (vm.croppers.list[1].url) {
- if (vm.croppers.list[1].options.destinationHeight && vm.croppers.list[1].data) {
- vm.croppers.list[1].data.destinationHeight = vm.croppers.list[1].options.destinationHeight;
- }
- if (vm.croppers.list[1].options.destinationWidth && vm.croppers.list[1].data) {
- vm.croppers.list[1].data.destinationWidth = vm.croppers.list[1].options.destinationWidth;
- }
- Cropper.crop(vm.croppers.list[1].file, vm.croppers.list[1].data).then(Cropper.encode).then(function (result) {
- var avatar = result;
- stepObject = {
- birth: vm.profileDetails.year + '-' + vm.profileDetails.month + '-' + vm.profileDetails.day,
- city: vm.profileDetails.city,
- sex: vm.profileDetails.sex,
- chosenGame: vm.chosenGameId,
- chosenReward: vm.chosenRewardId,
- avatar: avatar
- };
- var stepno = vm.currentStep.id + 1;
- $http({
- method: 'POST',
- url: "/api/v1/tutorial/step" + stepno,
- data: stepObject
- }).then(function (result) {
- var t = true;
- getPage(url, 0).then(function () {
- if (t) {
- t = false;
- window.scrollTo(0, 0);
- vm.loaderVisible = false;
- vm.chosenGameUrl = url;
- vm.chosenGamePlayUrl = playurl;
- setStep(stepno, 0);
- }
- });
- }, function (result) {});
- });
- } else {
- stepObject = {
- birth: vm.profileDetails.year + '-' + vm.profileDetails.month + '-' + vm.profileDetails.day,
- city: vm.profileDetails.city,
- sex: vm.profileDetails.sex,
- chosenGame: vm.chosenGameId,
- chosenReward: vm.chosenRewardId
- };
- var stepno = vm.currentStep.id + 1;
- $http({
- method: 'POST',
- url: "/api/v1/tutorial/step" + stepno,
- data: stepObject
- }).then(function (result) {
- var t = true;
- getPage(url, 0).then(function () {
- if (t) {
- t = false;
- window.scrollTo(0, 0);
- vm.loaderVisible = false;
- vm.chosenGameUrl = url;
- vm.chosenGamePlayUrl = playurl;
- setStep(stepno, 0);
- }
- });
- }, function (result) {});
- }
- }
- function getHighlightElement(str) {
- var elem = angular.element(document.querySelector(str))[0];
- return elem
- }
- function visualSetStep() {
- if (vm.currentStep.currentSubstep.highlightElement) {
- var highlightElement = getHighlightElement(vm.currentStep.currentSubstep.highlightElement);
- if (vm.currentStep.id == 3 && vm.currentStep.currentSubstep.id == 0) {
- drawArrow(highlightElement, false);
- } else if (!isScrolledIntoView(highlightElement)) {
- drawArrow(highlightElement, true);
- } else {
- drawArrow(highlightElement, false);
- }
- }
- if (vm.currentStep.initFunction != undefined)
- vm.currentStep.initFunction();
- if (vm.currentStep.currentSubstep.initFunction != undefined)
- vm.currentStep.currentSubstep.initFunction();
- $timeout(function () {
- vm.bubbleVisible = true;
- }, 500);
- }
- function setStep(stepId, substepId) {
- vm.proceedHidden = false;
- vm.bubbleVisible = false;
- vm.currentStep = vm.steps[stepId];
- vm.currentStep.currentSubstep = vm.steps[stepId].substeps[substepId];
- if (!vm.soundMuted && user.lang == 'pl') {
- playAudio('/sounds/tutorial/' + vm.currentStep.currentSubstep.sound);
- }
- visualSetStep();
- }
- function offset(el) {
- var rect = el.getBoundingClientRect(),
- scrollLeft = window.pageXOffset || document.documentElement.scrollLeft,
- scrollTop = window.pageYOffset || document.documentElement.scrollTop;
- return {
- top: rect.top + scrollTop,
- left: rect.left + scrollLeft
- }
- }
- function drawArrow(highlightElement, scroll) {
- if (scroll) {
- vm.displayed.holeWidth = 0;
- vm.displayed.holeHeight = 0;
- var toScroll = offset(highlightElement).top - scrollOffset;
- $(isWebkit ? "body" : "html").animate({
- scrollTop: toScroll
- }, scrollDuration, function () {
- $timeout(function () {
- vm.displayed.holeWidth = highlightElement.offsetWidth;
- vm.displayed.holeHeight = highlightElement.offsetHeight;
- vm.displayed.holeX = highlightElement.getBoundingClientRect().left;
- vm.displayed.holeY = highlightElement.getBoundingClientRect().top;
- setArrowDirection(vm.currentStep.currentSubstep.direction);
- $scope.$apply();
- }, 100);
- });
- } else {
- $timeout(function () {
- vm.displayed.holeWidth = highlightElement.offsetWidth;
- vm.displayed.holeHeight = highlightElement.offsetHeight;
- vm.displayed.holeX = highlightElement.getBoundingClientRect().left;
- vm.displayed.holeY = highlightElement.getBoundingClientRect().top;
- setArrowDirection(vm.currentStep.currentSubstep.direction);
- $scope.$apply();
- }, 100);
- }
- }
- function isScrolledIntoView(el) {
- var elemTop = el.getBoundingClientRect().top;
- var elemBottom = el.getBoundingClientRect().bottom;
- var isVisible = (elemTop >= 0) && (elemBottom + 40 <= window.innerHeight);
- return isVisible;
- }
- function setArrowDirection(direction) {
- if (direction == 'tl') {
- vm.displayed.arrowX = vm.displayed.holeX + vm.displayed.holeWidth;
- vm.displayed.arrowY = vm.displayed.holeY + vm.displayed.holeHeight;
- }
- if (direction == 't') {
- vm.displayed.arrowX = vm.displayed.holeX + vm.displayed.holeWidth / 2 - arrowWidth / 2;
- vm.displayed.arrowY = vm.displayed.holeY + vm.displayed.holeHeight;
- }
- if (direction == 'tr') {
- vm.displayed.arrowX = vm.displayed.holeX - arrowWidth;
- vm.displayed.arrowY = vm.displayed.holeY + vm.displayed.holeHeight;
- }
- if (direction == 'bl') {
- vm.displayed.arrowX = vm.displayed.holeX + vm.displayed.holeWidth;
- vm.displayed.arrowY = vm.displayed.holeY - vm.displayed.holeHeight - arrowWidth / 2;
- }
- if (direction == 'b') {
- vm.displayed.arrowX = vm.displayed.holeX + vm.displayed.holeWidth / 2 - arrowWidth / 2;
- vm.displayed.arrowY = vm.displayed.holeY - vm.displayed.holeHeight - arrowWidth / 2;
- }
- if (direction == 'br') {
- vm.displayed.arrowX = vm.displayed.holeX - arrowWidth;
- vm.displayed.arrowY = vm.displayed.holeY - vm.displayed.holeHeight - arrowWidth / 2;
- }
- if (direction == 'r') {
- vm.displayed.arrowX = vm.displayed.holeX - arrowWidth;
- vm.displayed.arrowY = vm.displayed.holeY + vm.displayed.holeHeight / 2 - arrowWidth / 2;
- }
- if (direction == 'l') {
- vm.displayed.arrowX = vm.displayed.holeX + vm.displayed.holeWidth;
- vm.displayed.arrowY = vm.displayed.holeY + vm.displayed.holeHeight / 2 - arrowWidth / 2;
- }
- }
- function getBlobFromUrl(url, cropperId) {
- if (url.length > 0) {
- var imageUrl = url;
- var xhr = new XMLHttpRequest();
- xhr.onreadystatechange = function () {
- if (this.readyState == 4 && this.status == 200) {
- vm.croppers.list[cropperId].onFile(this.response);
- imagesLoaded++;
- }
- }
- xhr.open('GET', imageUrl);
- xhr.responseType = 'blob';
- xhr.send();
- }
- }
- function passBlobToCropper(blob, cropperId) {
- vm.croppers.list[cropperId].onFile(blob);
- }
- function getSizeOfBase64(base) {
- var deferred = $q.defer();
- var img = new Image();
- img.src = base;
- img.onload = function () {
- var obj = {
- width: img.width,
- height: img.height
- }
- deferred.resolve(obj);
- }
- return deferred.promise;
- }
- function encodeBlob(blob, cropperId) {
- Cropper.encode((vm.croppers.list[cropperId].file = blob)).then(function (dataUrl) {
- if (dataUrl != "noblob") {
- getSizeOfBase64(dataUrl).then(function (res) {
- var imgSize = res;
- if ((imgSize.width >= vm.croppers.list[cropperId].options.minNaturalWidth) && (imgSize.height >= vm.croppers.list[cropperId].options.minNaturalHeight)) {
- var containerwidth = angular.element(document.getElementById('cropper-' + cropperId))[0].clientWidth;
- var minCropBoxWidth = (vm.croppers.list[cropperId].options.minNaturalWidth * containerwidth) / imgSize.width;
- var minCropBoxHeight = minCropBoxWidth * (vm.croppers.list[cropperId].options.minNaturalHeight / vm.croppers.list[cropperId].options.minNaturalWidth);
- vm.croppers.list[cropperId].options.minCropBoxWidth = minCropBoxWidth;
- vm.croppers.list[cropperId].options.minCropBoxHeight = minCropBoxHeight;
- vm.croppers.list[cropperId].url = dataUrl;
- $timeout(vm.croppers.list[cropperId].hideFunction);
- $timeout(vm.croppers.list[cropperId].showFunction);
- } else {
- notyAlert(tutoriallang.smallAvatar + ' (Minimum: 150x150)', 'error');
- }
- });
- } else {
- notyAlert('BLOB ERROR', 'error');
- }
- });
- }
- function b64toBlob(b64Data, contentType, sliceSize) {
- contentType = contentType || '';
- sliceSize = sliceSize || 512;
- var byteCharacters = atob(b64Data);
- var byteArrays = [];
- for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
- var slice = byteCharacters.slice(offset, offset + sliceSize);
- var byteNumbers = new Array(slice.length);
- for (var i = 0; i < slice.length; i++) {
- byteNumbers[i] = slice.charCodeAt(i);
- }
- var byteArray = new Uint8Array(byteNumbers);
- byteArrays.push(byteArray);
- }
- var blob = new Blob(byteArrays, {
- type: contentType
- });
- return blob;
- }
- }
- ]);
- function muteMe(elem) {
- elem.muted = true;
- }
- function mutePage() {
- var videos = document.querySelectorAll("video"),
- audios = document.querySelectorAll("audio");
- [].forEach.call(videos, function (video) {
- muteMe(video);
- });
- [].forEach.call(audios, function (audio) {
- muteMe(audio);
- });
- }
- function unmute(elem) {
- elem.muted = false;
- }
- function unmutePage() {
- var videos = document.querySelectorAll("video"),
- audios = document.querySelectorAll("audio");
- [].forEach.call(videos, function (video) {
- unmute(video);
- });
- [].forEach.call(audios, function (audio) {
- unmute(audio);
- });
- }
- var pages = 0;
- var state = currentRoute;
- $(document).ajaxSend(function (event, jqxhr, settings) {
- if (typeof(settings) !== "undefined" && typeof(settings.headers) !== "undefined" && typeof(settings.headers.back) === "undefined") {
- NProgress.start();
- }
- }).ajaxComplete(function () {
- NProgress.done();
- });
- $(window).on("popstate", function (e) {
- getPage(document.location, 1);
- });
- $('body').on('click', 'a', function () {
- var blazy = new Blazy({
- 'offset': 500
- });
- var url = $(this).attr('href');
- if (typeof(url) !== "undefined" && url.indexOf('#') >= 0) {
- return true;
- }
- if (($(this).hasClass('block-refresh')) || ($(this).hasClass('notyConfirm'))) {
- return true;
- }
- if ($(this).attr('target') == "_blank") {
- return true;
- }
- var domainl = domain;
- if (domainl.indexOf(':8000') >= 0 || domainl.indexOf(':3000')) {
- domainl = domainl.replace(':8000', '').replace(':3000', '');
- }
- if (domainl.indexOf('localhost') < 0 && domainl.indexOf('https://gamehag.com') < 0 && domainl.indexOf('https://v2.gamehag.com') < 0 && domainl.indexOf('gamehag.com') < 0) {
- return true;
- }
- var urlarr = ['auth'];
- if (urlarr.indexOf(url) >= 0) {
- return true;
- }
- if (state == "games.show") {
- console.log('elo');
- Dropzone.forElement("#dropzone-task").destroy();
- Dropzone.forElement("#dropzone-screen").destroy();
- }
- if (state == "roulette.index") {
- console.log('roul exity');
- socket.emit('roulette exit');
- }
- getPage(url, 0);
- return false;
- });
- function getPage(url, back) {
- var pagePromise = new Promise(function (resolve, reject) {
- $.ajax({
- url: url,
- cache: false,
- type: "GET",
- headers: {
- 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
- 'content': 1
- },
- success: function (res) {
- resolve("Success!");
- NProgress.set(0.7);
- if (typeof(res.content) === "undefined") {
- window.top.location = url;
- return false;
- }
- $(window).scrollTop(0);
- if (domain.indexOf(':8000') >= 0 && res.url.indexOf(':3000') >= 0) {
- res.url = res.url.replace(':3000', ':8000');
- } else if (domain.indexOf(':3000') >= 0 && res.url.indexOf(':8000') >= 0) {
- res.url = res.url.replace(':8000', ':3000');
- }
- document.title = res.title;
- if (!back) {
- window.history.pushState(res.state, res.title, res.url);
- state = res.state;
- }
- if (state == "chat.index") {
- chatPageOpen = true;
- angular.element(document.querySelector('body')).scope().$root.onChatPage = true;
- } else {
- chatPageOpen = false;
- angular.element(document.querySelector('body')).scope().$root.onChatPage = false;
- }
- $('meta[name="csrf-token"]').attr('content', res.token);
- var blazy = new Blazy({
- 'offset': 500
- });
- setTimeout(blazy.revalidate(), 100);
- $(".tooltip").empty();
- $("#head").empty().html(res.head);
- var queueLen = app._invokeQueue.length;
- $("#page-content").empty().html(res.content);
- $("#modals").empty().html(res.modal);
- $("#scriptsadd").empty().html(res.scripts);
- var queue = app._invokeQueue;
- for (var i = queueLen; i < queue.length; i++) {
- var call = queue[i];
- var provider = providers[call[0]];
- if (provider) {
- provider[call[1]].apply(provider, call[2]);
- }
- }
- angular.element("body").injector().invoke(function ($compile) {
- var scope = angular.element("#page-content").scope();
- $compile("#page-content")(scope);
- });
- var analurl = res.url;
- analurl = analurl.replace('https://gamehag.com/', '').replace('https://gamehag.com', '');
- if (typeof(user) !== "undefined") {
- ga('set', 'userId', user.id);
- }
- ga('set', 'page', analurl);
- ga('send', 'pageview');
- pages++;
- },
- error: function (err) {
- window.top.location = url;
- return false;
- }
- });
- });
- return pagePromise
- }
Add Comment
Please, Sign In to add comment