Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
193 commits
Select commit Hold shift + click to select a range
c8c736c
Setup nix project for Auth API
arsenez2006 Jun 18, 2025
b031795
Merge remote-tracking branch 'origin/dev' into api/auth
arsenez2006 Jun 19, 2025
d1ed7b2
Setup HTTP server and add Not Found handler
arsenez2006 Jun 19, 2025
b8e7fca
Connect to DB and implement password hasher
arsenez2006 Jun 26, 2025
e3c0932
Merge branch 'dev' into api/auth
arsenez2006 Jun 26, 2025
c7486ef
Add type handler for User
arsenez2006 Jun 27, 2025
5b19c28
Merge branch 'dev' into api/auth
arsenez2006 Jun 27, 2025
3df7fbd
Add auth to linting workflow
arsenez2006 Jun 27, 2025
5a3dc50
Automated formatting
github-actions[bot] Jun 27, 2025
a4c898a
Implement registration endpoint
arsenez2006 Jun 27, 2025
d1bb461
Automated formatting
github-actions[bot] Jun 27, 2025
a397b8f
Merge branch 'dev' into api/auth
arsenez2006 Jun 27, 2025
1119ec1
Handle unique username and email constrainsts
arsenez2006 Jun 28, 2025
b64dd06
Automated formatting
github-actions[bot] Jun 28, 2025
4e94ac7
Handle ContentType, JSON, and logic exceptions
arsenez2006 Jun 28, 2025
6c28a88
Automated formatting
github-actions[bot] Jun 28, 2025
5886583
Implement POST /api/login
arsenez2006 Jun 29, 2025
b0ac404
Automated formatting
github-actions[bot] Jun 29, 2025
a433936
Fix poco postgre module in nix
arsenez2006 Jun 30, 2025
3a9758f
Remove unnecessary includes
arsenez2006 Jun 30, 2025
ded977b
Add methods for verifying tokens
arsenez2006 Jun 30, 2025
38e23b2
Automated formatting
github-actions[bot] Jun 30, 2025
c912405
start of login page
witch2256 Jul 2, 2025
d25633c
Automated formatting
github-actions[bot] Jul 2, 2025
2287b70
Merge branch 'dev' into authFrontend
witch2256 Jul 2, 2025
cb985f2
Implement POST /api/auth/verify
arsenez2006 Jul 2, 2025
57a5a99
Automated formatting
github-actions[bot] Jul 2, 2025
ce2dba5
Merge branch 'dev' into api/auth
arsenez2006 Jul 2, 2025
cff6ec1
Implement POST /api/auth/refresh
arsenez2006 Jul 3, 2025
976342c
Automated formatting
github-actions[bot] Jul 3, 2025
a18179c
Login page(not ready yet)
witch2256 Jul 6, 2025
7e509d4
try to fix colors(not ready)
witch2256 Jul 9, 2025
047c24c
try to fix colors(not ready)
witch2256 Jul 9, 2025
ea4ea4b
Merge remote-tracking branch 'origin/authFrontend' into authFrontend
witch2256 Jul 9, 2025
15869b1
here is cringe after merge, i do not know why and try to fix it
witch2256 Jul 9, 2025
2dd9ff2
Merge branch 'main' into authFrontend
witch2256 Jul 9, 2025
2cfd018
all fixed and working correct now
witch2256 Jul 9, 2025
c9bf1d4
Add temporary solution for blacklisting tokens
arsenez2006 Jul 9, 2025
e31d670
Automated formatting
github-actions[bot] Jul 9, 2025
4a7695c
Create Dockerfile for auth microservice
arsenez2006 Jul 9, 2025
b585682
Log in page modification
witch2256 Jul 11, 2025
cc9cf81
register page added
witch2256 Jul 11, 2025
faa6962
changes in color of input window and its text
witch2256 Jul 11, 2025
1a33ad6
placeholder added
witch2256 Jul 11, 2025
b8bc55e
Merge branch 'dev' into authFrontend
witch2256 Jul 11, 2025
c83f56c
merge with dev and fixed button issue
witch2256 Jul 11, 2025
fa1282f
Automated formatting
github-actions[bot] Jul 11, 2025
044500d
Add mongodb database
Doshqq Jul 11, 2025
1c7e0f6
Add auth test service, unit test on register
Doshqq Jul 12, 2025
65bcda9
Add register, login functionality. Add multiple unit tests
Doshqq Jul 12, 2025
2a08390
Fix login
Doshqq Jul 12, 2025
99e6732
Intermediate stage
Doshqq Jul 13, 2025
a718f3e
Both transports using now
Doshqq Jul 13, 2025
d5d12fe
added messages if sth wrong typed in input fields
witch2256 Jul 14, 2025
cb08887
It is forbidden to enter/register if not all or incorrect data is spe…
witch2256 Jul 14, 2025
fd3263c
Automated formatting
github-actions[bot] Jul 14, 2025
0930f8f
Log in button on editor fixed
witch2256 Jul 14, 2025
814ff04
Merge remote-tracking branch 'origin/authFrontend' into authFrontend
witch2256 Jul 14, 2025
e12c68b
Add /auth/verify handler for token verification
Doshqq Jul 15, 2025
2b705a3
test
kostya2505 Jul 15, 2025
9f91fc8
logic gates hitbox fix
kostya2505 Jul 15, 2025
ee8599f
Automated formatting
github-actions[bot] Jul 15, 2025
a78018d
logic gates hitbox fixed, rotation fixed
kostya2505 Jul 15, 2025
f975ba0
Merge remote-tracking branch 'origin/fixes' into fixes
kostya2505 Jul 15, 2025
620c2f9
kostya switch added
kostya2505 Jul 15, 2025
945b32e
pasteElements tests updated
kostya2505 Jul 15, 2025
9990628
Automated formatting
github-actions[bot] Jul 15, 2025
74db37b
Intermediate stage
Doshqq Jul 16, 2025
112609f
Merge branch 'auth-demo' into api/profile
Doshqq Jul 16, 2025
e17e12f
context menu standardized
kostya2505 Jul 16, 2025
4cba14f
Merge branch 'dev' into api/auth
arsenez2006 Jul 16, 2025
c2f58ae
context menu position fixed, wire type color fixed
kostya2505 Jul 16, 2025
a5a6a9f
Fix docker caching and connect to postgres
arsenez2006 Jul 16, 2025
e03be23
Automated formatting
github-actions[bot] Jul 16, 2025
5a3eccd
Merge pull request #56 from IUMusicalFish19/api/auth
arsenez2006 Jul 16, 2025
43068b3
Add update handlers
Doshqq Jul 17, 2025
3ffd9e1
onPaneContextMenu introduced
kostya2505 Jul 17, 2025
4d52e21
disabled buttons color fixed
kostya2505 Jul 17, 2025
74d1621
Merge branch 'dev' into api/profile
Doshqq Jul 17, 2025
f350006
paste button in context menu works properly
kostya2505 Jul 17, 2025
fa366ed
cut button in context menu works properly
kostya2505 Jul 17, 2025
7fbb63a
context menu standardised: by clicking on node or edge called pane co…
kostya2505 Jul 17, 2025
e2a375c
name editor introduced
kostya2505 Jul 17, 2025
3251681
css variables names changed according to naming conventions
kostya2505 Jul 17, 2025
3d29186
Merge remote-tracking branch 'origin/authFrontend' into authFrontend
witch2256 Jul 17, 2025
46bfa3b
name saves correctly, history event created after name change
kostya2505 Jul 17, 2025
cfed4e3
Automated formatting
github-actions[bot] Jul 17, 2025
289f8da
calculateContextMenuPosition tests corrected
kostya2505 Jul 17, 2025
56ae6c8
tabs renaming corrected
kostya2505 Jul 17, 2025
23401a3
Automated formatting
github-actions[bot] Jul 17, 2025
0fd8d5b
tabs renaming only update the title now
kostya2505 Jul 17, 2025
595ce9c
Automated formatting
github-actions[bot] Jul 17, 2025
4b9a337
hotkeyHandler code simplified, tests updated
kostya2505 Jul 17, 2025
1ce3ed9
Integrated PostgreSQL, reformat get profile unit test
Doshqq Jul 17, 2025
47404fc
Add project handlers. Unit tests for creating, getting projects. Fixe…
Doshqq Jul 18, 2025
a1f98f0
getEditableNode tests introduced
kostya2505 Jul 18, 2025
19a0824
nodes spawn fixed
kostya2505 Jul 18, 2025
967820b
node icons moved up a little
kostya2505 Jul 18, 2025
ba93ee0
if title of the tab deleted, it returns to default state
kostya2505 Jul 18, 2025
c203c4b
Automated formatting
github-actions[bot] Jul 18, 2025
12b13df
handleNameChange tests introduced
kostya2505 Jul 18, 2025
5392ab5
name change menu closes after "enter" is pressed
kostya2505 Jul 18, 2025
260e52d
Automated formatting
github-actions[bot] Jul 18, 2025
e7f227c
custom blocks (very raw)
RII6 Jul 18, 2025
9230e54
name editor above backdrop show
kostya2505 Jul 19, 2025
4155ee8
Automated formatting
github-actions[bot] Jul 19, 2025
455e0fe
custom blocks (very raw)
RII6 Jul 19, 2025
004e654
Automated formatting
github-actions[bot] Jul 19, 2025
d7ecaa1
tooltip added
kostya2505 Jul 19, 2025
10de068
nodes spawn fixed
kostya2505 Jul 19, 2025
bbde092
Add all remain functionality, tested successfully by unit testing
Doshqq Jul 19, 2025
5db09dd
handlers get bigger when hovered, projection edge color fixed, led in…
kostya2505 Jul 19, 2025
530d0da
color of the hovered handlers changed
kostya2505 Jul 19, 2025
e549964
Automated formatting
github-actions[bot] Jul 19, 2025
e34a543
unit test fixed
kostya2505 Jul 19, 2025
ea0756f
Merge pull request #170 from IUMusicalFish19/fixes
kostya2505 Jul 19, 2025
98ec484
Create Dockerfile, requirements.txt. Add in docker-compose.yml. Fix a…
Doshqq Jul 19, 2025
40d5f52
Remove unused imports
Doshqq Jul 19, 2025
e6a5cf6
Merge branch 'dev' into custom-nodes
RII6 Jul 19, 2025
fdf2b52
Merge remote-tracking branch 'origin/custom-nodes' into custom-nodes
RII6 Jul 19, 2025
8e186fa
Merge branch 'dev' into api/profile
Doshqq Jul 19, 2025
88a26c1
Add explicit rule for files with an extension
arsenez2006 Jul 19, 2025
788f299
Merge pull request #173 from IUMusicalFish19/nginx-404
arsenez2006 Jul 19, 2025
0413a8d
Fix launching unit tests with Docker setup
Doshqq Jul 19, 2025
50a7b51
Merge pull request #172
Doshqq Jul 19, 2025
da5fa6b
Merge remote-tracking branch 'origin/dev' into custom-nodes
RII6 Jul 19, 2025
5564b79
creation of custom circuits moved to the context menu
kostya2505 Jul 19, 2025
1359d83
login and registration API connected with backend
witch2256 Jul 19, 2025
1d1dd01
Automated formatting
github-actions[bot] Jul 19, 2025
4187ec0
customBlockUtils tests introduced
kostya2505 Jul 19, 2025
f59170a
Fix profile deployment
arsenez2006 Jul 19, 2025
9e7ac20
Merge branch 'dev' into api/profile
arsenez2006 Jul 19, 2025
520d3ed
Merge pull request #174 from IUMusicalFish19/api/profile
arsenez2006 Jul 19, 2025
980464d
button name changed
kostya2505 Jul 19, 2025
1311992
Merge branch 'dev' into authFrontend
witch2256 Jul 19, 2025
59d22d8
шёл медведь по лесу, видит - машина горит. сел в неё и сгорел 💔
witch2256 Jul 19, 2025
bd2fe5f
Automated formatting
github-actions[bot] Jul 19, 2025
9b3c4c0
AuthFrontend pull request #175
witch2256 Jul 19, 2025
4df1ccf
creation of custom node require at least one input node and one outpu…
kostya2505 Jul 20, 2025
9a7dd51
new toolbar button added
kostya2505 Jul 20, 2025
55b5dc7
Fix postgres initdb order
arsenez2006 Jul 20, 2025
c6c7eb3
Merge pull request #176 from IUMusicalFish19/pginit-order
arsenez2006 Jul 20, 2025
b52ec19
Fix runner url
arsenez2006 Jul 20, 2025
6b351e2
Merge pull request #177 from IUMusicalFish19/arsenez2006-patch-1
arsenez2006 Jul 20, 2025
4999c07
Fix postgres health-check timer
arsenez2006 Jul 20, 2025
92d3b59
Merge pull request #178 from IUMusicalFish19/arsenez2006-patch-1
arsenez2006 Jul 20, 2025
7680c25
fixed issue with pages and renamed pages domains
witch2256 Jul 20, 2025
81b6f9a
Automated formatting
github-actions[bot] Jul 20, 2025
fdfb236
Merge pull request #179 from IUMusicalFish19/hotfixAUTH
witch2256 Jul 20, 2025
62f80c7
custom blocks can be created with toolbar button from the file
kostya2505 Jul 20, 2025
252c8df
logo retrieved
kostya2505 Jul 19, 2025
df6725e
successful build with logo
kostya2505 Jul 19, 2025
cad4309
try to fix login and registration(wrong link)
witch2256 Jul 20, 2025
ada4cbc
Merge pull request #180 from IUMusicalFish19/hotfixAUTH
witch2256 Jul 20, 2025
d87d345
try to fix login and registration(wrong link)v.2
witch2256 Jul 20, 2025
0ccf17f
Merge pull request #181 from IUMusicalFish19/hotfixAUTH
witch2256 Jul 20, 2025
57f8929
id generation performed properly
kostya2505 Jul 20, 2025
c037085
Automated formatting
github-actions[bot] Jul 20, 2025
cb44f16
custom node can be created from context menu
kostya2505 Jul 20, 2025
e972893
added contributors to readme
witch2256 Jul 20, 2025
c433e01
updated contributors to readme
witch2256 Jul 20, 2025
9fdba56
context for custom blocks
RII6 Jul 20, 2025
241619c
Automated formatting
github-actions[bot] Jul 20, 2025
2b9b124
Merge branch 'custome-nodes-improvements' into custom-nodes
kostya2505 Jul 20, 2025
bf5151c
inputs, outputs fix
kostya2505 Jul 20, 2025
a0db906
Automated formatting
github-actions[bot] Jul 20, 2025
0876a4f
frontend fix
kostya2505 Jul 20, 2025
25bfd69
logo retrieved
kostya2505 Jul 19, 2025
2c92c24
successful build with logo
kostya2505 Jul 19, 2025
725f284
Automated formatting
github-actions[bot] Jul 20, 2025
eeeac5d
transition-report.md added
witch2256 Jul 20, 2025
0083723
Merge pull request #182 from IUMusicalFish19/coldfix
kostya2505 Jul 20, 2025
95dda57
nodes automatically appear in circuits menu
kostya2505 Jul 20, 2025
f1ccf66
ai-usage.md added
witch2256 Jul 20, 2025
e98386d
Merge pull request #183 from IUMusicalFish19/readme
witch2256 Jul 20, 2025
253be21
custom nodes created
kostya2505 Jul 20, 2025
2d191e1
appearance of custom nodes fix
kostya2505 Jul 20, 2025
55d606f
Automated formatting
github-actions[bot] Jul 20, 2025
71437a0
text node introduced
kostya2505 Jul 19, 2025
c3e538a
circuits menu height fixed accordingly to custom nodes
kostya2505 Jul 20, 2025
54bfa04
Automated formatting
github-actions[bot] Jul 20, 2025
e050340
tests fixed
kostya2505 Jul 20, 2025
a4bbc30
Automated formatting
github-actions[bot] Jul 20, 2025
7df29bd
Merge branch 'dev' into custom-nodes
kostya2505 Jul 20, 2025
07e2367
Automated formatting
github-actions[bot] Jul 20, 2025
dde5cb9
text of login page changed
kostya2505 Jul 20, 2025
041e261
Merge remote-tracking branch 'origin/custom-nodes' into custom-nodes
kostya2505 Jul 20, 2025
6ed4e72
place of links fixed
kostya2505 Jul 20, 2025
3b82262
Merge pull request #184 from IUMusicalFish19/custom-nodes
kostya2505 Jul 20, 2025
879a7cd
fixed
Doshqq Jul 21, 2025
6098271
Merge pull request #186
Doshqq Jul 21, 2025
12b36cc
Fix frontend build
arsenez2006 Jul 22, 2025
f791484
Merge pull request #187 from IUMusicalFish19/arsenez2006-patch-1
arsenez2006 Jul 22, 2025
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
5 changes: 4 additions & 1 deletion .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@ jobs:
npx prettier UI --write
git add UI
git status

