mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-04-20 00:18:45 +01:00
- [x] Removed ‘Restart Signal’ global menu item
- [x] Change _Click to create contact…_ to _Start conversation…_
- [x] Move global menu (top-left kebab) into OS menu bar,
i.e. **Settings** > **Preferences…**
- [x] Add tests for OS menu bar templates
- [x] Fix bug with **Window** menu on macOS when showing setup options
- [x] Use _Title Case_ for all OS menu bar menu items for consistency
commit dedf7c9af0
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 16:53:42 2018 -0500
Use ‘Title Case’ to be consistent with OS menus
References:
- Apple:
- https://developer.apple.com/macos/human-interface-guidelines/menus/menu-anatomy/#menu-and-menu-item-titles
- https://developer.apple.com/library/content/documentation/FinalCutProX/Conceptual/FxPlugHIG/TextStyleGuidelines/TextStyleGuidelines.html#//apple_ref/doc/uid/TP40013782-CH6-SW1
- https://titlecaseconverter.com/
commit 3286da29b3
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 16:36:50 2018 -0500
Fix bug for macOS ‘Window’ menu with setup options
commit 236a23d1ea
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 16:27:46 2018 -0500
Test menus with included setup options
commit c5d5f5abb8
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 16:10:27 2018 -0500
Move settings (‘Preferences’) into OS-level menu
This reduces our reliance on custom UI until we have more design resources.
commit 027803f8f4
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 16:02:56 2018 -0500
Prepare tests for menu with/without included setup
commit 9e2f006924
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 15:55:46 2018 -0500
Destructure `includeSetup`
commit 6b2a1eccdf
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 15:55:14 2018 -0500
🔤 `createTemplate` `options`
commit c2fecba34b
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 12:49:55 2018 -0500
Test menu for Windows and Linux
commit 60281b1af9
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 12:40:39 2018 -0500
Add `yarn run test-app` command
commit 1a0489919c
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 12:40:29 2018 -0500
Add test for `SignalMenu.createTemplate` on macOS
commit 9638b86c0f
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 12:34:46 2018 -0500
Make `createTemplate` pure
Extracting `options.platform` makes it easier to test without having to
stub `process.platform`.
commit 9c26404892
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 11:47:39 2018 -0500
Extract `locale.load` `appLocale` & `logger` for testability
This allows us to run this code in a non-Electron environment, e.g. Node.js
Mocha test suite.
commit 710b22438d
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 11:46:13 2018 -0500
🔤 npm scripts
commit 9ae22937fb
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 11:45:30 2018 -0500
Use 2-space indendation for `app` module tests
commit 22c26baf61
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 11:22:55 2018 -0500
Prefer named exports
commit 9c95261952
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 11:22:46 2018 -0500
🔤 Organize `require`s
commit 2f144d24d9
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 11:13:50 2018 -0500
Remove existing global hamburger menu
This will be replaced by a OS-level ‘Preferences’ menu.
commit f5adb374cb
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Mon Feb 26 18:40:54 2018 -0500
Remove ‘Restart Signal’ menu from settings
Apparently, this is a remnant from the Chrome web application.
commit d7a206bc8e
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Mon Feb 26 17:16:49 2018 -0500
Clarify label for starting a new conversation
When user a enters a number that is not a contact, we prompt them to start a new
conversation.
commit 715a406436
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Mon Feb 26 16:46:26 2018 -0500
Use ‘Enter name or number’ as prompt’
This follows implementation of Android and recommendation from Alissa.
79 lines
2.2 KiB
JavaScript
79 lines
2.2 KiB
JavaScript
const { assert } = require('chai');
|
|
|
|
const SignalMenu = require('../../app/menu');
|
|
const { load: loadLocale } = require('../../app/locale');
|
|
|
|
|
|
const PLATFORMS = [
|
|
{
|
|
label: 'macOS',
|
|
platform: 'darwin',
|
|
fixtures: {
|
|
default: './fixtures/menu-mac-os',
|
|
setup: './fixtures/menu-mac-os-setup',
|
|
},
|
|
},
|
|
{
|
|
label: 'Windows',
|
|
platform: 'win32',
|
|
fixtures: {
|
|
default: './fixtures/menu-windows-linux',
|
|
setup: './fixtures/menu-windows-linux-setup',
|
|
},
|
|
},
|
|
{
|
|
label: 'Linux',
|
|
platform: 'linux',
|
|
fixtures: {
|
|
default: './fixtures/menu-windows-linux',
|
|
setup: './fixtures/menu-windows-linux-setup',
|
|
},
|
|
},
|
|
];
|
|
|
|
const INCLUDE_SETUP_OPTIONS = [false, true];
|
|
|
|
describe('SignalMenu', () => {
|
|
describe('createTemplate', () => {
|
|
PLATFORMS.forEach(({ label, platform, fixtures }) => {
|
|
context(label, () => {
|
|
INCLUDE_SETUP_OPTIONS.forEach((includeSetup) => {
|
|
const prefix = includeSetup ? 'with' : 'without';
|
|
context(`${prefix} setup options`, () => {
|
|
it('should return correct template', () => {
|
|
const logger = {
|
|
error(message) {
|
|
throw new Error(message);
|
|
},
|
|
};
|
|
const options = {
|
|
openForums: null,
|
|
openNewBugForm: null,
|
|
openReleaseNotes: null,
|
|
openSupportPage: null,
|
|
platform,
|
|
includeSetup,
|
|
setupAsNewDevice: null,
|
|
setupAsStandalone: null,
|
|
setupWithImport: null,
|
|
showAbout: null,
|
|
showDebugLog: null,
|
|
showSettings: null,
|
|
showWindow: null,
|
|
};
|
|
const appLocale = 'en';
|
|
const { messages } = loadLocale({ appLocale, logger });
|
|
|
|
const actual = SignalMenu.createTemplate(options, messages);
|
|
const fixturePath = includeSetup ? fixtures.setup : fixtures.default;
|
|
// eslint-disable-next-line global-require, import/no-dynamic-require
|
|
const fixture = require(fixturePath);
|
|
assert.deepEqual(actual, fixture);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|