Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
3f769cc
fix: "yes/no" -> "enabled/disable" for worker nsfw
tazlin Feb 18, 2026
0c706c3
docs: docs/haidra-assets git submodule
tazlin Feb 19, 2026
8b8fe4a
docs: haidra-assets 3116029
tazlin Feb 19, 2026
45cdaf5
feat: glossary, info-tooltips, and page intros
tazlin Feb 22, 2026
d71eda6
feat: more explanations, mission page and improve navigation, more
tazlin Feb 24, 2026
04a4f0c
refactor: GUIs UI, profile edits & header dismiss
tazlin Feb 25, 2026
14489b4
feat/refactor: copy edits, network status, sticky registry
tazlin Mar 1, 2026
f863e89
feat: nav notifications & workers UI updates
tazlin Mar 1, 2026
5b31de2
feat: Generations tab UI, types and tests
tazlin Mar 2, 2026
4182d5d
feat: FloatingActionService and autocomplete UI
tazlin Mar 3, 2026
00776c8
fix: FAQ scroll offset, styles, and move Patreon note
tazlin Mar 3, 2026
3ca3784
feat: PageGuideService and wire up guides
tazlin Mar 3, 2026
941ef2b
Change inline padding on .nav-link based on personal Inspector testing
RobbieNeko Mar 3, 2026
a2d736c
fix: nowrap navitems; hamburger menu sooner
tazlin Mar 3, 2026
8354be8
fix: use rem value in nav-container media query
tazlin Mar 3, 2026
1afa9f5
feat/fix: admin generation tracker, api 404 handling
tazlin Mar 6, 2026
3c294ce
fix: touch tooltips, glossary tabs & worker icons
tazlin Mar 8, 2026
ebc6ee4
fix: delete account modal classing
tazlin Mar 8, 2026
0c38a94
fix: tooltip positioning for mobile going off screen
tazlin Mar 8, 2026
e016fc1
feat/refactor: "glass" look, many ui/ux improvements
tazlin Mar 9, 2026
ed87e2b
chore: update deps
tazlin Mar 9, 2026
96ffc85
chore: delete yarn.lock
tazlin Mar 10, 2026
1928ad4
chore/fix: Dockerfile to npm; regenerate lockfile
tazlin Mar 10, 2026
c61e4e3
fix: ng v21 fixes: bootstrap, i18n types, HostListener and moduleReso…
tazlin Mar 10, 2026
7f4fc71
build: add build command/wrangler
tazlin Mar 10, 2026
9c04abd
fix: worker page `pinHeaderOnMobile` not being passed
tazlin Mar 10, 2026
5977b92
fix: space after worker id in worker cards
tazlin Mar 10, 2026
8619fc6
fix: reduce spacing after intro cards
tazlin Mar 10, 2026
312b79e
refactor/fix: delete/condense obsolete css, other fixes
tazlin Mar 10, 2026
b317bc3
refactor: style tweaks, prettier cleanup
tazlin Mar 10, 2026
b047d16
feat: improved shared-key form, profile UI
tazlin Mar 10, 2026
d276c1a
style: tooltip positioning, surface styles, and forms
tazlin Mar 11, 2026
4c265cd
refactor: profile/style UI, http interceptors
tazlin Mar 13, 2026
1706b28
fix: validate `models` field and UI tweaks
tazlin Mar 13, 2026
89d93ee
fix: style card preview and grid layout
tazlin Mar 14, 2026
4582f31
fix/refactor: generations auth/cache; ModelAutocomplete component
tazlin Mar 14, 2026
b2cd213
fix: consistent width of intro-features
tazlin Mar 14, 2026
9b43a2d
refactor: transfer UI; add shared-key validation
tazlin Mar 14, 2026
cecacd8
fix: scrolling and status anchors for shared keys
tazlin Mar 14, 2026
abbce49
fix: nav register link only when logged out
tazlin Mar 14, 2026
b4ca784
fix: replace Patreon card with GitHub Sponsors
tazlin Mar 14, 2026
71a1dff
refactor: shared-key editing UI and UX improvements
tazlin Mar 14, 2026
6f957bd
refactor/style: improved kudos breakdown for profile view
tazlin Mar 14, 2026
85197b8
fix: make worker loading async (show as loaded)
tazlin Mar 14, 2026
b91fcff
refactor/fix: use Angular CDK Dialog for worker modals
tazlin Mar 14, 2026
f827ce5
ci/lint: ESLint, Prettier & Husky
tazlin Mar 15, 2026
47639eb
lint: 80 print width, apply formatting everywhere
tazlin Mar 15, 2026
a8324d8
chore: ignore styling commit in git blame
tazlin Mar 15, 2026
bcc1c1e
lint: fix trivial angluar/ts/eslint lint violations
tazlin Mar 15, 2026
1995d36
fix/lint: more eslint resolutions; keypad support for model-dropdown
tazlin Mar 15, 2026
5eac1ff
cilint: typecheck, addtl. ESLint config, remove standalone flags
tazlin Mar 15, 2026
8ff451f
refactor: admin UI, toasts, dialogs, errors
tazlin Mar 15, 2026
b4fb5d1
feat: more raw json views (workers, styles, gens, profile)
tazlin Mar 15, 2026
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
1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
47639ebb536729c54ff9f49ceff28adb95e6b5af
83 changes: 83 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: CI

