cleanup package.json, update sass, fix router (css class issue)
This commit is contained in:
7893
package-lock.json
generated
7893
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
40
package.json
40
package.json
@@ -3,7 +3,6 @@
|
|||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.16.0",
|
|
||||||
"@fontsource/inter": "^5.2.8",
|
"@fontsource/inter": "^5.2.8",
|
||||||
"@fontsource/neuton": "^5.2.7",
|
"@fontsource/neuton": "^5.2.7",
|
||||||
"@fortawesome/fontawesome-svg-core": "^7.2.0",
|
"@fortawesome/fontawesome-svg-core": "^7.2.0",
|
||||||
@@ -11,32 +10,10 @@
|
|||||||
"@fortawesome/free-regular-svg-icons": "^7.2.0",
|
"@fortawesome/free-regular-svg-icons": "^7.2.0",
|
||||||
"@fortawesome/free-solid-svg-icons": "^7.2.0",
|
"@fortawesome/free-solid-svg-icons": "^7.2.0",
|
||||||
"@fortawesome/react-fontawesome": "^3.2.0",
|
"@fortawesome/react-fontawesome": "^3.2.0",
|
||||||
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
|
|
||||||
"@react-three/fiber": "^9.5.0",
|
"@react-three/fiber": "^9.5.0",
|
||||||
"browserslist": "^4.18.1",
|
|
||||||
"css-loader": "^6.5.1",
|
|
||||||
"css-minimizer-webpack-plugin": "^3.2.0",
|
|
||||||
"file-loader": "^6.2.0",
|
|
||||||
"html-webpack-plugin": "^5.5.0",
|
|
||||||
"jest": "^27.4.3",
|
|
||||||
"jest-resolve": "^27.4.2",
|
|
||||||
"jest-watch-typeahead": "^1.0.0",
|
|
||||||
"mini-css-extract-plugin": "^2.4.5",
|
|
||||||
"motion": "^12.34.3",
|
"motion": "^12.34.3",
|
||||||
"postcss": "^8.4.4",
|
|
||||||
"postcss-loader": "^6.2.1",
|
|
||||||
"postcss-normalize": "^10.0.1",
|
|
||||||
"postcss-preset-env": "^7.0.1",
|
|
||||||
"react": "^19.2.4",
|
"react": "^19.2.4",
|
||||||
"react-dev-utils": "^12.0.1",
|
|
||||||
"react-dom": "^19.2.4",
|
"react-dom": "^19.2.4",
|
||||||
"react-refresh": "^0.11.0",
|
|
||||||
"resolve": "^1.20.0",
|
|
||||||
"resolve-url-loader": "^4.0.0",
|
|
||||||
"sass-loader": "^12.3.0",
|
|
||||||
"source-map-loader": "^3.0.0",
|
|
||||||
"style-loader": "^3.3.1",
|
|
||||||
"terser-webpack-plugin": "^5.2.5",
|
|
||||||
"three": "^0.183.2"
|
"three": "^0.183.2"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -57,9 +34,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@babel/core": "^7.29.0",
|
||||||
"@babel/preset-env": "^7.29.0",
|
"@babel/preset-env": "^7.29.0",
|
||||||
"@babel/preset-react": "^7.28.5",
|
"@babel/preset-react": "^7.28.5",
|
||||||
"@babel/preset-typescript": "^7.28.5",
|
"@babel/preset-typescript": "^7.28.5",
|
||||||
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.6.2",
|
||||||
"@svgr/webpack": "^8.1.0",
|
"@svgr/webpack": "^8.1.0",
|
||||||
"@testing-library/dom": "^10.4.1",
|
"@testing-library/dom": "^10.4.1",
|
||||||
"@testing-library/jest-dom": "^6.9.1",
|
"@testing-library/jest-dom": "^6.9.1",
|
||||||
@@ -72,8 +51,23 @@
|
|||||||
"@types/three": "^0.183.1",
|
"@types/three": "^0.183.1",
|
||||||
"babel-loader": "^10.0.0",
|
"babel-loader": "^10.0.0",
|
||||||
"babel-preset-react-app": "^10.1.0",
|
"babel-preset-react-app": "^10.1.0",
|
||||||
|
"browserslist": "^4.28.1",
|
||||||
|
"css-loader": "^7.1.4",
|
||||||
|
"css-minimizer-webpack-plugin": "^8.0.0",
|
||||||
|
"file-loader": "^6.2.0",
|
||||||
"fork-ts-checker-webpack-plugin": "^9.1.0",
|
"fork-ts-checker-webpack-plugin": "^9.1.0",
|
||||||
|
"html-webpack-plugin": "^5.6.6",
|
||||||
|
"mini-css-extract-plugin": "^2.10.0",
|
||||||
|
"postcss": "^8.5.8",
|
||||||
|
"postcss-loader": "^8.2.1",
|
||||||
|
"postcss-normalize": "^13.0.1",
|
||||||
|
"postcss-preset-env": "^11.2.0",
|
||||||
"sass": "^1.97.3",
|
"sass": "^1.97.3",
|
||||||
|
"sass-loader": "^16.0.7",
|
||||||
|
"sass-migrator": "^2.5.7",
|
||||||
|
"source-map-loader": "^5.0.0",
|
||||||
|
"style-loader": "^4.0.0",
|
||||||
|
"terser-webpack-plugin": "^5.3.17",
|
||||||
"ts-loader": "^9.5.4",
|
"ts-loader": "^9.5.4",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"typescript": "^5.9.3",
|
"typescript": "^5.9.3",
|
||||||
|
|||||||
@@ -5,10 +5,8 @@ import japanese from "../img/IMG_20230531_000224_01.jpg";
|
|||||||
import {PropsWithChildren} from "react";
|
import {PropsWithChildren} from "react";
|
||||||
|
|
||||||
export default function AboutPage() {
|
export default function AboutPage() {
|
||||||
return <main>
|
return <main className="about-page">
|
||||||
<div className="edge">
|
<div className="edge"/>
|
||||||
|
|
||||||
</div>
|
|
||||||
<section className="about-container">
|
<section className="about-container">
|
||||||
<img src={openingImage} alt="Tymur Arsentiev" className="self"/>
|
<img src={openingImage} alt="Tymur Arsentiev" className="self"/>
|
||||||
<h1 className="title">Welcome to my blog and personal website!</h1>
|
<h1 className="title">Welcome to my blog and personal website!</h1>
|
||||||
@@ -16,7 +14,7 @@ export default function AboutPage() {
|
|||||||
For the longest time, I never had a personal website to show my skills.
|
For the longest time, I never had a personal website to show my skills.
|
||||||
I'm a longtime coder, project after project, but have never considered making a place to share my thoughts.
|
I'm a longtime coder, project after project, but have never considered making a place to share my thoughts.
|
||||||
After a while, I was inspired by my <ExternalLink href="https://medium.com/@tymur.arsent">Medium</ExternalLink> and
|
After a while, I was inspired by my <ExternalLink href="https://medium.com/@tymur.arsent">Medium</ExternalLink> and
|
||||||
<ExternalLink href="https://substack.com/@timsnodocmartins">Substack</ExternalLink> account to begin journaling my thoughts on my own.
|
<ExternalLink href="https://substack.com/@timsnodocmartins">Substack</ExternalLink> account to begin journaling my thoughts on my own.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
I like to take pride in my uniqueness as a web developer.
|
I like to take pride in my uniqueness as a web developer.
|
||||||
@@ -38,9 +36,7 @@ export default function AboutPage() {
|
|||||||
My favorite thing about Ebay is that they have almost every clothing brand, typically at reduced prices due to use.
|
My favorite thing about Ebay is that they have almost every clothing brand, typically at reduced prices due to use.
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
<div className="edge">
|
<div className="edge"/>
|
||||||
|
|
||||||
</div>
|
|
||||||
</main>
|
</main>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
@import "../nav/nav.scss";
|
@use "../nav/nav.scss";
|
||||||
|
|
||||||
main {
|
.about-page {
|
||||||
color: white;
|
color: white;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -8,7 +8,7 @@ main {
|
|||||||
|
|
||||||
.title {
|
.title {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin: $padding;
|
margin: nav.$padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
.self {
|
.self {
|
||||||
@@ -17,7 +17,7 @@ main {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.about-container {
|
.about-container {
|
||||||
margin-top: 2 * $padding;
|
margin-top: 2 * nav.$padding;
|
||||||
flex-shrink: 1;
|
flex-shrink: 1;
|
||||||
max-width: 75%;
|
max-width: 75%;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -30,7 +30,7 @@ main {
|
|||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
text-indent: 2 * $padding;
|
text-indent: 2 * nav.$padding;
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
max-width: 600px;
|
max-width: 600px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
|
|||||||
@@ -4,11 +4,7 @@ import './index.scss';
|
|||||||
import {RouterProvider} from "./router/RouterContext";
|
import {RouterProvider} from "./router/RouterContext";
|
||||||
import {Route} from "./router/Route";
|
import {Route} from "./router/Route";
|
||||||
import "@fontsource/inter"; // Defaults to weight 400
|
import "@fontsource/inter"; // Defaults to weight 400
|
||||||
import "@fontsource/inter/400.css"; // Specify weight
|
|
||||||
import "@fontsource/inter/400-italic.css"; // Specify weight and style
|
|
||||||
import "@fontsource/neuton"; // Defaults to weight 400
|
import "@fontsource/neuton"; // Defaults to weight 400
|
||||||
import "@fontsource/neuton/400.css"; // Specify weight
|
|
||||||
import "@fontsource/neuton/400-italic.css"; // Specify weight and style
|
|
||||||
|
|
||||||
const Canvas = React.lazy(() => import("./index/Canvas"));
|
const Canvas = React.lazy(() => import("./index/Canvas"));
|
||||||
const About = React.lazy(() => import("./about/AboutPage"));
|
const About = React.lazy(() => import("./about/AboutPage"));
|
||||||
@@ -28,6 +24,9 @@ root.render(
|
|||||||
<Route path="/about">
|
<Route path="/about">
|
||||||
<About/>
|
<About/>
|
||||||
</Route>
|
</Route>
|
||||||
|
<Route path="/articles">
|
||||||
|
<div>Test</div>
|
||||||
|
</Route>
|
||||||
</RouterProvider>
|
</RouterProvider>
|
||||||
</React.StrictMode>
|
</React.StrictMode>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import {Stars} from "./Stars";
|
|||||||
export default function Canvas() {
|
export default function Canvas() {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<main>
|
<main className="canvas">
|
||||||
<ThreeCanvas gl={{antialias: true, alpha: true}} >
|
<ThreeCanvas gl={{antialias: true, alpha: true}} >
|
||||||
<Sphere/>
|
<Sphere/>
|
||||||
<Moon radius={8} color="pink" step={0.01}/>
|
<Moon radius={8} color="pink" step={0.01}/>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
main {
|
.canvas {
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
@import "./nav";
|
@use "./nav";
|
||||||
|
|
||||||
.menu {
|
.menu {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
background: $menu;
|
background: nav.$menu;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
color: white;
|
color: white;
|
||||||
width: 25%;
|
width: 25%;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
|
|
||||||
div {
|
div {
|
||||||
padding: $padding;
|
padding: nav.$padding;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,12 +5,12 @@ import {useRouter} from "./RouterContext";
|
|||||||
import {Path} from "./router";
|
import {Path} from "./router";
|
||||||
|
|
||||||
export function Link(props: {className?: string, href: Path, replace?: boolean } & PropsWithChildren) {
|
export function Link(props: {className?: string, href: Path, replace?: boolean } & PropsWithChildren) {
|
||||||
const {children, className, href, replace} = props;
|
const {children, className, href} = props;
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
function onClick(event: React.MouseEvent) {
|
function onClick(event: React.MouseEvent) {
|
||||||
// event.preventDefault();
|
event.preventDefault();
|
||||||
if(replace) {
|
if(window.location.pathname === href) {
|
||||||
router.replacePage(props.href);
|
router.replacePage(props.href);
|
||||||
} else {
|
} else {
|
||||||
router.pushPage(props.href);
|
router.pushPage(props.href);
|
||||||
|
|||||||
Reference in New Issue
Block a user