Esteves Enzo commited on
Commit
81969cf
·
1 Parent(s): 99680d5

open modal once img has been generated

Browse files
components/header.tsx CHANGED
@@ -2,6 +2,7 @@
2
  import Image from "next/image";
3
 
4
  import HeaderImage from "@/assets/images/header.svg";
 
5
 
6
  import { useInputGeneration } from "@/components/main/hooks/useInputGeneration";
7
  import classNames from "classnames";
@@ -12,20 +13,18 @@ export const Header = () => {
12
  return (
13
  <header
14
  className={classNames(
15
- "bg-black z-[1] transition-all duration-1000 overflow-hidden",
16
  {
17
  "!max-h-[0px]": hasMadeFirstGeneration,
18
  "max-h-[450px]": !hasMadeFirstGeneration,
19
  }
20
  )}
21
  >
22
- <div className="relative bg-cover bg-fixed bg-black z-[1]">
23
- <div className="flex items-start px-6 mx-auto max-w-[1722px] relative pt-24 pb-20">
24
  <div className="w-full lg:w-1/2 relative z-10">
25
  <h1 className="font-bold text-5xl lg:text-7xl text-white text-center lg:text-left">
26
- Fast Stable <br />
27
- Diffusion XL <br className="hidden lg:block" />
28
- on TPU v5e ⚡
29
  </h1>
30
  </div>
31
  <Image
 
2
  import Image from "next/image";
3
 
4
  import HeaderImage from "@/assets/images/header.svg";
5
+ import HeaderImageMesh from "@/assets/images/header-mesh.png";
6
 
7
  import { useInputGeneration } from "@/components/main/hooks/useInputGeneration";
8
  import classNames from "classnames";
 
13
  return (
14
  <header
15
  className={classNames(
16
+ "z-[1] transition-all duration-1000 overflow-hidden",
17
  {
18
  "!max-h-[0px]": hasMadeFirstGeneration,
19
  "max-h-[450px]": !hasMadeFirstGeneration,
20
  }
21
  )}
22
  >
23
+ <div className="relative bg-cover bg-fixed z-[1]">
24
+ <div className="flex items-start px-6 mx-auto max-w-[1722px] relative py-32">
25
  <div className="w-full lg:w-1/2 relative z-10">
26
  <h1 className="font-bold text-5xl lg:text-7xl text-white text-center lg:text-left">
27
+ Fast Stable Diffusion XL on TPU v5e ⚡
 
 
28
  </h1>
29
  </div>
30
  <Image
components/main/collections/index.tsx CHANGED
@@ -1,3 +1,4 @@
 
1
  import classNames from "classnames";
2
  import { createBreakpoint } from "react-use";
3
  import { AnimatePresence } from "framer-motion";
@@ -7,12 +8,12 @@ import { useCollections } from "@/components/main/hooks/useCollections";
7
  import { Modal } from "@/components/modal/modal";
8
  import { Collection } from "./collection";
9
  import { CollectionLoading } from "./loading";
10
- import { useState } from "react";
11
 
12
  const useBreakpoint = createBreakpoint({ XL: 1280, L: 1024, S: 768, XS: 640 });
13
 
14
  export const Collections: React.FC<{ category: string }> = ({ category }) => {
15
- const [open, setOpen] = useState<number | null>(null);
16
  const { collections, loading } = useCollections(category);
17
  const breakpoint = useBreakpoint();
18
 
 
1
+ import { useState } from "react";
2
  import classNames from "classnames";
3
  import { createBreakpoint } from "react-use";
4
  import { AnimatePresence } from "framer-motion";
 
8
  import { Modal } from "@/components/modal/modal";
9
  import { Collection } from "./collection";
10
  import { CollectionLoading } from "./loading";
11
+ import { useCollection } from "@/components/modal/useCollection";
12
 
13
  const useBreakpoint = createBreakpoint({ XL: 1280, L: 1024, S: 768, XS: 640 });
14
 
15
  export const Collections: React.FC<{ category: string }> = ({ category }) => {
16
+ const { open, setOpen } = useCollection();
17
  const { collections, loading } = useCollections(category);
18
  const breakpoint = useBreakpoint();
19
 
components/main/hooks/useInputGeneration.ts CHANGED
@@ -4,8 +4,10 @@ import { useLocalStorage } from 'react-use';
4
 
5
  import { Collection } from "@/utils/type"
6
  import list_styles from "@/assets/list_styles.json"
 
7
 
8
  export const useInputGeneration = () => {
 
9
  const [myGenerationsId, setGenerationsId] = useLocalStorage<any>('my-own-generations', []);
10
  const [style, setStyle] = useState<string>(list_styles[0].name)
11
 
@@ -61,7 +63,7 @@ export const useInputGeneration = () => {
61
  })
62
 
63
  setGenerationsId(myGenerationsId?.length ? [...myGenerationsId, data?.blob?.id] : [data?.blob?.id])
64
-
65
  return data ?? {}
66
  },
67
  )
 
4
 
5
  import { Collection } from "@/utils/type"
6
  import list_styles from "@/assets/list_styles.json"
7
+ import { useCollection } from "@/components/modal/useCollection";
8
 
9
  export const useInputGeneration = () => {
10
+ const { setOpen } = useCollection();
11
  const [myGenerationsId, setGenerationsId] = useLocalStorage<any>('my-own-generations', []);
12
  const [style, setStyle] = useState<string>(list_styles[0].name)
13
 
 
63
  })
64
 
65
  setGenerationsId(myGenerationsId?.length ? [...myGenerationsId, data?.blob?.id] : [data?.blob?.id])
66
+ setOpen(data?.blob?.id)
67
  return data ?? {}
68
  },
69
  )
