From cad4e1838988c74a92043749f3f64f564dd8a46e Mon Sep 17 00:00:00 2001 From: Thiago Chaves Date: Sat, 13 Aug 2022 09:12:26 +0300 Subject: [PATCH] Landing page and UI text improvements, list 3rd-party library licenses --- package.json | 4 +- src/model/routing.ts | 1 + src/styles/components.css | 1 + .../DemoteExpressionButton.tsx | 2 +- .../ExpressionPracticeCardView.tsx | 2 +- .../PromoteExpressionButton.tsx | 2 +- src/views/HomeView/HomeView.tsx | 108 ++++++++++++------ 7 files changed, 78 insertions(+), 42 deletions(-) diff --git a/package.json b/package.json index 52a190c..6666281 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,9 @@ "private": true, "scripts": { "start": "react-scripts start", - "build": "react-scripts build", + "build": "yarn build:page && yarn build:licenses", + "build:page": "react-scripts build", + "build:licenses": "yarn licenses generate-disclaimer --production > build/static/js/full-license-manifest.txt", "test": "react-scripts test", "eject": "react-scripts eject", "prettify": "prettier --write src/", diff --git a/src/model/routing.ts b/src/model/routing.ts index 318e8f0..0fd872c 100644 --- a/src/model/routing.ts +++ b/src/model/routing.ts @@ -7,6 +7,7 @@ export enum AppPath { ExpressionSetsPractice = "expression-sets/practice", ExpressionSetsDetails = "expression-sets/details", Settings = "settings", + CreateCards = "settings", // TODO split from settings } export interface RouteOptions { diff --git a/src/styles/components.css b/src/styles/components.css index 80f9b65..f6419a3 100644 --- a/src/styles/components.css +++ b/src/styles/components.css @@ -58,6 +58,7 @@ i { .text-details { color: var(--color-default); font-size: var(--text-medium); + text-align: justify; line-height: 1.3rem; } diff --git a/src/views/ExpressionPracticeView/DemoteExpressionButton.tsx b/src/views/ExpressionPracticeView/DemoteExpressionButton.tsx index 09d716c..c13b8d8 100644 --- a/src/views/ExpressionPracticeView/DemoteExpressionButton.tsx +++ b/src/views/ExpressionPracticeView/DemoteExpressionButton.tsx @@ -46,7 +46,7 @@ export function DemoteExpressionButton({ onClick={handleClick} > - Wrong + I forgot ); } diff --git a/src/views/ExpressionPracticeView/ExpressionPracticeCardView.tsx b/src/views/ExpressionPracticeView/ExpressionPracticeCardView.tsx index f7fa0be..3932d64 100644 --- a/src/views/ExpressionPracticeView/ExpressionPracticeCardView.tsx +++ b/src/views/ExpressionPracticeView/ExpressionPracticeCardView.tsx @@ -38,7 +38,7 @@ export function ExpressionPracticeCardView({ type="button" onClick={() => setRevealed(true)} > - Reveal + Tap here to reveal the full card )} diff --git a/src/views/ExpressionPracticeView/PromoteExpressionButton.tsx b/src/views/ExpressionPracticeView/PromoteExpressionButton.tsx index 498c232..83df99e 100644 --- a/src/views/ExpressionPracticeView/PromoteExpressionButton.tsx +++ b/src/views/ExpressionPracticeView/PromoteExpressionButton.tsx @@ -33,7 +33,7 @@ export function PromoteExpressionButton({ onClick={handleClick} > - Right + I remembered ); } diff --git a/src/views/HomeView/HomeView.tsx b/src/views/HomeView/HomeView.tsx index d952024..4b7ce25 100644 --- a/src/views/HomeView/HomeView.tsx +++ b/src/views/HomeView/HomeView.tsx @@ -1,16 +1,53 @@ +import { useContext } from "react"; +import { AppPath, AppRouting } from "../../model/routing"; + export function HomeView() { + const { setRoute } = useContext(AppRouting); return (

Study Card Tool

- A handy tool for vocabulary practice through repetition. Go to{" "} - settings -> create card to start adding words for practicing. - Once you have a few go to practice and start from your daily words. + A handy tool for vocabulary practice through repetition. Go to + "settings" to add some words and you'll be ready to practice. +

+ +

+ Newly created cards will go onto the "daily" deck. As you remember and + forget word definitions they will move to weekly, monthly, yearly or + back towards the daily deck. +

+

+ Words that are remembered beyond the highest level will be removed, and + words that are so poorly remembered that you find yourself attempting to + create cards for them more than once will have duplicate cards. +

+

+ A guideline for creating new cards is doing so while reading a text in + the language that you are studying and adding unknown words as you go. +

+

+ A guideline for practicing is to go through the daily deck once a day, + weekly deck once a week, monthly deck once a month and so on.

Privacy

- The app requests data from Wiktionary when you create study cards. Their - privacy policy can be found{" "} + There is no data collection by the app. The app makes requests to + Wiktionary during card creation, their privacy policy can be found{" "} on this link - . Apart from the initial page load, this should be the only time any - data transfer happens during the usage of the app. -

-

- Once you save a card, it is stored on your own device and never - transmitted anywhere else. + .

Licensing

@@ -33,10 +65,9 @@ export function HomeView() { You are free to use the app for any purposes. You are free to modify and redistribute the app as long as you grant your users access to the source-code, content and assets you modify and redistribute under the - same terms listed below.{" "} - {" "} - As long as you follow those rules, you don't need to contact the - author(s) about it. + same terms listed below + + .

The user-interface icons are licensed under the{" "} @@ -67,7 +98,19 @@ export function HomeView() { .

- The rest of the application and its assets are licensed under the{" "} + A full list of licenses for the 3rd-party libraries used by the main + application can be found{" "} + + here + + . +

+

+ The main application code and its assets are licensed under the{" "} .

-

- The official source code repository for this application can be found at{" "} - - git.studycardtool.org/tcoh/app - - . -

Support the app

This app would not exist if it was not for Wiktionary and the Wikimedia @@ -107,16 +138,17 @@ export function HomeView() {

Contributing

- The main thing on the roadmap is improved language support for - vocabulary practice. The app still needs bugfixes, code and style - cleanup and potentially rethinking of some existing features. - Contributions introducing a need for smarter backend functionality than - a static file server are in principle unwelcome in this project. -

-

- There are a few pending tasks in server configuration and testing, but - once those are done local gitea registrations for contributors should - open and potentially federated accounts as well. + Code, comments and feedback, design improvements are very much welcome. + To participate join the official repository at{" "} + + https://git.studycardtool.org/tcoh/app + + .

);