From 3d3a6fcf23e480ffe0b762a4dff5328eca0915d6 Mon Sep 17 00:00:00 2001 From: Gabriel Collares <98597812+GabrielCollares@users.noreply.github.com> Date: Fri, 8 Dec 2023 01:27:52 +0000 Subject: [PATCH] - Transform JS in React - Transforming the button function into react - Fixing button bug --- src/components/counter/counter.stories.ts | 4 +- src/components/counter/index.js | 11 ------ src/components/counter/index.jsx | 19 ++++++++++ src/components/logo/{index.js => index.jsx} | 14 +++---- src/components/logo/logo.stories.ts | 4 +- src/main.jsx | 41 +++++++++++---------- 6 files changed, 51 insertions(+), 42 deletions(-) delete mode 100644 src/components/counter/index.js create mode 100644 src/components/counter/index.jsx rename src/components/logo/{index.js => index.jsx} (58%) diff --git a/src/components/counter/counter.stories.ts b/src/components/counter/counter.stories.ts index 1050e9a..fba133d 100644 --- a/src/components/counter/counter.stories.ts +++ b/src/components/counter/counter.stories.ts @@ -1,6 +1,6 @@ import type { StoryObj, Meta } from '@storybook/html'; -import { counter } from './index'; +import { Counter } from './index'; // More on how to set up stories at: https://storybook.js.org/docs/html/writing-stories/introduction#default-export const meta = { @@ -12,7 +12,7 @@ const meta = { render: () => { // You can either use a function to create DOM elements or use a plain html string! // return `
${label}
`; - return counter(); + return Counter(); }, } satisfies Meta; diff --git a/src/components/counter/index.js b/src/components/counter/index.js deleted file mode 100644 index c66ff4c..0000000 --- a/src/components/counter/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import './counter.css'; - -export function counter() { - return ` -
- -
- `; -} \ No newline at end of file diff --git a/src/components/counter/index.jsx b/src/components/counter/index.jsx new file mode 100644 index 0000000..028583b --- /dev/null +++ b/src/components/counter/index.jsx @@ -0,0 +1,19 @@ +import './counter.css'; +import React from "react"; +import { useState } from "react" +export function Counter() { + +const[counter, setCounter] = useState(0) + +function upCounter() { + setCounter(counter + 1) +} + + return ( +
+ +
+ ); +} diff --git a/src/components/logo/index.js b/src/components/logo/index.jsx similarity index 58% rename from src/components/logo/index.js rename to src/components/logo/index.jsx index 84b95d8..cd455b3 100644 --- a/src/components/logo/index.js +++ b/src/components/logo/index.jsx @@ -1,18 +1,18 @@ import './logo.css' - +import React from 'react'; /** * @typedef {Object} LogoProps * @property {string} LogoProps.link - some description here * @property {string} LogoProps.imgSrc - some description here * @property {string} LogoProps.descricao - some description here - * + * * @param {LogoProps} props */ -export function logo({link, imgSrc, descricao}) { - return ` - + {descricao} - ` + ) } diff --git a/src/components/logo/logo.stories.ts b/src/components/logo/logo.stories.ts index c18868d..fd61546 100644 --- a/src/components/logo/logo.stories.ts +++ b/src/components/logo/logo.stories.ts @@ -1,6 +1,6 @@ import type { StoryObj, Meta } from '@storybook/html'; -import { logo } from './index'; +import { Logo } from './index'; import type {LogoProps} from './index'; // More on how to set up stories at: https://storybook.js.org/docs/html/writing-stories/introduction#default-export @@ -8,7 +8,7 @@ const meta = { title: 'App/Logo', tags: ['autodocs'], render: (args) => { - return logo(args); + return Logo(args); }, argTypes: { link: {description: 'endereço para o link do logo'}, diff --git a/src/main.jsx b/src/main.jsx index 5652e21..a2fbf95 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -5,8 +5,8 @@ import viteLogo from '/vite.svg' import storybookLogo from '/storybook.svg' import { $ } from "./select"; import './style.css' -import { logo } from "./components/logo"; -import { counter } from "./components/counter"; +import { Logo } from "./components/logo"; +import { Counter } from "./components/counter"; const app = $("#app"); @@ -14,24 +14,25 @@ ReactDOM.createRoot(app).render(

REACT VERSION

- {logo({ - link: "https://vitejs.dev", - imgSrc: viteLogo, - descricao: "Vite logo", - })} - $ - {logo({ - link: "https://www.typescriptlang.org/", - imgSrc: typescriptLogo, - descricao: "TypeScript logo", - })} - $ - {logo({ - link: "https://storybookjs.org/", - imgSrc: storybookLogo, - descricao: "Storybook logo", - })} -

Vite + TypeScript + Storybook

${counter()} + + + + + +

Vite + TypeScript + Storybook

+

Click on the Vite, TypeScript and Storybook logos to learn more