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

UI Kit Migration: Bulma -> Vue + TailwindCSS #291

Merged
merged 60 commits into from
Dec 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
7766264
Start moving to vue/tailwind
grimsteel Jul 31, 2023
cbca2f2
Update dependencies
grimsteel Jul 31, 2023
b54c08b
Flashcard, Home Page
IMGROOT2 Jul 31, 2023
4857cea
Homepage, credits, auth, and more!
grimsteel Aug 1, 2023
d4eb702
Try to prompt preview link to regenerate
IMGROOT2 Aug 1, 2023
d40533b
Get eslint working again, fix TLA in main.ts
grimsteel Aug 1, 2023
2e4ca2a
Add nikhil's photo
grimsteel Aug 1, 2023
3adaa50
Add + Edit Photos, QOL
IMGROOT2 Aug 1, 2023
507be4f
Login and improved sets on home page
grimsteel Aug 2, 2023
03665da
A week's worth of programming
IMGROOT2 Aug 2, 2023
03f8da7
Many many static pages and auth
grimsteel Aug 3, 2023
9fc9082
Theme switcher!
IMGROOT2 Aug 3, 2023
f8f89ac
Change theme-color meta tag
IMGROOT2 Aug 3, 2023
aed9c76
Make the theme switcher reactive
grimsteel Aug 3, 2023
0b336a4
Loading indicator and QOL
grimsteel Aug 3, 2023
990d0bf
Add vue extensions to chunk pages
grimsteel Aug 3, 2023
be8c765
Auth, static pages, UI, theme, search, help center, 404
IMGROOT2 Aug 3, 2023
565fbb9
My Sets
grimsteel Aug 5, 2023
57e5eb1
Fix all workflows and get started on collection selection
grimsteel Aug 6, 2023
afdad3b
Remove useless files
IMGROOT2 Aug 6, 2023
661dca4
A few small changes
IMGROOT2 Aug 6, 2023
fb6f8fd
Fix eslint issues
grimsteel Aug 6, 2023
8dc4034
Finish search and get started on editor
grimsteel Aug 6, 2023
2f2cacc
Saved sets and general QoL
grimsteel Aug 7, 2023
d20b12d
Minor QoL changes
grimsteel Aug 8, 2023
402dbb7
Modularize workflows, set editor
grimsteel Aug 8, 2023
7f7beda
Fix workflows
grimsteel Aug 8, 2023
3d001ca
Optimiations and further set editor
grimsteel Aug 8, 2023
8f39601
Guide editor and many updates
grimsteel Aug 9, 2023
9e22e44
LOTE levels, create new guide, scroll collections
grimsteel Aug 9, 2023
0519ff9
Set overview
grimsteel Aug 11, 2023
8b99428
Update README.md
IMGROOT2 Aug 19, 2023
a379e24
OLC, Generate preview
IMGROOT2 Aug 29, 2023
199f99a
Make a few edits
IMGROOT2 Sep 5, 2023
497ed0d
Start working on starred terms
grimsteel Sep 6, 2023
62016bf
Starred terms, start flashcards
grimsteel Sep 11, 2023
a091967
Finish flashcards
grimsteel Sep 25, 2023
0de085a
Get started on learn
grimsteel Sep 26, 2023
64afd3f
Minor gitpod stuff
grimsteel Sep 30, 2023
d9b391f
Reload Preview
IMGROOT2 Oct 9, 2023
d1f2ca0
Learn mode
grimsteel Oct 11, 2023
38b11ac
Fix learn override (in) correct
grimsteel Oct 11, 2023
19d4698
Improve override: (in)correct and implement most missed terms
grimsteel Oct 12, 2023
6744467
Finish up learn mode
grimsteel Oct 15, 2023
b5d7480
Componentize study mode config
grimsteel Oct 16, 2023
3ae62d9
Finish test mode
grimsteel Nov 20, 2023
a90534a
Add match mode
grimsteel Nov 20, 2023
6d204b2
Set viewer - study guides
grimsteel Nov 20, 2023
a64b62c
Autosave backups
grimsteel Nov 21, 2023
6bb28e4
🗑️
grimsteel Nov 21, 2023
af99d61
Optimizations - chunking
grimsteel Nov 21, 2023
37dc39f
Random SEO/A11Y fixes
grimsteel Nov 21, 2023
822d49c
A11Y and loading improvements
grimsteel Nov 21, 2023
568ab8a
PWA + Caching support
grimsteel Nov 24, 2023
7e2e58a
Markdown and pwa fixes
grimsteel Nov 24, 2023
57e5b6a
Add support for offline sets
grimsteel Nov 26, 2023
960bb04
refresh firebase preview
IMGROOT2 Dec 4, 2023
d23f908
Custom collections
grimsteel Dec 5, 2023
d3cded7
Quizlet source importing
grimsteel Dec 15, 2023
2a607cc
Finish custom collections
grimsteel Dec 16, 2023
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
29 changes: 22 additions & 7 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,26 +1,41 @@
{
"env": {
"browser": true,
"es2021": true
"es2021": true,
"node": true
},
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/strict-type-checked",
"plugin:@typescript-eslint/stylistic-type-checked",
"plugin:vue/vue3-recommended"
],
"overrides": [
],
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
"sourceType": "module",
"project": true,
"extraFileExtensions": [".vue"],
"parser": "@typescript-eslint/parser"
},
"parser": "vue-eslint-parser",
"plugins": ["@typescript-eslint"],
"parser": "@typescript-eslint/parser",
"rules": {
"no-unused-vars": "off",
"no-undef": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }]
"@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }],
"@typescript-eslint/no-misused-promises": "off",
"vue/html-indent": ["warn", 4],
"vue/max-attributes-per-line": "off",
"vue/singleline-html-element-content-newline": "off",
"vue/multi-word-component-names": "off",
"vue/v-on-event-hyphenation": "off"
},
"globals": {
"process": true,
"setHue": true
"process": true
}
}
3 changes: 0 additions & 3 deletions .firebaserc
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@
],
"vocabustudy": [
"vocabustudyonline"
],
"nightly": [
"vocabustudyonline--nightly-q9kbiq6r"
]
}
}
Expand Down
44 changes: 44 additions & 0 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Build and Deploy
on:
workflow_call:
inputs:
artifact-retention-days:
description: 'Number of days to retain build artifacts'
required: false
default: 1
type: number
expires:
required: false
default: "7d"
type: string
channelId:
required: false
type: string
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
name: Cache node modules
id: cache-npm
with:
path: ~/.npm
key: ${{ runner.os }}-build-npm-cache-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-npm-cache-
- run: npm ci
name: Install dependencies
- run: npm run build
name: Build
env:
CF_API_TOKEN: '${{ secrets.CF_API_TOKEN }}'
CF_ZONE_ID: '${{ secrets.CF_ZONE_ID }}'
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_VOCAB_U_STUDY }}'
projectId: vocab-u-study
target: "vocabustudy"
expires: ${{ inputs.expires }}
channelId: ${{ inputs.channelId }}
26 changes: 7 additions & 19 deletions .github/workflows/firebase-hosting-manual.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,9 @@
name: Manual Deploy
'on':
workflow_dispatch
on: workflow_dispatch
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.16.0
cache: "npm"
- run: npm ci && npm run build
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_VOCAB_U_STUDY }}'
channelId: preview
expires: 1d
projectId: vocab-u-study
target: "vocabustudy"
build-and-deploy:
uses: ./.github/workflows/build-and-deploy.yml
secrets: inherit
with:
channelId: preview
expires: "1d"
22 changes: 4 additions & 18 deletions .github/workflows/firebase-hosting-pull-request.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,7 @@
# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools

