Commit Graph

1855 Commits

Author SHA1 Message Date
Hamid Reza Mohammadi
d39869f6e1 geotag couplet selection 2026-09-25 08:58:47 +03:30
Hamid Reza Mohammadi
295ece7c7c geo tag fix 2026-09-24 08:16:51 +03:30
Hamid Reza Mohammadi
78798feb19 geotag fixes 2026-09-23 20:16:03 +03:30
Hamid Reza Mohammadi
ff8f6f3a96 geotag suggestion 2026-09-23 08:11:58 +03:30
Hamid Reza Mohammadi
0b91762f64 geo tag fix 2026-09-22 20:12:53 +03:30
Hamid Reza Mohammadi
4aef7ace1b ui for enable users to suggest geo location tags #421 2026-09-20 06:43:36 +03:30
Hamid Reza Mohammadi
5344ea0b82 fixing audio player 2026-09-15 20:45:57 +03:30
Hamid Reza Mohammadi
ca84dab8d5 removing half baked music link page 2026-09-15 12:05:22 +03:30
Hamid Reza Mohammadi
3d94c92620 caching control fixes 2026-09-15 07:57:27 +03:30
Hamid Reza Mohammadi
1b2525346a tiymce bug fix applied again 2026-09-15 07:52:44 +03:30
Hamid Reza Mohammadi
e6397afae4 fix shadow 2026-09-14 20:30:50 +03:30
Hamid Reza Mohammadi
fd609f86c5
Merge pull request #509 from emohandesi/feature/music-link-suggestions
Suggest songs by pasting a link, instead of the broken Spotify search
2026-09-14 15:43:46 +03:30
Ehsan Mohandesi
e7fbc6559d Fix 500 on failed login by encoding the redirect parameters
After a rejected login the site redirects back to /login carrying the API's
error message in the query string. That message is Persian, and HTTP header
values must be ASCII, so Kestrel threw InvalidOperationException and the user
got an error page instead of the login form with the reason for the failure.
Encode both the path and the message.

Not noticed before because IIS Express tolerates the non-ASCII Location header;
it surfaces as soon as the site is run on Kestrel.
2026-09-13 22:16:28 -05:00
Ehsan Mohandesi
cb7b1b03a3 Replace Spotify search with a validated music link box
The Spotify Web API integration stopped working, leaving /spotify unable to
suggest songs at all. Replace the artist/album/track search flow with a single
box where the user pastes a link to the track on a music service.

Links are checked against a hardcoded allow-list of legal streaming and store
domains so links to ripped audio cannot be submitted. The check lives in the
service layer, not just the page: any authenticated user can POST to
/api/ganjoor/song directly and bypass the UI. Hosts are matched against the
full host or a dot-prefixed suffix, so look-alikes such as
open.spotify.com.evil.com are rejected; https is required, and userinfo and
non-default ports are refused. Accepted URLs are canonicalised - https,
lowercased host, tracking parameters stripped - so the same track always yields
the same stored URL and duplicate detection actually works.

Links are stored under one new type, PoemMusicTrackType.MusicUrl, with the
platform derived from the host at render time. That needs no migration or
backfill, and supporting another service later needs no new enum value. The
duplicate check no longer keys on TrackType, which closes a gap where the same
URL could be resubmitted as a different type. Several links per poem remain
allowed; only an identical URL for the same poem is refused.

The Spotify search page and its OAuth plumbing are kept and simply redirect to
/musiclink while the existing SpotifyWorking flag is false, so the old flow can
be restored if that API ever works again.

Track URLs are no longer written through Html.Raw into href attributes. They
previously came from the Spotify API; now that they are user supplied, encoding
them prevents stored XSS.

