Skip to content

Commit

Permalink
feat: init meet the talent
Browse files Browse the repository at this point in the history
  • Loading branch information
djgovani committed Oct 26, 2024
1 parent 0051972 commit 419b519
Show file tree
Hide file tree
Showing 6 changed files with 259 additions and 2 deletions.
37 changes: 37 additions & 0 deletions public/data/meet-the-talent.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"talents": [
{
"id": 1,
"fullName": "",
"location": "Ahmedabad, India",
"bio": "",
"email": "",
"phone": "",
"imageUrl": "",
"website": "",
"skills": "",
"links": [
{
"icon": "website",
"link": "",
"name": "Portfolio"
},
{
"icon": "github",
"link": "",
"name": "Github"
},
{
"icon": "linkedin",
"link": "",
"name": "LinkedIn"
},
{
"icon": "twitter",
"link": "",
"name": "X/Twitter"
}
]
}
]
}
9 changes: 9 additions & 0 deletions public/data/resources.json
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,15 @@
"link": "/job-openings"
}
},
"meetTheTalent": {
"title": "Meet the Talent",
"description": "We are currently passing through the panic time, in between the news of lay-off and recession are being spread over social medias, and so our this initiative is to “Connect Dots” of the community, by connecting Talents (who are always in search of the right opportunity) and the Companies (who are always looking for the bright talents).",
"disclaimer": "We are not responsible nor associated with anything in this initiative. We collect openings from the companies from the community and we list it out over here for the talents. You may check anything and everything before you apply, and only you and company are responsible while finalising the offer details.",
"callToAction": {
"label": "Apply Now",
"link": "/job-openings"
}
},
"team": {
"description": "Google is known all around the world. Everyone is 'googling', checking on 'maps' and communicating in 'gmail'. For simple users, they are services that just works, but not for us. Developers see much more: APIs, scalability issues, complex technology stacks. And that is what GDG is about.<br><br> [Google Developers Group (GDG) Ahmedabad](https://www.meetup.com/GDG-Ahmedabad/) - is open and volunteer geek community who create exciting projects and share experience about Google technologies with a passion.<br><br> Our goal is to organize space to connect the best industry experts with Gujarat audience to boost development of IT."
},
Expand Down
14 changes: 14 additions & 0 deletions public/data/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@
"permalink": "/job-openings",
"label": "Job Opportunities"
},
{
"route": "meet-the-talent",
"permalink": "/meet-the-talent",
"label": "Meet The Talent"
},
{
"route": "badge",
"permalink": "/badge",
Expand Down Expand Up @@ -148,6 +153,15 @@
},
"fontColor": "#424242"
},
"meetTheTalent": {
"title": "Meet the Talent",
"metaDescription": "Meet the Talent",
"description": "We are currently passing through the panic time, in between the news of lay-off and recession are being spread over social medias, and so our this initiative is to “Connect Dots” of the community, by connecting Talents (who are always in search of the right opportunity) and the Companies (who are always looking for the bright talents).",
"background": {
"color": "#FFF"
},
"fontColor": "#424242"
},
"badge": {
"title": "DevFestAhm 2024 Badge",
"metaDescription": "GDG Ahmedabad DevFest 2024 Badge Generator",
Expand Down
183 changes: 183 additions & 0 deletions src/pages/meet-the-talent-page.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
import { customElement } from '@polymer/decorators';
import { html, PolymerElement } from '@polymer/polymer';
import '@power-elements/lazy-image';
import '../components/hero/simple-hero';
import '../components/text-truncate';
import '../elements/content-loader';
import '../elements/shared-styles';
import { router } from '../router';
import { ReduxMixin } from '../store/mixin';
import { heroSettings, meetTheTalent, talents } from '../utils/data';

@customElement('meet-the-talent-page')
export class MeetTheTalentPage extends ReduxMixin(PolymerElement) {

static get template() {
return html`
<style include="shared-styles flex flex-alignment positioning">
:host {
display: block;
height: 100%;
}
.meet-the-talent-container {
display: grid;
grid-template-columns: 1fr;
grid-gap: 16px;
min-height: 35%;
margin: 0 auto;
padding: 24px 16px;
max-width: var(--max-container-width);
}
.speaker {
padding: 32px 24px;
background: var(--primary-background-color);
text-align: center;
transition: box-shadow var(--animation);
}
.speaker:hover {
box-shadow: var(--box-shadow);
}
.photo {
display: inline-block;
--lazy-image-width: 128px;
--lazy-image-height: 128px;
--lazy-image-fit: cover;
width: var(--lazy-image-width);
height: var(--lazy-image-height);
background-color: var(--secondary-background-color);
border-radius: 50%;
overflow: hidden;
transform: translateZ(0);
}
.description {
color: var(--primary-text-color);
}
.name {
margin-top: 8px;
line-height: 1;
}
.origin {
margin-top: 4px;
font-size: 14px;
line-height: 1.1;
}
.bio {
margin-top: 16px;
color: var(--secondary-text-color);
}
.contacts {
margin-top: 16px;
}
.social-icon {
--paper-icon-button: {
padding: 6px;
width: 32px;
height: 32px;
}
color: var(--secondary-text-color);
}
.team-block {
display: grid;
grid-template-columns: 1fr;
grid-gap: 24px;
margin-bottom: 32px;
}
.member {
padding: 16px 0;
min-width: 300px;
}
.member-details {
color: var(--primary-text-color);
margin-left: 16px;
}
.opening-title {
margin: 20px 0;
}
@media (min-width: 640px) {
.member {
padding: 32px 0;
}
.meet-the-talent-container {
grid-template-columns: repeat(2, 1fr);
}
.team-block {
grid-template-columns: repeat(2, 1fr);
}
}
@media (min-width: 812px) {
.meet-the-talent-container {
grid-template-columns: repeat(3, 1fr);
}
.team-block {
grid-template-columns: repeat(3, 1fr);
}
}
@media (min-width: 1024px) {
.meet-the-talent-container {
grid-template-columns: repeat(4, 1fr);
}
.team-block {
grid-template-columns: repeat(4, 1fr);
}
}
.page-description {
margin: 0 auto;
display: flex;
flex-direction: column;
max-width: var(--max-container-width);
padding: 24px 16px;
}
</style>
<hero-block
background-color="[[heroSettings.background.color]]"
font-color="[[heroSettings.fontColor]]"
>
<div class="hero-title">[[heroSettings.title]]</div>
</hero-block>
<div class="page-description">
<p> [[heroSettings.description]] </p>
<p>
<strong>Add your company's job opportunities</strong><br>
Follow steps mentioned over the Github repository
<a href="https://github.com/GDGAhmedabad/devfestahm#list-job-opportunities-of-the-companies" target="_blank">
https://github.com/GDGAhmedabad/devfestahm#list-job-opportunities-of-the-companies
</a>
</p>
<p> <strong>Disclaimer:</strong> [[meetTheTalent.disclaimer]] </p>
</div>
<div class="meet-the-talent-container">
<template is="dom-repeat" items="[[talents]]" as="talent">
<a class="speaker card" href$="[[jobUrl(talent.id)]]">
<template is="dom-if" if="[[talent.imageUrl]]">
<lazy-image
class="photo"
src="[[talent.imageUrl]]"
alt="[[talent.fullName]]"
></lazy-image>
</template>
<div class="description">
<h2 class="name">[[talent.fullName]]</h2>
<div class="origin">[[talent.location]]</div>
<text-truncate lines="5">
<div class="bio">[[talent.bio]]</div>
</text-truncate>
</div>
</a>
</template>
</div>
<footer-block></footer-block>
`;
}

private heroSettings = heroSettings.meetTheTalent;
private talents = talents;
private meetTheTalent = meetTheTalent;


private jobUrl(id: string) {
return router.urlForName('job-opening-page', { id });
}
}
12 changes: 12 additions & 0 deletions src/router.ts
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,18 @@ const ROUTES: Route[] = [
await import('./pages/registration-page.js');
},
},
{
path: '/meet-the-talent',
children: [
{
path: '',
component: 'meet-the-talent-page',
action: async () => {
await import('./pages/meet-the-talent-page.js');
},
}
],
},
{
path: '(.*)',
component: 'not-found-page',
Expand Down
6 changes: 4 additions & 2 deletions src/utils/data.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
export {
jobs
} from '../../public/data/job-openings-data.json';
export {
talents
} from '../../public/data/meet-the-talent.json';
export {
aboutBlock,
aboutOrganizerBlock,
Expand All @@ -23,8 +26,7 @@ export {
footerRelBlock,
galleryBlock, image, jobOpenings, latestPostsBlock,
loading,
mapBlock,
mySchedule,
mapBlock, meetTheTalent, mySchedule,
notifications,
offlineMessage,
partnersBlock,
Expand Down

0 comments on commit 419b519

Please sign in to comment.