Giter VIP home page Giter VIP logo

cv-frontend-vue's Introduction

The CircuitVerse logo

Financial Contributors on Open Collective CircleCI Status Coveralls Coverage Status

CircuitVerse is a free, open-source platform which allows users to construct digital logic circuits online. We also offer the Interactive Book which teaches users on the fundamentals of modern, digital circuits. Please also see our documentation or GitHub Wiki.

Community

We would love to hear from you! We communicate on Slack:

Slack

Code of Conduct

We follow the Code of Conduct of the CircuitVerse Community.

Setup

See SETUP.md for more information on setting up CircuitVerse.

Contributing

See CONTRIBUTING.md for more information on contributing to CircuitVerse.

License

This project is licensed under the MIT License.

cv-frontend-vue's People

Contributors

abstrekt avatar ahmedibrahim404 avatar arnabdaz avatar aryanndwi123 avatar darshan808 avatar dependabot[bot] avatar devartstar avatar dhairyamajmudar avatar disha1202 avatar gr455 avatar imgbot[bot] avatar itshamdysalem avatar joshvarga avatar kr-2003 avatar niladrix719 avatar palaksharma23 avatar palashb01 avatar pankaj-2503 avatar pavanjoshi914 avatar prerna-0202 avatar pulkit-30 avatar rajveer07 avatar sarthaknegigit avatar shreyashrpawar avatar tachyons avatar tintin9999 avatar verovillar avatar wallento avatar yarlord avatar zhongy1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cv-frontend-vue's Issues

Vue Component: Navbar - GSoC'22

Navbar was implemented in project in PR#4

Improvements required are -

  • Convert Options API to Composition API
  • Internationalization
  • Fix CSS refactoring

Proposal to add generic workflow

With the popularity of Circuitverse simulator and its features, I personally believe an upsurge in the number of contributors and increasing changes. I propose to add a contributor's workflow.

Contributor's workflow

  • Issue template: To generalize issue and parameters a contributor needs to add while creating an issue
  • Bug Report: To generalize bug reporting and parameters a contributor needs to add while reporting a bug
  • Pull Request template: To generalize PRs and parameters a contributor needs to add while sending a PR

@devartstar @tachyons @abstrekt what do you think about this, it could be a great change to standardize the project and workflow, should I start working on this ?

Pop-up does not close when clicking on the close button after clicking 'Report an Issue' button on home page

Describe the bug

When clicking on the close button in the pop-up that appears after clicking the "Report an Issue" button on the home page, the pop-up does not close.

To Reproduce

Steps to reproduce the behavior:

  1. Go to the home page.
  2. Click on the "Report an Issue" button in the bottom right corner.
  3. Wait for the pop-up to appear.
  4. Click on the close button in the top right corner of the pop-up.
  5. Notice that the pop-up does not close

Expected behavior

When clicking on the close button in the pop-up, it should close and disappear from the screen.

Video :

Screen.Recording.2023-03-03.at.2.53.57.PM.mov

Are you working on this issue? (Yes/No)

Yes

404 Error on Non-Root Vue Router Pages Hosted on Netlify

Is your feature request related to a problem? Please describe.

I have discovered an issue on a GitHub organization's repository. The issue pertains to a link provided on the repository, which allows contributors to explore their projects. However, upon refreshing the page, users receive a 404 error. This issue arises because the project uses Vue Router and is hosted on Netlify.

