A drag and drop todo app with visually adjustable time slots to fill an 8 hour day.
-
-
-
- Install laravel + React scaffolding
- webpack.mix.js
- package.json
- remove module for webpack mix
- Allow src mapping for debug
- Setup database
- config build
-
-
- Data structure
- User tables relationships and retrieval
- Seeder
- Generate some dummy data
- Define routes (additional)
- Commit Minimum build
- Soft delete
- Fetch boxes by day
-
-
-
- Responsive fluiid header
- Layout Mobile
- Layout Tablet
- Layout Desktop
- Center col-8 on login and register
-
- [] Demo
- Login
- Registr
- Profile
- Signup
-
- [x] Login button when logged out - [x] Icons profile - [x] Icons logout - [x] Center calendar icon or add drop down menu on right icon - [x] Home icon logic
-
- BUG [x] Check and fix, Item id hack for prod
-
- Route / as TimeboxDemoController if not authed
- used proxy controller but better use middleware
- Route
- First time welcome and notification
- Route / as TimeboxDemoController if not authed
-
- Should be plus icon (tick is confussing)
- Close
- Center Button
- Submit validation
- Empty slot on click
- Duration
- Start is based on todays day
- Adjust start time on drop addBox / or prevent drag ? its related to seems to default to current day
- Start needs to retain its value in form
- Duration Can be reduced to 30mins
- requires passing up duration and recalculate height before dispatching.
- Dispatch only on submit Same for status color
- Status:
- Test statuses x4 Doing: - Blue Todo: - Future Amber, - Current Blue - Past: Red
- Done
- green,
- Status:
- Rag status styling basic func
-
-
Form inputs squashed
-
BUG [x] Duration being set to null and or not on delete
-
BUG [x] start undefined on box 16
- Add box second from last make it 1 hour
- Repro Steps:
- Create a box second to last as 2 hours then increase or reduce.
-
Update text button press
-
~~on keypress sleep ? ~~
-
BUG [ ] Reducing box size seems to add a new box in between next placeholder
-
Remember:
- that when in this update flow its unlikeyl many api call will be required (levarage this)
-
Center height color text size so its not jumping around
- Auto updating here is only required to adjust height and color
-
Update text area and form in general a bit squashed (minimix duration input width)
-
Style select s height affecting duration on select ? In all scenarios ?
-
BUG [x] Is height affecting duration on select ? In all scenarios ?
-
Update Funcionality for duration and status
-
BUG [x] Interactions here are the only way of updating next freePlaceholders. If we update another element the duration options are not updated
-
Start needs to retain its value in form
-
Need to adjust heights of boxes x30,x60,x90,x120
-
Sanitization on duration
-
Manage placeholders splice pattern over the difference in duration - / + loop
-
Cannot read properties of start
- Todo item must not overlap next todo item
- Next free slots util()
- Its possible a feature would be to replace a free slot at some other point in the day (less intuitive & more complex)
- Duration can be reduced to 30mins
- Dont allow todo box to extend beyond the end of the day
- Todo item must not overlap next todo item
-
Reset time on drop
-
Time allocation logic
-
Http client
-
If box height > 60 then move txt area down to occupie all that space
-
-
- Duration tap Feature
- Status tap Feature
-
- [] Store nHours redux
-
- Needs to redirect to /
- BUG [x] Moving back and forward (after an item creation) reutrns
same key, 5. Keys should be unique
Solved by removing setDate dispatch on, also solved by adjusting boxes begore managing
-
-
Hover on select calendar
-
BUG [x] Select calendar when choosing in future defaults to 00:00
-
Center this button
-
Calendar should match design
-
BUG [x] Doesnt retain highlighted correct date
-
Could do with finger hover .5
-
BUG [x] Start time not merging correctly
- removed setStartDate() dispatch
-
Date picker
-
Set current date only
-
Calendar Select Component
-
-
- Set start hour just always do boxes of 8
- Select duration of day
-
- Do batch update
- lastTotalToRemove: this needs to be grouped by day ? stack ?
- lastUpdatedIndex: this needs to be updated
- Basic crud slice methods
- Get Id back from createBox api
- Dispatch settIntialBoxes and set state in redux!
- After fetch will require a mergeBoxes
- Empty placeholder click needs to add
- On duration reduction need to add back placeholders based on next placeholders
- Check box is on 30 min intervals no 35mins
-
-
BUG [x] Dragging to top will cause all times to reset from dragged start point
-
Boxes should be uniform cmponent or markup getting too many differing results
-
RAG Status testing
-
BUG [x] Two children same key
- removed startDate Dispatch
- Add box on p2 p3 causes issues could not create
-
BUG [x] Add box after drag creates two new items (one in place and anothre at its original index)
- Pass index to addBox
-
Old todo should be red
-
Fresh after laravel seed placeholders seems to add extra as if last total to remove is not being respected ?
-
Manage placeholders removes too many boxes if theres no next todo item 60 mins
-
manage placeholders and its order
-
30 min interavals daily background
-
BUG [x] : when moving a box the time updates but does not respect the day
-
Moving box time does not correctly update the number of boxes
-
BUG [X] when theres an empty element at the start of the day ?
-
Simply remove outline on empty boxes its not necesary
- To give the illusion of a large free box
-
Duration of an item needs to affect the number of boxes
-
Needs to run on everytime duration changes, new and update and read
-
on change startTime / startDate order the boxes
-
Fix front end input to Y-m-d H:i:s for placeholders
-
Send / Receieve a start time
-
startDateTime / dueDateTime db
-
Set start time by index
-
Leaner addToStack
-
[] refactor: stack.boxes.box ()
-
Need a way to close a box incase you accidentally open it which is likely to happen for new users
-
CSS Basic for debug 30 mins / 4 hrs
-
Fix overtime line
-
Generic Time handling utils
-
Box tab - Collapsed tab allows, Provides an over view but is made to be dragged and dropped
-
Sort timeline by hour rather than order
-
Separate timeline day
-
Adding two items of 1.5 + 2hrs limits the total number of boxes but too much ?
-
Add Box duration options need to implement sanitization
-
BUG [x] Adding item and end then begging increases the number of slots
-
BUG [x] Adding an item thats start is beyond the end of the day seemingly box is not created but removed
-
Adjust start times on delete of all replaced
-
Height of box is based on duration
-
100% height divided by 16 ?
-
refactor time-utils to generic function taking format as param
-
Apply a height as duration
-
-
- Generic single add box instead of initializing a whole array
-
- [x] hello msg - [x] Delete with 2 step confirm
-
- Removing item must add a placeholder
- BUG [x] Resets times to 00:00 on remove first item ?
-
- 2fa
- Delete ACC
- Delete acc 2 step
- Forgot password
- Logout needs t refresh home page to demo
- Confirmed password
- Refresh form reset.form() on auth form switch
- Confirmed password nicer feedback ux
- Container cmp for box to avoid nesting
-
- [x] Branch of timeline-ui bootstrap - Design Elements - [x] Box Card group with a shadow - [x] Empty Box card - [x] icons x4 - [x] Weekly ? or Alternative design for select day ? ulitmately - [x] empty boxes (Removal of outline on ) - [x] Update Funcionality - Popup sticky modal for editing ? - [x] new branch of timeline-ui - [x] Daily Timeline wrapper ? Shorten - [x] Design Route for static dev switch - [x] Mix Setup - [x] Scss mix live integration test - [x] 7 - 1 styleheet
-
bs implementation
-
list group
-
Step 1: User research. Todo lists / Calendars / Jira /
-
Step 3: Wireframing.
-
-
[] 15 / Placeholders mins
-
-
- Can i use something thats not index.html for seo results ?
- Do a static blade template for about
- [] Sync Server
- Make dummy data more fun or relatable
- Feedback generic warning or freeze certain controls ?
- or better yet fix more bugs sigh
- BUG [x] id in demo
- BUG [x] Update / Destroy methods expecting different types proxy
-
- Success
- Error
- Warning
-
-
[] Unit
-
[] Feature
-
[] Integration
Mocks:
- [] Select day -> returns 16 boxes
- [] Add a box -> returns updated box
- Add box [duration] -> 90 mins 13 boxes
- [] Update duration removes placeholders of next neighbour boxes
- [] Drag and drop updates start time
- [] Drag and drop does not add or remove boxes
- Your requirements could not be resolved to an installable set of packages.
- To enable extensions, verify that they are enabled in your .ini files:
- Enable fileinfo
- To enable extensions, verify that they are enabled in your .ini files:
- peer vite@"^3.0.0" from @vitejs/plugin-react@2.2.0 - npm install vite@3
- Multiple boxes rendering after login
- Needed to reset last removed from state
- There is a strictmode fix !! see original logrocket blog
Adding Drag and Drop Functionality with React Beautiful DND
- Core Concept
- 2.0 Features
- Demo Web
- User funcionality and full launch
- [] Testing and user feedback