- name: Run formatter for Auth
run: |
find auth/src -iname '*.cpp' -or -iname '*.hpp' | xargs clang-format -i
git add auth/src

- name: Setup git user
run: |
Expand Down
22 changes: 22 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<a id="readme-top"></a>

[![Contributors][contributors-shield]][contributors-url]

### <div align="center"><img src="./docs/logo.png" width="200">
# <div align="center">Visual-Circuit-Designer<div>
Visual-Circuit-Designer is web-based platform that could provide students and learners good experience in designing circuits similar to the Block Diagrams (like on Computer Architecture), but without the need to install Quartus Prime or huge Virtual box image.
Expand Down Expand Up @@ -129,3 +133,21 @@ For those who want locally launch our project
- [Continuous Integration](./docs/automation/continuous-integration.md)
- [Continuous Deployment](./docs/automation/continuous-delivery.md)
- [Architecture](./docs/architecture/architecture.md) with Static view, Dynamic view, Deployment view and Tech Stack

## Contributors (for customer)

Top developers:

<a href="https://github.com/IUMusicalFish19/Visual-Circuit-Designer/graphs/contributors">
<img src="https://contrib.rocks/image?repo=IUMusicalFish19/Visual-Circuit-Designer" alt="contrib.rocks image" />
</a>