Also fixes two latent bugs in SuggestSong that this flow would have hit: a null
dereference when TrackUrl is empty, and a singer lookup that matched any singer
with an empty Url.
2026-09-13 22:16:18 -05:00
Hamid Reza Mohammadi
7f76c5c9c1 caching fixes 2026-09-13 14:56:55 +03:30
Hamid Reza Mohammadi
0811bfd868 moderation new option 2026-09-13 13:39:48 +03:30
Hamid Reza Mohammadi
de3dbeefaa caching fix 2026-09-12 15:35:27 +03:30
Hamid Reza Mohammadi
da0648606e caching improvements 2026-09-12 15:05:43 +03:30
Hamid Reza Mohammadi
fb87847d65 recitation icons fix 2026-09-12 12:23:36 +03:30
Hamid Reza Mohammadi
157565496d lock on recitation 2026-09-12 12:15:01 +03:30
Hamid Reza Mohammadi
566ff6d002 go to current position of recitation 2026-09-12 09:42:42 +03:30
Hamid Reza Mohammadi
5ebf07d485 bottpm audio player 2026-09-12 07:38:52 +03:30
Hamid Reza Mohammadi
64fdb6318c semantic search 2026-09-11 16:45:47 +03:30
Hamid Reza Mohammadi
4369252060 recitation currrent audio sync fix 2026-09-11 07:47:15 +03:30
Hamid Reza Mohammadi
47445877d2 semantic search 2026-09-10 19:38:38 +03:30
Hamid Reza Mohammadi
1303431972 semantic search 2026-09-10 14:42:11 +03:30
Hamid Reza Mohammadi
3d8b0867d8 semantic search 2026-09-10 14:12:26 +03:30
Hamid Reza Mohammadi
851ea607a2 semantic search 2026-09-10 13:47:27 +03:30
Hamid Reza Mohammadi
e63c8c5e9d semantic search 2026-09-10 13:03:20 +03:30
Hamid Reza Mohammadi
63832b57c9 editor improvements 2026-09-06 07:37:14 +03:30
Hamid Reza Mohammadi
b0ca62a579 editor improvements 2026-09-05 16:28:51 +03:30
Hamid Reza Mohammadi
96a36f2dc2 editor improvements 2026-09-05 16:08:00 +03:30
Hamid Reza Mohammadi
1ac05f2f18 improving editor 2026-09-05 15:30:50 +03:30
Hamid Reza Mohammadi
cdd6107319 changing css/js version numbers 2026-09-02 14:22:55 +03:30
Hamid Reza Mohammadi
fca38516d3 improving partials 2026-09-02 14:18:37 +03:30
Hamid Reza Mohammadi
c0803000f3 double click to open beyt partial control 2026-09-02 13:59:03 +03:30
Hamid Reza Mohammadi
ce4ff283d5 tinymce initialization bug fix 2026-09-02 13:34:30 +03:30
Hamid Reza Mohammadi
bc195c041a bug fix 2026-09-02 13:24:50 +03:30
Hamid Reza Mohammadi
629cddecbc fixing jump to main content 2026-09-02 08:28:08 +03:30
Hamid Reza Mohammadi
537ac26cb3 jump button removed for cats with no desc 2026-09-02 07:46:59 +03:30
Hamid Reza Mohammadi
73fbfd7f76 improving accessing contents in the bio section 2026-09-01 21:44:25 +03:30
Hamid Reza Mohammadi
d07a73c165 rollng back items 2026-09-01 20:49:46 +03:30
Hamid Reza Mohammadi
bccee50ed5 make ganjoor page links visible 2026-09-01 19:44:10 +03:30
Hamid Reza Mohammadi
2291bb80b1 nav fixes 2026-09-01 17:47:15 +03:30
Hamid Reza Mohammadi
93a5090346 fixing nav links 2026-09-01 17:40:27 +03:30
Hamid Reza Mohammadi
186348a148 navigation fixes 2026-09-01 17:32:54 +03:30
Hamid Reza Mohammadi
6ef7969486 poemm navigation fix 2026-09-01 17:27:53 +03:30
Hamid Reza Mohammadi
11a085efb3 fixes for caching 2026-09-01 16:14:47 +03:30
Hamid Reza Mohammadi
bf38bb5230 robots.txt 2026-09-01 15:57:00 +03:30
Hamid Reza Mohammadi
ded7dc47c6 pagination fix 2026-08-30 07:41:08 +03:30
Hamid Reza Mohammadi
5ce907e88c filter by user nickname 2026-08-29 12:57:22 +03:30
Hamid Reza Mohammadi
523cdcd23a more info in examine user pages 2026-08-29 12:13:37 +03:30
hesamat
fcffceeac2 Tooltip and page hierarchy styling fixes.
- Refine #page-hierarchy h2 a style: IranNastaliq, 2.1rem, line-height 2.4,
  5px 20px padding, max-width 575px, font-smoothing and legibility hints.
