Compare commits

..

No commits in common. "2e0ed5e3bba44916455f4aa071c2897cc1f0c69c" and "5ebe9bd55f6c9fe62206d51b6f271ba82b5b3318" have entirely different histories.

6 changed files with 5 additions and 83 deletions

1
package-lock.json generated
View File

@ -9,7 +9,6 @@
"version": "0.1.0", "version": "0.1.0",
"dependencies": { "dependencies": {
"@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-accordion": "^1.1.2",
"@radix-ui/react-slot": "^1.0.2",
"class-variance-authority": "^0.7.0", "class-variance-authority": "^0.7.0",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"html-react-parser": "^5.1.10", "html-react-parser": "^5.1.10",

View File

@ -10,7 +10,6 @@
}, },
"dependencies": { "dependencies": {
"@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-accordion": "^1.1.2",
"@radix-ui/react-slot": "^1.0.2",
"class-variance-authority": "^0.7.0", "class-variance-authority": "^0.7.0",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"html-react-parser": "^5.1.10", "html-react-parser": "^5.1.10",

View File

@ -8,7 +8,6 @@ import parse from "html-react-parser";
import styles from "./JobCardDescription.module.css"; import styles from "./JobCardDescription.module.css";
import Image from "next/image"; import Image from "next/image";
import JobCardIconContainer from "./JobCardIconContainer"; import JobCardIconContainer from "./JobCardIconContainer";
import { Button } from "@/components/ui/button";
interface JobPosting { interface JobPosting {
title: string; title: string;
@ -50,7 +49,7 @@ export default async function JobCard(props: { job: JobPosting }) {
/> />
<div className="flex flex-col justify-start"> <div className="flex flex-col justify-start">
<h2 className="text-xl sm:text-2xl text-left block sm:hidden"> <h2 className="text-xl sm:text-2xl text-left block sm:hidden">
{title.length > 50 ? title.slice(0, 50) + "..." : title} {title.length > 40 ? title.slice(0, 40) + "..." : title}
</h2> </h2>
<h2 className="text-2xl sm:text-2xl text-left sm:block hidden"> <h2 className="text-2xl sm:text-2xl text-left sm:block hidden">
{title} {title}
@ -73,16 +72,9 @@ export default async function JobCard(props: { job: JobPosting }) {
</div> </div>
</AccordionTrigger> </AccordionTrigger>
<AccordionContent> <AccordionContent>
<div className="flex flex-col gap-2">
<div className={`py-4 ${styles.parsedDescription}`}> <div className={`py-4 ${styles.parsedDescription}`}>
{parsedDescription} {parsedDescription}
</div> </div>
<div className="flex justify-center">
<a href={link}>
<Button variant="outline">Apply here</Button>
</a>
</div>
</div>
</AccordionContent> </AccordionContent>
</AccordionItem> </AccordionItem>
</Accordion> </Accordion>

View File

@ -3,14 +3,8 @@ import Image from "next/image";
export default function JobCardIcon(props: { src: string }) { export default function JobCardIcon(props: { src: string }) {
const { src } = props; const { src } = props;
return ( return (
<div className="flex justify-center items-center h-auto w-6 md:min-w-14"> <div className="flex justify-center items-center w-6 md:min-w-14">
<Image <Image src={src} alt={`${src} icon`} width={50} height={50} />
className="h-auto w-6 md:min-w-12"
src={src}
alt={`${src} icon`}
width={50}
height={50}
/>
</div> </div>
); );
} }

View File

@ -4,12 +4,6 @@ export default async function Home() {
return ( return (
<main className="container"> <main className="container">
<div> <div>
<h1 className="text-4xl pt-4">Software Developer Jobs</h1>
<h2 className="text-2xl">
Get entry- and mid level software developer jobs in Denmark as soon as
they are posted!
</h2>
<hr className="stroke stroke-stone-200 my-4" />
<TheHub /> <TheHub />
</div> </div>
</main> </main>

View File

@ -1,56 +0,0 @@
import * as React from "react"
import { Slot } from "@radix-ui/react-slot"
import { cva, type VariantProps } from "class-variance-authority"
import { cn } from "@/lib/utils"
const buttonVariants = cva(
"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-stone-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:ring-offset-stone-950 dark:focus-visible:ring-stone-300",
{
variants: {
variant: {
default: "bg-stone-900 text-stone-50 hover:bg-stone-900/90 dark:bg-stone-50 dark:text-stone-900 dark:hover:bg-stone-50/90",
destructive:
"bg-red-500 text-stone-50 hover:bg-red-500/90 dark:bg-red-900 dark:text-stone-50 dark:hover:bg-red-900/90",
outline:
"border border-stone-200 bg-white hover:bg-stone-100 hover:text-stone-900 dark:border-stone-800 dark:bg-stone-950 dark:hover:bg-stone-800 dark:hover:text-stone-50",
secondary:
"bg-stone-100 text-stone-900 hover:bg-stone-100/80 dark:bg-stone-800 dark:text-stone-50 dark:hover:bg-stone-800/80",
ghost: "hover:bg-stone-100 hover:text-stone-900 dark:hover:bg-stone-800 dark:hover:text-stone-50",
link: "text-stone-900 underline-offset-4 hover:underline dark:text-stone-50",
},
size: {
default: "h-10 px-4 py-2",
sm: "h-9 rounded-md px-3",
lg: "h-11 rounded-md px-8",
icon: "h-10 w-10",
},
},
defaultVariants: {
variant: "default",
size: "default",
},
}
)
export interface ButtonProps
extends React.ButtonHTMLAttributes<HTMLButtonElement>,
VariantProps<typeof buttonVariants> {
asChild?: boolean
}
const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
({ className, variant, size, asChild = false, ...props }, ref) => {
const Comp = asChild ? Slot : "button"
return (
<Comp
className={cn(buttonVariants({ variant, size, className }))}
ref={ref}
{...props}
/>
)
}
)
Button.displayName = "Button"
export { Button, buttonVariants }