Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use reactive store to share data between components #23996

Merged
merged 7 commits into from
Apr 12, 2023

Conversation

wxiaoguang
Copy link
Contributor

@wxiaoguang wxiaoguang commented Apr 8, 2023

Follow #23947

  • Use reactive store to share data between components
  • Remove no-op this.hashListener = window.addEventListener() because addEventListener returns void/undefined.

Reference:

https://vuejs.org/guide/scaling-up/state-management.html#simple-state-management-with-reactivity-api

Screenshot (the same as before):

image

@silverwind silverwind added the type/refactoring Existing code has been cleaned up. There should be no new functionality. label Apr 8, 2023
@silverwind silverwind added this to the 1.20.0 milestone Apr 8, 2023
@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Apr 8, 2023
@silverwind
Copy link
Member

silverwind commented Apr 8, 2023

Maybe pinia should be considered. See Vue docs for reasoning. API seems somewhat similar to zustand, so that is a plus for me.

It is 7 times bigger than zustand, so I'm a bit sceptical whether it is bloated:

Edit: See my question.

@wxiaoguang
Copy link
Contributor Author

According to https://vuejs.org/guide/scaling-up/state-management.html#simple-state-management-with-reactivity-api , our case is a simple state management, no need to make it that complex IMO

Especially we are not making Gitea a SPA, HMR doesn't make sense.

@silverwind
Copy link
Member

silverwind commented Apr 8, 2023

HMR aka Fast Refresh could be made to work I think with a dev server, it does not require a full SPA. I find it very pleasant to develop without constant F5 after every change 😉.

@silverwind
Copy link
Member

Tend to agree we should not go overboard with pinia just yet. Maybe there are more lightweight solutions around, this will suffice as a start.

@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Apr 11, 2023
@wxiaoguang
Copy link
Contributor Author

I'll refactor to my proposed layout later.

Let's wait for @silverwind 😄

@silverwind
Copy link
Member

Store moved to modules/stores.js. Please test that it still does what it should.

@codecov-commenter

This comment was marked as off-topic.

@wxiaoguang
Copy link
Contributor Author

OK, let's move on and merge

@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Apr 11, 2023
@silverwind silverwind added reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. and removed lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. labels Apr 11, 2023
@GiteaBot GiteaBot added the lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. label Apr 11, 2023
@silverwind silverwind enabled auto-merge (squash) April 11, 2023 17:18
@silverwind silverwind merged commit 6892e2b into go-gitea:main Apr 12, 2023
@GiteaBot GiteaBot removed the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Apr 12, 2023
@wxiaoguang wxiaoguang deleted the improve-selected-file branch April 12, 2023 02:41
zjjhot added a commit to zjjhot/gitea that referenced this pull request Apr 12, 2023
* upstream/main:
  Add popup to hashed comments/pull requests/issues in file editing/adding preview tab (go-gitea#24040)
  Use reactive store to share data between components (go-gitea#23996)
  [skip ci] Updated translations via Crowdin
  Fix accidental overwriting of LDAP team memberships (go-gitea#24050)
  Add cardtype to org/user level project on creation, edit and view (go-gitea#24043)
  Fix branch protection priority (go-gitea#24045)
  Update documentation to explain which projects allow Gitea to host static pages (go-gitea#23993)
  Fix date  display bug (go-gitea#24047)
  Fine tune markdown editor toolbar (go-gitea#24046)
  Add tooltips for MD editor buttons and add `muted` class for buttons (go-gitea#23896)
  Prefer native parser for SSH public key parsing (go-gitea#23798)
@wxiaoguang wxiaoguang added the skip-changelog This PR is irrelevant for the (next) changelog, for example bug fixes for unreleased features. label May 2, 2023
@go-gitea go-gitea locked as resolved and limited conversation to collaborators Aug 1, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. skip-changelog This PR is irrelevant for the (next) changelog, for example bug fixes for unreleased features. type/refactoring Existing code has been cleaned up. There should be no new functionality.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants