~firefoxreact-appvite-appsrc
8 itemsDownload ./*

..
assets
components
redux
App.css
App.tsx
index.css
main.tsx
vite-env.d.ts


srcApp.tsx
3 KB• 10•  2 days ago•  DownloadRawClose
2 days ago•  10

{}
//import { useState } from 'react'
//import React from 'react'
import Counter from './components/Counter';
import WindowSize from './components/WindowSize';
import MousePosition from './components/MousePosition';
import typescriptLogo from './assets/typescript.svg'
import reactLogo from './assets/react.svg'
import tailwindLogo from './assets/tailwind.svg'
import reduxLogo from './assets/redux.svg'
import viteLogo from '/vite.svg'
import './App.css'

function App() {
  //const [count, setCount] = useState(0) // moved to Counter

  return (
    <>
      {/* comment */}
      <div className="logos">
        <a href="https://vite.dev" target="_blank">
          <img src={viteLogo} className="logo inline-block" alt="Vite logo" />
        </a>
        <a href="https://react.dev" target="_blank">
          <img src={reactLogo} className="logo react inline-block" alt="React logo" />
        </a>
        <a href="https://redux.js.org" target="_blank">
          <img src={reduxLogo} className="logo redux inline-block" alt="Redux logo" />
        </a>
        <a href="https://tailwindcss.com" target="_blank">
          <img src={tailwindLogo} className="logo tailwind inline-block" alt="Tailwind logo" />
        </a>
      </div>
      <h1>Vite + React + Redux + Tailwind</h1>
      <div className="card">
        <Counter />     
        <br />
        <br />
        <p>
          Custom template by <a href="https://twily.info" target="_blank">twily</a> 2025~ built on =&gt; (
          <br />
          <code className="text-left inline-block">
            <span className="text-lime-600">npm</span> install -D vite
            <br />
            <span className="text-lime-600">npm</span> create vite@latest vite-app -- --template react-ts
            <br />
            <span className="text-lime-600">npm</span> install tailwindcss @tailwindcss/vite
            <br />
            <span className="text-lime-600">npm</span> install @reduxjs/toolkit react-redux @types/react-redux --legacy-peer-deps
          </code>
          <br />
          ) Edit <code>src/App.tsx</code> and save to test HMR
          <br />
          <br />
          <WindowSize />
          <MousePosition />
        </p>
      </div>
      <div className="logos2">
        <a href="https://www.typescriptlang.org" target="_blank">
          <img src={typescriptLogo} className="logo2 inline-block" alt="Typescript logo" />
        </a>
      </div>
      <p className="read-the-docs">
        Click on the Vite, React, Redux, Tailwind and Typescript logos to learn more
        <br />
        (:root/img has user-select: none or tailwind select-none)
        <br />
        <br />
        <a href="https://www.codeconvert.ai/javascript-to-typescript-converter" target="_blank">JS to TS converter</a> (Ai)
        <br />
        <a href="https://workik.com/javascript-to-typescript-converter" target="_blank">JS to TS Ai helper</a> (or use grok)
        <br />
        <a href="https://tailwindcss.com/docs/colors" target="_blank">Tailwind color concepts</a>
        <br />
        <a href="https://v1.tailwindcss.com/components/buttons" target="_blank">Tailwind button concepts</a>
      </p>
    </>
  )
}

export default App

Top
©twily.info 2013 - 2025
twily at twily dot info



2 274 471 visits
... ^ v