Skip to content

Commit

Permalink
Add PH badge and gh link
Browse files Browse the repository at this point in the history
  • Loading branch information
danmindru committed Jan 2, 2025
1 parent 1cc238c commit 53b168f
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 4 deletions.
2 changes: 1 addition & 1 deletion shipixen/app/tag-data.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"ai":81,"automation":69,"machine-learning":50,"pricing":1,"blogging":1,"books":22,"learning":29,"monetization":1,"seo":47,"accessibility":1,"developer-tools":15,"devtools":43,"efficiency":38,"productivity":139,"tools":123,"web-development":5,"design":29,"graphics":28,"marketing":99,"video-tools":8,"asynchronous":1,"productized-services":2,"remote-work":2,"boilerplates":22,"nextjs":25,"react":21,"saas":27,"starters--libraries":9,"ios":38,"apps":49,"other":32,"ai-tools":9,"developer-assessment":1,"lifestyle":2,"courses":18,"programming":37,"developer":49,"promotion":25,"social-media":21,"analytics":21,"affiliate-marketing":2,"bluesky":1,"scheduling":3,"ads":2,"paid-listings":2,"active-directory":1,"sysadmin":1,"macos":55,"ai-demo-apps":1,"boilerplate":8,"starters":9,"libraries":9,"flutter":3,"gui":1,"kubernetes":1,"health":14,"fitness":14,"wellness":7,"speech-to-text":1,"writing":13,"apis":12,"api":1,"automated-images":1,"miscellaneous":15,"random":9,"content-refresh":1,"optimization":15,"seo-tools":1,"browser-privacy":1,"screen-sharing":1,"streaming":1,"code":1,"development":3,"resources":2,"templates":5,"ai-models":1,"startup-submission":1,"email-marketing":4,"self-hosted":1,"golang":2,"tutorials":11,"rails":1,"subscriptions":1,"calendar-integration":1,"event-planning":1,"chrome-extension":2,"education":1,"finance":5,"investing":3,"money":3,"budgeting":3,"dashboards":4,"notes":10,"todo-apps":3,"one-page-sites":1,"responsive-design":2,"website-builders":5,"art-courses":4,"chatbots":2,"startup-saastools":3,"browser-extensions":7,"analysis":1,"reactjs":1,"tailwindcss":2,"clipboard":2,"utility":6,"content-creation":8,"video":3,"video-production":1,"custom-video":1,"timezones":1,"world-clocks":1,"code-review":1,"github":1,"gitlab":1,"compression":1,"media":2,"web-analytics":1,"api-scheduling":1,"display":1,"hooks":1,"ai-chatbots":1,"customer-engagement":1,"backlinks":3,"business":9,"stripe":1,"ads--paid-listings":5,"directories":4,"analyze":1,"audit":1,"domain-names":1,"salary-tracker":1,"services":1,"review-tracking":1,"design-tools":9,"file-management":1,"data-tools":1,"documentation":2,"chat":3,"pdf":2,"game-design":1,"notion":1,"chat-ui":4,"career":1,"freelancing":1,"guide":1,"open-source":4,"wealth-management":1,"blogs":3,"mailing-lists":4,"newsletters":4,"image-generation":4,"product-demo":1,"gumroad":1,"revenue":1,"images":1,"photography":2,"candidate-screening":1,"recruitment":1,"ai-icons":1,"text-to-speech":3,"voice":3,"ai-learning":1,"communication":1,"tattoo-design":1,"inventory-tracking":1,"ipados":1,"ai-writing-assistant":1,"grammarly-alternative":1,"keywords":1,"cybersecurity":1,"devops":1,"linux":1,"laravel":2,"sveltekit":1,"remix":1,"game-development":1,"content":1,"databases":1,"journaling":1,"html":1,"local-domains":1,"ngrok-alternative":1,"social":3,"business-documents":1,"email-templates":1,"campaigns":1,"customization":2,"designers":1,"developers":2,"marketers":1,"plugins":2,"themes":2,"e-commerce":1,"agencies":1,"freelancers":3,"tailwind-css":2,"typescript":2,"prisma":1,"nuxt":2,"personal-organization":1,"browser-tabs":1,"tab-management":1,"domains":1,"kids":1,"storytelling":1,"privacy":1,"audio":1,"website-builder":1,"monitoring":1,"uptime":1,"social-media-scheduling":2,"proxy":1,"obsidian":1,"mobile-apps":3,"forms":1,"ai-analysis":1,"app-store-reviews":1,"reddit-marketing":1,"sales":1,"traffic":1,"content-repurposing":1,"django":1,"screenshot-api":1,"analyze--audit":1,"codebase":1,"deployment":1,"swiftui":1,"notion-like-builder":1,"entrepreneurship":1,"browser-management":1,"vertical-tabs":1,"ipad":1,"collaboration":1,"color-picker":1,"screenshots":1,"community":1,"pinterest":1,"organization":3,"workspace":1,"desktop":1,"events":1,"timer":1,"posting-schedule":1,"reddit":1,"traffic-analysis":1,"project-generator":1,"xcode":1,"swimming":1,"triathlon":1,"workouts":1,"database":1,"sql":1,"components":1,"email":1,"ocr":1,"text":1,"growth":1,"memories":1,"charts":1,"data-organization":1,"time-tracking":1,"timeboxing":1,"color-palettes":1,"technical-writing":1,"no-code":1,"multilingual":1,"voice-cloning":1,"dictation":1,"rsi":1,"window-management":1,"project-management":1,"screenshot":1,"focus":1,"aov":1,"checkout":1}
{"ai":82,"automation":68,"machine-learning":49,"pricing":1,"blogging":1,"books":22,"learning":29,"monetization":1,"seo":47,"accessibility":1,"developer-tools":15,"devtools":44,"efficiency":38,"productivity":140,"tools":124,"web-development":5,"design":29,"graphics":28,"marketing":99,"video-tools":8,"asynchronous":1,"productized-services":2,"remote-work":2,"boilerplates":23,"nextjs":26,"react":22,"saas":27,"starters--libraries":9,"ios":38,"apps":49,"other":32,"ai-tools":10,"developer-assessment":1,"lifestyle":2,"courses":18,"programming":38,"developer":50,"promotion":25,"social-media":21,"analytics":21,"affiliate-marketing":2,"bluesky":1,"scheduling":3,"ads":2,"paid-listings":2,"active-directory":1,"sysadmin":1,"macos":55,"ai-demo-apps":1,"boilerplate":8,"starters":10,"libraries":10,"flutter":3,"gui":1,"kubernetes":1,"health":14,"fitness":14,"wellness":7,"speech-to-text":1,"writing":13,"apis":12,"api":1,"automated-images":1,"miscellaneous":15,"random":9,"content-refresh":1,"optimization":15,"seo-tools":1,"browser-privacy":1,"screen-sharing":1,"streaming":1,"code":1,"development":3,"resources":2,"templates":5,"ai-models":1,"startup-submission":1,"email-marketing":4,"self-hosted":1,"golang":2,"tutorials":11,"rails":1,"subscriptions":1,"calendar-integration":1,"event-planning":1,"chrome-extension":2,"education":1,"finance":5,"investing":3,"money":3,"budgeting":3,"dashboards":4,"notes":10,"todo-apps":3,"one-page-sites":1,"responsive-design":2,"website-builders":5,"art-courses":4,"chatbots":2,"startup-saastools":3,"browser-extensions":7,"analysis":1,"reactjs":1,"tailwindcss":2,"clipboard":2,"utility":6,"content-creation":9,"video":3,"video-production":1,"custom-video":1,"timezones":1,"world-clocks":1,"code-review":1,"github":1,"gitlab":1,"compression":1,"media":2,"web-analytics":1,"api-scheduling":1,"display":1,"hooks":1,"ai-chatbots":1,"customer-engagement":1,"backlinks":3,"business":9,"stripe":1,"ads--paid-listings":5,"directories":4,"analyze":1,"audit":1,"domain-names":1,"salary-tracker":1,"linkedin-automation":1,"linkedin-growth":1,"linkedin-tool":1,"linkedin-engagement":1,"services":1,"review-tracking":1,"design-tools":9,"file-management":1,"data-tools":1,"documentation":2,"chat":3,"pdf":2,"game-design":1,"notion":1,"chat-ui":3,"career":1,"freelancing":1,"guide":1,"open-source":4,"wealth-management":1,"blogs":3,"mailing-lists":4,"newsletters":4,"image-generation":4,"product-demo":1,"gumroad":1,"revenue":1,"images":1,"photography":2,"candidate-screening":1,"recruitment":1,"ai-icons":1,"text-to-speech":3,"voice":3,"ai-learning":1,"communication":1,"tattoo-design":1,"inventory-tracking":1,"ipados":1,"ai-writing-assistant":1,"grammarly-alternative":1,"keywords":1,"cybersecurity":1,"devops":1,"linux":1,"laravel":2,"sveltekit":1,"remix":1,"game-development":1,"content":1,"databases":1,"journaling":1,"html":1,"local-domains":1,"ngrok-alternative":1,"social":3,"business-documents":1,"email-templates":1,"campaigns":1,"customization":2,"designers":1,"developers":2,"marketers":1,"plugins":2,"themes":2,"e-commerce":1,"agencies":1,"freelancers":3,"tailwind-css":2,"typescript":2,"prisma":1,"nuxt":2,"personal-organization":1,"browser-tabs":1,"tab-management":1,"domains":1,"kids":1,"storytelling":1,"privacy":1,"audio":1,"website-builder":1,"monitoring":1,"uptime":1,"social-media-scheduling":2,"proxy":1,"obsidian":1,"mobile-apps":3,"forms":1,"ai-analysis":1,"app-store-reviews":1,"reddit-marketing":1,"sales":1,"traffic":1,"content-repurposing":1,"django":1,"screenshot-api":1,"analyze--audit":1,"codebase":1,"deployment":1,"swiftui":1,"notion-like-builder":1,"entrepreneurship":1,"browser-management":1,"vertical-tabs":1,"ipad":1,"collaboration":1,"color-picker":1,"screenshots":1,"community":1,"pinterest":1,"organization":3,"workspace":1,"desktop":1,"events":1,"timer":1,"posting-schedule":1,"reddit":1,"traffic-analysis":1,"project-generator":1,"xcode":1,"swimming":1,"triathlon":1,"workouts":1,"database":1,"sql":1,"components":1,"email":1,"ocr":1,"text":1,"growth":1,"memories":1,"charts":1,"data-organization":1,"time-tracking":1,"timeboxing":1,"color-palettes":1,"technical-writing":1,"no-code":1,"multilingual":1,"voice-cloning":1,"dictation":1,"rsi":1,"window-management":1,"project-management":1,"screenshot":1,"focus":1,"aov":1,"checkout":1}
5 changes: 5 additions & 0 deletions shipixen/components/shared/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import { Button } from '@/components/shared/ui/button';
import { footerLinks } from '@/data/config/footerLinks';
import { TiktokIcon } from '@/components/icons/TiktokIcon';
import { ThreadsIcon } from '@/components/icons/ThreadsIcon';
import { ProductHuntBadge } from '@/components/shared/ProductHuntBadge';

