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

Vue3 prep #226

Merged
merged 89 commits into from
May 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
916e815
Get the app to run at all
zusorio Feb 6, 2024
0ae985c
Migrate to the new transition css class names
zusorio Feb 6, 2024
e8828cb
It doesnt work but it's a start i guess
zusorio Feb 6, 2024
ccb977d
Update bootstrap
zusorio Apr 23, 2024
757c3bf
Remove .native event listeners
zusorio Apr 23, 2024
ea06360
Update marked
zusorio Apr 23, 2024
6c58dce
Remove filter
zusorio Apr 23, 2024
5afc650
Update timezone settings to use pinia
zusorio Apr 23, 2024
012140c
beforeDestroy -> beforeUnmount
zusorio Apr 23, 2024
3d94dd2
VueMeta -> unhead
zusorio Apr 23, 2024
f5efc33
Make search input be from bootstrap
zusorio Apr 23, 2024
f9dabce
v-bind:key -> :key
zusorio Apr 23, 2024
d27af70
new array watch behavior
zusorio Apr 23, 2024
5b0d603
new render function
zusorio Apr 23, 2024
4836eff
Move VueConfetti to main for now because the global Vue instance shou…
zusorio Apr 23, 2024
34341ae
Remove productionTip = false
zusorio Apr 23, 2024
7703dc0
Update youtube and tweet components
zusorio Apr 23, 2024
aede991
Get auth to work, kinda
zusorio Apr 23, 2024
c30e460
Remove .env
zusorio Apr 23, 2024
fd0fd2e
Add .env to gitignore
zusorio Apr 23, 2024
a078d77
Start rework of auth, bunch of minor bootstrap fixes, start socket re…
zusorio Apr 24, 2024
4c7ea61
Update TokenModal to new system and add Companion link
slmnio Apr 24, 2024
0cf2ba2
Move Vite config to mjs
slmnio Apr 24, 2024
6c1e463
Remove old bootstrap version
slmnio Apr 24, 2024
fb0340d
Add lookups for authed user, only persist token
slmnio Apr 24, 2024
05bf606
Use auth store instead of passing $root.auth
slmnio Apr 24, 2024
0a49db4
Fix some bugs that have been in the code forever
slmnio Apr 24, 2024
b854fea
Fix some Vue/Bootstrap upgrade changes
slmnio Apr 24, 2024
f79af0a
Reconnecting socket things and tidying
slmnio Apr 24, 2024
7f7a3af
Connect socket to $options.sockets in components
slmnio Apr 24, 2024
7dc6cde
Few minor map display changes
slmnio Apr 24, 2024
e02320e
Socket function rewrite because I didn't read the docs
slmnio Apr 24, 2024
f1a7eee
Fix tables
slmnio Apr 24, 2024
848d056
Fix dashboard countdown button
zusorio Apr 24, 2024
283663b
Re-add prod broadcast join
zusorio Apr 24, 2024
9b22107
Fix invisible show cams button
zusorio Apr 24, 2024
8cfd2ff
>>> -> :deep()
zusorio Apr 25, 2024
b7c3690
Minor fixes
zusorio Apr 25, 2024
24f92a2
Remove @vue/compat 🎉
zusorio Apr 25, 2024
1c0dd18
remove $set
zusorio Apr 25, 2024
94fd4c1
removing past auth
zusorio Apr 25, 2024
f48d516
Sending it (unfinished dashboard typescript changes)
zusorio Apr 25, 2024
201d3d1
Inline authenticatedResponse in all files
slmnio Apr 26, 2024
e051cd7
Removed tweet overlay
slmnio Apr 26, 2024
11ca7eb
Lint fixes: prefer-optional-chain, prefer-nullish-coalescing, array-c…
slmnio Apr 26, 2024
04a9758
Turn v-if chain into v-else-if to fix transition
zusorio Apr 28, 2024
3f41c48
Update broadcast switcher to work with vue 3 and clean it up a bit
zusorio Apr 28, 2024
193636c
Update more modals to use new footer slot name
zusorio Apr 28, 2024
5b2e7fe
Update break automation tab to use new syntax for checkbox groups
zusorio Apr 28, 2024
3256547
Allow unescapeText to handle empty strings and other invalid input
zusorio Apr 28, 2024
b2c89d6
Fix buttons turning invisible when they should be secondary
zusorio Apr 28, 2024
85a7afb
Update Primary/Secondary buttons to work with new events
zusorio Apr 28, 2024
8d5695f
Move map images off discord cause they broke their cdn :(
zusorio Apr 28, 2024
b23ec3e
Fix auth next not working and remove old auth remains
zusorio Apr 28, 2024
5e979b7
Move edit in timezone to settingsStore
zusorio Apr 28, 2024
c4513f2
Fix some todos and eslint-disable-next-line, moved old js to deprecat…
slmnio May 1, 2024
eb9b3d2
Add linting to server and fix some errors
slmnio May 1, 2024
f28758d
Use a map to avoid dynamic deleting
slmnio May 1, 2024
297567c
Merge branch 'zusorio:vue3' (#224)
slmnio May 2, 2024
baa8c49
Fix first time build errors
slmnio May 2, 2024
3a7d1b4
Update recent changes to new vue3 standard
slmnio May 2, 2024
33a120e
Minor fix no-unsafe-optional-chaining
slmnio May 2, 2024
6fe90cf
Fix old socket references and change vue3 router view ref behaviour
slmnio May 2, 2024
aba9ec7
Bootstrap breaking changes fixes
slmnio May 2, 2024
53b41b7
Few more bootstrap changes caught
slmnio May 2, 2024
2d36f7b
Fix vue transition v-else-if stack
slmnio May 2, 2024
7e5cbd8
Add clash files
slmnio May 2, 2024
74adf70
Fixing vue breaking changes - transition/transition-group rendering e…
slmnio May 2, 2024
4d633f0
Update BroadcastMapDisplays which were mistakenly still MapDisplays
zusorio May 6, 2024
198f239
Get rid of tweet component
zusorio May 6, 2024
77a22d7
Fix stinger animation
slmnio May 6, 2024
ab44b4e
Fix squeezable text - ugly but seems to work
slmnio May 6, 2024
b27a7db
Update some component to stores and move to pinia stores
slmnio May 6, 2024
eb1cd0b
Fixes to breaking changes and making sure everything works
slmnio May 6, 2024
d5f3555
Update metadata (favicons, titles)
slmnio May 6, 2024
b652602
Add new buttons to the Dashboard for better use without a streamdeck
slmnio May 6, 2024
1836cf3
Fix foldy sheet page
slmnio May 6, 2024
872c2ef
Fix linting errors
slmnio May 6, 2024
cf85235
Move bracket highlights to pinia store
zusorio May 7, 2024
315ff89
Use pinia for timezones in places we missed
zusorio May 7, 2024
9da9024
Fix linter
zusorio May 7, 2024
ce29152
Get rid of vue cookies
zusorio May 7, 2024
65646b1
Move all map icons except clash to be svgs
zusorio May 7, 2024
acd6aca
Move last match pages to pinia store
zusorio May 7, 2024
6156829
Move to a pnpm monorepo and single flat eslint config
zusorio May 7, 2024
fca415a
Get rid of a bunch of leftover PWA stuff
zusorio May 7, 2024
fc2a3a2
Try to fix CI
zusorio May 7, 2024
4526588
Fix some linter issues
zusorio May 7, 2024
0983302
Use cookies for auth store
zusorio May 7, 2024
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
  •  
  •  
  •  
16 changes: 10 additions & 6 deletions .github/workflows/node.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,31 @@ on:
jobs:
build:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
folder: [website, server]

steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 9
- name: Use Node.js 18.20.2
uses: actions/setup-node@v4
with:
node-version: 18.20.2
cache: 'yarn'
cache-dependency-path: ./${{ matrix.folder }}/yarn.lock
cache: 'pnpm'
cache-dependency-path: ./pnpm-lock.yaml

- name: "${{ matrix.folder }}: install"
run: yarn install --immutable --immutable-cache --check-cache
run: pnpm install
working-directory: ./${{ matrix.folder }}
- name: "${{ matrix.folder }}: lint"
run: yarn lint
run: pnpm lint
working-directory: ./${{ matrix.folder }}
- name: "${{ matrix.folder }}: build"
run: yarn build
run: pnpm build
working-directory: ./${{ matrix.folder }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules
.idea
.env
148 changes: 148 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
import js from "@eslint/js";
import tseslint from "typescript-eslint";
import pluginVue from "eslint-plugin-vue";
import globals from "globals";


export default [
js.configs.recommended,
...tseslint.configs.recommended,
...pluginVue.configs["flat/strongly-recommended"],
{
ignores: ["server/src/_deprecated/*"]
},
{
files: ["server/**/*.js"],
languageOptions: {
globals: {
...globals.node,
}
},
rules: {
"@typescript-eslint/no-var-requires": "off",
}
},
{
files: ["**/*.js", "**/*.vue", "**/*.ts"],
rules: {
"linebreak-style": [
"error",
"unix"
],

"indent": [
"error",
4
],
"@typescript-eslint/indent": "off",

"quotes": [
"error",
"double"
],
"@typescript-eslint/quotes": "off",

"semi": [
"error",
"always"
],
"@typescript-eslint/semi": "off",

"no-unused-vars": [
"warn"
],
"@typescript-eslint/no-unused-vars": "off",

"no-empty": "warn",

"no-multiple-empty-lines": ["warn", { "max": 2 }],
"no-trailing-spaces": ["warn"],
"space-before-function-paren": "off",
"no-throw-literal": "off",
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/space-before-function-paren": "off",
"@typescript-eslint/return-await": "off",

// useful if we ts-ify everything, but not now
"@typescript-eslint/strict-boolean-expressions": "off",
"@typescript-eslint/restrict-template-expressions": "off",
"@typescript-eslint/restrict-plus-operands": "off",
"@typescript-eslint/promise-function-async": "off",
"@typescript-eslint/no-explicit-any": "off",
"vue/block-lang": "off",

// good to go through eventually
"@typescript-eslint/no-floating-promises": "off",
"@typescript-eslint/no-misused-promises": "off",
"@typescript-eslint/no-implied-eval": "off",

// vue specific stuff
"vue/multi-word-component-names": "off",
"vue/html-indent": ["error", 4],
"vue/max-attributes-per-line": ["error", {
"singleline": {
"max": 4
},
"multiline": {
"max": 1
}
}],
"vue/singleline-html-element-content-newline": "off",
"vue/require-prop-types": "off",
"vue/require-default-prop": "off",
"vue/html-closing-bracket-newline": "off",
"vue/html-self-closing": ["error", {
"html": {
"void": "never",
"normal": "never",
"component": "always"
},
"svg": "always",
"math": "always"
}],
"vue/attributes-order": "error",
"vue/order-in-components": ["error", {
"order": [
"el",
"name",
"key",
"parent",
"functional",
["delimiters", "comments"],
["components", "directives", "filters"],
"extends",
"mixins",
["provide", "inject"],
"ROUTER_GUARDS",
"layout",
"middleware",
"validate",
"scrollToTop",
"transition",
"loading",
"inheritAttrs",
"model",
["props", "propsData"],
"emits",
"setup",
"asyncData",
"data",
"fetch",
"computed",
"methods",
"watch",
"sockets",
"watchQuery",
"LIFECYCLE_HOOKS",
["template", "render"],
"renderError",
"head",
]
}]

},
languageOptions: {
ecmaVersion: "latest"
},
}
];
14 changes: 14 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"name": "slmngg-sfc",
"private": true,
"devDependencies": {
"@eslint/js": "^9.2.0",
"eslint": "^8",
"eslint-plugin-vue": "^9.23.0",
"globals": "^15.1.0",
"postcss-html": "^1.6.0",
"typescript": "^5.4.5",
"typescript-eslint": "^7.8.0"
},
"packageManager": "[email protected]"
}
Loading