瀏覽代碼

:wrench: Split dom in different components

DricomDragon 10 月之前
父節點
當前提交
2446a16b1f
共有 4 個文件被更改,包括 75 次插入64 次删除
  1. 4 64
      dev-front/src/App.tsx
  2. 27 0
      dev-front/src/mech/MechPicker.tsx
  3. 20 0
      dev-front/src/mech/squad/Member.tsx
  4. 24 0
      dev-front/src/mech/squad/Squad.tsx

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

@@ -1,6 +1,7 @@
 import React from 'react';
 import React from 'react';
-import logo from './logo.svg';
+import MechPicker from './mech/MechPicker';
 import './App.css';
 import './App.css';
+import Squad from './mech/squad/Squad';
 
 
 function App() {
 function App() {
     return (
     return (
@@ -9,70 +10,9 @@ function App() {
                 <h1>Squad Composer</h1>
                 <h1>Squad Composer</h1>
             </header>
             </header>
             <main className='editor'>
             <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>
             </main>
             <footer>Squad Composer by DricomDragon</footer>
             <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;