diff --git a/pinry-spa/src/components/PHeader.vue b/pinry-spa/src/components/PHeader.vue
index 6251c18..a74a3df 100644
--- a/pinry-spa/src/components/PHeader.vue
+++ b/pinry-spa/src/components/PHeader.vue
@@ -140,7 +140,11 @@ export default {
modals.openLogin(this, this.onLoginSucceed);
},
createPin() {
- modals.openPinCreate(this, this.onPinCreated);
+ modals.openPinCreate(
+ this,
+ this.onPinCreated,
+ { username: this.user.meta.username },
+ );
},
createBoard() {
modals.openBoardCreate(this);
diff --git a/pinry-spa/src/components/api.js b/pinry-spa/src/components/api.js
index 3750815..691240c 100644
--- a/pinry-spa/src/components/api.js
+++ b/pinry-spa/src/components/api.js
@@ -23,6 +23,10 @@ const Board = {
},
);
},
+ fetchFullList(username) {
+ const url = `${API_PREFIX}boards-auto-complete/?submitter__username=${username}`;
+ return axios.get(url);
+ },
};
const Pin = {
diff --git a/pinry-spa/src/components/modals.js b/pinry-spa/src/components/modals.js
index 749e438..3e8c7e2 100644
--- a/pinry-spa/src/components/modals.js
+++ b/pinry-spa/src/components/modals.js
@@ -4,11 +4,12 @@ import SignUpForm from './SignUpForm.vue';
import BoardEdit from './BoardEdit.vue';
-function openPinCreate(vm, onCreate) {
+function openPinCreate(vm, onCreate, props = null) {
vm.$buefy.modal.open(
{
parent: vm,
component: PinCreateModal,
+ props,
hasModalCard: true,
events: {
'create.succeed': onCreate,
diff --git a/pinry-spa/src/components/pin_create/FilterSelect.vue b/pinry-spa/src/components/pin_create/FilterSelect.vue
new file mode 100644
index 0000000..0060a72
--- /dev/null
+++ b/pinry-spa/src/components/pin_create/FilterSelect.vue
@@ -0,0 +1,89 @@
+
+