Commit
β’
415446d
1
Parent(s):
1460389
added credits
Browse files
src/app/interface/about/index.tsx
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { Button } from "@/components/ui/button"
|
2 |
+
import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog"
|
3 |
+
import { useState } from "react"
|
4 |
+
|
5 |
+
export function About() {
|
6 |
+
const [isOpen, setOpen] = useState(false)
|
7 |
+
|
8 |
+
return (
|
9 |
+
<Dialog open={isOpen} onOpenChange={setOpen}>
|
10 |
+
<DialogTrigger asChild>
|
11 |
+
<Button variant="outline">
|
12 |
+
<span className="hidden md:inline">About this project</span>
|
13 |
+
<span className="inline md:hidden">About</span>
|
14 |
+
</Button>
|
15 |
+
</DialogTrigger>
|
16 |
+
<DialogContent className="sm:max-w-[425px]">
|
17 |
+
<DialogHeader>
|
18 |
+
<DialogTitle>Hotshot-XL Text-to-GIF</DialogTitle>
|
19 |
+
<DialogDescription className="w-full text-center text-lg font-bold text-stone-800">
|
20 |
+
Hotshot-XL Text-to-GIF
|
21 |
+
</DialogDescription>
|
22 |
+
</DialogHeader>
|
23 |
+
<div className="grid gap-4 py-4 text-stone-800">
|
24 |
+
<p className="">
|
25 |
+
This app is currently in development, and allows you to generate a GIF using text (and soon a LoRA)
|
26 |
+
</p>
|
27 |
+
<p>
|
28 |
+
π It uses an API that you can <a className="text-stone-600 underline" href="https://huggingface.co/spaces/jbilcke-hf/ai-comic-factory/blob/main/README.md" target="_blank">fork from here</a>. This API is based on the amazing work made by <a className="text-stone-600 underline" href="https://huggingface.co/fffiloni" target="_blank">@fffiloni</a> for his super cool <a className="text-stone-600 underline" href="https://huggingface.co/spaces/fffiloni/text-to-gif" target="_blank">Hotshot-XL Space</a>.
|
29 |
+
</p>
|
30 |
+
<p>
|
31 |
+
π The model is <a className="text-stone-600 underline" href="https://huggingface.co/hotshotco/Hotshot-XL" target="_blank">Hotshot-XL</a> made by the awesome <a className="text-stone-600 underline" href="https://hotshot.co" target="_blank">hotshot.co team</a>.
|
32 |
+
</p>
|
33 |
+
</div>
|
34 |
+
<DialogFooter>
|
35 |
+
<Button type="submit" onClick={() => setOpen(false)}>Got it</Button>
|
36 |
+
</DialogFooter>
|
37 |
+
</DialogContent>
|
38 |
+
</Dialog>
|
39 |
+
)
|
40 |
+
}
|
src/app/interface/bottom-bar/index.tsx
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { cn } from "@/lib/utils"
|
2 |
+
|
3 |
+
import { About } from "../about"
|
4 |
+
|
5 |
+
export function BottomBar() {
|
6 |
+
return (
|
7 |
+
<div className={cn(
|
8 |
+
`print:hidden`,
|
9 |
+
`fixed bottom-2 md:bottom-4 left-2 right-0 md:left-3 md:right-1`,
|
10 |
+
`flex flex-row`,
|
11 |
+
`justify-between`,
|
12 |
+
`pointer-events-none`
|
13 |
+
)}>
|
14 |
+
<div className={cn(
|
15 |
+
`flex flex-row`,
|
16 |
+
`items-end`,
|
17 |
+
`pointer-events-auto`,
|
18 |
+
`animation-all duration-300 ease-in-out`,
|
19 |
+
`space-x-3`,
|
20 |
+
`scale-[0.9]`
|
21 |
+
)}>
|
22 |
+
<About />
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
)
|
26 |
+
}
|
src/app/interface/generate/index.tsx
CHANGED
@@ -18,8 +18,8 @@ export function Generate() {
|
|
18 |
|
19 |
const { shouldWarn, colorClass, nbCharsUsed, nbCharsLimits } = useCharacterLimit({
|
20 |
value: promptDraft,
|
21 |
-
nbCharsLimits:
|
22 |
-
warnBelow:
|
23 |
})
|
24 |
|
25 |
const submitButtonBouncer = useSpring({
|
@@ -136,7 +136,7 @@ export function Generate() {
|
|
136 |
<div className={cn(
|
137 |
`flex flew-row ml-[-64px] items-center`,
|
138 |
`transition-all duration-300 ease-in-out`,
|
139 |
-
`text-
|
140 |
`bg-sky-200`,
|
141 |
`rounded-full`,
|
142 |
`text-right`,
|
|
|
18 |
|
19 |
const { shouldWarn, colorClass, nbCharsUsed, nbCharsLimits } = useCharacterLimit({
|
20 |
value: promptDraft,
|
21 |
+
nbCharsLimits: 70,
|
22 |
+
warnBelow: 10,
|
23 |
})
|
24 |
|
25 |
const submitButtonBouncer = useSpring({
|
|
|
136 |
<div className={cn(
|
137 |
`flex flew-row ml-[-64px] items-center`,
|
138 |
`transition-all duration-300 ease-in-out`,
|
139 |
+
`text-base`,
|
140 |
`bg-sky-200`,
|
141 |
`rounded-full`,
|
142 |
`text-right`,
|