components/modal/modal.tsx CHANGED
@@ -31,7 +31,7 @@ const dropIn = {
31
  };
32
 
33
  export const Modal: React.FC<Props> = ({ id, onClose }) => {
34
- const collection = useCollection(id);
35
 
36
  if (!collection) return null;
37
 
 
31
  };
32
 
33
  export const Modal: React.FC<Props> = ({ id, onClose }) => {
34
+ const { collection } = useCollection(id);
35
 
36
  if (!collection) return null;
37
 
components/modal/useCollection.ts CHANGED
@@ -1,9 +1,19 @@
1
  import { useMemo, useState } from "react"
2
- import { useQueryClient } from "@tanstack/react-query"
3
 
4
  import { Collection } from "@/utils/type"
5
 
6
- export const useCollection = (id: number) => {
 
 
 
 
 
 
 
 
 
 
7
  const client = useQueryClient()
8
 
9
  const collection = useMemo(() => {
@@ -13,5 +23,9 @@ export const useCollection = (id: number) => {
13
  return collections.find((collection) => collection.id === id)
14
  }, [id])
15
 
16
- return collection
 
 
 
 
17
  }
 
1
  import { useMemo, useState } from "react"
2
+ import { useQuery, useQueryClient } from "@tanstack/react-query"
3
 
4
  import { Collection } from "@/utils/type"
5
 
6
+ export const useCollection = (id?: number) => {
7
+ const { data: open } = useQuery(["modal"], () => {
8
+ return null
9
+ }, {
10
+ refetchOnWindowFocus: false,
11
+ refetchOnMount: false,
12
+ refetchOnReconnect: false,
13
+ initialData: null
14
+ })
15
+ const setOpen = (id: number | null) => client.setQueryData(["modal"], () => id)
16
+
17
  const client = useQueryClient()
18
 
19
  const collection = useMemo(() => {
 
23
  return collections.find((collection) => collection.id === id)
24
  }, [id])
25
 
26
+ return {
27
+ collection,
28
+ open,
29
+ setOpen
30
+ }
31
  }
prisma/schema.prisma CHANGED
@@ -4,7 +4,7 @@ generator client {
4
 
5
  datasource db {
6
  provider = "sqlite"
7
- url = "file://data/dev.db"
8
  }
9
 
10
  model Image {
 
4
 
5
  datasource db {
6
  provider = "sqlite"
7
+ url = "file:../data/dev.db"
8
  }
9
 
10
  model Image {