Skip to content
This repository has been archived by the owner on May 20, 2024. It is now read-only.

Person to person sharing #1799

Merged
merged 90 commits into from
Nov 26, 2019
Merged

Person to person sharing #1799

merged 90 commits into from
Nov 26, 2019

Conversation

nicksellen
Copy link
Member

Closes #672

What does this PR do?

Initial work to add person to person sharing (aka food baskets).

Using the sketch in https://community.foodsaving.world/t/sharing-feature/281 for the basis for design.

At the moment this is just a design exploration, and early play around with it. Not sure about naming, etc...

Links to related issues

Checklist

  • added a test, or explain why one is not needed/possible...
  • no unrelated changes
  • asked someone for a code review
  • joined #karrot-dev channel at https://slackin.yunity.org
  • added an entry to CHANGELOG.md (description, pull request link, username(s))

@codecov
Copy link

codecov bot commented Oct 14, 2019

Codecov Report

Merging #1799 into master will decrease coverage by 1.84%.
The diff coverage is 13.41%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1799      +/-   ##
==========================================
- Coverage   60.41%   58.57%   -1.85%     
==========================================
  Files         269      273       +4     
  Lines        5563     5786     +223     
  Branches      901      941      +40     
==========================================
+ Hits         3361     3389      +28     
- Misses       2201     2396     +195     
  Partials        1        1
Impacted Files Coverage Δ
src/messages/components/ChatConversation.vue 63.73% <ø> (-0.4%) ⬇️
src/messages/components/LatestMessageItem.vue 100% <ø> (ø) ⬆️
test/enrichedFactories.js 100% <ø> (ø) ⬆️
src/messages/api/conversations.js 0% <ø> (ø) ⬆️
test/mockdata.js 100% <ø> (ø) ⬆️
src/group/pages/Settings.vue 100% <ø> (ø) ⬆️
src/base/datastore.js 100% <ø> (ø) ⬆️
src/messages/components/LatestConversations.vue 20% <0%> (-1.74%) ⬇️
src/utils/utils.js 79.16% <0%> (-11.31%) ⬇️
src/messages/datastore/conversations.js 27.09% <0%> (-0.9%) ⬇️
... and 20 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3dab4a5...b723e70. Read the comment docs.

@nicksellen
Copy link
Member Author

This now requires the backend part to work properly karrot-dev/karrot-backend#855

Copy link
Member Author

@nicksellen nicksellen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please change the commented items!

src/base/datastore/routerPlugin.js Outdated Show resolved Hide resolved
src/base/datastore/routerPlugin.js Outdated Show resolved Hide resolved
src/base/socket.js Outdated Show resolved Hide resolved
src/group/components/GroupSettings.vue Outdated Show resolved Hide resolved
src/messages/components/LatestConversations.vue Outdated Show resolved Hide resolved
src/offers/components/MultiCroppa.vue Outdated Show resolved Hide resolved
src/offers/components/OfferDetailBody.vue Outdated Show resolved Hide resolved
src/offers/components/OfferDetailHeader.vue Outdated Show resolved Hide resolved
src/offers/components/OfferForm.vue Outdated Show resolved Hide resolved
src/offers/components/OfferForm.vue Show resolved Hide resolved
@tiltec tiltec marked this pull request as ready for review November 26, 2019 17:14
Copy link
Member

@tiltec tiltec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work!

@tiltec tiltec merged commit 0a4a890 into master Nov 26, 2019
@tiltec tiltec deleted the sharing branch November 26, 2019 17:19
@tiltec tiltec mentioned this pull request Nov 26, 2019
9 tasks
tiltec pushed a commit that referenced this pull request May 9, 2020
* Initial work to add person-to-person sharing

* A few sharing item UI refinements

* Initial new sharing form with multiple upload

* Add a grey box...

* Remove redundant check

* Rename sharing to offers

* Add a mock chat to offer detail UI

* Create mobile version of offer detail UI

* Tidy up multiple image editing

