From d6cfedfe06aeaee83b0b10b2256deed3c75e8e95 Mon Sep 17 00:00:00 2001
From: Olly Hearn
Date: Fri, 12 Apr 2024 18:47:19 +0300
Subject: [PATCH] design changes
---
frontend/app/rsbuild.config.ts | 2 +-
frontend/app/src/App.css | 2 +-
frontend/app/src/components/AuthModal.tsx | 11 +++++-
frontend/app/src/config/store.ts | 6 ++-
frontend/app/src/config/style.ts | 37 ++++--------------
frontend/app/src/pages/MainPage.tsx | 5 ++-
frontend/app/src/pages/styles.css | 8 ++--
frontend/app/src/slice/QueueApi.ts | 24 ++++++++++++
.../app/static/android-chrome-192x192.png | Bin 0 -> 7638 bytes
.../app/static/android-chrome-512x512.png | Bin 0 -> 21447 bytes
frontend/app/static/apple-touch-icon.png | Bin 0 -> 6477 bytes
frontend/app/static/favicon-16x16.png | Bin 0 -> 667 bytes
frontend/app/static/favicon-32x32.png | Bin 0 -> 1361 bytes
frontend/app/static/favicon.ico | Bin 0 -> 15406 bytes
14 files changed, 55 insertions(+), 40 deletions(-)
create mode 100644 frontend/app/src/slice/QueueApi.ts
create mode 100644 frontend/app/static/android-chrome-192x192.png
create mode 100644 frontend/app/static/android-chrome-512x512.png
create mode 100644 frontend/app/static/apple-touch-icon.png
create mode 100644 frontend/app/static/favicon-16x16.png
create mode 100644 frontend/app/static/favicon-32x32.png
create mode 100644 frontend/app/static/favicon.ico
diff --git a/frontend/app/rsbuild.config.ts b/frontend/app/rsbuild.config.ts
index e202dfc..06a2ab0 100644
--- a/frontend/app/rsbuild.config.ts
+++ b/frontend/app/rsbuild.config.ts
@@ -8,7 +8,7 @@ export default defineConfig({
port: 3000,
},
html: {
- favicon: "./static/logo-square.png",
+ favicon: "./static/favicon-32x32.png",
title: "queueful!",
template: "./static/index.html",
},
diff --git a/frontend/app/src/App.css b/frontend/app/src/App.css
index 525cd30..0ea3b83 100644
--- a/frontend/app/src/App.css
+++ b/frontend/app/src/App.css
@@ -1,7 +1,7 @@
body {
margin: 0;
color: #fff;
- font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
+ font-family: "Comfortaa", sans-serif;
background-image: linear-gradient(to bottom, #020917, #101725);
}
diff --git a/frontend/app/src/components/AuthModal.tsx b/frontend/app/src/components/AuthModal.tsx
index 97e0899..b511168 100644
--- a/frontend/app/src/components/AuthModal.tsx
+++ b/frontend/app/src/components/AuthModal.tsx
@@ -1,6 +1,10 @@
import { Form, Input, Menu, MenuProps, Modal, Spin } from "antd";
import "./styles.css";
-import { KeyOutlined, UserAddOutlined } from "@ant-design/icons";
+import {
+ KeyOutlined,
+ LoadingOutlined,
+ UserAddOutlined,
+} from "@ant-design/icons";
import React, { useContext, useEffect, useState } from "react";
import {
TokenResponse,
@@ -83,7 +87,10 @@ const AuthModal = (props: {
okText={current === "login" ? tr("Log in") : tr("Register")}
confirmLoading={isLoggingIn}
>
-
+ }
+ >
-
-
+
+
+
);
diff --git a/frontend/app/src/pages/styles.css b/frontend/app/src/pages/styles.css
index 7090353..f4efc0e 100644
--- a/frontend/app/src/pages/styles.css
+++ b/frontend/app/src/pages/styles.css
@@ -6,6 +6,7 @@
.main {
font-family: "Comfortaa", sans-serif;
+ padding: 3rem;
display: flex;
flex-flow: column;
justify-items: center;
@@ -21,8 +22,7 @@
.button-box {
width: 100%;
display: flex;
- align-self: center;
- flex-flow: row;
- justify-items: center;
- align-content: space-around;
+ justify-content: center;
+ align-items: center;
+ flex-wrap: wrap;
}
\ No newline at end of file
diff --git a/frontend/app/src/slice/QueueApi.ts b/frontend/app/src/slice/QueueApi.ts
new file mode 100644
index 0000000..e383158
--- /dev/null
+++ b/frontend/app/src/slice/QueueApi.ts
@@ -0,0 +1,24 @@
+import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";
+import { baseUrl } from "../config/baseUrl";
+import { RootState } from "../config/store";
+
+export const QueueApi = createApi({
+ reducerPath: "QueueApi",
+ baseQuery: fetchBaseQuery({
+ baseUrl: `${baseUrl}/queue`,
+ prepareHeaders: (headers, { getState }) => {
+ const token = (getState() as RootState).auth.token;
+ if (token) {
+ headers.set("authorization", `Bearer ${token}`);
+ }
+ return headers;
+ },
+ }),
+ endpoints: (builder) => ({
+ getQueues: builder.query({
+ query: () => "/",
+ }),
+ }),
+});
+
+export const { useGetQueuesQuery } = QueueApi;
diff --git a/frontend/app/static/android-chrome-192x192.png b/frontend/app/static/android-chrome-192x192.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc6a0c6231a40c7ff11cda6ee4e438cee69013ae
GIT binary patch
literal 7638
zcmV;{9Vz08P)-V1y!EBwrw{BJUy|?S|^%s)9Rk!NY`KwNyI(3eR
z%#hdXq3sJ>P+4&rQM10}sk{Wm&mi)2A+I-yJf3*`9$}_R{jBDINe)yIc?%(PdHA^#
zKYv2`rR1$#Ptmc5sOz|V$f4J0ogPCE`UF2SgUTbukcUQ66`hBl=_qTgyrGxqhcpL-
zIluyc5YqS+CgLU3%)5xXPTXSz2!REdg@4Q3o5)L3@Ph9687tgOT~KpCJqJnvf^AqG
zo}%6pX9og-e*k!=N6_YOJs|Xtk=Jvz`gZF#Xb#BW0BhjTl9;^o0eQUtOTDtUl4ttK
zKh}MRe*k1{>$nDpjz!21-)r@*bBeOnat$l
z>IdB|Z;-W2`as~F1a;{1+UihU0AywMg4#0|yc_5i{^@>b4xHkE*Si)f{dlNDn`{2|
z3jo;Kvw7}&c;E`H^J}4TB?o+a0+>j9-FQ`vb*LHuEc{uSlgJY>%at8J)hSu)sk^!4
z`rdgxw@~l#J`-s*0J7igNM)Wy_ybOLHE9m`;ecBZef82`_sndqEOal)VlhTRxFMG{ON7y+cvalRdO)
zc2D@PEr9*WVlGfLqjg
z<2`QhB+je7Hvj;0UdC7018CA52s;kE$^ck}ZVwH+uImnK4iK$o0PF`R+G=iS4ul~G
z4qy|US%?jAoUJ-w_{D%da>b!L6>(>;f^zF5cVn
zg+;JNb^I1=kS?Z-1K|w-ZMIb=SgI?QHA#gx0922X%=$H0WpeXWT^ayN*s3da3I{X*
zoHA0no%J{%XGzomu)Sc(8E84R*q&LY8yG?W=pivZTDpLA4ulW@()*$-)EqF)0Sy4t
zEYk(t!~q`wv@)W0NE19!lpYmJZShHuilM}aW)$Oz#3zCxJRT~os-j|V1r_3Ru%d(x
zR21W9F&(ceSKBaMJMIAJlVB-gzyh5F!Div^)GVHc#HP@|=B=r3OcH)iphyGPEjV^x
zO$a^?X~saS0Eq1J0{U0}PMVXy!?!xP
zWmO0khV%+x5CP4huXl)wqp=AcXiBR-)E@u06EPTGIJTMQo!CjcD~hPdZmWWwm{qGS
z8UXbMroKUd=k)7mwr>Dt7OKI@HayL7x&pd>0yef*$qqo^4f7JL27f!2Mazl~krD%{iY3@8^9_`@1^}COTEv3T44d4W
zT6CdlP5Js&cqiJfZ(`ahTKEyz9Gx7f5pLy9d
zEq6WTRu;R)Y$`ftVGRIYDf;5@YDP*wx;i04l!uNi$EwgYY>>Y$KH^KH6|N)>fS{;9
zYG2YDr?_+44#g>MOUGDvWCR0xETJclZlZTi?4kYaiK*z2DGIm8QX*sMe5?!)wmO~q0|>II((9#JI4Ag@
z-0$so&p>i#c?xko0GMajz{Wqf-B5~!AAcY+s?+n#ei(xPHiZ76!|N#r{|_cb0t|O1
z^`PIvZKE4D^G0r*8Esz~06h8N*EA3J3}mceM&BEX=UfkfemLm*u>D2UQKEYTZ(Tox
z#f1IuS-v%2gTpASHT8g!Z
ztyX``T}RJhrBmWTYFeh{gU7W1V2@5d>Fp0U2N|>qs?P5r3_L5^nL0L$qnX(7-;mfz
zieul;rFnGK{^dBoaI$IC|A+-00OqW;;-WS)(iyogv*K!(ytGFvgC4x0%jJfwK7p!Vj{~e553Kfu
zB5@M60SMk~JA^L9xrfM!cWuWHzE?b8=f||MEYBbd0Ow6$AcF}PqVGQFIeSW2Y|u2()dpM3w>b-
ztq|Mzf3<%#eF61HgzPd0o(?nVf_CtIYHrQ_gU>mxhu0{ZeceR12Y?wt;*-+pt^3gf
z(ES_LeGNKv@{<4OBOB=Pqd$kt#xG0ASpDIvo@^rJu#M)a`e=}?UVp=0;19S&H7v
zmfS-g$o+x-3Il-~$Q1zKTT<`A^m!$sxrq|rhPra^m$c4hx_^Csu#3p&9WF6>AG&TW
zeA(y1J&PS=A@i?@DhEI?Ryht;zM|tuTq8_qQvRFr^@7N1_^d#q_k2M=8$KBpewFfq$^oFf2YA87aCe@M!yeXgMQIcUbaBxE(c+FO#{mI0
zcDX{h&3Q<~aVsv&ynSM~a2*W`hQ?gr7yvZIo;#t}@~p;rx
zLETM7$NPmt>?u0}2V%P|otc;zXhnk)d;m!9GhcRJ+~H#Ci9oj^^c8M+UAupUFF~~}
zNxt^u>n2~CnTNo@Bjei&1$`{QM)>SqpZbD-IhleF0Lk3qOW?ee^MH!bLRd0xgGGZ=
zjD{1%Ar#|_@DROO&_RwjzeC_N<@Bf#jt2mn^wxDABdp6lcYHJ5pR+bdF20hNKMROu
zck#cp!L?BY*b*h)1N__Jj&Y6$0LRZ<)p3;281gJu?fkaEmgYR6PMIilKk^+vl5!Tj
zXT|Jizk}tBQ!Y7~91nmo$lbdLF3=*x{y)EmUyH~f+Gj2o>3MaTI}lLo+0?U7ou3%I
zFLdgKJaO=OfRoAb0Qj$jj`SA7or@6r{6?rS@op0X2N8;E)uOVW#*i}jL@r_*~oJ@`f0N;1z
z$Oj@+ggE}38Rd=q?IOh;U*`J6jtCh)SU9HW?7Z!C^TDqi%?HN=fM>CP;gW|46+;EO
z7c0Qu^R|f;cYGOMJzqg6MbU)d8UQvBfva%`;9Ug36(LSh#IZhKJibMwxZ}&*f=fg%
zU=u7FJ9Rb!1mC=0uK*zxgiCRf`6*6@xgdPc0boCBKU_EuKo-0iN8vs|yZ&7iH2J2x|Z2#rZ-FEo&B3LOfs#vfcB
z4Wd4Cdf^_xnvR!Jt4NL)Di$cq{s0Ip5{?G|=f`>;aW8L8?iRSWexA4|=UXJa3oldX
zIH*4V#zi8r?Qb<5h^DPw#|mE}s%g4i0bs_W?|2o62ZO_*b69jy
zOAy!br^7$e%mzVm&9E|r65Zg{O>h1)UGW3B)I`?Bzcj?;vS(oe_%
zHVonZj@l&muV_C4m1~YY(`T@n4U4y)J6QuD5VwQ){d4eXv2v)xcY=R?@ISsQes10i
zaK12(5G{I#y7rK200dFM1HFpFBQDJt5$G|$-?Pv!gz(=15OCc@1Aw&G
zDXB<40F*S-Sf%~230{#gijsV%n_|Q+(hudXrU`p$a$*;wMmj`UpnP^Y>B>
z0HNVfSBSN*+Y##H={5s}Z#i-6I86GYg8eiZ_g!-^(pzRz!b&aODcXon?#AKhg%%HHjHggrLgnr3VhL^X&^xg!rV`
z-(d1RUk(<`agx%II7Br$Y6Wm>iln9nc@#pX%thEle||4!wE@08HYaZfJ%Td=v#!&s
zSIPvqINuI0&j*nEi?ikggB%3_KMZm03c&qk_2*G+hNrabBTXJEun*XRbV_$4q~fw5
zI1jqrbewEmnk}Wv;HQr}`
zVXp#n$o&9lzymv3a03re{U`WBht^#P*e=!k}c$)uaZ*n96>S;Bu
zHiP;TA9fGms0imHySyD|)?kP|ALbpaEVpz!tZ@K1OK%QK0I+~{hI;W7HpN%LWg-~r
zP%wnr=sS2NdKe*K(jsH&F5C|mB}c9R^*S520AN0(Lmheyd2(+=p0RKN0dL5s8~|+I
ziJj!Z{)11+H2`E^iuW@pc7#n$Q`tm18MgJ`wd}3jgVLnTo_yRIxOn5uc@UmD`m@hO
z%Nue&8_@tz5fwsgghO76&j$L(w4|3{AsQ5GFlN44Z@Lill1;8Nkj;H|{*F3HKr{fV
z2g8PYfY4eIIC#`w+VrDIExP%P64;mBSUO0#`Siek!yj{hRE+~ic27~+sH0BY5)0bq#L?s=#+_5`Ehe?I~dmWSaKxpN48
zbdF+%Ujb*k#f1mylfr$p!(?&~4FKD#K=w79vX>^`!a6@T6&{+M=#u#KpzRZQL;FVl
zcKQrz&c5?^Y-#lzg=EpZ=rB(5V~f}|6JV^WAy5b-4yPTJ|{4nABTe)>+uJm*YCwu%WQ0H`A&gs(g4r^
zkS$Yw>tkV$f*F$Co!RX<0zYdOOLmE7*JyT;t~mKq{iRBM5?nJ_HarLmnp}qUi}VVh
zR{(nhK=FP`13&}7-T+YCIt>6z08l(VDIR=BRjN
z1rq>9n;MGeGyp=ubY`BFqX-FECp4nT0Cb@`
z2$RW(AZ~)SMAi(P9o9O%0=RtzkU34bur3V%4FDI4wec=#0B8UhmlhX3sR5t?;6kxB
z-X#qH4FKcP;=(620Gt2-JD5uv2)`{GWg4RP1VHdDg+VlfnjRxvKp_Y02>^v1_EU98
z0N{=}H28xh^Nkt+4OF1uFF%$C)PYU5+-FG@XaG224;k@)iD4bL7w3IEhNgGm6uJE4}NV+J{oP5dgb_5p|W-*&uI?0h67%25w8II
z(V@1k>6Gq>=74by9AE&f!t+Com(fpZ4!DK`YZw48qdRxHrc1gbnghl;@G1b1c|G>P
z^JQ;@)$Cb}_e?(--W)JsW5JaM?+w@l&+bW{$S?IiprODRU}AVnnUj0(_2NEf)i4ib
zFG!+_ve)4UaIK2|=#@YPS9P71IpCppC@Olg$L9dEY0ht8XMYNn2EG}sr$x)WcWni=
zXFGe(d?i#>HI@2Ie5v{XEc?xlRPI@Xy}%iv7#xkMP;lMoJ8RBJ-Es@qx7*!FQB`B8
z+fBQxd*{W0SXSmF@f&+t+!B-F`l%o)gBh@G~Fk`T%8R_JZ)w!@+`|YK*S7v+GHkjFZI6|IAD=Rs_GKW(hb{_g=)t3y4oNIZ^$V@3JphH_3C
zb2so?S|2?05iFcjsaN*a+G;2(Oj-{bsYpwsO76O$
z?h?ppHdT3^tTA;q)v3S$;L;3&?U@-=9(g(T1|y&n4Z&a2{O%##z((B%Cvm_FnaqLl
zel>LcCDg2P5p|uor^eK29RM{o_<*pm1(g-2L9gl$^=LTI(GOokRiYO7y}6UPrrYXN
z4tPr8$d(UzQIQ2+n{07*qoM6N<$
Ef|^P|761SM
literal 0
HcmV?d00001
diff --git a/frontend/app/static/android-chrome-512x512.png b/frontend/app/static/android-chrome-512x512.png
new file mode 100644
index 0000000000000000000000000000000000000000..20ee593b23e17eacf76c4e3b445926995c0ada64
GIT binary patch
literal 21447
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
H!nOYZxGW)!
literal 0
HcmV?d00001
diff --git a/frontend/app/static/apple-touch-icon.png b/frontend/app/static/apple-touch-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..e065bf018895c40310379d6a8942082d9cdf8809
GIT binary patch
literal 6477
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
n3MvciqKc;1%hE?{J60^VT<_u
zuKlkwFjNG8=ss!)PyzgS6e>1awu*rV>k(cu(8s4wjUWb#6IKJfFi^pP(}`|9Vh+{1Z&)b-Sb+%P
zq{2Jx2Qboe5NDTX@xJm?O-JLMnB92>_sgI7%xh+;MJw>~tRQeb1pLis&f~@EGDd!U
zbh*OT?rl4Sp|)P^TY5`}>RQHyqHF)?PgB=|{5g
zoSMzG8006d2?AIS%Mf*L*C5_*6mhfkK|!fj+gRrj+-Tp6rowatt9G41!|JZL_F+7A
z441y2+-ecPj<95e>6ssFxap;K0kXtKZ
zAh822g(+>I&aX`#G;}PP`eH3Ondrh_Tg9vO?>LuC;~{4dwIB#GL@Z1yfjz@5ShpNc
z85dS$eCjQ(k{6Fs{YZSC=DMY4x^UY=D=E#nT`|bHWehyem+|MhA~N
zNoskS^g3f$Z=}+hZA3hGKqN|df9kUrfEt6n(SI6r`nl(##d81v002ovPDHLkV1gY*
BFwp=2
literal 0
HcmV?d00001
diff --git a/frontend/app/static/favicon-32x32.png b/frontend/app/static/favicon-32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..ba80ffd8d5e39899df23dbd8c27c2d943c42c897
GIT binary patch
literal 1361
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
qpin*Z;GM)f^#2=$W2$f44B8<~F1DkH|4!na&d