1
0
mirror of https://github.com/hrfee/jfa-go.git synced 2024-11-09 20:00:12 +00:00
Commit Graph

325 Commits

Author SHA1 Message Date
213b1e7f9e
accounts: allow setting exact expiry date
set with a text input field which uses the same date parsing library as
the search function. Parsed expiry date will appear once you've typed
something in, so you can make sure it's right.
2023-12-20 17:20:59 +00:00
10c8d4ad2f
accounts: add "remove expiry" 2023-11-16 11:19:49 +00:00
4fcb58aefa
userpage: fix referral card when no message set 2023-11-11 16:02:01 +00:00
a66c522b73
referrals: add "use expiry" option
adds an option when enabling referrals to use the duration of the source
invited (i.e., months, days, hours) for the referral invite. If enabled,
the user won't be able to make a new referral link after it expires. For
referrals enabled for new users via a profile, the clock starts ticking
as soon as the account is created.
2023-11-10 15:07:29 +00:00
3739634b63
activity: fix "shown" counter when not in search 2023-10-23 18:36:32 +01:00
3951116bdc
activity: reload invites on link click 2023-10-23 18:18:08 +01:00
44d7e173e3
activity: add limiting settings
limit to keeping n most recent logs, and/or logs younger than {n} days
in settings > Activity Log.
2023-10-23 12:50:42 +01:00
663389693f
activity: add counter for total, loaded and shown
total: number of activities in the DB
loaded: How many the web UI has loaded
shown: How many are shown (differs when in a search).
2023-10-23 11:34:04 +01:00
591b843148
activity: add a "load all" button 2023-10-22 16:22:25 +01:00
de3c06129d
activity: pseudo links work on refresh 2023-10-22 15:02:03 +01:00
0238c6778c
activity: pseudo links work on click 2023-10-22 14:02:22 +01:00
47ce8a9ec4
activity: refresh, load more buttons, ui adjustments 2023-10-22 01:03:48 +01:00
2d83718f81
activity: sort, load more, compromises for client-side search
my initial intent before starting search was for it to be server-sided,
considering this activity log could rack up 100s or 1000s of entries,
and then I forgot and did it client-sided.

this commit adds a feature to load more results when scrolled to the
bottom, and when a search returns few or no results (this is limited, so
it wont loop infinitely). Also finally got rid of the useless left
column, since my ideas didn't match my implementation.

also, sorting is only by date, can't be bothered with anything else.
2023-10-22 00:31:30 +01:00
a0db685af2
activity: functional search (client-side)
search with filters for each type of card, and all the info in them.
Gonna somehow need to figure out what to do about pagination.
2023-10-21 16:24:14 +01:00
4fa0630aef
accounts: modularize search
now part of ts/modules/search.ts, UI of the activity page is gonna be
very similar so it made sense to.
2023-10-21 14:33:09 +01:00
3cad30a8e5
activity: add delete button 2023-10-21 13:38:11 +01:00
44172074b9
activity: render all activities correctly
the activity type, usernames, time, referrer, and invite code are
displayed correctly for all types of activity.
2023-10-21 13:00:06 +01:00
1032e4e747
activity: more presentable cards, fixes
fixed some missing data (being stored and being shown), improved layout,
also usernames are now injected by the route.
2023-10-20 22:16:40 +01:00
a73dfddd3f
activity: partially functional frontend code
doesn't fill in all the blanks yet, but almost there ish. Filters &
stuff not done yet, just loads everything.
2023-10-20 18:14:32 +01:00
274324557c
activity: start stubbed out example card, beginning frontend code
completely broken, just need to commit so I can move between devices.
2023-10-20 00:06:10 +01:00
43e36ee6fc
setup: Include proxy, test JF with it
Found on the 2nd page.
2023-10-19 17:19:52 +01:00
e2c24a2593
accounts: add "not results found" screen 2023-10-14 13:07:30 +01:00
73cfa5bef2
settings: "no results found", section matching
No results found screen added, nd when a section name matches the
search, all settings in the section are shown normally.
2023-10-14 12:33:48 +01:00
6909477f45
settings: hidden items in search explained
if a matched setting is hidden, an aside card will show explaining why,
    eitherbecause advanced settings is not enabled or because it depends
    on another setting.
