Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: AmruthPillai/Reactive-Resume
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v4.3.0
Choose a base ref
...
head repository: AmruthPillai/Reactive-Resume
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v4.3.1
Choose a head ref
  • 11 commits
  • 35 files changed
  • 2 contributors

Commits on Jan 11, 2025

  1. Bump the npm_and_yarn group across 1 directory with 10 updates

    Bumps the npm_and_yarn group with 10 updates in the / directory:
    
    | Package | From | To |
    | --- | --- | --- |
    | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.4.2` | `5.4.6` |
    | [braces](https://github.com/micromatch/braces) | `3.0.2` | `3.0.3` |
    | [dset](https://github.com/lukeed/dset) | `3.1.3` | `3.1.4` |
    | [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) | `4.3.5` | `4.5.1` |
    | [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) | `2.0.6` | `2.0.7` |
    | [nanoid](https://github.com/ai/nanoid) | `3.3.7` | `3.3.8` |
    | [pug](https://github.com/pugjs/pug) | `3.0.2` | `3.0.3` |
    | [rollup](https://github.com/rollup/rollup) | `4.21.0` | `4.30.1` |
    | [webpack](https://github.com/webpack/webpack) | `5.90.3` | `5.97.1` |
    | [ws](https://github.com/websockets/ws) | `7.5.9` | `7.5.10` |
    
    
    
    Updates `vite` from 5.4.2 to 5.4.6
    - [Release notes](https://github.com/vitejs/vite/releases)
    - [Changelog](https://github.com/vitejs/vite/blob/v5.4.6/packages/vite/CHANGELOG.md)
    - [Commits](https://github.com/vitejs/vite/commits/v5.4.6/packages/vite)
    
    Updates `braces` from 3.0.2 to 3.0.3
    - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
    - [Commits](micromatch/braces@3.0.2...3.0.3)
    
    Updates `dset` from 3.1.3 to 3.1.4
    - [Release notes](https://github.com/lukeed/dset/releases)
    - [Commits](lukeed/dset@v3.1.3...v3.1.4)
    
    Updates `fast-xml-parser` from 4.3.5 to 4.5.1
    - [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
    - [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
    - [Commits](NaturalIntelligence/fast-xml-parser@v4.3.5...v4.5.1)
    
    Updates `http-proxy-middleware` from 2.0.6 to 2.0.7
    - [Release notes](https://github.com/chimurai/http-proxy-middleware/releases)
    - [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.7/CHANGELOG.md)
    - [Commits](chimurai/http-proxy-middleware@v2.0.6...v2.0.7)
    
    Updates `nanoid` from 3.3.7 to 3.3.8
    - [Release notes](https://github.com/ai/nanoid/releases)
    - [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
    - [Commits](ai/nanoid@3.3.7...3.3.8)
    
    Updates `pug` from 3.0.2 to 3.0.3
    - [Release notes](https://github.com/pugjs/pug/releases)
    - [Commits](https://github.com/pugjs/pug/compare/[email protected]@3.0.3)
    
    Updates `rollup` from 4.21.0 to 4.30.1
    - [Release notes](https://github.com/rollup/rollup/releases)
    - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
    - [Commits](rollup/rollup@v4.21.0...v4.30.1)
    
    Updates `webpack` from 5.90.3 to 5.97.1
    - [Release notes](https://github.com/webpack/webpack/releases)
    - [Commits](webpack/webpack@v5.90.3...v5.97.1)
    
    Updates `ws` from 7.5.9 to 7.5.10
    - [Release notes](https://github.com/websockets/ws/releases)
    - [Commits](websockets/ws@7.5.9...7.5.10)
    
    ---
    updated-dependencies:
    - dependency-name: vite
      dependency-type: direct:development
      dependency-group: npm_and_yarn
    - dependency-name: braces
      dependency-type: indirect
      dependency-group: npm_and_yarn
    - dependency-name: dset
      dependency-type: indirect
      dependency-group: npm_and_yarn
    - dependency-name: fast-xml-parser
      dependency-type: indirect
      dependency-group: npm_and_yarn
    - dependency-name: http-proxy-middleware
      dependency-type: indirect
      dependency-group: npm_and_yarn
    - dependency-name: nanoid
      dependency-type: indirect
      dependency-group: npm_and_yarn
    - dependency-name: pug
      dependency-type: indirect
      dependency-group: npm_and_yarn
    - dependency-name: rollup
      dependency-type: indirect
      dependency-group: npm_and_yarn
    - dependency-name: webpack
      dependency-type: indirect
      dependency-group: npm_and_yarn
    - dependency-name: ws
      dependency-type: indirect
      dependency-group: npm_and_yarn
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored Jan 11, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    29c18c1 View commit details
  2. pin versions of chromium

    AmruthPillai committed Jan 11, 2025

    Verified

    This commit was signed with the committer’s verified signature.
    AmruthPillai Amruth Pillai
    Copy the full SHA
    e4ec678 View commit details
  3. Merge branch 'main' into dependabot/npm_and_yarn/npm_and_yarn-45c02561f4

    AmruthPillai authored Jan 11, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    193b15e View commit details
  4. Merge pull request #2138 from AmruthPillai/dependabot/npm_and_yarn/np…

    …m_and_yarn-45c02561f4
    
    Bump the npm_and_yarn group across 1 directory with 10 updates
    AmruthPillai authored Jan 11, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    54bace4 View commit details
  5. release: v4.3.1

    AmruthPillai committed Jan 11, 2025

    Verified

    This commit was signed with the committer’s verified signature.
    AmruthPillai Amruth Pillai
    Copy the full SHA
    58ef309 View commit details
  6. remove console.log statements

    AmruthPillai committed Jan 11, 2025

    Verified

    This commit was signed with the committer’s verified signature.
    AmruthPillai Amruth Pillai
    Copy the full SHA
    198c269 View commit details
  7. update CI workflow

    AmruthPillai committed Jan 11, 2025

    Verified

    This commit was signed with the committer’s verified signature.
    AmruthPillai Amruth Pillai
    Copy the full SHA
    1c36ac1 View commit details
  8. update CI

    AmruthPillai committed Jan 11, 2025

    Verified

    This commit was signed with the committer’s verified signature.
    AmruthPillai Amruth Pillai
    Copy the full SHA
    996ef65 View commit details
  9. revert ci workflow to non-distributed

    AmruthPillai committed Jan 11, 2025

    Verified

    This commit was signed with the committer’s verified signature.
    AmruthPillai Amruth Pillai
    Copy the full SHA
    9b20c46 View commit details
  10. fix issues brought up by coderabbit

    AmruthPillai committed Jan 11, 2025

    Verified

    This commit was signed with the committer’s verified signature.
    AmruthPillai Amruth Pillai
    Copy the full SHA
    3b73dcf View commit details
  11. Merge pull request #2140 from AmruthPillai/release/v4.3.1

    release: v4.3.1
    AmruthPillai authored Jan 11, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    62046c4 View commit details
Showing with 1,137 additions and 785 deletions.
  1. +1 −0 .eslintrc.json
  2. +8 −11 .github/workflows/lint-test-build.yml
  3. +3 −2 apps/client/src/libs/lingui.ts
  4. +7 −1 apps/client/src/pages/builder/sidebars/left/dialogs/awards.tsx
  5. +7 −1 apps/client/src/pages/builder/sidebars/left/dialogs/certifications.tsx
  6. +7 −1 apps/client/src/pages/builder/sidebars/left/dialogs/custom-section.tsx
  7. +7 −1 apps/client/src/pages/builder/sidebars/left/dialogs/education.tsx
  8. +7 −1 apps/client/src/pages/builder/sidebars/left/dialogs/experience.tsx
  9. +3 −3 apps/client/src/pages/builder/sidebars/left/dialogs/languages.tsx
  10. +3 −3 apps/client/src/pages/builder/sidebars/left/dialogs/profiles.tsx
  11. +7 −1 apps/client/src/pages/builder/sidebars/left/dialogs/projects.tsx
  12. +7 −1 apps/client/src/pages/builder/sidebars/left/dialogs/publications.tsx
  13. +7 −1 apps/client/src/pages/builder/sidebars/left/dialogs/references.tsx
  14. +3 −3 apps/client/src/pages/builder/sidebars/left/dialogs/skills.tsx
  15. +7 −1 apps/client/src/pages/builder/sidebars/left/dialogs/volunteer.tsx
  16. +25 −9 apps/client/src/pages/builder/sidebars/left/sections/custom/section.tsx
  17. +3 −0 apps/client/src/pages/builder/sidebars/left/sections/shared/section-base.tsx
  18. +6 −0 apps/client/src/pages/builder/sidebars/left/sections/shared/section-dialog.tsx
  19. +21 −19 apps/client/src/pages/builder/sidebars/left/sections/shared/section-list-item.tsx
  20. +7 −1 apps/client/src/pages/builder/sidebars/left/sections/summary.tsx
  21. +16 −12 apps/client/src/pages/dashboard/resumes/_layouts/grid/_components/base-card.tsx
  22. +32 −25 apps/client/src/pages/dashboard/resumes/_layouts/grid/_components/resume-card.tsx
  23. +10 −17 apps/client/src/pages/dashboard/settings/_sections/openai.tsx
  24. +4 −1 apps/server/src/printer/printer.service.ts
  25. +1 −1 libs/schema/src/sections/language.ts
  26. +1 −1 libs/schema/src/sections/skill.ts
  27. +1 −1 nx.json
  28. +4 −3 package.json
  29. +910 −652 pnpm-lock.yaml
  30. +2 −2 tools/compose/development.yml
  31. +2 −2 tools/compose/nginx-proxy-manager.yml
  32. +2 −2 tools/compose/simple.yml
  33. +2 −2 tools/compose/swarm.yml
  34. +2 −2 tools/compose/traefik-secure.yml
  35. +2 −2 tools/compose/traefik.yml
1 change: 1 addition & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -9,6 +9,7 @@
"plugins": ["simple-import-sort", "unused-imports"],
"rules": {
// eslint
"no-console": "error",
"no-return-await": "off",

// simple-import-sort
19 changes: 8 additions & 11 deletions .github/workflows/lint-test-build.yml
Original file line number Diff line number Diff line change
@@ -19,33 +19,30 @@ jobs:

steps:
- name: Checkout Repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.2.2
with:
fetch-depth: 2

- name: Setup pnpm
uses: pnpm/action-setup@v3.0.0
uses: pnpm/action-setup@v4.0.0

- name: Setup Node.js
uses: actions/setup-node@v4.0.2
uses: actions/setup-node@v4.1.0
with:
cache: "pnpm"
node-version: 20.17.0
node-version: 22

- name: Install Dependencies
run: pnpm install --frozen-lockfile

- name: Lint
run: pnpm lint
run: pnpm run lint

- name: Format
run: pnpm format:check
run: pnpm run format:check

- name: Test
run: pnpm test
run: pnpm run test

- name: Build
run: pnpm build
env:
NODE_ENV: production
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
run: pnpm run build
5 changes: 3 additions & 2 deletions apps/client/src/libs/lingui.ts
Original file line number Diff line number Diff line change
@@ -17,7 +17,8 @@ export async function dynamicActivate(locale: string) {
if (dayjsLocales[locale]) {
dayjs.locale(await dayjsLocales[locale]());
}
} catch (error) {
console.error(error);
} catch {
// eslint-disable-next-line lingui/no-unlocalized-strings
throw new Error(`Failed to load messages for locale: ${locale}`);
}
}
Original file line number Diff line number Diff line change
@@ -104,7 +104,13 @@ export const AwardsDialog = () => {
{...field}
content={field.value}
footer={(editor) => (
<AiActions value={editor.getText()} onChange={editor.commands.setContent} />
<AiActions
value={editor.getText()}
onChange={(value) => {
editor.commands.setContent(value, true);
field.onChange(value);
}}
/>
)}
onChange={(value) => {
field.onChange(value);
Original file line number Diff line number Diff line change
@@ -98,7 +98,13 @@ export const CertificationsDialog = () => {
{...field}
content={field.value}
footer={(editor) => (
<AiActions value={editor.getText()} onChange={editor.commands.setContent} />
<AiActions
value={editor.getText()}
onChange={(value) => {
editor.commands.setContent(value, true);
field.onChange(value);
}}
/>
)}
onChange={(value) => {
field.onChange(value);
Original file line number Diff line number Diff line change
@@ -131,7 +131,13 @@ export const CustomSectionDialog = () => {
{...field}
content={field.value}
footer={(editor) => (
<AiActions value={editor.getText()} onChange={editor.commands.setContent} />
<AiActions
value={editor.getText()}
onChange={(value) => {
editor.commands.setContent(value, true);
field.onChange(value);
}}
/>
)}
onChange={(value) => {
field.onChange(value);
Original file line number Diff line number Diff line change
@@ -141,7 +141,13 @@ export const EducationDialog = () => {
{...field}
content={field.value}
footer={(editor) => (
<AiActions value={editor.getText()} onChange={editor.commands.setContent} />
<AiActions
value={editor.getText()}
onChange={(value) => {
editor.commands.setContent(value, true);
field.onChange(value);
}}
/>
)}
onChange={(value) => {
field.onChange(value);
Original file line number Diff line number Diff line change
@@ -117,7 +117,13 @@ export const ExperienceDialog = () => {
{...field}
content={field.value}
footer={(editor) => (
<AiActions value={editor.getText()} onChange={editor.commands.setContent} />
<AiActions
value={editor.getText()}
onChange={(value) => {
editor.commands.setContent(value, true);
field.onChange(value);
}}
/>
)}
onChange={(value) => {
field.onChange(value);
Original file line number Diff line number Diff line change
@@ -74,10 +74,10 @@ export const LanguagesDialog = () => {
}}
/>

{field.value === 0 ? (
<span className="text-base font-bold">{t`Hidden`}</span>
) : (
{field.value > 0 ? (
<span className="text-base font-bold">{field.value}</span>
) : (
<span className="text-base font-bold">{t`Hidden`}</span>
)}
</div>
</FormControl>
Original file line number Diff line number Diff line change
@@ -51,7 +51,7 @@ export const ProfilesDialog = () => {
<FormLabel>{t`Network`}</FormLabel>
<FormControl>
{/* eslint-disable-next-line lingui/no-unlocalized-strings */}
<Input {...field} placeholder="LinkedIn" />
<Input {...field} placeholder="GitHub" />
</FormControl>
<FormMessage />
</FormItem>
@@ -79,7 +79,7 @@ export const ProfilesDialog = () => {
<FormItem className="sm:col-span-2">
<FormLabel>{t`Website`}</FormLabel>
<FormControl>
<URLInput {...field} placeholder="https://linkedin.com/in/johndoe" />
<URLInput {...field} placeholder="https://github.com/johndoe" />
</FormControl>
<FormMessage />
</FormItem>
@@ -100,7 +100,7 @@ export const ProfilesDialog = () => {
<Input
{...field}
id="iconSlug"
placeholder="linkedin"
placeholder="github"
onChange={(event) => {
field.onChange(event);
handleIconChange(event);
Original file line number Diff line number Diff line change
@@ -111,7 +111,13 @@ export const ProjectsDialog = () => {
{...field}
content={field.value}
footer={(editor) => (
<AiActions value={editor.getText()} onChange={editor.commands.setContent} />
<AiActions
value={editor.getText()}
onChange={(value) => {
editor.commands.setContent(value, true);
field.onChange(value);
}}
/>
)}
onChange={(value) => {
field.onChange(value);
Original file line number Diff line number Diff line change
@@ -98,7 +98,13 @@ export const PublicationsDialog = () => {
{...field}
content={field.value}
footer={(editor) => (
<AiActions value={editor.getText()} onChange={editor.commands.setContent} />
<AiActions
value={editor.getText()}
onChange={(value) => {
editor.commands.setContent(value, true);
field.onChange(value);
}}
/>
)}
onChange={(value) => {
field.onChange(value);
Original file line number Diff line number Diff line change
@@ -84,7 +84,13 @@ export const ReferencesDialog = () => {
{...field}
content={field.value}
footer={(editor) => (
<AiActions value={editor.getText()} onChange={editor.commands.setContent} />
<AiActions
value={editor.getText()}
onChange={(value) => {
editor.commands.setContent(value, true);
field.onChange(value);
}}
/>
)}
onChange={(value) => {
field.onChange(value);
Original file line number Diff line number Diff line change
@@ -88,10 +88,10 @@ export const SkillsDialog = () => {
}}
/>

{field.value === 0 ? (
<span className="text-base font-bold">{t`Hidden`}</span>
) : (
{field.value > 0 ? (
<span className="text-base font-bold">{field.value}</span>
) : (
<span className="text-base font-bold">{t`Hidden`}</span>
)}
</div>
</FormControl>
Original file line number Diff line number Diff line change
@@ -112,7 +112,13 @@ export const VolunteerDialog = () => {
{...field}
content={field.value}
footer={(editor) => (
<AiActions value={editor.getText()} onChange={editor.commands.setContent} />
<AiActions
value={editor.getText()}
onChange={(value) => {
editor.commands.setContent(value, true);
field.onChange(value);
}}
/>
)}
onChange={(value) => {
field.onChange(value);
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { t } from "@lingui/macro";
import { t, Trans } from "@lingui/macro";
import { createId } from "@paralleldrive/cuid2";
import { DotsSixVertical, Envelope, Plus, X } from "@phosphor-icons/react";
import { CustomField as ICustomField } from "@reactive-resume/schema";
@@ -37,10 +37,10 @@ export const CustomField = ({ field, onChange, onRemove }: CustomFieldProps) =>
animate={{ opacity: 1, y: 0 }}
exit={{ opacity: 0, y: -50 }}
>
<div className="flex items-end justify-between space-x-2">
<div className="flex items-end justify-between">
<Button
size="icon"
variant="link"
variant="ghost"
className="shrink-0"
onPointerDown={(event) => {
controls.start(event);
@@ -52,32 +52,48 @@ export const CustomField = ({ field, onChange, onRemove }: CustomFieldProps) =>
<Popover>
<Tooltip content={t`Icon`}>
<PopoverTrigger asChild>
<Button size="icon" variant="ghost">
<Button size="icon" variant="ghost" className="shrink-0">
{field.icon ? <i className={cn(`ph ph-${field.icon}`)} /> : <Envelope />}
</Button>
</PopoverTrigger>
</Tooltip>
<PopoverContent className="p-1.5">
<PopoverContent side="bottom" align="start" className="flex flex-col gap-y-1.5 p-1.5">
<Input
value={field.icon}
placeholder={t`Enter Phosphor Icon`}
onChange={(event) => {
onChange({ ...field, icon: event.target.value });
}}
/>

<p className="text-xs opacity-80">
<Trans>
Visit{" "}
<a
href="https://phosphoricons.com/"
target="_blank"
className="underline"
rel="noopener noreferrer nofollow"
>
Phosphor Icons
</a>{" "}
for a list of available icons
</Trans>
</p>
</PopoverContent>
</Popover>

<Input
className="mx-2"
placeholder={t`Name`}
value={field.name}
className="!ml-0"
onChange={(event) => {
handleChange("name", event.target.value);
}}
/>

<Input
className="mx-2"
placeholder={t`Value`}
value={field.value}
onChange={(event) => {
@@ -87,8 +103,8 @@ export const CustomField = ({ field, onChange, onRemove }: CustomFieldProps) =>

<Button
size="icon"
variant="link"
className="!ml-0 shrink-0"
variant="ghost"
className="shrink-0"
onClick={() => {
onRemove(field.id);
}}
@@ -111,7 +127,7 @@ export const CustomFieldsSection = ({ className }: Props) => {
const onAddCustomField = () => {
setValue("basics.customFields", [
...customFields,
{ id: createId(), icon: "", name: "", value: "" },
{ id: createId(), icon: "envelope", name: "", value: "" },
]);
};

Original file line number Diff line number Diff line change
@@ -70,12 +70,15 @@ export const SectionBase = <T extends SectionItem>({ id, title, description }: P
const onCreate = () => {
open("create", { id });
};

const onUpdate = (item: T) => {
open("update", { id, item });
};

const onDuplicate = (item: T) => {
open("duplicate", { id, item });
};

const onDelete = (item: T) => {
open("delete", { id, item });
};
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { t } from "@lingui/macro";
import { createId } from "@paralleldrive/cuid2";
import { CopySimple, PencilSimple, Plus } from "@phosphor-icons/react";
import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
import { SectionItem, SectionWithItem } from "@reactive-resume/schema";
import {
AlertDialog,
@@ -14,6 +15,7 @@ import {
Button,
Dialog,
DialogContent,
DialogDescription,
DialogFooter,
DialogHeader,
DialogTitle,
@@ -158,6 +160,10 @@ export const SectionDialog = <T extends SectionItem>({
</h2>
</div>
</DialogTitle>

<VisuallyHidden>
<DialogDescription />
</VisuallyHidden>
</DialogHeader>

{children}
Loading