From 5117e4656d0aff6a239f1f61a6c91bf07606983f Mon Sep 17 00:00:00 2001 From: Mike Williams Date: Tue, 13 Jul 2021 11:21:31 -0400 Subject: [PATCH] fix tag link bug --- .prettierrc | 6 + client/edit-profile.js | 4 +- client/firebase.js | 307 +++++++++++++++++++++++++---------------- client/markup.js | 281 +++++++++++++++++++++++-------------- client/projects.js | 15 +- 5 files changed, 381 insertions(+), 232 deletions(-) create mode 100644 .prettierrc diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..b5e9324 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "singleQuote": true, + "semi": false, + "tabWidth": 2, + "arrowParens": "avoid" +} diff --git a/client/edit-profile.js b/client/edit-profile.js index a4e0b95..b44803a 100644 --- a/client/edit-profile.js +++ b/client/edit-profile.js @@ -13,12 +13,12 @@ setTimeout(() => { $('#wf-form-Editing-Profile').submit(function (event) { event.preventDefault() let data = objectifyForm($(this).serializeArray().filter(i => i.value)) - console.log(data) + console.log({ data }) updateUser(data) }) async function updateUser(data) { - console.log(firebaseUser) + console.log({ firebaseUser }) if (!firebaseUser || firebaseUser.username === data.username || await searchUserBySlug(slugify(data.username)) == false) { data.username = slugify(data.username) return USERS.doc(currentUser.id).set({ diff --git a/client/firebase.js b/client/firebase.js index b605203..d4fe252 100644 --- a/client/firebase.js +++ b/client/firebase.js @@ -1,18 +1,18 @@ var firebaseConfig = { - apiKey: "AIzaSyAyeQF-e3zLH63-EQPb8TmNT6kPbPDQ-9Q", - authDomain: "makerpad-94656.firebaseapp.com", - databaseURL: "https://makerpad-94656.firebaseio.com", - projectId: "makerpad-94656", - storageBucket: "makerpad-94656.appspot.com", - messagingSenderId: "605558417729", - appId: "1:605558417729:web:335367a103d85d967519c0", - measurementId: "G-Y9ZL70K32T" + apiKey: 'AIzaSyAyeQF-e3zLH63-EQPb8TmNT6kPbPDQ-9Q', + authDomain: 'makerpad-94656.firebaseapp.com', + databaseURL: 'https://makerpad-94656.firebaseio.com', + projectId: 'makerpad-94656', + storageBucket: 'makerpad-94656.appspot.com', + messagingSenderId: '605558417729', + appId: '1:605558417729:web:335367a103d85d967519c0', + measurementId: 'G-Y9ZL70K32T', } // Initialize Firebase firebase.initializeApp(firebaseConfig) try { firebase.analytics() -} catch (e) { } +} catch (e) {} var db = firebase.firestore() var storage = firebase.storage() @@ -26,11 +26,19 @@ var searchArray = [] var timeout var firebaseCollections = { - 'company': [], 'projects': [], 'user_project': [], 'user_user': [], 'user_tutorial': [], 'user_workflow': [], 'user_company': [], 'reviews': [], 'workflows': [] + company: [], + projects: [], + user_project: [], + user_user: [], + user_tutorial: [], + user_workflow: [], + user_company: [], + reviews: [], + workflows: [], } var stockImages = { - user: 'https://w5insight.com/wp-content/uploads/2014/07/placeholder-user-400x400.png' + user: 'https://w5insight.com/wp-content/uploads/2014/07/placeholder-user-400x400.png', } var COMPANY = db.collection('company') @@ -56,11 +64,15 @@ function initMemberstack() { console.log(member) currentUser = member if (member.id) { - USERS.doc(member.id).get() + USERS.doc(member.id) + .get() .then(doc => { if (doc.exists) { firebaseUser = doc.data() - $('.current-user-profile-link').attr('href', `/u/${firebaseUser.username}`) + $('.current-user-profile-link').attr( + 'href', + `/u/${firebaseUser.username}` + ) $('.image-111').attr('src', firebaseUser.imageUrl) $('#username').val(firebaseUser.username) $('#sponsor').val(firebaseUser.sponsor) @@ -77,13 +89,18 @@ function initMemberstack() { } else { console.log('new user detected, adding to firebase') var info = memberstack.information - USERS.doc(member.id).set(info, { merge: true }) + USERS.doc(member.id) + .set(info, { merge: true }) .then(() => { - USERS.doc(member.id).get() + USERS.doc(member.id) + .get() .then(doc => { firebaseUser = doc.data() $('#username').val(firebaseUser.username) - $('.current-user-profile-link').attr('href', `/u/${firebaseUser.username}`) + $('.current-user-profile-link').attr( + 'href', + `/u/${firebaseUser.username}` + ) }) }) } @@ -96,7 +113,8 @@ function initMemberstack() { } function getUserNameFromMemberstackId(memberstackId) { - return USERS.doc(memberstackId).get() + return USERS.doc(memberstackId) + .get() .then(doc => { if (doc.exists) { let data = doc.data() @@ -109,7 +127,8 @@ function getUserNameFromMemberstackId(memberstackId) { } function getMemberstackIdFromUsername(username) { - return USERS.where("username", "==", username).get() + return USERS.where('username', '==', username) + .get() .then(snapshot => { if (snapshot.empty) return false console.log(snapshot.docs[0].data()) @@ -132,7 +151,9 @@ function handleSuccess(message) { function firebaseAuth() { // Sign in anonymously to restrict firestore access to makerpad.com if (firebase.auth().currentUser && firebase.auth().currentUser.uid) return - firebase.auth().signInAnonymously() + firebase + .auth() + .signInAnonymously() .then(user => console.log('Firebase signed in anon')) .catch(error => console.log(error)) } @@ -158,7 +179,10 @@ function slugify(text) { } function slugExists(slug, collection) { - return db.collection(collection).doc(slug).get() + return db + .collection(collection) + .doc(slug) + .get() .then(doc => { if (doc.exists) return true return false @@ -170,31 +194,45 @@ function isCurrentUserContent(checkValue) { } function userSavedTutorial(id) { - return firebaseCollections['user_tutorial'].some(item => item.tutorialId === id && item.watchLater == true) + return firebaseCollections['user_tutorial'].some( + item => item.tutorialId === id && item.watchLater == true + ) } function userCompletedTutorial(id) { - return firebaseCollections['user_tutorial'].some(item => item.tutorialId === id && item.completed == true) + return firebaseCollections['user_tutorial'].some( + item => item.tutorialId === id && item.completed == true + ) } function userFollowsCompany(id) { - return firebaseCollections['user_company'].some(item => item.companyId === id && item.followed == true) + return firebaseCollections['user_company'].some( + item => item.companyId === id && item.followed == true + ) } function userLikesProject(id) { - return firebaseCollections['user_project'].some(item => item.projectId === id && item.followed == true) + return firebaseCollections['user_project'].some( + item => item.projectId === id && item.followed == true + ) } function userLikesWorkflow(id) { - return firebaseCollections['user_workflow'].some(item => item.workflowId === id && item.liked == true) + return firebaseCollections['user_workflow'].some( + item => item.workflowId === id && item.liked == true + ) } function userSavedWorkflow(id) { - return firebaseCollections['user_workflow'].some(item => item.workflowId === id && item.saved == true) + return firebaseCollections['user_workflow'].some( + item => item.workflowId === id && item.saved == true + ) } function userFollowsUser(id) { - return firebaseCollections['user_user'].some(item => item.targetUser === id && item.followed == true) + return firebaseCollections['user_user'].some( + item => item.targetUser === id && item.followed == true + ) } function followCompany(companyId, reverse) { @@ -202,29 +240,32 @@ function followCompany(companyId, reverse) { updateCompany(companyId, { userId: currentUser.id, companyId, - followed: reverse ? false : true + followed: reverse ? false : true, }) COMPANY.doc(companyId).update({ - likes: reverse ? decrement : increment + likes: reverse ? decrement : increment, }) } async function updateCompany(id, object) { - await USER_COMPANY.doc(`${currentUser.id}-${id}`).set(object, { merge: true }) + await USER_COMPANY.doc(`${currentUser.id}-${id}`) + .set(object, { merge: true }) .then(() => console.log(object)) .catch(error => handleError(error)) } function followProject(projectId, reverse) { - if (!currentUser || !currentUser.id) return window.location = 'https://www.makerpad.co/pricing' + if (!currentUser || !currentUser.id) + return (window.location = 'https://www.makerpad.co/pricing') let object = { userId: currentUser.id, projectId, - followed: reverse ? false : true + followed: reverse ? false : true, } - USER_PROJECT.doc(`${currentUser.id}-${projectId}`).set(object, { merge: true }) + USER_PROJECT.doc(`${currentUser.id}-${projectId}`) + .set(object, { merge: true }) .then(() => console.log(object)) .catch(error => handleError(error)) @@ -236,20 +277,22 @@ function followProject(projectId, reverse) { $(`[data-project="${projectId}"] .like-project-button`).hide() } PROJECTS.doc(projectId).update({ - likes: reverse ? decrement : increment + likes: reverse ? decrement : increment, }) } function likeWorkflow(workflowId, reverse) { - if (!currentUser || !currentUser.id) return window.location = 'https://www.makerpad.co/pricing' + if (!currentUser || !currentUser.id) + return (window.location = 'https://www.makerpad.co/pricing') let object = { userId: currentUser.id, workflowId, - liked: reverse ? false : true + liked: reverse ? false : true, } - USER_WORKFLOW.doc(`${currentUser.id}-${workflowId}`).set(object, { merge: true }) + USER_WORKFLOW.doc(`${currentUser.id}-${workflowId}`) + .set(object, { merge: true }) .then(() => console.log(object)) .catch(error => handleError(error)) @@ -261,20 +304,22 @@ function likeWorkflow(workflowId, reverse) { $(`[data-workflow="${workflowId}"] .like-workflow-button`).hide() } WORKFLOWS.doc(workflowId).update({ - likes: reverse ? decrement : increment + likes: reverse ? decrement : increment, }) } function saveWorkflow(workflowId, reverse) { - if (!currentUser || !currentUser.id) return window.location = 'https://www.makerpad.co/pricing' + if (!currentUser || !currentUser.id) + return (window.location = 'https://www.makerpad.co/pricing') let object = { userId: currentUser.id, workflowId, - saved: reverse ? false : true + saved: reverse ? false : true, } - USER_WORKFLOW.doc(`${currentUser.id}-${workflowId}`).set(object, { merge: true }) + USER_WORKFLOW.doc(`${currentUser.id}-${workflowId}`) + .set(object, { merge: true }) .then(() => console.log(object)) .catch(error => handleError(error)) @@ -286,7 +331,7 @@ function saveWorkflow(workflowId, reverse) { $(`[data-workflow="${workflowId}"] .save-workflow`).hide() } WORKFLOWS.doc(workflowId).update({ - saves: reverse ? decrement : increment + saves: reverse ? decrement : increment, }) } @@ -294,53 +339,48 @@ async function getCollections() { if (firebaseCollections['company'].length > 0) return await populateSearchArray() - let companyPromise = COMPANY - .get() - .then(snapshot => { - if (snapshot.empty) return false - let records = snapshot.docs.map(doc => doc.data()) - firebaseCollections['company'] = records - return records - }) + let companyPromise = COMPANY.get().then(snapshot => { + if (snapshot.empty) return false + let records = snapshot.docs.map(doc => doc.data()) + firebaseCollections['company'] = records + return records + }) - let projectPromise = PROJECTS - .get() - .then(snapshot => { - if (snapshot.empty) return false - let records = snapshot.docs.map(doc => doc.data()) - firebaseCollections['projects'] = records - return records - }) + let projectPromise = PROJECTS.get().then(snapshot => { + if (snapshot.empty) return false + let records = snapshot.docs.map(doc => doc.data()) + firebaseCollections['projects'] = records + return records + }) - let workflowPromise = WORKFLOWS - .get() - .then(snapshot => { - if (snapshot.empty) return false - let records = snapshot.docs.map(doc => doc.data()) - firebaseCollections['workflows'] = records - return records - }) + let workflowPromise = WORKFLOWS.get().then(snapshot => { + if (snapshot.empty) return false + let records = snapshot.docs.map(doc => doc.data()) + firebaseCollections['workflows'] = records + return records + }) if (currentUser.id) { - let userProjectPromise = USER_PROJECT - .where("userId", "==", currentUser.id) - .where("followed", "==", true) + let userProjectPromise = USER_PROJECT.where('userId', '==', currentUser.id) + .where('followed', '==', true) .get() .then(snapshot => { let records = snapshot.docs.map(doc => doc.data()) firebaseCollections['user_project'] = records return records }) - let userUserPromise = USER_USER - .where("userId", "==", currentUser.id) + let userUserPromise = USER_USER.where('userId', '==', currentUser.id) .get() .then(snapshot => { let records = snapshot.docs.map(doc => doc.data()) firebaseCollections['user_user'] = records return records }) - let userTutorialPromise = USER_TUTORIAL - .where("userId", "==", currentUser.id) + let userTutorialPromise = USER_TUTORIAL.where( + 'userId', + '==', + currentUser.id + ) .get() .then(snapshot => { if (snapshot.empty) return false @@ -349,8 +389,7 @@ async function getCollections() { return records }) - let userCompanyPromise = USER_COMPANY - .where("userId", "==", currentUser.id) + let userCompanyPromise = USER_COMPANY.where('userId', '==', currentUser.id) .get() .then(snapshot => { if (snapshot.empty) return false @@ -359,8 +398,11 @@ async function getCollections() { return records }) - let userWorkflowPromise = USER_WORKFLOW - .where("userId", "==", currentUser.id) + let userWorkflowPromise = USER_WORKFLOW.where( + 'userId', + '==', + currentUser.id + ) .get() .then(snapshot => { if (snapshot.empty) return false @@ -369,16 +411,21 @@ async function getCollections() { return records }) - let reviewPromise = REVIEWS - .get() - .then(snapshot => { - if (snapshot.empty) return false - let records = snapshot.docs.map(doc => doc.data()) - firebaseCollections['reviews'] = records - return records - }) + let reviewPromise = REVIEWS.get().then(snapshot => { + if (snapshot.empty) return false + let records = snapshot.docs.map(doc => doc.data()) + firebaseCollections['reviews'] = records + return records + }) - await Promise.all([userCompanyPromise, userTutorialPromise, userUserPromise, userProjectPromise, userWorkflowPromise, reviewPromise]) + await Promise.all([ + userCompanyPromise, + userTutorialPromise, + userUserPromise, + userProjectPromise, + userWorkflowPromise, + reviewPromise, + ]) } await Promise.all([companyPromise, projectPromise, workflowPromise]) console.log('Got Collections') @@ -386,10 +433,14 @@ async function getCollections() { async function populateSearchArray() { if (searchArray && searchArray.length > 0) return - return db.collection('SEARCH').doc('_index').get().then(doc => { - searchArray = [].concat(...Object.values(doc.data())) - console.log('Search Array Populated') - }) + return db + .collection('SEARCH') + .doc('_index') + .get() + .then(doc => { + searchArray = [].concat(...Object.values(doc.data())) + console.log('Search Array Populated') + }) } async function populateTags() { @@ -408,10 +459,14 @@ async function populateTags() { $('.multiple-select').append(` `) - return searchArray.filter(i => i.type === item.type).forEach(tag => { - tagsArray.push({ type: item.type, value: tag.id }) - $(`#${item.element}`).append(``) - }) + return searchArray + .filter(i => i.type === item.type) + .forEach(tag => { + tagsArray.push({ type: item.type, value: tag.id }) + $(`#${item.element}`).append( + `` + ) + }) }) return $('.div-block-970').show() @@ -419,9 +474,8 @@ async function populateTags() { async function getTaggedProjects(tags) { if (!tags) return [] - return PROJECTS - .where('tags', 'array-contains-any', tags) - .orderBy("created_at", "desc") + return PROJECTS.where('tags', 'array-contains-any', tags) + .orderBy('created_at', 'desc') .get() .then(snapshot => { if (snapshot.empty) return [] @@ -434,7 +488,9 @@ async function getTaggedProjects(tags) { } async function getTags() { - await db.collection('company').get() + await db + .collection('company') + .get() .then(snapshot => { snapshot.forEach(doc => { let data = doc.data() @@ -442,7 +498,9 @@ async function getTags() { }) }) - await db.collection('type').get() + await db + .collection('type') + .get() .then(snapshot => { snapshot.forEach(doc => { let data = doc.data() @@ -450,7 +508,9 @@ async function getTags() { }) }) - await db.collection('challenges').get() + await db + .collection('challenges') + .get() .then(snapshot => { snapshot.forEach(doc => { let data = doc.data() @@ -474,56 +534,67 @@ function populateFormFromData(data) { if (key === 'id' || key === 'slug') return try { $(`[name=${key}]`).val(value) - } catch (error) { } + } catch (error) {} } } function markTutorialComplete(tutorialId, reverse) { - if (!currentUser || !currentUser.id) return window.location = 'https://www.makerpad.co/pricing' + if (!currentUser || !currentUser.id) + return (window.location = 'https://www.makerpad.co/pricing') updateTutorial(tutorialId, { userId: currentUser.id, tutorialId, completed: reverse ? false : true, - watchLater: reverse ? true : false + watchLater: reverse ? true : false, }) TUTORIAL.doc(tutorialId).update({ - completes: reverse ? decrement : increment + completes: reverse ? decrement : increment, }) if (reverse) { $(`[data-tutorial="${tutorialId}"] .cc-mark-as-complete.cc-checked`).hide() - $(`[data-tutorial="${tutorialId}"] .cc-mark-as-complete.cc-unchecked`).show() + $( + `[data-tutorial="${tutorialId}"] .cc-mark-as-complete.cc-unchecked` + ).show() } else { $(`[data-tutorial="${tutorialId}"] .cc-mark-as-complete.cc-checked`).show() - $(`[data-tutorial="${tutorialId}"] .cc-mark-as-complete.cc-unchecked`).hide() + $( + `[data-tutorial="${tutorialId}"] .cc-mark-as-complete.cc-unchecked` + ).hide() } } async function cloneWorkflow(workflowId) { if (!currentUser) return if (!confirm(`Please confirm cloning this workflow`)) return - return WORKFLOWS.doc(workflowId).get().then(doc => { - if (doc.exists) { - let data = doc.data() - data.userId = currentUser.id - WORKFLOWS.add({ ...data, cloned_from: workflowId }) - .then(doc => { + return WORKFLOWS.doc(workflowId) + .get() + .then(doc => { + if (doc.exists) { + let data = doc.data() + data.userId = currentUser.id + WORKFLOWS.add({ ...data, cloned_from: workflowId }).then(doc => { window.open(`/edit-workflow?id=${doc.id}`) }) - } - }) + } + }) } function updateTutorial(id, object) { - USER_TUTORIAL.doc(`${currentUser.id}-${id}`).set(object, { merge: true }) + USER_TUTORIAL.doc(`${currentUser.id}-${id}`) + .set(object, { merge: true }) .then(doc => console.log(object)) .catch(error => handleError(error)) } async function addToolsFromTags(tags) { - let toolTags = searchArray.filter(item => item.type === 'company').map(item => item.id) + let toolTags = searchArray + .filter(item => item.type === 'company') + .map(item => item.id) let userTags = firebaseCollections['user_company'].map(item => item.companyId) console.log({ toolTags, userTags }) - let newTools = tags.filter(item => toolTags.includes(item) && !userTags.includes(item)) + let newTools = tags.filter( + item => toolTags.includes(item) && !userTags.includes(item) + ) console.log(newTools) return newTools.forEach(item => { followCompany(item) @@ -545,4 +616,4 @@ function getUserImage(userObject) { function thisIsMyUser() { return firebaseUser.username === userSlug -} \ No newline at end of file +} diff --git a/client/markup.js b/client/markup.js index f8f1aa3..6727596 100644 --- a/client/markup.js +++ b/client/markup.js @@ -1,50 +1,64 @@ async function renderCompanies(target, items) { - console.log(`Render companies to ${target}`) + console.log(`Render companies to ${target}`); for (item of items) { - let company = item.company - let record = firebaseCollections['company'].find(item => item.slug === company.slug) - if (record && record.likes) company.likes = record.likes - company.reviews = 0 - let logo = (company.logo && company.logo.url) ? company.logo.url : "" + let company = item.company; + let record = firebaseCollections["company"].find( + item => item.slug === company.slug + ); + if (record && record.likes) company.likes = record.likes; + company.reviews = 0; + let logo = company.logo && company.logo.url ? company.logo.url : ""; $(target).append(` -
+
${company.name}

${company.name}

- ${company.verified ? `` : ''} + class= "image-41 tool-verified tooltipstered" >` + : "" + }
${company.tagline}
-
${company.likes ? company.likes : ''}
-
${company.reviews ? company.reviews : ''}
- +
${ + company.likes ? company.likes : "" + }
+
${ + company.reviews ? company.reviews : "" + }
+
Company Profile
- `) + `); - $('#user-sidebar .tools-condensed').append(` + $("#user-sidebar .tools-condensed").append(` - `) + `); } } async function renderTutorials(items) { - console.log(`Rendering tutorials`) + console.log(`Rendering tutorials`); for (item of items) { - let tutorial = item.tutorial - let target = item.completed ? '#tutorials-completed' : '#tutorials-saved' + let tutorial = item.tutorial; + let target = item.completed ? "#tutorials-completed" : "#tutorials-saved"; $(target).append(`
@@ -67,26 +81,37 @@ async function renderTutorials(items) {
-
` - ) + `); if (userCompletedTutorial(tutorial.slug)) { - $(`[data-tutorial="${tutorial.slug}"] .cc-mark-as-complete.cc-checked`).show() - $(`[data-tutorial="${tutorial.slug}"] .cc-mark-as-complete.cc-unchecked`).hide() + $( + `[data-tutorial="${tutorial.slug}"] .cc-mark-as-complete.cc-checked` + ).show(); + $( + `[data-tutorial="${tutorial.slug}"] .cc-mark-as-complete.cc-unchecked` + ).hide(); } else { - $(`[data-tutorial="${tutorial.slug}"] .cc-mark-as-complete.cc-checked`).hide() - $(`[data-tutorial="${tutorial.slug}"] .cc-mark-as-complete.cc-unchecked`).show() + $( + `[data-tutorial="${tutorial.slug}"] .cc-mark-as-complete.cc-checked` + ).hide(); + $( + `[data-tutorial="${tutorial.slug}"] .cc-mark-as-complete.cc-unchecked` + ).show(); } if (tutorial.tools_used) { tutorial.tools_used.forEach(item => { - let company = firebaseCollections['company'].find(com => com.slug === item) + let company = firebaseCollections["company"].find( + com => com.slug === item + ); $(`.tutorial-tools-${tutorial.slug}`).append(` - + - `) - }) + `); + }); } // if (thisIsMyUser()) { @@ -98,18 +123,20 @@ async function renderTutorials(items) { } async function renderProjects(target, items) { - console.log(`Render projects to ${target}`) - if (firebaseCollections['projects'].length == 0) await getCollections() - if (!items) return + console.log(`Render projects to ${target}`); + if (firebaseCollections["projects"].length == 0) await getCollections(); + if (!items) return; for (item of items) { - let project = item + let project = item; $(target).append(`
${project.name} @@ -118,21 +145,28 @@ async function renderProjects(target, items) {
${project.name}
- - - + + +
- `) + `); if (userLikesProject(project.slug)) { - $(`[data-project="${project.slug}"] .unlike-project-button`).show() - $(`[data-project="${project.slug}"] .like-project-button`).hide() + $(`[data-project="${project.slug}"] .unlike-project-button`).show(); + $(`[data-project="${project.slug}"] .like-project-button`).hide(); } else { - $(`[data-project="${project.slug}"] .unlike-project-button`).hide() - $(`[data-project="${project.slug}"] .like-project-button`).show() + $(`[data-project="${project.slug}"] .unlike-project-button`).hide(); + $(`[data-project="${project.slug}"] .like-project-button`).show(); } - if (project.userId === currentUser.id) $(`[data-project="${project.slug}"] .edit-project`).show() + if (project.userId === currentUser.id) + $(`[data-project="${project.slug}"] .edit-project`).show(); // $('.project-heading').text(project.name) // $('.project-image').attr('src', project.imageUrl) @@ -150,21 +184,29 @@ async function renderReviews(target, items) { ${userElement(item)} - ` - ) + `); } } async function renderWorkflows(target, items) { - console.log(`Render workflows to ${target}`) + console.log(`Render workflows to ${target}`); for (item of items) { - if (item.userId !== currentUser.id && item.publicity === 'private') continue + if (item.userId !== currentUser.id && item.publicity === "private") + continue; $(target).append(` -
+
@@ -178,131 +220,156 @@ async function renderWorkflows(target, items) { -
` - ) +
`); if (userLikesWorkflow(item.id)) { - $(`[data-workflow="${item.id}"] .unlike-workflow-button`).show() - $(`[data-workflow="${item.id}"] .like-workflow-button`).hide() + $(`[data-workflow="${item.id}"] .unlike-workflow-button`).show(); + $(`[data-workflow="${item.id}"] .like-workflow-button`).hide(); } else { - $(`[data-workflow="${item.id}"] .unlike-workflow-button`).hide() - $(`[data-workflow="${item.id}"] .like-workflow-button`).show() + $(`[data-workflow="${item.id}"] .unlike-workflow-button`).hide(); + $(`[data-workflow="${item.id}"] .like-workflow-button`).show(); } if (userSavedWorkflow(item.id)) { - $(`[data-workflow="${item.id}"] .unsave-workflow`).show() - $(`[data-workflow="${item.id}"] .save-workflow`).hide() + $(`[data-workflow="${item.id}"] .unsave-workflow`).show(); + $(`[data-workflow="${item.id}"] .save-workflow`).hide(); } else { - $(`[data-workflow="${item.id}"] .unsave-workflow`).hide() - $(`[data-workflow="${item.id}"] .save-workflow`).show() + $(`[data-workflow="${item.id}"] .unsave-workflow`).hide(); + $(`[data-workflow="${item.id}"] .save-workflow`).show(); } if (item.tags) { - $(`[data-workflow="${item.id}"] .tools-condensed`).empty() + $(`[data-workflow="${item.id}"] .tools-condensed`).empty(); item.tags.forEach(tag => { - let company = firebaseCollections['company'].find(com => com.slug === tag) + let company = firebaseCollections["company"].find( + com => com.slug === tag + ); if (company) { $(`[data-workflow="${item.id}"] .tools-condensed`).append(` - + - `) + `); } - }) + }); } if (firebaseUser.username) { - $('.current-user-content').show() + $(".current-user-content").show(); } else { - $('.current-user-content').hide() + $(".current-user-content").hide(); } } } function userElement(item, showName = true) { - let userImage = getUserImage(item.user) + let userImage = getUserImage(item.user); return ` - + ${item.username} -
${item.user['full-name']}
-
` +
${item.user["full-name"]}
+ `; } async function getRandomUsers() { - let randomNumber = (Math.floor(Math.random() * 1100)) - let items = await USERS - .orderBy('username') + let randomNumber = Math.floor(Math.random() * 1100); + let items = await USERS.orderBy("username") .startAt(randomNumber) .limit(300) .get() .then(snapshot => { - if (snapshot.empty) return [] - let data = snapshot.docs.map(doc => doc.data()) - return data + if (snapshot.empty) return []; + let data = snapshot.docs.map(doc => doc.data()); + return data; }) - .catch(error => console.log(error)) - items = items.filter(i => getUserImage(i) !== 'https://w5insight.com/wp-content/uploads/2014/07/placeholder-user-400x400.png') - renderUsers('.random-users', items) - let random10 = Math.floor(Math.random() * items.length) - let pick10 = items.slice(random10, random10 + 10) - console.log(pick10) - $('.div-block-932').empty() + .catch(error => console.log(error)); + items = items.filter( + i => + getUserImage(i) !== + "https://w5insight.com/wp-content/uploads/2014/07/placeholder-user-400x400.png" + ); + renderUsers(".random-users", items); + let random10 = Math.floor(Math.random() * items.length); + let pick10 = items.slice(random10, random10 + 10); + console.log(pick10); + $(".div-block-932").empty(); pick10.forEach(item => { - let profileImage = getUserImage(item) - if (profileImage === 'https://w5insight.com/wp-content/uploads/2014/07/placeholder-user-400x400.png') return - $('.div-block-932').append(` + let profileImage = getUserImage(item); + if ( + profileImage === + "https://w5insight.com/wp-content/uploads/2014/07/placeholder-user-400x400.png" + ) + return; + $(".div-block-932").append(` - `) - }) + `); + }); } async function renderUsers(target, items) { - console.log(`Render users to ${target}`) - $(target).empty() + console.log(`Render users to ${target}`); + $(target).empty(); items.forEach(item => { - let profileImage = getUserImage(item) + let profileImage = getUserImage(item); $(target).append(`
-

${item['full-name']}

+

${item["full-name"]}

${item.bio}
- `) - }) + `); + }); } async function renderTags(target, data, classes) { - console.log(`Render tags to ${target}`) + console.log(`Render tags to ${target}`); populateSearchArray().then(() => { - if (data.tags) data.tags.forEach(tag => { - let tagItem = searchArray.find(item => item.id === tag) - $(target).append(` - ${tag} - `) - }) - }) + if (data.tags) + data.tags.forEach(tag => { + let tagItem = searchArray.find(item => item.id === tag); + $(target).append(` + ${tag} + `); + }); + }); } diff --git a/client/projects.js b/client/projects.js index db3ff3b..c18c3ea 100644 --- a/client/projects.js +++ b/client/projects.js @@ -8,7 +8,9 @@ $().ready(async () => { console.log('Ready, project: ' + project) let isLiked = userLikesProject(project) if (isLiked) $('.unlike-project-button, .like-project-button').toggle() - let userOwnsProject = firebaseCollections['projects'].find(item => (item.slug === project && item.userId === currentUser.id)) + let userOwnsProject = firebaseCollections['projects'].find( + item => item.slug === project && item.userId === currentUser.id + ) console.log(userOwnsProject) if (userOwnsProject) { $('.edit-project').attr('href', `/edit-project?projectId=${project}`).show() @@ -25,7 +27,8 @@ function tryJSON() { async function renderProject() { if (!project) project = await getProjectFromUrl() if (project === 'add-project') return - PROJECTS.doc(project).get() + PROJECTS.doc(project) + .get() .then(async doc => { let data = doc.data() paintMarkup(data) @@ -43,8 +46,10 @@ function paintMarkup(data) { $('.project-user-link').attr('href', `/u/${data.username}`) let userPic = getUserImage(data.user) - $('.project-user-full-name').text(data.user['full-name'] || data.user.profile['full-name']) - $('.project-user-avatar').attr("src", userPic) + $('.project-user-full-name').text( + data.user['full-name'] || data.user.profile['full-name'] + ) + $('.project-user-avatar').attr('src', userPic) if (data.clone) $('.clone').attr('href', data.clone).show() if (data['sale-url']) $('.purchase').attr('href', data['sale-url']) @@ -62,4 +67,4 @@ $('.like-project-button').click(() => { $('.unlike-project-button').click(() => { followProject(project, true) $('.unlike-project-button, .like-project-button').toggle() -}) \ No newline at end of file +})