Skip to content

Commit 63c48fc

Browse files
committed
Add conflict resolution
Refactor into a Task provider
1 parent 7c7338c commit 63c48fc

File tree

15 files changed

+633
-389
lines changed

15 files changed

+633
-389
lines changed

package-lock.json

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/frontend/.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ dist-ssr
1414

1515
# Editor directories and files
1616
.vscode/*
17-
!.vscode/extensions.json
17+
!.vscode/*.json
1818
.idea
1919
.DS_Store
2020
*.suo

packages/frontend/.vscode/launch.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"type": "node",
9+
"request": "launch",
10+
"name": "Launch Vite Dev Server",
11+
"runtimeExecutable": "npm",
12+
"runtimeArgs": ["run", "dev"],
13+
"env": {
14+
"PORT": "5175"
15+
},
16+
"serverReadyAction": {
17+
"action": "debugWithChrome",
18+
"pattern": "Local:\\s+(https?://\\S+)",
19+
"killOnServerStop": true,
20+
"webRoot": "${workspaceFolder}"
21+
}
22+
}
23+
]
24+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"eslint.workingDirectories": ["../.."]
3+
}

packages/frontend/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"interface": "^1.0.0",
1515
"react": "^18.3.1",
1616
"react-dom": "^18.3.1",
17+
"react-icons": "^5.3.0",
1718
"zod": "^3.23.8"
1819
},
1920
"devDependencies": {

packages/frontend/src/App.css

Lines changed: 4 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ p.error {
4141
}
4242

4343
@media (prefers-reduced-motion: no-preference) {
44+
svg.loading {
45+
animation: logo-spin infinite 1s linear;
46+
}
47+
4448
a:nth-of-type(2) .logo {
4549
animation: logo-spin infinite 20s linear;
4650
}
@@ -64,142 +68,3 @@ p.error {
6468
flex-direction: column;
6569
}
6670
}
67-
68-
.tasks {
69-
.heading {
70-
display: flex;
71-
justify-content: center;
72-
align-items: center;
73-
gap: 1em;
74-
padding: 2em;
75-
transition: gap 300ms;
76-
button {
77-
border: none;
78-
padding: 0.5em 1em;
79-
font-size: large;
80-
font-weight: bolder;
81-
cursor: pointer;
82-
transition: transform 300ms;
83-
box-shadow: 0 0.5em 0.5em #646cff;
84-
}
85-
86-
button.add {
87-
background-color: #646cff;
88-
color: #ffffff;
89-
}
90-
91-
input {
92-
border: none;
93-
padding: 0.5em 1em;
94-
font-size: large;
95-
font-weight: bolder;
96-
background-color: whitesmoke;
97-
color: #ffffff;
98-
transition:
99-
transform 300ms,
100-
background-color 300ms;
101-
}
102-
103-
&:hover {
104-
gap: 2.5em;
105-
button {
106-
transform: scale(1.05);
107-
}
108-
button:hover {
109-
transform: scale(1.25);
110-
}
111-
input {
112-
transform: scale(1.1);
113-
background-color: #4158d0;
114-
}
115-
}
116-
}
117-
118-
.items {
119-
display: grid;
120-
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
121-
padding: 2em;
122-
gap: 2em;
123-
.task {
124-
display: flex;
125-
padding: 1em;
126-
height: 125px;
127-
border-radius: 1.5em / 1em;
128-
background: linear-gradient(
129-
43deg,
130-
#4158d0 0%,
131-
#c850c0 30%,
132-
#ffcc70 66%,
133-
#ffffff 100%
134-
);
135-
font-weight: bolder;
136-
font-size: large;
137-
transition: transform 300ms;
138-
139-
.item {
140-
input,
141-
p {
142-
margin: 0px;
143-
144-
padding: 1em;
145-
146-
height: 75%;
147-
width: 75%;
148-
149-
background-color: transparent;
150-
border: none;
151-
border-radius: 16px;
152-
153-
color: black;
154-
@media (prefers-color-scheme: light) {
155-
color: whitesmoke;
156-
}
157-
}
158-
input {
159-
box-shadow: 0 0.1em 0.5em #ffffff;
160-
}
161-
162-
p {
163-
font-weight: 800;
164-
display: table-cell;
165-
vertical-align: middle;
166-
}
167-
justify-content: center;
168-
align-items: center;
169-
170-
flex: 1;
171-
padding: 1em;
172-
display: flex;
173-
transition: transform 300ms;
174-
}
175-
176-
* {
177-
/* debug */
178-
/* border: 4px solid #4158d0; */
179-
}
180-
181-
button.delete {
182-
position: absolute;
183-
min-width: 30px;
184-
max-width: 30px;
185-
width: 100%;
186-
height: 30px;
187-
max-height: 40px;
188-
background-color: #d91010d7;
189-
color: #ffffff;
190-
padding: 0;
191-
margin: 0;
192-
z-index: 10;
193-
transition: transform 300ms;
194-
}
195-
196-
&:hover,
197-
:hover {
198-
transform: scale(1.1);
199-
button:hover {
200-
transform: scale(1.2);
201-
}
202-
}
203-
}
204-
}
205-
}

packages/frontend/src/App.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import './App.css';
22
import reactLogo from './assets/react.svg';
3-
import { TaskWrapper } from './Tasks';
3+
import { TaskApp } from './tasks/Tasks';
44
import viteLogo from '/vite.svg';
55

66
function App() {
@@ -15,7 +15,7 @@ function App() {
1515
</a>
1616
<h1>Vite + React + Express + Multi-root</h1>
1717
</div>
18-
<TaskWrapper />
18+
<TaskApp />
1919
</>
2020
);
2121
}

0 commit comments

Comments
 (0)