]> git.localhorst.tv Git - alttp.git/commitdiff
lil ally
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Wed, 21 May 2025 09:31:39 +0000 (11:31 +0200)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Wed, 21 May 2025 09:31:39 +0000 (11:31 +0200)
resources/js/app/Footer.js
resources/js/app/FullLayout.js
resources/js/components/rounds/Item.js
resources/js/components/zootr/MixedPoolsTracker.js
resources/sass/results.scss
resources/sass/rounds.scss

index 54af55358288b60889f6a484bd44955f9f8be8e6..91b097383beb511a03dd499799b5043f49d3fabd 100644 (file)
@@ -10,7 +10,7 @@ const Footer = () => {
 
        const { t } = useTranslation();
 
-       return <footer className="bg-dark mt-5 px-3 py-5">
+       return <div className="bg-dark mt-5 px-3 py-5">
                <Row>
                        <Col md={4}>
                                <h5>{t('footer.competitions')}</h5>
@@ -136,7 +136,7 @@ const Footer = () => {
                </Row>
                <p className="pt-5 text-center text-muted">{t('footer.contact')}</p>
                <PrivacyDialog onHide={() => { setShowDialog(false); }} show={showDialog} />
-       </footer>;
+       </div>;
 };
 
 export default Footer;
index 29a7be2e1f63b98cd368447eb71dde7dae4b2fb0..1771a07bab804c50d9f5c9f2039fee7bea8e8ea9 100644 (file)
@@ -5,9 +5,15 @@ import Footer from './Footer';
 import Header from './Header';
 
 const FullLayout = () => <>
-       <Header />
-       <Outlet />
-       <Footer />
+       <header>
+               <Header />
+       </header>
+       <main>
+               <Outlet />
+       </main>
+       <footer>
+               <Footer />
+       </footer>
 </>;
 
 export default FullLayout;
index 94f87600fe2f8602da3e0b7d3d1a212d788d42f9..9cd095fc15244ba3b7b260a6527d4457a9da76ca 100644 (file)
@@ -82,20 +82,22 @@ const Item = ({
                                                />
                                        </p>
                                : null}
-                               {tournament.type === 'open-async' && round.results && round.results.length ?
-                                       <p>{t('rounds.numberOfResults', { count: round.results.length })}</p>
-                               : null}
-                               <div className="button-bar">
-                                       <LockButton round={round} tournament={tournament} />
-                                       {mayEditRound(user, tournament, round) ?
-                                               <EditButton round={round} tournament={tournament} />
-                                       : null}
-                                       {mayViewProtocol(user, tournament, round) ?
-                                               <RoundProtocol roundId={round.id} tournamentId={tournament.id} />
-                                       : null}
-                                       {mayDeleteRound(user, tournament, round) ?
-                                               <DeleteButton round={round} tournament={tournament} />
+                               <div className="bottom-half">
+                                       {tournament.type === 'open-async' && round.results && round.results.length ?
+                                               <p>{t('rounds.numberOfResults', { count: round.results.length })}</p>
                                        : null}
+                                       <div className="button-bar">
+                                               <LockButton round={round} tournament={tournament} />
+                                               {mayEditRound(user, tournament, round) ?
+                                                       <EditButton round={round} tournament={tournament} />
+                                               : null}
+                                               {mayViewProtocol(user, tournament, round) ?
+                                                       <RoundProtocol roundId={round.id} tournamentId={tournament.id} />
+                                               : null}
+                                               {mayDeleteRound(user, tournament, round) ?
+                                                       <DeleteButton round={round} tournament={tournament} />
+                                               : null}
+                                       </div>
                                </div>
                        </div>
                        <List round={round} tournament={tournament} />
index 8e3a7e1501ca23e6b3c423d9da09c94d2a0e4040..3a62bdb738a858ab4209891587e70bc2ed5f3b58 100644 (file)
@@ -2651,14 +2651,9 @@ const MixedPoolsTracker = () => {
                return options;
        }, []);
 
-       const warpTargets = React.useMemo(() => {
-               const targets = [];
-               return targets;
-       }, []);
-
        const context = React.useMemo(() => ({
-               connections, entrances, setConnection, warpTargets,
-       }), [connections, entrances, setConnection, warpTargets]);
+               connections, entrances, setConnection,
+       }), [connections, entrances, setConnection]);
 
        const superGroups = React.useMemo(() => {
                const sg = [
@@ -2725,8 +2720,11 @@ const MixedPoolsTracker = () => {
        }, []);
 
        const connectors = React.useMemo(() => {
-               return [connections, maps];
-       }, []);
+               const cs = [];
+               Object.entries(connections).forEach(([from, to]) => {
+               });
+               return cs;
+       }, [connections, maps]);
 
        return <CONTEXT.Provider value={context}>
                <div className="mixed-pools-tracker">
index f569bdcf57eeea2bda3d1adbac02b83a05632b65..b1ef0537bb8e746372b7dd6a8e2e280dedac6b67 100644 (file)
@@ -29,6 +29,9 @@
                                box-shadow: none;
                                top: 0.5ex;
                        }
+                       &:focus {
+                               outline: medium dashed $light;
+                       }
 
                        .time {
                                min-width: 9ex;
index 907d6e946425c5fb9d1d12ad26e5f00d3901bd76..2ff6221d0d87e3461339ebab5dd2d76bec0ced90 100644 (file)
@@ -16,6 +16,8 @@
                }
 
                .info {
+                       display: flex;
+                       flex-direction: column;
                        padding-right: 1rem;
                        min-width: 13em;
 
                                }
                        }
 
+                       .bottom-half {
+                               margin-top: auto;
+                       }
+
                        .seed-code, .btn, .rolled-by {
                                margin-bottom: 1ex;
                        }