name: PR Hosting Preview
'on': pull_request
on: pull_request
jobs:
build_and_preview:
build-and-deploy:
uses: ./.github/workflows/build-and-deploy.yml
if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.16.0
- run: npm ci && npm run build
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_VOCAB_U_STUDY }}'
projectId: vocab-u-study
target: "vocabustudy"
secrets: inherit
32 changes: 0 additions & 32 deletions .github/workflows/firebase-hosting-release-nightly.yml

This file was deleted.

35 changes: 7 additions & 28 deletions .github/workflows/firebase-hosting-release-stable.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,11 @@
name: Deploy Stable
'on':
on:
release:
types: [released]
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.16.0
- run: npm ci && npm run build
# - name: Create Sentry Release
# uses: getsentry/action-release@v1
# env:
# SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_RELEASES_TOKEN }}
# SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
# SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
# with:
# environment: 'production'
# sourcemaps: './dist'
# version: ${{ github.event.release.tag_name }}
# version_prefix: vocabustudy@
# - run: npm run delete-maps
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_VOCAB_U_STUDY }}'
channelId: live
projectId: vocab-u-study
target: "vocabustudy"
build-and-deploy:
uses: ./.github/workflows/build-and-deploy.yml
secrets: inherit
with:
artifact-retention-days: 7
channelId: live
8 changes: 2 additions & 6 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,10 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.16.0
node-version: 18
- run: npm ci
- name: Run Linters
uses: wearerequired/lint-action@v2
with:
eslint: true
eslint_extensions: js
stylelint: true
stylelint_extensions: scss,css
- name: Lint Pug
run: npx pug-lint src/*.pug
eslint_extensions: ts,vue
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,9 @@ rd/
parcel-bundle-reports/
.replit
replit.nix
.postcssrc.json
.postcssrc.json
.env*.local

# rollup-plugin-visualizer output
stats.html
stats.yml
15 changes: 14 additions & 1 deletion .gitpod.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
tasks:
- init: npm ci && npm i -g firebase-tools
command: npm run build
command: npm run dev

ports:
- name: Vite
port: 5173
onOpen: "open-browser"
- name: Firestore Emulator
port: 8080
visibility: public
onOpen: ignore
- name: Auth Emulator
port: 9099
visibility: public
onOpen: ignore

additionalRepositories:
- url: https://github.com/For-0/vocabustudy-internals
Expand Down
3 changes: 0 additions & 3 deletions .htmlnanorc

This file was deleted.

8 changes: 0 additions & 8 deletions .postcssrc.prod.json

This file was deleted.

17 changes: 0 additions & 17 deletions .pug-lintrc.json

This file was deleted.

3 changes: 0 additions & 3 deletions .sassrc.json

This file was deleted.

14 changes: 0 additions & 14 deletions .stylelintrc.json

This file was deleted.

6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<a href="https://vocabustudy.org/"><img src="https://raw.githubusercontent.com/For-0/vocabustudy/main/src/icons/icon-192.png" align="center"></a>
</p>
<h1 align="center">Vocabustudy - Study Vocab, For Free.</h1>
<div align="center">
<div align="center" >
<a href="https://vocabustudy.org/"><img src="https://img.shields.io/github/v/release/for-0/vocabustudy?label=latest%20version&amp;style=for-the-badge" alt="GitHub release (latest by date)"></a>
<a href="https://nightly.vocabustudy.org/"><img src="https://img.shields.io/github/v/release/for-0/vocabustudy?include_prereleases&amp;label=latest%20nightly&amp;style=for-the-badge" alt="GitHub release (latest by date including pre-releases)"></a>
<img alt="GitHub Workflow Status (with event)" src="https://img.shields.io/github/actions/workflow/status/for-0/vocabustudy/lint.yml?event=push&label=lint&logo=eslint&style=for-the-badge">
Expand All @@ -15,7 +15,7 @@
<img src="https://img.shields.io/badge/Offline-In%20Progress-yellow?style=for-the-badge" alt="Editable on Chromebooks">
<br>
<br>
<p>Vocabustudy is a <b>simplistic tool</b> for <b>studying Vocabulary</b>. Vocabustudy is created <b>by students, for students</b>.</p>
<p>Vocabustudy is a <b>simplistic tool</b> for <b>studying Vocabulary</b>. Vocabustudy is created <b>by students, for students</b>.</p>
<p>No Ads - Always Free - No Account Needed - Feedback is Welcome!</p>
</div>
<h2>What is Nightly?</h2>
Expand All @@ -29,7 +29,7 @@
</li>
<li>Install NPM packages: <code>npm install</code> (Make sure you have <a href="https://nodejs.org/en/">Node.JS</a> installed)</li>
<li>Install <code>firebase-tools</code> <strong>globally</strong>: <code>npm install -g firebase-tools</code></li>
<li>Start <a href="https://parceljs.org">Parcel</a>: <code>npm run watch</code></li>
<li>Start <a href="https://vitejs.dev/">Vite</a>: <code>npm run dev</code></li>
<li>Start the Firebase Emulator (Make sure you have Java installed and on your path): <code>npm run emulator</code></li>
</ol>
</body>
Expand Down
Loading