summaryrefslogtreecommitdiffstats
path: root/templates/user/dashboard/navbar.tmpl
Commit message (Collapse)AuthorAgeFilesLines
* Add context cache as a request level cache (#22294)Lunny Xiao2023-02-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To avoid duplicated load of the same data in an HTTP request, we can set a context cache to do that. i.e. Some pages may load a user from a database with the same id in different areas on the same page. But the code is hidden in two different deep logic. How should we share the user? As a result of this PR, now if both entry functions accept `context.Context` as the first parameter and we just need to refactor `GetUserByID` to reuse the user from the context cache. Then it will not be loaded twice on an HTTP request. But of course, sometimes we would like to reload an object from the database, that's why `RemoveContextData` is also exposed. The core context cache is here. It defines a new context ```go type cacheContext struct { ctx context.Context data map[any]map[any]any lock sync.RWMutex } var cacheContextKey = struct{}{} func WithCacheContext(ctx context.Context) context.Context { return context.WithValue(ctx, cacheContextKey, &cacheContext{ ctx: ctx, data: make(map[any]map[any]any), }) } ``` Then you can use the below 4 methods to read/write/del the data within the same context. ```go func GetContextData(ctx context.Context, tp, key any) any func SetContextData(ctx context.Context, tp, key, value any) func RemoveContextData(ctx context.Context, tp, key any) func GetWithContextCache[T any](ctx context.Context, cacheGroupKey string, cacheTargetID any, f func() (T, error)) (T, error) ``` Then let's take a look at how `system.GetString` implement it. ```go func GetSetting(ctx context.Context, key string) (string, error) { return cache.GetWithContextCache(ctx, contextCacheKey, key, func() (string, error) { return cache.GetString(genSettingCacheKey(key), func() (string, error) { res, err := GetSettingNoCache(ctx, key) if err != nil { return "", err } return res.SettingValue, nil }) }) } ``` First, it will check if context data include the setting object with the key. If not, it will query from the global cache which may be memory or a Redis cache. If not, it will get the object from the database. In the end, if the object gets from the global cache or database, it will be set into the context cache. An object stored in the context cache will only be destroyed after the context disappeared.
* set user dashboard org visibility to basic (#22706)yp053272023-02-021-4/+4
| | | | | | | | | | | | | | | Same to https://github.com/go-gitea/gitea/pull/22674 and https://github.com/go-gitea/gitea/pull/22605 Sorry to create 3 PR to fix this. I checked all span with class `org-visibility`, i think this is the last one :) And I found that private/limited user has no private/limited tag in dashboard. but org does. If it is ok i will add this feature in another pr. Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* Optimize html templates (#22080)Jason Song2022-12-091-4/+4
| | | Replace `active{{end}} item` with `active{{end}} item`.
* Refactor `i18n` to `locale` (#20153)Gusted2022-06-271-16/+16
| | | | | | | | | | | * Refactor `i18n` to `locale` - Currently we're using the `i18n` variable naming for the `locale` struct. This contains locale's specific information and cannot be used for general i18n purpose, therefore refactoring it to `locale` makes more sense. - Ref: https://github.com/go-gitea/gitea/pull/20096#discussion_r906699200 * Update routers/install/install.go
* Replace blue button and label classes with primary (#19763)silverwind2022-05-201-1/+1
| | | | | | | | | | | | | | | * make blue really blue * replace blue button and label classes with primary * add --color-blue-dark * add light color variants, tweak a few colors * fix colors * add comment Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* Only show accessible teams in dashboard dropdown list (#19642)Jimmy Praet2022-05-071-1/+1
| | | Fixes #19637
* Fix correct usage of teams (#17732)Gusted2021-11-201-2/+2
| | | | | | | - `.Teams` isn't a field on the User type, thus using the seperate loaded teams. - Add a space between `PathEscape` and argument. Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* Multiple Escaping Improvements (#17551)zeripath2021-11-161-4/+4
| | | | | | | | | | | | | | There are multiple places where Gitea does not properly escape URLs that it is building and there are multiple places where it builds urls when there is already a simpler function available to use this. This is an extensive PR attempting to fix these issues. 1. The first commit in this PR looks through all href, src and links in the Gitea codebase and has attempted to catch all the places where there is potentially incomplete escaping. 2. Whilst doing this we will prefer to use functions that create URLs over recreating them by hand. 3. All uses of strings should be directly escaped - even if they are not currently expected to contain escaping characters. The main benefit to doing this will be that we can consider relaxing the constraints on user names and reponames in future. 4. The next commit looks at escaping in the wiki and re-considers the urls that are used there. Using the improved escaping here wiki files containing '/'. (This implementation will currently still place all of the wiki files the root directory of the repo but this would not be difficult to change.) 5. The title generation in feeds is now properly escaped. 6. EscapePound is no longer needed - urls should be PathEscaped / QueryEscaped as necessary but then re-escaped with Escape when creating html with locales Signed-off-by: Andrew Thornton <art27@cantab.net> Signed-off-by: Andrew Thornton <art27@cantab.net>
* Unified link creation. (#15619)KN4CK3R2021-04-301-7/+7
|
* fix org navbar (#15173)Jimmy Praet2021-03-261-1/+2
|
* org dashboard: move teamselector left (#14954)Norwin2021-03-171-52/+53
| | | Co-authored-by: zeripath <art27@cantab.net>
* Fix truncated organization names (#14655)vnkmpf2021-02-121-6/+6
| | | | | | | * Fix truncated organization names Previous ellipsis implementation hid vertical overflow - image + descent line of letters. Organization visibility in select on dashboard was not always visible. This commit extracts classes which don't make collisions with other items on page.
* Truncated organisations name #14583 (#14615)vnkmpf2021-02-091-4/+4
| | | | | - truncate to max length 40 - add CSS ellipsis
* Team dashboards (#14159)Jimmy Praet2020-12-271-4/+34
|
* Fix missing username on dashboard context switch navbar (#13959)Cirno the Strongest2020-12-121-0/+1
|
* Don't show dashboard links for globally disabled repo units (#13908)Jimmy Praet2020-12-081-4/+8
| | | | | This applias the same checks from base/head_navbar.tmpl to user/dashboard/navbar.tmpl so no links are shown for globally disabled repo units Co-authored-by: 6543 <6543@obermui.de>
* Allow 20 characters for "View [organization]" button (#13906)Jimmy Praet2020-12-081-1/+1
| | | | | | In the "View [organization]" button on the dashboard, the organization name is currenly shortened to 10 chars. This is a bit too limited. In all other places in the code the name is also shortened to 20 instead of 10. Co-authored-by: 6543 <6543@obermui.de>
* Direct avatar rendering (#13649)silverwind2020-12-031-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Direct avatar rendering This adds new template helpers for avatar rendering which output image elements with direct links to avatars which makes them cacheable by the browsers. This should be a major performance improvment for pages with many avatars. * fix avatars of other user's profile pages * fix top border on user avatar name * uncircle avatars * remove old incomplete avatar selector * use title attribute for name and add it back on blame * minor refactor * tweak comments * fix url path join and adjust test to new result * dedupe functions
* Comment box tweaks and SVG dropdown triangles (#13376)silverwind2020-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | * Comment box tweaks and SVG dropdown triangles - Change all dropdown triangles to SVG - Bring inline review comment box closer to regular comment boxes - Enhance arc-green checkbox contrast - Minor reaction tweaks - Flexbox the diff file header * remove a border * fix type marker in arc-green * add small code padding * fix position regression and remove useless rules Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
* Adding visual cue for "Limited" & "Private" organizations. (#13040)Spencer Taylor2020-10-061-0/+10
| | | | | | | | * Adding visual cue for "Limited" & "Private" organizations. * Moving org visibility CSS styles to .less files. Co-authored-by: Gitea <gitea@fake.local> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
* Make SVG size argument optional (#12814)silverwind2020-09-111-5/+5
| | | | | Now defaults to 16 on both frontend and backend. Co-authored-by: techknowlogick <techknowlogick@gitea.io>
* Add Octicon SVG spritemap (#10107)John Olheiser2020-02-111-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add octicon SVG sprite Signed-off-by: jolheiser <john.olheiser@gmail.com> * Static prefix Signed-off-by: jolheiser <john.olheiser@gmail.com> * SVG for all repo icons Signed-off-by: jolheiser <john.olheiser@gmail.com> * make vendor Signed-off-by: jolheiser <john.olheiser@gmail.com> * Swap out octicons Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move octicons to top of less imports Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix JS Signed-off-by: jolheiser <john.olheiser@gmail.com> * Definitely not a search/replace Signed-off-by: jolheiser <john.olheiser@gmail.com> * Missed regex Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move to more generic calls and webpack Signed-off-by: jolheiser <john.olheiser@gmail.com> * make svg -> make webpack Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove svg-sprite Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Missed a test Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove svg from makefile Signed-off-by: jolheiser <john.olheiser@gmail.com> * Suggestions Signed-off-by: jolheiser <john.olheiser@gmail.com> * Attempt to fix test Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Revert timetracking test Signed-off-by: jolheiser <john.olheiser@gmail.com> * Swap .octicon for .svg in less Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add aria-hidden Signed-off-by: jolheiser <john.olheiser@gmail.com> * Replace mega-octicon Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix webpack globbing on Windows Signed-off-by: jolheiser <john.olheiser@gmail.com> * Revert Co-Authored-By: silverwind <me@silverwind.io> * Fix octions from upstream Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix Vue and missed JS function Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add JS helper and PWA Signed-off-by: jolheiser <john.olheiser@gmail.com> * Preload SVG Signed-off-by: jolheiser <john.olheiser@gmail.com> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: techknowlogick <matti@mdranta.net>
* add explicit dimensions to navbar avatar (#9986)silverwind2020-01-261-3/+3
| | | | | | | | | | | * add explicit dimensions to navbar avatar this prevents a temporary layout change when navigating between pages with cache disabled. * also add dimensions on frontpage Co-authored-by: Lauris BH <lauris@nix.lv>
* Add /milestones endpoint (#8733)Brad Albright2019-12-151-2/+7
| | | | | Create a /milestones endpoint which basically serves as a dashboard view for milestones, very similar to the /issues or /pulls page. Closes #8232
* Add more title attributes on shortened names (#6647)zeripath2019-04-171-3/+3
|
* Make organization dropdown scrollable when using mouse wheel (#5988)Muhammed TİFTİKÇİ2019-03-041-1/+1
| | | * Fix #5580
* UI: Make dashboard navbar and footer full-width (#6013)silverwind2019-02-091-1/+1
| | | | | | | | * UI: Make dashboard navbar full-width * more tweaks: full-width footer and consistent padding * fix page layout causing unneccesary scrollbars on small pages
* Hide org/create menu item in Dashboard if user has no rights (#4678) (#4680)SagePtr2018-08-121-0/+2
|
* Responsive view (#2750)Morgan Bazalgette2017-12-301-36/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Viewport meta tag * responsive: dashboard * responsive: issues page * responsive: Explore page * responsive: navbar, and some navbar css refactoring * responsive: button for collapsing navbar in mobile view * Mark the hamburger button as active when pressed * better homepage for responsive views * Bring back jump class in navbar The class was necessary, because this way the dropdown doesn't assume the contents of the selected item. * make repository homes responsive * Make file view page responsive * Make forms look good on responsive views * make commits and commit diff view responsive * issues and PRs * responsive wiki * Don't place auto-init far off the page * Minor changes to amend broken stuff minor improvements - make login/sign up in navbar stackable - make navbar in explore and sign in not stackable Change selected class in TestPullCompare Fix typo that happened when rebasing fix dashboard on org view improve profile UI Use clearing on file diff to fix broken UI caused by floating elements remove unresolved merge conflict, and | Sanitize Fix repo home not loading
* #3348 always use relative avatar link in the templateUnknwon2016-08-051-3/+3
|
* Refactor User.Id to User.IDUnknwon2016-07-241-2/+2
|
* Upgrade octicon to 4.3.0Unknwon2016-07-161-1/+1
|
* fix #2454Unknwon2016-02-141-1/+1
|
* Indent all templates with tabsAdam Strzelecki2015-12-081-47/+47
| | | | | | | | | | | | This commit improves templates readability, since all of them use consistent indent with all template command blocks indented too. 1. Indents both HTML containers such as <div>, <p> and Go HTML template blocks such as {{if}} {{with}} 2. Cleans all trailing white-space 3. Adds trailing last line-break to each file
* #1944 Drop /org/ URL path prefix in organization home pageUnknwon2015-11-241-1/+1
|
* fix #650Unknwon2015-11-221-3/+3
|
* new dashboard uiUnknwon2015-11-131-2/+2
|
* adjust icon cssUnknwon2015-09-071-3/+3
|
* #1599 org dashboard icon cssUnknwon2015-09-071-3/+3
|
* fix buttons styleUnknwon2015-09-021-2/+2
|
* finish initial version of pull requestUnknwon2015-09-021-0/+3
|
* fix menu overflowUnknwon2015-08-261-11/+13
|
* minor updateUnknwon2015-08-261-2/+0
|
* update locale and org dashboard navbarUnknwon2015-08-261-0/+20
|
* new user dahsboard issuesUnknwon2015-08-251-0/+30