Skip to content

update proxify links in developer pages #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Aug 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
.DS_Store
.AppleDouble
.LSOverride
.idea

# Thumbnails
._*
Expand Down Expand Up @@ -111,3 +110,6 @@ src/api/index.json
src/examples/data.json
src/tutorial/data.json
draft.md

# folders created by IDE

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capital F in folder

.idea
6 changes: 3 additions & 3 deletions src/developers/components/DeveloperCard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import { DeveloperProfile } from './type'
import { truncateTextFromArray } from './utils'
import { VTIconMapPin } from '@vue/theme'
import CloudinaryImage from './CloudinaryImage.vue'
import DeveloperImage from './DeveloperImage.vue'
import DeveloperProficiencies from './DeveloperProficiencies.vue'
import DeveloperCompensations from './DeveloperCompensations.vue'

Expand All @@ -27,7 +27,7 @@ const trimmedDescription = truncateTextFromArray(description, 220)
>
<div class="developer-card__header">
<div v-if="!hero && profileImage" class="developer-card__avatar">
<CloudinaryImage
<DeveloperImage
:src="profileImage"
:alt="name"
:width="120"
Expand Down Expand Up @@ -67,7 +67,7 @@ const trimmedDescription = truncateTextFromArray(description, 220)
/>

<div v-if="hero && profileImage" class="developer-card__image">
<CloudinaryImage
<DeveloperImage
:src="profileImage"
:alt="name"
:width="526"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@
import { computed } from 'vue'
import partnerConfig from '../partnerConfig.js'

const { cloudinaryUrl } = partnerConfig
const { imageStorageUrl } = partnerConfig

const props = withDefaults(defineProps<{
src: string,
alt: string,
width: number,
height: number,
quality?: string,
crop?: string,
faceRecognition?: boolean,
loading?: 'lazy' | 'eager',
className?: string,
src: string
alt: string
width: number
height: number
quality?: string
crop?: string
faceRecognition?: boolean
loading?: 'lazy' | 'eager'
className?: string
}>(), {
quality: 'q_auto:best',
crop: 'c_fit',
faceRecognition: false,
});
faceRecognition: false
})

