mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-10 04:22:27 +10:00
feat(resume-dialog): ✨ implement create sample resume sub-action in create resume dialog
This commit is contained in:
493
apps/client/src/constants/sample-resume.ts
Normal file
493
apps/client/src/constants/sample-resume.ts
Normal file
@ -0,0 +1,493 @@
|
||||
import { ResumeData } from "@reactive-resume/schema";
|
||||
|
||||
export const sampleResume: ResumeData = {
|
||||
basics: {
|
||||
name: "John Doe",
|
||||
headline: "Fintech Digital Assets Manager & Technology Innovator",
|
||||
email: "hello@johndoe.com",
|
||||
phone: "555-555-5555",
|
||||
location: "Sarasota, FL",
|
||||
url: {
|
||||
label: "",
|
||||
href: "https://johndoe.com",
|
||||
},
|
||||
customFields: [],
|
||||
picture: {
|
||||
url: "http://localhost:9000/reactive-resume/clomqcm7b0004xi96goz2gqmt/pictures/clomqcm7b0004xi96goz2gqmt.jpg",
|
||||
size: 64,
|
||||
aspectRatio: 0.75,
|
||||
borderRadius: 6,
|
||||
effects: {
|
||||
hidden: false,
|
||||
border: false,
|
||||
grayscale: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
sections: {
|
||||
summary: {
|
||||
name: "Summary",
|
||||
columns: 1,
|
||||
visible: true,
|
||||
id: "summary",
|
||||
content:
|
||||
"<p>With over <strong><em>two decades of experience</em></strong> at the forefront of digital asset financial technology (FinTech) integration across the entire spectrum of financial service company operations, I bring a strategic and analytical approach, underpinned by a deep understanding of cryptocurrency markets, digital asset financial management, compliance, and regulatory frameworks.</p><h3>Career Highlights</h3><ul><li><p>I have a proven track record in the <strong>design and deployment of bespoke trading platforms</strong> tailored to the unique needs of clients and independent financial entities, exemplified by driving a remarkable <strong>1,200% increase in Assets Under Management (AUM)</strong> for Mesirow Financial Holdings, Inc.</p></li><li><p>Recognized for exceptional leadership abilities, I have consistently <strong>cultivated high-performance trading and software engineering teams</strong>, achieving retention rates that surpass industry standards.</p></li><li><p>Demonstrated innovation and thought leadership by co-creating and <strong>introducing Telcoin's stablecoin</strong> concept to key stakeholders within the banking industry.</p></li><li><p>Instrumental in <strong>advancing Telcoin’s strategic legislative initiatives</strong>, my direct involvement has been pivotal in the enactment of supportive financial regulations.</p></li></ul>",
|
||||
},
|
||||
awards: {
|
||||
name: "Awards",
|
||||
columns: 1,
|
||||
visible: true,
|
||||
id: "awards",
|
||||
items: [
|
||||
{
|
||||
id: "xk8q4bsp3vdlixehddifqsej",
|
||||
visible: true,
|
||||
title: 'Presented "Current Landscape of Digital Assets and Cryptocurrency"',
|
||||
awarder: "Meeting of the Midwest International Trade Association",
|
||||
date: "Jul 2022",
|
||||
summary: "",
|
||||
url: {
|
||||
label: "",
|
||||
href: "",
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "ky6dcdrlo6bgmagidab7hze8",
|
||||
visible: true,
|
||||
title: 'Presented "State of Telcoin"',
|
||||
awarder: "Nebraska Bankers Association",
|
||||
date: "Jul 2021",
|
||||
summary: "",
|
||||
url: {
|
||||
label: "",
|
||||
href: "",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
certifications: {
|
||||
name: "Certifications",
|
||||
columns: 1,
|
||||
visible: true,
|
||||
id: "certifications",
|
||||
items: [
|
||||
{
|
||||
id: "cx7xjbbp8q4n6uywmbjmnk06",
|
||||
visible: true,
|
||||
name: "Series 7, 66 and 3 Licenses",
|
||||
issuer: "Financial Industry Regulatory Authority (FINRA)",
|
||||
date: "Sep 2020",
|
||||
summary: "",
|
||||
url: {
|
||||
label: "",
|
||||
href: "",
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "c60noj3hfmpui6qmisyicpza",
|
||||
visible: true,
|
||||
name: "Microsoft Technical Associate (MTA)",
|
||||
issuer: "Microsoft Database Fundamentals",
|
||||
date: "Aug 2019",
|
||||
summary: "",
|
||||
url: {
|
||||
label: "",
|
||||
href: "",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
education: {
|
||||
name: "Education",
|
||||
columns: 1,
|
||||
visible: true,
|
||||
id: "education",
|
||||
items: [
|
||||
{
|
||||
id: "rxzt0h3k6hm2osgt99luj6ga",
|
||||
visible: true,
|
||||
institution: "Harvard Business School",
|
||||
studyType: "Masters in Business Administration",
|
||||
area: "Economics",
|
||||
score: "Cambridge, MA",
|
||||
date: "Aug 2008 - Jul 2012",
|
||||
summary: "",
|
||||
url: {
|
||||
label: "",
|
||||
href: "https://www.harvard.edu/",
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "sw5c5016z5oth2nqk2wpiqrk",
|
||||
visible: true,
|
||||
institution: "Western Illinois University",
|
||||
studyType: "Bachelor of Business Administration",
|
||||
area: "Economics",
|
||||
score: "Macomb, IL",
|
||||
date: "Dec 2004 - Feb 2008",
|
||||
summary: "",
|
||||
url: {
|
||||
label: "",
|
||||
href: "https://www.wiu.edu/",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
experience: {
|
||||
name: "Experience",
|
||||
columns: 1,
|
||||
visible: true,
|
||||
id: "experience",
|
||||
items: [
|
||||
{
|
||||
id: "w36cxnlowbgb4r7ruusjexb6",
|
||||
visible: true,
|
||||
company: "Telcoin",
|
||||
position: "Vice President, Banking Operations",
|
||||
location: "Los Angeles, CA",
|
||||
date: "Aug 2020 - Present",
|
||||
summary:
|
||||
"<p>Key visionary in charting the company's DeFi strategy and direction, partnering across the executive team. Identify and seize opportunities to position Telcoin as an industry leader, grow business, extend the digital asset platform reach, and influence favorable legislation. Lead banking operations, including a cross-functional team and partnerships with mobile money platforms.</p><ul><li><p><strong>Paved the way for platform expansion by evaluating various vendors as on-ramps for the Telcoin application.</strong> Assessed companies with filters, such as customer cost, availability by country, licenses, banking connection, and delivery time. Presented to team members for follow-up with introductory calls.</p></li><li><p><strong>Played a key role in gaining authorization of digital asset depository entities in Nebraska</strong> through legislative and regulatory advocacy, leading to passage of 2021 Nebraska Financial Innovation Act (NFIA). Promoted, educated, and lobbied for bill, meeting with Nebraska politicians and other agencies in Washington, DC and with banker's associations and civic leaders. Reviewed the WY Special Purpose Depository Act of 2020.</p></li><li><p><strong>Partnered with CEO to pioneer a stablecoin to coincide with passage of NFIA. </strong>Researched fiat-backed and algorithmic stablecoins, attestation processes, national and international legislation, and market trends. Developed and presented stablecoin at Nebraska Bankers Association.</p></li><li><p><strong>Integrated ACH collection operations with core bank.</strong> Manage ACH processing operations and collections from the app and monitor for potential fraud.</p></li><li><p><strong>Prevented $1M+ in losses due to fraud. </strong>Identified and alerted team to attempt to deceive the KYC onboarding process.</p></li></ul>",
|
||||
url: {
|
||||
label: "",
|
||||
href: "https://telcoin.xyz/",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
volunteer: {
|
||||
name: "Volunteering",
|
||||
columns: 1,
|
||||
visible: true,
|
||||
id: "volunteer",
|
||||
items: [
|
||||
{
|
||||
id: "z9uwndyvz4vxndywohmsv5q2",
|
||||
visible: true,
|
||||
organization: "Rotary Club of Lakewood Ranch",
|
||||
position: "Member",
|
||||
location: "New York, NY",
|
||||
date: "Dec 2018 - Present",
|
||||
summary: "",
|
||||
url: {
|
||||
label: "",
|
||||
href: "",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
interests: {
|
||||
name: "Interests",
|
||||
columns: 1,
|
||||
visible: true,
|
||||
id: "interests",
|
||||
items: [
|
||||
{
|
||||
id: "yxhban7wuust7an86bwhoy68",
|
||||
visible: true,
|
||||
name: "Photography",
|
||||
keywords: ["Polaroid", "Adobe Lightroom", "Canon DSLR"],
|
||||
},
|
||||
{
|
||||
id: "vdirkh4frapk72mpfoxkddju",
|
||||
visible: true,
|
||||
name: "Video Games",
|
||||
keywords: ["FIFA 23", "Call of Duty", "Slay the Spire"],
|
||||
},
|
||||
{
|
||||
id: "ww6gvkhb6lacyi7q0ju13oez",
|
||||
visible: true,
|
||||
name: "Product Development",
|
||||
keywords: ["HTML", "CSS", "JavaScript", "React"],
|
||||
},
|
||||
],
|
||||
},
|
||||
languages: {
|
||||
name: "Languages",
|
||||
columns: 4,
|
||||
visible: true,
|
||||
id: "languages",
|
||||
items: [
|
||||
{
|
||||
id: "je6s7k590yp9wtv65bbcyiua",
|
||||
visible: true,
|
||||
name: "English",
|
||||
fluency: "Native Speaker",
|
||||
fluencyLevel: 5,
|
||||
},
|
||||
{
|
||||
id: "qdltq93lqi5g290t70brrpit",
|
||||
visible: true,
|
||||
name: "German",
|
||||
fluency: "Advanced",
|
||||
fluencyLevel: 5,
|
||||
},
|
||||
{
|
||||
id: "txxfl568h5yg5xojwj5sk3ms",
|
||||
visible: true,
|
||||
name: "French",
|
||||
fluency: "Advanced",
|
||||
fluencyLevel: 5,
|
||||
},
|
||||
{
|
||||
id: "zla2ezdkhemy68kg8bj86jk0",
|
||||
visible: true,
|
||||
name: "Spanish",
|
||||
fluency: "Learning",
|
||||
fluencyLevel: 2,
|
||||
},
|
||||
],
|
||||
},
|
||||
profiles: {
|
||||
name: "Profiles",
|
||||
columns: 5,
|
||||
visible: true,
|
||||
id: "profiles",
|
||||
items: [
|
||||
{
|
||||
id: "hey1likga9nqv5x548aogybk",
|
||||
visible: true,
|
||||
network: "LinkedIn",
|
||||
username: "johndoe",
|
||||
icon: "linkedin",
|
||||
url: {
|
||||
label: "",
|
||||
href: "https://linkedin.com/in/johndoe",
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "tkofnqpwaf56tjqtxq7x97z8",
|
||||
visible: true,
|
||||
network: "Twitter",
|
||||
username: "johndoe",
|
||||
icon: "x",
|
||||
url: {
|
||||
label: "",
|
||||
href: "https://x.com/johndoe",
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "xg5nljag80domeki26dblx1k",
|
||||
visible: true,
|
||||
network: "GitHub",
|
||||
username: "johndoe",
|
||||
icon: "github",
|
||||
url: {
|
||||
label: "",
|
||||
href: "https://github.com/johndoe",
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "u4y7yfqi607r6un05y3leap5",
|
||||
visible: true,
|
||||
network: "StackOverflow",
|
||||
username: "johndoe",
|
||||
icon: "stackoverflow",
|
||||
url: {
|
||||
label: "",
|
||||
href: "https://stackoverflow.com/users/1248133",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
projects: {
|
||||
name: "Projects",
|
||||
columns: 1,
|
||||
visible: true,
|
||||
id: "projects",
|
||||
items: [],
|
||||
},
|
||||
publications: {
|
||||
name: "Publications",
|
||||
columns: 1,
|
||||
visible: true,
|
||||
id: "publications",
|
||||
items: [
|
||||
{
|
||||
id: "nx1qpj7u5duywvcror662woy",
|
||||
visible: true,
|
||||
name: "Current Landscape of Digital Assets and Cryptocurrency",
|
||||
publisher: "Midwest International Trade Association",
|
||||
date: "Jul 2022",
|
||||
summary: "",
|
||||
url: {
|
||||
label: "",
|
||||
href: "",
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "u385pdal3exspenxswj02gd2",
|
||||
visible: true,
|
||||
name: "State of Telcoin",
|
||||
publisher: "Nebraska Bankers Association",
|
||||
date: "Apr 2019",
|
||||
summary: "",
|
||||
url: {
|
||||
label: "",
|
||||
href: "",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
references: {
|
||||
name: "References",
|
||||
columns: 2,
|
||||
visible: true,
|
||||
id: "references",
|
||||
items: [
|
||||
{
|
||||
id: "znn813gd72aptpgz8dc2g0g8",
|
||||
visible: true,
|
||||
name: "Cosmo Kramer",
|
||||
description: "Manager at EY",
|
||||
summary: "<p><em>(credentials available on request)</em></p>",
|
||||
url: {
|
||||
label: "",
|
||||
href: "https://linkedin.com/in/cosmo.kramer",
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "erqekvctbkc4dxvqxm6mfvgj",
|
||||
visible: true,
|
||||
name: "Elangovan Musk",
|
||||
description: "CEO at Tulsa",
|
||||
summary: "<p><em>(credentials available on request)</em></p>",
|
||||
url: {
|
||||
label: "",
|
||||
href: "https://linkedin.com/in/elan.musk",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
skills: {
|
||||
name: "Skills",
|
||||
columns: 2,
|
||||
visible: true,
|
||||
id: "skills",
|
||||
items: [
|
||||
{
|
||||
id: "lo7bvn3dv7s13effzyy4ov2l",
|
||||
visible: true,
|
||||
name: "Financial Markets",
|
||||
description: "Expert",
|
||||
level: 5,
|
||||
keywords: [
|
||||
"Foreign Exchange (FX) Markets",
|
||||
"Futures",
|
||||
"Options",
|
||||
"Stablecoins",
|
||||
"Decentralized Finance (DeFi)",
|
||||
"Crypto Exchanges",
|
||||
"NFTs",
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "hr8ncy5ewyq2wug238b1licq",
|
||||
visible: true,
|
||||
name: "Digital Asset Management",
|
||||
description: "Expert",
|
||||
level: 5,
|
||||
keywords: [
|
||||
"Digital Asset Strategy",
|
||||
"Digital Asset Technology",
|
||||
"Team Leadership",
|
||||
"Technical Platform Design",
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "s8x0oe9bfslhb4cp3wucpfus",
|
||||
visible: true,
|
||||
name: "Technical Expertise",
|
||||
description: "Expert",
|
||||
level: 5,
|
||||
keywords: [
|
||||
"Architecture and Development",
|
||||
"Continuous Product Development",
|
||||
"Quantitative Models",
|
||||
"Data Standardization",
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "du8xdxue8hg3sfw13fixt1if",
|
||||
visible: true,
|
||||
name: "Legal & Compliance",
|
||||
description: "Advanced",
|
||||
level: 4,
|
||||
keywords: [
|
||||
"KYC",
|
||||
"Problem Solving Communication",
|
||||
"Presentations",
|
||||
"Training",
|
||||
"Market Data",
|
||||
"Bloomberg",
|
||||
"Reuters",
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
custom: {
|
||||
juryi0w9w9jabsgorks0bixq: {
|
||||
name: "Experience",
|
||||
columns: 1,
|
||||
visible: true,
|
||||
id: "juryi0w9w9jabsgorks0bixq",
|
||||
items: [
|
||||
{
|
||||
id: "j69rrkkdf94jqqfe5v726d1n",
|
||||
visible: true,
|
||||
name: "QuantRes",
|
||||
description: "Nassau, Bahamas",
|
||||
date: "Jan 2018 - Jul 2020",
|
||||
level: 0,
|
||||
summary:
|
||||
"<p>Proprietary quantitative trading firm and privately-held quantitative futures fund with $1B in AUM and a focus on futures and OTC FX opportunities. 25+ year track record of trading global derivatives markets.</p><h3>Execution Team Manager</h3><p>Led international OTC FX and futures trading desk, software development, compliance, and market data for fund averaging $5B in monthly FX transactions and generating 500K+ futures contracts per month.</p><p>Steered a 12-member team of 4 traders and 8 software engineers. Oversaw co-located trade execution and managed direct market access in 4 data centers globally for exchanges not co-located. Built partnerships with trading technology providers. Point of contact with banks, brokerages, FXSpotStream, and 9 other liquidity providers. Led market data feed agreements with exchanges. Maintained CME and Eurex exchange memberships. Headed fulfillment of regulatory compliance and due diligence requests.</p><ul><li><p><strong>Decreased HFT FX trading costs</strong> by integrating streaming of 1 million NDF prices into co-located servers, coordinating with engineers of the FX pricing engine.</p></li></ul><ul><li><p><strong>Streamlined market data contracts and reduced costs by improving data quality and availability.</strong> Consolidated technology providers (Bloomberg and Reuters) and enhanced data collection for time periods needed, data types, and breadth of data.</p></li></ul><ul><li><p><strong>Scaled capabilities by recruiting to enlarge the team</strong>, hiring 3 traders, 2 software engineers, and a consultant with 85% retention for 2+ years. Sourced top talent by posting jobs, leveraging network of contacts, and outsourcing with recruiters.</p></li></ul><ul><li><p><strong>Reduced bank, vendor, and futures broker fees, expanded access to services</strong>, and maintained open lines of communication by strengthening existing relationships. Contacted sales representatives to facilitate introductions.</p></li></ul>",
|
||||
keywords: [],
|
||||
url: {
|
||||
label: "",
|
||||
href: "https://quantres.xyz/",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
metadata: {
|
||||
locale: "en",
|
||||
template: "rhyhorn",
|
||||
layout: [
|
||||
[["profiles", "summary", "experience"], []],
|
||||
[["custom.juryi0w9w9jabsgorks0bixq", "education", "awards", "certifications"], []],
|
||||
[
|
||||
["skills", "interests", "publications", "volunteer", "languages", "projects", "references"],
|
||||
[],
|
||||
],
|
||||
],
|
||||
css: {
|
||||
value: ".section {\n\toutline: 1px solid #000;\n\toutline-offset: 4px;\n}",
|
||||
visible: false,
|
||||
},
|
||||
page: {
|
||||
margin: 18,
|
||||
format: "a4",
|
||||
options: {
|
||||
breakLine: true,
|
||||
pageNumbers: true,
|
||||
},
|
||||
},
|
||||
theme: {
|
||||
background: "#ffffff",
|
||||
text: "#000000",
|
||||
primary: "#000000",
|
||||
},
|
||||
typography: {
|
||||
font: {
|
||||
family: "IBM Plex Serif",
|
||||
subset: "latin",
|
||||
variants: ["regular", "italic", "600", "600italic"],
|
||||
size: 14,
|
||||
},
|
||||
lineHeight: 1.5,
|
||||
underlineLinks: true,
|
||||
},
|
||||
},
|
||||
};
|
||||
@ -1,5 +1,5 @@
|
||||
import { zodResolver } from "@hookform/resolvers/zod";
|
||||
import { MagicWand, Plus } from "@phosphor-icons/react";
|
||||
import { CaretDown, MagicWand, Plus, TestTube } from "@phosphor-icons/react";
|
||||
import { createResumeSchema, ResumeDto } from "@reactive-resume/dto";
|
||||
import { idSchema } from "@reactive-resume/schema";
|
||||
import {
|
||||
@ -18,6 +18,10 @@ import {
|
||||
DialogFooter,
|
||||
DialogHeader,
|
||||
DialogTitle,
|
||||
DropdownMenu,
|
||||
DropdownMenuContent,
|
||||
DropdownMenuItem,
|
||||
DropdownMenuTrigger,
|
||||
Form,
|
||||
FormControl,
|
||||
FormDescription,
|
||||
@ -34,6 +38,7 @@ import { useEffect } from "react";
|
||||
import { useForm } from "react-hook-form";
|
||||
import { z } from "zod";
|
||||
|
||||
import { sampleResume } from "@/client/constants/sample-resume";
|
||||
import { useToast } from "@/client/hooks/use-toast";
|
||||
import { useCreateResume, useDeleteResume, useUpdateResume } from "@/client/services/resume";
|
||||
import { useImportResume } from "@/client/services/resume/import";
|
||||
@ -135,6 +140,19 @@ export const ResumeDialog = () => {
|
||||
form.setValue("slug", kebabCase(name));
|
||||
};
|
||||
|
||||
const onCreateSample = async () => {
|
||||
const randomName = generateRandomName();
|
||||
const { title, slug } = form.getValues();
|
||||
|
||||
await duplicateResume({
|
||||
title: title || randomName,
|
||||
slug: slug || kebabCase(randomName),
|
||||
data: sampleResume,
|
||||
});
|
||||
|
||||
close();
|
||||
};
|
||||
|
||||
if (isDelete) {
|
||||
return (
|
||||
<AlertDialog open={isOpen} onOpenChange={close}>
|
||||
@ -233,11 +251,26 @@ export const ResumeDialog = () => {
|
||||
/>
|
||||
|
||||
<DialogFooter>
|
||||
<Button type="submit" disabled={loading}>
|
||||
{isCreate && "Create"}
|
||||
{isUpdate && "Save Changes"}
|
||||
{isDuplicate && "Duplicate"}
|
||||
</Button>
|
||||
<div className="flex items-center">
|
||||
<Button type="submit" disabled={loading} className="rounded-r-none">
|
||||
{isCreate && "Create"}
|
||||
{isUpdate && "Save Changes"}
|
||||
{isDuplicate && "Duplicate"}
|
||||
</Button>
|
||||
<DropdownMenu>
|
||||
<DropdownMenuTrigger>
|
||||
<Button type="button" size="icon" className="rounded-l-none border-l">
|
||||
<CaretDown />
|
||||
</Button>
|
||||
</DropdownMenuTrigger>
|
||||
<DropdownMenuContent side="right" align="center">
|
||||
<DropdownMenuItem onClick={onCreateSample}>
|
||||
<TestTube className="mr-2" />
|
||||
Create Sample Resume
|
||||
</DropdownMenuItem>
|
||||
</DropdownMenuContent>
|
||||
</DropdownMenu>
|
||||
</div>
|
||||
</DialogFooter>
|
||||
</form>
|
||||
</Form>
|
||||
|
||||
@ -17,7 +17,6 @@ import { StorageService } from "../storage/storage.service";
|
||||
import { UtilsService } from "../utils/utils.service";
|
||||
|
||||
const MM_TO_PX = 3.78;
|
||||
const PREVIEW_TIMEOUT = 5000; // 5 seconds
|
||||
const PRINTER_TIMEOUT = 10000; // 10 seconds
|
||||
|
||||
@Injectable()
|
||||
@ -81,7 +80,7 @@ export class PrinterService {
|
||||
return this.utils.getCachedOrSet(
|
||||
`user:${resume.userId}:storage:previews:${resume.id}`,
|
||||
async () => {
|
||||
return withTimeout(this.generatePreview(resume), PREVIEW_TIMEOUT);
|
||||
return withTimeout(this.generatePreview(resume), PRINTER_TIMEOUT);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@ export const RhyhornStyles = styled.div`
|
||||
|
||||
span {
|
||||
padding: 0 6px;
|
||||
border-right: 2px solid var(--color-primary);
|
||||
border-right: 1px solid var(--color-primary);
|
||||
|
||||
&:first-child {
|
||||
padding-left: 0;
|
||||
|
||||
@ -201,7 +201,7 @@
|
||||
"nestjs-prisma": "^0.22.0",
|
||||
"nestjs-zod": "^3.0.0",
|
||||
"nodemailer": "^6.9.7",
|
||||
"openai": "^4.15.3",
|
||||
"openai": "^4.15.4",
|
||||
"otplib": "^12.0.1",
|
||||
"papaparse": "^5.4.1",
|
||||
"passport": "^0.6.0",
|
||||
|
||||
8
pnpm-lock.yaml
generated
8
pnpm-lock.yaml
generated
@ -264,8 +264,8 @@ dependencies:
|
||||
specifier: ^6.9.7
|
||||
version: 6.9.7
|
||||
openai:
|
||||
specifier: ^4.15.3
|
||||
version: 4.15.3
|
||||
specifier: ^4.15.4
|
||||
version: 4.15.4
|
||||
otplib:
|
||||
specifier: ^12.0.1
|
||||
version: 12.0.1
|
||||
@ -15397,8 +15397,8 @@ packages:
|
||||
is-wsl: 2.2.0
|
||||
dev: true
|
||||
|
||||
/openai@4.15.3:
|
||||
resolution: {integrity: sha512-j2XSxxiOhF7lCiHUXmuDOGOgtKa36ia9pOQ2m9YCOMA2Ee4QTI+MzdHRoHlp6ewOsvW5NXkoT+xustSZljiGnA==}
|
||||
/openai@4.15.4:
|
||||
resolution: {integrity: sha512-EnlSl1p8n7Q/HnBf4+VOEcYloBKKe23sKOFfH/WJcw+XVyWav4lwDK4wCmsUY1wS4RFOdbA2EwBUB2p5WEPmoQ==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@types/node': 18.18.8
|
||||
|
||||
Reference in New Issue
Block a user