Skip to content

Commit

Permalink
feat: add British layout, so Defy shows ISO English (#491)
Browse files Browse the repository at this point in the history
* feat: add British layout, so Defy shows ISO English

* chore: added new flags images to the library
  • Loading branch information
javierguzman authored Aug 28, 2023
1 parent a7d6d2e commit dd4fee9
Show file tree
Hide file tree
Showing 6 changed files with 59 additions and 45 deletions.
2 changes: 1 addition & 1 deletion src/api/keymap/db.js
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ class KeymapDB {
// Modify our baseKeyCodeTable, depending on the language selected by the static methods and by inside function newLanguageLayout
baseKeyCodeTable = KeymapDB.updateBaseKeyCode();
const keyCodeTableWithModifiers =
this.language !== "english" && supportModifiedTables[this.language]
this.language !== "english" && this.language !== "british" && supportModifiedTables[this.language]
? defaultKeyCodeTable.concat(supportModifiedTables[this.language])
: defaultKeyCodeTable;
// Modify our baseKeyCodeTable, depending on the language selected through function newLanguageLayout
Expand Down
2 changes: 1 addition & 1 deletion src/api/keymap/languages/newLanguageLayout.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
* @param {newKeyCodeTable} newKeyCodeTable Key codes for new language
*/
function newLanguageLayout(baseKeyCodeTable, language = "english", newKeyCodeTable) {
if (language === "english") {
if (language === "english" || language === "british") {
return baseKeyCodeTable;
}
return baseKeyCodeTable.map(group => {
Expand Down
1 change: 1 addition & 0 deletions src/renderer/modules/KeyPickerKeyboard/KeyPicker.js
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@ class KeyPicker extends Component {

const liso = {
english: ENi,
british: ENi,
spanish: ES,
german: GR,
french: FR,
Expand Down
99 changes: 56 additions & 43 deletions src/renderer/modules/Settings/GeneralSettings.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import PropTypes from "prop-types";
import React, { Component } from "react";
import Styled from "styled-components";

// React Bootstrap Components
import Card from "react-bootstrap/Card";
Expand All @@ -17,7 +18,8 @@ import germanF from "@Assets/flags/germany.png";
import japaneseF from "@Assets/flags/japan.png";
import koreanF from "@Assets/flags/korean.png";
import spanishF from "@Assets/flags/spain.png";
import englishUSUKF from "@Assets/flags/english.png";
import englishUSF from "@Assets/flags/englishUS.png";
import englishUKF from "@Assets/flags/englishUK.png";
import danishF from "@Assets/flags/denmark.png";
import swedishF from "@Assets/flags/sweden.png";
import finnishF from "@Assets/flags/finland.png";
Expand All @@ -35,6 +37,12 @@ import i18n from "../../i18n";

import Store from "../../utils/Store";

const GeneraslSettihngsWrapper = Styled.div`
.dropdown-menu {
min-width: 13rem;
}
`;

const store = Store.getStore();

export default class GeneralSettings extends Component {
Expand Down Expand Up @@ -67,8 +75,9 @@ export default class GeneralSettings extends Component {
const { selectDarkMode, darkMode, neurons, selectedNeuron, connected, defaultLayer, selectDefaultLayer } = this.props;
const { selectedLanguage } = this.state;
let layersNames = neurons[selectedNeuron] ? neurons[selectedNeuron].layers : [];
let flags = [
englishUSUKF,
const flags = [
englishUSF,
englishUKF,
spanishF,
germanF,
frenchF,
Expand All @@ -84,6 +93,7 @@ export default class GeneralSettings extends Component {
];
let language = [
"english",
"british",
"spanish",
"german",
"french",
Expand All @@ -97,8 +107,9 @@ export default class GeneralSettings extends Component {
"swissGerman",
"eurkey",
];
let languageNames = [
"English",
const languageNames = [
"English US",
"English UK",
"Spanish",
"German",
"French",
Expand All @@ -116,7 +127,7 @@ export default class GeneralSettings extends Component {
text: languageNames[index],
value: item,
icon: flags[index],
index
index,
}));

layersNames = layersNames.map((item, index) => ({
Expand Down Expand Up @@ -148,43 +159,45 @@ export default class GeneralSettings extends Component {
];

return (
<Card className="overflowFix card-preferences mt-4">
<Card.Title>
<Title text={i18n.keyboardSettings.keymap.title} headingLevel={3} svgICO={<IconWrench />} />
</Card.Title>
<Card.Body>
<Form>
<Row>
<Col lg={6} md={12}>
<Form.Group controlId="selectLanguage" className="mb-3">
<Form.Label>{i18n.preferences.language}</Form.Label>
<Select onSelect={this.changeLanguage} value={selectedLanguage} listElements={language} />
</Form.Group>
</Col>
<Col lg={6} md={12}>
<Form.Group controlId="defaultLayer" className="mb-3">
<Form.Label>{i18n.keyboardSettings.keymap.defaultLayer}</Form.Label>
<Select onSelect={selectDefaultLayer} value={defaultLayer} listElements={layersNames} disabled={!connected} />
</Form.Group>
</Col>
</Row>
<Row>
<Col md={12}>
<Form.Group controlId="DarkMode" className="m-0">
<Form.Label>{i18n.preferences.darkMode.label}</Form.Label>
<ToggleButtons
selectDarkMode={selectDarkMode}
value={darkMode}
listElements={layoutsModes}
style="flex"
size="sm"
/>
</Form.Group>
</Col>
</Row>
</Form>
</Card.Body>
</Card>
<GeneraslSettihngsWrapper>
<Card className="overflowFix card-preferences mt-4">
<Card.Title>
<Title text={i18n.keyboardSettings.keymap.title} headingLevel={3} svgICO={<IconWrench />} />
</Card.Title>
<Card.Body>
<Form>
<Row>
<Col lg={6} md={12}>
<Form.Group controlId="selectLanguage" className="mb-3">
<Form.Label>{i18n.preferences.language}</Form.Label>
<Select onSelect={this.changeLanguage} value={selectedLanguage} listElements={language} />
</Form.Group>
</Col>
<Col lg={6} md={12}>
<Form.Group controlId="defaultLayer" className="mb-3">
<Form.Label>{i18n.keyboardSettings.keymap.defaultLayer}</Form.Label>
<Select onSelect={selectDefaultLayer} value={defaultLayer} listElements={layersNames} disabled={!connected} />
</Form.Group>
</Col>
</Row>
<Row>
<Col md={12}>
<Form.Group controlId="DarkMode" className="m-0">
<Form.Label>{i18n.preferences.darkMode.label}</Form.Label>
<ToggleButtons
selectDarkMode={selectDarkMode}
value={darkMode}
listElements={layoutsModes}
style="flex"
size="sm"
/>
</Form.Group>
</Col>
</Row>
</Form>
</Card.Body>
</Card>
</GeneraslSettihngsWrapper>
);
}
}
Expand Down
Binary file added src/static/flags/englishUK.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/static/flags/englishUS.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit dd4fee9

Please # to comment.