- Keep tooltip dark in both color schemes.
- Style tooltip links with white text and a subtle white hover highlight.
- Match the tooltip arrow to the dark tooltip background.
- Make the tooltip close button separator gold for better visibility.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-22 00:00:23 -07:00
hesamat
ea2205fd30 Remove poem-preview.html from repository
This file was only for local preview and should not be committed.
2026-08-21 12:55:02 -07:00
hesamat
e84aacc3d4 Bump p8.css cache-busting version to 88
Update query-string version in all .cshtml layout links.
2026-08-21 12:54:18 -07:00
hesamat
1700c9b911 Fix footer link layout on mobile
- Add explicit 3-column grid for desktop footer
- Switch to a 2+1 responsive layout under 768px
- Keep desktop-only 50px indent on tools list
- Balance the bottom 'about' list by flowing it into two columns on mobile
2026-08-21 12:49:49 -07:00
hesamat
f62504458d Refine p8.css: warm poem background, 18px corners, dark golden border
- Use solid #f3e9d0 for .poem light-mode background (average of 7% papere.jpg overlay)

- Refined dark mode color palette

- 18px border-radius (12px on mobile) for #main/.poem/.sitem

- Golden 1px border and shadow for #main/.poem/.sitem in dark mode
2026-08-21 12:10:17 -07:00
N3TC4T
83598acf10
Fix tooltip item color dark 2026-08-21 17:47:34 +02:00
hesamat
17196dc9ed Remove background image from body in p8.css
- Remove background-image, background-repeat, background-position,
  background-size, background-attachment and background-blend-mode
  from body, leaving only background-color
- Remove now-unused CSS vars: --damask-medallion, --damask-ground
  and --page-pattern-size (light, dark and mobile override)