export default function Footer({ className }: { className?: string }) {
const columnNumber = footerLinks.filter(({ links }) => links.length).length;
Expand Down Expand Up @@ -129,6 +130,10 @@ export default function Footer({ className }: { className?: string }) {
style={{ height: '1px' }}
/>

<div className="flex justify-center pt-4 px-2">
<ProductHuntBadge postName="rare-big-deal" postId="637015" />
</div>

<div className="py-8 px-2 flex flex-col items-center">
<div className="mb-3 flex flex-wrap justify-center gap-4">
{siteConfig.email && (
Expand Down
49 changes: 49 additions & 0 deletions shipixen/components/shared/ProductHuntBadge.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
'use client';

export const ProductHuntBadge = ({
postName,
postId,
theme = 'light',
topic = 'featured',
}: {
postName: string;
postId: string;
theme?: 'light' | 'dark' | 'neutral';
topic?: 'top-post-badge' | 'topic-dev-tools' | 'featured';
}) => {
const baseimageSrc = `https://api.producthunt.com/widgets/embed-image/v1`;

let imageSrc = '' + baseimageSrc;

switch (topic) {
case 'top-post-badge':
imageSrc += `/top-post-badge.svg?post_id=${postId}&period=daily`;
break;
case 'topic-dev-tools':
imageSrc += `/top-post-topic-badge.svg?post_id=424261&period=weekly&topic_id=267`;
break;
case 'featured':
imageSrc += `/featured.svg?post_id=${postId}`;
break;
default:
imageSrc += `/top-post-badge.svg?post_id=${postId}&period=daily`;
}

imageSrc += `&theme=${theme}`;

return (
<a
href={`https://www.producthunt.com/posts/${postName.toLowerCase()}?utm_source=${postName.toLowerCase()}`}
target={`_blank`}
rel={`noopener noreferrer`}
>
<img
src={imageSrc}
alt={`${postName} | Product Hunt`}
className="w-52 h-auto"
width="250"
height="54"
/>
</a>
);
};
7 changes: 4 additions & 3 deletions shipixen/data/config/metadata.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
const metadata = {
title: 'Rare Deals and Discounts on Software, Apps & SaaS',
description: 'Get rare limited time details on selected SaaS, software, apps and services. Discounts for Black Friday and beyond.',
description:
'Get rare limited time details on selected SaaS, software, apps and services. Discounts for Black Friday and beyond.',
domain: 'rarebigdeal.com',
logoTitle: 'Rare Big Deal',
businessName: 'Rare Big Deal',
Expand All @@ -12,7 +13,7 @@ const metadata = {
twitter: 'https://x.com/d4m1n',
instagram: '',
tiktok: '',
github: '',
github: 'https://github.com/danmindru/rare-big-deal',
linkedin: '',
youtube: '',
facebook: '',
Expand All @@ -21,7 +22,7 @@ const metadata = {
author: 'Rare Big Deal',
language: 'en-us',
theme: 'system',
locale: 'en-US'
locale: 'en-US',
};

module.exports = { metadata };

0 comments on commit 53b168f

Please sign in to comment.