decisions
This commit is contained in:
parent
562f6ab1f2
commit
0d559c9365
13 changed files with 78 additions and 11 deletions
7
package-lock.json
generated
7
package-lock.json
generated
|
@ -15,6 +15,7 @@
|
|||
"axios": "^0.26.1",
|
||||
"jwt-decode": "^4.0.0",
|
||||
"lodash.clonedeep": "^4.5.0",
|
||||
"lodash.difference": "^4.5.0",
|
||||
"lodash.isequal": "^4.5.0",
|
||||
"nprogress": "^0.2.0",
|
||||
"pdf-dist": "^1.0.0",
|
||||
|
@ -6702,6 +6703,12 @@
|
|||
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/lodash.difference": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
|
||||
"integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lodash.isequal": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
"axios": "^0.26.1",
|
||||
"jwt-decode": "^4.0.0",
|
||||
"lodash.clonedeep": "^4.5.0",
|
||||
"lodash.difference": "^4.5.0",
|
||||
"lodash.isequal": "^4.5.0",
|
||||
"nprogress": "^0.2.0",
|
||||
"pdf-dist": "^1.0.0",
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import type { AxiosInstance } from "axios";
|
||||
import type { RouteLocationNormalizedLoaded, Router } from "vue-router";
|
||||
|
||||
declare module "@vue/runtime-core" {
|
||||
interface ComponentCustomProperties {
|
||||
$dev: boolean;
|
||||
$http: AxiosInstance;
|
||||
$router: Router;
|
||||
$route: RouteLocationNormalizedLoaded;
|
||||
}
|
||||
|
|
31
src/main.css
31
src/main.css
|
@ -56,8 +56,8 @@ body {
|
|||
@apply w-full h-full overflow-hidden flex flex-col;
|
||||
}
|
||||
|
||||
button:not([headlessui]):not([id*="headlessui"]):not([class*="headlessui"]),
|
||||
a[button]:not([headlessui]):not([id*="headlessui"]):not([class*="headlessui"]) {
|
||||
button:not([headlessui]):not([id*="headlessui"]):not([class*="headlessui"]):not([class*="ql"] *),
|
||||
a[button] {
|
||||
@apply relative box-border h-10 w-full flex justify-center py-2 px-4 text-sm font-medium rounded-md focus:outline-none focus:ring-0;
|
||||
}
|
||||
|
||||
|
@ -91,3 +91,30 @@ input[disabled],
|
|||
textarea[disabled] {
|
||||
@apply opacity-75 pointer-events-none;
|
||||
}
|
||||
|
||||
details {
|
||||
user-select: none;
|
||||
& summary svg {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
details[open] {
|
||||
& summary svg {
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
}
|
||||
|
||||
details[open] summary ~ * {
|
||||
animation: ease-opacity-t-b 0.5s ease;
|
||||
}
|
||||
|
||||
summary {
|
||||
cursor: pointer;
|
||||
}
|
||||
summary > svg {
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
summary::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
|
|
|
@ -157,44 +157,44 @@ const router = createRouter({
|
|||
{
|
||||
path: "",
|
||||
name: "admin-club-protocol",
|
||||
component: () => import("@/views/admin/protocol/Protocol.vue"),
|
||||
component: () => import("@/views/admin/club/protocol/Protocol.vue"),
|
||||
beforeEnter: [resetProtocolStores],
|
||||
},
|
||||
{
|
||||
path: ":protocolId",
|
||||
name: "admin-club-protocol-routing",
|
||||
component: () => import("@/views/admin/protocol/ProtocolRouting.vue"),
|
||||
component: () => import("@/views/admin/club/protocol/ProtocolRouting.vue"),
|
||||
beforeEnter: [setProtocolId],
|
||||
props: true,
|
||||
children: [
|
||||
{
|
||||
path: "overview",
|
||||
name: "admin-club-protocol-overview",
|
||||
component: () => import("@/views/admin/protocol/ProtocolOverview.vue"),
|
||||
component: () => import("@/views/admin/club/protocol/ProtocolOverview.vue"),
|
||||
props: true,
|
||||
},
|
||||
{
|
||||
path: "precense",
|
||||
name: "admin-club-protocol-precense",
|
||||
component: () => import("@/views/admin/protocol/ProtocolPrecense.vue"),
|
||||
component: () => import("@/views/admin/club/protocol/ProtocolPrecense.vue"),
|
||||
props: true,
|
||||
},
|
||||
{
|
||||
path: "voting",
|
||||
name: "admin-club-protocol-voting",
|
||||
component: () => import("@/views/admin/protocol/ProtocolVoting.vue"),
|
||||
component: () => import("@/views/admin/club/protocol/ProtocolVoting.vue"),
|
||||
props: true,
|
||||
},
|
||||
{
|
||||
path: "decisions",
|
||||
name: "admin-club-protocol-decisions",
|
||||
component: () => import("@/views/admin/protocol/ProtocolDecisions.vue"),
|
||||
component: () => import("@/views/admin/club/protocol/ProtocolDecisions.vue"),
|
||||
props: true,
|
||||
},
|
||||
{
|
||||
path: "protocol",
|
||||
name: "admin-club-protocol-protocol",
|
||||
component: () => import("@/views/admin/protocol/ProtocolProtocol.vue"),
|
||||
component: () => import("@/views/admin/club/protocol/ProtocolProtocol.vue"),
|
||||
props: true,
|
||||
},
|
||||
],
|
||||
|
|
|
@ -12,7 +12,15 @@
|
|||
<input id="username" name="username" type="text" required placeholder="Benutzer" class="!rounded-b-none" />
|
||||
</div>
|
||||
<div>
|
||||
<input id="totp" name="totp" type="text" required placeholder="TOTP" class="!rounded-t-none" />
|
||||
<input
|
||||
id="totp"
|
||||
name="totp"
|
||||
type="text"
|
||||
required
|
||||
placeholder="TOTP"
|
||||
class="!rounded-t-none"
|
||||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -2,6 +2,28 @@
|
|||
<div class="flex flex-col gap-2 h-full w-full overflow-y-auto">
|
||||
<Spinner v-if="loadingActive == 'loading'" class="mx-auto" />
|
||||
<p v-else-if="loadingActive == 'failed'" @click="" class="cursor-pointer">↺ laden fehlgeschlagen</p>
|
||||
|
||||
<details class="flex flex-col gap-2 rounded-lg w-full justify-between border border-primary overflow-hidden">
|
||||
<summary class="flex flex-row gap-2 bg-primary p-2 w-full justify-between items-center cursor-pointer">
|
||||
<input type="text" name="title" id="title" placeholder="TOP" autocomplete="off" />
|
||||
|
||||
<svg
|
||||
class="fill-white stroke-white opacity-75 w-4 h-4 -mr-1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
>
|
||||
<path d="M12.95 10.707l.707-.707L8 4.343 6.586 5.757 10.828 10l-4.242 4.243L8 15.657l4.95-4.95z" />
|
||||
</svg>
|
||||
</summary>
|
||||
<QuillEditor
|
||||
id="top"
|
||||
theme="snow"
|
||||
placeholder="TOP Inhalt..."
|
||||
style="height: 250px; max-height: 250px; min-height: 250px"
|
||||
contentType="html"
|
||||
:toolbar="toolbarOptions"
|
||||
/>
|
||||
</details>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -70,7 +70,7 @@ export default defineComponent({
|
|||
{ route: "admin-club-protocol-overview", title: "Übersicht" },
|
||||
{ route: "admin-club-protocol-precense", title: "Anwesenheit" },
|
||||
{ route: "admin-club-protocol-voting", title: "Abstimmungen" },
|
||||
{ route: "admin-club-protocol-decisions", title: "Entscheidungen" },
|
||||
{ route: "admin-club-protocol-decisions", title: "Beschlüsse" },
|
||||
{ route: "admin-club-protocol-protocol", title: "Protokoll" },
|
||||
],
|
||||
};
|
Loading…
Reference in a new issue