tac_two 1.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tac_two/__init__.py +25 -0
- tac_two/__main__.py +3 -0
- tac_two/frontend/.editorconfig +8 -0
- tac_two/frontend/.gitattributes +1 -0
- tac_two/frontend/.gitignore +42 -0
- tac_two/frontend/.oxlintrc.json +10 -0
- tac_two/frontend/.prettierrc.json +6 -0
- tac_two/frontend/README.md +69 -0
- tac_two/frontend/e2e/vue.spec.js +8 -0
- tac_two/frontend/eslint.config.js +42 -0
- tac_two/frontend/index.html +34 -0
- tac_two/frontend/jsconfig.json +8 -0
- tac_two/frontend/package-lock.json +5994 -0
- tac_two/frontend/package.json +50 -0
- tac_two/frontend/playwright.config.js +110 -0
- tac_two/frontend/public/design/README.txt +42 -0
- tac_two/frontend/public/design/design-tokens.json +34 -0
- tac_two/frontend/public/design/mochi-mascot.svg +20 -0
- tac_two/frontend/public/design/tac2-app-icon.svg +8 -0
- tac_two/frontend/public/design/tac2-extra-icons.svg +55 -0
- tac_two/frontend/public/design/tac2-interface-icons.svg +13 -0
- tac_two/frontend/public/design/tac2-logo.svg +13 -0
- tac_two/frontend/public/favicon.ico +0 -0
- tac_two/frontend/src/App.vue +197 -0
- tac_two/frontend/src/assets/base.css +86 -0
- tac_two/frontend/src/assets/main.css +203 -0
- tac_two/frontend/src/components/HelloWorld.vue +44 -0
- tac_two/frontend/src/components/TheWelcome.vue +95 -0
- tac_two/frontend/src/components/WelcomeItem.vue +86 -0
- tac_two/frontend/src/components/__tests__/HelloWorld.spec.js +11 -0
- tac_two/frontend/src/components/icons/IconCommunity.vue +7 -0
- tac_two/frontend/src/components/icons/IconDocumentation.vue +7 -0
- tac_two/frontend/src/components/icons/IconEcosystem.vue +7 -0
- tac_two/frontend/src/components/icons/IconSupport.vue +7 -0
- tac_two/frontend/src/components/icons/IconTooling.vue +19 -0
- tac_two/frontend/src/main.js +13 -0
- tac_two/frontend/src/router/index.js +55 -0
- tac_two/frontend/src/settings.js +31 -0
- tac_two/frontend/src/stores/counter.js +12 -0
- tac_two/frontend/src/views/AuthView.vue +639 -0
- tac_two/frontend/src/views/HomeView.vue +198 -0
- tac_two/frontend/src/views/HowToPlayView.vue +479 -0
- tac_two/frontend/src/views/PlayView.vue +567 -0
- tac_two/frontend/src/views/ProfileView.vue +430 -0
- tac_two/frontend/src/views/RankingsView.vue +365 -0
- tac_two/frontend/tests/App.test.js +58 -0
- tac_two/frontend/vite.config.js +20 -0
- tac_two/frontend/vitest.config.js +21 -0
- tac_two-1.0.0.dist-info/METADATA +293 -0
- tac_two-1.0.0.dist-info/RECORD +52 -0
- tac_two-1.0.0.dist-info/WHEEL +4 -0
- tac_two-1.0.0.dist-info/licenses/LICENSE +201 -0
tac_two/__init__.py
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
logging.basicConfig(level=logging.DEBUG)
|
|
5
|
+
logger = logging.getLogger("tac_two")
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
# this is the initial module of your app
|
|
9
|
+
# this is executed whenever some client-code is calling `import tac_two` or `from tac_two import ...`
|
|
10
|
+
# put your main classes here, eg:
|
|
11
|
+
class MyClass:
|
|
12
|
+
def my_method(self):
|
|
13
|
+
return "Hello World"
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def main():
|
|
17
|
+
# this is the main module of your app
|
|
18
|
+
# it is only required if your project must be runnable
|
|
19
|
+
# this is the script to be executed whenever some users writes `python -m tac_two` on the command line, eg.
|
|
20
|
+
x = MyClass().my_method()
|
|
21
|
+
print(x)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# let this be the last line of this file
|
|
25
|
+
logger.info("tac_two loaded")
|
tac_two/__main__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
* text=auto eol=lf
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Logs
|
|
2
|
+
logs
|
|
3
|
+
*.log
|
|
4
|
+
npm-debug.log*
|
|
5
|
+
yarn-debug.log*
|
|
6
|
+
yarn-error.log*
|
|
7
|
+
pnpm-debug.log*
|
|
8
|
+
lerna-debug.log*
|
|
9
|
+
|
|
10
|
+
node_modules
|
|
11
|
+
.DS_Store
|
|
12
|
+
dist
|
|
13
|
+
dist-ssr
|
|
14
|
+
coverage
|
|
15
|
+
*.local
|
|
16
|
+
|
|
17
|
+
# Editor directories and files
|
|
18
|
+
.vscode/*
|
|
19
|
+
!.vscode/extensions.json
|
|
20
|
+
.idea
|
|
21
|
+
*.suo
|
|
22
|
+
*.ntvs*
|
|
23
|
+
*.njsproj
|
|
24
|
+
*.sln
|
|
25
|
+
*.sw?
|
|
26
|
+
|
|
27
|
+
*.tsbuildinfo
|
|
28
|
+
|
|
29
|
+
.eslintcache
|
|
30
|
+
|
|
31
|
+
# Cypress
|
|
32
|
+
/cypress/videos/
|
|
33
|
+
/cypress/screenshots/
|
|
34
|
+
|
|
35
|
+
# Vitest
|
|
36
|
+
__screenshots__/
|
|
37
|
+
|
|
38
|
+
# Vite
|
|
39
|
+
*.timestamp-*-*.mjs
|
|
40
|
+
|
|
41
|
+
test-results/
|
|
42
|
+
playwright-report/
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# .
|
|
2
|
+
|
|
3
|
+
This template should help get you started developing with Vue 3 in Vite.
|
|
4
|
+
|
|
5
|
+
## Recommended IDE Setup
|
|
6
|
+
|
|
7
|
+
[VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).
|
|
8
|
+
|
|
9
|
+
## Recommended Browser Setup
|
|
10
|
+
|
|
11
|
+
- Chromium-based browsers (Chrome, Edge, Brave, etc.):
|
|
12
|
+
- [Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd)
|
|
13
|
+
- [Turn on Custom Object Formatter in Chrome DevTools](http://bit.ly/object-formatters)
|
|
14
|
+
- Firefox:
|
|
15
|
+
- [Vue.js devtools](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/)
|
|
16
|
+
- [Turn on Custom Object Formatter in Firefox DevTools](https://fxdx.dev/firefox-devtools-custom-object-formatters/)
|
|
17
|
+
|
|
18
|
+
## Customize configuration
|
|
19
|
+
|
|
20
|
+
See [Vite Configuration Reference](https://vite.dev/config/).
|
|
21
|
+
|
|
22
|
+
## Project Setup
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
npm install
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Compile and Hot-Reload for Development
|
|
29
|
+
|
|
30
|
+
```sh
|
|
31
|
+
npm run dev
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Compile and Minify for Production
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
npm run build
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Run Unit Tests with [Vitest](https://vitest.dev/)
|
|
41
|
+
|
|
42
|
+
```sh
|
|
43
|
+
npm run test:unit
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Run End-to-End Tests with [Playwright](https://playwright.dev)
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
# Install browsers for the first run
|
|
50
|
+
npx playwright install
|
|
51
|
+
|
|
52
|
+
# When testing on CI, must build the project first
|
|
53
|
+
npm run build
|
|
54
|
+
|
|
55
|
+
# Runs the end-to-end tests
|
|
56
|
+
npm run test:e2e
|
|
57
|
+
# Runs the tests only on Chromium
|
|
58
|
+
npm run test:e2e -- --project=chromium
|
|
59
|
+
# Runs the tests of a specific file
|
|
60
|
+
npm run test:e2e -- tests/example.spec.ts
|
|
61
|
+
# Runs the tests in debug mode
|
|
62
|
+
npm run test:e2e -- --debug
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Lint with [ESLint](https://eslint.org/)
|
|
66
|
+
|
|
67
|
+
```sh
|
|
68
|
+
npm run lint
|
|
69
|
+
```
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { test, expect } from '@playwright/test'
|
|
2
|
+
|
|
3
|
+
// See here how to get started:
|
|
4
|
+
// https://playwright.dev/docs/intro
|
|
5
|
+
test('visits the app root url', async ({ page }) => {
|
|
6
|
+
await page.goto('/')
|
|
7
|
+
await expect(page.locator('h1')).toHaveText('You did it!')
|
|
8
|
+
})
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { defineConfig, globalIgnores } from 'eslint/config'
|
|
2
|
+
import globals from 'globals'
|
|
3
|
+
import js from '@eslint/js'
|
|
4
|
+
import pluginVue from 'eslint-plugin-vue'
|
|
5
|
+
import pluginPlaywright from 'eslint-plugin-playwright'
|
|
6
|
+
import pluginVitest from '@vitest/eslint-plugin'
|
|
7
|
+
import pluginOxlint from 'eslint-plugin-oxlint'
|
|
8
|
+
import skipFormatting from 'eslint-config-prettier/flat'
|
|
9
|
+
|
|
10
|
+
export default defineConfig([
|
|
11
|
+
{
|
|
12
|
+
name: 'app/files-to-lint',
|
|
13
|
+
files: ['**/*.{vue,js,mjs,jsx}'],
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**']),
|
|
17
|
+
|
|
18
|
+
{
|
|
19
|
+
languageOptions: {
|
|
20
|
+
globals: {
|
|
21
|
+
...globals.browser,
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
js.configs.recommended,
|
|
27
|
+
...pluginVue.configs['flat/essential'],
|
|
28
|
+
|
|
29
|
+
{
|
|
30
|
+
...pluginPlaywright.configs['flat/recommended'],
|
|
31
|
+
files: ['e2e/**/*.{test,spec}.{js,ts,jsx,tsx}'],
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
{
|
|
35
|
+
...pluginVitest.configs.recommended,
|
|
36
|
+
files: ['src/**/__tests__/*'],
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
...pluginOxlint.buildFromOxlintConfigFile('.oxlintrc.json'),
|
|
40
|
+
|
|
41
|
+
skipFormatting,
|
|
42
|
+
])
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="/design/tac2-app-icon.svg">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
<title>Tac²</title>
|
|
8
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
+
<link
|
|
11
|
+
href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Fraunces:opsz,wght@9..144,600;9..144,800&display=swap"
|
|
12
|
+
rel="stylesheet"
|
|
13
|
+
>
|
|
14
|
+
</head>
|
|
15
|
+
<body>
|
|
16
|
+
<!-- Icons from the design kit. App.vue uses them with <use href="#name"> -->
|
|
17
|
+
<svg xmlns="http://www.w3.org/2000/svg" style="display:none">
|
|
18
|
+
<symbol id="home" viewBox="0 0 24 24"><path d="m3 10 9-7 9 7M5 9v11h14V9M9 20v-6h6v6"/></symbol>
|
|
19
|
+
<symbol id="play" viewBox="0 0 24 24"><path d="m8 5 11 7-11 7V5Z"/></symbol>
|
|
20
|
+
<symbol id="learn" viewBox="0 0 24 24"><path d="M4 5.5A3.5 3.5 0 0 1 7.5 2H11v18H7.5A3.5 3.5 0 0 0 4 23.5v-18ZM20 5.5A3.5 3.5 0 0 0 16.5 2H13v18h3.5a3.5 3.5 0 0 1 3.5 3.5v-18Z"/></symbol>
|
|
21
|
+
<symbol id="trophy" viewBox="0 0 24 24"><path d="M8 3h8v5a4 4 0 0 1-8 0V3ZM8 5H4v2a4 4 0 0 0 4 4M16 5h4v2a4 4 0 0 1-4 4M12 12v5M8 21h8M9 17h6"/></symbol>
|
|
22
|
+
<symbol id="profile" viewBox="0 0 24 24"><circle cx="12" cy="8" r="4"/><path d="M4 22a8 8 0 0 1 16 0"/></symbol>
|
|
23
|
+
<symbol id="computer" viewBox="0 0 24 24"><rect x="4" y="7" width="16" height="12" rx="4"/><path d="M12 3v4M8 12h.01M16 12h.01M9 16h6"/></symbol>
|
|
24
|
+
<symbol id="friends" viewBox="0 0 24 24"><circle cx="9" cy="8" r="3"/><circle cx="17" cy="9" r="2.5"/><path d="M3 20a6 6 0 0 1 12 0M14 15a5 5 0 0 1 7 4.5"/></symbol>
|
|
25
|
+
<symbol id="online" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18"/></symbol>
|
|
26
|
+
<symbol id="clock" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></symbol>
|
|
27
|
+
<symbol id="spark" viewBox="0 0 24 24"><path d="m12 3 1.3 4.2L17 9l-3.7 1.8L12 15l-1.3-4.2L7 9l3.7-1.8L12 3Zm7 13 .7 2.3L22 19l-2.3.7L19 22l-.7-2.3L16 19l2.3-.7L19 16Z"/></symbol>
|
|
28
|
+
<symbol id="download" viewBox="0 0 24 24"><path d="M12 3v12M7 10l5 5 5-5M4 20h16"/></symbol>
|
|
29
|
+
</svg>
|
|
30
|
+
|
|
31
|
+
<div id="app"></div>
|
|
32
|
+
<script type="module" src="/src/main.js"></script>
|
|
33
|
+
</body>
|
|
34
|
+
</html>
|