├── src
├── assets
│ ├── 1.png
│ ├── 2.png
│ ├── 3.png
│ ├── 4.png
│ ├── 5.png
│ ├── 6.png
│ ├── 7.png
│ ├── 8.png
│ ├── 9.png
│ └── 10.png
├── App.jsx
├── main.jsx
├── global.css
└── constants
│ └── mockData.js
├── vite.config.js
├── .gitignore
├── index.html
├── README.md
├── .eslintrc.cjs
├── package.json
└── public
└── vite.svg
/src/assets/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milad-azami/rjs-book-app-files/HEAD/src/assets/1.png
--------------------------------------------------------------------------------
/src/assets/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milad-azami/rjs-book-app-files/HEAD/src/assets/2.png
--------------------------------------------------------------------------------
/src/assets/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milad-azami/rjs-book-app-files/HEAD/src/assets/3.png
--------------------------------------------------------------------------------
/src/assets/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milad-azami/rjs-book-app-files/HEAD/src/assets/4.png
--------------------------------------------------------------------------------
/src/assets/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milad-azami/rjs-book-app-files/HEAD/src/assets/5.png
--------------------------------------------------------------------------------
/src/assets/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milad-azami/rjs-book-app-files/HEAD/src/assets/6.png
--------------------------------------------------------------------------------
/src/assets/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milad-azami/rjs-book-app-files/HEAD/src/assets/7.png
--------------------------------------------------------------------------------
/src/assets/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milad-azami/rjs-book-app-files/HEAD/src/assets/8.png
--------------------------------------------------------------------------------
/src/assets/9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milad-azami/rjs-book-app-files/HEAD/src/assets/9.png
--------------------------------------------------------------------------------
/src/assets/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milad-azami/rjs-book-app-files/HEAD/src/assets/10.png
--------------------------------------------------------------------------------
/src/App.jsx:
--------------------------------------------------------------------------------
1 | function App() {
2 | return (
3 | <>
4 |
Book App Starting files
5 | >
6 | );
7 | }
8 |
9 | export default App;
10 |
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()],
7 | })
8 |
--------------------------------------------------------------------------------
/src/main.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import ReactDOM from "react-dom/client";
3 | import App from "./App.jsx";
4 | import "./global.css";
5 |
6 | ReactDOM.createRoot(document.getElementById("root")).render(
7 |
8 |
9 |
10 | );
11 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/src/global.css:
--------------------------------------------------------------------------------
1 | :root {
2 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
3 | line-height: 1.5;
4 | }
5 |
6 | body {
7 | margin: auto;
8 | max-width: 1000px;
9 | min-height: 100vh;
10 | padding: 10px;
11 | background-color: #1e1e1e;
12 | color: #e0e0e0;
13 | }
14 |
15 | * {
16 | padding: 0;
17 | margin: 0;
18 | box-sizing: border-box;
19 | }
20 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite + React
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # React + Vite
2 |
3 | This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4 |
5 | Currently, two official plugins are available:
6 |
7 | - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
8 | - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9 |
--------------------------------------------------------------------------------
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: { browser: true, es2020: true },
4 | extends: [
5 | 'eslint:recommended',
6 | 'plugin:react/recommended',
7 | 'plugin:react/jsx-runtime',
8 | 'plugin:react-hooks/recommended',
9 | ],
10 | ignorePatterns: ['dist', '.eslintrc.cjs'],
11 | parserOptions: { ecmaVersion: 'latest', sourceType: 'module' },
12 | settings: { react: { version: '18.2' } },
13 | plugins: ['react-refresh'],
14 | rules: {
15 | 'react-refresh/only-export-components': [
16 | 'warn',
17 | { allowConstantExport: true },
18 | ],
19 | },
20 | }
21 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "untitled-folder-2",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "vite build",
9 | "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
10 | "preview": "vite preview"
11 | },
12 | "dependencies": {
13 | "react": "^18.2.0",
14 | "react-dom": "^18.2.0"
15 | },
16 | "devDependencies": {
17 | "@types/react": "^18.2.15",
18 | "@types/react-dom": "^18.2.7",
19 | "@vitejs/plugin-react": "^4.0.3",
20 | "eslint": "^8.45.0",
21 | "eslint-plugin-react": "^7.32.2",
22 | "eslint-plugin-react-hooks": "^4.6.0",
23 | "eslint-plugin-react-refresh": "^0.4.3",
24 | "vite": "^4.4.5"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/constants/mockData.js:
--------------------------------------------------------------------------------
1 | const books = [
2 | {
3 | id: "001",
4 | author: "Chinua Achebe",
5 | country: "Nigeria",
6 | image: "1.png",
7 | language: "English",
8 | link: "https://en.wikipedia.org/wiki/Things_Fall_Apart\n",
9 | pages: 209,
10 | title: "Things Fall Apart",
11 | year: 1958,
12 | },
13 | {
14 | id: "002",
15 | author: "Hans Christian Andersen",
16 | country: "Denmark",
17 | image: "2.png",
18 | language: "Danish",
19 | link: "https://en.wikipedia.org/wiki/Fairy_Tales_Told_for_Children._First_Collection.\n",
20 | pages: 784,
21 | title: "Fairy tales",
22 | year: 1836,
23 | },
24 | {
25 | id: "003",
26 | author: "Dante Alighieri",
27 | country: "Italy",
28 | image: "3.png",
29 | language: "Italian",
30 | link: "https://en.wikipedia.org/wiki/Divine_Comedy\n",
31 | pages: 928,
32 | title: "The Divine Comedy",
33 | year: 1315,
34 | },
35 | {
36 | id: "004",
37 | author: "Maureen Gallery Kovacs",
38 | country: "Sumer and Akkadian Empire",
39 | image: "4.png",
40 | language: "Akkadian",
41 | link: "https://en.wikipedia.org/wiki/Epic_of_Gilgamesh\n",
42 | pages: 160,
43 | title: "The Epic Of Gilgamesh",
44 | year: -1700,
45 | },
46 | {
47 | id: "005",
48 | author: "Graham Ricardo",
49 | country: "Achaemenid Empire",
50 | image: "5.png",
51 | language: "Hebrew",
52 | link: "https://en.wikipedia.org/wiki/Book_of_Job\n",
53 | pages: 176,
54 | title: "The Book Of Job",
55 | year: -600,
56 | },
57 | {
58 | id: "006",
59 | author: "Hanan Al-Shaykh",
60 | country: "India/Iran/Iraq/Egypt/Tajikistan",
61 | image: "6.png",
62 | language: "Arabic",
63 | link: "https://en.wikipedia.org/wiki/One_Thousand_and_One_Nights\n",
64 | pages: 288,
65 | title: "One Thousand and One Nights",
66 | year: 1200,
67 | },
68 | {
69 | id: "007",
70 | author: "Robert Cook",
71 | country: "Iceland",
72 | image: "7.png",
73 | language: "English",
74 | link: "https://en.wikipedia.org/wiki/Nj%C3%A1ls_saga\n",
75 | pages: 384,
76 | title: "Nj\u00e1l's Saga",
77 | year: 1350,
78 | },
79 | {
80 | id: "008",
81 | author: "Jane Austen",
82 | country: "United Kingdom",
83 | image: "8.png",
84 | language: "English",
85 | link: "https://en.wikipedia.org/wiki/Pride_and_Prejudice\n",
86 | pages: 226,
87 | title: "Pride and Prejudice",
88 | year: 1813,
89 | },
90 | {
91 | id: "009",
92 | author: "Honor\u00e9 de Balzac",
93 | country: "France",
94 | image: "9.png",
95 | language: "French",
96 | link: "https://en.wikipedia.org/wiki/Le_P%C3%A8re_Goriot\n",
97 | pages: 443,
98 | title: "Le P\u00e8re Goriot",
99 | year: 1835,
100 | },
101 | {
102 | id: "010",
103 | author: "Samuel Beckett",
104 | country: "Republic of Ireland",
105 | image: "10.png",
106 | language: "French",
107 | link: "https://en.wikipedia.org/wiki/Molloy_(novel)\n",
108 | pages: 256,
109 | title: "Molloy, Malone Die",
110 | year: 1952,
111 | },
112 | ];
113 |
114 | export { books };
115 |
--------------------------------------------------------------------------------