- [Konstantin Smirnov](https://github.com/kostya2505) - Frontend Developer
- [Albert Khechoyan](https://github.com/RII6) - Frontend Developer
- [Matvei Kantserov](https://github.com/Doshqq) - Backend Developer
- [Tatiana Dudnikova](https://github.com/witch2256) - Frontend Developer
- [Arseny Lashkevich](https://github.com/arsenez2006) - Backend Developer


[contributors-url]: https://github.com/IUMusicalFish19/Visual-Circuit-Designer/graphs/contributors
[contributors-shield]: https://img.shields.io/badge/Contributors-5-black
163 changes: 64 additions & 99 deletions UI/assets/circuits-icons.jsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,7 @@
export const IconAND = ({ SVGClassName, style }) => (
<svg className={SVGClassName} style={style} viewBox="0 0 800 600">
<svg className={SVGClassName} style={style} viewBox="87 65 626 480">
<g>
<title>Layer 1</title>
<path
id="svg_13"
d="m-453.63411,-377.87599l18.0907,8.3969l-18.0907,-8.3969z"
opacity="NaN"
stroke="currentColor"
fill="none"
/>
<title>AND</title>
<line
strokeWidth="20"
stroke="currentColor"
Expand Down Expand Up @@ -47,30 +40,14 @@ export const IconAND = ({ SVGClassName, style }) => (
x1="560.32368"
fill="none"
/>
<path
id="svg_33"
d="m175.0254,138.81935"
opacity="NaN"
strokeWidth="10"
stroke="currentColor"
fill="none"
/>
<path
id="svg_34"
d="m168.02509,133.81913"
opacity="NaN"
strokeWidth="10"
stroke="currentColor"
fill="none"
/>
</g>
</svg>
);

export const IconOR = ({ SVGClassName, style }) => (
<svg style={style} viewBox="0 0 800 600" className={SVGClassName}>
<svg className={SVGClassName} style={style} viewBox="87 65 626 480">
<g>
<title>Layer 1</title>
<title>OR</title>
<line
x1="557"
y1="304.41326"
Expand Down Expand Up @@ -124,16 +101,9 @@ export const IconOR = ({ SVGClassName, style }) => (
);

export const IconNAND = ({ SVGClassName, style }) => (
<svg style={style} viewBox="0 0 800 600" className={SVGClassName}>
<svg className={SVGClassName} style={style} viewBox="87 65 626 480">
<g>
<title>Layer 1</title>
<path
id="svg_13"
d="m-453.63411,-377.87599l18.0907,8.3969l-18.0907,-8.3969z"
opacity="NaN"
stroke="currentColor"
fill="none"
/>
<title>NAND</title>
<line
strokeWidth="20"
stroke="currentColor"
Expand All @@ -144,14 +114,6 @@ export const IconNAND = ({ SVGClassName, style }) => (
x1="610"
fill="none"
/>
<path
id="svg_5"
d="m325.84396,285.0036"
opacity="NaN"
strokeWidth="20"
stroke="currentColor"
fill="#fff"
/>
<line
strokeWidth="20"
stroke="currentColor"
Expand Down Expand Up @@ -195,9 +157,9 @@ export const IconNAND = ({ SVGClassName, style }) => (
);

export const IconNOR = ({ SVGClassName, style }) => (
<svg style={style} viewBox="0 0 800 600" className={SVGClassName}>
<svg className={SVGClassName} style={style} viewBox="87 65 626 480">
<g>
<title>Layer 1</title>
<title>NOR</title>
<line
stroke="currentColor"
x1="610"
Expand Down Expand Up @@ -260,9 +222,9 @@ export const IconNOR = ({ SVGClassName, style }) => (
);

export const IconXOR = ({ SVGClassName, style }) => (
<svg style={style} viewBox="0 0 800 600" className={SVGClassName}>
<svg className={SVGClassName} style={style} viewBox="87 65 626 480">
<g>
<title>Layer 1</title>
<title>XOR</title>
<line
opacity="0.99"
x1="570"
Expand Down Expand Up @@ -329,9 +291,9 @@ export const IconXOR = ({ SVGClassName, style }) => (
);

export const IconNOT = ({ SVGClassName, style }) => (
<svg style={style} viewBox="0 0 800 600" className={SVGClassName}>
<svg className={SVGClassName} style={style} viewBox="87 65 626 480">
<g>
<title>Layer 1</title>
<title>NOT</title>
<line
strokeWidth="20"
stroke="currentColor"
Expand Down Expand Up @@ -386,9 +348,9 @@ export const IconNOT = ({ SVGClassName, style }) => (
);

export const IconInput = ({ SVGClassName, style }) => (
<svg style={style} viewBox="0 0 800 600" fill="none" className={SVGClassName}>
<svg className={SVGClassName} style={style} viewBox="87 65 626 480">
<g>
<title>Layer 1</title>
<title>Input</title>
<line
strokeWidth="20"
x1="560"
Expand Down Expand Up @@ -443,9 +405,9 @@ export const IconInput = ({ SVGClassName, style }) => (
);

export const IconOutput = ({ SVGClassName, style }) => (
<svg style={style} viewBox="0 0 800 600" fill="none" className={SVGClassName}>
<svg className={SVGClassName} style={style} viewBox="87 65 626 480">
<g>
<title>Layer 1</title>
<title>Output</title>
<line
stroke="currentColor"
strokeWidth="20"
Expand Down Expand Up @@ -498,50 +460,53 @@ export const IconOutput = ({ SVGClassName, style }) => (
</svg>
);

export const IconSwitchOn = ({ SVGClassName, style }) => (
<svg
style={style}
className={SVGClassName}
fill="currentColor"
viewBox="-2 -6 24 24"
>
<path d="M6 0h8a6 6 0 1 1 0 12H6A6 6 0 1 1 6 0zm1 10a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm0-2a2 2 0 1 1 0-4 2 2 0 0 1 0 4z" />
</svg>
);

export const IconSwitchOff = ({ SVGClassName }) => (
<svg
fill="currentColor"
viewBox="-2 -5 24 24"
xmlns="http://www.w3.org/2000/svg"
preserveAspectRatio="xMinYMin"
className={SVGClassName}
>
<path d="M 7 2 C 3.151 2 0.745 6.167 2.67 9.5 C 3.563 11.047 5.214 12 7 12 L 13 12 C 16.849 12 19.255 7.833 17.33 4.5 C 16.437 2.953 14.786 2 13 2 L 7 2 Z M 7 0 L 13 0 C 18.389 0 21.756 5.833 19.062 10.5 C 17.812 12.666 15.501 14 13 14 L 7 14 C 1.611 14 -1.756 8.167 0.938 3.5 C 2.188 1.334 4.499 0 7 0 Z M 7 11 C 3.921 11 1.996 7.667 3.536 5 C 4.25 3.762 5.571 3 7 3 C 10.079 3 12.004 6.333 10.464 9 C 9.75 10.238 8.429 11 7 11 Z M 7 9 C 8.54 9 9.502 7.333 8.732 6 C 8.375 5.381 7.715 5 7 5 C 5.46 5 4.498 6.667 5.268 8 C 5.625 8.619 6.285 9 7 9 Z" />
export const IconText = ({ SVGClassName, style }) => (
<svg className={SVGClassName} style={style} viewBox="87 65 626 480">
<g>
<title>TEXT</title>
{/* Горизонтальная перекладина T */}
<line
stroke="currentColor"
strokeWidth="20"
x1="150"
y1="120"
x2="550"
y2="120"
/>
{/* Вертикальная ножка T */}
<line
stroke="currentColor"
strokeWidth="20"
x1="350"
y1="120"
x2="350"
y2="450"
/>
{/* Дополнительные горизонтальные строки текста */}
<line
stroke="currentColor"
strokeWidth="20"
x1="150"
y1="220"
x2="550"
y2="220"
/>
<line
stroke="currentColor"
strokeWidth="20"
x1="150"
y1="320"
x2="550"
y2="320"
/>
<line
stroke="currentColor"
strokeWidth="20"
x1="150"
y1="420"
x2="550"
y2="420"
/>
</g>
</svg>
);

// const IconXNOR = ({ SVGClassName }) => (
// <svg width="800" height="600" xmlns="http://www.w3.org/2000/svg" className={SVGClassName}>
// <g>
// <title>Layer 1</title>
// <path fill="none" stroke="currentColor" opacity="NaN" d="m-453.63411,-377.87599l18.0907,8.3969l-18.0907,-8.3969z" id="svg_13"/>
// <line fill="none" x1="620" y1="304.41326" x2="713" y2="304.90239" id="svg_22" stroke="currentColor" strokeWidth="20"/>
// <path stroke="currentColor" fill="none" strokeWidth="20" opacity="NaN" d="m232,122.90423c1.9304,-3.08261 239.36945,-12.33043 313.68982,174.16734" id="svg_51"/>
// <path stroke="currentColor" fill="none" strokeWidth="20" opacity="NaN" d="m232.96529,472.63318c1.9361,3.0594 240.07629,12.23756 314.6161,-172.85542" id="svg_52"/>
// <g stroke="null" id="svg_14">
// <path stroke="currentColor" fill="#fff" strokeWidth="20" opacity="NaN" d="m313.66862,283.78358" id="svg_5"/>
// <path stroke="currentColor" id="svg_2" d="m220,121.61329c0,0 74.85058,62.76785 88,184.99999" opacity="NaN" strokeWidth="20" fill="none"/>
// <path stroke="currentColor" id="svg_4" d="m220.99999,472.61326c0,0 74,-57.67857 87,-170.00001" opacity="NaN" strokeWidth="20" fill="none"/>
// </g>
// <g id="svg_18">
// <path fill="#fff" stroke="currentColor" strokeWidth="20" opacity="NaN" d="m252.66862,284.17029" id="svg_15"/>
// <path stroke="currentColor" id="svg_16" d="m159,122c0,0 74.85058,62.76785 88,184.99999" opacity="NaN" strokeWidth="20" fill="none"/>
// <path stroke="currentColor" id="svg_17" d="m159.99999,472.99997c0,0 74,-57.67857 87,-170.00001" opacity="NaN" strokeWidth="20" fill="none"/>
// </g>
// <line fill="none" x1="87" y1="227.23715" x2="221" y2="227.23715" id="svg_1" stroke="currentColor" strokeWidth="20"/>
// <line fill="none" opacity="NaN" x1="87" y1="390.23436" x2="221" y2="390.23436" id="svg_3" stroke="currentColor" strokeWidth="20"/>
// <ellipse ry="35" rx="35" id="svg_6" cy="304" cx="587" strokeWidth="20" stroke="currentColor" fill="none"/>
// </g>
// </svg>
// );
Binary file removed UI/assets/electronic-circuit.png
Binary file not shown.
10 changes: 10 additions & 0 deletions UI/assets/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions UI/assets/toolbar-icons.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -119,3 +119,22 @@ export const IconToolbarText = ({ SVGClassName }) => (
/>
</svg>
);

export const IconToolbarCustomBlock = ({ SVGClassName }) => (
<svg
className={SVGClassName}
viewBox="0 0 24 24"
stroke="currentColor"
strokeWidth="1.5"
strokeLinecap="round"
strokeLinejoin="round"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M19 9V17.8C19 18.9201 19 19.4802 18.782 19.908C18.5903 20.2843 18.2843 20.5903 17.908 20.782C17.4802 21 16.9201 21 15.8 21H8.2C7.07989 21 6.51984 21 6.09202 20.782C5.71569 20.5903 5.40973 20.2843 5.21799 19.908C5 19.4802 5 18.9201 5 17.8V6.2C5 5.07989 5 4.51984 5.21799 4.09202C5.40973 3.71569 5.71569 3.40973 6.09202 3.21799C6.51984 3 7.0799 3 8.2 3H13M19 9L13 3M19 9H14C13.4477 9 13 8.55228 13 8V3" />

<rect x="8" y="12" width="8" height="6" rx="1" />
<line x1="6" y1="15" x2="8" y2="15" />
<line x1="16" y1="15" x2="18" y2="15" />
</svg>
);
1 change: 1 addition & 0 deletions UI/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

<link rel="icon" href="./assets/logo.svg" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
Expand Down
12 changes: 9 additions & 3 deletions UI/src/App.jsx
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
import Main from "./components/pages/mainPage.jsx";
import Profile from "./components/pages/profile.jsx";
import HelloPage from "./components/pages/hello-page.jsx";
import Auth from "./components/pages/auth.jsx";
import Reg from "./components/pages/register.jsx";

import "@xyflow/react/dist/style.css";

import "./CSS/variables.css";
import "./CSS/App.css";
import "./CSS/app.css";
import "./CSS/settings.css";
import "./CSS/toolbar.css";
import "./CSS/dnd.css";
import "./CSS/backdrop.css";
import "./CSS/circuitsMenu.css";
import "./CSS/contextMenu.css";
import "./CSS/circuits-menu.css";
import "./CSS/context-menu.css";
import "./CSS/button.css";
import "./CSS/tabs.css";
import "./CSS/name-editor.css";
import "./CSS/customBlock.css";

import { BrowserRouter as Router, Routes, Route } from "react-router-dom";

Expand All @@ -39,6 +43,8 @@ function App() {
<Route path="/profile" element={<Profile />} />
<Route path="/" element={<Main />} />
<Route path="/main" element={<HelloPage />} />
<Route path="/login" element={<Auth />} />
<Route path="/register" element={<Reg />} />
</Routes>
</div>
</Router>
Expand Down
Loading