Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solid Start + UX improvements #18

Merged
merged 68 commits into from
Jan 31, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
08e5285
adding turbo and optimizing some files for faster typechecking
OliverGrack May 21, 2024
b7c376c
Merge branch 'solidify' into build-improvments
OliverGrack May 21, 2024
668d206
first solid start hydration working with libs of mono repo
OliverGrack May 22, 2024
aa10fd8
theme switching almost working
OliverGrack May 22, 2024
917f417
env
OliverGrack May 27, 2024
2cc931a
moved parts of start page to solid start
OliverGrack May 28, 2024
5dc530f
page not found for solid start
OliverGrack Jun 2, 2024
9769d8f
Merge branch 'main' into build-improvments
OliverGrack Jun 12, 2024
34d93a9
initial version of own runs in solid start + run dashboard loads on /…
OliverGrack Jun 13, 2024
5af1ec3
public runs in solid start + run tag edits + visibility changes
OliverGrack Jun 17, 2024
de0b994
privacy policy in solid wip
OliverGrack Jun 18, 2024
e61b03e
mdx config moved to solid start
OliverGrack Jun 18, 2024
b5f6f65
move guides (install + analytics guide) to solid start
OliverGrack Jun 25, 2024
6a2dd1d
runpage title in solid start + run cache only opened once per run
OliverGrack Jun 25, 2024
e858b63
vite image tools
OliverGrack Jun 26, 2024
85fc7c7
hide footer when on /run/{id} page if not showing run details
OliverGrack Nov 15, 2024
e3ede78
Show watcher knight deafeat in boss splits
OliverGrack Nov 15, 2024
f506606
Show tooltips for variables of area chart and timestamp in timeline
OliverGrack Nov 15, 2024
7db0315
show dreamgate pin on map
OliverGrack Nov 15, 2024
b149ff3
added additional room names
OliverGrack Nov 17, 2024
43c3bcd
updated a few solid dependencies
OliverGrack Nov 17, 2024
6c68a8f
update valibot and a few other fixes
OliverGrack Nov 17, 2024
06e41a8
vercel preset in vinxi build
OliverGrack Nov 18, 2024
9e51a28
init empty solid start project
OliverGrack Nov 20, 2024
67b7581
main nav
OliverGrack Nov 20, 2024
41aebb1
auth
OliverGrack Nov 21, 2024
e49c48c
switch to auth js solid
OliverGrack Nov 21, 2024
bf8fc8d
log env
OliverGrack Nov 21, 2024
543d040
copied over remaining solid components from mono-repo solid start branch
OliverGrack Nov 21, 2024
2bf4fc1
added settings ui without functionality
OliverGrack Nov 21, 2024
d74a741
setting run titles
OliverGrack Nov 22, 2024
7525fd2
player page in solid start
OliverGrack Nov 24, 2024
1bcb869
finished moving settings to solid start + account deletions are cance…
OliverGrack Nov 25, 2024
a8dcdf5
moved modversioncheck to solid start
OliverGrack Nov 26, 2024
cda0190
run liking/unliking in solid start
OliverGrack Nov 26, 2024
ce9f2c4
run card dropdown in solid start
OliverGrack Nov 26, 2024
14cf30a
add _target="self" to all #-links in markdown so the :target style is…
OliverGrack Nov 27, 2024
efadff6
archive in solid start
OliverGrack Nov 28, 2024
a43cd64
sitemap.xml in solid start
OliverGrack Nov 30, 2024
c80a351
fixed variable fonts not using website provided fonts
OliverGrack Dec 15, 2024
d5107f1
pwa manifest added to header + aggregations can be calculated up to t…
OliverGrack Jan 10, 2025
0d93aae
fix error where first timepoint per room would not be shown in room a…
OliverGrack Jan 11, 2025
f73062b
reset stores on run load
OliverGrack Jan 11, 2025
8097fe0
fix docs target highlighting
OliverGrack Jan 11, 2025
d5e34a7
github actions for test+typechecking + cookie/header handling
OliverGrack Jan 17, 2025
d3b8054
use pnpm in ci
OliverGrack Jan 17, 2025
eeacf6b
run upload api + ingame auth rest endpoints
OliverGrack Jan 17, 2025
65e8ea6
fixed typechecking
OliverGrack Jan 17, 2025
702ca3b
fix github ci
OliverGrack Jan 17, 2025
9561cef
moved first stores to context + eslint config
OliverGrack Jan 18, 2025
4839cb2
eslint fix
OliverGrack Jan 18, 2025
1643f07
eslint ci + fixed lint issues
OliverGrack Jan 18, 2025
0a3e96a
fixed hydration issue coming from run interaction action import
OliverGrack Jan 18, 2025
06b48c8
pretty much made theming work now, but server+hydration does render u…
OliverGrack Jan 18, 2025
e048a8c
finished refactoring stores to context
OliverGrack Jan 18, 2025
96974e9
like/unlike run doesnt reload everything + fixed a few runtime errors…
OliverGrack Jan 18, 2025
da7176f
fixed linting + reenabled mailing
OliverGrack Jan 18, 2025
5c75526
redirect from old domain
OliverGrack Jan 18, 2025
72d764d
analytics and speed insights
OliverGrack Jan 18, 2025
f2168ad
login flow
OliverGrack Jan 19, 2025
2ba03c7
provide mod with info that file is already uploaded when reiniting ex…
OliverGrack Jan 19, 2025
0192e18
fixed crystal guardian and enraged guardian not shown in splits view
OliverGrack Jan 19, 2025
1af7278
api for archived versions from hkviz
OliverGrack Jan 21, 2025
b7512bb
tryed using spritesheets for map rooms, but creates major performance…
OliverGrack Jan 26, 2025
a526334
worker script to extract spritesheet sprites into blob urls
OliverGrack Jan 26, 2025
7377672
gitignore generated assets
OliverGrack Jan 26, 2025
94a4140
small ui fixes in run card on dashboard
OliverGrack Jan 29, 2025
ca02e63
defaulting to newest parser version when encountering unknown file ve…
OliverGrack Jan 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 8 additions & 4 deletions packages/app/.env.example → .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
# Change the query params at the end of the URL to "?ssl={"rejectUnauthorized":true}"
DATABASE_URL='mysql://YOUR_MYSQL_URL_HERE?ssl={"rejectUnauthorized":true}'