* A bit more polish on the offer UI

Some translations, icon, breadcrumb, etc...

* Snapshot update

* Add create offer breadcrumb title

* Rename a few offer related things for consistency

* Offer image carousel, multi upload, various bits

* Refine image upload/remove/re-position

* Add websocket listeners for offer changes

* Wireup offer conversation

* Basic features to allow to accept/archive offers

* Remove uneeded demo data

* Move selected offer data/logic to own store module

* Preserve offer filter in more places

The create/save filter preservation does not work actually
as we clear the store contents on route change.

* Remove status from offer form

Status change is now done via explicit actions/buttons

* Use address autocomplete (#1878)

* Use address autocomplete

As it used to be.
Also defaults place edit map to be group centre if available.

* Remove uneeded extra wrapped div

* Update setup for storyshots testing

"sync: false" seems to be the new way it goes and will be the default
in the future, see vuejs/vue-test-utils#1137

The transition group stubs seem to be there by default now too, I think..
Anyway it works where it did no tbefore :)

Also see vuejs/vue-test-utils#1163

* Add @types/jest - for editor support

See https://blog.jetbrains.com/webstorm/2018/10/testing-with-jest-in-webstorm/

* Increase test wait

Not really sure why this changed, but don't want to think about
it for now...

* Add text to translation file

* Use the spelling of the enemy

* Simplify template logic

* Ffix multicroppa

* Further refine offer editing, esp MultiCroppa

* Use gift as offers menu item

* Remove offer upload progress logging

* Nicer create offer button

* Clear offerDetail on route leave

* Add offer list loading indicator

* Add offer body loading indicator

* Add loading spinner when fetching offer for edit

* Correctly wire up offer form reset events

* Only show offer accept/archive buttons if active

* Handle updating offers after save/websocket better

* Cleaner mobile form view

* Only show carousel if >1 image

* Fix offer header when name is very long

* Fix offer detail image display when only 1

* Fix overflowing text on group offers page

* White background offer description

* Snapshot update

* Don't try and be fancy with updating users

* Fix style style

* Hide offers if group does not have the feature

* Check route features in after route hook

* Actually filter offers by current group

* Add offers covert function to convert createdAt

* Display offer information in latest messages

I did it a slightly different way, by adding related offers
into the latestMessages state...

* Keep related offers up to date via websocket

It's a bit overkeen actually as most users won't be in the
conversations for the offers, so we don't need to update the
related item... should really check we need it first

* Import default offer status from store

* Use current route query instead of getter

* Use + for new offer button

* Allow setting new_offer notification types

* Show offer status if not active

Although it's a bit ugly

* Change notification type spinner

* Add group.features to test mocks

* Wrap settings forms in FormContainer

* Rename to KFormContainer and move to base

* Add confirm step to accept/archive offer buttons

* Use photo icon for offer image placeholder

* Add offer as a "fake" empty result

* Filter offers by status and sort by createdAt desc

... entries can get added via websockets that might not fit
the filter, and might need reordering

* Refine group offer cards

- use QImg instead of lots of CSS
- use QItem inside for nicer layout

* Correct RouterLink casing

* Update test snapshots

* Please the pedantic linter

* Remove offer description helper

* Extract mapErrors to statusMixin

* Add accept/archive text into i18n

* Remove unneeded code

* Add offer filter status text to i18n

* Correct size for new offer button

* Remove one layer of div soup

* Put the group offer cards in proper links

* Remove commented out code

* Convert offer in websocket update

* Prefix functional getter with get

For getNotificationTypeStatus

* Preserve route query when clicking on offer conv

* Use icon service for latest messages offer item

* Move withoutKeys to utils

* Use invisible class instead of custom css

* Don't put const value in data

* Save disk space by compacting template

* Remove unneeded v-model

Was only used when I tried out quasar :rules

* Document MultiCroppa value prop a bit more

* Document the data that latestMesages/related has
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add person-to-person sharing ("food baskets")
2 participants