2026-08-20 23:35:14 -07:00
Hamid Reza Mohammadi
7415b343c1 user/role management 2026-08-21 08:41:31 +03:30
Hesam Alizadeh
97b0335066 Use gold highlight color and reduce mobile poem/tooltip font sizes 2026-08-20 12:58:27 -07:00
Hamid Reza Mohammadi
6d64e78f22 ui fix 2026-08-20 20:25:12 +03:30
Hamid Reza Mohammadi
00f5e81da5 fixes for editor 2026-08-20 20:18:48 +03:30
Hesam Alizadeh
86fa524f1c Scope poet card styles to .spacer container and add new .sitem .poet styles for search results 2026-08-20 02:20:01 -07:00
Hesam Alizadeh
055aae901f Style navbar form buttons to match nav-link appearance and remove bottom margin 2026-08-20 02:04:21 -07:00
Hesam Alizadeh
02fe2de6a0 Wrap poet list in spacer div on Photos page to match home page 2026-08-20 01:50:41 -07:00
Hesam Alizadeh
3f7766bbc6 Add id and title attributes to theme toggle and remove inline SVG fill colors 2026-08-20 01:49:12 -07:00
Hesam Alizadeh
1eb0992d7f Reduce damask pattern opacity and refine poet card and button hover effects 2026-08-20 01:32:47 -07:00
Hesam Alizadeh
335193c592 Bump p8.css version to 87 and remove fill colors from theme toggle icons 2026-08-20 01:32:35 -07:00
Hesam Alizadeh
95e19bb6fe Refactor and improve styles 2026-08-17 01:30:58 -07:00
Hesam Alizadeh
cfd1b8d058 Update table styling and enhance part title block hover effects 2026-08-16 20:20:02 -07:00
Hesam Alizadeh
f8d358bb7e Style poem excerpt links with gold color 2026-08-16 19:34:07 -07:00
Hesam Alizadeh
73c495ecda Refactor admin layout and update Ganjoor theme styles 2026-08-16 19:20:13 -07:00
Hesam Alizadeh
d0f008a9a0 Revert utility navbar container styling 2026-08-16 14:38:46 -07:00
Hesam Alizadeh
40cb54762d Style utility navbar container 2026-08-16 14:30:54 -07:00
Hesam Alizadeh
4c4fbb12aa Restore complete Ganjoor theme styles 2026-08-16 14:22:01 -07:00
Hesam Alizadeh
3786eeef25 Set Material Icons color 2026-08-16 14:13:07 -07:00
Hesam Alizadeh
51aa18ac32 Update Ganjoor stylesheet 2026-08-16 13:52:56 -07:00
Hamid Reza Mohammadi
061853a365 fixes 2026-08-16 16:11:46 +03:30
Hamid Reza Mohammadi
18d2a97771 ui fix 2026-08-16 16:09:47 +03:30
Hamid Reza Mohammadi
c030a192d2 #498 export tajik data 2026-08-14 21:44:19 +03:30
Hamid Reza Mohammadi
6e44e4dec1 #498 ui for public data generation 2026-08-14 20:23:11 +03:30
Hamid Reza Mohammadi
1d67041247 #498 bug fix 2026-08-14 19:39:48 +03:30
Hamid Reza Mohammadi
25d36034d3 documents 2026-08-14 18:46:17 +03:30
Hamid Reza Mohammadi
3addf67fee #498 importing public data 2026-08-14 16:30:13 +03:30
Hamid Reza Mohammadi
011e047619 #498 import public data 2026-08-14 16:20:36 +03:30
Hamid Reza Mohammadi
839421ae73 #498 import public data 2026-08-14 16:10:47 +03:30
Hamid Reza Mohammadi
f3db50d512 session expiration bug fix 2026-08-10 07:56:39 +03:30
Hamid Reza Mohammadi
7b96e50a9d improve UI/UX of the User Area
#496
2026-08-07 08:37:28 +03:30
Hamid Reza Mohammadi
2752ee8a82 improve UI/UX of the User Area
#496
2026-08-06 21:55:47 +03:30
Hamid Reza Mohammadi
15701ef1d8 improve UI/UX of the User Area
#496
2026-08-06 21:23:44 +03:30
Hamid Reza Mohammadi
245faf0710 improve UI/UX of the User Area
#496
2026-08-06 21:09:25 +03:30
Hamid Reza Mohammadi
376bf2cf87 improve UI/UX of the User Area
#496
2026-08-06 20:29:57 +03:30
Hamid Reza Mohammadi
2356435a70 improve UI/UX of the User Area
#496
2026-08-06 20:03:38 +03:30
Hamid Reza Mohammadi
1b08a5c935 improve UI/UX of the User Area
#496
2026-08-06 19:48:02 +03:30
Hamid Reza Mohammadi
4a1d43a299 improve UI/UX of the Admin Area
#497
2026-08-05 18:45:38 +03:30
Hamid Reza Mohammadi
c94a67dcc6 improve UI/UX of the Admin Area
#497
2026-08-05 18:30:28 +03:30
Hamid Reza Mohammadi
f1deeb7895 improve UI/UX of the Admin Area
#497
2026-08-05 18:24:30 +03:30
Hamid Reza Mohammadi
8d528ddc13 improve UI/UX of the Admin Area
#497
2026-08-05 17:58:46 +03:30
Hamid Reza Mohammadi
5c9720ba1a mprove UI/UX of the Admin Area
#497
2026-08-05 17:44:30 +03:30