From 5c71a0f73717bffefb5e23a9e100adb62fc54a61 Mon Sep 17 00:00:00 2001
From: Philip Paquette <pcpaquette@gmail.com>
Date: Sun, 7 Jul 2019 09:23:59 -0400
Subject: Updated the web interface to have 3 tabs - Results / Messages /
 Current

- Updated dependencies in package-lock.json
- Set default homepage to "." so that built pages are relative to "index.html".
- Add module "helmet" to handle page title.
- Simplified page loading (replace static function builder with direct call to a method with component as argument).
- Move function loadGameFromDisk in a separate file.
- Use React context to access page object.
- Add a new React component "Navigation" and simplify page rendering.
- Add ability to choose power for any kind of loaded game.

In phase history:
- Show messages from all past and currently displayed phase.
- Display messages from past phase with gray background.
- Show messages per protagonist in tabs.
- Show message phase in message header
- Display message wide (header left, body right).

- Display short names for powers in message tabs header.
- Add warn function to page component.
- Messages from previous phase are displayed with gray color text.
- Game registration password input is displayed only if required
- On games page:
  - sorted by descending timestamp created.
  - In table, game ID is displayed with human readable created date.
- Prevent messages from displaying twice.
- Re-add checkbox "show orders" to display arrow orders on past maps.
- Handle HTML break-lines <br/> and remove all other HTML tags when displaying messages.
- Use latest phase as current game phase when loading a game from disk.
---
 diplomacy/web/src/gui/core/content.jsx | 51 ----------------------------------
 1 file changed, 51 deletions(-)
 delete mode 100644 diplomacy/web/src/gui/core/content.jsx

(limited to 'diplomacy/web/src/gui/core/content.jsx')

diff --git a/diplomacy/web/src/gui/core/content.jsx b/diplomacy/web/src/gui/core/content.jsx
deleted file mode 100644
index 416ba9e..0000000
--- a/diplomacy/web/src/gui/core/content.jsx
+++ /dev/null
@@ -1,51 +0,0 @@
-// ==============================================================================
-// Copyright (C) 2019 - Philip Paquette, Steven Bocco
-//
-//  This program is free software: you can redistribute it and/or modify it under
-//  the terms of the GNU Affero General Public License as published by the Free
-//  Software Foundation, either version 3 of the License, or (at your option) any
-//  later version.
-//
-//  This program is distributed in the hope that it will be useful, but WITHOUT
-//  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-//  FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
-//  details.
-//
-//  You should have received a copy of the GNU Affero General Public License along
-//  with this program.  If not, see <https://www.gnu.org/licenses/>.
-// ==============================================================================
-import React from 'react';
-import PropTypes from 'prop-types';
-
-export class Content extends React.Component {
-    // PROPERTIES:
-    // page: pointer to parent Page object
-    // data: data for current content
-
-    // Each derived class must implement this static method.
-    static builder(page, data) {
-        return {
-            // page title (string)
-            title: `${data ? 'with data' : 'without data'}`,
-            // page navigation links: array of couples
-            // (navigation title, navigation callback ( onClick=() => callback() ))
-            navigation: [],
-            // page content: React component (e.g. <MyComponent/>, or <div class="content">...</div>, etc).
-            component: null
-        };
-    }
-
-    getPage() {
-        return this.props.page;
-    }
-
-    componentDidMount() {
-        window.scrollTo(0, 0);
-    }
-}
-
-
-Content.propTypes = {
-    page: PropTypes.object.isRequired,
-    data: PropTypes.object
-};
-- 
cgit v1.2.3

