mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-21 12:11:25 +10:00
release: v4.1.0
This commit is contained in:
@ -25,7 +25,7 @@ export const ContributorsSection = () => {
|
||||
|
||||
{loading && (
|
||||
<div className="mx-auto flex max-w-5xl flex-wrap items-center justify-center gap-3">
|
||||
{Array(30)
|
||||
{Array.from({ length: 30 })
|
||||
.fill(0)
|
||||
.map((_, index) => (
|
||||
<motion.div
|
||||
|
||||
@ -58,11 +58,8 @@ const Question2 = () => (
|
||||
</AccordionTrigger>
|
||||
<AccordionContent className="prose max-w-none dark:prose-invert">
|
||||
<p>
|
||||
It's not much honestly.{" "}
|
||||
<a href="https://pillai.xyz/digitalocean" rel="noreferrer" target="_blank">
|
||||
DigitalOcean
|
||||
</a>{" "}
|
||||
has graciously sponsored their infrastructure to allow me to host Reactive Resume on their
|
||||
It's not much honestly. <a href="https://pillai.xyz/digitalocean">DigitalOcean</a> has
|
||||
graciously sponsored their infrastructure to allow me to host Reactive Resume on their
|
||||
platform. There's only the fee I pay to dependent services to send emails, renew the domain,
|
||||
etc.
|
||||
</p>
|
||||
@ -76,16 +73,14 @@ const Question2 = () => (
|
||||
<p>
|
||||
But if you do feel like supporting the developer and the future development of Reactive
|
||||
Resume, please donate (<em>only if you have some extra money lying around</em>) on my{" "}
|
||||
<a href="https://github.com/sponsors/AmruthPillai/" rel="noreferrer" target="_blank">
|
||||
GitHub Sponsors page
|
||||
</a>
|
||||
. You can choose to donate one-time or sponsor a recurring donation.
|
||||
<a href="https://github.com/sponsors/AmruthPillai/">GitHub Sponsors page</a>. You can choose
|
||||
to donate one-time or sponsor a recurring donation.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Alternatively, if you are in the US, or you are a part of a large educational institution or
|
||||
corporate organization, you can{" "}
|
||||
<a href="https://opencollective.com/reactive-resume" rel="noreferrer" target="_blank">
|
||||
<a href="https://opencollective.com/reactive-resume">
|
||||
support the project through Open Collective
|
||||
</a>
|
||||
. We are fiscally hosted through Open Collective Europe, which means your donations and
|
||||
@ -155,10 +150,10 @@ const Question4 = () => {
|
||||
{languages.map((language) => (
|
||||
<a
|
||||
key={language.id}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="no-underline"
|
||||
href={`https://crowdin.com/translate/reactive-resume/all/en-${language.editorCode}`}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<div className="relative bg-secondary-accent font-medium transition-colors hover:bg-primary hover:text-background">
|
||||
<span className="px-2 py-1">{language.name}</span>
|
||||
@ -219,19 +214,6 @@ const Question5 = () => (
|
||||
to OpenAI are also sent directly to their service and does not hit the app servers at all.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The policy behind "bring your own key" (BYOK) is{" "}
|
||||
<a
|
||||
href="https://community.openai.com/t/openais-bring-your-own-key-policy/14538/46"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
still being discussed
|
||||
</a>{" "}
|
||||
and probably might change over a period of time, but while it's available, I would keep the
|
||||
feature on the app.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You are free to turn off all AI features (and not be aware of it's existence) simply by not
|
||||
adding a key in the Settings page and still make use of all the useful features that
|
||||
|
||||
@ -91,7 +91,6 @@ export const FeaturesSection = () => {
|
||||
width={14}
|
||||
height={14}
|
||||
/>
|
||||
<img src="https://cdn.simpleicons.org/redis" alt="Redis" width={14} height={14} />
|
||||
</div>
|
||||
),
|
||||
title: t`Powered by`,
|
||||
|
||||
@ -26,22 +26,18 @@ export const HeroCTA = () => {
|
||||
);
|
||||
}
|
||||
|
||||
if (!isLoggedIn) {
|
||||
return (
|
||||
<>
|
||||
<Button asChild size="lg">
|
||||
<Link to="/auth/login">{t`Get Started`}</Link>
|
||||
</Button>
|
||||
return (
|
||||
<>
|
||||
<Button asChild size="lg">
|
||||
<Link to="/auth/login">{t`Get Started`}</Link>
|
||||
</Button>
|
||||
|
||||
<Button asChild size="lg" variant="link">
|
||||
<a href="https://docs.rxresu.me" target="_blank" rel="noopener noreferrer nofollow">
|
||||
<Book className="mr-3" />
|
||||
{t`Learn more`}
|
||||
</a>
|
||||
</Button>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
<Button asChild size="lg" variant="link">
|
||||
<a href="https://docs.rxresu.me" target="_blank" rel="noopener noreferrer nofollow">
|
||||
<Book className="mr-3" />
|
||||
{t`Learn more`}
|
||||
</a>
|
||||
</Button>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@ -26,8 +26,6 @@ export const HeroSection = () => (
|
||||
<Badge>{t`Version 4`}</Badge>
|
||||
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
href="https://docs.rxresu.me/overview/features"
|
||||
className={cn(buttonVariants({ variant: "link" }), "space-x-2 text-left")}
|
||||
>
|
||||
|
||||
@ -19,7 +19,9 @@ export const Counter = ({ from, to }: CounterProps) => {
|
||||
},
|
||||
});
|
||||
|
||||
return () => controls.stop();
|
||||
return () => {
|
||||
controls.stop();
|
||||
};
|
||||
}, [from, to, isInView]);
|
||||
|
||||
return (
|
||||
|
||||
@ -9,9 +9,9 @@ type Statistic = {
|
||||
|
||||
export const StatisticsSection = () => {
|
||||
const stats: Statistic[] = [
|
||||
{ name: t`GitHub Stars`, value: 19500 },
|
||||
{ name: t`Users Signed Up`, value: 500000 },
|
||||
{ name: t`Resumes Generated`, value: 700000 },
|
||||
{ name: t`GitHub Stars`, value: 19_500 },
|
||||
{ name: t`Users Signed Up`, value: 500_000 },
|
||||
{ name: t`Resumes Generated`, value: 700_000 },
|
||||
];
|
||||
|
||||
return (
|
||||
|
||||
@ -20,7 +20,7 @@ export const TemplatesSection = () => (
|
||||
transition: {
|
||||
x: {
|
||||
duration: 30,
|
||||
repeat: Infinity,
|
||||
repeat: Number.POSITIVE_INFINITY,
|
||||
repeatType: "mirror",
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user