1
mirror of https://github.com/xitanggg/open-resume synced 2024-11-03 09:19:21 +01:00

Fix some mobile web issues

This commit is contained in:
Xitang 2023-06-24 13:49:02 -07:00
parent a9e3902a65
commit 346cb2ca07
11 changed files with 41 additions and 35 deletions

View File

@ -34,7 +34,7 @@ const ResumeControlBarComponent = ({
}, [update, document]); }, [update, document]);
return ( return (
<div className="sticky bottom-0 left-0 right-0 flex h-[var(--resume-control-bar-height)] items-center justify-between px-[var(--resume-padding)] text-gray-600"> <div className="sticky bottom-0 left-0 right-0 flex h-[var(--resume-control-bar-height)] items-center justify-center px-[var(--resume-padding)] text-gray-600 lg:justify-between">
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
<MagnifyingGlassIcon className="h-5 w-5" aria-hidden="true" /> <MagnifyingGlassIcon className="h-5 w-5" aria-hidden="true" />
<input <input
@ -49,7 +49,7 @@ const ResumeControlBarComponent = ({
}} }}
/> />
<div className="w-10">{`${Math.round(scale * 100)}%`}</div> <div className="w-10">{`${Math.round(scale * 100)}%`}</div>
<label className="flex items-center gap-1"> <label className="hidden items-center gap-1 lg:flex">
<input <input
type="checkbox" type="checkbox"
className="mt-0.5 h-4 w-4" className="mt-0.5 h-4 w-4"
@ -60,12 +60,12 @@ const ResumeControlBarComponent = ({
</label> </label>
</div> </div>
<a <a
className="ml-8 flex items-center gap-1 rounded-md border border-gray-300 px-3 py-0.5 hover:bg-gray-100" className="ml-1 flex items-center gap-1 rounded-md border border-gray-300 px-3 py-0.5 hover:bg-gray-100 lg:ml-8"
href={instance.url!} href={instance.url!}
download={fileName} download={fileName}
> >
<ArrowDownTrayIcon className="h-4 w-4" /> <ArrowDownTrayIcon className="h-4 w-4" />
<span>Download Resume</span> <span className="whitespace-nowrap">Download Resume</span>
</a> </a>
</div> </div>
); );

View File