const imageSrc = computed(() => {
const attributes = [
Expand All @@ -31,9 +31,9 @@ const imageSrc = computed(() => {
props.height ? `h_${props.height}` : '',
]
.filter((item) => item !== '')
.join(',');
.join(',')

return `${cloudinaryUrl}/${attributes}/v1/${props.src.replace(/^\/+/, '')}`;
return `${imageStorageUrl}/${attributes}/v1/${props.src.replace(/^\/+/, '')}`
})
</script>

Expand Down
2 changes: 0 additions & 2 deletions src/developers/components/DeveloperLanding.vue
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,4 @@ onMounted(() => {
right: 48px;
}
}


</style>
4 changes: 2 additions & 2 deletions src/developers/components/DeveloperPage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import partnerConfig from '../partnerConfig.js'
import { DeveloperProfile } from './type'
import { generateUTMUrl } from './utils'
import { VTIconChevronLeft, VTIconMapPin } from '@vue/theme'
import CloudinaryImage from './CloudinaryImage.vue'
import DeveloperImage from './DeveloperImage.vue'
import DeveloperCompensations from './DeveloperCompensations.vue'
import DeveloperProficiencies from './DeveloperProficiencies.vue'
import DeveloperProfileDiagram from './DeveloperProfileDiagram.vue'
Expand Down Expand Up @@ -36,7 +36,7 @@ const hireUsLink = computed(() => generateUTMUrl(partnerConfig.hireUsButtonUrl,

<div class="developer-page__content">
<div v-if="profileImage" class="developer-page__profile-image">
<CloudinaryImage
<DeveloperImage
:src="profileImage"
:alt="name"
:width="592"
Expand Down
6 changes: 4 additions & 2 deletions src/developers/components/DeveloperPageFooter.vue
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { generateUTMUrl } from './utils'

const route = useRoute()

const logoLink = computed(() => generateUTMUrl(partnerConfig.websiteUrl, route.path))
const logoLink = computed(() => generateUTMUrl(partnerConfig.pageFooter.websiteVueLink || partnerConfig.websiteUrl, route.path))
const hireUsLink = computed(() => generateUTMUrl(partnerConfig.hireUsButtonUrl, route.path))
const websiteVuePageLink = computed(() => generateUTMUrl(partnerConfig.pageFooter.websiteVueLink, route.path))

Expand Down Expand Up @@ -38,7 +38,9 @@ const { logo, partnerName } = partnerConfig

<div class="partner-footer__social-links">
<a v-if="email" :href="`mailto:${email}`">{{ email }}</a>
<p v-if="phone">{{ phone }}</p>
<br />
<a v-if="phone" :href="`tel:${phone}`">{{ phone }}</a>
<br />
<a v-if="websiteVuePageLink" :href="websiteVuePageLink" target="_blank">{{ websiteVueLabel }}</a>
</div>

Expand Down
57 changes: 28 additions & 29 deletions src/developers/components/type.ts
Original file line number Diff line number Diff line change
@@ -1,44 +1,43 @@
export interface DeveloperExperienceDescription {
isGrouped: boolean;
content: string | string[];
isGrouped: boolean
content: string | string[]
}

export interface DeveloperExperience {
id: number;
role: string;
company: string;
startDate: string;
endDate: string;
period: string;
description: DeveloperExperienceDescription[];
skills: string[];
id: number
role: string
company: string
startDate: string
endDate: string
period: string
description: DeveloperExperienceDescription[]
skills: string[]
}

export interface DeveloperEducation {
id: number;
degree: string;
school: string;
startDate: string;
endDate: string;
id: number
degree: string
school: string
startDate: string
endDate: string
}

export interface DeveloperCompensations {
partTime: string;
monthly: string;
partTime: string
monthly: string
}

export interface DeveloperProfile {
id: number;
slug: string;
name: string;
alias: string;
description: string[];
proficiencies: string[];
compensations: DeveloperCompensations;
location: string;
region: string;
experiences?: DeveloperExperience[];
education?: DeveloperEducation[];
id: number
slug: string
name: string
alias: string
description: string[]
proficiencies: string[]
compensations: DeveloperCompensations
location: string
region: string
experiences?: DeveloperExperience[]
education?: DeveloperEducation[]
}

export interface DeveloperProfiles extends Array<DeveloperProfile> {
Expand Down
11 changes: 6 additions & 5 deletions src/developers/partnerConfig.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ const websiteLabel = 'proxify.io'
const websiteUrl = 'https://proxify.io/'
const applyUrl = 'https://career.proxify.io/apply'
const hireUrl = 'https://proxify.io/hire-vuejs'
const cloudinaryUrl = 'https://res.cloudinary.com/proxify-io/image/upload'
const vueArticleUrl = 'https://proxify.io/hire-vue-developers'
const imageStorageUrl = 'https://res.cloudinary.com/proxify-io/image/upload'


const partnerConfig = {
Expand All @@ -20,8 +21,8 @@ const partnerConfig = {
websiteUrl: websiteUrl,
hireUsButtonUrl: hireUrl,

// Cloudinary storage URL
cloudinaryUrl: cloudinaryUrl,
// Image storage URL
imageStorageUrl: imageStorageUrl,

// Hero Section
pageHeroBanner: {
Expand All @@ -48,8 +49,8 @@ const partnerConfig = {
text: `This highly vetted developer is brought to you by Vue’s partner:`,
email: 'vue@proxify.io',
phone: '+44 20 4614 2667',
websiteVueLink: hireUrl,
websiteVueLabel: websiteLabel + '/vue'
websiteVueLink: vueArticleUrl,
websiteVueLabel: websiteLabel + '/hire-vue-developers'
},

// Diagram sections
Expand Down