Specifically, Vue Router handles routing on the client-side (browser), and when a non-root page is visited (e.g., https://yoursite.netlify.com/login), Netlify (server-side) cannot handle the route. This results in a 404 error, which can be confusing and frustrating for users.

Describe the solution you'd like

To fix the issue with the 404 error on non-root Vue Router pages hosted on Netlify, we can use Netlify's _redirects file. This file allows Netlify to handle URLs that are not handled on the client-side.

To create the _redirects file, go to the public folder of your app and create a file named _redirects. Then, add the following line of code to the file:

/* /index.html 200

This code redirects all requests to the root of your site, which allows Vue Router to handle the routing correctly. With this fix, users should no longer receive 404 errors when refreshing non-root pages on your site.

Additional context

Screen.Recording.2023-03-01.at.12.18.57.PM.mp4

Are you working on this? (Yes/No)

Yes, I Have fixed The Issue if You think this is an issue, can I make a PR for the same?

Panning effect of canvas not working

Describe the bug
On panning (press and drag) the circuit elements(simulationArea) moves but the canvas grids(backgroundArea) does not move.

To Reproduce
Steps to reproduce the behaviour:

Screen.Recording.2023-02-28.at.5.16.32.AM.mov

Add a search functionality to Custom keyboard shortcuts section

Is your feature request related to a problem? Please describe.

  • It would be much easier to search for a certain shortcut if a user wants to alter or view one than to scroll all the way to the bottom.

Describe the solution you'd like

  • Add a search area and a button to filter out the shortcut.

Additional context
ScreenShot:
Screenshot from 2023-01-05 07-23-04

Are you working on this? (Yes/No)
YES

Replace setInterval for checking of switching of tabs

Since the properties panel content depends upon the tab/circuit selected.
We check for the switching of tabs every 0.1s.
In ProjectProperty.vue file

// checking if circuit or tab is switched
    setInterval(() => {
        if (circuitId.value != globalScope.id) {
            circuitName.value = globalScope.name
            circuitId.value = globalScope.id
        }
    }, 100)

Aim -
Need to replace setInterval with some better implementation.

Vue Component: Tabsbar - GSoC'22

Things to work upon -

  • Creating tabsbar component.
  • Replace DOM manupulation using string with Vue logic
  • Fixing the change in circuitName in Properties Panel on switching between tabs.
  • Sorting of tabs by dragging.
  • CSS Refactoring.

Integration Simulator code from CircuitVerse Repository - GSoC'22

After having the Vue Project Set up

The next step is:-

  • Importing the simulator code from the CircuitVerse repository and fixing the bugs.

  • Importing the styles for the simulator and configuring them to work properly.

  • Removing the backend logic from simulator HTML and will be imported in a dummy Vue component.

  • Refactoring of the simulator(dummy Vue component) into several smaller components will be done later.

  • Adding necessary dependencies for the simulator to work. (some will be removed later)

Aim:

All the core functionalities of the simulator should be working in the end.

Edit icon on hover in Custom Shortcuts

Describe the bug
Hovering on custom shortcut must show an edit(pencil) icon.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Navbar -> Tools
  2. Click on Custom Shortcut
  3. Hover on any of them
  4. Compare with www.circuitverse.org

Screenshots
Screenshot 2023-01-07 at 5 32 51 PM

Device Information [optional]:

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Are you working on this issue? (Yes/No)
No

bug(ui): Quick-Button is overlapping the Navigation bar

Describe the bug
Quick-Button is overlapping the Navigation bar

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'https://circuitverse.netlify.app/simulator'
  2. Decrease the screen to enable the hamburger icon
  3. Click on 'hamburger icon'
  4. See error 'The quick button is overlapping'

Expected behavior
The Quick-button should not overlap the Navigation bar

Screenshots

Screenshot from 2023-02-01 15-39-09

  • OS: [Ubuntu 22]
  • Browser [chrome]
  • Version [v22]

Are you working on this issue? (Yes/No)
Yes

Navbar is not responsive in the simulator section.

Describe the bug
Navbar hide behind Properties and Circuit Elements panel when screen size is 996 x 948 or less than this.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://circuitverse.org/
  2. Click on "Simulator" on the navbar
  3. Inspect the page and change the screen size to 996 x 948.
  4. Click on the navbar-toggler-icon
  5. See error

Current behavior

Screenshot from 2023-03-04 01-44-39

Expected behavior

Screenshot from 2023-03-04 01-38-42

Device Information:

  • Fedora
  • Firefox

Are you working on this issue? (Yes/No)

Add: Mini map in the canvas.

  • Implement a mini map

Currently there is no (mini map/ small preview) of the canvas.

Demo:

circuitverse_issue

Are you working on this? (Yes/No)
NO

Extra Underline in Sign in button

Describe the bug
The Sign in button in the navbar have 2 underlines when hovered

Expected behavior
Sign in button should have only one underline when hovered

Screenshots
I
BEFORE-CIRUITVERS

Device Information [optional]:

  • OS: Windows 10
  • Browser : Chrome

Additional context
Add any other context about the problem here.

**Are you working on this issue? Yes

[BUG] fix context menu unusable options

Describe the bug
when context menu is opened with no items are selected it shows the cut , copy , delete options which are of no use when no item is selected.

Screenshots
If applicable, add screenshots to help explain your problem.

image

To Reproduce
Steps to reproduce the behavior:

  1. open the vue simulator
  2. try opening the context menu by clicking right mouse button
  3. you would be able to see all the options on context menu

Expected behavior
The context menu should show only the options which can be used when it is opened. so the solution is removal of unusable options when context menu is opened.

image

Device Information [optional]:

  • OS: Any
  • Browser Any
  • Version Web

Additional context
Add any other context about the problem here.

Are you working on this issue? (Yes)

Error while creating a new circuit after deleting

Describe the bug
when we try to add a new circuit after deleting any circuit from the delete circuit button then it show error as displayed below.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'circuitverse simulator'
  2. Click on 'plus icon to generate some new circuit and create some circuit'.
  3. Then go to any circuit and delete it using delete circuit button .
  4. Then using plus icon try to add some new circuit in it .
  5. See error

Screenshots
ezgif com-gif-maker

Are you working on this issue? No

Drop JQuery dependency

Though we removed jquery ui, we still have jquery in our codebase. which need to be removed and use native DOM methods

Creating a new circuit after deleting a circuit from `delete Circuit` button causes an error.

Describe the bug

  • If a circuit is deleted by clicking the delete circuit button in the properties panel, an error warning appears when attempting to create a new circuit.

Demo:
circuitverse_bug

Expected behavior

  • the delete button should give a warning, if there is only one circuit.
  • Creation of a new circuit should work properly without giving errors.

Device Information [optional]:

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Are you working on this issue? (Yes/No)
NO

Add: Notes panel in the simulator.

Is your feature request related to a problem? Please describe.

  • If a user/student is using simulator for explaining something or learning they might want to add some notes while working on the simulator, this will increase the user experience and a feature that would help the teachers/ students a lot.

Describe the solution you'd like

  • A panel below the circuit-elements panel having a text-area to add a note.
  • store the note in the localstorage.

Are you working on this? (Yes/No)
YES

cc: @devartstar @tachyons Should I add some more functionality to this ?

Add context menu and hex-bin-dec converter i18n support

Is your feature request related to a problem? Please describe.
currently context menu options and hex-bin-dec converter modal only available in english

Describe the solution you'd like
configure them with i18n support

Additional context
Screenshot from 2023-03-08 21-54-11
image

Are you working on this? (Yes)

fix: panels and dropdowns overlap.

  • Panels and dropdowns overlap which causes dropdowns to hide behind the panels.
  • Inconsistency in the dropdown and the panels.

Demo Video:

circuitverse_new_issue.mp4

Are you working on this Issue ? (YES/NO)
YES

Vue Component : Properties Panel - GSoC'22

Replace the properties panel done by DOM manupulation using string to a Vue Component.

Tasks to be done :-

  • Seperate the Properties panel into its own component.
  • Move the logic from showProperties() function inside Vue component to display the panel accordingly.
  • There are 3 types of Properties Panel Body
  • 1. Properties of elements in Layout Mode
  • 2. Properties Panel showing Project Properties
  • 3. Properties Panel showing Circiut Element Properties
  • Link each of the options in the properties panel to their functionality
  • Refactoring of CSS

circuit element section is hideen

the last element of the circuit element section is hidden when we click on each element one after the other

To Reproduce
Steps to reproduce the behavior:

  1. Go to circuitverse.netlify.app/](https://circuitverse.netlify.app/
  2. Click on each element of the ELEMENT SECTION
  3. you'll be unable to see properly the content of the last element
    here is the video for understanding the bug clearly

Expected behavior
the last element should be visible for that we have to add scroll behavior

Device Information [optional]:

  • Browser -chrome
    -w8
j7XtyD1wxS.mp4
SZWcVS30YB.mp4

Are you working on this issue? (Yes/No)
yes

Add Bengali language translation i18n

Is your feature request related to a problem? Please describe.
Currently there is only English and Hindi version of i18n available for the simulator

Describe the solution you'd like
Also add support for Bengali with i18n

Describe alternatives you've considered
Suggestions are welcome

Additional context
image

Are you working on this? (Yes)

Toggling in and out of Preview Mode

Describe the bug
Currently on going to Preview mode, the quick button does not disappear and the Exit Preview button does not appear.
To exit you can use Esc button.

To Reproduce
Steps to reproduce the behaviour:

Image

Creating New Circuit dialog box - default name should be selected

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to tabsbar
  2. Click on + icon
  3. New Circuit Dialog Box appears
  4. instead of placeholder -> default circuit name should be selected

Expected behavior
compare with circuitverse site

Screenshots

Screen.Recording.2023-01-07.at.6.21.53.PM.mov

Device Information [optional]:

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Are you working on this issue? (Yes/No)
No

Hex-bin-dec convertor not working

Describe the bug
the hex bin dec convertor is not working when we try to add input in the hex , octal and binary coded decimal field

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'circuitverse website'
  2. Click on 'tools'
  3. Scroll down to 'hex bin dec convertor'
  4. See error

Screenshots
ezgif com-gif-maker (1)

Are you working on this issue? (Yes/No) Yes

Draggability of Panels

Is your feature request related to a problem? Please describe.
The Panels -

  • Circuit Elements
  • Properties Panel
  • Timing Diagram
  • Quick Panel
  • Testbench
    should be draggable across the canvas.
    Check out the current simulator to check the drag functionality.

Describe the solution you'd like
Research different libraries available, compare them and find the most suitable one.
Discuss in Slack before starting to implement it.

Are you working on this? (Yes/No)
No

Vue Component: Dialog-Boxes - GSoC'22

  • CombinationalAnalysis Dialog
  • Hex-Bin-Dec Converter Dialog
  • SaveImage Dialog
  • Theme Dialog
  • CustomShortcut Dialog
  • InsertSubcircuit Dialog
  • ExportVerilog Dialog
  • Save/Open Project Dialog

Vue Component : Circuit Element Panel - GSoC'22

Changes to be made:-

  • Convert jQuery UI accordion to Vuetify component and fix styles.
  • Remove repeated DOM manipulation with strings for displaying panel icons.
  • Move the logic for searching of circuit elements to inside the panel-component.
  • Refactor CSS for the Elements Panel.

Setting up the Project - GSoC'22

Creating a new Vue project with TypeScript using Vite.

Adding the following dependencies:-

  • Vuetify
  • Vue Router
  • Pinia (State Management)
  • Vue i18n
  • ES Lint + Preetier (Code Linting & Fomatting)

Some more dependencies need to be added temporarily (while including the simulator code from the main repository)
But those will be removed in the end.

Consistency in new circuit dialog Box

Describe the bug

  • There are two different options to create a new circuit.
1. Click on the plus sign present inside the tabs bar.
2. Click on the new circuit present inside the drop-down of circuit.
  • Both the methods do the same thing, however, they have different kind of prompts/ dialogBox.

Expected behavior

  • Both techniques should use the same dialogBox to keep the UI consistent.

Screenshots

Difference:
Screenshot from 2023-01-11 05-13-51

Screenshot from 2023-01-11 05-14-04

Expected:

Screenshot from 2023-01-11 05-13-51

Device Information [optional]:

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Are you working on this issue? (Yes/No)
YES

Using / for division outside of calc() is deprecated

Describe the bug
This is a bug while development.
Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.

To Reproduce
Steps to reproduce the behavior:

  1. Setup the project on your local machine.
  2. Run npm install and then npm run dev.
  3. You can see following deprecation warnings.
  4. Screenshots

Screenshot 2023-03-06 at 9 38 15 PM

Screenshot 2023-03-06 at 9 38 37 PM

Expected behavior
No deprecation warnings.

Device Information [optional]:

  • OS: MacOS
  • Editor: VSCode

Are you working on this issue? (Yes)

Add the helplink for Image Annotation

Is your feature request related to a problem?
The docs for Image Annotation are present in the circuitVerse docs but its helplinks are not available in the simulator.

Describe the solution you'd like
Like other Elements, we need to add the helplink for the Image Annotation.

As we can see the help button in properties section
Screenshot (1331)

The help link button is not present in Image Annotation.
Screenshot (1329)

Are you working on this? (Yes/No)
yes

`eslint-plugin-vue` plugin doesn't support typescript

Describe the bug
ESLint plugin for Vue.js that this project is currently using doesn't support Typescript.

To Reproduce
Steps to reproduce the behavior:
Convert any existing .js file to .ts. Try adding type declarations to see the error.
Something like this: Parsing error: Unexpected token : in function parameter ts

Expected behavior
The ESLint should have been able to parse both JS and TS.

Device Information [optional]:

  • OS: Ubuntu 22.04
  • Browser: Firefox
  • Version: 110

Additional context
Replacing eslint-plugin-vue with vue-eslint-parser would solve this issue.

Current plugin to be replaced: https://www.npmjs.com/package/eslint-plugin-vue
Plugin I intend to add: https://www.npmjs.com/package/vue-eslint-parser

Are you working on this issue? (Yes/No)
Yes

tabsbar section is behaving not optimal when we add multiple tabs

Describe the bug
tabs are behaving not optimal , it should overflow and scroll when we add multiple tabs but it makes a new column

To Reproduce
Steps to reproduce the behavior:

  1. Go to '/simulator'
  2. Add multiple tabs (around 8-10)
  3. See error

Expected behavior

Recording.2023-03-14.224130.mp4

Current behavior

Recording.2023-03-14.225213.mp4
  • Browser [e.g. chrome, firefox]

Are you working on this issue? (Yes/No)

Yes

Exit preview button not working

Describe the bug
The exit full preview button is not working.

Expected behavior
on clicking the full-screen btn quick panel should be hidden and an exit full preview button needs to be shown.

Screenshots
ezgif com-gif-maker

Device Information [optional]:

  • OS: [Windows]
  • Browser [Brave]
  • Version [e.g. 22]

Are you working on this issue? Yes

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.