on:
push:
branches: [redesign]
pull_request:
branches: [redesign]

concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/setup-node@v4
with:
node-version: 24
cache: npm
- run: npm ci
- run: npm run lint

format-check:
name: Format Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/setup-node@v4
with:
node-version: 24
cache: npm
- run: npm ci
- run: npm run format:check

typecheck:
name: Type Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/setup-node@v4
with:
node-version: 24
cache: npm
- run: npm ci
- run: npx tsc --noEmit -p tsconfig.app.json

test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/setup-node@v4
with:
node-version: 24
cache: npm
- run: npm ci
- run: npx ng test --watch=false --browsers=ChromeHeadless

build:
name: Build
runs-on: ubuntu-latest
needs: [lint, format-check, typecheck, test]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/setup-node@v4
with:
node-version: 24
cache: npm
- run: npm ci
- run: npm run build
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "docs/haidra-assets"]
path = docs/haidra-assets
url = https://github.com/Haidra-Org/haidra-assets.git
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npx lint-staged
10 changes: 9 additions & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
@@ -1 +1,9 @@
{}
{
"tabWidth": 2,
"printWidth": 80,
"trailingComma": "all",
"bracketSpacing": true,
"semi": true,
"endOfLine": "lf",
"htmlWhitespaceSensitivity": "css"
}
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ ENV NG_CLI_ANALYTICS="false"

COPY . /app
WORKDIR /app
RUN yarn install
RUN yarn build
RUN npm ci
RUN npm run build

FROM node:20

Expand Down
17 changes: 13 additions & 4 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,13 @@
"budgets": [
{
"type": "initial",
"maximumWarning": "500kb",
"maximumError": "1mb"
"maximumWarning": "1000kb",
"maximumError": "1500kb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "4kb"
"maximumWarning": "3kb",
"maximumError": "5kb"
}
],
"outputHashing": "all"
Expand Down Expand Up @@ -110,8 +110,17 @@
},
"deploy": {
"builder": "angular-cli-ghpages:deploy"
},
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": ["src/**/*.ts", "src/**/*.html"]
}
}
}
}
},
"cli": {
"schematicCollections": ["angular-eslint"]
}
}
1 change: 1 addition & 0 deletions docs/haidra-assets
Submodule haidra-assets added at 311602
70 changes: 70 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
// @ts-check
const eslint = require("@eslint/js");
const { defineConfig } = require("eslint/config");
const tseslint = require("typescript-eslint");
const angular = require("angular-eslint");

module.exports = defineConfig(
{
files: ["**/*.ts"],
extends: [
eslint.configs.recommended,
...tseslint.configs.recommended,
...tseslint.configs.stylistic,
...angular.configs.tsRecommended,
],
processor: angular.processInlineTemplates,
rules: {
"@angular-eslint/directive-selector": [
"error",
{
type: "attribute",
prefix: "app",
style: "camelCase",
},
],
"@angular-eslint/component-selector": [
"error",
{
type: "element",
prefix: "app",
style: "kebab-case",
},
],
"@angular-eslint/prefer-on-push-component-change-detection": "error",
"@angular-eslint/no-host-metadata-property": "off",
"@angular-eslint/use-lifecycle-interface": "error",
"@angular-eslint/prefer-standalone": "error",
"@angular-eslint/prefer-inject": "error",
"@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/no-unused-vars": [
"error",
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
],
"@typescript-eslint/ban-ts-comment": [
"error",
{
"ts-expect-error": "allow-with-description",
"ts-ignore": true,
"ts-nocheck": true,
},
],
},
},
{
files: ["**/*.html"],
extends: [
...angular.configs.templateRecommended,
...angular.configs.templateAccessibility,
],
rules: {},
},
{
files: ["**/*.spec.ts"],
rules: {
"@angular-eslint/prefer-on-push-component-change-detection": "off",
"@angular-eslint/component-selector": "off",
"@angular-eslint/directive-selector": "off",
},
},
);
Loading
Loading