Skip to content

Commit 7ab8dc3

Browse files
committed
fix
1 parent 2255362 commit 7ab8dc3

File tree

5 files changed

+33
-4
lines changed

5 files changed

+33
-4
lines changed

templates/org/settings/options.tmpl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,12 @@
9090
{{.CsrfTokenHtml}}
9191
<div class="inline field">
9292
<label for="avatar">{{ctx.Locale.Tr "settings.choose_new_avatar"}}</label>
93-
<input name="avatar" type="file" accept="image/png,image/jpeg,image/gif,image/webp">
93+
<input id="new-avatar" name="avatar" type="file" accept="image/png,image/jpeg,image/gif,image/webp">
94+
</div>
95+
96+
<div class="field tw-pl-4 cropper-panel tw-hidden">
97+
<div>{{ctx.Locale.Tr "settings.cropper_prompt"}}</div>
98+
<div class="cropper-wrapper"><img class="cropper-source" src alt></div>
9499
</div>
95100

96101
<div class="field">

templates/repo/settings/options.tmpl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,11 @@
4141
{{.CsrfTokenHtml}}
4242
<div class="inline field">
4343
<label for="avatar">{{ctx.Locale.Tr "settings.choose_new_avatar"}}</label>
44-
<input name="avatar" type="file" accept="image/png,image/jpeg,image/gif,image/webp">
44+
<input id="new-avatar" name="avatar" type="file" accept="image/png,image/jpeg,image/gif,image/webp">
45+
</div>
46+
<div class="field tw-pl-4 cropper-panel tw-hidden">
47+
<div>{{ctx.Locale.Tr "settings.cropper_prompt"}}</div>
48+
<div class="cropper-wrapper"><img class="cropper-source" src alt></div>
4549
</div>
4650
<div class="field">
4751
<button class="ui primary button">{{ctx.Locale.Tr "settings.update_avatar"}}</button>

web_src/css/features/cropper.css

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
@import "cropperjs/dist/cropper.css";
22

3-
.page-content.user.profile .cropper-panel .cropper-wrapper,
4-
.page-content.admin.edit.user .cropper-panel .cropper-wrapper {
3+
.page-content.admin.edit.user .cropper-panel .cropper-wrapper,
4+
.page-content.organization.settings.options .cropper-panel .cropper-wrapper,
5+
.page-content.repository.settings.options .cropper-panel .cropper-wrapper,
6+
.page-content.user.profile .cropper-panel .cropper-wrapper {
57
max-width: 400px;
68
max-height: 400px;
79
}

web_src/js/features/common-organization.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import {initCompLabelEdit} from './comp/LabelEdit.ts';
22
import {toggleElem} from '../utils/dom.ts';
3+
import {initCompCropper} from './comp/Cropper.ts';
34

45
export function initCommonOrganization() {
56
if (!document.querySelectorAll('.organization').length) {
@@ -13,4 +14,12 @@ export function initCommonOrganization() {
1314

1415
// Labels
1516
initCompLabelEdit('.page-content.organization.settings.labels');
17+
18+
// Avatar Cropper
19+
if (document.querySelector<HTMLDivElement>('.organization.settings.options')) {
20+
const fileInput = document.querySelector<HTMLInputElement>('#new-avatar');
21+
const container = document.querySelector<HTMLElement>('.organization.settings.options .cropper-panel');
22+
const imageSource = container.querySelector<HTMLImageElement>('.cropper-source');
23+
initCompCropper({container, fileInput, imageSource});
24+
}
1625
}

web_src/js/features/repo-settings.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {minimatch} from 'minimatch';
33
import {createMonaco} from './codeeditor.ts';
44
import {onInputDebounce, queryElems, toggleElem} from '../utils/dom.ts';
55
import {POST} from '../modules/fetch.ts';
6+
import {initCompCropper} from './comp/Cropper.ts';
67
import {initRepoSettingsBranchesDrag} from './repo-settings-branches.ts';
78

89
const {appSubUrl, csrfToken} = window.config;
@@ -156,4 +157,12 @@ export function initRepoSettings() {
156157
initRepoSettingsSearchTeamBox();
157158
initRepoSettingsGitHook();
158159
initRepoSettingsBranchesDrag();
160+
161+
// Avatar Cropper
162+
if (document.querySelector<HTMLDivElement>('.repository.settings.options')) {
163+
const fileInput = document.querySelector<HTMLInputElement>('#new-avatar');
164+
const container = document.querySelector<HTMLElement>('.repository.settings.options .cropper-panel');
165+
const imageSource = container.querySelector<HTMLImageElement>('.cropper-source');
166+
initCompCropper({container, fileInput, imageSource});
167+
}
159168
}

0 commit comments

Comments
 (0)