Skip to content

Commit 99908b9

Browse files
committed
Updated modals and more
1 parent 85d07d9 commit 99908b9

29 files changed

Lines changed: 832 additions & 517 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ yarn-debug.log*
2626
yarn-error.log*
2727

2828
# local env files
29+
.env
2930
.env*.local
3031

3132
# vercel

next.config.mjs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
import version from './package.json' with { type: 'json' };
2+
import { fileURLToPath } from "url";
3+
import path from 'path';
4+
5+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
6+
7+
const dependencies = Object.keys(version.dependencies).join('\n');
8+
19
/** @type {import('next').NextConfig} */
210
const nextConfig = {
311
/**
@@ -31,6 +39,16 @@ const nextConfig = {
3139
// TODO: add missing Suspense and remove this suppression
3240
// missingSuspenseWithCSRBailout: false,
3341
},
42+
env: {
43+
name: version.name,
44+
description: version.description,
45+
version: version.version,
46+
packageManger: version.packageManager,
47+
dependencies: dependencies
48+
},
49+
turbopack: {
50+
root: path.join(__dirname),
51+
}
3452
};
3553

3654
export default nextConfig;

package.json

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,25 @@
22
"name": "syntax-tm-github-io",
33
"version": "1.0.0",
44
"private": true,
5+
"type": "module",
56
"scripts": {
6-
"dev": "next dev",
7-
"build": "webpack --mode=production --node-env=production",
7+
"dev": "node ./scripts/prebuild.cjs && next dev",
8+
"build": "node ./scripts/prebuild.cjs && webpack --mode=production --node-env=production",
89
"start": "next start",
910
"lint": "next lint",
10-
"build:dev": "webpack --mode=development",
11-
"build:prod": "webpack --mode=production --node-env=production",
11+
"build:dev": "node ./scripts/prebuild.cjs && webpack --mode=development",
12+
"build:prod": "node ./scripts/prebuild.cjs && webpack --mode=production --node-env=production",
1213
"watch": "webpack --watch",
13-
"serve": "webpack serve"
14+
"serve": "webpack serve",
15+
"prebuild": "node ./scripts/prebuild.cjs"
1416
},
1517
"dependencies": {
1618
"@fortawesome/fontawesome-svg-core": "^7.2.0",
1719
"@fortawesome/free-brands-svg-icons": "^7.2.0",
1820
"@fortawesome/free-regular-svg-icons": "^7.2.0",
1921
"@fortawesome/free-solid-svg-icons": "^7.2.0",
2022
"@fortawesome/react-fontawesome": "^3.3.1",
23+
"@next/env": "^16.2.6",
2124
"@types/webpack": "^5.28.5",
2225
"@uidotdev/usehooks": "^2.4.1",
2326
"framer-motion": "^11.3.6",
@@ -49,6 +52,7 @@
4952
"sass": "^1.77.8",
5053
"sass-loader": "^17.0.0",
5154
"style-loader": "^4.0.0",
55+
"tailwind-scrollbar": "^4.0.2",
5256
"tailwindcss": "^3.4.6",
5357
"ts-loader": "^9.5.1",
5458
"typescript": "^5.5.3",

public/config/menu.json

Lines changed: 68 additions & 203 deletions
Original file line numberDiff line numberDiff line change
@@ -1,203 +1,68 @@
1-
[
2-
{
3-
"title": "My Setup",
4-
"link": "https://pcpartpicker.com/b/XRCzK8",
5-
"icon": "fa-solid fa-desktop",
6-
"items": [
7-
{
8-
"type": "button",
9-
"title": "View on PC Part Picker",
10-
"link": "https://pcpartpicker.com/list/j6Lptn",
11-
"icon": "fa-solid fa-external-link"
12-
},
13-
{
14-
"type": "separator"
15-
},
16-
{
17-
"id": "cpu",
18-
"shortCategory": "CPU",
19-
"category": "CPU",
20-
"shortDescription": "Ryzen 9 5900X",
21-
"description": "AMD Ryzen 9 5900X"
22-
},
23-
{
24-
"id": "gpu",
25-
"shortCategory": "GPU",
26-
"category": "GPU",
27-
"shortDescription": "RTX 4090",
28-
"description": "Nvidia RTX 4090"
29-
},
30-
{
31-
"id": "mobo",
32-
"shortCategory": "MOB",
33-
"category": "MOTHERBOARD",
34-
"shortDescription": "Asus ROG B550-F",
35-
"description": "Asus ROG STRIX B550-F GAMING"
36-
},
37-
{
38-
"id": "ram",
39-
"shortCategory": "RAM",
40-
"category": "MEMORY",
41-
"shortDescription": "128GB DDR4",
42-
"description": "G.Skill Ripjaws V 128 GB DDR4-3600"
43-
},
44-
{
45-
"id": "storage",
46-
"shortCategory": "SSD",
47-
"category": "STORAGE",
48-
"shortDescription": "2 TB NVMe SSD",
49-
"description": "(2x) Samsung 980 Pro 2 TB NVMe SSD"
50-
},
51-
{
52-
"id": "psu",
53-
"shortCategory": "PSU",
54-
"category": "PSU",
55-
"shortDescription": "1000W",
56-
"description": "Corsair RM1000x (1000W)"
57-
},
58-
{
59-
"type": "separator"
60-
},
61-
{
62-
"id": "display",
63-
"shortCategory": "DSP",
64-
"category": "DISPLAY",
65-
"shortDescription": "49\" Samsung Odyssey G9",
66-
"description": "Samsung Odyssey G9 49.0\" Curved Monitor"
67-
},
68-
{
69-
"id": "headset",
70-
"shortCategory": "MIC",
71-
"category": "HEADSET",
72-
"shortDescription": "ASTRO A50",
73-
"description": "ASTRO Gaming A50 Wireless Headset"
74-
},
75-
{
76-
"id": "speakers",
77-
"shortCategory": "SPK",
78-
"category": "SPEAKERS",
79-
"shortDescription": "Logitech Z533",
80-
"description": "Logitech Z533 2.1 Multimedia Speaker System"
81-
},
82-
{
83-
"type": "separator"
84-
},
85-
{
86-
"id": "mouse",
87-
"shortCategory": "MS",
88-
"category": "MOUSE",
89-
"shortDescription": "Corsair SCIMITAR",
90-
"description": "Corsair SCIMITAR RGB ELITE"
91-
},
92-
{
93-
"id": "keyboard",
94-
"shortCategory": "KB",
95-
"category": "KEYBOARD",
96-
"shortDescription": "Leopold FC980C",
97-
"description": "Leopold FC980C"
98-
},
99-
{
100-
"type": "separator"
101-
},
102-
{
103-
"id": "chair",
104-
"shortCategory": "CHR",
105-
"category": "CHAIR",
106-
"shortDescription": "CORSAIR T3 Rush",
107-
"description": "CORSAIR T3 Rush Gaming Chair"
108-
}
109-
]
110-
},
111-
{
112-
"title": "Dev",
113-
"type": "header"
114-
},
115-
{
116-
"title": "GitHub",
117-
"link": "https://github.com/syntax-tm",
118-
"icon": "fa-brands fa-github"
119-
},
120-
{
121-
"title": "Gists",
122-
"link": "https://gist.github.com/syntax-tm",
123-
"icon": "fa-brands fa-github-alt"
124-
},
125-
{
126-
"title": "Gaming",
127-
"type": "header"
128-
},
129-
{
130-
"title": "ExoPhase",
131-
"link": "https://www.exophase.com/user/Gundwn/",
132-
"icon": "fa-solid fa-gamepad"
133-
},
134-
{
135-
"title": "Speedrun",
136-
"link": "https://www.speedrun.com/user/Gundwn",
137-
"icon": "fa-solid fa-trophy",
138-
"items": [
139-
{
140-
"title": "WRs",
141-
"link": "https://www.speedrun.com/api/v1/users/8e9dproj/personal-bests?top=1"
142-
},
143-
{
144-
"title": "PBs",
145-
"link": "https://www.speedrun.com/api/v1/users/8e9dproj/personal-bests"
146-
}
147-
]
148-
},
149-
{
150-
"title": "Steam",
151-
"link": "https://s.team/p/dwq-wrkt",
152-
"icon": "fa-brands fa-steam"
153-
},
154-
{
155-
"title": "Twitch",
156-
"link": "https://twitch.tv/Gundwn",
157-
"icon": "fa-brands fa-twitch"
158-
},
159-
{
160-
"title": "Xbox",
161-
"link": "http://live.xbox.com/Profile?Gamertag=gundwn",
162-
"icon": "fa-brands fa-xbox"
163-
},
164-
{
165-
"title": "YoutTube",
166-
"link": "https://www.youtube.com/@Gundwn",
167-
"icon": "fa-brands fa-youtube"
168-
},
169-
{
170-
"title": "Social",
171-
"type": "header"
172-
},
173-
{
174-
"title": "Discord",
175-
"link": "https://discordapp.com/users/266438959230353409",
176-
"icon": "fa-brands fa-discord"
177-
},
178-
{
179-
"title": "Facebook",
180-
"link": "https://www.facebook.com/gundwnsrc",
181-
"icon": "fa-brands fa-facebook"
182-
},
183-
{
184-
"title": "Instagram",
185-
"link": "https://instagram.com/GundwnSRC",
186-
"icon": "fa-brands fa-instagram"
187-
},
188-
{
189-
"title": "Spotify",
190-
"link": "https://open.spotify.com/user/1280499465",
191-
"icon": "fa-brands fa-spotify"
192-
},
193-
{
194-
"title": "Stats.fm",
195-
"link": "https://stats.fm/gundwn",
196-
"icon": "fa-solid fa-chart-column"
197-
},
198-
{
199-
"title": "Telegram",
200-
"link": "https://t.me/Gundwn",
201-
"icon": "fa-brands fa-telegram"
202-
}
203-
]
1+
{
2+
"categories": [
3+
{
4+
"name": "Home",
5+
"icon": "",
6+
"description": "",
7+
"items": [
8+
9+
]
10+
},
11+
{
12+
"name": "Dev",
13+
"icon": "",
14+
"description": "",
15+
"items": [
16+
17+
]
18+
},
19+
{
20+
"name": "Gaming",
21+
"icon": "",
22+
"description": "",
23+
"items": [
24+
25+
]
26+
},
27+
{
28+
"name": "Social",
29+
"icon": "",
30+
"description": "",
31+
"items": [
32+
33+
]
34+
},
35+
{
36+
"index": 4,
37+
"name": "Settings",
38+
"icon": "",
39+
"description": "",
40+
"items": [
41+
{
42+
"name": "Source",
43+
"description": "View this project on GitHub",
44+
"url": "https://github.com/syntax-tm/syntax-tm.github.io",
45+
"icon": ""
46+
},
47+
{
48+
"name": "Fork",
49+
"description": "Fork this project on GitHub",
50+
"url": "https://github.com/syntax-tm/syntax-tm.github.io/fork",
51+
"icon": ""
52+
},
53+
{
54+
"name": "Next.js",
55+
"description": "About Next.js",
56+
"url": "https://nextjs.org/",
57+
"icon": ""
58+
},
59+
{
60+
"name": "FontAwesome",
61+
"description": "About FontAwesome",
62+
"url": "https://fontawesome.com/",
63+
"icon": ""
64+
}
65+
]
66+
}
67+
]
68+
}

scripts/preBuild.cjs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
const fs = require('fs');
2+
3+
const d = new Date();
4+
const buildDate = d.toISOString().split('T')[0];
5+
const buildTime = d.toLocaleTimeString('en-US', { hour12: false, hour: '2-digit', minute: '2-digit', second: '2-digit', timeZoneName: 'short' });
6+
7+
const tzLongName = new Intl.DateTimeFormat('en-US', { timeZoneName: 'long' })
8+
.formatToParts(new Date())
9+
.find(part => part.type === 'timeZoneName').value;
10+
const tzName = new Intl.DateTimeFormat('en-US', { timeZoneName: 'short' })
11+
.formatToParts(new Date())
12+
.find(part => part.type === 'timeZoneName').value;
13+
14+
const t = d.getTime();
15+
16+
const envContent = `
17+
NEXT_PUBLIC_BUILD_DATETIME="${buildDate} ${buildTime}"
18+
NEXT_PUBLIC_BUILD_DATE="${buildDate}"
19+
NEXT_PUBLIC_BUILD_DATE_LOCAL="${d.toLocaleDateString('en-US')}"
20+
NEXT_PUBLIC_BUILD_TIME="${buildTime}"
21+
NEXT_PUBLIC_BUILD_TIME_LOCAL="${d.toLocaleTimeString('en-US', { hour12: true })}"
22+
NEXT_PUBLIC_TZ_LONG="${tzLongName}"
23+
NEXT_PUBLIC_TZ_SHORT="${tzName}"
24+
NEXT_PUBLIC_NODE_VERSION=${process.version}
25+
`;
26+
27+
fs.writeFileSync('.env', envContent.trim());
28+
29+
console.log('Created .env file successfully');

0 commit comments

Comments
 (0)