2023-10-13 19:07:41 +01:00
701d1305d3
settings: non-match search result have transparency
Matches have 100% opacity, non-matches have 50. Looks better than the
aside thing, doesn't break anything.
2023-10-13 15:52:53 +01:00
08498074ed
settings: funtioning search functionality
Search box and clear button work, curently matching settings are changed
to "aside"s for the border effect. Not super happy with how it looks
yet, and it messes up tooltips slightly.
2023-10-13 14:51:42 +01:00
635c2be32c
settings: initial search function
not really plugged into anything yet.
2023-10-13 10:30:59 +01:00
9956bbd974
admin: add setting to hide background on login
for #288.
2023-10-02 10:34:14 +01:00
ff1ea8549a
userpage: register routes on reverse proxy subfolder
fixes #289.
2023-10-02 09:45:42 +01:00
084f8aa658
settings: link to new PWR wiki article in note 2023-09-09 16:02:39 +01:00
8207a75820
accounts: sort by referrals 2023-09-08 16:54:07 +01:00
dae0ad1de5
invites: "User Label" 2/2
applies label to users. Also hide the user label element on the invite
dropdown when not set.
2023-09-08 14:37:07 +01:00
7c76b58ab8
invites: add "User Label" 1/2
Adds a "User Label" invite field, which is a label applied to users
created with it. This commit contains everything apart from the code to
apply it on account creation.
2023-09-08 14:29:25 +01:00
d8d478a95e
form: move referral info message to aside, change wording 2023-09-08 13:31:05 +01:00
4c20250888
userpage: actually sub {username} 2023-09-07 23:40:15 +01:00
f5a15905e4
userpage: fix email change modal show/hide 2023-09-07 23:35:41 +01:00
fca370b9d9
discord: hide "Join Server" text when invite not provided 2023-09-07 21:40:44 +01:00
b08527bce2
userpage: cleanup referral code
moved to its own class, like the expiry card.
2023-09-07 20:42:40 +01:00
311ecb7030
userpage: generate & display referral links
shown on a new card, with an explanation, the number of remaining uses,
and expiry of the current referral.
2023-09-07 16:25:47 +01:00
00e6da520d
userpage: cope with disabled contact methods 2023-09-07 14:40:24 +01:00
468b2f3284
accounts: descriptive error when no template found 2023-09-07 14:04:32 +01:00
db21131185
accounts: allow disabling of referrals for users 2023-09-07 14:00:30 +01:00
7d9555fdf7
accounts: add referrals to search queries 2023-09-07 13:30:21 +01:00
729552a827
referrals: Show enabled status on account list 2023-09-06 22:46:16 +01:00
cdc8f9af4b
referrals: unlink/disable referrals for profile 2023-09-06 22:12:36 +01:00
9e5034ebab
referrals: enable referral for users & profiles
Enabling for individual users works, as does adding a template to a
profile. Removing/Disabling for both needs to be completed.
2023-09-06 22:00:44 +01:00
c2f835c897
referrals: show data on enable referral for user modal
profiles and invites are properly shown.
2023-06-30 16:47:35 +01:00
9c2f27bcdb
referrals: 1/2 generation routes, display route, partial frontend
route for generation/enabling of referral for user(s) done? the frontend
is mostly done, but functionality is not there yet. Route for finding
and displaying referral to user is done. Also the config option for
referral is there, in user page settings.
2023-06-28 16:05:24 +01:00
423fc4ac80
accounts: non-case sensitive search 2023-06-27 07:35:28 +01:00
b5c80e9d27
config: make sure recaptcha is hidden when disabled 2023-06-26 23:24:58 +01:00
3fa4b01115
setup: add user page
also sprinkled mentions of it throughout other relevant pages.
2023-06-26 21:29:49 +01:00
a13a72c626
admin: fix logout when url base is used
two tries are made, with and without the url base.
2023-06-26 20:28:20 +01:00
5a80145607
css: add notification animation
simple slide animation, plus a little scale effect when a duplicate
notification gets sent to make the notification more obvious.
2023-06-26 20:13:02 +01:00
baf5e6a593
accounts: add dropdown arrow on "Announce" button 2023-06-26 13:08:34 +01:00
b17d8424e9
profiles: fix application
moving to a DB meant empty slices in the Configuration & Policy structs
were being stored as null, and striking a nerve with Jellyfin.
Mediabrowser library change fixed that by de-nulling them itself, and a
new bool field called "Homescreen" is now used to decide if a profile
has a homescreen layout stored or not. This field is hopefully correctly
filled in during migration.
2023-06-26 13:01:17 +01:00
d2253ff069
accounts: fix filter card height
string filter cards were too tall, so bool cards now expand to the same
height. y-margins also removed it made the bottom get covered.
2023-06-25 21:28:38 +01:00
fc7ae0ec4e
userpage: respect 12h/24h choice 2023-06-24 12:32:28 +01:00
bfeab3648c
form: change contact-via radios to checks 2023-06-23 12:30:52 +01:00
7aaafb90e3
form: actually link to the my account page
forgot to do this before. shown on the success modal.
2023-06-22 21:57:19 +01:00
97db4d714a
userpage: implement change password functionality 2023-06-22 20:54:52 +01:00
12ce669566
userpage: add password change card, validation, rearrange page
functionality not done yet, just comitting here because there were lots
of adjustments to layout stuff, accomodating for most combinations of
card presence/size.
2023-06-22 18:51:30 +01:00
3b3f37365a
userpage: autofill username in pwr modal 2023-06-22 12:39:13 +01:00
3ec3e9672e
userpage: time-pad pwr request for ambiguity
the user shouldn't know if the reset has actually been sent (i.e. if an
account with the given contact address exists), so the backend response
is always sent after 1 second.
2023-06-22 12:27:44 +01:00
86daa70ccb
userpage: password resets
click "forgot password" on login modal, enter a contact method
address/username, submit and check for a link. Requires link reset to be
enabled.
2023-06-22 12:08:18 +01:00
db97c3b2d4
form: add notice about userpage on success modal, userpage title
uses new strings in the form lang section.
2023-06-22 10:12:22 +01:00
4f298bbc8c
userpage: add "back to admin" button 2023-06-22 09:41:41 +01:00
ebacfd43be
form: fix captcha, matrix, telegram
new issue though: discord/telegram/matrix aren't linked when email
confirmation is used!
2023-06-21 20:00:48 +01:00
761d8d1c03
userpage: refresh pin when contact changed > once 2023-06-21 17:07:02 +01:00
4e7f720214
userpage: hide bg on login, dont refresh page ever 2023-06-21 17:02:57 +01:00
87b0ae6614
userpage: adjust message row span depending on length 2023-06-21 13:30:09 +01:00
920161b920
settings: add "note" type, shows as card
also comes with a "style" attribute, to apply a color to the aside it's
shown in. Used in User Page/Messages to mention the customize button,
and on User page w/ a critical color to mention the jellyfin login
requirement.
2023-06-21 12:28:52 +01:00
e7f7dcbb78
userpage: show placeholder message card for admins 2023-06-21 11:27:51 +01:00
b546aeb440
userpage: don't wrap contact methods, ellipsise 2023-06-20 22:18:38 +01:00
7b9b0d8a84
userpage: implement login message card
Shares code with custom emails, so most related functions have had a
%s/Email/Message/g. Press the edit button on the user page setting to
add a message.
2023-06-20 21:43:25 +01:00
8e153cd92f
userpage: unlink accounts 2023-06-20 16:44:12 +01:00
d509abdd5c
userpage: add matrix 2023-06-20 13:28:13 +01:00
96c51af15a
matrix: modularize 2023-06-20 12:57:52 +01:00
fcedea110d
telegram: modularize, add to userpage 2023-06-19 22:11:35 +01:00
68aedf07ae
discord: pad, underline invite link 2023-06-19 18:03:35 +01:00
094f7cea94
discord: use placeholder if guild icon not available
also centers the invite on the form/user discord modal.
2023-06-19 17:48:24 +01:00
765a749959
discord: modularize user-facing code
will be done for others too, code for discord account linking in form
and userpage is now in ts/modules/account-linking.ts as a configurable
class.
2023-06-19 11:58:09 +01:00
cf7983ca11
userpage: add/edit discord
works identically to on the form, would like to eventually factor out
the discord/telegram/matrix verif stuff so it can be shared between the
two pages though.
2023-06-18 21:38:12 +01:00
609039baeb
userpage: change email (+ confirmation)
edit/add button added for email address. Confirmation works too.
2023-06-18 19:38:09 +01:00
5beeeb958b
userpage: show expiry 2023-06-18 12:27:18 +01:00
a22f032924
userpage: show and allow modification of contact methods 2023-06-17 17:27:44 +01:00
d3c5feaf1b
userpage: use form langfile, move login strings to common
login-related stuff was moved into common using the langmover script, so
that the user page doesn't have to use the admin language files.
2023-06-17 12:48:28 +01:00
726acb9c29
userpage: initial page
login, lang, and theme work. Currently only makes a request to a
hello-world type endpoint to verify auth works. Accessible at
/my/account.
2023-06-16 14:43:37 +01:00
54fde33a20
admin: a little more refactoring
all theme functionality is now in theme.ts, and the tab stuff has been
changed a little but kept in admin as it won't be in use anywhere else
for the time being.
2023-06-16 13:43:34 +01:00
b8cc75c6b4
login: modularize frontend code
all in ts/modules/login.ts
2023-06-15 23:52:16 +01:00
4014e93155
signup: add reCAPTCHA
can be enabled in settings > captcha, requires a site key & secret key
from google. New wiki article explains getting these. currently a little
ugly looking on the page itself, hopefully fixable.
2023-06-15 17:11:27 +01:00
bf12016315
accounts: make filter names translatable 2023-06-14 19:59:38 +01:00
b544931ee5
accounts: fix id filtering, make string translatable 2023-06-14 18:57:30 +01:00
708d382a3f
accounts: fix hiding of search options header for default sort 2023-06-14 18:43:46 +01:00
6ddd09ff1f
accounts: add header to "actions" and "search options" 2023-06-14 18:38:12 +01:00
ddc560e862
accounts: move filter button, add clear search
filter button now on left due to the dropdown being huge.
2023-06-14 17:36:41 +01:00
6f452c62de
accounts: fix search bugs, adjust top bar layout
search bar is now massive with a small filter button next to it.
Action buttons are on their own row.
Also fixed dealing with going from a search with filters in to an empty
one, search() is now called for any change at all to the input.
2023-06-14 17:15:24 +01:00
76bb95098c
accounts: add list of available filters, fix deletion of existing date filters
The "Filters" button gives a list of filterable fields, and buttons to
select the type, including true/false, text match, and on/before/after a
date. When clicked, the appropriate values are put in the search box and
the cursor is placed if any input is needed.

Dates and strings are also now matched correctly, and case-insensitively when
deleting a filter.
2023-06-14 14:01:05 +01:00
8ac3bb9711
accounts: show list row of search filters, click to remove
any filters in your search box will show as little button/chip things on
the row below. Clicking them will remove them from the search.
2023-06-13 22:27:08 +01:00
ff62f8821a
accounts: filter by date, with =, <, >
Uses "any-date-parser" library to understand more date/time types.
Format is: "<field>:<equals, less than, greater than><date>", where the
part after the colon uses =, <, >. Omitting a symbol is the same as
using "=".
2023-06-13 17:19:24 +01:00
90c433443f
accounts: filter by string field, general search
string fields can now be searched by with the "<field>:<value>" syntax,
also added back a better general search, that supports essentially all
string fields, including Jellyfin ID.
2023-06-13 13:55:40 +01:00