Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
afbb862
feat: add task manager solution
tarek-brahimi Feb 21, 2026
a28c8bd
file storage
tarek-brahimi Feb 26, 2026
c2000a8
initial setup for e-commerce challenge
tarek-brahimi Feb 26, 2026
a485e91
config : setup react with vite
tarek-brahimi Mar 18, 2026
a3788a5
config : adding the jsx and css components
tarek-brahimi Mar 18, 2026
6380008
config adding all modules to each componensts
tarek-brahimi Mar 18, 2026
8656a10
config : the productList and productcart iteam
tarek-brahimi Mar 19, 2026
6d7c506
config : the adding and removing function
tarek-brahimi Mar 19, 2026
4d33877
bug fix the array of product list adding the array to app.jsx
tarek-brahimi Mar 19, 2026
578c4f8
statrt config the navbar
tarek-brahimi Mar 19, 2026
f120dd1
config making the classname for eache element and fixing the cart it…
tarek-brahimi Mar 19, 2026
3701c65
adding css
tarek-brahimi Mar 19, 2026
ff0ab8d
ading state for serch and sorting for sorting the iteam
tarek-brahimi Mar 19, 2026
650dafe
adding the props sort and onsort for sorting the items
tarek-brahimi Mar 19, 2026
4297dbd
config adding the onsearch props and maketheme searching for the prod…
tarek-brahimi Mar 19, 2026
1547d42
adiing filterd function that all to filter withe the nav bar logiaue
tarek-brahimi Mar 19, 2026
3c5a381
config the sorting selctor
tarek-brahimi Mar 19, 2026
692fc5e
fix the problem with ai
tarek-brahimi Mar 19, 2026
93a3aca
adding the event for cart button
tarek-brahimi Mar 19, 2026
0f39912
adding photos for eache iteam
tarek-brahimi Mar 19, 2026
d314b62
adding the read me file
tarek-brahimi Mar 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 0 additions & 26 deletions README.md

This file was deleted.

File renamed without changes.
146 changes: 146 additions & 0 deletions js-challenge/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
Description

Task Manager Web Site is a web application that allows users to create, edit, delete, and track tasks in different categories. It also includes a progress bar and a dark mode to enhance user experience.

The project is built with HTML, CSS, and JavaScript, without external frameworks, and uses localStorage to save tasks locally.

Screenshots
### Light Mode

![Light Mode Screenshot](img/Screenshot%202026-02-21%20024738.png)

### Dark Mode

![Dark Mode Screenshot](img/Screenshot%202026-02-21%20024643.png)

Replace path-to-your-light-mode-image.png and path-to-your-dark-mode-image.png with the actual paths to your screenshots.

Features

Add a Task

Enter a task name and select a category.

Click the Add button to add it to the list.

Edit a Task

Click Edit to modify the task name or category.

Click Save to save changes.

Delete a Task

Click Delete to remove a task from the list.

Mark Task as Completed

Click the ✔ button to mark a task as "completed".

Click again to return it to "pending".

Filter Tasks

Use the All, Pending, and Completed buttons to filter tasks by status.

Progress Bar

Shows the percentage of tasks completed compared to the total.

Dark Mode

Toggle between light and dark themes using the button at the top right.

The dark mode state is saved in localStorage.

Responsive Design

The interface is centered and adapts to different screen sizes.

Project Structure
/project-root
├─ index.html # Main HTML structure
├─ style.css # Styles and theme (light/dark)
├─ script.js # JavaScript logic for tasks and interactions
├─ img/ # Icons for light/dark mode
│ ├─ dark_mode_24dp.svg
│ └─ light_mode_24dp.svg
└─ README.md # Project documentation
HTML

Main structure:

#main-panel contains all main content.

#header for the title and separator line.

#control contains the add form and filter buttons.

#tasks displays the task list.

#progress displays the progress bar.

Input and select:

<input> for task name.

<select> to choose task category.

Buttons

Add, Edit, Save, Delete, Mark, and filters (All, Pending, Completed).

CSS

CSS variables (:root) for easy theme management (light/dark).

Grid layout used to align tasks and edit panel.

Buttons and input fields styled with border-radius, box-shadow, and dynamic colors.

Dark mode toggled with .darkmode class on body.

Progress bar with #background and #on-top to visualize task completion.

JavaScript

Tasks array: toDolist2 stored in localStorage.

Main functions:

saveTasks() – Saves tasks to localStorage.

renderTodolist() – Renders tasks based on the selected filter.

addList2() – Adds a new task.

Task editing:

editingIndex is used to track the task being edited.

Update task name and category in real-time.

Marking tasks:

Toggle between "pending" and "completed".

Automatically updates the progress bar.

Filtering:

Handles All, Pending, and Completed buttons.

Active filter highlighted with active class.

Dark mode:

State saved in localStorage.

Toggles .darkmode class on body.

Event listeners:

click events for adding, editing, saving, deleting, marking, and filtering tasks.

Dynamic DOM updates for instant feedback.
Binary file added js-challenge/img/Screenshot 2026-02-21 024643.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 js-challenge/img/Screenshot 2026-02-21 024738.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 14 additions & 0 deletions js-challenge/img/light-mode-svgrepo-com.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions js-challenge/img/moon-night-mode-space-rocket-svgrepo-com.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading