Git Product home page Git Product logo

alekseynemiro / multi-duper-stopwatch Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 2.0 7.26 MB

This is an advanced stopwatch for Android that allows you to track the time for individual activities.

License: MIT License

JavaScript 0.81% TypeScript 96.56% Ruby 0.47% Java 1.48% Objective-C 0.46% Objective-C++ 0.23%
android-app android-application apk open-source open-source-projects opensource programs react-native-app

multi-duper-stopwatch's Introduction

Aleksey Nemiro's GitHub stats Top Langs

The following table presents my path in programming (curriculum vitae) and my public activities.
The Business stack section contains a summary of the technology stack that I used at work (commercial development).

     
2023
Applications for Android
RussianPlateCodes v1.0 - Flutter, Dart 🇷🇺
Multi-duper Stopwatch v1.0-v1.2 - React Native, TypeScript
TapPlayer v1.0-1.5 - MAUI, C#

Articles
📄 What is a Project kit?
📄 Word wrapping issue in HorizontalStackLayout component in MAUI projects
📄 How to implement IDisposable in view models in MAUI projects
📄 Реализация IDisposable в моделях представлений в проектах MAUI 🇷🇺
📄 Подпись изменений в Git 🇷🇺

Business stack
🔸 .NET Core 6/7 (C#), ASP.NET Core Web API, ASP.NET Core Blazor Server, Node.js, TypeScript, React.js, PostCSS, SCSS, SQL Server, PostgreSQL, AWS
2022 Business stack
🔸 .NET Core 5/6 (C#), ASP.NET Web API, Node.js, TypeScript, React.js, PostCSS, PostgreSQL, AWS
2021 Node.js
branch-remover - TypeScript

Articles
📄 Automation of adding labels to pull requests on GitHub
📄 Easy way to remove branches from GitHub repos

Business stack
🔸 .NET Core 5 (C#), ASP.NET Web API, Node.js, TypeScript, React.js, PostCSS, PostgreSQL, AWS
2020 Node.js
bighut-relabel - TypeScript

Business stack
🔸 .NET Core 3/5 (C#), ASP.NET Web API, Node.js, TypeScript, React.js, PostCSS, PostgreSQL, AWS
2019 Business stack
🔸 .NET Core 2/3 (C#), ASP.NET Web API, ASP.NET WebForms (.NET Framework 4.0/4.5/4.7, C#), JavaScript, TypeScript, React.js, PostCSS, CSS, SCSS, MySql, SQL Server, AWS
2018 Components for Windows Forms (.NET Framework)
GradientColorPicker - C#
CircleAnglePicker - C#

Solutions for PHP
PHP MVC Project - PHP 5/7

Videos
📺 Meet the PHP MVC Project!

Articles
📄 Linked lists
📄 User roles in Web applications

Business stack
🔸 ASP.NET MVC (.NET Framework 4.0/4.5, Razor, Web API, C#), ASP.NET WebForms (.NET Framework 2.0/3.5/4.0/4.5/4.7, C#, VB), JavaScript, TypesScript, React.js, jQuery, CSS, SCSS, SQL Server, PostgreSQL
2017 Solutions for .NET Framework
Nemiro.OAuth v1.13 - C#

Solutions for PHP
Football simulation - PHP 5/7

Business stack
🔸 ASP.NET MVC (.NET Framework 4.0/4.5/4.6, Razor, Web API, C#), PHP, JavaScript, TypesScript, React.js, jQuery, CSS, SCSS, SQL Server, PostgreSQL, MySql
2016 Solutions for .NET Framework
Nemiro.OAuth v1.11-v1.12 - C#
Nemiro.Convertion v2.3 - C#

Solutions for Debian/Ubuntu
SmallServerAdmin (SSA) - PHP 5/7, TypeScript, jQuery, AngularJS
HTAN - Bash
HTAN.Runner - C# (Mono)
ApacheConf.PHP - PHP 5/7, Apache2 v2.4
NginxConf.PHP - PHP 5/7, Nginx v1.9

Articles
📄 Users Authorization through OAuth in .NET Framework

Business stack
🔸 ASP.NET MVC (.NET Framework 4.0/4.5, Razor, Web API, C#), ASP.NET WebForms (.NET Framework 2.0/3.5/4.0/4.5/4.6, C#, VB), JavaScript, TypesScript, jQuery, AngularJS, CSS, SCSS, LESS, SQL Server, PostgreSQL, MySQL
2015 Solutions for .NET Framework
Nemiro.OAuth v1.6-v1.10 - C#
Nemiro.Convertion v2.2 - C#

Solutions for PHP
WebForms.PHP - PHP 5
Nemiro.Data.PHP - PHP 5

Web projects
FoxTools.ru API v2.0 - ASP.NET MVC Razor + Web API (C#), SQL Server

Video
📺 Simple file manager for Dropbox in C#

Business stack
🔸 ASP.NET MVC (.NET Framework 2.0/3.5/4.0/4.5, Razor, Web API, C#), ASP.NET WebForms (.NET Framework 2.0/3.5/4.0/4.5, C#, VB), ASP/VBScript, JavaScript, TypesScript, jQuery, AngularJS, CSS, SCSS, SQL Server, MySQL
2014 Solutions for .NET Framework
Nemiro.OAuth v1.1-v1.5 - C#
Nemiro.Convertion v2.1 - C#
Nemiro.Data - C#

Business stack
🔸 ASP.NET MVC (.NET Framework 2.0/3.5/4.0/4.5, Razor, Web API, C#), ASP.NET WebForms (.NET Framework 2.0/3.5/4.0/4.5, C#, VB), ASP/VBScript, JavaScript, TypesScript, jQuery, AngularJS, CSS, SCSS, SQL Server
2013 Applications for Windows
FoxTools Screen Shooter - Windows Forms, Visual Basic .NET

Video
📺 Использование FlowLayoutPanel и TableLayoutPanel в проектах Windows Forms 🇷🇺
📺 Локализация приложений Windows Forms 🇷🇺
📺 Реализация настроек приложения в проектах Windows Forms 🇷🇺

Business stack
🔸 ASP.NET MVC (.NET Framework 2.0/3.5/4.0/4.5, Razor, Web API, C#), ASP.NET WebForms (.NET Framework 2.0/3.5/4.0/4.5, C#, VB), ASP/VBScript, JavaScript, TypesScript, jQuery, AngularJS, CSS, SQL Server
2012 Solutions for Silverlight
Silverlight File Manager - XAML, C#

Web projects
FoxTools.ru v2.0 + API v1.0 - ASP.NET MVC (WebPages), C#, SQL Server

Articles
📄 Обработка больших XML при помощи XmlReader 🇷🇺
📄 Асинхронные запросы в JavaScript 🇷🇺
📄 Работа с файлами в C# 🇷🇺
📄 Работа с файлами в Silverlight 🇷🇺

Business stack
🔸 ASP.NET MVC (.NET Framework 2.0/3.5/4.0/4.5, VB), ASP.NET WebForms (.NET Framework 2.0/3.5/4.0/4.5, VB), ASP/VBScript, JavaScript, jQuery, CSS, SQL Server
2011 Applications for Windows
EasyWatermark - Windows Forms, C#

Solutions for .NET Framework
Pop3Lib - C#

Web projects
ReleaseBox.ru - ASP.NET MVC (WebPages), C#, SQL Server
Yolper.Ru - ASP.NET WebForms (VB), SQL Server
nefiles.ru - ASP.NET WebForms/MVC (VB, C#), SQL Server

Business stack
🔸 ASP.NET MVC (.NET Framework 2.0/3.5/4.0, VB), ASP.NET WebForms (.NET Framework 2.0/3.5/4.0, VB), ASP/VBScript, JavaScript, jQuery, CSS, SQL Server
2010 Web projects
Kbyte.Ru v5.0 - ASP.NET MVC (VB, C#), SQL Server 💥
FoxTools.ru - ASP.NET WebForms (VB), SQL Server
goID.ru - ASP.NET WebForms (VB), SQL Server
BlogRay.ru - ASP.NET WebForms (VB), SQL Server

Articles
📄 Ведение журнала изменений объектов в .NET Framework 🇷🇺

Business stack
🔸 ASP.NET MVC (.NET Framework 2.0/3.5, VB), ASP.NET WebForms (.NET Framework 2.0/3.5, VB), ASP/VBScript, JavaScript, jQuery, CSS, SQL Server
2009 Applications for Windows
MyMoney - home bookkeeping (Windows Forms, Visual Basic .NET, MS Access)
My Shop - program for managing goods in an offline store with the simplest possible interface (Windows Forms, Visual Basic .NET, MS Access)

Articles
📄 Вывод картинок в ASP .NET MVC 🇷🇺

Business stack
🔸 ASP.NET MVC (.NET Framework 2.0/3.5, VB, C#), ASP.NET WebForms (.NET Framework 2.0/3.5, VB, C#), PHP, JavaScript, jQuery, CSS, SQL Server, Windows Forms (VB, C#)
2008 Solutions for .NET Framework
AutoSubscribe - library for automatic release of newsletters through the subscribe.ru service (C#)
Captcha - C#

Web projects
Kbyte.Ru v4.5 - ASP.NET WebForms (VB), SQL Server
VBNet.Su - PHP, MySql
Home page - PHP, MySql

Collaborative projects
Kbyte World - Windows Forms (C#, VB)

Articles
📄 Автоматизация поиска SQL Injection (RSDN Magazine #2'2008) 🇷🇺
📄 Работа с базами данных MySql в Perl 🇷🇺

Business stack
🔸 ASP.NET WebForms (.NET Framework 2.0/3.5, VB, C#), ASP/VBScript, PHP, JavaScript, jQuery, CSS, SQL Server, Windows Forms (VB, C#)
2007 Solutions for ASP.NET
DateSelectControl - VB, C#, JavaScript

Web projects
Kbyte.Ru v4.0 - ASP.NET WebForms, VB, SQL Server
Home page - ASP.NET WebForms, C#, SQL Server

Articles
📄 Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse) 🇷🇺
📄 PHP: Шаблоны – это несложно! 🇷🇺

Business stack
🔸 ASP.NET WebForms (.NET Framework 1.1/2.0, VB, C#), ASP/VBScript, PHP, JavaScript, jQuery, CSS, SQL Server, Windows Forms (VB)
2006 Applications for Windows
Drawing Hours v4.0 - Visual Basic 6.0

Solutions for ASP.NET
TextBoxLimited.NET - VB, JavaScript

Web projects
Kbyte.Ru v1.0-v3.0 - ASP.NET WebForms (VB), MS Access

Articles
📄 Работаем с MIME 🇷🇺
📄 ASP .NET 2.0: Эталонные страницы 🇷🇺
📄 Форум своими руками на ASP 🇷🇺

Business stack
🔸 ASP.NET WebForms (.NET Framework 1.1/2.0, VB), ASP/VBScript, PHP, JavaScript, HTML/XHTML, CSS, SQL Server
2005 Applications for Windows
Keyboard Statistics - Visual Basic 6.0
PassMe - password manager (Visual Basic 6.0)
Wallpapers changer - automatic change of desktop pictures for Windows 98/ME/2000/XP (Visual Basic 6.0)

Casual games
Golden Rush - control a little man to find a gold in the forest (Visual Basic 6.0)
Sapper - little man must be careful not to step on the mines (Visual Basic 6.0)

Articles
📄 ASP – Работа с базами данных 🇷🇺

Business stack
🔸 Visual Basic 6.0, Visual Basic for Applications, HTML, MS Access
2004 Casual games
Keyboard Trainer - Visual Basic 6.0

Business stack
🔸 Visual Basic 6.0, Visual Basic for Applications, HTML, MS Access
2003 Applications for Windows
Drawing Hours v3.0-v3.4 - skins for the standard clock on the Windows taskbar (Visual Basic 6.0)
Notebook - text note program (Visual Basic 6.0)
LinkWord - creating hyperlinks from text for SEO (Visual Basic 6.0)

Casual games
Flying in Bottom - mouse clicker (Visual Basic 6.0)

Web projects
www.hypertech.ru - ASP/VBScript, MS Access

Collaborative web projects
www.vbnet.ru - ASP/VBScript, MS Access, SQL Server

Articles
📄 Visual Basic: Анимация - это несложно! 🇷🇺
📄 Разработка окна в стиле Windows XP 🇷🇺
📄 Delphi 6.0: Первая DLL 🇷🇺
📄 Основы SQL 🇷🇺

Business stack
🔸 Visual Basic 6.0, HTML

Study stack
🔸 Visual Basic 6.0, Delphi 6.0, HTML, CSS, JavaScript, ASP/VBScript, MS Access, SQL Server
2002 Applications for Windows
Drawing Hours - skins for the standard clock on the Windows taskbar (Visual Basic 6.0)
MyTime 9000 - alarm clocks (Visual Basic 6.0)
Golden Notepad - notepad for Windows with automatic DOS codepage decoding (Visual Basic 6.0)

Casual games
Balls - memory, matching pairs (Visual Basic 6.0)
Flies - 2D fly shooter using mouse cursor (Visual Basic 6.0)

Study stack
🔸 Visual Basic 6.0, Delphi 5.0, Visual C++, HTML, CSS, JavaScript, ASP/VBScript, MS Access
2001 Study stack
🔸 Visual Basic 6.0, C
2000 Study stack
🔸 Visual Basic 6.0, Microsoft QuickBASIC, Turbo Pascal
1999 Study stack
🔸 Q-Basic, G-Basic
1999 Study stack
🔸 Q-Basic, G-Basic

Everything that is created by man must be securely preserved.

multi-duper-stopwatch's People

Contributors

alekseynemiro avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

krish1701 vrza93

multi-duper-stopwatch's Issues

Implement a global actions management page

Please implement a page with a list of global actions.

The list must contain at least the following fields:

  • Action name
  • Edit button
  • Delete button

When user click on the Edit button, the action editing page should open, which should contain at least the following fields:

  • Action name
  • Color + Select color button
  • Play list #4 - TBDL

Report - Save selected filters in current report

When the user has chosen to filter by the types of activities in the current project, then when moving to other pages, these filters are reset. Filters must be saved.

Solution

  1. Use ISessionStorageService.
  2. The activity filtering of the current project report must not affect the viewing of old reports.

Report - Replacing activity

Implement the ability to replace one activity with another in the report.

Solution

When the user long presses on a entry in the report, a pop-up menu should appear, in which there should be a Replase button.

When the user clicks on the Replace button, a modal window should appear with a list of activities and the Replace and Cancel buttons.

image

Relates: #18

com.facebook.jni.CppException: bad_weak_ptr

The error occurs during automatic testing in the Google Console.

Exception com.facebook.jni.CppException: bad_weak_ptr
  at com.swmansion.reanimated.Scheduler.triggerUI
  at com.swmansion.reanimated.Scheduler$1.run (Scheduler.java:24)
  at com.swmansion.reanimated.Scheduler$2.runGuarded (Scheduler.java:43)
  at com.facebook.react.bridge.GuardedRunnable.run (GuardedRunnable.java:30)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at androidx.test.espresso.base.Interrogator.loopAndInterrogate (Interrogator.java:10)
  at androidx.test.espresso.base.UiControllerImpl.loopUntil (UiControllerImpl.java:7)
  at androidx.test.espresso.base.UiControllerImpl.loopUntil (UiControllerImpl.java:1)
  at androidx.test.espresso.base.UiControllerImpl.loopMainThreadForAtLeast (UiControllerImpl.java:7)
  at androidx.test.espresso.action.Tap$1.sendTap (Tap.java:4)
  at androidx.test.espresso.action.GeneralClickAction.perform (GeneralClickAction.java:4)
  at androidx.test.espresso.ViewInteraction$SingleExecutionViewAction.perform (ViewInteraction.java:2)
  at androidx.test.espresso.ViewInteraction.doPerform (ViewInteraction.java:23)
  at androidx.test.espresso.ViewInteraction.-$$Nest$mdoPerform
  at androidx.test.espresso.ViewInteraction$1.call (ViewInteraction.java:6)
  at androidx.test.espresso.ViewInteraction$1.call (ViewInteraction.java:1)
  at java.util.concurrent.FutureTask.run (FutureTask.java:266)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:223)
  at android.app.ActivityThread.main (ActivityThread.java:7664)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:592)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:947)

Steps to reproduce the behavior

Can't eproduce.

Video

video.mp4

Affected versions

  • v1.0 (build: 20230808)

Device (please complete the following information):

  • Google Pixel 5, Android 11 (SDK 30)

Report - Deleting entries

Implement the ability to delete records from a report.

Solution

When the user long presses on a entry in the report, a pop-up menu should appear, in which there should be a Delete button.

image

Relates: #19

Remember last opened project

Please add a setting to save the ID of the last opened project.

When the user starts the program, it is necessary to automatically load the project data.

Excluding cases when recovery is triggered when the program crashes.

Project background color

It would be nice to add the ability to set the background color of the stopwatch window for each project.


Blocked by: #91

Report - The display of the total time does not work correctly

When current activity is selected and entries are filtered by current activity, the total time is displayed incorrectly.

Steps to reproduce the behavior

  1. Open any project.
  2. Run any number of activities in turn.
  3. Open report screen.
  4. Click on the current activity.

Actual behavior

The total running time of the stopwatch is shown.

Expected behavior

The total time for the selected activities is shown.

Screenshots

image

Affected versions

  • v1.1

Beep at intervals

It would be nice to be able to set the sound signal by intervals.

For example, in the action settings, the user could choose to beep every 1, 5, 15, 30, 60, etc minutes.

Most likely it will be necessary to limit the duration of the sound, for example, no more than 5-10 seconds.
Or provide a pre-prepared set of sounds.

Activity code

When a user creates multiple activities with the same name and color.

Then it can be difficult for the user to navigate the data.

For the convenience of users, activities should have integer codes.


Reasons: #12, #13
Affect: #50

Remember last mode

When the user leaves the home page (screen) and then returns, the last selected stopwatch mode is reset.

Please implement so that the selected mode is not reset.

Steps to reproduce the behavior

  1. Open any project.
  2. Start any activity.
  3. Click on the time to switch the time display mode for the current activity.
  4. Go to any page (screen).
  5. Go to home page.

Actual behavior

The stopwatch displays the total time.

Expected behavior

The stopwatch displays the time of the current activity.

Screenshots

image

Affected versions

  • v1.0 (build: 20230808)

Report: Empty list of activities

If only one activity was launched, then the list of activities in the filter is empty.

Steps to reproduce the behavior

Steps to reproduce the behavior:

  1. Open any project.
  2. Run any activity.
  3. Go to report screen.
  4. Press the Set filters button.

Actual behavior

A modal window appears with no activities.

Expected behavior

The button is not available.

Screenshots

image

Affected versions

  • v1.1

Notify about active session

When there is an unfinished session.

When a user in the project list starts a new project.

Then we need to show the user a confirmation request to start a new project. The request body should warn the user that the current active session will be finished.

Add items to a report

Steps

  1. Open project.
  2. Start new session.
  3. Pause the active action.
  4. Open report (swipe to right).

Actual

  1. The report is loading.
  2. A loading indicator is displayed.
  3. Scrolling moves to the end of the list.

Expected

  1. The report is loaded only once, when the session is initialized.
  2. After pause the action, the data is immediately added to the list.

Context menu - Add activity info

When the user long presses on any activity, a context menu appears.

Add a new item - Information.

When the user press on the Information menu item, a modal window appears with the following data:

  • Activity name
  • Total activity time

image

Report: Show current activity at the bottom of the list

When viewing the current session report, add the current activity at the end of the report.

Such a recording should change the time in real time.

The total time should also change in real time.

The activity color label should be different from the rest.

image

Editing the activities of the current project

When a project is open it would be nice to be able to change activities.

The userflow might be as follows:

  1. The user presses any activity for a while.
  2. A model activity editing window opens.
  3. The user can save the changes made, cancel them, or remove the activity from the project.

Blocked by #12

Continuation of the crashed activity

Sometimes Android may shut down an app for optimization purposes. In this case, the shutdown of the application will be considered abnormal.

When launching the application, we need to prompt the user to take into account the time from the start time of the activity to the time the application is launched.

Swap buttons

If we consider the statement that most people hold the phone with their right hand as true.

Then the Pause/Start button should be on the right side, so that it is easier to click on it.

The Finish button should be on the left to be less accessible.

image

Also, we should think more carefully about the placement of buttons in other places. The main button should be comfortable to press with your right thumb.

Report: Filter note

When a user enables filtering of records by activity, an appropriate warning should be shown.

Solution

Most likely it should be a message under the table.

The user should be able to clear the filter with a separate button.

image

Report - Duplicate activities in filters

The modal window for filtering report entries does not work correctly.

Duplicates, as shown in the image, should not be.

Most likely, the problem is related to the functionality of replacing activities in the report: #19

image

Improve migrations

At the moment we only have initialization migrations.
If it becomes necessary to create new migrations, we must do the following:

  • Add a helper that will insert the migration number into the Migrations table.
  • To check migrations, we probably need to make a dictionary of all migrations. The dictionary must contain the key - the migration number (for example, 20230614_1550), the value - a link to the migration class (for example, InitialMigration).

Report - Do not delete entries permanently

I think deleting report records permanently is a bad idea.

It's better to leave the data in the database and just use the IsDeleted flag.

I still have no idea how to implement the recovery of records deleted by mistake, but I'm sure that if necessary, there will be a solution.


Reasons: #18, #19

Add reasons why the Delete menu item is disabled

When there is only one activity in the project.

When the user long presses on the activity.

Then the context menu appears. The Delete item is disabled.

Add an info icon to the right of Delete. When user click on the icon, a tooltip should appear, indicating the reasons why the menu item is not available.

image

Reports - Calendar

Add a button to the Reports page that will open the calendar.

When the user clicks on the Calendar button.

Then a calendar opens, in which days with reports are marked.

When the user clicks on a day in the calendar.

Then a list of reports for that day opens.

When the user clicks on the report.

Then the report opens.

Error when clicking Finish button

If the session has not been started, the user can click on the Finish button, which results in an error: Session is required..

Steps to reproduce the behavior

  1. Open any project.
  2. Click on the Finish button.

Actual behavior

Error: Session is required.

Expected behavior

The button is not clickable.

Affected versions

  • v1.1

Create custom dialogs

Due to bugs in React Native, system dialogs have the wrong color scheme.

Solution

Create an Alert component at the application level, which will replace the standard React Native implementation.

Cause: #24

Customize system colors

On some devices, text in modal windows may be unreadable due to incorrect colors.

Screenshots

image

Affected versions

  • v1.0 (build: 20230808)

Device (please complete the following information):

  • Pixel 6, Android 12 (SDK 31)

Select color: Highlight current color and last color

In the color selection dialog, highlight the currently selected color. For example, a red frame.

Also highlight the last selected color. For example, a gray frame. This will help the user to select colors of the same tone.

Instead of a colored frame, you can use any other indicator of your choice.

image

Rerport - Split entries

When the user long presses on an item on the report screen.

Then the context menu associated with the selected report entry opens.

Add a new item to the menu - Split.

When the user clicks on the Split menu item.

Then a modal window opens where the user can select the activity into which the selected entry should be splited and the duration of each part.

Blocked by: #18, #19

Project List - Sort projects

At the moment, it seems that the projects in the list are sorted by the date they were added - new ones at the bottom.

Please add sorting to the list. For example, show projects from the top in the following order:

  1. Date of last use.
  2. Project name - alphabetically, in ascending order.

Add information about licenses

In the About page, create a link or button that, when clicked, should open a modal window with information about the application's license and a list of licenses for third-party components used.

Layout settings

At the moment, the list of activities is displayed on a single line with automatic wrapping if the buttons do not fit.

Please add customizable layout. At a minimum, make the following layout modes:

  1. Single - as it is now (default).
  2. Stack - buttons are placed in one column.
  3. Tiles - buttons are placed in single line, without spaces between buttons, with automatic wraps.

Affects: #14

Dynamic adding of activities

It would be nice to be able to add new activities to the current project.

This can be done like this:

  1. At the end of the list of activities there should be an Add activity button (most likely with a dotted border).
  2. The user presses this button for a while.
  3. A modal window opens in which the user can do the following: set activity name, select color, save or cancel.

See also: #13

Show percentage of time spent in activity

After the start of a new session, each activity can show the percentage of time that the activity took.

Solution

It can be a narrow bar under each activity with a numeric percentage value.

There should be an option in the app settings to disable this feature.

image

Affects: #58

Incorrect handling of pressing the back button on the device

If the user is on the Report screen, pressing the Back button on the device does not open the Main screen, but the last page from the history.

Steps to reproduce the behavior

Steps to reproduce the behavior:

  1. Open any project.
  2. Run any activity.
  3. Go to the Report screen.
  4. Press the Back button on your device.

Actual behavior

The last page in the navigation history opens.

In some cases, an error occurs.

Expected behavior

Opens the main screen.

Affected versions

  • v1.0 (build: 20230808)

Adding a playlist to actions

A strange idea came up. What if we add the ability to specify a playlist to the actions?

Starting the goal will launch the music from the linked playlist.

I think it should be interesting.

Use case, for example, when a person plays sports, he will be able to add music of the desired rhythm for each action.

Swipe to delete

In the list of projects and in the list of actions, instead of ugly Delete buttons, implement swipe deletion.

When swiping, Delete button should appear on the side.

When the user clicks on the button, the data should be deleted, without additional confirmation requests.

Grouping items in a report

On the report page, implement the ability to group the same actions located next to each other.

The page should have a button or switch that will enable/disable the grouping mode.

When items are grouped, statistics (time, distance, speed, etc.) should be summed across these items .

Do not show report if session has not started

If the session has not yet been started, the report will always be empty. Please do not show the report in such cases.

Steps to reproduce the behavior

  1. Open project.
  2. Swipe right.

Actual behavior

An empty report opens.

Expected behavior

Nothing happens.

Affected versions

  • v1.0 (build: 20230808)

Project List - Use FlatList

Please refactor the UI code and use the FlatList component instead of directly displaying a list from an array.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.