# Next Auth
# Auth
# You can generate a new secret on the command line with:
# openssl rand -base64 32
# https://next-auth.js.org/configuration/options#secret
# NEXTAUTH_SECRET=""
NEXTAUTH_URL="http://localhost:3000"
# AUTH_SECRET=""
AUTH_URL="http://localhost:3000"

# Next Auth Discord Provider
DISCORD_CLIENT_ID=""
Expand All @@ -46,4 +46,8 @@ EMAIL_SERVER_PASSWORD=
EMAIL_FROM=

# aggregation pipeline
FILE_DOWNLOAD_PATH=/dev/null
FILE_DOWNLOAD_PATH=/dev/null


# compat api (used by old hkviz versions)
COMPAT_API_KEY=abc
2 changes: 0 additions & 2 deletions .eslintignore

This file was deleted.

43 changes: 0 additions & 43 deletions .eslintrc.cjs

This file was deleted.

8 changes: 0 additions & 8 deletions .eslintrc.solid.cjs

This file was deleted.

19 changes: 0 additions & 19 deletions .github/workflows/auto-assign.yml

This file was deleted.

104 changes: 104 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
name: CI

on:
push:
branches: ['*']
# pull_request:
# branches: [ '*' ]

jobs:
tests:
name: Run Tests
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '20'

- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 9

- name: Cache pnpm store
uses: actions/cache@v3
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-

- name: Install dependencies
run: pnpm install

- name: Run Vitest
run: pnpm run test

typecheck:
name: TypeScript Check
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '20'

- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 9

- name: Cache pnpm store
uses: actions/cache@v3
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-

- name: Install dependencies
run: pnpm install

- name: Run TypeScript Check
run: pnpm run typecheck

lint:
name: Lint Code
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '20'

- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 9

- name: Cache pnpm store
uses: actions/cache@v3
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-

- name: Install dependencies
run: pnpm install

- name: Run Linter
run: pnpm run lint
63 changes: 24 additions & 39 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,48 +1,33 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
node_modules
/.pnp
.pnp.js

# testing
coverage

# database
prisma/db.sqlite
prisma/db.sqlite-journal

# next.js
.next/
out/
next-env.d.ts

# production
build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*
dist
.solid
.output
.vercel
.netlify
.vinxi
app.config.timestamp_*.js

# local env files
# do not commit any .env files to git, except for the .env.example file. https://create.t3.gg/en/usage/env-variables#using-environment-variables
# Environment
.env
.env*.local

# vercel
.vercel
# dependencies
/node_modules

# typescript
*.tsbuildinfo
# IDEs and editors
/.idea
.project
.classpath
*.launch
.settings/

dist
# Temp
gitignore

**/.tsup
# System Files
.DS_Store
Thumbs.db
.assetpack

**/tsup.config.bundled_*.mjs
# Generated via assetpack build
public/assets
11 changes: 11 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"trailingComma": "all",
"tabWidth": 4,
"printWidth": 120,
"useTabs": true,
"semi": true,
"singleQuote": true,
"plugins": ["prettier-plugin-tailwindcss"],
"tailwindFunctions": ["cn"],
"tailwindAttributes": ["iconClassName", "textClassName"]
}
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"editor.codeActionsOnSave": {
"source.fixAll": "always"
}
}
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Feel free to [open an issue](https://github.com/hkviz/hkviz-web/issues) on this

To get started recording your own gameplay analytics visit [hkviz.org](https://www.hkviz.org).

You can also view gameplays from other players, if they send you a link and have set their gameplay to 'public' or 'unlisted' or by visting the
You can also view gameplays from other players, if they send you a link and have set their gameplay to 'public' or 'unlisted' or by visiting the
[public gameplays page](https://www.hkviz.org/run).

## For developers
Expand All @@ -37,9 +37,9 @@ To set this project up locally:

This project is a monorepo, with the following packages:

- `@hkviz/hk-data`: A package containing extracted data from Hollow Knight. It mainly exists so the other packages can be licensed under MIT, while this package contains copyrighted data.
- `@hkviz/parser`: A package for parsing the recording files created by the mod
- `@hkviz/app`: The frontend of the project, currently a Next.js app
- `src/lib/hk-data`: Contains extracted data from Hollow Knight. (Not licensed under MIT)
- `src/lib/parser`: Parsing the recording files created by the mod
- `src/routes`: standard solid start folder for routes

### License

Expand Down
Loading