@ -22,12 +22,10 @@ const Resume = () => {
); );
return ( return (
<div className="relative flex"> <div className="relative flex justify-center md:justify-start">
<FlexboxSpacer maxWidth={50} /> <FlexboxSpacer maxWidth={50} className="hidden md:block" />
<div className="relative"> <div className="relative">
<section <section className="h-[calc(100vh-var(--top-nav-bar-height)-var(--resume-control-bar-height))] overflow-hidden md:p-[var(--resume-padding)]">
className={`h-[calc(100vh-var(--top-nav-bar-height)-var(--resume-control-bar-height))] overflow-hidden p-[var(--resume-padding)]`}
>
<ResumeIFrame <ResumeIFrame
documentSize={settings.documentSize} documentSize={settings.documentSize}
scale={scale} scale={scale}

View File

@ -113,8 +113,8 @@ export const ResumeDropzone = ({
> >
Browse a pdf file or drop it here Browse a pdf file or drop it here
</p> </p>
<p className="flex items-center justify-center text-sm text-gray-500"> <p className="flex text-sm text-gray-500">
<LockClosedIcon className="mr-1 h-3 w-3 text-gray-400" /> <LockClosedIcon className="mr-1 mt-1 h-3 w-3 text-gray-400" />
File data is used locally and never leaves your browser File data is used locally and never leaves your browser
</p> </p>
</> </>

View File

@ -59,7 +59,13 @@ export const SkillsForm = () => {
<InputGroupWrapper <InputGroupWrapper
label="Featured Skills (Optional)" label="Featured Skills (Optional)"
className="col-span-full" className="col-span-full"
/> >
<p className="mt-2 text-sm font-normal text-gray-600">
Featured skills is optional to highlight top skills, with more
circles mean higher proficiency.
</p>
</InputGroupWrapper>
{featuredSkills.map(({ skill, rating }, idx) => ( {featuredSkills.map(({ skill, rating }, idx) => (
<FeaturedSkillInput <FeaturedSkillInput
key={idx} key={idx}

View File

@ -34,7 +34,7 @@ export const ResumeForm = () => {
return ( return (
<div <div
className={cx( className={cx(
"flex h-[calc(100vh-var(--top-nav-bar-height))] justify-end overflow-y-scroll scrollbar scrollbar-track-gray-100 scrollbar-w-3", "flex justify-center scrollbar scrollbar-track-gray-100 scrollbar-w-3 md:h-[calc(100vh-var(--top-nav-bar-height))] md:justify-end md:overflow-y-scroll",
isHover && "scrollbar-thumb-gray-200" isHover && "scrollbar-thumb-gray-200"
)} )}
onMouseOver={() => setIsHover(true)} onMouseOver={() => setIsHover(true)}
@ -49,7 +49,7 @@ export const ResumeForm = () => {
<ThemeForm /> <ThemeForm />
<br /> <br />
</section> </section>
<FlexboxSpacer maxWidth={50} /> <FlexboxSpacer maxWidth={50} className="hidden md:block" />
</div> </div>
); );
}; };

View File

@ -66,7 +66,7 @@ export const AutoTypingResume = () => {
resume={resume} resume={resume}
settings={{ settings={{
...initialSettings, ...initialSettings,
fontSize: "12", fontSize: "12pt",
formToHeading: { formToHeading: {
workExperiences: resume.workExperiences[0].company workExperiences: resume.workExperiences[0].company
? "WORK EXPERIENCE" ? "WORK EXPERIENCE"

View File

@ -42,7 +42,8 @@ export const Features = () => {
<div className="mx-auto lg:max-w-4xl"> <div className="mx-auto lg:max-w-4xl">
<dl className="grid grid-cols-1 justify-items-center gap-y-8 lg:grid-cols-2 lg:gap-x-6 lg:gap-y-16"> <dl className="grid grid-cols-1 justify-items-center gap-y-8 lg:grid-cols-2 lg:gap-x-6 lg:gap-y-16">
{FEATURES.map(({ src, title, text }) => ( {FEATURES.map(({ src, title, text }) => (
<div className="relative w-96 self-center pl-16" key={title}> <div className="px-2" key={title}>
<div className="relative w-96 self-center pl-16">
<dt className="text-2xl font-bold"> <dt className="text-2xl font-bold">
<Image <Image
src={src} src={src}
@ -53,6 +54,7 @@ export const Features = () => {
</dt> </dt>
<dd className="mt-2">{text}</dd> <dd className="mt-2">{text}</dd>
</div> </div>
</div>
))} ))}
</dl> </dl>
</div> </div>

View File

@ -16,7 +16,7 @@ const LOGOS = [
]; ];
export const LogoCloud = () => ( export const LogoCloud = () => (
<section className="mt-10"> <section className="mt-14 lg:mt-10">
<h2 className="text-center font-semibold text-gray-500"> <h2 className="text-center font-semibold text-gray-500">
Trusted by students and employees from top universities and companies Trusted by students and employees from top universities and companies
worldwide worldwide
@ -25,7 +25,7 @@ export const LogoCloud = () => (
{LOGOS.map(({ src, alt }, idx) => ( {LOGOS.map(({ src, alt }, idx) => (
<Image <Image
key={idx} key={idx}
className="col-span-3 h-full max-h-10 max-w-[10rem] lg:col-span-1" className="col-span-3 h-full max-h-10 max-w-[130px] lg:col-span-1 lg:max-w-[160px]"
src={src} src={src}
alt={alt} alt={alt}
/> />

View File

@ -8,7 +8,7 @@ export default function Create() {
return ( return (
<Provider store={store}> <Provider store={store}>
<main className="relative h-full w-full overflow-hidden bg-gray-50"> <main className="relative h-full w-full overflow-hidden bg-gray-50">
<div className="grid grid-cols-6"> <div className="grid grid-cols-3 md:grid-cols-6">
<div className="col-span-3"> <div className="col-span-3">
<ResumeForm /> <ResumeForm />
</div> </div>

View File

@ -145,7 +145,7 @@ export const ResumeParserAlgorithmArticle = ({
<Table <Table
table={step1TextItemsTable} table={step1TextItemsTable}
className="!border-none" className="!border-none"
tdClassNames={["", "", "whitespace-nowrap"]} tdClassNames={["", "", "md:whitespace-nowrap"]}
/> />
</div> </div>
{/* Step 2. Group text items into lines */} {/* Step 2. Group text items into lines */}

View File

@ -53,17 +53,17 @@ export default function ResumeParser() {
return ( return (
<main className="h-full w-full overflow-hidden"> <main className="h-full w-full overflow-hidden">
<div className="grid sm:grid-cols-6"> <div className="grid md:grid-cols-6">
<div className="flex justify-end px-2 sm:col-span-3 sm:h-[calc(100vh-var(--top-nav-bar-height))]"> <div className="flex justify-center px-2 md:col-span-3 md:h-[calc(100vh-var(--top-nav-bar-height))] md:justify-end">
<section className="mt-5 max-w-[600px] grow"> <section className="mt-5 grow px-4 md:max-w-[600px] md:px-0">
<div className="aspect-h-[9.5] aspect-w-7"> <div className="aspect-h-[9.5] aspect-w-7">
<iframe src={`${fileUrl}#navpanes=0`} className="h-full w-full" /> <iframe src={`${fileUrl}#navpanes=0`} className="h-full w-full" />
</div> </div>
</section> </section>
<FlexboxSpacer maxWidth={45} className="hidden sm:block" /> <FlexboxSpacer maxWidth={45} className="hidden md:block" />
</div> </div>
<div className="flex px-6 text-gray-900 sm:col-span-3 sm:h-[calc(100vh-var(--top-nav-bar-height))] sm:overflow-y-scroll"> <div className="flex px-6 text-gray-900 md:col-span-3 md:h-[calc(100vh-var(--top-nav-bar-height))] md:overflow-y-scroll">
<FlexboxSpacer maxWidth={45} /> <FlexboxSpacer maxWidth={45} className="hidden md:block" />
<section className="max-w-[600px] grow"> <section className="max-w-[600px] grow">
<Heading className="text-primary !mt-4"> <Heading className="text-primary !mt-4">
Resume Parser Playground Resume Parser Playground