Просмотр исходного кода

:wrench: Split dom in different components

DricomDragon 10 месяцев назад
Родитель
Сommit
2446a16b1f

+ 4 - 64
dev-front/src/App.tsx

@@ -1,6 +1,7 @@
 import React from 'react';
-import logo from './logo.svg';
+import MechPicker from './mech/MechPicker';
 import './App.css';
+import Squad from './mech/squad/Squad';
 
 function App() {
     return (
@@ -9,70 +10,9 @@ function App() {
                 <h1>Squad Composer</h1>
             </header>
             <main className='editor'>
-                <aside className='mech-picker'>
-                    <h2>Mech picker</h2>
-                    <ul>
-                        <li>Mech 1</li>
-                        <li>Mech 2</li>
-                        <li>Mech 3</li>
-                        <li>Mech 4</li>
-                        <li>Mech 5</li>
-                        <li>Mech 6</li>
-                        <li>Mech 7</li>
-                        <li>Mech 8</li>
-                        <li>Mech 9</li>
-                        <li>Mech 10</li>
-                        <li>Mech 11</li>
-                        <li>Mech 12</li>
-                        <li>Mech 13</li>
-                        <li>Mech 14</li>
-                    </ul>
-                </aside>
+                <MechPicker/>
 
-                <article className='custom-squad'>
-                    <h2>Custom squad</h2>
-                    <div className='mech-members'>
-                        <div className='mech-member'>
-                            <h3>Mech 1</h3>
-                            <div className='mech-description'>
-                                <img src={logo} alt='Mech picture'/>
-                                <ul className='mech-stats'>
-                                    <li>Stat1 = Prime</li>
-                                    <li>Stat2 = 3</li>
-                                </ul>
-                            </div>
-                            <button>Remove</button>
-                        </div>
-                        <div className='mech-member'>
-                            <h3>Mech 2</h3>
-                            <div className='mech-description'>
-                                <img src={logo} alt='Mech picture'/>
-                                <ul className='mech-stats'>
-                                    <li>Stat1 = Prime</li>
-                                    <li>Stat2 = 3</li>
-                                </ul>
-                            </div>
-                            <button>Remove</button>
-                        </div>
-                        <div className='mech-member'>
-                            <h3>Mech 3</h3>
-                            <div className='mech-description'>
-                                <img src={logo} alt='Mech picture'/>
-                                <ul className='mech-stats'>
-                                    <li>Stat1 = Prime</li>
-                                    <li>Stat2 = 3</li>
-                                </ul>
-                            </div>
-                            <button>Remove</button>
-                        </div>
-                    </div>
-                    <div className='squad-description'>
-                        <label htmlFor='squad-description-field-id'>Squad description</label>
-                        <textarea id='squad-description-field-id'>
-                            Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-                        </textarea>
-                    </div>
-                </article>
+                <Squad/>
 
             </main>
             <footer>Squad Composer by DricomDragon</footer>

+ 27 - 0
dev-front/src/mech/MechPicker.tsx

@@ -0,0 +1,27 @@
+import React from 'react';
+
+function MechPicker() {
+    return (
+        <aside className='mech-picker'>
+            <h2>Mech picker</h2>
+            <ul>
+                <li>Mech Import</li>
+                <li>Mech 2</li>
+                <li>Mech 3</li>
+                <li>Mech 4</li>
+                <li>Mech 5</li>
+                <li>Mech 6</li>
+                <li>Mech 7</li>
+                <li>Mech 8</li>
+                <li>Mech 9</li>
+                <li>Mech 10</li>
+                <li>Mech 11</li>
+                <li>Mech 12</li>
+                <li>Mech 13</li>
+                <li>Mech 14</li>
+            </ul>
+        </aside>
+    );
+}
+
+export default MechPicker;

+ 20 - 0
dev-front/src/mech/squad/Member.tsx

@@ -0,0 +1,20 @@
+import React from 'react';
+import logo from '../../logo.svg';
+
+function Member({mechName} : Record<'mechName', String>) {
+    return (
+        <div className='mech-member'>
+            <h3>{mechName}</h3>
+            <div className='mech-description'>
+                <img src={logo} alt='Mech picture' />
+                <ul className='mech-stats'>
+                    <li>Stat1 = Prime</li>
+                    <li>Stat2 = 3</li>
+                </ul>
+            </div>
+            <button>Remove</button>
+        </div>
+    )
+}
+
+export default Member;

+ 24 - 0
dev-front/src/mech/squad/Squad.tsx

@@ -0,0 +1,24 @@
+import React from 'react';
+import Member from './Member';
+import logo from '../../logo.svg';
+
+function Squad() {
+    return (
+        <article className='custom-squad'>
+            <h2>Custom squad</h2>
+            <div className='mech-members'>
+                <Member mechName='Mech 1'/>
+                <Member mechName='Giant Mech'/>
+                <Member mechName='Techno-prop'/>
+            </div>
+            <div className='squad-description'>
+                <label htmlFor='squad-description-field-id'>Squad description</label>
+                <textarea id='squad-description-field-id'>
+                    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+                </textarea>
+            </div>
+        </article>
+    )
+}
+
+export default Squad;